@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
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
import { SpongeBlob } from '@aztec/blob-lib/types';
|
|
2
|
+
import { ARCHIVE_HEIGHT, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH } from '@aztec/constants';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
5
|
+
import { BufferReader, type Tuple, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
+
import type { FieldsOf } from '@aztec/foundation/types';
|
|
7
|
+
|
|
8
|
+
import { ParityPublicInputs } from '../parity/parity_public_inputs.js';
|
|
9
|
+
import { ProofData, type RollupHonkProofData, type UltraHonkProofData } from '../proofs/proof_data.js';
|
|
10
|
+
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
11
|
+
import { StateReference } from '../tx/state_reference.js';
|
|
12
|
+
import type { UInt64 } from '../types/shared.js';
|
|
13
|
+
import { CheckpointConstantData } from './checkpoint_constant_data.js';
|
|
14
|
+
import { TxRollupPublicInputs } from './tx_rollup_public_inputs.js';
|
|
15
|
+
|
|
16
|
+
export class BlockRootFirstRollupPrivateInputs {
|
|
17
|
+
constructor(
|
|
18
|
+
/**
|
|
19
|
+
* The original and converted roots of the L1 to L2 messages subtrees.
|
|
20
|
+
*/
|
|
21
|
+
public l1ToL2Roots: UltraHonkProofData<ParityPublicInputs>,
|
|
22
|
+
/**
|
|
23
|
+
* The previous rollup proof data from base or merge rollup circuits.
|
|
24
|
+
*/
|
|
25
|
+
public previousRollups: [RollupHonkProofData<TxRollupPublicInputs>, RollupHonkProofData<TxRollupPublicInputs>],
|
|
26
|
+
/**
|
|
27
|
+
* The l1 to l2 message tree snapshot immediately before this block.
|
|
28
|
+
*/
|
|
29
|
+
public previousL1ToL2: AppendOnlyTreeSnapshot,
|
|
30
|
+
/**
|
|
31
|
+
* Hint for inserting the new l1 to l2 message subtree root into `previousL1ToL2`.
|
|
32
|
+
*/
|
|
33
|
+
public newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>,
|
|
34
|
+
/**
|
|
35
|
+
* Hint for inserting the new block hash to the last archive.
|
|
36
|
+
*/
|
|
37
|
+
public newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
|
|
38
|
+
) {}
|
|
39
|
+
|
|
40
|
+
static from(fields: FieldsOf<BlockRootFirstRollupPrivateInputs>) {
|
|
41
|
+
return new BlockRootFirstRollupPrivateInputs(...BlockRootFirstRollupPrivateInputs.getFields(fields));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static getFields(fields: FieldsOf<BlockRootFirstRollupPrivateInputs>) {
|
|
45
|
+
return [
|
|
46
|
+
fields.l1ToL2Roots,
|
|
47
|
+
fields.previousRollups,
|
|
48
|
+
fields.previousL1ToL2,
|
|
49
|
+
fields.newL1ToL2MessageSubtreeRootSiblingPath,
|
|
50
|
+
fields.newArchiveSiblingPath,
|
|
51
|
+
] as const;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
toBuffer() {
|
|
55
|
+
return serializeToBuffer(...BlockRootFirstRollupPrivateInputs.getFields(this));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
59
|
+
const reader = BufferReader.asReader(buffer);
|
|
60
|
+
return new BlockRootFirstRollupPrivateInputs(
|
|
61
|
+
ProofData.fromBuffer(reader, ParityPublicInputs),
|
|
62
|
+
[ProofData.fromBuffer(reader, TxRollupPublicInputs), ProofData.fromBuffer(reader, TxRollupPublicInputs)],
|
|
63
|
+
AppendOnlyTreeSnapshot.fromBuffer(reader),
|
|
64
|
+
reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr),
|
|
65
|
+
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
toJSON() {
|
|
70
|
+
return this.toBuffer();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
static get schema() {
|
|
74
|
+
return bufferSchemaFor(BlockRootFirstRollupPrivateInputs);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export class BlockRootSingleTxFirstRollupPrivateInputs {
|
|
79
|
+
constructor(
|
|
80
|
+
/**
|
|
81
|
+
* The original and converted roots of the L1 to L2 messages subtrees.
|
|
82
|
+
*/
|
|
83
|
+
public l1ToL2Roots: UltraHonkProofData<ParityPublicInputs>,
|
|
84
|
+
/**
|
|
85
|
+
* The previous rollup proof data from base or merge rollup circuits.
|
|
86
|
+
*/
|
|
87
|
+
public previousRollup: RollupHonkProofData<TxRollupPublicInputs>,
|
|
88
|
+
/**
|
|
89
|
+
* The l1 to l2 message tree snapshot immediately before this block.
|
|
90
|
+
*/
|
|
91
|
+
public previousL1ToL2: AppendOnlyTreeSnapshot,
|
|
92
|
+
/**
|
|
93
|
+
* Hint for inserting the new l1 to l2 message subtree root.
|
|
94
|
+
*/
|
|
95
|
+
public newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>,
|
|
96
|
+
/**
|
|
97
|
+
* Hint for inserting the new block hash to the last archive.
|
|
98
|
+
*/
|
|
99
|
+
public newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
|
|
100
|
+
) {}
|
|
101
|
+
|
|
102
|
+
static from(fields: FieldsOf<BlockRootSingleTxFirstRollupPrivateInputs>) {
|
|
103
|
+
return new BlockRootSingleTxFirstRollupPrivateInputs(
|
|
104
|
+
...BlockRootSingleTxFirstRollupPrivateInputs.getFields(fields),
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
static getFields(fields: FieldsOf<BlockRootSingleTxFirstRollupPrivateInputs>) {
|
|
109
|
+
return [
|
|
110
|
+
fields.l1ToL2Roots,
|
|
111
|
+
fields.previousRollup,
|
|
112
|
+
fields.previousL1ToL2,
|
|
113
|
+
fields.newL1ToL2MessageSubtreeRootSiblingPath,
|
|
114
|
+
fields.newArchiveSiblingPath,
|
|
115
|
+
] as const;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
toBuffer() {
|
|
119
|
+
return serializeToBuffer(...BlockRootSingleTxFirstRollupPrivateInputs.getFields(this));
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
123
|
+
const reader = BufferReader.asReader(buffer);
|
|
124
|
+
return new BlockRootSingleTxFirstRollupPrivateInputs(
|
|
125
|
+
ProofData.fromBuffer(reader, ParityPublicInputs),
|
|
126
|
+
ProofData.fromBuffer(reader, TxRollupPublicInputs),
|
|
127
|
+
AppendOnlyTreeSnapshot.fromBuffer(reader),
|
|
128
|
+
reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr),
|
|
129
|
+
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
toJSON() {
|
|
134
|
+
return this.toBuffer();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
static get schema() {
|
|
138
|
+
return bufferSchemaFor(BlockRootSingleTxFirstRollupPrivateInputs);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export class BlockRootEmptyTxFirstRollupPrivateInputs {
|
|
143
|
+
constructor(
|
|
144
|
+
/**
|
|
145
|
+
* The original and converted roots of the L1 to L2 messages subtrees.
|
|
146
|
+
*/
|
|
147
|
+
public l1ToL2Roots: UltraHonkProofData<ParityPublicInputs>,
|
|
148
|
+
/**
|
|
149
|
+
* The archive after applying the previous block.
|
|
150
|
+
*/
|
|
151
|
+
public previousArchive: AppendOnlyTreeSnapshot,
|
|
152
|
+
/**
|
|
153
|
+
* The state reference of the previous block.
|
|
154
|
+
*/
|
|
155
|
+
public previousState: StateReference,
|
|
156
|
+
/**
|
|
157
|
+
* The constants of the checkpoint.
|
|
158
|
+
*/
|
|
159
|
+
public constants: CheckpointConstantData,
|
|
160
|
+
/**
|
|
161
|
+
* The start sponge blob of this block. No data has been absorbed into it yet, since it's the first block. But the
|
|
162
|
+
* number of expected fields must be set to the total number of fields in the entire checkpoint.
|
|
163
|
+
*/
|
|
164
|
+
public startSpongeBlob: SpongeBlob,
|
|
165
|
+
/**
|
|
166
|
+
* The timestamp of this block.
|
|
167
|
+
*/
|
|
168
|
+
public timestamp: UInt64,
|
|
169
|
+
/**
|
|
170
|
+
* Hint for inserting the new l1 to l2 message subtree root.
|
|
171
|
+
*/
|
|
172
|
+
public newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>,
|
|
173
|
+
/**
|
|
174
|
+
* Hint for inserting the new block hash to the last archive.
|
|
175
|
+
*/
|
|
176
|
+
public newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
|
|
177
|
+
) {}
|
|
178
|
+
|
|
179
|
+
static from(fields: FieldsOf<BlockRootEmptyTxFirstRollupPrivateInputs>) {
|
|
180
|
+
return new BlockRootEmptyTxFirstRollupPrivateInputs(...BlockRootEmptyTxFirstRollupPrivateInputs.getFields(fields));
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
static getFields(fields: FieldsOf<BlockRootEmptyTxFirstRollupPrivateInputs>) {
|
|
184
|
+
return [
|
|
185
|
+
fields.l1ToL2Roots,
|
|
186
|
+
fields.previousArchive,
|
|
187
|
+
fields.previousState,
|
|
188
|
+
fields.constants,
|
|
189
|
+
fields.startSpongeBlob,
|
|
190
|
+
fields.timestamp,
|
|
191
|
+
fields.newL1ToL2MessageSubtreeRootSiblingPath,
|
|
192
|
+
fields.newArchiveSiblingPath,
|
|
193
|
+
] as const;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
toBuffer() {
|
|
197
|
+
return serializeToBuffer([
|
|
198
|
+
this.l1ToL2Roots,
|
|
199
|
+
this.previousArchive,
|
|
200
|
+
this.previousState,
|
|
201
|
+
this.constants,
|
|
202
|
+
this.startSpongeBlob,
|
|
203
|
+
bigintToUInt64BE(this.timestamp),
|
|
204
|
+
this.newL1ToL2MessageSubtreeRootSiblingPath,
|
|
205
|
+
this.newArchiveSiblingPath,
|
|
206
|
+
]);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
210
|
+
const reader = BufferReader.asReader(buffer);
|
|
211
|
+
return new BlockRootEmptyTxFirstRollupPrivateInputs(
|
|
212
|
+
ProofData.fromBuffer(reader, ParityPublicInputs),
|
|
213
|
+
AppendOnlyTreeSnapshot.fromBuffer(reader),
|
|
214
|
+
StateReference.fromBuffer(reader),
|
|
215
|
+
CheckpointConstantData.fromBuffer(reader),
|
|
216
|
+
SpongeBlob.fromBuffer(reader),
|
|
217
|
+
reader.readUInt64(),
|
|
218
|
+
reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr),
|
|
219
|
+
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
toJSON() {
|
|
224
|
+
return this.toBuffer();
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
static get schema() {
|
|
228
|
+
return bufferSchemaFor(BlockRootEmptyTxFirstRollupPrivateInputs);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export class BlockRootRollupPrivateInputs {
|
|
233
|
+
constructor(
|
|
234
|
+
/**
|
|
235
|
+
* The previous rollup proof data from base or merge rollup circuits.
|
|
236
|
+
*/
|
|
237
|
+
public previousRollups: [RollupHonkProofData<TxRollupPublicInputs>, RollupHonkProofData<TxRollupPublicInputs>],
|
|
238
|
+
/**
|
|
239
|
+
* Hint for inserting the new block hash to the last archive.
|
|
240
|
+
*/
|
|
241
|
+
public newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
|
|
242
|
+
) {}
|
|
243
|
+
|
|
244
|
+
static from(fields: FieldsOf<BlockRootRollupPrivateInputs>) {
|
|
245
|
+
return new BlockRootRollupPrivateInputs(...BlockRootRollupPrivateInputs.getFields(fields));
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
static getFields(fields: FieldsOf<BlockRootRollupPrivateInputs>) {
|
|
249
|
+
return [fields.previousRollups, fields.newArchiveSiblingPath] as const;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
toBuffer() {
|
|
253
|
+
return serializeToBuffer(...BlockRootRollupPrivateInputs.getFields(this));
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
257
|
+
const reader = BufferReader.asReader(buffer);
|
|
258
|
+
return new BlockRootRollupPrivateInputs(
|
|
259
|
+
[ProofData.fromBuffer(reader, TxRollupPublicInputs), ProofData.fromBuffer(reader, TxRollupPublicInputs)],
|
|
260
|
+
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
toJSON() {
|
|
265
|
+
return this.toBuffer();
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
static get schema() {
|
|
269
|
+
return bufferSchemaFor(BlockRootRollupPrivateInputs);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
export class BlockRootSingleTxRollupPrivateInputs {
|
|
274
|
+
constructor(
|
|
275
|
+
/**
|
|
276
|
+
* The previous rollup proof data from base or merge rollup circuits.
|
|
277
|
+
*/
|
|
278
|
+
public previousRollup: RollupHonkProofData<TxRollupPublicInputs>,
|
|
279
|
+
/**
|
|
280
|
+
* Hint for inserting the new block hash to the last archive.
|
|
281
|
+
*/
|
|
282
|
+
public newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
|
|
283
|
+
) {}
|
|
284
|
+
|
|
285
|
+
static from(fields: FieldsOf<BlockRootSingleTxRollupPrivateInputs>) {
|
|
286
|
+
return new BlockRootSingleTxRollupPrivateInputs(...BlockRootSingleTxRollupPrivateInputs.getFields(fields));
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
static getFields(fields: FieldsOf<BlockRootSingleTxRollupPrivateInputs>) {
|
|
290
|
+
return [fields.previousRollup, fields.newArchiveSiblingPath] as const;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
toBuffer() {
|
|
294
|
+
return serializeToBuffer(...BlockRootSingleTxRollupPrivateInputs.getFields(this));
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
298
|
+
const reader = BufferReader.asReader(buffer);
|
|
299
|
+
return new BlockRootSingleTxRollupPrivateInputs(
|
|
300
|
+
ProofData.fromBuffer(reader, TxRollupPublicInputs),
|
|
301
|
+
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
302
|
+
);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
toJSON() {
|
|
306
|
+
return this.toBuffer();
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
static get schema() {
|
|
310
|
+
return bufferSchemaFor(BlockRootSingleTxRollupPrivateInputs);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
|
+
import type { FieldsOf } from '@aztec/foundation/types';
|
|
5
|
+
|
|
6
|
+
import { AztecAddress } from '../aztec-address/index.js';
|
|
7
|
+
import { GasFees } from '../gas/gas_fees.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Constants that are the same for the entire checkpoint.
|
|
11
|
+
*/
|
|
12
|
+
export class CheckpointConstantData {
|
|
13
|
+
constructor(
|
|
14
|
+
/** ChainId of the rollup. */
|
|
15
|
+
public chainId: Fr,
|
|
16
|
+
/** Version of the rollup. */
|
|
17
|
+
public version: Fr,
|
|
18
|
+
/** Root of the verification key tree. */
|
|
19
|
+
public vkTreeRoot: Fr,
|
|
20
|
+
/** Hash of the protocol contracts list. */
|
|
21
|
+
public protocolContractsHash: Fr,
|
|
22
|
+
/** Identifier of the prover. */
|
|
23
|
+
public proverId: Fr,
|
|
24
|
+
/** Slot number of the checkpoint. */
|
|
25
|
+
public slotNumber: Fr,
|
|
26
|
+
/** Coinbase address of the rollup. */
|
|
27
|
+
public coinbase: EthAddress,
|
|
28
|
+
/** Address to receive fees. */
|
|
29
|
+
public feeRecipient: AztecAddress,
|
|
30
|
+
/** Global gas fees for this checkpoint. */
|
|
31
|
+
public gasFees: GasFees,
|
|
32
|
+
) {}
|
|
33
|
+
|
|
34
|
+
static from(fields: FieldsOf<CheckpointConstantData>) {
|
|
35
|
+
return new CheckpointConstantData(...CheckpointConstantData.getFields(fields));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static getFields(fields: FieldsOf<CheckpointConstantData>) {
|
|
39
|
+
return [
|
|
40
|
+
fields.chainId,
|
|
41
|
+
fields.version,
|
|
42
|
+
fields.vkTreeRoot,
|
|
43
|
+
fields.protocolContractsHash,
|
|
44
|
+
fields.proverId,
|
|
45
|
+
fields.slotNumber,
|
|
46
|
+
fields.coinbase,
|
|
47
|
+
fields.feeRecipient,
|
|
48
|
+
fields.gasFees,
|
|
49
|
+
] as const;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
static empty() {
|
|
53
|
+
return new CheckpointConstantData(
|
|
54
|
+
Fr.ZERO,
|
|
55
|
+
Fr.ZERO,
|
|
56
|
+
Fr.ZERO,
|
|
57
|
+
Fr.ZERO,
|
|
58
|
+
Fr.ZERO,
|
|
59
|
+
Fr.ZERO,
|
|
60
|
+
EthAddress.ZERO,
|
|
61
|
+
AztecAddress.ZERO,
|
|
62
|
+
GasFees.empty(),
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
toBuffer() {
|
|
67
|
+
return serializeToBuffer(...CheckpointConstantData.getFields(this));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
71
|
+
const reader = BufferReader.asReader(buffer);
|
|
72
|
+
return new CheckpointConstantData(
|
|
73
|
+
Fr.fromBuffer(reader),
|
|
74
|
+
Fr.fromBuffer(reader),
|
|
75
|
+
Fr.fromBuffer(reader),
|
|
76
|
+
Fr.fromBuffer(reader),
|
|
77
|
+
Fr.fromBuffer(reader),
|
|
78
|
+
Fr.fromBuffer(reader),
|
|
79
|
+
reader.readObject(EthAddress),
|
|
80
|
+
reader.readObject(AztecAddress),
|
|
81
|
+
reader.readObject(GasFees),
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
}
|