import { MAX_CONTRACT_CLASS_LOGS_PER_CALL, MAX_ENQUEUED_CALLS_PER_CALL, MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NOTE_HASHES_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PRIVATE_LOGS_PER_CALL } from '@aztec/constants'; import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, FieldReader } from '@aztec/foundation/serialize'; import type { FieldsOf } from '@aztec/foundation/types'; import { KeyValidationRequestAndSeparator } from '../kernel/hints/key_validation_request_and_separator.js'; import { CountedLogHash } from '../kernel/log_hash.js'; import { PrivateCallRequest } from '../kernel/private_call_request.js'; import { PrivateLogData } from '../kernel/private_log_data.js'; import { CountedL2ToL1Message } from '../messaging/l2_to_l1_message.js'; import { BlockHeader } from '../tx/block_header.js'; import { CallContext } from '../tx/call_context.js'; import { TxContext } from '../tx/tx_context.js'; import type { UInt64 } from '../types/shared.js'; import { ClaimedLengthArray } from './claimed_length_array.js'; import { ScopedReadRequest } from './hints/read_request.js'; import { NoteHash } from './note_hash.js'; import { Nullifier } from './nullifier.js'; import { CountedPublicCallRequest, PublicCallRequest } from './public_call_request.js'; /** * Public inputs to a private circuit. */ export declare class PrivateCircuitPublicInputs { /** * Context of the call corresponding to this private circuit execution. */ callContext: CallContext; /** * Pedersen hash of function arguments. */ argsHash: Fr; /** * Pedersen hash of the return values of the corresponding function call. */ returnsHash: Fr; /** * Header of a block whose state is used during private execution (not the block the transaction is included in). */ anchorBlockHeader: BlockHeader; /** * Transaction context. * * Note: The chainId and version in the txContext are not redundant to the values in self.anchor_block_header.global_variables because * they can be different in case of a protocol upgrade. In such a situation we could be using header from a block * before the upgrade took place but be using the updated protocol to execute and prove the transaction. */ txContext: TxContext; /** * The side-effect counter under which all side effects are non-revertible. */ minRevertibleSideEffectCounter: Fr; /** * Whether the caller of the function is the fee payer. */ isFeePayer: boolean; /** * The highest timestamp of a block in which the transaction can still be included. */ expirationTimestamp: UInt64; /** * The side effect counter at the start of this call. */ startSideEffectCounter: Fr; /** * The end side effect counter for this call. */ endSideEffectCounter: Fr; /** * The expected non revertible side effect counter for this call. */ expectedNonRevertibleSideEffectCounter: Fr; /** * The expected revertible side effect counter for this call. */ expectedRevertibleSideEffectCounter: Fr; /** * Read requests created by the corresponding function call. */ noteHashReadRequests: ClaimedLengthArray; /** * Nullifier read requests created by the corresponding function call. */ nullifierReadRequests: ClaimedLengthArray; /** * Key validation requests and separators created by the corresponding function call. */ keyValidationRequestsAndSeparators: ClaimedLengthArray; /** * Private call requests made within the current kernel iteration. */ privateCallRequests: ClaimedLengthArray; /** * Public call stack at the current kernel iteration. */ publicCallRequests: ClaimedLengthArray; /** * Hash of the public teardown function. */ publicTeardownCallRequest: PublicCallRequest; /** * New note hashes created by the corresponding function call. */ noteHashes: ClaimedLengthArray; /** * New nullifiers created by the corresponding function call. */ nullifiers: ClaimedLengthArray; /** * New L2 to L1 messages created by the corresponding function call. */ l2ToL1Msgs: ClaimedLengthArray; /** * Logs emitted in this function call. */ privateLogs: ClaimedLengthArray; /** * Hash of the contract class logs emitted in this function call. */ contractClassLogsHashes: ClaimedLengthArray; constructor( /** * Context of the call corresponding to this private circuit execution. */ callContext: CallContext, /** * Pedersen hash of function arguments. */ argsHash: Fr, /** * Pedersen hash of the return values of the corresponding function call. */ returnsHash: Fr, /** * Header of a block whose state is used during private execution (not the block the transaction is included in). */ anchorBlockHeader: BlockHeader, /** * Transaction context. * * Note: The chainId and version in the txContext are not redundant to the values in self.anchor_block_header.global_variables because * they can be different in case of a protocol upgrade. In such a situation we could be using header from a block * before the upgrade took place but be using the updated protocol to execute and prove the transaction. */ txContext: TxContext, /** * The side-effect counter under which all side effects are non-revertible. */ minRevertibleSideEffectCounter: Fr, /** * Whether the caller of the function is the fee payer. */ isFeePayer: boolean, /** * The highest timestamp of a block in which the transaction can still be included. */ expirationTimestamp: UInt64, /** * The side effect counter at the start of this call. */ startSideEffectCounter: Fr, /** * The end side effect counter for this call. */ endSideEffectCounter: Fr, /** * The expected non revertible side effect counter for this call. */ expectedNonRevertibleSideEffectCounter: Fr, /** * The expected revertible side effect counter for this call. */ expectedRevertibleSideEffectCounter: Fr, /** * Read requests created by the corresponding function call. */ noteHashReadRequests: ClaimedLengthArray, /** * Nullifier read requests created by the corresponding function call. */ nullifierReadRequests: ClaimedLengthArray, /** * Key validation requests and separators created by the corresponding function call. */ keyValidationRequestsAndSeparators: ClaimedLengthArray, /** * Private call requests made within the current kernel iteration. */ privateCallRequests: ClaimedLengthArray, /** * Public call stack at the current kernel iteration. */ publicCallRequests: ClaimedLengthArray, /** * Hash of the public teardown function. */ publicTeardownCallRequest: PublicCallRequest, /** * New note hashes created by the corresponding function call. */ noteHashes: ClaimedLengthArray, /** * New nullifiers created by the corresponding function call. */ nullifiers: ClaimedLengthArray, /** * New L2 to L1 messages created by the corresponding function call. */ l2ToL1Msgs: ClaimedLengthArray, /** * Logs emitted in this function call. */ privateLogs: ClaimedLengthArray, /** * Hash of the contract class logs emitted in this function call. */ contractClassLogsHashes: ClaimedLengthArray); /** * Create PrivateCircuitPublicInputs from a fields dictionary. * @param fields - The dictionary. * @returns A PrivateCircuitPublicInputs object. */ static from(fields: FieldsOf): PrivateCircuitPublicInputs; /** * Deserializes from a buffer or reader. * @param buffer - Buffer or reader to read from. * @returns The deserialized instance. */ static fromBuffer(buffer: Buffer | BufferReader): PrivateCircuitPublicInputs; static fromFields(fields: Fr[] | FieldReader): PrivateCircuitPublicInputs; /** * Create an empty PrivateCircuitPublicInputs. * @returns An empty PrivateCircuitPublicInputs object. */ static empty(): PrivateCircuitPublicInputs; isEmpty(): boolean; /** * Serialize into a field array. Low-level utility. * @param fields - Object with fields. * @returns The array. */ static getFields(fields: FieldsOf): readonly [CallContext, Fr, Fr, BlockHeader, TxContext, Fr, boolean, bigint, Fr, Fr, Fr, Fr, ClaimedLengthArray, ClaimedLengthArray, ClaimedLengthArray, ClaimedLengthArray, ClaimedLengthArray, PublicCallRequest, ClaimedLengthArray, ClaimedLengthArray, ClaimedLengthArray, ClaimedLengthArray, ClaimedLengthArray]; /** * Serialize this as a buffer. * @returns The buffer. */ toBuffer(): Buffer; /** * Serialize this as a field array. */ toFields(): Fr[]; toJSON(): Buffer; static get schema(): import("zod").ZodType; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9jaXJjdWl0X3B1YmxpY19pbnB1dHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWwvcHJpdmF0ZV9jaXJjdWl0X3B1YmxpY19pbnB1dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQywyQkFBMkIsRUFDM0Isb0NBQW9DLEVBQ3BDLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsb0NBQW9DLEVBQ3BDLHVCQUF1QixFQUN2QixvQ0FBb0MsRUFDcEMsc0NBQXNDLEVBQ3RDLHlCQUF5QixFQUMxQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLFdBQVcsRUFJWixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUNMLGtCQUFrQixFQUduQixNQUFNLDJC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