@aztec/stdlib 0.0.1-commit.2ed92850 → 0.0.1-commit.3100065
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 +142 -1081
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +41 -18
- package/dest/abi/authorization_selector.d.ts +4 -7
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/buffer.d.ts +19 -5
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +38 -5
- package/dest/abi/contract_artifact.d.ts +14 -1
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +31 -7
- package/dest/abi/decoder.d.ts +6 -45
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +17 -70
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +64 -7
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/event_selector.d.ts +4 -7
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +22 -10
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +20 -3
- package/dest/abi/function_selector.d.ts +3 -6
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +2 -4
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/note_selector.d.ts +4 -7
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +1 -3
- package/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +1 -1
- package/dest/abi/utils.d.ts +14 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +16 -1
- package/dest/auth_witness/auth_witness.d.ts +2 -2
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.js +3 -3
- package/dest/avm/avm.d.ts +1756 -10463
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +7 -4
- package/dest/avm/avm_accumulated_data.d.ts +22 -86
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_proving_request.d.ts +653 -5446
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/message_pack.js +12 -3
- package/dest/avm/public_data_write.d.ts +6 -12
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +6 -7
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +13 -21
- package/dest/aztec-address/index.d.ts +42 -12
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +40 -13
- package/dest/block/attestation_info.d.ts +3 -2
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +10 -5
- package/dest/block/block_data.d.ts +27 -0
- package/dest/block/block_data.d.ts.map +1 -0
- package/dest/block/block_data.js +12 -0
- package/dest/block/block_hash.d.ts +20 -22
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +22 -34
- package/dest/block/block_parameter.d.ts +38 -5
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +55 -4
- package/dest/block/in_block.d.ts +9 -28
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +5 -5
- package/dest/block/index.d.ts +2 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -1
- package/dest/block/l2_block.d.ts +23 -42
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +14 -5
- package/dest/block/l2_block_info.d.ts +10 -29
- 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 +238 -336
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +81 -1
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
- package/dest/block/l2_block_stream/index.d.ts +2 -1
- package/dest/block/l2_block_stream/index.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +83 -10
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/interfaces.js +25 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +23 -15
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +159 -125
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
- 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 +84 -40
- package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +73 -25
- package/dest/block/proposal/committee_attestation.d.ts +6 -12
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- 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 +296 -36
- package/dest/block/validate_block_result.d.ts +16 -1
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +18 -3
- package/dest/checkpoint/checkpoint.d.ts +48 -99
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +42 -18
- package/dest/checkpoint/checkpoint_data.d.ts +97 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +38 -0
- package/dest/checkpoint/checkpoint_info.d.ts +7 -23
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
- package/dest/checkpoint/digest.d.ts +18 -0
- package/dest/checkpoint/digest.d.ts.map +1 -0
- package/dest/checkpoint/digest.js +12 -0
- package/dest/checkpoint/index.d.ts +7 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +6 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
- package/dest/checkpoint/published_checkpoint.d.ts +53 -190
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +1 -2
- package/dest/checkpoint/simulation_overrides.d.ts +61 -0
- package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
- package/dest/checkpoint/simulation_overrides.js +98 -0
- package/dest/checkpoint/validate.d.ts +44 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +123 -0
- package/dest/config/chain-config.d.ts +4 -9
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +13 -12
- package/dest/config/index.d.ts +3 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +2 -0
- package/dest/config/network-consensus-config.d.ts +72 -0
- package/dest/config/network-consensus-config.d.ts.map +1 -0
- package/dest/config/network-consensus-config.js +223 -0
- package/dest/config/sequencer-config.d.ts +16 -0
- package/dest/config/sequencer-config.d.ts.map +1 -0
- package/dest/config/sequencer-config.js +57 -0
- package/dest/contract/complete_address.d.ts +3 -2
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/complete_address.js +6 -2
- package/dest/contract/contract_address.d.ts +10 -9
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +9 -8
- package/dest/contract/contract_class.d.ts +2 -3
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class_id.d.ts +3 -3
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +7 -6
- package/dest/contract/contract_deployment_data.d.ts +15 -61
- package/dest/contract/contract_deployment_data.d.ts.map +1 -1
- package/dest/contract/contract_instance.d.ts +19 -3
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +55 -3
- 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 +17 -241
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +1 -28
- package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +111 -104
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +11 -4
- package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
- package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.d.ts +13 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +8 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/partial_address.d.ts +9 -3
- package/dest/contract/partial_address.d.ts.map +1 -1
- package/dest/contract/partial_address.js +8 -2
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +4 -6
- package/dest/database-version/database_version.d.ts +52 -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 +22 -52
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +88 -72
- package/dest/deserialization/index.d.ts +35 -3
- package/dest/deserialization/index.d.ts.map +1 -1
- package/dest/deserialization/index.js +32 -1
- package/dest/epoch-helpers/index.d.ts +16 -18
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +22 -2
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +9 -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 +3 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/file-store/index.js +1 -0
- 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/memory.d.ts +24 -0
- package/dest/file-store/memory.d.ts.map +1 -0
- package/dest/file-store/memory.js +80 -0
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +11 -3
- package/dest/gas/fee_math.d.ts +49 -0
- package/dest/gas/fee_math.d.ts.map +1 -0
- package/dest/gas/fee_math.js +80 -0
- package/dest/gas/gas.d.ts +9 -14
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +6 -3
- package/dest/gas/gas_fees.d.ts +13 -14
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +20 -4
- package/dest/gas/gas_settings.d.ts +60 -86
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +49 -9
- package/dest/gas/index.d.ts +3 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +2 -0
- package/dest/gas/tx_gas_limits.d.ts +72 -0
- package/dest/gas/tx_gas_limits.d.ts.map +1 -0
- package/dest/gas/tx_gas_limits.js +85 -0
- package/dest/ha-signing/config.d.ts +86 -0
- package/dest/ha-signing/config.d.ts.map +1 -0
- package/dest/ha-signing/config.js +94 -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 +40 -0
- package/dest/ha-signing/local_config.d.ts.map +1 -0
- package/dest/ha-signing/local_config.js +30 -0
- package/dest/ha-signing/types.d.ts +90 -0
- package/dest/ha-signing/types.d.ts.map +1 -0
- package/dest/ha-signing/types.js +39 -0
- package/dest/hash/hash.d.ts +35 -2
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +77 -17
- 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 +17 -35
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +8 -8
- package/dest/interfaces/api_limit.d.ts +1 -1
- package/dest/interfaces/api_limit.js +1 -1
- package/dest/interfaces/archiver.d.ts +27 -32
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +217 -64
- package/dest/interfaces/aztec-node-admin.d.ts +115 -257
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +69 -18
- package/dest/interfaces/aztec-node-debug.d.ts +59 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +49 -0
- package/dest/interfaces/aztec-node.d.ts +193 -164
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +353 -78
- package/dest/interfaces/block-builder.d.ts +48 -11
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +16 -2
- package/dest/interfaces/block_response.d.ts +90 -0
- package/dest/interfaces/block_response.d.ts.map +1 -0
- package/dest/interfaces/block_response.js +30 -0
- package/dest/interfaces/chain_tips.d.ts +11 -0
- package/dest/interfaces/chain_tips.d.ts.map +1 -0
- package/dest/interfaces/chain_tips.js +6 -0
- package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
- package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_parameter.js +18 -0
- package/dest/interfaces/checkpoint_response.d.ts +122 -0
- package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_response.js +26 -0
- package/dest/interfaces/client.d.ts +9 -2
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +7 -1
- package/dest/interfaces/configs.d.ts +98 -121
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +23 -4
- package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
- package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
- package/dest/interfaces/get_tx_by_hash_options.js +4 -0
- package/dest/interfaces/l1_publish_info.d.ts +29 -0
- package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
- package/dest/interfaces/l1_publish_info.js +26 -0
- package/dest/interfaces/l2_logs_source.d.ts +14 -34
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.js +5 -0
- package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p-bootstrap.js +8 -2
- package/dest/interfaces/p2p.d.ts +49 -15
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +41 -6
- package/dest/interfaces/private_kernel_prover.d.ts +69 -11
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.d.ts +5 -23
- package/dest/interfaces/prover-agent.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.js +4 -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 +13 -25
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +12 -4
- package/dest/interfaces/prover-node.d.ts +12 -8
- package/dest/interfaces/prover-node.d.ts.map +1 -1
- package/dest/interfaces/prover-node.js +37 -16
- package/dest/interfaces/proving-job-source.js +24 -4
- package/dest/interfaces/proving-job.d.ts +757 -5795
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +14 -5
- package/dest/interfaces/public_storage_override.d.ts +22 -0
- package/dest/interfaces/public_storage_override.d.ts.map +1 -0
- package/dest/interfaces/public_storage_override.js +7 -0
- package/dest/interfaces/server.d.ts +6 -2
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -1
- package/dest/interfaces/server_circuit_prover.d.ts +3 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/slasher.d.ts +27 -59
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +10 -4
- package/dest/interfaces/tx_provider.d.ts +6 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +90 -171
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +19 -6
- package/dest/interfaces/world_state.d.ts +19 -5
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
- package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +9 -3
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
- package/dest/kernel/hints/index.d.ts +2 -2
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_request.d.ts +12 -8
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.js +20 -18
- 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/read_request.js +1 -1
- 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/index.d.ts +6 -2
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +5 -1
- package/dest/kernel/log_hash.d.ts +6 -2
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +23 -11
- package/dest/kernel/note_hash.js +1 -1
- package/dest/kernel/nullifier.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +21 -11
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +26 -19
- package/dest/kernel/private_context_inputs.d.ts +4 -3
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +7 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +10 -4
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +11 -4
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
- package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +12 -8
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +32 -13
- package/dest/kernel/private_log_data.d.ts +1 -1
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_log_data.js +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
- package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data.js +6 -3
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -6
- 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 +13 -9
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +7 -6
- 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 +13 -9
- package/dest/kernel/private_validation_requests.d.ts +3 -3
- package/dest/kernel/private_validation_requests.js +9 -9
- package/dest/kernel/public_call_request.d.ts +15 -30
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +16 -7
- package/dest/keys/derivation.d.ts +45 -6
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +60 -27
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- package/dest/keys/public_key.d.ts +22 -3
- package/dest/keys/public_key.d.ts.map +1 -1
- package/dest/keys/public_key.js +20 -1
- package/dest/keys/public_keys.d.ts +55 -82
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +102 -74
- 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 +14 -0
- package/dest/kv-store/config.d.ts.map +1 -0
- package/dest/kv-store/config.js +21 -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/app_tagging_secret.d.ts +69 -0
- package/dest/logs/app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret.js +116 -0
- package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
- package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret_kind.js +17 -0
- package/dest/logs/contract_class_log.d.ts +16 -35
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +11 -13
- 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/index.d.ts +9 -9
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +8 -8
- package/dest/logs/log_cursor.d.ts +51 -0
- package/dest/logs/log_cursor.d.ts.map +1 -0
- package/dest/logs/log_cursor.js +82 -0
- package/dest/logs/log_result.d.ts +54 -0
- package/dest/logs/log_result.d.ts.map +1 -0
- package/dest/logs/log_result.js +56 -0
- package/dest/logs/logs_query.d.ts +82 -0
- package/dest/logs/logs_query.d.ts.map +1 -0
- package/dest/logs/logs_query.js +50 -0
- package/dest/logs/pre_tag.d.ts +14 -22
- 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 +8 -13
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +6 -3
- 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/query_all_logs_by_tags.d.ts +24 -0
- package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
- package/dest/logs/query_all_logs_by_tags.js +64 -0
- package/dest/logs/shared_secret_derivation.d.ts +22 -8
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +31 -10
- package/dest/logs/siloed_tag.d.ts +12 -9
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +18 -6
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +5 -1
- package/dest/logs/tagging_index_range.d.ts +22 -0
- package/dest/logs/tagging_index_range.d.ts.map +1 -0
- package/dest/logs/tagging_index_range.js +8 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
- package/dest/messaging/append_l1_to_l2_messages.js +12 -0
- package/dest/messaging/index.d.ts +2 -1
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +1 -0
- package/dest/messaging/l1_to_l2_message.d.ts +25 -3
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +38 -15
- 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 +72 -9
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +133 -30
- package/dest/messaging/l2_to_l1_message.d.ts +38 -112
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +21 -12
- package/dest/noir/index.d.ts +5 -3
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/note/index.d.ts +1 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +0 -1
- package/dest/note/note.d.ts +2 -2
- package/dest/note/note.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/attestation_utils.d.ts +11 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +53 -1
- package/dest/p2p/block_proposal.d.ts +41 -17
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +58 -42
- package/dest/p2p/checkpoint_attestation.d.ts +25 -9
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +33 -24
- package/dest/p2p/checkpoint_proposal.d.ts +60 -26
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +77 -65
- 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 +33 -17
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +47 -21
- package/dest/p2p/constants.d.ts +3 -1
- package/dest/p2p/constants.d.ts.map +1 -1
- package/dest/p2p/constants.js +1 -0
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/index.d.ts +1 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +0 -1
- package/dest/p2p/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- package/dest/p2p/signature_utils.d.ts +35 -17
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +125 -20
- package/dest/p2p/signed_txs.d.ts +15 -13
- package/dest/p2p/signed_txs.d.ts.map +1 -1
- package/dest/p2p/signed_txs.js +26 -24
- package/dest/p2p/topic_type.d.ts +3 -4
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +7 -24
- package/dest/parity/parity_base_private_inputs.d.ts +8 -4
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_base_private_inputs.js +7 -5
- package/dest/parity/parity_public_inputs.d.ts +8 -4
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.js +6 -3
- package/dest/parity/parity_root_private_inputs.d.ts +2 -2
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +57 -7
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +112 -15
- package/dest/proofs/recursive_proof.d.ts +2 -2
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.d.ts +3 -3
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.d.ts +1 -1
- package/dest/rollup/block_headers_hash.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.js +8 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +12 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.d.ts +10 -5
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +22 -12
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +14 -7
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +6 -6
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +7 -7
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +3 -3
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +32 -78
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +2 -2
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +16 -7
- 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 +21 -111
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +28 -24
- package/dest/slashing/{tally.d.ts → votes.d.ts} +8 -2
- package/dest/slashing/votes.d.ts.map +1 -0
- package/dest/slashing/{tally.js → votes.js} +35 -3
- package/dest/snapshots/types.d.ts +15 -78
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/stats/stats.d.ts +2 -4
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +25 -30
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +93 -90
- package/dest/tests/mocks.d.ts +19 -7
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +72 -72
- package/dest/timetable/budgets.d.ts +57 -0
- package/dest/timetable/budgets.d.ts.map +1 -0
- package/dest/timetable/budgets.js +56 -0
- package/dest/timetable/build_proposer_timetable.d.ts +21 -0
- package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/build_proposer_timetable.js +17 -0
- package/dest/timetable/consensus_timetable.d.ts +70 -0
- package/dest/timetable/consensus_timetable.d.ts.map +1 -0
- package/dest/timetable/consensus_timetable.js +89 -0
- package/dest/timetable/index.d.ts +5 -0
- package/dest/timetable/index.d.ts.map +1 -0
- package/dest/timetable/index.js +4 -0
- package/dest/timetable/proposer_timetable.d.ts +106 -0
- package/dest/timetable/proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/proposer_timetable.js +132 -0
- package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +6 -3
- package/dest/trees/nullifier_leaf.d.ts +19 -42
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +3 -0
- package/dest/trees/nullifier_membership_witness.d.ts +17 -63
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +0 -21
- package/dest/trees/public_data_leaf.d.ts +22 -53
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +7 -6
- package/dest/trees/public_data_witness.d.ts +19 -71
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/trees/public_data_witness.js +0 -27
- package/dest/tx/block_header.d.ts +9 -6
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +14 -7
- package/dest/tx/call_context.d.ts +4 -14
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +7 -3
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +9 -3
- package/dest/tx/execution_payload.d.ts +1 -1
- package/dest/tx/execution_payload.d.ts.map +1 -1
- package/dest/tx/execution_payload.js +1 -1
- 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/function_data.d.ts +4 -10
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +4 -15
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +19 -52
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +10 -14
- package/dest/tx/hashed_values.d.ts +4 -3
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +6 -3
- package/dest/tx/in_tx.d.ts +6 -18
- package/dest/tx/in_tx.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 +10 -21
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +10 -6
- package/dest/tx/partial_state_reference.d.ts +22 -65
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +6 -3
- package/dest/tx/private_execution_result.d.ts +11 -21
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -6
- package/dest/tx/private_tx_constant_data.d.ts +18 -2
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/private_tx_constant_data.js +13 -4
- package/dest/tx/profiling.d.ts +70 -356
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +19 -9
- package/dest/tx/protocol_contracts.d.ts +5 -9
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +2 -2
- package/dest/tx/proven_tx.d.ts +30 -74
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +6 -0
- package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +6 -3
- 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 +77 -1149
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +17 -12
- package/dest/tx/state_reference.d.ts +30 -117
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +6 -4
- package/dest/tx/tree_snapshots.d.ts +27 -84
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +6 -4
- package/dest/tx/tx.d.ts +27 -17
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +62 -28
- package/dest/tx/tx_constant_data.d.ts +4 -3
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +6 -3
- package/dest/tx/tx_context.d.ts +32 -131
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_context.js +6 -6
- package/dest/tx/tx_hash.d.ts +6 -4
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_hash.js +13 -5
- package/dest/tx/tx_receipt.d.ts +152 -52
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +146 -52
- 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 +11 -3
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +12 -2
- package/dest/tx/validator/tx_validator.d.ts +6 -28
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +0 -4
- package/dest/types/shared.d.ts +4 -12
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +6 -12
- package/dest/update-checker/dev_version.d.ts +3 -0
- package/dest/update-checker/dev_version.d.ts.map +1 -0
- package/dest/update-checker/dev_version.js +1 -0
- package/dest/update-checker/index.d.ts +4 -2
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +3 -1
- package/dest/update-checker/package_version.d.ts +6 -0
- package/dest/update-checker/package_version.d.ts.map +1 -0
- package/dest/update-checker/package_version.js +13 -0
- package/dest/update-checker/version_checker.d.ts +25 -0
- package/dest/update-checker/version_checker.d.ts.map +1 -0
- package/dest/update-checker/version_checker.js +50 -0
- package/dest/validators/errors.d.ts +6 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +7 -0
- package/dest/validators/schemas.d.ts +147 -614
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +9 -6
- package/dest/validators/types.d.ts +21 -4
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.d.ts +4 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +5 -2
- package/dest/vks/verification_key.d.ts +4 -139
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +5 -126
- package/dest/world-state/genesis_data.d.ts +21 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +8 -0
- package/dest/world-state/index.d.ts +2 -1
- package/dest/world-state/index.d.ts.map +1 -1
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +15 -26
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +7 -1
- package/package.json +29 -15
- package/src/abi/abi.ts +78 -21
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +38 -5
- package/src/abi/contract_artifact.ts +30 -6
- package/src/abi/decoder.ts +36 -82
- package/src/abi/encoder.ts +85 -6
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/event_selector.ts +2 -8
- package/src/abi/function_call.ts +25 -3
- package/src/abi/function_selector.ts +4 -13
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- package/src/abi/note_selector.ts +3 -12
- package/src/abi/selector.ts +1 -1
- package/src/abi/utils.ts +31 -4
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/avm/avm.ts +6 -1
- package/src/avm/message_pack.ts +12 -3
- package/src/avm/revert_code.ts +20 -25
- package/src/aztec-address/index.ts +50 -17
- package/src/block/attestation_info.ts +16 -11
- package/src/block/block_data.ts +25 -0
- package/src/block/block_hash.ts +31 -49
- package/src/block/block_parameter.ts +73 -5
- package/src/block/in_block.ts +6 -6
- package/src/block/index.ts +1 -1
- package/src/block/l2_block.ts +16 -4
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +267 -121
- package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +99 -9
- package/src/block/l2_block_stream/l2_block_stream.ts +231 -158
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
- package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
- package/src/block/proposal/attestations_and_signers.ts +85 -24
- package/src/block/test/l2_tips_store_test_suite.ts +271 -22
- package/src/block/validate_block_result.ts +48 -2
- package/src/checkpoint/checkpoint.ts +55 -18
- package/src/checkpoint/checkpoint_data.ts +91 -0
- package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
- package/src/checkpoint/digest.ts +28 -0
- package/src/checkpoint/index.ts +6 -0
- package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
- package/src/checkpoint/published_checkpoint.ts +3 -1
- package/src/checkpoint/simulation_overrides.ts +171 -0
- package/src/checkpoint/validate.ts +240 -0
- package/src/config/chain-config.ts +13 -16
- package/src/config/index.ts +2 -0
- package/src/config/network-consensus-config.ts +291 -0
- package/src/config/sequencer-config.ts +96 -0
- package/src/contract/complete_address.ts +7 -3
- package/src/contract/contract_address.ts +14 -13
- package/src/contract/contract_class.ts +3 -3
- package/src/contract/contract_class_id.ts +7 -6
- package/src/contract/contract_instance.ts +73 -3
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/contract/interfaces/contract_data_source.ts +2 -4
- package/src/contract/interfaces/contract_instance.ts +32 -10
- package/src/contract/interfaces/node-info.ts +14 -0
- package/src/contract/partial_address.ts +8 -2
- package/src/contract/private_function.ts +5 -3
- package/src/database-version/database_version.ts +87 -0
- package/src/database-version/version_manager.ts +114 -83
- package/src/deserialization/index.ts +35 -2
- package/src/epoch-helpers/index.ts +39 -0
- package/src/file-store/factory.ts +20 -4
- package/src/file-store/http.ts +29 -10
- package/src/file-store/index.ts +2 -0
- package/src/file-store/local.ts +15 -5
- package/src/file-store/memory.ts +94 -0
- package/src/file-store/s3.ts +12 -3
- package/src/gas/README.md +246 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas.ts +8 -3
- package/src/gas/gas_fees.ts +29 -10
- package/src/gas/gas_settings.ts +63 -15
- package/src/gas/index.ts +2 -0
- package/src/gas/tx_gas_limits.ts +123 -0
- package/src/ha-signing/config.ts +170 -0
- package/src/ha-signing/index.ts +29 -0
- package/src/ha-signing/local_config.ts +65 -0
- package/src/ha-signing/types.ts +126 -0
- package/src/hash/hash.ts +75 -18
- package/src/hash/map_slot.ts +3 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/api_limit.ts +1 -1
- package/src/interfaces/archiver.ts +97 -87
- package/src/interfaces/aztec-node-admin.ts +58 -19
- package/src/interfaces/aztec-node-debug.ts +92 -0
- package/src/interfaces/aztec-node.ts +438 -343
- package/src/interfaces/block-builder.ts +72 -11
- package/src/interfaces/block_response.ts +92 -0
- package/src/interfaces/chain_tips.ts +16 -0
- package/src/interfaces/checkpoint_parameter.ts +20 -0
- package/src/interfaces/checkpoint_response.ts +84 -0
- package/src/interfaces/client.ts +8 -1
- package/src/interfaces/configs.ts +102 -14
- package/src/interfaces/get_tx_by_hash_options.ts +14 -0
- package/src/interfaces/l1_publish_info.ts +40 -0
- package/src/interfaces/l2_logs_source.ts +13 -39
- package/src/interfaces/merkle_tree_operations.ts +12 -21
- package/src/interfaces/p2p-bootstrap.ts +2 -2
- package/src/interfaces/p2p.ts +60 -31
- package/src/interfaces/private_kernel_prover.ts +98 -12
- package/src/interfaces/prover-agent.ts +1 -1
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +18 -8
- package/src/interfaces/prover-node.ts +36 -21
- package/src/interfaces/proving-job-source.ts +4 -4
- package/src/interfaces/proving-job.ts +18 -6
- package/src/interfaces/public_storage_override.ts +26 -0
- package/src/interfaces/server.ts +5 -1
- package/src/interfaces/server_circuit_prover.ts +2 -2
- package/src/interfaces/slasher.ts +21 -10
- package/src/interfaces/tx_provider.ts +6 -0
- package/src/interfaces/validator.ts +98 -37
- package/src/interfaces/world_state.ts +19 -4
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
- package/src/kernel/hints/build_transient_data_hints.ts +17 -2
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/key_validation_request.ts +18 -16
- package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
- package/src/kernel/hints/read_request.ts +1 -1
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
- package/src/kernel/index.ts +5 -1
- package/src/kernel/log_hash.ts +36 -13
- package/src/kernel/note_hash.ts +1 -1
- package/src/kernel/nullifier.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +26 -15
- package/src/kernel/private_context_inputs.ts +10 -3
- package/src/kernel/private_kernel_circuit_public_inputs.ts +11 -2
- package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
- package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
- package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
- package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
- package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
- package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
- package/src/kernel/private_log_data.ts +4 -1
- package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
- package/src/kernel/private_to_public_accumulated_data.ts +9 -3
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +14 -8
- package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
- package/src/kernel/private_validation_requests.ts +8 -8
- package/src/kernel/public_call_request.ts +22 -7
- package/src/keys/derivation.ts +84 -27
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_key.ts +26 -2
- package/src/keys/public_keys.ts +125 -111
- package/src/keys/utils.ts +8 -4
- package/src/kv-store/config.ts +29 -0
- package/src/kv-store/index.ts +1 -0
- package/src/l1-contracts/index.ts +1 -1
- package/src/logs/app_tagging_secret.ts +160 -0
- package/src/logs/app_tagging_secret_kind.ts +21 -0
- package/src/logs/contract_class_log.ts +15 -14
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/index.ts +8 -8
- package/src/logs/log_cursor.ts +110 -0
- package/src/logs/log_result.ts +104 -0
- package/src/logs/logs_query.ts +138 -0
- package/src/logs/pre_tag.ts +3 -6
- package/src/logs/private_log.ts +9 -3
- package/src/logs/public_log.ts +4 -2
- package/src/logs/query_all_logs_by_tags.ts +98 -0
- package/src/logs/shared_secret_derivation.ts +37 -10
- package/src/logs/siloed_tag.ts +28 -13
- package/src/logs/tag.ts +9 -9
- package/src/logs/tagging_index_range.ts +18 -0
- package/src/messaging/append_l1_to_l2_messages.ts +21 -0
- package/src/messaging/index.ts +1 -0
- package/src/messaging/l1_to_l2_message.ts +56 -15
- package/src/messaging/l1_to_l2_message_source.ts +3 -1
- package/src/messaging/l2_to_l1_membership.ts +192 -38
- package/src/messaging/l2_to_l1_message.ts +29 -9
- package/src/noir/index.ts +4 -2
- package/src/note/index.ts +0 -1
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/attestation_utils.ts +64 -1
- package/src/p2p/block_proposal.ts +121 -41
- package/src/p2p/checkpoint_attestation.ts +44 -31
- package/src/p2p/checkpoint_proposal.ts +168 -88
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/consensus_payload.ts +68 -24
- package/src/p2p/constants.ts +3 -0
- package/src/p2p/gossipable.ts +4 -4
- package/src/p2p/index.ts +0 -1
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/signature_utils.ts +117 -23
- package/src/p2p/signed_txs.ts +46 -28
- package/src/p2p/topic_type.ts +8 -15
- package/src/parity/parity_base_private_inputs.ts +10 -4
- package/src/parity/parity_public_inputs.ts +9 -2
- package/src/proofs/chonk_proof.ts +132 -12
- package/src/rollup/avm_proof_data.ts +2 -2
- package/src/rollup/block_headers_hash.ts +11 -2
- package/src/rollup/block_rollup_public_inputs.ts +13 -0
- package/src/rollup/checkpoint_header.ts +18 -4
- package/src/rollup/checkpoint_rollup_public_inputs.ts +15 -5
- package/src/rollup/root_rollup_public_inputs.ts +7 -7
- package/src/schemas/schemas.ts +6 -1
- package/src/slashing/helpers.ts +21 -9
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +38 -49
- package/src/slashing/{tally.ts → votes.ts} +41 -2
- package/src/stats/stats.ts +6 -4
- package/src/tests/factories.ts +128 -127
- package/src/tests/mocks.ts +116 -87
- package/src/timetable/README.md +609 -0
- package/src/timetable/budgets.ts +87 -0
- package/src/timetable/build_proposer_timetable.ts +42 -0
- package/src/timetable/consensus_timetable.ts +126 -0
- package/src/timetable/index.ts +4 -0
- package/src/timetable/proposer_timetable.ts +190 -0
- package/src/timetable/timetable-example.svg +108 -0
- package/src/trees/append_only_tree_snapshot.ts +8 -3
- package/src/trees/nullifier_leaf.ts +4 -0
- package/src/trees/nullifier_membership_witness.ts +0 -21
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/trees/public_data_witness.ts +0 -31
- package/src/tx/block_header.ts +22 -11
- package/src/tx/capsule.ts +10 -2
- package/src/tx/execution_payload.ts +2 -1
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/global_variable_builder.ts +3 -20
- package/src/tx/global_variables.ts +15 -23
- package/src/tx/hashed_values.ts +8 -3
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +19 -6
- package/src/tx/partial_state_reference.ts +8 -3
- package/src/tx/private_execution_result.ts +5 -5
- package/src/tx/private_tx_constant_data.ts +25 -2
- package/src/tx/profiling.ts +18 -9
- package/src/tx/protocol_contracts.ts +2 -2
- package/src/tx/proven_tx.ts +6 -0
- package/src/tx/public_call_request_with_calldata.ts +8 -3
- package/src/tx/public_simulation_output.ts +4 -0
- package/src/tx/simulated_tx.ts +30 -22
- package/src/tx/state_reference.ts +9 -4
- package/src/tx/tree_snapshots.ts +9 -4
- package/src/tx/tx.ts +80 -35
- package/src/tx/tx_constant_data.ts +8 -3
- package/src/tx/tx_context.ts +8 -3
- package/src/tx/tx_hash.ts +20 -5
- package/src/tx/tx_receipt.ts +270 -75
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +15 -2
- package/src/tx/validator/tx_validator.ts +2 -6
- package/src/types/shared.ts +8 -13
- package/src/update-checker/dev_version.ts +2 -0
- package/src/update-checker/index.ts +3 -1
- package/src/update-checker/package_version.ts +17 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/errors.ts +9 -0
- package/src/validators/schemas.ts +13 -4
- package/src/validators/types.ts +25 -5
- package/src/versioning/versioning.ts +5 -2
- package/src/vks/verification_key.ts +5 -184
- package/src/world-state/genesis_data.ts +37 -0
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +9 -1
- package/dest/abi/mocked_keys.d.ts +0 -2
- package/dest/abi/mocked_keys.d.ts.map +0 -1
- package/dest/abi/mocked_keys.js +0 -1
- package/dest/block/checkpointed_l2_block.d.ts +0 -150
- package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
- package/dest/block/checkpointed_l2_block.js +0 -46
- package/dest/contract/private_function_membership_proof.d.ts +0 -32
- package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/private_function_membership_proof.js +0 -124
- package/dest/contract/utility_function_membership_proof.d.ts +0 -27
- package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/utility_function_membership_proof.js +0 -87
- package/dest/database-version/index.d.ts +0 -2
- package/dest/database-version/index.d.ts.map +0 -1
- package/dest/database-version/index.js +0 -1
- package/dest/interfaces/epoch-prover.d.ts +0 -57
- package/dest/interfaces/epoch-prover.d.ts.map +0 -1
- package/dest/interfaces/epoch-prover.js +0 -1
- package/dest/interfaces/get_logs_response.d.ts +0 -90
- package/dest/interfaces/get_logs_response.d.ts.map +0 -1
- package/dest/interfaces/get_logs_response.js +0 -12
- 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/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
- package/dest/l1-contracts/slash_factory.d.ts +0 -45
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -157
- package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/logs/directional_app_tagging_secret.js +0 -64
- package/dest/logs/extended_contract_class_log.d.ts +0 -51
- package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
- package/dest/logs/extended_contract_class_log.js +0 -67
- package/dest/logs/extended_public_log.d.ts +0 -100
- package/dest/logs/extended_public_log.d.ts.map +0 -1
- package/dest/logs/extended_public_log.js +0 -73
- package/dest/logs/log_filter.d.ts +0 -22
- package/dest/logs/log_filter.d.ts.map +0 -1
- package/dest/logs/log_filter.js +0 -11
- package/dest/logs/log_id.d.ts +0 -82
- package/dest/logs/log_id.d.ts.map +0 -1
- package/dest/logs/log_id.js +0 -91
- package/dest/logs/message_context.d.ts +0 -29
- package/dest/logs/message_context.d.ts.map +0 -1
- package/dest/logs/message_context.js +0 -56
- package/dest/logs/pending_tagged_log.d.ts +0 -14
- package/dest/logs/pending_tagged_log.d.ts.map +0 -1
- package/dest/logs/pending_tagged_log.js +0 -34
- package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
- package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
- package/dest/logs/tx_scoped_l2_log.js +0 -70
- package/dest/note/notes_filter.d.ts +0 -27
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -11
- package/dest/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -85
- package/dest/slashing/tally.d.ts.map +0 -1
- package/dest/update-checker/update-checker.d.ts +0 -49
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/abi/mocked_keys.ts +0 -2
- package/src/block/checkpointed_l2_block.ts +0 -70
- package/src/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/database-version/index.ts +0 -1
- package/src/interfaces/epoch-prover.ts +0 -72
- package/src/interfaces/get_logs_response.ts +0 -35
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
- package/src/l1-contracts/slash_factory.ts +0 -179
- package/src/logs/directional_app_tagging_secret.ts +0 -79
- package/src/logs/extended_contract_class_log.ts +0 -87
- package/src/logs/extended_public_log.ts +0 -94
- package/src/logs/log_filter.ts +0 -31
- package/src/logs/log_id.ts +0 -121
- package/src/logs/message_context.ts +0 -62
- package/src/logs/pending_tagged_log.ts +0 -41
- package/src/logs/tx_scoped_l2_log.ts +0 -98
- package/src/note/notes_filter.ts +0 -38
- package/src/slashing/empire.ts +0 -102
- package/src/update-checker/update-checker.ts +0 -166
package/dest/tests/mocks.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MAX_ENQUEUED_CALLS_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PROCESSABLE_L2_GAS, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, MAX_TX_DA_GAS, MAX_TX_LIFETIME, PRIVATE_TX_L2_GAS_OVERHEAD, PUBLIC_TX_L2_GAS_OVERHEAD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
|
|
2
2
|
import { makeTuple } from '@aztec/foundation/array';
|
|
3
3
|
import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
|
|
4
4
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
@@ -6,15 +6,16 @@ import { padArrayEnd, times } from '@aztec/foundation/collection';
|
|
|
6
6
|
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
7
7
|
import { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
8
8
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
9
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
9
10
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
11
|
+
import { hashTypedData } from 'viem';
|
|
10
12
|
import { PublicTxEffect } from '../avm/avm.js';
|
|
11
13
|
import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
|
|
12
14
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
13
15
|
import { RevertCode } from '../avm/revert_code.js';
|
|
14
16
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
15
|
-
import {
|
|
17
|
+
import { L2Block } from '../block/index.js';
|
|
16
18
|
import { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
17
|
-
import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
|
|
18
19
|
import { computeContractAddressFromInstance } from '../contract/contract_address.js';
|
|
19
20
|
import { getContractClassFromArtifact } from '../contract/contract_class.js';
|
|
20
21
|
import { SerializableContractInstance } from '../contract/contract_instance.js';
|
|
@@ -33,25 +34,35 @@ import { BlockProposal } from '../p2p/block_proposal.js';
|
|
|
33
34
|
import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js';
|
|
34
35
|
import { CheckpointProposal } from '../p2p/checkpoint_proposal.js';
|
|
35
36
|
import { ConsensusPayload } from '../p2p/consensus_payload.js';
|
|
36
|
-
import {
|
|
37
|
+
import { getHashedSignaturePayloadTypedData } from '../p2p/signature_utils.js';
|
|
37
38
|
import { ChonkProof } from '../proofs/chonk_proof.js';
|
|
38
39
|
import { ProvingRequestType } from '../proofs/proving_request_type.js';
|
|
39
40
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
40
41
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
41
|
-
import { GlobalVariables, HashedValues, PrivateCallExecutionResult, PrivateExecutionResult, Tx, TxConstantData, makeProcessedTxFromPrivateOnlyTx, makeProcessedTxFromTxWithPublicCalls } from '../tx/index.js';
|
|
42
|
+
import { BlockHeader, GlobalVariables, HashedValues, PrivateCallExecutionResult, PrivateExecutionResult, Tx, TxConstantData, makeProcessedTxFromPrivateOnlyTx, makeProcessedTxFromTxWithPublicCalls } from '../tx/index.js';
|
|
42
43
|
import { NestedProcessReturnValues, PublicSimulationOutput } from '../tx/public_simulation_output.js';
|
|
43
44
|
import { TxSimulationResult } from '../tx/simulated_tx.js';
|
|
44
45
|
import { TxEffect } from '../tx/tx_effect.js';
|
|
45
46
|
import { TxHash } from '../tx/tx_hash.js';
|
|
47
|
+
import { DEV_VERSION } from '../update-checker/dev_version.js';
|
|
46
48
|
import { makeAvmCircuitInputs, makeAztecAddress, makeBlockHeader, makeCheckpointHeader, makeGas, makeGlobalVariables, makePrivateToPublicAccumulatedData, makePrivateToRollupAccumulatedData, makeProtocolContracts, makePublicCallRequest, makePublicDataWrite } from './factories.js';
|
|
49
|
+
export const TEST_COORDINATION_SIGNATURE_CONTEXT = {
|
|
50
|
+
chainId: 31337,
|
|
51
|
+
rollupAddress: EthAddress.fromNumber(1)
|
|
52
|
+
};
|
|
53
|
+
function signTypedData(signer, typedData) {
|
|
54
|
+
return signer.sign(Buffer32.fromString(hashTypedData(typedData)));
|
|
55
|
+
}
|
|
47
56
|
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(), maxPriorityFeesPerGas, gasUsed = Gas.empty(), chainId = Fr.ZERO, version = Fr.ZERO, vkTreeRoot = Fr.ZERO, protocolContractsHash = Fr.ZERO } = {})=>{
|
|
57
|
+
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 = new Gas(MAX_TX_DA_GAS, MAX_PROCESSABLE_L2_GAS), 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
58
|
const totalPublicCallRequests = numberOfNonRevertiblePublicCallRequests + numberOfRevertiblePublicCallRequests + (hasPublicTeardownCallRequest ? 1 : 0);
|
|
50
59
|
const isForPublic = totalPublicCallRequests > 0;
|
|
51
60
|
const data = PrivateKernelTailCircuitPublicInputs.empty();
|
|
52
61
|
const firstNullifier = new Nullifier(new Fr(seed + 1), Fr.ZERO, 0);
|
|
53
|
-
data.constants.
|
|
54
|
-
|
|
62
|
+
data.constants.anchorBlockHeader = anchorBlockHeader;
|
|
63
|
+
data.constants.txContext.gasSettings = GasSettings.fallback({
|
|
64
|
+
gasLimits,
|
|
65
|
+
maxFeesPerGas,
|
|
55
66
|
maxPriorityFeesPerGas
|
|
56
67
|
});
|
|
57
68
|
data.feePayer = feePayer ?? await AztecAddress.random();
|
|
@@ -60,8 +71,8 @@ export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests
|
|
|
60
71
|
data.constants.txContext.version = version;
|
|
61
72
|
data.constants.vkTreeRoot = vkTreeRoot;
|
|
62
73
|
data.constants.protocolContractsHash = protocolContractsHash;
|
|
63
|
-
// Set
|
|
64
|
-
data.
|
|
74
|
+
// Set expirationTimestamp to the maximum allowed duration from the current time.
|
|
75
|
+
data.expirationTimestamp = BigInt(Math.floor(Date.now() / 1000) + MAX_TX_LIFETIME);
|
|
65
76
|
const publicFunctionCalldata = [];
|
|
66
77
|
if (!isForPublic) {
|
|
67
78
|
data.forRollup.end.nullifiers[0] = firstNullifier.value;
|
|
@@ -99,13 +110,14 @@ export const mockTxForRollup = (seed = 1, opts = {})=>mockTx(seed, {
|
|
|
99
110
|
numberOfNonRevertiblePublicCallRequests: 0,
|
|
100
111
|
numberOfRevertiblePublicCallRequests: 0
|
|
101
112
|
});
|
|
102
|
-
/** Mock a processed tx for testing purposes. */ export async function mockProcessedTx({ seed = 1, anchorBlockHeader, db, chainId = Fr.ZERO, version = Fr.ZERO, gasSettings = GasSettings.
|
|
113
|
+
/** Mock a processed tx for testing purposes. */ export async function mockProcessedTx({ seed = 1, anchorBlockHeader, db, chainId = Fr.ZERO, version = Fr.ZERO, gasSettings = GasSettings.fallback({
|
|
114
|
+
gasLimits: new Gas(MAX_TX_DA_GAS, MAX_PROCESSABLE_L2_GAS),
|
|
103
115
|
maxFeesPerGas: new GasFees(10, 10)
|
|
104
116
|
}), vkTreeRoot = Fr.ZERO, protocolContracts = makeProtocolContracts(seed + 0x100), globalVariables = GlobalVariables.empty(), newL1ToL2Snapshot = AppendOnlyTreeSnapshot.empty(), feePayer, feePaymentPublicDataWrite, // The default gasUsed is the tx overhead.
|
|
105
|
-
gasUsed = Gas.from({
|
|
106
|
-
daGas:
|
|
107
|
-
l2Gas:
|
|
108
|
-
}),
|
|
117
|
+
privateOnly = false, gasUsed = Gas.from({
|
|
118
|
+
daGas: TX_DA_GAS_OVERHEAD,
|
|
119
|
+
l2Gas: privateOnly ? PRIVATE_TX_L2_GAS_OVERHEAD : PUBLIC_TX_L2_GAS_OVERHEAD
|
|
120
|
+
}), avmAccumulatedData, ...mockTxOpts } = {}) {
|
|
109
121
|
seed *= 0x1000; // Avoid clashing with the previous mock values if seed only increases by 1.
|
|
110
122
|
anchorBlockHeader ??= db?.getInitialHeader() ?? makeBlockHeader(seed);
|
|
111
123
|
feePayer ??= makeAztecAddress(seed + 0x100);
|
|
@@ -214,6 +226,10 @@ export function mockL1ToL2Messages(numL1ToL2Messages) {
|
|
|
214
226
|
}
|
|
215
227
|
export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNumber = BlockNumber(1), numBlocks = 1, blocks, numTxsPerBlock = 1, numL1ToL2Messages = 1, makeBlockOptions = ()=>({}), previousArchive, maxEffects, ...options } = {}) {
|
|
216
228
|
const slotNumber = options.slotNumber ?? SlotNumber(Number(checkpointNumber) * 10);
|
|
229
|
+
const globals = GlobalVariables.random({
|
|
230
|
+
slotNumber,
|
|
231
|
+
...options
|
|
232
|
+
});
|
|
217
233
|
const blocksAndMessages = [];
|
|
218
234
|
// Track the previous block's archive to ensure consecutive blocks have consistent archive roots.
|
|
219
235
|
// The current block's header.lastArchive must equal the previous block's archive.
|
|
@@ -226,11 +242,11 @@ export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNu
|
|
|
226
242
|
const blockNumber = BlockNumber(startBlockNumber + i);
|
|
227
243
|
const { block, messages } = {
|
|
228
244
|
block: blocks?.[i] ?? await L2Block.random(blockNumber, {
|
|
245
|
+
...globals,
|
|
229
246
|
checkpointNumber,
|
|
230
247
|
indexWithinCheckpoint: IndexWithinCheckpoint(i),
|
|
231
248
|
txsPerBlock: numTxsPerBlock,
|
|
232
249
|
txOptions,
|
|
233
|
-
slotNumber,
|
|
234
250
|
...options,
|
|
235
251
|
...makeBlockOptions(blockNumber),
|
|
236
252
|
...lastArchive ? {
|
|
@@ -248,17 +264,17 @@ export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNu
|
|
|
248
264
|
}
|
|
249
265
|
const messages = blocksAndMessages[0].messages;
|
|
250
266
|
const inHash = computeInHashFromL1ToL2Messages(messages);
|
|
267
|
+
const firstBlockLastArchive = blocksAndMessages[0].block.header.lastArchive;
|
|
251
268
|
const checkpoint = await Checkpoint.random(checkpointNumber, {
|
|
252
269
|
numBlocks: 0,
|
|
253
|
-
slotNumber,
|
|
254
270
|
inHash,
|
|
255
|
-
...options
|
|
271
|
+
...options,
|
|
272
|
+
...globals,
|
|
273
|
+
lastArchive: firstBlockLastArchive,
|
|
274
|
+
lastArchiveRoot: firstBlockLastArchive.root,
|
|
275
|
+
archive: lastArchive
|
|
256
276
|
});
|
|
257
277
|
checkpoint.blocks = blocksAndMessages.map(({ block })=>block);
|
|
258
|
-
// Set the checkpoint's archive to match the last block's archive for proper chaining.
|
|
259
|
-
// When the archiver reconstructs checkpoints from L1, it uses the checkpoint's archive root
|
|
260
|
-
// from the L1 event to set the last block's archive. Without this, the archive chain breaks.
|
|
261
|
-
checkpoint.archive = lastArchive;
|
|
262
278
|
// Return lastArchive so callers can chain it across multiple checkpoints
|
|
263
279
|
return {
|
|
264
280
|
checkpoint,
|
|
@@ -268,6 +284,7 @@ export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNu
|
|
|
268
284
|
}
|
|
269
285
|
export const randomContractArtifact = ()=>({
|
|
270
286
|
name: randomBytes(4).toString('hex'),
|
|
287
|
+
aztecVersion: DEV_VERSION,
|
|
271
288
|
functions: [],
|
|
272
289
|
nonDispatchPublicFunctions: [],
|
|
273
290
|
outputs: {
|
|
@@ -295,14 +312,16 @@ export const randomDeployedContract = async ()=>{
|
|
|
295
312
|
};
|
|
296
313
|
};
|
|
297
314
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
298
|
-
const makeAndSignConsensusPayload = (
|
|
315
|
+
const makeAndSignConsensusPayload = (options)=>{
|
|
299
316
|
const header = options?.header ?? makeCheckpointHeader(1);
|
|
300
|
-
const { signer = Secp256k1Signer.random(), archive = Fr.random() } = options ?? {};
|
|
317
|
+
const { signer = Secp256k1Signer.random(), archive = Fr.random(), feeAssetPriceModifier = 0n } = options ?? {};
|
|
301
318
|
const payload = ConsensusPayload.fromFields({
|
|
302
319
|
header,
|
|
303
|
-
archive
|
|
320
|
+
archive,
|
|
321
|
+
feeAssetPriceModifier,
|
|
322
|
+
signatureContext: TEST_COORDINATION_SIGNATURE_CONTEXT
|
|
304
323
|
});
|
|
305
|
-
const hash =
|
|
324
|
+
const hash = getHashedSignaturePayloadTypedData(payload);
|
|
306
325
|
const signature = signer.sign(hash);
|
|
307
326
|
return {
|
|
308
327
|
blockNumber: header.slotNumber,
|
|
@@ -311,7 +330,7 @@ const makeAndSignConsensusPayload = (domainSeparator, options)=>{
|
|
|
311
330
|
};
|
|
312
331
|
};
|
|
313
332
|
export const makeAndSignCommitteeAttestationsAndSigners = (attestationsAndSigners, signer = Secp256k1Signer.random())=>{
|
|
314
|
-
const hash =
|
|
333
|
+
const hash = getHashedSignaturePayloadTypedData(attestationsAndSigners);
|
|
315
334
|
return signer.sign(hash);
|
|
316
335
|
};
|
|
317
336
|
export const makeBlockProposal = (options)=>{
|
|
@@ -329,54 +348,55 @@ export const makeBlockProposal = (options)=>{
|
|
|
329
348
|
].map(()=>TxHash.random());
|
|
330
349
|
const txs = options?.txs;
|
|
331
350
|
const signer = options?.signer ?? Secp256k1Signer.random();
|
|
332
|
-
|
|
351
|
+
const signatureContext = options?.signatureContext ?? TEST_COORDINATION_SIGNATURE_CONTEXT;
|
|
352
|
+
return BlockProposal.createProposalFromSigner(blockHeader, CheckpointNumber(1), indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, signatureContext, (typedData, _context)=>Promise.resolve(signTypedData(signer, typedData)), (typedData, _context)=>Promise.resolve(signTypedData(signer, typedData)));
|
|
333
353
|
};
|
|
334
|
-
export const makeCheckpointProposal = (options)=>{
|
|
335
|
-
const blockHeader = options?.lastBlock?.blockHeader ?? makeBlockHeader(1);
|
|
354
|
+
export const makeCheckpointProposal = async (options)=>{
|
|
336
355
|
const checkpointHeader = options?.checkpointHeader ?? makeCheckpointHeader(1);
|
|
337
356
|
const archiveRoot = options?.archiveRoot ?? Fr.random();
|
|
357
|
+
const feeAssetPriceModifier = options?.feeAssetPriceModifier ?? 0n;
|
|
338
358
|
const signer = options?.signer ?? Secp256k1Signer.random();
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
359
|
+
const signatureContext = options?.signatureContext ?? TEST_COORDINATION_SIGNATURE_CONTEXT;
|
|
360
|
+
// Build a signed block proposal if lastBlock options are provided
|
|
361
|
+
const lastBlockProposal = options?.lastBlock ? await makeBlockProposal({
|
|
362
|
+
blockHeader: options.lastBlock.blockHeader,
|
|
342
363
|
indexWithinCheckpoint: options.lastBlock.indexWithinCheckpoint ?? IndexWithinCheckpoint(4),
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
txs: options.lastBlock.txs
|
|
352
|
-
} : undefined;
|
|
353
|
-
return CheckpointProposal.createProposalFromSigner(checkpointHeader, archiveRoot, lastBlockInfo, (payload)=>Promise.resolve(signer.signMessage(payload)));
|
|
364
|
+
inHash: checkpointHeader.inHash,
|
|
365
|
+
archiveRoot,
|
|
366
|
+
txHashes: options.lastBlock.txHashes,
|
|
367
|
+
txs: options.lastBlock.txs,
|
|
368
|
+
signer,
|
|
369
|
+
signatureContext
|
|
370
|
+
}) : undefined;
|
|
371
|
+
return CheckpointProposal.createProposalFromSigner(checkpointHeader, archiveRoot, CheckpointNumber(1), feeAssetPriceModifier, lastBlockProposal, signatureContext, (typedData)=>Promise.resolve(signTypedData(signer, typedData)));
|
|
354
372
|
};
|
|
355
373
|
/**
|
|
356
374
|
* Create a checkpoint attestation for testing
|
|
357
375
|
*/ export const makeCheckpointAttestation = (options = {})=>{
|
|
358
376
|
const header = options.header ?? makeCheckpointHeader(1);
|
|
359
377
|
const archive = options.archive ?? Fr.random();
|
|
378
|
+
const feeAssetPriceModifier = options.feeAssetPriceModifier ?? 0n;
|
|
379
|
+
const signatureContext = options.signatureContext ?? TEST_COORDINATION_SIGNATURE_CONTEXT;
|
|
360
380
|
const { signer, attesterSigner = signer, proposerSigner = signer } = options;
|
|
361
|
-
const payload = new ConsensusPayload(header, archive);
|
|
381
|
+
const payload = new ConsensusPayload(header, archive, feeAssetPriceModifier, signatureContext);
|
|
362
382
|
// Sign as attester
|
|
363
|
-
const attestationHash =
|
|
383
|
+
const attestationHash = getHashedSignaturePayloadTypedData(payload);
|
|
364
384
|
const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
|
|
365
385
|
const attestationSignature = attestationSigner.sign(attestationHash);
|
|
366
386
|
// Sign as proposer - use CheckpointProposal's payload format (serializeToBuffer)
|
|
367
387
|
// This is different from ConsensusPayload's format (ABI encoding)
|
|
368
388
|
const proposalSignerToUse = proposerSigner ?? Secp256k1Signer.random();
|
|
369
|
-
const tempProposal = new CheckpointProposal(header, archive, Signature.empty());
|
|
370
|
-
const proposalHash =
|
|
389
|
+
const tempProposal = new CheckpointProposal(header, archive, feeAssetPriceModifier, Signature.empty(), signatureContext);
|
|
390
|
+
const proposalHash = getHashedSignaturePayloadTypedData(tempProposal);
|
|
371
391
|
const proposerSignature = proposalSignerToUse.sign(proposalHash);
|
|
372
392
|
return new CheckpointAttestation(payload, attestationSignature, proposerSignature);
|
|
373
393
|
};
|
|
374
394
|
/**
|
|
375
395
|
* Create a checkpoint attestation from a checkpoint proposal
|
|
376
396
|
*/ export const makeCheckpointAttestationFromProposal = (proposal, attesterSigner)=>{
|
|
377
|
-
const payload = new ConsensusPayload(proposal.checkpointHeader, proposal.archive);
|
|
397
|
+
const payload = new ConsensusPayload(proposal.checkpointHeader, proposal.archive, proposal.feeAssetPriceModifier, proposal.signatureContext);
|
|
378
398
|
// Sign as attester
|
|
379
|
-
const attestationHash =
|
|
399
|
+
const attestationHash = getHashedSignaturePayloadTypedData(payload);
|
|
380
400
|
const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
|
|
381
401
|
const attestationSignature = attestationSigner.sign(attestationHash);
|
|
382
402
|
// Use the proposal's signature as the proposer signature
|
|
@@ -387,9 +407,11 @@ export const makeCheckpointProposal = (options)=>{
|
|
|
387
407
|
*/ export const makeCheckpointAttestationFromCheckpoint = (checkpoint, attesterSigner, proposerSigner)=>{
|
|
388
408
|
const header = checkpoint.header;
|
|
389
409
|
const archive = checkpoint.archive.root;
|
|
410
|
+
const feeAssetPriceModifier = checkpoint.feeAssetPriceModifier;
|
|
390
411
|
return makeCheckpointAttestation({
|
|
391
412
|
header,
|
|
392
413
|
archive,
|
|
414
|
+
feeAssetPriceModifier,
|
|
393
415
|
attesterSigner,
|
|
394
416
|
proposerSigner
|
|
395
417
|
});
|
|
@@ -413,25 +435,3 @@ export const makeCheckpointProposal = (options)=>{
|
|
|
413
435
|
proposerSigner
|
|
414
436
|
});
|
|
415
437
|
};
|
|
416
|
-
export async function randomPublishedL2Block(l2BlockNumber, opts = {}) {
|
|
417
|
-
const block = await L2Block.random(BlockNumber(l2BlockNumber));
|
|
418
|
-
const l1 = L1PublishedData.fromFields({
|
|
419
|
-
blockNumber: BigInt(block.number),
|
|
420
|
-
timestamp: block.header.globalVariables.timestamp,
|
|
421
|
-
blockHash: Buffer32.random().toString()
|
|
422
|
-
});
|
|
423
|
-
const signers = opts.signers ?? times(3, ()=>Secp256k1Signer.random());
|
|
424
|
-
const checkpoint = await Checkpoint.random(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), {
|
|
425
|
-
numBlocks: 0
|
|
426
|
-
});
|
|
427
|
-
checkpoint.blocks = [
|
|
428
|
-
block
|
|
429
|
-
];
|
|
430
|
-
const atts = signers.map((signer)=>makeCheckpointAttestation({
|
|
431
|
-
signer,
|
|
432
|
-
archive: block.archive.root,
|
|
433
|
-
header: checkpoint.header
|
|
434
|
-
}));
|
|
435
|
-
const attestations = atts.map((attestation, i)=>new CommitteeAttestation(signers[i].address, attestation.signature));
|
|
436
|
-
return new CheckpointedL2Block(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), block, l1, attestations);
|
|
437
|
-
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/** Default block sub-slot duration (`D`) in seconds, used to derive how many blocks fit in a slot. */
|
|
2
|
+
export declare const DEFAULT_BLOCK_DURATION = 3;
|
|
3
|
+
/** Default minimum block-building duration (`min_block_duration`) in seconds. */
|
|
4
|
+
export declare const DEFAULT_MIN_BLOCK_DURATION = 2;
|
|
5
|
+
/** Default one-way P2P propagation time (`p2p_propagation_time`) for proposals and attestations in seconds. */
|
|
6
|
+
export declare const DEFAULT_P2P_PROPAGATION_TIME = 2;
|
|
7
|
+
/** Default local checkpoint proposal preparation time (`checkpoint_proposal_prepare_time`) in seconds. */
|
|
8
|
+
export declare const DEFAULT_CHECKPOINT_PROPOSAL_PREPARE_TIME = 1;
|
|
9
|
+
/** Default local tolerance for archiver orphan-prune checks when no checkpoint proposal was received. */
|
|
10
|
+
export declare const DEFAULT_ORPHAN_PRUNE_NO_PROPOSAL_TOLERANCE = 1;
|
|
11
|
+
/**
|
|
12
|
+
* Default proposer initialization time (`checkpoint_proposal_init_time`) in seconds: the budget reserved at
|
|
13
|
+
* the start of the build frame for sync, the proposer check, and checkpoint initialization before the first
|
|
14
|
+
* block sub-slot opens. The proposer rarely starts building exactly at `build_frame_start`; this offset
|
|
15
|
+
* shifts the sub-slot grid so the first sub-slot still has its full duration once the prologue completes.
|
|
16
|
+
*/
|
|
17
|
+
export declare const DEFAULT_CHECKPOINT_PROPOSAL_INIT_TIME = 1;
|
|
18
|
+
/**
|
|
19
|
+
* Ethereum slot duration (seconds) below which a network is treated as a fast local/e2e profile with mocked
|
|
20
|
+
* p2p. Profiles at or above this keep the production operational budgets. Mainnet is 12s; fast anvil-style
|
|
21
|
+
* local profiles run at 4s.
|
|
22
|
+
*/
|
|
23
|
+
export declare const FAST_PROFILE_ETHEREUM_SLOT_DURATION = 8;
|
|
24
|
+
/**
|
|
25
|
+
* Operational timing budgets for the fast local/e2e profile (mocked p2p), per the README's "Local e2e with
|
|
26
|
+
* mocked p2p" section. When `ethereum_slot_duration < FAST_PROFILE_ETHEREUM_SLOT_DURATION`, these cap the
|
|
27
|
+
* proposer's operational budgets so a fast network does not inherit the conservative production budgets,
|
|
28
|
+
* which would shrink the per-checkpoint build window and under-pack checkpoints. Explicitly configured
|
|
29
|
+
* budgets below these caps are kept as-is (the budgets are clamped down, never raised).
|
|
30
|
+
*/
|
|
31
|
+
export declare const FAST_PROFILE_P2P_PROPAGATION_TIME = 0.5;
|
|
32
|
+
/** Fast-profile checkpoint proposal preparation budget (seconds). See {@link FAST_PROFILE_P2P_PROPAGATION_TIME}. */
|
|
33
|
+
export declare const FAST_PROFILE_CHECKPOINT_PROPOSAL_PREPARE_TIME = 0.5;
|
|
34
|
+
/** Fast-profile minimum block-building budget (seconds). See {@link FAST_PROFILE_P2P_PROPAGATION_TIME}. */
|
|
35
|
+
export declare const FAST_PROFILE_MIN_BLOCK_DURATION = 1;
|
|
36
|
+
/** Resolved operational timing budgets used to size the proposer build window. */
|
|
37
|
+
export type ResolvedTimingBudgets = {
|
|
38
|
+
minBlockDuration: number;
|
|
39
|
+
p2pPropagationTime: number;
|
|
40
|
+
checkpointProposalPrepareTime: number;
|
|
41
|
+
checkpointProposalInitTime: number;
|
|
42
|
+
};
|
|
43
|
+
/** Default consensus grace for received checkpoint proposals to materialize locally. */
|
|
44
|
+
export declare function getDefaultCheckpointProposalSyncGrace(blockDuration: number): number;
|
|
45
|
+
/**
|
|
46
|
+
* Resolves the operational timing budgets, applying the fast local/e2e profile when
|
|
47
|
+
* `ethereumSlotDuration < FAST_PROFILE_ETHEREUM_SLOT_DURATION`.
|
|
48
|
+
*
|
|
49
|
+
* Production profiles (`ethereumSlotDuration >= FAST_PROFILE_ETHEREUM_SLOT_DURATION`) use the configured
|
|
50
|
+
* budgets verbatim. Fast profiles clamp `p2pPropagationTime`, `checkpointProposalPrepareTime`, and
|
|
51
|
+
* `minBlockDuration` down to the fast-profile caps so a fast network (mocked p2p) gets a build window sized
|
|
52
|
+
* for local timing rather than the conservative production budgets. The clamp only lowers budgets, so an
|
|
53
|
+
* operator that explicitly configured a smaller value keeps it. `checkpointProposalInitTime` is unchanged by
|
|
54
|
+
* the profile: it is a proposer prologue budget, not a propagation/preparation budget.
|
|
55
|
+
*/
|
|
56
|
+
export declare function resolveTimingBudgets(ethereumSlotDuration: number, opts: ResolvedTimingBudgets): ResolvedTimingBudgets;
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVkZ2V0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RpbWV0YWJsZS9idWRnZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNHQUFzRztBQUN0RyxlQUFPLE1BQU0sc0JBQXNCLElBQUksQ0FBQztBQUV4QyxpRkFBaUY7QUFDakYsZUFBTyxNQUFNLDBCQUEwQixJQUFJLENBQUM7QUFFNUMsK0dBQStHO0FBQy9HLGVBQU8sTUFBTSw0QkFBNEIsSUFBSSxDQUFDO0FBRTlDLDBHQUEwRztBQUMxRyxlQUFPLE1BQU0sd0NBQXdDLElBQUksQ0FBQztBQUUxRCx5R0FBeUc7QUFDekcsZUFBTyxNQUFNLDBDQUEwQyxJQUFJLENBQUM7QUFFNUQ7Ozs7O0dBS0c7QUFDSCxlQUFPLE1BQU0scUNBQXFDLElBQUksQ0FBQztBQUV2RDs7OztHQUlHO0FBQ0gsZUFBTyxNQUFNLG1DQUFtQyxJQUFJLENBQUM7QUFFckQ7Ozs7OztHQU1HO0FBQ0gsZUFBTyxNQUFNLGlDQUFpQyxNQUFNLENBQUM7QUFFckQsb0hBQW9IO0FBQ3BILGVBQU8sTUFBTSw2Q0FBNkMsTUFBTSxDQUFDO0FBRWpFLDJHQUEyRztBQUMzRyxlQUFPLE1BQU0sK0JBQStCLElBQUksQ0FBQztBQUVqRCxrRkFBa0Y7QUFDbEYsTUFBTSxNQUFNLHFCQUFxQixHQUFHO0lBQ2xDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUN6QixrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDM0IsNkJBQTZCLEVBQUUsTUFBTSxDQUFDO0lBQ3RDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQztDQUNwQyxDQUFDO0FBRUYsd0ZBQXdGO0FBQ3hGLHdCQUFnQixxQ0FBcUMsQ0FBQyxhQUFhLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFbkY7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsd0JBQWdCLG9CQUFvQixDQUFDLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUscUJBQXFCLEdBQUcscUJBQXFCLENBaUJySCJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budgets.d.ts","sourceRoot":"","sources":["../../src/timetable/budgets.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,+GAA+G;AAC/G,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,0GAA0G;AAC1G,eAAO,MAAM,wCAAwC,IAAI,CAAC;AAE1D,yGAAyG;AACzG,eAAO,MAAM,0CAA0C,IAAI,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,qCAAqC,IAAI,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,oHAAoH;AACpH,eAAO,MAAM,6CAA6C,MAAM,CAAC;AAEjE,2GAA2G;AAC3G,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,kFAAkF;AAClF,MAAM,MAAM,qBAAqB,GAAG;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6BAA6B,EAAE,MAAM,CAAC;IACtC,0BAA0B,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,wFAAwF;AACxF,wBAAgB,qCAAqC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,oBAAoB,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,CAiBrH"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/** Default block sub-slot duration (`D`) in seconds, used to derive how many blocks fit in a slot. */ export const DEFAULT_BLOCK_DURATION = 3;
|
|
2
|
+
/** Default minimum block-building duration (`min_block_duration`) in seconds. */ export const DEFAULT_MIN_BLOCK_DURATION = 2;
|
|
3
|
+
/** Default one-way P2P propagation time (`p2p_propagation_time`) for proposals and attestations in seconds. */ export const DEFAULT_P2P_PROPAGATION_TIME = 2;
|
|
4
|
+
/** Default local checkpoint proposal preparation time (`checkpoint_proposal_prepare_time`) in seconds. */ export const DEFAULT_CHECKPOINT_PROPOSAL_PREPARE_TIME = 1;
|
|
5
|
+
/** Default local tolerance for archiver orphan-prune checks when no checkpoint proposal was received. */ export const DEFAULT_ORPHAN_PRUNE_NO_PROPOSAL_TOLERANCE = 1;
|
|
6
|
+
/**
|
|
7
|
+
* Default proposer initialization time (`checkpoint_proposal_init_time`) in seconds: the budget reserved at
|
|
8
|
+
* the start of the build frame for sync, the proposer check, and checkpoint initialization before the first
|
|
9
|
+
* block sub-slot opens. The proposer rarely starts building exactly at `build_frame_start`; this offset
|
|
10
|
+
* shifts the sub-slot grid so the first sub-slot still has its full duration once the prologue completes.
|
|
11
|
+
*/ export const DEFAULT_CHECKPOINT_PROPOSAL_INIT_TIME = 1;
|
|
12
|
+
/**
|
|
13
|
+
* Ethereum slot duration (seconds) below which a network is treated as a fast local/e2e profile with mocked
|
|
14
|
+
* p2p. Profiles at or above this keep the production operational budgets. Mainnet is 12s; fast anvil-style
|
|
15
|
+
* local profiles run at 4s.
|
|
16
|
+
*/ export const FAST_PROFILE_ETHEREUM_SLOT_DURATION = 8;
|
|
17
|
+
/**
|
|
18
|
+
* Operational timing budgets for the fast local/e2e profile (mocked p2p), per the README's "Local e2e with
|
|
19
|
+
* mocked p2p" section. When `ethereum_slot_duration < FAST_PROFILE_ETHEREUM_SLOT_DURATION`, these cap the
|
|
20
|
+
* proposer's operational budgets so a fast network does not inherit the conservative production budgets,
|
|
21
|
+
* which would shrink the per-checkpoint build window and under-pack checkpoints. Explicitly configured
|
|
22
|
+
* budgets below these caps are kept as-is (the budgets are clamped down, never raised).
|
|
23
|
+
*/ export const FAST_PROFILE_P2P_PROPAGATION_TIME = 0.5;
|
|
24
|
+
/** Fast-profile checkpoint proposal preparation budget (seconds). See {@link FAST_PROFILE_P2P_PROPAGATION_TIME}. */ export const FAST_PROFILE_CHECKPOINT_PROPOSAL_PREPARE_TIME = 0.5;
|
|
25
|
+
/** Fast-profile minimum block-building budget (seconds). See {@link FAST_PROFILE_P2P_PROPAGATION_TIME}. */ export const FAST_PROFILE_MIN_BLOCK_DURATION = 1;
|
|
26
|
+
/** Default consensus grace for received checkpoint proposals to materialize locally. */ export function getDefaultCheckpointProposalSyncGrace(blockDuration) {
|
|
27
|
+
return 2 * blockDuration;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Resolves the operational timing budgets, applying the fast local/e2e profile when
|
|
31
|
+
* `ethereumSlotDuration < FAST_PROFILE_ETHEREUM_SLOT_DURATION`.
|
|
32
|
+
*
|
|
33
|
+
* Production profiles (`ethereumSlotDuration >= FAST_PROFILE_ETHEREUM_SLOT_DURATION`) use the configured
|
|
34
|
+
* budgets verbatim. Fast profiles clamp `p2pPropagationTime`, `checkpointProposalPrepareTime`, and
|
|
35
|
+
* `minBlockDuration` down to the fast-profile caps so a fast network (mocked p2p) gets a build window sized
|
|
36
|
+
* for local timing rather than the conservative production budgets. The clamp only lowers budgets, so an
|
|
37
|
+
* operator that explicitly configured a smaller value keeps it. `checkpointProposalInitTime` is unchanged by
|
|
38
|
+
* the profile: it is a proposer prologue budget, not a propagation/preparation budget.
|
|
39
|
+
*/ export function resolveTimingBudgets(ethereumSlotDuration, opts) {
|
|
40
|
+
const { minBlockDuration, p2pPropagationTime, checkpointProposalPrepareTime, checkpointProposalInitTime } = opts;
|
|
41
|
+
const isFastProfile = ethereumSlotDuration < FAST_PROFILE_ETHEREUM_SLOT_DURATION;
|
|
42
|
+
if (!isFastProfile) {
|
|
43
|
+
return {
|
|
44
|
+
minBlockDuration,
|
|
45
|
+
p2pPropagationTime,
|
|
46
|
+
checkpointProposalPrepareTime,
|
|
47
|
+
checkpointProposalInitTime
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
minBlockDuration: Math.min(minBlockDuration, FAST_PROFILE_MIN_BLOCK_DURATION),
|
|
52
|
+
p2pPropagationTime: Math.min(p2pPropagationTime, FAST_PROFILE_P2P_PROPAGATION_TIME),
|
|
53
|
+
checkpointProposalPrepareTime: Math.min(checkpointProposalPrepareTime, FAST_PROFILE_CHECKPOINT_PROPOSAL_PREPARE_TIME),
|
|
54
|
+
checkpointProposalInitTime
|
|
55
|
+
};
|
|
56
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SlotTimingConstants } from './consensus_timetable.js';
|
|
2
|
+
import { ProposerTimetable } from './proposer_timetable.js';
|
|
3
|
+
/**
|
|
4
|
+
* Subset of the sequencer/p2p config the proposer timetable derives its operational budgets from. Both
|
|
5
|
+
* {@link SequencerConfig} and {@link P2PConfig} structurally satisfy this, so the same builder is used by
|
|
6
|
+
* the sequencer, the p2p layer, and the node's `getNodeInfo`.
|
|
7
|
+
*/
|
|
8
|
+
export type ProposerTimetableConfig = {
|
|
9
|
+
blockDurationMs?: number;
|
|
10
|
+
minBlockDuration?: number;
|
|
11
|
+
attestationPropagationTime?: number;
|
|
12
|
+
checkpointProposalPrepareTime?: number;
|
|
13
|
+
checkpointProposalSyncGraceSeconds?: number;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Builds the proposer timetable from a sequencer/p2p config and the slot-timing protocol constants,
|
|
17
|
+
* applying the shared stdlib budget defaults. Single source of truth shared by the sequencer, the p2p
|
|
18
|
+
* layer, and the node's `getNodeInfo` so they all derive the same `maxBlocksPerCheckpoint`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function buildProposerTimetable(config: ProposerTimetableConfig, l1Constants: SlotTimingConstants): ProposerTimetable;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRfcHJvcG9zZXJfdGltZXRhYmxlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGltZXRhYmxlL2J1aWxkX3Byb3Bvc2VyX3RpbWV0YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTVEOzs7O0dBSUc7QUFDSCxNQUFNLE1BQU0sdUJBQXVCLEdBQUc7SUFDcEMsZUFBZSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzFCLDBCQUEwQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLDZCQUE2QixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3ZDLGtDQUFrQyxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQzdDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsd0JBQWdCLHNCQUFzQixDQUNwQyxNQUFNLEVBQUUsdUJBQXVCLEVBQy9CLFdBQVcsRUFBRSxtQkFBbUIsR0FDL0IsaUJBQWlCLENBVW5CIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build_proposer_timetable.d.ts","sourceRoot":"","sources":["../../src/timetable/build_proposer_timetable.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,kCAAkC,CAAC,EAAE,MAAM,CAAC;CAC7C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,mBAAmB,GAC/B,iBAAiB,CAUnB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DEFAULT_BLOCK_DURATION, DEFAULT_CHECKPOINT_PROPOSAL_INIT_TIME, DEFAULT_CHECKPOINT_PROPOSAL_PREPARE_TIME, DEFAULT_MIN_BLOCK_DURATION, DEFAULT_P2P_PROPAGATION_TIME } from './budgets.js';
|
|
2
|
+
import { ProposerTimetable } from './proposer_timetable.js';
|
|
3
|
+
/**
|
|
4
|
+
* Builds the proposer timetable from a sequencer/p2p config and the slot-timing protocol constants,
|
|
5
|
+
* applying the shared stdlib budget defaults. Single source of truth shared by the sequencer, the p2p
|
|
6
|
+
* layer, and the node's `getNodeInfo` so they all derive the same `maxBlocksPerCheckpoint`.
|
|
7
|
+
*/ export function buildProposerTimetable(config, l1Constants) {
|
|
8
|
+
return new ProposerTimetable({
|
|
9
|
+
l1Constants,
|
|
10
|
+
blockDuration: config.blockDurationMs !== undefined ? config.blockDurationMs / 1000 : DEFAULT_BLOCK_DURATION,
|
|
11
|
+
minBlockDuration: config.minBlockDuration ?? DEFAULT_MIN_BLOCK_DURATION,
|
|
12
|
+
p2pPropagationTime: config.attestationPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME,
|
|
13
|
+
checkpointProposalPrepareTime: config.checkpointProposalPrepareTime ?? DEFAULT_CHECKPOINT_PROPOSAL_PREPARE_TIME,
|
|
14
|
+
checkpointProposalInitTime: DEFAULT_CHECKPOINT_PROPOSAL_INIT_TIME,
|
|
15
|
+
checkpointProposalSyncGrace: config.checkpointProposalSyncGraceSeconds
|
|
16
|
+
});
|
|
17
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { type L1RollupConstants } from '../epoch-helpers/index.js';
|
|
3
|
+
/** Slot-timing protocol constants the timetables derive wall-clock times from. */
|
|
4
|
+
export type SlotTimingConstants = Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'ethereumSlotDuration'>;
|
|
5
|
+
/**
|
|
6
|
+
* Consensus acceptance bounds for the pipelined timetable.
|
|
7
|
+
*
|
|
8
|
+
* Returns the deadlines and matching receive-window lower bounds that validators and p2p use to decide
|
|
9
|
+
* whether a proposal or attestation is acceptable for a given target slot. All getters take a target slot
|
|
10
|
+
* and return an absolute wall-clock timestamp in seconds.
|
|
11
|
+
*
|
|
12
|
+
* Inputs are protocol slot-timing constants only (`genesis`, `aztec_slot_duration`,
|
|
13
|
+
* `ethereum_slot_duration`, `block_duration`, `checkpoint_proposal_sync_grace`); no operational budgets, so every
|
|
14
|
+
* node agrees on these bounds. See `stdlib/src/timetable/README.md` for the timing model.
|
|
15
|
+
*/
|
|
16
|
+
export declare class ConsensusTimetable {
|
|
17
|
+
/** Aztec slot duration (`S`) in seconds. */
|
|
18
|
+
readonly aztecSlotDuration: number;
|
|
19
|
+
/** Ethereum slot duration (`E`) in seconds. */
|
|
20
|
+
readonly ethereumSlotDuration: number;
|
|
21
|
+
/** Block sub-slot duration (`D`) in seconds. */
|
|
22
|
+
readonly blockDuration: number;
|
|
23
|
+
/** L1 genesis timestamp in seconds (`genesis`), the anchor all slot timings derive from. */
|
|
24
|
+
readonly genesisTime: bigint;
|
|
25
|
+
/** Consensus grace for received checkpoint proposals to materialize into local proposed state. */
|
|
26
|
+
readonly checkpointProposalSyncGrace: number;
|
|
27
|
+
constructor(opts: {
|
|
28
|
+
l1Constants: SlotTimingConstants;
|
|
29
|
+
blockDuration: number;
|
|
30
|
+
checkpointProposalSyncGrace?: number;
|
|
31
|
+
});
|
|
32
|
+
/**
|
|
33
|
+
* Build-frame start for the target slot: `target_slot_start - S - E`. Anchors all sub-slot timings.
|
|
34
|
+
* Computed directly (not via a `slot - 1` hop) so it is well-defined for slot 0, whose build frame
|
|
35
|
+
* predates genesis; p2p validators evaluate acceptance windows for arbitrary peer-supplied slots.
|
|
36
|
+
*/
|
|
37
|
+
getBuildFrameStart(slot: SlotNumber): number;
|
|
38
|
+
/** Start of the target slot: `genesis + slot * S`. */
|
|
39
|
+
getTargetSlotStart(slot: SlotNumber): number;
|
|
40
|
+
/**
|
|
41
|
+
* Earliest acceptable arrival for a checkpoint proposal: `target_slot_start - S - E` (the build frame
|
|
42
|
+
* opening). Nothing legitimate for this slot exists before its build frame opens.
|
|
43
|
+
*/
|
|
44
|
+
getCheckpointProposalReceiveStart(slot: SlotNumber): number;
|
|
45
|
+
/**
|
|
46
|
+
* Hard consensus receive deadline for a checkpoint proposal: `target_slot_start - E - D`. Validators
|
|
47
|
+
* reject proposals arriving after this, and the next proposer does not build on them.
|
|
48
|
+
*/
|
|
49
|
+
getCheckpointProposalReceiveDeadline(slot: SlotNumber): number;
|
|
50
|
+
/**
|
|
51
|
+
* Wall-clock deadline by which a received checkpoint proposal should have materialized into local proposed
|
|
52
|
+
* state. This is `next_proposer_build_frame_start + checkpointProposalSyncGrace`, rounded up to the next
|
|
53
|
+
* integer second because L1 timestamps and archiver comparisons are second-granularity.
|
|
54
|
+
*/
|
|
55
|
+
getCheckpointProposalSyncedDeadline(slot: SlotNumber): number;
|
|
56
|
+
/**
|
|
57
|
+
* Earliest acceptable arrival for an attestation: `target_slot_start - S - E` (the build frame
|
|
58
|
+
* opening). Deliberately liberal; attestations are attributed by content, not timing.
|
|
59
|
+
*/
|
|
60
|
+
getAttestationReceiveStart(slot: SlotNumber): number;
|
|
61
|
+
/**
|
|
62
|
+
* Single hard consensus deadline: `target_slot_start + S - 2E`. The latest the checkpoint can still
|
|
63
|
+
* land on L1 in the target slot, and the cutoff by which every block and the checkpoint must be
|
|
64
|
+
* re-executed, validated, and signed. Consensus-driven (used for inactivity/slashing decisions).
|
|
65
|
+
*/
|
|
66
|
+
getAttestationDeadline(slot: SlotNumber): number;
|
|
67
|
+
/** Slot-timing protocol constants this timetable derives wall-clock times from. */
|
|
68
|
+
getL1Constants(): SlotTimingConstants;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2Vuc3VzX3RpbWV0YWJsZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RpbWV0YWJsZS9jb25zZW5zdXNfdGltZXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUF1QixNQUFNLDJCQUEyQixDQUFDO0FBR3hGLGtGQUFrRjtBQUNsRixNQUFNLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsR0FBRyxjQUFjLEdBQUcsc0JBQXNCLENBQUMsQ0FBQztBQUVySDs7Ozs7Ozs7OztHQVVHO0FBQ0gscUJBQWEsa0JBQWtCO0lBQzdCLDRDQUE0QztJQUM1QyxTQUFnQixpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFFMUMsK0NBQStDO0lBQy9DLFNBQWdCLG9CQUFvQixFQUFFLE1BQU0sQ0FBQztJQUU3QyxnREFBZ0Q7SUFDaEQsU0FBZ0IsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUV0Qyw0RkFBNEY7SUFDNUYsU0FBZ0IsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUVwQyxrR0FBa0c7SUFDbEcsU0FBZ0IsMkJBQTJCLEVBQUUsTUFBTSxDQUFDO0lBRXBELFlBQVksSUFBSSxFQUFFO1FBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDO1FBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztRQUFDLDJCQUEyQixDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsRUFzQmxIO0lBRUQ7Ozs7T0FJRztJQUNJLGtCQUFrQixDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsTUFBTSxDQUVsRDtJQUVELHNEQUFzRDtJQUMvQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE1BQU0sQ0FFbEQ7SUFFRDs7O09BR0c7SUFDSSxpQ0FBaUMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE1BQU0sQ0FFakU7SUFFRDs7O09BR0c7SUFDSSxvQ0FBb0MsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE1BQU0sQ0FFcEU7SUFFRDs7OztPQUlHO0lBQ0ksbUNBQW1DLENBQUMsSUFBSSxFQUFFLFVBQVUsR0FBRyxNQUFNLENBSW5FO0lBRUQ7OztPQUdHO0lBQ0ksMEJBQTBCLENBQUMsSUFBSSxFQUFFLFVBQVUsR0FBRyxNQUFNLENBRTFEO0lBRUQ7Ozs7T0FJRztJQUNJLHNCQUFzQixDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsTUFBTSxDQUV0RDtJQUVELG1GQUFtRjtJQUM1RSxjQUFjLElBQUksbUJBQW1CLENBTTNDO0NBQ0YifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consensus_timetable.d.ts","sourceRoot":"","sources":["../../src/timetable/consensus_timetable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,2BAA2B,CAAC;AAGxF,kFAAkF;AAClF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,sBAAsB,CAAC,CAAC;AAErH;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;IAC7B,4CAA4C;IAC5C,SAAgB,iBAAiB,EAAE,MAAM,CAAC;IAE1C,+CAA+C;IAC/C,SAAgB,oBAAoB,EAAE,MAAM,CAAC;IAE7C,gDAAgD;IAChD,SAAgB,aAAa,EAAE,MAAM,CAAC;IAEtC,4FAA4F;IAC5F,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC,kGAAkG;IAClG,SAAgB,2BAA2B,EAAE,MAAM,CAAC;IAEpD,YAAY,IAAI,EAAE;QAAE,WAAW,EAAE,mBAAmB,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,2BAA2B,CAAC,EAAE,MAAM,CAAA;KAAE,EAsBlH;IAED;;;;OAIG;IACI,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAElD;IAED,sDAAsD;IAC/C,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAElD;IAED;;;OAGG;IACI,iCAAiC,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEjE;IAED;;;OAGG;IACI,oCAAoC,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEpE;IAED;;;;OAIG;IACI,mCAAmC,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAInE;IAED;;;OAGG;IACI,0BAA0B,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAE1D;IAED;;;;OAIG;IACI,sBAAsB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEtD;IAED,mFAAmF;IAC5E,cAAc,IAAI,mBAAmB,CAM3C;CACF"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { getTimestampForSlot } from '../epoch-helpers/index.js';
|
|
2
|
+
import { getDefaultCheckpointProposalSyncGrace } from './budgets.js';
|
|
3
|
+
/**
|
|
4
|
+
* Consensus acceptance bounds for the pipelined timetable.
|
|
5
|
+
*
|
|
6
|
+
* Returns the deadlines and matching receive-window lower bounds that validators and p2p use to decide
|
|
7
|
+
* whether a proposal or attestation is acceptable for a given target slot. All getters take a target slot
|
|
8
|
+
* and return an absolute wall-clock timestamp in seconds.
|
|
9
|
+
*
|
|
10
|
+
* Inputs are protocol slot-timing constants only (`genesis`, `aztec_slot_duration`,
|
|
11
|
+
* `ethereum_slot_duration`, `block_duration`, `checkpoint_proposal_sync_grace`); no operational budgets, so every
|
|
12
|
+
* node agrees on these bounds. See `stdlib/src/timetable/README.md` for the timing model.
|
|
13
|
+
*/ export class ConsensusTimetable {
|
|
14
|
+
/** Aztec slot duration (`S`) in seconds. */ aztecSlotDuration;
|
|
15
|
+
/** Ethereum slot duration (`E`) in seconds. */ ethereumSlotDuration;
|
|
16
|
+
/** Block sub-slot duration (`D`) in seconds. */ blockDuration;
|
|
17
|
+
/** L1 genesis timestamp in seconds (`genesis`), the anchor all slot timings derive from. */ genesisTime;
|
|
18
|
+
/** Consensus grace for received checkpoint proposals to materialize into local proposed state. */ checkpointProposalSyncGrace;
|
|
19
|
+
constructor(opts){
|
|
20
|
+
const { l1Constants, blockDuration } = opts;
|
|
21
|
+
const checkpointProposalSyncGrace = opts.checkpointProposalSyncGrace ?? getDefaultCheckpointProposalSyncGrace(blockDuration);
|
|
22
|
+
if (l1Constants.slotDuration <= 0) {
|
|
23
|
+
throw new Error(`aztecSlotDuration must be positive (got ${l1Constants.slotDuration})`);
|
|
24
|
+
}
|
|
25
|
+
if (l1Constants.ethereumSlotDuration <= 0) {
|
|
26
|
+
throw new Error(`ethereumSlotDuration must be positive (got ${l1Constants.ethereumSlotDuration})`);
|
|
27
|
+
}
|
|
28
|
+
if (blockDuration <= 0) {
|
|
29
|
+
throw new Error(`blockDuration must be positive (got ${blockDuration})`);
|
|
30
|
+
}
|
|
31
|
+
if (checkpointProposalSyncGrace < 0) {
|
|
32
|
+
throw new Error(`checkpointProposalSyncGrace must be non-negative (got ${checkpointProposalSyncGrace})`);
|
|
33
|
+
}
|
|
34
|
+
this.aztecSlotDuration = l1Constants.slotDuration;
|
|
35
|
+
this.ethereumSlotDuration = l1Constants.ethereumSlotDuration;
|
|
36
|
+
this.blockDuration = blockDuration;
|
|
37
|
+
this.genesisTime = l1Constants.l1GenesisTime;
|
|
38
|
+
this.checkpointProposalSyncGrace = checkpointProposalSyncGrace;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Build-frame start for the target slot: `target_slot_start - S - E`. Anchors all sub-slot timings.
|
|
42
|
+
* Computed directly (not via a `slot - 1` hop) so it is well-defined for slot 0, whose build frame
|
|
43
|
+
* predates genesis; p2p validators evaluate acceptance windows for arbitrary peer-supplied slots.
|
|
44
|
+
*/ getBuildFrameStart(slot) {
|
|
45
|
+
return this.getTargetSlotStart(slot) - this.aztecSlotDuration - this.ethereumSlotDuration;
|
|
46
|
+
}
|
|
47
|
+
/** Start of the target slot: `genesis + slot * S`. */ getTargetSlotStart(slot) {
|
|
48
|
+
return Number(getTimestampForSlot(slot, this.getL1Constants()));
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Earliest acceptable arrival for a checkpoint proposal: `target_slot_start - S - E` (the build frame
|
|
52
|
+
* opening). Nothing legitimate for this slot exists before its build frame opens.
|
|
53
|
+
*/ getCheckpointProposalReceiveStart(slot) {
|
|
54
|
+
return this.getBuildFrameStart(slot);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Hard consensus receive deadline for a checkpoint proposal: `target_slot_start - E - D`. Validators
|
|
58
|
+
* reject proposals arriving after this, and the next proposer does not build on them.
|
|
59
|
+
*/ getCheckpointProposalReceiveDeadline(slot) {
|
|
60
|
+
return this.getTargetSlotStart(slot) - this.ethereumSlotDuration - this.blockDuration;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Wall-clock deadline by which a received checkpoint proposal should have materialized into local proposed
|
|
64
|
+
* state. This is `next_proposer_build_frame_start + checkpointProposalSyncGrace`, rounded up to the next
|
|
65
|
+
* integer second because L1 timestamps and archiver comparisons are second-granularity.
|
|
66
|
+
*/ getCheckpointProposalSyncedDeadline(slot) {
|
|
67
|
+
return Math.ceil(this.getCheckpointProposalReceiveDeadline(slot) + this.blockDuration + this.checkpointProposalSyncGrace);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Earliest acceptable arrival for an attestation: `target_slot_start - S - E` (the build frame
|
|
71
|
+
* opening). Deliberately liberal; attestations are attributed by content, not timing.
|
|
72
|
+
*/ getAttestationReceiveStart(slot) {
|
|
73
|
+
return this.getBuildFrameStart(slot);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Single hard consensus deadline: `target_slot_start + S - 2E`. The latest the checkpoint can still
|
|
77
|
+
* land on L1 in the target slot, and the cutoff by which every block and the checkpoint must be
|
|
78
|
+
* re-executed, validated, and signed. Consensus-driven (used for inactivity/slashing decisions).
|
|
79
|
+
*/ getAttestationDeadline(slot) {
|
|
80
|
+
return this.getTargetSlotStart(slot) + this.aztecSlotDuration - 2 * this.ethereumSlotDuration;
|
|
81
|
+
}
|
|
82
|
+
/** Slot-timing protocol constants this timetable derives wall-clock times from. */ getL1Constants() {
|
|
83
|
+
return {
|
|
84
|
+
l1GenesisTime: this.genesisTime,
|
|
85
|
+
slotDuration: this.aztecSlotDuration,
|
|
86
|
+
ethereumSlotDuration: this.ethereumSlotDuration
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|