import { type FieldsOf } from '@aztec/foundation/array'; import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint } from '@aztec/foundation/branded-types'; import { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer'; import { Fr } from '@aztec/foundation/curves/bn254'; import { Signature } from '@aztec/foundation/eth-signature'; import type { ContractArtifact } from '../abi/abi.js'; import type { AvmAccumulatedData } from '../avm/avm_accumulated_data.js'; import { PublicDataWrite } from '../avm/public_data_write.js'; import { AztecAddress } from '../aztec-address/index.js'; import { CheckpointedL2Block, L2Block } from '../block/index.js'; import type { CommitteeAttestationsAndSigners } from '../block/proposal/attestations_and_signers.js'; import { Checkpoint } from '../checkpoint/checkpoint.js'; import type { ContractInstanceWithAddress } from '../contract/index.js'; import { Gas } from '../gas/gas.js'; import { GasFees } from '../gas/gas_fees.js'; import { GasSettings } from '../gas/gas_settings.js'; import type { MerkleTreeReadOperations } from '../interfaces/merkle_tree_operations.js'; import { BlockProposal } from '../p2p/block_proposal.js'; import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js'; import { CheckpointProposal } from '../p2p/checkpoint_proposal.js'; import { ChonkProof } from '../proofs/chonk_proof.js'; import { CheckpointHeader } from '../rollup/checkpoint_header.js'; import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js'; import { BlockHeader, GlobalVariables, ProtocolContracts, Tx } from '../tx/index.js'; import { TxSimulationResult } from '../tx/simulated_tx.js'; import { TxHash } from '../tx/tx_hash.js'; export declare const randomTxHash: () => TxHash; export declare const mockTx: (seed?: number, { numberOfNonRevertiblePublicCallRequests, numberOfRevertiblePublicCallRequests, numberOfRevertibleNullifiers, hasPublicTeardownCallRequest, publicCalldataSize, feePayer, chonkProof, gasLimits, maxFeesPerGas, maxPriorityFeesPerGas, gasUsed, chainId, version, vkTreeRoot, protocolContractsHash, anchorBlockHeader, }?: { numberOfNonRevertiblePublicCallRequests?: number | undefined; numberOfRevertiblePublicCallRequests?: number | undefined; numberOfRevertibleNullifiers?: number | undefined; hasPublicTeardownCallRequest?: boolean | undefined; publicCalldataSize?: number | undefined; feePayer?: AztecAddress | undefined; chonkProof?: ChonkProof | undefined; gasLimits?: Gas | undefined; maxFeesPerGas?: GasFees | undefined; maxPriorityFeesPerGas?: GasFees | undefined; gasUsed?: Gas | undefined; chainId?: Fr | undefined; version?: Fr | undefined; vkTreeRoot?: Fr | undefined; protocolContractsHash?: Fr | undefined; anchorBlockHeader?: BlockHeader | undefined; }) => Promise; export declare const mockTxForRollup: (seed?: number, opts?: { numberOfNonRevertiblePublicCallRequests?: number | undefined; numberOfRevertiblePublicCallRequests?: number | undefined; numberOfRevertibleNullifiers?: number | undefined; hasPublicTeardownCallRequest?: boolean | undefined; publicCalldataSize?: number | undefined; feePayer?: AztecAddress | undefined; chonkProof?: ChonkProof | undefined; gasLimits?: Gas | undefined; maxFeesPerGas?: GasFees | undefined; maxPriorityFeesPerGas?: GasFees | undefined; gasUsed?: Gas | undefined; chainId?: Fr | undefined; version?: Fr | undefined; vkTreeRoot?: Fr | undefined; protocolContractsHash?: Fr | undefined; anchorBlockHeader?: BlockHeader | undefined; } | undefined) => Promise; /** Mock a processed tx for testing purposes. */ export declare function mockProcessedTx({ seed, anchorBlockHeader, db, chainId, version, gasSettings, vkTreeRoot, protocolContracts, globalVariables, newL1ToL2Snapshot, feePayer, feePaymentPublicDataWrite, privateOnly, gasUsed, avmAccumulatedData, ...mockTxOpts }?: { seed?: number; anchorBlockHeader?: BlockHeader; db?: MerkleTreeReadOperations; gasSettings?: GasSettings; globalVariables?: GlobalVariables; newL1ToL2Snapshot?: AppendOnlyTreeSnapshot; protocolContracts?: ProtocolContracts; feePaymentPublicDataWrite?: PublicDataWrite; privateOnly?: boolean; avmAccumulatedData?: Partial>; } & Parameters[1]): Promise; export declare const mockSimulatedTx: (seed?: number) => Promise; export declare function mockL1ToL2Messages(numL1ToL2Messages: number): Fr[]; export declare function mockCheckpointAndMessages(checkpointNumber: CheckpointNumber, { startBlockNumber, numBlocks, blocks, numTxsPerBlock, numL1ToL2Messages, makeBlockOptions, previousArchive, maxEffects, ...options }?: { startBlockNumber?: BlockNumber; numBlocks?: number; numTxsPerBlock?: number; numL1ToL2Messages?: number; makeBlockOptions?: (blockNumber: BlockNumber) => Partial[1]>; previousArchive?: AppendOnlyTreeSnapshot; blocks?: L2Block[]; maxEffects?: number; } & Partial[1]> & Partial[1]>): Promise<{ checkpoint: Checkpoint; messages: Fr[]; lastArchive: AppendOnlyTreeSnapshot | undefined; }>; export declare const randomContractArtifact: () => ContractArtifact; export declare const randomContractInstanceWithAddress: (opts?: { contractClassId?: Fr | undefined; }, address?: AztecAddress | undefined) => Promise; export declare const randomDeployedContract: () => Promise<{ artifact: ContractArtifact; instance: ContractInstanceWithAddress; }>; export interface MakeConsensusPayloadOptions { signer?: Secp256k1Signer; attesterSigner?: Secp256k1Signer; proposerSigner?: Secp256k1Signer; header?: CheckpointHeader; archive?: Fr; txHashes?: TxHash[]; txs?: Tx[]; feeAssetPriceModifier?: bigint; } export interface MakeBlockProposalOptions { signer?: Secp256k1Signer; blockHeader?: BlockHeader; indexWithinCheckpoint?: IndexWithinCheckpoint; inHash?: Fr; archiveRoot?: Fr; txHashes?: TxHash[]; txs?: Tx[]; } export interface MakeCheckpointProposalOptions { signer?: Secp256k1Signer; checkpointHeader?: CheckpointHeader; archiveRoot?: Fr; feeAssetPriceModifier?: bigint; /** Options for the lastBlock - if undefined, no lastBlock is included */ lastBlock?: { blockHeader?: BlockHeader; indexWithinCheckpoint?: IndexWithinCheckpoint; txHashes?: TxHash[]; txs?: Tx[]; }; } export declare const makeAndSignCommitteeAttestationsAndSigners: (attestationsAndSigners: CommitteeAttestationsAndSigners, signer?: Secp256k1Signer) => Signature; export declare const makeBlockProposal: (options?: MakeBlockProposalOptions | undefined) => Promise; export declare const makeCheckpointProposal: (options?: MakeCheckpointProposalOptions | undefined) => Promise; /** * Options for creating a checkpoint attestation */ export type MakeCheckpointAttestationOptions = { header?: CheckpointHeader; archive?: Fr; feeAssetPriceModifier?: bigint; attesterSigner?: Secp256k1Signer; proposerSigner?: Secp256k1Signer; signer?: Secp256k1Signer; }; /** * Create a checkpoint attestation for testing */ export declare const makeCheckpointAttestation: (options?: MakeCheckpointAttestationOptions) => CheckpointAttestation; /** * Create a checkpoint attestation from a checkpoint proposal */ export declare const makeCheckpointAttestationFromProposal: (proposal: CheckpointProposal, attesterSigner?: Secp256k1Signer | undefined) => CheckpointAttestation; /** * Create a checkpoint attestation from a checkpoint */ export declare const makeCheckpointAttestationFromCheckpoint: (checkpoint: Checkpoint, attesterSigner?: Secp256k1Signer | undefined, proposerSigner?: Secp256k1Signer | undefined) => CheckpointAttestation; /** * Create a checkpoint attestation from an L2Block * Note: This is a compatibility function for tests. L2Block doesn't have a checkpoint header directly. */ export declare const makeCheckpointAttestationFromBlock: (block: L2Block, attesterSigner?: Secp256k1Signer | undefined, proposerSigner?: Secp256k1Signer | undefined) => CheckpointAttestation; export declare function randomPublishedL2Block(l2BlockNumber: number, opts?: { signers?: Secp256k1Signer[]; }): Promise; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy9tb2Nrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFjLE1BQU0saUNBQWlDLENBQUM7QUFJbkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBd0IsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkYsT0FBTyxLQUFLLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLekQsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFB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