@aztec/stdlib 0.0.1-commit.c31f2472 → 0.0.1-commit.c52d6e7
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 +169 -1083
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +52 -20
- 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 +1 -1
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +49 -26
- package/dest/abi/decoder.d.ts +15 -47
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +33 -89
- 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 +35 -14
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +45 -9
- 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 +2228 -10934
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +10 -5
- 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/index.d.ts +1 -6
- package/dest/avm/index.d.ts.map +1 -1
- package/dest/avm/index.js +0 -5
- 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 +17 -19
- 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 +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 +7 -26
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +2 -2
- 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 +85 -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 +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 +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/node-rpc-config.d.ts +1 -1
- package/dest/config/node-rpc-config.d.ts.map +1 -1
- package/dest/config/node-rpc-config.js +1 -1
- 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/artifact_hash.d.ts +2 -2
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/artifact_hash.js +10 -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.js +3 -2
- 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 -4
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -3
- 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 +14 -18
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +18 -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 -64
- package/dest/interfaces/aztec-node-admin.d.ts +116 -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 +192 -163
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +352 -77
- package/dest/interfaces/block-builder.d.ts +53 -12
- 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 +104 -121
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +24 -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 +20 -24
- 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 +131 -12
- 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 -3
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -2
- 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 +10 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +89 -170
- 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 +3 -4
- package/dest/kernel/hints/index.d.ts.map +1 -1
- package/dest/kernel/hints/index.js +2 -3
- 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 +10 -2
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +9 -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 -12
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +13 -10
- 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_4_circuit_private_inputs.d.ts +24 -0
- package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -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_inner_4_circuit_private_inputs.d.ts +18 -0
- package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
- package/dest/kernel/private_kernel_prover_output.d.ts +6 -29
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.js +4 -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_simulated_output.d.ts +1 -7
- package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_simulated_output.js +2 -1
- 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/kernel/utils/index.d.ts +1 -2
- package/dest/kernel/utils/index.d.ts.map +1 -1
- package/dest/kernel/utils/index.js +0 -1
- 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 -7
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +8 -6
- 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/message_context.d.ts +4 -16
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +1 -48
- package/dest/logs/pending_tagged_log.d.ts +6 -9
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +1 -31
- 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 +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 +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 +51 -24
- 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 -3
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +0 -2
- 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 -56
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +93 -120
- 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 -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 +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 +6 -18
- package/dest/tx/in_tx.d.ts.map +1 -1
- package/dest/tx/index.d.ts +2 -2
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -1
- package/dest/tx/indexed_tx_effect.d.ts +9 -20
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +9 -5
- package/dest/tx/offchain_effect.js +1 -1
- 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 +21 -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/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 +11 -39
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +7 -21
- package/package.json +29 -15
- package/src/abi/abi.ts +110 -25
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +38 -5
- package/src/abi/contract_artifact.ts +51 -22
- package/src/abi/decoder.ts +53 -103
- 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 +41 -7
- 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 +10 -2
- package/src/avm/index.ts +0 -5
- 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 +72 -4
- package/src/block/in_block.ts +2 -2
- 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 +279 -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 +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 +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/node-rpc-config.ts +2 -1
- package/src/config/sequencer-config.ts +96 -0
- package/src/contract/artifact_hash.ts +15 -3
- package/src/contract/complete_address.ts +7 -3
- package/src/contract/contract_address.ts +14 -13
- package/src/contract/contract_class.ts +6 -5
- package/src/contract/contract_class_id.ts +7 -6
- package/src/contract/contract_instance.ts +73 -3
- package/src/contract/index.ts +0 -3
- 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 +30 -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 -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 +437 -342
- package/src/interfaces/block-builder.ts +76 -12
- 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 +108 -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 +20 -23
- package/src/interfaces/p2p-bootstrap.ts +2 -2
- package/src/interfaces/p2p.ts +60 -31
- package/src/interfaces/private_kernel_prover.ts +192 -13
- 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 -2
- package/src/interfaces/server_circuit_prover.ts +2 -2
- package/src/interfaces/slasher.ts +21 -10
- package/src/interfaces/tx_provider.ts +10 -0
- package/src/interfaces/validator.ts +98 -36
- 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 -3
- 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 +9 -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 -9
- 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_4_circuit_private_inputs.ts +52 -0
- package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -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_inner_4_circuit_private_inputs.ts +39 -0
- package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
- package/src/kernel/private_kernel_prover_output.ts +4 -0
- package/src/kernel/private_kernel_reset_dimensions.ts +16 -6
- package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
- package/src/kernel/private_kernel_simulated_output.ts +0 -7
- 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/kernel/utils/index.ts +0 -1
- 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 -6
- 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/message_context.ts +6 -50
- package/src/logs/pending_tagged_log.ts +6 -35
- 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 +192 -38
- 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 +159 -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 +0 -2
- 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 +10 -4
- package/src/tests/factories.ts +128 -165
- 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 -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 +19 -8
- 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 -1
- package/src/tx/indexed_tx_effect.ts +18 -5
- package/src/tx/offchain_effect.ts +1 -1
- 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 +20 -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/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 -34
- 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/avm/contract_storage_read.d.ts +0 -58
- package/dest/avm/contract_storage_read.d.ts.map +0 -1
- package/dest/avm/contract_storage_read.js +0 -65
- package/dest/avm/contract_storage_update_request.d.ts +0 -65
- package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
- package/dest/avm/contract_storage_update_request.js +0 -80
- package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
- package/dest/avm/public_call_stack_item_compressed.js +0 -70
- package/dest/avm/public_data_update_request.d.ts +0 -62
- package/dest/avm/public_data_update_request.d.ts.map +0 -1
- package/dest/avm/public_data_update_request.js +0 -67
- package/dest/avm/public_inner_call_request.d.ts +0 -50
- package/dest/avm/public_inner_call_request.d.ts.map +0 -1
- package/dest/avm/public_inner_call_request.js +0 -74
- 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/deployment_info.d.ts +0 -24
- package/dest/contract/deployment_info.d.ts.map +0 -1
- package/dest/contract/deployment_info.js +0 -3
- 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/interfaces/prover-coordination.d.ts +0 -15
- package/dest/interfaces/prover-coordination.d.ts.map +0 -1
- package/dest/interfaces/prover-coordination.js +0 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
- package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
- 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/kernel/utils/optional_number.d.ts +0 -31
- package/dest/kernel/utils/optional_number.d.ts.map +0 -1
- package/dest/kernel/utils/optional_number.js +0 -42
- 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/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/p2p/interface.d.ts +0 -5
- package/dest/p2p/interface.d.ts.map +0 -1
- package/dest/p2p/interface.js +0 -1
- 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/tx/validator/empty_validator.d.ts +0 -5
- package/dest/tx/validator/empty_validator.d.ts.map +0 -1
- package/dest/tx/validator/empty_validator.js +0 -7
- 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/avm/contract_storage_read.ts +0 -77
- package/src/avm/contract_storage_update_request.ts +0 -93
- package/src/avm/public_call_stack_item_compressed.ts +0 -113
- package/src/avm/public_data_update_request.ts +0 -106
- package/src/avm/public_inner_call_request.ts +0 -85
- package/src/block/checkpointed_l2_block.ts +0 -70
- package/src/contract/deployment_info.ts +0 -25
- 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/interfaces/prover-coordination.ts +0 -17
- package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
- package/src/kernel/utils/optional_number.ts +0 -50
- 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/tx_scoped_l2_log.ts +0 -98
- package/src/note/notes_filter.ts +0 -38
- package/src/p2p/interface.ts +0 -4
- package/src/slashing/empire.ts +0 -102
- package/src/tx/validator/empty_validator.ts +0 -7
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { BlockNumber
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { AbortError } from '@aztec/foundation/error';
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
5
|
+
import { BlockHash } from '../block_hash.js';
|
|
5
6
|
import { makeL2BlockId } from '../l2_block_source.js';
|
|
6
|
-
|
|
7
|
+
import { localBlockIdDiffers } from './interfaces.js';
|
|
7
8
|
/** Creates a stream of events for new blocks, chain tips updates, and reorgs, out of polling an archiver or a node. */ export class L2BlockStream {
|
|
8
9
|
l2BlockSource;
|
|
9
10
|
localData;
|
|
@@ -21,6 +22,9 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
21
22
|
this.opts = opts;
|
|
22
23
|
this.isSyncing = false;
|
|
23
24
|
this.hasStarted = false;
|
|
25
|
+
if (opts.tipsOnly && (opts.startingBlock !== undefined || opts.batchSize !== undefined || opts.skipFinalized)) {
|
|
26
|
+
throw new Error('tipsOnly is incompatible with startingBlock, batchSize, and skipFinalized: all three are ' + 'block-download options and there is no download loop in tips-only mode.');
|
|
27
|
+
}
|
|
24
28
|
// Note that RunningPromise is in stopped state by default. This promise won't run until someone invokes `start`,
|
|
25
29
|
// which makes it run periodically, or `sync`, which triggers it once.
|
|
26
30
|
// Users of L2BlockStream decide what mode to run it in (_periodically_ vs _manually triggered_).
|
|
@@ -48,23 +52,68 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
48
52
|
}
|
|
49
53
|
async work() {
|
|
50
54
|
try {
|
|
51
|
-
|
|
55
|
+
// The source tips snapshot is the plan for this pass; it is re-read after the walk-back if a divergence is found.
|
|
56
|
+
let sourceTips = await this.l2BlockSource.getL2Tips();
|
|
52
57
|
const localTips = await this.localData.getL2Tips();
|
|
53
58
|
this.log.trace(`Running L2 block stream`, {
|
|
54
59
|
sourceTips,
|
|
55
60
|
localTips
|
|
56
61
|
});
|
|
57
|
-
|
|
62
|
+
if (!this.opts.ignoreCheckpoints && localTips.checkpointed === undefined) {
|
|
63
|
+
throw new Error('Local data provider does not expose a checkpointed tip; checkpoint events require one ' + '(set ignoreCheckpoints or provide checkpointed tips).');
|
|
64
|
+
}
|
|
65
|
+
// Baseline for the chain-proposed event; captured before the local store mutates during the pass.
|
|
66
|
+
const prePassProposed = localTips.proposed;
|
|
67
|
+
// In tips-only mode there is no download loop to supply the chain-proposed event's header, so it must be
|
|
68
|
+
// fetched. Start the read now so it runs in parallel with the walk-back below.
|
|
69
|
+
const prefetch = this.opts.tipsOnly && localBlockIdDiffers(prePassProposed, sourceTips.proposed) ? {
|
|
70
|
+
hash: sourceTips.proposed.hash,
|
|
71
|
+
header: this.getHeaderFromSource(sourceTips.proposed.hash)
|
|
72
|
+
} : undefined;
|
|
73
|
+
// Walk back to find a reorg, floored at the local finalized tip (a legitimate reorg can never reach it, since
|
|
74
|
+
// finalized means the proving tx is itself L1-finalized). Seed the cache with ONLY the proposed tip: a stale
|
|
75
|
+
// tier seed at a reorged height equals the local old-fork hash, faking agreement and stopping the walk above the
|
|
76
|
+
// true divergence (an under-deep prune no later pass re-detects), whereas a stale proposed seed only masks the
|
|
77
|
+
// tip for one pass.
|
|
58
78
|
let latestBlockNumber = localTips.proposed.number;
|
|
59
79
|
const sourceCache = new BlockHashCache([
|
|
60
80
|
sourceTips.proposed
|
|
61
81
|
]);
|
|
82
|
+
const walkFloor = localTips.finalized.block.number;
|
|
62
83
|
while(!await this.areBlockHashesEqualAt(latestBlockNumber, {
|
|
63
|
-
sourceCache
|
|
84
|
+
sourceCache,
|
|
85
|
+
sourceProposed: sourceTips.proposed.number
|
|
64
86
|
})){
|
|
87
|
+
if (latestBlockNumber === 0) {
|
|
88
|
+
// Walked back to genesis and the hashes still differ: the two sides disagree on block 0 itself (usually
|
|
89
|
+
// different genesisTimestamp/prefilled state). Fail loudly rather than underflow into negative heights.
|
|
90
|
+
this.log.error(`Genesis block hash mismatch between local store and source`, {
|
|
91
|
+
localBlockHash: await this.localData.getL2BlockHash(BlockNumber.ZERO),
|
|
92
|
+
sourceBlockHash: sourceCache.get(0) ?? await this.getBlockHashFromSource(BlockNumber.ZERO)
|
|
93
|
+
});
|
|
94
|
+
throw new Error('Genesis block hash mismatch between local store and source: refusing to walk past block 0. ' + 'This usually indicates the two sides were configured with different genesis values ' + '(e.g. genesisTimestamp or prefilled public data).');
|
|
95
|
+
}
|
|
96
|
+
if (latestBlockNumber <= walkFloor) {
|
|
97
|
+
// A mismatch at or below the finalized tip cannot be a reorg (it contradicts L1-finalized state), so stop
|
|
98
|
+
// here and prune at most to the finalized tip rather than pruning finalized state on non-reorg evidence.
|
|
99
|
+
this.log.warn(`Block hash mismatch at or below the local finalized tip; stopping the walk-back here`, {
|
|
100
|
+
blockNumber: latestBlockNumber,
|
|
101
|
+
finalizedBlockNumber: walkFloor,
|
|
102
|
+
localBlockHash: await this.localData.getL2BlockHash(latestBlockNumber),
|
|
103
|
+
sourceBlockHash: sourceCache.get(latestBlockNumber) ?? await this.getBlockHashFromSource(latestBlockNumber)
|
|
104
|
+
});
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
65
107
|
latestBlockNumber--;
|
|
66
108
|
}
|
|
109
|
+
let pruned = false;
|
|
67
110
|
if (latestBlockNumber < localTips.proposed.number) {
|
|
111
|
+
// Re-read the source tips after the (possibly slow) walk-back so the prune event carries fresh checkpointed
|
|
112
|
+
// and proven tips, and the prune-target clamp, download plan, and tier reconciliation track the post-prune
|
|
113
|
+
// source chain. Append only the re-read proposed tip: it is a fresh entry that cannot poison the (already
|
|
114
|
+
// finished) walk and serves the prune-event hash lookup below.
|
|
115
|
+
sourceTips = await this.l2BlockSource.getL2Tips();
|
|
116
|
+
sourceCache.add(sourceTips.proposed);
|
|
68
117
|
latestBlockNumber = BlockNumber(Math.min(latestBlockNumber, sourceTips.proposed.number)); // see #13471
|
|
69
118
|
const hash = sourceCache.get(latestBlockNumber) ?? await this.getBlockHashFromSource(latestBlockNumber);
|
|
70
119
|
if (latestBlockNumber !== 0 && !hash) {
|
|
@@ -74,135 +123,56 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
74
123
|
await this.emitEvent({
|
|
75
124
|
type: 'chain-pruned',
|
|
76
125
|
block: makeL2BlockId(latestBlockNumber, hash),
|
|
77
|
-
|
|
126
|
+
checkpointed: sourceTips.checkpointed,
|
|
127
|
+
proven: sourceTips.proven
|
|
78
128
|
});
|
|
129
|
+
pruned = true;
|
|
79
130
|
}
|
|
80
|
-
//
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
//
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
// If the last finalized block is behind our local tip, there is nothing to skip.
|
|
97
|
-
nextBlockNumber = Math.max(sourceTips.finalized.block.number, nextBlockNumber);
|
|
98
|
-
// If the next checkpoint to emit is behind the finalized tip then skip forward
|
|
99
|
-
nextCheckpointToEmit = CheckpointNumber(Math.max(nextCheckpointToEmit, sourceTips.finalized.checkpoint.number));
|
|
100
|
-
}
|
|
101
|
-
// Loop 1: Emit checkpoint events for checkpoints whose blocks are already in local storage.
|
|
102
|
-
// This handles the case where blocks were synced as uncheckpointed and later became checkpointed.
|
|
103
|
-
// The guard `lastBlockInCheckpoint.number > localTips.proposed.number` ensures we don't emit
|
|
104
|
-
// checkpoints for blocks we don't have (e.g., when startingBlock skips earlier blocks).
|
|
105
|
-
// Since only one checkpoint can ever be uncheckpointed, this loop should iterate at most once.
|
|
106
|
-
if (!this.opts.ignoreCheckpoints) {
|
|
107
|
-
let loop1Iterations = 0;
|
|
108
|
-
while(nextCheckpointToEmit <= sourceTips.checkpointed.checkpoint.number){
|
|
109
|
-
const checkpoints = await this.l2BlockSource.getCheckpoints(nextCheckpointToEmit, 1);
|
|
110
|
-
if (checkpoints.length === 0) {
|
|
111
|
-
break;
|
|
112
|
-
}
|
|
113
|
-
const lastBlockInCheckpoint = checkpoints[0].checkpoint.blocks.at(-1);
|
|
114
|
-
// If this checkpoint has blocks we haven't seen yet, stop - they need to be fetched first
|
|
115
|
-
if (lastBlockInCheckpoint.number > localTips.proposed.number) {
|
|
116
|
-
break;
|
|
117
|
-
}
|
|
118
|
-
loop1Iterations++;
|
|
119
|
-
if (loop1Iterations > 1) {
|
|
120
|
-
this.log.warn(`Emitting multiple checkpoints (${loop1Iterations}) for already-local blocks. ` + `Next checkpoint: ${nextCheckpointToEmit}, source checkpointed: ${sourceTips.checkpointed.checkpoint.number}`);
|
|
121
|
-
}
|
|
122
|
-
const lastBlockHash = await lastBlockInCheckpoint.hash();
|
|
123
|
-
await this.emitEvent({
|
|
124
|
-
type: 'chain-checkpointed',
|
|
125
|
-
checkpoint: checkpoints[0],
|
|
126
|
-
block: makeL2BlockId(lastBlockInCheckpoint.number, lastBlockHash.toString())
|
|
131
|
+
// Pass atomicity: a prune mid-download leaves the source unable to serve the planned blocks, so the snapshot's
|
|
132
|
+
// tier tips may reference blocks the consumer never saw — downloadBlocks aborts the pass in that case.
|
|
133
|
+
// Tips-only mode has no download plan (the snapshot is one atomic getL2Tips read), so it always reconciles.
|
|
134
|
+
const deliveredProposedHeader = this.opts.tipsOnly ? undefined : await this.downloadBlocks(latestBlockNumber, sourceTips);
|
|
135
|
+
// End-of-pass reconciliation: chain-proposed fires against the pre-pass baseline (a post-prune re-read would
|
|
136
|
+
// equal the source tip and suppress it), then the tiers highest-to-lowest so the finalized <= proven <=
|
|
137
|
+
// checkpointed <= proposed invariant holds mid-pass.
|
|
138
|
+
if (localBlockIdDiffers(prePassProposed, sourceTips.proposed)) {
|
|
139
|
+
const availableHeader = prefetch?.hash === sourceTips.proposed.hash ? await prefetch.header : deliveredProposedHeader;
|
|
140
|
+
const header = availableHeader ?? await this.getHeaderFromSource(sourceTips.proposed.hash);
|
|
141
|
+
if (header === undefined) {
|
|
142
|
+
// Abort the pass rather than skip just this event: the later tier events must not get ahead of a
|
|
143
|
+
// proposed tip the consumer never received. Nothing advanced, so the next pass retries.
|
|
144
|
+
this.log.warn(`No header for the proposed tip; aborting this sync pass`, {
|
|
145
|
+
blockNumber: sourceTips.proposed.number,
|
|
146
|
+
blockHash: sourceTips.proposed.hash
|
|
127
147
|
});
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
// Loop 2: Fetch new checkpointed blocks. For each checkpoint, emit all blocks
|
|
132
|
-
// from that checkpoint that we need, then emit the checkpoint event.
|
|
133
|
-
// We prefetch multiple checkpoints, then process them one by one.
|
|
134
|
-
let prefetchedCheckpoints = [];
|
|
135
|
-
let prefetchIdx = 0;
|
|
136
|
-
let nextCheckpointNumber;
|
|
137
|
-
// Find the starting checkpoint number
|
|
138
|
-
if (nextBlockNumber <= sourceTips.checkpointed.block.number) {
|
|
139
|
-
const blocks = await this.l2BlockSource.getCheckpointedBlocks(BlockNumber(nextBlockNumber), 1);
|
|
140
|
-
if (blocks.length > 0) {
|
|
141
|
-
nextCheckpointNumber = blocks[0].checkpointNumber;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
while(nextBlockNumber <= sourceTips.checkpointed.block.number && nextCheckpointNumber !== undefined){
|
|
145
|
-
// Refill the prefetch buffer when exhausted
|
|
146
|
-
if (prefetchIdx >= prefetchedCheckpoints.length) {
|
|
147
|
-
const prefetchLimit = this.opts.checkpointPrefetchLimit ?? CHECKPOINT_PREFETCH_LIMIT;
|
|
148
|
-
prefetchedCheckpoints = await this.l2BlockSource.getCheckpoints(nextCheckpointNumber, prefetchLimit);
|
|
149
|
-
prefetchIdx = 0;
|
|
150
|
-
if (prefetchedCheckpoints.length === 0) {
|
|
151
|
-
break;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
const checkpoint = prefetchedCheckpoints[prefetchIdx];
|
|
155
|
-
// Get all blocks from this checkpoint that we need, respecting batchSize
|
|
156
|
-
const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.checkpointed.block.number - nextBlockNumber + 1);
|
|
157
|
-
const blocksForCheckpoint = checkpoint.checkpoint.blocks.filter((b)=>b.number >= nextBlockNumber).slice(0, limit);
|
|
158
|
-
if (blocksForCheckpoint.length === 0) {
|
|
159
|
-
break;
|
|
148
|
+
throw new AbortError();
|
|
160
149
|
}
|
|
161
150
|
await this.emitEvent({
|
|
162
|
-
type: '
|
|
163
|
-
|
|
151
|
+
type: 'chain-proposed',
|
|
152
|
+
block: sourceTips.proposed,
|
|
153
|
+
header
|
|
164
154
|
});
|
|
165
|
-
nextBlockNumber = blocksForCheckpoint.at(-1).number + 1;
|
|
166
|
-
// If we've reached the end of this checkpoint, emit the checkpoint event and move to next
|
|
167
|
-
const lastBlockInCheckpoint = checkpoint.checkpoint.blocks.at(-1);
|
|
168
|
-
if (nextBlockNumber > lastBlockInCheckpoint.number) {
|
|
169
|
-
if (!this.opts.ignoreCheckpoints) {
|
|
170
|
-
const lastBlockHash = await lastBlockInCheckpoint.hash();
|
|
171
|
-
await this.emitEvent({
|
|
172
|
-
type: 'chain-checkpointed',
|
|
173
|
-
checkpoint,
|
|
174
|
-
block: makeL2BlockId(lastBlockInCheckpoint.number, lastBlockHash.toString())
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
prefetchIdx++;
|
|
178
|
-
nextCheckpointNumber = CheckpointNumber(nextCheckpointNumber + 1);
|
|
179
|
-
}
|
|
180
155
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.proposed.number - nextBlockNumber + 1);
|
|
184
|
-
this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit}`);
|
|
185
|
-
const blocks = await this.l2BlockSource.getBlocks(BlockNumber(nextBlockNumber), BlockNumber(limit));
|
|
186
|
-
if (blocks.length === 0) {
|
|
187
|
-
break;
|
|
188
|
-
}
|
|
156
|
+
const reconcileTips = pruned ? await this.localData.getL2Tips() : localTips;
|
|
157
|
+
if (!this.opts.ignoreCheckpoints && localBlockIdDiffers(reconcileTips.checkpointed?.block, sourceTips.checkpointed.block)) {
|
|
189
158
|
await this.emitEvent({
|
|
190
|
-
type: '
|
|
191
|
-
|
|
159
|
+
type: 'chain-checkpointed',
|
|
160
|
+
block: sourceTips.checkpointed.block,
|
|
161
|
+
checkpoint: sourceTips.checkpointed.checkpoint
|
|
192
162
|
});
|
|
193
|
-
nextBlockNumber = blocks.at(-1).number + 1;
|
|
194
163
|
}
|
|
195
|
-
|
|
196
|
-
if (localTips.proven !== undefined && sourceTips.proven.block.number !== localTips.proven.block.number) {
|
|
164
|
+
if (reconcileTips.proven !== undefined && localBlockIdDiffers(reconcileTips.proven.block, sourceTips.proven.block)) {
|
|
197
165
|
await this.emitEvent({
|
|
198
166
|
type: 'chain-proven',
|
|
199
|
-
block: sourceTips.proven.block
|
|
167
|
+
block: sourceTips.proven.block,
|
|
168
|
+
checkpoint: sourceTips.proven.checkpoint
|
|
200
169
|
});
|
|
201
170
|
}
|
|
202
|
-
if (
|
|
171
|
+
if (reconcileTips.finalized !== undefined && localBlockIdDiffers(reconcileTips.finalized.block, sourceTips.finalized.block)) {
|
|
203
172
|
await this.emitEvent({
|
|
204
173
|
type: 'chain-finalized',
|
|
205
|
-
block: sourceTips.finalized.block
|
|
174
|
+
block: sourceTips.finalized.block,
|
|
175
|
+
checkpoint: sourceTips.finalized.checkpoint
|
|
206
176
|
});
|
|
207
177
|
}
|
|
208
178
|
} catch (err) {
|
|
@@ -213,13 +183,76 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
213
183
|
}
|
|
214
184
|
}
|
|
215
185
|
/**
|
|
186
|
+
* Delivers every block from the agreed-on point through the advertised proposed tip as `blocks-added` events,
|
|
187
|
+
* aborting the pass when the source's own answers prove that tip is no longer real.
|
|
188
|
+
* @returns The delivered tip's header, so the caller can avoid a re-fetch; undefined when there was nothing to
|
|
189
|
+
* download (already at the tip, or startingBlock past it).
|
|
190
|
+
*/ async downloadBlocks(latestBlockNumber, sourceTips) {
|
|
191
|
+
// The post-prune cursor: the highest block number both sides agree on. Block downloads resume from here.
|
|
192
|
+
let nextBlockNumber = latestBlockNumber + 1;
|
|
193
|
+
// From a fresh local store, fast-forward past history the consumer doesn't care about.
|
|
194
|
+
const startingBlock = this.opts.startingBlock !== undefined ? BlockNumber(this.opts.startingBlock) : undefined;
|
|
195
|
+
if (latestBlockNumber === 0 && startingBlock !== undefined) {
|
|
196
|
+
nextBlockNumber = Math.max(startingBlock, 1);
|
|
197
|
+
}
|
|
198
|
+
if (this.opts.skipFinalized) {
|
|
199
|
+
// Finalized blocks cannot be reorged, so skip them — but keep the last finalized block as the guaranteed point
|
|
200
|
+
// where local and source agree, the floor the walk-back terminates against.
|
|
201
|
+
nextBlockNumber = Math.max(sourceTips.finalized.block.number, nextBlockNumber);
|
|
202
|
+
}
|
|
203
|
+
if (!this.hasStarted) {
|
|
204
|
+
this.log.verbose(`Starting sync from block number ${nextBlockNumber - 1}`);
|
|
205
|
+
this.hasStarted = true;
|
|
206
|
+
}
|
|
207
|
+
let lastDeliveredBlock;
|
|
208
|
+
while(nextBlockNumber <= sourceTips.proposed.number){
|
|
209
|
+
const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.proposed.number - nextBlockNumber + 1);
|
|
210
|
+
this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit}`);
|
|
211
|
+
const blocks = await this.l2BlockSource.getBlocks({
|
|
212
|
+
from: BlockNumber(nextBlockNumber),
|
|
213
|
+
limit
|
|
214
|
+
});
|
|
215
|
+
if (blocks.length === 0) {
|
|
216
|
+
// The source no longer has a block the snapshot promised: the snapshot is provably stale, so report the plan
|
|
217
|
+
// incomplete and skip reconciliation this pass.
|
|
218
|
+
this.log.warn(`Block source returned no blocks for a promised range; aborting this sync pass`, {
|
|
219
|
+
from: nextBlockNumber,
|
|
220
|
+
limit,
|
|
221
|
+
sourceProposed: sourceTips.proposed.number
|
|
222
|
+
});
|
|
223
|
+
throw new AbortError();
|
|
224
|
+
}
|
|
225
|
+
await this.emitEvent({
|
|
226
|
+
type: 'blocks-added',
|
|
227
|
+
blocks
|
|
228
|
+
});
|
|
229
|
+
lastDeliveredBlock = blocks.at(-1);
|
|
230
|
+
nextBlockNumber = lastDeliveredBlock.number + 1;
|
|
231
|
+
}
|
|
232
|
+
if (lastDeliveredBlock === undefined) {
|
|
233
|
+
// Loop never ran (caught up before the plan started, or startingBlock past the tip, see A-1061), so nothing
|
|
234
|
+
// was downloaded that could disprove the snapshot.
|
|
235
|
+
return undefined;
|
|
236
|
+
}
|
|
237
|
+
// The block delivered at the proposed height must carry the snapshot's proposed hash; a different hash means a
|
|
238
|
+
// same-height fork swap happened mid-pass, so the snapshot is stale.
|
|
239
|
+
const deliveredHash = (await lastDeliveredBlock.hash()).toString();
|
|
240
|
+
if (deliveredHash !== sourceTips.proposed.hash) {
|
|
241
|
+
this.log.warn(`Delivered proposed-block hash differs from snapshot; aborting this sync pass`, {
|
|
242
|
+
blockNumber: lastDeliveredBlock.number,
|
|
243
|
+
deliveredHash,
|
|
244
|
+
snapshotHash: sourceTips.proposed.hash
|
|
245
|
+
});
|
|
246
|
+
throw new AbortError();
|
|
247
|
+
}
|
|
248
|
+
return lastDeliveredBlock.header;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
216
251
|
* Returns whether the source and local agree on the block hash at a given height.
|
|
217
252
|
* @param blockNumber - The block number to test.
|
|
218
|
-
* @param args - A cache of data already requested from source
|
|
253
|
+
* @param args - A cache of data already requested from source (to avoid re-requesting it) and the source's
|
|
254
|
+
* advertised proposed tip from the pass snapshot (to detect an incoherent source).
|
|
219
255
|
*/ async areBlockHashesEqualAt(blockNumber, args) {
|
|
220
|
-
if (blockNumber === 0) {
|
|
221
|
-
return true;
|
|
222
|
-
}
|
|
223
256
|
const localBlockHash = await this.localData.getL2BlockHash(blockNumber);
|
|
224
257
|
if (!localBlockHash && this.opts.skipFinalized) {
|
|
225
258
|
// Failing to find a block hash when skipping finalized blocks can be highly problematic as we'd potentially need
|
|
@@ -229,6 +262,13 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
229
262
|
this.log.error(`No local block hash for block number ${blockNumber}`);
|
|
230
263
|
throw new AbortError();
|
|
231
264
|
}
|
|
265
|
+
if (!localBlockHash) {
|
|
266
|
+
// A missing local hash compares UNEQUAL: treating both-undefined as equal would stop the walk above the true
|
|
267
|
+
// divergence (an under-deep prune no later pass re-detects). Over-deep is the safe direction, and block 0 always
|
|
268
|
+
// resolves via the store's initialBlockHash so the walk always terminates.
|
|
269
|
+
this.log.trace(`No local block hash for block number ${blockNumber}; treating as unequal`);
|
|
270
|
+
return false;
|
|
271
|
+
}
|
|
232
272
|
const sourceBlockHashFromCache = args.sourceCache.get(blockNumber);
|
|
233
273
|
const sourceBlockHash = args.sourceCache.get(blockNumber) ?? await this.getBlockHashFromSource(blockNumber);
|
|
234
274
|
if (!sourceBlockHashFromCache && sourceBlockHash) {
|
|
@@ -237,6 +277,15 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
237
277
|
hash: sourceBlockHash
|
|
238
278
|
});
|
|
239
279
|
}
|
|
280
|
+
if (!sourceBlockHash && blockNumber !== 0 && blockNumber <= args.sourceProposed) {
|
|
281
|
+
// No source data at or below the source's own proposed tip: the source contradicts itself (mid-reorg unwind or
|
|
282
|
+
// a transient read failure), so skip this pass.
|
|
283
|
+
this.log.warn(`Source has no data for a block at or below its proposed tip; skipping this sync pass`, {
|
|
284
|
+
blockNumber,
|
|
285
|
+
sourceProposed: args.sourceProposed
|
|
286
|
+
});
|
|
287
|
+
throw new AbortError();
|
|
288
|
+
}
|
|
240
289
|
this.log.trace(`Comparing block hashes for block ${blockNumber}`, {
|
|
241
290
|
localBlockHash,
|
|
242
291
|
sourceBlockHash
|
|
@@ -244,10 +293,22 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
244
293
|
return localBlockHash === sourceBlockHash;
|
|
245
294
|
}
|
|
246
295
|
getBlockHashFromSource(blockNumber) {
|
|
247
|
-
return this.l2BlockSource.
|
|
296
|
+
return this.l2BlockSource.getBlockData({
|
|
297
|
+
number: blockNumber
|
|
298
|
+
}).then((d)=>d?.header.hash()).then((hash)=>hash?.toString());
|
|
299
|
+
}
|
|
300
|
+
getHeaderFromSource(hash) {
|
|
301
|
+
return this.l2BlockSource.getBlockData({
|
|
302
|
+
hash: BlockHash.fromString(hash)
|
|
303
|
+
}).then((data)=>data?.header).catch((err)=>{
|
|
304
|
+
this.log.error(`Failed to read header for block`, err, {
|
|
305
|
+
blockHash: hash
|
|
306
|
+
});
|
|
307
|
+
return undefined;
|
|
308
|
+
});
|
|
248
309
|
}
|
|
249
310
|
async emitEvent(event) {
|
|
250
|
-
this.log.debug(`Emitting ${event.type} (${event.type === 'blocks-added' ? event.blocks.length : event.type === 'chain-checkpointed' ? event.checkpoint.
|
|
311
|
+
this.log.debug(`Emitting ${event.type} (${event.type === 'blocks-added' ? event.blocks.length : event.type === 'chain-checkpointed' ? event.checkpoint.number : event.block.number})`);
|
|
251
312
|
await this.handler.handleBlockStreamEvent(event);
|
|
252
313
|
if (!this.isRunning() && !this.isSyncing) {
|
|
253
314
|
throw new AbortError();
|
|
@@ -1,27 +1,23 @@
|
|
|
1
|
-
import { BlockNumber
|
|
2
|
-
import type {
|
|
3
|
-
import type { L2BlockTag } from '../l2_block_source.js';
|
|
1
|
+
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import type { BlockHash } from '../block_hash.js';
|
|
3
|
+
import type { CheckpointId, L2BlockTag } from '../l2_block_source.js';
|
|
4
4
|
import { L2TipsStoreBase } from './l2_tips_store_base.js';
|
|
5
5
|
/**
|
|
6
6
|
* In-memory implementation of L2 tips store. Useful for testing and lightweight clients.
|
|
7
7
|
* @dev Tests in kv-store/src/stores/l2_tips_memory_store.test.ts
|
|
8
8
|
*/
|
|
9
9
|
export declare class L2TipsMemoryStore extends L2TipsStoreBase {
|
|
10
|
+
constructor(initialBlockHash: BlockHash);
|
|
10
11
|
private readonly tips;
|
|
12
|
+
private readonly tipCheckpoints;
|
|
11
13
|
private readonly blockHashes;
|
|
12
|
-
private readonly blockToCheckpoint;
|
|
13
|
-
private readonly checkpoints;
|
|
14
14
|
protected getTip(tag: L2BlockTag): Promise<BlockNumber | undefined>;
|
|
15
15
|
protected setTip(tag: L2BlockTag, blockNumber: BlockNumber): Promise<void>;
|
|
16
|
+
protected getTipCheckpoint(tag: L2BlockTag): Promise<CheckpointId | undefined>;
|
|
17
|
+
protected setTipCheckpoint(tag: L2BlockTag, checkpoint: CheckpointId): Promise<void>;
|
|
16
18
|
protected getStoredBlockHash(blockNumber: BlockNumber): Promise<string | undefined>;
|
|
17
19
|
protected setBlockHash(blockNumber: BlockNumber, hash: string): Promise<void>;
|
|
18
20
|
protected deleteBlockHashesBefore(blockNumber: BlockNumber): Promise<void>;
|
|
19
|
-
protected getCheckpointNumberForBlock(blockNumber: BlockNumber): Promise<CheckpointNumber | undefined>;
|
|
20
|
-
protected setCheckpointNumberForBlock(blockNumber: BlockNumber, checkpointNumber: CheckpointNumber): Promise<void>;
|
|
21
|
-
protected deleteBlockToCheckpointBefore(blockNumber: BlockNumber): Promise<void>;
|
|
22
|
-
protected getCheckpoint(checkpointNumber: CheckpointNumber): Promise<PublishedCheckpoint | undefined>;
|
|
23
|
-
protected saveCheckpointData(checkpoint: PublishedCheckpoint): Promise<void>;
|
|
24
|
-
protected deleteCheckpointsBefore(checkpointNumber: CheckpointNumber): Promise<void>;
|
|
25
21
|
protected runInTransaction<T>(fn: () => Promise<T>): Promise<T>;
|
|
26
22
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19tZW1vcnlfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ibG9jay9sMl9ibG9ja19zdHJlYW0vbDJfdGlwc19tZW1vcnlfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUxRDs7O0dBR0c7QUFDSCxxQkFBYSxpQkFBa0IsU0FBUSxlQUFlO0lBQ3BELFlBQVksZ0JBQWdCLEVBQUUsU0FBUyxFQUV0QztJQUVELE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFzQztJQUMzRCxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBdUM7SUFDdEUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQTZCO0lBRXpELFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUVsRTtJQUVELFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHekU7SUFFRCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxDQUU3RTtJQUVELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUduRjtJQUVELFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRWxGO0lBRUQsU0FBUyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUc1RTtJQUVELFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FPekU7SUFFRCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBRzlEO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_tips_memory_store.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_tips_memory_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"l2_tips_memory_store.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_tips_memory_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,YAAY,gBAAgB,EAAE,SAAS,EAEtC;IAED,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuC;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAEzD,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAElE;IAED,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;IAED,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAE7E;IAED,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnF;IAED,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAElF;IAED,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5E;IAED,SAAS,CAAC,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAOzE;IAED,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAG9D;CACF"}
|
|
@@ -3,10 +3,12 @@ import { L2TipsStoreBase } from './l2_tips_store_base.js';
|
|
|
3
3
|
* In-memory implementation of L2 tips store. Useful for testing and lightweight clients.
|
|
4
4
|
* @dev Tests in kv-store/src/stores/l2_tips_memory_store.test.ts
|
|
5
5
|
*/ export class L2TipsMemoryStore extends L2TipsStoreBase {
|
|
6
|
+
constructor(initialBlockHash){
|
|
7
|
+
super(initialBlockHash);
|
|
8
|
+
}
|
|
6
9
|
tips = new Map();
|
|
10
|
+
tipCheckpoints = new Map();
|
|
7
11
|
blockHashes = new Map();
|
|
8
|
-
blockToCheckpoint = new Map();
|
|
9
|
-
checkpoints = new Map();
|
|
10
12
|
getTip(tag) {
|
|
11
13
|
return Promise.resolve(this.tips.get(tag));
|
|
12
14
|
}
|
|
@@ -14,6 +16,13 @@ import { L2TipsStoreBase } from './l2_tips_store_base.js';
|
|
|
14
16
|
this.tips.set(tag, blockNumber);
|
|
15
17
|
return Promise.resolve();
|
|
16
18
|
}
|
|
19
|
+
getTipCheckpoint(tag) {
|
|
20
|
+
return Promise.resolve(this.tipCheckpoints.get(tag));
|
|
21
|
+
}
|
|
22
|
+
setTipCheckpoint(tag, checkpoint) {
|
|
23
|
+
this.tipCheckpoints.set(tag, checkpoint);
|
|
24
|
+
return Promise.resolve();
|
|
25
|
+
}
|
|
17
26
|
getStoredBlockHash(blockNumber) {
|
|
18
27
|
return Promise.resolve(this.blockHashes.get(blockNumber));
|
|
19
28
|
}
|
|
@@ -29,36 +38,6 @@ import { L2TipsStoreBase } from './l2_tips_store_base.js';
|
|
|
29
38
|
}
|
|
30
39
|
return Promise.resolve();
|
|
31
40
|
}
|
|
32
|
-
getCheckpointNumberForBlock(blockNumber) {
|
|
33
|
-
return Promise.resolve(this.blockToCheckpoint.get(blockNumber));
|
|
34
|
-
}
|
|
35
|
-
setCheckpointNumberForBlock(blockNumber, checkpointNumber) {
|
|
36
|
-
this.blockToCheckpoint.set(blockNumber, checkpointNumber);
|
|
37
|
-
return Promise.resolve();
|
|
38
|
-
}
|
|
39
|
-
deleteBlockToCheckpointBefore(blockNumber) {
|
|
40
|
-
for (const key of this.blockToCheckpoint.keys()){
|
|
41
|
-
if (key < blockNumber) {
|
|
42
|
-
this.blockToCheckpoint.delete(key);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return Promise.resolve();
|
|
46
|
-
}
|
|
47
|
-
getCheckpoint(checkpointNumber) {
|
|
48
|
-
return Promise.resolve(this.checkpoints.get(checkpointNumber));
|
|
49
|
-
}
|
|
50
|
-
saveCheckpointData(checkpoint) {
|
|
51
|
-
this.checkpoints.set(checkpoint.checkpoint.number, checkpoint);
|
|
52
|
-
return Promise.resolve();
|
|
53
|
-
}
|
|
54
|
-
deleteCheckpointsBefore(checkpointNumber) {
|
|
55
|
-
for (const key of this.checkpoints.keys()){
|
|
56
|
-
if (key < checkpointNumber) {
|
|
57
|
-
this.checkpoints.delete(key);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return Promise.resolve();
|
|
61
|
-
}
|
|
62
41
|
runInTransaction(fn) {
|
|
63
42
|
// Memory store doesn't need transactions - just execute immediately
|
|
64
43
|
return fn();
|
|
@@ -1,49 +1,51 @@
|
|
|
1
|
-
import { BlockNumber
|
|
2
|
-
import type {
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import type { BlockHash } from '../block_hash.js';
|
|
3
3
|
import type { L2Block } from '../l2_block.js';
|
|
4
|
-
import { type L2BlockTag, type
|
|
4
|
+
import { type CheckpointId, type L2BlockId, type L2BlockTag, type LocalL2Tips } from '../l2_block_source.js';
|
|
5
5
|
import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from './interfaces.js';
|
|
6
6
|
/**
|
|
7
7
|
* Abstract base class for L2 tips stores. Provides common event handling logic
|
|
8
8
|
* while delegating storage operations to subclasses.
|
|
9
9
|
*/
|
|
10
10
|
export declare abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider {
|
|
11
|
+
protected readonly initialBlockHash: BlockHash;
|
|
12
|
+
constructor(initialBlockHash: BlockHash);
|
|
11
13
|
/** Gets the block number for a given tag. */
|
|
12
14
|
protected abstract getTip(tag: L2BlockTag): Promise<BlockNumber | undefined>;
|
|
13
15
|
/** Sets the block number for a given tag. */
|
|
14
16
|
protected abstract setTip(tag: L2BlockTag, blockNumber: BlockNumber): Promise<void>;
|
|
17
|
+
/** Gets the checkpoint id recorded for a given tag, if any. */
|
|
18
|
+
protected abstract getTipCheckpoint(tag: L2BlockTag): Promise<CheckpointId | undefined>;
|
|
19
|
+
/** Records the checkpoint id for a given tag. */
|
|
20
|
+
protected abstract setTipCheckpoint(tag: L2BlockTag, checkpoint: CheckpointId): Promise<void>;
|
|
15
21
|
/** Gets the block hash for a given block number. */
|
|
16
22
|
protected abstract getStoredBlockHash(blockNumber: BlockNumber): Promise<string | undefined>;
|
|
17
23
|
/** Sets the block hash for a given block number. */
|
|
18
24
|
protected abstract setBlockHash(blockNumber: BlockNumber, hash: string): Promise<void>;
|
|
19
25
|
/** Deletes all block hashes for blocks before the given block number. */
|
|
20
26
|
protected abstract deleteBlockHashesBefore(blockNumber: BlockNumber): Promise<void>;
|
|
21
|
-
/** Gets the checkpoint number for a given block number. */
|
|
22
|
-
protected abstract getCheckpointNumberForBlock(blockNumber: BlockNumber): Promise<CheckpointNumber | undefined>;
|
|
23
|
-
/** Sets the checkpoint number for a given block number. */
|
|
24
|
-
protected abstract setCheckpointNumberForBlock(blockNumber: BlockNumber, checkpointNumber: CheckpointNumber): Promise<void>;
|
|
25
|
-
/** Deletes all block-to-checkpoint mappings for blocks before the given block number. */
|
|
26
|
-
protected abstract deleteBlockToCheckpointBefore(blockNumber: BlockNumber): Promise<void>;
|
|
27
|
-
/** Gets a checkpoint by its number. */
|
|
28
|
-
protected abstract getCheckpoint(checkpointNumber: CheckpointNumber): Promise<PublishedCheckpoint | undefined>;
|
|
29
|
-
/** Saves a checkpoint. */
|
|
30
|
-
protected abstract saveCheckpointData(checkpoint: PublishedCheckpoint): Promise<void>;
|
|
31
|
-
/** Deletes all checkpoints before the given checkpoint number. */
|
|
32
|
-
protected abstract deleteCheckpointsBefore(checkpointNumber: CheckpointNumber): Promise<void>;
|
|
33
27
|
/** Runs the given function in a transaction. Memory stores can just execute immediately. */
|
|
34
28
|
protected abstract runInTransaction<T>(fn: () => Promise<T>): Promise<T>;
|
|
35
29
|
getL2BlockHash(number: BlockNumber): Promise<string | undefined>;
|
|
36
|
-
getL2Tips(): Promise<
|
|
30
|
+
getL2Tips(): Promise<LocalL2Tips>;
|
|
31
|
+
/**
|
|
32
|
+
* Records `(number → hash)` witnesses into the block-hash index without moving any tip cursor. In tips-only mode
|
|
33
|
+
* the hash history is sparse (one anchor per tip-moving poll), so a consumer that materializes per-height state
|
|
34
|
+
* should witness those heights or its prunes are over-deep by the gap to the nearest anchor. Witnesses are compared
|
|
35
|
+
* against the source, not trusted, so they cannot cause under-deep prunes; this is always safe to call.
|
|
36
|
+
*/
|
|
37
|
+
recordBlockHashes(blocks: L2BlockId[]): Promise<void>;
|
|
37
38
|
handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
|
|
38
39
|
protected computeBlockHash(block: L2Block): Promise<string>;
|
|
39
40
|
private getBlockId;
|
|
40
41
|
private getCheckpointId;
|
|
42
|
+
private genesisCheckpointId;
|
|
41
43
|
private handleBlocksAdded;
|
|
44
|
+
private handleChainProposed;
|
|
42
45
|
private handleChainCheckpointed;
|
|
43
46
|
private handleChainPruned;
|
|
44
47
|
private handleChainProven;
|
|
45
48
|
private handleChainFinalized;
|
|
46
49
|
private saveTag;
|
|
47
|
-
private saveCheckpoint;
|
|
48
50
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19zdG9yZV9iYXNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc3RyZWFtL2wyX3RpcHNfc3RvcmVfYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFvQixNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFDTCxLQUFLLFlBQVksRUFFakIsS0FBSyxTQUFTLEVBQ2QsS0FBSyxVQUFVLEVBQ2YsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVySDs7O0dBR0c7QUFDSCw4QkFBc0IsZUFBZ0IsWUFBVyx5QkFBeUIsRUFBRSw4QkFBOEI7SUFDNUYsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTO0lBQTFELFlBQStCLGdCQUFnQixFQUFFLFNBQVMsRUFBSTtJQUc5RCw2Q0FBNkM7SUFDN0MsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRTdFLDZDQUE2QztJQUM3QyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBGLCtEQUErRDtJQUMvRCxTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsQ0FBQztJQUV4RixpREFBaUQ7SUFDakQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlGLG9EQUFvRDtJQUNwRCxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztJQUU3RixvREFBb0Q7SUFDcEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2Rix5RUFBeUU7SUFDekUsU0FBUyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwRiw0RkFBNEY7SUFDNUYsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUk1RCxjQUFjLENBQUMsTUFBTSxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUs1RTtJQUVNLFNBQVMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLENBc0J2QztJQUVEOzs7OztPQUtHO0lBQ1UsaUJBQWlCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FRakU7SUFFWSxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQXFCNUU7SUFHRCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBRTFEO1lBSWEsVUFBVTtZQVlWLGVBQWU7SUFnQjdCLE9BQU8sQ0FBQyxtQkFBbUI7WUFJYixpQkFBaUI7WUFhakIsbUJBQW1CO1lBU25CLHVCQUF1QjtZQVV2QixpQkFBaUI7WUEyQmpCLGlCQUFpQjtZQVVqQixvQkFBb0I7WUFtQnBCLE9BQU87Q0FNdEIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_tips_store_base.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_tips_store_base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"l2_tips_store_base.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_tips_store_base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,iCAAiC,CAAC;AAEhF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAErH;;;GAGG;AACH,8BAAsB,eAAgB,YAAW,yBAAyB,EAAE,8BAA8B;IAC5F,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,SAAS;IAA1D,YAA+B,gBAAgB,EAAE,SAAS,EAAI;IAG9D,6CAA6C;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAE7E,6CAA6C;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,+DAA+D;IAC/D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAExF,iDAAiD;IACjD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9F,oDAAoD;IACpD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE7F,oDAAoD;IACpD,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvF,yEAAyE;IACzE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,4FAA4F;IAC5F,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAI5D,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAK5E;IAEM,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,CAsBvC;IAED;;;;;OAKG;IACU,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjE;IAEY,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB5E;IAGD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1D;YAIa,UAAU;YAYV,eAAe;IAgB7B,OAAO,CAAC,mBAAmB;YAIb,iBAAiB;YAajB,mBAAmB;YASnB,uBAAuB;YAUvB,iBAAiB;YA2BjB,iBAAiB;YAUjB,oBAAoB;YAmBpB,OAAO;CAMtB"}
|