@aztec/stdlib 2.1.0-rc.9 → 3.0.0-devnet.2
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 +131 -72
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +8 -4
- 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/index.d.ts +2 -0
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +2 -0
- package/dest/block/l2_block.d.ts +19 -5
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +28 -7
- 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_source.d.ts +29 -0
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +1 -1
- package/dest/block/proposal/attestations_and_signers.d.ts +1 -1
- package/dest/block/proposal/attestations_and_signers.js +1 -1
- package/dest/block/proposal/committee_attestation.d.ts +0 -1
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/proposal/committee_attestation.js +0 -3
- package/dest/block/published_l2_block.d.ts +2 -8
- package/dest/block/published_l2_block.d.ts.map +1 -1
- package/dest/block/published_l2_block.js +0 -9
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +1 -3
- 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 +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +2 -2
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +0 -3
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +7 -0
- package/dest/interfaces/aztec-node-admin.d.ts +40 -36
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +2 -2
- package/dest/interfaces/aztec-node.d.ts +30 -0
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +7 -1
- package/dest/interfaces/block-builder.d.ts +1 -2
- 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 +5 -0
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +1 -0
- package/dest/interfaces/epoch-prover.d.ts +26 -9
- 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 +343 -194
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +131 -113
- package/dest/interfaces/server_circuit_prover.d.ts +34 -34
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- 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 +99 -3
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +7 -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_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 +1 -1
- 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 +1 -21
- 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 +64 -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/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 +13 -13
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_attestation.js +27 -25
- package/dest/p2p/block_proposal.d.ts +6 -8
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +10 -13
- package/dest/p2p/consensus_payload.d.ts +7 -6
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +7 -6
- 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/client_ivc_proof.d.ts +17 -7
- package/dest/proofs/client_ivc_proof.d.ts.map +1 -1
- package/dest/proofs/client_ivc_proof.js +78 -19
- package/dest/proofs/index.d.ts +1 -0
- package/dest/proofs/index.d.ts.map +1 -1
- package/dest/proofs/index.js +1 -0
- 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 -13
- package/dest/rollup/checkpoint_header.d.ts.map +1 -0
- package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +9 -9
- 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_tube_private_inputs.d.ts +21 -0
- package/dest/rollup/public_tube_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_tube_private_inputs.js +42 -0
- package/dest/rollup/public_tube_public_inputs.d.ts +20 -0
- package/dest/rollup/public_tube_public_inputs.d.ts.map +1 -0
- package/dest/rollup/public_tube_public_inputs.js +41 -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/stats/stats.d.ts +1 -1
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +42 -74
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +144 -167
- package/dest/tests/mocks.d.ts +11 -7
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +44 -23
- 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/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/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 +0 -1
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +1 -6
- 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/simulated_tx.d.ts +3 -3
- package/dest/tx/tx.d.ts +6 -2
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +10 -3
- 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/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 +15 -9
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/dest/zkpassport/index.js +17 -11
- package/package.json +12 -10
- 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 +13 -2
- 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 +2 -0
- package/src/block/l2_block.ts +33 -8
- 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_source.ts +32 -0
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
- package/src/block/proposal/attestations_and_signers.ts +1 -1
- package/src/block/proposal/committee_attestation.ts +0 -4
- package/src/block/published_l2_block.ts +0 -17
- package/src/block/test/l2_tips_store_test_suite.ts +1 -2
- 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/hash/hash.ts +0 -4
- package/src/interfaces/archiver.ts +9 -1
- package/src/interfaces/aztec-node-admin.ts +2 -2
- package/src/interfaces/aztec-node.ts +45 -0
- package/src/interfaces/block-builder.ts +1 -6
- package/src/interfaces/client.ts +0 -1
- package/src/interfaces/configs.ts +3 -0
- package/src/interfaces/epoch-prover.ts +35 -11
- 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 +215 -134
- package/src/interfaces/server_circuit_prover.ts +87 -61
- package/src/interfaces/tx_provider.ts +1 -0
- package/src/interfaces/validator.ts +19 -4
- 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_init_circuit_private_inputs.ts +5 -4
- package/src/kernel/private_kernel_prover_output.ts +1 -1
- 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 +1 -26
- 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 +78 -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/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 +31 -24
- package/src/p2p/block_proposal.ts +11 -16
- package/src/p2p/consensus_payload.ts +8 -7
- 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/client_ivc_proof.ts +86 -20
- package/src/proofs/index.ts +1 -0
- 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} +17 -18
- 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_tube_private_inputs.ts +53 -0
- package/src/rollup/public_tube_public_inputs.ts +52 -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/stats/stats.ts +19 -13
- package/src/tests/factories.ts +217 -275
- package/src/tests/mocks.ts +71 -53
- package/src/trees/index.ts +0 -1
- package/src/tx/block_header.ts +17 -32
- package/src/tx/global_variables.ts +0 -1
- package/src/tx/index.ts +2 -1
- 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 +1 -7
- package/src/tx/profiling.ts +0 -2
- package/src/tx/protocol_contracts.ts +70 -0
- package/src/tx/tx.ts +12 -3
- 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/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 +40 -28
- 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 -336
- package/dest/interfaces/pxe.d.ts.map +0 -1
- package/dest/interfaces/pxe.js +0 -101
- 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/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 -541
- package/src/logs/indexed_tagging_secret.ts +0 -48
- package/src/parity/root_parity_input.ts +0 -71
- 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
|
@@ -1,51 +1,117 @@
|
|
|
1
|
+
import { CIVC_PROOF_LENGTH } from '@aztec/constants';
|
|
1
2
|
import { randomBytes } from '@aztec/foundation/crypto';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
2
4
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
3
5
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
6
|
|
|
5
|
-
const CLIENT_IVC_PROOF_LENGTH = 172052;
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* TODO(https://github.com/AztecProtocol/aztec-packages/issues/7370) refactor this to
|
|
9
|
-
* eventually we read all these VKs from the data tree instead of passing them
|
|
10
|
-
*/
|
|
11
7
|
export class ClientIvcProof {
|
|
12
8
|
constructor(
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
public
|
|
17
|
-
) {
|
|
9
|
+
// The proof fields.
|
|
10
|
+
// For native verification, attach public inputs via `attachPublicInputs(publicInputs)`.
|
|
11
|
+
// Not using Tuple here due to the length being too high.
|
|
12
|
+
public fields: Fr[],
|
|
13
|
+
) {
|
|
14
|
+
if (fields.length !== CIVC_PROOF_LENGTH) {
|
|
15
|
+
throw new Error(`Invalid ClientIvcProof length: ${fields.length}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
18
|
|
|
19
|
-
public
|
|
20
|
-
return this.
|
|
19
|
+
public attachPublicInputs(publicInputs: Fr[]) {
|
|
20
|
+
return new ClientIvcProofWithPublicInputs([...publicInputs, ...this.fields]);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
return
|
|
23
|
+
public isEmpty() {
|
|
24
|
+
return this.fields.every(field => field.isZero());
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
static
|
|
28
|
-
return new ClientIvcProof(
|
|
27
|
+
static empty() {
|
|
28
|
+
return new ClientIvcProof(new Array(CIVC_PROOF_LENGTH).fill(Fr.ZERO));
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
static random() {
|
|
32
|
-
|
|
32
|
+
// NB: Not using Fr.random here because it slows down some tests that require a large number of txs significantly.
|
|
33
|
+
const reducedFrSize = Fr.SIZE_IN_BYTES - 1;
|
|
34
|
+
const randomFields = randomBytes(CIVC_PROOF_LENGTH * reducedFrSize);
|
|
35
|
+
const proof = Array.from(
|
|
36
|
+
{ length: CIVC_PROOF_LENGTH },
|
|
37
|
+
(_, i) => new Fr(randomFields.subarray(i * reducedFrSize, (i + 1) * reducedFrSize)),
|
|
38
|
+
);
|
|
39
|
+
return new ClientIvcProof(proof);
|
|
33
40
|
}
|
|
34
41
|
|
|
35
42
|
static get schema() {
|
|
36
43
|
return bufferSchemaFor(ClientIvcProof);
|
|
37
44
|
}
|
|
38
45
|
|
|
46
|
+
// We use this in tandem with the bufferSchemaFor to serialize to base64 strings.
|
|
39
47
|
toJSON() {
|
|
40
48
|
return this.toBuffer();
|
|
41
49
|
}
|
|
42
50
|
|
|
43
51
|
static fromBuffer(buffer: Buffer | BufferReader): ClientIvcProof {
|
|
44
52
|
const reader = BufferReader.asReader(buffer);
|
|
45
|
-
|
|
53
|
+
const proofLength = reader.readNumber();
|
|
54
|
+
const proof = reader.readArray(proofLength, Fr);
|
|
55
|
+
return new ClientIvcProof(proof);
|
|
46
56
|
}
|
|
47
57
|
|
|
48
58
|
public toBuffer() {
|
|
49
|
-
return serializeToBuffer(this.
|
|
59
|
+
return serializeToBuffer(this.fields.length, this.fields);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export class ClientIvcProofWithPublicInputs {
|
|
64
|
+
constructor(
|
|
65
|
+
// The proof fields with public inputs.
|
|
66
|
+
// For recursive verification, use without public inputs via `removePublicInputs()`.
|
|
67
|
+
public fieldsWithPublicInputs: Fr[],
|
|
68
|
+
) {
|
|
69
|
+
if (fieldsWithPublicInputs.length < CIVC_PROOF_LENGTH) {
|
|
70
|
+
throw new Error(`Invalid ClientIvcProofWithPublicInputs length: ${fieldsWithPublicInputs.length}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public getPublicInputs() {
|
|
75
|
+
const numPublicInputs = this.fieldsWithPublicInputs.length - CIVC_PROOF_LENGTH;
|
|
76
|
+
return this.fieldsWithPublicInputs.slice(0, numPublicInputs);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
public removePublicInputs() {
|
|
80
|
+
const numPublicInputs = this.fieldsWithPublicInputs.length - CIVC_PROOF_LENGTH;
|
|
81
|
+
return new ClientIvcProof(this.fieldsWithPublicInputs.slice(numPublicInputs));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
public isEmpty() {
|
|
85
|
+
return this.fieldsWithPublicInputs.every(field => field.isZero());
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
static empty() {
|
|
89
|
+
return ClientIvcProof.empty().attachPublicInputs([]);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
static get schema() {
|
|
93
|
+
return bufferSchemaFor(ClientIvcProofWithPublicInputs);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// We use this in tandem with the bufferSchemaFor to serialize to base64 strings.
|
|
97
|
+
toJSON() {
|
|
98
|
+
return this.toBuffer();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
static fromBuffer(buffer: Buffer | BufferReader): ClientIvcProofWithPublicInputs {
|
|
102
|
+
const reader = BufferReader.asReader(buffer);
|
|
103
|
+
const proofLength = reader.readNumber();
|
|
104
|
+
const proof = reader.readArray(proofLength, Fr);
|
|
105
|
+
return new ClientIvcProofWithPublicInputs(proof);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
public toBuffer() {
|
|
109
|
+
return serializeToBuffer(this.fieldsWithPublicInputs.length, this.fieldsWithPublicInputs);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Called when constructing from bb proving results.
|
|
113
|
+
static fromBufferArray(fields: Uint8Array[]): ClientIvcProofWithPublicInputs {
|
|
114
|
+
const proof = fields.map(field => Fr.fromBuffer(Buffer.from(field)));
|
|
115
|
+
return new ClientIvcProofWithPublicInputs(proof);
|
|
50
116
|
}
|
|
51
117
|
}
|
package/src/proofs/index.ts
CHANGED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { CIVC_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
|
|
2
|
+
import { BufferReader, type Bufferable, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
|
+
|
|
4
|
+
import { RecursiveProof } from '../proofs/recursive_proof.js';
|
|
5
|
+
import { VkData } from '../vks/index.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Represents the data of a recursive proof.
|
|
9
|
+
*/
|
|
10
|
+
export class ProofData<T extends Bufferable, PROOF_LENGTH extends number> {
|
|
11
|
+
constructor(
|
|
12
|
+
public publicInputs: T,
|
|
13
|
+
public proof: RecursiveProof<PROOF_LENGTH>,
|
|
14
|
+
public vkData: VkData,
|
|
15
|
+
) {}
|
|
16
|
+
|
|
17
|
+
public toBuffer(): Buffer {
|
|
18
|
+
return serializeToBuffer(this.publicInputs, this.proof, this.vkData);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public static fromBuffer<T extends Bufferable, PROOF_LENGTH extends number>(
|
|
22
|
+
buffer: Buffer | BufferReader,
|
|
23
|
+
publicInputs: {
|
|
24
|
+
fromBuffer: (reader: BufferReader) => T;
|
|
25
|
+
},
|
|
26
|
+
): ProofData<T, PROOF_LENGTH> {
|
|
27
|
+
const reader = BufferReader.asReader(buffer);
|
|
28
|
+
return new ProofData(reader.readObject(publicInputs), RecursiveProof.fromBuffer(reader), reader.readObject(VkData));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export type CivcProofData<T extends Bufferable> = ProofData<T, typeof CIVC_PROOF_LENGTH>;
|
|
33
|
+
|
|
34
|
+
export type UltraHonkProofData<T extends Bufferable> = ProofData<T, typeof RECURSIVE_PROOF_LENGTH>;
|
|
35
|
+
|
|
36
|
+
export type RollupHonkProofData<T extends Bufferable> = ProofData<T, typeof RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>;
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
export enum ProvingRequestType {
|
|
2
2
|
PUBLIC_VM,
|
|
3
|
+
PUBLIC_TUBE,
|
|
3
4
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
PRIVATE_TX_BASE_ROLLUP,
|
|
6
|
+
PUBLIC_TX_BASE_ROLLUP,
|
|
7
|
+
TX_MERGE_ROLLUP,
|
|
8
|
+
BLOCK_ROOT_FIRST_ROLLUP,
|
|
9
|
+
BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP,
|
|
10
|
+
BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP,
|
|
9
11
|
BLOCK_ROOT_ROLLUP,
|
|
10
|
-
|
|
12
|
+
BLOCK_ROOT_SINGLE_TX_ROLLUP,
|
|
11
13
|
BLOCK_MERGE_ROLLUP,
|
|
14
|
+
CHECKPOINT_ROOT_ROLLUP,
|
|
15
|
+
CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP,
|
|
16
|
+
CHECKPOINT_PADDING_ROLLUP,
|
|
17
|
+
CHECKPOINT_MERGE_ROLLUP,
|
|
12
18
|
ROOT_ROLLUP,
|
|
13
19
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
/** Recursive Client IVC verification to connect private to public or rollup */
|
|
17
|
-
TUBE_PROOF,
|
|
20
|
+
PARITY_BASE,
|
|
21
|
+
PARITY_ROOT,
|
|
18
22
|
}
|
|
@@ -1,39 +1,10 @@
|
|
|
1
1
|
import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED } from '@aztec/constants';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
-
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
3
|
|
|
5
4
|
import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
|
|
6
|
-
import {
|
|
7
|
-
import { VkData } from '../vks/vk_data.js';
|
|
5
|
+
import type { ProofData } from '../proofs/proof_data.js';
|
|
8
6
|
|
|
9
|
-
export
|
|
10
|
-
constructor(
|
|
11
|
-
public publicInputs: AvmCircuitPublicInputs,
|
|
12
|
-
public proof: RecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>,
|
|
13
|
-
public vkData: VkData,
|
|
14
|
-
) {}
|
|
15
|
-
|
|
16
|
-
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
17
|
-
const reader = BufferReader.asReader(buffer);
|
|
18
|
-
return new AvmProofData(
|
|
19
|
-
reader.readObject(AvmCircuitPublicInputs),
|
|
20
|
-
RecursiveProof.fromBuffer(reader),
|
|
21
|
-
reader.readObject(VkData),
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
toBuffer() {
|
|
26
|
-
return serializeToBuffer(this.publicInputs, this.proof, this.vkData);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
static empty() {
|
|
30
|
-
return new AvmProofData(
|
|
31
|
-
AvmCircuitPublicInputs.empty(),
|
|
32
|
-
makeEmptyRecursiveProof(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED),
|
|
33
|
-
VkData.empty(),
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
7
|
+
export type AvmProofData = ProofData<AvmCircuitPublicInputs, typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
|
|
37
8
|
|
|
38
9
|
// TODO(#14234)[Unconditional PIs validation]: remove this function.
|
|
39
10
|
export function enhanceProofWithPiValidationFlag(proof: Fr[], skipPublicInputsValidation: boolean): Fr[] {
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { SpongeBlob } from '@aztec/blob-lib';
|
|
1
|
+
import { SpongeBlob } from '@aztec/blob-lib/types';
|
|
2
2
|
import { ARCHIVE_HEIGHT, MAX_CONTRACT_CLASS_LOGS_PER_TX } from '@aztec/constants';
|
|
3
3
|
import { makeTuple } from '@aztec/foundation/array';
|
|
4
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
5
|
import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
6
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
6
|
-
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
7
7
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
8
8
|
|
|
9
|
-
import { PublicDataHint } from '../avm/public_data_hint.js';
|
|
10
9
|
import { ContractClassLogFields } from '../logs/index.js';
|
|
11
|
-
import { AppendOnlyTreeSnapshot } from '../trees/
|
|
10
|
+
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
11
|
+
import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
12
12
|
import { PartialStateReference } from '../tx/partial_state_reference.js';
|
|
13
13
|
import { BlockConstantData } from './block_constant_data.js';
|
|
14
|
-
import {
|
|
14
|
+
import { TreeSnapshotDiffHints } from './tree_snapshot_diff_hints.js';
|
|
15
15
|
|
|
16
16
|
export type BaseRollupHints = PrivateBaseRollupHints | PublicBaseRollupHints;
|
|
17
17
|
|
|
@@ -28,15 +28,15 @@ export class PrivateBaseRollupHints {
|
|
|
28
28
|
/**
|
|
29
29
|
* Hints used while proving state diff validity.
|
|
30
30
|
*/
|
|
31
|
-
public
|
|
31
|
+
public treeSnapshotDiffHints: TreeSnapshotDiffHints,
|
|
32
32
|
/**
|
|
33
|
-
* Public data
|
|
33
|
+
* Public data tree leaf preimage for accessing the balance of the fee payer.
|
|
34
34
|
*/
|
|
35
|
-
public
|
|
35
|
+
public feePayerBalanceLeafPreimage: PublicDataTreeLeafPreimage,
|
|
36
36
|
/**
|
|
37
37
|
* Membership witnesses of blocks referred by each of the 2 kernels.
|
|
38
38
|
*/
|
|
39
|
-
public
|
|
39
|
+
public anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
|
|
40
40
|
/**
|
|
41
41
|
* Preimages to the kernel's contractClassLogsHashes.
|
|
42
42
|
*/
|
|
@@ -55,9 +55,9 @@ export class PrivateBaseRollupHints {
|
|
|
55
55
|
return [
|
|
56
56
|
fields.start,
|
|
57
57
|
fields.startSpongeBlob,
|
|
58
|
-
fields.
|
|
59
|
-
fields.
|
|
60
|
-
fields.
|
|
58
|
+
fields.treeSnapshotDiffHints,
|
|
59
|
+
fields.feePayerBalanceLeafPreimage,
|
|
60
|
+
fields.anchorBlockArchiveSiblingPath,
|
|
61
61
|
fields.contractClassLogsFields,
|
|
62
62
|
fields.constants,
|
|
63
63
|
] as const;
|
|
@@ -84,9 +84,9 @@ export class PrivateBaseRollupHints {
|
|
|
84
84
|
return new PrivateBaseRollupHints(
|
|
85
85
|
reader.readObject(PartialStateReference),
|
|
86
86
|
reader.readObject(SpongeBlob),
|
|
87
|
-
reader.readObject(
|
|
88
|
-
reader.readObject(
|
|
89
|
-
|
|
87
|
+
reader.readObject(TreeSnapshotDiffHints),
|
|
88
|
+
reader.readObject(PublicDataTreeLeafPreimage),
|
|
89
|
+
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
90
90
|
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, () => reader.readObject(ContractClassLogFields)),
|
|
91
91
|
reader.readObject(BlockConstantData),
|
|
92
92
|
);
|
|
@@ -100,9 +100,9 @@ export class PrivateBaseRollupHints {
|
|
|
100
100
|
return new PrivateBaseRollupHints(
|
|
101
101
|
PartialStateReference.empty(),
|
|
102
102
|
SpongeBlob.empty(),
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
TreeSnapshotDiffHints.empty(),
|
|
104
|
+
PublicDataTreeLeafPreimage.empty(),
|
|
105
|
+
makeTuple(ARCHIVE_HEIGHT, Fr.zero),
|
|
106
106
|
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ContractClassLogFields.empty),
|
|
107
107
|
BlockConstantData.empty(),
|
|
108
108
|
);
|
|
@@ -122,7 +122,7 @@ export class PublicBaseRollupHints {
|
|
|
122
122
|
/**
|
|
123
123
|
* Membership witnesses of blocks referred by each of the 2 kernels.
|
|
124
124
|
*/
|
|
125
|
-
public
|
|
125
|
+
public anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
|
|
126
126
|
/**
|
|
127
127
|
* Preimages to the kernel's contractClassLogsHashes.
|
|
128
128
|
*/
|
|
@@ -137,7 +137,7 @@ export class PublicBaseRollupHints {
|
|
|
137
137
|
return [
|
|
138
138
|
fields.startSpongeBlob,
|
|
139
139
|
fields.lastArchive,
|
|
140
|
-
fields.
|
|
140
|
+
fields.anchorBlockArchiveSiblingPath,
|
|
141
141
|
fields.contractClassLogsFields,
|
|
142
142
|
] as const;
|
|
143
143
|
}
|
|
@@ -163,7 +163,7 @@ export class PublicBaseRollupHints {
|
|
|
163
163
|
return new PublicBaseRollupHints(
|
|
164
164
|
reader.readObject(SpongeBlob),
|
|
165
165
|
reader.readObject(AppendOnlyTreeSnapshot),
|
|
166
|
-
|
|
166
|
+
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
167
167
|
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, () => reader.readObject(ContractClassLogFields)),
|
|
168
168
|
);
|
|
169
169
|
}
|
|
@@ -176,7 +176,7 @@ export class PublicBaseRollupHints {
|
|
|
176
176
|
return new PublicBaseRollupHints(
|
|
177
177
|
SpongeBlob.empty(),
|
|
178
178
|
AppendOnlyTreeSnapshot.empty(),
|
|
179
|
-
|
|
179
|
+
makeTuple(ARCHIVE_HEIGHT, Fr.zero),
|
|
180
180
|
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ContractClassLogFields.empty),
|
|
181
181
|
);
|
|
182
182
|
}
|
|
@@ -12,14 +12,21 @@ export class BlockConstantData {
|
|
|
12
12
|
constructor(
|
|
13
13
|
/** Archive tree snapshot at the very beginning of the entire rollup. */
|
|
14
14
|
public lastArchive: AppendOnlyTreeSnapshot,
|
|
15
|
-
/**
|
|
16
|
-
|
|
15
|
+
/**
|
|
16
|
+
* L1-to-L2 message tree snapshot after this block lands.
|
|
17
|
+
* For the first block in a checkpoint, this should be the snapshot after inserting the new l1-to-l2 message subtree
|
|
18
|
+
* into the last l1-to-l2 tree snapshot in `last_archive`.
|
|
19
|
+
* For subsequent blocks, this should match the snapshot of the previous block.
|
|
20
|
+
*/
|
|
21
|
+
public l1ToL2TreeSnapshot: AppendOnlyTreeSnapshot,
|
|
17
22
|
/** Root of the verification key tree. */
|
|
18
23
|
public vkTreeRoot: Fr,
|
|
19
|
-
/**
|
|
20
|
-
public
|
|
24
|
+
/** Hash of the protocol contracts list. */
|
|
25
|
+
public protocolContractsHash: Fr,
|
|
21
26
|
/** Global variables for the block. */
|
|
22
27
|
public globalVariables: GlobalVariables,
|
|
28
|
+
/** Identifier of the prover. */
|
|
29
|
+
public proverId: Fr,
|
|
23
30
|
) {}
|
|
24
31
|
|
|
25
32
|
static from(fields: FieldsOf<BlockConstantData>): BlockConstantData {
|
|
@@ -34,16 +41,18 @@ export class BlockConstantData {
|
|
|
34
41
|
Fr.fromBuffer(reader),
|
|
35
42
|
Fr.fromBuffer(reader),
|
|
36
43
|
reader.readObject(GlobalVariables),
|
|
44
|
+
Fr.fromBuffer(reader),
|
|
37
45
|
);
|
|
38
46
|
}
|
|
39
47
|
|
|
40
48
|
static getFields(fields: FieldsOf<BlockConstantData>) {
|
|
41
49
|
return [
|
|
42
50
|
fields.lastArchive,
|
|
43
|
-
fields.
|
|
51
|
+
fields.l1ToL2TreeSnapshot,
|
|
44
52
|
fields.vkTreeRoot,
|
|
45
|
-
fields.
|
|
53
|
+
fields.protocolContractsHash,
|
|
46
54
|
fields.globalVariables,
|
|
55
|
+
fields.proverId,
|
|
47
56
|
] as const;
|
|
48
57
|
}
|
|
49
58
|
|
|
@@ -54,6 +63,7 @@ export class BlockConstantData {
|
|
|
54
63
|
Fr.ZERO,
|
|
55
64
|
Fr.ZERO,
|
|
56
65
|
GlobalVariables.empty(),
|
|
66
|
+
Fr.ZERO,
|
|
57
67
|
);
|
|
58
68
|
}
|
|
59
69
|
|
|
@@ -2,17 +2,21 @@ import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
|
2
2
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
3
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { ProofData, type RollupHonkProofData } from '../proofs/proof_data.js';
|
|
6
|
+
import { BlockRollupPublicInputs } from './block_rollup_public_inputs.js';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Represents inputs of the block merge rollup circuit.
|
|
9
10
|
*/
|
|
10
|
-
export class
|
|
11
|
+
export class BlockMergeRollupPrivateInputs {
|
|
11
12
|
constructor(
|
|
12
13
|
/**
|
|
13
14
|
* Previous rollup data from the 2 block merge or block root rollup circuits that preceded this merge rollup circuit.
|
|
14
15
|
*/
|
|
15
|
-
public
|
|
16
|
+
public previousRollups: [
|
|
17
|
+
RollupHonkProofData<BlockRollupPublicInputs>,
|
|
18
|
+
RollupHonkProofData<BlockRollupPublicInputs>,
|
|
19
|
+
],
|
|
16
20
|
) {}
|
|
17
21
|
|
|
18
22
|
/**
|
|
@@ -20,7 +24,7 @@ export class BlockMergeRollupInputs {
|
|
|
20
24
|
* @returns The inputs serialized to a buffer.
|
|
21
25
|
*/
|
|
22
26
|
toBuffer() {
|
|
23
|
-
return serializeToBuffer(this.
|
|
27
|
+
return serializeToBuffer(this.previousRollups);
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
/**
|
|
@@ -34,23 +38,23 @@ export class BlockMergeRollupInputs {
|
|
|
34
38
|
/**
|
|
35
39
|
* Deserializes the inputs from a buffer.
|
|
36
40
|
* @param buffer - The buffer to deserialize from.
|
|
37
|
-
* @returns A new
|
|
41
|
+
* @returns A new BlockMergeRollupPrivateInputs instance.
|
|
38
42
|
*/
|
|
39
43
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
40
44
|
const reader = BufferReader.asReader(buffer);
|
|
41
|
-
return new
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
return new BlockMergeRollupPrivateInputs([
|
|
46
|
+
ProofData.fromBuffer(reader, BlockRollupPublicInputs),
|
|
47
|
+
ProofData.fromBuffer(reader, BlockRollupPublicInputs),
|
|
44
48
|
]);
|
|
45
49
|
}
|
|
46
50
|
|
|
47
51
|
/**
|
|
48
52
|
* Deserializes the inputs from a hex string.
|
|
49
53
|
* @param str - A hex string to deserialize from.
|
|
50
|
-
* @returns A new
|
|
54
|
+
* @returns A new BlockMergeRollupPrivateInputs instance.
|
|
51
55
|
*/
|
|
52
56
|
static fromString(str: string) {
|
|
53
|
-
return
|
|
57
|
+
return BlockMergeRollupPrivateInputs.fromBuffer(hexToBuffer(str));
|
|
54
58
|
}
|
|
55
59
|
|
|
56
60
|
/** Returns a hex representation for JSON serialization. */
|
|
@@ -60,6 +64,6 @@ export class BlockMergeRollupInputs {
|
|
|
60
64
|
|
|
61
65
|
/** Creates an instance from a hex string. */
|
|
62
66
|
static get schema() {
|
|
63
|
-
return bufferSchemaFor(
|
|
67
|
+
return bufferSchemaFor(BlockMergeRollupPrivateInputs);
|
|
64
68
|
}
|
|
65
69
|
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { SpongeBlob } from '@aztec/blob-lib/types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
+
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
4
|
+
import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
|
+
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
6
|
+
|
|
7
|
+
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
8
|
+
import { StateReference } from '../tx/state_reference.js';
|
|
9
|
+
import type { UInt64 } from '../types/shared.js';
|
|
10
|
+
import { CheckpointConstantData } from './checkpoint_constant_data.js';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Output of the block root and block merge rollup circuits.
|
|
14
|
+
*/
|
|
15
|
+
export class BlockRollupPublicInputs {
|
|
16
|
+
constructor(
|
|
17
|
+
/**
|
|
18
|
+
* Constants for the entire checkpoint.
|
|
19
|
+
*/
|
|
20
|
+
public constants: CheckpointConstantData,
|
|
21
|
+
/**
|
|
22
|
+
* Archive tree immediately before this block range.
|
|
23
|
+
*/
|
|
24
|
+
public previousArchive: AppendOnlyTreeSnapshot,
|
|
25
|
+
/**
|
|
26
|
+
* Archive tree after applying this block range.
|
|
27
|
+
*/
|
|
28
|
+
public newArchive: AppendOnlyTreeSnapshot,
|
|
29
|
+
/**
|
|
30
|
+
* State reference immediately before this block range.
|
|
31
|
+
*/
|
|
32
|
+
public startState: StateReference,
|
|
33
|
+
/**
|
|
34
|
+
* State reference after applying this block range.
|
|
35
|
+
*/
|
|
36
|
+
public endState: StateReference,
|
|
37
|
+
/**
|
|
38
|
+
* Sponge state to absorb blob inputs at the start of this block range.
|
|
39
|
+
*/
|
|
40
|
+
public startSpongeBlob: SpongeBlob,
|
|
41
|
+
/**
|
|
42
|
+
* Sponge state to absorb blob inputs at the end of this block range.
|
|
43
|
+
*/
|
|
44
|
+
public endSpongeBlob: SpongeBlob,
|
|
45
|
+
/**
|
|
46
|
+
* Timestamp of the first block in this block range.
|
|
47
|
+
*/
|
|
48
|
+
public startTimestamp: UInt64,
|
|
49
|
+
/**
|
|
50
|
+
* Timestamp of the last block in this block range.
|
|
51
|
+
*/
|
|
52
|
+
public endTimestamp: UInt64,
|
|
53
|
+
/**
|
|
54
|
+
* SHA256 hash of l1 to l2 messages.
|
|
55
|
+
*/
|
|
56
|
+
public inHash: Fr,
|
|
57
|
+
/**
|
|
58
|
+
* SHA256 hash of L2 to L1 messages created in this block range.
|
|
59
|
+
*/
|
|
60
|
+
public outHash: Fr,
|
|
61
|
+
/**
|
|
62
|
+
* The summed transaction fees of all the txs in this block range.
|
|
63
|
+
*/
|
|
64
|
+
public accumulatedFees: Fr,
|
|
65
|
+
/**
|
|
66
|
+
* The summed mana used of all the txs in this block range.
|
|
67
|
+
*/
|
|
68
|
+
public accumulatedManaUsed: Fr,
|
|
69
|
+
) {}
|
|
70
|
+
|
|
71
|
+
static fromBuffer(buffer: Buffer | BufferReader): BlockRollupPublicInputs {
|
|
72
|
+
const reader = BufferReader.asReader(buffer);
|
|
73
|
+
return new BlockRollupPublicInputs(
|
|
74
|
+
reader.readObject(CheckpointConstantData),
|
|
75
|
+
reader.readObject(AppendOnlyTreeSnapshot),
|
|
76
|
+
reader.readObject(AppendOnlyTreeSnapshot),
|
|
77
|
+
reader.readObject(StateReference),
|
|
78
|
+
reader.readObject(StateReference),
|
|
79
|
+
reader.readObject(SpongeBlob),
|
|
80
|
+
reader.readObject(SpongeBlob),
|
|
81
|
+
reader.readUInt64(),
|
|
82
|
+
reader.readUInt64(),
|
|
83
|
+
Fr.fromBuffer(reader),
|
|
84
|
+
Fr.fromBuffer(reader),
|
|
85
|
+
Fr.fromBuffer(reader),
|
|
86
|
+
Fr.fromBuffer(reader),
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
toBuffer() {
|
|
91
|
+
return serializeToBuffer(
|
|
92
|
+
this.constants,
|
|
93
|
+
this.previousArchive,
|
|
94
|
+
this.newArchive,
|
|
95
|
+
this.startState,
|
|
96
|
+
this.endState,
|
|
97
|
+
this.startSpongeBlob,
|
|
98
|
+
this.endSpongeBlob,
|
|
99
|
+
bigintToUInt64BE(this.startTimestamp),
|
|
100
|
+
bigintToUInt64BE(this.endTimestamp),
|
|
101
|
+
this.inHash,
|
|
102
|
+
this.outHash,
|
|
103
|
+
this.accumulatedFees,
|
|
104
|
+
this.accumulatedManaUsed,
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
toString() {
|
|
109
|
+
return bufferToHex(this.toBuffer());
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
static fromString(str: string) {
|
|
113
|
+
return BlockRollupPublicInputs.fromBuffer(hexToBuffer(str));
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
toJSON() {
|
|
117
|
+
return this.toBuffer();
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
static get schema() {
|
|
121
|
+
return bufferSchemaFor(BlockRollupPublicInputs);
|
|
122
|
+
}
|
|
123
|
+
}
|