@aztec/stdlib 0.0.1-commit.1142ef1 → 0.0.1-commit.1bea0213
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/function_call.d.ts +9 -1
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/utils.d.ts +7 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +7 -0
- package/dest/auth_witness/auth_witness.d.ts +2 -1
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/avm/avm.d.ts +62 -62
- package/dest/avm/avm_accumulated_data.d.ts +30 -3
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
- package/dest/avm/avm_proving_request.d.ts +299 -299
- package/dest/avm/contract_storage_read.d.ts +13 -1
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +13 -1
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_data_read.d.ts +10 -1
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.d.ts +10 -1
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_write.d.ts +7 -1
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_inner_call_request.d.ts +4 -1
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +4 -4
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/block/block_hash.d.ts +16 -9
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +23 -8
- package/dest/block/block_parameter.d.ts +4 -3
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +2 -0
- package/dest/block/body.d.ts +1 -1
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +2 -1
- package/dest/block/checkpointed_l2_block.d.ts +20 -137
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
- package/dest/block/checkpointed_l2_block.js +7 -45
- package/dest/block/in_block.d.ts +8 -8
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +4 -4
- package/dest/block/index.d.ts +1 -3
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +0 -2
- package/dest/block/l2_block.d.ts +55 -59
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +64 -109
- package/dest/block/l2_block_source.d.ts +63 -38
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +2 -1
- package/dest/block/l2_block_stream/interfaces.d.ts +9 -6
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -3
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +37 -34
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +2 -7
- package/dest/block/validate_block_result.d.ts +1 -1
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +5 -4
- package/dest/checkpoint/checkpoint.d.ts +30 -20
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +18 -6
- package/dest/checkpoint/published_checkpoint.d.ts +17 -15
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +4 -3
- package/dest/config/node-rpc-config.js +1 -1
- package/dest/contract/complete_address.d.ts +4 -1
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/contract_deployment_data.d.ts +5 -5
- package/dest/contract/index.d.ts +1 -3
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -2
- package/dest/contract/interfaces/contract_instance.d.ts +16 -16
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +1 -2
- package/dest/database-version/version_manager.d.ts +4 -2
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
- package/dest/deserialization/index.d.ts +11 -0
- package/dest/deserialization/index.d.ts.map +1 -0
- package/dest/deserialization/index.js +10 -0
- package/dest/epoch-helpers/index.js +1 -1
- package/dest/errors/proving_error.d.ts +2 -2
- package/dest/errors/proving_error.d.ts.map +1 -1
- package/dest/interfaces/api_limit.d.ts +2 -1
- package/dest/interfaces/api_limit.d.ts.map +1 -1
- package/dest/interfaces/api_limit.js +1 -0
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +16 -14
- package/dest/interfaces/aztec-node-admin.d.ts +56 -26
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.d.ts +61 -43
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +7 -9
- package/dest/interfaces/block-builder.d.ts +16 -14
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/configs.d.ts +8 -8
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.d.ts +3 -3
- package/dest/interfaces/l2_logs_source.d.ts +14 -5
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/prover-client.d.ts +10 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +7 -1
- package/dest/interfaces/proving-job.d.ts +14 -14
- package/dest/interfaces/tx_provider.d.ts +3 -3
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +69 -13
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +2 -2
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +16 -6
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
- package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +2 -1
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +6 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/read_request.d.ts +7 -1
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts +7 -1
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/private_accumulated_data.d.ts +23 -1
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.d.ts +25 -1
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_request.d.ts +16 -1
- package/dest/kernel/private_call_request.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +74 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +31 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.d.ts +7 -1
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +23 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +16 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.d.ts +10 -1
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/public_call_request.d.ts +22 -1
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/utils/optional_number.d.ts +7 -1
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/keys/public_keys.d.ts +5 -1
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/logs/extended_contract_class_log.d.ts +3 -1
- package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
- package/dest/logs/extended_public_log.d.ts +7 -5
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/log_id.d.ts +10 -6
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +5 -5
- package/dest/messaging/inbox_leaf.d.ts +3 -1
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/l1_actor.d.ts +7 -1
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.d.ts +6 -1
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l2_actor.d.ts +7 -1
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- 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 +5 -3
- package/dest/messaging/out_hash.d.ts +41 -4
- package/dest/messaging/out_hash.d.ts.map +1 -1
- package/dest/messaging/out_hash.js +52 -26
- package/dest/note/note_dao.d.ts +36 -5
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +15 -12
- package/dest/p2p/block_proposal.d.ts +14 -6
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +25 -7
- package/dest/p2p/checkpoint_attestation.d.ts +5 -1
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.d.ts +11 -5
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +17 -5
- package/dest/p2p/consensus_payload.d.ts +4 -3
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +0 -3
- package/dest/p2p/constants.d.ts +3 -0
- package/dest/p2p/constants.d.ts.map +1 -0
- package/dest/p2p/constants.js +2 -0
- package/dest/p2p/index.d.ts +2 -1
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +1 -0
- package/dest/p2p/message_validator.d.ts +18 -3
- package/dest/p2p/message_validator.d.ts.map +1 -1
- package/dest/p2p/message_validator.js +2 -1
- package/dest/p2p/signed_txs.d.ts +3 -1
- package/dest/p2p/signed_txs.d.ts.map +1 -1
- package/dest/p2p/signed_txs.js +6 -1
- package/dest/p2p/topic_type.js +2 -1
- package/dest/parity/parity_base_private_inputs.d.ts +3 -1
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.d.ts +4 -1
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_root_private_inputs.d.ts +2 -1
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +1 -1
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +9 -4
- package/dest/proofs/proof.d.ts +4 -1
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/recursive_proof.d.ts +10 -1
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.d.ts +34 -1
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.d.ts +12 -1
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.js +1 -1
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +44 -3
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +2 -2
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.d.ts +29 -2
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +21 -5
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +41 -6
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +10 -6
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
- package/dest/rollup/epoch_constant_data.d.ts +16 -1
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +12 -2
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +4 -1
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +1 -1
- package/dest/tests/factories.d.ts +2 -4
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +6 -15
- package/dest/tests/jest.js +1 -1
- package/dest/tests/mocks.d.ts +15 -13
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +41 -24
- package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.d.ts +13 -1
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.d.ts +10 -1
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.d.ts +16 -1
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_witness.d.ts +11 -1
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/tx/block_header.d.ts +14 -2
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +5 -1
- package/dest/tx/call_context.d.ts +13 -1
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +4 -1
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/execution_payload.d.ts +9 -1
- package/dest/tx/execution_payload.d.ts.map +1 -1
- package/dest/tx/function_data.d.ts +4 -2
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +9 -1
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/hashed_values.d.ts +7 -1
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/in_tx.d.ts +3 -3
- package/dest/tx/indexed_tx_effect.d.ts +4 -4
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +2 -2
- package/dest/tx/partial_state_reference.d.ts +4 -1
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/private_execution_result.d.ts +23 -2
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +1 -1
- package/dest/tx/private_tx_constant_data.d.ts +16 -1
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/profiling.d.ts +149 -26
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +44 -7
- package/dest/tx/protocol_contracts.d.ts +1 -1
- package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/state_reference.d.ts +3 -1
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/tx.d.ts +24 -1
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +6 -3
- package/dest/tx/tx_context.d.ts +2 -1
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_effect.d.ts +32 -6
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +0 -7
- package/dest/tx/tx_execution_request.d.ts +30 -1
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_hash.d.ts +2 -1
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_receipt.d.ts +47 -13
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +46 -15
- package/dest/tx/tx_request.d.ts +6 -1
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +2 -1
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +2 -0
- package/dest/types/shared.d.ts +4 -1
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/validators/schemas.d.ts +8 -8
- package/dest/vks/verification_key.d.ts +22 -1
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/vk_data.d.ts +7 -1
- package/dest/vks/vk_data.d.ts.map +1 -1
- package/dest/zkpassport/index.d.ts +3 -4
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/dest/zkpassport/index.js +9 -9
- package/package.json +12 -10
- package/src/abi/utils.ts +17 -0
- package/src/block/block_hash.ts +36 -10
- package/src/block/block_parameter.ts +4 -2
- package/src/block/body.ts +2 -1
- package/src/block/checkpointed_l2_block.ts +8 -58
- package/src/block/in_block.ts +5 -5
- package/src/block/index.ts +0 -2
- package/src/block/l2_block.ts +101 -149
- package/src/block/l2_block_source.ts +69 -41
- package/src/block/l2_block_stream/interfaces.ts +8 -5
- package/src/block/l2_block_stream/l2_block_stream.ts +45 -37
- package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
- package/src/block/test/l2_tips_store_test_suite.ts +4 -9
- package/src/block/validate_block_result.ts +5 -4
- package/src/checkpoint/checkpoint.ts +33 -11
- package/src/checkpoint/published_checkpoint.ts +4 -3
- package/src/config/node-rpc-config.ts +1 -1
- package/src/contract/index.ts +0 -2
- package/src/contract/private_function.ts +1 -2
- package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
- package/src/deserialization/index.ts +21 -0
- package/src/epoch-helpers/index.ts +1 -1
- package/src/interfaces/api_limit.ts +1 -0
- package/src/interfaces/archiver.ts +16 -23
- package/src/interfaces/aztec-node.ts +76 -74
- package/src/interfaces/block-builder.ts +31 -24
- package/src/interfaces/configs.ts +1 -3
- package/src/interfaces/l2_logs_source.ts +17 -4
- package/src/interfaces/prover-client.ts +15 -0
- package/src/interfaces/tx_provider.ts +2 -2
- package/src/interfaces/validator.ts +8 -9
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +17 -6
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
- package/src/logs/log_id.ts +6 -6
- package/src/messaging/l2_to_l1_membership.ts +5 -3
- package/src/messaging/out_hash.ts +60 -29
- package/src/note/note_dao.ts +18 -13
- package/src/p2p/block_proposal.ts +27 -11
- package/src/p2p/checkpoint_proposal.ts +20 -9
- package/src/p2p/consensus_payload.ts +0 -5
- package/src/p2p/constants.ts +3 -0
- package/src/p2p/index.ts +1 -0
- package/src/p2p/message_validator.ts +14 -2
- package/src/p2p/signed_txs.ts +6 -1
- package/src/p2p/topic_type.ts +1 -1
- package/src/proofs/chonk_proof.ts +9 -5
- package/src/rollup/block_headers_hash.ts +1 -1
- package/src/rollup/block_rollup_public_inputs.ts +2 -2
- package/src/rollup/checkpoint_header.ts +20 -0
- package/src/rollup/checkpoint_rollup_public_inputs.ts +12 -6
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
- package/src/rollup/root_rollup_public_inputs.ts +4 -1
- package/src/tests/factories.ts +6 -26
- package/src/tests/jest.ts +1 -1
- package/src/tests/mocks.ts +56 -38
- package/src/tx/block_header.ts +11 -3
- package/src/tx/indexed_tx_effect.ts +2 -2
- package/src/tx/private_execution_result.ts +1 -1
- package/src/tx/profiling.ts +46 -4
- package/src/tx/tx.ts +8 -9
- package/src/tx/tx_effect.ts +0 -9
- package/src/tx/tx_receipt.ts +75 -18
- package/src/tx/validator/error_texts.ts +3 -0
- package/src/zkpassport/index.ts +11 -12
- package/dest/block/l2_block_code_to_purge.d.ts +0 -11
- package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
- package/dest/block/l2_block_code_to_purge.js +0 -55
- package/dest/block/l2_block_header.d.ts +0 -94
- package/dest/block/l2_block_header.d.ts.map +0 -1
- package/dest/block/l2_block_header.js +0 -160
- package/dest/block/l2_block_new.d.ts +0 -134
- package/dest/block/l2_block_new.d.ts.map +0 -1
- package/dest/block/l2_block_new.js +0 -155
- package/dest/contract/contract_class_metadata.d.ts +0 -8
- package/dest/contract/contract_class_metadata.d.ts.map +0 -1
- package/dest/contract/contract_class_metadata.js +0 -1
- package/dest/contract/contract_metadata.d.ts +0 -7
- package/dest/contract/contract_metadata.d.ts.map +0 -1
- package/dest/contract/contract_metadata.js +0 -1
- package/src/block/l2_block_code_to_purge.ts +0 -80
- package/src/block/l2_block_header.ts +0 -255
- package/src/block/l2_block_new.ts +0 -211
- package/src/contract/contract_class_metadata.ts +0 -8
- package/src/contract/contract_metadata.ts +0 -7
|
@@ -23,11 +23,11 @@ import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
|
|
|
23
23
|
import { z } from 'zod';
|
|
24
24
|
|
|
25
25
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
26
|
+
import { BlockHash } from '../block/block_hash.js';
|
|
26
27
|
import { type BlockParameter, BlockParameterSchema } from '../block/block_parameter.js';
|
|
27
|
-
import { CheckpointedL2Block
|
|
28
|
+
import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
|
|
28
29
|
import { type DataInBlock, dataInBlockSchemaFor } from '../block/in_block.js';
|
|
29
30
|
import { L2Block } from '../block/l2_block.js';
|
|
30
|
-
import { L2BlockNew } from '../block/l2_block_new.js';
|
|
31
31
|
import { type L2BlockSource, type L2Tips, L2TipsSchema } from '../block/l2_block_source.js';
|
|
32
32
|
import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
33
33
|
import {
|
|
@@ -78,13 +78,7 @@ import { type WorldStateSyncStatus, WorldStateSyncStatusSchema } from './world_s
|
|
|
78
78
|
export interface AztecNode
|
|
79
79
|
extends Pick<
|
|
80
80
|
L2BlockSource,
|
|
81
|
-
| '
|
|
82
|
-
| 'getL2BlocksNew'
|
|
83
|
-
| 'getPublishedBlocks'
|
|
84
|
-
| 'getPublishedCheckpoints'
|
|
85
|
-
| 'getBlockHeader'
|
|
86
|
-
| 'getL2Tips'
|
|
87
|
-
| 'getCheckpointedBlocks'
|
|
81
|
+
'getBlocks' | 'getCheckpoints' | 'getBlockHeader' | 'getL2Tips' | 'getCheckpointedBlocks'
|
|
88
82
|
> {
|
|
89
83
|
/**
|
|
90
84
|
* Returns the tips of the L2 chain.
|
|
@@ -99,72 +93,63 @@ export interface AztecNode
|
|
|
99
93
|
/**
|
|
100
94
|
* Find the indexes of the given leaves in the given tree along with a block metadata pointing to the block in which
|
|
101
95
|
* the leaves were inserted.
|
|
102
|
-
* @param
|
|
96
|
+
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
103
97
|
* @param treeId - The tree to search in.
|
|
104
98
|
* @param leafValues - The values to search for.
|
|
105
99
|
* @returns The indices of leaves and the block metadata of a block in which the leaves were inserted.
|
|
106
100
|
*/
|
|
107
101
|
findLeavesIndexes(
|
|
108
|
-
|
|
102
|
+
block: BlockParameter,
|
|
109
103
|
treeId: MerkleTreeId,
|
|
110
104
|
leafValues: Fr[],
|
|
111
105
|
): Promise<(DataInBlock<bigint> | undefined)[]>;
|
|
112
106
|
|
|
113
107
|
/**
|
|
114
108
|
* Returns a sibling path for the given index in the nullifier tree.
|
|
115
|
-
* @param
|
|
109
|
+
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
116
110
|
* @param leafIndex - The index of the leaf for which the sibling path is required.
|
|
117
111
|
* @returns The sibling path for the leaf index.
|
|
118
112
|
*/
|
|
119
|
-
getNullifierSiblingPath(
|
|
120
|
-
blockNumber: BlockParameter,
|
|
121
|
-
leafIndex: bigint,
|
|
122
|
-
): Promise<SiblingPath<typeof NULLIFIER_TREE_HEIGHT>>;
|
|
113
|
+
getNullifierSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NULLIFIER_TREE_HEIGHT>>;
|
|
123
114
|
|
|
124
115
|
/**
|
|
125
116
|
* Returns a sibling path for the given index in the note hash tree.
|
|
126
|
-
* @param
|
|
117
|
+
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
127
118
|
* @param leafIndex - The index of the leaf for which the sibling path is required.
|
|
128
119
|
* @returns The sibling path for the leaf index.
|
|
129
120
|
*/
|
|
130
|
-
getNoteHashSiblingPath(
|
|
131
|
-
blockNumber: BlockParameter,
|
|
132
|
-
leafIndex: bigint,
|
|
133
|
-
): Promise<SiblingPath<typeof NOTE_HASH_TREE_HEIGHT>>;
|
|
121
|
+
getNoteHashSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NOTE_HASH_TREE_HEIGHT>>;
|
|
134
122
|
|
|
135
123
|
/**
|
|
136
124
|
* Returns a sibling path for a leaf in the committed historic blocks tree.
|
|
137
|
-
* @param
|
|
125
|
+
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
138
126
|
* @param leafIndex - Index of the leaf in the tree.
|
|
139
127
|
* @returns The sibling path.
|
|
140
128
|
*/
|
|
141
|
-
getArchiveSiblingPath(
|
|
129
|
+
getArchiveSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof ARCHIVE_HEIGHT>>;
|
|
142
130
|
|
|
143
131
|
/**
|
|
144
132
|
* Returns a sibling path for a leaf in the committed public data tree.
|
|
145
|
-
* @param
|
|
133
|
+
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
146
134
|
* @param leafIndex - Index of the leaf in the tree.
|
|
147
135
|
* @returns The sibling path.
|
|
148
136
|
*/
|
|
149
137
|
getPublicDataSiblingPath(
|
|
150
|
-
|
|
138
|
+
block: BlockParameter,
|
|
151
139
|
leafIndex: bigint,
|
|
152
140
|
): Promise<SiblingPath<typeof PUBLIC_DATA_TREE_HEIGHT>>;
|
|
153
141
|
|
|
154
142
|
/**
|
|
155
143
|
* Returns a nullifier membership witness for a given nullifier at a given block.
|
|
156
|
-
* @param
|
|
144
|
+
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
157
145
|
* @param nullifier - Nullifier we try to find witness for.
|
|
158
146
|
* @returns The nullifier membership witness (if found).
|
|
159
147
|
*/
|
|
160
|
-
getNullifierMembershipWitness(
|
|
161
|
-
blockNumber: BlockParameter,
|
|
162
|
-
nullifier: Fr,
|
|
163
|
-
): Promise<NullifierMembershipWitness | undefined>;
|
|
148
|
+
getNullifierMembershipWitness(block: BlockParameter, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
|
|
164
149
|
|
|
165
150
|
/**
|
|
166
151
|
* Returns a low nullifier membership witness for a given nullifier at a given block.
|
|
167
|
-
* @param
|
|
152
|
+
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
168
153
|
* @param nullifier - Nullifier we try to find the low nullifier witness for.
|
|
169
154
|
* @returns The low nullifier membership witness (if found).
|
|
170
155
|
* @remarks Low nullifier witness can be used to perform a nullifier non-inclusion proof by leveraging the "linked
|
|
@@ -172,49 +157,49 @@ export interface AztecNode
|
|
|
172
157
|
* we are trying to prove non-inclusion for.
|
|
173
158
|
*/
|
|
174
159
|
getLowNullifierMembershipWitness(
|
|
175
|
-
|
|
160
|
+
block: BlockParameter,
|
|
176
161
|
nullifier: Fr,
|
|
177
162
|
): Promise<NullifierMembershipWitness | undefined>;
|
|
178
163
|
|
|
179
164
|
/**
|
|
180
165
|
* Returns a public data tree witness for a given leaf slot at a given block.
|
|
181
|
-
* @param
|
|
166
|
+
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
182
167
|
* @param leafSlot - The leaf slot we try to find the witness for.
|
|
183
168
|
* @returns The public data witness (if found).
|
|
184
169
|
* @remarks The witness can be used to compute the current value of the public data tree leaf. If the low leaf preimage corresponds to an
|
|
185
170
|
* "in range" slot, means that the slot doesn't exist and the value is 0. If the low leaf preimage corresponds to the exact slot, the current value
|
|
186
171
|
* is contained in the leaf preimage.
|
|
187
172
|
*/
|
|
188
|
-
getPublicDataWitness(
|
|
173
|
+
getPublicDataWitness(block: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
|
|
189
174
|
|
|
190
175
|
/**
|
|
191
176
|
* Returns a membership witness for a given archive leaf at a given block.
|
|
192
|
-
* @param
|
|
177
|
+
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
193
178
|
* @param archive - The archive leaf we try to find the witness for.
|
|
194
179
|
*/
|
|
195
180
|
getArchiveMembershipWitness(
|
|
196
|
-
|
|
181
|
+
block: BlockParameter,
|
|
197
182
|
archive: Fr,
|
|
198
183
|
): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
|
|
199
184
|
|
|
200
185
|
/**
|
|
201
186
|
* Returns a membership witness for a given note hash at a given block.
|
|
202
|
-
* @param
|
|
187
|
+
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
203
188
|
* @param noteHash - The note hash we try to find the witness for.
|
|
204
189
|
*/
|
|
205
190
|
getNoteHashMembershipWitness(
|
|
206
|
-
|
|
191
|
+
block: BlockParameter,
|
|
207
192
|
noteHash: Fr,
|
|
208
193
|
): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
|
|
209
194
|
|
|
210
195
|
/**
|
|
211
196
|
* Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
|
|
212
|
-
* @param
|
|
197
|
+
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
213
198
|
* @param l1ToL2Message - The l1ToL2Message to get the index / sibling path for.
|
|
214
199
|
* @returns A tuple of the index and the sibling path of the L1ToL2Message (undefined if not found).
|
|
215
200
|
*/
|
|
216
201
|
getL1ToL2MessageMembershipWitness(
|
|
217
|
-
|
|
202
|
+
block: BlockParameter,
|
|
218
203
|
l1ToL2Message: Fr,
|
|
219
204
|
): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>] | undefined>;
|
|
220
205
|
|
|
@@ -238,8 +223,8 @@ export interface AztecNode
|
|
|
238
223
|
getL2ToL1Messages(epoch: EpochNumber): Promise<Fr[][][][]>;
|
|
239
224
|
|
|
240
225
|
/**
|
|
241
|
-
* Get a block specified by its number.
|
|
242
|
-
* @param number - The block number
|
|
226
|
+
* Get a block specified by its block number or 'latest'.
|
|
227
|
+
* @param number - The block number or 'latest'.
|
|
243
228
|
* @returns The requested block.
|
|
244
229
|
*/
|
|
245
230
|
getBlock(number: BlockParameter): Promise<L2Block | undefined>;
|
|
@@ -270,6 +255,12 @@ export interface AztecNode
|
|
|
270
255
|
*/
|
|
271
256
|
getProvenBlockNumber(): Promise<BlockNumber>;
|
|
272
257
|
|
|
258
|
+
/**
|
|
259
|
+
* Fetches the latest checkpointed block number.
|
|
260
|
+
* @returns The block number.
|
|
261
|
+
*/
|
|
262
|
+
getCheckpointedBlockNumber(): Promise<BlockNumber>;
|
|
263
|
+
|
|
273
264
|
/**
|
|
274
265
|
* Method to determine if the node is ready to accept transactions.
|
|
275
266
|
* @returns - Flag indicating the readiness for tx submission.
|
|
@@ -353,16 +344,38 @@ export interface AztecNode
|
|
|
353
344
|
getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
|
|
354
345
|
|
|
355
346
|
/**
|
|
356
|
-
* Gets
|
|
347
|
+
* Gets private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
|
|
357
348
|
* array implies no logs match that tag.
|
|
349
|
+
* @param tags - The tags to search for.
|
|
350
|
+
* @param page - The page number (0-indexed) for pagination.
|
|
351
|
+
* @param referenceBlock - Optional block hash used to ensure the block still exists before logs are retrieved.
|
|
352
|
+
* This block is expected to represent the latest block to which the client has synced (called anchor block in PXE).
|
|
353
|
+
* If specified and the block is not found, an error is thrown. This helps detect reorgs, which could result in
|
|
354
|
+
* undefined behavior in the client's code.
|
|
355
|
+
* @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
|
|
356
|
+
* for a tag, the caller should fetch the next page to check for more logs.
|
|
358
357
|
*/
|
|
359
|
-
getPrivateLogsByTags(tags: SiloedTag[]): Promise<TxScopedL2Log[][]>;
|
|
358
|
+
getPrivateLogsByTags(tags: SiloedTag[], page?: number, referenceBlock?: BlockHash): Promise<TxScopedL2Log[][]>;
|
|
360
359
|
|
|
361
360
|
/**
|
|
362
|
-
* Gets
|
|
361
|
+
* Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
|
|
363
362
|
* logs is returned. An empty array implies no logs match that tag.
|
|
364
|
-
|
|
365
|
-
|
|
363
|
+
* @param contractAddress - The contract address to search logs for.
|
|
364
|
+
* @param tags - The tags to search for.
|
|
365
|
+
* @param page - The page number (0-indexed) for pagination.
|
|
366
|
+
* @param referenceBlock - Optional block hash used to ensure the block still exists before logs are retrieved.
|
|
367
|
+
* This block is expected to represent the latest block to which the client has synced (called anchor block in PXE).
|
|
368
|
+
* If specified and the block is not found, an error is thrown. This helps detect reorgs, which could result in
|
|
369
|
+
* undefined behavior in the client's code.
|
|
370
|
+
* @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
|
|
371
|
+
* for a tag, the caller should fetch the next page to check for more logs.
|
|
372
|
+
*/
|
|
373
|
+
getPublicLogsByTagsFromContract(
|
|
374
|
+
contractAddress: AztecAddress,
|
|
375
|
+
tags: Tag[],
|
|
376
|
+
page?: number,
|
|
377
|
+
referenceBlock?: BlockHash,
|
|
378
|
+
): Promise<TxScopedL2Log[][]>;
|
|
366
379
|
|
|
367
380
|
/**
|
|
368
381
|
* Method to submit a transaction to the p2p pool.
|
|
@@ -420,25 +433,19 @@ export interface AztecNode
|
|
|
420
433
|
* @remarks The storage slot here refers to the slot as it is defined in Noir not the index in the merkle tree.
|
|
421
434
|
* Aztec's version of `eth_getStorageAt`.
|
|
422
435
|
*
|
|
436
|
+
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
423
437
|
* @param contract - Address of the contract to query.
|
|
424
438
|
* @param slot - Slot to query.
|
|
425
|
-
* @param blockNumber - The block number at which to get the data or 'latest'.
|
|
426
439
|
* @returns Storage value at the given contract slot.
|
|
427
440
|
*/
|
|
428
|
-
getPublicStorageAt(
|
|
429
|
-
|
|
430
|
-
/**
|
|
431
|
-
* Returns the currently committed block header.
|
|
432
|
-
* @returns The current committed block header.
|
|
433
|
-
*/
|
|
434
|
-
getBlockHeader(blockNumber?: BlockParameter): Promise<BlockHeader | undefined>;
|
|
441
|
+
getPublicStorageAt(block: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
|
|
435
442
|
|
|
436
443
|
/**
|
|
437
|
-
*
|
|
438
|
-
* @param
|
|
444
|
+
* Returns the block header for a given block number, block hash, or 'latest'.
|
|
445
|
+
* @param block - The block parameter (block number, block hash, or 'latest'). Defaults to 'latest'.
|
|
439
446
|
* @returns The requested block header.
|
|
440
447
|
*/
|
|
441
|
-
|
|
448
|
+
getBlockHeader(block?: BlockParameter): Promise<BlockHeader | undefined>;
|
|
442
449
|
|
|
443
450
|
/**
|
|
444
451
|
* Get a block header specified by its archive root.
|
|
@@ -580,6 +587,8 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
580
587
|
|
|
581
588
|
getProvenBlockNumber: z.function().returns(BlockNumberSchema),
|
|
582
589
|
|
|
590
|
+
getCheckpointedBlockNumber: z.function().returns(BlockNumberSchema),
|
|
591
|
+
|
|
583
592
|
isReady: z.function().returns(z.boolean()),
|
|
584
593
|
|
|
585
594
|
getNodeInfo: z.function().returns(NodeInfoSchema),
|
|
@@ -589,24 +598,14 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
589
598
|
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
590
599
|
.returns(z.array(L2Block.schema)),
|
|
591
600
|
|
|
592
|
-
|
|
593
|
-
.function()
|
|
594
|
-
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
595
|
-
.returns(z.array(PublishedL2Block.schema)),
|
|
596
|
-
|
|
597
|
-
getPublishedCheckpoints: z
|
|
601
|
+
getCheckpoints: z
|
|
598
602
|
.function()
|
|
599
603
|
.args(CheckpointNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_CHECKPOINTS_LEN))
|
|
600
604
|
.returns(z.array(PublishedCheckpoint.schema)),
|
|
601
605
|
|
|
602
|
-
getL2BlocksNew: z
|
|
603
|
-
.function()
|
|
604
|
-
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
605
|
-
.returns(z.array(L2BlockNew.schema)),
|
|
606
|
-
|
|
607
606
|
getCheckpointedBlocks: z
|
|
608
607
|
.function()
|
|
609
|
-
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN)
|
|
608
|
+
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
610
609
|
.returns(z.array(CheckpointedL2Block.schema)),
|
|
611
610
|
|
|
612
611
|
getCurrentMinFees: z.function().returns(GasFees.schema),
|
|
@@ -634,12 +633,17 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
634
633
|
|
|
635
634
|
getPrivateLogsByTags: z
|
|
636
635
|
.function()
|
|
637
|
-
.args(z.array(SiloedTag.schema).max(MAX_RPC_LEN))
|
|
636
|
+
.args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)), optional(BlockHash.schema))
|
|
638
637
|
.returns(z.array(z.array(TxScopedL2Log.schema))),
|
|
639
638
|
|
|
640
639
|
getPublicLogsByTagsFromContract: z
|
|
641
640
|
.function()
|
|
642
|
-
.args(
|
|
641
|
+
.args(
|
|
642
|
+
schemas.AztecAddress,
|
|
643
|
+
z.array(Tag.schema).max(MAX_RPC_LEN),
|
|
644
|
+
optional(z.number().gte(0)),
|
|
645
|
+
optional(BlockHash.schema),
|
|
646
|
+
)
|
|
643
647
|
.returns(z.array(z.array(TxScopedL2Log.schema))),
|
|
644
648
|
|
|
645
649
|
sendTx: z.function().args(Tx.schema).returns(z.void()),
|
|
@@ -663,8 +667,6 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
663
667
|
|
|
664
668
|
getBlockHeader: z.function().args(optional(BlockParameterSchema)).returns(BlockHeader.schema.optional()),
|
|
665
669
|
|
|
666
|
-
getBlockHeaderByHash: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
|
|
667
|
-
|
|
668
670
|
getBlockHeaderByArchive: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
|
|
669
671
|
|
|
670
672
|
getValidatorsStats: z.function().returns(ValidatorsStatsSchema),
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
|
+
import type { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
-
import type { Timer } from '@aztec/foundation/timer';
|
|
4
3
|
|
|
5
4
|
import type { L2Block } from '../block/l2_block.js';
|
|
6
5
|
import type { ChainConfig, SequencerConfig } from '../config/chain-config.js';
|
|
7
6
|
import type { L1RollupConstants } from '../epoch-helpers/index.js';
|
|
8
7
|
import type { Gas } from '../gas/gas.js';
|
|
9
|
-
import type { MerkleTreeWriteOperations } from '../trees/index.js';
|
|
10
8
|
import type { BlockHeader } from '../tx/block_header.js';
|
|
11
|
-
import type { GlobalVariables } from '../tx/global_variables.js';
|
|
9
|
+
import type { CheckpointGlobalVariables, GlobalVariables } from '../tx/global_variables.js';
|
|
12
10
|
import type { FailedTx, ProcessedTx } from '../tx/processed_tx.js';
|
|
13
11
|
import { Tx } from '../tx/tx.js';
|
|
14
12
|
import type { TxValidator } from '../tx/validator/tx_validator.js';
|
|
13
|
+
import type { MerkleTreeWriteOperations } from './merkle_tree_operations.js';
|
|
15
14
|
import type { ProcessedTxHandler } from './processed-tx-handler.js';
|
|
16
15
|
|
|
17
16
|
/** The interface to a block builder. Generates an L2 block out of a set of processed txs. */
|
|
@@ -47,16 +46,6 @@ export interface PublicProcessorValidator {
|
|
|
47
46
|
preprocessValidator?: TxValidator<Tx>;
|
|
48
47
|
nullifierCache?: { addNullifiers: (nullifiers: Buffer[]) => void };
|
|
49
48
|
}
|
|
50
|
-
export interface BuildBlockResult {
|
|
51
|
-
block: L2Block;
|
|
52
|
-
publicGas: Gas;
|
|
53
|
-
publicProcessorDuration: number;
|
|
54
|
-
numMsgs: number;
|
|
55
|
-
numTxs: number;
|
|
56
|
-
failedTxs: FailedTx[];
|
|
57
|
-
blockBuildingTimer: Timer;
|
|
58
|
-
usedTxs: Tx[];
|
|
59
|
-
}
|
|
60
49
|
|
|
61
50
|
export type FullNodeBlockBuilderConfig = Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'> &
|
|
62
51
|
Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'> &
|
|
@@ -72,18 +61,36 @@ export const FullNodeBlockBuilderConfigKeys: (keyof FullNodeBlockBuilderConfig)[
|
|
|
72
61
|
'fakeThrowAfterProcessingTxCount',
|
|
73
62
|
] as const;
|
|
74
63
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
64
|
+
/** Result of building a block within a checkpoint. */
|
|
65
|
+
export interface BuildBlockInCheckpointResult {
|
|
66
|
+
block: L2Block;
|
|
67
|
+
publicGas: Gas;
|
|
68
|
+
publicProcessorDuration: number;
|
|
69
|
+
numTxs: number;
|
|
70
|
+
failedTxs: FailedTx[];
|
|
71
|
+
usedTxs: Tx[];
|
|
72
|
+
usedTxBlobFields: number;
|
|
73
|
+
}
|
|
79
74
|
|
|
75
|
+
/** Interface for building blocks within a checkpoint context. */
|
|
76
|
+
export interface ICheckpointBlockBuilder {
|
|
80
77
|
buildBlock(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
78
|
+
pendingTxs: Iterable<Tx> | AsyncIterable<Tx>,
|
|
79
|
+
blockNumber: BlockNumber,
|
|
80
|
+
timestamp: bigint,
|
|
81
|
+
opts: PublicProcessorLimits,
|
|
82
|
+
): Promise<BuildBlockInCheckpointResult>;
|
|
83
|
+
}
|
|
87
84
|
|
|
85
|
+
/** Interface for creating checkpoint builders. */
|
|
86
|
+
export interface ICheckpointsBuilder {
|
|
88
87
|
getFork(blockNumber: BlockNumber): Promise<MerkleTreeWriteOperations>;
|
|
88
|
+
|
|
89
|
+
startCheckpoint(
|
|
90
|
+
checkpointNumber: CheckpointNumber,
|
|
91
|
+
constants: CheckpointGlobalVariables,
|
|
92
|
+
l1ToL2Messages: Fr[],
|
|
93
|
+
previousCheckpointOutHashes: Fr[],
|
|
94
|
+
fork: MerkleTreeWriteOperations,
|
|
95
|
+
): Promise<ICheckpointBlockBuilder>;
|
|
89
96
|
}
|
|
@@ -67,9 +67,7 @@ export interface SequencerConfig {
|
|
|
67
67
|
blockDurationMs?: number;
|
|
68
68
|
/** Have sequencer build and publish an empty checkpoint if there are no txs */
|
|
69
69
|
buildCheckpointIfEmpty?: boolean;
|
|
70
|
-
|
|
71
|
-
// TODO(palla/mbps): Change default to false once block sync is stable
|
|
72
|
-
/** Skip pushing proposed blocks to archiver (default: true) */
|
|
70
|
+
/** Skip pushing proposed blocks to archiver (default: false) */
|
|
73
71
|
skipPushProposedBlocksToArchiver?: boolean;
|
|
74
72
|
}
|
|
75
73
|
|
|
@@ -12,16 +12,29 @@ import type { GetContractClassLogsResponse, GetPublicLogsResponse } from './get_
|
|
|
12
12
|
*/
|
|
13
13
|
export interface L2LogsSource {
|
|
14
14
|
/**
|
|
15
|
-
* Gets
|
|
15
|
+
* Gets private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
|
|
16
16
|
* array implies no logs match that tag.
|
|
17
|
+
* @param tags - The tags to search for.
|
|
18
|
+
* @param page - The page number (0-indexed) for pagination.
|
|
19
|
+
* @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
|
|
20
|
+
* for a tag, the caller should fetch the next page to check for more logs.
|
|
17
21
|
*/
|
|
18
|
-
getPrivateLogsByTags(tags: SiloedTag[]): Promise<TxScopedL2Log[][]>;
|
|
22
|
+
getPrivateLogsByTags(tags: SiloedTag[], page?: number): Promise<TxScopedL2Log[][]>;
|
|
19
23
|
|
|
20
24
|
/**
|
|
21
|
-
* Gets
|
|
25
|
+
* Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
|
|
22
26
|
* logs is returned. An empty array implies no logs match that tag.
|
|
27
|
+
* @param contractAddress - The contract address to search logs for.
|
|
28
|
+
* @param tags - The tags to search for.
|
|
29
|
+
* @param page - The page number (0-indexed) for pagination.
|
|
30
|
+
* @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
|
|
31
|
+
* for a tag, the caller should fetch the next page to check for more logs.
|
|
23
32
|
*/
|
|
24
|
-
getPublicLogsByTagsFromContract(
|
|
33
|
+
getPublicLogsByTagsFromContract(
|
|
34
|
+
contractAddress: AztecAddress,
|
|
35
|
+
tags: Tag[],
|
|
36
|
+
page?: number,
|
|
37
|
+
): Promise<TxScopedL2Log[][]>;
|
|
25
38
|
|
|
26
39
|
/**
|
|
27
40
|
* Gets public logs based on the provided filter.
|
|
@@ -17,6 +17,12 @@ export type ActualProverConfig = {
|
|
|
17
17
|
proverTestDelayMs: number;
|
|
18
18
|
/** If using realistic delays, what percentage of realistic times to apply. */
|
|
19
19
|
proverTestDelayFactor: number;
|
|
20
|
+
/**
|
|
21
|
+
* Whether to abort pending proving jobs when the orchestrator is cancelled.
|
|
22
|
+
* When false (default), jobs remain in the broker queue and can be reused on restart/reorg.
|
|
23
|
+
* When true, jobs are explicitly cancelled with the broker, which prevents reuse.
|
|
24
|
+
*/
|
|
25
|
+
cancelJobsOnStop: boolean;
|
|
20
26
|
};
|
|
21
27
|
|
|
22
28
|
/**
|
|
@@ -43,6 +49,7 @@ export const ProverConfigSchema = zodFor<ProverConfig>()(
|
|
|
43
49
|
proverTestDelayFactor: z.number(),
|
|
44
50
|
proverAgentCount: z.number(),
|
|
45
51
|
failedProofStore: z.string().optional(),
|
|
52
|
+
cancelJobsOnStop: z.boolean(),
|
|
46
53
|
}),
|
|
47
54
|
);
|
|
48
55
|
|
|
@@ -85,6 +92,14 @@ export const proverConfigMappings: ConfigMappingsType<ProverConfig> = {
|
|
|
85
92
|
description:
|
|
86
93
|
'Store for failed proof inputs. Google cloud storage is only supported at the moment. Set this value as gs://bucket-name/path/to/store.',
|
|
87
94
|
},
|
|
95
|
+
cancelJobsOnStop: {
|
|
96
|
+
env: 'PROVER_CANCEL_JOBS_ON_STOP',
|
|
97
|
+
description:
|
|
98
|
+
'Whether to abort pending proving jobs when the orchestrator is cancelled. ' +
|
|
99
|
+
'When false (default), jobs remain in the broker queue and can be reused on restart/reorg. ' +
|
|
100
|
+
'When true, jobs are explicitly cancelled with the broker, which prevents reuse.',
|
|
101
|
+
...booleanConfigHelper(false),
|
|
102
|
+
},
|
|
88
103
|
};
|
|
89
104
|
|
|
90
105
|
function parseProverId(str?: string) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { L2Block } from '@aztec/stdlib/block';
|
|
2
2
|
import type { BlockProposal } from '@aztec/stdlib/p2p';
|
|
3
3
|
import { type Tx, TxHash } from '@aztec/stdlib/tx';
|
|
4
4
|
|
|
@@ -13,5 +13,5 @@ export interface ITxProvider {
|
|
|
13
13
|
opts: { pinnedPeer: PeerId | undefined; deadline: Date },
|
|
14
14
|
): Promise<{ txs: Tx[]; missingTxs: TxHash[] }>;
|
|
15
15
|
|
|
16
|
-
getTxsForBlock(block:
|
|
16
|
+
getTxsForBlock(block: L2Block, opts: { deadline: Date }): Promise<{ txs: Tx[]; missingTxs: TxHash[] }>;
|
|
17
17
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import type { SecretValue } from '@aztec/foundation/config';
|
|
2
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
4
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
@@ -14,6 +15,7 @@ import type {
|
|
|
14
15
|
} from '@aztec/stdlib/p2p';
|
|
15
16
|
import type { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
16
17
|
import type { BlockHeader, Tx } from '@aztec/stdlib/tx';
|
|
18
|
+
import { type ValidatorHASignerConfig, ValidatorHASignerConfigSchema } from '@aztec/validator-ha-signer/config';
|
|
17
19
|
|
|
18
20
|
import type { PeerId } from '@libp2p/interface';
|
|
19
21
|
import { z } from 'zod';
|
|
@@ -24,7 +26,7 @@ import { AllowedElementSchema } from './allowed_element.js';
|
|
|
24
26
|
/**
|
|
25
27
|
* Validator client configuration
|
|
26
28
|
*/
|
|
27
|
-
export
|
|
29
|
+
export type ValidatorClientConfig = ValidatorHASignerConfig & {
|
|
28
30
|
/** The private keys of the validators participating in attestation duties */
|
|
29
31
|
validatorPrivateKeys?: SecretValue<`0x${string}`[]>;
|
|
30
32
|
|
|
@@ -43,9 +45,6 @@ export interface ValidatorClientConfig {
|
|
|
43
45
|
/** Whether to re-execute transactions in a block proposal before attesting */
|
|
44
46
|
validatorReexecute: boolean;
|
|
45
47
|
|
|
46
|
-
/** Will re-execute until this many milliseconds are left in the slot */
|
|
47
|
-
validatorReexecuteDeadlineMs: number;
|
|
48
|
-
|
|
49
48
|
/** Whether to always reexecute block proposals, even for non-validator nodes or when out of the currnet committee */
|
|
50
49
|
alwaysReexecuteBlockProposals?: boolean;
|
|
51
50
|
|
|
@@ -56,10 +55,9 @@ export interface ValidatorClientConfig {
|
|
|
56
55
|
/** Skip checkpoint proposal validation and always attest (default: true) */
|
|
57
56
|
skipCheckpointProposalValidation?: boolean;
|
|
58
57
|
|
|
59
|
-
|
|
60
|
-
/** Skip pushing re-executed blocks to archiver (default: true) */
|
|
58
|
+
/** Skip pushing re-executed blocks to archiver (default: false) */
|
|
61
59
|
skipPushProposedBlocksToArchiver?: boolean;
|
|
62
|
-
}
|
|
60
|
+
};
|
|
63
61
|
|
|
64
62
|
export type ValidatorClientFullConfig = ValidatorClientConfig &
|
|
65
63
|
Pick<SequencerConfig, 'txPublicSetupAllowList' | 'broadcastInvalidBlockProposal'> &
|
|
@@ -72,13 +70,12 @@ export type ValidatorClientFullConfig = ValidatorClientConfig &
|
|
|
72
70
|
};
|
|
73
71
|
|
|
74
72
|
export const ValidatorClientConfigSchema = zodFor<Omit<ValidatorClientConfig, 'validatorPrivateKeys'>>()(
|
|
75
|
-
|
|
73
|
+
ValidatorHASignerConfigSchema.extend({
|
|
76
74
|
validatorAddresses: z.array(schemas.EthAddress).optional(),
|
|
77
75
|
disableValidator: z.boolean(),
|
|
78
76
|
disabledValidators: z.array(schemas.EthAddress),
|
|
79
77
|
attestationPollingIntervalMs: z.number().min(0),
|
|
80
78
|
validatorReexecute: z.boolean(),
|
|
81
|
-
validatorReexecuteDeadlineMs: z.number().min(0),
|
|
82
79
|
alwaysReexecuteBlockProposals: z.boolean().optional(),
|
|
83
80
|
fishermanMode: z.boolean().optional(),
|
|
84
81
|
skipCheckpointProposalValidation: z.boolean().optional(),
|
|
@@ -148,5 +145,7 @@ export interface Validator {
|
|
|
148
145
|
signAttestationsAndSigners(
|
|
149
146
|
attestationsAndSigners: CommitteeAttestationsAndSigners,
|
|
150
147
|
proposer: EthAddress,
|
|
148
|
+
slot: SlotNumber,
|
|
149
|
+
blockNumber: BlockNumber | CheckpointNumber,
|
|
151
150
|
): Promise<Signature>;
|
|
152
151
|
}
|
|
@@ -76,17 +76,28 @@ export async function buildNoteHashReadRequestHintsFromResetActions<PENDING exte
|
|
|
76
76
|
builder.addPendingReadRequest(hint.readRequestIndex, hint.pendingValueIndex);
|
|
77
77
|
});
|
|
78
78
|
|
|
79
|
+
// Collect all settled read requests
|
|
80
|
+
const settledRequests: { index: number; readRequest: ScopedReadRequest }[] = [];
|
|
79
81
|
for (let i = 0; i < resetActions.actions.length; i++) {
|
|
80
82
|
if (resetActions.actions[i] === ReadRequestActionEnum.READ_AS_SETTLED) {
|
|
81
|
-
|
|
82
|
-
const membershipWitness = await oracle.getNoteHashMembershipWitness(readRequest.value);
|
|
83
|
-
if (!membershipWitness) {
|
|
84
|
-
throw new Error('Read request is reading an unknown note hash.');
|
|
85
|
-
}
|
|
86
|
-
builder.addSettledReadRequest(i, membershipWitness, readRequest.value);
|
|
83
|
+
settledRequests.push({ index: i, readRequest: noteHashReadRequests.array[i] });
|
|
87
84
|
}
|
|
88
85
|
}
|
|
89
86
|
|
|
87
|
+
// Fetch all membership witnesses in parallel
|
|
88
|
+
const membershipWitnesses = await Promise.all(
|
|
89
|
+
settledRequests.map(({ readRequest }) => oracle.getNoteHashMembershipWitness(readRequest.value)),
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
// Add settled read requests to builder
|
|
93
|
+
for (let i = 0; i < settledRequests.length; i++) {
|
|
94
|
+
const membershipWitness = membershipWitnesses[i];
|
|
95
|
+
if (!membershipWitness) {
|
|
96
|
+
throw new Error('Read request is reading an unknown note hash.');
|
|
97
|
+
}
|
|
98
|
+
builder.addSettledReadRequest(settledRequests[i].index, membershipWitness, settledRequests[i].readRequest.value);
|
|
99
|
+
}
|
|
100
|
+
|
|
90
101
|
const noteHashMap: Map<bigint, { noteHash: ScopedNoteHash; index: number }[]> = new Map();
|
|
91
102
|
noteHashes.getActiveItems().forEach((noteHash, index) => {
|
|
92
103
|
const value = noteHash.value.toBigInt();
|