import { SpongeBlob } from '@aztec/blob-lib/types'; import { ARCHIVE_HEIGHT, MAX_CONTRACT_CLASS_LOGS_PER_TX } from '@aztec/constants'; import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, type Tuple } from '@aztec/foundation/serialize'; import type { FieldsOf } from '@aztec/foundation/types'; import { ContractClassLogFields } from '../logs/index.js'; import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js'; import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js'; import { PartialStateReference } from '../tx/partial_state_reference.js'; import { BlockConstantData } from './block_constant_data.js'; import { TreeSnapshotDiffHints } from './tree_snapshot_diff_hints.js'; export type BaseRollupHints = PrivateBaseRollupHints | PublicBaseRollupHints; export declare class PrivateBaseRollupHints { /** * Partial state reference at the start of the rollup. */ start: PartialStateReference; /** * Sponge state to absorb blob inputs at the start of the rollup. */ startSpongeBlob: SpongeBlob; /** * Hints used while proving state diff validity. */ treeSnapshotDiffHints: TreeSnapshotDiffHints; /** * Public data tree leaf preimage for accessing the balance of the fee payer. */ feePayerBalanceLeafPreimage: PublicDataTreeLeafPreimage; /** * Membership witnesses of blocks referred by each of the 2 kernels. */ anchorBlockArchiveSiblingPath: Tuple; /** * Preimages to the kernel's contractClassLogsHashes. */ contractClassLogsFields: Tuple; /** * Data which is not modified by the base rollup circuit. */ constants: BlockConstantData; constructor( /** * Partial state reference at the start of the rollup. */ start: PartialStateReference, /** * Sponge state to absorb blob inputs at the start of the rollup. */ startSpongeBlob: SpongeBlob, /** * Hints used while proving state diff validity. */ treeSnapshotDiffHints: TreeSnapshotDiffHints, /** * Public data tree leaf preimage for accessing the balance of the fee payer. */ feePayerBalanceLeafPreimage: PublicDataTreeLeafPreimage, /** * Membership witnesses of blocks referred by each of the 2 kernels. */ anchorBlockArchiveSiblingPath: Tuple, /** * Preimages to the kernel's contractClassLogsHashes. */ contractClassLogsFields: Tuple, /** * Data which is not modified by the base rollup circuit. */ constants: BlockConstantData); static from(fields: FieldsOf): PrivateBaseRollupHints; static getFields(fields: FieldsOf): readonly [PartialStateReference, SpongeBlob, TreeSnapshotDiffHints, PublicDataTreeLeafPreimage, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [ContractClassLogFields], BlockConstantData]; /** * Serializes the inputs to a buffer. * @returns The inputs serialized to a buffer. */ toBuffer(): Buffer; /** * Serializes the inputs to a hex string. * @returns The instance serialized to a hex string. */ toString(): `0x${string}`; static fromBuffer(buffer: Buffer | BufferReader): PrivateBaseRollupHints; static fromString(str: string): PrivateBaseRollupHints; static empty(): PrivateBaseRollupHints; } export declare class PublicBaseRollupHints { /** * Sponge state to absorb blob inputs at the start of the rollup. */ startSpongeBlob: SpongeBlob; /** * Archive tree snapshot at the very beginning of the block containing this base rollup. */ lastArchive: AppendOnlyTreeSnapshot; /** * Membership witnesses of blocks referred by each of the 2 kernels. */ anchorBlockArchiveSiblingPath: Tuple; /** * Preimages to the kernel's contractClassLogsHashes. */ contractClassLogsFields: Tuple; constructor( /** * Sponge state to absorb blob inputs at the start of the rollup. */ startSpongeBlob: SpongeBlob, /** * Archive tree snapshot at the very beginning of the block containing this base rollup. */ lastArchive: AppendOnlyTreeSnapshot, /** * Membership witnesses of blocks referred by each of the 2 kernels. */ anchorBlockArchiveSiblingPath: Tuple, /** * Preimages to the kernel's contractClassLogsHashes. */ contractClassLogsFields: Tuple); static from(fields: FieldsOf): PublicBaseRollupHints; static getFields(fields: FieldsOf): readonly [SpongeBlob, AppendOnlyTreeSnapshot, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [ContractClassLogFields]]; /** * Serializes the inputs to a buffer. * @returns The inputs serialized to a buffer. */ toBuffer(): Buffer; /** * Serializes the inputs to a hex string. * @returns The instance serialized to a hex string. */ toString(): `0x${string}`; static fromBuffer(buffer: Buffer | BufferReader): PublicBaseRollupHints; static fromString(str: string): PublicBaseRollupHints; static empty(): PublicBaseRollupHints; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9yb2xsdXBfaGludHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb2xsdXAvYmFzZV9yb2xsdXBfaGludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEtBQUssRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV0RSxNQUFNLE1BQU0sZUFBZSxHQUFHLHNCQUFzQixHQUFHLHFCQUFxQixDQUFDO0FBRTdFLHFCQUFhLHNCQUFzQjtJQUUvQjs7T0FFRztJQUNJLEtBQUssRUFBRSxxQkFBcUI7SUFDbkM7O09BRUc7SUFDSSxlQUFlLEVBQUUsVUFBVTtJQUNsQzs7T0FFRztJQUNJLHFCQUFxQixFQUFFLHFCQUFxQjtJQUNuRDs7T0FFRztJQUNJLDJCQUEyQixFQUFFLDBCQUEwQjtJQUM5RDs7T0FFRztJQUNJLDZCQUE2QixFQUFFLEtBQUssQ0FBQyxF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