@aztec/stdlib 0.0.1-commit.e3c1de76 → 0.0.1-commit.e588bc7e5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +138 -1
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +10 -2
- package/dest/abi/buffer.d.ts +14 -4
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +25 -4
- package/dest/abi/decoder.d.ts +6 -45
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +17 -70
- 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/function_selector.js +1 -1
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- 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_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/in_block.js +1 -1
- package/dest/block/index.d.ts +2 -1
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -0
- package/dest/block/l2_block.d.ts +9 -1
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +12 -2
- package/dest/block/l2_block_source.d.ts +113 -9
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +1 -0
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_store_base.js +17 -4
- 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 +3 -2
- package/dest/checkpoint/checkpoint.d.ts +28 -7
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +41 -17
- package/dest/checkpoint/checkpoint_data.d.ts +186 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +36 -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 +17 -2
- 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 +3 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +2 -0
- package/dest/config/pipelining-config.d.ts +19 -0
- package/dest/config/pipelining-config.d.ts.map +1 -0
- package/dest/config/pipelining-config.js +18 -0
- package/dest/config/sequencer-config.d.ts +12 -0
- package/dest/config/sequencer-config.d.ts.map +1 -0
- package/dest/config/sequencer-config.js +24 -0
- package/dest/contract/contract_address.d.ts +3 -3
- package/dest/contract/contract_address.js +7 -7
- 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 +3 -3
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +7 -6
- 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_class.d.ts +3 -156
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +1 -28
- 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.js +2 -2
- package/dest/epoch-helpers/index.d.ts +15 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +18 -2
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +2 -2
- package/dest/file-store/http.d.ts +9 -2
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +20 -9
- package/dest/file-store/index.d.ts +2 -1
- package/dest/file-store/index.d.ts.map +1 -1
- 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/gas/gas_fees.d.ts +1 -1
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +4 -1
- package/dest/ha-signing/config.d.ts +136 -0
- package/dest/ha-signing/config.d.ts.map +1 -0
- package/dest/ha-signing/config.js +97 -0
- package/dest/ha-signing/index.d.ts +4 -0
- package/dest/ha-signing/index.d.ts.map +1 -0
- package/dest/ha-signing/index.js +3 -0
- package/dest/ha-signing/local_config.d.ts +63 -0
- package/dest/ha-signing/local_config.d.ts.map +1 -0
- package/dest/ha-signing/local_config.js +24 -0
- package/dest/ha-signing/types.d.ts +85 -0
- package/dest/ha-signing/types.d.ts.map +1 -0
- package/dest/ha-signing/types.js +32 -0
- package/dest/hash/hash.d.ts +20 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +45 -10
- package/dest/hash/map_slot.js +2 -2
- 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 +10 -2
- package/dest/interfaces/aztec-node-admin.d.ts +121 -35
- 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 +40 -27
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +6 -3
- package/dest/interfaces/block-builder.d.ts +39 -12
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +13 -6
- package/dest/interfaces/configs.d.ts +77 -32
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +10 -3
- package/dest/interfaces/get_logs_response.d.ts +8 -1
- package/dest/interfaces/get_logs_response.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.d.ts +5 -3
- package/dest/interfaces/l2_logs_source.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 +11 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +12 -1
- package/dest/interfaces/proving-job.d.ts +36 -36
- 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/validator.d.ts +149 -49
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +11 -5
- package/dest/interfaces/world_state.d.ts +5 -4
- package/dest/interfaces/world_state.d.ts.map +1 -1
- 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 +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 +13 -10
- 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/kv-store/config.d.ts +17 -0
- package/dest/kv-store/config.d.ts.map +1 -0
- package/dest/kv-store/config.js +26 -0
- package/dest/kv-store/index.d.ts +2 -0
- package/dest/kv-store/index.d.ts.map +1 -0
- package/dest/kv-store/index.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} +35 -20
- package/dest/logs/extended_public_log.d.ts +7 -1
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +4 -2
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +3 -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 +10 -7
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +15 -13
- package/dest/logs/message_context.d.ts +4 -7
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +23 -9
- package/dest/logs/pending_tagged_log.d.ts +2 -3
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +2 -2
- 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/shared_secret_derivation.d.ts +11 -10
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +15 -9
- package/dest/logs/siloed_tag.d.ts +8 -3
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +12 -7
- package/dest/logs/tag.js +1 -1
- package/dest/logs/tagging_index_range.d.ts +40 -0
- package/dest/logs/tagging_index_range.d.ts.map +1 -0
- package/dest/logs/tagging_index_range.js +8 -0
- 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/l1_to_l2_message.d.ts +3 -2
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +11 -13
- package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- 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/noir/index.d.ts +3 -3
- package/dest/noir/index.d.ts.map +1 -1
- 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/note/note_dao.d.ts +1 -1
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +1 -4
- 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 +2 -2
- 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 +18 -11
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +41 -37
- 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/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/proofs/chonk_proof.d.ts +46 -2
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +85 -10
- 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/tests/factories.d.ts +4 -4
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +31 -40
- package/dest/tests/mocks.d.ts +8 -3
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +31 -21
- 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 +3 -1
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +6 -2
- package/dest/tx/capsule.d.ts +6 -2
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +9 -3
- package/dest/tx/global_variable_builder.d.ts +14 -2
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +4 -4
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/private_execution_result.d.ts +6 -6
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -6
- package/dest/tx/profiling.d.ts +17 -5
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +15 -5
- 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 +113 -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 +22 -3
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +15 -4
- 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 +10 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +11 -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 +24 -12
- package/src/abi/abi.ts +25 -2
- package/src/abi/buffer.ts +25 -4
- package/src/abi/decoder.ts +36 -82
- 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/function_selector.ts +1 -1
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- 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/in_block.ts +1 -1
- package/src/block/index.ts +1 -0
- package/src/block/l2_block.ts +13 -1
- package/src/block/l2_block_source.ts +47 -8
- package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
- package/src/block/l2_block_stream/l2_tips_store_base.ts +24 -12
- package/src/block/test/l2_tips_store_test_suite.ts +8 -1
- package/src/checkpoint/checkpoint.ts +54 -17
- package/src/checkpoint/checkpoint_data.ts +87 -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 +2 -0
- package/src/config/pipelining-config.ts +31 -0
- package/src/config/sequencer-config.ts +37 -0
- package/src/contract/contract_address.ts +7 -7
- package/src/contract/contract_class.ts +3 -3
- package/src/contract/contract_class_id.ts +7 -6
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/contract/interfaces/node-info.ts +3 -0
- package/src/contract/private_function.ts +2 -2
- package/src/epoch-helpers/index.ts +30 -0
- package/src/file-store/factory.ts +13 -4
- package/src/file-store/http.ts +29 -10
- package/src/file-store/index.ts +1 -0
- package/src/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +12 -3
- package/src/gas/README.md +123 -0
- package/src/gas/gas_fees.ts +7 -1
- package/src/ha-signing/config.ts +156 -0
- package/src/ha-signing/index.ts +27 -0
- package/src/ha-signing/local_config.ts +46 -0
- package/src/ha-signing/types.ts +112 -0
- package/src/hash/hash.ts +48 -10
- package/src/hash/map_slot.ts +2 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/archiver.ts +10 -2
- package/src/interfaces/aztec-node-admin.ts +26 -2
- package/src/interfaces/aztec-node.ts +59 -30
- package/src/interfaces/block-builder.ts +61 -14
- package/src/interfaces/configs.ts +36 -8
- package/src/interfaces/l2_logs_source.ts +4 -1
- 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 +15 -0
- package/src/interfaces/slasher.ts +4 -0
- package/src/interfaces/validator.ts +56 -28
- package/src/interfaces/world_state.ts +4 -3
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
- 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/kv-store/config.ts +36 -0
- package/src/kv-store/index.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} +41 -22
- package/src/logs/index.ts +3 -1
- package/src/logs/log_filter.ts +5 -0
- package/src/logs/log_id.ts +15 -12
- package/src/logs/message_context.ts +17 -7
- package/src/logs/pending_tagged_log.ts +1 -3
- package/src/logs/pre_tag.ts +5 -5
- package/src/logs/public_log.ts +4 -2
- package/src/logs/shared_secret_derivation.ts +21 -10
- package/src/logs/siloed_tag.ts +15 -5
- package/src/logs/tag.ts +1 -1
- package/src/logs/tagging_index_range.ts +24 -0
- package/src/logs/tx_scoped_l2_log.ts +16 -0
- package/src/messaging/l1_to_l2_message.ts +12 -9
- package/src/messaging/l1_to_l2_message_source.ts +3 -1
- package/src/messaging/l2_to_l1_membership.ts +101 -36
- package/src/noir/index.ts +2 -2
- package/src/note/index.ts +0 -1
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/attestation_utils.ts +56 -0
- package/src/p2p/block_proposal.ts +1 -3
- package/src/p2p/checkpoint_attestation.ts +6 -1
- package/src/p2p/checkpoint_proposal.ts +67 -49
- 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/peer_error.ts +7 -0
- package/src/p2p/topic_type.ts +8 -15
- package/src/proofs/chonk_proof.ts +91 -5
- 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/tests/factories.ts +30 -50
- package/src/tests/mocks.ts +46 -20
- package/src/timetable/index.ts +66 -0
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/tx/block_header.ts +8 -2
- package/src/tx/capsule.ts +10 -2
- package/src/tx/global_variable_builder.ts +15 -0
- package/src/tx/global_variables.ts +3 -3
- package/src/tx/private_execution_result.ts +5 -5
- package/src/tx/profiling.ts +14 -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 +17 -2
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +13 -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/contract/private_function_membership_proof.d.ts +0 -32
- package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/private_function_membership_proof.js +0 -124
- package/dest/contract/utility_function_membership_proof.d.ts +0 -27
- package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/utility_function_membership_proof.js +0 -87
- 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/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/note/notes_filter.ts +0 -38
- package/src/update-checker/update-checker.ts +0 -166
package/src/hash/hash.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainSeparator, NULL_MSG_SENDER_CONTRACT_ADDRESS } from '@aztec/constants';
|
|
2
2
|
import { poseidon2Hash, poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
3
|
import { sha256ToField } from '@aztec/foundation/crypto/sha256';
|
|
4
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
@@ -23,7 +23,7 @@ export async function hashVK(keyAsFields: Fr[]): Promise<Fr> {
|
|
|
23
23
|
* @returns A note hash nonce.
|
|
24
24
|
*/
|
|
25
25
|
export function computeNoteHashNonce(nullifierZero: Fr, noteHashIndex: number): Promise<Fr> {
|
|
26
|
-
return poseidon2HashWithSeparator([nullifierZero, noteHashIndex],
|
|
26
|
+
return poseidon2HashWithSeparator([nullifierZero, noteHashIndex], DomainSeparator.NOTE_HASH_NONCE);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
/**
|
|
@@ -34,7 +34,7 @@ export function computeNoteHashNonce(nullifierZero: Fr, noteHashIndex: number):
|
|
|
34
34
|
* @returns A siloed note hash.
|
|
35
35
|
*/
|
|
36
36
|
export function siloNoteHash(contract: AztecAddress, noteHash: Fr): Promise<Fr> {
|
|
37
|
-
return poseidon2HashWithSeparator([contract, noteHash],
|
|
37
|
+
return poseidon2HashWithSeparator([contract, noteHash], DomainSeparator.SILOED_NOTE_HASH);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
/**
|
|
@@ -44,7 +44,7 @@ export function siloNoteHash(contract: AztecAddress, noteHash: Fr): Promise<Fr>
|
|
|
44
44
|
* @returns A unique note hash.
|
|
45
45
|
*/
|
|
46
46
|
export function computeUniqueNoteHash(noteNonce: Fr, siloedNoteHash: Fr): Promise<Fr> {
|
|
47
|
-
return poseidon2HashWithSeparator([noteNonce, siloedNoteHash],
|
|
47
|
+
return poseidon2HashWithSeparator([noteNonce, siloedNoteHash], DomainSeparator.UNIQUE_NOTE_HASH);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
/**
|
|
@@ -55,7 +55,36 @@ export function computeUniqueNoteHash(noteNonce: Fr, siloedNoteHash: Fr): Promis
|
|
|
55
55
|
* @returns A siloed nullifier.
|
|
56
56
|
*/
|
|
57
57
|
export function siloNullifier(contract: AztecAddress, innerNullifier: Fr): Promise<Fr> {
|
|
58
|
-
return poseidon2HashWithSeparator([contract, innerNullifier],
|
|
58
|
+
return poseidon2HashWithSeparator([contract, innerNullifier], DomainSeparator.SILOED_NULLIFIER);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Computes the siloed private initialization nullifier for a contract, given its address and initialization hash.
|
|
63
|
+
* @param contract - The contract address.
|
|
64
|
+
* @param initializationHash - The contract's initialization hash.
|
|
65
|
+
* @returns The siloed private initialization nullifier.
|
|
66
|
+
*/
|
|
67
|
+
export async function computeSiloedPrivateInitializationNullifier(
|
|
68
|
+
contract: AztecAddress,
|
|
69
|
+
initializationHash: Fr,
|
|
70
|
+
): Promise<Fr> {
|
|
71
|
+
const innerNullifier = await poseidon2HashWithSeparator(
|
|
72
|
+
[contract, initializationHash],
|
|
73
|
+
DomainSeparator.PRIVATE_INITIALIZATION_NULLIFIER,
|
|
74
|
+
);
|
|
75
|
+
return siloNullifier(contract, innerNullifier);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Computes the siloed public initialization nullifier for a contract. Not all contracts emit this nullifier: it is only
|
|
80
|
+
* emitted when the contract has public functions that perform initialization checks (i.e. external public functions that
|
|
81
|
+
* are not `#[noinitcheck]` or `#[only_self]`).
|
|
82
|
+
* @param contract - The contract address.
|
|
83
|
+
* @returns The siloed public initialization nullifier.
|
|
84
|
+
*/
|
|
85
|
+
export async function computeSiloedPublicInitializationNullifier(contract: AztecAddress): Promise<Fr> {
|
|
86
|
+
const innerNullifier = await poseidon2HashWithSeparator([contract], DomainSeparator.PUBLIC_INITIALIZATION_NULLIFIER);
|
|
87
|
+
return siloNullifier(contract, innerNullifier);
|
|
59
88
|
}
|
|
60
89
|
|
|
61
90
|
/**
|
|
@@ -69,6 +98,15 @@ export function computeProtocolNullifier(txRequestHash: Fr): Promise<Fr> {
|
|
|
69
98
|
return siloNullifier(AztecAddress.fromBigInt(NULL_MSG_SENDER_CONTRACT_ADDRESS), txRequestHash);
|
|
70
99
|
}
|
|
71
100
|
|
|
101
|
+
/** Domain-separates a raw log tag with the given domain separator. */
|
|
102
|
+
export function computeLogTag(rawTag: number | bigint | boolean | Fr | Buffer, domSep: DomainSeparator): Promise<Fr> {
|
|
103
|
+
return poseidon2HashWithSeparator([new Fr(rawTag)], domSep);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export function computeSiloedPrivateLogFirstField(contract: AztecAddress, field: Fr): Promise<Fr> {
|
|
107
|
+
return poseidon2HashWithSeparator([contract, field], DomainSeparator.PRIVATE_LOG_FIRST_FIELD);
|
|
108
|
+
}
|
|
109
|
+
|
|
72
110
|
/**
|
|
73
111
|
* Computes a public data tree value ready for insertion.
|
|
74
112
|
* @param value - Raw public data tree value to hash into a tree-insertion-ready value.
|
|
@@ -87,7 +125,7 @@ export function computePublicDataTreeValue(value: Fr): Fr {
|
|
|
87
125
|
|
|
88
126
|
*/
|
|
89
127
|
export function computePublicDataTreeLeafSlot(contractAddress: AztecAddress, storageSlot: Fr): Promise<Fr> {
|
|
90
|
-
return poseidon2HashWithSeparator([contractAddress, storageSlot],
|
|
128
|
+
return poseidon2HashWithSeparator([contractAddress, storageSlot], DomainSeparator.PUBLIC_LEAF_SLOT);
|
|
91
129
|
}
|
|
92
130
|
|
|
93
131
|
/**
|
|
@@ -101,7 +139,7 @@ export function computeVarArgsHash(args: Fr[]): Promise<Fr> {
|
|
|
101
139
|
return Promise.resolve(Fr.ZERO);
|
|
102
140
|
}
|
|
103
141
|
|
|
104
|
-
return poseidon2HashWithSeparator(args,
|
|
142
|
+
return poseidon2HashWithSeparator(args, DomainSeparator.FUNCTION_ARGS);
|
|
105
143
|
}
|
|
106
144
|
|
|
107
145
|
/**
|
|
@@ -110,7 +148,7 @@ export function computeVarArgsHash(args: Fr[]): Promise<Fr> {
|
|
|
110
148
|
* @returns Hash of the calldata.
|
|
111
149
|
*/
|
|
112
150
|
export function computeCalldataHash(calldata: Fr[]): Promise<Fr> {
|
|
113
|
-
return poseidon2HashWithSeparator(calldata,
|
|
151
|
+
return poseidon2HashWithSeparator(calldata, DomainSeparator.PUBLIC_CALLDATA);
|
|
114
152
|
}
|
|
115
153
|
|
|
116
154
|
/**
|
|
@@ -120,13 +158,13 @@ export function computeCalldataHash(calldata: Fr[]): Promise<Fr> {
|
|
|
120
158
|
* @returns The hash
|
|
121
159
|
*/
|
|
122
160
|
export function computeSecretHash(secret: Fr): Promise<Fr> {
|
|
123
|
-
return poseidon2HashWithSeparator([secret],
|
|
161
|
+
return poseidon2HashWithSeparator([secret], DomainSeparator.SECRET_HASH);
|
|
124
162
|
}
|
|
125
163
|
|
|
126
164
|
export async function computeL1ToL2MessageNullifier(contract: AztecAddress, messageHash: Fr, secret: Fr) {
|
|
127
165
|
const innerMessageNullifier = await poseidon2HashWithSeparator(
|
|
128
166
|
[messageHash, secret],
|
|
129
|
-
|
|
167
|
+
DomainSeparator.MESSAGE_NULLIFIER,
|
|
130
168
|
);
|
|
131
169
|
return siloNullifier(contract, innerMessageNullifier);
|
|
132
170
|
}
|
package/src/hash/map_slot.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainSeparator } from '@aztec/constants';
|
|
2
2
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
3
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
|
|
@@ -15,5 +15,5 @@ export function deriveStorageSlotInMap(
|
|
|
15
15
|
toField: () => Fr;
|
|
16
16
|
},
|
|
17
17
|
): Promise<Fr> {
|
|
18
|
-
return poseidon2HashWithSeparator([mapSlot, key.toField()],
|
|
18
|
+
return poseidon2HashWithSeparator([mapSlot, key.toField()], DomainSeparator.PUBLIC_STORAGE_MAP_SLOT);
|
|
19
19
|
}
|
|
@@ -6,18 +6,38 @@ import type { FunctionSelector } from '../abi/function_selector.js';
|
|
|
6
6
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
7
7
|
import { schemas, zodFor } from '../schemas/index.js';
|
|
8
8
|
|
|
9
|
-
type
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
type AllowedInstanceFunction = {
|
|
10
|
+
address: AztecAddress;
|
|
11
|
+
selector: FunctionSelector;
|
|
12
|
+
onlySelf?: boolean;
|
|
13
|
+
rejectNullMsgSender?: boolean;
|
|
14
|
+
calldataLength?: number;
|
|
15
|
+
};
|
|
16
|
+
type AllowedClassFunction = {
|
|
17
|
+
classId: Fr;
|
|
18
|
+
selector: FunctionSelector;
|
|
19
|
+
onlySelf?: boolean;
|
|
20
|
+
rejectNullMsgSender?: boolean;
|
|
21
|
+
calldataLength?: number;
|
|
22
|
+
};
|
|
13
23
|
|
|
14
|
-
export type AllowedElement =
|
|
24
|
+
export type AllowedElement = AllowedInstanceFunction | AllowedClassFunction;
|
|
15
25
|
|
|
16
26
|
export const AllowedElementSchema = zodFor<AllowedElement>()(
|
|
17
27
|
z.union([
|
|
18
|
-
z.object({
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
28
|
+
z.object({
|
|
29
|
+
address: schemas.AztecAddress,
|
|
30
|
+
selector: schemas.FunctionSelector,
|
|
31
|
+
onlySelf: z.boolean().optional(),
|
|
32
|
+
rejectNullMsgSender: z.boolean().optional(),
|
|
33
|
+
calldataLength: z.number().optional(),
|
|
34
|
+
}),
|
|
35
|
+
z.object({
|
|
36
|
+
classId: schemas.Fr,
|
|
37
|
+
selector: schemas.FunctionSelector,
|
|
38
|
+
onlySelf: z.boolean().optional(),
|
|
39
|
+
rejectNullMsgSender: z.boolean().optional(),
|
|
40
|
+
calldataLength: z.number().optional(),
|
|
41
|
+
}),
|
|
22
42
|
]),
|
|
23
43
|
);
|
|
@@ -4,12 +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';
|
|
7
8
|
import { BlockHash } from '../block/block_hash.js';
|
|
8
9
|
import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
|
|
9
10
|
import { L2Block } from '../block/l2_block.js';
|
|
10
11
|
import { type L2BlockSource, L2TipsSchema } from '../block/l2_block_source.js';
|
|
11
12
|
import { ValidateCheckpointResultSchema } from '../block/validate_block_result.js';
|
|
12
13
|
import { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
14
|
+
import { CheckpointDataSchema, ProposedCheckpointDataSchema } from '../checkpoint/checkpoint_data.js';
|
|
13
15
|
import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
14
16
|
import {
|
|
15
17
|
ContractClassPublicSchema,
|
|
@@ -84,6 +86,7 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
|
|
|
84
86
|
getBlockNumber: z.function().args().returns(BlockNumberSchema),
|
|
85
87
|
getProvenBlockNumber: z.function().args().returns(BlockNumberSchema),
|
|
86
88
|
getCheckpointedL2BlockNumber: z.function().args().returns(BlockNumberSchema),
|
|
89
|
+
getCheckpointNumber: z.function().args().returns(CheckpointNumberSchema),
|
|
87
90
|
getFinalizedL2BlockNumber: z.function().args().returns(BlockNumberSchema),
|
|
88
91
|
getBlock: z.function().args(BlockNumberSchema).returns(L2Block.schema.optional()),
|
|
89
92
|
getBlockHeader: z
|
|
@@ -104,14 +107,17 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
|
|
|
104
107
|
getCheckpointedBlockByArchive: z.function().args(schemas.Fr).returns(CheckpointedL2Block.schema.optional()),
|
|
105
108
|
getBlockHeaderByHash: z.function().args(BlockHash.schema).returns(BlockHeader.schema.optional()),
|
|
106
109
|
getBlockHeaderByArchive: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
|
|
110
|
+
getBlockData: z.function().args(BlockNumberSchema).returns(BlockDataSchema.optional()),
|
|
111
|
+
getBlockDataByArchive: z.function().args(schemas.Fr).returns(BlockDataSchema.optional()),
|
|
107
112
|
getL2Block: z.function().args(BlockNumberSchema).returns(L2Block.schema.optional()),
|
|
108
113
|
getL2BlockByHash: z.function().args(BlockHash.schema).returns(L2Block.schema.optional()),
|
|
109
114
|
getL2BlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
|
|
110
115
|
getTxEffect: z.function().args(TxHash.schema).returns(indexedTxSchema().optional()),
|
|
111
116
|
getSettledTxReceipt: z.function().args(TxHash.schema).returns(TxReceipt.schema.optional()),
|
|
112
|
-
|
|
113
|
-
|
|
117
|
+
getSyncedL2SlotNumber: z.function().args().returns(schemas.SlotNumber.optional()),
|
|
118
|
+
getSyncedL2EpochNumber: z.function().args().returns(EpochNumberSchema.optional()),
|
|
114
119
|
getCheckpointsForEpoch: z.function().args(EpochNumberSchema).returns(z.array(Checkpoint.schema)),
|
|
120
|
+
getCheckpointsDataForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointDataSchema)),
|
|
115
121
|
getCheckpointedBlocksForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointedL2Block.schema)),
|
|
116
122
|
getBlocksForSlot: z.function().args(schemas.SlotNumber).returns(z.array(L2Block.schema)),
|
|
117
123
|
getCheckpointedBlockHeadersForEpoch: z.function().args(EpochNumberSchema).returns(z.array(BlockHeader.schema)),
|
|
@@ -144,6 +150,8 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
|
|
|
144
150
|
.args()
|
|
145
151
|
.returns(z.object({ genesisArchiveRoot: schemas.Fr })),
|
|
146
152
|
getL1Timestamp: z.function().args().returns(schemas.BigInt.optional()),
|
|
153
|
+
getProposedCheckpoint: z.function().args().returns(ProposedCheckpointDataSchema.optional()),
|
|
154
|
+
getProposedCheckpointOnly: z.function().args().returns(ProposedCheckpointDataSchema.optional()),
|
|
147
155
|
syncImmediate: z.function().args().returns(z.void()),
|
|
148
156
|
isPendingChainInvalid: z.function().args().returns(z.boolean()),
|
|
149
157
|
getPendingChainValidationStatus: z.function().args().returns(ValidateCheckpointResultSchema),
|
|
@@ -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
|
}
|
|
@@ -4,7 +4,9 @@ import {
|
|
|
4
4
|
BlockNumber,
|
|
5
5
|
BlockNumberPositiveSchema,
|
|
6
6
|
BlockNumberSchema,
|
|
7
|
+
CheckpointNumber,
|
|
7
8
|
CheckpointNumberPositiveSchema,
|
|
9
|
+
CheckpointNumberSchema,
|
|
8
10
|
EpochNumber,
|
|
9
11
|
EpochNumberSchema,
|
|
10
12
|
type SlotNumber,
|
|
@@ -23,6 +25,7 @@ import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
|
|
|
23
25
|
import { type DataInBlock, dataInBlockSchemaFor } from '../block/in_block.js';
|
|
24
26
|
import { L2Block } from '../block/l2_block.js';
|
|
25
27
|
import { type L2BlockSource, type L2Tips, L2TipsSchema } from '../block/l2_block_source.js';
|
|
28
|
+
import { CheckpointDataSchema } from '../checkpoint/checkpoint_data.js';
|
|
26
29
|
import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
27
30
|
import {
|
|
28
31
|
type ContractClassPublic,
|
|
@@ -72,7 +75,12 @@ import { type WorldStateSyncStatus, WorldStateSyncStatusSchema } from './world_s
|
|
|
72
75
|
export interface AztecNode
|
|
73
76
|
extends Pick<
|
|
74
77
|
L2BlockSource,
|
|
75
|
-
|
|
78
|
+
| 'getBlocks'
|
|
79
|
+
| 'getCheckpoints'
|
|
80
|
+
| 'getBlockHeader'
|
|
81
|
+
| 'getL2Tips'
|
|
82
|
+
| 'getCheckpointedBlocks'
|
|
83
|
+
| 'getCheckpointsDataForEpoch'
|
|
76
84
|
> {
|
|
77
85
|
/**
|
|
78
86
|
* Returns the tips of the L2 chain.
|
|
@@ -87,89 +95,100 @@ export interface AztecNode
|
|
|
87
95
|
/**
|
|
88
96
|
* Find the indexes of the given leaves in the given tree along with a block metadata pointing to the block in which
|
|
89
97
|
* the leaves were inserted.
|
|
90
|
-
* @param
|
|
98
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
91
99
|
* @param treeId - The tree to search in.
|
|
92
100
|
* @param leafValues - The values to search for.
|
|
93
101
|
* @returns The indices of leaves and the block metadata of a block in which the leaves were inserted.
|
|
94
102
|
*/
|
|
95
103
|
findLeavesIndexes(
|
|
96
|
-
|
|
104
|
+
referenceBlock: BlockParameter,
|
|
97
105
|
treeId: MerkleTreeId,
|
|
98
106
|
leafValues: Fr[],
|
|
99
107
|
): Promise<(DataInBlock<bigint> | undefined)[]>;
|
|
100
108
|
|
|
101
109
|
/**
|
|
102
110
|
* Returns a nullifier membership witness for a given nullifier at a given block.
|
|
103
|
-
* @param
|
|
111
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
104
112
|
* @param nullifier - Nullifier we try to find witness for.
|
|
105
113
|
* @returns The nullifier membership witness (if found).
|
|
106
114
|
*/
|
|
107
|
-
getNullifierMembershipWitness(
|
|
115
|
+
getNullifierMembershipWitness(
|
|
116
|
+
referenceBlock: BlockParameter,
|
|
117
|
+
nullifier: Fr,
|
|
118
|
+
): Promise<NullifierMembershipWitness | undefined>;
|
|
108
119
|
|
|
109
120
|
/**
|
|
110
121
|
* Returns a low nullifier membership witness for a given nullifier at a given block.
|
|
111
|
-
* @param
|
|
122
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
112
123
|
* @param nullifier - Nullifier we try to find the low nullifier witness for.
|
|
113
124
|
* @returns The low nullifier membership witness (if found).
|
|
125
|
+
* @throws If the nullifier already exists in the tree, since non-inclusion cannot be proven.
|
|
114
126
|
* @remarks Low nullifier witness can be used to perform a nullifier non-inclusion proof by leveraging the "linked
|
|
115
127
|
* list structure" of leaves and proving that a lower nullifier is pointing to a bigger next value than the nullifier
|
|
116
128
|
* we are trying to prove non-inclusion for.
|
|
117
129
|
*/
|
|
118
130
|
getLowNullifierMembershipWitness(
|
|
119
|
-
|
|
131
|
+
referenceBlock: BlockParameter,
|
|
120
132
|
nullifier: Fr,
|
|
121
133
|
): Promise<NullifierMembershipWitness | undefined>;
|
|
122
134
|
|
|
123
135
|
/**
|
|
124
136
|
* Returns a public data tree witness for a given leaf slot at a given block.
|
|
125
|
-
* @param
|
|
137
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
126
138
|
* @param leafSlot - The leaf slot we try to find the witness for.
|
|
127
139
|
* @returns The public data witness (if found).
|
|
128
140
|
* @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
|
|
129
141
|
* "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
|
|
130
142
|
* is contained in the leaf preimage.
|
|
131
143
|
*/
|
|
132
|
-
getPublicDataWitness(
|
|
144
|
+
getPublicDataWitness(referenceBlock: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
|
|
133
145
|
|
|
134
146
|
/**
|
|
135
|
-
* Returns a membership witness for a given
|
|
136
|
-
*
|
|
137
|
-
*
|
|
147
|
+
* Returns a membership witness for a given block hash in the archive tree.
|
|
148
|
+
*
|
|
149
|
+
* Block hashes are the leaves of the archive tree. Each time a new block is added to the chain,
|
|
150
|
+
* its block hash is appended as a new leaf to the archive tree. This method finds the membership
|
|
151
|
+
* witness (leaf index and sibling path) for a given block hash, which can be used to prove that
|
|
152
|
+
* a specific block exists in the chain's history.
|
|
153
|
+
*
|
|
154
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data
|
|
155
|
+
* (which contains the root of the archive tree in which we are searching for the block hash).
|
|
156
|
+
* @param blockHash - The block hash to find in the archive tree.
|
|
138
157
|
*/
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
158
|
+
getBlockHashMembershipWitness(
|
|
159
|
+
referenceBlock: BlockParameter,
|
|
160
|
+
blockHash: BlockHash,
|
|
142
161
|
): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
|
|
143
162
|
|
|
144
163
|
/**
|
|
145
164
|
* Returns a membership witness for a given note hash at a given block.
|
|
146
|
-
* @param
|
|
165
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
147
166
|
* @param noteHash - The note hash we try to find the witness for.
|
|
148
167
|
*/
|
|
149
168
|
getNoteHashMembershipWitness(
|
|
150
|
-
|
|
169
|
+
referenceBlock: BlockParameter,
|
|
151
170
|
noteHash: Fr,
|
|
152
171
|
): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
|
|
153
172
|
|
|
154
173
|
/**
|
|
155
174
|
* Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
|
|
156
|
-
* @param
|
|
175
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
157
176
|
* @param l1ToL2Message - The l1ToL2Message to get the index / sibling path for.
|
|
158
177
|
* @returns A tuple of the index and the sibling path of the L1ToL2Message (undefined if not found).
|
|
159
178
|
*/
|
|
160
179
|
getL1ToL2MessageMembershipWitness(
|
|
161
|
-
|
|
180
|
+
referenceBlock: BlockParameter,
|
|
162
181
|
l1ToL2Message: Fr,
|
|
163
182
|
): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>] | undefined>;
|
|
164
183
|
|
|
165
|
-
/** Returns the L2
|
|
166
|
-
|
|
184
|
+
/** Returns the L2 checkpoint number in which this L1 to L2 message becomes available, or undefined if not found. */
|
|
185
|
+
getL1ToL2MessageCheckpoint(l1ToL2Message: Fr): Promise<CheckpointNumber | undefined>;
|
|
167
186
|
|
|
168
187
|
/**
|
|
169
188
|
* Returns whether an L1 to L2 message is synced by archiver.
|
|
170
189
|
* @param l1ToL2Message - The L1 to L2 message to check.
|
|
171
190
|
* @returns Whether the message is synced.
|
|
172
|
-
* @deprecated Use `
|
|
191
|
+
* @deprecated Use `getL1ToL2MessageCheckpoint` instead. This method may return true even if the message is not ready to use.
|
|
173
192
|
*/
|
|
174
193
|
isL1ToL2MessageSynced(l1ToL2Message: Fr): Promise<boolean>;
|
|
175
194
|
|
|
@@ -183,10 +202,10 @@ export interface AztecNode
|
|
|
183
202
|
|
|
184
203
|
/**
|
|
185
204
|
* Get a block specified by its block number or 'latest'.
|
|
186
|
-
* @param
|
|
205
|
+
* @param blockParameter - The block parameter (block number, block hash, or 'latest').
|
|
187
206
|
* @returns The requested block.
|
|
188
207
|
*/
|
|
189
|
-
getBlock(
|
|
208
|
+
getBlock(blockParameter: BlockParameter): Promise<L2Block | undefined>;
|
|
190
209
|
|
|
191
210
|
/**
|
|
192
211
|
* Get a block specified by its hash.
|
|
@@ -220,6 +239,12 @@ export interface AztecNode
|
|
|
220
239
|
*/
|
|
221
240
|
getCheckpointedBlockNumber(): Promise<BlockNumber>;
|
|
222
241
|
|
|
242
|
+
/**
|
|
243
|
+
* Method to fetch the latest checkpoint number synchronized by the node.
|
|
244
|
+
* @returns The checkpoint number.
|
|
245
|
+
*/
|
|
246
|
+
getCheckpointNumber(): Promise<CheckpointNumber>;
|
|
247
|
+
|
|
223
248
|
/**
|
|
224
249
|
* Method to determine if the node is ready to accept transactions.
|
|
225
250
|
* @returns - Flag indicating the readiness for tx submission.
|
|
@@ -392,12 +417,12 @@ export interface AztecNode
|
|
|
392
417
|
* @remarks The storage slot here refers to the slot as it is defined in Noir not the index in the merkle tree.
|
|
393
418
|
* Aztec's version of `eth_getStorageAt`.
|
|
394
419
|
*
|
|
395
|
-
* @param
|
|
420
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
396
421
|
* @param contract - Address of the contract to query.
|
|
397
422
|
* @param slot - Slot to query.
|
|
398
423
|
* @returns Storage value at the given contract slot.
|
|
399
424
|
*/
|
|
400
|
-
getPublicStorageAt(
|
|
425
|
+
getPublicStorageAt(referenceBlock: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
|
|
401
426
|
|
|
402
427
|
/**
|
|
403
428
|
* Returns the block header for a given block number, block hash, or 'latest'.
|
|
@@ -433,7 +458,7 @@ export interface AztecNode
|
|
|
433
458
|
/**
|
|
434
459
|
* Returns true if the transaction is valid for inclusion at the current state. Valid transactions can be
|
|
435
460
|
* made invalid by *other* transactions if e.g. they emit the same nullifiers, or come become invalid
|
|
436
|
-
* due to e.g. the
|
|
461
|
+
* due to e.g. the expiration_timestamp property.
|
|
437
462
|
* @param tx - The transaction to validate for correctness.
|
|
438
463
|
* @param isSimulation - True if the transaction is a simulated one without generated proofs. (Optional)
|
|
439
464
|
* @param skipFeeEnforcement - True if the validation of the fee should be skipped. Useful when the simulation is for estimating fee (Optional)
|
|
@@ -492,9 +517,9 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
492
517
|
.args(BlockParameterSchema, schemas.Fr)
|
|
493
518
|
.returns(PublicDataWitness.schema.optional()),
|
|
494
519
|
|
|
495
|
-
|
|
520
|
+
getBlockHashMembershipWitness: z
|
|
496
521
|
.function()
|
|
497
|
-
.args(BlockParameterSchema,
|
|
522
|
+
.args(BlockParameterSchema, BlockHash.schema)
|
|
498
523
|
.returns(MembershipWitness.schemaFor(ARCHIVE_HEIGHT).optional()),
|
|
499
524
|
|
|
500
525
|
getNoteHashMembershipWitness: z
|
|
@@ -507,7 +532,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
507
532
|
.args(BlockParameterSchema, schemas.Fr)
|
|
508
533
|
.returns(z.tuple([schemas.BigInt, SiblingPath.schemaFor(L1_TO_L2_MSG_TREE_HEIGHT)]).optional()),
|
|
509
534
|
|
|
510
|
-
|
|
535
|
+
getL1ToL2MessageCheckpoint: z.function().args(schemas.Fr).returns(CheckpointNumberSchema.optional()),
|
|
511
536
|
|
|
512
537
|
isL1ToL2MessageSynced: z.function().args(schemas.Fr).returns(z.boolean()),
|
|
513
538
|
|
|
@@ -524,6 +549,8 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
524
549
|
|
|
525
550
|
getBlockNumber: z.function().returns(BlockNumberSchema),
|
|
526
551
|
|
|
552
|
+
getCheckpointNumber: z.function().returns(CheckpointNumberSchema),
|
|
553
|
+
|
|
527
554
|
getProvenBlockNumber: z.function().returns(BlockNumberSchema),
|
|
528
555
|
|
|
529
556
|
getCheckpointedBlockNumber: z.function().returns(BlockNumberSchema),
|
|
@@ -547,6 +574,8 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
547
574
|
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
548
575
|
.returns(z.array(CheckpointedL2Block.schema)),
|
|
549
576
|
|
|
577
|
+
getCheckpointsDataForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointDataSchema)),
|
|
578
|
+
|
|
550
579
|
getCurrentMinFees: z.function().returns(GasFees.schema),
|
|
551
580
|
|
|
552
581
|
getMaxPriorityFees: z.function().returns(GasFees.schema),
|