@aztec/stdlib 5.0.0-private.20260319 → 5.0.0-rc.1
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 +14 -1
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +31 -7
- package/dest/abi/decoder.d.ts +5 -44
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +12 -67
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +32 -6
- 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 +1 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +1 -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 +13 -41
- package/dest/block/l2_block.d.ts.map +1 -1
- 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 +216 -357
- 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 +46 -7
- 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 +57 -21
- 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 +12 -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 +66 -40
- 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 +202 -33
- package/dest/checkpoint/checkpoint.d.ts +30 -96
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +11 -3
- 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 +4 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +3 -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 +11 -3
- package/dest/checkpoint/validate.d.ts.map +1 -1
- package/dest/checkpoint/validate.js +9 -6
- 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 -2
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -1
- 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 +231 -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 +38 -5
- 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 +5 -5
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +5 -4
- 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/node-info.d.ts +11 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +7 -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/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 +10 -22
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +12 -0
- 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 +17 -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 +11 -75
- package/dest/ha-signing/config.d.ts.map +1 -1
- package/dest/ha-signing/config.js +9 -18
- package/dest/ha-signing/index.d.ts +2 -2
- package/dest/ha-signing/index.d.ts.map +1 -1
- package/dest/ha-signing/index.js +1 -1
- package/dest/ha-signing/local_config.d.ts +3 -34
- package/dest/ha-signing/local_config.d.ts.map +1 -1
- package/dest/ha-signing/local_config.js +2 -2
- package/dest/ha-signing/types.d.ts +37 -32
- package/dest/ha-signing/types.d.ts.map +1 -1
- package/dest/ha-signing/types.js +13 -6
- package/dest/hash/hash.d.ts +19 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +39 -2
- package/dest/interfaces/allowed_element.d.ts +4 -28
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/api_limit.d.ts +1 -1
- package/dest/interfaces/api_limit.js +1 -1
- package/dest/interfaces/archiver.d.ts +20 -32
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +215 -70
- package/dest/interfaces/aztec-node-admin.d.ts +71 -305
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +60 -17
- package/dest/interfaces/aztec-node-debug.d.ts +34 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +29 -0
- package/dest/interfaces/aztec-node.d.ts +156 -112
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +354 -71
- package/dest/interfaces/block-builder.d.ts +5 -1
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- 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 +9 -2
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +7 -1
- package/dest/interfaces/configs.d.ts +63 -134
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +13 -2
- 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 -36
- 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 +4 -3
- 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 +46 -7
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +41 -6
- 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 +7 -29
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +0 -3
- package/dest/interfaces/prover-node.d.ts +8 -3
- package/dest/interfaces/prover-node.d.ts.map +1 -1
- package/dest/interfaces/prover-node.js +30 -14
- package/dest/interfaces/proving-job-source.js +24 -4
- package/dest/interfaces/proving-job.d.ts +763 -5814
- 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 -2
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -1
- 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 +55 -248
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +8 -2
- package/dest/interfaces/world_state.d.ts +2 -2
- 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 +9 -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 +22 -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 +3 -6
- package/dest/kv-store/config.d.ts.map +1 -1
- package/dest/kv-store/config.js +2 -7
- 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 +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 -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 +7 -7
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +6 -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 +6 -8
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +27 -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/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 +13 -31
- package/dest/logs/tagging_index_range.d.ts.map +1 -1
- package/dest/logs/tagging_index_range.js +2 -2
- 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/l2_to_l1_membership.d.ts +43 -6
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +72 -12
- 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 +3 -1
- 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 -16
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +59 -51
- 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/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} +1 -1
- package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
- package/dest/slashing/{tally.js → votes.js} +1 -1
- 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 +85 -82
- package/dest/tests/mocks.d.ts +8 -5
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +45 -56
- package/dest/timetable/budgets.d.ts +57 -0
- package/dest/timetable/budgets.d.ts.map +1 -0
- package/dest/timetable/budgets.js +56 -0
- package/dest/timetable/build_proposer_timetable.d.ts +21 -0
- package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/build_proposer_timetable.js +17 -0
- package/dest/timetable/consensus_timetable.d.ts +70 -0
- package/dest/timetable/consensus_timetable.d.ts.map +1 -0
- package/dest/timetable/consensus_timetable.js +89 -0
- package/dest/timetable/index.d.ts +5 -37
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +4 -39
- package/dest/timetable/proposer_timetable.d.ts +106 -0
- package/dest/timetable/proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/proposer_timetable.js +132 -0
- package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +6 -3
- package/dest/trees/nullifier_leaf.d.ts +19 -42
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +3 -0
- package/dest/trees/nullifier_membership_witness.d.ts +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 +5 -4
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +7 -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 +8 -19
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +9 -6
- package/dest/tx/partial_state_reference.d.ts +22 -65
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +6 -3
- package/dest/tx/private_execution_result.d.ts +6 -16
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/profiling.d.ts +54 -352
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +4 -4
- 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 +64 -1143
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +13 -11
- 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 +22 -13
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +44 -22
- 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 +144 -63
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +143 -60
- package/dest/tx/validator/error_texts.d.ts +6 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +7 -1
- 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 +2 -1
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +1 -0
- package/dest/update-checker/package_version.d.ts +6 -3
- package/dest/update-checker/package_version.d.ts.map +1 -1
- package/dest/update-checker/package_version.js +8 -19
- 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.js +1 -1
- 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 +12 -11
- 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 +30 -6
- package/src/abi/decoder.ts +23 -78
- package/src/abi/encoder.ts +42 -6
- 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 +6 -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_info.ts +8 -6
- package/src/block/l2_block_source.ts +216 -147
- package/src/block/l2_block_stream/interfaces.ts +42 -6
- package/src/block/l2_block_stream/l2_block_stream.ts +60 -31
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
- package/src/block/l2_block_stream/l2_tips_store_base.ts +64 -60
- package/src/block/proposal/attestations_and_signers.ts +32 -17
- package/src/block/test/l2_tips_store_test_suite.ts +198 -18
- package/src/checkpoint/checkpoint.ts +13 -3
- 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 +3 -0
- package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
- package/src/checkpoint/validate.ts +16 -6
- package/src/config/chain-config.ts +13 -16
- package/src/config/index.ts +1 -1
- package/src/config/network-consensus-config.ts +302 -0
- package/src/config/sequencer-config.ts +68 -9
- package/src/contract/complete_address.ts +7 -3
- package/src/contract/contract_address.ts +6 -6
- 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/interfaces/node-info.ts +11 -0
- package/src/contract/private_function.ts +3 -1
- package/src/database-version/version_manager.ts +17 -0
- package/src/deserialization/index.ts +35 -2
- package/src/epoch-helpers/index.ts +24 -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 +123 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas.ts +8 -3
- package/src/gas/gas_fees.ts +26 -13
- 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 +14 -18
- package/src/ha-signing/index.ts +3 -1
- package/src/ha-signing/local_config.ts +2 -2
- package/src/ha-signing/types.ts +48 -34
- package/src/hash/hash.ts +34 -2
- package/src/interfaces/api_limit.ts +1 -1
- package/src/interfaces/archiver.ts +88 -93
- package/src/interfaces/aztec-node-admin.ts +36 -21
- package/src/interfaces/aztec-node-debug.ts +55 -0
- package/src/interfaces/aztec-node.ts +389 -259
- package/src/interfaces/block-builder.ts +4 -0
- 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 +8 -1
- package/src/interfaces/configs.ts +64 -7
- 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 -42
- package/src/interfaces/merkle_tree_operations.ts +3 -2
- package/src/interfaces/p2p-bootstrap.ts +2 -2
- package/src/interfaces/p2p.ts +59 -19
- package/src/interfaces/private_kernel_prover.ts +88 -0
- package/src/interfaces/prover-agent.ts +1 -1
- package/src/interfaces/prover-client.ts +3 -8
- package/src/interfaces/prover-node.ts +19 -12
- 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 -1
- package/src/interfaces/slasher.ts +17 -10
- package/src/interfaces/tx_provider.ts +6 -0
- package/src/interfaces/validator.ts +45 -15
- package/src/interfaces/world_state.ts +1 -1
- 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 +29 -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 +3 -10
- 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 +21 -0
- package/src/logs/contract_class_log.ts +15 -5
- package/src/logs/index.ts +6 -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 +22 -8
- 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/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 +4 -10
- 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/l2_to_l1_membership.ts +108 -19
- package/src/messaging/l2_to_l1_message.ts +29 -9
- package/src/noir/index.ts +2 -0
- 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 +128 -73
- package/src/p2p/consensus_payload.ts +59 -28
- package/src/p2p/gossipable.ts +4 -4
- 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} +1 -1
- package/src/stats/stats.ts +4 -0
- package/src/tests/factories.ts +109 -111
- package/src/tests/mocks.ts +72 -71
- package/src/timetable/README.md +609 -0
- package/src/timetable/budgets.ts +87 -0
- package/src/timetable/build_proposer_timetable.ts +42 -0
- package/src/timetable/consensus_timetable.ts +126 -0
- package/src/timetable/index.ts +4 -66
- package/src/timetable/proposer_timetable.ts +190 -0
- package/src/timetable/timetable-example.svg +108 -0
- package/src/trees/append_only_tree_snapshot.ts +8 -3
- package/src/trees/nullifier_leaf.ts +4 -0
- package/src/trees/nullifier_membership_witness.ts +2 -12
- package/src/tx/block_header.ts +10 -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 +18 -6
- package/src/tx/partial_state_reference.ts +8 -3
- package/src/tx/profiling.ts +4 -4
- 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 +22 -21
- package/src/tx/state_reference.ts +9 -4
- package/src/tx/tree_snapshots.ts +9 -4
- package/src/tx/tx.ts +60 -24
- 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 +265 -85
- package/src/tx/validator/error_texts.ts +10 -1
- 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 +1 -0
- package/src/update-checker/package_version.ts +10 -23
- package/src/validators/schemas.ts +6 -4
- package/src/validators/types.ts +21 -2
- package/src/versioning/versioning.ts +1 -1
- 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/config/pipelining-config.d.ts +0 -19
- package/dest/config/pipelining-config.d.ts.map +0 -1
- package/dest/config/pipelining-config.js +0 -18
- package/dest/contract/private_function_membership_proof.d.ts +0 -32
- package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/private_function_membership_proof.js +0 -124
- package/dest/contract/utility_function_membership_proof.d.ts +0 -27
- package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/utility_function_membership_proof.js +0 -87
- package/dest/interfaces/epoch-prover.d.ts +0 -57
- package/dest/interfaces/epoch-prover.d.ts.map +0 -1
- package/dest/interfaces/epoch-prover.js +0 -1
- package/dest/interfaces/get_logs_response.d.ts +0 -97
- package/dest/interfaces/get_logs_response.d.ts.map +0 -1
- package/dest/interfaces/get_logs_response.js +0 -12
- package/dest/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 -25
- package/dest/logs/log_filter.d.ts.map +0 -1
- package/dest/logs/log_filter.js +0 -12
- 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 -51
- package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
- package/dest/logs/tx_scoped_l2_log.js +0 -77
- 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/src/abi/mocked_keys.ts +0 -2
- package/src/block/checkpointed_l2_block.ts +0 -70
- package/src/config/pipelining-config.ts +0 -31
- package/src/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/interfaces/epoch-prover.ts +0 -72
- package/src/interfaces/get_logs_response.ts +0 -35
- package/src/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 -36
- package/src/logs/log_id.ts +0 -125
- package/src/logs/tx_scoped_l2_log.ts +0 -114
- package/src/slashing/empire.ts +0 -104
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
|
|
2
1
|
import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
3
2
|
import { times } from '@aztec/foundation/collection';
|
|
4
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
4
|
import { GENESIS_CHECKPOINT_HEADER_HASH, L2Block } from '@aztec/stdlib/block';
|
|
6
5
|
import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
7
|
-
import {
|
|
6
|
+
import { expect } from 'vitest';
|
|
7
|
+
import { GENESIS_BLOCK_HEADER_HASH } from '../block_hash.js';
|
|
8
8
|
export function testL2TipsStore(makeTipsStore) {
|
|
9
9
|
let tipsStore;
|
|
10
10
|
// Track blocks and their hashes for test assertions
|
|
@@ -138,7 +138,8 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
138
138
|
// Prove up to block 5
|
|
139
139
|
await tipsStore.handleBlockStreamEvent({
|
|
140
140
|
type: 'chain-proven',
|
|
141
|
-
block: makeBlockId(5)
|
|
141
|
+
block: makeBlockId(5),
|
|
142
|
+
checkpoint: makeCheckpointIdForBlock(5)
|
|
142
143
|
});
|
|
143
144
|
const tips = await tipsStore.getL2Tips();
|
|
144
145
|
expect(tips.proposed).toEqual(makeTip(5));
|
|
@@ -160,11 +161,13 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
160
161
|
// Prove and finalize
|
|
161
162
|
await tipsStore.handleBlockStreamEvent({
|
|
162
163
|
type: 'chain-proven',
|
|
163
|
-
block: makeBlockId(5)
|
|
164
|
+
block: makeBlockId(5),
|
|
165
|
+
checkpoint: makeCheckpointIdForBlock(5)
|
|
164
166
|
});
|
|
165
167
|
await tipsStore.handleBlockStreamEvent({
|
|
166
168
|
type: 'chain-finalized',
|
|
167
|
-
block: makeBlockId(5)
|
|
169
|
+
block: makeBlockId(5),
|
|
170
|
+
checkpoint: makeCheckpointIdForBlock(5)
|
|
168
171
|
});
|
|
169
172
|
const tips = await tipsStore.getL2Tips();
|
|
170
173
|
expect(tips.proposed).toEqual(makeTip(5));
|
|
@@ -222,11 +225,13 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
222
225
|
// Prove and finalize up to block 3 (checkpoint 1)
|
|
223
226
|
await tipsStore.handleBlockStreamEvent({
|
|
224
227
|
type: 'chain-proven',
|
|
225
|
-
block: makeBlockId(3)
|
|
228
|
+
block: makeBlockId(3),
|
|
229
|
+
checkpoint: makeCheckpointIdForBlock(3)
|
|
226
230
|
});
|
|
227
231
|
await tipsStore.handleBlockStreamEvent({
|
|
228
232
|
type: 'chain-finalized',
|
|
229
|
-
block: makeBlockId(3)
|
|
233
|
+
block: makeBlockId(3),
|
|
234
|
+
checkpoint: makeCheckpointIdForBlock(3)
|
|
230
235
|
});
|
|
231
236
|
// Blocks before finalized should be cleared
|
|
232
237
|
expect(await tipsStore.getL2BlockHash(1)).toBeUndefined();
|
|
@@ -246,10 +251,8 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
246
251
|
await tipsStore.handleBlockStreamEvent({
|
|
247
252
|
type: 'chain-pruned',
|
|
248
253
|
block: makeBlockId(5),
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
|
|
252
|
-
}
|
|
254
|
+
checkpointed: makeTipId(0),
|
|
255
|
+
proven: makeTipId(0)
|
|
253
256
|
});
|
|
254
257
|
const tips = await tipsStore.getL2Tips();
|
|
255
258
|
expect(tips.proposed).toEqual(makeTip(5));
|
|
@@ -271,10 +274,8 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
271
274
|
await tipsStore.handleBlockStreamEvent({
|
|
272
275
|
type: 'chain-pruned',
|
|
273
276
|
block: makeTip(0),
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
|
|
277
|
-
}
|
|
277
|
+
checkpointed: makeTipId(0),
|
|
278
|
+
proven: makeTipId(0)
|
|
278
279
|
});
|
|
279
280
|
tips = await tipsStore.getL2Tips();
|
|
280
281
|
expect(tips.proposed).toEqual(makeTip(0));
|
|
@@ -335,10 +336,8 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
335
336
|
await tipsStore.handleBlockStreamEvent({
|
|
336
337
|
type: 'chain-pruned',
|
|
337
338
|
block: makeBlockId(5),
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
|
|
341
|
-
}
|
|
339
|
+
checkpointed: makeTipId(5),
|
|
340
|
+
proven: makeTipId(0)
|
|
342
341
|
});
|
|
343
342
|
tips = await tipsStore.getL2Tips();
|
|
344
343
|
expect(tips.proposed).toEqual(makeTip(5));
|
|
@@ -398,10 +397,8 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
398
397
|
await tipsStore.handleBlockStreamEvent({
|
|
399
398
|
type: 'chain-pruned',
|
|
400
399
|
block: makeBlockId(3),
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
|
|
404
|
-
}
|
|
400
|
+
checkpointed: makeTipId(3),
|
|
401
|
+
proven: makeTipId(0)
|
|
405
402
|
});
|
|
406
403
|
tips = await tipsStore.getL2Tips();
|
|
407
404
|
expect(tips.proposed).toEqual(makeTip(3));
|
|
@@ -438,7 +435,8 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
438
435
|
// Prove up to block 3
|
|
439
436
|
await tipsStore.handleBlockStreamEvent({
|
|
440
437
|
type: 'chain-proven',
|
|
441
|
-
block: makeBlockId(3)
|
|
438
|
+
block: makeBlockId(3),
|
|
439
|
+
checkpoint: makeCheckpointIdForBlock(3)
|
|
442
440
|
});
|
|
443
441
|
let tips = await tipsStore.getL2Tips();
|
|
444
442
|
expect(tips.proposed).toEqual(makeTip(3));
|
|
@@ -478,10 +476,8 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
478
476
|
await tipsStore.handleBlockStreamEvent({
|
|
479
477
|
type: 'chain-pruned',
|
|
480
478
|
block: makeBlockId(3),
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
|
|
484
|
-
}
|
|
479
|
+
checkpointed: makeTipId(3),
|
|
480
|
+
proven: makeTipId(3)
|
|
485
481
|
});
|
|
486
482
|
tips = await tipsStore.getL2Tips();
|
|
487
483
|
expect(tips.proposed).toEqual(makeTip(3));
|
|
@@ -524,22 +520,195 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
524
520
|
expect(await tipsStore.getL2BlockHash(6)).not.toEqual(originalHash6);
|
|
525
521
|
expect(await tipsStore.getL2BlockHash(7)).not.toEqual(originalHash7);
|
|
526
522
|
});
|
|
527
|
-
// Regression test for #13142
|
|
528
|
-
|
|
523
|
+
// Regression test for #13142: proving an unseen block number (one with no local block->checkpoint
|
|
524
|
+
// mapping) must not blow up. With per-cursor checkpoint ids, the proven tip resolves to the
|
|
525
|
+
// checkpoint id carried by the event rather than falling back to checkpoint zero.
|
|
526
|
+
it('resolves the proven checkpoint from the carried id when setting proven on an unseen block number', async ()=>{
|
|
529
527
|
await tipsStore.handleBlockStreamEvent({
|
|
530
528
|
type: 'blocks-added',
|
|
531
529
|
blocks: [
|
|
532
530
|
await makeBlock(5)
|
|
533
531
|
]
|
|
534
532
|
});
|
|
533
|
+
// Block 3 has no local block->checkpoint mapping, but the event carries a real checkpoint id.
|
|
534
|
+
const carriedCheckpoint = {
|
|
535
|
+
number: CheckpointNumber(1),
|
|
536
|
+
hash: new Fr(42).toString()
|
|
537
|
+
};
|
|
535
538
|
await tipsStore.handleBlockStreamEvent({
|
|
536
539
|
type: 'chain-proven',
|
|
537
|
-
block: makeBlockId(3)
|
|
540
|
+
block: makeBlockId(3),
|
|
541
|
+
checkpoint: carriedCheckpoint
|
|
538
542
|
});
|
|
539
543
|
const tips = await tipsStore.getL2Tips();
|
|
540
544
|
expect(tips.proposed).toEqual(makeTip(5));
|
|
541
545
|
expect(tips.proven.block).toEqual(makeTip(3));
|
|
542
|
-
//
|
|
543
|
-
expect(tips.proven.checkpoint
|
|
546
|
+
// Resolved from the carried id, not the (missing) local mapping.
|
|
547
|
+
expect(tips.proven.checkpoint).toEqual(carriedCheckpoint);
|
|
548
|
+
});
|
|
549
|
+
// proven/finalized resolve to the carried checkpoint id even when the block has no local
|
|
550
|
+
// block->checkpoint mapping (the cursor legitimately leads the locally-checkpointed frontier).
|
|
551
|
+
it('resolves proven and finalized checkpoints from carried ids without a local mapping', async ()=>{
|
|
552
|
+
await tipsStore.handleBlockStreamEvent({
|
|
553
|
+
type: 'blocks-added',
|
|
554
|
+
blocks: [
|
|
555
|
+
await makeBlock(7)
|
|
556
|
+
]
|
|
557
|
+
});
|
|
558
|
+
const provenCheckpoint = {
|
|
559
|
+
number: CheckpointNumber(2),
|
|
560
|
+
hash: new Fr(101).toString()
|
|
561
|
+
};
|
|
562
|
+
const finalizedCheckpoint = {
|
|
563
|
+
number: CheckpointNumber(1),
|
|
564
|
+
hash: new Fr(100).toString()
|
|
565
|
+
};
|
|
566
|
+
await tipsStore.handleBlockStreamEvent({
|
|
567
|
+
type: 'chain-proven',
|
|
568
|
+
block: makeBlockId(5),
|
|
569
|
+
checkpoint: provenCheckpoint
|
|
570
|
+
});
|
|
571
|
+
await tipsStore.handleBlockStreamEvent({
|
|
572
|
+
type: 'chain-finalized',
|
|
573
|
+
block: makeBlockId(3),
|
|
574
|
+
checkpoint: finalizedCheckpoint
|
|
575
|
+
});
|
|
576
|
+
const tips = await tipsStore.getL2Tips();
|
|
577
|
+
expect(tips.proven.checkpoint).toEqual(provenCheckpoint);
|
|
578
|
+
expect(tips.finalized.checkpoint).toEqual(finalizedCheckpoint);
|
|
579
|
+
});
|
|
580
|
+
// Genuine corruption: a cursor points at a real (non-genesis) block that has a block hash but
|
|
581
|
+
// neither a stored per-cursor checkpoint id nor a block->checkpoint mapping. getL2Tips must throw
|
|
582
|
+
// loudly rather than silently report checkpoint zero. We reach this state by reaching past the
|
|
583
|
+
// event API to place the tip directly, since the normal writers always record an id.
|
|
584
|
+
it('throws when a cursor points at a real block with neither a stored id nor a mapping', async ()=>{
|
|
585
|
+
// blocks-added records the block hash for block 5 (so getBlockId succeeds) but no checkpoint id.
|
|
586
|
+
await tipsStore.handleBlockStreamEvent({
|
|
587
|
+
type: 'blocks-added',
|
|
588
|
+
blocks: [
|
|
589
|
+
await makeBlock(5)
|
|
590
|
+
]
|
|
591
|
+
});
|
|
592
|
+
// Corrupt the proven cursor to point at block 5 without any id or mapping.
|
|
593
|
+
const internal = tipsStore;
|
|
594
|
+
await internal.setTip('proven', BlockNumber(5));
|
|
595
|
+
await expect(tipsStore.getL2Tips()).rejects.toThrow(/checkpoint/i);
|
|
596
|
+
});
|
|
597
|
+
// Backward prune of a leading cursor: a checkpoint-bearing cursor that legitimately leads the source's
|
|
598
|
+
// confirmed checkpointed tip is clamped down to that tip, resolving to the id the prune event carries
|
|
599
|
+
// (never genesis, never a throw). This is the skipped-history shape where the cursor sits on a block
|
|
600
|
+
// ahead of the checkpointed frontier.
|
|
601
|
+
it('clamps a leading checkpoint cursor down to the source checkpointed tip carried by the prune event', async ()=>{
|
|
602
|
+
// Checkpoint blocks 1-5 (checkpointed = block 5 / ckpt 1), then add uncheckpointed blocks 6-10.
|
|
603
|
+
const blocks1to5 = await Promise.all(times(5, (i)=>makeBlock(i + 1)));
|
|
604
|
+
await tipsStore.handleBlockStreamEvent({
|
|
605
|
+
type: 'blocks-added',
|
|
606
|
+
blocks: blocks1to5
|
|
607
|
+
});
|
|
608
|
+
const checkpoint1 = await makeCheckpoint(1, blocks1to5);
|
|
609
|
+
await tipsStore.handleBlockStreamEvent(await makeCheckpointedEvent(checkpoint1));
|
|
610
|
+
const blocks6to10 = await Promise.all(times(5, (i)=>makeBlock(i + 6)));
|
|
611
|
+
await tipsStore.handleBlockStreamEvent({
|
|
612
|
+
type: 'blocks-added',
|
|
613
|
+
blocks: blocks6to10
|
|
614
|
+
});
|
|
615
|
+
// Advance the proven cursor onto an uncheckpointed block (8) via a carried id, so it LEADS the
|
|
616
|
+
// source checkpointed tip (block 5) and will be clamped down to it on prune.
|
|
617
|
+
await tipsStore.handleBlockStreamEvent({
|
|
618
|
+
type: 'chain-proven',
|
|
619
|
+
block: makeBlockId(8),
|
|
620
|
+
checkpoint: {
|
|
621
|
+
number: CheckpointNumber(2),
|
|
622
|
+
hash: new Fr(202).toString()
|
|
623
|
+
}
|
|
624
|
+
});
|
|
625
|
+
// Prune to block 7, carrying the source's confirmed checkpointed and proven tips (both block 5 / ckpt 1
|
|
626
|
+
// here, the source's proven tip having rolled back together with its checkpointed tip).
|
|
627
|
+
await tipsStore.handleBlockStreamEvent({
|
|
628
|
+
type: 'chain-pruned',
|
|
629
|
+
block: makeBlockId(7),
|
|
630
|
+
checkpointed: makeTipId(5),
|
|
631
|
+
proven: makeTipId(5)
|
|
632
|
+
});
|
|
633
|
+
// Must not throw; the proven cursor is clamped to the carried proven tip, resolving to ckpt 1.
|
|
634
|
+
const tips = await tipsStore.getL2Tips();
|
|
635
|
+
expect(tips.proposed).toEqual(makeTip(7));
|
|
636
|
+
expect(tips.proven.block).toEqual(makeTip(5));
|
|
637
|
+
expect(tips.proven.checkpoint.number).toEqual(CheckpointNumber(1));
|
|
638
|
+
});
|
|
639
|
+
it('keeps the checkpointed tip when pruning to an uncheckpointed block ahead of it', async ()=>{
|
|
640
|
+
const blocks1to5 = await Promise.all(times(5, (i)=>makeBlock(i + 1)));
|
|
641
|
+
await tipsStore.handleBlockStreamEvent({
|
|
642
|
+
type: 'blocks-added',
|
|
643
|
+
blocks: blocks1to5
|
|
644
|
+
});
|
|
645
|
+
const checkpoint1 = await makeCheckpoint(1, blocks1to5);
|
|
646
|
+
await tipsStore.handleBlockStreamEvent(await makeCheckpointedEvent(checkpoint1)); // checkpointed = block 5 / ckpt 1
|
|
647
|
+
const blocks6to7 = await Promise.all(times(2, (i)=>makeBlock(i + 6)));
|
|
648
|
+
await tipsStore.handleBlockStreamEvent({
|
|
649
|
+
type: 'blocks-added',
|
|
650
|
+
blocks: blocks6to7
|
|
651
|
+
}); // proposed = 7
|
|
652
|
+
// Prune to block 6: an uncheckpointed block AHEAD of the checkpointed tip (block 5). The source
|
|
653
|
+
// checkpointed tip is still block 5 / ckpt 1, so the checkpointed cursor must not move.
|
|
654
|
+
await tipsStore.handleBlockStreamEvent({
|
|
655
|
+
type: 'chain-pruned',
|
|
656
|
+
block: makeBlockId(6),
|
|
657
|
+
checkpointed: makeTipId(5),
|
|
658
|
+
proven: makeTipId(0)
|
|
659
|
+
});
|
|
660
|
+
const tips = await tipsStore.getL2Tips();
|
|
661
|
+
expect(tips.proposed).toEqual(makeTip(6));
|
|
662
|
+
expect(tips.checkpointed.block).toEqual(makeTip(5));
|
|
663
|
+
expect(tips.checkpointed.checkpoint.number).toEqual(CheckpointNumber(1)); // must NOT be zero
|
|
664
|
+
});
|
|
665
|
+
// Per-cursor clamping on prune: when the source rolls back its proven tip below its checkpointed tip
|
|
666
|
+
// (e.g. a proof tx dropped by an L1 reorg), the prune event carries both source tips and each local
|
|
667
|
+
// cursor must clamp to its OWN source tip. Clamping the proven cursor onto the (higher) checkpointed
|
|
668
|
+
// tip would transiently report unproven blocks as proven until the corrective chain-proven event lands.
|
|
669
|
+
it('clamps the proven cursor to the source proven tip, separately from the checkpointed cursor, on prune', async ()=>{
|
|
670
|
+
// Checkpoint blocks 1-15 across three checkpoints (ckpt 1 = 1-5, ckpt 2 = 6-10, ckpt 3 = 11-15).
|
|
671
|
+
const blocks1to5 = await Promise.all(times(5, (i)=>makeBlock(i + 1)));
|
|
672
|
+
await tipsStore.handleBlockStreamEvent({
|
|
673
|
+
type: 'blocks-added',
|
|
674
|
+
blocks: blocks1to5
|
|
675
|
+
});
|
|
676
|
+
await tipsStore.handleBlockStreamEvent(await makeCheckpointedEvent(await makeCheckpoint(1, blocks1to5)));
|
|
677
|
+
const blocks6to10 = await Promise.all(times(5, (i)=>makeBlock(i + 6)));
|
|
678
|
+
await tipsStore.handleBlockStreamEvent({
|
|
679
|
+
type: 'blocks-added',
|
|
680
|
+
blocks: blocks6to10
|
|
681
|
+
});
|
|
682
|
+
await tipsStore.handleBlockStreamEvent(await makeCheckpointedEvent(await makeCheckpoint(2, blocks6to10)));
|
|
683
|
+
const blocks11to15 = await Promise.all(times(5, (i)=>makeBlock(i + 11)));
|
|
684
|
+
await tipsStore.handleBlockStreamEvent({
|
|
685
|
+
type: 'blocks-added',
|
|
686
|
+
blocks: blocks11to15
|
|
687
|
+
});
|
|
688
|
+
await tipsStore.handleBlockStreamEvent(await makeCheckpointedEvent(await makeCheckpoint(3, blocks11to15)));
|
|
689
|
+
// Prove the whole chain up to block 15 (ckpt 3), so the local proven cursor leads both source tips below.
|
|
690
|
+
await tipsStore.handleBlockStreamEvent({
|
|
691
|
+
type: 'chain-proven',
|
|
692
|
+
block: makeBlockId(15),
|
|
693
|
+
checkpoint: makeCheckpointIdForBlock(15)
|
|
694
|
+
});
|
|
695
|
+
let tips = await tipsStore.getL2Tips();
|
|
696
|
+
expect(tips.checkpointed.block).toEqual(makeTip(15));
|
|
697
|
+
expect(tips.proven.block).toEqual(makeTip(15));
|
|
698
|
+
// Prune arrives with the source's proven tip (block 5 / ckpt 1) BELOW its checkpointed tip (block 10 /
|
|
699
|
+
// ckpt 2) and below the local proven cursor (block 15). Each cursor must clamp to its own source tip.
|
|
700
|
+
await tipsStore.handleBlockStreamEvent({
|
|
701
|
+
type: 'chain-pruned',
|
|
702
|
+
block: makeBlockId(10),
|
|
703
|
+
checkpointed: makeTipId(10),
|
|
704
|
+
proven: makeTipId(5)
|
|
705
|
+
});
|
|
706
|
+
tips = await tipsStore.getL2Tips();
|
|
707
|
+
// The proven cursor lands exactly on the source proven tip, NOT on the (higher) checkpointed tip.
|
|
708
|
+
expect(tips.proven.block).toEqual(makeTip(5));
|
|
709
|
+
expect(tips.proven.checkpoint.number).toEqual(CheckpointNumber(1));
|
|
710
|
+
// The checkpointed cursor lands on the source checkpointed tip.
|
|
711
|
+
expect(tips.checkpointed.block).toEqual(makeTip(10));
|
|
712
|
+
expect(tips.checkpointed.checkpoint.number).toEqual(CheckpointNumber(2));
|
|
544
713
|
});
|
|
545
714
|
}
|
|
@@ -31,115 +31,43 @@ export declare class Checkpoint {
|
|
|
31
31
|
/** Fee asset price modifier in basis points (from oracle). Defaults to 0 (no change). */
|
|
32
32
|
feeAssetPriceModifier?: bigint);
|
|
33
33
|
get slot(): SlotNumber;
|
|
34
|
-
static get schema(): z.
|
|
35
|
-
archive: z.
|
|
36
|
-
root: z.ZodType<Fr,
|
|
37
|
-
nextAvailableLeafIndex: z.
|
|
38
|
-
},
|
|
34
|
+
static get schema(): z.ZodPipe<z.ZodObject<{
|
|
35
|
+
archive: z.ZodPipe<z.ZodObject<{
|
|
36
|
+
root: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
|
|
37
|
+
nextAvailableLeafIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>;
|
|
38
|
+
}, z.core.$strip>, z.ZodTransform<AppendOnlyTreeSnapshot, {
|
|
39
39
|
root: Fr;
|
|
40
40
|
nextAvailableLeafIndex: number;
|
|
41
|
-
}
|
|
42
|
-
root: string;
|
|
43
|
-
nextAvailableLeafIndex: string | number | bigint;
|
|
44
|
-
}>, AppendOnlyTreeSnapshot, {
|
|
45
|
-
root: string;
|
|
46
|
-
nextAvailableLeafIndex: string | number | bigint;
|
|
47
|
-
}>;
|
|
41
|
+
}>>;
|
|
48
42
|
header: import("../schemas/schemas.js").ZodFor<CheckpointHeader>;
|
|
49
|
-
blocks: z.ZodArray<z.
|
|
50
|
-
archive: z.
|
|
51
|
-
root: z.ZodType<Fr,
|
|
52
|
-
nextAvailableLeafIndex: z.
|
|
53
|
-
},
|
|
43
|
+
blocks: z.ZodArray<z.ZodPipe<z.ZodObject<{
|
|
44
|
+
archive: z.ZodPipe<z.ZodObject<{
|
|
45
|
+
root: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
|
|
46
|
+
nextAvailableLeafIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>;
|
|
47
|
+
}, z.core.$strip>, z.ZodTransform<AppendOnlyTreeSnapshot, {
|
|
54
48
|
root: Fr;
|
|
55
49
|
nextAvailableLeafIndex: number;
|
|
56
|
-
}
|
|
57
|
-
root: string;
|
|
58
|
-
nextAvailableLeafIndex: string | number | bigint;
|
|
59
|
-
}>, AppendOnlyTreeSnapshot, {
|
|
60
|
-
root: string;
|
|
61
|
-
nextAvailableLeafIndex: string | number | bigint;
|
|
62
|
-
}>;
|
|
50
|
+
}>>;
|
|
63
51
|
header: import("../schemas/schemas.js").ZodFor<import("../tx/block_header.js").BlockHeader>;
|
|
64
52
|
body: import("../schemas/schemas.js").ZodFor<import("../block/body.js").Body>;
|
|
65
|
-
checkpointNumber: z.
|
|
66
|
-
indexWithinCheckpoint: z.
|
|
67
|
-
},
|
|
53
|
+
checkpointNumber: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>, z.ZodTransform<CheckpointNumber, number>>;
|
|
54
|
+
indexWithinCheckpoint: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>, z.ZodTransform<IndexWithinCheckpoint, number>>;
|
|
55
|
+
}, z.core.$strip>, z.ZodTransform<L2Block, {
|
|
68
56
|
archive: AppendOnlyTreeSnapshot;
|
|
69
57
|
header: import("../tx/block_header.js").BlockHeader;
|
|
70
58
|
body: import("../block/body.js").Body;
|
|
71
|
-
checkpointNumber:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}, {
|
|
78
|
-
archive: {
|
|
79
|
-
root: string;
|
|
80
|
-
nextAvailableLeafIndex: string | number | bigint;
|
|
81
|
-
};
|
|
82
|
-
header?: any;
|
|
83
|
-
body?: any;
|
|
84
|
-
checkpointNumber: string | number | bigint;
|
|
85
|
-
indexWithinCheckpoint: string | number | bigint;
|
|
86
|
-
}>, L2Block, {
|
|
87
|
-
archive: {
|
|
88
|
-
root: string;
|
|
89
|
-
nextAvailableLeafIndex: string | number | bigint;
|
|
90
|
-
};
|
|
91
|
-
header?: any;
|
|
92
|
-
body?: any;
|
|
93
|
-
checkpointNumber: string | number | bigint;
|
|
94
|
-
indexWithinCheckpoint: string | number | bigint;
|
|
95
|
-
}>, "many">;
|
|
96
|
-
number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
|
|
97
|
-
feeAssetPriceModifier: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
98
|
-
}, "strip", z.ZodTypeAny, {
|
|
59
|
+
checkpointNumber: CheckpointNumber;
|
|
60
|
+
indexWithinCheckpoint: IndexWithinCheckpoint;
|
|
61
|
+
}>>>;
|
|
62
|
+
number: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>, z.ZodTransform<CheckpointNumber, number>>;
|
|
63
|
+
feeAssetPriceModifier: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
|
|
64
|
+
}, z.core.$strip>, z.ZodTransform<Checkpoint, {
|
|
99
65
|
archive: AppendOnlyTreeSnapshot;
|
|
100
66
|
header: CheckpointHeader;
|
|
101
67
|
blocks: L2Block[];
|
|
102
|
-
number:
|
|
103
|
-
_branding: "CheckpointNumber";
|
|
104
|
-
};
|
|
68
|
+
number: CheckpointNumber;
|
|
105
69
|
feeAssetPriceModifier: bigint;
|
|
106
|
-
}
|
|
107
|
-
archive: {
|
|
108
|
-
root: string;
|
|
109
|
-
nextAvailableLeafIndex: string | number | bigint;
|
|
110
|
-
};
|
|
111
|
-
header?: any;
|
|
112
|
-
blocks: {
|
|
113
|
-
archive: {
|
|
114
|
-
root: string;
|
|
115
|
-
nextAvailableLeafIndex: string | number | bigint;
|
|
116
|
-
};
|
|
117
|
-
header?: any;
|
|
118
|
-
body?: any;
|
|
119
|
-
checkpointNumber: string | number | bigint;
|
|
120
|
-
indexWithinCheckpoint: string | number | bigint;
|
|
121
|
-
}[];
|
|
122
|
-
number: string | number | bigint;
|
|
123
|
-
feeAssetPriceModifier: string | number | bigint;
|
|
124
|
-
}>, Checkpoint, {
|
|
125
|
-
archive: {
|
|
126
|
-
root: string;
|
|
127
|
-
nextAvailableLeafIndex: string | number | bigint;
|
|
128
|
-
};
|
|
129
|
-
header?: any;
|
|
130
|
-
blocks: {
|
|
131
|
-
archive: {
|
|
132
|
-
root: string;
|
|
133
|
-
nextAvailableLeafIndex: string | number | bigint;
|
|
134
|
-
};
|
|
135
|
-
header?: any;
|
|
136
|
-
body?: any;
|
|
137
|
-
checkpointNumber: string | number | bigint;
|
|
138
|
-
indexWithinCheckpoint: string | number | bigint;
|
|
139
|
-
}[];
|
|
140
|
-
number: string | number | bigint;
|
|
141
|
-
feeAssetPriceModifier: string | number | bigint;
|
|
142
|
-
}>;
|
|
70
|
+
}>>;
|
|
143
71
|
static from(fields: FieldsOfCheckpoint): Checkpoint;
|
|
144
72
|
static getFields(fields: FieldsOfCheckpoint): readonly [AppendOnlyTreeSnapshot, CheckpointHeader, L2Block[], CheckpointNumber, bigint];
|
|
145
73
|
static fromBuffer(buf: Buffer | BufferReader): Checkpoint;
|
|
@@ -152,6 +80,12 @@ export declare class Checkpoint {
|
|
|
152
80
|
* checkpoints up to and including this one in the epoch.
|
|
153
81
|
*/
|
|
154
82
|
getCheckpointOutHash(): Fr;
|
|
83
|
+
/**
|
|
84
|
+
* Returns the out hash computed from all l2-to-l1 messages in this checkpoint.
|
|
85
|
+
* Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
|
|
86
|
+
* checkpoints up to and including this one in the epoch.
|
|
87
|
+
*/
|
|
88
|
+
static getCheckpointOutHash(blocks: L2Block[]): Fr;
|
|
155
89
|
getState(): import("../tx/state_reference.js").StateReference;
|
|
156
90
|
toCheckpointInfo(): CheckpointInfo;
|
|
157
91
|
/** Returns stats used for logging */
|
|
@@ -175,4 +109,4 @@ export declare class Checkpoint {
|
|
|
175
109
|
} & Partial<Parameters<typeof CheckpointHeader.random>[0]> & Partial<Parameters<typeof L2Block.random>[1]>): Promise<Checkpoint>;
|
|
176
110
|
}
|
|
177
111
|
export {};
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NoZWNrcG9pbnQvY2hlY2twb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsZ0JBQWdCLEVBRWhCLHFCQUFxQixFQUNyQixVQUFVLEVBQ1gsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRCxLQUFLLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFN0QscUJBQWEsVUFBVTtJQUVuQiw4REFBOEQ7SUFDdkQsT0FBTyxFQUFFLHNCQUFzQjtJQUN0QyxnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQixtQ0FBbUM7SUFDNUIsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUN4QixnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQix5RkFBeUY7SUFDbEYscUJBQXFCLEVBQUUsTUFBTTtJQVZ0QztJQUNFLDhEQUE4RDtJQUN2RCxPQUFPLEVBQUUsc0JBQXNCO0lBQ3RDLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLG1DQUFtQztJQUM1QixNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQ3hCLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLHlGQUF5RjtJQUNsRixxQkFBcUIsR0FBRSxNQUFXLEVBQ3ZDO0lBRUosSUFBSSxJQUFJLElBQUksVUFBVSxDQUVyQjtJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFhaEI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsY0FFckM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsNEZBRTFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksY0FRM0M7SUFFTSxRQUFRLDRCQVNkO0lBRU0sWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUcxQjtJQUVNLElBQUksSUFBSSxFQUFFLENBRWhCO0lBRUQ7Ozs7T0FJRztJQUNJLG9CQUFvQixJQUFJLEVBQUUsQ0FFaEM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBR2pEO0lBRU0sUUFBUSxzREFFZDtJQUVNLGdCQUFnQixJQUFJLGNBQWMsQ0FReEM7SUFFRCxxQ0FBcUM7SUFDOUIsUUFBUTs7Ozs7Ozs7OztNQWtCZDtJQUVELE9BQWEsTUFBTSxDQUNqQixnQkFBZ0IsbUJBQXNCLEVBQ3RDLEVBQ0UsU0FBYSxFQUNiLGdCQUFvQixFQUNwQixlQUFlLEVBQ2YscUJBQTBCLEVBQzFCLEdBQUcsT0FBTyxFQUNYLEdBQUU7UUFDRCxTQUFTLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDbkIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDMUIsZUFBZSxDQUFDLEVBQUUsc0JBQXNCLENBQUM7UUFDekMscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDL0IsT0FBTyxDQUFDLEVBQUUsc0JBQXNCLENBQUM7S0FDbEMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FDeEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBTSx1QkE0QnJEO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAEhB,qBAAqB,EACrB,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAA4C,MAAM,6BAA6B,CAAC;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,KAAK,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;AAE7D,qBAAa,UAAU;IAEnB,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,EAAE,MAAM;IAVtC;IACE,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,GAAE,MAAW,EACvC;IAEJ,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,MAAM,KAAK,MAAM
|
|
1
|
+
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAEhB,qBAAqB,EACrB,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAA4C,MAAM,6BAA6B,CAAC;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,KAAK,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;AAE7D,qBAAa,UAAU;IAEnB,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,EAAE,MAAM;IAVtC;IACE,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,GAAE,MAAW,EACvC;IAEJ,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAahB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,cAErC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,4FAE1C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAQ3C;IAEM,QAAQ,4BASd;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,IAAI,IAAI,EAAE,CAEhB;IAED;;;;OAIG;IACI,oBAAoB,IAAI,EAAE,CAEhC;IAED;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAGjD;IAEM,QAAQ,sDAEd;IAEM,gBAAgB,IAAI,cAAc,CAQxC;IAED,qCAAqC;IAC9B,QAAQ;;;;;;;;;;MAkBd;IAED,OAAa,MAAM,CACjB,gBAAgB,mBAAsB,EACtC,EACE,SAAa,EACb,gBAAoB,EACpB,eAAe,EACf,qBAA0B,EAC1B,GAAG,OAAO,EACX,GAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,sBAAsB,CAAC;QACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,OAAO,CAAC,EAAE,sBAAsB,CAAC;KAClC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,uBA4BrD;CACF"}
|
|
@@ -4,7 +4,7 @@ import { pick, sum } from '@aztec/foundation/collection';
|
|
|
4
4
|
import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { L2Block } from '../block/l2_block.js';
|
|
7
|
-
import {
|
|
7
|
+
import { MAX_CAPACITY_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
|
|
8
8
|
import { computeCheckpointOutHash } from '../messaging/out_hash.js';
|
|
9
9
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
10
10
|
import { schemas } from '../schemas/schemas.js';
|
|
@@ -50,7 +50,7 @@ export class Checkpoint {
|
|
|
50
50
|
const reader = BufferReader.asReader(buf);
|
|
51
51
|
const archive = reader.readObject(AppendOnlyTreeSnapshot);
|
|
52
52
|
const header = reader.readObject(CheckpointHeader);
|
|
53
|
-
const blocks = reader.readVector(L2Block,
|
|
53
|
+
const blocks = reader.readVector(L2Block, MAX_CAPACITY_BLOCKS_PER_CHECKPOINT);
|
|
54
54
|
const number = CheckpointNumber(reader.readNumber());
|
|
55
55
|
const feeAssetPriceModifier = reader.readInt256();
|
|
56
56
|
return new Checkpoint(archive, header, blocks, number, feeAssetPriceModifier);
|
|
@@ -70,7 +70,14 @@ export class Checkpoint {
|
|
|
70
70
|
* Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
|
|
71
71
|
* checkpoints up to and including this one in the epoch.
|
|
72
72
|
*/ getCheckpointOutHash() {
|
|
73
|
-
|
|
73
|
+
return Checkpoint.getCheckpointOutHash(this.blocks);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Returns the out hash computed from all l2-to-l1 messages in this checkpoint.
|
|
77
|
+
* Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
|
|
78
|
+
* checkpoints up to and including this one in the epoch.
|
|
79
|
+
*/ static getCheckpointOutHash(blocks) {
|
|
80
|
+
const msgs = blocks.map((block)=>block.body.txEffects.map((txEffect)=>txEffect.l2ToL1Msgs));
|
|
74
81
|
return computeCheckpointOutHash(msgs);
|
|
75
82
|
}
|
|
76
83
|
getState() {
|
|
@@ -114,6 +121,7 @@ export class Checkpoint {
|
|
|
114
121
|
let lastArchive = previousArchive;
|
|
115
122
|
for(let i = 0; i < numBlocks; i++){
|
|
116
123
|
const block = await L2Block.random(BlockNumber(startBlockNumber + i), {
|
|
124
|
+
checkpointNumber,
|
|
117
125
|
indexWithinCheckpoint: IndexWithinCheckpoint(i),
|
|
118
126
|
...options,
|
|
119
127
|
...lastArchive ? {
|