@aztec/stdlib 0.0.1-commit.d1f2d6c → 0.0.1-commit.d20b825a7
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/authorization_selector.d.ts +3 -6
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- 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 +64 -7
- 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/event_selector.d.ts +3 -6
- package/dest/abi/event_selector.d.ts.map +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.d.ts +3 -6
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +2 -4
- 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/note_selector.d.ts +3 -6
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +1 -3
- package/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +1 -1
- 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 +9 -4
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +16 -21
- package/dest/aztec-address/index.d.ts +3 -6
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +2 -4
- 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 +20 -21
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +22 -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/in_block.d.ts +9 -9
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +5 -5
- 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 +11 -2
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +12 -2
- package/dest/block/l2_block_info.d.ts +6 -5
- package/dest/block/l2_block_info.d.ts.map +1 -1
- package/dest/block/l2_block_info.js +6 -5
- package/dest/block/l2_block_source.d.ts +117 -12
- 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/interfaces.d.ts +6 -3
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- 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 +18 -5
- 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 +4 -3
- 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/chain-config.d.ts +1 -1
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +7 -1
- 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 +31 -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.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +4 -6
- 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/epoch-helpers/index.d.ts +17 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +22 -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/fee_math.d.ts +49 -0
- package/dest/gas/fee_math.d.ts.map +1 -0
- package/dest/gas/fee_math.js +80 -0
- package/dest/gas/gas_fees.d.ts +5 -1
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +13 -1
- package/dest/gas/gas_settings.d.ts +40 -3
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +50 -6
- package/dest/gas/index.d.ts +2 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +1 -0
- 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 +98 -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 +90 -0
- package/dest/ha-signing/types.d.ts.map +1 -0
- package/dest/ha-signing/types.js +39 -0
- package/dest/hash/hash.d.ts +35 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +77 -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 +11 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +17 -6
- package/dest/interfaces/aztec-node-admin.d.ts +129 -48
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +15 -7
- package/dest/interfaces/aztec-node-debug.d.ts +21 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +18 -0
- package/dest/interfaces/aztec-node.d.ts +54 -60
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +13 -12
- package/dest/interfaces/block-builder.d.ts +44 -11
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +16 -2
- package/dest/interfaces/client.d.ts +2 -1
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +1 -0
- 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 +15 -8
- 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 +13 -22
- 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 -4
- package/dest/interfaces/proving-job.d.ts +36 -36
- package/dest/interfaces/slasher.d.ts +9 -10
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +2 -2
- package/dest/interfaces/validator.d.ts +162 -65
- 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/l1-contracts/index.d.ts +2 -2
- package/dest/l1-contracts/index.d.ts.map +1 -1
- package/dest/l1-contracts/index.js +1 -1
- 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 +13 -7
- 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 +17 -14
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +19 -17
- 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 +12 -9
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +16 -6
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +5 -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 +16 -11
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +6 -13
- package/dest/p2p/checkpoint_attestation.d.ts +5 -6
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +3 -8
- package/dest/p2p/checkpoint_proposal.d.ts +32 -20
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +32 -47
- 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/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- 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/parity/parity_base_private_inputs.d.ts +7 -3
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_base_private_inputs.js +7 -5
- package/dest/parity/parity_public_inputs.d.ts +7 -3
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.js +6 -3
- 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/block_headers_hash.d.ts +1 -1
- package/dest/rollup/block_headers_hash.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.js +8 -2
- 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/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +6 -0
- package/dest/slashing/index.d.ts +2 -3
- package/dest/slashing/index.d.ts.map +1 -1
- package/dest/slashing/index.js +1 -2
- package/dest/slashing/serialization.d.ts +2 -6
- package/dest/slashing/serialization.d.ts.map +1 -1
- package/dest/slashing/serialization.js +0 -60
- package/dest/slashing/types.d.ts +10 -92
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +13 -15
- package/dest/slashing/{tally.d.ts → votes.d.ts} +8 -2
- package/dest/slashing/votes.d.ts.map +1 -0
- package/dest/slashing/{tally.js → votes.js} +35 -3
- package/dest/stats/stats.d.ts +1 -3
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +5 -10
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +37 -56
- package/dest/tests/mocks.d.ts +12 -3
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +47 -41
- package/dest/timetable/index.d.ts +87 -0
- package/dest/timetable/index.d.ts.map +1 -0
- package/dest/timetable/index.js +229 -0
- package/dest/trees/nullifier_leaf.d.ts +2 -1
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +3 -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 +6 -3
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +7 -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/fee_provider.d.ts +10 -0
- package/dest/tx/fee_provider.d.ts.map +1 -0
- package/dest/tx/fee_provider.js +1 -0
- package/dest/tx/global_variable_builder.d.ts +3 -4
- 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/in_tx.d.ts +3 -3
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -0
- 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 +2 -2
- 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 +116 -5
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +7 -4
- package/dest/tx/tx.d.ts +8 -7
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +18 -6
- package/dest/tx/tx_receipt.d.ts +33 -10
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +25 -21
- 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/types/shared.d.ts +1 -10
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +0 -9
- 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/dest/vks/verification_key.d.ts +2 -137
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +5 -126
- package/dest/world-state/genesis_data.d.ts +11 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +4 -0
- package/dest/world-state/index.d.ts +2 -1
- package/dest/world-state/index.d.ts.map +1 -1
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +8 -1
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +7 -1
- package/package.json +26 -13
- package/src/abi/abi.ts +25 -2
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +25 -4
- package/src/abi/decoder.ts +36 -82
- package/src/abi/encoder.ts +85 -6
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/event_selector.ts +2 -8
- package/src/abi/function_call.ts +25 -3
- package/src/abi/function_selector.ts +4 -13
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- package/src/abi/note_selector.ts +3 -12
- package/src/abi/selector.ts +1 -1
- package/src/abi/utils.ts +25 -0
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/avm/revert_code.ts +26 -25
- package/src/aztec-address/index.ts +4 -10
- package/src/block/block_data.ts +25 -0
- package/src/block/block_hash.ts +32 -46
- package/src/block/block_parameter.ts +3 -3
- package/src/block/in_block.ts +6 -6
- package/src/block/index.ts +1 -0
- package/src/block/l2_block.ts +15 -2
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +51 -11
- package/src/block/l2_block_stream/interfaces.ts +6 -2
- package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
- package/src/block/l2_block_stream/l2_tips_store_base.ts +25 -13
- package/src/block/test/l2_tips_store_test_suite.ts +9 -2
- 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/chain-config.ts +7 -1
- package/src/config/index.ts +2 -0
- package/src/config/pipelining-config.ts +31 -0
- package/src/config/sequencer-config.ts +47 -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 +5 -3
- package/src/database-version/database_version.ts +87 -0
- package/src/database-version/version_manager.ts +1 -77
- package/src/epoch-helpers/index.ts +39 -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 +154 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas_fees.ts +20 -1
- package/src/gas/gas_settings.ts +65 -12
- package/src/gas/index.ts +1 -0
- package/src/ha-signing/config.ts +159 -0
- package/src/ha-signing/index.ts +29 -0
- package/src/ha-signing/local_config.ts +46 -0
- package/src/ha-signing/types.ts +126 -0
- package/src/hash/hash.ts +75 -10
- package/src/hash/map_slot.ts +3 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/archiver.ts +22 -5
- package/src/interfaces/aztec-node-admin.ts +31 -9
- package/src/interfaces/aztec-node-debug.ts +40 -0
- package/src/interfaces/aztec-node.ts +82 -99
- package/src/interfaces/block-builder.ts +68 -11
- package/src/interfaces/client.ts +1 -0
- package/src/interfaces/configs.ts +36 -8
- package/src/interfaces/l2_logs_source.ts +4 -1
- package/src/interfaces/merkle_tree_operations.ts +12 -21
- package/src/interfaces/p2p.ts +3 -14
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +17 -5
- package/src/interfaces/slasher.ts +4 -6
- package/src/interfaces/validator.ts +71 -37
- 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/l1-contracts/index.ts +1 -1
- 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 +21 -18
- 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 +23 -13
- package/src/logs/tag.ts +9 -9
- 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 +23 -14
- package/src/p2p/checkpoint_attestation.ts +11 -10
- package/src/p2p/checkpoint_proposal.ts +72 -62
- 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/gossipable.ts +4 -4
- 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/parity/parity_base_private_inputs.ts +10 -4
- package/src/parity/parity_public_inputs.ts +9 -2
- package/src/proofs/chonk_proof.ts +91 -5
- package/src/rollup/block_headers_hash.ts +11 -2
- 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/helpers.ts +8 -0
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +17 -35
- package/src/slashing/{tally.ts → votes.ts} +41 -2
- package/src/stats/stats.ts +0 -2
- package/src/tests/factories.ts +42 -68
- package/src/tests/mocks.ts +65 -33
- package/src/timetable/index.ts +346 -0
- package/src/trees/nullifier_leaf.ts +4 -0
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/tx/block_header.ts +14 -5
- package/src/tx/capsule.ts +10 -2
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/global_variable_builder.ts +2 -3
- package/src/tx/global_variables.ts +3 -3
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +2 -2
- 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 +14 -3
- package/src/tx/tx.ts +22 -13
- package/src/tx/tx_receipt.ts +32 -20
- 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/types/shared.ts +0 -10
- 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/src/vks/verification_key.ts +5 -184
- package/src/world-state/genesis_data.ts +15 -0
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +9 -1
- package/dest/abi/mocked_keys.d.ts +0 -2
- package/dest/abi/mocked_keys.d.ts.map +0 -1
- package/dest/abi/mocked_keys.js +0 -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/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/l1-contracts/slash_factory.d.ts +0 -45
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -157
- 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/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -85
- package/dest/slashing/tally.d.ts.map +0 -1
- 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/abi/mocked_keys.ts +0 -2
- package/src/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/database-version/index.ts +0 -1
- package/src/l1-contracts/slash_factory.ts +0 -179
- package/src/note/notes_filter.ts +0 -38
- package/src/slashing/empire.ts +0 -102
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -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,12 +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';
|
|
26
|
-
import {
|
|
22
|
+
import { BlockHash } from '../block/block_hash.js';
|
|
27
23
|
import { type BlockParameter, BlockParameterSchema } from '../block/block_parameter.js';
|
|
28
24
|
import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
|
|
29
25
|
import { type DataInBlock, dataInBlockSchemaFor } from '../block/in_block.js';
|
|
30
26
|
import { L2Block } from '../block/l2_block.js';
|
|
31
27
|
import { type L2BlockSource, type L2Tips, L2TipsSchema } from '../block/l2_block_source.js';
|
|
28
|
+
import { CheckpointDataSchema } from '../checkpoint/checkpoint_data.js';
|
|
32
29
|
import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
33
30
|
import {
|
|
34
31
|
type ContractClassPublic,
|
|
@@ -40,6 +37,7 @@ import {
|
|
|
40
37
|
type ProtocolContractAddresses,
|
|
41
38
|
ProtocolContractAddressesSchema,
|
|
42
39
|
} from '../contract/index.js';
|
|
40
|
+
import { ManaUsageEstimate } from '../gas/fee_math.js';
|
|
43
41
|
import { GasFees } from '../gas/gas_fees.js';
|
|
44
42
|
import { SiloedTag, Tag, TxScopedL2Log } from '../logs/index.js';
|
|
45
43
|
import { type LogFilter, LogFilterSchema } from '../logs/log_filter.js';
|
|
@@ -78,7 +76,12 @@ import { type WorldStateSyncStatus, WorldStateSyncStatusSchema } from './world_s
|
|
|
78
76
|
export interface AztecNode
|
|
79
77
|
extends Pick<
|
|
80
78
|
L2BlockSource,
|
|
81
|
-
|
|
79
|
+
| 'getBlocks'
|
|
80
|
+
| 'getCheckpoints'
|
|
81
|
+
| 'getBlockHeader'
|
|
82
|
+
| 'getL2Tips'
|
|
83
|
+
| 'getCheckpointedBlocks'
|
|
84
|
+
| 'getCheckpointsDataForEpoch'
|
|
82
85
|
> {
|
|
83
86
|
/**
|
|
84
87
|
* Returns the tips of the L2 chain.
|
|
@@ -93,124 +96,100 @@ export interface AztecNode
|
|
|
93
96
|
/**
|
|
94
97
|
* Find the indexes of the given leaves in the given tree along with a block metadata pointing to the block in which
|
|
95
98
|
* the leaves were inserted.
|
|
96
|
-
* @param
|
|
99
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
97
100
|
* @param treeId - The tree to search in.
|
|
98
101
|
* @param leafValues - The values to search for.
|
|
99
102
|
* @returns The indices of leaves and the block metadata of a block in which the leaves were inserted.
|
|
100
103
|
*/
|
|
101
104
|
findLeavesIndexes(
|
|
102
|
-
|
|
105
|
+
referenceBlock: BlockParameter,
|
|
103
106
|
treeId: MerkleTreeId,
|
|
104
107
|
leafValues: Fr[],
|
|
105
108
|
): Promise<(DataInBlock<bigint> | undefined)[]>;
|
|
106
109
|
|
|
107
|
-
/**
|
|
108
|
-
* Returns a sibling path for the given index in the nullifier tree.
|
|
109
|
-
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
110
|
-
* @param leafIndex - The index of the leaf for which the sibling path is required.
|
|
111
|
-
* @returns The sibling path for the leaf index.
|
|
112
|
-
*/
|
|
113
|
-
getNullifierSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NULLIFIER_TREE_HEIGHT>>;
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Returns a sibling path for the given index in the note hash tree.
|
|
117
|
-
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
118
|
-
* @param leafIndex - The index of the leaf for which the sibling path is required.
|
|
119
|
-
* @returns The sibling path for the leaf index.
|
|
120
|
-
*/
|
|
121
|
-
getNoteHashSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NOTE_HASH_TREE_HEIGHT>>;
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Returns a sibling path for a leaf in the committed historic blocks tree.
|
|
125
|
-
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
126
|
-
* @param leafIndex - Index of the leaf in the tree.
|
|
127
|
-
* @returns The sibling path.
|
|
128
|
-
*/
|
|
129
|
-
getArchiveSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof ARCHIVE_HEIGHT>>;
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Returns a sibling path for a leaf in the committed public data tree.
|
|
133
|
-
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
134
|
-
* @param leafIndex - Index of the leaf in the tree.
|
|
135
|
-
* @returns The sibling path.
|
|
136
|
-
*/
|
|
137
|
-
getPublicDataSiblingPath(
|
|
138
|
-
block: BlockParameter,
|
|
139
|
-
leafIndex: bigint,
|
|
140
|
-
): Promise<SiblingPath<typeof PUBLIC_DATA_TREE_HEIGHT>>;
|
|
141
|
-
|
|
142
110
|
/**
|
|
143
111
|
* Returns a nullifier membership witness for a given nullifier at a given block.
|
|
144
|
-
* @param
|
|
112
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
145
113
|
* @param nullifier - Nullifier we try to find witness for.
|
|
146
114
|
* @returns The nullifier membership witness (if found).
|
|
147
115
|
*/
|
|
148
|
-
getNullifierMembershipWitness(
|
|
116
|
+
getNullifierMembershipWitness(
|
|
117
|
+
referenceBlock: BlockParameter,
|
|
118
|
+
nullifier: Fr,
|
|
119
|
+
): Promise<NullifierMembershipWitness | undefined>;
|
|
149
120
|
|
|
150
121
|
/**
|
|
151
122
|
* Returns a low nullifier membership witness for a given nullifier at a given block.
|
|
152
|
-
* @param
|
|
123
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
153
124
|
* @param nullifier - Nullifier we try to find the low nullifier witness for.
|
|
154
125
|
* @returns The low nullifier membership witness (if found).
|
|
126
|
+
* @throws If the nullifier already exists in the tree, since non-inclusion cannot be proven.
|
|
155
127
|
* @remarks Low nullifier witness can be used to perform a nullifier non-inclusion proof by leveraging the "linked
|
|
156
128
|
* list structure" of leaves and proving that a lower nullifier is pointing to a bigger next value than the nullifier
|
|
157
129
|
* we are trying to prove non-inclusion for.
|
|
158
130
|
*/
|
|
159
131
|
getLowNullifierMembershipWitness(
|
|
160
|
-
|
|
132
|
+
referenceBlock: BlockParameter,
|
|
161
133
|
nullifier: Fr,
|
|
162
134
|
): Promise<NullifierMembershipWitness | undefined>;
|
|
163
135
|
|
|
164
136
|
/**
|
|
165
137
|
* Returns a public data tree witness for a given leaf slot at a given block.
|
|
166
|
-
* @param
|
|
138
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
167
139
|
* @param leafSlot - The leaf slot we try to find the witness for.
|
|
168
140
|
* @returns The public data witness (if found).
|
|
169
141
|
* @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
|
|
170
142
|
* "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
|
|
171
143
|
* is contained in the leaf preimage.
|
|
172
144
|
*/
|
|
173
|
-
getPublicDataWitness(
|
|
145
|
+
getPublicDataWitness(referenceBlock: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
|
|
174
146
|
|
|
175
147
|
/**
|
|
176
|
-
* Returns a membership witness for a given
|
|
177
|
-
*
|
|
178
|
-
*
|
|
148
|
+
* Returns a membership witness for a given block hash in the archive tree.
|
|
149
|
+
*
|
|
150
|
+
* Block hashes are the leaves of the archive tree. Each time a new block is added to the chain,
|
|
151
|
+
* its block hash is appended as a new leaf to the archive tree. This method finds the membership
|
|
152
|
+
* witness (leaf index and sibling path) for a given block hash, which can be used to prove that
|
|
153
|
+
* a specific block exists in the chain's history.
|
|
154
|
+
*
|
|
155
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data
|
|
156
|
+
* (which contains the root of the archive tree in which we are searching for the block hash).
|
|
157
|
+
* @param blockHash - The block hash to find in the archive tree.
|
|
179
158
|
*/
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
159
|
+
getBlockHashMembershipWitness(
|
|
160
|
+
referenceBlock: BlockParameter,
|
|
161
|
+
blockHash: BlockHash,
|
|
183
162
|
): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
|
|
184
163
|
|
|
185
164
|
/**
|
|
186
165
|
* Returns a membership witness for a given note hash at a given block.
|
|
187
|
-
* @param
|
|
166
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
188
167
|
* @param noteHash - The note hash we try to find the witness for.
|
|
189
168
|
*/
|
|
190
169
|
getNoteHashMembershipWitness(
|
|
191
|
-
|
|
170
|
+
referenceBlock: BlockParameter,
|
|
192
171
|
noteHash: Fr,
|
|
193
172
|
): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
|
|
194
173
|
|
|
195
174
|
/**
|
|
196
175
|
* Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
|
|
197
|
-
* @param
|
|
176
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
198
177
|
* @param l1ToL2Message - The l1ToL2Message to get the index / sibling path for.
|
|
199
178
|
* @returns A tuple of the index and the sibling path of the L1ToL2Message (undefined if not found).
|
|
200
179
|
*/
|
|
201
180
|
getL1ToL2MessageMembershipWitness(
|
|
202
|
-
|
|
181
|
+
referenceBlock: BlockParameter,
|
|
203
182
|
l1ToL2Message: Fr,
|
|
204
183
|
): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>] | undefined>;
|
|
205
184
|
|
|
206
|
-
/** Returns the L2
|
|
207
|
-
|
|
185
|
+
/** Returns the L2 checkpoint number in which this L1 to L2 message becomes available, or undefined if not found. */
|
|
186
|
+
getL1ToL2MessageCheckpoint(l1ToL2Message: Fr): Promise<CheckpointNumber | undefined>;
|
|
208
187
|
|
|
209
188
|
/**
|
|
210
189
|
* Returns whether an L1 to L2 message is synced by archiver.
|
|
211
190
|
* @param l1ToL2Message - The L1 to L2 message to check.
|
|
212
191
|
* @returns Whether the message is synced.
|
|
213
|
-
* @deprecated Use `
|
|
192
|
+
* @deprecated Use `getL1ToL2MessageCheckpoint` instead. This method may return true even if the message is not ready to use.
|
|
214
193
|
*/
|
|
215
194
|
isL1ToL2MessageSynced(l1ToL2Message: Fr): Promise<boolean>;
|
|
216
195
|
|
|
@@ -224,17 +203,17 @@ export interface AztecNode
|
|
|
224
203
|
|
|
225
204
|
/**
|
|
226
205
|
* Get a block specified by its block number or 'latest'.
|
|
227
|
-
* @param
|
|
206
|
+
* @param blockParameter - The block parameter (block number, block hash, or 'latest').
|
|
228
207
|
* @returns The requested block.
|
|
229
208
|
*/
|
|
230
|
-
getBlock(
|
|
209
|
+
getBlock(blockParameter: BlockParameter): Promise<L2Block | undefined>;
|
|
231
210
|
|
|
232
211
|
/**
|
|
233
212
|
* Get a block specified by its hash.
|
|
234
213
|
* @param blockHash - The block hash being requested.
|
|
235
214
|
* @returns The requested block.
|
|
236
215
|
*/
|
|
237
|
-
getBlockByHash(blockHash:
|
|
216
|
+
getBlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
|
|
238
217
|
|
|
239
218
|
/**
|
|
240
219
|
* Get a block specified by its archive root.
|
|
@@ -261,6 +240,12 @@ export interface AztecNode
|
|
|
261
240
|
*/
|
|
262
241
|
getCheckpointedBlockNumber(): Promise<BlockNumber>;
|
|
263
242
|
|
|
243
|
+
/**
|
|
244
|
+
* Method to fetch the latest checkpoint number synchronized by the node.
|
|
245
|
+
* @returns The checkpoint number.
|
|
246
|
+
*/
|
|
247
|
+
getCheckpointNumber(): Promise<CheckpointNumber>;
|
|
248
|
+
|
|
264
249
|
/**
|
|
265
250
|
* Method to determine if the node is ready to accept transactions.
|
|
266
251
|
* @returns - Flag indicating the readiness for tx submission.
|
|
@@ -288,6 +273,15 @@ export interface AztecNode
|
|
|
288
273
|
*/
|
|
289
274
|
getCurrentMinFees(): Promise<GasFees>;
|
|
290
275
|
|
|
276
|
+
/**
|
|
277
|
+
* Returns predicted min fees for the current slot and next N slots.
|
|
278
|
+
* Each entry accounts for the L1 gas oracle transition and congestion growth based on the
|
|
279
|
+
* given mana usage estimate. Defaults to target usage (steady state).
|
|
280
|
+
* @param manaUsage - Expected mana usage per checkpoint (none, target, or limit).
|
|
281
|
+
* @returns An array of GasFees, one per slot in the prediction window.
|
|
282
|
+
*/
|
|
283
|
+
getPredictedMinFees(manaUsage?: ManaUsageEstimate): Promise<GasFees[]>;
|
|
284
|
+
|
|
291
285
|
/**
|
|
292
286
|
* Method to fetch the current max priority fee of txs in the mempool.
|
|
293
287
|
* @returns The current max priority fees.
|
|
@@ -355,7 +349,7 @@ export interface AztecNode
|
|
|
355
349
|
* @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
|
|
356
350
|
* for a tag, the caller should fetch the next page to check for more logs.
|
|
357
351
|
*/
|
|
358
|
-
getPrivateLogsByTags(tags: SiloedTag[], page?: number, referenceBlock?:
|
|
352
|
+
getPrivateLogsByTags(tags: SiloedTag[], page?: number, referenceBlock?: BlockHash): Promise<TxScopedL2Log[][]>;
|
|
359
353
|
|
|
360
354
|
/**
|
|
361
355
|
* Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
|
|
@@ -374,7 +368,7 @@ export interface AztecNode
|
|
|
374
368
|
contractAddress: AztecAddress,
|
|
375
369
|
tags: Tag[],
|
|
376
370
|
page?: number,
|
|
377
|
-
referenceBlock?:
|
|
371
|
+
referenceBlock?: BlockHash,
|
|
378
372
|
): Promise<TxScopedL2Log[][]>;
|
|
379
373
|
|
|
380
374
|
/**
|
|
@@ -433,12 +427,12 @@ export interface AztecNode
|
|
|
433
427
|
* @remarks The storage slot here refers to the slot as it is defined in Noir not the index in the merkle tree.
|
|
434
428
|
* Aztec's version of `eth_getStorageAt`.
|
|
435
429
|
*
|
|
436
|
-
* @param
|
|
430
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
437
431
|
* @param contract - Address of the contract to query.
|
|
438
432
|
* @param slot - Slot to query.
|
|
439
433
|
* @returns Storage value at the given contract slot.
|
|
440
434
|
*/
|
|
441
|
-
getPublicStorageAt(
|
|
435
|
+
getPublicStorageAt(referenceBlock: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
|
|
442
436
|
|
|
443
437
|
/**
|
|
444
438
|
* Returns the block header for a given block number, block hash, or 'latest'.
|
|
@@ -474,7 +468,7 @@ export interface AztecNode
|
|
|
474
468
|
/**
|
|
475
469
|
* Returns true if the transaction is valid for inclusion at the current state. Valid transactions can be
|
|
476
470
|
* made invalid by *other* transactions if e.g. they emit the same nullifiers, or come become invalid
|
|
477
|
-
* due to e.g. the
|
|
471
|
+
* due to e.g. the expiration_timestamp property.
|
|
478
472
|
* @param tx - The transaction to validate for correctness.
|
|
479
473
|
* @param isSimulation - True if the transaction is a simulated one without generated proofs. (Optional)
|
|
480
474
|
* @param skipFeeEnforcement - True if the validation of the fee should be skipped. Useful when the simulation is for estimating fee (Optional)
|
|
@@ -518,26 +512,6 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
518
512
|
.args(BlockParameterSchema, z.nativeEnum(MerkleTreeId), z.array(schemas.Fr).max(MAX_RPC_LEN))
|
|
519
513
|
.returns(z.array(optional(dataInBlockSchemaFor(schemas.BigInt)))),
|
|
520
514
|
|
|
521
|
-
getNullifierSiblingPath: z
|
|
522
|
-
.function()
|
|
523
|
-
.args(BlockParameterSchema, schemas.BigInt)
|
|
524
|
-
.returns(SiblingPath.schemaFor(NULLIFIER_TREE_HEIGHT)),
|
|
525
|
-
|
|
526
|
-
getNoteHashSiblingPath: z
|
|
527
|
-
.function()
|
|
528
|
-
.args(BlockParameterSchema, schemas.BigInt)
|
|
529
|
-
.returns(SiblingPath.schemaFor(NOTE_HASH_TREE_HEIGHT)),
|
|
530
|
-
|
|
531
|
-
getArchiveSiblingPath: z
|
|
532
|
-
.function()
|
|
533
|
-
.args(BlockParameterSchema, schemas.BigInt)
|
|
534
|
-
.returns(SiblingPath.schemaFor(ARCHIVE_HEIGHT)),
|
|
535
|
-
|
|
536
|
-
getPublicDataSiblingPath: z
|
|
537
|
-
.function()
|
|
538
|
-
.args(BlockParameterSchema, schemas.BigInt)
|
|
539
|
-
.returns(SiblingPath.schemaFor(PUBLIC_DATA_TREE_HEIGHT)),
|
|
540
|
-
|
|
541
515
|
getNullifierMembershipWitness: z
|
|
542
516
|
.function()
|
|
543
517
|
.args(BlockParameterSchema, schemas.Fr)
|
|
@@ -553,9 +527,9 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
553
527
|
.args(BlockParameterSchema, schemas.Fr)
|
|
554
528
|
.returns(PublicDataWitness.schema.optional()),
|
|
555
529
|
|
|
556
|
-
|
|
530
|
+
getBlockHashMembershipWitness: z
|
|
557
531
|
.function()
|
|
558
|
-
.args(BlockParameterSchema,
|
|
532
|
+
.args(BlockParameterSchema, BlockHash.schema)
|
|
559
533
|
.returns(MembershipWitness.schemaFor(ARCHIVE_HEIGHT).optional()),
|
|
560
534
|
|
|
561
535
|
getNoteHashMembershipWitness: z
|
|
@@ -568,7 +542,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
568
542
|
.args(BlockParameterSchema, schemas.Fr)
|
|
569
543
|
.returns(z.tuple([schemas.BigInt, SiblingPath.schemaFor(L1_TO_L2_MSG_TREE_HEIGHT)]).optional()),
|
|
570
544
|
|
|
571
|
-
|
|
545
|
+
getL1ToL2MessageCheckpoint: z.function().args(schemas.Fr).returns(CheckpointNumberSchema.optional()),
|
|
572
546
|
|
|
573
547
|
isL1ToL2MessageSynced: z.function().args(schemas.Fr).returns(z.boolean()),
|
|
574
548
|
|
|
@@ -579,12 +553,14 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
579
553
|
|
|
580
554
|
getBlock: z.function().args(BlockParameterSchema).returns(L2Block.schema.optional()),
|
|
581
555
|
|
|
582
|
-
getBlockByHash: z.function().args(
|
|
556
|
+
getBlockByHash: z.function().args(BlockHash.schema).returns(L2Block.schema.optional()),
|
|
583
557
|
|
|
584
558
|
getBlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
|
|
585
559
|
|
|
586
560
|
getBlockNumber: z.function().returns(BlockNumberSchema),
|
|
587
561
|
|
|
562
|
+
getCheckpointNumber: z.function().returns(CheckpointNumberSchema),
|
|
563
|
+
|
|
588
564
|
getProvenBlockNumber: z.function().returns(BlockNumberSchema),
|
|
589
565
|
|
|
590
566
|
getCheckpointedBlockNumber: z.function().returns(BlockNumberSchema),
|
|
@@ -608,8 +584,15 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
608
584
|
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
609
585
|
.returns(z.array(CheckpointedL2Block.schema)),
|
|
610
586
|
|
|
587
|
+
getCheckpointsDataForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointDataSchema)),
|
|
588
|
+
|
|
611
589
|
getCurrentMinFees: z.function().returns(GasFees.schema),
|
|
612
590
|
|
|
591
|
+
getPredictedMinFees: z
|
|
592
|
+
.function()
|
|
593
|
+
.args(optional(z.nativeEnum(ManaUsageEstimate)))
|
|
594
|
+
.returns(z.array(GasFees.schema)),
|
|
595
|
+
|
|
613
596
|
getMaxPriorityFees: z.function().returns(GasFees.schema),
|
|
614
597
|
|
|
615
598
|
getNodeVersion: z.function().returns(z.string()),
|
|
@@ -633,7 +616,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
633
616
|
|
|
634
617
|
getPrivateLogsByTags: z
|
|
635
618
|
.function()
|
|
636
|
-
.args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)), optional(
|
|
619
|
+
.args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)), optional(BlockHash.schema))
|
|
637
620
|
.returns(z.array(z.array(TxScopedL2Log.schema))),
|
|
638
621
|
|
|
639
622
|
getPublicLogsByTagsFromContract: z
|
|
@@ -642,7 +625,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
642
625
|
schemas.AztecAddress,
|
|
643
626
|
z.array(Tag.schema).max(MAX_RPC_LEN),
|
|
644
627
|
optional(z.number().gte(0)),
|
|
645
|
-
optional(
|
|
628
|
+
optional(BlockHash.schema),
|
|
646
629
|
)
|
|
647
630
|
.returns(z.array(z.array(TxScopedL2Log.schema))),
|
|
648
631
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import type { LoggerBindings } from '@aztec/foundation/log';
|
|
3
4
|
|
|
4
5
|
import type { L2Block } from '../block/l2_block.js';
|
|
5
6
|
import type { ChainConfig, SequencerConfig } from '../config/chain-config.js';
|
|
@@ -34,51 +35,105 @@ export interface IBlockFactory extends ProcessedTxHandler {
|
|
|
34
35
|
setBlockCompleted(expectedBlockHeader?: BlockHeader): Promise<L2Block>;
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
/** Limits passed to the public processor for tx processing within a block. */
|
|
39
|
+
export type PublicProcessorLimits = {
|
|
40
|
+
/** Maximum number of txs to process. */
|
|
38
41
|
maxTransactions?: number;
|
|
39
|
-
|
|
42
|
+
/** L2 and DA gas limits. */
|
|
40
43
|
maxBlockGas?: Gas;
|
|
44
|
+
/** Maximum number of blob fields allowed. */
|
|
41
45
|
maxBlobFields?: number;
|
|
46
|
+
/** Deadline for processing the txs. Processor will stop as soon as it hits this time. */
|
|
42
47
|
deadline?: Date;
|
|
43
|
-
|
|
48
|
+
/** Whether this processor is building a proposal (as opposed to re-executing one). Skipping txs due to gas or blob limits is only done during proposal building. */
|
|
49
|
+
isBuildingProposal?: boolean;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/** Base fields shared by both proposer and validator block builder options. */
|
|
53
|
+
type BlockBuilderOptionsBase = PublicProcessorLimits & {
|
|
54
|
+
/** Minimum number of successfully processed txs required. Block is rejected if fewer succeed. */
|
|
55
|
+
minValidTxs: number;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/** Proposer mode: redistribution params are required. */
|
|
59
|
+
type ProposerBlockBuilderOptions = BlockBuilderOptionsBase & {
|
|
60
|
+
isBuildingProposal: true;
|
|
61
|
+
/** Maximum number of blocks per checkpoint, derived from the timetable. */
|
|
62
|
+
maxBlocksPerCheckpoint: number;
|
|
63
|
+
/** Per-block gas budget multiplier. Budget = (remaining / remainingBlocks) * multiplier. */
|
|
64
|
+
perBlockAllocationMultiplier: number;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
/** Validator mode: no redistribution params needed. */
|
|
68
|
+
type ValidatorBlockBuilderOptions = BlockBuilderOptionsBase & {
|
|
69
|
+
isBuildingProposal: false;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/** Options for building a block within a checkpoint. When proposing, redistribution params are required. */
|
|
73
|
+
export type BlockBuilderOptions = ProposerBlockBuilderOptions | ValidatorBlockBuilderOptions;
|
|
44
74
|
|
|
45
75
|
export interface PublicProcessorValidator {
|
|
46
76
|
preprocessValidator?: TxValidator<Tx>;
|
|
47
77
|
nullifierCache?: { addNullifiers: (nullifiers: Buffer[]) => void };
|
|
48
78
|
}
|
|
49
79
|
|
|
50
|
-
export type FullNodeBlockBuilderConfig = Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'> &
|
|
80
|
+
export type FullNodeBlockBuilderConfig = Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'rollupManaLimit'> &
|
|
51
81
|
Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'> &
|
|
52
|
-
Pick<
|
|
82
|
+
Pick<
|
|
83
|
+
SequencerConfig,
|
|
84
|
+
| 'txPublicSetupAllowListExtend'
|
|
85
|
+
| 'fakeProcessingDelayPerTxMs'
|
|
86
|
+
| 'fakeThrowAfterProcessingTxCount'
|
|
87
|
+
| 'maxTxsPerBlock'
|
|
88
|
+
| 'maxTxsPerCheckpoint'
|
|
89
|
+
| 'maxL2BlockGas'
|
|
90
|
+
| 'maxDABlockGas'
|
|
91
|
+
>;
|
|
53
92
|
|
|
54
93
|
export const FullNodeBlockBuilderConfigKeys: (keyof FullNodeBlockBuilderConfig)[] = [
|
|
55
94
|
'l1GenesisTime',
|
|
56
95
|
'slotDuration',
|
|
57
96
|
'l1ChainId',
|
|
58
97
|
'rollupVersion',
|
|
59
|
-
'
|
|
98
|
+
'txPublicSetupAllowListExtend',
|
|
60
99
|
'fakeProcessingDelayPerTxMs',
|
|
61
100
|
'fakeThrowAfterProcessingTxCount',
|
|
101
|
+
'maxTxsPerBlock',
|
|
102
|
+
'maxTxsPerCheckpoint',
|
|
103
|
+
'maxL2BlockGas',
|
|
104
|
+
'maxDABlockGas',
|
|
105
|
+
'rollupManaLimit',
|
|
62
106
|
] as const;
|
|
63
107
|
|
|
108
|
+
/** Thrown when the number of successfully processed transactions is below the required minimum. */
|
|
109
|
+
export class InsufficientValidTxsError extends Error {
|
|
110
|
+
constructor(
|
|
111
|
+
public readonly processedCount: number,
|
|
112
|
+
public readonly minRequired: number,
|
|
113
|
+
public readonly failedTxs: FailedTx[],
|
|
114
|
+
) {
|
|
115
|
+
super(`Insufficient valid txs: got ${processedCount} but need ${minRequired}`);
|
|
116
|
+
this.name = 'InsufficientValidTxsError';
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
64
120
|
/** Result of building a block within a checkpoint. */
|
|
65
|
-
export
|
|
121
|
+
export type BuildBlockInCheckpointResult = {
|
|
66
122
|
block: L2Block;
|
|
67
|
-
publicGas: Gas;
|
|
68
123
|
publicProcessorDuration: number;
|
|
69
124
|
numTxs: number;
|
|
70
125
|
failedTxs: FailedTx[];
|
|
71
126
|
usedTxs: Tx[];
|
|
72
|
-
|
|
73
|
-
}
|
|
127
|
+
};
|
|
74
128
|
|
|
75
129
|
/** Interface for building blocks within a checkpoint context. */
|
|
76
130
|
export interface ICheckpointBlockBuilder {
|
|
131
|
+
/** Builds a single block within this checkpoint. Throws InsufficientValidTxsError if fewer than minValidTxs succeed. */
|
|
77
132
|
buildBlock(
|
|
78
133
|
pendingTxs: Iterable<Tx> | AsyncIterable<Tx>,
|
|
79
134
|
blockNumber: BlockNumber,
|
|
80
135
|
timestamp: bigint,
|
|
81
|
-
opts:
|
|
136
|
+
opts: BlockBuilderOptions,
|
|
82
137
|
): Promise<BuildBlockInCheckpointResult>;
|
|
83
138
|
}
|
|
84
139
|
|
|
@@ -89,8 +144,10 @@ export interface ICheckpointsBuilder {
|
|
|
89
144
|
startCheckpoint(
|
|
90
145
|
checkpointNumber: CheckpointNumber,
|
|
91
146
|
constants: CheckpointGlobalVariables,
|
|
147
|
+
feeAssetPriceModifier: bigint,
|
|
92
148
|
l1ToL2Messages: Fr[],
|
|
93
149
|
previousCheckpointOutHashes: Fr[],
|
|
94
150
|
fork: MerkleTreeWriteOperations,
|
|
151
|
+
bindings?: LoggerBindings,
|
|
95
152
|
): Promise<ICheckpointBlockBuilder>;
|
|
96
153
|
}
|
package/src/interfaces/client.ts
CHANGED
|
@@ -13,6 +13,8 @@ export interface SequencerConfig {
|
|
|
13
13
|
sequencerPollingIntervalMS?: number;
|
|
14
14
|
/** The maximum number of txs to include in a block. */
|
|
15
15
|
maxTxsPerBlock?: number;
|
|
16
|
+
/** The maximum number of txs across all blocks in a checkpoint. */
|
|
17
|
+
maxTxsPerCheckpoint?: number;
|
|
16
18
|
/** The minimum number of txs to include in a block. */
|
|
17
19
|
minTxsPerBlock?: number;
|
|
18
20
|
/** The minimum number of valid txs (after execution) to include in a block. If not set, falls back to minTxsPerBlock. */
|
|
@@ -23,6 +25,10 @@ export interface SequencerConfig {
|
|
|
23
25
|
maxL2BlockGas?: number;
|
|
24
26
|
/** The maximum DA block gas. */
|
|
25
27
|
maxDABlockGas?: number;
|
|
28
|
+
/** Per-block gas budget multiplier for both L2 and DA gas. Budget = (checkpointLimit / maxBlocks) * multiplier. */
|
|
29
|
+
perBlockAllocationMultiplier?: number;
|
|
30
|
+
/** Redistribute remaining checkpoint budget evenly across remaining blocks instead of allowing a single block to consume the entire remaining budget. */
|
|
31
|
+
redistributeCheckpointBudget?: boolean;
|
|
26
32
|
/** Recipient of block reward. */
|
|
27
33
|
coinbase?: EthAddress;
|
|
28
34
|
/** Address to receive fees. */
|
|
@@ -31,10 +37,8 @@ export interface SequencerConfig {
|
|
|
31
37
|
acvmWorkingDirectory?: string;
|
|
32
38
|
/** The path to the ACVM binary */
|
|
33
39
|
acvmBinaryPath?: string;
|
|
34
|
-
/**
|
|
35
|
-
|
|
36
|
-
/** Max block size */
|
|
37
|
-
maxBlockSizeInBytes?: number;
|
|
40
|
+
/** Additional entries to extend the default setup allow list. */
|
|
41
|
+
txPublicSetupAllowListExtend?: AllowedElement[];
|
|
38
42
|
/** Payload address to vote for */
|
|
39
43
|
governanceProposerPayload?: EthAddress;
|
|
40
44
|
/** Whether to enforce the time table when building blocks */
|
|
@@ -59,33 +63,45 @@ export interface SequencerConfig {
|
|
|
59
63
|
broadcastInvalidBlockProposal?: boolean;
|
|
60
64
|
/** Inject a fake attestation (for testing only) */
|
|
61
65
|
injectFakeAttestation?: boolean;
|
|
66
|
+
/** Inject a malleable attestation with a high-s value (for testing only) */
|
|
67
|
+
injectHighSValueAttestation?: boolean;
|
|
68
|
+
/** Inject an attestation with an unrecoverable signature (for testing only) */
|
|
69
|
+
injectUnrecoverableSignatureAttestation?: boolean;
|
|
62
70
|
/** Whether to run in fisherman mode: builds blocks on every slot for validation without publishing */
|
|
63
71
|
fishermanMode?: boolean;
|
|
64
72
|
/** Shuffle attestation ordering to create invalid ordering (for testing only) */
|
|
65
73
|
shuffleAttestationOrdering?: boolean;
|
|
66
74
|
/** Duration per block in milliseconds when building multiple blocks per slot (default: undefined = single block per slot) */
|
|
67
75
|
blockDurationMs?: number;
|
|
76
|
+
/** Expected number of block proposals per slot for P2P peer scoring. 0 disables scoring, undefined falls back to blocksPerSlot - 1. */
|
|
77
|
+
expectedBlockProposalsPerSlot?: number;
|
|
68
78
|
/** Have sequencer build and publish an empty checkpoint if there are no txs */
|
|
69
79
|
buildCheckpointIfEmpty?: boolean;
|
|
70
80
|
/** Skip pushing proposed blocks to archiver (default: false) */
|
|
71
81
|
skipPushProposedBlocksToArchiver?: boolean;
|
|
82
|
+
/** Minimum number of blocks required for a checkpoint proposal (test only, defaults to undefined = no minimum) */
|
|
83
|
+
minBlocksForCheckpoint?: number;
|
|
84
|
+
/** Skip publishing checkpoint proposals probability (for testing checkpoint prunes only) */
|
|
85
|
+
skipPublishingCheckpointsPercent?: number;
|
|
72
86
|
}
|
|
73
87
|
|
|
74
88
|
export const SequencerConfigSchema = zodFor<SequencerConfig>()(
|
|
75
89
|
z.object({
|
|
76
90
|
sequencerPollingIntervalMS: z.number().optional(),
|
|
77
91
|
maxTxsPerBlock: z.number().optional(),
|
|
92
|
+
maxTxsPerCheckpoint: z.number().optional(),
|
|
78
93
|
minValidTxsPerBlock: z.number().optional(),
|
|
79
94
|
minTxsPerBlock: z.number().optional(),
|
|
80
95
|
maxL2BlockGas: z.number().optional(),
|
|
81
96
|
publishTxsWithProposals: z.boolean().optional(),
|
|
82
97
|
maxDABlockGas: z.number().optional(),
|
|
98
|
+
perBlockAllocationMultiplier: z.number().optional(),
|
|
99
|
+
redistributeCheckpointBudget: z.boolean().optional(),
|
|
83
100
|
coinbase: schemas.EthAddress.optional(),
|
|
84
101
|
feeRecipient: schemas.AztecAddress.optional(),
|
|
85
102
|
acvmWorkingDirectory: z.string().optional(),
|
|
86
103
|
acvmBinaryPath: z.string().optional(),
|
|
87
|
-
|
|
88
|
-
maxBlockSizeInBytes: z.number().optional(),
|
|
104
|
+
txPublicSetupAllowListExtend: z.array(AllowedElementSchema).optional(),
|
|
89
105
|
governanceProposerPayload: schemas.EthAddress.optional(),
|
|
90
106
|
l1PublishingTime: z.number().optional(),
|
|
91
107
|
enforceTimeTable: z.boolean().optional(),
|
|
@@ -98,17 +114,23 @@ export const SequencerConfigSchema = zodFor<SequencerConfig>()(
|
|
|
98
114
|
secondsBeforeInvalidatingBlockAsNonCommitteeMember: z.number(),
|
|
99
115
|
broadcastInvalidBlockProposal: z.boolean().optional(),
|
|
100
116
|
injectFakeAttestation: z.boolean().optional(),
|
|
117
|
+
injectHighSValueAttestation: z.boolean().optional(),
|
|
118
|
+
injectUnrecoverableSignatureAttestation: z.boolean().optional(),
|
|
101
119
|
fishermanMode: z.boolean().optional(),
|
|
102
120
|
shuffleAttestationOrdering: z.boolean().optional(),
|
|
103
121
|
blockDurationMs: z.number().positive().optional(),
|
|
122
|
+
expectedBlockProposalsPerSlot: z.number().nonnegative().optional(),
|
|
104
123
|
buildCheckpointIfEmpty: z.boolean().optional(),
|
|
105
124
|
skipPushProposedBlocksToArchiver: z.boolean().optional(),
|
|
125
|
+
minBlocksForCheckpoint: z.number().positive().optional(),
|
|
126
|
+
skipPublishingCheckpointsPercent: z.number().gte(0).lte(100).optional(),
|
|
106
127
|
}),
|
|
107
128
|
);
|
|
108
129
|
|
|
109
130
|
type SequencerConfigOptionalKeys =
|
|
110
131
|
| 'governanceProposerPayload'
|
|
111
132
|
| 'blockDurationMs'
|
|
133
|
+
| 'expectedBlockProposalsPerSlot'
|
|
112
134
|
| 'coinbase'
|
|
113
135
|
| 'feeRecipient'
|
|
114
136
|
| 'acvmWorkingDirectory'
|
|
@@ -116,8 +138,14 @@ type SequencerConfigOptionalKeys =
|
|
|
116
138
|
| 'fakeProcessingDelayPerTxMs'
|
|
117
139
|
| 'fakeThrowAfterProcessingTxCount'
|
|
118
140
|
| 'l1PublishingTime'
|
|
119
|
-
| '
|
|
120
|
-
| 'minValidTxsPerBlock'
|
|
141
|
+
| 'txPublicSetupAllowListExtend'
|
|
142
|
+
| 'minValidTxsPerBlock'
|
|
143
|
+
| 'minBlocksForCheckpoint'
|
|
144
|
+
| 'maxTxsPerBlock'
|
|
145
|
+
| 'maxTxsPerCheckpoint'
|
|
146
|
+
| 'maxL2BlockGas'
|
|
147
|
+
| 'maxDABlockGas'
|
|
148
|
+
| 'redistributeCheckpointBudget';
|
|
121
149
|
|
|
122
150
|
export type ResolvedSequencerConfig = Prettify<
|
|
123
151
|
Required<Omit<SequencerConfig, SequencerConfigOptionalKeys>> & Pick<SequencerConfig, SequencerConfigOptionalKeys>
|