@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/src/p2p/gossipable.ts
CHANGED
|
@@ -1,33 +1,23 @@
|
|
|
1
1
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
|
-
import { BufferReader,
|
|
2
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
3
|
|
|
4
4
|
import type { TopicType } from './topic_type.js';
|
|
5
5
|
|
|
6
6
|
export class P2PMessage {
|
|
7
|
-
constructor(
|
|
8
|
-
public readonly publishTime: Date,
|
|
9
|
-
public readonly id: Buffer32,
|
|
10
|
-
public readonly payload: Buffer,
|
|
11
|
-
) {}
|
|
7
|
+
constructor(public readonly payload: Buffer) {}
|
|
12
8
|
|
|
13
|
-
static
|
|
14
|
-
return new P2PMessage(
|
|
9
|
+
static fromGossipable(message: Gossipable): P2PMessage {
|
|
10
|
+
return new P2PMessage(message.toBuffer());
|
|
15
11
|
}
|
|
16
12
|
|
|
17
13
|
static fromMessageData(messageData: Buffer): P2PMessage {
|
|
18
14
|
const reader = new BufferReader(messageData);
|
|
19
|
-
const publishTime = reader.readUInt64();
|
|
20
|
-
const id = Buffer32.fromBuffer(reader);
|
|
21
15
|
const payload = reader.readBuffer();
|
|
22
|
-
return new P2PMessage(
|
|
16
|
+
return new P2PMessage(payload);
|
|
23
17
|
}
|
|
24
18
|
|
|
25
19
|
toMessageData(): Buffer {
|
|
26
|
-
return serializeToBuffer([
|
|
27
|
-
bigintToUInt64BE(BigInt(this.publishTime.getTime())),
|
|
28
|
-
this.id,
|
|
29
|
-
serializeToBuffer(this.payload.length, this.payload),
|
|
30
|
-
]);
|
|
20
|
+
return serializeToBuffer([serializeToBuffer(this.payload.length, this.payload)]);
|
|
31
21
|
}
|
|
32
22
|
}
|
|
33
23
|
|
|
@@ -38,15 +28,12 @@ export class P2PMessage {
|
|
|
38
28
|
*/
|
|
39
29
|
export abstract class Gossipable {
|
|
40
30
|
private cachedId: Buffer32 | undefined;
|
|
41
|
-
/** p2p
|
|
42
|
-
*
|
|
43
|
-
* - The p2p topic identifier, this determines how the message is handled
|
|
44
|
-
*/
|
|
31
|
+
/** The p2p topic identifier, this determines how the message is handled */
|
|
45
32
|
static p2pTopic: TopicType;
|
|
46
33
|
|
|
47
|
-
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
34
|
+
/**
|
|
35
|
+
* A digest of the message information **used for logging only**.
|
|
36
|
+
* The identifier used for deduplication is `getMsgIdFn` as defined in `encoding.ts` which is a hash over topic and data.
|
|
50
37
|
*/
|
|
51
38
|
async p2pMessageIdentifier(): Promise<Buffer32> {
|
|
52
39
|
if (this.cachedId) {
|
|
@@ -58,10 +45,6 @@ export abstract class Gossipable {
|
|
|
58
45
|
|
|
59
46
|
abstract generateP2PMessageIdentifier(): Promise<Buffer32>;
|
|
60
47
|
|
|
61
|
-
/** To Buffer
|
|
62
|
-
*
|
|
63
|
-
* - Serialization method
|
|
64
|
-
*/
|
|
65
48
|
abstract toBuffer(): Buffer;
|
|
66
49
|
|
|
67
50
|
toMessage(): Buffer {
|
|
@@ -70,7 +53,6 @@ export abstract class Gossipable {
|
|
|
70
53
|
|
|
71
54
|
/**
|
|
72
55
|
* Get the size of the gossipable object.
|
|
73
|
-
*
|
|
74
56
|
* This is used for metrics recording.
|
|
75
57
|
*/
|
|
76
58
|
abstract getSize(): number;
|
package/src/p2p/topic_type.ts
CHANGED
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
import { P2PClientType } from './client_type.js';
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
*
|
|
5
|
-
* The topic channel identifier
|
|
6
|
-
* @param topicType
|
|
7
|
-
* @returns
|
|
3
|
+
/**
|
|
4
|
+
* Creates the topic channel identifier string from a given topic type
|
|
8
5
|
*/
|
|
9
6
|
export function createTopicString(topicType: TopicType, protocolVersion: string) {
|
|
10
7
|
return `/aztec/${TopicType[topicType]}/${protocolVersion}`;
|
|
11
8
|
}
|
|
12
9
|
|
|
13
|
-
/**
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
/** Extracts the topic type from a topic string */
|
|
11
|
+
export function getTopicFromString(topicStr: string): TopicType | undefined {
|
|
12
|
+
const parts = topicStr.split('/');
|
|
13
|
+
if (parts.length < 4 || parts[1] !== 'aztec') {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
const topic = parts[2];
|
|
17
|
+
if (Object.values(TopicType).includes(topic as TopicType)) {
|
|
18
|
+
return topic as TopicType;
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
|
|
16
23
|
export enum TopicType {
|
|
17
24
|
tx = 'tx',
|
|
18
25
|
block_proposal = 'block_proposal',
|
package/src/parity/index.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './parity_base_private_inputs.js';
|
|
2
2
|
export * from './parity_public_inputs.js';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './root_parity_inputs.js';
|
|
3
|
+
export * from './parity_root_private_inputs.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
4
4
|
import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
6
6
|
|
|
7
|
-
export class
|
|
7
|
+
export class ParityBasePrivateInputs {
|
|
8
8
|
constructor(
|
|
9
9
|
/** Aggregated proof of all the parity circuit iterations. */
|
|
10
10
|
public readonly msgs: Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>,
|
|
@@ -12,15 +12,17 @@ export class BaseParityInputs {
|
|
|
12
12
|
public readonly vkTreeRoot: Fr,
|
|
13
13
|
) {}
|
|
14
14
|
|
|
15
|
-
public static fromSlice(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
public static fromSlice(array: Fr[], index: number, vkTreeRoot: Fr): ParityBasePrivateInputs {
|
|
16
|
+
// Can't use Tuple<Fr, typeof NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP> due to length
|
|
17
|
+
if (array.length !== NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP) {
|
|
18
|
+
throw new Error(
|
|
19
|
+
`Msgs array length must be NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP=${NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP}`,
|
|
20
|
+
);
|
|
21
|
+
}
|
|
20
22
|
const start = index * NUM_MSGS_PER_BASE_PARITY;
|
|
21
23
|
const end = start + NUM_MSGS_PER_BASE_PARITY;
|
|
22
24
|
const msgs = array.slice(start, end);
|
|
23
|
-
return new
|
|
25
|
+
return new ParityBasePrivateInputs(msgs as Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>, vkTreeRoot);
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
/** Serializes the inputs to a buffer. */
|
|
@@ -39,7 +41,7 @@ export class BaseParityInputs {
|
|
|
39
41
|
*/
|
|
40
42
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
41
43
|
const reader = BufferReader.asReader(buffer);
|
|
42
|
-
return new
|
|
44
|
+
return new ParityBasePrivateInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader));
|
|
43
45
|
}
|
|
44
46
|
|
|
45
47
|
/**
|
|
@@ -48,7 +50,7 @@ export class BaseParityInputs {
|
|
|
48
50
|
* @returns - The deserialized inputs.
|
|
49
51
|
*/
|
|
50
52
|
static fromString(str: string) {
|
|
51
|
-
return
|
|
53
|
+
return ParityBasePrivateInputs.fromBuffer(hexToBuffer(str));
|
|
52
54
|
}
|
|
53
55
|
|
|
54
56
|
/** Returns a buffer representation for JSON serialization. */
|
|
@@ -58,6 +60,6 @@ export class BaseParityInputs {
|
|
|
58
60
|
|
|
59
61
|
/** Creates an instance from a hex string. */
|
|
60
62
|
static get schema() {
|
|
61
|
-
return bufferSchemaFor(
|
|
63
|
+
return bufferSchemaFor(ParityBasePrivateInputs);
|
|
62
64
|
}
|
|
63
65
|
}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { NUM_BASE_PARITY_PER_ROOT_PARITY
|
|
1
|
+
import { NUM_BASE_PARITY_PER_ROOT_PARITY } from '@aztec/constants';
|
|
2
|
+
import { makeTuple } from '@aztec/foundation/array';
|
|
2
3
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
3
4
|
import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
5
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
5
6
|
|
|
6
|
-
import {
|
|
7
|
+
import { ProofData, type UltraHonkProofData } from '../proofs/proof_data.js';
|
|
8
|
+
import { ParityPublicInputs } from './parity_public_inputs.js';
|
|
7
9
|
|
|
8
|
-
export
|
|
10
|
+
export type ParityBaseProofData = UltraHonkProofData<ParityPublicInputs>;
|
|
11
|
+
|
|
12
|
+
export class ParityRootPrivateInputs {
|
|
9
13
|
constructor(
|
|
10
|
-
/** Public inputs of
|
|
11
|
-
public readonly children: Tuple<
|
|
12
|
-
RootParityInput<typeof RECURSIVE_PROOF_LENGTH>,
|
|
13
|
-
typeof NUM_BASE_PARITY_PER_ROOT_PARITY
|
|
14
|
-
>,
|
|
14
|
+
/** Public inputs of the parity base circuits and their proofs and vk data. */
|
|
15
|
+
public readonly children: Tuple<ParityBaseProofData, typeof NUM_BASE_PARITY_PER_ROOT_PARITY>,
|
|
15
16
|
) {}
|
|
16
17
|
|
|
17
18
|
/**
|
|
@@ -19,7 +20,7 @@ export class RootParityInputs {
|
|
|
19
20
|
* @returns The inputs serialized to a buffer.
|
|
20
21
|
*/
|
|
21
22
|
toBuffer() {
|
|
22
|
-
return serializeToBuffer(
|
|
23
|
+
return serializeToBuffer(this.children);
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
/**
|
|
@@ -33,25 +34,22 @@ export class RootParityInputs {
|
|
|
33
34
|
/**
|
|
34
35
|
* Deserializes the inputs from a buffer.
|
|
35
36
|
* @param buffer - The buffer to deserialize from.
|
|
36
|
-
* @returns A new
|
|
37
|
+
* @returns A new ParityRootPrivateInputs instance.
|
|
37
38
|
*/
|
|
38
39
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
39
40
|
const reader = BufferReader.asReader(buffer);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
);
|
|
43
|
-
return new RootParityInputs(
|
|
44
|
-
tuple as Tuple<RootParityInput<typeof RECURSIVE_PROOF_LENGTH>, typeof NUM_BASE_PARITY_PER_ROOT_PARITY>,
|
|
41
|
+
return new ParityRootPrivateInputs(
|
|
42
|
+
makeTuple(NUM_BASE_PARITY_PER_ROOT_PARITY, () => ProofData.fromBuffer(reader, ParityPublicInputs)),
|
|
45
43
|
);
|
|
46
44
|
}
|
|
47
45
|
|
|
48
46
|
/**
|
|
49
47
|
* Deserializes the inputs from a hex string.
|
|
50
48
|
* @param str - A hex string to deserialize from.
|
|
51
|
-
* @returns A new
|
|
49
|
+
* @returns A new ParityRootPrivateInputs instance.
|
|
52
50
|
*/
|
|
53
51
|
static fromString(str: string) {
|
|
54
|
-
return
|
|
52
|
+
return ParityRootPrivateInputs.fromBuffer(hexToBuffer(str));
|
|
55
53
|
}
|
|
56
54
|
|
|
57
55
|
/** Returns a buffer representation for JSON serialization. */
|
|
@@ -61,6 +59,6 @@ export class RootParityInputs {
|
|
|
61
59
|
|
|
62
60
|
/** Creates an instance from a hex string. */
|
|
63
61
|
static get schema() {
|
|
64
|
-
return bufferSchemaFor(
|
|
62
|
+
return bufferSchemaFor(ParityRootPrivateInputs);
|
|
65
63
|
}
|
|
66
64
|
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { CHONK_PROOF_LENGTH } from '@aztec/constants';
|
|
2
|
+
import { randomBytes } from '@aztec/foundation/crypto';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
5
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
+
|
|
7
|
+
// CHONK: "Client Honk" - An UltraHonk variant with incremental folding and delayed non-native arithmetic.
|
|
8
|
+
export class ChonkProof {
|
|
9
|
+
constructor(
|
|
10
|
+
// The proof fields.
|
|
11
|
+
// For native verification, attach public inputs via `attachPublicInputs(publicInputs)`.
|
|
12
|
+
// Not using Tuple here due to the length being too high.
|
|
13
|
+
public fields: Fr[],
|
|
14
|
+
) {
|
|
15
|
+
if (fields.length !== CHONK_PROOF_LENGTH) {
|
|
16
|
+
throw new Error(`Invalid ChonkProof length: ${fields.length}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public attachPublicInputs(publicInputs: Fr[]) {
|
|
21
|
+
return new ChonkProofWithPublicInputs([...publicInputs, ...this.fields]);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
public isEmpty() {
|
|
25
|
+
return this.fields.every(field => field.isZero());
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static empty() {
|
|
29
|
+
return new ChonkProof(new Array(CHONK_PROOF_LENGTH).fill(Fr.ZERO));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static random() {
|
|
33
|
+
// NB: Not using Fr.random here because it slows down some tests that require a large number of txs significantly.
|
|
34
|
+
const reducedFrSize = Fr.SIZE_IN_BYTES - 1;
|
|
35
|
+
const randomFields = randomBytes(CHONK_PROOF_LENGTH * reducedFrSize);
|
|
36
|
+
const proof = Array.from(
|
|
37
|
+
{ length: CHONK_PROOF_LENGTH },
|
|
38
|
+
(_, i) => new Fr(randomFields.subarray(i * reducedFrSize, (i + 1) * reducedFrSize)),
|
|
39
|
+
);
|
|
40
|
+
return new ChonkProof(proof);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static get schema() {
|
|
44
|
+
return bufferSchemaFor(ChonkProof);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// We use this in tandem with the bufferSchemaFor to serialize to base64 strings.
|
|
48
|
+
toJSON() {
|
|
49
|
+
return this.toBuffer();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
static fromBuffer(buffer: Buffer | BufferReader): ChonkProof {
|
|
53
|
+
const reader = BufferReader.asReader(buffer);
|
|
54
|
+
const proofLength = reader.readNumber();
|
|
55
|
+
const proof = reader.readArray(proofLength, Fr);
|
|
56
|
+
return new ChonkProof(proof);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
public toBuffer() {
|
|
60
|
+
return serializeToBuffer(this.fields.length, this.fields);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export class ChonkProofWithPublicInputs {
|
|
65
|
+
constructor(
|
|
66
|
+
// The proof fields with public inputs.
|
|
67
|
+
// For recursive verification, use without public inputs via `removePublicInputs()`.
|
|
68
|
+
public fieldsWithPublicInputs: Fr[],
|
|
69
|
+
) {
|
|
70
|
+
if (fieldsWithPublicInputs.length < CHONK_PROOF_LENGTH) {
|
|
71
|
+
throw new Error(`Invalid ChonkProofWithPublicInputs length: ${fieldsWithPublicInputs.length}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
public getPublicInputs() {
|
|
76
|
+
const numPublicInputs = this.fieldsWithPublicInputs.length - CHONK_PROOF_LENGTH;
|
|
77
|
+
return this.fieldsWithPublicInputs.slice(0, numPublicInputs);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
public removePublicInputs() {
|
|
81
|
+
const numPublicInputs = this.fieldsWithPublicInputs.length - CHONK_PROOF_LENGTH;
|
|
82
|
+
return new ChonkProof(this.fieldsWithPublicInputs.slice(numPublicInputs));
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
public isEmpty() {
|
|
86
|
+
return this.fieldsWithPublicInputs.every(field => field.isZero());
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
static empty() {
|
|
90
|
+
return ChonkProof.empty().attachPublicInputs([]);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
static get schema() {
|
|
94
|
+
return bufferSchemaFor(ChonkProofWithPublicInputs);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// We use this in tandem with the bufferSchemaFor to serialize to base64 strings.
|
|
98
|
+
toJSON() {
|
|
99
|
+
return this.toBuffer();
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
static fromBuffer(buffer: Buffer | BufferReader): ChonkProofWithPublicInputs {
|
|
103
|
+
const reader = BufferReader.asReader(buffer);
|
|
104
|
+
const proofLength = reader.readNumber();
|
|
105
|
+
const proof = reader.readArray(proofLength, Fr);
|
|
106
|
+
return new ChonkProofWithPublicInputs(proof);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
public toBuffer() {
|
|
110
|
+
return serializeToBuffer(this.fieldsWithPublicInputs.length, this.fieldsWithPublicInputs);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Called when constructing from bb proving results.
|
|
114
|
+
static fromBufferArray(fields: Uint8Array[]): ChonkProofWithPublicInputs {
|
|
115
|
+
const proof = fields.map(field => Fr.fromBuffer(Buffer.from(field)));
|
|
116
|
+
return new ChonkProofWithPublicInputs(proof);
|
|
117
|
+
}
|
|
118
|
+
}
|
package/src/proofs/index.ts
CHANGED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { CHONK_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 ChonkProofData<T extends Bufferable> = ProofData<T, typeof CHONK_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_CHONK_VERIFIER,
|
|
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
|
}
|