@aztec/stdlib 0.0.1-commit.85d7d01 → 0.0.1-commit.8655d4a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +142 -1081
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +41 -18
- package/dest/abi/authorization_selector.d.ts +4 -7
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/buffer.d.ts +14 -4
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +25 -4
- 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 +14 -7
- package/dest/abi/decoder.d.ts +6 -45
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +17 -67
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +60 -7
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/event_selector.d.ts +4 -7
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +7 -25
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_selector.d.ts +3 -6
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +2 -4
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/note_selector.d.ts +4 -7
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +1 -3
- package/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +1 -1
- package/dest/abi/utils.d.ts +14 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +16 -1
- package/dest/auth_witness/auth_witness.d.ts +2 -2
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/avm/avm.d.ts +1756 -10463
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +6 -3
- package/dest/avm/avm_accumulated_data.d.ts +22 -86
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_proving_request.d.ts +653 -5446
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/message_pack.js +12 -3
- package/dest/avm/public_data_write.d.ts +6 -12
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +5 -21
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +12 -30
- package/dest/aztec-address/index.d.ts +8 -8
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +9 -6
- 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 +7 -5
- package/dest/block/block_data.d.ts +13 -38
- package/dest/block/block_data.d.ts.map +1 -1
- package/dest/block/block_data.js +2 -2
- package/dest/block/block_hash.d.ts +11 -10
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +10 -9
- package/dest/block/block_parameter.d.ts +37 -4
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +53 -2
- package/dest/block/in_block.d.ts +5 -24
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/index.d.ts +1 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +0 -1
- package/dest/block/l2_block.d.ts +21 -41
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +12 -2
- package/dest/block/l2_block_info.d.ts +10 -29
- package/dest/block/l2_block_info.d.ts.map +1 -1
- package/dest/block/l2_block_info.js +6 -5
- package/dest/block/l2_block_source.d.ts +204 -351
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +67 -1
- package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +44 -17
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
- 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 +3 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_store_base.js +43 -11
- package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +26 -18
- 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 +5 -4
- package/dest/checkpoint/checkpoint.d.ts +31 -96
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +18 -5
- package/dest/checkpoint/checkpoint_data.d.ts +68 -91
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_data.js +12 -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 +5 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +4 -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 +42 -194
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/validate.d.ts +36 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +120 -0
- package/dest/config/chain-config.d.ts +4 -9
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +13 -12
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- package/dest/config/pipelining-config.d.ts +15 -0
- package/dest/config/pipelining-config.d.ts.map +1 -0
- package/dest/config/pipelining-config.js +18 -0
- package/dest/config/sequencer-config.d.ts +7 -3
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +23 -3
- 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 +6 -6
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +6 -5
- package/dest/contract/contract_class_id.d.ts +2 -2
- package/dest/contract/contract_class_id.js +2 -2
- 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 +4 -2
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +10 -3
- package/dest/contract/index.d.ts +1 -3
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -2
- package/dest/contract/interfaces/contract_class.d.ts +17 -241
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +1 -28
- package/dest/contract/interfaces/contract_instance.d.ts +41 -95
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +4 -2
- 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/protocol_contract_addresses.d.ts +2 -12
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +2 -4
- package/dest/database-version/database_version.d.ts +5 -11
- package/dest/database-version/database_version.d.ts.map +1 -1
- package/dest/database-version/version_manager.d.ts +6 -2
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +12 -1
- package/dest/epoch-helpers/index.d.ts +12 -20
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +16 -2
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +2 -2
- package/dest/file-store/http.d.ts +9 -2
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +20 -9
- package/dest/file-store/index.d.ts +2 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/gas/fee_math.d.ts +49 -0
- package/dest/gas/fee_math.d.ts.map +1 -0
- package/dest/gas/fee_math.js +80 -0
- package/dest/gas/gas.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 +66 -86
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +56 -9
- package/dest/gas/index.d.ts +2 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +1 -0
- package/dest/ha-signing/config.d.ts +28 -57
- package/dest/ha-signing/config.d.ts.map +1 -1
- package/dest/ha-signing/config.js +24 -28
- package/dest/ha-signing/index.d.ts +4 -3
- package/dest/ha-signing/index.d.ts.map +1 -1
- package/dest/ha-signing/index.js +3 -2
- package/dest/ha-signing/local_config.d.ts +32 -0
- package/dest/ha-signing/local_config.d.ts.map +1 -0
- package/dest/ha-signing/local_config.js +24 -0
- package/dest/ha-signing/types.d.ts +37 -32
- package/dest/ha-signing/types.d.ts.map +1 -1
- package/dest/ha-signing/types.js +13 -6
- package/dest/hash/hash.d.ts +34 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +63 -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 +1 -1
- package/dest/interfaces/api_limit.js +1 -1
- package/dest/interfaces/archiver.d.ts +22 -32
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +208 -68
- package/dest/interfaces/aztec-node-admin.d.ts +81 -273
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +59 -16
- package/dest/interfaces/aztec-node-debug.d.ts +21 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +21 -0
- package/dest/interfaces/aztec-node.d.ts +84 -101
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +298 -68
- package/dest/interfaces/block-builder.d.ts +40 -11
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +13 -6
- package/dest/interfaces/block_response.d.ts +90 -0
- package/dest/interfaces/block_response.d.ts.map +1 -0
- package/dest/interfaces/block_response.js +30 -0
- package/dest/interfaces/chain_tips.d.ts +50 -0
- package/dest/interfaces/chain_tips.d.ts.map +1 -0
- package/dest/interfaces/chain_tips.js +11 -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 +8 -2
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +7 -1
- package/dest/interfaces/configs.d.ts +64 -123
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +15 -3
- 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 +12 -21
- 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 +15 -5
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +28 -5
- package/dest/interfaces/private_kernel_prover.d.ts +62 -2
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.d.ts +5 -23
- package/dest/interfaces/prover-agent.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.js +4 -1
- package/dest/interfaces/prover-client.d.ts +9 -25
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +7 -4
- package/dest/interfaces/prover-node.js +22 -8
- package/dest/interfaces/proving-job-source.js +24 -4
- package/dest/interfaces/proving-job.d.ts +742 -5793
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +1 -1
- 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 -1
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -0
- package/dest/interfaces/slasher.d.ts +25 -65
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +8 -4
- package/dest/interfaces/tx_provider.d.ts +6 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +70 -208
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +13 -5
- package/dest/interfaces/world_state.d.ts +6 -5
- package/dest/interfaces/world_state.d.ts.map +1 -1
- 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/index.d.ts +5 -1
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +4 -0
- 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 +21 -9
- package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -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 +35 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -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 +37 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
- package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +10 -6
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +26 -7
- 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 +5 -4
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
- 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 +5 -4
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
- package/dest/kernel/public_call_request.d.ts +15 -30
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +16 -7
- package/dest/keys/derivation.d.ts +6 -2
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +16 -6
- 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/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 +46 -0
- package/dest/logs/app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret.js +109 -0
- package/dest/logs/app_tagging_secret_kind.d.ts +6 -0
- package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret_kind.js +4 -0
- package/dest/logs/contract_class_log.d.ts +16 -34
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +11 -9
- package/dest/logs/index.d.ts +8 -7
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +7 -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 -7
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +23 -9
- package/dest/logs/pending_tagged_log.d.ts +2 -3
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +2 -2
- package/dest/logs/pre_tag.d.ts +11 -24
- 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 +7 -12
- 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 +11 -10
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +15 -9
- package/dest/logs/siloed_tag.d.ts +8 -7
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +13 -3
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +4 -0
- package/dest/logs/tagging_index_range.d.ts +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 +3 -2
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +11 -13
- package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +62 -6
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +115 -27
- package/dest/messaging/l2_to_l1_message.d.ts +38 -112
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +21 -12
- package/dest/noir/index.d.ts +5 -3
- package/dest/noir/index.d.ts.map +1 -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/block_proposal.d.ts +31 -14
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +57 -39
- package/dest/p2p/checkpoint_attestation.d.ts +15 -9
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +23 -24
- package/dest/p2p/checkpoint_proposal.d.ts +35 -21
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +59 -61
- package/dest/p2p/consensus_payload.d.ts +26 -20
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +38 -19
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- package/dest/p2p/signature_utils.d.ts +28 -19
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +118 -21
- 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/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/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_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +32 -78
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +2 -2
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +10 -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 +18 -112
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +16 -24
- package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
- package/dest/slashing/votes.d.ts.map +1 -0
- package/dest/slashing/{tally.js → votes.js} +30 -2
- package/dest/snapshots/types.d.ts +15 -78
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/stats/stats.d.ts +2 -2
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +25 -32
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +82 -82
- package/dest/tests/mocks.d.ts +11 -6
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +55 -62
- package/dest/timetable/index.d.ts +51 -1
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +218 -14
- 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 +16 -59
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +2 -14
- package/dest/trees/public_data_leaf.d.ts +21 -53
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_witness.d.ts +16 -58
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- 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 +11 -4
- 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/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 +3 -4
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +16 -49
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +8 -12
- package/dest/tx/hashed_values.d.ts +4 -3
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +6 -3
- package/dest/tx/in_tx.d.ts +5 -17
- package/dest/tx/in_tx.d.ts.map +1 -1
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -0
- package/dest/tx/indexed_tx_effect.d.ts +4 -18
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +1 -2
- 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/profiling.d.ts +67 -353
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +17 -7
- package/dest/tx/protocol_contracts.d.ts +5 -9
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- 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/simulated_tx.d.ts +68 -1144
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +17 -12
- package/dest/tx/state_reference.d.ts +30 -117
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +6 -4
- package/dest/tx/tree_snapshots.d.ts +27 -84
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +6 -4
- package/dest/tx/tx.d.ts +12 -17
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +40 -29
- 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 +8 -5
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +8 -18
- package/dest/tx/validator/error_texts.d.ts +9 -1
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +10 -0
- package/dest/tx/validator/tx_validator.d.ts +5 -27
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +0 -4
- package/dest/types/shared.d.ts +4 -12
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +6 -12
- package/dest/update-checker/dev_version.d.ts +3 -0
- package/dest/update-checker/dev_version.d.ts.map +1 -0
- package/dest/update-checker/dev_version.js +1 -0
- package/dest/update-checker/index.d.ts +4 -2
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +3 -1
- package/dest/update-checker/package_version.d.ts +6 -0
- package/dest/update-checker/package_version.d.ts.map +1 -0
- package/dest/update-checker/package_version.js +13 -0
- package/dest/update-checker/version_checker.d.ts +25 -0
- package/dest/update-checker/version_checker.d.ts.map +1 -0
- package/dest/update-checker/version_checker.js +50 -0
- package/dest/validators/errors.d.ts +6 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +7 -0
- package/dest/validators/schemas.d.ts +147 -614
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +6 -4
- package/dest/validators/types.d.ts +20 -3
- 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 +13 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +7 -0
- package/dest/world-state/index.d.ts +2 -1
- package/dest/world-state/index.d.ts.map +1 -1
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +15 -26
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +7 -1
- package/package.json +14 -12
- package/src/abi/abi.ts +78 -21
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +25 -4
- package/src/abi/contract_artifact.ts +11 -6
- package/src/abi/decoder.ts +36 -79
- package/src/abi/encoder.ts +83 -7
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/event_selector.ts +2 -8
- package/src/abi/function_selector.ts +4 -13
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- package/src/abi/note_selector.ts +3 -12
- package/src/abi/selector.ts +1 -1
- package/src/abi/utils.ts +31 -4
- package/src/avm/avm.ts +5 -0
- package/src/avm/message_pack.ts +12 -3
- package/src/avm/revert_code.ts +19 -39
- package/src/aztec-address/index.ts +15 -12
- package/src/block/attestation_info.ts +11 -11
- package/src/block/block_data.ts +3 -4
- package/src/block/block_hash.ts +21 -14
- package/src/block/block_parameter.ts +72 -4
- package/src/block/index.ts +0 -1
- package/src/block/l2_block.ts +13 -1
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +198 -139
- package/src/block/l2_block_stream/interfaces.ts +6 -2
- package/src/block/l2_block_stream/l2_block_stream.ts +39 -28
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
- package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
- package/src/block/proposal/attestations_and_signers.ts +32 -17
- package/src/block/test/l2_tips_store_test_suite.ts +10 -3
- package/src/checkpoint/checkpoint.ts +23 -4
- package/src/checkpoint/checkpoint_data.ts +44 -4
- package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
- package/src/checkpoint/digest.ts +28 -0
- package/src/checkpoint/index.ts +4 -0
- package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
- package/src/checkpoint/validate.ts +230 -0
- package/src/config/chain-config.ts +13 -16
- package/src/config/index.ts +1 -0
- package/src/config/pipelining-config.ts +31 -0
- package/src/config/sequencer-config.ts +41 -5
- package/src/contract/complete_address.ts +7 -3
- package/src/contract/contract_address.ts +7 -7
- package/src/contract/contract_class_id.ts +2 -2
- package/src/contract/contract_instance.ts +11 -2
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/contract/interfaces/contract_instance.ts +6 -2
- package/src/contract/private_function.ts +3 -1
- package/src/database-version/version_manager.ts +17 -0
- package/src/epoch-helpers/index.ts +27 -0
- package/src/file-store/factory.ts +13 -4
- package/src/file-store/http.ts +29 -10
- package/src/file-store/index.ts +1 -0
- package/src/gas/README.md +154 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas.ts +8 -3
- package/src/gas/gas_fees.ts +29 -10
- package/src/gas/gas_settings.ts +73 -15
- package/src/gas/index.ts +1 -0
- package/src/ha-signing/config.ts +56 -53
- package/src/ha-signing/index.ts +12 -1
- package/src/ha-signing/local_config.ts +46 -0
- package/src/ha-signing/types.ts +48 -34
- package/src/hash/hash.ts +63 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/api_limit.ts +1 -1
- package/src/interfaces/archiver.ts +82 -91
- package/src/interfaces/aztec-node-admin.ts +35 -20
- package/src/interfaces/aztec-node-debug.ts +40 -0
- package/src/interfaces/aztec-node.ts +260 -240
- package/src/interfaces/block-builder.ts +62 -14
- package/src/interfaces/block_response.ts +92 -0
- package/src/interfaces/chain_tips.ts +24 -0
- package/src/interfaces/checkpoint_parameter.ts +20 -0
- package/src/interfaces/checkpoint_response.ts +84 -0
- package/src/interfaces/client.ts +7 -1
- package/src/interfaces/configs.ts +64 -8
- 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 +11 -20
- package/src/interfaces/p2p-bootstrap.ts +2 -2
- package/src/interfaces/p2p.ts +35 -15
- package/src/interfaces/private_kernel_prover.ts +88 -0
- package/src/interfaces/prover-agent.ts +1 -1
- package/src/interfaces/prover-client.ts +10 -5
- package/src/interfaces/prover-node.ts +7 -7
- package/src/interfaces/proving-job-source.ts +4 -4
- package/src/interfaces/proving-job.ts +3 -3
- package/src/interfaces/public_storage_override.ts +26 -0
- package/src/interfaces/server.ts +5 -0
- package/src/interfaces/slasher.ts +17 -10
- package/src/interfaces/tx_provider.ts +6 -0
- package/src/interfaces/validator.ts +79 -38
- package/src/interfaces/world_state.ts +5 -4
- package/src/kernel/hints/key_validation_request.ts +18 -16
- package/src/kernel/index.ts +4 -0
- package/src/kernel/log_hash.ts +29 -9
- package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
- package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
- 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_tail_circuit_public_inputs.ts +38 -14
- 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 +10 -4
- package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
- package/src/kernel/public_call_request.ts +22 -7
- package/src/keys/derivation.ts +21 -9
- package/src/keys/public_key.ts +26 -2
- package/src/keys/public_keys.ts +124 -110
- 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 +137 -0
- package/src/logs/app_tagging_secret_kind.ts +6 -0
- package/src/logs/contract_class_log.ts +15 -5
- package/src/logs/index.ts +7 -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 +17 -7
- package/src/logs/pending_tagged_log.ts +1 -3
- 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 +21 -10
- package/src/logs/siloed_tag.ts +20 -11
- package/src/logs/tag.ts +8 -8
- 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 +12 -9
- package/src/messaging/l1_to_l2_message_source.ts +3 -1
- package/src/messaging/l2_to_l1_membership.ts +171 -34
- package/src/messaging/l2_to_l1_message.ts +29 -9
- package/src/noir/index.ts +4 -2
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/block_proposal.ts +111 -36
- package/src/p2p/checkpoint_attestation.ts +27 -31
- package/src/p2p/checkpoint_proposal.ts +126 -85
- package/src/p2p/consensus_payload.ts +59 -28
- package/src/p2p/gossipable.ts +4 -4
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/signature_utils.ts +110 -25
- package/src/p2p/signed_txs.ts +46 -28
- 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/block_headers_hash.ts +11 -2
- package/src/rollup/block_rollup_public_inputs.ts +13 -0
- package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
- package/src/schemas/schemas.ts +6 -1
- package/src/slashing/helpers.ts +13 -9
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +24 -49
- package/src/slashing/{tally.ts → votes.ts} +34 -1
- package/src/stats/stats.ts +4 -0
- package/src/tests/factories.ts +103 -111
- package/src/tests/mocks.ts +83 -76
- package/src/timetable/index.ts +308 -13
- 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 +2 -12
- package/src/tx/block_header.ts +16 -5
- package/src/tx/capsule.ts +10 -2
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/global_variable_builder.ts +2 -3
- package/src/tx/global_variables.ts +10 -18
- package/src/tx/hashed_values.ts +8 -3
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +1 -2
- package/src/tx/partial_state_reference.ts +8 -3
- package/src/tx/private_execution_result.ts +5 -5
- package/src/tx/profiling.ts +15 -6
- package/src/tx/proven_tx.ts +6 -0
- package/src/tx/public_call_request_with_calldata.ts +8 -3
- package/src/tx/simulated_tx.ts +30 -22
- package/src/tx/state_reference.ts +9 -4
- package/src/tx/tree_snapshots.ts +9 -4
- package/src/tx/tx.ts +53 -35
- package/src/tx/tx_constant_data.ts +8 -3
- package/src/tx/tx_context.ts +8 -3
- package/src/tx/tx_hash.ts +20 -5
- package/src/tx/tx_receipt.ts +9 -16
- package/src/tx/validator/error_texts.ts +12 -0
- package/src/tx/validator/tx_validator.ts +1 -5
- package/src/types/shared.ts +8 -13
- package/src/update-checker/dev_version.ts +2 -0
- package/src/update-checker/index.ts +3 -1
- package/src/update-checker/package_version.ts +17 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/errors.ts +9 -0
- package/src/validators/schemas.ts +6 -4
- package/src/validators/types.ts +21 -2
- package/src/versioning/versioning.ts +5 -2
- package/src/vks/verification_key.ts +5 -184
- package/src/world-state/genesis_data.ts +27 -0
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +9 -1
- package/dest/abi/mocked_keys.d.ts +0 -2
- package/dest/abi/mocked_keys.d.ts.map +0 -1
- package/dest/abi/mocked_keys.js +0 -1
- package/dest/block/checkpointed_l2_block.d.ts +0 -150
- package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
- package/dest/block/checkpointed_l2_block.js +0 -46
- package/dest/contract/private_function_membership_proof.d.ts +0 -32
- package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/private_function_membership_proof.js +0 -124
- package/dest/contract/utility_function_membership_proof.d.ts +0 -27
- package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/utility_function_membership_proof.js +0 -87
- package/dest/interfaces/get_logs_response.d.ts +0 -97
- package/dest/interfaces/get_logs_response.d.ts.map +0 -1
- package/dest/interfaces/get_logs_response.js +0 -12
- package/dest/l1-contracts/slash_factory.d.ts +0 -45
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -158
- package/dest/logs/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_directional_app_tagging_secret.d.ts +0 -47
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
- package/dest/logs/extended_public_log.d.ts +0 -106
- package/dest/logs/extended_public_log.d.ts.map +0 -1
- package/dest/logs/extended_public_log.js +0 -73
- package/dest/logs/log_filter.d.ts +0 -22
- package/dest/logs/log_filter.d.ts.map +0 -1
- package/dest/logs/log_filter.js +0 -11
- package/dest/logs/log_id.d.ts +0 -85
- package/dest/logs/log_id.d.ts.map +0 -1
- package/dest/logs/log_id.js +0 -94
- package/dest/logs/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/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -87
- package/dest/slashing/tally.d.ts.map +0 -1
- package/dest/update-checker/update-checker.d.ts +0 -49
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/abi/mocked_keys.ts +0 -2
- package/src/block/checkpointed_l2_block.ts +0 -70
- package/src/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/interfaces/get_logs_response.ts +0 -35
- package/src/l1-contracts/slash_factory.ts +0 -180
- package/src/logs/extended_contract_class_log.ts +0 -87
- package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
- package/src/logs/extended_public_log.ts +0 -94
- package/src/logs/log_filter.ts +0 -31
- package/src/logs/log_id.ts +0 -125
- package/src/logs/tx_scoped_l2_log.ts +0 -98
- package/src/slashing/empire.ts +0 -104
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -1,10 +1,78 @@
|
|
|
1
|
-
import { BlockNumberSchema } from '@aztec/foundation/branded-types';
|
|
1
|
+
import { type BlockNumber, BlockNumberSchema } from '@aztec/foundation/branded-types';
|
|
2
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import { jsonStringify } from '@aztec/foundation/json-rpc';
|
|
4
|
+
import { schemas } from '@aztec/foundation/schemas';
|
|
2
5
|
|
|
3
6
|
import { z } from 'zod';
|
|
4
7
|
|
|
5
8
|
import { BlockHash } from './block_hash.js';
|
|
6
9
|
|
|
7
|
-
export const
|
|
10
|
+
export const BlockTag = ['latest', 'proposed', 'checkpointed', 'proven', 'finalized'] as const;
|
|
8
11
|
|
|
9
|
-
/**
|
|
10
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Tag identifying a block by its position in the chain rather than by an absolute identifier.
|
|
14
|
+
* - `latest` / `proposed`: Latest L2 block proposed (not necessarily checkpointed/proven yet).
|
|
15
|
+
* - `checkpointed`: Latest L2 block whose enclosing checkpoint has been published on L1.
|
|
16
|
+
* - `proven`: Latest L2 block whose enclosing checkpoint has been proven on L1.
|
|
17
|
+
* - `finalized`: Latest L2 block whose proving L1 transaction has reached L1 finality.
|
|
18
|
+
*/
|
|
19
|
+
export type BlockTag = (typeof BlockTag)[number];
|
|
20
|
+
|
|
21
|
+
export const BlockTagWithoutLatestSchema = z.union([
|
|
22
|
+
z.literal('proposed'),
|
|
23
|
+
z.literal('checkpointed'),
|
|
24
|
+
z.literal('proven'),
|
|
25
|
+
z.literal('finalized'),
|
|
26
|
+
]);
|
|
27
|
+
|
|
28
|
+
export const BlockTagSchema: z.ZodType<BlockTag> = z.union([z.literal('latest'), BlockTagWithoutLatestSchema]);
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Object-only form of {@link BlockParameter}. Used as the building block for {@link BlockQuery}.
|
|
32
|
+
*/
|
|
33
|
+
export type NormalizedBlockParameter =
|
|
34
|
+
| { number: BlockNumber }
|
|
35
|
+
| { hash: BlockHash }
|
|
36
|
+
| { archive: Fr }
|
|
37
|
+
| { tag: Exclude<BlockTag, 'latest'> };
|
|
38
|
+
|
|
39
|
+
export const NormalizedBlockParameterSchema: z.ZodType<NormalizedBlockParameter, unknown> = z.union([
|
|
40
|
+
z.object({ number: BlockNumberSchema }).strict(),
|
|
41
|
+
z.object({ hash: BlockHash.schema }).strict(),
|
|
42
|
+
z.object({ archive: schemas.Fr }).strict(),
|
|
43
|
+
z.object({ tag: BlockTagWithoutLatestSchema }).strict(),
|
|
44
|
+
]);
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Selector for a block in RPC calls.
|
|
48
|
+
*
|
|
49
|
+
* Accepts a block number, a {@link BlockHash}, a chain-tip name (e.g. `'proven'`, `'checkpointed'`),
|
|
50
|
+
* `'latest'` (alias for `'proposed'`), or any of the {@link NormalizedBlockParameter} object variants
|
|
51
|
+
* (`{ number }`, `{ hash }`, `{ archive }`, `{ tag }`).
|
|
52
|
+
*/
|
|
53
|
+
export type BlockParameter = NormalizedBlockParameter | BlockNumber | BlockHash | BlockTag;
|
|
54
|
+
|
|
55
|
+
export const BlockParameterSchema: z.ZodType<BlockParameter, unknown> = z.union([
|
|
56
|
+
NormalizedBlockParameterSchema,
|
|
57
|
+
BlockHash.schema,
|
|
58
|
+
BlockTagSchema,
|
|
59
|
+
BlockNumberSchema,
|
|
60
|
+
]);
|
|
61
|
+
|
|
62
|
+
export function inspectBlockParameter(param: BlockParameter) {
|
|
63
|
+
if (typeof param === 'number') {
|
|
64
|
+
return param.toString();
|
|
65
|
+
} else if (typeof param === 'string') {
|
|
66
|
+
return param;
|
|
67
|
+
} else if ('number' in param) {
|
|
68
|
+
return `number=${param.number.toString()}`;
|
|
69
|
+
} else if ('hash' in param) {
|
|
70
|
+
return `hash=${param.hash.toString()}`;
|
|
71
|
+
} else if ('archive' in param) {
|
|
72
|
+
return `archive=${param.archive.toString()}`;
|
|
73
|
+
} else if ('tag' in param) {
|
|
74
|
+
return `tag=${param.tag}`;
|
|
75
|
+
} else {
|
|
76
|
+
return jsonStringify(param);
|
|
77
|
+
}
|
|
78
|
+
}
|
package/src/block/index.ts
CHANGED
|
@@ -6,7 +6,6 @@ export * from './body.js';
|
|
|
6
6
|
export * from './block_parameter.js';
|
|
7
7
|
export * from './l2_block_source.js';
|
|
8
8
|
export * from './block_hash.js';
|
|
9
|
-
export * from './checkpointed_l2_block.js';
|
|
10
9
|
export * from './proposal/index.js';
|
|
11
10
|
export * from './validate_block_result.js';
|
|
12
11
|
export * from './l2_block_info.js';
|
package/src/block/l2_block.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type BlockBlobData, encodeBlockBlobData } from '@aztec/blob-lib/encoding';
|
|
2
|
+
import { DA_GAS_PER_FIELD } from '@aztec/constants';
|
|
2
3
|
import {
|
|
3
4
|
BlockNumber,
|
|
4
5
|
CheckpointNumber,
|
|
@@ -175,7 +176,7 @@ export class L2Block {
|
|
|
175
176
|
} & Partial<Parameters<typeof BlockHeader.random>[0]> = {},
|
|
176
177
|
): Promise<L2Block> {
|
|
177
178
|
const archive = new AppendOnlyTreeSnapshot(Fr.random(), blockNumber + 1);
|
|
178
|
-
const header = BlockHeader.random({
|
|
179
|
+
const header = BlockHeader.random({ ...blockHeaderOverrides, blockNumber });
|
|
179
180
|
const body = await Body.random({ txsPerBlock, makeTxOptions, ...txOptions });
|
|
180
181
|
return new L2Block(archive, header, body, checkpointNumber, indexWithinCheckpoint);
|
|
181
182
|
}
|
|
@@ -221,4 +222,15 @@ export class L2Block {
|
|
|
221
222
|
timestamp: this.header.globalVariables.timestamp,
|
|
222
223
|
};
|
|
223
224
|
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Compute how much DA gas this block uses.
|
|
228
|
+
*
|
|
229
|
+
* @remarks This assumes DA gas is computed solely based on the number of blob fields in transactions.
|
|
230
|
+
* This may change in the future, but we cannot access the actual DA gas used in a block since it's not exposed
|
|
231
|
+
* in the L2BlockHeader, so we have to rely on recomputing it.
|
|
232
|
+
*/
|
|
233
|
+
computeDAGasUsed(): number {
|
|
234
|
+
return this.body.txEffects.reduce((total, txEffect) => total + txEffect.getNumBlobFields(), 0) * DA_GAS_PER_FIELD;
|
|
235
|
+
}
|
|
224
236
|
}
|
|
@@ -5,8 +5,10 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
|
5
5
|
|
|
6
6
|
import { z } from 'zod';
|
|
7
7
|
|
|
8
|
+
import { BlockHash } from './block_hash.js';
|
|
9
|
+
|
|
8
10
|
export type L2BlockInfo = {
|
|
9
|
-
blockHash?:
|
|
11
|
+
blockHash?: BlockHash;
|
|
10
12
|
archive: Fr;
|
|
11
13
|
lastArchive: Fr;
|
|
12
14
|
blockNumber: BlockNumber;
|
|
@@ -17,7 +19,7 @@ export type L2BlockInfo = {
|
|
|
17
19
|
|
|
18
20
|
export function randomBlockInfo(blockNumber?: BlockNumber | number): L2BlockInfo {
|
|
19
21
|
return {
|
|
20
|
-
blockHash:
|
|
22
|
+
blockHash: BlockHash.random(),
|
|
21
23
|
archive: Fr.random(),
|
|
22
24
|
lastArchive: Fr.random(),
|
|
23
25
|
blockNumber: BlockNumber(blockNumber ?? Math.floor(Math.random() * 100000) + 1),
|
|
@@ -28,7 +30,7 @@ export function randomBlockInfo(blockNumber?: BlockNumber | number): L2BlockInfo
|
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
export const BlockInfoSchema = z.object({
|
|
31
|
-
blockHash:
|
|
33
|
+
blockHash: BlockHash.schema.optional(),
|
|
32
34
|
archive: schemas.Fr,
|
|
33
35
|
lastArchive: schemas.Fr,
|
|
34
36
|
blockNumber: BlockNumberSchema,
|
|
@@ -39,7 +41,7 @@ export const BlockInfoSchema = z.object({
|
|
|
39
41
|
|
|
40
42
|
export function serializeBlockInfo(blockInfo: L2BlockInfo): Buffer {
|
|
41
43
|
return serializeToBuffer(
|
|
42
|
-
blockInfo.blockHash ??
|
|
44
|
+
blockInfo.blockHash ?? BlockHash.ZERO,
|
|
43
45
|
blockInfo.archive,
|
|
44
46
|
blockInfo.lastArchive,
|
|
45
47
|
blockInfo.blockNumber,
|
|
@@ -51,9 +53,9 @@ export function serializeBlockInfo(blockInfo: L2BlockInfo): Buffer {
|
|
|
51
53
|
|
|
52
54
|
export function deserializeBlockInfo(buffer: Buffer | BufferReader): L2BlockInfo {
|
|
53
55
|
const reader = BufferReader.asReader(buffer);
|
|
54
|
-
const blockHash =
|
|
56
|
+
const blockHash = BlockHash.fromBuffer(reader);
|
|
55
57
|
return {
|
|
56
|
-
blockHash: blockHash.equals(
|
|
58
|
+
blockHash: blockHash.equals(BlockHash.ZERO) ? undefined : blockHash,
|
|
57
59
|
archive: reader.readObject(Fr),
|
|
58
60
|
lastArchive: reader.readObject(Fr),
|
|
59
61
|
blockNumber: BlockNumber(reader.readNumber()),
|
|
@@ -4,29 +4,92 @@ import {
|
|
|
4
4
|
CheckpointNumber,
|
|
5
5
|
CheckpointNumberSchema,
|
|
6
6
|
type EpochNumber,
|
|
7
|
+
EpochNumberSchema,
|
|
7
8
|
type SlotNumber,
|
|
9
|
+
SlotNumberSchema,
|
|
8
10
|
} from '@aztec/foundation/branded-types';
|
|
9
11
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
10
12
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
13
|
+
import { schemas } from '@aztec/foundation/schemas';
|
|
11
14
|
import type { TypedEventEmitter } from '@aztec/foundation/types';
|
|
12
15
|
|
|
13
16
|
import { z } from 'zod';
|
|
14
17
|
|
|
15
|
-
import type {
|
|
16
|
-
import type {
|
|
18
|
+
import type { CheckpointData, ProposedCheckpointData, ProposedCheckpointInput } from '../checkpoint/checkpoint_data.js';
|
|
19
|
+
import type { CheckpointInfo } from '../checkpoint/checkpoint_info.js';
|
|
17
20
|
import type { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
18
21
|
import type { L1RollupConstants } from '../epoch-helpers/index.js';
|
|
19
22
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
20
|
-
import type { BlockHeader } from '../tx/block_header.js';
|
|
21
23
|
import type { IndexedTxEffect } from '../tx/indexed_tx_effect.js';
|
|
22
24
|
import type { TxHash } from '../tx/tx_hash.js';
|
|
23
25
|
import type { TxReceipt } from '../tx/tx_receipt.js';
|
|
24
26
|
import type { BlockData } from './block_data.js';
|
|
25
|
-
import
|
|
26
|
-
import type
|
|
27
|
+
import { BlockHash } from './block_hash.js';
|
|
28
|
+
import { BlockTagWithoutLatestSchema, type NormalizedBlockParameter } from './block_parameter.js';
|
|
27
29
|
import type { L2Block } from './l2_block.js';
|
|
28
30
|
import type { ValidateCheckpointNegativeResult, ValidateCheckpointResult } from './validate_block_result.js';
|
|
29
31
|
|
|
32
|
+
/** Lookup a single block by block number, hash, archive root, or chain-tip tag. */
|
|
33
|
+
export type BlockQuery = NormalizedBlockParameter;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Query a range of blocks by start/limit or by epoch.
|
|
37
|
+
*
|
|
38
|
+
* The `epoch` variant requires `onlyCheckpointed: true` because epoch boundaries are only
|
|
39
|
+
* meaningful for the checkpointed chain — the proposed chain may include uncheckpointed
|
|
40
|
+
* blocks past the epoch boundary that callers should not receive.
|
|
41
|
+
*/
|
|
42
|
+
export type BlocksQuery =
|
|
43
|
+
| { from: BlockNumber; limit: number; onlyCheckpointed?: boolean }
|
|
44
|
+
| { epoch: EpochNumber; onlyCheckpointed: true };
|
|
45
|
+
|
|
46
|
+
export const BlockQuerySchema: z.ZodType<BlockQuery, unknown> = z.union([
|
|
47
|
+
z.object({ number: BlockNumberSchema }).strict(),
|
|
48
|
+
z.object({ hash: BlockHash.schema }).strict(),
|
|
49
|
+
z.object({ archive: schemas.Fr }).strict(),
|
|
50
|
+
z.object({ tag: BlockTagWithoutLatestSchema }).strict(),
|
|
51
|
+
]);
|
|
52
|
+
|
|
53
|
+
export const BlocksQuerySchema: z.ZodType<BlocksQuery, unknown> = z.union([
|
|
54
|
+
z
|
|
55
|
+
.object({ from: BlockNumberSchema, limit: z.number().int().min(1), onlyCheckpointed: z.boolean().optional() })
|
|
56
|
+
.strict(),
|
|
57
|
+
z.object({ epoch: EpochNumberSchema, onlyCheckpointed: z.literal(true) }).strict(),
|
|
58
|
+
]);
|
|
59
|
+
|
|
60
|
+
/** Lookup a single confirmed checkpoint by checkpoint number, slot, or chain-tip tag. */
|
|
61
|
+
export type CheckpointQuery =
|
|
62
|
+
| { number: CheckpointNumber }
|
|
63
|
+
| { slot: SlotNumber }
|
|
64
|
+
| { tag: 'checkpointed' | 'proven' | 'finalized' };
|
|
65
|
+
|
|
66
|
+
/** Query a range of confirmed checkpoints by start/limit or by epoch. */
|
|
67
|
+
export type CheckpointsQuery = { from: CheckpointNumber; limit: number } | { epoch: EpochNumber };
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Lookup a proposed (archiver-internal, not-yet-L1-confirmed) checkpoint.
|
|
71
|
+
* Distinct from CheckpointQuery because proposed checkpoints have a different shape
|
|
72
|
+
* (no l1, no attestations, but carries totalManaUsed) and live in their own LMDB map.
|
|
73
|
+
*/
|
|
74
|
+
export type ProposedCheckpointQuery = { number: CheckpointNumber } | { slot: SlotNumber } | { tag: 'proposed' };
|
|
75
|
+
|
|
76
|
+
export const CheckpointQuerySchema: z.ZodType<CheckpointQuery, unknown> = z.union([
|
|
77
|
+
z.object({ number: CheckpointNumberSchema }).strict(),
|
|
78
|
+
z.object({ slot: SlotNumberSchema }).strict(),
|
|
79
|
+
z.object({ tag: z.union([z.literal('checkpointed'), z.literal('proven'), z.literal('finalized')]) }).strict(),
|
|
80
|
+
]);
|
|
81
|
+
|
|
82
|
+
export const CheckpointsQuerySchema: z.ZodType<CheckpointsQuery, unknown> = z.union([
|
|
83
|
+
z.object({ from: CheckpointNumberSchema, limit: z.number().int().min(1) }).strict(),
|
|
84
|
+
z.object({ epoch: EpochNumberSchema }).strict(),
|
|
85
|
+
]);
|
|
86
|
+
|
|
87
|
+
export const ProposedCheckpointQuerySchema: z.ZodType<ProposedCheckpointQuery, unknown> = z.union([
|
|
88
|
+
z.object({ number: CheckpointNumberSchema }).strict(),
|
|
89
|
+
z.object({ slot: SlotNumberSchema }).strict(),
|
|
90
|
+
z.object({ tag: z.literal('proposed') }).strict(),
|
|
91
|
+
]);
|
|
92
|
+
|
|
30
93
|
/**
|
|
31
94
|
* Interface of classes allowing for the retrieval of L2 blocks.
|
|
32
95
|
*/
|
|
@@ -50,110 +113,46 @@ export interface L2BlockSource {
|
|
|
50
113
|
getBlockNumber(): Promise<BlockNumber>;
|
|
51
114
|
|
|
52
115
|
/**
|
|
53
|
-
*
|
|
54
|
-
* @
|
|
116
|
+
* Resolves a {@link BlockQuery} to its concrete L2 block number.
|
|
117
|
+
* @param query - Lookup by block number, hash, archive root, or chain-tip tag.
|
|
118
|
+
* @returns The block number, or undefined if no block matches the query.
|
|
55
119
|
*/
|
|
56
|
-
|
|
120
|
+
getBlockNumber(query: BlockQuery): Promise<BlockNumber | undefined>;
|
|
121
|
+
getBlockNumber(query?: BlockQuery): Promise<BlockNumber | undefined>;
|
|
57
122
|
|
|
58
123
|
/**
|
|
59
|
-
* Gets the number of the latest L2
|
|
60
|
-
* @returns The number of the latest L2
|
|
124
|
+
* Gets the number of the latest L2 checkpoint processed by the block source implementation.
|
|
125
|
+
* @returns The number of the latest L2 checkpoint processed by the block source implementation.
|
|
61
126
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Computes the finalized block number based on the proven block number.
|
|
66
|
-
* A block is considered finalized when it's 2 epochs behind the proven block.
|
|
67
|
-
* TODO(#13569): Compute proper finalized block number based on L1 finalized block.
|
|
68
|
-
* @returns The finalized block number.
|
|
69
|
-
*/
|
|
70
|
-
getFinalizedL2BlockNumber(): Promise<BlockNumber>;
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Gets an l2 block header.
|
|
74
|
-
* @param number - The block number to return or 'latest' for the most recent one.
|
|
75
|
-
* @returns The requested L2 block header.
|
|
76
|
-
*/
|
|
77
|
-
getBlockHeader(number: BlockNumber | 'latest'): Promise<BlockHeader | undefined>;
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Gets a checkpointed L2 block by block number.
|
|
81
|
-
* Returns undefined if the block doesn't exist or hasn't been checkpointed yet.
|
|
82
|
-
* @param number - The block number to retrieve.
|
|
83
|
-
* @returns The requested checkpointed L2 block (or undefined if not found or not checkpointed).
|
|
84
|
-
*/
|
|
85
|
-
getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
|
|
86
|
-
|
|
87
|
-
getCheckpointedBlocks(from: BlockNumber, limit: number): Promise<CheckpointedL2Block[]>;
|
|
127
|
+
getCheckpointNumber(): Promise<CheckpointNumber>;
|
|
88
128
|
|
|
89
129
|
/**
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* @param
|
|
93
|
-
* @returns The collection of complete checkpoints.
|
|
130
|
+
* Gets a single confirmed checkpoint matching the given query.
|
|
131
|
+
* Heavy shape: includes nested full `L2Block`s with transaction bodies.
|
|
132
|
+
* @param query - Lookup by checkpoint number, slot, or chain-tip tag.
|
|
94
133
|
*/
|
|
95
|
-
|
|
134
|
+
getCheckpoint(query: CheckpointQuery): Promise<PublishedCheckpoint | undefined>;
|
|
96
135
|
|
|
97
136
|
/**
|
|
98
|
-
* Gets
|
|
99
|
-
*
|
|
137
|
+
* Gets a collection of confirmed checkpoints matching the given query.
|
|
138
|
+
* Heavy shape: includes nested full `L2Block`s with transaction bodies.
|
|
139
|
+
* @param query - Range by start/limit or by epoch.
|
|
100
140
|
*/
|
|
101
|
-
|
|
141
|
+
getCheckpoints(query: CheckpointsQuery): Promise<PublishedCheckpoint[]>;
|
|
102
142
|
|
|
103
143
|
/**
|
|
104
|
-
* Gets lightweight checkpoint metadata for a
|
|
105
|
-
*
|
|
144
|
+
* Gets lightweight checkpoint metadata for a single checkpoint.
|
|
145
|
+
* Cheap passthrough for metadata-only queries (no block body reads).
|
|
146
|
+
* @param query - Lookup by checkpoint number, slot, or chain-tip tag.
|
|
106
147
|
*/
|
|
107
|
-
|
|
148
|
+
getCheckpointData(query: CheckpointQuery): Promise<CheckpointData | undefined>;
|
|
108
149
|
|
|
109
150
|
/**
|
|
110
|
-
* Gets a
|
|
111
|
-
*
|
|
112
|
-
* @
|
|
151
|
+
* Gets a collection of lightweight checkpoint metadata entries matching the given query.
|
|
152
|
+
* Cheap passthrough for metadata-only queries (no block body reads).
|
|
153
|
+
* @param query - Range by start/limit or by epoch.
|
|
113
154
|
*/
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Gets a block header by its archive root.
|
|
118
|
-
* @param archive - The archive root to retrieve.
|
|
119
|
-
* @returns The requested block header (or undefined if not found).
|
|
120
|
-
*/
|
|
121
|
-
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Gets block metadata (without tx data) by block number.
|
|
125
|
-
* @param number - The block number to retrieve.
|
|
126
|
-
* @returns The requested block data (or undefined if not found).
|
|
127
|
-
*/
|
|
128
|
-
getBlockData(number: BlockNumber): Promise<BlockData | undefined>;
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Gets block metadata (without tx data) by archive root.
|
|
132
|
-
* @param archive - The archive root to retrieve.
|
|
133
|
-
* @returns The requested block data (or undefined if not found).
|
|
134
|
-
*/
|
|
135
|
-
getBlockDataByArchive(archive: Fr): Promise<BlockData | undefined>;
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Gets an L2 block by block number.
|
|
139
|
-
* @param number - The block number to return.
|
|
140
|
-
* @returns The requested L2 block (or undefined if not found).
|
|
141
|
-
*/
|
|
142
|
-
getL2Block(number: BlockNumber): Promise<L2Block | undefined>;
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Gets an L2 block by its hash.
|
|
146
|
-
* @param blockHash - The block hash to retrieve.
|
|
147
|
-
* @returns The requested L2 block (or undefined if not found).
|
|
148
|
-
*/
|
|
149
|
-
getL2BlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* Gets an L2 block by its archive root.
|
|
153
|
-
* @param archive - The archive root to retrieve.
|
|
154
|
-
* @returns The requested L2 block (or undefined if not found).
|
|
155
|
-
*/
|
|
156
|
-
getL2BlockByArchive(archive: Fr): Promise<L2Block | undefined>;
|
|
155
|
+
getCheckpointsData(query: CheckpointsQuery): Promise<CheckpointData[]>;
|
|
157
156
|
|
|
158
157
|
/**
|
|
159
158
|
* Gets a tx effect.
|
|
@@ -170,21 +169,18 @@ export interface L2BlockSource {
|
|
|
170
169
|
getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
|
|
171
170
|
|
|
172
171
|
/**
|
|
173
|
-
* Returns the
|
|
172
|
+
* Returns the last L2 slot number for which we have all L1 data needed to build the next checkpoint.
|
|
173
|
+
* Determined by the max of two signals: L1 block sync progress and latest synced checkpoint slot.
|
|
174
|
+
* The checkpoint signal handles missed L1 blocks, since a published checkpoint seals the message tree
|
|
175
|
+
* for the next checkpoint via the inbox LAG mechanism.
|
|
174
176
|
*/
|
|
175
|
-
|
|
177
|
+
getSyncedL2SlotNumber(): Promise<SlotNumber | undefined>;
|
|
176
178
|
|
|
177
179
|
/**
|
|
178
|
-
* Returns the
|
|
180
|
+
* Returns the last L2 epoch number that has been fully synchronized from L1.
|
|
181
|
+
* An epoch is fully synced when all its L2 slots have been fully synced.
|
|
179
182
|
*/
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* Returns all checkpointed block headers for a given epoch.
|
|
184
|
-
* @dev Use this method only with recent epochs, since it walks the block list backwards.
|
|
185
|
-
* @param epochNumber - The epoch number to return headers for.
|
|
186
|
-
*/
|
|
187
|
-
getCheckpointedBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
|
|
183
|
+
getSyncedL2EpochNumber(): Promise<EpochNumber | undefined>;
|
|
188
184
|
|
|
189
185
|
/**
|
|
190
186
|
* Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
|
|
@@ -202,9 +198,22 @@ export interface L2BlockSource {
|
|
|
202
198
|
*/
|
|
203
199
|
getL1Constants(): Promise<L1RollupConstants>;
|
|
204
200
|
|
|
201
|
+
/**
|
|
202
|
+
* Returns true iff `canPruneAtTime` would be true at the latest L1 timestamp inside
|
|
203
|
+
* the L2 slot's window. Computed entirely from local archiver state (no L1 RPC).
|
|
204
|
+
* @param slot - The L2 slot to check.
|
|
205
|
+
*/
|
|
206
|
+
isPruneDueAtSlot(slot: SlotNumber): Promise<boolean>;
|
|
207
|
+
|
|
205
208
|
/** Returns values for the genesis block */
|
|
206
209
|
getGenesisValues(): Promise<{ genesisArchiveRoot: Fr }>;
|
|
207
210
|
|
|
211
|
+
/**
|
|
212
|
+
* Returns the precomputed hash of the genesis block header. Synchronous because the hash
|
|
213
|
+
* is derived from the initial block header at construction time and cached by implementers.
|
|
214
|
+
*/
|
|
215
|
+
getGenesisBlockHash(): BlockHash;
|
|
216
|
+
|
|
208
217
|
/** Latest synced L1 timestamp. */
|
|
209
218
|
getL1Timestamp(): Promise<bigint | undefined>;
|
|
210
219
|
|
|
@@ -220,53 +229,47 @@ export interface L2BlockSource {
|
|
|
220
229
|
*/
|
|
221
230
|
getPendingChainValidationStatus(): Promise<ValidateCheckpointResult>;
|
|
222
231
|
|
|
223
|
-
/** Force a sync. */
|
|
224
|
-
syncImmediate(): Promise<void>;
|
|
225
|
-
|
|
226
|
-
/* Legacy APIS */
|
|
227
|
-
|
|
228
232
|
/**
|
|
229
|
-
*
|
|
230
|
-
*
|
|
231
|
-
*
|
|
233
|
+
* Looks up a proposed (archiver-internal, not-yet-L1-confirmed) checkpoint.
|
|
234
|
+
* Returns the latest proposed entry when called with no args or `{ tag: 'proposed' }`.
|
|
235
|
+
* With `{ number }` or `{ slot }`, returns the matching entry or undefined.
|
|
236
|
+
* Never falls back to confirmed checkpoints.
|
|
232
237
|
*/
|
|
233
|
-
|
|
238
|
+
getProposedCheckpointData(query?: ProposedCheckpointQuery): Promise<ProposedCheckpointData | undefined>;
|
|
239
|
+
|
|
240
|
+
/** Force a sync. */
|
|
241
|
+
syncImmediate(): Promise<void>;
|
|
234
242
|
|
|
235
243
|
/**
|
|
236
|
-
*
|
|
237
|
-
* @
|
|
238
|
-
* @param epochNumber - The epoch number to return blocks for.
|
|
244
|
+
* Gets an L2 block matching the given query.
|
|
245
|
+
* @param query - Lookup by block number, hash, or archive root.
|
|
239
246
|
*/
|
|
240
|
-
|
|
247
|
+
getBlock(query: BlockQuery): Promise<L2Block | undefined>;
|
|
241
248
|
|
|
242
249
|
/**
|
|
243
|
-
*
|
|
244
|
-
* @
|
|
245
|
-
* @param slotNumber - The slot number to return blocks for.
|
|
250
|
+
* Gets a collection of L2 blocks matching the given query.
|
|
251
|
+
* @param query - Range by start/limit or by epoch; optionally restricted to checkpointed blocks.
|
|
246
252
|
*/
|
|
247
|
-
|
|
253
|
+
getBlocks(query: BlocksQuery): Promise<L2Block[]>;
|
|
248
254
|
|
|
249
255
|
/**
|
|
250
|
-
* Gets
|
|
251
|
-
* @param
|
|
252
|
-
* @returns The requested block (or undefined if not found).
|
|
256
|
+
* Gets block metadata (without tx data) matching the given query.
|
|
257
|
+
* @param query - Lookup by block number, hash, or archive root.
|
|
253
258
|
*/
|
|
254
|
-
|
|
259
|
+
getBlockData(query: BlockQuery): Promise<BlockData | undefined>;
|
|
255
260
|
|
|
256
261
|
/**
|
|
257
|
-
* Gets a
|
|
258
|
-
* @param
|
|
259
|
-
* @returns The requested block (or undefined if not found).
|
|
262
|
+
* Gets a collection of block metadata entries matching the given query.
|
|
263
|
+
* @param query - Range by start/limit or by epoch; optionally restricted to checkpointed blocks.
|
|
260
264
|
*/
|
|
261
|
-
|
|
265
|
+
getBlocksData(query: BlocksQuery): Promise<BlockData[]>;
|
|
262
266
|
|
|
263
267
|
/**
|
|
264
|
-
*
|
|
265
|
-
* @
|
|
266
|
-
* @param
|
|
267
|
-
* @returns The requested L2 blocks.
|
|
268
|
+
* Returns all blocks for a given slot.
|
|
269
|
+
* @dev Use this method only with recent slots, since it walks the block list backwards.
|
|
270
|
+
* @param slotNumber - The slot number to return blocks for.
|
|
268
271
|
*/
|
|
269
|
-
|
|
272
|
+
getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
|
|
270
273
|
}
|
|
271
274
|
|
|
272
275
|
/**
|
|
@@ -281,6 +284,19 @@ export interface L2BlockSink {
|
|
|
281
284
|
addBlock(block: L2Block): Promise<void>;
|
|
282
285
|
}
|
|
283
286
|
|
|
287
|
+
/**
|
|
288
|
+
* Interface for classes that can receive and store proposed (not-yet-L1-confirmed) checkpoints.
|
|
289
|
+
*/
|
|
290
|
+
export interface ProposedCheckpointSink {
|
|
291
|
+
/**
|
|
292
|
+
* Adds a proposed checkpoint to the store. The archive and checkpointOutHash are computed
|
|
293
|
+
* internally from the already-stored blocks, so every block in the checkpoint must be added
|
|
294
|
+
* (via {@link L2BlockSink.addBlock}) before calling this.
|
|
295
|
+
* @param checkpoint - The proposed checkpoint metadata.
|
|
296
|
+
*/
|
|
297
|
+
addProposedCheckpoint(checkpoint: ProposedCheckpointInput): Promise<void>;
|
|
298
|
+
}
|
|
299
|
+
|
|
284
300
|
/**
|
|
285
301
|
* L2BlockSource that emits events upon pending / proven chain changes.
|
|
286
302
|
* see L2BlockSourceEvents for the events emitted.
|
|
@@ -291,24 +307,36 @@ export type ArchiverEmitter = TypedEventEmitter<{
|
|
|
291
307
|
[L2BlockSourceEvents.L2BlockProven]: (args: L2BlockProvenEvent) => void;
|
|
292
308
|
[L2BlockSourceEvents.InvalidAttestationsCheckpointDetected]: (args: InvalidCheckpointDetectedEvent) => void;
|
|
293
309
|
[L2BlockSourceEvents.L2BlocksCheckpointed]: (args: L2CheckpointEvent) => void;
|
|
310
|
+
[L2BlockSourceEvents.CheckpointEquivocationDetected]: (args: CheckpointEquivocationDetectedEvent) => void;
|
|
311
|
+
[L2BlockSourceEvents.DescendentOfInvalidAttestationsCheckpointDetected]: (
|
|
312
|
+
args: DescendentOfInvalidAttestationsCheckpointEvent,
|
|
313
|
+
) => void;
|
|
294
314
|
}>;
|
|
295
315
|
export interface L2BlockSourceEventEmitter extends L2BlockSource {
|
|
296
316
|
events: ArchiverEmitter;
|
|
297
317
|
}
|
|
298
318
|
|
|
299
319
|
/**
|
|
300
|
-
* Identifier for L2 block tags.
|
|
320
|
+
* Identifier for L2 block tags. Internal counterpart to {@link BlockTag} that exposes
|
|
321
|
+
* the additional `proposedCheckpoint` value (used for the optimistic chain tip on the
|
|
322
|
+
* archiver side) and omits `latest` (which is an alias for `proposed` accepted only at
|
|
323
|
+
* the public RPC surface).
|
|
324
|
+
*
|
|
301
325
|
* - proposed: Latest block proposed on L2.
|
|
302
|
-
* -
|
|
303
|
-
* -
|
|
304
|
-
* -
|
|
326
|
+
* - proposedCheckpoint: Latest block in the most recent proposed checkpoint (archiver-internal).
|
|
327
|
+
* - checkpointed: Latest block whose enclosing checkpoint has been published on L1.
|
|
328
|
+
* - proven: Latest block whose enclosing checkpoint has been proven on L1.
|
|
329
|
+
* - finalized: Latest block whose proving L1 transaction has reached L1 finality.
|
|
330
|
+
*
|
|
331
|
+
* TODO(palla): Remove `proposedCheckpoint` and unify with `proposed`.
|
|
305
332
|
*/
|
|
306
|
-
export type L2BlockTag = 'proposed' | 'checkpointed' | 'proven' | 'finalized';
|
|
333
|
+
export type L2BlockTag = 'proposed' | 'proposedCheckpoint' | 'checkpointed' | 'proven' | 'finalized';
|
|
307
334
|
|
|
308
335
|
/** Tips of the L2 chain. */
|
|
309
336
|
export type L2Tips = {
|
|
310
337
|
proposed: L2BlockId;
|
|
311
338
|
checkpointed: L2TipId;
|
|
339
|
+
proposedCheckpoint: L2TipId;
|
|
312
340
|
proven: L2TipId;
|
|
313
341
|
finalized: L2TipId;
|
|
314
342
|
};
|
|
@@ -353,6 +381,7 @@ const L2TipIdSchema = z.object({
|
|
|
353
381
|
export const L2TipsSchema = z.object({
|
|
354
382
|
proposed: L2BlockIdSchema,
|
|
355
383
|
checkpointed: L2TipIdSchema,
|
|
384
|
+
proposedCheckpoint: L2TipIdSchema,
|
|
356
385
|
proven: L2TipIdSchema,
|
|
357
386
|
finalized: L2TipIdSchema,
|
|
358
387
|
});
|
|
@@ -363,6 +392,8 @@ export enum L2BlockSourceEvents {
|
|
|
363
392
|
L2BlockProven = 'l2BlockProven',
|
|
364
393
|
L2BlocksCheckpointed = 'l2BlocksCheckpointed',
|
|
365
394
|
InvalidAttestationsCheckpointDetected = 'invalidCheckpointDetected',
|
|
395
|
+
CheckpointEquivocationDetected = 'checkpointEquivocationDetected',
|
|
396
|
+
DescendentOfInvalidAttestationsCheckpointDetected = 'descendentOfInvalidAttestationsCheckpointDetected',
|
|
366
397
|
}
|
|
367
398
|
|
|
368
399
|
export type L2BlockProvenEvent = {
|
|
@@ -393,3 +424,31 @@ export type InvalidCheckpointDetectedEvent = {
|
|
|
393
424
|
type: 'invalidCheckpointDetected';
|
|
394
425
|
validationResult: ValidateCheckpointNegativeResult;
|
|
395
426
|
};
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Emitted when a local proposed checkpoint is found to disagree with the L1-confirmed
|
|
430
|
+
* checkpoint at the same slot. The slot proposer signed both — equivocation.
|
|
431
|
+
*/
|
|
432
|
+
export type CheckpointEquivocationDetectedEvent = {
|
|
433
|
+
type: 'checkpointEquivocationDetected';
|
|
434
|
+
slotNumber: SlotNumber;
|
|
435
|
+
checkpointNumber: CheckpointNumber;
|
|
436
|
+
l1ArchiveRoot: Fr;
|
|
437
|
+
proposedArchiveRoot: Fr;
|
|
438
|
+
};
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* Emitted when the archiver observes a checkpoint that builds on a previously-rejected
|
|
442
|
+
* ancestor (typically one with insufficient/invalid attestations). The descendant itself may
|
|
443
|
+
* have valid attestations, but it cannot be ingested because the chain it extends was
|
|
444
|
+
* skipped. The slasher uses this to slash the proposer of the descendant.
|
|
445
|
+
*/
|
|
446
|
+
export type DescendentOfInvalidAttestationsCheckpointEvent = {
|
|
447
|
+
type: 'descendentOfInvalidAttestationsCheckpointDetected';
|
|
448
|
+
/** The descendant checkpoint being rejected. */
|
|
449
|
+
checkpoint: CheckpointInfo;
|
|
450
|
+
/** Archive root of the rejected ancestor this descendant builds on. */
|
|
451
|
+
ancestorArchiveRoot: Fr;
|
|
452
|
+
/** Checkpoint number of the rejected ancestor. */
|
|
453
|
+
ancestorCheckpointNumber: CheckpointNumber;
|
|
454
|
+
};
|
|
@@ -2,10 +2,14 @@ import type { PublishedCheckpoint } from '../../checkpoint/published_checkpoint.
|
|
|
2
2
|
import type { L2Block } from '../l2_block.js';
|
|
3
3
|
import type { CheckpointId, L2BlockId, L2Tips } from '../l2_block_source.js';
|
|
4
4
|
|
|
5
|
+
/** Provides the current chain tips. Implemented by world-state, l2-tips-store, and AztecNode. */
|
|
6
|
+
export interface L2TipsProvider {
|
|
7
|
+
getL2Tips(): Promise<L2Tips>;
|
|
8
|
+
}
|
|
9
|
+
|
|
5
10
|
/** Interface to the local view of the chain. Implemented by world-state and l2-tips-store. */
|
|
6
|
-
export interface L2BlockStreamLocalDataProvider {
|
|
11
|
+
export interface L2BlockStreamLocalDataProvider extends L2TipsProvider {
|
|
7
12
|
getL2BlockHash(number: number): Promise<string | undefined>;
|
|
8
|
-
getL2Tips(): Promise<L2Tips>;
|
|
9
13
|
}
|
|
10
14
|
|
|
11
15
|
/** Interface to a handler of events emitted. */
|