@aztec/stdlib 3.0.0-canary.a9708bd → 3.0.0-devnet.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +8 -8
- package/dest/abi/abi.js +1 -1
- package/dest/abi/contract_artifact.js +3 -0
- package/dest/abi/event_metadata_definition.d.ts +8 -0
- package/dest/abi/event_metadata_definition.d.ts.map +1 -0
- package/dest/abi/event_metadata_definition.js +1 -0
- package/dest/abi/function_call.d.ts +7 -2
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +6 -2
- package/dest/abi/index.d.ts +1 -0
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/avm/avm.d.ts +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 @@
|
|
|
1
|
+
{"version":3,"file":"unique_note.d.ts","sourceRoot":"","sources":["../../src/note/unique_note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAK9E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;GAEG;AACH,qBAAa,UAAU;IAEnB,kDAAkD;IAC3C,IAAI,EAAE,IAAI;IACjB,mEAAmE;IAC5D,SAAS,EAAE,YAAY;IAC9B,oDAAoD;IAC7C,eAAe,EAAE,YAAY;IACpC,iEAAiE;IAC1D,WAAW,EAAE,EAAE;IACtB,kDAAkD;IAC3C,MAAM,EAAE,MAAM;IACrB,gGAAgG;IACzF,SAAS,EAAE,EAAE;;IAXpB,kDAAkD;IAC3C,IAAI,EAAE,IAAI;IACjB,mEAAmE;IAC5D,SAAS,EAAE,YAAY;IAC9B,oDAAoD;IAC7C,eAAe,EAAE,YAAY;IACpC,iEAAiE;IAC1D,WAAW,EAAE,EAAE;IACtB,kDAAkD;IAC3C,MAAM,EAAE,MAAM;IACrB,gGAAgG;IACzF,SAAS,EAAE,EAAE;IAGtB,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,CAatC;IAED,QAAQ,IAAI,MAAM;WAWL,MAAM;IAWnB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAa/C,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,QAAQ;CAGT"}
|
|
@@ -7,63 +7,21 @@ import { schemas } from '../schemas/index.js';
|
|
|
7
7
|
import { TxHash } from '../tx/tx_hash.js';
|
|
8
8
|
import { Note } from './note.js';
|
|
9
9
|
/**
|
|
10
|
-
* A note with contextual data.
|
|
11
|
-
*/ export class
|
|
10
|
+
* A note with contextual data and a nonce that makes it unique.
|
|
11
|
+
*/ export class UniqueNote {
|
|
12
12
|
note;
|
|
13
13
|
recipient;
|
|
14
14
|
contractAddress;
|
|
15
15
|
storageSlot;
|
|
16
16
|
txHash;
|
|
17
|
-
|
|
17
|
+
noteNonce;
|
|
18
|
+
constructor(/** The note as emitted from the Noir contract. */ note, /** The recipient whose public key was used to encrypt the note. */ recipient, /** The contract address this note is created in. */ contractAddress, /** The specific storage location of the note on the contract. */ storageSlot, /** The hash of the tx the note was created in. */ txHash, /** The nonce that was injected into the note hash preimage in order to guarantee uniqueness. */ noteNonce){
|
|
18
19
|
this.note = note;
|
|
19
20
|
this.recipient = recipient;
|
|
20
21
|
this.contractAddress = contractAddress;
|
|
21
22
|
this.storageSlot = storageSlot;
|
|
22
23
|
this.txHash = txHash;
|
|
23
|
-
|
|
24
|
-
toBuffer() {
|
|
25
|
-
return serializeToBuffer([
|
|
26
|
-
this.note,
|
|
27
|
-
this.recipient,
|
|
28
|
-
this.contractAddress,
|
|
29
|
-
this.storageSlot,
|
|
30
|
-
this.txHash
|
|
31
|
-
]);
|
|
32
|
-
}
|
|
33
|
-
static fromBuffer(buffer) {
|
|
34
|
-
const reader = BufferReader.asReader(buffer);
|
|
35
|
-
const note = reader.readObject(Note);
|
|
36
|
-
const recipient = reader.readObject(AztecAddress);
|
|
37
|
-
const contractAddress = reader.readObject(AztecAddress);
|
|
38
|
-
const storageSlot = reader.readObject(Fr);
|
|
39
|
-
const txHash = reader.readObject(TxHash);
|
|
40
|
-
return new this(note, recipient, contractAddress, storageSlot, txHash);
|
|
41
|
-
}
|
|
42
|
-
static get schema() {
|
|
43
|
-
return z.object({
|
|
44
|
-
note: Note.schema,
|
|
45
|
-
recipient: schemas.AztecAddress,
|
|
46
|
-
contractAddress: schemas.AztecAddress,
|
|
47
|
-
storageSlot: schemas.Fr,
|
|
48
|
-
txHash: TxHash.schema
|
|
49
|
-
}).transform(({ note, recipient, contractAddress, storageSlot, txHash })=>{
|
|
50
|
-
return new ExtendedNote(note, recipient, contractAddress, storageSlot, txHash);
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
toString() {
|
|
54
|
-
return bufferToHex(this.toBuffer());
|
|
55
|
-
}
|
|
56
|
-
static fromString(str) {
|
|
57
|
-
return ExtendedNote.fromBuffer(hexToBuffer(str));
|
|
58
|
-
}
|
|
59
|
-
static async random() {
|
|
60
|
-
return new ExtendedNote(Note.random(), await AztecAddress.random(), await AztecAddress.random(), Fr.random(), TxHash.random());
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
export class UniqueNote extends ExtendedNote {
|
|
64
|
-
noteNonce;
|
|
65
|
-
constructor(/** The note as emitted from the Noir contract. */ note, /** The recipient whose public key was used to encrypt the note. */ recipient, /** The contract address this note is created in. */ contractAddress, /** The specific storage location of the note on the contract. */ storageSlot, /** The hash of the tx the note was created in. */ txHash, /** The nonce that was injected into the note hash preimage in order to guarantee uniqueness. */ noteNonce){
|
|
66
|
-
super(note, recipient, contractAddress, storageSlot, txHash), this.noteNonce = noteNonce;
|
|
24
|
+
this.noteNonce = noteNonce;
|
|
67
25
|
}
|
|
68
26
|
static get schema() {
|
|
69
27
|
return z.object({
|
|
@@ -98,9 +56,12 @@ export class UniqueNote extends ExtendedNote {
|
|
|
98
56
|
const storageSlot = reader.readObject(Fr);
|
|
99
57
|
const txHash = reader.readObject(TxHash);
|
|
100
58
|
const noteNonce = reader.readObject(Fr);
|
|
101
|
-
return new
|
|
59
|
+
return new UniqueNote(note, recipient, contractAddress, storageSlot, txHash, noteNonce);
|
|
102
60
|
}
|
|
103
61
|
static fromString(str) {
|
|
104
62
|
return UniqueNote.fromBuffer(hexToBuffer(str));
|
|
105
63
|
}
|
|
64
|
+
toString() {
|
|
65
|
+
return bufferToHex(this.toBuffer());
|
|
66
|
+
}
|
|
106
67
|
}
|
|
@@ -3,8 +3,7 @@ import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
3
3
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
6
|
-
import {
|
|
7
|
-
import type { UInt32 } from '../types/index.js';
|
|
6
|
+
import type { ZodFor } from '../schemas/index.js';
|
|
8
7
|
import { ConsensusPayload } from './consensus_payload.js';
|
|
9
8
|
import { Gossipable } from './gossipable.js';
|
|
10
9
|
import { TopicType } from './topic_type.js';
|
|
@@ -18,34 +17,71 @@ export declare class BlockAttestationHash extends Buffer32 {
|
|
|
18
17
|
* will produce a block attestation over the header of the block
|
|
19
18
|
*/
|
|
20
19
|
export declare class BlockAttestation extends Gossipable {
|
|
21
|
-
/** The block number of the attestation. */
|
|
22
|
-
readonly blockNumber: UInt32;
|
|
23
20
|
/** The payload of the message, and what the signature is over */
|
|
24
21
|
readonly payload: ConsensusPayload;
|
|
25
22
|
/** The signature of the block attester */
|
|
26
23
|
readonly signature: Signature;
|
|
24
|
+
/** The signature from the block proposer */
|
|
25
|
+
readonly proposerSignature: Signature;
|
|
27
26
|
static p2pTopic: TopicType;
|
|
28
27
|
private sender;
|
|
28
|
+
private proposer;
|
|
29
29
|
constructor(
|
|
30
|
-
/** The block number of the attestation. */
|
|
31
|
-
blockNumber: UInt32,
|
|
32
30
|
/** The payload of the message, and what the signature is over */
|
|
33
31
|
payload: ConsensusPayload,
|
|
34
32
|
/** The signature of the block attester */
|
|
35
|
-
signature: Signature
|
|
33
|
+
signature: Signature,
|
|
34
|
+
/** The signature from the block proposer */
|
|
35
|
+
proposerSignature: Signature);
|
|
36
36
|
static get schema(): ZodFor<BlockAttestation>;
|
|
37
37
|
generateP2PMessageIdentifier(): Promise<Buffer32>;
|
|
38
38
|
get archive(): Fr;
|
|
39
39
|
get slotNumber(): Fr;
|
|
40
40
|
/**
|
|
41
41
|
* Lazily evaluate and cache the signer of the attestation
|
|
42
|
-
* @returns The signer of the attestation
|
|
42
|
+
* @returns The signer of the attestation, or undefined if signature recovery fails
|
|
43
43
|
*/
|
|
44
|
-
getSender(): EthAddress;
|
|
44
|
+
getSender(): EthAddress | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Lazily evaluate and cache the proposer of the block
|
|
47
|
+
* @returns The proposer of the block
|
|
48
|
+
*/
|
|
49
|
+
getProposer(): EthAddress | undefined;
|
|
45
50
|
getPayload(): Buffer;
|
|
46
51
|
toBuffer(): Buffer;
|
|
47
52
|
static fromBuffer(buf: Buffer | BufferReader): BlockAttestation;
|
|
48
53
|
static empty(): BlockAttestation;
|
|
54
|
+
static random(): BlockAttestation;
|
|
49
55
|
getSize(): number;
|
|
56
|
+
toInspect(): {
|
|
57
|
+
payload: {
|
|
58
|
+
header: {
|
|
59
|
+
lastArchive: `0x${string}`;
|
|
60
|
+
contentCommitment: {
|
|
61
|
+
blobsHash: `0x${string}`;
|
|
62
|
+
inHash: `0x${string}`;
|
|
63
|
+
outHash: `0x${string}`;
|
|
64
|
+
};
|
|
65
|
+
slotNumber: bigint;
|
|
66
|
+
timestamp: bigint;
|
|
67
|
+
coinbase: `0x${string}`;
|
|
68
|
+
feeRecipient: `0x${string}`;
|
|
69
|
+
gasFees: {
|
|
70
|
+
feePerDaGas: bigint;
|
|
71
|
+
feePerL2Gas: bigint;
|
|
72
|
+
};
|
|
73
|
+
totalManaUsed: bigint;
|
|
74
|
+
};
|
|
75
|
+
archive: `0x${string}`;
|
|
76
|
+
stateReference: {
|
|
77
|
+
l1ToL2MessageTree: `0x${string}`;
|
|
78
|
+
noteHashTree: `0x${string}`;
|
|
79
|
+
nullifierTree: `0x${string}`;
|
|
80
|
+
publicDataTree: `0x${string}`;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
signature: `0x${string}`;
|
|
84
|
+
proposerSignature: `0x${string}`;
|
|
85
|
+
};
|
|
50
86
|
}
|
|
51
87
|
//# sourceMappingURL=block_attestation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/block_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,
|
|
1
|
+
{"version":3,"file":"block_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/block_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,oBAAqB,SAAQ,QAAQ;gBACpC,IAAI,EAAE,MAAM;CAGzB;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAO5C,iEAAiE;aACjD,OAAO,EAAE,gBAAgB;IAEzC,0CAA0C;aAC1B,SAAS,EAAE,SAAS;IAEpC,4CAA4C;aAC5B,iBAAiB,EAAE,SAAS;IAb9C,OAAgB,QAAQ,YAA+B;IAEvD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAyB;;IAGvC,iEAAiE;IACjD,OAAO,EAAE,gBAAgB;IAEzC,0CAA0C;IAC1B,SAAS,EAAE,SAAS;IAEpC,4CAA4C;IAC5B,iBAAiB,EAAE,SAAS;IAK9C,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAQ5C;IAEQ,4BAA4B,IAAI,OAAO,CAAC,QAAQ,CAAC;IAI1D,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,EAAE,CAEnB;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS;IAWnC;;;OAGG;IACH,WAAW,IAAI,UAAU,GAAG,SAAS;IAWrC,UAAU,IAAI,MAAM;IAIpB,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB;IAS/D,MAAM,CAAC,KAAK,IAAI,gBAAgB;IAIhC,MAAM,CAAC,MAAM,IAAI,gBAAgB;IAIjC,OAAO,IAAI,MAAM;IAIjB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOV"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
|
-
import { keccak256,
|
|
2
|
+
import { keccak256, tryRecoverAddress } from '@aztec/foundation/crypto';
|
|
3
3
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
4
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
import { schemas } from '../schemas/index.js';
|
|
7
6
|
import { ConsensusPayload } from './consensus_payload.js';
|
|
8
7
|
import { Gossipable } from './gossipable.js';
|
|
9
8
|
import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
|
|
@@ -19,20 +18,21 @@ export class BlockAttestationHash extends Buffer32 {
|
|
|
19
18
|
* A validator that has attested to seeing the contents of a block
|
|
20
19
|
* will produce a block attestation over the header of the block
|
|
21
20
|
*/ export class BlockAttestation extends Gossipable {
|
|
22
|
-
blockNumber;
|
|
23
21
|
payload;
|
|
24
22
|
signature;
|
|
23
|
+
proposerSignature;
|
|
25
24
|
static p2pTopic = TopicType.block_attestation;
|
|
26
25
|
sender;
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
proposer;
|
|
27
|
+
constructor(/** The payload of the message, and what the signature is over */ payload, /** The signature of the block attester */ signature, /** The signature from the block proposer */ proposerSignature){
|
|
28
|
+
super(), this.payload = payload, this.signature = signature, this.proposerSignature = proposerSignature;
|
|
29
29
|
}
|
|
30
30
|
static get schema() {
|
|
31
31
|
return z.object({
|
|
32
|
-
blockNumber: schemas.UInt32,
|
|
33
32
|
payload: ConsensusPayload.schema,
|
|
34
|
-
signature: Signature.schema
|
|
35
|
-
|
|
33
|
+
signature: Signature.schema,
|
|
34
|
+
proposerSignature: Signature.schema
|
|
35
|
+
}).transform((obj)=>new BlockAttestation(obj.payload, obj.signature, obj.proposerSignature));
|
|
36
36
|
}
|
|
37
37
|
generateP2PMessageIdentifier() {
|
|
38
38
|
return Promise.resolve(new BlockAttestationHash(keccak256(this.signature.toBuffer())));
|
|
@@ -45,34 +45,56 @@ export class BlockAttestationHash extends Buffer32 {
|
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
47
|
* Lazily evaluate and cache the signer of the attestation
|
|
48
|
-
* @returns The signer of the attestation
|
|
48
|
+
* @returns The signer of the attestation, or undefined if signature recovery fails
|
|
49
49
|
*/ getSender() {
|
|
50
50
|
if (!this.sender) {
|
|
51
51
|
// Recover the sender from the attestation
|
|
52
52
|
const hashed = getHashedSignaturePayloadEthSignedMessage(this.payload, SignatureDomainSeparator.blockAttestation);
|
|
53
53
|
// Cache the sender for later use
|
|
54
|
-
this.sender =
|
|
54
|
+
this.sender = tryRecoverAddress(hashed, this.signature);
|
|
55
55
|
}
|
|
56
56
|
return this.sender;
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Lazily evaluate and cache the proposer of the block
|
|
60
|
+
* @returns The proposer of the block
|
|
61
|
+
*/ getProposer() {
|
|
62
|
+
if (!this.proposer) {
|
|
63
|
+
// Recover the proposer from the proposal signature
|
|
64
|
+
const hashed = getHashedSignaturePayloadEthSignedMessage(this.payload, SignatureDomainSeparator.blockProposal);
|
|
65
|
+
// Cache the proposer for later use
|
|
66
|
+
this.proposer = tryRecoverAddress(hashed, this.proposerSignature);
|
|
67
|
+
}
|
|
68
|
+
return this.proposer;
|
|
69
|
+
}
|
|
58
70
|
getPayload() {
|
|
59
71
|
return this.payload.getPayloadToSign(SignatureDomainSeparator.blockAttestation);
|
|
60
72
|
}
|
|
61
73
|
toBuffer() {
|
|
62
74
|
return serializeToBuffer([
|
|
63
|
-
this.blockNumber,
|
|
64
75
|
this.payload,
|
|
65
|
-
this.signature
|
|
76
|
+
this.signature,
|
|
77
|
+
this.proposerSignature
|
|
66
78
|
]);
|
|
67
79
|
}
|
|
68
80
|
static fromBuffer(buf) {
|
|
69
81
|
const reader = BufferReader.asReader(buf);
|
|
70
|
-
return new BlockAttestation(reader.
|
|
82
|
+
return new BlockAttestation(reader.readObject(ConsensusPayload), reader.readObject(Signature), reader.readObject(Signature));
|
|
71
83
|
}
|
|
72
84
|
static empty() {
|
|
73
|
-
return new BlockAttestation(
|
|
85
|
+
return new BlockAttestation(ConsensusPayload.empty(), Signature.empty(), Signature.empty());
|
|
86
|
+
}
|
|
87
|
+
static random() {
|
|
88
|
+
return new BlockAttestation(ConsensusPayload.random(), Signature.random(), Signature.random());
|
|
74
89
|
}
|
|
75
90
|
getSize() {
|
|
76
|
-
return
|
|
91
|
+
return this.payload.getSize() + this.signature.getSize() + this.proposerSignature.getSize();
|
|
92
|
+
}
|
|
93
|
+
toInspect() {
|
|
94
|
+
return {
|
|
95
|
+
payload: this.payload.toInspect(),
|
|
96
|
+
signature: this.signature.toString(),
|
|
97
|
+
proposerSignature: this.proposerSignature.toString()
|
|
98
|
+
};
|
|
77
99
|
}
|
|
78
100
|
}
|
|
@@ -3,10 +3,9 @@ import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
3
3
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
6
|
-
import type {
|
|
6
|
+
import type { L2BlockInfo } from '../block/l2_block_info.js';
|
|
7
7
|
import { TxHash } from '../tx/index.js';
|
|
8
8
|
import { Tx } from '../tx/tx.js';
|
|
9
|
-
import type { UInt32 } from '../types/index.js';
|
|
10
9
|
import { ConsensusPayload } from './consensus_payload.js';
|
|
11
10
|
import { Gossipable } from './gossipable.js';
|
|
12
11
|
import { TopicType } from './topic_type.js';
|
|
@@ -15,6 +14,8 @@ export declare class BlockProposalHash extends Buffer32 {
|
|
|
15
14
|
}
|
|
16
15
|
export type BlockProposalOptions = {
|
|
17
16
|
publishFullTxs: boolean;
|
|
17
|
+
/** Whether to generate an invalid block proposal for broadcasting. Use only for testing. */
|
|
18
|
+
broadcastInvalidBlockProposal?: boolean;
|
|
18
19
|
};
|
|
19
20
|
/**
|
|
20
21
|
* BlockProposal
|
|
@@ -23,8 +24,6 @@ export type BlockProposalOptions = {
|
|
|
23
24
|
* be included in the head of the chain
|
|
24
25
|
*/
|
|
25
26
|
export declare class BlockProposal extends Gossipable {
|
|
26
|
-
/** The number of the block */
|
|
27
|
-
readonly blockNumber: UInt32;
|
|
28
27
|
/** The payload of the message, and what the signature is over */
|
|
29
28
|
readonly payload: ConsensusPayload;
|
|
30
29
|
/** The signer of the BlockProposal over the header of the new block*/
|
|
@@ -36,8 +35,6 @@ export declare class BlockProposal extends Gossipable {
|
|
|
36
35
|
static p2pTopic: TopicType;
|
|
37
36
|
private sender;
|
|
38
37
|
constructor(
|
|
39
|
-
/** The number of the block */
|
|
40
|
-
blockNumber: UInt32,
|
|
41
38
|
/** The payload of the message, and what the signature is over */
|
|
42
39
|
payload: ConsensusPayload,
|
|
43
40
|
/** The signer of the BlockProposal over the header of the new block*/
|
|
@@ -49,12 +46,13 @@ export declare class BlockProposal extends Gossipable {
|
|
|
49
46
|
generateP2PMessageIdentifier(): Promise<Buffer32>;
|
|
50
47
|
get archive(): Fr;
|
|
51
48
|
get slotNumber(): Fr;
|
|
52
|
-
toBlockInfo():
|
|
53
|
-
static createProposalFromSigner(
|
|
49
|
+
toBlockInfo(): Omit<L2BlockInfo, 'blockNumber'>;
|
|
50
|
+
static createProposalFromSigner(payload: ConsensusPayload, txHashes: TxHash[], txs: Tx[] | undefined, payloadSigner: (payload: Buffer32) => Promise<Signature>): Promise<BlockProposal>;
|
|
54
51
|
/**Get Sender
|
|
55
52
|
* Lazily evaluate the sender of the proposal; result is cached
|
|
53
|
+
* @returns The sender address, or undefined if signature recovery fails
|
|
56
54
|
*/
|
|
57
|
-
getSender(): EthAddress;
|
|
55
|
+
getSender(): EthAddress | undefined;
|
|
58
56
|
getPayload(): Buffer<ArrayBufferLike>;
|
|
59
57
|
toBuffer(): Buffer;
|
|
60
58
|
static fromBuffer(buf: Buffer | BufferReader): BlockProposal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,iBAAkB,SAAQ,QAAQ;gBACjC,IAAI,EAAE,MAAM;CAGzB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,4FAA4F;IAC5F,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAMzC,iEAAiE;aACjD,OAAO,EAAE,gBAAgB;IAEzC,sEAAsE;aACtD,SAAS,EAAE,SAAS;IAEpC,gDAAgD;aAChC,QAAQ,EAAE,MAAM,EAAE;IAGlC,oCAAoC;aACpB,GAAG,CAAC,EAAE,EAAE,EAAE;IAhB5B,OAAgB,QAAQ,YAA4B;IAEpD,OAAO,CAAC,MAAM,CAAyB;;IAGrC,iEAAiE;IACjD,OAAO,EAAE,gBAAgB;IAEzC,sEAAsE;IACtD,SAAS,EAAE,SAAS;IAEpC,gDAAgD;IAChC,QAAQ,EAAE,MAAM,EAAE;IAGlC,oCAAoC;IACpB,GAAG,CAAC,EAAE,EAAE,EAAE,YAAA;IAKnB,4BAA4B,IAAI,OAAO,CAAC,QAAQ,CAAC;IAI1D,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,EAAE,CAEnB;IAED,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC;WAUlC,wBAAwB,CACnC,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,MAAM,EAAE,EAElB,GAAG,EAAE,EAAE,EAAE,GAAG,SAAS,EACrB,aAAa,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC;IAQ1D;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS;IAUnC,UAAU;IAIV,QAAQ,IAAI,MAAM;IASlB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa;IAe5D,OAAO,IAAI,MAAM;CASlB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
|
-
import { keccak256,
|
|
2
|
+
import { keccak256, tryRecoverAddress } from '@aztec/foundation/crypto';
|
|
3
3
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
4
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
import { TxHash } from '../tx/index.js';
|
|
@@ -19,16 +19,15 @@ export class BlockProposalHash extends Buffer32 {
|
|
|
19
19
|
* A block proposal is created by the leader of the chain proposing a sequence of transactions to
|
|
20
20
|
* be included in the head of the chain
|
|
21
21
|
*/ export class BlockProposal extends Gossipable {
|
|
22
|
-
blockNumber;
|
|
23
22
|
payload;
|
|
24
23
|
signature;
|
|
25
24
|
txHashes;
|
|
26
25
|
txs;
|
|
27
26
|
static p2pTopic = TopicType.block_proposal;
|
|
28
27
|
sender;
|
|
29
|
-
constructor(/** The
|
|
28
|
+
constructor(/** The payload of the message, and what the signature is over */ payload, /** The signer of the BlockProposal over the header of the new block*/ signature, /** The sequence of transactions in the block */ txHashes, // Note(md): this is placed after the txs payload in order to be backwards compatible with previous versions
|
|
30
29
|
/** The transactions in the block */ txs){
|
|
31
|
-
super(), this.
|
|
30
|
+
super(), this.payload = payload, this.signature = signature, this.txHashes = txHashes, this.txs = txs;
|
|
32
31
|
}
|
|
33
32
|
generateP2PMessageIdentifier() {
|
|
34
33
|
return Promise.resolve(new BlockProposalHash(keccak256(this.signature.toBuffer())));
|
|
@@ -41,25 +40,27 @@ export class BlockProposalHash extends Buffer32 {
|
|
|
41
40
|
}
|
|
42
41
|
toBlockInfo() {
|
|
43
42
|
return {
|
|
44
|
-
blockNumber: this.blockNumber,
|
|
45
43
|
slotNumber: this.slotNumber.toNumber(),
|
|
46
|
-
|
|
44
|
+
lastArchive: this.payload.header.lastArchiveRoot,
|
|
45
|
+
timestamp: this.payload.header.timestamp,
|
|
46
|
+
archive: this.archive,
|
|
47
47
|
txCount: this.txHashes.length
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
-
static async createProposalFromSigner(
|
|
50
|
+
static async createProposalFromSigner(payload, txHashes, // Note(md): Provided separately to tx hashes such that this function can be optional
|
|
51
51
|
txs, payloadSigner) {
|
|
52
52
|
const hashed = getHashedSignaturePayload(payload, SignatureDomainSeparator.blockProposal);
|
|
53
53
|
const sig = await payloadSigner(hashed);
|
|
54
|
-
return new BlockProposal(
|
|
54
|
+
return new BlockProposal(payload, sig, txHashes, txs);
|
|
55
55
|
}
|
|
56
56
|
/**Get Sender
|
|
57
57
|
* Lazily evaluate the sender of the proposal; result is cached
|
|
58
|
+
* @returns The sender address, or undefined if signature recovery fails
|
|
58
59
|
*/ getSender() {
|
|
59
60
|
if (!this.sender) {
|
|
60
61
|
const hashed = getHashedSignaturePayloadEthSignedMessage(this.payload, SignatureDomainSeparator.blockProposal);
|
|
61
62
|
// Cache the sender for later use
|
|
62
|
-
this.sender =
|
|
63
|
+
this.sender = tryRecoverAddress(hashed, this.signature);
|
|
63
64
|
}
|
|
64
65
|
return this.sender;
|
|
65
66
|
}
|
|
@@ -68,7 +69,6 @@ export class BlockProposalHash extends Buffer32 {
|
|
|
68
69
|
}
|
|
69
70
|
toBuffer() {
|
|
70
71
|
const buffer = [
|
|
71
|
-
this.blockNumber,
|
|
72
72
|
this.payload,
|
|
73
73
|
this.signature,
|
|
74
74
|
this.txHashes.length,
|
|
@@ -82,17 +82,16 @@ export class BlockProposalHash extends Buffer32 {
|
|
|
82
82
|
}
|
|
83
83
|
static fromBuffer(buf) {
|
|
84
84
|
const reader = BufferReader.asReader(buf);
|
|
85
|
-
const blockNumber = reader.readNumber();
|
|
86
85
|
const payload = reader.readObject(ConsensusPayload);
|
|
87
86
|
const sig = reader.readObject(Signature);
|
|
88
87
|
const txHashes = reader.readArray(reader.readNumber(), TxHash);
|
|
89
88
|
if (!reader.isEmpty()) {
|
|
90
89
|
const txs = reader.readArray(reader.readNumber(), Tx);
|
|
91
|
-
return new BlockProposal(
|
|
90
|
+
return new BlockProposal(payload, sig, txHashes, txs);
|
|
92
91
|
}
|
|
93
|
-
return new BlockProposal(
|
|
92
|
+
return new BlockProposal(payload, sig, txHashes);
|
|
94
93
|
}
|
|
95
94
|
getSize() {
|
|
96
|
-
return
|
|
95
|
+
return this.payload.getSize() + this.signature.getSize() + 4 /* txHashes.length */ + this.txHashes.length * TxHash.SIZE + (this.txs ? 4 /* txs.length */ + this.txs.reduce((acc, tx)=>acc + tx.getSize(), 0) : 0);
|
|
97
96
|
}
|
|
98
97
|
}
|
|
@@ -3,11 +3,12 @@ import { BufferReader } from '@aztec/foundation/serialize';
|
|
|
3
3
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import type { L2Block } from '../block/l2_block.js';
|
|
6
|
-
import {
|
|
6
|
+
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
7
|
+
import { StateReference } from '../tx/state_reference.js';
|
|
7
8
|
import type { Signable, SignatureDomainSeparator } from './signature_utils.js';
|
|
8
9
|
export declare class ConsensusPayload implements Signable {
|
|
9
10
|
/** The proposed block header the attestation is made over */
|
|
10
|
-
readonly header:
|
|
11
|
+
readonly header: CheckpointHeader;
|
|
11
12
|
/** The archive root after the block is added */
|
|
12
13
|
readonly archive: Fr;
|
|
13
14
|
/** The state reference after the block is added */
|
|
@@ -15,13 +16,13 @@ export declare class ConsensusPayload implements Signable {
|
|
|
15
16
|
private size;
|
|
16
17
|
constructor(
|
|
17
18
|
/** The proposed block header the attestation is made over */
|
|
18
|
-
header:
|
|
19
|
+
header: CheckpointHeader,
|
|
19
20
|
/** The archive root after the block is added */
|
|
20
21
|
archive: Fr,
|
|
21
22
|
/** The state reference after the block is added */
|
|
22
23
|
stateReference: StateReference);
|
|
23
24
|
static get schema(): z.ZodEffects<z.ZodObject<{
|
|
24
|
-
header: import("@aztec/foundation/schemas").ZodFor<
|
|
25
|
+
header: import("@aztec/foundation/schemas").ZodFor<CheckpointHeader>;
|
|
25
26
|
archive: z.ZodType<Fr, any, string>;
|
|
26
27
|
stateReference: z.ZodEffects<z.ZodObject<{
|
|
27
28
|
l1ToL2MessageTree: z.ZodEffects<z.ZodObject<{
|
|
@@ -152,7 +153,7 @@ export declare class ConsensusPayload implements Signable {
|
|
|
152
153
|
}>;
|
|
153
154
|
}, "strip", z.ZodTypeAny, {
|
|
154
155
|
archive: Fr;
|
|
155
|
-
header:
|
|
156
|
+
header: CheckpointHeader;
|
|
156
157
|
stateReference: StateReference;
|
|
157
158
|
}, {
|
|
158
159
|
archive: string;
|
|
@@ -201,18 +202,46 @@ export declare class ConsensusPayload implements Signable {
|
|
|
201
202
|
};
|
|
202
203
|
header?: any;
|
|
203
204
|
}>;
|
|
204
|
-
static getFields(fields: FieldsOf<ConsensusPayload>): readonly [
|
|
205
|
+
static getFields(fields: FieldsOf<ConsensusPayload>): readonly [CheckpointHeader, Fr, StateReference];
|
|
205
206
|
getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
|
|
206
207
|
toBuffer(): Buffer;
|
|
208
|
+
equals(other: ConsensusPayload): boolean;
|
|
207
209
|
static fromBuffer(buf: Buffer | BufferReader): ConsensusPayload;
|
|
208
210
|
static fromFields(fields: FieldsOf<ConsensusPayload>): ConsensusPayload;
|
|
209
211
|
static fromBlock(block: L2Block): ConsensusPayload;
|
|
210
212
|
static empty(): ConsensusPayload;
|
|
213
|
+
static random(): ConsensusPayload;
|
|
211
214
|
/**
|
|
212
215
|
* Get the size of the consensus payload in bytes.
|
|
213
216
|
* @returns The size of the consensus payload.
|
|
214
217
|
*/
|
|
215
218
|
getSize(): number;
|
|
219
|
+
toInspect(): {
|
|
220
|
+
header: {
|
|
221
|
+
lastArchive: `0x${string}`;
|
|
222
|
+
contentCommitment: {
|
|
223
|
+
blobsHash: `0x${string}`;
|
|
224
|
+
inHash: `0x${string}`;
|
|
225
|
+
outHash: `0x${string}`;
|
|
226
|
+
};
|
|
227
|
+
slotNumber: bigint;
|
|
228
|
+
timestamp: bigint;
|
|
229
|
+
coinbase: `0x${string}`;
|
|
230
|
+
feeRecipient: `0x${string}`;
|
|
231
|
+
gasFees: {
|
|
232
|
+
feePerDaGas: bigint;
|
|
233
|
+
feePerL2Gas: bigint;
|
|
234
|
+
};
|
|
235
|
+
totalManaUsed: bigint;
|
|
236
|
+
};
|
|
237
|
+
archive: `0x${string}`;
|
|
238
|
+
stateReference: {
|
|
239
|
+
l1ToL2MessageTree: `0x${string}`;
|
|
240
|
+
noteHashTree: `0x${string}`;
|
|
241
|
+
nullifierTree: `0x${string}`;
|
|
242
|
+
publicDataTree: `0x${string}`;
|
|
243
|
+
};
|
|
244
|
+
};
|
|
216
245
|
toString(): string;
|
|
217
246
|
}
|
|
218
247
|
//# sourceMappingURL=consensus_payload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consensus_payload.d.ts","sourceRoot":"","sources":["../../src/p2p/consensus_payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"consensus_payload.d.ts","sourceRoot":"","sources":["../../src/p2p/consensus_payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,qBAAa,gBAAiB,YAAW,QAAQ;IAI7C,6DAA6D;aAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;aAChC,OAAO,EAAE,EAAE;IAC3B,mDAAmD;aACnC,cAAc,EAAE,cAAc;IARhD,OAAO,CAAC,IAAI,CAAqB;;IAG/B,6DAA6D;IAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;IAChC,OAAO,EAAE,EAAE;IAC3B,mDAAmD;IACnC,cAAc,EAAE,cAAc;IAGhD,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAInD,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM;IAsBnE,QAAQ,IAAI,MAAM;IAIX,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAQ/C,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB;IAU/D,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAIvE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB;IAIlD,MAAM,CAAC,KAAK,IAAI,gBAAgB;IAIhC,MAAM,CAAC,MAAM,IAAI,gBAAgB;IAIjC;;;OAGG;IACH,OAAO,IAAI,MAAM;IASjB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;IAQT,QAAQ;CAGT"}
|
|
@@ -4,7 +4,8 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
|
4
4
|
import { hexToBuffer } from '@aztec/foundation/string';
|
|
5
5
|
import { encodeAbiParameters, parseAbiParameters } from 'viem';
|
|
6
6
|
import { z } from 'zod';
|
|
7
|
-
import {
|
|
7
|
+
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
8
|
+
import { StateReference } from '../tx/state_reference.js';
|
|
8
9
|
export class ConsensusPayload {
|
|
9
10
|
header;
|
|
10
11
|
archive;
|
|
@@ -17,7 +18,7 @@ export class ConsensusPayload {
|
|
|
17
18
|
}
|
|
18
19
|
static get schema() {
|
|
19
20
|
return z.object({
|
|
20
|
-
header:
|
|
21
|
+
header: CheckpointHeader.schema,
|
|
21
22
|
archive: schemas.Fr,
|
|
22
23
|
stateReference: StateReference.schema
|
|
23
24
|
}).transform((obj)=>new ConsensusPayload(obj.header, obj.archive, obj.stateReference));
|
|
@@ -53,26 +54,31 @@ export class ConsensusPayload {
|
|
|
53
54
|
return hexToBuffer(encodedData);
|
|
54
55
|
}
|
|
55
56
|
toBuffer() {
|
|
56
|
-
|
|
57
|
+
return serializeToBuffer([
|
|
57
58
|
this.header,
|
|
58
59
|
this.archive,
|
|
59
60
|
this.stateReference
|
|
60
61
|
]);
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
}
|
|
63
|
+
equals(other) {
|
|
64
|
+
return this.header.equals(other.header) && this.archive.equals(other.archive) && this.stateReference.equals(other.stateReference);
|
|
63
65
|
}
|
|
64
66
|
static fromBuffer(buf) {
|
|
65
67
|
const reader = BufferReader.asReader(buf);
|
|
66
|
-
|
|
68
|
+
const payload = new ConsensusPayload(reader.readObject(CheckpointHeader), reader.readObject(Fr), reader.readObject(StateReference));
|
|
69
|
+
return payload;
|
|
67
70
|
}
|
|
68
71
|
static fromFields(fields) {
|
|
69
72
|
return new ConsensusPayload(fields.header, fields.archive, fields.stateReference);
|
|
70
73
|
}
|
|
71
74
|
static fromBlock(block) {
|
|
72
|
-
return new ConsensusPayload(block.header.
|
|
75
|
+
return new ConsensusPayload(block.header.toCheckpointHeader(), block.archive.root, block.header.state);
|
|
73
76
|
}
|
|
74
77
|
static empty() {
|
|
75
|
-
return new ConsensusPayload(
|
|
78
|
+
return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO, StateReference.empty());
|
|
79
|
+
}
|
|
80
|
+
static random() {
|
|
81
|
+
return new ConsensusPayload(CheckpointHeader.random(), Fr.random(), StateReference.random());
|
|
76
82
|
}
|
|
77
83
|
/**
|
|
78
84
|
* Get the size of the consensus payload in bytes.
|
|
@@ -85,6 +91,13 @@ export class ConsensusPayload {
|
|
|
85
91
|
this.size = this.toBuffer().length;
|
|
86
92
|
return this.size;
|
|
87
93
|
}
|
|
94
|
+
toInspect() {
|
|
95
|
+
return {
|
|
96
|
+
header: this.header.toInspect(),
|
|
97
|
+
archive: this.archive.toString(),
|
|
98
|
+
stateReference: this.stateReference.toInspect()
|
|
99
|
+
};
|
|
100
|
+
}
|
|
88
101
|
toString() {
|
|
89
102
|
return `header: ${this.header.toString()}, archive: ${this.archive.toString()}, stateReference: ${this.stateReference.l1ToL2MessageTree.root.toString()}`;
|
|
90
103
|
}
|
package/dest/p2p/gossipable.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
2
|
import type { TopicType } from './topic_type.js';
|
|
3
3
|
export declare class P2PMessage {
|
|
4
|
-
readonly publishTime: Date;
|
|
5
|
-
readonly id: Buffer32;
|
|
6
4
|
readonly payload: Buffer;
|
|
7
|
-
constructor(
|
|
8
|
-
static fromGossipable(message: Gossipable):
|
|
5
|
+
constructor(payload: Buffer);
|
|
6
|
+
static fromGossipable(message: Gossipable): P2PMessage;
|
|
9
7
|
static fromMessageData(messageData: Buffer): P2PMessage;
|
|
10
8
|
toMessageData(): Buffer;
|
|
11
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gossipable.d.ts","sourceRoot":"","sources":["../../src/p2p/gossipable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"gossipable.d.ts","sourceRoot":"","sources":["../../src/p2p/gossipable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,UAAU;aACO,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM;IAE3C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU;IAItD,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU;IAMvD,aAAa,IAAI,MAAM;CAGxB;AAED;;;;GAIG;AACH,8BAAsB,UAAU;IAC9B,OAAO,CAAC,QAAQ,CAAuB;IACvC;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;IAE3B;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,QAAQ,CAAC;IAQ/C,QAAQ,CAAC,4BAA4B,IAAI,OAAO,CAAC,QAAQ,CAAC;IAE1D;;;OAGG;IACH,QAAQ,CAAC,QAAQ,IAAI,MAAM;IAE3B,SAAS,IAAI,MAAM;IAInB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,IAAI,MAAM;CAC3B"}
|