@aztec/stdlib 0.0.1-commit.db765a8 → 0.0.1-commit.ddcf04837
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 +5 -44
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +12 -67
- package/dest/abi/event_selector.d.ts +3 -6
- package/dest/abi/event_selector.d.ts.map +1 -1
- 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/avm/revert_code.d.ts +8 -18
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +15 -30
- 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 +8 -8
- package/dest/block/block_data.d.ts.map +1 -1
- package/dest/block/block_data.js +2 -2
- package/dest/block/block_hash.d.ts +11 -10
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +10 -9
- package/dest/block/l2_block.d.ts +9 -1
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +12 -2
- package/dest/block/l2_block_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 +95 -10
- 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_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 +8 -1
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +18 -5
- package/dest/checkpoint/checkpoint_data.d.ts +71 -5
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_data.js +10 -0
- package/dest/checkpoint/index.d.ts +2 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +1 -0
- 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 +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -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 +3 -3
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +10 -4
- package/dest/contract/contract_address.d.ts +3 -3
- package/dest/contract/contract_address.js +3 -3
- package/dest/contract/contract_class_id.d.ts +2 -2
- package/dest/contract/contract_class_id.js +2 -2
- 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/epoch-helpers/index.d.ts +11 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +16 -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/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 +1 -1
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +10 -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 +49 -14
- package/dest/ha-signing/config.d.ts.map +1 -1
- package/dest/ha-signing/config.js +20 -15
- package/dest/ha-signing/index.d.ts +4 -3
- package/dest/ha-signing/index.d.ts.map +1 -1
- package/dest/ha-signing/index.js +3 -2
- 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 +37 -32
- package/dest/ha-signing/types.d.ts.map +1 -1
- package/dest/ha-signing/types.js +13 -6
- package/dest/hash/hash.d.ts +19 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +29 -0
- package/dest/interfaces/allowed_element.d.ts +25 -1
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +8 -2
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +6 -3
- package/dest/interfaces/aztec-node-admin.d.ts +73 -23
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +3 -3
- 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 +21 -6
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +7 -2
- package/dest/interfaces/block-builder.d.ts +38 -11
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +12 -5
- 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 +47 -7
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +3 -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 +12 -21
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/prover-client.d.ts +6 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +7 -4
- package/dest/interfaces/proving-job.d.ts +200 -200
- package/dest/interfaces/slasher.d.ts +1 -10
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +0 -2
- package/dest/interfaces/validator.d.ts +108 -40
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +7 -5
- package/dest/interfaces/world_state.d.ts +5 -4
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +2 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -0
- 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/extended_directional_app_tagging_secret.d.ts +4 -4
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -1
- package/dest/logs/extended_directional_app_tagging_secret.js +12 -5
- package/dest/logs/index.d.ts +2 -1
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +1 -0
- 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 +1 -1
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +1 -2
- 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/shared_secret_derivation.d.ts +11 -10
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +15 -9
- package/dest/logs/siloed_tag.d.ts +8 -7
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +11 -3
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +4 -0
- 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 +32 -6
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +69 -26
- package/dest/noir/index.d.ts +3 -3
- package/dest/noir/index.d.ts.map +1 -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/block_proposal.d.ts +6 -8
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +4 -9
- package/dest/p2p/checkpoint_attestation.d.ts +4 -6
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +2 -7
- package/dest/p2p/checkpoint_proposal.d.ts +8 -15
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +5 -34
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -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/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/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 +4 -90
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +0 -14
- package/dest/slashing/{tally.d.ts → votes.d.ts} +5 -6
- package/dest/slashing/votes.d.ts.map +1 -0
- package/dest/slashing/{tally.js → votes.js} +19 -10
- package/dest/tests/factories.d.ts +2 -4
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +11 -28
- package/dest/tests/mocks.d.ts +4 -2
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +27 -27
- package/dest/timetable/index.d.ts +51 -1
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +204 -14
- package/dest/tx/block_header.d.ts +4 -2
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +5 -1
- 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/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 +1 -1
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +1 -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 +14 -2
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +13 -3
- package/dest/tx/simulated_tx.d.ts +112 -4
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +3 -3
- 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 +14 -5
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +14 -18
- package/dest/tx/validator/error_texts.d.ts +8 -1
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +9 -0
- 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/versioning/versioning.d.ts +4 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +4 -1
- 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/package.json +10 -9
- 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 +23 -78
- package/src/abi/event_selector.ts +2 -8
- 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/avm/revert_code.ts +25 -39
- package/src/aztec-address/index.ts +4 -10
- package/src/block/block_data.ts +3 -4
- package/src/block/block_hash.ts +21 -14
- package/src/block/l2_block.ts +13 -1
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +26 -9
- package/src/block/l2_block_stream/interfaces.ts +6 -2
- 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 +23 -4
- package/src/checkpoint/checkpoint_data.ts +40 -4
- package/src/checkpoint/index.ts +1 -0
- package/src/checkpoint/validate.ts +230 -0
- package/src/config/chain-config.ts +7 -1
- package/src/config/index.ts +1 -0
- package/src/config/pipelining-config.ts +31 -0
- package/src/config/sequencer-config.ts +15 -5
- package/src/contract/contract_address.ts +3 -3
- package/src/contract/contract_class_id.ts +2 -2
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/epoch-helpers/index.ts +27 -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/gas/README.md +154 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas_fees.ts +12 -4
- package/src/gas/gas_settings.ts +65 -12
- package/src/gas/index.ts +1 -0
- package/src/ha-signing/config.ts +45 -38
- package/src/ha-signing/index.ts +12 -1
- package/src/ha-signing/local_config.ts +46 -0
- package/src/ha-signing/types.ts +48 -34
- package/src/hash/hash.ts +34 -0
- package/src/interfaces/allowed_element.ts +28 -4
- package/src/interfaces/archiver.ts +6 -3
- package/src/interfaces/aztec-node-admin.ts +5 -7
- package/src/interfaces/aztec-node-debug.ts +40 -0
- package/src/interfaces/aztec-node.ts +39 -5
- package/src/interfaces/block-builder.ts +56 -13
- package/src/interfaces/client.ts +1 -0
- package/src/interfaces/configs.ts +15 -4
- package/src/interfaces/l2_logs_source.ts +4 -1
- package/src/interfaces/merkle_tree_operations.ts +11 -20
- package/src/interfaces/prover-client.ts +10 -5
- package/src/interfaces/slasher.ts +0 -6
- package/src/interfaces/validator.ts +61 -37
- package/src/interfaces/world_state.ts +4 -3
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +9 -0
- 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/extended_directional_app_tagging_secret.ts +19 -8
- package/src/logs/index.ts +1 -0
- package/src/logs/log_filter.ts +5 -0
- package/src/logs/log_id.ts +1 -2
- package/src/logs/message_context.ts +17 -7
- package/src/logs/pending_tagged_log.ts +1 -3
- package/src/logs/shared_secret_derivation.ts +21 -10
- package/src/logs/siloed_tag.ts +15 -11
- package/src/logs/tag.ts +8 -8
- 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 +98 -33
- package/src/noir/index.ts +2 -2
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/block_proposal.ts +13 -9
- package/src/p2p/checkpoint_attestation.ts +5 -9
- package/src/p2p/checkpoint_proposal.ts +19 -48
- package/src/p2p/gossipable.ts +4 -4
- package/src/p2p/peer_error.ts +7 -0
- package/src/proofs/chonk_proof.ts +91 -5
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +3 -35
- package/src/slashing/{tally.ts → votes.ts} +22 -4
- package/src/tests/factories.ts +5 -34
- package/src/tests/mocks.ts +33 -18
- package/src/timetable/index.ts +293 -13
- package/src/tx/block_header.ts +8 -2
- 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/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +1 -2
- package/src/tx/private_execution_result.ts +5 -5
- package/src/tx/profiling.ts +11 -2
- package/src/tx/simulated_tx.ts +6 -2
- package/src/tx/tx.ts +22 -13
- package/src/tx/tx_receipt.ts +18 -16
- package/src/tx/validator/error_texts.ts +11 -0
- 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/versioning/versioning.ts +4 -1
- package/src/world-state/genesis_data.ts +15 -0
- package/src/world-state/index.ts +1 -0
- 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/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 -158
- package/dest/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -87
- 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/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/l1-contracts/slash_factory.ts +0 -180
- package/src/slashing/empire.ts +0 -104
- package/src/update-checker/update-checker.ts +0 -166
package/dest/tests/mocks.js
CHANGED
|
@@ -45,13 +45,14 @@ import { TxEffect } from '../tx/tx_effect.js';
|
|
|
45
45
|
import { TxHash } from '../tx/tx_hash.js';
|
|
46
46
|
import { makeAvmCircuitInputs, makeAztecAddress, makeBlockHeader, makeCheckpointHeader, makeGas, makeGlobalVariables, makePrivateToPublicAccumulatedData, makePrivateToRollupAccumulatedData, makeProtocolContracts, makePublicCallRequest, makePublicDataWrite } from './factories.js';
|
|
47
47
|
export const randomTxHash = ()=>TxHash.random();
|
|
48
|
-
export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertibleNullifiers = 0, hasPublicTeardownCallRequest = false, publicCalldataSize = 2, feePayer, chonkProof = ChonkProof.random(), maxFeesPerGas = new GasFees(10, 10), maxPriorityFeesPerGas, gasUsed = Gas.empty(), chainId = Fr.ZERO, version = Fr.ZERO, vkTreeRoot = Fr.ZERO, protocolContractsHash = Fr.ZERO, anchorBlockHeader = BlockHeader.empty() } = {})=>{
|
|
48
|
+
export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertibleNullifiers = 0, hasPublicTeardownCallRequest = false, publicCalldataSize = 2, feePayer, chonkProof = ChonkProof.random(), gasLimits, maxFeesPerGas = new GasFees(10, 10), maxPriorityFeesPerGas, gasUsed = Gas.empty(), chainId = Fr.ZERO, version = Fr.ZERO, vkTreeRoot = Fr.ZERO, protocolContractsHash = Fr.ZERO, anchorBlockHeader = BlockHeader.empty() } = {})=>{
|
|
49
49
|
const totalPublicCallRequests = numberOfNonRevertiblePublicCallRequests + numberOfRevertiblePublicCallRequests + (hasPublicTeardownCallRequest ? 1 : 0);
|
|
50
50
|
const isForPublic = totalPublicCallRequests > 0;
|
|
51
51
|
const data = PrivateKernelTailCircuitPublicInputs.empty();
|
|
52
52
|
const firstNullifier = new Nullifier(new Fr(seed + 1), Fr.ZERO, 0);
|
|
53
53
|
data.constants.anchorBlockHeader = anchorBlockHeader;
|
|
54
|
-
data.constants.txContext.gasSettings = GasSettings.
|
|
54
|
+
data.constants.txContext.gasSettings = GasSettings.fallback({
|
|
55
|
+
gasLimits,
|
|
55
56
|
maxFeesPerGas,
|
|
56
57
|
maxPriorityFeesPerGas
|
|
57
58
|
});
|
|
@@ -100,7 +101,7 @@ export const mockTxForRollup = (seed = 1, opts = {})=>mockTx(seed, {
|
|
|
100
101
|
numberOfNonRevertiblePublicCallRequests: 0,
|
|
101
102
|
numberOfRevertiblePublicCallRequests: 0
|
|
102
103
|
});
|
|
103
|
-
/** Mock a processed tx for testing purposes. */ export async function mockProcessedTx({ seed = 1, anchorBlockHeader, db, chainId = Fr.ZERO, version = Fr.ZERO, gasSettings = GasSettings.
|
|
104
|
+
/** Mock a processed tx for testing purposes. */ export async function mockProcessedTx({ seed = 1, anchorBlockHeader, db, chainId = Fr.ZERO, version = Fr.ZERO, gasSettings = GasSettings.fallback({
|
|
104
105
|
maxFeesPerGas: new GasFees(10, 10)
|
|
105
106
|
}), vkTreeRoot = Fr.ZERO, protocolContracts = makeProtocolContracts(seed + 0x100), globalVariables = GlobalVariables.empty(), newL1ToL2Snapshot = AppendOnlyTreeSnapshot.empty(), feePayer, feePaymentPublicDataWrite, // The default gasUsed is the tx overhead.
|
|
106
107
|
privateOnly = false, gasUsed = Gas.from({
|
|
@@ -215,6 +216,10 @@ export function mockL1ToL2Messages(numL1ToL2Messages) {
|
|
|
215
216
|
}
|
|
216
217
|
export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNumber = BlockNumber(1), numBlocks = 1, blocks, numTxsPerBlock = 1, numL1ToL2Messages = 1, makeBlockOptions = ()=>({}), previousArchive, maxEffects, ...options } = {}) {
|
|
217
218
|
const slotNumber = options.slotNumber ?? SlotNumber(Number(checkpointNumber) * 10);
|
|
219
|
+
const globals = GlobalVariables.random({
|
|
220
|
+
slotNumber,
|
|
221
|
+
...options
|
|
222
|
+
});
|
|
218
223
|
const blocksAndMessages = [];
|
|
219
224
|
// Track the previous block's archive to ensure consecutive blocks have consistent archive roots.
|
|
220
225
|
// The current block's header.lastArchive must equal the previous block's archive.
|
|
@@ -227,11 +232,11 @@ export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNu
|
|
|
227
232
|
const blockNumber = BlockNumber(startBlockNumber + i);
|
|
228
233
|
const { block, messages } = {
|
|
229
234
|
block: blocks?.[i] ?? await L2Block.random(blockNumber, {
|
|
235
|
+
...globals,
|
|
230
236
|
checkpointNumber,
|
|
231
237
|
indexWithinCheckpoint: IndexWithinCheckpoint(i),
|
|
232
238
|
txsPerBlock: numTxsPerBlock,
|
|
233
239
|
txOptions,
|
|
234
|
-
slotNumber,
|
|
235
240
|
...options,
|
|
236
241
|
...makeBlockOptions(blockNumber),
|
|
237
242
|
...lastArchive ? {
|
|
@@ -249,17 +254,17 @@ export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNu
|
|
|
249
254
|
}
|
|
250
255
|
const messages = blocksAndMessages[0].messages;
|
|
251
256
|
const inHash = computeInHashFromL1ToL2Messages(messages);
|
|
257
|
+
const firstBlockLastArchive = blocksAndMessages[0].block.header.lastArchive;
|
|
252
258
|
const checkpoint = await Checkpoint.random(checkpointNumber, {
|
|
253
259
|
numBlocks: 0,
|
|
254
|
-
slotNumber,
|
|
255
260
|
inHash,
|
|
256
|
-
...options
|
|
261
|
+
...options,
|
|
262
|
+
...globals,
|
|
263
|
+
lastArchive: firstBlockLastArchive,
|
|
264
|
+
lastArchiveRoot: firstBlockLastArchive.root,
|
|
265
|
+
archive: lastArchive
|
|
257
266
|
});
|
|
258
267
|
checkpoint.blocks = blocksAndMessages.map(({ block })=>block);
|
|
259
|
-
// Set the checkpoint's archive to match the last block's archive for proper chaining.
|
|
260
|
-
// When the archiver reconstructs checkpoints from L1, it uses the checkpoint's archive root
|
|
261
|
-
// from the L1 event to set the last block's archive. Without this, the archive chain breaks.
|
|
262
|
-
checkpoint.archive = lastArchive;
|
|
263
268
|
// Return lastArchive so callers can chain it across multiple checkpoints
|
|
264
269
|
return {
|
|
265
270
|
checkpoint,
|
|
@@ -331,29 +336,24 @@ export const makeBlockProposal = (options)=>{
|
|
|
331
336
|
].map(()=>TxHash.random());
|
|
332
337
|
const txs = options?.txs;
|
|
333
338
|
const signer = options?.signer ?? Secp256k1Signer.random();
|
|
334
|
-
return BlockProposal.createProposalFromSigner(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, (_payload, _context)=>Promise.resolve(signer.signMessage(_payload)));
|
|
339
|
+
return BlockProposal.createProposalFromSigner(blockHeader, CheckpointNumber(1), indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, (_payload, _context)=>Promise.resolve(signer.signMessage(_payload)));
|
|
335
340
|
};
|
|
336
|
-
export const makeCheckpointProposal = (options)=>{
|
|
337
|
-
const blockHeader = options?.lastBlock?.blockHeader ?? makeBlockHeader(1);
|
|
341
|
+
export const makeCheckpointProposal = async (options)=>{
|
|
338
342
|
const checkpointHeader = options?.checkpointHeader ?? makeCheckpointHeader(1);
|
|
339
343
|
const archiveRoot = options?.archiveRoot ?? Fr.random();
|
|
340
344
|
const feeAssetPriceModifier = options?.feeAssetPriceModifier ?? 0n;
|
|
341
345
|
const signer = options?.signer ?? Secp256k1Signer.random();
|
|
342
|
-
// Build
|
|
343
|
-
const
|
|
344
|
-
blockHeader,
|
|
346
|
+
// Build a signed block proposal if lastBlock options are provided
|
|
347
|
+
const lastBlockProposal = options?.lastBlock ? await makeBlockProposal({
|
|
348
|
+
blockHeader: options.lastBlock.blockHeader,
|
|
345
349
|
indexWithinCheckpoint: options.lastBlock.indexWithinCheckpoint ?? IndexWithinCheckpoint(4),
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
].map(()=>TxHash.random()),
|
|
354
|
-
txs: options.lastBlock.txs
|
|
355
|
-
} : undefined;
|
|
356
|
-
return CheckpointProposal.createProposalFromSigner(checkpointHeader, archiveRoot, feeAssetPriceModifier, lastBlockInfo, (payload)=>Promise.resolve(signer.signMessage(payload)));
|
|
350
|
+
inHash: checkpointHeader.inHash,
|
|
351
|
+
archiveRoot,
|
|
352
|
+
txHashes: options.lastBlock.txHashes,
|
|
353
|
+
txs: options.lastBlock.txs,
|
|
354
|
+
signer
|
|
355
|
+
}) : undefined;
|
|
356
|
+
return CheckpointProposal.createProposalFromSigner(checkpointHeader, archiveRoot, CheckpointNumber(1), feeAssetPriceModifier, lastBlockProposal, (payload)=>Promise.resolve(signer.signMessage(payload)));
|
|
357
357
|
};
|
|
358
358
|
/**
|
|
359
359
|
* Create a checkpoint attestation for testing
|
|
@@ -19,6 +19,55 @@ export declare const DEFAULT_P2P_PROPAGATION_TIME = 2;
|
|
|
19
19
|
export declare const DEFAULT_L1_PUBLISHING_TIME = 12;
|
|
20
20
|
/** Minimum execution time for building a block in seconds */
|
|
21
21
|
export declare const MIN_EXECUTION_TIME = 2;
|
|
22
|
+
export type CheckpointTimingConfig = {
|
|
23
|
+
aztecSlotDuration: number;
|
|
24
|
+
ethereumSlotDuration?: number;
|
|
25
|
+
blockDuration?: number;
|
|
26
|
+
checkpointAssembleTime?: number;
|
|
27
|
+
checkpointInitializationTime?: number;
|
|
28
|
+
l1PublishingTime?: number;
|
|
29
|
+
minExecutionTime?: number;
|
|
30
|
+
p2pPropagationTime?: number;
|
|
31
|
+
pipelining?: boolean;
|
|
32
|
+
};
|
|
33
|
+
export interface CheckpointTiming {
|
|
34
|
+
readonly aztecSlotDuration: number;
|
|
35
|
+
readonly blockDuration: number | undefined;
|
|
36
|
+
readonly checkpointAssembleTime: number;
|
|
37
|
+
readonly checkpointInitializationTime: number;
|
|
38
|
+
readonly l1PublishingTime: number;
|
|
39
|
+
readonly minExecutionTime: number;
|
|
40
|
+
readonly p2pPropagationTime: number;
|
|
41
|
+
readonly checkpointFinalizationTime: number;
|
|
42
|
+
readonly pipeliningAttestationGracePeriod: number;
|
|
43
|
+
readonly timeReservedAtEnd: number;
|
|
44
|
+
readonly minimumBuildSlotWork: number;
|
|
45
|
+
readonly initializeDeadline: number;
|
|
46
|
+
readonly checkpointAssemblyDeadline: number;
|
|
47
|
+
readonly checkpointAttestationStartDeadline: number;
|
|
48
|
+
readonly checkpointAttestationDeadline: number;
|
|
49
|
+
readonly checkpointPublishingDeadline: number;
|
|
50
|
+
calculateMaxBlocksPerSlot(): number;
|
|
51
|
+
}
|
|
52
|
+
export interface PipelinedCheckpointTiming extends CheckpointTiming {
|
|
53
|
+
readonly proposalWindowIntoTargetSlot: number;
|
|
54
|
+
readonly attestationWindowIntoTargetSlot: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Creates a checkpoint timing model for the requested scheduling mode.
|
|
58
|
+
*
|
|
59
|
+
* Most callers should use this factory and depend only on the shared
|
|
60
|
+
* `CheckpointTiming` interface. The returned implementation is selected from
|
|
61
|
+
* `opts.pipelining`.
|
|
62
|
+
*/
|
|
63
|
+
export declare function createCheckpointTimingModel(opts: CheckpointTimingConfig): CheckpointTiming;
|
|
64
|
+
/**
|
|
65
|
+
* Creates a pipelined checkpoint timing model with target-slot window accessors.
|
|
66
|
+
*
|
|
67
|
+
* Use this when the caller specifically needs the pipelined-only timing surface,
|
|
68
|
+
* such as proposal or attestation acceptance windows into the target slot.
|
|
69
|
+
*/
|
|
70
|
+
export declare function createPipelinedCheckpointTimingModel(opts: Omit<CheckpointTimingConfig, 'pipelining'>): PipelinedCheckpointTiming;
|
|
22
71
|
/**
|
|
23
72
|
* Calculates the maximum number of blocks that can be built in a slot.
|
|
24
73
|
* Used by both the sequencer timetable and p2p gossipsub scoring.
|
|
@@ -33,5 +82,6 @@ export declare function calculateMaxBlocksPerSlot(aztecSlotDurationSec: number,
|
|
|
33
82
|
checkpointAssembleTime?: number;
|
|
34
83
|
p2pPropagationTime?: number;
|
|
35
84
|
l1PublishingTime?: number;
|
|
85
|
+
pipelining?: boolean;
|
|
36
86
|
}): number;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aW1ldGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUVILG1GQUFtRjtBQUNuRixlQUFPLE1BQU0sOEJBQThCLElBQUksQ0FBQztBQUVoRCx1RkFBdUY7QUFDdkYsZUFBTyxNQUFNLHdCQUF3QixJQUFJLENBQUM7QUFFMUMscUZBQXFGO0FBQ3JGLGVBQU8sTUFBTSw0QkFBNEIsSUFBSSxDQUFDO0FBRTlDLHdGQUF3RjtBQUN4RixlQUFPLE1BQU0sMEJBQTBCLEtBQUssQ0FBQztBQUU3Qyw2REFBNkQ7QUFDN0QsZUFBTyxNQUFNLGtCQUFrQixJQUFJLENBQUM7QUFFcEMsTUFBTSxNQUFNLHNCQUFzQixHQUFHO0lBQ25DLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUMxQixvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM5QixhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdkIsc0JBQXNCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDaEMsNEJBQTRCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdEMsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDMUIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDMUIsa0JBQWtCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDNUIsVUFBVSxDQUFDLEVBQUUsT0FBTyxDQUFDO0NBQ3RCLENBQUM7QUFFRixNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDbkMsUUFBUSxDQUFDLGFBQWEsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQzNDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxNQUFNLENBQUM7SUFDeEMsUUFBUSxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQztJQUM5QyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQ2xDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFDbEMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQztJQUNwQyxRQUFRLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDO0lBQzVDLFFBQVEsQ0FBQyxnQ0FBZ0MsRUFBRSxNQUFNLENBQUM7SUFDbEQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUNuQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDO0lBQ3RDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDcEMsUUFBUSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQztJQUM1QyxRQUFRLENBQUMsa0NBQWtDLEVBQUUsTUFBTSxDQUFDO0lBQ3BELFFBQVEsQ0FBQyw2QkFBNkIsRUFBRSxNQUFNLENBQUM7SUFDL0MsUUFBUSxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQztJQUU5Qyx5QkFBeUIsSUFBSSxNQUFNLENBQUM7Q0FDckM7QUFFRCxNQUFNLFdBQVcseUJBQTBCLFNBQVEsZ0JBQWdCO0lBQ2pFLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRSxNQUFNLENBQUM7SUFDOUMsUUFBUSxDQUFDLCtCQUErQixFQUFFLE1BQU0sQ0FBQztDQUNsRDtBQThJRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0IsMkJBQTJCLENBQUMsSUFBSSxFQUFFLHNCQUFzQixHQUFHLGdCQUFnQixDQVMxRjtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLG9DQUFvQyxDQUNsRCxJQUFJLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFlBQVksQ0FBQyxHQUMvQyx5QkFBeUIsQ0FPM0I7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFnQix5QkFBeUIsQ0FDdkMsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixnQkFBZ0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUNwQyxJQUFJLEdBQUU7SUFDSiw0QkFBNEIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN0QyxzQkFBc0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNoQyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM1QixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUMxQixVQUFVLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDakIsR0FDTCxNQUFNLENBVVIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/timetable/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,mFAAmF;AACnF,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,uFAAuF;AACvF,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,qFAAqF;AACrF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,oBAAoB,EAAE,MAAM,EAC5B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,IAAI,GAAE;IACJ,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/timetable/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,mFAAmF;AACnF,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,uFAAuF;AACvF,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,qFAAqF;AACrF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAClD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,kCAAkC,EAAE,MAAM,CAAC;IACpD,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAE9C,yBAAyB,IAAI,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,+BAA+B,EAAE,MAAM,CAAC;CAClD;AA8ID;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,GAAG,gBAAgB,CAS1F;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,GAC/C,yBAAyB,CAO3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,oBAAoB,EAAE,MAAM,EAC5B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,IAAI,GAAE;IACJ,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,GACL,MAAM,CAUR"}
|
package/dest/timetable/index.js
CHANGED
|
@@ -13,6 +13,139 @@
|
|
|
13
13
|
/** Default one-way P2P propagation time for proposals and attestations in seconds */ export const DEFAULT_P2P_PROPAGATION_TIME = 2;
|
|
14
14
|
/** Default L1 publishing time (matches Ethereum slot duration on mainnet) in seconds */ export const DEFAULT_L1_PUBLISHING_TIME = 12;
|
|
15
15
|
/** Minimum execution time for building a block in seconds */ export const MIN_EXECUTION_TIME = 2;
|
|
16
|
+
/**
|
|
17
|
+
* Shared base for checkpoint timing implementations.
|
|
18
|
+
*
|
|
19
|
+
* This class owns the common inputs and formulas used by both pipelined and
|
|
20
|
+
* non-pipelined scheduling. Variant-specific deadline math is delegated to the
|
|
21
|
+
* concrete subclasses below.
|
|
22
|
+
*/ class BaseCheckpointTiming {
|
|
23
|
+
aztecSlotDuration;
|
|
24
|
+
blockDuration;
|
|
25
|
+
checkpointAssembleTime;
|
|
26
|
+
checkpointInitializationTime;
|
|
27
|
+
l1PublishingTime;
|
|
28
|
+
minExecutionTime;
|
|
29
|
+
p2pPropagationTime;
|
|
30
|
+
constructor(opts){
|
|
31
|
+
this.aztecSlotDuration = opts.aztecSlotDuration;
|
|
32
|
+
this.blockDuration = opts.blockDuration;
|
|
33
|
+
this.checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
|
|
34
|
+
this.checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
|
|
35
|
+
this.l1PublishingTime = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
|
|
36
|
+
this.minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
|
|
37
|
+
this.p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
|
|
38
|
+
}
|
|
39
|
+
get checkpointFinalizationTime() {
|
|
40
|
+
// Allow enough time to
|
|
41
|
+
// - build the checkpoint
|
|
42
|
+
// - Round-trip over p2p
|
|
43
|
+
// - Publish to L1
|
|
44
|
+
return this.checkpointAssembleTime + this.p2pPropagationTime * 2 + this.l1PublishingTime;
|
|
45
|
+
}
|
|
46
|
+
get pipeliningAttestationGracePeriod() {
|
|
47
|
+
// Allow enough time to
|
|
48
|
+
// - build the block
|
|
49
|
+
// - pass it back over p2p
|
|
50
|
+
return (this.blockDuration ?? 0) + this.p2pPropagationTime;
|
|
51
|
+
}
|
|
52
|
+
get initializeDeadline() {
|
|
53
|
+
return this.aztecSlotDuration - this.minimumBuildSlotWork;
|
|
54
|
+
}
|
|
55
|
+
get checkpointAttestationStartDeadline() {
|
|
56
|
+
return this.checkpointAssemblyDeadline;
|
|
57
|
+
}
|
|
58
|
+
calculateMaxBlocksPerSlot() {
|
|
59
|
+
if (!this.blockDuration) {
|
|
60
|
+
return 1;
|
|
61
|
+
}
|
|
62
|
+
const timeAvailableForBlocks = this.aztecSlotDuration - this.checkpointInitializationTime - this.timeReservedAtEnd;
|
|
63
|
+
return Math.floor(timeAvailableForBlocks / this.blockDuration);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Checkpoint timing model for the non-pipelined sequencer flow.
|
|
68
|
+
*
|
|
69
|
+
* In this mode, checkpoint assembly, attestation collection, and L1 publishing
|
|
70
|
+
* must all complete within the current Aztec slot.
|
|
71
|
+
*/ class StandardCheckpointTimingModel extends BaseCheckpointTiming {
|
|
72
|
+
get timeReservedAtEnd() {
|
|
73
|
+
return (this.blockDuration ?? 0) + this.checkpointFinalizationTime;
|
|
74
|
+
}
|
|
75
|
+
get minimumBuildSlotWork() {
|
|
76
|
+
return this.checkpointInitializationTime + this.minExecutionTime * 2 + this.checkpointFinalizationTime;
|
|
77
|
+
}
|
|
78
|
+
get checkpointAssemblyDeadline() {
|
|
79
|
+
return this.aztecSlotDuration - this.l1PublishingTime - 2 * this.p2pPropagationTime;
|
|
80
|
+
}
|
|
81
|
+
get checkpointAttestationDeadline() {
|
|
82
|
+
return this.aztecSlotDuration - this.l1PublishingTime;
|
|
83
|
+
}
|
|
84
|
+
get checkpointPublishingDeadline() {
|
|
85
|
+
return this.aztecSlotDuration - this.l1PublishingTime;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Checkpoint timing model for proposer pipelining.
|
|
90
|
+
*
|
|
91
|
+
* In this mode, the build work still starts in the current slot, but checkpoint
|
|
92
|
+
* assembly and attestation collection can extend into the target slot. The extra
|
|
93
|
+
* target-slot window getters are intended for consumers such as P2P validators
|
|
94
|
+
* that need to validate pipelined messages against wallclock time.
|
|
95
|
+
*/ class PipelinedCheckpointTimingModel extends BaseCheckpointTiming {
|
|
96
|
+
get proposalWindowIntoTargetSlot() {
|
|
97
|
+
// Allow the p2p propagation time to receive a checkpoint proposal from leader
|
|
98
|
+
return this.p2pPropagationTime;
|
|
99
|
+
}
|
|
100
|
+
get attestationWindowIntoTargetSlot() {
|
|
101
|
+
return this.aztecSlotDuration - this.l1PublishingTime;
|
|
102
|
+
}
|
|
103
|
+
get timeReservedAtEnd() {
|
|
104
|
+
return this.checkpointAssembleTime + this.p2pPropagationTime;
|
|
105
|
+
}
|
|
106
|
+
get minimumBuildSlotWork() {
|
|
107
|
+
return this.checkpointInitializationTime + this.minExecutionTime * 2;
|
|
108
|
+
}
|
|
109
|
+
get checkpointAssemblyDeadline() {
|
|
110
|
+
// Allow enough time to
|
|
111
|
+
// - build all blocks
|
|
112
|
+
// - receive attestations
|
|
113
|
+
return this.aztecSlotDuration + this.pipeliningAttestationGracePeriod;
|
|
114
|
+
}
|
|
115
|
+
get checkpointAttestationDeadline() {
|
|
116
|
+
// Allowed to be into the next wallclock slot minus the allocated l1 publishing time
|
|
117
|
+
return this.aztecSlotDuration * 2 - this.l1PublishingTime;
|
|
118
|
+
}
|
|
119
|
+
get checkpointPublishingDeadline() {
|
|
120
|
+
// Allowed to be into the next wallclock slot minus the allocated l1 Publishing time
|
|
121
|
+
return this.aztecSlotDuration * 2 - this.l1PublishingTime;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Creates a checkpoint timing model for the requested scheduling mode.
|
|
126
|
+
*
|
|
127
|
+
* Most callers should use this factory and depend only on the shared
|
|
128
|
+
* `CheckpointTiming` interface. The returned implementation is selected from
|
|
129
|
+
* `opts.pipelining`.
|
|
130
|
+
*/ export function createCheckpointTimingModel(opts) {
|
|
131
|
+
validateCheckpointTimingConfig(opts);
|
|
132
|
+
const normalizedOpts = normalizeCheckpointTimingConfig(opts);
|
|
133
|
+
const timing = normalizedOpts.pipelining ? new PipelinedCheckpointTimingModel(normalizedOpts) : new StandardCheckpointTimingModel(normalizedOpts);
|
|
134
|
+
validateCheckpointTimingModel(timing);
|
|
135
|
+
return timing;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Creates a pipelined checkpoint timing model with target-slot window accessors.
|
|
139
|
+
*
|
|
140
|
+
* Use this when the caller specifically needs the pipelined-only timing surface,
|
|
141
|
+
* such as proposal or attestation acceptance windows into the target slot.
|
|
142
|
+
*/ export function createPipelinedCheckpointTimingModel(opts) {
|
|
143
|
+
validateCheckpointTimingConfig(opts);
|
|
144
|
+
const normalizedOpts = normalizeCheckpointTimingConfig(opts);
|
|
145
|
+
const timing = new PipelinedCheckpointTimingModel(normalizedOpts);
|
|
146
|
+
validateCheckpointTimingModel(timing);
|
|
147
|
+
return timing;
|
|
148
|
+
}
|
|
16
149
|
/**
|
|
17
150
|
* Calculates the maximum number of blocks that can be built in a slot.
|
|
18
151
|
* Used by both the sequencer timetable and p2p gossipsub scoring.
|
|
@@ -22,18 +155,75 @@
|
|
|
22
155
|
* @param opts - Optional overrides for timing constants
|
|
23
156
|
* @returns Maximum number of blocks per slot
|
|
24
157
|
*/ export function calculateMaxBlocksPerSlot(aztecSlotDurationSec, blockDurationSec, opts = {}) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
158
|
+
return createCheckpointTimingModel({
|
|
159
|
+
aztecSlotDuration: aztecSlotDurationSec,
|
|
160
|
+
blockDuration: blockDurationSec,
|
|
161
|
+
checkpointAssembleTime: opts.checkpointAssembleTime,
|
|
162
|
+
checkpointInitializationTime: opts.checkpointInitializationTime,
|
|
163
|
+
l1PublishingTime: opts.l1PublishingTime,
|
|
164
|
+
p2pPropagationTime: opts.p2pPropagationTime,
|
|
165
|
+
pipelining: opts.pipelining
|
|
166
|
+
}).calculateMaxBlocksPerSlot();
|
|
167
|
+
}
|
|
168
|
+
function assertNonNegative(name, value) {
|
|
169
|
+
if (value < 0) {
|
|
170
|
+
throw new Error(`${name} must be non-negative (got ${value})`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
function validateCheckpointTimingConfig(opts) {
|
|
174
|
+
if (opts.aztecSlotDuration <= 0) {
|
|
175
|
+
throw new Error(`aztecSlotDuration must be positive (got ${opts.aztecSlotDuration})`);
|
|
176
|
+
}
|
|
177
|
+
if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration <= 0) {
|
|
178
|
+
throw new Error(`ethereumSlotDuration must be positive when provided (got ${opts.ethereumSlotDuration})`);
|
|
179
|
+
}
|
|
180
|
+
if (opts.blockDuration !== undefined && opts.blockDuration <= 0) {
|
|
181
|
+
throw new Error(`blockDuration must be positive when provided (got ${opts.blockDuration})`);
|
|
182
|
+
}
|
|
183
|
+
if (opts.minExecutionTime !== undefined && opts.minExecutionTime <= 0) {
|
|
184
|
+
throw new Error(`minExecutionTime must be positive when provided (got ${opts.minExecutionTime})`);
|
|
185
|
+
}
|
|
186
|
+
if (opts.checkpointAssembleTime !== undefined) {
|
|
187
|
+
assertNonNegative('checkpointAssembleTime', opts.checkpointAssembleTime);
|
|
188
|
+
}
|
|
189
|
+
if (opts.checkpointInitializationTime !== undefined) {
|
|
190
|
+
assertNonNegative('checkpointInitializationTime', opts.checkpointInitializationTime);
|
|
191
|
+
}
|
|
192
|
+
if (opts.l1PublishingTime !== undefined) {
|
|
193
|
+
assertNonNegative('l1PublishingTime', opts.l1PublishingTime);
|
|
194
|
+
}
|
|
195
|
+
if (opts.p2pPropagationTime !== undefined) {
|
|
196
|
+
assertNonNegative('p2pPropagationTime', opts.p2pPropagationTime);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
function normalizeCheckpointTimingConfig(opts) {
|
|
200
|
+
let checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
|
|
201
|
+
let checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
|
|
202
|
+
let minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
|
|
203
|
+
let p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
|
|
204
|
+
if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration < 8) {
|
|
205
|
+
p2pPropagationTime = 0;
|
|
206
|
+
checkpointAssembleTime = 0.5;
|
|
207
|
+
checkpointInitializationTime = 0.5;
|
|
208
|
+
minExecutionTime = 1;
|
|
209
|
+
}
|
|
210
|
+
if (opts.blockDuration !== undefined && minExecutionTime > opts.blockDuration) {
|
|
211
|
+
minExecutionTime = opts.blockDuration;
|
|
212
|
+
}
|
|
213
|
+
return {
|
|
214
|
+
...opts,
|
|
215
|
+
checkpointAssembleTime,
|
|
216
|
+
checkpointInitializationTime,
|
|
217
|
+
minExecutionTime,
|
|
218
|
+
p2pPropagationTime
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
function validateCheckpointTimingModel(model) {
|
|
222
|
+
if (model.blockDuration === undefined) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
const timeAvailableForBlocks = model.aztecSlotDuration - model.checkpointInitializationTime - model.timeReservedAtEnd;
|
|
226
|
+
if (timeAvailableForBlocks < model.blockDuration) {
|
|
227
|
+
throw new Error(`Invalid timing configuration: only ${timeAvailableForBlocks}s available for block building, which is less than one blockDuration (${model.blockDuration}s).`);
|
|
228
|
+
}
|
|
39
229
|
}
|
|
@@ -63,7 +63,9 @@ export declare class BlockHeader {
|
|
|
63
63
|
static fromString(str: string): BlockHeader;
|
|
64
64
|
hash(): Promise<BlockHash>;
|
|
65
65
|
/** Manually set the hash for this block header if already computed */
|
|
66
|
-
setHash(hashed:
|
|
66
|
+
setHash(hashed: BlockHash): void;
|
|
67
|
+
/** Recomputes the cached hash. Used for testing when header fields are mutated via unfreeze. */
|
|
68
|
+
recomputeHash(): Promise<BlockHash>;
|
|
67
69
|
static random(overrides?: Partial<FieldsOf<BlockHeader>> & Partial<FieldsOf<GlobalVariables>>): BlockHeader;
|
|
68
70
|
toInspect(): {
|
|
69
71
|
lastArchive: `0x${string}`;
|
|
@@ -91,4 +93,4 @@ export declare class BlockHeader {
|
|
|
91
93
|
[inspect.custom](): string;
|
|
92
94
|
equals(other: this): boolean;
|
|
93
95
|
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGVhZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvYmxvY2tfaGVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHMUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBVyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUF3QyxNQUFNLDZCQUE2QixDQUFDO0FBRTlHLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsK0JBQStCO0FBQy9CLHFCQUFhLFdBQVc7SUFJcEIsdURBQXVEO2FBQ3ZDLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkQsdUJBQXVCO2FBQ1AsS0FBSyxFQUFFLGNBQWM7SUFDckM7OztPQUdHO2FBQ2EsY0FBYyxFQUFFLEVBQUU7SUFDbEMsdUNBQXVDO2FBQ3ZCLGVBQWUsRUFBRSxlQUFlO0lBQ2hELG1FQUFtRTthQUNuRCxTQUFTLEVBQUUsRUFBRTtJQUM3Qix3RUFBd0U7YUFDeEQsYUFBYSxFQUFFLEVBQUU7SUFqQm5DLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBcUI7SUFFekM7SUFDRSx1REFBdUQ7SUFDdkMsV0FBVyxFQUFFLHNCQUFzQjtJQUNuRCx1QkFBdUI7SUFDUCxLQUFLLEVBQUUsY0FBYztJQUNyQzs7O09BR0c7SUFDYSxjQUFjLEVBQUUsRUFBRTtJQUNsQyx1Q0FBdUM7SUFDdkIsZUFBZSxFQUFFLGVBQWU7SUFDaEQsbUVBQW1FO0lBQ25ELFNBQVMsRUFBRSxFQUFFO0lBQzdCLHdFQUF3RTtJQUN4RCxhQUFhLEVBQUUsRUFBRSxFQUMvQjtJQUVKLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQVd2QztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsa0ZBUzdDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUV4QztJQUVELE9BQU8sSUFBSSxVQUFVLENBRXBCO0lBRUQsY0FBYyxJQUFJLFdBQVcsQ0FFNUI7SUFFRCxPQUFPLFdBU047SUFFRCxRQUFRLDRCQUVQO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQU1mO0lBRUQsS0FBSyxJQUFJLFdBQVcsQ0FFbkI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBQVcsQ0FXNUQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEdBQUcsV0FBVyxDQVd6RDtJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQU0sR0FBRyxXQUFXLENBVXJFO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FTakI7SUFFRDs7O09BR0c7SUFDSSxRQUFRLGtCQUVkO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFdBQVcsQ0FFMUM7SUFFRCxJQUFJLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQU96QjtJQUVELHNFQUFzRTtJQUN0RSxPQUFPLENBQUMsTUFBTSxFQUFFLFNBQVMsUUFFeEI7SUFFRCxnR0FBZ0c7SUFDaEcsYUFBYSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHbEM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBTSxHQUFHLFdBQVcsQ0FVOUc7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BU1I7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FZZjtJQUVNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLE9BQU8sQ0FTbEM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_header.d.ts","sourceRoot":"","sources":["../../src/tx/block_header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,+BAA+B;AAC/B,qBAAa,WAAW;IAIpB,uDAAuD;aACvC,WAAW,EAAE,sBAAsB;IACnD,uBAAuB;aACP,KAAK,EAAE,cAAc;IACrC;;;OAGG;aACa,cAAc,EAAE,EAAE;IAClC,uCAAuC;aACvB,eAAe,EAAE,eAAe;IAChD,mEAAmE;aACnD,SAAS,EAAE,EAAE;IAC7B,wEAAwE;aACxD,aAAa,EAAE,EAAE;IAjBnC,OAAO,CAAC,WAAW,CAAC,CAAqB;IAEzC;IACE,uDAAuD;IACvC,WAAW,EAAE,sBAAsB;IACnD,uBAAuB;IACP,KAAK,EAAE,cAAc;IACrC;;;OAGG;IACa,cAAc,EAAE,EAAE;IAClC,uCAAuC;IACvB,eAAe,EAAE,eAAe;IAChD,mEAAmE;IACnD,SAAS,EAAE,EAAE;IAC7B,wEAAwE;IACxD,aAAa,EAAE,EAAE,EAC/B;IAEJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,CAWvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,kFAS7C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,eAExC;IAED,OAAO,IAAI,UAAU,CAEpB;IAED,cAAc,IAAI,WAAW,CAE5B;IAED,OAAO,WASN;IAED,QAAQ,4BAEP;IAED,QAAQ,IAAI,EAAE,EAAE,CAMf;IAED,KAAK,IAAI,WAAW,CAEnB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAW5D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,WAAW,CAWzD;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAM,GAAG,WAAW,CAUrE;IAED,OAAO,IAAI,OAAO,CASjB;IAED;;;OAGG;IACI,QAAQ,kBAEd;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAE1C;IAED,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,CAOzB;IAED,sEAAsE;IACtE,OAAO,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"block_header.d.ts","sourceRoot":"","sources":["../../src/tx/block_header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,+BAA+B;AAC/B,qBAAa,WAAW;IAIpB,uDAAuD;aACvC,WAAW,EAAE,sBAAsB;IACnD,uBAAuB;aACP,KAAK,EAAE,cAAc;IACrC;;;OAGG;aACa,cAAc,EAAE,EAAE;IAClC,uCAAuC;aACvB,eAAe,EAAE,eAAe;IAChD,mEAAmE;aACnD,SAAS,EAAE,EAAE;IAC7B,wEAAwE;aACxD,aAAa,EAAE,EAAE;IAjBnC,OAAO,CAAC,WAAW,CAAC,CAAqB;IAEzC;IACE,uDAAuD;IACvC,WAAW,EAAE,sBAAsB;IACnD,uBAAuB;IACP,KAAK,EAAE,cAAc;IACrC;;;OAGG;IACa,cAAc,EAAE,EAAE;IAClC,uCAAuC;IACvB,eAAe,EAAE,eAAe;IAChD,mEAAmE;IACnD,SAAS,EAAE,EAAE;IAC7B,wEAAwE;IACxD,aAAa,EAAE,EAAE,EAC/B;IAEJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,CAWvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,kFAS7C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,eAExC;IAED,OAAO,IAAI,UAAU,CAEpB;IAED,cAAc,IAAI,WAAW,CAE5B;IAED,OAAO,WASN;IAED,QAAQ,4BAEP;IAED,QAAQ,IAAI,EAAE,EAAE,CAMf;IAED,KAAK,IAAI,WAAW,CAEnB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAW5D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,WAAW,CAWzD;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAM,GAAG,WAAW,CAUrE;IAED,OAAO,IAAI,OAAO,CASjB;IAED;;;OAGG;IACI,QAAQ,kBAEd;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAE1C;IAED,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,CAOzB;IAED,sEAAsE;IACtE,OAAO,CAAC,MAAM,EAAE,SAAS,QAExB;IAED,gGAAgG;IAChG,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC,CAGlC;IAED,MAAM,CAAC,MAAM,CAAC,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAM,GAAG,WAAW,CAU9G;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;MASR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAYf;IAEM,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CASlC;CACF"}
|
package/dest/tx/block_header.js
CHANGED
|
@@ -115,7 +115,11 @@ _computedKey = inspect.custom;
|
|
|
115
115
|
return this._cachedHash;
|
|
116
116
|
}
|
|
117
117
|
/** Manually set the hash for this block header if already computed */ setHash(hashed) {
|
|
118
|
-
this._cachedHash = Promise.resolve(
|
|
118
|
+
this._cachedHash = Promise.resolve(hashed);
|
|
119
|
+
}
|
|
120
|
+
/** Recomputes the cached hash. Used for testing when header fields are mutated via unfreeze. */ recomputeHash() {
|
|
121
|
+
this._cachedHash = undefined;
|
|
122
|
+
return this.hash();
|
|
119
123
|
}
|
|
120
124
|
static random(overrides = {}) {
|
|
121
125
|
return BlockHeader.from({
|
package/dest/tx/capsule.d.ts
CHANGED
|
@@ -13,13 +13,17 @@ export declare class Capsule {
|
|
|
13
13
|
readonly storageSlot: Fr;
|
|
14
14
|
/** Data passed to the contract */
|
|
15
15
|
readonly data: Fr[];
|
|
16
|
+
/** Optional namespace for the capsule contents */
|
|
17
|
+
readonly scope?: AztecAddress | undefined;
|
|
16
18
|
constructor(
|
|
17
19
|
/** The address of the contract the capsule is for */
|
|
18
20
|
contractAddress: AztecAddress,
|
|
19
21
|
/** The storage slot of the capsule */
|
|
20
22
|
storageSlot: Fr,
|
|
21
23
|
/** Data passed to the contract */
|
|
22
|
-
data: Fr[]
|
|
24
|
+
data: Fr[],
|
|
25
|
+
/** Optional namespace for the capsule contents */
|
|
26
|
+
scope?: AztecAddress | undefined);
|
|
23
27
|
static get schema(): import("zod").ZodType<Capsule, any, string>;
|
|
24
28
|
toJSON(): `0x${string}`;
|
|
25
29
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
@@ -27,4 +31,4 @@ export declare class Capsule {
|
|
|
27
31
|
toString(): `0x${string}`;
|
|
28
32
|
static fromString(str: string): Capsule;
|
|
29
33
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fwc3VsZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R4L2NhcHN1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFHOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pEOzs7O0dBSUc7QUFDSCxxQkFBYSxPQUFPO0lBRWhCLHFEQUFxRDthQUNyQyxlQUFlLEVBQUUsWUFBWTtJQUM3QyxzQ0FBc0M7YUFDdEIsV0FBVyxFQUFFLEVBQUU7SUFDL0IsbUNBQW1DO2FBQ25CLElBQUksRUFBRSxFQUFFLEVBQUU7SUFDMUIsa0RBQWtEO2FBQ2xDLEtBQUssQ0FBQztJQVJ4QjtJQUNFLHFEQUFxRDtJQUNyQyxlQUFlLEVBQUUsWUFBWTtJQUM3QyxzQ0FBc0M7SUFDdEIsV0FBVyxFQUFFLEVBQUU7SUFDL0IsbUNBQW1DO0lBQ25CLElBQUksRUFBRSxFQUFFLEVBQUU7SUFDMUIsa0RBQWtEO0lBQ2xDLEtBQUssQ0FBQywwQkFBYyxFQUNsQztJQUVKLE1BQU0sS0FBSyxNQUFNLGdEQUVoQjtJQUVELE1BQU0sa0JBRUw7SUFFRCxRQUFRLDRCQUlQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxPQUFPLENBT3hEO0lBRUQsUUFBUSxrQkFFUDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sV0FFNUI7Q0FDRiJ9
|
package/dest/tx/capsule.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capsule.d.ts","sourceRoot":"","sources":["../../src/tx/capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD;;;;GAIG;AACH,qBAAa,OAAO;IAEhB,qDAAqD;aACrC,eAAe,EAAE,YAAY;IAC7C,sCAAsC;aACtB,WAAW,EAAE,EAAE;IAC/B,mCAAmC;aACnB,IAAI,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"capsule.d.ts","sourceRoot":"","sources":["../../src/tx/capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD;;;;GAIG;AACH,qBAAa,OAAO;IAEhB,qDAAqD;aACrC,eAAe,EAAE,YAAY;IAC7C,sCAAsC;aACtB,WAAW,EAAE,EAAE;IAC/B,mCAAmC;aACnB,IAAI,EAAE,EAAE,EAAE;IAC1B,kDAAkD;aAClC,KAAK,CAAC;IARxB;IACE,qDAAqD;IACrC,eAAe,EAAE,YAAY;IAC7C,sCAAsC;IACtB,WAAW,EAAE,EAAE;IAC/B,mCAAmC;IACnB,IAAI,EAAE,EAAE,EAAE;IAC1B,kDAAkD;IAClC,KAAK,CAAC,0BAAc,EAClC;IAEJ,MAAM,KAAK,MAAM,gDAEhB;IAED,MAAM,kBAEL;IAED,QAAQ,4BAIP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAOxD;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,WAE5B;CACF"}
|
package/dest/tx/capsule.js
CHANGED
|
@@ -12,10 +12,12 @@ import { Vector } from '../types/shared.js';
|
|
|
12
12
|
contractAddress;
|
|
13
13
|
storageSlot;
|
|
14
14
|
data;
|
|
15
|
-
|
|
15
|
+
scope;
|
|
16
|
+
constructor(/** The address of the contract the capsule is for */ contractAddress, /** The storage slot of the capsule */ storageSlot, /** Data passed to the contract */ data, /** Optional namespace for the capsule contents */ scope){
|
|
16
17
|
this.contractAddress = contractAddress;
|
|
17
18
|
this.storageSlot = storageSlot;
|
|
18
19
|
this.data = data;
|
|
20
|
+
this.scope = scope;
|
|
19
21
|
}
|
|
20
22
|
static get schema() {
|
|
21
23
|
return hexSchemaFor(Capsule);
|
|
@@ -24,11 +26,15 @@ import { Vector } from '../types/shared.js';
|
|
|
24
26
|
return this.toString();
|
|
25
27
|
}
|
|
26
28
|
toBuffer() {
|
|
27
|
-
return serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data));
|
|
29
|
+
return this.scope ? serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data), true, this.scope) : serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data), false);
|
|
28
30
|
}
|
|
29
31
|
static fromBuffer(buffer) {
|
|
30
32
|
const reader = BufferReader.asReader(buffer);
|
|
31
|
-
|
|
33
|
+
const contractAddress = AztecAddress.fromBuffer(reader);
|
|
34
|
+
const storageSlot = Fr.fromBuffer(reader);
|
|
35
|
+
const data = reader.readVector(Fr);
|
|
36
|
+
const hasScope = reader.readBoolean();
|
|
37
|
+
return new Capsule(contractAddress, storageSlot, data, hasScope ? AztecAddress.fromBuffer(reader) : undefined);
|
|
32
38
|
}
|
|
33
39
|
toString() {
|
|
34
40
|
return bufferToHex(this.toBuffer());
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ManaUsageEstimate } from '../gas/fee_math.js';
|
|
2
|
+
import type { GasFees } from '../gas/gas_fees.js';
|
|
3
|
+
/** Provides current and predicted fee information for transaction pricing. */
|
|
4
|
+
export interface FeeProvider {
|
|
5
|
+
/** Returns the current minimum fees for inclusion in the next block. */
|
|
6
|
+
getCurrentMinFees(): Promise<GasFees>;
|
|
7
|
+
/** Returns predicted min fees for each slot in the prediction window. */
|
|
8
|
+
getPredictedMinFees(manaUsage?: ManaUsageEstimate): Promise<GasFees[]>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX3Byb3ZpZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvZmVlX3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsOEVBQThFO0FBQzlFLE1BQU0sV0FBVyxXQUFXO0lBQzFCLHdFQUF3RTtJQUN4RSxpQkFBaUIsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMseUVBQXlFO0lBQ3pFLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxFQUFFLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0NBQ3hFIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fee_provider.d.ts","sourceRoot":"","sources":["../../src/tx/fee_provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,yEAAyE;IACzE,mBAAmB,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/** Provides current and predicted fee information for transaction pricing. */ export { };
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
+
import type { SimulationOverridesPlan } from '@aztec/ethereum/contracts';
|
|
1
2
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
3
|
import type { SlotNumber } from '@aztec/foundation/schemas';
|
|
3
4
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
4
|
-
import type { GasFees } from '../gas/gas_fees.js';
|
|
5
5
|
import type { UInt32 } from '../types/index.js';
|
|
6
6
|
import type { CheckpointGlobalVariables, GlobalVariables } from './global_variables.js';
|
|
7
7
|
/**
|
|
8
8
|
* Interface for building global variables for Aztec blocks.
|
|
9
9
|
*/
|
|
10
10
|
export interface GlobalVariableBuilder {
|
|
11
|
-
getCurrentMinFees(): Promise<GasFees>;
|
|
12
11
|
/**
|
|
13
12
|
* Builds global variables for a given block.
|
|
14
13
|
* @param blockNumber - The block number to build global variables for.
|
|
@@ -19,6 +18,6 @@ export interface GlobalVariableBuilder {
|
|
|
19
18
|
*/
|
|
20
19
|
buildGlobalVariables(blockNumber: UInt32, coinbase: EthAddress, feeRecipient: AztecAddress, slotNumber?: SlotNumber): Promise<GlobalVariables>;
|
|
21
20
|
/** Builds global variables that are constant throughout a checkpoint. */
|
|
22
|
-
buildCheckpointGlobalVariables(coinbase: EthAddress, feeRecipient: AztecAddress, slotNumber: SlotNumber): Promise<CheckpointGlobalVariables>;
|
|
21
|
+
buildCheckpointGlobalVariables(coinbase: EthAddress, feeRecipient: AztecAddress, slotNumber: SlotNumber, simulationOverridesPlan?: SimulationOverridesPlan): Promise<CheckpointGlobalVariables>;
|
|
23
22
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC9nbG9iYWxfdmFyaWFibGVfYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhGOztHQUVHO0FBQ0gsTUFBTSxXQUFXLHFCQUFxQjtJQUNwQzs7Ozs7OztPQU9HO0lBQ0gsb0JBQW9CLENBQ2xCLFdBQVcsRUFBRSxNQUFNLEVBQ25CLFFBQVEsRUFBRSxVQUFVLEVBQ3BCLFlBQVksRUFBRSxZQUFZLEVBQzFCLFVBQVUsQ0FBQyxFQUFFLFVBQVUsR0FDdEIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRTVCLHlFQUF5RTtJQUN6RSw4QkFBOEIsQ0FDNUIsUUFBUSxFQUFFLFVBQVUsRUFDcEIsWUFBWSxFQUFFLFlBQVksRUFDMUIsVUFBVSxFQUFFLFVBQVUsRUFDdEIsdUJBQXVCLENBQUMsRUFBRSx1QkFBdUIsR0FDaEQsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7Q0FDdkMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global_variable_builder.d.ts","sourceRoot":"","sources":["../../src/tx/global_variable_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"global_variable_builder.d.ts","sourceRoot":"","sources":["../../src/tx/global_variable_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,oBAAoB,CAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,yEAAyE;IACzE,8BAA8B,CAC5B,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,uBAAuB,CAAC,EAAE,uBAAuB,GAChD,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACvC"}
|
package/dest/tx/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export * from './validator/tx_validator.js';
|
|
|
24
24
|
export * from './validator/empty_validator.js';
|
|
25
25
|
export * from './validator/error_texts.js';
|
|
26
26
|
export * from './capsule.js';
|
|
27
|
+
export * from './fee_provider.js';
|
|
27
28
|
export * from './global_variable_builder.js';
|
|
28
29
|
export * from './hashed_values.js';
|
|
29
30
|
export * from './indexed_tx_effect.js';
|
|
@@ -32,4 +33,4 @@ export * from './profiling.js';
|
|
|
32
33
|
export * from './protocol_contracts.js';
|
|
33
34
|
export * from './execution_payload.js';
|
|
34
35
|
export * from './in_tx.js';
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsWUFBWSxDQUFDIn0=
|
package/dest/tx/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tx/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tx/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC"}
|