@aztec/stdlib 0.0.1-commit.f2ce05ee → 0.0.1-commit.f5a9928
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +149 -1081
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +41 -18
- package/dest/abi/authorization_selector.d.ts +4 -7
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/buffer.d.ts +19 -5
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +38 -5
- package/dest/abi/contract_artifact.d.ts +14 -1
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +57 -15
- package/dest/abi/decoder.d.ts +6 -45
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +17 -70
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +64 -7
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/event_selector.d.ts +4 -7
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +7 -25
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_selector.d.ts +3 -6
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +2 -4
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/note_selector.d.ts +4 -7
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +1 -3
- package/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +1 -1
- package/dest/abi/utils.d.ts +14 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +16 -1
- package/dest/auth_witness/auth_witness.d.ts +2 -2
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.js +3 -3
- package/dest/avm/avm.d.ts +1756 -10463
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +7 -4
- package/dest/avm/avm_accumulated_data.d.ts +22 -86
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_proving_request.d.ts +653 -5446
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/message_pack.js +12 -3
- package/dest/avm/public_data_write.d.ts +6 -12
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +6 -7
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +13 -21
- package/dest/aztec-address/index.d.ts +42 -12
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +40 -13
- package/dest/block/attestation_info.d.ts +3 -2
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +10 -5
- package/dest/block/block_data.d.ts +27 -0
- package/dest/block/block_data.d.ts.map +1 -0
- package/dest/block/block_data.js +12 -0
- package/dest/block/block_hash.d.ts +11 -10
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +10 -9
- package/dest/block/block_parameter.d.ts +37 -4
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +53 -2
- package/dest/block/in_block.d.ts +5 -24
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/index.d.ts +2 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -1
- package/dest/block/l2_block.d.ts +21 -41
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +12 -2
- package/dest/block/l2_block_info.d.ts +10 -29
- package/dest/block/l2_block_info.d.ts.map +1 -1
- package/dest/block/l2_block_info.js +6 -5
- package/dest/block/l2_block_source.d.ts +235 -337
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +85 -1
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +30 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +61 -0
- package/dest/block/l2_block_stream/index.d.ts +2 -1
- package/dest/block/l2_block_stream/index.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +85 -10
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/interfaces.js +25 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +185 -124
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
- package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +73 -25
- package/dest/block/proposal/committee_attestation.d.ts +6 -12
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +301 -36
- package/dest/block/validate_block_result.d.ts +16 -1
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +18 -3
- package/dest/checkpoint/checkpoint.d.ts +48 -99
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +42 -18
- package/dest/checkpoint/checkpoint_data.d.ts +97 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +38 -0
- package/dest/checkpoint/checkpoint_info.d.ts +7 -23
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
- package/dest/checkpoint/digest.d.ts +18 -0
- package/dest/checkpoint/digest.d.ts.map +1 -0
- package/dest/checkpoint/digest.js +12 -0
- package/dest/checkpoint/index.d.ts +7 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +6 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
- package/dest/checkpoint/published_checkpoint.d.ts +53 -190
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +1 -2
- package/dest/checkpoint/simulation_overrides.d.ts +61 -0
- package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
- package/dest/checkpoint/simulation_overrides.js +98 -0
- package/dest/checkpoint/validate.d.ts +52 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +132 -0
- package/dest/config/chain-config.d.ts +4 -9
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +13 -12
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- package/dest/config/network-consensus-config.d.ts +72 -0
- package/dest/config/network-consensus-config.d.ts.map +1 -0
- package/dest/config/network-consensus-config.js +227 -0
- package/dest/config/node-rpc-config.d.ts +13 -1
- package/dest/config/node-rpc-config.d.ts.map +1 -1
- package/dest/config/node-rpc-config.js +34 -1
- package/dest/config/sequencer-config.d.ts +9 -3
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +47 -2
- package/dest/contract/complete_address.d.ts +3 -2
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/complete_address.js +6 -2
- package/dest/contract/contract_address.d.ts +10 -9
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +9 -8
- package/dest/contract/contract_class.d.ts +2 -3
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class_id.d.ts +3 -3
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +7 -6
- package/dest/contract/contract_deployment_data.d.ts +15 -61
- package/dest/contract/contract_deployment_data.d.ts.map +1 -1
- package/dest/contract/contract_instance.d.ts +19 -3
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +55 -3
- package/dest/contract/index.d.ts +1 -3
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -2
- package/dest/contract/interfaces/contract_class.d.ts +17 -241
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +1 -28
- package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +111 -104
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +11 -4
- package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
- package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.d.ts +13 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +8 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/partial_address.d.ts +9 -3
- package/dest/contract/partial_address.d.ts.map +1 -1
- package/dest/contract/partial_address.js +8 -2
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +4 -6
- package/dest/database-version/database_version.d.ts +5 -11
- package/dest/database-version/database_version.d.ts.map +1 -1
- package/dest/database-version/version_manager.d.ts +22 -4
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +87 -6
- package/dest/deserialization/index.d.ts +35 -3
- package/dest/deserialization/index.d.ts.map +1 -1
- package/dest/deserialization/index.js +32 -1
- package/dest/epoch-helpers/index.d.ts +12 -20
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +16 -2
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +9 -2
- package/dest/file-store/http.d.ts +9 -2
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +20 -9
- package/dest/file-store/index.d.ts +3 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/file-store/index.js +1 -0
- package/dest/file-store/local.d.ts +3 -3
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/local.js +13 -4
- package/dest/file-store/memory.d.ts +24 -0
- package/dest/file-store/memory.d.ts.map +1 -0
- package/dest/file-store/memory.js +80 -0
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +11 -3
- package/dest/gas/fee_math.d.ts +49 -0
- package/dest/gas/fee_math.d.ts.map +1 -0
- package/dest/gas/fee_math.js +80 -0
- package/dest/gas/gas.d.ts +9 -14
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +6 -3
- package/dest/gas/gas_fees.d.ts +13 -14
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +20 -4
- package/dest/gas/gas_settings.d.ts +60 -86
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +49 -9
- package/dest/gas/index.d.ts +3 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +2 -0
- package/dest/gas/tx_gas_limits.d.ts +72 -0
- package/dest/gas/tx_gas_limits.d.ts.map +1 -0
- package/dest/gas/tx_gas_limits.js +85 -0
- package/dest/ha-signing/config.d.ts +86 -0
- package/dest/ha-signing/config.d.ts.map +1 -0
- package/dest/ha-signing/config.js +94 -0
- package/dest/ha-signing/index.d.ts +4 -0
- package/dest/ha-signing/index.d.ts.map +1 -0
- package/dest/ha-signing/index.js +3 -0
- package/dest/ha-signing/local_config.d.ts +40 -0
- package/dest/ha-signing/local_config.d.ts.map +1 -0
- package/dest/ha-signing/local_config.js +30 -0
- package/dest/ha-signing/types.d.ts +90 -0
- package/dest/ha-signing/types.d.ts.map +1 -0
- package/dest/ha-signing/types.js +39 -0
- package/dest/hash/hash.d.ts +35 -2
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +77 -17
- package/dest/hash/map_slot.js +2 -2
- package/dest/interfaces/allowed_element.d.ts +17 -35
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +8 -8
- package/dest/interfaces/api_limit.d.ts +7 -2
- package/dest/interfaces/api_limit.d.ts.map +1 -1
- package/dest/interfaces/api_limit.js +4 -1
- package/dest/interfaces/archiver.d.ts +27 -32
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +217 -65
- package/dest/interfaces/aztec-node-admin.d.ts +116 -265
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +67 -18
- package/dest/interfaces/aztec-node-debug.d.ts +59 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +49 -0
- package/dest/interfaces/aztec-node.d.ts +168 -117
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +359 -78
- package/dest/interfaces/block-builder.d.ts +49 -13
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +13 -6
- package/dest/interfaces/block_response.d.ts +90 -0
- package/dest/interfaces/block_response.d.ts.map +1 -0
- package/dest/interfaces/block_response.js +30 -0
- package/dest/interfaces/chain_tips.d.ts +11 -0
- package/dest/interfaces/chain_tips.d.ts.map +1 -0
- package/dest/interfaces/chain_tips.js +6 -0
- package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
- package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_parameter.js +18 -0
- package/dest/interfaces/checkpoint_response.d.ts +122 -0
- package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_response.js +26 -0
- package/dest/interfaces/client.d.ts +9 -2
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +7 -1
- package/dest/interfaces/configs.d.ts +110 -121
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +25 -4
- package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
- package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
- package/dest/interfaces/get_tx_by_hash_options.js +4 -0
- package/dest/interfaces/l1_publish_info.d.ts +29 -0
- package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
- package/dest/interfaces/l1_publish_info.js +26 -0
- package/dest/interfaces/l2_logs_source.d.ts +14 -34
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.js +5 -0
- package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p-bootstrap.js +8 -2
- package/dest/interfaces/p2p.d.ts +65 -14
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +49 -6
- package/dest/interfaces/private_kernel_prover.d.ts +69 -11
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.d.ts +5 -23
- package/dest/interfaces/prover-agent.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.js +4 -1
- package/dest/interfaces/prover-client.d.ts +10 -27
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +7 -4
- package/dest/interfaces/prover-node.d.ts +12 -8
- package/dest/interfaces/prover-node.d.ts.map +1 -1
- package/dest/interfaces/prover-node.js +37 -16
- package/dest/interfaces/proving-job-source.js +24 -4
- package/dest/interfaces/proving-job.d.ts +757 -5795
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +14 -5
- package/dest/interfaces/public_storage_override.d.ts +22 -0
- package/dest/interfaces/public_storage_override.d.ts.map +1 -0
- package/dest/interfaces/public_storage_override.js +7 -0
- package/dest/interfaces/server.d.ts +6 -2
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -1
- package/dest/interfaces/server_circuit_prover.d.ts +3 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/slasher.d.ts +26 -62
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +9 -4
- package/dest/interfaces/tx_provider.d.ts +10 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +91 -207
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +18 -6
- package/dest/interfaces/world_state.d.ts +19 -5
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
- package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +9 -3
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
- package/dest/kernel/hints/index.d.ts +2 -2
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_request.d.ts +12 -8
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.js +20 -18
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
- package/dest/kernel/hints/read_request.js +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
- package/dest/kernel/index.d.ts +6 -2
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +5 -1
- package/dest/kernel/log_hash.d.ts +6 -2
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +23 -11
- package/dest/kernel/note_hash.js +1 -1
- package/dest/kernel/nullifier.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +21 -11
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +26 -19
- package/dest/kernel/private_context_inputs.d.ts +4 -3
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +7 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +10 -4
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +11 -4
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
- package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +12 -8
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +32 -13
- package/dest/kernel/private_log_data.d.ts +1 -1
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_log_data.js +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
- package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data.js +6 -3
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -6
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +13 -9
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +7 -6
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +13 -9
- package/dest/kernel/private_validation_requests.d.ts +3 -3
- package/dest/kernel/private_validation_requests.js +9 -9
- package/dest/kernel/public_call_request.d.ts +15 -30
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +16 -7
- package/dest/keys/derivation.d.ts +45 -6
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +59 -26
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- package/dest/keys/public_key.d.ts +22 -3
- package/dest/keys/public_key.d.ts.map +1 -1
- package/dest/keys/public_key.js +20 -1
- package/dest/keys/public_keys.d.ts +55 -82
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +102 -74
- package/dest/keys/utils.js +5 -5
- package/dest/kv-store/config.d.ts +14 -0
- package/dest/kv-store/config.d.ts.map +1 -0
- package/dest/kv-store/config.js +21 -0
- package/dest/kv-store/index.d.ts +2 -0
- package/dest/kv-store/index.d.ts.map +1 -0
- package/dest/kv-store/index.js +1 -0
- package/dest/l1-contracts/index.d.ts +2 -2
- package/dest/l1-contracts/index.d.ts.map +1 -1
- package/dest/l1-contracts/index.js +1 -1
- package/dest/logs/app_tagging_secret.d.ts +69 -0
- package/dest/logs/app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret.js +116 -0
- package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
- package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret_kind.js +17 -0
- package/dest/logs/contract_class_log.d.ts +16 -35
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +11 -13
- package/dest/logs/debug_log_store.d.ts +30 -0
- package/dest/logs/debug_log_store.d.ts.map +1 -0
- package/dest/logs/debug_log_store.js +30 -0
- package/dest/logs/index.d.ts +9 -9
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +8 -8
- package/dest/logs/log_cursor.d.ts +51 -0
- package/dest/logs/log_cursor.d.ts.map +1 -0
- package/dest/logs/log_cursor.js +82 -0
- package/dest/logs/log_result.d.ts +54 -0
- package/dest/logs/log_result.d.ts.map +1 -0
- package/dest/logs/log_result.js +56 -0
- package/dest/logs/logs_query.d.ts +82 -0
- package/dest/logs/logs_query.d.ts.map +1 -0
- package/dest/logs/logs_query.js +50 -0
- package/dest/logs/pre_tag.d.ts +14 -22
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/private_log.d.ts +8 -13
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +6 -3
- package/dest/logs/public_log.d.ts +4 -3
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +2 -1
- package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
- package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
- package/dest/logs/query_all_logs_by_tags.js +64 -0
- package/dest/logs/shared_secret_derivation.d.ts +33 -9
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +49 -10
- package/dest/logs/siloed_tag.d.ts +12 -9
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +18 -7
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +5 -1
- package/dest/logs/tagging_index_range.d.ts +22 -0
- package/dest/logs/tagging_index_range.d.ts.map +1 -0
- package/dest/logs/tagging_index_range.js +8 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
- package/dest/messaging/append_l1_to_l2_messages.js +12 -0
- package/dest/messaging/index.d.ts +2 -1
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +1 -0
- package/dest/messaging/l1_to_l2_message.d.ts +25 -3
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +38 -15
- package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +70 -7
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +130 -27
- package/dest/messaging/l2_to_l1_message.d.ts +38 -112
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +21 -12
- package/dest/noir/index.d.ts +7 -5
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/note/index.d.ts +1 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +0 -1
- package/dest/note/note.d.ts +2 -2
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note_dao.d.ts +1 -1
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +1 -4
- package/dest/p2p/attestation_utils.d.ts +11 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +53 -1
- package/dest/p2p/block_proposal.d.ts +32 -15
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +58 -42
- package/dest/p2p/checkpoint_attestation.d.ts +25 -9
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +33 -24
- package/dest/p2p/checkpoint_proposal.d.ts +45 -25
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +68 -65
- package/dest/p2p/client_type.d.ts +2 -5
- package/dest/p2p/client_type.d.ts.map +1 -1
- package/dest/p2p/client_type.js +0 -7
- package/dest/p2p/consensus_payload.d.ts +33 -17
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +47 -21
- package/dest/p2p/constants.d.ts +3 -1
- package/dest/p2p/constants.d.ts.map +1 -1
- package/dest/p2p/constants.js +1 -0
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/index.d.ts +2 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +1 -1
- package/dest/p2p/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- package/dest/p2p/signature_utils.d.ts +35 -17
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +125 -20
- package/dest/p2p/signed_txs.d.ts +15 -13
- package/dest/p2p/signed_txs.d.ts.map +1 -1
- package/dest/p2p/signed_txs.js +26 -24
- package/dest/p2p/topic_type.d.ts +3 -4
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +7 -24
- package/dest/p2p/validated_proposal.d.ts +35 -0
- package/dest/p2p/validated_proposal.d.ts.map +1 -0
- package/dest/p2p/validated_proposal.js +17 -0
- package/dest/parity/parity_base_private_inputs.d.ts +8 -4
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_base_private_inputs.js +7 -5
- package/dest/parity/parity_public_inputs.d.ts +8 -4
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.js +6 -3
- package/dest/parity/parity_root_private_inputs.d.ts +2 -2
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +57 -7
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +112 -15
- package/dest/proofs/recursive_proof.d.ts +2 -2
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.d.ts +3 -3
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.d.ts +1 -1
- package/dest/rollup/block_headers_hash.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.js +8 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +12 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.d.ts +10 -5
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +22 -12
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +32 -78
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +2 -2
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +13 -7
- package/dest/slashing/index.d.ts +2 -3
- package/dest/slashing/index.d.ts.map +1 -1
- package/dest/slashing/index.js +1 -2
- package/dest/slashing/serialization.d.ts +2 -6
- package/dest/slashing/serialization.d.ts.map +1 -1
- package/dest/slashing/serialization.js +0 -60
- package/dest/slashing/types.d.ts +20 -112
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +22 -24
- package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
- package/dest/slashing/votes.d.ts.map +1 -0
- package/dest/slashing/{tally.js → votes.js} +30 -2
- package/dest/snapshots/types.d.ts +15 -78
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/stats/stats.d.ts +2 -2
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +25 -30
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +91 -88
- package/dest/tests/mocks.d.ts +15 -7
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +69 -70
- package/dest/timetable/budgets.d.ts +57 -0
- package/dest/timetable/budgets.d.ts.map +1 -0
- package/dest/timetable/budgets.js +56 -0
- package/dest/timetable/build_proposer_timetable.d.ts +21 -0
- package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/build_proposer_timetable.js +17 -0
- package/dest/timetable/consensus_timetable.d.ts +70 -0
- package/dest/timetable/consensus_timetable.d.ts.map +1 -0
- package/dest/timetable/consensus_timetable.js +89 -0
- package/dest/timetable/index.d.ts +5 -37
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +4 -39
- package/dest/timetable/proposer_timetable.d.ts +106 -0
- package/dest/timetable/proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/proposer_timetable.js +132 -0
- package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +6 -3
- package/dest/trees/nullifier_leaf.d.ts +19 -42
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +3 -0
- package/dest/trees/nullifier_membership_witness.d.ts +17 -63
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +0 -21
- package/dest/trees/public_data_leaf.d.ts +22 -53
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +7 -6
- package/dest/trees/public_data_witness.d.ts +19 -71
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/trees/public_data_witness.js +0 -27
- package/dest/tx/block_header.d.ts +7 -4
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +13 -6
- package/dest/tx/call_context.d.ts +4 -14
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +7 -3
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +9 -3
- package/dest/tx/execution_payload.d.ts +1 -1
- package/dest/tx/execution_payload.d.ts.map +1 -1
- package/dest/tx/execution_payload.js +1 -1
- package/dest/tx/fee_provider.d.ts +10 -0
- package/dest/tx/fee_provider.d.ts.map +1 -0
- package/dest/tx/fee_provider.js +1 -0
- package/dest/tx/function_data.d.ts +4 -10
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +4 -15
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +19 -52
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +10 -14
- package/dest/tx/hashed_values.d.ts +10 -3
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +15 -4
- package/dest/tx/in_tx.d.ts +5 -17
- package/dest/tx/in_tx.d.ts.map +1 -1
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -0
- package/dest/tx/indexed_tx_effect.d.ts +8 -19
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +9 -6
- package/dest/tx/partial_state_reference.d.ts +22 -65
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +6 -3
- package/dest/tx/private_execution_result.d.ts +11 -21
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -6
- package/dest/tx/private_tx_constant_data.d.ts +18 -2
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/private_tx_constant_data.js +13 -4
- package/dest/tx/profiling.d.ts +70 -356
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +19 -9
- package/dest/tx/protocol_contracts.d.ts +5 -9
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +2 -2
- package/dest/tx/proven_tx.d.ts +30 -74
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +6 -0
- package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +6 -3
- package/dest/tx/public_simulation_output.d.ts +4 -2
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +7 -3
- package/dest/tx/simulated_tx.d.ts +77 -1149
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +23 -13
- package/dest/tx/state_reference.d.ts +30 -117
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +6 -4
- package/dest/tx/tree_snapshots.d.ts +27 -84
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +6 -4
- package/dest/tx/tx.d.ts +34 -17
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +70 -30
- package/dest/tx/tx_constant_data.d.ts +4 -3
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +6 -3
- package/dest/tx/tx_context.d.ts +32 -131
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_context.js +6 -6
- package/dest/tx/tx_hash.d.ts +6 -4
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_hash.js +13 -5
- package/dest/tx/tx_receipt.d.ts +151 -51
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +145 -51
- package/dest/tx/tx_request.js +2 -2
- package/dest/tx/validator/empty_validator.d.ts +2 -2
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +11 -3
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +12 -2
- package/dest/tx/validator/tx_validator.d.ts +6 -28
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +0 -4
- package/dest/types/shared.d.ts +4 -12
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +6 -12
- package/dest/update-checker/dev_version.d.ts +3 -0
- package/dest/update-checker/dev_version.d.ts.map +1 -0
- package/dest/update-checker/dev_version.js +1 -0
- package/dest/update-checker/index.d.ts +4 -2
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +3 -1
- package/dest/update-checker/package_version.d.ts +6 -0
- package/dest/update-checker/package_version.d.ts.map +1 -0
- package/dest/update-checker/package_version.js +13 -0
- package/dest/update-checker/version_checker.d.ts +25 -0
- package/dest/update-checker/version_checker.d.ts.map +1 -0
- package/dest/update-checker/version_checker.js +50 -0
- package/dest/validators/errors.d.ts +21 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +19 -0
- package/dest/validators/schemas.d.ts +147 -614
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +9 -6
- package/dest/validators/types.d.ts +21 -4
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.d.ts +4 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +5 -2
- package/dest/vks/verification_key.d.ts +4 -139
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +5 -126
- package/dest/world-state/genesis_data.d.ts +21 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +8 -0
- package/dest/world-state/index.d.ts +2 -1
- package/dest/world-state/index.d.ts.map +1 -1
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +15 -26
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +7 -1
- package/package.json +15 -13
- package/src/abi/abi.ts +86 -21
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +38 -5
- package/src/abi/contract_artifact.ts +63 -15
- package/src/abi/decoder.ts +36 -82
- package/src/abi/encoder.ts +85 -6
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/event_selector.ts +2 -8
- package/src/abi/function_selector.ts +4 -13
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- package/src/abi/note_selector.ts +3 -12
- package/src/abi/selector.ts +1 -1
- package/src/abi/utils.ts +31 -4
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/avm/avm.ts +6 -1
- package/src/avm/message_pack.ts +12 -3
- package/src/avm/revert_code.ts +20 -25
- package/src/aztec-address/index.ts +50 -17
- package/src/block/attestation_info.ts +16 -11
- package/src/block/block_data.ts +25 -0
- package/src/block/block_hash.ts +21 -14
- package/src/block/block_parameter.ts +72 -4
- package/src/block/index.ts +1 -1
- package/src/block/l2_block.ts +13 -1
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +276 -122
- package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +81 -0
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +101 -9
- package/src/block/l2_block_stream/l2_block_stream.ts +268 -158
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
- package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
- package/src/block/proposal/attestations_and_signers.ts +85 -24
- package/src/block/test/l2_tips_store_test_suite.ts +276 -22
- package/src/block/validate_block_result.ts +48 -2
- package/src/checkpoint/checkpoint.ts +55 -18
- package/src/checkpoint/checkpoint_data.ts +91 -0
- package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
- package/src/checkpoint/digest.ts +28 -0
- package/src/checkpoint/index.ts +6 -0
- package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
- package/src/checkpoint/published_checkpoint.ts +3 -1
- package/src/checkpoint/simulation_overrides.ts +171 -0
- package/src/checkpoint/validate.ts +262 -0
- package/src/config/chain-config.ts +13 -16
- package/src/config/index.ts +1 -0
- package/src/config/network-consensus-config.ts +299 -0
- package/src/config/node-rpc-config.ts +51 -1
- package/src/config/sequencer-config.ts +82 -5
- package/src/contract/complete_address.ts +7 -3
- package/src/contract/contract_address.ts +14 -13
- package/src/contract/contract_class.ts +3 -3
- package/src/contract/contract_class_id.ts +7 -6
- package/src/contract/contract_instance.ts +73 -3
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/contract/interfaces/contract_data_source.ts +2 -4
- package/src/contract/interfaces/contract_instance.ts +32 -10
- package/src/contract/interfaces/node-info.ts +14 -0
- package/src/contract/partial_address.ts +8 -2
- package/src/contract/private_function.ts +5 -3
- package/src/database-version/version_manager.ts +113 -6
- package/src/deserialization/index.ts +35 -2
- package/src/epoch-helpers/index.ts +27 -0
- package/src/file-store/factory.ts +20 -4
- package/src/file-store/http.ts +29 -10
- package/src/file-store/index.ts +2 -0
- package/src/file-store/local.ts +15 -5
- package/src/file-store/memory.ts +94 -0
- package/src/file-store/s3.ts +12 -3
- package/src/gas/README.md +318 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas.ts +8 -3
- package/src/gas/gas_fees.ts +29 -10
- package/src/gas/gas_settings.ts +63 -15
- package/src/gas/index.ts +2 -0
- package/src/gas/tx_gas_limits.ts +123 -0
- package/src/ha-signing/config.ts +170 -0
- package/src/ha-signing/index.ts +29 -0
- package/src/ha-signing/local_config.ts +65 -0
- package/src/ha-signing/types.ts +126 -0
- package/src/hash/hash.ts +75 -18
- package/src/hash/map_slot.ts +2 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/api_limit.ts +6 -1
- package/src/interfaces/archiver.ts +97 -88
- package/src/interfaces/aztec-node-admin.ts +58 -20
- package/src/interfaces/aztec-node-debug.ts +92 -0
- package/src/interfaces/aztec-node.ts +420 -264
- package/src/interfaces/block-builder.ts +71 -15
- package/src/interfaces/block_response.ts +92 -0
- package/src/interfaces/chain_tips.ts +16 -0
- package/src/interfaces/checkpoint_parameter.ts +20 -0
- package/src/interfaces/checkpoint_response.ts +84 -0
- package/src/interfaces/client.ts +8 -1
- package/src/interfaces/configs.ts +114 -14
- package/src/interfaces/get_tx_by_hash_options.ts +14 -0
- package/src/interfaces/l1_publish_info.ts +40 -0
- package/src/interfaces/l2_logs_source.ts +13 -39
- package/src/interfaces/merkle_tree_operations.ts +12 -21
- package/src/interfaces/p2p-bootstrap.ts +2 -2
- package/src/interfaces/p2p.ts +80 -30
- package/src/interfaces/private_kernel_prover.ts +98 -12
- package/src/interfaces/prover-agent.ts +1 -1
- package/src/interfaces/prover-client.ts +11 -8
- package/src/interfaces/prover-node.ts +36 -21
- package/src/interfaces/proving-job-source.ts +4 -4
- package/src/interfaces/proving-job.ts +18 -6
- package/src/interfaces/public_storage_override.ts +26 -0
- package/src/interfaces/server.ts +5 -1
- package/src/interfaces/server_circuit_prover.ts +2 -2
- package/src/interfaces/slasher.ts +19 -10
- package/src/interfaces/tx_provider.ts +10 -0
- package/src/interfaces/validator.ts +103 -40
- package/src/interfaces/world_state.ts +19 -4
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
- package/src/kernel/hints/build_transient_data_hints.ts +17 -2
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/key_validation_request.ts +18 -16
- package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
- package/src/kernel/hints/read_request.ts +1 -1
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
- package/src/kernel/index.ts +5 -1
- package/src/kernel/log_hash.ts +36 -13
- package/src/kernel/note_hash.ts +1 -1
- package/src/kernel/nullifier.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +26 -15
- package/src/kernel/private_context_inputs.ts +10 -3
- package/src/kernel/private_kernel_circuit_public_inputs.ts +11 -2
- package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
- package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
- package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
- package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
- package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
- package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
- package/src/kernel/private_log_data.ts +4 -1
- package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
- package/src/kernel/private_to_public_accumulated_data.ts +9 -3
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +14 -8
- package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
- package/src/kernel/private_validation_requests.ts +8 -8
- package/src/kernel/public_call_request.ts +22 -7
- package/src/keys/derivation.ts +83 -26
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_key.ts +26 -2
- package/src/keys/public_keys.ts +125 -111
- package/src/keys/utils.ts +5 -5
- package/src/kv-store/config.ts +29 -0
- package/src/kv-store/index.ts +1 -0
- package/src/l1-contracts/index.ts +1 -1
- package/src/logs/app_tagging_secret.ts +160 -0
- package/src/logs/app_tagging_secret_kind.ts +21 -0
- package/src/logs/contract_class_log.ts +15 -14
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/index.ts +8 -8
- package/src/logs/log_cursor.ts +110 -0
- package/src/logs/log_result.ts +104 -0
- package/src/logs/logs_query.ts +138 -0
- package/src/logs/pre_tag.ts +3 -6
- package/src/logs/private_log.ts +9 -3
- package/src/logs/public_log.ts +4 -2
- package/src/logs/query_all_logs_by_tags.ts +98 -0
- package/src/logs/shared_secret_derivation.ts +55 -11
- package/src/logs/siloed_tag.ts +28 -14
- package/src/logs/tag.ts +9 -9
- package/src/logs/tagging_index_range.ts +18 -0
- package/src/messaging/append_l1_to_l2_messages.ts +21 -0
- package/src/messaging/index.ts +1 -0
- package/src/messaging/l1_to_l2_message.ts +56 -15
- package/src/messaging/l1_to_l2_message_source.ts +3 -1
- package/src/messaging/l2_to_l1_membership.ts +189 -35
- package/src/messaging/l2_to_l1_message.ts +29 -9
- package/src/noir/index.ts +6 -3
- package/src/note/index.ts +0 -1
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/attestation_utils.ts +64 -1
- package/src/p2p/block_proposal.ts +112 -39
- package/src/p2p/checkpoint_attestation.ts +44 -31
- package/src/p2p/checkpoint_proposal.ts +149 -86
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/consensus_payload.ts +68 -24
- package/src/p2p/constants.ts +3 -0
- package/src/p2p/gossipable.ts +4 -4
- package/src/p2p/index.ts +1 -1
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/signature_utils.ts +117 -23
- package/src/p2p/signed_txs.ts +46 -28
- package/src/p2p/topic_type.ts +8 -15
- package/src/p2p/validated_proposal.ts +43 -0
- package/src/parity/parity_base_private_inputs.ts +10 -4
- package/src/parity/parity_public_inputs.ts +9 -2
- package/src/proofs/chonk_proof.ts +132 -12
- package/src/rollup/avm_proof_data.ts +2 -2
- package/src/rollup/block_headers_hash.ts +11 -2
- package/src/rollup/block_rollup_public_inputs.ts +13 -0
- package/src/rollup/checkpoint_header.ts +18 -4
- package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
- package/src/schemas/schemas.ts +6 -1
- package/src/slashing/helpers.ts +17 -9
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +31 -49
- package/src/slashing/{tally.ts → votes.ts} +34 -1
- package/src/stats/stats.ts +6 -2
- package/src/tests/factories.ts +123 -122
- package/src/tests/mocks.ts +111 -84
- package/src/timetable/README.md +609 -0
- package/src/timetable/budgets.ts +87 -0
- package/src/timetable/build_proposer_timetable.ts +42 -0
- package/src/timetable/consensus_timetable.ts +126 -0
- package/src/timetable/index.ts +4 -66
- package/src/timetable/proposer_timetable.ts +190 -0
- package/src/timetable/timetable-example.svg +108 -0
- package/src/trees/append_only_tree_snapshot.ts +8 -3
- package/src/trees/nullifier_leaf.ts +4 -0
- package/src/trees/nullifier_membership_witness.ts +0 -21
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/trees/public_data_witness.ts +0 -31
- package/src/tx/block_header.ts +18 -7
- package/src/tx/capsule.ts +10 -2
- package/src/tx/execution_payload.ts +2 -1
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/global_variable_builder.ts +3 -20
- package/src/tx/global_variables.ts +15 -23
- package/src/tx/hashed_values.ts +19 -9
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +18 -6
- package/src/tx/partial_state_reference.ts +8 -3
- package/src/tx/private_execution_result.ts +5 -5
- package/src/tx/private_tx_constant_data.ts +25 -2
- package/src/tx/profiling.ts +18 -9
- package/src/tx/protocol_contracts.ts +2 -2
- package/src/tx/proven_tx.ts +6 -0
- package/src/tx/public_call_request_with_calldata.ts +8 -3
- package/src/tx/public_simulation_output.ts +4 -0
- package/src/tx/simulated_tx.ts +39 -20
- package/src/tx/state_reference.ts +9 -4
- package/src/tx/tree_snapshots.ts +9 -4
- package/src/tx/tx.ts +98 -37
- package/src/tx/tx_constant_data.ts +8 -3
- package/src/tx/tx_context.ts +8 -3
- package/src/tx/tx_hash.ts +20 -5
- package/src/tx/tx_receipt.ts +269 -74
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +15 -2
- package/src/tx/validator/tx_validator.ts +2 -6
- package/src/types/shared.ts +8 -13
- package/src/update-checker/dev_version.ts +2 -0
- package/src/update-checker/index.ts +3 -1
- package/src/update-checker/package_version.ts +17 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/errors.ts +26 -0
- package/src/validators/schemas.ts +13 -4
- package/src/validators/types.ts +25 -5
- package/src/versioning/versioning.ts +5 -2
- package/src/vks/verification_key.ts +5 -184
- package/src/world-state/genesis_data.ts +37 -0
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +9 -1
- package/dest/abi/mocked_keys.d.ts +0 -2
- package/dest/abi/mocked_keys.d.ts.map +0 -1
- package/dest/abi/mocked_keys.js +0 -1
- package/dest/block/checkpointed_l2_block.d.ts +0 -150
- package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
- package/dest/block/checkpointed_l2_block.js +0 -46
- package/dest/contract/private_function_membership_proof.d.ts +0 -32
- package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/private_function_membership_proof.js +0 -124
- package/dest/contract/utility_function_membership_proof.d.ts +0 -27
- package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/utility_function_membership_proof.js +0 -87
- package/dest/interfaces/epoch-prover.d.ts +0 -57
- package/dest/interfaces/epoch-prover.d.ts.map +0 -1
- package/dest/interfaces/epoch-prover.js +0 -1
- package/dest/interfaces/get_logs_response.d.ts +0 -97
- package/dest/interfaces/get_logs_response.d.ts.map +0 -1
- package/dest/interfaces/get_logs_response.js +0 -12
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
- package/dest/l1-contracts/slash_factory.d.ts +0 -45
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -158
- package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/logs/directional_app_tagging_secret.js +0 -64
- package/dest/logs/extended_contract_class_log.d.ts +0 -51
- package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
- package/dest/logs/extended_contract_class_log.js +0 -67
- package/dest/logs/extended_public_log.d.ts +0 -106
- package/dest/logs/extended_public_log.d.ts.map +0 -1
- package/dest/logs/extended_public_log.js +0 -73
- package/dest/logs/log_filter.d.ts +0 -22
- package/dest/logs/log_filter.d.ts.map +0 -1
- package/dest/logs/log_filter.js +0 -11
- package/dest/logs/log_id.d.ts +0 -85
- package/dest/logs/log_id.d.ts.map +0 -1
- package/dest/logs/log_id.js +0 -94
- package/dest/logs/message_context.d.ts +0 -29
- package/dest/logs/message_context.d.ts.map +0 -1
- package/dest/logs/message_context.js +0 -56
- package/dest/logs/pending_tagged_log.d.ts +0 -14
- package/dest/logs/pending_tagged_log.d.ts.map +0 -1
- package/dest/logs/pending_tagged_log.js +0 -34
- package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
- package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
- package/dest/logs/tx_scoped_l2_log.js +0 -70
- package/dest/note/notes_filter.d.ts +0 -27
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -11
- package/dest/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -86
- package/dest/slashing/tally.d.ts.map +0 -1
- package/dest/update-checker/update-checker.d.ts +0 -49
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/abi/mocked_keys.ts +0 -2
- package/src/block/checkpointed_l2_block.ts +0 -70
- package/src/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/interfaces/epoch-prover.ts +0 -72
- package/src/interfaces/get_logs_response.ts +0 -35
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
- package/src/l1-contracts/slash_factory.ts +0 -180
- package/src/logs/directional_app_tagging_secret.ts +0 -79
- package/src/logs/extended_contract_class_log.ts +0 -87
- package/src/logs/extended_public_log.ts +0 -94
- package/src/logs/log_filter.ts +0 -31
- package/src/logs/log_id.ts +0 -125
- package/src/logs/message_context.ts +0 -62
- package/src/logs/pending_tagged_log.ts +0 -41
- package/src/logs/tx_scoped_l2_log.ts +0 -98
- package/src/note/notes_filter.ts +0 -38
- package/src/slashing/empire.ts +0 -103
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { BLOBS_PER_CHECKPOINT, FIELDS_PER_BLOB, MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT } from '@aztec/constants';
|
|
2
|
+
import type { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
|
+
import { sum } from '@aztec/foundation/collection';
|
|
4
|
+
|
|
5
|
+
import { MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
|
|
6
|
+
import type { Checkpoint } from './checkpoint.js';
|
|
7
|
+
|
|
8
|
+
export class CheckpointValidationError extends Error {
|
|
9
|
+
constructor(
|
|
10
|
+
message: string,
|
|
11
|
+
public readonly checkpointNumber: CheckpointNumber,
|
|
12
|
+
public readonly slot: SlotNumber,
|
|
13
|
+
) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.name = 'CheckpointValidationError';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Validates a checkpoint. Throws a CheckpointValidationError if any validation fails.
|
|
21
|
+
* - Validates structural integrity (non-empty, block count, sequential numbers, archive chaining, slot consistency)
|
|
22
|
+
* - Validates checkpoint blob field count against maxBlobFields limit
|
|
23
|
+
* - Validates total L2 gas used by checkpoint blocks against the Rollup contract mana limit
|
|
24
|
+
* - Validates total DA gas used by checkpoint blocks against MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT
|
|
25
|
+
* - Validates individual block L2 gas and DA gas against maxL2BlockGas and maxDABlockGas limits
|
|
26
|
+
*/
|
|
27
|
+
export function validateCheckpoint(
|
|
28
|
+
checkpoint: Checkpoint,
|
|
29
|
+
opts: {
|
|
30
|
+
rollupManaLimit?: number;
|
|
31
|
+
maxL2BlockGas?: number;
|
|
32
|
+
maxDABlockGas?: number;
|
|
33
|
+
maxTxsPerCheckpoint?: number;
|
|
34
|
+
maxTxsPerBlock?: number;
|
|
35
|
+
/**
|
|
36
|
+
* Max blocks per checkpoint. Defaults to {@link MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT}; the L1-sync
|
|
37
|
+
* ingest path passes `MAX_CAPACITY_BLOCKS_PER_CHECKPOINT` to tolerate larger checkpoints already
|
|
38
|
+
* accepted by L1.
|
|
39
|
+
*/
|
|
40
|
+
maxBlocksPerCheckpoint?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Whether to tolerate a zero-tx block after the first one. Defaults to false; the L1-sync ingest path
|
|
43
|
+
* passes true for the same reason it raises `maxBlocksPerCheckpoint` — such a checkpoint is already on
|
|
44
|
+
* L1, and refusing to ingest it would stall sync rather than undo it.
|
|
45
|
+
*/
|
|
46
|
+
allowEmptyNonFirstBlocks?: boolean;
|
|
47
|
+
},
|
|
48
|
+
): void {
|
|
49
|
+
validateCheckpointStructure(checkpoint, {
|
|
50
|
+
maxBlocksPerCheckpoint: opts.maxBlocksPerCheckpoint,
|
|
51
|
+
allowEmptyNonFirstBlocks: opts.allowEmptyNonFirstBlocks,
|
|
52
|
+
});
|
|
53
|
+
validateCheckpointLimits(checkpoint, opts);
|
|
54
|
+
validateCheckpointBlocksLimits(checkpoint, opts);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Validates structural integrity of a checkpoint.
|
|
59
|
+
* - Non-empty block list
|
|
60
|
+
* - Block count within `maxBlocksPerCheckpoint` (default {@link MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT})
|
|
61
|
+
* - Checkpoint slot matches the first block's slot
|
|
62
|
+
* - Checkpoint lastArchiveRoot matches the first block's lastArchive root
|
|
63
|
+
* - Sequential block numbers without gaps
|
|
64
|
+
* - Sequential indexWithinCheckpoint starting at 0
|
|
65
|
+
* - Every block after the first carries at least one tx, unless `allowEmptyNonFirstBlocks` is set
|
|
66
|
+
* - Archive root chaining between consecutive blocks
|
|
67
|
+
* - Consistent slot number across all blocks
|
|
68
|
+
* - Global variables (slot, timestamp, coinbase, feeRecipient, gasFees) match checkpoint header for each block
|
|
69
|
+
*/
|
|
70
|
+
export function validateCheckpointStructure(
|
|
71
|
+
checkpoint: Checkpoint,
|
|
72
|
+
opts: { maxBlocksPerCheckpoint?: number; allowEmptyNonFirstBlocks?: boolean } = {},
|
|
73
|
+
): void {
|
|
74
|
+
const { maxBlocksPerCheckpoint = MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT, allowEmptyNonFirstBlocks = false } = opts;
|
|
75
|
+
const { blocks, number, slot } = checkpoint;
|
|
76
|
+
|
|
77
|
+
if (blocks.length === 0) {
|
|
78
|
+
throw new CheckpointValidationError('Checkpoint has no blocks', number, slot);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (blocks.length > maxBlocksPerCheckpoint) {
|
|
82
|
+
throw new CheckpointValidationError(
|
|
83
|
+
`Checkpoint has ${blocks.length} blocks, exceeding limit of ${maxBlocksPerCheckpoint}`,
|
|
84
|
+
number,
|
|
85
|
+
slot,
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const firstBlock = blocks[0];
|
|
90
|
+
|
|
91
|
+
if (!checkpoint.header.lastArchiveRoot.equals(firstBlock.header.lastArchive.root)) {
|
|
92
|
+
throw new CheckpointValidationError(
|
|
93
|
+
`Checkpoint lastArchiveRoot does not match first block's lastArchive root`,
|
|
94
|
+
number,
|
|
95
|
+
slot,
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
for (let i = 0; i < blocks.length; i++) {
|
|
100
|
+
const block = blocks[i];
|
|
101
|
+
|
|
102
|
+
if (block.indexWithinCheckpoint !== i) {
|
|
103
|
+
throw new CheckpointValidationError(
|
|
104
|
+
`Block at index ${i} has indexWithinCheckpoint ${block.indexWithinCheckpoint}, expected ${i}`,
|
|
105
|
+
number,
|
|
106
|
+
slot,
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (block.slot !== slot) {
|
|
111
|
+
throw new CheckpointValidationError(
|
|
112
|
+
`Block ${block.number} has slot ${block.slot}, expected ${slot} (all blocks must share the same slot)`,
|
|
113
|
+
number,
|
|
114
|
+
slot,
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (!checkpoint.header.matchesGlobalVariables(block.header.globalVariables)) {
|
|
119
|
+
throw new CheckpointValidationError(
|
|
120
|
+
`Block ${block.number} global variables (slot, timestamp, coinbase, feeRecipient, gasFees) do not match checkpoint header`,
|
|
121
|
+
number,
|
|
122
|
+
slot,
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (i > 0) {
|
|
127
|
+
// The only block-root circuit that proves a zero-tx block is `rollup_block_root_first_empty_tx`, which is
|
|
128
|
+
// pinned to index 0 of a checkpoint: it starts a fresh sponge blob and carries a non-zero in_hash, both of
|
|
129
|
+
// which the block-merge continuity checks forbid at any later index. An empty block past the first would
|
|
130
|
+
// therefore have no circuit able to prove it.
|
|
131
|
+
if (!allowEmptyNonFirstBlocks && block.body.txEffects.length === 0) {
|
|
132
|
+
throw new CheckpointValidationError(
|
|
133
|
+
`Block ${block.number} at index ${i} has no txs; only the first block of a checkpoint may be empty`,
|
|
134
|
+
number,
|
|
135
|
+
slot,
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const prev = blocks[i - 1];
|
|
140
|
+
if (block.number !== prev.number + 1) {
|
|
141
|
+
throw new CheckpointValidationError(
|
|
142
|
+
`Block numbers are not sequential: block at index ${i - 1} has number ${prev.number}, block at index ${i} has number ${block.number}`,
|
|
143
|
+
number,
|
|
144
|
+
slot,
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
if (!block.header.lastArchive.root.equals(prev.archive.root)) {
|
|
149
|
+
throw new CheckpointValidationError(
|
|
150
|
+
`Block ${block.number} lastArchive root does not match archive root of block ${prev.number}`,
|
|
151
|
+
number,
|
|
152
|
+
slot,
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/** Validates checkpoint blocks gas limits */
|
|
160
|
+
function validateCheckpointBlocksLimits(
|
|
161
|
+
checkpoint: Checkpoint,
|
|
162
|
+
opts: {
|
|
163
|
+
maxL2BlockGas?: number;
|
|
164
|
+
maxDABlockGas?: number;
|
|
165
|
+
maxTxsPerBlock?: number;
|
|
166
|
+
},
|
|
167
|
+
): void {
|
|
168
|
+
const { maxL2BlockGas, maxDABlockGas, maxTxsPerBlock } = opts;
|
|
169
|
+
|
|
170
|
+
if (maxL2BlockGas !== undefined) {
|
|
171
|
+
for (const block of checkpoint.blocks) {
|
|
172
|
+
const blockL2Gas = block.header.totalManaUsed.toNumber();
|
|
173
|
+
if (blockL2Gas > maxL2BlockGas) {
|
|
174
|
+
throw new CheckpointValidationError(
|
|
175
|
+
`Block ${block.number} in checkpoint has L2 gas used ${blockL2Gas} exceeding limit of ${maxL2BlockGas}`,
|
|
176
|
+
checkpoint.number,
|
|
177
|
+
checkpoint.slot,
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
if (maxDABlockGas !== undefined) {
|
|
184
|
+
for (const block of checkpoint.blocks) {
|
|
185
|
+
const blockDAGas = block.computeDAGasUsed();
|
|
186
|
+
if (blockDAGas > maxDABlockGas) {
|
|
187
|
+
throw new CheckpointValidationError(
|
|
188
|
+
`Block ${block.number} in checkpoint has DA gas used ${blockDAGas} exceeding limit of ${maxDABlockGas}`,
|
|
189
|
+
checkpoint.number,
|
|
190
|
+
checkpoint.slot,
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
if (maxTxsPerBlock !== undefined) {
|
|
197
|
+
for (const block of checkpoint.blocks) {
|
|
198
|
+
const blockTxCount = block.body.txEffects.length;
|
|
199
|
+
if (blockTxCount > maxTxsPerBlock) {
|
|
200
|
+
throw new CheckpointValidationError(
|
|
201
|
+
`Block ${block.number} in checkpoint has ${blockTxCount} txs exceeding limit of ${maxTxsPerBlock}`,
|
|
202
|
+
checkpoint.number,
|
|
203
|
+
checkpoint.slot,
|
|
204
|
+
);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/** Validates checkpoint max blob fields, gas limits, and tx limits */
|
|
211
|
+
function validateCheckpointLimits(
|
|
212
|
+
checkpoint: Checkpoint,
|
|
213
|
+
opts: {
|
|
214
|
+
rollupManaLimit?: number;
|
|
215
|
+
maxTxsPerCheckpoint?: number;
|
|
216
|
+
},
|
|
217
|
+
): void {
|
|
218
|
+
const { rollupManaLimit, maxTxsPerCheckpoint } = opts;
|
|
219
|
+
|
|
220
|
+
const maxBlobFields = BLOBS_PER_CHECKPOINT * FIELDS_PER_BLOB;
|
|
221
|
+
const maxDAGas = MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT;
|
|
222
|
+
|
|
223
|
+
if (rollupManaLimit !== undefined) {
|
|
224
|
+
const checkpointMana = sum(checkpoint.blocks.map(block => block.header.totalManaUsed.toNumber()));
|
|
225
|
+
if (checkpointMana > rollupManaLimit) {
|
|
226
|
+
throw new CheckpointValidationError(
|
|
227
|
+
`Checkpoint mana cost ${checkpointMana} exceeds rollup limit of ${rollupManaLimit}`,
|
|
228
|
+
checkpoint.number,
|
|
229
|
+
checkpoint.slot,
|
|
230
|
+
);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
const checkpointDAGas = sum(checkpoint.blocks.map(block => block.computeDAGasUsed()));
|
|
235
|
+
if (checkpointDAGas > maxDAGas) {
|
|
236
|
+
throw new CheckpointValidationError(
|
|
237
|
+
`Checkpoint DA gas cost ${checkpointDAGas} exceeds limit of ${maxDAGas}`,
|
|
238
|
+
checkpoint.number,
|
|
239
|
+
checkpoint.slot,
|
|
240
|
+
);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
const checkpointBlobFields = checkpoint.toBlobFields().length;
|
|
244
|
+
if (checkpointBlobFields > maxBlobFields) {
|
|
245
|
+
throw new CheckpointValidationError(
|
|
246
|
+
`Checkpoint blob field count ${checkpointBlobFields} exceeds limit of ${maxBlobFields}`,
|
|
247
|
+
checkpoint.number,
|
|
248
|
+
checkpoint.slot,
|
|
249
|
+
);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
if (maxTxsPerCheckpoint !== undefined) {
|
|
253
|
+
const checkpointTxCount = sum(checkpoint.blocks.map(block => block.body.txEffects.length));
|
|
254
|
+
if (checkpointTxCount > maxTxsPerCheckpoint) {
|
|
255
|
+
throw new CheckpointValidationError(
|
|
256
|
+
`Checkpoint tx count ${checkpointTxCount} exceeds limit of ${maxTxsPerCheckpoint}`,
|
|
257
|
+
checkpoint.number,
|
|
258
|
+
checkpoint.slot,
|
|
259
|
+
);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type
|
|
1
|
+
import { type L1ContractAddresses, pickL1ContractAddressMappings } from '@aztec/ethereum/l1-contract-addresses';
|
|
2
|
+
import { type ConfigMappingsType, numberConfigHelper } from '@aztec/foundation/config';
|
|
3
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
4
|
|
|
5
5
|
export { type SequencerConfig, SequencerConfigSchema } from '../interfaces/configs.js';
|
|
@@ -7,26 +7,28 @@ export { type AllowedElement } from '../interfaces/allowed_element.js';
|
|
|
7
7
|
|
|
8
8
|
export const emptyChainConfig: ChainConfig = {
|
|
9
9
|
l1ChainId: 0,
|
|
10
|
-
l1Contracts: { rollupAddress: EthAddress.ZERO },
|
|
11
10
|
rollupVersion: 0,
|
|
11
|
+
rollupAddress: EthAddress.ZERO,
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
export const chainConfigMappings: ConfigMappingsType<ChainConfig> = {
|
|
15
15
|
l1ChainId: {
|
|
16
16
|
env: 'L1_CHAIN_ID',
|
|
17
|
-
|
|
18
|
-
defaultValue: 31337,
|
|
17
|
+
...numberConfigHelper(31337),
|
|
19
18
|
description: 'The chain ID of the ethereum host.',
|
|
20
19
|
},
|
|
21
20
|
rollupVersion: {
|
|
22
21
|
env: 'ROLLUP_VERSION',
|
|
23
22
|
description: 'The version of the rollup.',
|
|
24
|
-
parseEnv: (val: string) =>
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
parseEnv: (val: string) => {
|
|
24
|
+
const parsed = parseInt(val, 10);
|
|
25
|
+
if (!Number.isSafeInteger(parsed)) {
|
|
26
|
+
throw new Error(`Invalid rollup version: ${val}`);
|
|
27
|
+
}
|
|
28
|
+
return parsed;
|
|
29
|
+
},
|
|
29
30
|
},
|
|
31
|
+
...pickL1ContractAddressMappings('rollupAddress'),
|
|
30
32
|
};
|
|
31
33
|
|
|
32
34
|
/** Chain configuration. */
|
|
@@ -35,9 +37,4 @@ export type ChainConfig = {
|
|
|
35
37
|
l1ChainId: number;
|
|
36
38
|
/** The version of the rollup. */
|
|
37
39
|
rollupVersion: number;
|
|
38
|
-
|
|
39
|
-
l1Contracts: {
|
|
40
|
-
/** The address to rollup */
|
|
41
|
-
rollupAddress: EthAddress;
|
|
42
|
-
};
|
|
43
|
-
};
|
|
40
|
+
} & Pick<L1ContractAddresses, 'rollupAddress'>;
|
package/src/config/index.ts
CHANGED
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import { type L1ContractsConfig, l1ContractsConfigMappings, validateSlotDurations } from '@aztec/ethereum/config';
|
|
2
|
+
import { type EnvVar, pickConfigMappings } from '@aztec/foundation/config';
|
|
3
|
+
|
|
4
|
+
import { MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
|
|
5
|
+
import type { SequencerConfig } from '../interfaces/configs.js';
|
|
6
|
+
import {
|
|
7
|
+
DEFAULT_CHECKPOINT_PROPOSAL_INIT_TIME,
|
|
8
|
+
DEFAULT_CHECKPOINT_PROPOSAL_PREPARE_TIME,
|
|
9
|
+
DEFAULT_MIN_BLOCK_DURATION,
|
|
10
|
+
DEFAULT_P2P_PROPAGATION_TIME,
|
|
11
|
+
} from '../timetable/budgets.js';
|
|
12
|
+
import { ProposerTimetable } from '../timetable/proposer_timetable.js';
|
|
13
|
+
import { sharedSequencerConfigMappings } from './sequencer-config.js';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Environment variables whose values must be identical across every node of a network. They fall into three
|
|
17
|
+
* categories, all consensus-critical:
|
|
18
|
+
*
|
|
19
|
+
* - Timing/protocol consensus: slot and epoch durations, block sub-slot duration, max blocks per checkpoint, and
|
|
20
|
+
* the checkpoint-proposal materialization grace. Proposers and validators must agree on these to land on the
|
|
21
|
+
* same proposed chain and the same checkpoint-proposal receive/handoff deadlines.
|
|
22
|
+
* - Network identity and L1-posted deployment params: the L1 chain id and the staking/governance/slashing
|
|
23
|
+
* parameters baked into the deployed rollup contract (committee size, lags, thresholds, mana target, fee
|
|
24
|
+
* pricing, governance/slashing round sizes, quorums, slash amounts, etc.). A node disagreeing with the rollup
|
|
25
|
+
* it points at would compute the wrong epoch geometry, fees, or slashing rounds.
|
|
26
|
+
* - Node-side slashing offense consensus: the offense detection/penalty parameters validators apply locally to
|
|
27
|
+
* decide which payloads to sign. Validators must agree on these to reach the on-chain slashing quorum.
|
|
28
|
+
*
|
|
29
|
+
* Deliberately excluded: bootnodes, P2P/store/OTEL/sentinel settings, SEQ_MIN_TX_PER_BLOCK, SEQ_MAX_TX_PER_*,
|
|
30
|
+
* AZTEC_SLASHER_ENABLED, PROVER_REAL_PROOFS, TRANSACTIONS_DISABLED, and AZTEC_ENTRY_QUEUE_* (mainnet-only genesis
|
|
31
|
+
* params enforced by L1).
|
|
32
|
+
*/
|
|
33
|
+
export const NETWORK_CONSENSUS_ENV_VARS = [
|
|
34
|
+
// Timing/protocol consensus.
|
|
35
|
+
'ETHEREUM_SLOT_DURATION',
|
|
36
|
+
'AZTEC_SLOT_DURATION',
|
|
37
|
+
'AZTEC_EPOCH_DURATION',
|
|
38
|
+
'SEQ_BLOCK_DURATION_MS',
|
|
39
|
+
'MAX_BLOCKS_PER_CHECKPOINT',
|
|
40
|
+
'CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS',
|
|
41
|
+
|
|
42
|
+
// Network identity / L1-posted deployment params.
|
|
43
|
+
'L1_CHAIN_ID',
|
|
44
|
+
'AZTEC_TARGET_COMMITTEE_SIZE',
|
|
45
|
+
'AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET',
|
|
46
|
+
'AZTEC_LAG_IN_EPOCHS_FOR_RANDAO',
|
|
47
|
+
'AZTEC_ACTIVATION_THRESHOLD',
|
|
48
|
+
'AZTEC_EJECTION_THRESHOLD',
|
|
49
|
+
'AZTEC_LOCAL_EJECTION_THRESHOLD',
|
|
50
|
+
'AZTEC_EXIT_DELAY_SECONDS',
|
|
51
|
+
'AZTEC_INBOX_LAG',
|
|
52
|
+
'AZTEC_PROOF_SUBMISSION_EPOCHS',
|
|
53
|
+
'AZTEC_MANA_TARGET',
|
|
54
|
+
'AZTEC_PROVING_COST_PER_MANA',
|
|
55
|
+
'AZTEC_INITIAL_ETH_PER_FEE_ASSET',
|
|
56
|
+
'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE',
|
|
57
|
+
'AZTEC_GOVERNANCE_PROPOSER_QUORUM',
|
|
58
|
+
'AZTEC_SLASHING_QUORUM',
|
|
59
|
+
'AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS',
|
|
60
|
+
'AZTEC_SLASHING_LIFETIME_IN_ROUNDS',
|
|
61
|
+
'AZTEC_SLASHING_OFFSET_IN_ROUNDS',
|
|
62
|
+
'AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS',
|
|
63
|
+
'AZTEC_SLASHING_VETOER',
|
|
64
|
+
'AZTEC_SLASHING_DISABLE_DURATION',
|
|
65
|
+
'AZTEC_SLASH_AMOUNT_SMALL',
|
|
66
|
+
'AZTEC_SLASH_AMOUNT_MEDIUM',
|
|
67
|
+
'AZTEC_SLASH_AMOUNT_LARGE',
|
|
68
|
+
|
|
69
|
+
// Node-side slashing offense consensus.
|
|
70
|
+
'SLASH_OFFENSE_EXPIRATION_ROUNDS',
|
|
71
|
+
'SLASH_MAX_PAYLOAD_SIZE',
|
|
72
|
+
'SLASH_EXECUTE_ROUNDS_LOOK_BACK',
|
|
73
|
+
'SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS',
|
|
74
|
+
'SLASH_DATA_WITHHOLDING_PENALTY',
|
|
75
|
+
'SLASH_INACTIVITY_TARGET_PERCENTAGE',
|
|
76
|
+
'SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD',
|
|
77
|
+
'SLASH_INACTIVITY_PENALTY',
|
|
78
|
+
'SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY',
|
|
79
|
+
'SLASH_DUPLICATE_PROPOSAL_PENALTY',
|
|
80
|
+
'SLASH_DUPLICATE_ATTESTATION_PENALTY',
|
|
81
|
+
'SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY',
|
|
82
|
+
'SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY',
|
|
83
|
+
'SLASH_UNKNOWN_PENALTY',
|
|
84
|
+
'SLASH_INVALID_BLOCK_PENALTY',
|
|
85
|
+
'SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY',
|
|
86
|
+
'SLASH_GRACE_PERIOD_L2_SLOTS',
|
|
87
|
+
] as const satisfies readonly EnvVar[];
|
|
88
|
+
|
|
89
|
+
/** A consensus-critical environment variable name; see {@link NETWORK_CONSENSUS_ENV_VARS}. */
|
|
90
|
+
export type ConsensusEnvVar = (typeof NETWORK_CONSENSUS_ENV_VARS)[number];
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* The subset of consensus-critical timing config whose geometry can be validated in isolation. Composed by
|
|
94
|
+
* picking the canonical fields from their owning config types so the field set never drifts from the config
|
|
95
|
+
* layer: slot durations from {@link L1ContractsConfig}, block sub-slot/checkpoint timings from
|
|
96
|
+
* {@link SequencerConfig} (whose fields are optional there, hence `Required`).
|
|
97
|
+
*/
|
|
98
|
+
export type NetworkConsensusConfig = Pick<L1ContractsConfig, 'aztecSlotDuration' | 'ethereumSlotDuration'> &
|
|
99
|
+
Required<Pick<SequencerConfig, 'blockDurationMs' | 'maxBlocksPerCheckpoint' | 'checkpointProposalSyncGraceSeconds'>>;
|
|
100
|
+
|
|
101
|
+
/** Config mappings for the slot-timing fields of {@link NetworkConsensusConfig}, picked from their owners. */
|
|
102
|
+
const networkConsensusConfigMappings = {
|
|
103
|
+
...pickConfigMappings(l1ContractsConfigMappings, ['aztecSlotDuration', 'ethereumSlotDuration']),
|
|
104
|
+
...pickConfigMappings(sharedSequencerConfigMappings, [
|
|
105
|
+
'blockDurationMs',
|
|
106
|
+
'maxBlocksPerCheckpoint',
|
|
107
|
+
'checkpointProposalSyncGraceSeconds',
|
|
108
|
+
]),
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Extracts the timing {@link NetworkConsensusConfig} from a generated network config object. The env-var names
|
|
113
|
+
* and the per-field parsing both come from the canonical config mappings (`l1ContractsConfigMappings` and
|
|
114
|
+
* `sharedSequencerConfigMappings`), so each field is parsed exactly as the node's config layer would parse it.
|
|
115
|
+
* A field whose env var is absent becomes `NaN`, which {@link validateNetworkConsensusConfig} reports as an
|
|
116
|
+
* error. Never throws: parse helpers that would throw or yield `undefined` are coerced to `NaN`.
|
|
117
|
+
*/
|
|
118
|
+
export function getConsensusConfigFromNetworkEnv(
|
|
119
|
+
values: Record<string, string | number | boolean>,
|
|
120
|
+
): NetworkConsensusConfig {
|
|
121
|
+
const result = {} as Record<keyof NetworkConsensusConfig, number>;
|
|
122
|
+
for (const [field, mapping] of Object.entries(networkConsensusConfigMappings)) {
|
|
123
|
+
const raw = mapping.env !== undefined ? values[mapping.env] : undefined;
|
|
124
|
+
if (raw === undefined) {
|
|
125
|
+
result[field as keyof NetworkConsensusConfig] = NaN;
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
let parsed: number | undefined;
|
|
129
|
+
try {
|
|
130
|
+
parsed = mapping.parseEnv ? mapping.parseEnv(String(raw)) : Number(raw);
|
|
131
|
+
} catch {
|
|
132
|
+
parsed = NaN;
|
|
133
|
+
}
|
|
134
|
+
result[field as keyof NetworkConsensusConfig] = parsed ?? NaN;
|
|
135
|
+
}
|
|
136
|
+
return result;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Validates a {@link NetworkConsensusConfig} for self-consistency, returning a list of error messages (empty
|
|
141
|
+
* when valid). Used by the cli unit test that gates the generated network configs.
|
|
142
|
+
*
|
|
143
|
+
* The check requires `maxBlocksPerCheckpoint` to be *exactly* what a {@link ProposerTimetable} built from the
|
|
144
|
+
* same slot timings and the production default budgets derives. This exact-equality requirement ensures the
|
|
145
|
+
* published network value is precisely what the production default budgets produce, so every node running those
|
|
146
|
+
* defaults agrees on the per-checkpoint block count without clamping.
|
|
147
|
+
*/
|
|
148
|
+
export function validateNetworkConsensusConfig(config: NetworkConsensusConfig): string[] {
|
|
149
|
+
const errors: string[] = [];
|
|
150
|
+
|
|
151
|
+
for (const [field, value] of Object.entries(config)) {
|
|
152
|
+
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
153
|
+
errors.push(`${field} must be a finite number (got ${value})`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (errors.length > 0) {
|
|
157
|
+
return errors;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
errors.push(...validateSlotDurations(config));
|
|
161
|
+
if (config.blockDurationMs <= 0) {
|
|
162
|
+
errors.push(`blockDurationMs must be positive (got ${config.blockDurationMs})`);
|
|
163
|
+
}
|
|
164
|
+
if (config.blockDurationMs / 1000 > config.aztecSlotDuration) {
|
|
165
|
+
errors.push(
|
|
166
|
+
`blockDurationMs (${config.blockDurationMs}ms) exceeds aztecSlotDuration (${config.aztecSlotDuration}s)`,
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
if (config.maxBlocksPerCheckpoint < 1) {
|
|
170
|
+
errors.push(`maxBlocksPerCheckpoint must be at least 1 (got ${config.maxBlocksPerCheckpoint})`);
|
|
171
|
+
}
|
|
172
|
+
if (config.maxBlocksPerCheckpoint > MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT) {
|
|
173
|
+
errors.push(
|
|
174
|
+
`maxBlocksPerCheckpoint (${config.maxBlocksPerCheckpoint}) exceeds the ` +
|
|
175
|
+
`${MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT} blocks nodes will build or attest to, so the network would ` +
|
|
176
|
+
`reject block indices its own configuration admits`,
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
if (config.checkpointProposalSyncGraceSeconds < 0) {
|
|
180
|
+
errors.push(
|
|
181
|
+
`checkpointProposalSyncGraceSeconds must be non-negative (got ${config.checkpointProposalSyncGraceSeconds})`,
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
if (errors.length > 0) {
|
|
185
|
+
return errors;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
let computed: number;
|
|
189
|
+
try {
|
|
190
|
+
computed = new ProposerTimetable({
|
|
191
|
+
l1Constants: {
|
|
192
|
+
l1GenesisTime: 0n,
|
|
193
|
+
slotDuration: config.aztecSlotDuration,
|
|
194
|
+
ethereumSlotDuration: config.ethereumSlotDuration,
|
|
195
|
+
},
|
|
196
|
+
blockDuration: config.blockDurationMs / 1000,
|
|
197
|
+
minBlockDuration: DEFAULT_MIN_BLOCK_DURATION,
|
|
198
|
+
p2pPropagationTime: DEFAULT_P2P_PROPAGATION_TIME,
|
|
199
|
+
checkpointProposalPrepareTime: DEFAULT_CHECKPOINT_PROPOSAL_PREPARE_TIME,
|
|
200
|
+
checkpointProposalInitTime: DEFAULT_CHECKPOINT_PROPOSAL_INIT_TIME,
|
|
201
|
+
checkpointProposalSyncGrace: config.checkpointProposalSyncGraceSeconds,
|
|
202
|
+
}).getMaxBlocksPerCheckpoint();
|
|
203
|
+
} catch (err) {
|
|
204
|
+
// The timetable constructor throws when not even one block fits the default budgets; report instead.
|
|
205
|
+
errors.push(
|
|
206
|
+
`maxBlocksPerCheckpoint (${config.maxBlocksPerCheckpoint}) cannot be achieved: the default operational ` +
|
|
207
|
+
`budgets fit fewer than one block for slot duration ${config.aztecSlotDuration}s and block duration ` +
|
|
208
|
+
`${config.blockDurationMs / 1000}s (${err instanceof Error ? err.message : String(err)})`,
|
|
209
|
+
);
|
|
210
|
+
return errors;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
if (computed !== config.maxBlocksPerCheckpoint) {
|
|
214
|
+
errors.push(
|
|
215
|
+
`maxBlocksPerCheckpoint (${config.maxBlocksPerCheckpoint}) does not match the ${computed} blocks the ` +
|
|
216
|
+
`production default budgets derive for slot duration ${config.aztecSlotDuration}s and block duration ` +
|
|
217
|
+
`${config.blockDurationMs / 1000}s`,
|
|
218
|
+
);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
return errors;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Enforces that operators do not silently override consensus-critical values diverging from the network config.
|
|
226
|
+
*
|
|
227
|
+
* For each var in {@link NETWORK_CONSENSUS_ENV_VARS} present in `networkConfig`: if the operator set it in `env`
|
|
228
|
+
* to a conflicting value, this throws unless `ALLOW_OVERRIDING_NETWORK_CONFIG` is truthy (in which case it logs
|
|
229
|
+
* and keeps the operator value).
|
|
230
|
+
*
|
|
231
|
+
* This function is pure: it never writes to `env`. Instead it returns the canonical env writes the caller
|
|
232
|
+
* should apply — a map of env-var name to canonical string value for every numeric var whose env value matched
|
|
233
|
+
* the network value numerically. Applying these closes a bypass where the config layer parses some vars with
|
|
234
|
+
* `parseInt` (which reads '6e3' as 6); rewriting them to the network value's string form keeps the operator's
|
|
235
|
+
* numerically-equal value but in canonical form. Vars kept under `ALLOW_OVERRIDING_NETWORK_CONFIG` (genuine
|
|
236
|
+
* conflicts) are not included, so the operator value is preserved untouched.
|
|
237
|
+
*
|
|
238
|
+
* @returns Canonical env writes (env-var name -> canonical string value) for the caller to apply.
|
|
239
|
+
*/
|
|
240
|
+
export function checkConsensusEnvOverrides(
|
|
241
|
+
networkConfig: Record<string, string | number | boolean>,
|
|
242
|
+
env: { [key: string]: string | undefined } = process.env,
|
|
243
|
+
log?: (msg: string) => void,
|
|
244
|
+
): Record<string, string> {
|
|
245
|
+
const allowOverride = allowsNetworkConfigOverride(env);
|
|
246
|
+
const canonical: Record<string, string> = {};
|
|
247
|
+
const conflicts: string[] = [];
|
|
248
|
+
|
|
249
|
+
for (const envVar of NETWORK_CONSENSUS_ENV_VARS) {
|
|
250
|
+
const networkValue = networkConfig[envVar];
|
|
251
|
+
if (networkValue === undefined) {
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
const current = env[envVar];
|
|
256
|
+
if (current === undefined || current === '') {
|
|
257
|
+
continue;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
const networkIsNumeric = typeof networkValue === 'number';
|
|
261
|
+
const matches = networkIsNumeric ? Number(current) === networkValue : current === String(networkValue);
|
|
262
|
+
if (matches) {
|
|
263
|
+
if (networkIsNumeric) {
|
|
264
|
+
canonical[envVar] = String(networkValue);
|
|
265
|
+
}
|
|
266
|
+
continue;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
const conflict = `${envVar}=${current} conflicts with the network value ${networkValue}`;
|
|
270
|
+
if (allowOverride) {
|
|
271
|
+
log?.(
|
|
272
|
+
`Environment variable ${conflict}. Consensus-critical values must match across the network, but ` +
|
|
273
|
+
`ALLOW_OVERRIDING_NETWORK_CONFIG is set so the operator value is kept (only do this if you know what ` +
|
|
274
|
+
`you are doing).`,
|
|
275
|
+
);
|
|
276
|
+
continue;
|
|
277
|
+
}
|
|
278
|
+
conflicts.push(conflict);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
// Accumulate every conflict so the operator sees all the env vars they need to reconcile at once, rather than
|
|
282
|
+
// fixing them one failed startup at a time.
|
|
283
|
+
if (conflicts.length > 0) {
|
|
284
|
+
throw new Error(
|
|
285
|
+
`Environment variables conflict with consensus-critical network values:\n` +
|
|
286
|
+
conflicts.map(c => ` - ${c}`).join('\n') +
|
|
287
|
+
`\nConsensus-critical values must match across the network. Set ALLOW_OVERRIDING_NETWORK_CONFIG=1 to ` +
|
|
288
|
+
`override (only do this if you know what you are doing).`,
|
|
289
|
+
);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
return canonical;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
/** Whether the env opts into overriding network-wide consensus values (`ALLOW_OVERRIDING_NETWORK_CONFIG`). */
|
|
296
|
+
export function allowsNetworkConfigOverride(env: { [key: string]: string | undefined } = process.env): boolean {
|
|
297
|
+
const value = env.ALLOW_OVERRIDING_NETWORK_CONFIG;
|
|
298
|
+
return value === '1' || value?.toLowerCase() === 'true';
|
|
299
|
+
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
|
|
2
|
-
import { type ConfigMappingsType, numberConfigHelper } from '@aztec/foundation/config';
|
|
2
|
+
import { type ConfigMappingsType, booleanConfigHelper, numberConfigHelper } from '@aztec/foundation/config';
|
|
3
|
+
|
|
4
|
+
const parseCommaSeparatedList = (value: string) =>
|
|
5
|
+
value
|
|
6
|
+
.split(',')
|
|
7
|
+
.map(item => item.trim())
|
|
8
|
+
.filter(Boolean);
|
|
3
9
|
|
|
4
10
|
export const nodeRpcConfigMappings: ConfigMappingsType<NodeRPCConfig> = {
|
|
5
11
|
rpcSimulatePublicMaxGasLimit: {
|
|
@@ -23,6 +29,33 @@ export const nodeRpcConfigMappings: ConfigMappingsType<NodeRPCConfig> = {
|
|
|
23
29
|
description: 'Maximum allowed batch size for JSON RPC batch requests.',
|
|
24
30
|
defaultValue: '1mb',
|
|
25
31
|
},
|
|
32
|
+
rpcHttpKeepAliveTimeoutMs: {
|
|
33
|
+
env: 'RPC_HTTP_KEEP_ALIVE_TIMEOUT_MS',
|
|
34
|
+
description: 'HTTP keep-alive timeout for JSON RPC connections in milliseconds.',
|
|
35
|
+
...numberConfigHelper(5_000),
|
|
36
|
+
},
|
|
37
|
+
rpcHttpHeadersTimeoutMs: {
|
|
38
|
+
env: 'RPC_HTTP_HEADERS_TIMEOUT_MS',
|
|
39
|
+
description: 'Timeout for receiving complete HTTP headers on JSON RPC connections in milliseconds.',
|
|
40
|
+
...numberConfigHelper(60_000),
|
|
41
|
+
},
|
|
42
|
+
rpcCorsAllowedOrigins: {
|
|
43
|
+
env: 'RPC_CORS_ALLOWED_ORIGINS',
|
|
44
|
+
description: 'Origins allowed to make credentialed cross-origin JSON RPC requests, separated by commas.',
|
|
45
|
+
parseEnv: parseCommaSeparatedList,
|
|
46
|
+
defaultValue: [],
|
|
47
|
+
},
|
|
48
|
+
rpcCorsAllowedHeaders: {
|
|
49
|
+
env: 'RPC_CORS_ALLOWED_HEADERS',
|
|
50
|
+
description: 'Headers allowed in cross-origin JSON RPC requests, separated by commas.',
|
|
51
|
+
parseEnv: parseCommaSeparatedList,
|
|
52
|
+
defaultValue: [],
|
|
53
|
+
},
|
|
54
|
+
rpcCorsAllowAnyOrigin: {
|
|
55
|
+
env: 'RPC_CORS_ALLOW_ANY_ORIGIN',
|
|
56
|
+
description: 'Allow credentialed cross-origin JSON RPC requests from any origin.',
|
|
57
|
+
...booleanConfigHelper(false),
|
|
58
|
+
},
|
|
26
59
|
};
|
|
27
60
|
|
|
28
61
|
export type NodeRPCConfig = {
|
|
@@ -34,4 +67,21 @@ export type NodeRPCConfig = {
|
|
|
34
67
|
rpcMaxBatchSize: number;
|
|
35
68
|
/** The maximum body size the RPC server will accept */
|
|
36
69
|
rpcMaxBodySize: string;
|
|
70
|
+
/** HTTP keep-alive timeout for JSON RPC connections in milliseconds. */
|
|
71
|
+
rpcHttpKeepAliveTimeoutMs?: number;
|
|
72
|
+
/** Timeout for receiving complete HTTP headers on JSON RPC connections in milliseconds. */
|
|
73
|
+
rpcHttpHeadersTimeoutMs?: number;
|
|
74
|
+
/** Origins allowed to make credentialed cross-origin requests to the RPC server. */
|
|
75
|
+
rpcCorsAllowedOrigins?: string[];
|
|
76
|
+
/** Headers allowed in cross-origin requests to the RPC server. */
|
|
77
|
+
rpcCorsAllowedHeaders?: string[];
|
|
78
|
+
/** Whether to allow credentialed cross-origin requests from any origin. */
|
|
79
|
+
rpcCorsAllowAnyOrigin?: boolean;
|
|
37
80
|
};
|
|
81
|
+
|
|
82
|
+
/** Resolves the CORS origin policy for an RPC server. */
|
|
83
|
+
export function getRpcCorsAllowedOrigins(
|
|
84
|
+
config: Pick<NodeRPCConfig, 'rpcCorsAllowedOrigins' | 'rpcCorsAllowAnyOrigin'>,
|
|
85
|
+
): string[] {
|
|
86
|
+
return config.rpcCorsAllowAnyOrigin ? ['*'] : (config.rpcCorsAllowedOrigins ?? []);
|
|
87
|
+
}
|