@aztec/stdlib 3.0.0-canary.a9708bd → 3.0.0-manual.20251030
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +8 -8
- package/dest/abi/abi.js +1 -1
- package/dest/abi/contract_artifact.js +3 -0
- package/dest/abi/event_metadata_definition.d.ts +8 -0
- package/dest/abi/event_metadata_definition.d.ts.map +1 -0
- package/dest/abi/event_metadata_definition.js +1 -0
- package/dest/abi/function_call.d.ts +7 -2
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +6 -2
- package/dest/abi/index.d.ts +1 -0
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/avm/avm.d.ts +132 -73
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +10 -6
- package/dest/avm/avm_accumulated_data.d.ts +10 -21
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +19 -22
- package/dest/avm/avm_circuit_public_inputs.d.ts +30 -13
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +17 -6
- package/dest/avm/avm_proving_request.d.ts +96 -48
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/index.d.ts +1 -1
- package/dest/avm/index.d.ts.map +1 -1
- package/dest/avm/index.js +1 -1
- package/dest/avm/message_pack.d.ts +1 -0
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +28 -5
- package/dest/block/attestation_info.d.ts +30 -0
- package/dest/block/attestation_info.d.ts.map +1 -0
- package/dest/block/attestation_info.js +39 -0
- package/dest/block/body.d.ts +4 -1
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +17 -15
- package/dest/block/in_block.d.ts +5 -5
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/index.d.ts +4 -0
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +4 -0
- package/dest/block/l2_block.d.ts +21 -13
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +33 -10
- package/dest/block/l2_block_code_to_purge.d.ts +3 -14
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +23 -13
- package/dest/block/l2_block_header.d.ts +100 -0
- package/dest/block/l2_block_header.d.ts.map +1 -0
- package/dest/block/l2_block_header.js +146 -0
- package/dest/block/l2_block_info.d.ts +41 -0
- package/dest/block/l2_block_info.d.ts.map +1 -0
- package/dest/block/l2_block_info.js +40 -0
- package/dest/block/l2_block_source.d.ts +35 -433
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +0 -28
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +1 -1
- package/dest/block/proposal/attestations_and_signers.d.ts +48 -0
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -0
- package/dest/block/proposal/attestations_and_signers.js +99 -0
- package/dest/block/proposal/index.d.ts +1 -0
- package/dest/block/proposal/index.d.ts.map +1 -1
- package/dest/block/proposal/index.js +1 -0
- package/dest/block/published_l2_block.d.ts +27 -5
- package/dest/block/published_l2_block.d.ts.map +1 -1
- package/dest/block/published_l2_block.js +20 -7
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +3 -4
- package/dest/block/validate_block_result.d.ts +222 -0
- package/dest/block/validate_block_result.d.ts.map +1 -0
- package/dest/block/validate_block_result.js +83 -0
- package/dest/checkpoint/checkpoint_body.d.ts +4 -0
- package/dest/checkpoint/checkpoint_body.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_body.js +9 -0
- package/dest/checkpoint/index.d.ts +2 -0
- package/dest/checkpoint/index.d.ts.map +1 -0
- package/dest/checkpoint/index.js +1 -0
- package/dest/config/node-rpc-config.d.ts +2 -0
- package/dest/config/node-rpc-config.d.ts.map +1 -1
- package/dest/config/node-rpc-config.js +6 -0
- package/dest/contract/contract_address.d.ts +1 -1
- package/dest/contract/contract_address.js +1 -1
- package/dest/contract/contract_class_metadata.d.ts +8 -0
- package/dest/contract/contract_class_metadata.d.ts.map +1 -0
- package/dest/contract/contract_class_metadata.js +1 -0
- package/dest/contract/contract_instance.d.ts +9 -8
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +1 -2
- package/dest/contract/contract_metadata.d.ts +7 -0
- package/dest/contract/contract_metadata.d.ts.map +1 -0
- package/dest/contract/contract_metadata.js +1 -0
- package/dest/contract/index.d.ts +2 -0
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +2 -0
- package/dest/contract/interfaces/contract_class.d.ts +4 -4
- package/dest/contract/interfaces/contract_instance.d.ts +2 -2
- package/dest/epoch-helpers/index.d.ts +8 -2
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +9 -0
- package/dest/fees/transaction_fee.d.ts.map +1 -1
- package/dest/fees/transaction_fee.js +3 -0
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +18 -0
- package/dest/file-store/interface.d.ts +8 -2
- package/dest/file-store/interface.d.ts.map +1 -1
- package/dest/file-store/s3.d.ts +26 -0
- package/dest/file-store/s3.d.ts.map +1 -0
- package/dest/file-store/s3.js +252 -0
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +0 -3
- package/dest/interfaces/archiver.d.ts +43 -0
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +20 -4
- package/dest/interfaces/aztec-node-admin.d.ts +87 -40
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +7 -1
- package/dest/interfaces/aztec-node.d.ts +35 -2
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +8 -1
- package/dest/interfaces/block-builder.d.ts +7 -8
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/client.d.ts +0 -1
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +0 -1
- package/dest/interfaces/configs.d.ts +10 -0
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +3 -1
- package/dest/interfaces/epoch-prover.d.ts +29 -12
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +5 -0
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +2 -0
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +2 -1
- package/dest/interfaces/private_kernel_prover.d.ts +2 -2
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +349 -200
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +131 -113
- package/dest/interfaces/server.d.ts +1 -0
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +1 -0
- package/dest/interfaces/server_circuit_prover.d.ts +34 -34
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/slasher.d.ts +4 -0
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +1 -0
- package/dest/interfaces/tx_provider.d.ts +1 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +163 -0
- package/dest/interfaces/validator.d.ts.map +1 -0
- package/dest/interfaces/validator.js +18 -0
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -2
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts +4 -3
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/nullifier.d.ts +2 -2
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/nullifier.js +11 -11
- package/dest/kernel/private_call_data.d.ts +4 -24
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.js +4 -16
- package/dest/kernel/private_circuit_public_inputs.d.ts +5 -5
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_context_inputs.d.ts +2 -2
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +4 -4
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +3 -3
- package/dest/kernel/private_kernel_data.js +2 -2
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +5 -4
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -6
- package/dest/kernel/private_kernel_prover_output.d.ts +4 -4
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -0
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -1
- package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +2 -0
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -0
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -1
- package/dest/keys/derivation.d.ts +0 -2
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +3 -24
- package/dest/logs/contract_class_log.d.ts +1 -1
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +1 -3
- package/dest/logs/debug_log.d.ts +13 -0
- package/dest/logs/debug_log.d.ts.map +1 -0
- package/dest/logs/debug_log.js +26 -0
- package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
- package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/directional_app_tagging_secret.js +63 -0
- package/dest/logs/index.d.ts +3 -1
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +3 -1
- package/dest/logs/log_with_tx_data.d.ts +9 -12
- package/dest/logs/log_with_tx_data.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.js +18 -23
- package/dest/logs/pre_tag.d.ts +34 -0
- package/dest/logs/pre_tag.d.ts.map +1 -0
- package/dest/logs/pre_tag.js +7 -0
- package/dest/logs/public_log.d.ts +23 -10
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +117 -42
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +2 -4
- package/dest/messaging/inbox_leaf.d.ts +2 -0
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/inbox_leaf.js +3 -0
- package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +16 -18
- package/dest/noir/index.d.ts +11 -0
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/note/index.d.ts +1 -1
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +1 -1
- package/dest/note/notes_filter.d.ts +0 -5
- package/dest/note/notes_filter.d.ts.map +1 -1
- package/dest/note/notes_filter.js +0 -3
- package/dest/note/unique_note.d.ts +43 -0
- package/dest/note/unique_note.d.ts.map +1 -0
- package/dest/note/{extended_note.js → unique_note.js} +9 -48
- package/dest/p2p/block_attestation.d.ts +45 -9
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_attestation.js +37 -15
- package/dest/p2p/block_proposal.d.ts +7 -9
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +13 -14
- package/dest/p2p/consensus_payload.d.ts +35 -6
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +21 -8
- package/dest/p2p/gossipable.d.ts +6 -16
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +9 -21
- package/dest/p2p/signature_utils.d.ts +2 -1
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +1 -0
- package/dest/p2p/topic_type.d.ts +4 -8
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +14 -8
- package/dest/parity/index.d.ts +2 -3
- package/dest/parity/index.d.ts.map +1 -1
- package/dest/parity/index.js +2 -3
- package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +7 -7
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
- package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +10 -6
- package/dest/parity/parity_root_private_inputs.d.ts +39 -0
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
- package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
- package/dest/proofs/chonk_proof.d.ts +28 -0
- package/dest/proofs/chonk_proof.d.ts.map +1 -0
- package/dest/proofs/chonk_proof.js +101 -0
- package/dest/proofs/index.d.ts +2 -1
- package/dest/proofs/index.d.ts.map +1 -1
- package/dest/proofs/index.js +2 -1
- package/dest/proofs/proof_data.d.ts +21 -0
- package/dest/proofs/proof_data.d.ts.map +1 -0
- package/dest/proofs/proof_data.js +22 -0
- package/dest/proofs/proving_request_type.d.ts +17 -13
- package/dest/proofs/proving_request_type.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.js +17 -12
- package/dest/rollup/avm_proof_data.d.ts +2 -12
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.js +0 -24
- package/dest/rollup/base_rollup_hints.d.ts +17 -17
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +26 -26
- package/dest/rollup/block_constant_data.d.ts +24 -10
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.js +18 -10
- package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +17 -10
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/block_rollup_public_inputs.js +85 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
- package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
- package/dest/rollup/checkpoint_constant_data.js +55 -0
- package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +12 -11
- package/dest/rollup/checkpoint_header.d.ts.map +1 -0
- package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +14 -8
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +30 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +106 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +123 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
- package/dest/rollup/epoch_constant_data.d.ts +23 -6
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/epoch_constant_data.js +25 -12
- package/dest/rollup/index.d.ts +17 -16
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +17 -16
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +21 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.js +43 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +20 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.js +42 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_private_inputs.js +69 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_public_inputs.js +71 -0
- package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -38
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
- package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
- package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +11 -10
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +14 -14
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +15 -15
- package/dest/slashing/types.d.ts +1 -0
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +22 -0
- package/dest/snapshots/download.d.ts.map +1 -1
- package/dest/snapshots/download.js +58 -2
- package/dest/snapshots/upload.d.ts.map +1 -1
- package/dest/snapshots/upload.js +1 -0
- package/dest/stats/stats.d.ts +3 -3
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +43 -75
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +149 -171
- package/dest/tests/mocks.d.ts +16 -10
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +55 -33
- package/dest/trees/index.d.ts +0 -1
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +0 -1
- package/dest/trees/merkle_tree_id.d.ts +4 -4
- package/dest/trees/nullifier_membership_witness.d.ts +3 -3
- package/dest/tx/block_header.d.ts +12 -13
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +16 -21
- package/dest/tx/content_commitment.d.ts +1 -0
- package/dest/tx/content_commitment.d.ts.map +1 -1
- package/dest/tx/content_commitment.js +3 -0
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +0 -1
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +2 -1
- package/dest/tx/indexed_tx_effect.d.ts +3 -3
- package/dest/tx/partial_state_reference.d.ts +1 -0
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +3 -0
- package/dest/tx/private_execution_result.d.ts +7 -2
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +10 -6
- package/dest/tx/private_tx_constant_data.d.ts +60 -0
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
- package/dest/tx/private_tx_constant_data.js +69 -0
- package/dest/tx/processed_tx.d.ts +2 -3
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +3 -8
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +0 -2
- package/dest/tx/protocol_contracts.d.ts +29 -0
- package/dest/tx/protocol_contracts.d.ts.map +1 -0
- package/dest/tx/protocol_contracts.js +49 -0
- package/dest/tx/proven_tx.d.ts +7 -7
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +8 -8
- package/dest/tx/simulated_tx.d.ts +3 -3
- package/dest/tx/simulated_tx.js +2 -2
- package/dest/tx/state_reference.d.ts +1 -0
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +4 -1
- package/dest/tx/tx.d.ts +9 -12
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +21 -22
- package/dest/tx/tx_constant_data.d.ts +6 -38
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +11 -20
- package/dest/tx/tx_effect.d.ts +3 -36
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +63 -202
- package/dest/tx/validator/error_texts.d.ts +1 -1
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +1 -1
- package/dest/update-checker/update-checker.d.ts +1 -1
- package/dest/update-checker/update-checker.d.ts.map +1 -1
- package/dest/update-checker/update-checker.js +1 -1
- package/dest/validators/schemas.d.ts +42 -4
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +5 -4
- package/dest/validators/types.d.ts +8 -10
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.d.ts +2 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +18 -13
- package/dest/world-state/index.d.ts +2 -0
- package/dest/world-state/index.d.ts.map +1 -0
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +22 -0
- package/dest/world-state/world_state_revision.d.ts.map +1 -0
- package/dest/world-state/world_state_revision.js +21 -0
- package/dest/zkpassport/index.d.ts +17 -11
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/dest/zkpassport/index.js +21 -15
- package/package.json +15 -11
- package/src/abi/abi.ts +1 -1
- package/src/abi/contract_artifact.ts +3 -0
- package/src/abi/event_metadata_definition.ts +8 -0
- package/src/abi/function_call.ts +5 -1
- package/src/abi/index.ts +1 -0
- package/src/avm/avm.ts +15 -7
- package/src/avm/avm_accumulated_data.ts +25 -29
- package/src/avm/avm_circuit_public_inputs.ts +21 -0
- package/src/avm/index.ts +1 -1
- package/src/avm/message_pack.ts +25 -1
- package/src/block/attestation_info.ts +62 -0
- package/src/block/body.ts +25 -23
- package/src/block/index.ts +4 -0
- package/src/block/l2_block.ts +39 -19
- package/src/block/l2_block_code_to_purge.ts +30 -31
- package/src/block/l2_block_header.ts +232 -0
- package/src/block/l2_block_info.ts +63 -0
- package/src/block/l2_block_source.ts +38 -56
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
- package/src/block/proposal/attestations_and_signers.ts +121 -0
- package/src/block/proposal/index.ts +1 -0
- package/src/block/published_l2_block.ts +37 -15
- package/src/block/test/l2_tips_store_test_suite.ts +7 -7
- package/src/block/validate_block_result.ts +122 -0
- package/src/checkpoint/checkpoint_body.ts +10 -0
- package/src/checkpoint/index.ts +1 -0
- package/src/config/node-rpc-config.ts +9 -0
- package/src/contract/contract_address.ts +1 -1
- package/src/contract/contract_class_metadata.ts +8 -0
- package/src/contract/contract_instance.ts +11 -10
- package/src/contract/contract_metadata.ts +7 -0
- package/src/contract/index.ts +2 -0
- package/src/contract/interfaces/contract_class.ts +1 -1
- package/src/epoch-helpers/index.ts +24 -2
- package/src/fees/transaction_fee.ts +11 -0
- package/src/file-store/factory.ts +15 -0
- package/src/file-store/interface.ts +8 -2
- package/src/file-store/s3.ts +254 -0
- package/src/hash/hash.ts +0 -4
- package/src/interfaces/archiver.ts +49 -4
- package/src/interfaces/aztec-node-admin.ts +17 -1
- package/src/interfaces/aztec-node.ts +53 -2
- package/src/interfaces/block-builder.ts +11 -12
- package/src/interfaces/client.ts +0 -1
- package/src/interfaces/configs.ts +6 -0
- package/src/interfaces/epoch-prover.ts +38 -14
- package/src/interfaces/merkle_tree_operations.ts +6 -0
- package/src/interfaces/p2p.ts +4 -0
- package/src/interfaces/private_kernel_prover.ts +2 -2
- package/src/interfaces/proving-job.ts +218 -134
- package/src/interfaces/server.ts +1 -0
- package/src/interfaces/server_circuit_prover.ts +89 -61
- package/src/interfaces/slasher.ts +2 -0
- package/src/interfaces/tx_provider.ts +1 -0
- package/src/interfaces/validator.ts +95 -0
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +3 -2
- package/src/kernel/hints/nullifier_read_request_hints.ts +3 -3
- package/src/kernel/nullifier.ts +8 -8
- package/src/kernel/private_call_data.ts +2 -21
- package/src/kernel/private_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_context_inputs.ts +2 -2
- package/src/kernel/private_kernel_circuit_public_inputs.ts +4 -4
- package/src/kernel/private_kernel_data.ts +2 -2
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +5 -4
- package/src/kernel/private_kernel_prover_output.ts +4 -4
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +8 -2
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +9 -0
- package/src/keys/derivation.ts +3 -29
- package/src/logs/contract_class_log.ts +2 -3
- package/src/logs/debug_log.ts +32 -0
- package/src/logs/directional_app_tagging_secret.ts +77 -0
- package/src/logs/index.ts +3 -1
- package/src/logs/log_with_tx_data.ts +14 -24
- package/src/logs/pre_tag.ts +25 -0
- package/src/logs/public_log.ts +120 -58
- package/src/logs/shared_secret_derivation.ts +2 -4
- package/src/messaging/inbox_leaf.ts +5 -0
- package/src/messaging/l2_to_l1_membership.ts +20 -26
- package/src/noir/index.ts +11 -0
- package/src/note/index.ts +1 -1
- package/src/note/notes_filter.ts +0 -7
- package/src/note/{extended_note.ts → unique_note.ts} +14 -75
- package/src/p2p/block_attestation.ts +46 -15
- package/src/p2p/block_proposal.ts +15 -18
- package/src/p2p/consensus_payload.ts +30 -10
- package/src/p2p/gossipable.ts +10 -28
- package/src/p2p/signature_utils.ts +1 -0
- package/src/p2p/topic_type.ts +15 -8
- package/src/parity/index.ts +2 -3
- package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +13 -11
- package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
- package/src/proofs/chonk_proof.ts +118 -0
- package/src/proofs/index.ts +2 -1
- package/src/proofs/proof_data.ts +36 -0
- package/src/proofs/proving_request_type.ts +14 -10
- package/src/rollup/avm_proof_data.ts +2 -31
- package/src/rollup/base_rollup_hints.ts +22 -22
- package/src/rollup/block_constant_data.ts +16 -6
- package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
- package/src/rollup/block_rollup_public_inputs.ts +123 -0
- package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
- package/src/rollup/checkpoint_constant_data.ts +84 -0
- package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +40 -15
- package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
- package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +30 -52
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
- package/src/rollup/epoch_constant_data.ts +28 -10
- package/src/rollup/index.ts +17 -16
- package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
- package/src/rollup/public_chonk_verifier_private_inputs.ts +54 -0
- package/src/rollup/public_chonk_verifier_public_inputs.ts +53 -0
- package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
- package/src/rollup/root_rollup_private_inputs.ts +90 -0
- package/src/rollup/root_rollup_public_inputs.ts +99 -0
- package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
- package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
- package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +13 -13
- package/src/slashing/types.ts +23 -0
- package/src/snapshots/download.ts +66 -2
- package/src/snapshots/upload.ts +1 -0
- package/src/stats/stats.ts +21 -15
- package/src/tests/factories.ts +226 -283
- package/src/tests/mocks.ts +90 -60
- package/src/trees/index.ts +0 -1
- package/src/tx/block_header.ts +17 -32
- package/src/tx/content_commitment.ts +4 -0
- package/src/tx/global_variables.ts +0 -1
- package/src/tx/index.ts +2 -1
- package/src/tx/partial_state_reference.ts +8 -0
- package/src/tx/private_execution_result.ts +9 -3
- package/src/tx/private_tx_constant_data.ts +94 -0
- package/src/tx/processed_tx.ts +5 -11
- package/src/tx/profiling.ts +0 -2
- package/src/tx/protocol_contracts.ts +70 -0
- package/src/tx/proven_tx.ts +6 -6
- package/src/tx/simulated_tx.ts +2 -2
- package/src/tx/state_reference.ts +5 -1
- package/src/tx/tx.ts +21 -22
- package/src/tx/tx_constant_data.ts +8 -21
- package/src/tx/tx_effect.ts +64 -213
- package/src/tx/validator/error_texts.ts +1 -1
- package/src/update-checker/update-checker.ts +1 -1
- package/src/validators/schemas.ts +6 -4
- package/src/validators/types.ts +9 -10
- package/src/versioning/versioning.ts +20 -15
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +21 -0
- package/src/zkpassport/index.ts +42 -30
- package/dest/avm/public_data_hint.d.ts +0 -16
- package/dest/avm/public_data_hint.d.ts.map +0 -1
- package/dest/avm/public_data_hint.js +0 -27
- package/dest/interfaces/pxe.d.ts +0 -329
- package/dest/interfaces/pxe.d.ts.map +0 -1
- package/dest/interfaces/pxe.js +0 -100
- package/dest/logs/indexed_tagging_secret.d.ts +0 -28
- package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
- package/dest/logs/indexed_tagging_secret.js +0 -50
- package/dest/note/extended_note.d.ts +0 -111
- package/dest/note/extended_note.d.ts.map +0 -1
- package/dest/parity/base_parity_inputs.d.ts.map +0 -1
- package/dest/parity/root_parity_input.d.ts +0 -52
- package/dest/parity/root_parity_input.d.ts.map +0 -1
- package/dest/parity/root_parity_input.js +0 -50
- package/dest/parity/root_parity_inputs.d.ts +0 -37
- package/dest/parity/root_parity_inputs.d.ts.map +0 -1
- package/dest/proofs/client_ivc_proof.d.ts +0 -18
- package/dest/proofs/client_ivc_proof.d.ts.map +0 -1
- package/dest/proofs/client_ivc_proof.js +0 -41
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
- package/dest/rollup/block_root_rollup.d.ts +0 -283
- package/dest/rollup/block_root_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_rollup.js +0 -306
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
- package/dest/rollup/merge_rollup.d.ts.map +0 -1
- package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
- package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
- package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
- package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_block_data.js +0 -37
- package/dest/rollup/previous_rollup_data.d.ts +0 -47
- package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_data.js +0 -37
- package/dest/rollup/private_base_rollup_inputs.d.ts +0 -21
- package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/private_base_rollup_inputs.js +0 -44
- package/dest/rollup/private_tube_data.d.ts +0 -15
- package/dest/rollup/private_tube_data.d.ts.map +0 -1
- package/dest/rollup/private_tube_data.js +0 -25
- package/dest/rollup/public_base_rollup_inputs.d.ts +0 -23
- package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/public_base_rollup_inputs.js +0 -48
- package/dest/rollup/public_tube_data.d.ts +0 -15
- package/dest/rollup/public_tube_data.d.ts.map +0 -1
- package/dest/rollup/public_tube_data.js +0 -25
- package/dest/rollup/root_rollup.d.ts +0 -106
- package/dest/rollup/root_rollup.d.ts.map +0 -1
- package/dest/rollup/root_rollup.js +0 -147
- package/dest/rollup/state_diff_hints.d.ts.map +0 -1
- package/dest/rollup/state_diff_hints.js +0 -85
- package/dest/rollup/tube_inputs.d.ts +0 -43
- package/dest/rollup/tube_inputs.d.ts.map +0 -1
- package/dest/rollup/tube_inputs.js +0 -63
- package/dest/trees/protocol_contract_leaf.d.ts +0 -84
- package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
- package/dest/trees/protocol_contract_leaf.js +0 -100
- package/dest/tx/proposed_block_header.d.ts.map +0 -1
- package/src/avm/public_data_hint.ts +0 -38
- package/src/interfaces/pxe.ts +0 -532
- package/src/logs/indexed_tagging_secret.ts +0 -48
- package/src/parity/root_parity_input.ts +0 -71
- package/src/proofs/client_ivc_proof.ts +0 -51
- package/src/rollup/block_root_rollup.ts +0 -380
- package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
- package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
- package/src/rollup/previous_rollup_block_data.ts +0 -48
- package/src/rollup/previous_rollup_data.ts +0 -48
- package/src/rollup/private_base_rollup_inputs.ts +0 -53
- package/src/rollup/private_tube_data.ts +0 -35
- package/src/rollup/public_base_rollup_inputs.ts +0 -59
- package/src/rollup/public_tube_data.ts +0 -35
- package/src/rollup/root_rollup.ts +0 -195
- package/src/rollup/tube_inputs.ts +0 -77
- package/src/trees/protocol_contract_leaf.ts +0 -128
|
@@ -3,24 +3,36 @@ import type {
|
|
|
3
3
|
NESTED_RECURSIVE_PROOF_LENGTH,
|
|
4
4
|
NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
5
5
|
RECURSIVE_PROOF_LENGTH,
|
|
6
|
-
TUBE_PROOF_LENGTH,
|
|
7
6
|
} from '@aztec/constants';
|
|
8
7
|
|
|
9
8
|
import type { AvmCircuitInputs } from '../avm/avm.js';
|
|
10
|
-
import type {
|
|
9
|
+
import type { ParityBasePrivateInputs } from '../parity/parity_base_private_inputs.js';
|
|
11
10
|
import type { ParityPublicInputs } from '../parity/parity_public_inputs.js';
|
|
12
|
-
import type {
|
|
13
|
-
import type {
|
|
14
|
-
import type {
|
|
15
|
-
import type {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
import type {
|
|
23
|
-
import type {
|
|
11
|
+
import type { ParityRootPrivateInputs } from '../parity/parity_root_private_inputs.js';
|
|
12
|
+
import type { BlockMergeRollupPrivateInputs } from '../rollup/block_merge_rollup_private_inputs.js';
|
|
13
|
+
import type { BlockRollupPublicInputs } from '../rollup/block_rollup_public_inputs.js';
|
|
14
|
+
import type {
|
|
15
|
+
BlockRootEmptyTxFirstRollupPrivateInputs,
|
|
16
|
+
BlockRootFirstRollupPrivateInputs,
|
|
17
|
+
BlockRootRollupPrivateInputs,
|
|
18
|
+
BlockRootSingleTxFirstRollupPrivateInputs,
|
|
19
|
+
BlockRootSingleTxRollupPrivateInputs,
|
|
20
|
+
} from '../rollup/block_root_rollup_private_inputs.js';
|
|
21
|
+
import type { CheckpointMergeRollupPrivateInputs } from '../rollup/checkpoint_merge_rollup_private_inputs.js';
|
|
22
|
+
import type { CheckpointRollupPublicInputs } from '../rollup/checkpoint_rollup_public_inputs.js';
|
|
23
|
+
import type {
|
|
24
|
+
CheckpointPaddingRollupPrivateInputs,
|
|
25
|
+
CheckpointRootRollupPrivateInputs,
|
|
26
|
+
CheckpointRootSingleBlockRollupPrivateInputs,
|
|
27
|
+
} from '../rollup/checkpoint_root_rollup_private_inputs.js';
|
|
28
|
+
import type { PrivateTxBaseRollupPrivateInputs } from '../rollup/private_tx_base_rollup_private_inputs.js';
|
|
29
|
+
import type { PublicChonkVerifierPrivateInputs } from '../rollup/public_chonk_verifier_private_inputs.js';
|
|
30
|
+
import type { PublicChonkVerifierPublicInputs } from '../rollup/public_chonk_verifier_public_inputs.js';
|
|
31
|
+
import type { PublicTxBaseRollupPrivateInputs } from '../rollup/public_tx_base_rollup_private_inputs.js';
|
|
32
|
+
import type { RootRollupPrivateInputs } from '../rollup/root_rollup_private_inputs.js';
|
|
33
|
+
import type { RootRollupPublicInputs } from '../rollup/root_rollup_public_inputs.js';
|
|
34
|
+
import type { TxMergeRollupPrivateInputs } from '../rollup/tx_merge_rollup_private_inputs.js';
|
|
35
|
+
import type { TxRollupPublicInputs } from '../rollup/tx_rollup_public_inputs.js';
|
|
24
36
|
import type { Tx } from '../tx/tx.js';
|
|
25
37
|
import type { ProofAndVerificationKey, PublicInputsAndRecursiveProof } from './proving-job.js';
|
|
26
38
|
|
|
@@ -33,7 +45,7 @@ export interface ServerCircuitProver {
|
|
|
33
45
|
* @param input - Input to the circuit.
|
|
34
46
|
*/
|
|
35
47
|
getBaseParityProof(
|
|
36
|
-
inputs:
|
|
48
|
+
inputs: ParityBasePrivateInputs,
|
|
37
49
|
signal?: AbortSignal,
|
|
38
50
|
epochNumber?: number,
|
|
39
51
|
): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
|
|
@@ -43,103 +55,119 @@ export interface ServerCircuitProver {
|
|
|
43
55
|
* @param input - Input to the circuit.
|
|
44
56
|
*/
|
|
45
57
|
getRootParityProof(
|
|
46
|
-
inputs:
|
|
58
|
+
inputs: ParityRootPrivateInputs,
|
|
47
59
|
signal?: AbortSignal,
|
|
48
60
|
epochNumber?: number,
|
|
49
61
|
): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>>;
|
|
50
62
|
|
|
63
|
+
getPublicChonkVerifierProof(
|
|
64
|
+
inputs: PublicChonkVerifierPrivateInputs,
|
|
65
|
+
signal?: AbortSignal,
|
|
66
|
+
epochNumber?: number,
|
|
67
|
+
): Promise<
|
|
68
|
+
PublicInputsAndRecursiveProof<PublicChonkVerifierPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
69
|
+
>;
|
|
70
|
+
|
|
51
71
|
/**
|
|
52
72
|
* Creates a proof for the given input.
|
|
53
73
|
* @param input - Input to the circuit.
|
|
54
74
|
*/
|
|
55
|
-
|
|
56
|
-
baseRollupInput:
|
|
75
|
+
getPrivateTxBaseRollupProof(
|
|
76
|
+
baseRollupInput: PrivateTxBaseRollupPrivateInputs,
|
|
57
77
|
signal?: AbortSignal,
|
|
58
78
|
epochNumber?: number,
|
|
59
|
-
): Promise<
|
|
60
|
-
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
61
|
-
>;
|
|
79
|
+
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
62
80
|
|
|
63
|
-
|
|
64
|
-
inputs:
|
|
81
|
+
getPublicTxBaseRollupProof(
|
|
82
|
+
inputs: PublicTxBaseRollupPrivateInputs,
|
|
65
83
|
signal?: AbortSignal,
|
|
66
84
|
epochNumber?: number,
|
|
67
|
-
): Promise<
|
|
68
|
-
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
69
|
-
>;
|
|
85
|
+
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
70
86
|
|
|
71
87
|
/**
|
|
72
|
-
*
|
|
88
|
+
* Creates a proof for the given input.
|
|
73
89
|
* @param input - Input to the circuit.
|
|
74
90
|
*/
|
|
75
|
-
|
|
76
|
-
|
|
91
|
+
getTxMergeRollupProof(
|
|
92
|
+
input: TxMergeRollupPrivateInputs,
|
|
77
93
|
signal?: AbortSignal,
|
|
78
94
|
epochNumber?: number,
|
|
79
|
-
): Promise<
|
|
95
|
+
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
80
96
|
|
|
81
97
|
/**
|
|
82
98
|
* Creates a proof for the given input.
|
|
83
99
|
* @param input - Input to the circuit.
|
|
84
100
|
*/
|
|
85
|
-
|
|
86
|
-
input:
|
|
101
|
+
getBlockRootFirstRollupProof(
|
|
102
|
+
input: BlockRootFirstRollupPrivateInputs,
|
|
87
103
|
signal?: AbortSignal,
|
|
88
104
|
epochNumber?: number,
|
|
89
|
-
): Promise<
|
|
90
|
-
|
|
91
|
-
|
|
105
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
106
|
+
|
|
107
|
+
getBlockRootSingleTxFirstRollupProof(
|
|
108
|
+
input: BlockRootSingleTxFirstRollupPrivateInputs,
|
|
109
|
+
signal?: AbortSignal,
|
|
110
|
+
epochNumber?: number,
|
|
111
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
112
|
+
|
|
113
|
+
getBlockRootEmptyTxFirstRollupProof(
|
|
114
|
+
input: BlockRootEmptyTxFirstRollupPrivateInputs,
|
|
115
|
+
signal?: AbortSignal,
|
|
116
|
+
epochNumber?: number,
|
|
117
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
118
|
+
|
|
119
|
+
getBlockRootRollupProof(
|
|
120
|
+
input: BlockRootRollupPrivateInputs,
|
|
121
|
+
signal?: AbortSignal,
|
|
122
|
+
epochNumber?: number,
|
|
123
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
124
|
+
|
|
125
|
+
getBlockRootSingleTxRollupProof(
|
|
126
|
+
input: BlockRootSingleTxRollupPrivateInputs,
|
|
127
|
+
signal?: AbortSignal,
|
|
128
|
+
epochNumber?: number,
|
|
129
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
92
130
|
|
|
93
131
|
/**
|
|
94
132
|
* Creates a proof for the given input.
|
|
95
133
|
* @param input - Input to the circuit.
|
|
96
134
|
*/
|
|
97
|
-
|
|
98
|
-
input:
|
|
135
|
+
getBlockMergeRollupProof(
|
|
136
|
+
input: BlockMergeRollupPrivateInputs,
|
|
99
137
|
signal?: AbortSignal,
|
|
100
138
|
epochNumber?: number,
|
|
101
|
-
): Promise<
|
|
102
|
-
PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
103
|
-
>;
|
|
139
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
104
140
|
|
|
105
|
-
|
|
106
|
-
input:
|
|
141
|
+
getCheckpointRootRollupProof(
|
|
142
|
+
input: CheckpointRootRollupPrivateInputs,
|
|
107
143
|
signal?: AbortSignal,
|
|
108
144
|
epochNumber?: number,
|
|
109
145
|
): Promise<
|
|
110
|
-
PublicInputsAndRecursiveProof<
|
|
146
|
+
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
111
147
|
>;
|
|
112
148
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
* @param input - Input to the circuit.
|
|
116
|
-
*/
|
|
117
|
-
getEmptyBlockRootRollupProof(
|
|
118
|
-
input: EmptyBlockRootRollupInputs,
|
|
149
|
+
getCheckpointRootSingleBlockRollupProof(
|
|
150
|
+
input: CheckpointRootSingleBlockRollupPrivateInputs,
|
|
119
151
|
signal?: AbortSignal,
|
|
120
152
|
epochNumber?: number,
|
|
121
153
|
): Promise<
|
|
122
|
-
PublicInputsAndRecursiveProof<
|
|
154
|
+
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
123
155
|
>;
|
|
124
156
|
|
|
125
|
-
|
|
126
|
-
input:
|
|
157
|
+
getCheckpointPaddingRollupProof(
|
|
158
|
+
input: CheckpointPaddingRollupPrivateInputs,
|
|
127
159
|
signal?: AbortSignal,
|
|
128
160
|
epochNumber?: number,
|
|
129
161
|
): Promise<
|
|
130
|
-
PublicInputsAndRecursiveProof<
|
|
162
|
+
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
131
163
|
>;
|
|
132
164
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
* @param input - Input to the circuit.
|
|
136
|
-
*/
|
|
137
|
-
getBlockMergeRollupProof(
|
|
138
|
-
input: BlockMergeRollupInputs,
|
|
165
|
+
getCheckpointMergeRollupProof(
|
|
166
|
+
input: CheckpointMergeRollupPrivateInputs,
|
|
139
167
|
signal?: AbortSignal,
|
|
140
168
|
epochNumber?: number,
|
|
141
169
|
): Promise<
|
|
142
|
-
PublicInputsAndRecursiveProof<
|
|
170
|
+
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
143
171
|
>;
|
|
144
172
|
|
|
145
173
|
/**
|
|
@@ -147,7 +175,7 @@ export interface ServerCircuitProver {
|
|
|
147
175
|
* @param input - Input to the circuit.
|
|
148
176
|
*/
|
|
149
177
|
getRootRollupProof(
|
|
150
|
-
input:
|
|
178
|
+
input: RootRollupPrivateInputs,
|
|
151
179
|
signal?: AbortSignal,
|
|
152
180
|
epochNumber?: number,
|
|
153
181
|
): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>>;
|
|
@@ -24,6 +24,7 @@ export interface SlasherConfig {
|
|
|
24
24
|
slashOffenseExpirationRounds: number; // Number of rounds after which pending offenses expire
|
|
25
25
|
slashMaxPayloadSize: number; // Maximum number of offenses to include in a single slash payload
|
|
26
26
|
slashGracePeriodL2Slots: number; // Number of L2 slots to wait after genesis before slashing for most offenses
|
|
27
|
+
slashExecuteRoundsLookBack: number; // How many rounds to look back when searching for a round to execute
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
export const SlasherConfigSchema = z.object({
|
|
@@ -44,5 +45,6 @@ export const SlasherConfigSchema = z.object({
|
|
|
44
45
|
slashMaxPayloadSize: z.number(),
|
|
45
46
|
slashGracePeriodL2Slots: z.number(),
|
|
46
47
|
slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
|
|
48
|
+
slashExecuteRoundsLookBack: z.number(),
|
|
47
49
|
slashSelfAllowed: z.boolean().optional(),
|
|
48
50
|
}) satisfies ZodFor<SlasherConfig>;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { SecretValue } from '@aztec/foundation/config';
|
|
2
|
+
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
|
+
import type { Signature } from '@aztec/foundation/eth-signature';
|
|
4
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
+
import { type ZodFor, schemas } from '@aztec/foundation/schemas';
|
|
6
|
+
import type { SequencerConfig, SlasherConfig } from '@aztec/stdlib/interfaces/server';
|
|
7
|
+
import type { BlockAttestation, BlockProposal, BlockProposalOptions } from '@aztec/stdlib/p2p';
|
|
8
|
+
import type { StateReference, Tx } from '@aztec/stdlib/tx';
|
|
9
|
+
|
|
10
|
+
import type { PeerId } from '@libp2p/interface';
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
|
|
13
|
+
import type { CommitteeAttestationsAndSigners } from '../block/index.js';
|
|
14
|
+
import type { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
15
|
+
import { AllowedElementSchema } from './allowed_element.js';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Validator client configuration
|
|
19
|
+
*/
|
|
20
|
+
export interface ValidatorClientConfig {
|
|
21
|
+
/** The private keys of the validators participating in attestation duties */
|
|
22
|
+
validatorPrivateKeys?: SecretValue<`0x${string}`[]>;
|
|
23
|
+
|
|
24
|
+
/** The addresses of the validators to use with remote signers */
|
|
25
|
+
validatorAddresses?: EthAddress[];
|
|
26
|
+
|
|
27
|
+
/** Do not run the validator */
|
|
28
|
+
disableValidator: boolean;
|
|
29
|
+
|
|
30
|
+
/** Temporarily disable these specific validator addresses */
|
|
31
|
+
disabledValidators: EthAddress[];
|
|
32
|
+
|
|
33
|
+
/** Interval between polling for new attestations from peers */
|
|
34
|
+
attestationPollingIntervalMs: number;
|
|
35
|
+
|
|
36
|
+
/** Whether to re-execute transactions in a block proposal before attesting */
|
|
37
|
+
validatorReexecute: boolean;
|
|
38
|
+
|
|
39
|
+
/** Will re-execute until this many milliseconds are left in the slot */
|
|
40
|
+
validatorReexecuteDeadlineMs: number;
|
|
41
|
+
|
|
42
|
+
/** Whether to always reexecute block proposals, even for non-validator nodes or when out of the currnet committee */
|
|
43
|
+
alwaysReexecuteBlockProposals?: boolean;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export type ValidatorClientFullConfig = ValidatorClientConfig &
|
|
47
|
+
Pick<SequencerConfig, 'txPublicSetupAllowList' | 'broadcastInvalidBlockProposal'> &
|
|
48
|
+
Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty'> & {
|
|
49
|
+
/**
|
|
50
|
+
* Whether transactions are disabled for this node
|
|
51
|
+
* @remarks This should match the property in P2PConfig. It's not picked from there to avoid circular dependencies.
|
|
52
|
+
*/
|
|
53
|
+
disableTransactions?: boolean;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const ValidatorClientConfigSchema = z.object({
|
|
57
|
+
validatorAddresses: z.array(schemas.EthAddress).optional(),
|
|
58
|
+
disableValidator: z.boolean(),
|
|
59
|
+
disabledValidators: z.array(schemas.EthAddress),
|
|
60
|
+
attestationPollingIntervalMs: z.number().min(0),
|
|
61
|
+
validatorReexecute: z.boolean(),
|
|
62
|
+
validatorReexecuteDeadlineMs: z.number().min(0),
|
|
63
|
+
alwaysReexecuteBlockProposals: z.boolean().optional(),
|
|
64
|
+
}) satisfies ZodFor<Omit<ValidatorClientConfig, 'validatorPrivateKeys'>>;
|
|
65
|
+
|
|
66
|
+
export const ValidatorClientFullConfigSchema = ValidatorClientConfigSchema.extend({
|
|
67
|
+
txPublicSetupAllowList: z.array(AllowedElementSchema).optional(),
|
|
68
|
+
broadcastInvalidBlockProposal: z.boolean().optional(),
|
|
69
|
+
slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
|
|
70
|
+
disableTransactions: z.boolean().optional(),
|
|
71
|
+
}) satisfies ZodFor<Omit<ValidatorClientFullConfig, 'validatorPrivateKeys'>>;
|
|
72
|
+
|
|
73
|
+
export interface Validator {
|
|
74
|
+
start(): Promise<void>;
|
|
75
|
+
updateConfig(config: Partial<ValidatorClientFullConfig>): void;
|
|
76
|
+
|
|
77
|
+
// Block validation responsibilities
|
|
78
|
+
createBlockProposal(
|
|
79
|
+
blockNumber: number,
|
|
80
|
+
header: CheckpointHeader,
|
|
81
|
+
archive: Fr,
|
|
82
|
+
stateReference: StateReference,
|
|
83
|
+
txs: Tx[],
|
|
84
|
+
proposerAddress: EthAddress | undefined,
|
|
85
|
+
options: BlockProposalOptions,
|
|
86
|
+
): Promise<BlockProposal | undefined>;
|
|
87
|
+
attestToProposal(proposal: BlockProposal, sender: PeerId): Promise<BlockAttestation[] | undefined>;
|
|
88
|
+
|
|
89
|
+
broadcastBlockProposal(proposal: BlockProposal): Promise<void>;
|
|
90
|
+
collectAttestations(proposal: BlockProposal, required: number, deadline: Date): Promise<BlockAttestation[]>;
|
|
91
|
+
signAttestationsAndSigners(
|
|
92
|
+
attestationsAndSigners: CommitteeAttestationsAndSigners,
|
|
93
|
+
proposer: EthAddress,
|
|
94
|
+
): Promise<Signature>;
|
|
95
|
+
}
|
|
@@ -4,9 +4,10 @@ import {
|
|
|
4
4
|
type NULLIFIER_TREE_HEIGHT,
|
|
5
5
|
} from '@aztec/constants';
|
|
6
6
|
import type { Fr } from '@aztec/foundation/fields';
|
|
7
|
-
import {
|
|
7
|
+
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
8
8
|
|
|
9
9
|
import { siloNullifier } from '../../hash/hash.js';
|
|
10
|
+
import type { NullifierLeafPreimage } from '../../trees/nullifier_leaf.js';
|
|
10
11
|
import type { ClaimedLengthArray } from '../claimed_length_array.js';
|
|
11
12
|
import type { ScopedNullifier } from '../nullifier.js';
|
|
12
13
|
import { NullifierReadRequestHintsBuilder } from './nullifier_read_request_hints.js';
|
|
@@ -24,7 +25,7 @@ export function isValidNullifierReadRequest(readRequest: ScopedReadRequest, null
|
|
|
24
25
|
|
|
25
26
|
interface NullifierMembershipWitnessWithPreimage {
|
|
26
27
|
membershipWitness: MembershipWitness<typeof NULLIFIER_TREE_HEIGHT>;
|
|
27
|
-
leafPreimage:
|
|
28
|
+
leafPreimage: NullifierLeafPreimage;
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
export function getNullifierReadRequestResetActions(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MAX_NULLIFIER_READ_REQUESTS_PER_TX, NULLIFIER_TREE_HEIGHT } from '@aztec/constants';
|
|
2
2
|
import { makeTuple } from '@aztec/foundation/array';
|
|
3
3
|
import type { BufferReader } from '@aztec/foundation/serialize';
|
|
4
|
-
import type { MembershipWitness
|
|
4
|
+
import type { MembershipWitness } from '@aztec/foundation/trees';
|
|
5
5
|
|
|
6
6
|
import { NullifierLeafPreimage } from '../../trees/index.js';
|
|
7
7
|
import { PendingReadHint, ReadRequestAction, ReadRequestResetHints, SettledReadHint } from './read_request_hints.js';
|
|
@@ -11,7 +11,7 @@ export type NullifierReadRequestHints<PENDING extends number, SETTLED extends nu
|
|
|
11
11
|
PENDING,
|
|
12
12
|
SETTLED,
|
|
13
13
|
typeof NULLIFIER_TREE_HEIGHT,
|
|
14
|
-
|
|
14
|
+
NullifierLeafPreimage
|
|
15
15
|
>;
|
|
16
16
|
|
|
17
17
|
export function nullifierReadRequestHintsFromBuffer<PENDING extends number, SETTLED extends number>(
|
|
@@ -64,7 +64,7 @@ export class NullifierReadRequestHintsBuilder<PENDING extends number, SETTLED ex
|
|
|
64
64
|
addSettledReadRequest(
|
|
65
65
|
readRequestIndex: number,
|
|
66
66
|
membershipWitness: MembershipWitness<typeof NULLIFIER_TREE_HEIGHT>,
|
|
67
|
-
leafPreimage:
|
|
67
|
+
leafPreimage: NullifierLeafPreimage,
|
|
68
68
|
) {
|
|
69
69
|
if (this.numSettledReadHints === this.maxSettled) {
|
|
70
70
|
throw new Error('Cannot add more settled read request.');
|
package/src/kernel/nullifier.ts
CHANGED
|
@@ -7,38 +7,38 @@ import type { Ordered } from './utils/interfaces.js';
|
|
|
7
7
|
export class Nullifier implements Ordered {
|
|
8
8
|
constructor(
|
|
9
9
|
public value: Fr,
|
|
10
|
-
public counter: number,
|
|
11
10
|
public noteHash: Fr,
|
|
11
|
+
public counter: number,
|
|
12
12
|
) {}
|
|
13
13
|
|
|
14
14
|
toFields(): Fr[] {
|
|
15
|
-
return [this.value, new Fr(this.counter)
|
|
15
|
+
return [this.value, this.noteHash, new Fr(this.counter)];
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
19
19
|
const reader = FieldReader.asReader(fields);
|
|
20
|
-
return new Nullifier(reader.readField(), reader.
|
|
20
|
+
return new Nullifier(reader.readField(), reader.readField(), reader.readU32());
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
isEmpty() {
|
|
24
|
-
return this.value.isZero() &&
|
|
24
|
+
return this.value.isZero() && this.noteHash.isZero() && !this.counter;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
static empty() {
|
|
28
|
-
return new Nullifier(Fr.zero(),
|
|
28
|
+
return new Nullifier(Fr.zero(), Fr.zero(), 0);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
toBuffer(): Buffer {
|
|
32
|
-
return serializeToBuffer(this.value, this.
|
|
32
|
+
return serializeToBuffer(this.value, this.noteHash, this.counter);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
36
36
|
const reader = BufferReader.asReader(buffer);
|
|
37
|
-
return new Nullifier(Fr.fromBuffer(reader),
|
|
37
|
+
return new Nullifier(Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readNumber());
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
toString(): string {
|
|
41
|
-
return `value=${this.value}
|
|
41
|
+
return `value=${this.value} noteHash=${this.noteHash} counter=${this.counter}`;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
scope(contractAddress: AztecAddress) {
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
FUNCTION_TREE_HEIGHT,
|
|
3
|
-
PROTOCOL_CONTRACT_TREE_HEIGHT,
|
|
4
|
-
PUBLIC_DATA_TREE_HEIGHT,
|
|
5
|
-
UPDATES_VALUE_SIZE,
|
|
6
|
-
} from '@aztec/constants';
|
|
1
|
+
import { FUNCTION_TREE_HEIGHT, PUBLIC_DATA_TREE_HEIGHT, UPDATES_VALUE_SIZE } from '@aztec/constants';
|
|
7
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
8
3
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
9
4
|
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
@@ -11,7 +6,7 @@ import type { FieldsOf } from '@aztec/foundation/types';
|
|
|
11
6
|
|
|
12
7
|
import { DelayedPublicMutableValues } from '../delayed_public_mutable/delayed_public_mutable_values.js';
|
|
13
8
|
import { PublicKeys } from '../keys/public_keys.js';
|
|
14
|
-
import {
|
|
9
|
+
import { PublicDataTreeLeafPreimage } from '../trees/index.js';
|
|
15
10
|
import { VerificationKeyAsFields } from '../vks/verification_key.js';
|
|
16
11
|
import { PrivateCircuitPublicInputs } from './private_circuit_public_inputs.js';
|
|
17
12
|
|
|
@@ -94,16 +89,6 @@ export class PrivateVerificationKeyHints {
|
|
|
94
89
|
* The membership witness for the function leaf corresponding to the function being invoked.
|
|
95
90
|
*/
|
|
96
91
|
public functionLeafMembershipWitness: MembershipWitness<typeof FUNCTION_TREE_HEIGHT>,
|
|
97
|
-
/**
|
|
98
|
-
* The membership witness for the protocolContractLeaf.
|
|
99
|
-
*/
|
|
100
|
-
public protocolContractMembershipWitness: MembershipWitness<typeof PROTOCOL_CONTRACT_TREE_HEIGHT>,
|
|
101
|
-
/**
|
|
102
|
-
* The leaf of the protocol contract tree, of either:
|
|
103
|
-
* The protocol contract being called.
|
|
104
|
-
* The low leaf showing that the address of the contract being called is not in the tree.
|
|
105
|
-
*/
|
|
106
|
-
public protocolContractLeaf: ProtocolContractLeafPreimage,
|
|
107
92
|
|
|
108
93
|
public updatedClassIdHints: UpdatedClassIdHints,
|
|
109
94
|
) {}
|
|
@@ -120,8 +105,6 @@ export class PrivateVerificationKeyHints {
|
|
|
120
105
|
fields.publicKeys,
|
|
121
106
|
fields.saltedInitializationHash,
|
|
122
107
|
fields.functionLeafMembershipWitness,
|
|
123
|
-
fields.protocolContractMembershipWitness,
|
|
124
|
-
fields.protocolContractLeaf,
|
|
125
108
|
fields.updatedClassIdHints,
|
|
126
109
|
] as const;
|
|
127
110
|
}
|
|
@@ -151,8 +134,6 @@ export class PrivateVerificationKeyHints {
|
|
|
151
134
|
reader.readObject(PublicKeys),
|
|
152
135
|
reader.readObject(Fr),
|
|
153
136
|
reader.readObject(MembershipWitness.deserializer(FUNCTION_TREE_HEIGHT)),
|
|
154
|
-
reader.readObject(MembershipWitness.deserializer(PROTOCOL_CONTRACT_TREE_HEIGHT)),
|
|
155
|
-
reader.readObject(ProtocolContractLeafPreimage),
|
|
156
137
|
reader.readObject(UpdatedClassIdHints),
|
|
157
138
|
);
|
|
158
139
|
}
|
|
@@ -127,11 +127,11 @@ export class PrivateCircuitPublicInputs {
|
|
|
127
127
|
/**
|
|
128
128
|
* Header of a block whose state is used during private execution (not the block the transaction is included in).
|
|
129
129
|
*/
|
|
130
|
-
public
|
|
130
|
+
public anchorBlockHeader: BlockHeader,
|
|
131
131
|
/**
|
|
132
132
|
* Transaction context.
|
|
133
133
|
*
|
|
134
|
-
* Note: The chainId and version in the txContext are not redundant to the values in self.
|
|
134
|
+
* Note: The chainId and version in the txContext are not redundant to the values in self.anchor_block_header.global_variables because
|
|
135
135
|
* they can be different in case of a protocol upgrade. In such a situation we could be using header from a block
|
|
136
136
|
* before the upgrade took place but be using the updated protocol to execute and prove the transaction.
|
|
137
137
|
*/
|
|
@@ -261,7 +261,7 @@ export class PrivateCircuitPublicInputs {
|
|
|
261
261
|
this.contractClassLogsHashes.isEmpty() &&
|
|
262
262
|
this.startSideEffectCounter.isZero() &&
|
|
263
263
|
this.endSideEffectCounter.isZero() &&
|
|
264
|
-
this.
|
|
264
|
+
this.anchorBlockHeader.isEmpty() &&
|
|
265
265
|
this.txContext.isEmpty()
|
|
266
266
|
);
|
|
267
267
|
}
|
|
@@ -292,7 +292,7 @@ export class PrivateCircuitPublicInputs {
|
|
|
292
292
|
fields.contractClassLogsHashes,
|
|
293
293
|
fields.startSideEffectCounter,
|
|
294
294
|
fields.endSideEffectCounter,
|
|
295
|
-
fields.
|
|
295
|
+
fields.anchorBlockHeader,
|
|
296
296
|
fields.txContext,
|
|
297
297
|
] as const;
|
|
298
298
|
}
|
|
@@ -324,7 +324,7 @@ export class PrivateCircuitPublicInputs {
|
|
|
324
324
|
this.contractClassLogsHashes,
|
|
325
325
|
this.startSideEffectCounter,
|
|
326
326
|
this.endSideEffectCounter,
|
|
327
|
-
this.
|
|
327
|
+
this.anchorBlockHeader,
|
|
328
328
|
this.txContext,
|
|
329
329
|
]);
|
|
330
330
|
}
|
|
@@ -8,7 +8,7 @@ import { TxContext } from '../tx/tx_context.js';
|
|
|
8
8
|
export class PrivateContextInputs {
|
|
9
9
|
constructor(
|
|
10
10
|
public callContext: CallContext,
|
|
11
|
-
public
|
|
11
|
+
public anchorBlockHeader: BlockHeader,
|
|
12
12
|
public txContext: TxContext,
|
|
13
13
|
public startSideEffectCounter: number,
|
|
14
14
|
) {}
|
|
@@ -18,6 +18,6 @@ export class PrivateContextInputs {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
public toFields(): Fr[] {
|
|
21
|
-
return serializeToFields([this.callContext, this.
|
|
21
|
+
return serializeToFields([this.callContext, this.anchorBlockHeader, this.txContext, this.startSideEffectCounter]);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
@@ -3,7 +3,7 @@ import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
|
3
3
|
import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
4
|
|
|
5
5
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
6
|
-
import {
|
|
6
|
+
import { PrivateTxConstantData } from '../tx/private_tx_constant_data.js';
|
|
7
7
|
import type { UInt64 } from '../types/shared.js';
|
|
8
8
|
import { PrivateAccumulatedData } from './private_accumulated_data.js';
|
|
9
9
|
import { PrivateValidationRequests } from './private_validation_requests.js';
|
|
@@ -17,7 +17,7 @@ export class PrivateKernelCircuitPublicInputs {
|
|
|
17
17
|
/**
|
|
18
18
|
* Data which is not modified by the circuits.
|
|
19
19
|
*/
|
|
20
|
-
public constants:
|
|
20
|
+
public constants: PrivateTxConstantData,
|
|
21
21
|
/**
|
|
22
22
|
* The side effect counter that non-revertible side effects are all beneath.
|
|
23
23
|
*/
|
|
@@ -82,7 +82,7 @@ export class PrivateKernelCircuitPublicInputs {
|
|
|
82
82
|
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelCircuitPublicInputs {
|
|
83
83
|
const reader = BufferReader.asReader(buffer);
|
|
84
84
|
return new PrivateKernelCircuitPublicInputs(
|
|
85
|
-
reader.readObject(
|
|
85
|
+
reader.readObject(PrivateTxConstantData),
|
|
86
86
|
reader.readObject(Fr),
|
|
87
87
|
reader.readObject(PrivateValidationRequests),
|
|
88
88
|
reader.readObject(PrivateAccumulatedData),
|
|
@@ -96,7 +96,7 @@ export class PrivateKernelCircuitPublicInputs {
|
|
|
96
96
|
|
|
97
97
|
static empty() {
|
|
98
98
|
return new PrivateKernelCircuitPublicInputs(
|
|
99
|
-
|
|
99
|
+
PrivateTxConstantData.empty(),
|
|
100
100
|
Fr.zero(),
|
|
101
101
|
PrivateValidationRequests.empty(),
|
|
102
102
|
PrivateAccumulatedData.empty(),
|
|
@@ -7,8 +7,8 @@ import { PrivateKernelCircuitPublicInputs } from './private_kernel_circuit_publi
|
|
|
7
7
|
* Data of the previous kernel iteration in the chain of kernels.
|
|
8
8
|
*/
|
|
9
9
|
export class PrivateKernelData {
|
|
10
|
-
// NOTE: as of move to honk and
|
|
11
|
-
// as we do
|
|
10
|
+
// NOTE: as of move to honk and chonk, previous private kernels no longer come with their proof
|
|
11
|
+
// as we do chonk not recursive verification. We need to ensure the public inputs here is properly constrained, TODO(https://github.com/AztecProtocol/barretenberg/issues/1048)
|
|
12
12
|
constructor(
|
|
13
13
|
/**
|
|
14
14
|
* Public inputs of the previous kernel.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
2
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
3
|
|
|
4
|
+
import { ProtocolContracts } from '../tx/protocol_contracts.js';
|
|
4
5
|
import { TxRequest } from '../tx/tx_request.js';
|
|
5
6
|
import { PrivateCallData } from './private_call_data.js';
|
|
6
7
|
|
|
@@ -18,9 +19,9 @@ export class PrivateKernelInitCircuitPrivateInputs {
|
|
|
18
19
|
*/
|
|
19
20
|
public vkTreeRoot: Fr,
|
|
20
21
|
/**
|
|
21
|
-
* The
|
|
22
|
+
* The protocol contracts.
|
|
22
23
|
*/
|
|
23
|
-
public
|
|
24
|
+
public protocolContracts: ProtocolContracts,
|
|
24
25
|
/**
|
|
25
26
|
* Private calldata corresponding to this iteration of the kernel.
|
|
26
27
|
*/
|
|
@@ -43,7 +44,7 @@ export class PrivateKernelInitCircuitPrivateInputs {
|
|
|
43
44
|
return serializeToBuffer(
|
|
44
45
|
this.txRequest,
|
|
45
46
|
this.vkTreeRoot,
|
|
46
|
-
this.
|
|
47
|
+
this.protocolContracts,
|
|
47
48
|
this.privateCall,
|
|
48
49
|
this.firstNullifierHint,
|
|
49
50
|
);
|
|
@@ -59,7 +60,7 @@ export class PrivateKernelInitCircuitPrivateInputs {
|
|
|
59
60
|
return new PrivateKernelInitCircuitPrivateInputs(
|
|
60
61
|
reader.readObject(TxRequest),
|
|
61
62
|
Fr.fromBuffer(reader),
|
|
62
|
-
|
|
63
|
+
reader.readObject(ProtocolContracts),
|
|
63
64
|
reader.readObject(PrivateCallData),
|
|
64
65
|
reader.readBoolean(),
|
|
65
66
|
Fr.fromBuffer(reader),
|