@aztec/stdlib 0.0.1-commit.f2ce05ee → 0.0.1-commit.f5a9928
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 +149 -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 +57 -15
- 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 +7 -25
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_selector.d.ts +3 -6
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +2 -4
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/note_selector.d.ts +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 +11 -10
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +10 -9
- package/dest/block/block_parameter.d.ts +37 -4
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +53 -2
- package/dest/block/in_block.d.ts +5 -24
- package/dest/block/in_block.d.ts.map +1 -1
- 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 +21 -41
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +12 -2
- package/dest/block/l2_block_info.d.ts +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 +235 -337
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +85 -1
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +30 -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 +61 -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 +85 -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 +24 -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 +185 -124
- 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 +301 -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 +52 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +132 -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 +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -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 +227 -0
- package/dest/config/node-rpc-config.d.ts +13 -1
- package/dest/config/node-rpc-config.d.ts.map +1 -1
- package/dest/config/node-rpc-config.js +34 -1
- package/dest/config/sequencer-config.d.ts +9 -3
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +47 -2
- 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 +5 -11
- package/dest/database-version/database_version.d.ts.map +1 -1
- package/dest/database-version/version_manager.d.ts +22 -4
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +87 -6
- 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 +12 -20
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +16 -2
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +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.js +2 -2
- 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 +7 -2
- package/dest/interfaces/api_limit.d.ts.map +1 -1
- package/dest/interfaces/api_limit.js +4 -1
- package/dest/interfaces/archiver.d.ts +27 -32
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +217 -65
- package/dest/interfaces/aztec-node-admin.d.ts +116 -265
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +67 -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 +168 -117
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +359 -78
- package/dest/interfaces/block-builder.d.ts +49 -13
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +13 -6
- 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 +110 -121
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +25 -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 +65 -14
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +49 -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-client.d.ts +10 -27
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +7 -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 +26 -62
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +9 -4
- package/dest/interfaces/tx_provider.d.ts +10 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +91 -207
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +18 -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 +59 -26
- 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.js +5 -5
- 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 +33 -9
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +49 -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 -7
- 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 +70 -7
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +130 -27
- 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 +7 -5
- 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 +32 -15
- 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 +45 -25
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +68 -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 +2 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +1 -1
- package/dest/p2p/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- package/dest/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/p2p/validated_proposal.d.ts +35 -0
- package/dest/p2p/validated_proposal.d.ts.map +1 -0
- package/dest/p2p/validated_proposal.js +17 -0
- 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 +9 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
- 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 +2 -2
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- 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 +13 -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 +20 -112
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +22 -24
- package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
- package/dest/slashing/votes.d.ts.map +1 -0
- package/dest/slashing/{tally.js → votes.js} +30 -2
- package/dest/snapshots/types.d.ts +15 -78
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/stats/stats.d.ts +2 -2
- 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 +91 -88
- package/dest/tests/mocks.d.ts +15 -7
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +69 -70
- 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 -37
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +4 -39
- 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 +7 -4
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +13 -6
- 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 +10 -3
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +15 -4
- package/dest/tx/in_tx.d.ts +5 -17
- 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 +8 -19
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +9 -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 +23 -13
- 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 +34 -17
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +70 -30
- 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 +151 -51
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +145 -51
- 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 +21 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +19 -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 +15 -13
- package/src/abi/abi.ts +86 -21
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +38 -5
- package/src/abi/contract_artifact.ts +63 -15
- 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_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 +21 -14
- package/src/block/block_parameter.ts +72 -4
- package/src/block/index.ts +1 -1
- package/src/block/l2_block.ts +13 -1
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +276 -122
- package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +81 -0
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +101 -9
- package/src/block/l2_block_stream/l2_block_stream.ts +268 -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 +276 -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 +262 -0
- package/src/config/chain-config.ts +13 -16
- package/src/config/index.ts +1 -0
- package/src/config/network-consensus-config.ts +299 -0
- package/src/config/node-rpc-config.ts +51 -1
- package/src/config/sequencer-config.ts +82 -5
- 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/version_manager.ts +113 -6
- package/src/deserialization/index.ts +35 -2
- package/src/epoch-helpers/index.ts +27 -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 +318 -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 +2 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/api_limit.ts +6 -1
- package/src/interfaces/archiver.ts +97 -88
- package/src/interfaces/aztec-node-admin.ts +58 -20
- package/src/interfaces/aztec-node-debug.ts +92 -0
- package/src/interfaces/aztec-node.ts +420 -264
- package/src/interfaces/block-builder.ts +71 -15
- 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 +114 -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 +80 -30
- package/src/interfaces/private_kernel_prover.ts +98 -12
- package/src/interfaces/prover-agent.ts +1 -1
- package/src/interfaces/prover-client.ts +11 -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 +19 -10
- package/src/interfaces/tx_provider.ts +10 -0
- package/src/interfaces/validator.ts +103 -40
- 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 +83 -26
- 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 +5 -5
- 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 +55 -11
- package/src/logs/siloed_tag.ts +28 -14
- 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 +189 -35
- package/src/messaging/l2_to_l1_message.ts +29 -9
- package/src/noir/index.ts +6 -3
- 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 +112 -39
- package/src/p2p/checkpoint_attestation.ts +44 -31
- package/src/p2p/checkpoint_proposal.ts +149 -86
- 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 +1 -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/p2p/validated_proposal.ts +43 -0
- 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 +10 -0
- package/src/schemas/schemas.ts +6 -1
- package/src/slashing/helpers.ts +17 -9
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +31 -49
- package/src/slashing/{tally.ts → votes.ts} +34 -1
- package/src/stats/stats.ts +6 -2
- package/src/tests/factories.ts +123 -122
- package/src/tests/mocks.ts +111 -84
- 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 -66
- 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 +18 -7
- 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 +19 -9
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +18 -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 +39 -20
- package/src/tx/state_reference.ts +9 -4
- package/src/tx/tree_snapshots.ts +9 -4
- package/src/tx/tx.ts +98 -37
- 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 +269 -74
- 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 +26 -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/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 -97
- 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 -158
- 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 -106
- 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 -85
- package/dest/logs/log_id.d.ts.map +0 -1
- package/dest/logs/log_id.js +0 -94
- 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 -86
- 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/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 -180
- 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 -125
- 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 -103
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -4,27 +4,115 @@ import {
|
|
|
4
4
|
CheckpointNumber,
|
|
5
5
|
CheckpointNumberSchema,
|
|
6
6
|
type EpochNumber,
|
|
7
|
+
EpochNumberSchema,
|
|
7
8
|
type SlotNumber,
|
|
9
|
+
SlotNumberSchema,
|
|
8
10
|
} from '@aztec/foundation/branded-types';
|
|
9
11
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
10
12
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
13
|
+
import { schemas } from '@aztec/foundation/schemas';
|
|
11
14
|
import type { TypedEventEmitter } from '@aztec/foundation/types';
|
|
12
15
|
|
|
13
16
|
import { z } from 'zod';
|
|
14
17
|
|
|
15
|
-
import type {
|
|
18
|
+
import type { CheckpointData, ProposedCheckpointData, ProposedCheckpointInput } from '../checkpoint/checkpoint_data.js';
|
|
19
|
+
import type { CheckpointInfo } from '../checkpoint/checkpoint_info.js';
|
|
16
20
|
import type { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
17
21
|
import type { L1RollupConstants } from '../epoch-helpers/index.js';
|
|
22
|
+
import { MAX_RPC_CHECKPOINTS_DATA_LEN } from '../interfaces/api_limit.js';
|
|
23
|
+
import type { L2ToL1MembershipWitness } from '../messaging/l2_to_l1_membership.js';
|
|
18
24
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
19
|
-
import type { BlockHeader } from '../tx/block_header.js';
|
|
20
25
|
import type { IndexedTxEffect } from '../tx/indexed_tx_effect.js';
|
|
21
26
|
import type { TxHash } from '../tx/tx_hash.js';
|
|
22
|
-
import type {
|
|
23
|
-
import
|
|
24
|
-
import type
|
|
27
|
+
import type { BlockData } from './block_data.js';
|
|
28
|
+
import { BlockHash } from './block_hash.js';
|
|
29
|
+
import { BlockTagWithoutLatestSchema, type NormalizedBlockParameter } from './block_parameter.js';
|
|
25
30
|
import type { L2Block } from './l2_block.js';
|
|
26
31
|
import type { ValidateCheckpointNegativeResult, ValidateCheckpointResult } from './validate_block_result.js';
|
|
27
32
|
|
|
33
|
+
/** Lookup a single block by block number, hash, archive root, or chain-tip tag. */
|
|
34
|
+
export type BlockQuery = NormalizedBlockParameter;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Query a range of blocks by start/limit or by epoch.
|
|
38
|
+
*
|
|
39
|
+
* The `epoch` variant requires `onlyCheckpointed: true` because epoch boundaries are only
|
|
40
|
+
* meaningful for the checkpointed chain — the proposed chain may include uncheckpointed
|
|
41
|
+
* blocks past the epoch boundary that callers should not receive.
|
|
42
|
+
*/
|
|
43
|
+
export type BlocksQuery =
|
|
44
|
+
| { from: BlockNumber; limit: number; onlyCheckpointed?: boolean }
|
|
45
|
+
| { epoch: EpochNumber; onlyCheckpointed: true };
|
|
46
|
+
|
|
47
|
+
export const BlockQuerySchema: z.ZodType<BlockQuery, unknown> = z.union([
|
|
48
|
+
z.object({ number: BlockNumberSchema }).strict(),
|
|
49
|
+
z.object({ hash: BlockHash.schema }).strict(),
|
|
50
|
+
z.object({ archive: schemas.Fr }).strict(),
|
|
51
|
+
z.object({ tag: BlockTagWithoutLatestSchema }).strict(),
|
|
52
|
+
]);
|
|
53
|
+
|
|
54
|
+
export const BlocksQuerySchema: z.ZodType<BlocksQuery, unknown> = z.union([
|
|
55
|
+
z
|
|
56
|
+
.object({ from: BlockNumberSchema, limit: z.number().int().min(1), onlyCheckpointed: z.boolean().optional() })
|
|
57
|
+
.strict(),
|
|
58
|
+
z.object({ epoch: EpochNumberSchema, onlyCheckpointed: z.literal(true) }).strict(),
|
|
59
|
+
]);
|
|
60
|
+
|
|
61
|
+
/** Lookup a single confirmed checkpoint by checkpoint number, slot, or chain-tip tag. */
|
|
62
|
+
export type CheckpointQuery =
|
|
63
|
+
| { number: CheckpointNumber }
|
|
64
|
+
| { slot: SlotNumber }
|
|
65
|
+
| { tag: 'checkpointed' | 'proven' | 'finalized' };
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Query a range of confirmed checkpoints by start/limit, by slot anchor, or by epoch.
|
|
69
|
+
*
|
|
70
|
+
* The `fromSlot` variant walks the slot index: it returns up to `limit` checkpoints anchored at
|
|
71
|
+
* `fromSlot`, ordered nearest-first. With `reverse` it takes the checkpoints at or before the slot
|
|
72
|
+
* (descending); otherwise the checkpoints at or after it (ascending). Use `limit: 1, reverse: true`
|
|
73
|
+
* to find the latest checkpoint at or before a slot in a single range scan.
|
|
74
|
+
*/
|
|
75
|
+
export type CheckpointsQuery =
|
|
76
|
+
| { from: CheckpointNumber; limit: number }
|
|
77
|
+
| { fromSlot: SlotNumber; limit: number; reverse?: boolean }
|
|
78
|
+
| { epoch: EpochNumber };
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Lookup a proposed (archiver-internal, not-yet-L1-confirmed) checkpoint.
|
|
82
|
+
* Distinct from CheckpointQuery because proposed checkpoints have a different shape
|
|
83
|
+
* (no l1, no attestations, but carries totalManaUsed) and live in their own LMDB map.
|
|
84
|
+
*/
|
|
85
|
+
export type ProposedCheckpointQuery = { number: CheckpointNumber } | { slot: SlotNumber } | { tag: 'proposed' };
|
|
86
|
+
|
|
87
|
+
export const CheckpointQuerySchema: z.ZodType<CheckpointQuery, unknown> = z.union([
|
|
88
|
+
z.object({ number: CheckpointNumberSchema }).strict(),
|
|
89
|
+
z.object({ slot: SlotNumberSchema }).strict(),
|
|
90
|
+
z.object({ tag: z.union([z.literal('checkpointed'), z.literal('proven'), z.literal('finalized')]) }).strict(),
|
|
91
|
+
]);
|
|
92
|
+
|
|
93
|
+
const checkpointsQueryLimitSchema = () =>
|
|
94
|
+
z
|
|
95
|
+
.number()
|
|
96
|
+
.int()
|
|
97
|
+
.min(1)
|
|
98
|
+
.max(MAX_RPC_CHECKPOINTS_DATA_LEN, {
|
|
99
|
+
message: `limit must be at most ${MAX_RPC_CHECKPOINTS_DATA_LEN}`,
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
export const CheckpointsQuerySchema: z.ZodType<CheckpointsQuery, unknown> = z.union([
|
|
103
|
+
z.object({ from: CheckpointNumberSchema, limit: checkpointsQueryLimitSchema() }).strict(),
|
|
104
|
+
z
|
|
105
|
+
.object({ fromSlot: SlotNumberSchema, limit: checkpointsQueryLimitSchema(), reverse: z.boolean().optional() })
|
|
106
|
+
.strict(),
|
|
107
|
+
z.object({ epoch: EpochNumberSchema }).strict(),
|
|
108
|
+
]);
|
|
109
|
+
|
|
110
|
+
export const ProposedCheckpointQuerySchema: z.ZodType<ProposedCheckpointQuery, unknown> = z.union([
|
|
111
|
+
z.object({ number: CheckpointNumberSchema }).strict(),
|
|
112
|
+
z.object({ slot: SlotNumberSchema }).strict(),
|
|
113
|
+
z.object({ tag: z.literal('proposed') }).strict(),
|
|
114
|
+
]);
|
|
115
|
+
|
|
28
116
|
/**
|
|
29
117
|
* Interface of classes allowing for the retrieval of L2 blocks.
|
|
30
118
|
*/
|
|
@@ -48,90 +136,46 @@ export interface L2BlockSource {
|
|
|
48
136
|
getBlockNumber(): Promise<BlockNumber>;
|
|
49
137
|
|
|
50
138
|
/**
|
|
51
|
-
*
|
|
52
|
-
* @
|
|
139
|
+
* Resolves a {@link BlockQuery} to its concrete L2 block number.
|
|
140
|
+
* @param query - Lookup by block number, hash, archive root, or chain-tip tag.
|
|
141
|
+
* @returns The block number, or undefined if no block matches the query.
|
|
53
142
|
*/
|
|
54
|
-
|
|
143
|
+
getBlockNumber(query: BlockQuery): Promise<BlockNumber | undefined>;
|
|
144
|
+
getBlockNumber(query?: BlockQuery): Promise<BlockNumber | undefined>;
|
|
55
145
|
|
|
56
146
|
/**
|
|
57
|
-
* Gets the number of the latest L2
|
|
58
|
-
* @returns The number of the latest L2
|
|
147
|
+
* Gets the number of the latest L2 checkpoint processed by the block source implementation.
|
|
148
|
+
* @returns The number of the latest L2 checkpoint processed by the block source implementation.
|
|
59
149
|
*/
|
|
60
|
-
|
|
150
|
+
getCheckpointNumber(): Promise<CheckpointNumber>;
|
|
61
151
|
|
|
62
152
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* @returns The finalized block number.
|
|
153
|
+
* Gets a single confirmed checkpoint matching the given query.
|
|
154
|
+
* Heavy shape: includes nested full `L2Block`s with transaction bodies.
|
|
155
|
+
* @param query - Lookup by checkpoint number, slot, or chain-tip tag.
|
|
67
156
|
*/
|
|
68
|
-
|
|
157
|
+
getCheckpoint(query: CheckpointQuery): Promise<PublishedCheckpoint | undefined>;
|
|
69
158
|
|
|
70
159
|
/**
|
|
71
|
-
* Gets
|
|
72
|
-
*
|
|
73
|
-
* @
|
|
160
|
+
* Gets a collection of confirmed checkpoints matching the given query.
|
|
161
|
+
* Heavy shape: includes nested full `L2Block`s with transaction bodies.
|
|
162
|
+
* @param query - Range by start/limit or by epoch.
|
|
74
163
|
*/
|
|
75
|
-
|
|
164
|
+
getCheckpoints(query: CheckpointsQuery): Promise<PublishedCheckpoint[]>;
|
|
76
165
|
|
|
77
166
|
/**
|
|
78
|
-
* Gets
|
|
79
|
-
*
|
|
80
|
-
* @param
|
|
81
|
-
* @returns The requested checkpointed L2 block (or undefined if not found or not checkpointed).
|
|
167
|
+
* Gets lightweight checkpoint metadata for a single checkpoint.
|
|
168
|
+
* Cheap passthrough for metadata-only queries (no block body reads).
|
|
169
|
+
* @param query - Lookup by checkpoint number, slot, or chain-tip tag.
|
|
82
170
|
*/
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
getCheckpointedBlocks(from: BlockNumber, limit: number): Promise<CheckpointedL2Block[]>;
|
|
171
|
+
getCheckpointData(query: CheckpointQuery): Promise<CheckpointData | undefined>;
|
|
86
172
|
|
|
87
173
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
* @param
|
|
91
|
-
* @returns The collection of complete checkpoints.
|
|
174
|
+
* Gets a collection of lightweight checkpoint metadata entries matching the given query.
|
|
175
|
+
* Cheap passthrough for metadata-only queries (no block body reads).
|
|
176
|
+
* @param query - Range by start/limit or by epoch.
|
|
92
177
|
*/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Gets the checkpoints for a given epoch
|
|
97
|
-
* @param epochNumber - Epoch for which we want checkpoint data
|
|
98
|
-
*/
|
|
99
|
-
getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Gets a block header by its hash.
|
|
103
|
-
* @param blockHash - The block hash to retrieve.
|
|
104
|
-
* @returns The requested block header (or undefined if not found).
|
|
105
|
-
*/
|
|
106
|
-
getBlockHeaderByHash(blockHash: BlockHash): Promise<BlockHeader | undefined>;
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Gets a block header by its archive root.
|
|
110
|
-
* @param archive - The archive root to retrieve.
|
|
111
|
-
* @returns The requested block header (or undefined if not found).
|
|
112
|
-
*/
|
|
113
|
-
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Gets an L2 block by block number.
|
|
117
|
-
* @param number - The block number to return.
|
|
118
|
-
* @returns The requested L2 block (or undefined if not found).
|
|
119
|
-
*/
|
|
120
|
-
getL2Block(number: BlockNumber): Promise<L2Block | undefined>;
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Gets an L2 block by its hash.
|
|
124
|
-
* @param blockHash - The block hash to retrieve.
|
|
125
|
-
* @returns The requested L2 block (or undefined if not found).
|
|
126
|
-
*/
|
|
127
|
-
getL2BlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Gets an L2 block by its archive root.
|
|
131
|
-
* @param archive - The archive root to retrieve.
|
|
132
|
-
* @returns The requested L2 block (or undefined if not found).
|
|
133
|
-
*/
|
|
134
|
-
getL2BlockByArchive(archive: Fr): Promise<L2Block | undefined>;
|
|
178
|
+
getCheckpointsData(query: CheckpointsQuery): Promise<CheckpointData[]>;
|
|
135
179
|
|
|
136
180
|
/**
|
|
137
181
|
* Gets a tx effect.
|
|
@@ -141,28 +185,35 @@ export interface L2BlockSource {
|
|
|
141
185
|
getTxEffect(txHash: TxHash): Promise<IndexedTxEffect | undefined>;
|
|
142
186
|
|
|
143
187
|
/**
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
*
|
|
188
|
+
* Returns the L2-to-L1 membership witness for `message` emitted by tx `txHash`, built against the
|
|
189
|
+
* smallest partial-proof root on the Outbox that covers the tx's checkpoint.
|
|
190
|
+
*
|
|
191
|
+
* The Outbox roots are read lazily, pinned to the node's synced L1 block, so the witness reflects
|
|
192
|
+
* the node's synced view. Returns `undefined` if the tx isn't yet in a block/epoch or no covering
|
|
193
|
+
* root has landed on L1 as of the synced block.
|
|
194
|
+
*
|
|
195
|
+
* Caveat: cached roots that are sealed and L1-finalized are not re-validated. A reorg deeper than
|
|
196
|
+
* L1 finality could leave the node serving a witness against a no-longer-canonical root.
|
|
152
197
|
*/
|
|
153
|
-
|
|
198
|
+
getL2ToL1MembershipWitness(
|
|
199
|
+
txHash: TxHash,
|
|
200
|
+
message: Fr,
|
|
201
|
+
messageIndexInTx?: number,
|
|
202
|
+
): Promise<L2ToL1MembershipWitness | undefined>;
|
|
154
203
|
|
|
155
204
|
/**
|
|
156
|
-
* Returns the
|
|
205
|
+
* Returns the last L2 slot number for which we have all L1 data needed to build the next checkpoint.
|
|
206
|
+
* Determined by the max of two signals: L1 block sync progress and latest synced checkpoint slot.
|
|
207
|
+
* The checkpoint signal handles missed L1 blocks, since a published checkpoint seals the message tree
|
|
208
|
+
* for the next checkpoint via the inbox LAG mechanism.
|
|
157
209
|
*/
|
|
158
|
-
|
|
210
|
+
getSyncedL2SlotNumber(): Promise<SlotNumber | undefined>;
|
|
159
211
|
|
|
160
212
|
/**
|
|
161
|
-
* Returns
|
|
162
|
-
*
|
|
163
|
-
* @param epochNumber - The epoch number to return headers for.
|
|
213
|
+
* Returns the last L2 epoch number that has been fully synchronized from L1.
|
|
214
|
+
* An epoch is fully synced when all its L2 slots have been fully synced.
|
|
164
215
|
*/
|
|
165
|
-
|
|
216
|
+
getSyncedL2EpochNumber(): Promise<EpochNumber | undefined>;
|
|
166
217
|
|
|
167
218
|
/**
|
|
168
219
|
* Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
|
|
@@ -180,9 +231,22 @@ export interface L2BlockSource {
|
|
|
180
231
|
*/
|
|
181
232
|
getL1Constants(): Promise<L1RollupConstants>;
|
|
182
233
|
|
|
234
|
+
/**
|
|
235
|
+
* Returns true iff `canPruneAtTime` would be true at the latest L1 timestamp inside
|
|
236
|
+
* the L2 slot's window. Computed entirely from local archiver state (no L1 RPC).
|
|
237
|
+
* @param slot - The L2 slot to check.
|
|
238
|
+
*/
|
|
239
|
+
isPruneDueAtSlot(slot: SlotNumber): Promise<boolean>;
|
|
240
|
+
|
|
183
241
|
/** Returns values for the genesis block */
|
|
184
242
|
getGenesisValues(): Promise<{ genesisArchiveRoot: Fr }>;
|
|
185
243
|
|
|
244
|
+
/**
|
|
245
|
+
* Returns the precomputed hash of the genesis block header. Synchronous because the hash
|
|
246
|
+
* is derived from the initial block header at construction time and cached by implementers.
|
|
247
|
+
*/
|
|
248
|
+
getGenesisBlockHash(): BlockHash;
|
|
249
|
+
|
|
186
250
|
/** Latest synced L1 timestamp. */
|
|
187
251
|
getL1Timestamp(): Promise<bigint | undefined>;
|
|
188
252
|
|
|
@@ -198,53 +262,50 @@ export interface L2BlockSource {
|
|
|
198
262
|
*/
|
|
199
263
|
getPendingChainValidationStatus(): Promise<ValidateCheckpointResult>;
|
|
200
264
|
|
|
201
|
-
/** Force a sync. */
|
|
202
|
-
syncImmediate(): Promise<void>;
|
|
203
|
-
|
|
204
|
-
/* Legacy APIS */
|
|
205
|
-
|
|
206
265
|
/**
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
*
|
|
266
|
+
* Looks up a proposed (archiver-internal, not-yet-L1-confirmed) checkpoint.
|
|
267
|
+
* Returns the latest proposed entry when called with no args or `{ tag: 'proposed' }`; since a
|
|
268
|
+
* proposed entry can only be stored with a checkpoint number beyond the confirmed frontier (and is
|
|
269
|
+
* deleted on confirmation), the latest entry is always the leading one. Callers derive the proposed
|
|
270
|
+
* tip from the payload (checkpoint number, and last block `startBlock + blockCount - 1`).
|
|
271
|
+
* With `{ number }` or `{ slot }`, returns the matching entry or undefined.
|
|
272
|
+
* Never falls back to confirmed checkpoints.
|
|
210
273
|
*/
|
|
211
|
-
|
|
274
|
+
getProposedCheckpointData(query?: ProposedCheckpointQuery): Promise<ProposedCheckpointData | undefined>;
|
|
275
|
+
|
|
276
|
+
/** Force a sync. */
|
|
277
|
+
syncImmediate(): Promise<void>;
|
|
212
278
|
|
|
213
279
|
/**
|
|
214
|
-
*
|
|
215
|
-
* @
|
|
216
|
-
* @param epochNumber - The epoch number to return blocks for.
|
|
280
|
+
* Gets an L2 block matching the given query.
|
|
281
|
+
* @param query - Lookup by block number, hash, or archive root.
|
|
217
282
|
*/
|
|
218
|
-
|
|
283
|
+
getBlock(query: BlockQuery): Promise<L2Block | undefined>;
|
|
219
284
|
|
|
220
285
|
/**
|
|
221
|
-
*
|
|
222
|
-
* @
|
|
223
|
-
* @param slotNumber - The slot number to return blocks for.
|
|
286
|
+
* Gets a collection of L2 blocks matching the given query.
|
|
287
|
+
* @param query - Range by start/limit or by epoch; optionally restricted to checkpointed blocks.
|
|
224
288
|
*/
|
|
225
|
-
|
|
289
|
+
getBlocks(query: BlocksQuery): Promise<L2Block[]>;
|
|
226
290
|
|
|
227
291
|
/**
|
|
228
|
-
* Gets
|
|
229
|
-
* @param
|
|
230
|
-
* @returns The requested block (or undefined if not found).
|
|
292
|
+
* Gets block metadata (without tx data) matching the given query.
|
|
293
|
+
* @param query - Lookup by block number, hash, or archive root.
|
|
231
294
|
*/
|
|
232
|
-
|
|
295
|
+
getBlockData(query: BlockQuery): Promise<BlockData | undefined>;
|
|
233
296
|
|
|
234
297
|
/**
|
|
235
|
-
* Gets a
|
|
236
|
-
* @param
|
|
237
|
-
* @returns The requested block (or undefined if not found).
|
|
298
|
+
* Gets a collection of block metadata entries matching the given query.
|
|
299
|
+
* @param query - Range by start/limit or by epoch; optionally restricted to checkpointed blocks.
|
|
238
300
|
*/
|
|
239
|
-
|
|
301
|
+
getBlocksData(query: BlocksQuery): Promise<BlockData[]>;
|
|
240
302
|
|
|
241
303
|
/**
|
|
242
|
-
*
|
|
243
|
-
* @
|
|
244
|
-
* @param
|
|
245
|
-
* @returns The requested L2 blocks.
|
|
304
|
+
* Returns all blocks for a given slot.
|
|
305
|
+
* @dev Use this method only with recent slots, since it walks the block list backwards.
|
|
306
|
+
* @param slotNumber - The slot number to return blocks for.
|
|
246
307
|
*/
|
|
247
|
-
|
|
308
|
+
getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
|
|
248
309
|
}
|
|
249
310
|
|
|
250
311
|
/**
|
|
@@ -259,6 +320,19 @@ export interface L2BlockSink {
|
|
|
259
320
|
addBlock(block: L2Block): Promise<void>;
|
|
260
321
|
}
|
|
261
322
|
|
|
323
|
+
/**
|
|
324
|
+
* Interface for classes that can receive and store proposed (not-yet-L1-confirmed) checkpoints.
|
|
325
|
+
*/
|
|
326
|
+
export interface ProposedCheckpointSink {
|
|
327
|
+
/**
|
|
328
|
+
* Adds a proposed checkpoint to the store. The archive and checkpointOutHash are computed
|
|
329
|
+
* internally from the already-stored blocks, so every block in the checkpoint must be added
|
|
330
|
+
* (via {@link L2BlockSink.addBlock}) before calling this.
|
|
331
|
+
* @param checkpoint - The proposed checkpoint metadata.
|
|
332
|
+
*/
|
|
333
|
+
addProposedCheckpoint(checkpoint: ProposedCheckpointInput): Promise<void>;
|
|
334
|
+
}
|
|
335
|
+
|
|
262
336
|
/**
|
|
263
337
|
* L2BlockSource that emits events upon pending / proven chain changes.
|
|
264
338
|
* see L2BlockSourceEvents for the events emitted.
|
|
@@ -269,17 +343,24 @@ export type ArchiverEmitter = TypedEventEmitter<{
|
|
|
269
343
|
[L2BlockSourceEvents.L2BlockProven]: (args: L2BlockProvenEvent) => void;
|
|
270
344
|
[L2BlockSourceEvents.InvalidAttestationsCheckpointDetected]: (args: InvalidCheckpointDetectedEvent) => void;
|
|
271
345
|
[L2BlockSourceEvents.L2BlocksCheckpointed]: (args: L2CheckpointEvent) => void;
|
|
346
|
+
[L2BlockSourceEvents.CheckpointEquivocationDetected]: (args: CheckpointEquivocationDetectedEvent) => void;
|
|
347
|
+
[L2BlockSourceEvents.DescendentOfInvalidAttestationsCheckpointDetected]: (
|
|
348
|
+
args: DescendentOfInvalidAttestationsCheckpointEvent,
|
|
349
|
+
) => void;
|
|
350
|
+
[L2BlockSourceEvents.L2BlockSourceUpdated]: (args: L2BlockSourceUpdatedEvent) => void;
|
|
272
351
|
}>;
|
|
273
352
|
export interface L2BlockSourceEventEmitter extends L2BlockSource {
|
|
274
353
|
events: ArchiverEmitter;
|
|
275
354
|
}
|
|
276
355
|
|
|
277
356
|
/**
|
|
278
|
-
* Identifier for L2 block tags.
|
|
357
|
+
* Identifier for L2 block tags. Internal counterpart to {@link BlockTag} that omits `latest`
|
|
358
|
+
* (which is an alias for `proposed` accepted only at the public RPC surface).
|
|
359
|
+
*
|
|
279
360
|
* - proposed: Latest block proposed on L2.
|
|
280
|
-
* - checkpointed:
|
|
281
|
-
* - proven:
|
|
282
|
-
* - finalized:
|
|
361
|
+
* - checkpointed: Latest block whose enclosing checkpoint has been published on L1.
|
|
362
|
+
* - proven: Latest block whose enclosing checkpoint has been proven on L1.
|
|
363
|
+
* - finalized: Latest block whose proving L1 transaction has reached L1 finality.
|
|
283
364
|
*/
|
|
284
365
|
export type L2BlockTag = 'proposed' | 'checkpointed' | 'proven' | 'finalized';
|
|
285
366
|
|
|
@@ -291,6 +372,12 @@ export type L2Tips = {
|
|
|
291
372
|
finalized: L2TipId;
|
|
292
373
|
};
|
|
293
374
|
|
|
375
|
+
/**
|
|
376
|
+
* Tips of the L2 chain as tracked by a local provider (world-state, l2-tips-store). Identical to
|
|
377
|
+
* {@link L2Tips}; the alias is retained for call sites that document a local-only provenance.
|
|
378
|
+
*/
|
|
379
|
+
export type LocalL2Tips = L2Tips;
|
|
380
|
+
|
|
294
381
|
export const GENESIS_CHECKPOINT_HEADER_HASH = CheckpointHeader.empty().hash();
|
|
295
382
|
|
|
296
383
|
/** Identifies a block by number and hash. */
|
|
@@ -313,6 +400,28 @@ export function makeL2CheckpointId(number: CheckpointNumber, hash: string): Chec
|
|
|
313
400
|
return { number, hash };
|
|
314
401
|
}
|
|
315
402
|
|
|
403
|
+
function l2BlockIdEquals(a: L2BlockId, b: L2BlockId): boolean {
|
|
404
|
+
return a.number === b.number && a.hash === b.hash;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
function l2TipIdEquals(a: L2TipId, b: L2TipId): boolean {
|
|
408
|
+
return (
|
|
409
|
+
l2BlockIdEquals(a.block, b.block) &&
|
|
410
|
+
a.checkpoint.number === b.checkpoint.number &&
|
|
411
|
+
a.checkpoint.hash === b.checkpoint.hash
|
|
412
|
+
);
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
/** Returns whether two {@link L2Tips} snapshots agree on every tier (proposed, checkpointed, proven, finalized). */
|
|
416
|
+
export function l2TipsEqual(a: L2Tips, b: L2Tips): boolean {
|
|
417
|
+
return (
|
|
418
|
+
l2BlockIdEquals(a.proposed, b.proposed) &&
|
|
419
|
+
l2TipIdEquals(a.checkpointed, b.checkpointed) &&
|
|
420
|
+
l2TipIdEquals(a.proven, b.proven) &&
|
|
421
|
+
l2TipIdEquals(a.finalized, b.finalized)
|
|
422
|
+
);
|
|
423
|
+
}
|
|
424
|
+
|
|
316
425
|
const L2BlockIdSchema = z.object({
|
|
317
426
|
number: BlockNumberSchema,
|
|
318
427
|
hash: z.string(),
|
|
@@ -341,8 +450,25 @@ export enum L2BlockSourceEvents {
|
|
|
341
450
|
L2BlockProven = 'l2BlockProven',
|
|
342
451
|
L2BlocksCheckpointed = 'l2BlocksCheckpointed',
|
|
343
452
|
InvalidAttestationsCheckpointDetected = 'invalidCheckpointDetected',
|
|
453
|
+
CheckpointEquivocationDetected = 'checkpointEquivocationDetected',
|
|
454
|
+
DescendentOfInvalidAttestationsCheckpointDetected = 'descendentOfInvalidAttestationsCheckpointDetected',
|
|
455
|
+
L2BlockSourceUpdated = 'l2BlockSourceUpdated',
|
|
344
456
|
}
|
|
345
457
|
|
|
458
|
+
/**
|
|
459
|
+
* Aggregate event emitted once per committed archiver sync pass that mutated local state. Carries the chain tips
|
|
460
|
+
* before and after the pass; consumers compare `fromTips` and `toTips` to learn what moved, and read any data they
|
|
461
|
+
* need from the source itself.
|
|
462
|
+
*
|
|
463
|
+
* This is an optimization signal that lets a block stream reconcile immediately on an archiver update rather than
|
|
464
|
+
* waiting for its next poll. Polling remains the correctness fallback, so a missed event only affects latency.
|
|
465
|
+
*/
|
|
466
|
+
export type L2BlockSourceUpdatedEvent = {
|
|
467
|
+
type: 'l2BlockSourceUpdated';
|
|
468
|
+
fromTips: L2Tips;
|
|
469
|
+
toTips: L2Tips;
|
|
470
|
+
};
|
|
471
|
+
|
|
346
472
|
export type L2BlockProvenEvent = {
|
|
347
473
|
type: 'l2BlockProven';
|
|
348
474
|
blockNumber: BlockNumber;
|
|
@@ -371,3 +497,31 @@ export type InvalidCheckpointDetectedEvent = {
|
|
|
371
497
|
type: 'invalidCheckpointDetected';
|
|
372
498
|
validationResult: ValidateCheckpointNegativeResult;
|
|
373
499
|
};
|
|
500
|
+
|
|
501
|
+
/**
|
|
502
|
+
* Emitted when a local proposed checkpoint is found to disagree with the L1-confirmed
|
|
503
|
+
* checkpoint at the same slot. The slot proposer signed both — equivocation.
|
|
504
|
+
*/
|
|
505
|
+
export type CheckpointEquivocationDetectedEvent = {
|
|
506
|
+
type: 'checkpointEquivocationDetected';
|
|
507
|
+
slotNumber: SlotNumber;
|
|
508
|
+
checkpointNumber: CheckpointNumber;
|
|
509
|
+
l1ArchiveRoot: Fr;
|
|
510
|
+
proposedArchiveRoot: Fr;
|
|
511
|
+
};
|
|
512
|
+
|
|
513
|
+
/**
|
|
514
|
+
* Emitted when the archiver observes a checkpoint that builds on a previously-rejected
|
|
515
|
+
* ancestor (typically one with insufficient/invalid attestations). The descendant itself may
|
|
516
|
+
* have valid attestations, but it cannot be ingested because the chain it extends was
|
|
517
|
+
* skipped. The slasher uses this to slash the proposer of the descendant.
|
|
518
|
+
*/
|
|
519
|
+
export type DescendentOfInvalidAttestationsCheckpointEvent = {
|
|
520
|
+
type: 'descendentOfInvalidAttestationsCheckpointDetected';
|
|
521
|
+
/** The descendant checkpoint being rejected. */
|
|
522
|
+
checkpoint: CheckpointInfo;
|
|
523
|
+
/** Archive root of the rejected ancestor this descendant builds on. */
|
|
524
|
+
ancestorArchiveRoot: Fr;
|
|
525
|
+
/** Checkpoint number of the rejected ancestor. */
|
|
526
|
+
ancestorCheckpointNumber: CheckpointNumber;
|
|
527
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
2
|
+
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
type ArchiverEmitter,
|
|
6
|
+
type L2BlockSource,
|
|
7
|
+
type L2BlockSourceEventEmitter,
|
|
8
|
+
L2BlockSourceEvents,
|
|
9
|
+
} from '../l2_block_source.js';
|
|
10
|
+
import type { L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from './interfaces.js';
|
|
11
|
+
import { L2BlockStream, type L2BlockStreamOptions } from './l2_block_stream.js';
|
|
12
|
+
|
|
13
|
+
/** Returns the event emitter of a source that exposes one, or undefined for plain (e.g. RPC-backed) sources. */
|
|
14
|
+
function getEmitter(source: L2BlockSource | L2BlockSourceEventEmitter): ArchiverEmitter | undefined {
|
|
15
|
+
return 'events' in source ? source.events : undefined;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Event-driven wrapper around {@link L2BlockStream}. Subscribes to the source's aggregate `l2BlockSourceUpdated`
|
|
20
|
+
* event (when the source exposes one) and uses it purely as a doorbell: each event triggers an immediate
|
|
21
|
+
* reconciliation pass instead of waiting for the next tick, while the periodic poll remains the correctness
|
|
22
|
+
* fallback. Every pass reads tips and blocks authoritatively from the source, so a missed, stale, or duplicated
|
|
23
|
+
* event only affects latency. Subsystems keep consuming the same {@link L2BlockStreamEvent}s; the archiver
|
|
24
|
+
* aggregate event is handled entirely here.
|
|
25
|
+
*/
|
|
26
|
+
export class EventDrivenL2BlockStream {
|
|
27
|
+
private readonly blockStream: L2BlockStream;
|
|
28
|
+
private readonly runningPromise: RunningPromise;
|
|
29
|
+
private readonly emitter: ArchiverEmitter | undefined;
|
|
30
|
+
private started = false;
|
|
31
|
+
|
|
32
|
+
private readonly onSourceUpdated = () => {
|
|
33
|
+
// Fire-and-forget: trigger coalesces with any in-flight or periodic pass (see RunningPromise.trigger), so a
|
|
34
|
+
// burst of events does not run passes concurrently. Errors are swallowed by the inner stream's own handler.
|
|
35
|
+
void this.runningPromise.trigger().catch(err => this.log.error(`Error in event-triggered block stream sync`, err));
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
constructor(
|
|
39
|
+
source: L2BlockSource | L2BlockSourceEventEmitter,
|
|
40
|
+
localData: L2BlockStreamLocalDataProvider,
|
|
41
|
+
handler: L2BlockStreamEventHandler,
|
|
42
|
+
private readonly log = createLogger('types:event_driven_block_stream'),
|
|
43
|
+
opts: L2BlockStreamOptions = {},
|
|
44
|
+
) {
|
|
45
|
+
// The inner stream's own RunningPromise is never started; this wrapper owns the polling loop and drives the
|
|
46
|
+
// stream through `sync()` (which runs `work()` directly when the inner loop is stopped).
|
|
47
|
+
this.blockStream = new L2BlockStream(source, localData, handler, log, opts);
|
|
48
|
+
this.runningPromise = new RunningPromise(() => this.blockStream.sync(), log, opts.pollIntervalMS ?? 1000);
|
|
49
|
+
this.emitter = getEmitter(source);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public start(): void {
|
|
53
|
+
if (this.started) {
|
|
54
|
+
this.log.warn(`Attempted to start an already-started event-driven block stream`);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
this.started = true;
|
|
58
|
+
this.emitter?.on(L2BlockSourceEvents.L2BlockSourceUpdated, this.onSourceUpdated);
|
|
59
|
+
this.runningPromise.start();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
public async stop(): Promise<void> {
|
|
63
|
+
this.started = false;
|
|
64
|
+
this.emitter?.off(L2BlockSourceEvents.L2BlockSourceUpdated, this.onSourceUpdated);
|
|
65
|
+
await this.runningPromise.stop();
|
|
66
|
+
await this.blockStream.stop();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public isRunning(): boolean {
|
|
70
|
+
return this.runningPromise.isRunning();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Runs a synchronization pass now, bypassing the poll interval. Resolves once a pass that started after this call
|
|
75
|
+
* completes, so the caller observes state at least as fresh as the moment it asked. Concurrent callers coalesce
|
|
76
|
+
* onto a single such pass. Rejects if the stream is stopped before that pass runs.
|
|
77
|
+
*/
|
|
78
|
+
public sync(): Promise<void> {
|
|
79
|
+
return this.runningPromise.trigger();
|
|
80
|
+
}
|
|
81
|
+
}
|