@aztec/stdlib 0.0.1-commit.3469e52 → 0.0.1-commit.3895657bc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/decoder.d.ts +2 -2
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +7 -5
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +37 -6
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/function_call.d.ts +39 -9
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +20 -3
- package/dest/abi/utils.d.ts +14 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +15 -0
- package/dest/auth_witness/auth_witness.js +3 -3
- package/dest/avm/avm.d.ts +300 -300
- package/dest/avm/avm_proving_request.d.ts +166 -166
- package/dest/avm/revert_code.d.ts +16 -1
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +15 -5
- package/dest/block/block_data.d.ts +52 -0
- package/dest/block/block_data.d.ts.map +1 -0
- package/dest/block/block_data.js +12 -0
- package/dest/block/block_hash.d.ts +16 -18
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +21 -31
- package/dest/block/block_parameter.d.ts +4 -4
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +2 -2
- package/dest/block/checkpointed_l2_block.d.ts +6 -6
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
- package/dest/block/checkpointed_l2_block.js +3 -3
- package/dest/block/in_block.d.ts +11 -11
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +5 -5
- package/dest/block/index.d.ts +3 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +2 -1
- package/dest/block/{l2_block_new.d.ts → l2_block.d.ts} +16 -7
- package/dest/block/l2_block.d.ts.map +1 -0
- package/dest/block/{l2_block_new.js → l2_block.js} +17 -11
- package/dest/block/l2_block_source.d.ts +63 -30
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_stream/interfaces.d.ts +3 -3
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -3
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +14 -4
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +2 -2
- package/dest/checkpoint/checkpoint.d.ts +28 -13
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +35 -19
- package/dest/checkpoint/checkpoint_data.d.ts +120 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +26 -0
- package/dest/checkpoint/index.d.ts +3 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +2 -0
- package/dest/checkpoint/published_checkpoint.d.ts +19 -4
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +1 -2
- package/dest/checkpoint/validate.d.ts +36 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +120 -0
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- package/dest/config/node-rpc-config.js +1 -1
- package/dest/config/sequencer-config.d.ts +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.js +4 -4
- package/dest/contract/contract_class.d.ts +2 -3
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class_id.d.ts +2 -2
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +6 -5
- package/dest/contract/interfaces/node-info.d.ts +3 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +2 -1
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +3 -4
- package/dest/contract/private_function_membership_proof.d.ts +1 -1
- package/dest/contract/private_function_membership_proof.js +1 -1
- package/dest/database-version/database_version.d.ts +58 -0
- package/dest/database-version/database_version.d.ts.map +1 -0
- package/dest/database-version/database_version.js +69 -0
- package/dest/database-version/version_manager.d.ts +2 -50
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +1 -66
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
- package/dest/epoch-helpers/index.d.ts +7 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +9 -3
- package/dest/file-store/local.d.ts +3 -3
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/local.js +13 -4
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +11 -3
- package/dest/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 +2 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +16 -10
- package/dest/hash/map_slot.d.ts +1 -1
- package/dest/hash/map_slot.d.ts.map +1 -1
- package/dest/hash/map_slot.js +4 -3
- package/dest/interfaces/allowed_element.d.ts +26 -20
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +8 -8
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +23 -16
- package/dest/interfaces/aztec-node-admin.d.ts +118 -32
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +12 -4
- package/dest/interfaces/aztec-node.d.ts +60 -62
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +16 -19
- package/dest/interfaces/block-builder.d.ts +23 -11
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +14 -2
- package/dest/interfaces/configs.d.ts +73 -33
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +9 -3
- package/dest/interfaces/get_logs_response.d.ts +15 -8
- package/dest/interfaces/get_logs_response.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
- 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 +15 -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 +202 -202
- package/dest/interfaces/slasher.d.ts +9 -1
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +2 -0
- package/dest/interfaces/tx_provider.d.ts +3 -3
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +150 -42
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +11 -4
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +4 -4
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -15
- package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +9 -3
- package/dest/kernel/hints/index.d.ts +2 -2
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
- package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +16 -16
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_validation_requests.d.ts +3 -3
- package/dest/kernel/private_validation_requests.js +9 -9
- package/dest/keys/derivation.d.ts +3 -3
- package/dest/keys/derivation.js +15 -15
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- package/dest/keys/public_keys.js +2 -2
- package/dest/keys/utils.d.ts +1 -1
- package/dest/keys/utils.d.ts.map +1 -1
- package/dest/keys/utils.js +8 -4
- package/dest/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/slash_factory.d.ts +1 -1
- package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
- package/dest/l1-contracts/slash_factory.js +1 -0
- package/dest/logs/debug_log_store.d.ts +30 -0
- package/dest/logs/debug_log_store.d.ts.map +1 -0
- package/dest/logs/debug_log_store.js +30 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
- package/dest/logs/extended_public_log.d.ts +13 -7
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +3 -2
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +2 -1
- package/dest/logs/log_id.d.ts +17 -14
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +20 -17
- package/dest/logs/pre_tag.d.ts +16 -11
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/private_log.d.ts +2 -2
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/public_log.d.ts +4 -3
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +2 -1
- package/dest/logs/siloed_tag.d.ts +5 -3
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +8 -6
- package/dest/logs/tag.js +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +2 -2
- package/dest/messaging/l2_to_l1_membership.js +3 -3
- package/dest/note/index.d.ts +1 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +0 -1
- package/dest/p2p/attestation_utils.d.ts +11 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +45 -0
- package/dest/p2p/block_proposal.d.ts +14 -7
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +3 -5
- 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 +27 -13
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +30 -28
- package/dest/p2p/client_type.d.ts +2 -5
- package/dest/p2p/client_type.d.ts.map +1 -1
- package/dest/p2p/client_type.js +0 -7
- package/dest/p2p/consensus_payload.d.ts +12 -3
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +22 -15
- package/dest/p2p/constants.d.ts +3 -1
- package/dest/p2p/constants.d.ts.map +1 -1
- package/dest/p2p/constants.js +1 -0
- package/dest/p2p/index.d.ts +1 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +0 -1
- package/dest/p2p/message_validator.d.ts +18 -3
- package/dest/p2p/message_validator.d.ts.map +1 -1
- package/dest/p2p/message_validator.js +2 -1
- package/dest/p2p/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- package/dest/p2p/topic_type.d.ts +3 -4
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +7 -24
- package/dest/rollup/checkpoint_header.d.ts +2 -2
- package/dest/rollup/checkpoint_header.js +2 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +3 -3
- package/dest/slashing/empire.d.ts +1 -1
- package/dest/slashing/empire.d.ts.map +1 -1
- package/dest/slashing/empire.js +2 -0
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +6 -0
- package/dest/slashing/tally.d.ts +8 -2
- package/dest/slashing/tally.d.ts.map +1 -1
- package/dest/slashing/tally.js +35 -3
- package/dest/slashing/types.d.ts +7 -3
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +13 -1
- package/dest/stats/stats.d.ts +1 -3
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +3 -1
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +22 -14
- package/dest/tests/jest.d.ts +4 -4
- package/dest/tests/jest.js +9 -9
- package/dest/tests/mocks.d.ts +21 -11
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +49 -33
- package/dest/timetable/index.d.ts +37 -0
- package/dest/timetable/index.d.ts.map +1 -0
- package/dest/timetable/index.js +39 -0
- package/dest/trees/public_data_leaf.d.ts +2 -1
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +7 -6
- package/dest/tx/block_header.d.ts +5 -2
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +8 -3
- package/dest/tx/global_variables.d.ts +4 -4
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/in_tx.d.ts +3 -3
- package/dest/tx/indexed_tx_effect.d.ts +5 -5
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +3 -2
- package/dest/tx/profiling.d.ts +4 -4
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +3 -3
- package/dest/tx/protocol_contracts.d.ts +1 -1
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +2 -2
- package/dest/tx/public_simulation_output.d.ts +4 -2
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +7 -3
- package/dest/tx/simulated_tx.d.ts +5 -2
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +4 -1
- package/dest/tx/tx.d.ts +6 -5
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +18 -6
- package/dest/tx/tx_receipt.d.ts +57 -15
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +55 -16
- 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 +6 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +5 -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 +11 -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/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/package.json +26 -13
- package/src/abi/decoder.ts +15 -6
- package/src/abi/encoder.ts +49 -6
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/function_call.ts +25 -3
- package/src/abi/utils.ts +25 -0
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/avm/revert_code.ts +15 -0
- package/src/block/block_data.ts +26 -0
- package/src/block/block_hash.ts +26 -47
- package/src/block/block_parameter.ts +3 -3
- package/src/block/checkpointed_l2_block.ts +4 -4
- package/src/block/in_block.ts +8 -8
- package/src/block/index.ts +2 -1
- package/src/block/{l2_block_new.ts → l2_block.ts} +21 -13
- package/src/block/l2_block_source.ts +68 -31
- package/src/block/l2_block_stream/interfaces.ts +2 -2
- package/src/block/l2_block_stream/l2_block_stream.ts +26 -6
- package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
- package/src/block/test/l2_tips_store_test_suite.ts +4 -4
- package/src/checkpoint/checkpoint.ts +49 -22
- package/src/checkpoint/checkpoint_data.ts +51 -0
- package/src/checkpoint/index.ts +2 -0
- package/src/checkpoint/published_checkpoint.ts +3 -1
- package/src/checkpoint/validate.ts +230 -0
- package/src/config/index.ts +1 -0
- package/src/config/node-rpc-config.ts +1 -1
- package/src/config/sequencer-config.ts +37 -0
- package/src/contract/contract_address.ts +4 -4
- package/src/contract/contract_class.ts +3 -3
- package/src/contract/contract_class_id.ts +6 -5
- package/src/contract/interfaces/node-info.ts +3 -0
- package/src/contract/private_function.ts +3 -4
- package/src/contract/private_function_membership_proof.ts +1 -1
- package/src/database-version/database_version.ts +87 -0
- package/src/database-version/version_manager.ts +1 -77
- package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
- package/src/epoch-helpers/index.ts +13 -1
- package/src/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +12 -3
- 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 +14 -10
- package/src/hash/map_slot.ts +3 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/archiver.ts +23 -25
- package/src/interfaces/aztec-node-admin.ts +26 -2
- package/src/interfaces/aztec-node.ts +87 -121
- package/src/interfaces/block-builder.ts +41 -10
- package/src/interfaces/configs.ts +34 -11
- package/src/interfaces/merkle_tree_operations.ts +1 -1
- package/src/interfaces/p2p.ts +3 -14
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +22 -0
- package/src/interfaces/slasher.ts +4 -0
- package/src/interfaces/tx_provider.ts +2 -2
- package/src/interfaces/validator.ts +59 -29
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +16 -28
- package/src/kernel/hints/build_transient_data_hints.ts +17 -2
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
- package/src/kernel/private_circuit_public_inputs.ts +14 -14
- package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_validation_requests.ts +8 -8
- package/src/keys/derivation.ts +15 -15
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_keys.ts +2 -2
- package/src/keys/utils.ts +8 -4
- package/src/kv-store/config.ts +36 -0
- package/src/kv-store/index.ts +1 -0
- package/src/l1-contracts/slash_factory.ts +1 -0
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
- package/src/logs/index.ts +2 -1
- package/src/logs/log_id.ts +22 -18
- package/src/logs/pre_tag.ts +5 -5
- package/src/logs/public_log.ts +4 -2
- package/src/logs/siloed_tag.ts +10 -4
- package/src/logs/tag.ts +1 -1
- package/src/messaging/l2_to_l1_membership.ts +3 -3
- package/src/note/index.ts +0 -1
- package/src/p2p/attestation_utils.ts +56 -0
- package/src/p2p/block_proposal.ts +13 -8
- package/src/p2p/checkpoint_attestation.ts +6 -1
- package/src/p2p/checkpoint_proposal.ts +55 -33
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/consensus_payload.ts +25 -12
- package/src/p2p/constants.ts +3 -0
- package/src/p2p/index.ts +0 -1
- package/src/p2p/message_validator.ts +14 -2
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/topic_type.ts +8 -15
- package/src/rollup/checkpoint_header.ts +2 -2
- package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
- package/src/rollup/root_rollup_public_inputs.ts +7 -7
- package/src/slashing/empire.ts +3 -1
- package/src/slashing/helpers.ts +8 -0
- package/src/slashing/tally.ts +41 -2
- package/src/slashing/types.ts +14 -0
- package/src/stats/stats.ts +0 -2
- package/src/tests/factories.ts +27 -18
- package/src/tests/jest.ts +9 -9
- package/src/tests/mocks.ts +71 -36
- package/src/timetable/index.ts +66 -0
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/tx/block_header.ts +14 -5
- package/src/tx/global_variables.ts +3 -3
- package/src/tx/indexed_tx_effect.ts +3 -2
- package/src/tx/profiling.ts +5 -5
- package/src/tx/protocol_contracts.ts +2 -2
- package/src/tx/public_simulation_output.ts +4 -0
- package/src/tx/simulated_tx.ts +8 -1
- package/src/tx/tx.ts +20 -11
- package/src/tx/tx_receipt.ts +85 -18
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +5 -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 +17 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/schemas.ts +8 -1
- package/src/validators/types.ts +5 -4
- package/dest/block/l2_block_new.d.ts.map +0 -1
- package/dest/database-version/index.d.ts +0 -2
- package/dest/database-version/index.d.ts.map +0 -1
- package/dest/database-version/index.js +0 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/note/notes_filter.d.ts +0 -27
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -11
- package/dest/update-checker/update-checker.d.ts +0 -49
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/database-version/index.ts +0 -1
- package/src/note/notes_filter.ts +0 -38
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -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,10 +19,11 @@ import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
|
|
|
23
19
|
import { z } from 'zod';
|
|
24
20
|
|
|
25
21
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
22
|
+
import { BlockHash } from '../block/block_hash.js';
|
|
26
23
|
import { type BlockParameter, BlockParameterSchema } from '../block/block_parameter.js';
|
|
27
24
|
import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
|
|
28
25
|
import { type DataInBlock, dataInBlockSchemaFor } from '../block/in_block.js';
|
|
29
|
-
import {
|
|
26
|
+
import { L2Block } from '../block/l2_block.js';
|
|
30
27
|
import { type L2BlockSource, type L2Tips, L2TipsSchema } from '../block/l2_block_source.js';
|
|
31
28
|
import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
32
29
|
import {
|
|
@@ -77,13 +74,7 @@ import { type WorldStateSyncStatus, WorldStateSyncStatusSchema } from './world_s
|
|
|
77
74
|
export interface AztecNode
|
|
78
75
|
extends Pick<
|
|
79
76
|
L2BlockSource,
|
|
80
|
-
| '
|
|
81
|
-
| 'getL2BlocksNew'
|
|
82
|
-
| 'getPublishedBlocks'
|
|
83
|
-
| 'getPublishedCheckpoints'
|
|
84
|
-
| 'getBlockHeader'
|
|
85
|
-
| 'getL2Tips'
|
|
86
|
-
| 'getCheckpointedBlocks'
|
|
77
|
+
'getBlocks' | 'getCheckpoints' | 'getBlockHeader' | 'getL2Tips' | 'getCheckpointedBlocks'
|
|
87
78
|
> {
|
|
88
79
|
/**
|
|
89
80
|
* Returns the tips of the L2 chain.
|
|
@@ -98,63 +89,31 @@ export interface AztecNode
|
|
|
98
89
|
/**
|
|
99
90
|
* Find the indexes of the given leaves in the given tree along with a block metadata pointing to the block in which
|
|
100
91
|
* the leaves were inserted.
|
|
101
|
-
* @param
|
|
92
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
102
93
|
* @param treeId - The tree to search in.
|
|
103
94
|
* @param leafValues - The values to search for.
|
|
104
95
|
* @returns The indices of leaves and the block metadata of a block in which the leaves were inserted.
|
|
105
96
|
*/
|
|
106
97
|
findLeavesIndexes(
|
|
107
|
-
|
|
98
|
+
referenceBlock: BlockParameter,
|
|
108
99
|
treeId: MerkleTreeId,
|
|
109
100
|
leafValues: Fr[],
|
|
110
101
|
): Promise<(DataInBlock<bigint> | undefined)[]>;
|
|
111
102
|
|
|
112
|
-
/**
|
|
113
|
-
* Returns a sibling path for the given index in the nullifier tree.
|
|
114
|
-
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
115
|
-
* @param leafIndex - The index of the leaf for which the sibling path is required.
|
|
116
|
-
* @returns The sibling path for the leaf index.
|
|
117
|
-
*/
|
|
118
|
-
getNullifierSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NULLIFIER_TREE_HEIGHT>>;
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Returns a sibling path for the given index in the note hash tree.
|
|
122
|
-
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
123
|
-
* @param leafIndex - The index of the leaf for which the sibling path is required.
|
|
124
|
-
* @returns The sibling path for the leaf index.
|
|
125
|
-
*/
|
|
126
|
-
getNoteHashSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NOTE_HASH_TREE_HEIGHT>>;
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Returns a sibling path for a leaf in the committed historic blocks tree.
|
|
130
|
-
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
131
|
-
* @param leafIndex - Index of the leaf in the tree.
|
|
132
|
-
* @returns The sibling path.
|
|
133
|
-
*/
|
|
134
|
-
getArchiveSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof ARCHIVE_HEIGHT>>;
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Returns a sibling path for a leaf in the committed public data tree.
|
|
138
|
-
* @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
139
|
-
* @param leafIndex - Index of the leaf in the tree.
|
|
140
|
-
* @returns The sibling path.
|
|
141
|
-
*/
|
|
142
|
-
getPublicDataSiblingPath(
|
|
143
|
-
block: BlockParameter,
|
|
144
|
-
leafIndex: bigint,
|
|
145
|
-
): Promise<SiblingPath<typeof PUBLIC_DATA_TREE_HEIGHT>>;
|
|
146
|
-
|
|
147
103
|
/**
|
|
148
104
|
* Returns a nullifier membership witness for a given nullifier at a given block.
|
|
149
|
-
* @param
|
|
105
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
150
106
|
* @param nullifier - Nullifier we try to find witness for.
|
|
151
107
|
* @returns The nullifier membership witness (if found).
|
|
152
108
|
*/
|
|
153
|
-
getNullifierMembershipWitness(
|
|
109
|
+
getNullifierMembershipWitness(
|
|
110
|
+
referenceBlock: BlockParameter,
|
|
111
|
+
nullifier: Fr,
|
|
112
|
+
): Promise<NullifierMembershipWitness | undefined>;
|
|
154
113
|
|
|
155
114
|
/**
|
|
156
115
|
* Returns a low nullifier membership witness for a given nullifier at a given block.
|
|
157
|
-
* @param
|
|
116
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
158
117
|
* @param nullifier - Nullifier we try to find the low nullifier witness for.
|
|
159
118
|
* @returns The low nullifier membership witness (if found).
|
|
160
119
|
* @remarks Low nullifier witness can be used to perform a nullifier non-inclusion proof by leveraging the "linked
|
|
@@ -162,60 +121,67 @@ export interface AztecNode
|
|
|
162
121
|
* we are trying to prove non-inclusion for.
|
|
163
122
|
*/
|
|
164
123
|
getLowNullifierMembershipWitness(
|
|
165
|
-
|
|
124
|
+
referenceBlock: BlockParameter,
|
|
166
125
|
nullifier: Fr,
|
|
167
126
|
): Promise<NullifierMembershipWitness | undefined>;
|
|
168
127
|
|
|
169
128
|
/**
|
|
170
129
|
* Returns a public data tree witness for a given leaf slot at a given block.
|
|
171
|
-
* @param
|
|
130
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
172
131
|
* @param leafSlot - The leaf slot we try to find the witness for.
|
|
173
132
|
* @returns The public data witness (if found).
|
|
174
133
|
* @remarks The witness can be used to compute the current value of the public data tree leaf. If the low leaf preimage corresponds to an
|
|
175
134
|
* "in range" slot, means that the slot doesn't exist and the value is 0. If the low leaf preimage corresponds to the exact slot, the current value
|
|
176
135
|
* is contained in the leaf preimage.
|
|
177
136
|
*/
|
|
178
|
-
getPublicDataWitness(
|
|
137
|
+
getPublicDataWitness(referenceBlock: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
|
|
179
138
|
|
|
180
139
|
/**
|
|
181
|
-
* Returns a membership witness for a given
|
|
182
|
-
*
|
|
183
|
-
*
|
|
140
|
+
* Returns a membership witness for a given block hash in the archive tree.
|
|
141
|
+
*
|
|
142
|
+
* Block hashes are the leaves of the archive tree. Each time a new block is added to the chain,
|
|
143
|
+
* its block hash is appended as a new leaf to the archive tree. This method finds the membership
|
|
144
|
+
* witness (leaf index and sibling path) for a given block hash, which can be used to prove that
|
|
145
|
+
* a specific block exists in the chain's history.
|
|
146
|
+
*
|
|
147
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data
|
|
148
|
+
* (which contains the root of the archive tree in which we are searching for the block hash).
|
|
149
|
+
* @param blockHash - The block hash to find in the archive tree.
|
|
184
150
|
*/
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
151
|
+
getBlockHashMembershipWitness(
|
|
152
|
+
referenceBlock: BlockParameter,
|
|
153
|
+
blockHash: BlockHash,
|
|
188
154
|
): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
|
|
189
155
|
|
|
190
156
|
/**
|
|
191
157
|
* Returns a membership witness for a given note hash at a given block.
|
|
192
|
-
* @param
|
|
158
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
193
159
|
* @param noteHash - The note hash we try to find the witness for.
|
|
194
160
|
*/
|
|
195
161
|
getNoteHashMembershipWitness(
|
|
196
|
-
|
|
162
|
+
referenceBlock: BlockParameter,
|
|
197
163
|
noteHash: Fr,
|
|
198
164
|
): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
|
|
199
165
|
|
|
200
166
|
/**
|
|
201
167
|
* Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
|
|
202
|
-
* @param
|
|
168
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
203
169
|
* @param l1ToL2Message - The l1ToL2Message to get the index / sibling path for.
|
|
204
170
|
* @returns A tuple of the index and the sibling path of the L1ToL2Message (undefined if not found).
|
|
205
171
|
*/
|
|
206
172
|
getL1ToL2MessageMembershipWitness(
|
|
207
|
-
|
|
173
|
+
referenceBlock: BlockParameter,
|
|
208
174
|
l1ToL2Message: Fr,
|
|
209
175
|
): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>] | undefined>;
|
|
210
176
|
|
|
211
|
-
/** Returns the L2
|
|
212
|
-
|
|
177
|
+
/** Returns the L2 checkpoint number in which this L1 to L2 message becomes available, or undefined if not found. */
|
|
178
|
+
getL1ToL2MessageCheckpoint(l1ToL2Message: Fr): Promise<CheckpointNumber | undefined>;
|
|
213
179
|
|
|
214
180
|
/**
|
|
215
181
|
* Returns whether an L1 to L2 message is synced by archiver.
|
|
216
182
|
* @param l1ToL2Message - The L1 to L2 message to check.
|
|
217
183
|
* @returns Whether the message is synced.
|
|
218
|
-
* @deprecated Use `
|
|
184
|
+
* @deprecated Use `getL1ToL2MessageCheckpoint` instead. This method may return true even if the message is not ready to use.
|
|
219
185
|
*/
|
|
220
186
|
isL1ToL2MessageSynced(l1ToL2Message: Fr): Promise<boolean>;
|
|
221
187
|
|
|
@@ -229,24 +195,24 @@ export interface AztecNode
|
|
|
229
195
|
|
|
230
196
|
/**
|
|
231
197
|
* Get a block specified by its block number or 'latest'.
|
|
232
|
-
* @param
|
|
198
|
+
* @param blockParameter - The block parameter (block number, block hash, or 'latest').
|
|
233
199
|
* @returns The requested block.
|
|
234
200
|
*/
|
|
235
|
-
getBlock(
|
|
201
|
+
getBlock(blockParameter: BlockParameter): Promise<L2Block | undefined>;
|
|
236
202
|
|
|
237
203
|
/**
|
|
238
204
|
* Get a block specified by its hash.
|
|
239
205
|
* @param blockHash - The block hash being requested.
|
|
240
206
|
* @returns The requested block.
|
|
241
207
|
*/
|
|
242
|
-
getBlockByHash(blockHash:
|
|
208
|
+
getBlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
|
|
243
209
|
|
|
244
210
|
/**
|
|
245
211
|
* Get a block specified by its archive root.
|
|
246
212
|
* @param archive - The archive root being requested.
|
|
247
213
|
* @returns The requested block.
|
|
248
214
|
*/
|
|
249
|
-
getBlockByArchive(archive: Fr): Promise<
|
|
215
|
+
getBlockByArchive(archive: Fr): Promise<L2Block | undefined>;
|
|
250
216
|
|
|
251
217
|
/**
|
|
252
218
|
* Method to fetch the latest block number synchronized by the node.
|
|
@@ -260,6 +226,18 @@ export interface AztecNode
|
|
|
260
226
|
*/
|
|
261
227
|
getProvenBlockNumber(): Promise<BlockNumber>;
|
|
262
228
|
|
|
229
|
+
/**
|
|
230
|
+
* Fetches the latest checkpointed block number.
|
|
231
|
+
* @returns The block number.
|
|
232
|
+
*/
|
|
233
|
+
getCheckpointedBlockNumber(): Promise<BlockNumber>;
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* Method to fetch the latest checkpoint number synchronized by the node.
|
|
237
|
+
* @returns The checkpoint number.
|
|
238
|
+
*/
|
|
239
|
+
getCheckpointNumber(): Promise<CheckpointNumber>;
|
|
240
|
+
|
|
263
241
|
/**
|
|
264
242
|
* Method to determine if the node is ready to accept transactions.
|
|
265
243
|
* @returns - Flag indicating the readiness for tx submission.
|
|
@@ -279,7 +257,7 @@ export interface AztecNode
|
|
|
279
257
|
* @param limit - The maximum number of blocks to return.
|
|
280
258
|
* @returns The blocks requested.
|
|
281
259
|
*/
|
|
282
|
-
getBlocks(from: BlockNumber, limit: number): Promise<
|
|
260
|
+
getBlocks(from: BlockNumber, limit: number): Promise<L2Block[]>;
|
|
283
261
|
|
|
284
262
|
/**
|
|
285
263
|
* Method to fetch the current min fees.
|
|
@@ -347,10 +325,14 @@ export interface AztecNode
|
|
|
347
325
|
* array implies no logs match that tag.
|
|
348
326
|
* @param tags - The tags to search for.
|
|
349
327
|
* @param page - The page number (0-indexed) for pagination.
|
|
328
|
+
* @param referenceBlock - Optional block hash used to ensure the block still exists before logs are retrieved.
|
|
329
|
+
* This block is expected to represent the latest block to which the client has synced (called anchor block in PXE).
|
|
330
|
+
* If specified and the block is not found, an error is thrown. This helps detect reorgs, which could result in
|
|
331
|
+
* undefined behavior in the client's code.
|
|
350
332
|
* @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
|
|
351
333
|
* for a tag, the caller should fetch the next page to check for more logs.
|
|
352
334
|
*/
|
|
353
|
-
getPrivateLogsByTags(tags: SiloedTag[], page?: number): Promise<TxScopedL2Log[][]>;
|
|
335
|
+
getPrivateLogsByTags(tags: SiloedTag[], page?: number, referenceBlock?: BlockHash): Promise<TxScopedL2Log[][]>;
|
|
354
336
|
|
|
355
337
|
/**
|
|
356
338
|
* Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
|
|
@@ -358,6 +340,10 @@ export interface AztecNode
|
|
|
358
340
|
* @param contractAddress - The contract address to search logs for.
|
|
359
341
|
* @param tags - The tags to search for.
|
|
360
342
|
* @param page - The page number (0-indexed) for pagination.
|
|
343
|
+
* @param referenceBlock - Optional block hash used to ensure the block still exists before logs are retrieved.
|
|
344
|
+
* This block is expected to represent the latest block to which the client has synced (called anchor block in PXE).
|
|
345
|
+
* If specified and the block is not found, an error is thrown. This helps detect reorgs, which could result in
|
|
346
|
+
* undefined behavior in the client's code.
|
|
361
347
|
* @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
|
|
362
348
|
* for a tag, the caller should fetch the next page to check for more logs.
|
|
363
349
|
*/
|
|
@@ -365,6 +351,7 @@ export interface AztecNode
|
|
|
365
351
|
contractAddress: AztecAddress,
|
|
366
352
|
tags: Tag[],
|
|
367
353
|
page?: number,
|
|
354
|
+
referenceBlock?: BlockHash,
|
|
368
355
|
): Promise<TxScopedL2Log[][]>;
|
|
369
356
|
|
|
370
357
|
/**
|
|
@@ -423,12 +410,12 @@ export interface AztecNode
|
|
|
423
410
|
* @remarks The storage slot here refers to the slot as it is defined in Noir not the index in the merkle tree.
|
|
424
411
|
* Aztec's version of `eth_getStorageAt`.
|
|
425
412
|
*
|
|
426
|
-
* @param
|
|
413
|
+
* @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
|
|
427
414
|
* @param contract - Address of the contract to query.
|
|
428
415
|
* @param slot - Slot to query.
|
|
429
416
|
* @returns Storage value at the given contract slot.
|
|
430
417
|
*/
|
|
431
|
-
getPublicStorageAt(
|
|
418
|
+
getPublicStorageAt(referenceBlock: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
|
|
432
419
|
|
|
433
420
|
/**
|
|
434
421
|
* Returns the block header for a given block number, block hash, or 'latest'.
|
|
@@ -464,7 +451,7 @@ export interface AztecNode
|
|
|
464
451
|
/**
|
|
465
452
|
* Returns true if the transaction is valid for inclusion at the current state. Valid transactions can be
|
|
466
453
|
* made invalid by *other* transactions if e.g. they emit the same nullifiers, or come become invalid
|
|
467
|
-
* due to e.g. the
|
|
454
|
+
* due to e.g. the expiration_timestamp property.
|
|
468
455
|
* @param tx - The transaction to validate for correctness.
|
|
469
456
|
* @param isSimulation - True if the transaction is a simulated one without generated proofs. (Optional)
|
|
470
457
|
* @param skipFeeEnforcement - True if the validation of the fee should be skipped. Useful when the simulation is for estimating fee (Optional)
|
|
@@ -508,26 +495,6 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
508
495
|
.args(BlockParameterSchema, z.nativeEnum(MerkleTreeId), z.array(schemas.Fr).max(MAX_RPC_LEN))
|
|
509
496
|
.returns(z.array(optional(dataInBlockSchemaFor(schemas.BigInt)))),
|
|
510
497
|
|
|
511
|
-
getNullifierSiblingPath: z
|
|
512
|
-
.function()
|
|
513
|
-
.args(BlockParameterSchema, schemas.BigInt)
|
|
514
|
-
.returns(SiblingPath.schemaFor(NULLIFIER_TREE_HEIGHT)),
|
|
515
|
-
|
|
516
|
-
getNoteHashSiblingPath: z
|
|
517
|
-
.function()
|
|
518
|
-
.args(BlockParameterSchema, schemas.BigInt)
|
|
519
|
-
.returns(SiblingPath.schemaFor(NOTE_HASH_TREE_HEIGHT)),
|
|
520
|
-
|
|
521
|
-
getArchiveSiblingPath: z
|
|
522
|
-
.function()
|
|
523
|
-
.args(BlockParameterSchema, schemas.BigInt)
|
|
524
|
-
.returns(SiblingPath.schemaFor(ARCHIVE_HEIGHT)),
|
|
525
|
-
|
|
526
|
-
getPublicDataSiblingPath: z
|
|
527
|
-
.function()
|
|
528
|
-
.args(BlockParameterSchema, schemas.BigInt)
|
|
529
|
-
.returns(SiblingPath.schemaFor(PUBLIC_DATA_TREE_HEIGHT)),
|
|
530
|
-
|
|
531
498
|
getNullifierMembershipWitness: z
|
|
532
499
|
.function()
|
|
533
500
|
.args(BlockParameterSchema, schemas.Fr)
|
|
@@ -543,9 +510,9 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
543
510
|
.args(BlockParameterSchema, schemas.Fr)
|
|
544
511
|
.returns(PublicDataWitness.schema.optional()),
|
|
545
512
|
|
|
546
|
-
|
|
513
|
+
getBlockHashMembershipWitness: z
|
|
547
514
|
.function()
|
|
548
|
-
.args(BlockParameterSchema,
|
|
515
|
+
.args(BlockParameterSchema, BlockHash.schema)
|
|
549
516
|
.returns(MembershipWitness.schemaFor(ARCHIVE_HEIGHT).optional()),
|
|
550
517
|
|
|
551
518
|
getNoteHashMembershipWitness: z
|
|
@@ -558,7 +525,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
558
525
|
.args(BlockParameterSchema, schemas.Fr)
|
|
559
526
|
.returns(z.tuple([schemas.BigInt, SiblingPath.schemaFor(L1_TO_L2_MSG_TREE_HEIGHT)]).optional()),
|
|
560
527
|
|
|
561
|
-
|
|
528
|
+
getL1ToL2MessageCheckpoint: z.function().args(schemas.Fr).returns(CheckpointNumberSchema.optional()),
|
|
562
529
|
|
|
563
530
|
isL1ToL2MessageSynced: z.function().args(schemas.Fr).returns(z.boolean()),
|
|
564
531
|
|
|
@@ -567,16 +534,20 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
567
534
|
.args(EpochNumberSchema)
|
|
568
535
|
.returns(z.array(z.array(z.array(z.array(schemas.Fr))))),
|
|
569
536
|
|
|
570
|
-
getBlock: z.function().args(BlockParameterSchema).returns(
|
|
537
|
+
getBlock: z.function().args(BlockParameterSchema).returns(L2Block.schema.optional()),
|
|
571
538
|
|
|
572
|
-
getBlockByHash: z.function().args(
|
|
539
|
+
getBlockByHash: z.function().args(BlockHash.schema).returns(L2Block.schema.optional()),
|
|
573
540
|
|
|
574
|
-
getBlockByArchive: z.function().args(schemas.Fr).returns(
|
|
541
|
+
getBlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
|
|
575
542
|
|
|
576
543
|
getBlockNumber: z.function().returns(BlockNumberSchema),
|
|
577
544
|
|
|
545
|
+
getCheckpointNumber: z.function().returns(CheckpointNumberSchema),
|
|
546
|
+
|
|
578
547
|
getProvenBlockNumber: z.function().returns(BlockNumberSchema),
|
|
579
548
|
|
|
549
|
+
getCheckpointedBlockNumber: z.function().returns(BlockNumberSchema),
|
|
550
|
+
|
|
580
551
|
isReady: z.function().returns(z.boolean()),
|
|
581
552
|
|
|
582
553
|
getNodeInfo: z.function().returns(NodeInfoSchema),
|
|
@@ -584,26 +555,16 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
584
555
|
getBlocks: z
|
|
585
556
|
.function()
|
|
586
557
|
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
587
|
-
.returns(z.array(
|
|
588
|
-
|
|
589
|
-
getPublishedBlocks: z
|
|
590
|
-
.function()
|
|
591
|
-
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
592
|
-
.returns(z.array(CheckpointedL2Block.schema)),
|
|
558
|
+
.returns(z.array(L2Block.schema)),
|
|
593
559
|
|
|
594
|
-
|
|
560
|
+
getCheckpoints: z
|
|
595
561
|
.function()
|
|
596
562
|
.args(CheckpointNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_CHECKPOINTS_LEN))
|
|
597
563
|
.returns(z.array(PublishedCheckpoint.schema)),
|
|
598
564
|
|
|
599
|
-
getL2BlocksNew: z
|
|
600
|
-
.function()
|
|
601
|
-
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
602
|
-
.returns(z.array(L2BlockNew.schema)),
|
|
603
|
-
|
|
604
565
|
getCheckpointedBlocks: z
|
|
605
566
|
.function()
|
|
606
|
-
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN)
|
|
567
|
+
.args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
|
|
607
568
|
.returns(z.array(CheckpointedL2Block.schema)),
|
|
608
569
|
|
|
609
570
|
getCurrentMinFees: z.function().returns(GasFees.schema),
|
|
@@ -631,12 +592,17 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
631
592
|
|
|
632
593
|
getPrivateLogsByTags: z
|
|
633
594
|
.function()
|
|
634
|
-
.args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)))
|
|
595
|
+
.args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)), optional(BlockHash.schema))
|
|
635
596
|
.returns(z.array(z.array(TxScopedL2Log.schema))),
|
|
636
597
|
|
|
637
598
|
getPublicLogsByTagsFromContract: z
|
|
638
599
|
.function()
|
|
639
|
-
.args(
|
|
600
|
+
.args(
|
|
601
|
+
schemas.AztecAddress,
|
|
602
|
+
z.array(Tag.schema).max(MAX_RPC_LEN),
|
|
603
|
+
optional(z.number().gte(0)),
|
|
604
|
+
optional(BlockHash.schema),
|
|
605
|
+
)
|
|
640
606
|
.returns(z.array(z.array(TxScopedL2Log.schema))),
|
|
641
607
|
|
|
642
608
|
sendTx: z.function().args(Tx.schema).returns(z.void()),
|
|
@@ -1,7 +1,8 @@
|
|
|
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
|
-
import type {
|
|
5
|
+
import type { L2Block } from '../block/l2_block.js';
|
|
5
6
|
import type { ChainConfig, SequencerConfig } from '../config/chain-config.js';
|
|
6
7
|
import type { L1RollupConstants } from '../epoch-helpers/index.js';
|
|
7
8
|
import type { Gas } from '../gas/gas.js';
|
|
@@ -31,15 +32,20 @@ export interface IBlockFactory extends ProcessedTxHandler {
|
|
|
31
32
|
/**
|
|
32
33
|
* Assembles the block and updates the archive tree.
|
|
33
34
|
*/
|
|
34
|
-
setBlockCompleted(expectedBlockHeader?: BlockHeader): Promise<
|
|
35
|
+
setBlockCompleted(expectedBlockHeader?: BlockHeader): Promise<L2Block>;
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
export interface PublicProcessorLimits {
|
|
39
|
+
/** Maximum number of txs to process. */
|
|
38
40
|
maxTransactions?: number;
|
|
39
|
-
|
|
41
|
+
/** L2 and DA gas limits. */
|
|
40
42
|
maxBlockGas?: Gas;
|
|
43
|
+
/** Maximum number of blob fields allowed. */
|
|
41
44
|
maxBlobFields?: number;
|
|
45
|
+
/** Deadline for processing the txs. Processor will stop as soon as it hits this time. */
|
|
42
46
|
deadline?: Date;
|
|
47
|
+
/** 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. */
|
|
48
|
+
isBuildingProposal?: boolean;
|
|
43
49
|
}
|
|
44
50
|
|
|
45
51
|
export interface PublicProcessorValidator {
|
|
@@ -49,28 +55,51 @@ export interface PublicProcessorValidator {
|
|
|
49
55
|
|
|
50
56
|
export type FullNodeBlockBuilderConfig = Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'> &
|
|
51
57
|
Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'> &
|
|
52
|
-
Pick<
|
|
58
|
+
Pick<
|
|
59
|
+
SequencerConfig,
|
|
60
|
+
| 'txPublicSetupAllowListExtend'
|
|
61
|
+
| 'fakeProcessingDelayPerTxMs'
|
|
62
|
+
| 'fakeThrowAfterProcessingTxCount'
|
|
63
|
+
| 'maxTxsPerBlock'
|
|
64
|
+
| 'maxTxsPerCheckpoint'
|
|
65
|
+
| 'maxL2BlockGas'
|
|
66
|
+
| 'maxDABlockGas'
|
|
67
|
+
> & {
|
|
68
|
+
/** Total L2 gas (mana) allowed per checkpoint. Fetched from L1 getManaLimit(). */
|
|
69
|
+
rollupManaLimit: number;
|
|
70
|
+
};
|
|
53
71
|
|
|
54
72
|
export const FullNodeBlockBuilderConfigKeys: (keyof FullNodeBlockBuilderConfig)[] = [
|
|
55
73
|
'l1GenesisTime',
|
|
56
74
|
'slotDuration',
|
|
57
75
|
'l1ChainId',
|
|
58
76
|
'rollupVersion',
|
|
59
|
-
'
|
|
77
|
+
'txPublicSetupAllowListExtend',
|
|
60
78
|
'fakeProcessingDelayPerTxMs',
|
|
61
79
|
'fakeThrowAfterProcessingTxCount',
|
|
80
|
+
'maxTxsPerBlock',
|
|
81
|
+
'maxTxsPerCheckpoint',
|
|
82
|
+
'maxL2BlockGas',
|
|
83
|
+
'maxDABlockGas',
|
|
84
|
+
'rollupManaLimit',
|
|
62
85
|
] as const;
|
|
63
86
|
|
|
87
|
+
/** Thrown when no valid transactions are available to include in a block after processing, and this is not the first block in a checkpoint. */
|
|
88
|
+
export class NoValidTxsError extends Error {
|
|
89
|
+
constructor(public readonly failedTxs: FailedTx[]) {
|
|
90
|
+
super('No valid transactions to include in block');
|
|
91
|
+
this.name = 'NoValidTxsError';
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
64
95
|
/** Result of building a block within a checkpoint. */
|
|
65
|
-
export
|
|
66
|
-
block:
|
|
67
|
-
publicGas: Gas;
|
|
96
|
+
export type BuildBlockInCheckpointResult = {
|
|
97
|
+
block: L2Block;
|
|
68
98
|
publicProcessorDuration: number;
|
|
69
99
|
numTxs: number;
|
|
70
100
|
failedTxs: FailedTx[];
|
|
71
101
|
usedTxs: Tx[];
|
|
72
|
-
|
|
73
|
-
}
|
|
102
|
+
};
|
|
74
103
|
|
|
75
104
|
/** Interface for building blocks within a checkpoint context. */
|
|
76
105
|
export interface ICheckpointBlockBuilder {
|
|
@@ -89,8 +118,10 @@ export interface ICheckpointsBuilder {
|
|
|
89
118
|
startCheckpoint(
|
|
90
119
|
checkpointNumber: CheckpointNumber,
|
|
91
120
|
constants: CheckpointGlobalVariables,
|
|
121
|
+
feeAssetPriceModifier: bigint,
|
|
92
122
|
l1ToL2Messages: Fr[],
|
|
93
123
|
previousCheckpointOutHashes: Fr[],
|
|
94
124
|
fork: MerkleTreeWriteOperations,
|
|
125
|
+
bindings?: LoggerBindings,
|
|
95
126
|
): Promise<ICheckpointBlockBuilder>;
|
|
96
127
|
}
|
|
@@ -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,8 @@ 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;
|
|
26
30
|
/** Recipient of block reward. */
|
|
27
31
|
coinbase?: EthAddress;
|
|
28
32
|
/** Address to receive fees. */
|
|
@@ -31,10 +35,8 @@ export interface SequencerConfig {
|
|
|
31
35
|
acvmWorkingDirectory?: string;
|
|
32
36
|
/** The path to the ACVM binary */
|
|
33
37
|
acvmBinaryPath?: string;
|
|
34
|
-
/**
|
|
35
|
-
|
|
36
|
-
/** Max block size */
|
|
37
|
-
maxBlockSizeInBytes?: number;
|
|
38
|
+
/** Additional entries to extend the default setup allow list. */
|
|
39
|
+
txPublicSetupAllowListExtend?: AllowedElement[];
|
|
38
40
|
/** Payload address to vote for */
|
|
39
41
|
governanceProposerPayload?: EthAddress;
|
|
40
42
|
/** Whether to enforce the time table when building blocks */
|
|
@@ -59,35 +61,44 @@ export interface SequencerConfig {
|
|
|
59
61
|
broadcastInvalidBlockProposal?: boolean;
|
|
60
62
|
/** Inject a fake attestation (for testing only) */
|
|
61
63
|
injectFakeAttestation?: boolean;
|
|
64
|
+
/** Inject a malleable attestation with a high-s value (for testing only) */
|
|
65
|
+
injectHighSValueAttestation?: boolean;
|
|
66
|
+
/** Inject an attestation with an unrecoverable signature (for testing only) */
|
|
67
|
+
injectUnrecoverableSignatureAttestation?: boolean;
|
|
62
68
|
/** Whether to run in fisherman mode: builds blocks on every slot for validation without publishing */
|
|
63
69
|
fishermanMode?: boolean;
|
|
64
70
|
/** Shuffle attestation ordering to create invalid ordering (for testing only) */
|
|
65
71
|
shuffleAttestationOrdering?: boolean;
|
|
66
72
|
/** Duration per block in milliseconds when building multiple blocks per slot (default: undefined = single block per slot) */
|
|
67
73
|
blockDurationMs?: number;
|
|
74
|
+
/** Expected number of block proposals per slot for P2P peer scoring. 0 disables scoring, undefined falls back to blocksPerSlot - 1. */
|
|
75
|
+
expectedBlockProposalsPerSlot?: number;
|
|
68
76
|
/** Have sequencer build and publish an empty checkpoint if there are no txs */
|
|
69
77
|
buildCheckpointIfEmpty?: boolean;
|
|
70
|
-
|
|
71
|
-
// TODO(palla/mbps): Change default to false once block sync is stable
|
|
72
|
-
/** Skip pushing proposed blocks to archiver (default: true) */
|
|
78
|
+
/** Skip pushing proposed blocks to archiver (default: false) */
|
|
73
79
|
skipPushProposedBlocksToArchiver?: boolean;
|
|
80
|
+
/** Minimum number of blocks required for a checkpoint proposal (test only, defaults to undefined = no minimum) */
|
|
81
|
+
minBlocksForCheckpoint?: number;
|
|
82
|
+
/** Skip publishing checkpoint proposals probability (for testing checkpoint prunes only) */
|
|
83
|
+
skipPublishingCheckpointsPercent?: number;
|
|
74
84
|
}
|
|
75
85
|
|
|
76
86
|
export const SequencerConfigSchema = zodFor<SequencerConfig>()(
|
|
77
87
|
z.object({
|
|
78
88
|
sequencerPollingIntervalMS: z.number().optional(),
|
|
79
89
|
maxTxsPerBlock: z.number().optional(),
|
|
90
|
+
maxTxsPerCheckpoint: z.number().optional(),
|
|
80
91
|
minValidTxsPerBlock: z.number().optional(),
|
|
81
92
|
minTxsPerBlock: z.number().optional(),
|
|
82
93
|
maxL2BlockGas: z.number().optional(),
|
|
83
94
|
publishTxsWithProposals: z.boolean().optional(),
|
|
84
95
|
maxDABlockGas: z.number().optional(),
|
|
96
|
+
perBlockAllocationMultiplier: z.number().optional(),
|
|
85
97
|
coinbase: schemas.EthAddress.optional(),
|
|
86
98
|
feeRecipient: schemas.AztecAddress.optional(),
|
|
87
99
|
acvmWorkingDirectory: z.string().optional(),
|
|
88
100
|
acvmBinaryPath: z.string().optional(),
|
|
89
|
-
|
|
90
|
-
maxBlockSizeInBytes: z.number().optional(),
|
|
101
|
+
txPublicSetupAllowListExtend: z.array(AllowedElementSchema).optional(),
|
|
91
102
|
governanceProposerPayload: schemas.EthAddress.optional(),
|
|
92
103
|
l1PublishingTime: z.number().optional(),
|
|
93
104
|
enforceTimeTable: z.boolean().optional(),
|
|
@@ -100,17 +111,23 @@ export const SequencerConfigSchema = zodFor<SequencerConfig>()(
|
|
|
100
111
|
secondsBeforeInvalidatingBlockAsNonCommitteeMember: z.number(),
|
|
101
112
|
broadcastInvalidBlockProposal: z.boolean().optional(),
|
|
102
113
|
injectFakeAttestation: z.boolean().optional(),
|
|
114
|
+
injectHighSValueAttestation: z.boolean().optional(),
|
|
115
|
+
injectUnrecoverableSignatureAttestation: z.boolean().optional(),
|
|
103
116
|
fishermanMode: z.boolean().optional(),
|
|
104
117
|
shuffleAttestationOrdering: z.boolean().optional(),
|
|
105
118
|
blockDurationMs: z.number().positive().optional(),
|
|
119
|
+
expectedBlockProposalsPerSlot: z.number().nonnegative().optional(),
|
|
106
120
|
buildCheckpointIfEmpty: z.boolean().optional(),
|
|
107
121
|
skipPushProposedBlocksToArchiver: z.boolean().optional(),
|
|
122
|
+
minBlocksForCheckpoint: z.number().positive().optional(),
|
|
123
|
+
skipPublishingCheckpointsPercent: z.number().gte(0).lte(100).optional(),
|
|
108
124
|
}),
|
|
109
125
|
);
|
|
110
126
|
|
|
111
127
|
type SequencerConfigOptionalKeys =
|
|
112
128
|
| 'governanceProposerPayload'
|
|
113
129
|
| 'blockDurationMs'
|
|
130
|
+
| 'expectedBlockProposalsPerSlot'
|
|
114
131
|
| 'coinbase'
|
|
115
132
|
| 'feeRecipient'
|
|
116
133
|
| 'acvmWorkingDirectory'
|
|
@@ -118,8 +135,14 @@ type SequencerConfigOptionalKeys =
|
|
|
118
135
|
| 'fakeProcessingDelayPerTxMs'
|
|
119
136
|
| 'fakeThrowAfterProcessingTxCount'
|
|
120
137
|
| 'l1PublishingTime'
|
|
121
|
-
| '
|
|
122
|
-
| 'minValidTxsPerBlock'
|
|
138
|
+
| 'txPublicSetupAllowListExtend'
|
|
139
|
+
| 'minValidTxsPerBlock'
|
|
140
|
+
| 'minBlocksForCheckpoint'
|
|
141
|
+
| 'maxTxsPerBlock'
|
|
142
|
+
| 'maxTxsPerCheckpoint'
|
|
143
|
+
| 'maxL2BlockGas'
|
|
144
|
+
| 'maxDABlockGas'
|
|
145
|
+
| 'perBlockAllocationMultiplier';
|
|
123
146
|
|
|
124
147
|
export type ResolvedSequencerConfig = Prettify<
|
|
125
148
|
Required<Omit<SequencerConfig, SequencerConfigOptionalKeys>> & Pick<SequencerConfig, SequencerConfigOptionalKeys>
|
|
@@ -254,7 +254,7 @@ export interface MerkleTreeCheckpointOperations {
|
|
|
254
254
|
export interface MerkleTreeWriteOperations
|
|
255
255
|
extends MerkleTreeReadOperations,
|
|
256
256
|
MerkleTreeCheckpointOperations,
|
|
257
|
-
|
|
257
|
+
AsyncDisposable {
|
|
258
258
|
/**
|
|
259
259
|
* Appends leaves to a given tree.
|
|
260
260
|
* @param treeId - The tree to be updated.
|