import { type CompiledCircuit, type ForeignCallHandler } from "@aztec/noir-noir_js"; export { type ForeignCallHandler } from "@aztec/noir-noir_js"; export type FixedLengthArray = L extends 0 ? never[] : T[] & { length: L; }; export type Field = string; export type u32 = string; export type u128 = string; export type u64 = string; export type u8 = string; export type u16 = string; export type ParityBasePrivateInputs = { msgs: FixedLengthArray; vk_tree_root: Field; prover_id: Field; }; export type ParityPublicInputs = { sha_root: Field; converted_root: Field; vk_tree_root: Field; prover_id: Field; }; export type ParityRootPrivateInputs = { children: FixedLengthArray, 4>; }; export type ProofData = { public_inputs: A; proof: FixedLengthArray; vk_data: VkData; }; export type VkData = { vk: VerificationKey; leaf_index: u32; sibling_path: FixedLengthArray; }; export type VerificationKey = { key: FixedLengthArray; hash: Field; }; export type TxRequest = { origin: AztecAddress; args_hash: Field; tx_context: TxContext; function_data: FunctionData; salt: Field; }; export type AztecAddress = { inner: Field; }; export type TxContext = { chain_id: Field; version: Field; gas_settings: GasSettings; }; export type FunctionData = { selector: FunctionSelector; is_private: boolean; }; export type GasSettings = { gas_limits: Gas; teardown_gas_limits: Gas; max_fees_per_gas: GasFees; max_priority_fees_per_gas: GasFees; }; export type FunctionSelector = { inner: u32; }; export type Gas = { da_gas: u32; l2_gas: u32; }; export type GasFees = { fee_per_da_gas: u128; fee_per_l2_gas: u128; }; export type ProtocolContracts = { derived_addresses: FixedLengthArray; }; export type PrivateCallDataWithoutPublicInputs = { vk: VerificationKey<163>; verification_key_hints: PrivateVerificationKeyHints; }; export type PrivateVerificationKeyHints = { salted_initialization_hash: SaltedInitializationHash; public_keys: PublicKeys; contract_class_artifact_hash: Field; contract_class_public_bytecode_commitment: Field; function_leaf_membership_witness: MembershipWitness<7>; updated_class_id_witness: MembershipWitness<40>; updated_class_id_leaf: PublicDataTreeLeafPreimage; updated_class_id_delayed_public_mutable_values: FixedLengthArray; }; export type SaltedInitializationHash = { inner: Field; }; export type PublicKeys = { npk_m_hash: Field; ivpk_m: IvpkM; ovpk_m_hash: Field; tpk_m_hash: Field; mspk_m_hash: Field; fbpk_m_hash: Field; }; export type MembershipWitness = { leaf_index: Field; sibling_path: FixedLengthArray; }; export type PublicDataTreeLeafPreimage = { slot: Field; value: Field; next_slot: Field; next_index: Field; }; export type IvpkM = { inner: EmbeddedCurvePoint; }; export type EmbeddedCurvePoint = { x: Field; y: Field; }; export type PrivateCircuitPublicInputs = { call_context: CallContext; args_hash: Field; returns_hash: Field; anchor_block_header: BlockHeader; tx_context: TxContext; min_revertible_side_effect_counter: u32; is_fee_payer: boolean; expiration_timestamp: u64; start_side_effect_counter: u32; end_side_effect_counter: u32; expected_non_revertible_side_effect_counter: u32; expected_revertible_side_effect_counter: u32; note_hash_read_requests: ClaimedLengthArray<16, Scoped>>; nullifier_read_requests: ClaimedLengthArray<16, Scoped>>; key_validation_requests_and_separators: ClaimedLengthArray<16, KeyValidationRequestAndSeparator>; private_call_requests: ClaimedLengthArray<8, PrivateCallRequest>; public_call_requests: ClaimedLengthArray<32, Counted>; public_teardown_call_request: PublicCallRequest; note_hashes: ClaimedLengthArray<16, Counted>; nullifiers: ClaimedLengthArray<16, Counted>; l2_to_l1_msgs: ClaimedLengthArray<8, Counted>; private_logs: ClaimedLengthArray<16, Counted>; contract_class_logs_hashes: ClaimedLengthArray<1, Counted>; tx_request_salt: Field; }; export type CallContext = { msg_sender: AztecAddress; contract_address: AztecAddress; function_selector: FunctionSelector; is_static_call: boolean; }; export type BlockHeader = { last_archive: AppendOnlyTreeSnapshot; state: StateReference; sponge_blob_hash: Field; global_variables: GlobalVariables; total_fees: Field; total_mana_used: Field; }; export type ClaimedLengthArray = { array: FixedLengthArray; length: u32; }; export type PublicCallRequest = { msg_sender: AztecAddress; contract_address: AztecAddress; is_static_call: boolean; calldata_hash: Field; }; export type AppendOnlyTreeSnapshot = { root: Field; next_available_leaf_index: Field; }; export type StateReference = { l1_to_l2_message_tree: AppendOnlyTreeSnapshot; partial: PartialStateReference; }; export type GlobalVariables = { chain_id: Field; version: Field; block_number: u32; slot_number: Field; timestamp: u64; coinbase: EthAddress; fee_recipient: AztecAddress; gas_fees: GasFees; }; export type PartialStateReference = { note_hash_tree: AppendOnlyTreeSnapshot; nullifier_tree: AppendOnlyTreeSnapshot; public_data_tree: AppendOnlyTreeSnapshot; }; export type EthAddress = { inner: Field; }; export type PrivateKernelCircuitPublicInputs = { constants: PrivateTxConstantData; min_revertible_side_effect_counter: u32; validation_requests: PrivateValidationRequests; end: PrivateAccumulatedData; public_teardown_call_request: PublicCallRequest; fee_payer: AztecAddress; expiration_timestamp: u64; is_private_only: boolean; claimed_first_nullifier: Field; claimed_revertible_counter: u32; }; export type PrivateTxConstantData = { anchor_block_header: BlockHeader; tx_context: TxContext; tx_request_salt: Field; vk_tree_root: Field; protocol_contracts: ProtocolContracts; }; export type PrivateValidationRequests = { note_hash_read_requests: ClaimedLengthArray<64, Scoped>>; nullifier_read_requests: ClaimedLengthArray<64, Scoped>>; scoped_key_validation_requests_and_separators: ClaimedLengthArray<64, Scoped>; }; export type PrivateAccumulatedData = { note_hashes: ClaimedLengthArray<64, Scoped>>; nullifiers: ClaimedLengthArray<64, Scoped>>; l2_to_l1_msgs: ClaimedLengthArray<8, Scoped>>; private_logs: ClaimedLengthArray<64, Scoped>>; contract_class_logs_hashes: ClaimedLengthArray<1, Scoped>>; public_call_requests: ClaimedLengthArray<32, Counted>; private_call_stack: ClaimedLengthArray<16, PrivateCallRequest>; }; export type PrivateKernelDataWithoutPublicInputs = { vk_data: VkData<163>; }; export type PaddedSideEffects = { note_hashes: FixedLengthArray; nullifiers: FixedLengthArray; private_logs: FixedLengthArray; }; export type Log = { fields: FixedLengthArray; length: u32; }; export type PrivateKernelResetHints = { note_hash_read_request_hints: ReadRequestHints; nullifier_read_request_hints: ReadRequestHints; key_validation_hints: FixedLengthArray; transient_data_squashing_hints: FixedLengthArray; }; export type ReadRequestHints = { read_request_actions: FixedLengthArray; pending_read_hints: FixedLengthArray; settled_read_hints: FixedLengthArray, B>; }; export type KeyValidationHint = { sk_m: EmbeddedCurveScalar; }; export type TransientDataSquashingHint = { note_hash_index: u32; nullifier_index: u32; }; export type ReadRequestAction = { action: u8; hint_index: u32; }; export type PendingReadHint = { read_request_index: u32; pending_value_index: u32; }; export type SettledReadHint = { read_request_index: u32; membership_witness: MembershipWitness<42>; leaf_preimage: A; }; export type EmbeddedCurveScalar = { lo: Field; hi: Field; }; export type PrivateToRollupKernelCircuitPublicInputs = { constants: TxConstantData; end: PrivateToRollupAccumulatedData; gas_used: Gas; fee_payer: AztecAddress; expiration_timestamp: u64; }; export type TxConstantData = { anchor_block_header: BlockHeader; tx_context: TxContext; vk_tree_root: Field; protocol_contracts_hash: Field; }; export type PrivateToRollupAccumulatedData = { note_hashes: FixedLengthArray; nullifiers: FixedLengthArray; l2_to_l1_msgs: FixedLengthArray, 8>; private_logs: FixedLengthArray; contract_class_logs_hashes: FixedLengthArray, 1>; }; export type Scoped = { inner: A; contract_address: AztecAddress; }; export type PaddedSideEffectAmounts = { non_revertible_note_hashes: u32; revertible_note_hashes: u32; non_revertible_nullifiers: u32; revertible_nullifiers: u32; non_revertible_private_logs: u32; revertible_private_logs: u32; }; export type PrivateToPublicKernelCircuitPublicInputs = { constants: TxConstantData; non_revertible_accumulated_data: PrivateToPublicAccumulatedData; revertible_accumulated_data: PrivateToPublicAccumulatedData; public_teardown_call_request: PublicCallRequest; gas_used: Gas; fee_payer: AztecAddress; expiration_timestamp: u64; }; export type PrivateToPublicAccumulatedData = { note_hashes: FixedLengthArray; nullifiers: FixedLengthArray; l2_to_l1_msgs: FixedLengthArray, 8>; private_logs: FixedLengthArray; contract_class_logs_hashes: FixedLengthArray, 1>; public_call_requests: FixedLengthArray; }; export type PublicChonkVerifierPrivateInputs = { hiding_kernel_proof_data: ProofData; prover_id: Field; }; export type PublicChonkVerifierPublicInputs = { private_tail: PrivateToPublicKernelCircuitPublicInputs; prover_id: Field; }; export type PrivateTxBaseRollupPrivateInputs = { hiding_kernel_proof_data: ProofData; constants: BlockConstantData; start_tree_snapshots: PartialStateReference; start_sponge_blob: SpongeBlob; contract_class_log_fields: FixedLengthArray, 1>; fee_payer_balance_leaf_preimage: PublicDataTreeLeafPreimage; anchor_block_archive_sibling_path: FixedLengthArray; tree_snapshot_diff_hints: TreeSnapshotDiffHints; }; export type BlockConstantData = { last_archive: AppendOnlyTreeSnapshot; l1_to_l2_tree_snapshot: AppendOnlyTreeSnapshot; vk_tree_root: Field; protocol_contracts_hash: Field; prover_id: Field; global_variables: GlobalVariables; }; export type SpongeBlob = { sponge: Poseidon2Sponge; num_absorbed_fields: u32; }; export type TreeSnapshotDiffHints = { note_hash_subtree_root_sibling_path: FixedLengthArray; sorted_nullifiers: FixedLengthArray; sorted_nullifier_indexes: FixedLengthArray; nullifier_predecessor_preimages: FixedLengthArray; nullifier_predecessor_membership_witnesses: FixedLengthArray, 64>; nullifier_subtree_root_sibling_path: FixedLengthArray; fee_payer_balance_membership_witness: MembershipWitness<40>; }; export type Poseidon2Sponge = { cache: FixedLengthArray; state: FixedLengthArray; cache_size: u32; squeeze_mode: boolean; }; export type NullifierLeafPreimage = { nullifier: Field; next_nullifier: Field; next_index: Field; }; export type TxRollupPublicInputs = { num_txs: u16; constants: BlockConstantData; start_tree_snapshots: PartialStateReference; end_tree_snapshots: PartialStateReference; start_sponge_blob: SpongeBlob; end_sponge_blob: SpongeBlob; out_hash: Field; accumulated_fees: Field; accumulated_mana_used: Field; }; export type PublicTxBaseRollupPrivateInputs = { public_chonk_verifier_proof_data: ProofData; avm_proof_data: ProofDataForFixedVk; start_sponge_blob: SpongeBlob; last_archive: AppendOnlyTreeSnapshot; anchor_block_archive_sibling_path: FixedLengthArray; contract_class_log_fields: FixedLengthArray, 1>; }; export type ProofDataForFixedVk = { public_inputs: AvmCircuitPublicInputs; proof: FixedLengthArray; }; export type AvmCircuitPublicInputs = { global_variables: GlobalVariables; protocol_contracts: ProtocolContracts; start_tree_snapshots: TreeSnapshots; start_gas_used: Gas; gas_settings: GasSettings; effective_gas_fees: GasFees; fee_payer: AztecAddress; prover_id: Field; public_call_request_array_lengths: PublicCallRequestArrayLengths; public_setup_call_requests: FixedLengthArray; public_app_logic_call_requests: FixedLengthArray; public_teardown_call_request: PublicCallRequest; previous_non_revertible_accumulated_data_array_lengths: PrivateToAvmAccumulatedDataArrayLengths; previous_revertible_accumulated_data_array_lengths: PrivateToAvmAccumulatedDataArrayLengths; previous_non_revertible_accumulated_data: PrivateToAvmAccumulatedData; previous_revertible_accumulated_data: PrivateToAvmAccumulatedData; end_tree_snapshots: TreeSnapshots; end_gas_used: Gas; accumulated_data_array_lengths: AvmAccumulatedDataArrayLengths; accumulated_data: AvmAccumulatedData; transaction_fee: Field; reverted: boolean; }; export type TreeSnapshots = { l1_to_l2_message_tree: AppendOnlyTreeSnapshot; note_hash_tree: AppendOnlyTreeSnapshot; nullifier_tree: AppendOnlyTreeSnapshot; public_data_tree: AppendOnlyTreeSnapshot; }; export type PublicCallRequestArrayLengths = { setup_calls: u32; app_logic_calls: u32; teardown_call: boolean; }; export type PrivateToAvmAccumulatedDataArrayLengths = { note_hashes: u32; nullifiers: u32; l2_to_l1_msgs: u32; }; export type PrivateToAvmAccumulatedData = { note_hashes: FixedLengthArray; nullifiers: FixedLengthArray; l2_to_l1_msgs: FixedLengthArray, 8>; }; export type AvmAccumulatedDataArrayLengths = { note_hashes: u32; nullifiers: u32; l2_to_l1_msgs: u32; public_data_writes: u32; }; export type AvmAccumulatedData = { note_hashes: FixedLengthArray; nullifiers: FixedLengthArray; l2_to_l1_msgs: FixedLengthArray, 8>; public_logs: PublicLogs; public_data_writes: FixedLengthArray; }; export type PublicLogs = { length: u32; payload: FixedLengthArray; }; export type PublicDataWrite = { leaf_slot: Field; value: Field; }; export type TxMergeRollupPrivateInputs = { previous_rollups: FixedLengthArray, 2>; }; export type BlockRootRollupPrivateInputs = { previous_rollups: FixedLengthArray, 2>; new_archive_sibling_path: FixedLengthArray; }; export type BlockRollupPublicInputs = { constants: CheckpointConstantData; previous_archive: AppendOnlyTreeSnapshot; new_archive: AppendOnlyTreeSnapshot; start_state: StateReference; end_state: StateReference; start_sponge_blob: SpongeBlob; end_sponge_blob: SpongeBlob; timestamp: u64; block_headers_hash: Field; in_hash: Field; out_hash: Field; accumulated_fees: Field; accumulated_mana_used: Field; }; export type CheckpointConstantData = { chain_id: Field; version: Field; vk_tree_root: Field; protocol_contracts_hash: Field; prover_id: Field; slot_number: Field; coinbase: EthAddress; fee_recipient: AztecAddress; gas_fees: GasFees; }; export type BlockRootSingleTxRollupPrivateInputs = { previous_rollup: ProofData; new_archive_sibling_path: FixedLengthArray; }; export type BlockRootFirstRollupPrivateInputs = { parity_root: ProofData; previous_rollups: FixedLengthArray, 2>; previous_l1_to_l2: AppendOnlyTreeSnapshot; new_l1_to_l2_message_subtree_root_sibling_path: FixedLengthArray; new_archive_sibling_path: FixedLengthArray; }; export type BlockRootSingleTxFirstRollupPrivateInputs = { parity_root: ProofData; previous_rollup: ProofData; previous_l1_to_l2: AppendOnlyTreeSnapshot; new_l1_to_l2_message_subtree_root_sibling_path: FixedLengthArray; new_archive_sibling_path: FixedLengthArray; }; export type BlockRootEmptyTxFirstRollupPrivateInputs = { parity_root: ProofData; previous_archive: AppendOnlyTreeSnapshot; previous_state: StateReference; constants: CheckpointConstantData; timestamp: u64; new_l1_to_l2_message_subtree_root_sibling_path: FixedLengthArray; new_archive_sibling_path: FixedLengthArray; }; export type BlockMergeRollupPrivateInputs = { previous_rollups: FixedLengthArray, 2>; }; export type CheckpointRootRollupPrivateInputs = { previous_rollups: FixedLengthArray, 2>; hints: CheckpointRootRollupHints; }; export type CheckpointRootRollupHints = { previous_block_header: BlockHeader; previous_archive_sibling_path: FixedLengthArray; previous_out_hash: AppendOnlyTreeSnapshot; new_out_hash_sibling_path: FixedLengthArray; start_blob_accumulator: BlobAccumulator; final_blob_challenges: FinalBlobBatchingChallenges; blobs_fields: FixedLengthArray; blob_commitments: FixedLengthArray; blobs_hash: Field; }; export type BlobAccumulator = { blob_commitments_hash_acc: Field; z_acc: Field; y_acc: BLS12_381_Fr; c_acc: BLS12_381; gamma_acc: Field; gamma_pow_acc: BLS12_381_Fr; }; export type FinalBlobBatchingChallenges = { z: Field; gamma: BLS12_381_Fr; }; export type BLS12_381 = { x: BLS12_381_Fq; y: BLS12_381_Fq; is_infinity: boolean; }; export type BLS12_381_Fr = { limbs: FixedLengthArray; }; export type BLS12_381_Fq = { limbs: FixedLengthArray; }; export type CheckpointRollupPublicInputs = { constants: EpochConstantData; previous_archive: AppendOnlyTreeSnapshot; new_archive: AppendOnlyTreeSnapshot; previous_out_hash: AppendOnlyTreeSnapshot; new_out_hash: AppendOnlyTreeSnapshot; checkpoint_header_hashes: FixedLengthArray; fees: FixedLengthArray; start_blob_accumulator: BlobAccumulator; end_blob_accumulator: BlobAccumulator; final_blob_challenges: FinalBlobBatchingChallenges; }; export type EpochConstantData = { chain_id: Field; version: Field; vk_tree_root: Field; protocol_contracts_hash: Field; prover_id: Field; }; export type FeeRecipient = { recipient: EthAddress; value: Field; }; export type CheckpointRootSingleBlockRollupPrivateInputs = { previous_rollup: ProofData; hints: CheckpointRootRollupHints; }; export type CheckpointMergeRollupPrivateInputs = { previous_rollups: FixedLengthArray, 2>; }; export type RootRollupPrivateInputs = { previous_rollups: FixedLengthArray, 2>; }; export type RootRollupPublicInputs = { previous_archive_root: Field; new_archive_root: Field; out_hash: Field; checkpoint_header_hashes: FixedLengthArray; fees: FixedLengthArray; constants: EpochConstantData; blob_public_inputs: FinalBlobAccumulator; }; export type FinalBlobAccumulator = { blob_commitments_hash: Field; z: Field; y: BLS12_381_Fr; c: FixedLengthArray; }; export type Nullifier = { value: Field; note_hash: Field; }; export type PrivateLogData = { log: Log; note_hash_counter: u32; }; export type LogHash = { value: Field; length: u32; }; export type PrivateCallRequest = { call_context: CallContext; args_hash: Field; returns_hash: Field; start_side_effect_counter: u32; end_side_effect_counter: u32; }; export type KeyValidationRequestAndSeparator = { request: KeyValidationRequest; key_type_domain_separator: Field; }; export type KeyValidationRequest = { pk_m_hash: Field; sk_app: Field; }; export type NoteHashLeafPreimage = { value: Field; }; export type L2ToL1Message = { recipient: EthAddress; content: Field; }; export type Counted = { inner: A; counter: u32; }; export type ParityBaseInputType = { inputs: ParityBasePrivateInputs; }; export type ParityBaseReturnType = ParityPublicInputs; export declare function ParityBase(inputs: ParityBasePrivateInputs, ParityBase_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type ParityRootInputType = { inputs: ParityRootPrivateInputs; }; export type ParityRootReturnType = ParityPublicInputs; export declare function ParityRoot(inputs: ParityRootPrivateInputs, ParityRoot_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type PrivateKernelInitInputType = { tx_request: TxRequest; vk_tree_root: Field; protocol_contracts: ProtocolContracts; private_call: PrivateCallDataWithoutPublicInputs; is_private_only: boolean; revertible_counter_hint: u32; app_public_inputs: PrivateCircuitPublicInputs; }; export type PrivateKernelInitReturnType = PrivateKernelCircuitPublicInputs; export declare function PrivateKernelInit(tx_request: TxRequest, vk_tree_root: Field, protocol_contracts: ProtocolContracts, private_call: PrivateCallDataWithoutPublicInputs, is_private_only: boolean, revertible_counter_hint: u32, app_public_inputs: PrivateCircuitPublicInputs, PrivateKernelInit_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type PrivateKernelInit2InputType = { tx_request: TxRequest; vk_tree_root: Field; protocol_contracts: ProtocolContracts; private_call_0: PrivateCallDataWithoutPublicInputs; private_call_1: PrivateCallDataWithoutPublicInputs; is_private_only: boolean; revertible_counter_hint: u32; app_public_inputs_0: PrivateCircuitPublicInputs; app_public_inputs_1: PrivateCircuitPublicInputs; }; export type PrivateKernelInit2ReturnType = PrivateKernelCircuitPublicInputs; export declare function PrivateKernelInit2(tx_request: TxRequest, vk_tree_root: Field, protocol_contracts: ProtocolContracts, private_call_0: PrivateCallDataWithoutPublicInputs, private_call_1: PrivateCallDataWithoutPublicInputs, is_private_only: boolean, revertible_counter_hint: u32, app_public_inputs_0: PrivateCircuitPublicInputs, app_public_inputs_1: PrivateCircuitPublicInputs, PrivateKernelInit2_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type PrivateKernelInit3InputType = { tx_request: TxRequest; vk_tree_root: Field; protocol_contracts: ProtocolContracts; private_call_0: PrivateCallDataWithoutPublicInputs; private_call_1: PrivateCallDataWithoutPublicInputs; private_call_2: PrivateCallDataWithoutPublicInputs; is_private_only: boolean; revertible_counter_hint: u32; app_public_inputs_0: PrivateCircuitPublicInputs; app_public_inputs_1: PrivateCircuitPublicInputs; app_public_inputs_2: PrivateCircuitPublicInputs; }; export type PrivateKernelInit3ReturnType = PrivateKernelCircuitPublicInputs; export declare function PrivateKernelInit3(tx_request: TxRequest, vk_tree_root: Field, protocol_contracts: ProtocolContracts, private_call_0: PrivateCallDataWithoutPublicInputs, private_call_1: PrivateCallDataWithoutPublicInputs, private_call_2: PrivateCallDataWithoutPublicInputs, is_private_only: boolean, revertible_counter_hint: u32, app_public_inputs_0: PrivateCircuitPublicInputs, app_public_inputs_1: PrivateCircuitPublicInputs, app_public_inputs_2: PrivateCircuitPublicInputs, PrivateKernelInit3_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type PrivateKernelInnerInputType = { previous_kernel: PrivateKernelDataWithoutPublicInputs; previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs; private_call: PrivateCallDataWithoutPublicInputs; app_public_inputs: PrivateCircuitPublicInputs; }; export type PrivateKernelInnerReturnType = PrivateKernelCircuitPublicInputs; export declare function PrivateKernelInner(previous_kernel: PrivateKernelDataWithoutPublicInputs, previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs, private_call: PrivateCallDataWithoutPublicInputs, app_public_inputs: PrivateCircuitPublicInputs, PrivateKernelInner_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type PrivateKernelInner2InputType = { previous_kernel: PrivateKernelDataWithoutPublicInputs; previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs; private_call_0: PrivateCallDataWithoutPublicInputs; private_call_1: PrivateCallDataWithoutPublicInputs; app_public_inputs_0: PrivateCircuitPublicInputs; app_public_inputs_1: PrivateCircuitPublicInputs; }; export type PrivateKernelInner2ReturnType = PrivateKernelCircuitPublicInputs; export declare function PrivateKernelInner2(previous_kernel: PrivateKernelDataWithoutPublicInputs, previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs, private_call_0: PrivateCallDataWithoutPublicInputs, private_call_1: PrivateCallDataWithoutPublicInputs, app_public_inputs_0: PrivateCircuitPublicInputs, app_public_inputs_1: PrivateCircuitPublicInputs, PrivateKernelInner2_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type PrivateKernelInner3InputType = { previous_kernel: PrivateKernelDataWithoutPublicInputs; previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs; private_call_0: PrivateCallDataWithoutPublicInputs; private_call_1: PrivateCallDataWithoutPublicInputs; private_call_2: PrivateCallDataWithoutPublicInputs; app_public_inputs_0: PrivateCircuitPublicInputs; app_public_inputs_1: PrivateCircuitPublicInputs; app_public_inputs_2: PrivateCircuitPublicInputs; }; export type PrivateKernelInner3ReturnType = PrivateKernelCircuitPublicInputs; export declare function PrivateKernelInner3(previous_kernel: PrivateKernelDataWithoutPublicInputs, previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs, private_call_0: PrivateCallDataWithoutPublicInputs, private_call_1: PrivateCallDataWithoutPublicInputs, private_call_2: PrivateCallDataWithoutPublicInputs, app_public_inputs_0: PrivateCircuitPublicInputs, app_public_inputs_1: PrivateCircuitPublicInputs, app_public_inputs_2: PrivateCircuitPublicInputs, PrivateKernelInner3_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type PrivateKernelResetInputType = { previous_kernel: PrivateKernelDataWithoutPublicInputs; previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs; padded_side_effects: PaddedSideEffects; hints: PrivateKernelResetHints<64, 64, 64, 64, 64, 64>; }; export type PrivateKernelResetReturnType = PrivateKernelCircuitPublicInputs; export declare function PrivateKernelReset(previous_kernel: PrivateKernelDataWithoutPublicInputs, previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs, padded_side_effects: PaddedSideEffects, hints: PrivateKernelResetHints<64, 64, 64, 64, 64, 64>, PrivateKernelReset_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type PrivateKernelResetTailInputType = { previous_kernel: PrivateKernelDataWithoutPublicInputs; previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs; padded_side_effects: PaddedSideEffects; hints: PrivateKernelResetHints<64, 64, 64, 64, 64, 64>; expiration_timestamp_upper_bound: u64; }; export type PrivateKernelResetTailReturnType = PrivateToRollupKernelCircuitPublicInputs; export declare function PrivateKernelResetTail(previous_kernel: PrivateKernelDataWithoutPublicInputs, previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs, padded_side_effects: PaddedSideEffects, hints: PrivateKernelResetHints<64, 64, 64, 64, 64, 64>, expiration_timestamp_upper_bound: u64, PrivateKernelResetTail_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type PrivateKernelResetTailToPublicInputType = { previous_kernel: PrivateKernelDataWithoutPublicInputs; previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs; padded_side_effects: PaddedSideEffects; hints: PrivateKernelResetHints<64, 64, 64, 64, 64, 64>; padded_side_effect_amounts: PaddedSideEffectAmounts; expiration_timestamp_upper_bound: u64; }; export type PrivateKernelResetTailToPublicReturnType = PrivateToPublicKernelCircuitPublicInputs; export declare function PrivateKernelResetTailToPublic(previous_kernel: PrivateKernelDataWithoutPublicInputs, previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs, padded_side_effects: PaddedSideEffects, hints: PrivateKernelResetHints<64, 64, 64, 64, 64, 64>, padded_side_effect_amounts: PaddedSideEffectAmounts, expiration_timestamp_upper_bound: u64, PrivateKernelResetTailToPublic_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type HidingKernelToRollupInputType = { previous_kernel_public_inputs: PrivateToRollupKernelCircuitPublicInputs; previous_kernel_vk_data: VkData<163>; }; export type HidingKernelToRollupReturnType = PrivateToRollupKernelCircuitPublicInputs; export declare function HidingKernelToRollup(previous_kernel_public_inputs: PrivateToRollupKernelCircuitPublicInputs, previous_kernel_vk_data: VkData<163>, HidingKernelToRollup_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type HidingKernelToPublicInputType = { previous_kernel_public_inputs: PrivateToPublicKernelCircuitPublicInputs; previous_kernel_vk_data: VkData<163>; }; export type HidingKernelToPublicReturnType = PrivateToPublicKernelCircuitPublicInputs; export declare function HidingKernelToPublic(previous_kernel_public_inputs: PrivateToPublicKernelCircuitPublicInputs, previous_kernel_vk_data: VkData<163>, HidingKernelToPublic_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type ChonkVerifierPublicInputType = { inputs: PublicChonkVerifierPrivateInputs; }; export type ChonkVerifierPublicReturnType = PublicChonkVerifierPublicInputs; export declare function ChonkVerifierPublic(inputs: PublicChonkVerifierPrivateInputs, ChonkVerifierPublic_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type RollupTxBasePrivateInputType = { inputs: PrivateTxBaseRollupPrivateInputs; }; export type RollupTxBasePrivateReturnType = TxRollupPublicInputs; export declare function RollupTxBasePrivate(inputs: PrivateTxBaseRollupPrivateInputs, RollupTxBasePrivate_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type RollupTxBasePublicInputType = { inputs: PublicTxBaseRollupPrivateInputs; }; export type RollupTxBasePublicReturnType = TxRollupPublicInputs; export declare function RollupTxBasePublic(inputs: PublicTxBaseRollupPrivateInputs, RollupTxBasePublic_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type RollupTxMergeInputType = { inputs: TxMergeRollupPrivateInputs; }; export type RollupTxMergeReturnType = TxRollupPublicInputs; export declare function RollupTxMerge(inputs: TxMergeRollupPrivateInputs, RollupTxMerge_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type RollupBlockRootInputType = { inputs: BlockRootRollupPrivateInputs; }; export type RollupBlockRootReturnType = BlockRollupPublicInputs; export declare function RollupBlockRoot(inputs: BlockRootRollupPrivateInputs, RollupBlockRoot_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type RollupBlockRootSingleTxInputType = { inputs: BlockRootSingleTxRollupPrivateInputs; }; export type RollupBlockRootSingleTxReturnType = BlockRollupPublicInputs; export declare function RollupBlockRootSingleTx(inputs: BlockRootSingleTxRollupPrivateInputs, RollupBlockRootSingleTx_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type RollupBlockRootFirstInputType = { inputs: BlockRootFirstRollupPrivateInputs; }; export type RollupBlockRootFirstReturnType = BlockRollupPublicInputs; export declare function RollupBlockRootFirst(inputs: BlockRootFirstRollupPrivateInputs, RollupBlockRootFirst_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type RollupBlockRootFirstSingleTxInputType = { inputs: BlockRootSingleTxFirstRollupPrivateInputs; }; export type RollupBlockRootFirstSingleTxReturnType = BlockRollupPublicInputs; export declare function RollupBlockRootFirstSingleTx(inputs: BlockRootSingleTxFirstRollupPrivateInputs, RollupBlockRootFirstSingleTx_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type RollupBlockRootFirstEmptyTxInputType = { inputs: BlockRootEmptyTxFirstRollupPrivateInputs; }; export type RollupBlockRootFirstEmptyTxReturnType = BlockRollupPublicInputs; export declare function RollupBlockRootFirstEmptyTx(inputs: BlockRootEmptyTxFirstRollupPrivateInputs, RollupBlockRootFirstEmptyTx_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type RollupBlockMergeInputType = { inputs: BlockMergeRollupPrivateInputs; }; export type RollupBlockMergeReturnType = BlockRollupPublicInputs; export declare function RollupBlockMerge(inputs: BlockMergeRollupPrivateInputs, RollupBlockMerge_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type RollupCheckpointRootInputType = { inputs: CheckpointRootRollupPrivateInputs; }; export type RollupCheckpointRootReturnType = CheckpointRollupPublicInputs; export declare function RollupCheckpointRoot(inputs: CheckpointRootRollupPrivateInputs, RollupCheckpointRoot_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type RollupCheckpointRootSingleBlockInputType = { inputs: CheckpointRootSingleBlockRollupPrivateInputs; }; export type RollupCheckpointRootSingleBlockReturnType = CheckpointRollupPublicInputs; export declare function RollupCheckpointRootSingleBlock(inputs: CheckpointRootSingleBlockRollupPrivateInputs, RollupCheckpointRootSingleBlock_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type RollupCheckpointMergeInputType = { inputs: CheckpointMergeRollupPrivateInputs; }; export type RollupCheckpointMergeReturnType = CheckpointRollupPublicInputs; export declare function RollupCheckpointMerge(inputs: CheckpointMergeRollupPrivateInputs, RollupCheckpointMerge_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type RollupRootInputType = { inputs: RootRollupPrivateInputs; }; export type RollupRootReturnType = RootRollupPublicInputs; export declare function RollupRoot(inputs: RootRollupPrivateInputs, RollupRoot_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type TsTypesInputType = { _nullifier: Nullifier; _private_log_data: PrivateLogData; _log_hash: LogHash; _private_call_request: PrivateCallRequest; _public_call_request: PublicCallRequest; _key_validation_request: KeyValidationRequestAndSeparator; _note_hash_leaf_preimage: NoteHashLeafPreimage; _nullifier_leaf_preimage: NullifierLeafPreimage; _l2_to_l1_message: L2ToL1Message; _counted: Counted; _avm_circuit_public_inputs: AvmCircuitPublicInputs; }; export declare function TsTypes(_nullifier: Nullifier, _private_log_data: PrivateLogData, _log_hash: LogHash, _private_call_request: PrivateCallRequest, _public_call_request: PublicCallRequest, _key_validation_request: KeyValidationRequestAndSeparator, _note_hash_leaf_preimage: NoteHashLeafPreimage, _nullifier_leaf_preimage: NullifierLeafPreimage, _l2_to_l1_message: L2ToL1Message, _counted: Counted, _avm_circuit_public_inputs: AvmCircuitPublicInputs, TsTypes_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type PrivateKernelReset444444000InputType = { previous_kernel: PrivateKernelDataWithoutPublicInputs; previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs; padded_side_effects: PaddedSideEffects; hints: PrivateKernelResetHints<4, 4, 4, 4, 4, 4>; }; export type PrivateKernelReset444444000ReturnType = PrivateKernelCircuitPublicInputs; export declare function PrivateKernelReset444444000(previous_kernel: PrivateKernelDataWithoutPublicInputs, previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs, padded_side_effects: PaddedSideEffects, hints: PrivateKernelResetHints<4, 4, 4, 4, 4, 4>, PrivateKernelReset444444000_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type PrivateKernelResetTail0808404168InputType = { previous_kernel: PrivateKernelDataWithoutPublicInputs; previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs; padded_side_effects: PaddedSideEffects; hints: PrivateKernelResetHints<1, 8, 1, 8, 4, 1>; expiration_timestamp_upper_bound: u64; }; export type PrivateKernelResetTail0808404168ReturnType = PrivateToRollupKernelCircuitPublicInputs; export declare function PrivateKernelResetTail0808404168(previous_kernel: PrivateKernelDataWithoutPublicInputs, previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs, padded_side_effects: PaddedSideEffects, hints: PrivateKernelResetHints<1, 8, 1, 8, 4, 1>, expiration_timestamp_upper_bound: u64, PrivateKernelResetTail0808404168_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; export type PrivateKernelResetTailToPublic0808404168InputType = { previous_kernel: PrivateKernelDataWithoutPublicInputs; previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs; padded_side_effects: PaddedSideEffects; hints: PrivateKernelResetHints<1, 8, 1, 8, 4, 1>; padded_side_effect_amounts: PaddedSideEffectAmounts; expiration_timestamp_upper_bound: u64; }; export type PrivateKernelResetTailToPublic0808404168ReturnType = PrivateToPublicKernelCircuitPublicInputs; export declare function PrivateKernelResetTailToPublic0808404168(previous_kernel: PrivateKernelDataWithoutPublicInputs, previous_kernel_public_inputs: PrivateKernelCircuitPublicInputs, padded_side_effects: PaddedSideEffects, hints: PrivateKernelResetHints<1, 8, 1, 8, 4, 1>, padded_side_effect_amounts: PaddedSideEffectAmounts, expiration_timestamp_upper_bound: u64, PrivateKernelResetTailToPublic0808404168_circuit: CompiledCircuit, foreignCallHandler?: ForeignCallHandler): Promise; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQWtCLEtBQUssZUFBZSxFQUFFLEtBQUssa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUVuRyxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRTdELE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssRUFBRSxHQUFFLENBQUMsRUFBRSxHQUFHO0lBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtDQUFFLENBQUE7QUFDOUYsTUFBTSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUM7QUFDM0IsTUFBTSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUM7QUFDekIsTUFBTSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUM7QUFDMUIsTUFBTSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUM7QUFDekIsTUFBTSxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUM7QUFDeEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUM7QUFFekIsTUFBTSxNQUFNLHVCQUF1QixHQUFHO0lBQ3BDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbkMsWUFBWSxFQUFFLEtBQUssQ0FBQztJQUNwQixTQUFTLEVBQUUsS0FBSyxDQUFDO0NBQ2xCLENBQUE7QUFFRCxNQUFNLE1BQU0sa0JBQWtCLEdBQUc7SUFDL0IsUUFBUSxFQUFFLEtBQUssQ0FBQztJQUNoQixjQUFjLEVBQUUsS0FBSyxDQUFDO0lBQ3RCLFlBQVksRUFBRSxLQUFLLENBQUM7SUFDcEIsU0FBUyxFQUFFLEtBQUssQ0FBQztDQUNsQixDQUFBO0FBRUQsTUFBTSxNQUFNLHVCQUF1QixHQUFHO0lB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