@aztec/stdlib 0.0.1-commit.3469e52 → 0.0.1-commit.381b1a9
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/decoder.d.ts +2 -2
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +7 -5
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +37 -6
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/function_call.d.ts +39 -9
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +20 -3
- package/dest/abi/utils.d.ts +14 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +15 -0
- package/dest/auth_witness/auth_witness.js +3 -3
- package/dest/avm/avm.d.ts +300 -300
- package/dest/avm/avm_proving_request.d.ts +166 -166
- package/dest/avm/revert_code.d.ts +16 -1
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +15 -5
- package/dest/block/block_data.d.ts +52 -0
- package/dest/block/block_data.d.ts.map +1 -0
- package/dest/block/block_data.js +12 -0
- package/dest/block/block_hash.d.ts +16 -18
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +21 -31
- package/dest/block/block_parameter.d.ts +4 -4
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +2 -2
- package/dest/block/checkpointed_l2_block.d.ts +6 -6
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
- package/dest/block/checkpointed_l2_block.js +3 -3
- package/dest/block/in_block.d.ts +11 -11
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +5 -5
- package/dest/block/index.d.ts +3 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +2 -1
- package/dest/block/{l2_block_new.d.ts → l2_block.d.ts} +16 -7
- package/dest/block/l2_block.d.ts.map +1 -0
- package/dest/block/{l2_block_new.js → l2_block.js} +17 -11
- package/dest/block/l2_block_source.d.ts +68 -34
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_stream/interfaces.d.ts +3 -3
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -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 +14 -4
- 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.js +2 -2
- package/dest/checkpoint/checkpoint.d.ts +28 -13
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +35 -19
- package/dest/checkpoint/checkpoint_data.d.ts +120 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +26 -0
- package/dest/checkpoint/index.d.ts +3 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +2 -0
- package/dest/checkpoint/published_checkpoint.d.ts +19 -4
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +1 -2
- package/dest/checkpoint/validate.d.ts +36 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +120 -0
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- package/dest/config/node-rpc-config.js +1 -1
- package/dest/config/sequencer-config.d.ts +10 -0
- package/dest/config/sequencer-config.d.ts.map +1 -0
- package/dest/config/sequencer-config.js +23 -0
- package/dest/contract/contract_address.js +4 -4
- package/dest/contract/contract_class.d.ts +2 -3
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class_id.d.ts +2 -2
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +6 -5
- package/dest/contract/interfaces/node-info.d.ts +3 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +2 -1
- 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 +3 -4
- package/dest/contract/private_function_membership_proof.d.ts +1 -1
- package/dest/contract/private_function_membership_proof.js +1 -1
- package/dest/database-version/database_version.d.ts +58 -0
- package/dest/database-version/database_version.d.ts.map +1 -0
- package/dest/database-version/database_version.js +69 -0
- package/dest/database-version/version_manager.d.ts +2 -50
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +1 -66
- 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/epoch-helpers/index.d.ts +11 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +11 -3
- package/dest/file-store/local.d.ts +3 -3
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/local.js +13 -4
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +11 -3
- package/dest/hash/hash.d.ts +2 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +16 -10
- package/dest/hash/map_slot.d.ts +1 -1
- package/dest/hash/map_slot.d.ts.map +1 -1
- package/dest/hash/map_slot.js +4 -3
- package/dest/interfaces/allowed_element.d.ts +26 -20
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +8 -8
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +25 -18
- package/dest/interfaces/aztec-node-admin.d.ts +109 -29
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +12 -4
- package/dest/interfaces/aztec-node.d.ts +60 -62
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +18 -19
- package/dest/interfaces/block-builder.d.ts +26 -12
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +16 -2
- package/dest/interfaces/configs.d.ts +73 -33
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +9 -3
- package/dest/interfaces/get_logs_response.d.ts +15 -8
- package/dest/interfaces/get_logs_response.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +10 -20
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +4 -9
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.d.ts +16 -1
- package/dest/interfaces/prover-broker.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.js +4 -1
- package/dest/interfaces/prover-client.d.ts +20 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +18 -1
- package/dest/interfaces/proving-job.d.ts +202 -202
- package/dest/interfaces/slasher.d.ts +9 -1
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +2 -0
- 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 +116 -28
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +9 -2
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
- 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 +13 -10
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +4 -4
- 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 -15
- package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +9 -3
- package/dest/kernel/hints/index.d.ts +2 -2
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
- package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +16 -16
- 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 +4 -4
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
- 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 -7
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_validation_requests.d.ts +3 -3
- package/dest/kernel/private_validation_requests.js +9 -9
- package/dest/keys/derivation.d.ts +3 -3
- package/dest/keys/derivation.js +15 -15
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- package/dest/keys/public_keys.js +2 -2
- package/dest/keys/utils.d.ts +1 -1
- package/dest/keys/utils.d.ts.map +1 -1
- package/dest/keys/utils.js +8 -4
- package/dest/l1-contracts/slash_factory.d.ts +1 -1
- package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
- package/dest/l1-contracts/slash_factory.js +1 -0
- package/dest/logs/debug_log_store.d.ts +30 -0
- package/dest/logs/debug_log_store.d.ts.map +1 -0
- package/dest/logs/debug_log_store.js +30 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
- package/dest/logs/extended_public_log.d.ts +13 -7
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +3 -2
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +2 -1
- package/dest/logs/log_filter.d.ts +4 -1
- package/dest/logs/log_filter.d.ts.map +1 -1
- package/dest/logs/log_filter.js +2 -1
- package/dest/logs/log_id.d.ts +17 -14
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +20 -17
- package/dest/logs/pre_tag.d.ts +16 -11
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/private_log.d.ts +2 -2
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/public_log.d.ts +4 -3
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +2 -1
- package/dest/logs/siloed_tag.d.ts +5 -3
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +8 -6
- package/dest/logs/tag.js +1 -1
- package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +7 -0
- package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +72 -29
- package/dest/note/index.d.ts +1 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +0 -1
- package/dest/p2p/attestation_utils.d.ts +11 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +45 -0
- package/dest/p2p/block_proposal.d.ts +13 -6
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +2 -4
- package/dest/p2p/checkpoint_attestation.d.ts +2 -1
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +1 -1
- package/dest/p2p/checkpoint_proposal.d.ts +26 -12
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +40 -36
- package/dest/p2p/client_type.d.ts +2 -5
- package/dest/p2p/client_type.d.ts.map +1 -1
- package/dest/p2p/client_type.js +0 -7
- package/dest/p2p/consensus_payload.d.ts +12 -3
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +22 -15
- package/dest/p2p/constants.d.ts +3 -1
- package/dest/p2p/constants.d.ts.map +1 -1
- package/dest/p2p/constants.js +1 -0
- package/dest/p2p/index.d.ts +1 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +0 -1
- 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/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- package/dest/p2p/topic_type.d.ts +3 -4
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +7 -24
- package/dest/rollup/checkpoint_header.d.ts +2 -2
- package/dest/rollup/checkpoint_header.js +2 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +3 -3
- package/dest/slashing/empire.d.ts +1 -1
- package/dest/slashing/empire.d.ts.map +1 -1
- package/dest/slashing/empire.js +2 -0
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +6 -0
- package/dest/slashing/tally.d.ts +8 -2
- package/dest/slashing/tally.d.ts.map +1 -1
- package/dest/slashing/tally.js +35 -3
- package/dest/slashing/types.d.ts +7 -3
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +13 -1
- package/dest/stats/stats.d.ts +1 -3
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +3 -1
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +22 -14
- package/dest/tests/jest.d.ts +4 -4
- package/dest/tests/jest.js +9 -9
- package/dest/tests/mocks.d.ts +21 -11
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +49 -33
- package/dest/timetable/index.d.ts +37 -0
- package/dest/timetable/index.d.ts.map +1 -0
- package/dest/timetable/index.js +39 -0
- package/dest/trees/public_data_leaf.d.ts +2 -1
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +7 -6
- package/dest/tx/block_header.d.ts +5 -2
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +8 -3
- package/dest/tx/global_variables.d.ts +4 -4
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/in_tx.d.ts +3 -3
- package/dest/tx/indexed_tx_effect.d.ts +5 -5
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +3 -2
- package/dest/tx/profiling.d.ts +4 -4
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +3 -3
- package/dest/tx/protocol_contracts.d.ts +1 -1
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +2 -2
- package/dest/tx/public_simulation_output.d.ts +4 -2
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +7 -3
- package/dest/tx/simulated_tx.d.ts +5 -2
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +4 -1
- package/dest/tx/tx.d.ts +6 -5
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +18 -6
- package/dest/tx/tx_receipt.d.ts +63 -16
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +59 -17
- package/dest/tx/tx_request.js +2 -2
- package/dest/tx/validator/empty_validator.d.ts +2 -2
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +8 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +8 -1
- package/dest/tx/validator/tx_validator.d.ts +2 -2
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/update-checker/index.d.ts +3 -2
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +2 -1
- package/dest/update-checker/package_version.d.ts +3 -0
- package/dest/update-checker/package_version.d.ts.map +1 -0
- package/dest/update-checker/package_version.js +24 -0
- package/dest/update-checker/version_checker.d.ts +25 -0
- package/dest/update-checker/version_checker.d.ts.map +1 -0
- package/dest/update-checker/version_checker.js +50 -0
- package/dest/validators/errors.d.ts +6 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +7 -0
- package/dest/validators/schemas.d.ts +30 -30
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +4 -3
- package/dest/validators/types.d.ts +3 -3
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.d.ts +4 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +4 -1
- package/package.json +25 -13
- package/src/abi/decoder.ts +15 -6
- package/src/abi/encoder.ts +49 -6
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/function_call.ts +25 -3
- package/src/abi/utils.ts +25 -0
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/avm/revert_code.ts +15 -0
- package/src/block/block_data.ts +26 -0
- package/src/block/block_hash.ts +26 -47
- package/src/block/block_parameter.ts +3 -3
- package/src/block/checkpointed_l2_block.ts +4 -4
- package/src/block/in_block.ts +8 -8
- package/src/block/index.ts +2 -1
- package/src/block/{l2_block_new.ts → l2_block.ts} +21 -13
- package/src/block/l2_block_source.ts +73 -35
- package/src/block/l2_block_stream/interfaces.ts +2 -2
- package/src/block/l2_block_stream/l2_block_stream.ts +26 -6
- package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
- package/src/block/test/l2_tips_store_test_suite.ts +4 -4
- package/src/checkpoint/checkpoint.ts +49 -22
- package/src/checkpoint/checkpoint_data.ts +51 -0
- package/src/checkpoint/index.ts +2 -0
- package/src/checkpoint/published_checkpoint.ts +3 -1
- package/src/checkpoint/validate.ts +230 -0
- package/src/config/index.ts +1 -0
- package/src/config/node-rpc-config.ts +1 -1
- package/src/config/sequencer-config.ts +34 -0
- package/src/contract/contract_address.ts +4 -4
- package/src/contract/contract_class.ts +3 -3
- package/src/contract/contract_class_id.ts +6 -5
- package/src/contract/interfaces/node-info.ts +3 -0
- package/src/contract/private_function.ts +3 -4
- package/src/contract/private_function_membership_proof.ts +1 -1
- package/src/database-version/database_version.ts +87 -0
- package/src/database-version/version_manager.ts +1 -77
- package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
- package/src/epoch-helpers/index.ts +16 -1
- package/src/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +12 -3
- package/src/hash/hash.ts +14 -10
- package/src/hash/map_slot.ts +3 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/archiver.ts +25 -27
- package/src/interfaces/aztec-node-admin.ts +26 -2
- package/src/interfaces/aztec-node.ts +91 -117
- package/src/interfaces/block-builder.ts +45 -12
- package/src/interfaces/configs.ts +34 -11
- package/src/interfaces/merkle_tree_operations.ts +9 -19
- package/src/interfaces/p2p.ts +3 -14
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +30 -0
- package/src/interfaces/slasher.ts +4 -0
- package/src/interfaces/tx_provider.ts +2 -2
- package/src/interfaces/validator.ts +31 -7
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +16 -28
- package/src/kernel/hints/build_transient_data_hints.ts +17 -2
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
- package/src/kernel/private_circuit_public_inputs.ts +14 -14
- package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_validation_requests.ts +8 -8
- package/src/keys/derivation.ts +15 -15
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_keys.ts +2 -2
- package/src/keys/utils.ts +8 -4
- package/src/l1-contracts/slash_factory.ts +1 -0
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
- package/src/logs/index.ts +2 -1
- package/src/logs/log_filter.ts +5 -0
- package/src/logs/log_id.ts +22 -18
- package/src/logs/pre_tag.ts +5 -5
- package/src/logs/public_log.ts +4 -2
- package/src/logs/siloed_tag.ts +10 -4
- package/src/logs/tag.ts +1 -1
- package/src/logs/tx_scoped_l2_log.ts +16 -0
- package/src/messaging/l2_to_l1_membership.ts +101 -36
- package/src/note/index.ts +0 -1
- package/src/p2p/attestation_utils.ts +56 -0
- package/src/p2p/block_proposal.ts +12 -7
- package/src/p2p/checkpoint_attestation.ts +6 -1
- package/src/p2p/checkpoint_proposal.ts +75 -50
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/consensus_payload.ts +25 -12
- package/src/p2p/constants.ts +3 -0
- package/src/p2p/index.ts +0 -1
- package/src/p2p/message_validator.ts +14 -2
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/topic_type.ts +8 -15
- package/src/rollup/checkpoint_header.ts +2 -2
- package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
- package/src/rollup/root_rollup_public_inputs.ts +7 -7
- package/src/slashing/empire.ts +3 -1
- package/src/slashing/helpers.ts +8 -0
- package/src/slashing/tally.ts +41 -2
- package/src/slashing/types.ts +14 -0
- package/src/stats/stats.ts +0 -2
- package/src/tests/factories.ts +27 -18
- package/src/tests/jest.ts +9 -9
- package/src/tests/mocks.ts +71 -36
- package/src/timetable/index.ts +66 -0
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/tx/block_header.ts +14 -5
- package/src/tx/global_variables.ts +3 -3
- package/src/tx/indexed_tx_effect.ts +3 -2
- package/src/tx/profiling.ts +5 -5
- package/src/tx/protocol_contracts.ts +2 -2
- package/src/tx/public_simulation_output.ts +4 -0
- package/src/tx/simulated_tx.ts +8 -1
- package/src/tx/tx.ts +20 -11
- package/src/tx/tx_receipt.ts +91 -19
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +9 -1
- package/src/tx/validator/tx_validator.ts +1 -1
- package/src/update-checker/index.ts +2 -1
- package/src/update-checker/package_version.ts +30 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/errors.ts +9 -0
- package/src/validators/schemas.ts +8 -1
- package/src/validators/types.ts +5 -4
- package/src/versioning/versioning.ts +4 -1
- package/dest/block/l2_block_new.d.ts.map +0 -1
- package/dest/database-version/index.d.ts +0 -2
- package/dest/database-version/index.d.ts.map +0 -1
- package/dest/database-version/index.js +0 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/note/notes_filter.d.ts +0 -27
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -11
- package/dest/update-checker/update-checker.d.ts +0 -49
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/database-version/index.ts +0 -1
- package/src/note/notes_filter.ts +0 -38
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -4,11 +4,14 @@ import type { ApiSchemaFor } from '@aztec/foundation/schemas';
|
|
|
4
4
|
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
|
|
7
|
+
import { BlockDataSchema } from '../block/block_data.js';
|
|
8
|
+
import { BlockHash } from '../block/block_hash.js';
|
|
7
9
|
import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
|
|
8
|
-
import {
|
|
10
|
+
import { L2Block } from '../block/l2_block.js';
|
|
9
11
|
import { type L2BlockSource, L2TipsSchema } from '../block/l2_block_source.js';
|
|
10
12
|
import { ValidateCheckpointResultSchema } from '../block/validate_block_result.js';
|
|
11
13
|
import { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
14
|
+
import { CheckpointDataSchema } from '../checkpoint/checkpoint_data.js';
|
|
12
15
|
import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
13
16
|
import {
|
|
14
17
|
ContractClassPublicSchema,
|
|
@@ -82,7 +85,10 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
|
|
|
82
85
|
getRegistryAddress: z.function().args().returns(schemas.EthAddress),
|
|
83
86
|
getBlockNumber: z.function().args().returns(BlockNumberSchema),
|
|
84
87
|
getProvenBlockNumber: z.function().args().returns(BlockNumberSchema),
|
|
85
|
-
|
|
88
|
+
getCheckpointedL2BlockNumber: z.function().args().returns(BlockNumberSchema),
|
|
89
|
+
getCheckpointNumber: z.function().args().returns(CheckpointNumberSchema),
|
|
90
|
+
getFinalizedL2BlockNumber: z.function().args().returns(BlockNumberSchema),
|
|
91
|
+
getBlock: z.function().args(BlockNumberSchema).returns(L2Block.schema.optional()),
|
|
86
92
|
getBlockHeader: z
|
|
87
93
|
.function()
|
|
88
94
|
.args(z.union([BlockNumberSchema, z.literal('latest')]))
|
|
@@ -90,39 +96,31 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
|
|
|
90
96
|
getCheckpointedBlock: z.function().args(BlockNumberSchema).returns(CheckpointedL2Block.schema.optional()),
|
|
91
97
|
getCheckpointedBlocks: z
|
|
92
98
|
.function()
|
|
93
|
-
.args(BlockNumberSchema, schemas.Integer
|
|
99
|
+
.args(BlockNumberSchema, schemas.Integer)
|
|
94
100
|
.returns(z.array(CheckpointedL2Block.schema)),
|
|
95
|
-
getBlocks: z
|
|
96
|
-
|
|
97
|
-
.args(BlockNumberSchema, schemas.Integer, optional(z.boolean()))
|
|
98
|
-
.returns(z.array(L2BlockNew.schema)),
|
|
99
|
-
getPublishedCheckpoints: z
|
|
101
|
+
getBlocks: z.function().args(BlockNumberSchema, schemas.Integer).returns(z.array(L2Block.schema)),
|
|
102
|
+
getCheckpoints: z
|
|
100
103
|
.function()
|
|
101
104
|
.args(CheckpointNumberSchema, schemas.Integer)
|
|
102
105
|
.returns(z.array(PublishedCheckpoint.schema)),
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
.returns(z.array(CheckpointedL2Block.schema)),
|
|
107
|
-
getL2BlocksNew: z
|
|
108
|
-
.function()
|
|
109
|
-
.args(BlockNumberSchema, schemas.Integer, optional(z.boolean()))
|
|
110
|
-
.returns(z.array(L2BlockNew.schema)),
|
|
111
|
-
getPublishedBlockByHash: z.function().args(schemas.Fr).returns(CheckpointedL2Block.schema.optional()),
|
|
112
|
-
getPublishedBlockByArchive: z.function().args(schemas.Fr).returns(CheckpointedL2Block.schema.optional()),
|
|
113
|
-
getBlockHeaderByHash: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
|
|
106
|
+
getCheckpointedBlockByHash: z.function().args(BlockHash.schema).returns(CheckpointedL2Block.schema.optional()),
|
|
107
|
+
getCheckpointedBlockByArchive: z.function().args(schemas.Fr).returns(CheckpointedL2Block.schema.optional()),
|
|
108
|
+
getBlockHeaderByHash: z.function().args(BlockHash.schema).returns(BlockHeader.schema.optional()),
|
|
114
109
|
getBlockHeaderByArchive: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
110
|
+
getBlockData: z.function().args(BlockNumberSchema).returns(BlockDataSchema.optional()),
|
|
111
|
+
getBlockDataByArchive: z.function().args(schemas.Fr).returns(BlockDataSchema.optional()),
|
|
112
|
+
getL2Block: z.function().args(BlockNumberSchema).returns(L2Block.schema.optional()),
|
|
113
|
+
getL2BlockByHash: z.function().args(BlockHash.schema).returns(L2Block.schema.optional()),
|
|
114
|
+
getL2BlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
|
|
118
115
|
getTxEffect: z.function().args(TxHash.schema).returns(indexedTxSchema().optional()),
|
|
119
116
|
getSettledTxReceipt: z.function().args(TxHash.schema).returns(TxReceipt.schema.optional()),
|
|
120
|
-
|
|
121
|
-
|
|
117
|
+
getSyncedL2SlotNumber: z.function().args().returns(schemas.SlotNumber.optional()),
|
|
118
|
+
getSyncedL2EpochNumber: z.function().args().returns(EpochNumberSchema.optional()),
|
|
122
119
|
getCheckpointsForEpoch: z.function().args(EpochNumberSchema).returns(z.array(Checkpoint.schema)),
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
120
|
+
getCheckpointsDataForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointDataSchema)),
|
|
121
|
+
getCheckpointedBlocksForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointedL2Block.schema)),
|
|
122
|
+
getBlocksForSlot: z.function().args(schemas.SlotNumber).returns(z.array(L2Block.schema)),
|
|
123
|
+
getCheckpointedBlockHeadersForEpoch: z.function().args(EpochNumberSchema).returns(z.array(BlockHeader.schema)),
|
|
126
124
|
isEpochComplete: z.function().args(EpochNumberSchema).returns(z.boolean()),
|
|
127
125
|
getL2Tips: z.function().args().returns(L2TipsSchema),
|
|
128
126
|
getPrivateLogsByTags: z
|
|
@@ -50,9 +50,30 @@ export interface AztecNodeAdmin {
|
|
|
50
50
|
|
|
51
51
|
/** Returns all offenses applicable for the given round. */
|
|
52
52
|
getSlashOffenses(round: bigint | 'all' | 'current'): Promise<Offense[]>;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Reloads keystore configuration from disk.
|
|
56
|
+
*
|
|
57
|
+
* What is updated:
|
|
58
|
+
* - Validator attester keys
|
|
59
|
+
* - Coinbase address per validator
|
|
60
|
+
* - Fee recipient address per validator
|
|
61
|
+
*
|
|
62
|
+
* What is NOT updated (requires node restart):
|
|
63
|
+
* - L1 publisher signers (the funded accounts that send L1 transactions)
|
|
64
|
+
* - Prover keys
|
|
65
|
+
* - HA signer PostgreSQL connections
|
|
66
|
+
*
|
|
67
|
+
* Notes:
|
|
68
|
+
* - New validators must use a publisher key that was already configured at node
|
|
69
|
+
* startup (or omit the publisher field to fall back to the attester key).
|
|
70
|
+
* A validator with an unknown publisher key will cause the reload to be rejected.
|
|
71
|
+
*/
|
|
72
|
+
reloadKeystore(): Promise<void>;
|
|
53
73
|
}
|
|
54
74
|
|
|
55
|
-
|
|
75
|
+
// L1 contracts are not mutable via admin updates.
|
|
76
|
+
export type AztecNodeAdminConfig = Omit<ValidatorClientFullConfig, 'l1Contracts'> &
|
|
56
77
|
SequencerConfig &
|
|
57
78
|
ProverConfig &
|
|
58
79
|
SlasherConfig &
|
|
@@ -65,7 +86,7 @@ export type AztecNodeAdminConfig = ValidatorClientFullConfig &
|
|
|
65
86
|
|
|
66
87
|
export const AztecNodeAdminConfigSchema = SequencerConfigSchema.merge(ProverConfigSchema)
|
|
67
88
|
.merge(SlasherConfigSchema)
|
|
68
|
-
.merge(ValidatorClientFullConfigSchema)
|
|
89
|
+
.merge(ValidatorClientFullConfigSchema.omit({ l1Contracts: true }))
|
|
69
90
|
.merge(
|
|
70
91
|
ArchiverSpecificConfigSchema.pick({
|
|
71
92
|
archiverPollingIntervalMS: true,
|
|
@@ -87,16 +108,19 @@ export const AztecNodeAdminApiSchema: ApiSchemaFor<AztecNodeAdmin> = {
|
|
|
87
108
|
.function()
|
|
88
109
|
.args(z.union([z.bigint(), z.literal('all'), z.literal('current')]))
|
|
89
110
|
.returns(z.array(OffenseSchema)),
|
|
111
|
+
reloadKeystore: z.function().returns(z.void()),
|
|
90
112
|
};
|
|
91
113
|
|
|
92
114
|
export function createAztecNodeAdminClient(
|
|
93
115
|
url: string,
|
|
94
116
|
versions: Partial<ComponentsVersions> = {},
|
|
95
117
|
fetch = defaultFetch,
|
|
118
|
+
apiKey?: string,
|
|
96
119
|
): AztecNodeAdmin {
|
|
97
120
|
return createSafeJsonRpcClient<AztecNodeAdmin>(url, AztecNodeAdminApiSchema, {
|
|
98
121
|
namespaceMethods: 'nodeAdmin',
|
|
99
122
|
fetch,
|
|
100
123
|
onResponse: getVersioningResponseHandler(versions),
|
|
124
|
+
...(apiKey ? { extraHeaders: { 'x-api-key': apiKey } } : {}),
|
|
101
125
|
});
|
|
102
126
|
}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ARCHIVE_HEIGHT,
|
|
3
|
-
L1_TO_L2_MSG_TREE_HEIGHT,
|
|
4
|
-
NOTE_HASH_TREE_HEIGHT,
|
|
5
|
-
NULLIFIER_TREE_HEIGHT,
|
|
6
|
-
PUBLIC_DATA_TREE_HEIGHT,
|
|
7
|
-
} from '@aztec/constants';
|
|
1
|
+
import { ARCHIVE_HEIGHT, L1_TO_L2_MSG_TREE_HEIGHT, NOTE_HASH_TREE_HEIGHT } from '@aztec/constants';
|
|
8
2
|
import { type L1ContractAddresses, L1ContractAddressesSchema } from '@aztec/ethereum/l1-contract-addresses';
|
|
9
3
|
import {
|
|
10
4
|
BlockNumber,
|
|
11
5
|
BlockNumberPositiveSchema,
|
|
12
6
|
BlockNumberSchema,
|
|
7
|
+
CheckpointNumber,
|
|
13
8
|
CheckpointNumberPositiveSchema,
|
|
9
|
+
CheckpointNumberSchema,
|
|
14
10
|
EpochNumber,
|
|
15
11
|
EpochNumberSchema,
|
|
16
12
|
type SlotNumber,
|
|
@@ -23,11 +19,13 @@ import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
|
|
|
23
19
|
import { z } from 'zod';
|
|
24
20
|
|
|
25
21
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
22
|
+
import { BlockHash } from '../block/block_hash.js';
|
|
26
23
|
import { type BlockParameter, BlockParameterSchema } from '../block/block_parameter.js';
|
|
27
24
|
import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
|
|
28
25
|
import { type DataInBlock, dataInBlockSchemaFor } from '../block/in_block.js';
|
|
29
|
-
import {
|
|
26
|
+
import { L2Block } from '../block/l2_block.js';
|
|
30
27
|
import { type L2BlockSource, type L2Tips, L2TipsSchema } from '../block/l2_block_source.js';
|
|
28
|
+
import { CheckpointDataSchema } from '../checkpoint/checkpoint_data.js';
|
|
31
29
|
import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
32
30
|
import {
|
|
33
31
|
type ContractClassPublic,
|
|
@@ -78,12 +76,11 @@ export interface AztecNode
|
|
|
78
76
|
extends Pick<
|
|
79
77
|
L2BlockSource,
|
|
80
78
|
| 'getBlocks'
|
|
81
|
-
| '
|
|
82
|
-
| 'getPublishedBlocks'
|
|
83
|
-
| 'getPublishedCheckpoints'
|
|
79
|
+
| 'getCheckpoints'
|
|
84
80
|
| 'getBlockHeader'
|
|
85
81
|
| 'getL2Tips'
|
|
86
82
|
| 'getCheckpointedBlocks'
|
|
83
|
+
| 'getCheckpointsDataForEpoch'
|
|
87
84
|
> {
|
|
88
85
|
/**
|
|
89
86
|
* Returns the tips of the L2 chain.
|
|
@@ -98,63 +95,31 @@ export interface AztecNode
|
|
|
98
95
|
/**
|
|
99
96
|
* Find the indexes of the given leaves in the given tree along with a block metadata pointing to the block in which
|
|
100
97
|
* the leaves were inserted.
|
|
101
|
-
* @param
|
|
98
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
102
99
|
* @param treeId - The tree to search in.
|
|
103
100
|
* @param leafValues - The values to search for.
|
|
104
101
|
* @returns The indices of leaves and the block metadata of a block in which the leaves were inserted.
|
|
105
102
|
*/
|
|
106
103
|
findLeavesIndexes(
|
|
107
|
-
|
|
104
|
+
referenceBlock: BlockParameter,
|
|
108
105
|
treeId: MerkleTreeId,
|
|
109
106
|
leafValues: Fr[],
|
|
110
107
|
): Promise<(DataInBlock<bigint> | undefined)[]>;
|
|
111
108
|
|
|
112
|
-
/**
|
|
113
|
-
* Returns a sibling path for the given index in the nullifier tree.
|
|
114
|
-
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
115
|
-
* @param leafIndex - The index of the leaf for which the sibling path is required.
|
|
116
|
-
* @returns The sibling path for the leaf index.
|
|
117
|
-
*/
|
|
118
|
-
getNullifierSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NULLIFIER_TREE_HEIGHT>>;
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Returns a sibling path for the given index in the note hash tree.
|
|
122
|
-
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
123
|
-
* @param leafIndex - The index of the leaf for which the sibling path is required.
|
|
124
|
-
* @returns The sibling path for the leaf index.
|
|
125
|
-
*/
|
|
126
|
-
getNoteHashSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NOTE_HASH_TREE_HEIGHT>>;
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Returns a sibling path for a leaf in the committed historic blocks tree.
|
|
130
|
-
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
131
|
-
* @param leafIndex - Index of the leaf in the tree.
|
|
132
|
-
* @returns The sibling path.
|
|
133
|
-
*/
|
|
134
|
-
getArchiveSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof ARCHIVE_HEIGHT>>;
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Returns a sibling path for a leaf in the committed public data tree.
|
|
138
|
-
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
139
|
-
* @param leafIndex - Index of the leaf in the tree.
|
|
140
|
-
* @returns The sibling path.
|
|
141
|
-
*/
|
|
142
|
-
getPublicDataSiblingPath(
|
|
143
|
-
block: BlockParameter,
|
|
144
|
-
leafIndex: bigint,
|
|
145
|
-
): Promise<SiblingPath<typeof PUBLIC_DATA_TREE_HEIGHT>>;
|
|
146
|
-
|
|
147
109
|
/**
|
|
148
110
|
* Returns a nullifier membership witness for a given nullifier at a given block.
|
|
149
|
-
* @param
|
|
111
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
150
112
|
* @param nullifier - Nullifier we try to find witness for.
|
|
151
113
|
* @returns The nullifier membership witness (if found).
|
|
152
114
|
*/
|
|
153
|
-
getNullifierMembershipWitness(
|
|
115
|
+
getNullifierMembershipWitness(
|
|
116
|
+
referenceBlock: BlockParameter,
|
|
117
|
+
nullifier: Fr,
|
|
118
|
+
): Promise<NullifierMembershipWitness | undefined>;
|
|
154
119
|
|
|
155
120
|
/**
|
|
156
121
|
* Returns a low nullifier membership witness for a given nullifier at a given block.
|
|
157
|
-
* @param
|
|
122
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
158
123
|
* @param nullifier - Nullifier we try to find the low nullifier witness for.
|
|
159
124
|
* @returns The low nullifier membership witness (if found).
|
|
160
125
|
* @remarks Low nullifier witness can be used to perform a nullifier non-inclusion proof by leveraging the "linked
|
|
@@ -162,60 +127,67 @@ export interface AztecNode
|
|
|
162
127
|
* we are trying to prove non-inclusion for.
|
|
163
128
|
*/
|
|
164
129
|
getLowNullifierMembershipWitness(
|
|
165
|
-
|
|
130
|
+
referenceBlock: BlockParameter,
|
|
166
131
|
nullifier: Fr,
|
|
167
132
|
): Promise<NullifierMembershipWitness | undefined>;
|
|
168
133
|
|
|
169
134
|
/**
|
|
170
135
|
* Returns a public data tree witness for a given leaf slot at a given block.
|
|
171
|
-
* @param
|
|
136
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
172
137
|
* @param leafSlot - The leaf slot we try to find the witness for.
|
|
173
138
|
* @returns The public data witness (if found).
|
|
174
139
|
* @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
|
|
175
140
|
* "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
|
|
176
141
|
* is contained in the leaf preimage.
|
|
177
142
|
*/
|
|
178
|
-
getPublicDataWitness(
|
|
143
|
+
getPublicDataWitness(referenceBlock: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
|
|
179
144
|
|
|
180
145
|
/**
|
|
181
|
-
* Returns a membership witness for a given
|
|
182
|
-
*
|
|
183
|
-
*
|
|
146
|
+
* Returns a membership witness for a given block hash in the archive tree.
|
|
147
|
+
*
|
|
148
|
+
* Block hashes are the leaves of the archive tree. Each time a new block is added to the chain,
|
|
149
|
+
* its block hash is appended as a new leaf to the archive tree. This method finds the membership
|
|
150
|
+
* witness (leaf index and sibling path) for a given block hash, which can be used to prove that
|
|
151
|
+
* a specific block exists in the chain's history.
|
|
152
|
+
*
|
|
153
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data
|
|
154
|
+
* (which contains the root of the archive tree in which we are searching for the block hash).
|
|
155
|
+
* @param blockHash - The block hash to find in the archive tree.
|
|
184
156
|
*/
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
157
|
+
getBlockHashMembershipWitness(
|
|
158
|
+
referenceBlock: BlockParameter,
|
|
159
|
+
blockHash: BlockHash,
|
|
188
160
|
): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
|
|
189
161
|
|
|
190
162
|
/**
|
|
191
163
|
* Returns a membership witness for a given note hash at a given block.
|
|
192
|
-
* @param
|
|
164
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
193
165
|
* @param noteHash - The note hash we try to find the witness for.
|
|
194
166
|
*/
|
|
195
167
|
getNoteHashMembershipWitness(
|
|
196
|
-
|
|
168
|
+
referenceBlock: BlockParameter,
|
|
197
169
|
noteHash: Fr,
|
|
198
170
|
): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
|
|
199
171
|
|
|
200
172
|
/**
|
|
201
173
|
* Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
|
|
202
|
-
* @param
|
|
174
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
203
175
|
* @param l1ToL2Message - The l1ToL2Message to get the index / sibling path for.
|
|
204
176
|
* @returns A tuple of the index and the sibling path of the L1ToL2Message (undefined if not found).
|
|
205
177
|
*/
|
|
206
178
|
getL1ToL2MessageMembershipWitness(
|
|
207
|
-
|
|
179
|
+
referenceBlock: BlockParameter,
|
|
208
180
|
l1ToL2Message: Fr,
|
|
209
181
|
): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>] | undefined>;
|
|
210
182
|
|
|
211
|
-
/** Returns the L2
|
|
212
|
-
|
|
183
|
+
/** Returns the L2 checkpoint number in which this L1 to L2 message becomes available, or undefined if not found. */
|
|
184
|
+
getL1ToL2MessageCheckpoint(l1ToL2Message: Fr): Promise<CheckpointNumber | undefined>;
|
|
213
185
|
|
|
214
186
|
/**
|
|
215
187
|
* Returns whether an L1 to L2 message is synced by archiver.
|
|
216
188
|
* @param l1ToL2Message - The L1 to L2 message to check.
|
|
217
189
|
* @returns Whether the message is synced.
|
|
218
|
-
* @deprecated Use `
|
|
190
|
+
* @deprecated Use `getL1ToL2MessageCheckpoint` instead. This method may return true even if the message is not ready to use.
|
|
219
191
|
*/
|
|
220
192
|
isL1ToL2MessageSynced(l1ToL2Message: Fr): Promise<boolean>;
|
|
221
193
|
|
|
@@ -229,24 +201,24 @@ export interface AztecNode
|
|
|
229
201
|
|
|
230
202
|
/**
|
|
231
203
|
* Get a block specified by its block number or 'latest'.
|
|
232
|
-
* @param
|
|
204
|
+
* @param blockParameter - The block parameter (block number, block hash, or 'latest').
|
|
233
205
|
* @returns The requested block.
|
|
234
206
|
*/
|
|
235
|
-
getBlock(
|
|
207
|
+
getBlock(blockParameter: BlockParameter): Promise<L2Block | undefined>;
|
|
236
208
|
|
|
237
209
|
/**
|
|
238
210
|
* Get a block specified by its hash.
|
|
239
211
|
* @param blockHash - The block hash being requested.
|
|
240
212
|
* @returns The requested block.
|
|
241
213
|
*/
|
|
242
|
-
getBlockByHash(blockHash:
|
|
214
|
+
getBlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
|
|
243
215
|
|
|
244
216
|
/**
|
|
245
217
|
* Get a block specified by its archive root.
|
|
246
218
|
* @param archive - The archive root being requested.
|
|
247
219
|
* @returns The requested block.
|
|
248
220
|
*/
|
|
249
|
-
getBlockByArchive(archive: Fr): Promise<
|
|
221
|
+
getBlockByArchive(archive: Fr): Promise<L2Block | undefined>;
|
|
250
222
|
|
|
251
223
|
/**
|
|
252
224
|
* Method to fetch the latest block number synchronized by the node.
|
|
@@ -260,6 +232,18 @@ export interface AztecNode
|
|
|
260
232
|
*/
|
|
261
233
|
getProvenBlockNumber(): Promise<BlockNumber>;
|
|
262
234
|
|
|
235
|
+
/**
|
|
236
|
+
* Fetches the latest checkpointed block number.
|
|
237
|
+
* @returns The block number.
|
|
238
|
+
*/
|
|
239
|
+
getCheckpointedBlockNumber(): Promise<BlockNumber>;
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Method to fetch the latest checkpoint number synchronized by the node.
|
|
243
|
+
* @returns The checkpoint number.
|
|
244
|
+
*/
|
|
245
|
+
getCheckpointNumber(): Promise<CheckpointNumber>;
|
|
246
|
+
|
|
263
247
|
/**
|
|
264
248
|
* Method to determine if the node is ready to accept transactions.
|
|
265
249
|
* @returns - Flag indicating the readiness for tx submission.
|
|
@@ -279,7 +263,7 @@ export interface AztecNode
|
|
|
279
263
|
* @param limit - The maximum number of blocks to return.
|
|
280
264
|
* @returns The blocks requested.
|
|
281
265
|
*/
|
|
282
|
-
getBlocks(from: BlockNumber, limit: number): Promise<
|
|
266
|
+
getBlocks(from: BlockNumber, limit: number): Promise<L2Block[]>;
|
|
283
267
|
|
|
284
268
|
/**
|
|
285
269
|
* Method to fetch the current min fees.
|
|
@@ -347,10 +331,14 @@ export interface AztecNode
|
|
|
347
331
|
* array implies no logs match that tag.
|
|
348
332
|
* @param tags - The tags to search for.
|
|
349
333
|
* @param page - The page number (0-indexed) for pagination.
|
|
334
|
+
* @param referenceBlock - Optional block hash used to ensure the block still exists before logs are retrieved.
|
|
335
|
+
* This block is expected to represent the latest block to which the client has synced (called anchor block in PXE).
|
|
336
|
+
* If specified and the block is not found, an error is thrown. This helps detect reorgs, which could result in
|
|
337
|
+
* undefined behavior in the client's code.
|
|
350
338
|
* @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
|
|
351
339
|
* for a tag, the caller should fetch the next page to check for more logs.
|
|
352
340
|
*/
|
|
353
|
-
getPrivateLogsByTags(tags: SiloedTag[], page?: number): Promise<TxScopedL2Log[][]>;
|
|
341
|
+
getPrivateLogsByTags(tags: SiloedTag[], page?: number, referenceBlock?: BlockHash): Promise<TxScopedL2Log[][]>;
|
|
354
342
|
|
|
355
343
|
/**
|
|
356
344
|
* Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
|
|
@@ -358,6 +346,10 @@ export interface AztecNode
|
|
|
358
346
|
* @param contractAddress - The contract address to search logs for.
|
|
359
347
|
* @param tags - The tags to search for.
|
|
360
348
|
* @param page - The page number (0-indexed) for pagination.
|
|
349
|
+
* @param referenceBlock - Optional block hash used to ensure the block still exists before logs are retrieved.
|
|
350
|
+
* This block is expected to represent the latest block to which the client has synced (called anchor block in PXE).
|
|
351
|
+
* If specified and the block is not found, an error is thrown. This helps detect reorgs, which could result in
|
|
352
|
+
* undefined behavior in the client's code.
|
|
361
353
|
* @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
|
|
362
354
|
* for a tag, the caller should fetch the next page to check for more logs.
|
|
363
355
|
*/
|
|
@@ -365,6 +357,7 @@ export interface AztecNode
|
|
|
365
357
|
contractAddress: AztecAddress,
|
|
366
358
|
tags: Tag[],
|
|
367
359
|
page?: number,
|
|
360
|
+
referenceBlock?: BlockHash,
|
|
368
361
|
): Promise<TxScopedL2Log[][]>;
|
|
369
362
|
|
|
370
363
|
/**
|
|
@@ -423,12 +416,12 @@ export interface AztecNode
|
|
|
423
416
|
* @remarks The storage slot here refers to the slot as it is defined in Noir not the index in the merkle tree.
|
|
424
417
|
* Aztec's version of `eth_getStorageAt`.
|
|
425
418
|
*
|
|
426
|
-
* @param
|
|
419
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
427
420
|
* @param contract - Address of the contract to query.
|
|
428
421
|
* @param slot - Slot to query.
|
|
429
422
|
* @returns Storage value at the given contract slot.
|
|
430
423
|
*/
|
|
431
|
-
getPublicStorageAt(
|
|
424
|
+
getPublicStorageAt(referenceBlock: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
|
|
432
425
|
|
|
433
426
|
/**
|
|
434
427
|
* Returns the block header for a given block number, block hash, or 'latest'.
|
|
@@ -464,7 +457,7 @@ export interface AztecNode
|
|
|
464
457
|
/**
|
|
465
458
|
* Returns true if the transaction is valid for inclusion at the current state. Valid transactions can be
|
|
466
459
|
* made invalid by *other* transactions if e.g. they emit the same nullifiers, or come become invalid
|
|
467
|
-
* due to e.g. the
|
|
460
|
+
* due to e.g. the expiration_timestamp property.
|
|
468
461
|
* @param tx - The transaction to validate for correctness.
|
|
469
462
|
* @param isSimulation - True if the transaction is a simulated one without generated proofs. (Optional)
|
|
470
463
|
* @param skipFeeEnforcement - True if the validation of the fee should be skipped. Useful when the simulation is for estimating fee (Optional)
|
|
@@ -508,26 +501,6 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
508
501
|
.args(BlockParameterSchema, z.nativeEnum(MerkleTreeId), z.array(schemas.Fr).max(MAX_RPC_LEN))
|
|
509
502
|
.returns(z.array(optional(dataInBlockSchemaFor(schemas.BigInt)))),
|
|
510
503
|
|
|
511
|
-
getNullifierSiblingPath: z
|
|
512
|
-
.function()
|
|
513
|
-
.args(BlockParameterSchema, schemas.BigInt)
|
|
514
|
-
.returns(SiblingPath.schemaFor(NULLIFIER_TREE_HEIGHT)),
|
|
515
|
-
|
|
516
|
-
getNoteHashSiblingPath: z
|
|
517
|
-
.function()
|
|
518
|
-
.args(BlockParameterSchema, schemas.BigInt)
|
|
519
|
-
.returns(SiblingPath.schemaFor(NOTE_HASH_TREE_HEIGHT)),
|
|
520
|
-
|
|
521
|
-
getArchiveSiblingPath: z
|
|
522
|
-
.function()
|
|
523
|
-
.args(BlockParameterSchema, schemas.BigInt)
|
|
524
|
-
.returns(SiblingPath.schemaFor(ARCHIVE_HEIGHT)),
|
|
525
|
-
|
|
526
|
-
getPublicDataSiblingPath: z
|
|
527
|
-
.function()
|
|
528
|
-
.args(BlockParameterSchema, schemas.BigInt)
|
|
529
|
-
.returns(SiblingPath.schemaFor(PUBLIC_DATA_TREE_HEIGHT)),
|
|
530
|
-
|
|
531
504
|
getNullifierMembershipWitness: z
|
|
532
505
|
.function()
|
|
533
506
|
.args(BlockParameterSchema, schemas.Fr)
|
|
@@ -543,9 +516,9 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
543
516
|
.args(BlockParameterSchema, schemas.Fr)
|
|
544
517
|
.returns(PublicDataWitness.schema.optional()),
|
|
545
518
|
|
|
546
|
-
|
|
519
|
+
getBlockHashMembershipWitness: z
|
|
547
520
|
.function()
|
|
548
|
-
.args(BlockParameterSchema,
|
|
521
|
+
.args(BlockParameterSchema, BlockHash.schema)
|
|
549
522
|
.returns(MembershipWitness.schemaFor(ARCHIVE_HEIGHT).optional()),
|
|
550
523
|
|
|
551
524
|
getNoteHashMembershipWitness: z
|
|
@@ -558,7 +531,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
558
531
|
.args(BlockParameterSchema, schemas.Fr)
|
|
559
532
|
.returns(z.tuple([schemas.BigInt, SiblingPath.schemaFor(L1_TO_L2_MSG_TREE_HEIGHT)]).optional()),
|
|
560
533
|
|
|
561
|
-
|
|
534
|
+
getL1ToL2MessageCheckpoint: z.function().args(schemas.Fr).returns(CheckpointNumberSchema.optional()),
|
|
562
535
|
|
|
563
536
|
isL1ToL2MessageSynced: z.function().args(schemas.Fr).returns(z.boolean()),
|
|
564
537
|
|
|
@@ -567,16 +540,20 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
567
540
|
.args(EpochNumberSchema)
|
|
568
541
|
.returns(z.array(z.array(z.array(z.array(schemas.Fr))))),
|
|
569
542
|
|
|
570
|
-
getBlock: z.function().args(BlockParameterSchema).returns(
|
|
543
|
+
getBlock: z.function().args(BlockParameterSchema).returns(L2Block.schema.optional()),
|
|
571
544
|
|
|
572
|
-
getBlockByHash: z.function().args(
|
|
545
|
+
getBlockByHash: z.function().args(BlockHash.schema).returns(L2Block.schema.optional()),
|
|
573
546
|
|
|
574
|
-
getBlockByArchive: z.function().args(schemas.Fr).returns(
|
|
547
|
+
getBlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
|
|
575
548
|
|
|
576
549
|
getBlockNumber: z.function().returns(BlockNumberSchema),
|
|
577
550
|
|
|
551
|
+
getCheckpointNumber: z.function().returns(CheckpointNumberSchema),
|
|
552
|
+
|
|
578
553
|
getProvenBlockNumber: z.function().returns(BlockNumberSchema),
|
|
579
554
|
|
|
555
|
+
getCheckpointedBlockNumber: z.function().returns(BlockNumberSchema),
|
|
556
|
+
|
|
580
557
|
isReady: z.function().returns(z.boolean()),
|
|
581
558
|
|
|
582
559
|
getNodeInfo: z.function().returns(NodeInfoSchema),
|
|
@@ -584,28 +561,20 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
584
561
|
getBlocks: z
|
|
585
562
|
.function()
|
|
586
563
|
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
587
|
-
.returns(z.array(
|
|
564
|
+
.returns(z.array(L2Block.schema)),
|
|
588
565
|
|
|
589
|
-
|
|
590
|
-
.function()
|
|
591
|
-
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
592
|
-
.returns(z.array(CheckpointedL2Block.schema)),
|
|
593
|
-
|
|
594
|
-
getPublishedCheckpoints: z
|
|
566
|
+
getCheckpoints: z
|
|
595
567
|
.function()
|
|
596
568
|
.args(CheckpointNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_CHECKPOINTS_LEN))
|
|
597
569
|
.returns(z.array(PublishedCheckpoint.schema)),
|
|
598
570
|
|
|
599
|
-
getL2BlocksNew: z
|
|
600
|
-
.function()
|
|
601
|
-
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
602
|
-
.returns(z.array(L2BlockNew.schema)),
|
|
603
|
-
|
|
604
571
|
getCheckpointedBlocks: z
|
|
605
572
|
.function()
|
|
606
|
-
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN)
|
|
573
|
+
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
607
574
|
.returns(z.array(CheckpointedL2Block.schema)),
|
|
608
575
|
|
|
576
|
+
getCheckpointsDataForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointDataSchema)),
|
|
577
|
+
|
|
609
578
|
getCurrentMinFees: z.function().returns(GasFees.schema),
|
|
610
579
|
|
|
611
580
|
getMaxPriorityFees: z.function().returns(GasFees.schema),
|
|
@@ -631,12 +600,17 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
631
600
|
|
|
632
601
|
getPrivateLogsByTags: z
|
|
633
602
|
.function()
|
|
634
|
-
.args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)))
|
|
603
|
+
.args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)), optional(BlockHash.schema))
|
|
635
604
|
.returns(z.array(z.array(TxScopedL2Log.schema))),
|
|
636
605
|
|
|
637
606
|
getPublicLogsByTagsFromContract: z
|
|
638
607
|
.function()
|
|
639
|
-
.args(
|
|
608
|
+
.args(
|
|
609
|
+
schemas.AztecAddress,
|
|
610
|
+
z.array(Tag.schema).max(MAX_RPC_LEN),
|
|
611
|
+
optional(z.number().gte(0)),
|
|
612
|
+
optional(BlockHash.schema),
|
|
613
|
+
)
|
|
640
614
|
.returns(z.array(z.array(TxScopedL2Log.schema))),
|
|
641
615
|
|
|
642
616
|
sendTx: z.function().args(Tx.schema).returns(z.void()),
|