import type { ViemCommitteeAttestations } from '@aztec/ethereum/contracts'; import { z } from 'zod'; import type { Signable, SignatureDomainSeparator } from '../../p2p/signature_utils.js'; import { CommitteeAttestation, EthAddress } from './committee_attestation.js'; export declare class CommitteeAttestationsAndSigners implements Signable { attestations: CommitteeAttestation[]; constructor(attestations: CommitteeAttestation[]); static get schema(): z.ZodEffects; signature: z.ZodEffects, `0x${string}`, string>, import("./committee_attestation.js").Signature, string>; }, "strip", z.ZodTypeAny, { address: EthAddress; signature: import("./committee_attestation.js").Signature; }, { address: string; signature: string; }>, CommitteeAttestation, { address: string; signature: string; }>, "many">; }, "strip", z.ZodTypeAny, { attestations: CommitteeAttestation[]; }, { attestations: { address: string; signature: string; }[]; }>, CommitteeAttestationsAndSigners, { attestations: { address: string; signature: string; }[]; }>; getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer; static empty(): CommitteeAttestationsAndSigners; toString(): void; getSigners(): EthAddress[]; getSignedAttestations(): CommitteeAttestation[]; /** * Packs an array of committee attestations into the format expected by the Solidity contract * * @param attestations - Array of committee attestations with addresses and signatures * @returns Packed attestations with bitmap and tightly packed signature/address data */ getPackedAttestations(): ViemCommitteeAttestations; } /** * Malicious extension of CommitteeAttestationsAndSigners that keeps separate attestations and * signers. Used for tricking the L1 contract into accepting attestations by reconstructing * the correct committee commitment (which relies on the signers, ignoring the signatures) * with an invalid set of attestation signatures. */ export declare class MaliciousCommitteeAttestationsAndSigners extends CommitteeAttestationsAndSigners { private signers; constructor(attestations: CommitteeAttestation[], signers: EthAddress[]); getSigners(): EthAddress[]; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25zX2FuZF9zaWduZXJzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svcHJvcG9zYWwvYXR0ZXN0YXRpb25zX2FuZF9zaWduZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJM0UsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUUscUJBQWEsK0JBQWdDLFlBQVcsUUFBUTtJQUMzQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUU7SUFBdkQsWUFBbUIsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUk7SUFFM0QsTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BTWhCO0lBRUQsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLHdCQUF3QixHQUFHLE1BQU0sQ0FXbEU7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLCtCQUErQixDQUU5QztJQUVELFFBQVEsU0FFUDtJQUVELFVBQVUsaUJBRVQ7SUFFRCxxQkFBcUIsMkJBRXBCO0lBRUQ7Ozs7O09BS0c7SUFDSCxxQkFBcUIsSUFBSSx5QkFBeUIsQ0FnRWpEO0NBQ0Y7QUFFRDs7Ozs7R0FLRztBQUNILHFCQUFhLHdDQUF5QyxTQUFRLCtCQUErQjtJQUd6RixPQUFPLENBQUMsT0FBTztJQUZqQixZQUNFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLEVBRzlCO0lBRVEsVUFBVSxJQUFJLFVBQVUsRUFBRSxDQUVsQztDQUNGIn0=