@aztec/stdlib 3.0.0-canary.a9708bd → 3.0.0-devnet.3
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 +30 -428
- 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 +17 -1
- 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 +26 -9
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +5 -0
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +2 -0
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +2 -1
- package/dest/interfaces/private_kernel_prover.d.ts +2 -2
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +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_init_circuit_private_inputs.d.ts +5 -4
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -6
- package/dest/kernel/private_kernel_prover_output.d.ts +1 -1
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -0
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -1
- package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +2 -0
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -0
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -1
- package/dest/keys/derivation.d.ts +0 -2
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +1 -21
- package/dest/logs/contract_class_log.d.ts +1 -1
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +1 -3
- package/dest/logs/debug_log.d.ts +13 -0
- package/dest/logs/debug_log.d.ts.map +1 -0
- package/dest/logs/debug_log.js +26 -0
- package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
- package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/directional_app_tagging_secret.js +64 -0
- package/dest/logs/index.d.ts +3 -1
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +3 -1
- package/dest/logs/log_with_tx_data.d.ts +9 -12
- package/dest/logs/log_with_tx_data.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.js +18 -23
- package/dest/logs/pre_tag.d.ts +34 -0
- package/dest/logs/pre_tag.d.ts.map +1 -0
- package/dest/logs/pre_tag.js +7 -0
- package/dest/logs/public_log.d.ts +23 -10
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +117 -42
- package/dest/messaging/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 +2 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +5 -14
- 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/parity/index.d.ts +2 -3
- package/dest/parity/index.d.ts.map +1 -1
- package/dest/parity/index.js +2 -3
- package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +7 -7
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
- package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +10 -6
- package/dest/parity/parity_root_private_inputs.d.ts +39 -0
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
- package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
- package/dest/proofs/client_ivc_proof.d.ts +17 -7
- package/dest/proofs/client_ivc_proof.d.ts.map +1 -1
- package/dest/proofs/client_ivc_proof.js +78 -19
- package/dest/proofs/index.d.ts +1 -0
- package/dest/proofs/index.d.ts.map +1 -1
- package/dest/proofs/index.js +1 -0
- package/dest/proofs/proof_data.d.ts +21 -0
- package/dest/proofs/proof_data.d.ts.map +1 -0
- package/dest/proofs/proof_data.js +22 -0
- package/dest/proofs/proving_request_type.d.ts +17 -13
- package/dest/proofs/proving_request_type.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.js +17 -12
- package/dest/rollup/avm_proof_data.d.ts +2 -12
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.js +0 -24
- package/dest/rollup/base_rollup_hints.d.ts +17 -17
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +26 -26
- package/dest/rollup/block_constant_data.d.ts +24 -10
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.js +18 -10
- package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +17 -10
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/block_rollup_public_inputs.js +85 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
- package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
- package/dest/rollup/checkpoint_constant_data.js +55 -0
- package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +12 -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_tube_private_inputs.d.ts +21 -0
- package/dest/rollup/public_tube_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_tube_private_inputs.js +42 -0
- package/dest/rollup/public_tube_public_inputs.d.ts +20 -0
- package/dest/rollup/public_tube_public_inputs.d.ts.map +1 -0
- package/dest/rollup/public_tube_public_inputs.js +41 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_private_inputs.js +69 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_public_inputs.js +71 -0
- package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -38
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
- package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
- package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +11 -10
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +14 -14
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +15 -15
- package/dest/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 +1 -1
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +42 -74
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +144 -167
- package/dest/tests/mocks.d.ts +14 -8
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +53 -31
- 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 +0 -1
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +1 -6
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +0 -2
- package/dest/tx/protocol_contracts.d.ts +29 -0
- package/dest/tx/protocol_contracts.d.ts.map +1 -0
- package/dest/tx/protocol_contracts.js +49 -0
- package/dest/tx/simulated_tx.d.ts +3 -3
- package/dest/tx/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 +6 -9
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +10 -11
- 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 +33 -51
- 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 +46 -1
- 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 +35 -11
- package/src/interfaces/merkle_tree_operations.ts +6 -0
- package/src/interfaces/p2p.ts +4 -0
- package/src/interfaces/private_kernel_prover.ts +2 -2
- package/src/interfaces/proving-job.ts +215 -134
- package/src/interfaces/server.ts +1 -0
- package/src/interfaces/server_circuit_prover.ts +87 -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_init_circuit_private_inputs.ts +5 -4
- package/src/kernel/private_kernel_prover_output.ts +1 -1
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +8 -2
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +9 -0
- package/src/keys/derivation.ts +1 -26
- package/src/logs/contract_class_log.ts +2 -3
- package/src/logs/debug_log.ts +32 -0
- package/src/logs/directional_app_tagging_secret.ts +78 -0
- package/src/logs/index.ts +3 -1
- package/src/logs/log_with_tx_data.ts +14 -24
- package/src/logs/pre_tag.ts +25 -0
- package/src/logs/public_log.ts +120 -58
- package/src/messaging/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 +6 -16
- package/src/p2p/signature_utils.ts +1 -0
- package/src/parity/index.ts +2 -3
- package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +13 -11
- package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
- package/src/proofs/client_ivc_proof.ts +86 -20
- package/src/proofs/index.ts +1 -0
- package/src/proofs/proof_data.ts +36 -0
- package/src/proofs/proving_request_type.ts +14 -10
- package/src/rollup/avm_proof_data.ts +2 -31
- package/src/rollup/base_rollup_hints.ts +22 -22
- package/src/rollup/block_constant_data.ts +16 -6
- package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
- package/src/rollup/block_rollup_public_inputs.ts +123 -0
- package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
- package/src/rollup/checkpoint_constant_data.ts +84 -0
- package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +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_tube_private_inputs.ts +53 -0
- package/src/rollup/public_tube_public_inputs.ts +52 -0
- package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
- package/src/rollup/root_rollup_private_inputs.ts +90 -0
- package/src/rollup/root_rollup_public_inputs.ts +99 -0
- package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
- package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
- package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +13 -13
- package/src/slashing/types.ts +23 -0
- package/src/snapshots/download.ts +66 -2
- package/src/snapshots/upload.ts +1 -0
- package/src/stats/stats.ts +19 -13
- package/src/tests/factories.ts +217 -275
- package/src/tests/mocks.ts +87 -57
- 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 +1 -7
- package/src/tx/profiling.ts +0 -2
- package/src/tx/protocol_contracts.ts +70 -0
- package/src/tx/state_reference.ts +5 -1
- package/src/tx/tx.ts +12 -13
- 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/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/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
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { hexToBuffer } from '@aztec/foundation/string';
|
|
2
|
+
import { encodeAbiParameters, parseAbiParameters } from 'viem';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { CommitteeAttestation } from './committee_attestation.js';
|
|
5
|
+
export class CommitteeAttestationsAndSigners {
|
|
6
|
+
attestations;
|
|
7
|
+
constructor(attestations){
|
|
8
|
+
this.attestations = attestations;
|
|
9
|
+
}
|
|
10
|
+
static get schema() {
|
|
11
|
+
return z.object({
|
|
12
|
+
attestations: CommitteeAttestation.schema.array()
|
|
13
|
+
}).transform((obj)=>new CommitteeAttestationsAndSigners(obj.attestations));
|
|
14
|
+
}
|
|
15
|
+
getPayloadToSign(domainSeparator) {
|
|
16
|
+
const abi = parseAbiParameters('uint8,(bytes,bytes),address[]');
|
|
17
|
+
const packed = this.getPackedAttestations();
|
|
18
|
+
const encodedData = encodeAbiParameters(abi, [
|
|
19
|
+
domainSeparator,
|
|
20
|
+
[
|
|
21
|
+
packed.signatureIndices,
|
|
22
|
+
packed.signaturesOrAddresses
|
|
23
|
+
],
|
|
24
|
+
this.getSigners().map((s)=>s.toString())
|
|
25
|
+
]);
|
|
26
|
+
return hexToBuffer(encodedData);
|
|
27
|
+
}
|
|
28
|
+
static empty() {
|
|
29
|
+
return new CommitteeAttestationsAndSigners([]);
|
|
30
|
+
}
|
|
31
|
+
toString() {
|
|
32
|
+
throw new Error('Not implemented');
|
|
33
|
+
}
|
|
34
|
+
getSigners() {
|
|
35
|
+
return this.attestations.filter((a)=>!a.signature.isEmpty()).map((a)=>a.address);
|
|
36
|
+
}
|
|
37
|
+
getSignedAttestations() {
|
|
38
|
+
return this.attestations.filter((a)=>!a.signature.isEmpty());
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Packs an array of committee attestations into the format expected by the Solidity contract
|
|
42
|
+
*
|
|
43
|
+
* @param attestations - Array of committee attestations with addresses and signatures
|
|
44
|
+
* @returns Packed attestations with bitmap and tightly packed signature/address data
|
|
45
|
+
*/ getPackedAttestations() {
|
|
46
|
+
const length = this.attestations.length;
|
|
47
|
+
const attestations = this.attestations.map((a)=>a.toViem());
|
|
48
|
+
// Calculate bitmap size (1 bit per attestation, rounded up to nearest byte)
|
|
49
|
+
const bitmapSize = Math.ceil(length / 8);
|
|
50
|
+
const signatureIndices = new Uint8Array(bitmapSize);
|
|
51
|
+
// Calculate total data size needed
|
|
52
|
+
let totalDataSize = 0;
|
|
53
|
+
for(let i = 0; i < length; i++){
|
|
54
|
+
const signature = attestations[i].signature;
|
|
55
|
+
// Check if signature is empty (v = 0)
|
|
56
|
+
const isEmpty = signature.v === 0;
|
|
57
|
+
if (!isEmpty) {
|
|
58
|
+
totalDataSize += 65; // v (1) + r (32) + s (32)
|
|
59
|
+
} else {
|
|
60
|
+
totalDataSize += 20; // address only
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const signaturesOrAddresses = new Uint8Array(totalDataSize);
|
|
64
|
+
let dataIndex = 0;
|
|
65
|
+
// Pack the data
|
|
66
|
+
for(let i = 0; i < length; i++){
|
|
67
|
+
const attestation = attestations[i];
|
|
68
|
+
const signature = attestation.signature;
|
|
69
|
+
// Check if signature is empty
|
|
70
|
+
const isEmpty = signature.v === 0;
|
|
71
|
+
if (!isEmpty) {
|
|
72
|
+
// Set bit in bitmap (bit 7-0 in each byte, left to right)
|
|
73
|
+
const byteIndex = Math.floor(i / 8);
|
|
74
|
+
const bitIndex = 7 - i % 8;
|
|
75
|
+
signatureIndices[byteIndex] |= 1 << bitIndex;
|
|
76
|
+
// Pack signature: v + r + s
|
|
77
|
+
signaturesOrAddresses[dataIndex] = signature.v;
|
|
78
|
+
dataIndex++;
|
|
79
|
+
// Pack r (32 bytes)
|
|
80
|
+
const rBytes = Buffer.from(signature.r.slice(2), 'hex');
|
|
81
|
+
signaturesOrAddresses.set(rBytes, dataIndex);
|
|
82
|
+
dataIndex += 32;
|
|
83
|
+
// Pack s (32 bytes)
|
|
84
|
+
const sBytes = Buffer.from(signature.s.slice(2), 'hex');
|
|
85
|
+
signaturesOrAddresses.set(sBytes, dataIndex);
|
|
86
|
+
dataIndex += 32;
|
|
87
|
+
} else {
|
|
88
|
+
// Pack address only (20 bytes)
|
|
89
|
+
const addrBytes = Buffer.from(attestation.addr.slice(2), 'hex');
|
|
90
|
+
signaturesOrAddresses.set(addrBytes, dataIndex);
|
|
91
|
+
dataIndex += 20;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
signatureIndices: `0x${Buffer.from(signatureIndices).toString('hex')}`,
|
|
96
|
+
signaturesOrAddresses: `0x${Buffer.from(signaturesOrAddresses).toString('hex')}`
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/block/proposal/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/block/proposal/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { BufferReader } from '@aztec/foundation/serialize';
|
|
2
|
+
import type { FieldsOf } from '@aztec/foundation/types';
|
|
1
3
|
import { z } from 'zod';
|
|
2
|
-
import { BlockAttestation } from '../p2p/block_attestation.js';
|
|
3
4
|
import { L2Block } from './l2_block.js';
|
|
4
5
|
import { CommitteeAttestation } from './proposal/committee_attestation.js';
|
|
5
6
|
export declare class L1PublishedData {
|
|
@@ -21,13 +22,14 @@ export declare class L1PublishedData {
|
|
|
21
22
|
blockHash: string;
|
|
22
23
|
}>;
|
|
23
24
|
static random(): L1PublishedData;
|
|
25
|
+
static fromFields(fields: FieldsOf<L1PublishedData>): L1PublishedData;
|
|
24
26
|
}
|
|
25
27
|
export declare class PublishedL2Block {
|
|
26
28
|
block: L2Block;
|
|
27
29
|
l1: L1PublishedData;
|
|
28
30
|
attestations: CommitteeAttestation[];
|
|
29
31
|
constructor(block: L2Block, l1: L1PublishedData, attestations: CommitteeAttestation[]);
|
|
30
|
-
static get schema(): z.ZodObject<{
|
|
32
|
+
static get schema(): z.ZodEffects<z.ZodObject<{
|
|
31
33
|
block: z.ZodEffects<z.ZodObject<{
|
|
32
34
|
archive: z.ZodEffects<z.ZodObject<{
|
|
33
35
|
root: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
|
|
@@ -42,11 +44,11 @@ export declare class PublishedL2Block {
|
|
|
42
44
|
root: string;
|
|
43
45
|
nextAvailableLeafIndex: string | number | bigint;
|
|
44
46
|
}>;
|
|
45
|
-
header: import("@aztec/foundation/schemas").ZodFor<import("
|
|
47
|
+
header: import("@aztec/foundation/schemas").ZodFor<import("./l2_block_header.js").L2BlockHeader>;
|
|
46
48
|
body: import("@aztec/foundation/schemas").ZodFor<import("./body.js").Body>;
|
|
47
49
|
}, "strip", z.ZodTypeAny, {
|
|
48
50
|
archive: import("../trees/append_only_tree_snapshot.js").AppendOnlyTreeSnapshot;
|
|
49
|
-
header: import("
|
|
51
|
+
header: import("./l2_block_header.js").L2BlockHeader;
|
|
50
52
|
body: import("./body.js").Body;
|
|
51
53
|
}, {
|
|
52
54
|
archive: {
|
|
@@ -115,7 +117,27 @@ export declare class PublishedL2Block {
|
|
|
115
117
|
address: string;
|
|
116
118
|
signature: string;
|
|
117
119
|
}[];
|
|
120
|
+
}>, PublishedL2Block, {
|
|
121
|
+
block: {
|
|
122
|
+
archive: {
|
|
123
|
+
root: string;
|
|
124
|
+
nextAvailableLeafIndex: string | number | bigint;
|
|
125
|
+
};
|
|
126
|
+
header?: any;
|
|
127
|
+
body?: any;
|
|
128
|
+
};
|
|
129
|
+
l1: {
|
|
130
|
+
blockNumber: string | number | bigint;
|
|
131
|
+
timestamp: string | number | bigint;
|
|
132
|
+
blockHash: string;
|
|
133
|
+
};
|
|
134
|
+
attestations: {
|
|
135
|
+
address: string;
|
|
136
|
+
signature: string;
|
|
137
|
+
}[];
|
|
118
138
|
}>;
|
|
139
|
+
static fromBuffer(bufferOrReader: Buffer | BufferReader): PublishedL2Block;
|
|
140
|
+
static fromFields(fields: FieldsOf<PublishedL2Block>): PublishedL2Block;
|
|
141
|
+
toBuffer(): Buffer;
|
|
119
142
|
}
|
|
120
|
-
export declare function getAttestationsFromPublishedL2Block(block: Pick<PublishedL2Block, 'attestations' | 'block'>): BlockAttestation[];
|
|
121
143
|
//# sourceMappingURL=published_l2_block.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"published_l2_block.d.ts","sourceRoot":"","sources":["../../src/block/published_l2_block.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"published_l2_block.d.ts","sourceRoot":"","sources":["../../src/block/published_l2_block.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,qBAAa,eAAe;IAEjB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;gBAFjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM;IAG1B,MAAM,KAAK,MAAM;;;;;;;;;;;;OAMhB;IAED,MAAM,CAAC,MAAM;IAQb,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC;CAGpD;AAED,qBAAa,gBAAgB;IAElB,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,eAAe;IACnB,YAAY,EAAE,oBAAoB,EAAE;gBAFpC,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,eAAe,EACnB,YAAY,EAAE,oBAAoB,EAAE;IAG7C,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB;IAU1E,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAI7C,QAAQ,IAAI,MAAM;CAU1B"}
|
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
3
3
|
import { randomBigInt } from '@aztec/foundation/crypto';
|
|
4
4
|
import { schemas } from '@aztec/foundation/schemas';
|
|
5
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
6
|
import { z } from 'zod';
|
|
6
|
-
import { BlockAttestation } from '../p2p/block_attestation.js';
|
|
7
|
-
import { ConsensusPayload } from '../p2p/consensus_payload.js';
|
|
8
7
|
import { L2Block } from './l2_block.js';
|
|
9
8
|
import { CommitteeAttestation } from './proposal/committee_attestation.js';
|
|
10
9
|
export class L1PublishedData {
|
|
@@ -26,6 +25,9 @@ export class L1PublishedData {
|
|
|
26
25
|
static random() {
|
|
27
26
|
return new L1PublishedData(randomBigInt(1000n) + 1n, BigInt(Math.floor(Date.now() / 1000)), Buffer32.random().toString());
|
|
28
27
|
}
|
|
28
|
+
static fromFields(fields) {
|
|
29
|
+
return new L1PublishedData(fields.blockNumber, fields.timestamp, fields.blockHash);
|
|
30
|
+
}
|
|
29
31
|
}
|
|
30
32
|
export class PublishedL2Block {
|
|
31
33
|
block;
|
|
@@ -41,10 +43,21 @@ export class PublishedL2Block {
|
|
|
41
43
|
block: L2Block.schema,
|
|
42
44
|
l1: L1PublishedData.schema,
|
|
43
45
|
attestations: z.array(CommitteeAttestation.schema)
|
|
44
|
-
});
|
|
46
|
+
}).transform((obj)=>PublishedL2Block.fromFields(obj));
|
|
47
|
+
}
|
|
48
|
+
static fromBuffer(bufferOrReader) {
|
|
49
|
+
const reader = BufferReader.asReader(bufferOrReader);
|
|
50
|
+
const block = reader.readObject(L2Block);
|
|
51
|
+
const l1BlockNumber = reader.readBigInt();
|
|
52
|
+
const l1BlockHash = reader.readString();
|
|
53
|
+
const l1Timestamp = reader.readBigInt();
|
|
54
|
+
const attestations = reader.readVector(CommitteeAttestation);
|
|
55
|
+
return new PublishedL2Block(block, new L1PublishedData(l1BlockNumber, l1Timestamp, l1BlockHash), attestations);
|
|
56
|
+
}
|
|
57
|
+
static fromFields(fields) {
|
|
58
|
+
return new PublishedL2Block(fields.block, fields.l1, fields.attestations);
|
|
59
|
+
}
|
|
60
|
+
toBuffer() {
|
|
61
|
+
return serializeToBuffer(this.block, this.l1.blockNumber, this.l1.blockHash, this.l1.timestamp, this.attestations.length, this.attestations);
|
|
45
62
|
}
|
|
46
|
-
}
|
|
47
|
-
export function getAttestationsFromPublishedL2Block(block) {
|
|
48
|
-
const payload = ConsensusPayload.fromBlock(block.block);
|
|
49
|
-
return block.attestations.filter((attestation)=>!attestation.signature.isEmpty()).map((attestation)=>new BlockAttestation(block.block.number, payload, attestation.signature));
|
|
50
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_tips_store_test_suite.d.ts","sourceRoot":"","sources":["../../../src/block/test/l2_tips_store_test_suite.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"l2_tips_store_test_suite.d.ts","sourceRoot":"","sources":["../../../src/block/test/l2_tips_store_test_suite.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,QA8ExE"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { times } from '@aztec/foundation/collection';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
+
import { PublishedL2Block } from '@aztec/stdlib/block';
|
|
3
4
|
import { jestExpect as expect } from '@jest/expect';
|
|
4
5
|
export function testL2TipsStore(makeTipsStore) {
|
|
5
6
|
let tipsStore;
|
|
6
7
|
beforeEach(async ()=>{
|
|
7
8
|
tipsStore = await makeTipsStore();
|
|
8
9
|
});
|
|
9
|
-
const makeBlock = (number)=>({
|
|
10
|
+
const makeBlock = (number)=>PublishedL2Block.fromFields({
|
|
10
11
|
block: {
|
|
11
12
|
number,
|
|
12
|
-
|
|
13
|
-
hash: ()=>Promise.resolve(new Fr(number))
|
|
14
|
-
}
|
|
13
|
+
hash: ()=>Promise.resolve(new Fr(number))
|
|
15
14
|
},
|
|
16
15
|
l1: {
|
|
17
16
|
blockNumber: BigInt(number),
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
|
+
import { BufferReader } from '@aztec/foundation/serialize';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { type L2BlockInfo } from './l2_block_info.js';
|
|
5
|
+
import { CommitteeAttestation } from './proposal/committee_attestation.js';
|
|
6
|
+
/** Subtype for invalid block validation results */
|
|
7
|
+
export type ValidateBlockNegativeResult = {
|
|
8
|
+
valid: false;
|
|
9
|
+
/** Identifiers from the invalid block */
|
|
10
|
+
block: L2BlockInfo;
|
|
11
|
+
/** Committee members at the epoch this block was proposed */
|
|
12
|
+
committee: EthAddress[];
|
|
13
|
+
/** Epoch in which this block was proposed */
|
|
14
|
+
epoch: bigint;
|
|
15
|
+
/** Proposer selection seed for the epoch */
|
|
16
|
+
seed: bigint;
|
|
17
|
+
/** List of committee members who signed this block proposal */
|
|
18
|
+
attestors: EthAddress[];
|
|
19
|
+
/** Committee attestations for this block as they were posted to L1 */
|
|
20
|
+
attestations: CommitteeAttestation[];
|
|
21
|
+
/** Reason for the block being invalid: not enough attestations were posted */
|
|
22
|
+
reason: 'insufficient-attestations';
|
|
23
|
+
} | {
|
|
24
|
+
valid: false;
|
|
25
|
+
/** Identifiers from the invalid block */
|
|
26
|
+
block: L2BlockInfo;
|
|
27
|
+
/** Committee members at the epoch this block was proposed */
|
|
28
|
+
committee: EthAddress[];
|
|
29
|
+
/** Epoch in which this block was proposed */
|
|
30
|
+
epoch: bigint;
|
|
31
|
+
/** Proposer selection seed for the epoch */
|
|
32
|
+
seed: bigint;
|
|
33
|
+
/** List of committee members who signed this block proposal */
|
|
34
|
+
attestors: EthAddress[];
|
|
35
|
+
/** Committee attestations for this block as they were posted to L1 */
|
|
36
|
+
attestations: CommitteeAttestation[];
|
|
37
|
+
/** Reason for the block being invalid: an invalid attestation was posted */
|
|
38
|
+
reason: 'invalid-attestation';
|
|
39
|
+
/** Index in the attestations array of the invalid attestation posted */
|
|
40
|
+
invalidIndex: number;
|
|
41
|
+
};
|
|
42
|
+
/** Result type for validating a block attestations */
|
|
43
|
+
export type ValidateBlockResult = {
|
|
44
|
+
valid: true;
|
|
45
|
+
} | ValidateBlockNegativeResult;
|
|
46
|
+
export declare const ValidateBlockResultSchema: z.ZodUnion<[z.ZodObject<{
|
|
47
|
+
valid: z.ZodLiteral<true>;
|
|
48
|
+
}, "strip", z.ZodTypeAny, {
|
|
49
|
+
valid: true;
|
|
50
|
+
}, {
|
|
51
|
+
valid: true;
|
|
52
|
+
}>, z.ZodObject<{
|
|
53
|
+
valid: z.ZodLiteral<false>;
|
|
54
|
+
block: z.ZodObject<{
|
|
55
|
+
blockHash: z.ZodOptional<z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>>;
|
|
56
|
+
archive: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
|
|
57
|
+
lastArchive: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
|
|
58
|
+
blockNumber: z.ZodNumber;
|
|
59
|
+
slotNumber: z.ZodNumber;
|
|
60
|
+
txCount: z.ZodNumber;
|
|
61
|
+
timestamp: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
62
|
+
}, "strip", z.ZodTypeAny, {
|
|
63
|
+
blockNumber: number;
|
|
64
|
+
slotNumber: number;
|
|
65
|
+
timestamp: bigint;
|
|
66
|
+
lastArchive: import("@aztec/foundation/schemas").Fr;
|
|
67
|
+
archive: import("@aztec/foundation/schemas").Fr;
|
|
68
|
+
txCount: number;
|
|
69
|
+
blockHash?: import("@aztec/foundation/schemas").Fr | undefined;
|
|
70
|
+
}, {
|
|
71
|
+
blockNumber: number;
|
|
72
|
+
slotNumber: number;
|
|
73
|
+
timestamp: string | number | bigint;
|
|
74
|
+
lastArchive: string;
|
|
75
|
+
archive: string;
|
|
76
|
+
txCount: number;
|
|
77
|
+
blockHash?: string | undefined;
|
|
78
|
+
}>;
|
|
79
|
+
committee: z.ZodArray<z.ZodType<EthAddress, any, string>, "many">;
|
|
80
|
+
epoch: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
81
|
+
seed: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
82
|
+
attestors: z.ZodArray<z.ZodType<EthAddress, any, string>, "many">;
|
|
83
|
+
attestations: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
84
|
+
address: z.ZodType<EthAddress, any, string>;
|
|
85
|
+
signature: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, `0x${string}`, string>, `0x${string}`, string>, import("./proposal/committee_attestation.js").Signature, string>;
|
|
86
|
+
}, "strip", z.ZodTypeAny, {
|
|
87
|
+
address: EthAddress;
|
|
88
|
+
signature: import("./proposal/committee_attestation.js").Signature;
|
|
89
|
+
}, {
|
|
90
|
+
address: string;
|
|
91
|
+
signature: string;
|
|
92
|
+
}>, CommitteeAttestation, {
|
|
93
|
+
address: string;
|
|
94
|
+
signature: string;
|
|
95
|
+
}>, "many">;
|
|
96
|
+
reason: z.ZodLiteral<"insufficient-attestations">;
|
|
97
|
+
}, "strip", z.ZodTypeAny, {
|
|
98
|
+
valid: false;
|
|
99
|
+
block: {
|
|
100
|
+
blockNumber: number;
|
|
101
|
+
slotNumber: number;
|
|
102
|
+
timestamp: bigint;
|
|
103
|
+
lastArchive: import("@aztec/foundation/schemas").Fr;
|
|
104
|
+
archive: import("@aztec/foundation/schemas").Fr;
|
|
105
|
+
txCount: number;
|
|
106
|
+
blockHash?: import("@aztec/foundation/schemas").Fr | undefined;
|
|
107
|
+
};
|
|
108
|
+
attestations: CommitteeAttestation[];
|
|
109
|
+
committee: EthAddress[];
|
|
110
|
+
epoch: bigint;
|
|
111
|
+
seed: bigint;
|
|
112
|
+
attestors: EthAddress[];
|
|
113
|
+
reason: "insufficient-attestations";
|
|
114
|
+
}, {
|
|
115
|
+
valid: false;
|
|
116
|
+
block: {
|
|
117
|
+
blockNumber: number;
|
|
118
|
+
slotNumber: number;
|
|
119
|
+
timestamp: string | number | bigint;
|
|
120
|
+
lastArchive: string;
|
|
121
|
+
archive: string;
|
|
122
|
+
txCount: number;
|
|
123
|
+
blockHash?: string | undefined;
|
|
124
|
+
};
|
|
125
|
+
attestations: {
|
|
126
|
+
address: string;
|
|
127
|
+
signature: string;
|
|
128
|
+
}[];
|
|
129
|
+
committee: string[];
|
|
130
|
+
epoch: string | number | bigint;
|
|
131
|
+
seed: string | number | bigint;
|
|
132
|
+
attestors: string[];
|
|
133
|
+
reason: "insufficient-attestations";
|
|
134
|
+
}>, z.ZodObject<{
|
|
135
|
+
valid: z.ZodLiteral<false>;
|
|
136
|
+
block: z.ZodObject<{
|
|
137
|
+
blockHash: z.ZodOptional<z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>>;
|
|
138
|
+
archive: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
|
|
139
|
+
lastArchive: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
|
|
140
|
+
blockNumber: z.ZodNumber;
|
|
141
|
+
slotNumber: z.ZodNumber;
|
|
142
|
+
txCount: z.ZodNumber;
|
|
143
|
+
timestamp: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
144
|
+
}, "strip", z.ZodTypeAny, {
|
|
145
|
+
blockNumber: number;
|
|
146
|
+
slotNumber: number;
|
|
147
|
+
timestamp: bigint;
|
|
148
|
+
lastArchive: import("@aztec/foundation/schemas").Fr;
|
|
149
|
+
archive: import("@aztec/foundation/schemas").Fr;
|
|
150
|
+
txCount: number;
|
|
151
|
+
blockHash?: import("@aztec/foundation/schemas").Fr | undefined;
|
|
152
|
+
}, {
|
|
153
|
+
blockNumber: number;
|
|
154
|
+
slotNumber: number;
|
|
155
|
+
timestamp: string | number | bigint;
|
|
156
|
+
lastArchive: string;
|
|
157
|
+
archive: string;
|
|
158
|
+
txCount: number;
|
|
159
|
+
blockHash?: string | undefined;
|
|
160
|
+
}>;
|
|
161
|
+
committee: z.ZodArray<z.ZodType<EthAddress, any, string>, "many">;
|
|
162
|
+
epoch: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
163
|
+
seed: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
164
|
+
attestors: z.ZodArray<z.ZodType<EthAddress, any, string>, "many">;
|
|
165
|
+
attestations: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
166
|
+
address: z.ZodType<EthAddress, any, string>;
|
|
167
|
+
signature: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, `0x${string}`, string>, `0x${string}`, string>, import("./proposal/committee_attestation.js").Signature, string>;
|
|
168
|
+
}, "strip", z.ZodTypeAny, {
|
|
169
|
+
address: EthAddress;
|
|
170
|
+
signature: import("./proposal/committee_attestation.js").Signature;
|
|
171
|
+
}, {
|
|
172
|
+
address: string;
|
|
173
|
+
signature: string;
|
|
174
|
+
}>, CommitteeAttestation, {
|
|
175
|
+
address: string;
|
|
176
|
+
signature: string;
|
|
177
|
+
}>, "many">;
|
|
178
|
+
reason: z.ZodLiteral<"invalid-attestation">;
|
|
179
|
+
invalidIndex: z.ZodNumber;
|
|
180
|
+
}, "strip", z.ZodTypeAny, {
|
|
181
|
+
valid: false;
|
|
182
|
+
block: {
|
|
183
|
+
blockNumber: number;
|
|
184
|
+
slotNumber: number;
|
|
185
|
+
timestamp: bigint;
|
|
186
|
+
lastArchive: import("@aztec/foundation/schemas").Fr;
|
|
187
|
+
archive: import("@aztec/foundation/schemas").Fr;
|
|
188
|
+
txCount: number;
|
|
189
|
+
blockHash?: import("@aztec/foundation/schemas").Fr | undefined;
|
|
190
|
+
};
|
|
191
|
+
attestations: CommitteeAttestation[];
|
|
192
|
+
committee: EthAddress[];
|
|
193
|
+
epoch: bigint;
|
|
194
|
+
seed: bigint;
|
|
195
|
+
attestors: EthAddress[];
|
|
196
|
+
reason: "invalid-attestation";
|
|
197
|
+
invalidIndex: number;
|
|
198
|
+
}, {
|
|
199
|
+
valid: false;
|
|
200
|
+
block: {
|
|
201
|
+
blockNumber: number;
|
|
202
|
+
slotNumber: number;
|
|
203
|
+
timestamp: string | number | bigint;
|
|
204
|
+
lastArchive: string;
|
|
205
|
+
archive: string;
|
|
206
|
+
txCount: number;
|
|
207
|
+
blockHash?: string | undefined;
|
|
208
|
+
};
|
|
209
|
+
attestations: {
|
|
210
|
+
address: string;
|
|
211
|
+
signature: string;
|
|
212
|
+
}[];
|
|
213
|
+
committee: string[];
|
|
214
|
+
epoch: string | number | bigint;
|
|
215
|
+
seed: string | number | bigint;
|
|
216
|
+
attestors: string[];
|
|
217
|
+
reason: "invalid-attestation";
|
|
218
|
+
invalidIndex: number;
|
|
219
|
+
}>]>;
|
|
220
|
+
export declare function serializeValidateBlockResult(result: ValidateBlockResult): Buffer;
|
|
221
|
+
export declare function deserializeValidateBlockResult(bufferOrReader: Buffer | BufferReader): ValidateBlockResult;
|
|
222
|
+
//# sourceMappingURL=validate_block_result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate_block_result.d.ts","sourceRoot":"","sources":["../../src/block/validate_block_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAmB,KAAK,WAAW,EAA4C,MAAM,oBAAoB,CAAC;AACjH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,mDAAmD;AACnD,MAAM,MAAM,2BAA2B,GACnC;IACE,KAAK,EAAE,KAAK,CAAC;IACb,yCAAyC;IACzC,KAAK,EAAE,WAAW,CAAC;IACnB,6DAA6D;IAC7D,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,sEAAsE;IACtE,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,8EAA8E;IAC9E,MAAM,EAAE,2BAA2B,CAAC;CACrC,GACD;IACE,KAAK,EAAE,KAAK,CAAC;IACb,yCAAyC;IACzC,KAAK,EAAE,WAAW,CAAC;IACnB,6DAA6D;IAC7D,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,sEAAsE;IACtE,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,4EAA4E;IAC5E,MAAM,EAAE,qBAAqB,CAAC;IAC9B,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEN,sDAAsD;AACtD,MAAM,MAAM,mBAAmB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG,2BAA2B,CAAC;AAEhF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuBE,CAAC;AAEzC,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAqBhF;AAED,wBAAgB,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,GAAG,mBAAmB,CAsBzG"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
|
+
import { schemas } from '@aztec/foundation/schemas';
|
|
3
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { BlockInfoSchema, deserializeBlockInfo, serializeBlockInfo } from './l2_block_info.js';
|
|
6
|
+
import { CommitteeAttestation } from './proposal/committee_attestation.js';
|
|
7
|
+
export const ValidateBlockResultSchema = z.union([
|
|
8
|
+
z.object({
|
|
9
|
+
valid: z.literal(true)
|
|
10
|
+
}),
|
|
11
|
+
z.object({
|
|
12
|
+
valid: z.literal(false),
|
|
13
|
+
block: BlockInfoSchema,
|
|
14
|
+
committee: z.array(schemas.EthAddress),
|
|
15
|
+
epoch: schemas.BigInt,
|
|
16
|
+
seed: schemas.BigInt,
|
|
17
|
+
attestors: z.array(schemas.EthAddress),
|
|
18
|
+
attestations: z.array(CommitteeAttestation.schema),
|
|
19
|
+
reason: z.literal('insufficient-attestations')
|
|
20
|
+
}),
|
|
21
|
+
z.object({
|
|
22
|
+
valid: z.literal(false),
|
|
23
|
+
block: BlockInfoSchema,
|
|
24
|
+
committee: z.array(schemas.EthAddress),
|
|
25
|
+
epoch: schemas.BigInt,
|
|
26
|
+
seed: schemas.BigInt,
|
|
27
|
+
attestors: z.array(schemas.EthAddress),
|
|
28
|
+
attestations: z.array(CommitteeAttestation.schema),
|
|
29
|
+
reason: z.literal('invalid-attestation'),
|
|
30
|
+
invalidIndex: z.number()
|
|
31
|
+
})
|
|
32
|
+
]);
|
|
33
|
+
export function serializeValidateBlockResult(result) {
|
|
34
|
+
if (result.valid) {
|
|
35
|
+
return serializeToBuffer(true);
|
|
36
|
+
}
|
|
37
|
+
const l2Block = serializeBlockInfo(result.block);
|
|
38
|
+
return serializeToBuffer(result.valid, result.reason, l2Block.length, l2Block, result.committee.length, result.committee, result.epoch, result.seed ?? 0n, result.attestors.length, result.attestors, result.attestations.length, result.attestations, result.reason === 'invalid-attestation' ? result.invalidIndex : 0);
|
|
39
|
+
}
|
|
40
|
+
export function deserializeValidateBlockResult(bufferOrReader) {
|
|
41
|
+
const reader = BufferReader.asReader(bufferOrReader);
|
|
42
|
+
const valid = reader.readBoolean();
|
|
43
|
+
if (valid) {
|
|
44
|
+
return {
|
|
45
|
+
valid
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
const reason = reader.readString();
|
|
49
|
+
const block = deserializeBlockInfo(reader.readBuffer());
|
|
50
|
+
const committee = reader.readVector(EthAddress);
|
|
51
|
+
const epoch = reader.readBigInt();
|
|
52
|
+
const seed = reader.readBigInt();
|
|
53
|
+
const attestors = reader.readVector(EthAddress);
|
|
54
|
+
const attestations = reader.readVector(CommitteeAttestation);
|
|
55
|
+
const invalidIndex = reader.readNumber();
|
|
56
|
+
if (reason === 'insufficient-attestations') {
|
|
57
|
+
return {
|
|
58
|
+
valid,
|
|
59
|
+
reason,
|
|
60
|
+
block,
|
|
61
|
+
committee,
|
|
62
|
+
epoch,
|
|
63
|
+
seed,
|
|
64
|
+
attestors,
|
|
65
|
+
attestations: attestations
|
|
66
|
+
};
|
|
67
|
+
} else if (reason === 'invalid-attestation') {
|
|
68
|
+
return {
|
|
69
|
+
valid,
|
|
70
|
+
reason,
|
|
71
|
+
block,
|
|
72
|
+
committee,
|
|
73
|
+
epoch,
|
|
74
|
+
seed,
|
|
75
|
+
attestors,
|
|
76
|
+
invalidIndex,
|
|
77
|
+
attestations: attestations
|
|
78
|
+
};
|
|
79
|
+
} else {
|
|
80
|
+
const _ = reason;
|
|
81
|
+
throw new Error(`Unknown reason: ${reason}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint_body.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,wBAAgB,uBAAuB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,EAAE,QAItE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
2
|
+
import { getBlockBlobFields } from '../block/body.js';
|
|
3
|
+
export function getCheckpointBlobFields(txEffectsInBlocks) {
|
|
4
|
+
const blockBlobFields = txEffectsInBlocks.map((blockTxEffects)=>getBlockBlobFields(blockTxEffects)).flat();
|
|
5
|
+
const totalNumBlobFields = blockBlobFields.length + 1; // +1 for the prefix indicating the number of total blob fields in a checkpoint.
|
|
6
|
+
return [
|
|
7
|
+
new Fr(totalNumBlobFields)
|
|
8
|
+
].concat(blockBlobFields);
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkpoint/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './checkpoint_body.js';
|
|
@@ -3,6 +3,8 @@ export declare const nodeRpcConfigMappings: ConfigMappingsType<NodeRPCConfig>;
|
|
|
3
3
|
export type NodeRPCConfig = {
|
|
4
4
|
/** Maximum gas limit for public tx simulation in the node on `simulatePublicCalls`. */
|
|
5
5
|
rpcSimulatePublicMaxGasLimit: number;
|
|
6
|
+
/** Maximum memory reads for debug logs performed for public tx simulation in the node on `simulatePublicCalls`. */
|
|
7
|
+
rpcSimulatePublicMaxDebugLogMemoryReads: number;
|
|
6
8
|
/** Maximum allowed batch size for JSON RPC batch requests. */
|
|
7
9
|
rpcMaxBatchSize: number;
|
|
8
10
|
/** The maximum body size the RPC server will accept */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-rpc-config.d.ts","sourceRoot":"","sources":["../../src/config/node-rpc-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node-rpc-config.d.ts","sourceRoot":"","sources":["../../src/config/node-rpc-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,0BAA0B,CAAC;AAEvF,eAAO,MAAM,qBAAqB,EAAE,kBAAkB,CAAC,aAAa,CAsBnE,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,uFAAuF;IACvF,4BAA4B,EAAE,MAAM,CAAC;IACrC,mHAAmH;IACnH,uCAAuC,EAAE,MAAM,CAAC;IAChD,8DAA8D;IAC9D,eAAe,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
|
|
1
2
|
import { numberConfigHelper } from '@aztec/foundation/config';
|
|
2
3
|
export const nodeRpcConfigMappings = {
|
|
3
4
|
rpcSimulatePublicMaxGasLimit: {
|
|
@@ -5,6 +6,11 @@ export const nodeRpcConfigMappings = {
|
|
|
5
6
|
description: 'Maximum gas limit for public tx simulation in the node on `simulatePublicCalls`.',
|
|
6
7
|
...numberConfigHelper(10e9)
|
|
7
8
|
},
|
|
9
|
+
rpcSimulatePublicMaxDebugLogMemoryReads: {
|
|
10
|
+
env: 'RPC_SIMULATE_PUBLIC_MAX_DEBUG_LOG_MEMORY_READS',
|
|
11
|
+
description: 'Maximum memory reads for debug logs performed for public tx simulation in the node on `simulatePublicCalls`. ',
|
|
12
|
+
...numberConfigHelper(DEFAULT_MAX_DEBUG_LOG_MEMORY_READS)
|
|
13
|
+
},
|
|
8
14
|
rpcMaxBatchSize: {
|
|
9
15
|
env: 'RPC_MAX_BATCH_SIZE',
|
|
10
16
|
description: 'Maximum allowed batch size for JSON RPC batch requests.',
|
|
@@ -3,7 +3,7 @@ import { type FunctionAbi, FunctionSelector } from '../abi/index.js';
|
|
|
3
3
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
4
4
|
import type { ContractInstance } from './interfaces/contract_instance.js';
|
|
5
5
|
/**
|
|
6
|
-
* Returns the deployment address for a given contract instance
|
|
6
|
+
* Returns the deployment address for a given contract instance.
|
|
7
7
|
* ```
|
|
8
8
|
* salted_initialization_hash = pedersen([salt, initialization_hash, deployer], GENERATOR__SALTED_INITIALIZATION_HASH)
|
|
9
9
|
* partial_address = pedersen([contract_class_id, salted_initialization_hash], GENERATOR__CONTRACT_PARTIAL_ADDRESS_V1)
|
|
@@ -6,7 +6,7 @@ import { computeVarArgsHash } from '../hash/hash.js';
|
|
|
6
6
|
import { computeAddress } from '../keys/index.js';
|
|
7
7
|
// TODO(@spalladino): Review all generator indices in this file
|
|
8
8
|
/**
|
|
9
|
-
* Returns the deployment address for a given contract instance
|
|
9
|
+
* Returns the deployment address for a given contract instance.
|
|
10
10
|
* ```
|
|
11
11
|
* salted_initialization_hash = pedersen([salt, initialization_hash, deployer], GENERATOR__SALTED_INITIALIZATION_HASH)
|
|
12
12
|
* partial_address = pedersen([contract_class_id, salted_initialization_hash], GENERATOR__CONTRACT_PARTIAL_ADDRESS_V1)
|