@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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "3.0.0-
|
|
3
|
+
"version": "3.0.0-manual.20251030",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"./auth-witness": "./dest/auth_witness/index.js",
|
|
40
40
|
"./block": "./dest/block/index.js",
|
|
41
41
|
"./block/test": "./dest/block/test/index.js",
|
|
42
|
+
"./checkpoint": "./dest/checkpoint/index.js",
|
|
42
43
|
"./versioning": "./dest/versioning/index.js",
|
|
43
44
|
"./interfaces/client": "./dest/interfaces/client.js",
|
|
44
45
|
"./interfaces/server": "./dest/interfaces/server.js",
|
|
@@ -52,7 +53,8 @@
|
|
|
52
53
|
"./update-checker": "./dest/update-checker/index.js",
|
|
53
54
|
"./zkpassport": "./dest/zkpassport/index.js",
|
|
54
55
|
"./slashing": "./dest/slashing/index.js",
|
|
55
|
-
"./l1-contracts": "./dest/l1-contracts/index.js"
|
|
56
|
+
"./l1-contracts": "./dest/l1-contracts/index.js",
|
|
57
|
+
"./world-state": "./dest/world-state/index.js"
|
|
56
58
|
},
|
|
57
59
|
"typedocOptions": {
|
|
58
60
|
"entryPoints": [
|
|
@@ -69,15 +71,16 @@
|
|
|
69
71
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
|
|
70
72
|
},
|
|
71
73
|
"dependencies": {
|
|
72
|
-
"@
|
|
73
|
-
"@aztec/
|
|
74
|
-
"@aztec/
|
|
75
|
-
"@aztec/
|
|
76
|
-
"@aztec/
|
|
77
|
-
"@aztec/
|
|
78
|
-
"@aztec/
|
|
74
|
+
"@aws-sdk/client-s3": "^3.892.0",
|
|
75
|
+
"@aztec/bb.js": "3.0.0-manual.20251030",
|
|
76
|
+
"@aztec/blob-lib": "3.0.0-manual.20251030",
|
|
77
|
+
"@aztec/constants": "3.0.0-manual.20251030",
|
|
78
|
+
"@aztec/ethereum": "3.0.0-manual.20251030",
|
|
79
|
+
"@aztec/foundation": "3.0.0-manual.20251030",
|
|
80
|
+
"@aztec/l1-artifacts": "3.0.0-manual.20251030",
|
|
81
|
+
"@aztec/noir-noirc_abi": "3.0.0-manual.20251030",
|
|
79
82
|
"@google-cloud/storage": "^7.15.0",
|
|
80
|
-
"axios": "^1.
|
|
83
|
+
"axios": "^1.12.0",
|
|
81
84
|
"json-stringify-deterministic": "1.0.12",
|
|
82
85
|
"lodash.chunk": "^4.2.0",
|
|
83
86
|
"lodash.isequal": "^4.5.0",
|
|
@@ -86,12 +89,13 @@
|
|
|
86
89
|
"msgpackr": "^1.11.2",
|
|
87
90
|
"pako": "^2.1.0",
|
|
88
91
|
"tslib": "^2.4.0",
|
|
89
|
-
"viem": "2.
|
|
92
|
+
"viem": "npm:@spalladino/viem@2.38.2-eip7594.0",
|
|
90
93
|
"zod": "^3.23.8"
|
|
91
94
|
},
|
|
92
95
|
"devDependencies": {
|
|
93
96
|
"@jest/expect": "^30.0.0",
|
|
94
97
|
"@jest/globals": "^30.0.0",
|
|
98
|
+
"@libp2p/interface": "1.3.1",
|
|
95
99
|
"@types/jest": "^30.0.0",
|
|
96
100
|
"@types/lodash.chunk": "^4.2.9",
|
|
97
101
|
"@types/lodash.isequal": "^4.5.8",
|
package/src/abi/abi.ts
CHANGED
|
@@ -195,7 +195,7 @@ export const FunctionAbiSchema = z.object({
|
|
|
195
195
|
isInitializer: z.boolean(),
|
|
196
196
|
parameters: z.array(z.object({ name: z.string(), type: AbiTypeSchema, visibility: z.enum(ABIParameterVisibility) })),
|
|
197
197
|
returnTypes: z.array(AbiTypeSchema),
|
|
198
|
-
errorTypes: z.record(AbiErrorTypeSchema),
|
|
198
|
+
errorTypes: z.record(z.string(), AbiErrorTypeSchema.optional()),
|
|
199
199
|
}) satisfies z.ZodType<FunctionAbi>;
|
|
200
200
|
|
|
201
201
|
/** Debug metadata for a function. */
|
|
@@ -283,6 +283,9 @@ function getStorageLayout(input: NoirCompiledContract) {
|
|
|
283
283
|
*/
|
|
284
284
|
function generateContractArtifact(contract: NoirCompiledContract): ContractArtifact {
|
|
285
285
|
try {
|
|
286
|
+
if (!contract.transpiled) {
|
|
287
|
+
throw new Error("Contract's public bytecode has not been transpiled");
|
|
288
|
+
}
|
|
286
289
|
return ContractArtifactSchema.parse({
|
|
287
290
|
name: contract.name,
|
|
288
291
|
functions: contract.functions.filter(f => retainBytecode(f)).map(f => generateFunctionArtifact(f, contract)),
|
package/src/abi/function_call.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { AztecAddress } from '../aztec-address/index.js';
|
|
|
5
5
|
import { type AbiType, FunctionType } from './abi.js';
|
|
6
6
|
import { FunctionSelector } from './function_selector.js';
|
|
7
7
|
|
|
8
|
-
/** A request to call a function on a contract
|
|
8
|
+
/** A request to call a function on a contract. */
|
|
9
9
|
export class FunctionCall {
|
|
10
10
|
constructor(
|
|
11
11
|
/** The name of the function to call */
|
|
@@ -16,6 +16,8 @@ export class FunctionCall {
|
|
|
16
16
|
public selector: FunctionSelector,
|
|
17
17
|
/** Type of the function */
|
|
18
18
|
public type: FunctionType,
|
|
19
|
+
/** Only applicable for enqueued public function calls. `hideMsgSender = true` will set the msg_sender field (the caller's address) to "null", meaning the public function (and observers around the world) won't know which smart contract address made the call. */
|
|
20
|
+
public hideMsgSender: boolean,
|
|
19
21
|
/** Whether this call can make modifications to state or not */
|
|
20
22
|
public isStatic: boolean,
|
|
21
23
|
/** The encoded args */
|
|
@@ -30,6 +32,7 @@ export class FunctionCall {
|
|
|
30
32
|
fields.to,
|
|
31
33
|
fields.selector,
|
|
32
34
|
fields.type,
|
|
35
|
+
fields.hideMsgSender,
|
|
33
36
|
fields.isStatic,
|
|
34
37
|
fields.args,
|
|
35
38
|
fields.returnTypes,
|
|
@@ -50,6 +53,7 @@ export class FunctionCall {
|
|
|
50
53
|
to: AztecAddress.ZERO,
|
|
51
54
|
selector: FunctionSelector.empty(),
|
|
52
55
|
type: FunctionType.PUBLIC,
|
|
56
|
+
hideMsgSender: false,
|
|
53
57
|
isStatic: false,
|
|
54
58
|
args: [],
|
|
55
59
|
returnTypes: [],
|
package/src/abi/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from './buffer.js';
|
|
|
3
3
|
export * from './decoder.js';
|
|
4
4
|
export * from './encoder.js';
|
|
5
5
|
export * from './authorization_selector.js';
|
|
6
|
+
export * from './event_metadata_definition.js';
|
|
6
7
|
export * from './event_selector.js';
|
|
7
8
|
export * from './function_selector.js';
|
|
8
9
|
export * from './note_selector.js';
|
package/src/avm/avm.ts
CHANGED
|
@@ -15,7 +15,13 @@ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
|
15
15
|
import { MerkleTreeId } from '../trees/merkle_tree_id.js';
|
|
16
16
|
import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
17
17
|
import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
GlobalVariables,
|
|
20
|
+
ProtocolContracts,
|
|
21
|
+
PublicCallRequestWithCalldata,
|
|
22
|
+
TreeSnapshots,
|
|
23
|
+
type Tx,
|
|
24
|
+
} from '../tx/index.js';
|
|
19
25
|
import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
|
|
20
26
|
import { serializeWithMessagePack } from './message_pack.js';
|
|
21
27
|
|
|
@@ -408,15 +414,12 @@ export class AvmTxHint {
|
|
|
408
414
|
public readonly feePayer: AztecAddress,
|
|
409
415
|
) {}
|
|
410
416
|
|
|
411
|
-
static fromTx(tx: Tx): AvmTxHint {
|
|
417
|
+
static fromTx(tx: Tx, gasFees: GasFees): AvmTxHint {
|
|
412
418
|
const setupCallRequests = tx.getNonRevertiblePublicCallRequestsWithCalldata();
|
|
413
419
|
const appLogicCallRequests = tx.getRevertiblePublicCallRequestsWithCalldata();
|
|
414
420
|
const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
|
|
415
421
|
const gasSettings = tx.data.constants.txContext.gasSettings;
|
|
416
|
-
const effectiveGasFees = computeEffectiveGasFees(
|
|
417
|
-
tx.data.constants.historicalHeader.globalVariables.gasFees,
|
|
418
|
-
gasSettings,
|
|
419
|
-
);
|
|
422
|
+
const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
|
|
420
423
|
|
|
421
424
|
// For informational purposes. Assumed quick because it should be cached.
|
|
422
425
|
const txHash = tx.getTxHash();
|
|
@@ -513,6 +516,8 @@ export class AvmExecutionHints {
|
|
|
513
516
|
constructor(
|
|
514
517
|
public readonly globalVariables: GlobalVariables,
|
|
515
518
|
public tx: AvmTxHint,
|
|
519
|
+
// Protocol contracts.
|
|
520
|
+
public protocolContracts: ProtocolContracts,
|
|
516
521
|
// Contract hints.
|
|
517
522
|
public readonly contractInstances: AvmContractInstanceHint[] = [],
|
|
518
523
|
public readonly contractClasses: AvmContractClassHint[] = [],
|
|
@@ -533,7 +538,7 @@ export class AvmExecutionHints {
|
|
|
533
538
|
) {}
|
|
534
539
|
|
|
535
540
|
static empty() {
|
|
536
|
-
return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty());
|
|
541
|
+
return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
|
|
537
542
|
}
|
|
538
543
|
|
|
539
544
|
static get schema() {
|
|
@@ -541,6 +546,7 @@ export class AvmExecutionHints {
|
|
|
541
546
|
.object({
|
|
542
547
|
globalVariables: GlobalVariables.schema,
|
|
543
548
|
tx: AvmTxHint.schema,
|
|
549
|
+
protocolContracts: ProtocolContracts.schema,
|
|
544
550
|
contractInstances: AvmContractInstanceHint.schema.array(),
|
|
545
551
|
contractClasses: AvmContractClassHint.schema.array(),
|
|
546
552
|
bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
|
|
@@ -561,6 +567,7 @@ export class AvmExecutionHints {
|
|
|
561
567
|
({
|
|
562
568
|
globalVariables,
|
|
563
569
|
tx,
|
|
570
|
+
protocolContracts,
|
|
564
571
|
contractInstances,
|
|
565
572
|
contractClasses,
|
|
566
573
|
bytecodeCommitments,
|
|
@@ -580,6 +587,7 @@ export class AvmExecutionHints {
|
|
|
580
587
|
new AvmExecutionHints(
|
|
581
588
|
globalVariables,
|
|
582
589
|
tx,
|
|
590
|
+
protocolContracts,
|
|
583
591
|
contractInstances,
|
|
584
592
|
contractClasses,
|
|
585
593
|
bytecodeCommitments,
|
|
@@ -3,7 +3,6 @@ import {
|
|
|
3
3
|
MAX_L2_TO_L1_MSGS_PER_TX,
|
|
4
4
|
MAX_NOTE_HASHES_PER_TX,
|
|
5
5
|
MAX_NULLIFIERS_PER_TX,
|
|
6
|
-
MAX_PUBLIC_LOGS_PER_TX,
|
|
7
6
|
MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
|
|
8
7
|
} from '@aztec/constants';
|
|
9
8
|
import { type FieldsOf, makeTuple } from '@aztec/foundation/array';
|
|
@@ -23,7 +22,8 @@ import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
|
23
22
|
import { inspect } from 'util';
|
|
24
23
|
import { z } from 'zod';
|
|
25
24
|
|
|
26
|
-
import {
|
|
25
|
+
import { countAccumulatedItems } from '../kernel/utils/index.js';
|
|
26
|
+
import { FlatPublicLogs } from '../logs/public_log.js';
|
|
27
27
|
import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
|
|
28
28
|
import { PublicDataWrite } from './public_data_write.js';
|
|
29
29
|
|
|
@@ -44,7 +44,7 @@ export class AvmAccumulatedData {
|
|
|
44
44
|
/**
|
|
45
45
|
* The public logs emitted from the AVM execution.
|
|
46
46
|
*/
|
|
47
|
-
public publicLogs:
|
|
47
|
+
public publicLogs: FlatPublicLogs,
|
|
48
48
|
/**
|
|
49
49
|
* The public data writes made in the AVM execution.
|
|
50
50
|
*/
|
|
@@ -57,7 +57,7 @@ export class AvmAccumulatedData {
|
|
|
57
57
|
noteHashes: schemas.Fr.array().min(MAX_NOTE_HASHES_PER_TX).max(MAX_NOTE_HASHES_PER_TX),
|
|
58
58
|
nullifiers: schemas.Fr.array().min(MAX_NULLIFIERS_PER_TX).max(MAX_NULLIFIERS_PER_TX),
|
|
59
59
|
l2ToL1Msgs: ScopedL2ToL1Message.schema.array().min(MAX_L2_TO_L1_MSGS_PER_TX).max(MAX_L2_TO_L1_MSGS_PER_TX),
|
|
60
|
-
publicLogs:
|
|
60
|
+
publicLogs: FlatPublicLogs.schema,
|
|
61
61
|
publicDataWrites: PublicDataWrite.schema
|
|
62
62
|
.array()
|
|
63
63
|
.min(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX)
|
|
@@ -69,7 +69,7 @@ export class AvmAccumulatedData {
|
|
|
69
69
|
assertLength(noteHashes, MAX_NOTE_HASHES_PER_TX),
|
|
70
70
|
assertLength(nullifiers, MAX_NULLIFIERS_PER_TX),
|
|
71
71
|
assertLength(l2ToL1Msgs, MAX_L2_TO_L1_MSGS_PER_TX),
|
|
72
|
-
|
|
72
|
+
publicLogs,
|
|
73
73
|
assertLength(publicDataWrites, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX),
|
|
74
74
|
),
|
|
75
75
|
);
|
|
@@ -80,7 +80,7 @@ export class AvmAccumulatedData {
|
|
|
80
80
|
arraySerializedSizeOfNonEmpty(this.noteHashes) +
|
|
81
81
|
arraySerializedSizeOfNonEmpty(this.nullifiers) +
|
|
82
82
|
arraySerializedSizeOfNonEmpty(this.l2ToL1Msgs) +
|
|
83
|
-
|
|
83
|
+
this.publicLogs.toBuffer().length +
|
|
84
84
|
arraySerializedSizeOfNonEmpty(this.publicDataWrites)
|
|
85
85
|
);
|
|
86
86
|
}
|
|
@@ -91,7 +91,7 @@ export class AvmAccumulatedData {
|
|
|
91
91
|
reader.readArray(MAX_NOTE_HASHES_PER_TX, Fr),
|
|
92
92
|
reader.readArray(MAX_NULLIFIERS_PER_TX, Fr),
|
|
93
93
|
reader.readArray(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message),
|
|
94
|
-
reader.
|
|
94
|
+
reader.readObject(FlatPublicLogs),
|
|
95
95
|
reader.readArray(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PublicDataWrite),
|
|
96
96
|
);
|
|
97
97
|
}
|
|
@@ -116,7 +116,7 @@ export class AvmAccumulatedData {
|
|
|
116
116
|
reader.readFieldArray(MAX_NOTE_HASHES_PER_TX),
|
|
117
117
|
reader.readFieldArray(MAX_NULLIFIERS_PER_TX),
|
|
118
118
|
reader.readArray(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message),
|
|
119
|
-
reader.
|
|
119
|
+
reader.readObject(FlatPublicLogs),
|
|
120
120
|
reader.readArray(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PublicDataWrite),
|
|
121
121
|
);
|
|
122
122
|
}
|
|
@@ -144,7 +144,7 @@ export class AvmAccumulatedData {
|
|
|
144
144
|
makeTuple(MAX_NOTE_HASHES_PER_TX, Fr.zero),
|
|
145
145
|
makeTuple(MAX_NULLIFIERS_PER_TX, Fr.zero),
|
|
146
146
|
makeTuple(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message.empty),
|
|
147
|
-
|
|
147
|
+
FlatPublicLogs.empty(),
|
|
148
148
|
makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PublicDataWrite.empty),
|
|
149
149
|
);
|
|
150
150
|
}
|
|
@@ -154,7 +154,7 @@ export class AvmAccumulatedData {
|
|
|
154
154
|
this.noteHashes.every(x => x.isZero()) &&
|
|
155
155
|
this.nullifiers.every(x => x.isZero()) &&
|
|
156
156
|
this.l2ToL1Msgs.every(x => x.isEmpty()) &&
|
|
157
|
-
this.publicLogs.
|
|
157
|
+
this.publicLogs.isEmpty() &&
|
|
158
158
|
this.publicDataWrites.every(x => x.isEmpty())
|
|
159
159
|
);
|
|
160
160
|
}
|
|
@@ -175,6 +175,7 @@ export class AvmAccumulatedData {
|
|
|
175
175
|
.map(h => inspect(h))
|
|
176
176
|
.join(', ')}],
|
|
177
177
|
publicLogs: [${this.publicLogs
|
|
178
|
+
.toLogs()
|
|
178
179
|
.filter(x => !x.isEmpty())
|
|
179
180
|
.map(h => inspect(h))
|
|
180
181
|
.join(', ')}],
|
|
@@ -184,6 +185,15 @@ export class AvmAccumulatedData {
|
|
|
184
185
|
.join(', ')}],
|
|
185
186
|
}`;
|
|
186
187
|
}
|
|
188
|
+
|
|
189
|
+
getArrayLengths() {
|
|
190
|
+
return new AvmAccumulatedDataArrayLengths(
|
|
191
|
+
countAccumulatedItems(this.noteHashes),
|
|
192
|
+
countAccumulatedItems(this.nullifiers),
|
|
193
|
+
countAccumulatedItems(this.l2ToL1Msgs),
|
|
194
|
+
countAccumulatedItems(this.publicDataWrites),
|
|
195
|
+
);
|
|
196
|
+
}
|
|
187
197
|
}
|
|
188
198
|
|
|
189
199
|
/**
|
|
@@ -203,10 +213,6 @@ export class AvmAccumulatedDataArrayLengths {
|
|
|
203
213
|
* Number of L2 to L1 messages
|
|
204
214
|
*/
|
|
205
215
|
public l2ToL1Msgs: number,
|
|
206
|
-
/**
|
|
207
|
-
* Number of public logs
|
|
208
|
-
*/
|
|
209
|
-
public publicLogs: number,
|
|
210
216
|
/**
|
|
211
217
|
* Number of public data writes
|
|
212
218
|
*/
|
|
@@ -219,12 +225,11 @@ export class AvmAccumulatedDataArrayLengths {
|
|
|
219
225
|
noteHashes: z.number(),
|
|
220
226
|
nullifiers: z.number(),
|
|
221
227
|
l2ToL1Msgs: z.number(),
|
|
222
|
-
publicLogs: z.number(),
|
|
223
228
|
publicDataWrites: z.number(),
|
|
224
229
|
})
|
|
225
230
|
.transform(
|
|
226
|
-
({ noteHashes, nullifiers, l2ToL1Msgs,
|
|
227
|
-
new AvmAccumulatedDataArrayLengths(noteHashes, nullifiers, l2ToL1Msgs,
|
|
231
|
+
({ noteHashes, nullifiers, l2ToL1Msgs, publicDataWrites }) =>
|
|
232
|
+
new AvmAccumulatedDataArrayLengths(noteHashes, nullifiers, l2ToL1Msgs, publicDataWrites),
|
|
228
233
|
);
|
|
229
234
|
}
|
|
230
235
|
|
|
@@ -235,12 +240,11 @@ export class AvmAccumulatedDataArrayLengths {
|
|
|
235
240
|
reader.readNumber(),
|
|
236
241
|
reader.readNumber(),
|
|
237
242
|
reader.readNumber(),
|
|
238
|
-
reader.readNumber(),
|
|
239
243
|
);
|
|
240
244
|
}
|
|
241
245
|
|
|
242
246
|
toBuffer() {
|
|
243
|
-
return serializeToBuffer(this.noteHashes, this.nullifiers, this.l2ToL1Msgs, this.
|
|
247
|
+
return serializeToBuffer(this.noteHashes, this.nullifiers, this.l2ToL1Msgs, this.publicDataWrites);
|
|
244
248
|
}
|
|
245
249
|
|
|
246
250
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
@@ -250,22 +254,15 @@ export class AvmAccumulatedDataArrayLengths {
|
|
|
250
254
|
Number(reader.readField()),
|
|
251
255
|
Number(reader.readField()),
|
|
252
256
|
Number(reader.readField()),
|
|
253
|
-
Number(reader.readField()),
|
|
254
257
|
);
|
|
255
258
|
}
|
|
256
259
|
|
|
257
260
|
toFields(): Fr[] {
|
|
258
|
-
return [
|
|
259
|
-
new Fr(this.noteHashes),
|
|
260
|
-
new Fr(this.nullifiers),
|
|
261
|
-
new Fr(this.l2ToL1Msgs),
|
|
262
|
-
new Fr(this.publicLogs),
|
|
263
|
-
new Fr(this.publicDataWrites),
|
|
264
|
-
];
|
|
261
|
+
return [new Fr(this.noteHashes), new Fr(this.nullifiers), new Fr(this.l2ToL1Msgs), new Fr(this.publicDataWrites)];
|
|
265
262
|
}
|
|
266
263
|
|
|
267
264
|
static empty() {
|
|
268
|
-
return new AvmAccumulatedDataArrayLengths(0, 0, 0, 0
|
|
265
|
+
return new AvmAccumulatedDataArrayLengths(0, 0, 0, 0);
|
|
269
266
|
}
|
|
270
267
|
|
|
271
268
|
[inspect.custom]() {
|
|
@@ -273,7 +270,6 @@ export class AvmAccumulatedDataArrayLengths {
|
|
|
273
270
|
noteHashes: ${this.noteHashes},
|
|
274
271
|
nullifiers: ${this.nullifiers},
|
|
275
272
|
l2ToL1Msgs: ${this.l2ToL1Msgs},
|
|
276
|
-
publicLogs: ${this.publicLogs},
|
|
277
273
|
publicDataWrites: ${this.publicDataWrites},
|
|
278
274
|
}`;
|
|
279
275
|
}
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
} from '../kernel/private_to_avm_accumulated_data.js';
|
|
17
17
|
import { PublicCallRequest, PublicCallRequestArrayLengths } from '../kernel/public_call_request.js';
|
|
18
18
|
import { GlobalVariables } from '../tx/global_variables.js';
|
|
19
|
+
import { ProtocolContracts } from '../tx/protocol_contracts.js';
|
|
19
20
|
import { TreeSnapshots } from '../tx/tree_snapshots.js';
|
|
20
21
|
import { AvmAccumulatedData, AvmAccumulatedDataArrayLengths } from './avm_accumulated_data.js';
|
|
21
22
|
import { serializeWithMessagePack } from './message_pack.js';
|
|
@@ -27,11 +28,13 @@ export class AvmCircuitPublicInputs {
|
|
|
27
28
|
///////////////////////////////////
|
|
28
29
|
// Inputs.
|
|
29
30
|
public globalVariables: GlobalVariables,
|
|
31
|
+
public protocolContracts: ProtocolContracts,
|
|
30
32
|
public startTreeSnapshots: TreeSnapshots,
|
|
31
33
|
public startGasUsed: Gas,
|
|
32
34
|
public gasSettings: GasSettings,
|
|
33
35
|
public effectiveGasFees: GasFees,
|
|
34
36
|
public feePayer: AztecAddress,
|
|
37
|
+
public proverId: Fr,
|
|
35
38
|
public publicCallRequestArrayLengths: PublicCallRequestArrayLengths,
|
|
36
39
|
public publicSetupCallRequests: Tuple<PublicCallRequest, typeof MAX_ENQUEUED_CALLS_PER_TX>,
|
|
37
40
|
public publicAppLogicCallRequests: Tuple<PublicCallRequest, typeof MAX_ENQUEUED_CALLS_PER_TX>,
|
|
@@ -54,11 +57,13 @@ export class AvmCircuitPublicInputs {
|
|
|
54
57
|
return z
|
|
55
58
|
.object({
|
|
56
59
|
globalVariables: GlobalVariables.schema,
|
|
60
|
+
protocolContracts: ProtocolContracts.schema,
|
|
57
61
|
startTreeSnapshots: TreeSnapshots.schema,
|
|
58
62
|
startGasUsed: Gas.schema,
|
|
59
63
|
gasSettings: GasSettings.schema,
|
|
60
64
|
effectiveGasFees: GasFees.schema,
|
|
61
65
|
feePayer: AztecAddress.schema,
|
|
66
|
+
proverId: Fr.schema,
|
|
62
67
|
publicCallRequestArrayLengths: PublicCallRequestArrayLengths.schema,
|
|
63
68
|
publicSetupCallRequests: PublicCallRequest.schema.array().max(MAX_ENQUEUED_CALLS_PER_TX),
|
|
64
69
|
publicAppLogicCallRequests: PublicCallRequest.schema.array().max(MAX_ENQUEUED_CALLS_PER_TX),
|
|
@@ -77,11 +82,13 @@ export class AvmCircuitPublicInputs {
|
|
|
77
82
|
.transform(
|
|
78
83
|
({
|
|
79
84
|
globalVariables,
|
|
85
|
+
protocolContracts,
|
|
80
86
|
startTreeSnapshots,
|
|
81
87
|
startGasUsed,
|
|
82
88
|
gasSettings,
|
|
83
89
|
effectiveGasFees,
|
|
84
90
|
feePayer,
|
|
91
|
+
proverId,
|
|
85
92
|
publicCallRequestArrayLengths,
|
|
86
93
|
publicSetupCallRequests,
|
|
87
94
|
publicAppLogicCallRequests,
|
|
@@ -99,11 +106,13 @@ export class AvmCircuitPublicInputs {
|
|
|
99
106
|
}) =>
|
|
100
107
|
new AvmCircuitPublicInputs(
|
|
101
108
|
globalVariables,
|
|
109
|
+
protocolContracts,
|
|
102
110
|
startTreeSnapshots,
|
|
103
111
|
startGasUsed,
|
|
104
112
|
gasSettings,
|
|
105
113
|
effectiveGasFees,
|
|
106
114
|
feePayer,
|
|
115
|
+
proverId,
|
|
107
116
|
publicCallRequestArrayLengths,
|
|
108
117
|
assertLength(publicSetupCallRequests, MAX_ENQUEUED_CALLS_PER_TX),
|
|
109
118
|
assertLength(publicAppLogicCallRequests, MAX_ENQUEUED_CALLS_PER_TX),
|
|
@@ -126,11 +135,13 @@ export class AvmCircuitPublicInputs {
|
|
|
126
135
|
const reader = BufferReader.asReader(buffer);
|
|
127
136
|
return new AvmCircuitPublicInputs(
|
|
128
137
|
reader.readObject(GlobalVariables),
|
|
138
|
+
reader.readObject(ProtocolContracts),
|
|
129
139
|
reader.readObject(TreeSnapshots),
|
|
130
140
|
reader.readObject(Gas),
|
|
131
141
|
reader.readObject(GasSettings),
|
|
132
142
|
reader.readObject(GasFees),
|
|
133
143
|
reader.readObject(AztecAddress),
|
|
144
|
+
reader.readObject(Fr),
|
|
134
145
|
reader.readObject(PublicCallRequestArrayLengths),
|
|
135
146
|
reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest),
|
|
136
147
|
reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest),
|
|
@@ -151,11 +162,13 @@ export class AvmCircuitPublicInputs {
|
|
|
151
162
|
toBuffer() {
|
|
152
163
|
return serializeToBuffer(
|
|
153
164
|
this.globalVariables,
|
|
165
|
+
this.protocolContracts,
|
|
154
166
|
this.startTreeSnapshots,
|
|
155
167
|
this.startGasUsed,
|
|
156
168
|
this.gasSettings,
|
|
157
169
|
this.effectiveGasFees,
|
|
158
170
|
this.feePayer,
|
|
171
|
+
this.proverId,
|
|
159
172
|
this.publicCallRequestArrayLengths,
|
|
160
173
|
this.publicSetupCallRequests,
|
|
161
174
|
this.publicAppLogicCallRequests,
|
|
@@ -185,11 +198,13 @@ export class AvmCircuitPublicInputs {
|
|
|
185
198
|
const reader = FieldReader.asReader(fields);
|
|
186
199
|
return new AvmCircuitPublicInputs(
|
|
187
200
|
GlobalVariables.fromFields(reader),
|
|
201
|
+
ProtocolContracts.fromFields(reader),
|
|
188
202
|
TreeSnapshots.fromFields(reader),
|
|
189
203
|
Gas.fromFields(reader),
|
|
190
204
|
GasSettings.fromFields(reader),
|
|
191
205
|
GasFees.fromFields(reader),
|
|
192
206
|
AztecAddress.fromFields(reader),
|
|
207
|
+
reader.readField(),
|
|
193
208
|
PublicCallRequestArrayLengths.fromFields(reader),
|
|
194
209
|
reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest),
|
|
195
210
|
reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest),
|
|
@@ -210,11 +225,13 @@ export class AvmCircuitPublicInputs {
|
|
|
210
225
|
toFields() {
|
|
211
226
|
return [
|
|
212
227
|
...this.globalVariables.toFields(),
|
|
228
|
+
...this.protocolContracts.toFields(),
|
|
213
229
|
...this.startTreeSnapshots.toFields(),
|
|
214
230
|
...this.startGasUsed.toFields(),
|
|
215
231
|
...this.gasSettings.toFields(),
|
|
216
232
|
...this.effectiveGasFees.toFields(),
|
|
217
233
|
this.feePayer,
|
|
234
|
+
this.proverId,
|
|
218
235
|
...this.publicCallRequestArrayLengths.toFields(),
|
|
219
236
|
...this.publicSetupCallRequests.map(request => request.toFields()),
|
|
220
237
|
...this.publicAppLogicCallRequests.map(request => request.toFields()),
|
|
@@ -235,11 +252,13 @@ export class AvmCircuitPublicInputs {
|
|
|
235
252
|
static empty() {
|
|
236
253
|
return new AvmCircuitPublicInputs(
|
|
237
254
|
GlobalVariables.empty(),
|
|
255
|
+
ProtocolContracts.empty(),
|
|
238
256
|
TreeSnapshots.empty(),
|
|
239
257
|
Gas.empty(),
|
|
240
258
|
GasSettings.empty(),
|
|
241
259
|
GasFees.empty(),
|
|
242
260
|
AztecAddress.zero(),
|
|
261
|
+
Fr.zero(),
|
|
243
262
|
PublicCallRequestArrayLengths.empty(),
|
|
244
263
|
makeTuple(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest.empty),
|
|
245
264
|
makeTuple(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest.empty),
|
|
@@ -264,11 +283,13 @@ export class AvmCircuitPublicInputs {
|
|
|
264
283
|
[inspect.custom]() {
|
|
265
284
|
return `AvmCircuitPublicInputs {
|
|
266
285
|
globalVariables: ${inspect(this.globalVariables)},
|
|
286
|
+
protocolContracts: ${inspect(this.protocolContracts)},
|
|
267
287
|
startTreeSnapshots: ${inspect(this.startTreeSnapshots)},
|
|
268
288
|
startGasUsed: ${inspect(this.startGasUsed)},
|
|
269
289
|
gasSettings: ${inspect(this.gasSettings)},
|
|
270
290
|
effectiveGasFees: ${inspect(this.effectiveGasFees)},
|
|
271
291
|
feePayer: ${inspect(this.feePayer)},
|
|
292
|
+
proverId: ${inspect(this.proverId)},
|
|
272
293
|
publicCallRequestArrayLengths: ${inspect(this.publicCallRequestArrayLengths)},
|
|
273
294
|
publicSetupCallRequests: [${this.publicSetupCallRequests
|
|
274
295
|
.filter(x => !x.isEmpty())
|
package/src/avm/index.ts
CHANGED
|
@@ -3,10 +3,10 @@ export * from './avm_accumulated_data.js';
|
|
|
3
3
|
export * from './avm_circuit_public_inputs.js';
|
|
4
4
|
export * from './revert_code.js';
|
|
5
5
|
export * from './public_data_write.js';
|
|
6
|
-
export * from './public_data_hint.js';
|
|
7
6
|
export * from './public_data_update_request.js';
|
|
8
7
|
export * from './contract_storage_update_request.js';
|
|
9
8
|
export * from './contract_storage_read.js';
|
|
10
9
|
export * from './public_inner_call_request.js';
|
|
11
10
|
export * from './public_call_stack_item_compressed.js';
|
|
12
11
|
export * from './avm_proving_request.js';
|
|
12
|
+
export * from './message_pack.js';
|
package/src/avm/message_pack.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
2
2
|
import { Fq, Fr, Point } from '@aztec/foundation/fields';
|
|
3
3
|
|
|
4
4
|
import { strict as assert } from 'assert';
|
|
5
|
-
import { Encoder, addExtension } from 'msgpackr';
|
|
5
|
+
import { Decoder, Encoder, addExtension } from 'msgpackr';
|
|
6
6
|
|
|
7
7
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
8
8
|
|
|
@@ -18,6 +18,16 @@ export function serializeWithMessagePack(obj: any): Buffer {
|
|
|
18
18
|
return encoder.encode(obj);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
export function deserializeFromMessagePack<T>(buffer: Buffer): T {
|
|
22
|
+
setUpMessagePackExtensions();
|
|
23
|
+
const decoder = new Decoder({
|
|
24
|
+
useRecords: false,
|
|
25
|
+
int64AsType: 'bigint',
|
|
26
|
+
largeBigIntToString: true,
|
|
27
|
+
});
|
|
28
|
+
return decoder.decode(buffer);
|
|
29
|
+
}
|
|
30
|
+
|
|
21
31
|
let messagePackWasSetUp = false;
|
|
22
32
|
function setUpMessagePackExtensions() {
|
|
23
33
|
if (messagePackWasSetUp) {
|
|
@@ -27,15 +37,24 @@ function setUpMessagePackExtensions() {
|
|
|
27
37
|
addExtension({
|
|
28
38
|
Class: Fr,
|
|
29
39
|
write: (fr: Fr) => fr.toBuffer(),
|
|
40
|
+
read: (data: Buffer) => Fr.fromBuffer(data),
|
|
30
41
|
});
|
|
31
42
|
addExtension({
|
|
32
43
|
Class: Fq,
|
|
33
44
|
write: (fq: Fq) => fq.toBuffer(),
|
|
45
|
+
read: (data: Buffer) => Fq.fromBuffer(data),
|
|
34
46
|
});
|
|
35
47
|
// AztecAddress is a class that has a field in TS, but is itself a field in C++.
|
|
36
48
|
addExtension({
|
|
37
49
|
Class: AztecAddress,
|
|
38
50
|
write: (addr: AztecAddress) => addr.toField(),
|
|
51
|
+
read: (data: Fr | Buffer) => {
|
|
52
|
+
// If C++ sent it as Fr, wrap it. If as buffer, construct from buffer.
|
|
53
|
+
if (data instanceof Fr) {
|
|
54
|
+
return new AztecAddress(data);
|
|
55
|
+
}
|
|
56
|
+
return new AztecAddress(Fr.fromBuffer(data));
|
|
57
|
+
},
|
|
39
58
|
});
|
|
40
59
|
// Affine points are a mess, we do our best.
|
|
41
60
|
addExtension({
|
|
@@ -45,11 +64,16 @@ function setUpMessagePackExtensions() {
|
|
|
45
64
|
// TODO: should these be Frs?
|
|
46
65
|
return { x: new Fq(p.x.toBigInt()), y: new Fq(p.y.toBigInt()) };
|
|
47
66
|
},
|
|
67
|
+
read: (data: { x: Fq; y: Fq }) => {
|
|
68
|
+
// Convert Fq back to Fr for Point constructor
|
|
69
|
+
return new Point(new Fr(data.x.toBigInt()), new Fr(data.y.toBigInt()), false);
|
|
70
|
+
},
|
|
48
71
|
});
|
|
49
72
|
// EthAddress is a class that has a buffer in TS, but is itself just a field in C++.
|
|
50
73
|
addExtension({
|
|
51
74
|
Class: EthAddress,
|
|
52
75
|
write: (addr: EthAddress) => addr.toField().toBuffer(),
|
|
76
|
+
read: (data: Buffer) => EthAddress.fromField(Fr.fromBuffer(data)),
|
|
53
77
|
});
|
|
54
78
|
messagePackWasSetUp = true;
|
|
55
79
|
}
|