@aztec/stdlib 0.0.1-commit.c2eed6949 → 0.0.1-commit.c52d6e7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +148 -1199
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +42 -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 +6 -2
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +13 -1
- package/dest/abi/contract_artifact.d.ts +1 -1
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +49 -26
- package/dest/abi/decoder.d.ts +14 -46
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +28 -86
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +32 -6
- package/dest/abi/event_selector.d.ts +4 -7
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +21 -30
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +28 -9
- package/dest/abi/function_selector.d.ts +3 -6
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +2 -4
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/note_selector.d.ts +4 -7
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +1 -3
- package/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +1 -1
- package/dest/abi/utils.d.ts +1 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +1 -1
- package/dest/auth_witness/auth_witness.d.ts +2 -2
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/avm/avm.d.ts +2228 -10934
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +10 -5
- package/dest/avm/avm_accumulated_data.d.ts +22 -86
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_proving_request.d.ts +653 -5446
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/index.d.ts +1 -6
- package/dest/avm/index.d.ts.map +1 -1
- package/dest/avm/index.js +0 -5
- package/dest/avm/message_pack.js +12 -3
- package/dest/avm/public_data_write.d.ts +6 -12
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +5 -21
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +12 -30
- package/dest/aztec-address/index.d.ts +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 +13 -38
- package/dest/block/block_data.d.ts.map +1 -1
- package/dest/block/block_data.js +2 -2
- package/dest/block/block_hash.d.ts +11 -10
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +10 -9
- package/dest/block/block_parameter.d.ts +37 -4
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +53 -2
- package/dest/block/in_block.d.ts +5 -24
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/index.d.ts +1 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +0 -1
- package/dest/block/l2_block.d.ts +13 -41
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block_info.d.ts +10 -29
- package/dest/block/l2_block_info.d.ts.map +1 -1
- package/dest/block/l2_block_info.js +6 -5
- package/dest/block/l2_block_source.d.ts +228 -354
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +85 -1
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
- package/dest/block/l2_block_stream/index.d.ts +2 -1
- package/dest/block/l2_block_stream/index.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +85 -10
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/interfaces.js +25 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +185 -134
- 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 +30 -96
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +11 -3
- package/dest/checkpoint/checkpoint_data.d.ts +68 -91
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_data.js +12 -0
- package/dest/checkpoint/checkpoint_info.d.ts +7 -23
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
- package/dest/checkpoint/digest.d.ts +18 -0
- package/dest/checkpoint/digest.d.ts.map +1 -0
- package/dest/checkpoint/digest.js +12 -0
- package/dest/checkpoint/index.d.ts +5 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +4 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
- package/dest/checkpoint/published_checkpoint.d.ts +42 -194
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/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 +11 -3
- package/dest/checkpoint/validate.d.ts.map +1 -1
- package/dest/checkpoint/validate.js +9 -6
- package/dest/config/chain-config.d.ts +4 -9
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +13 -12
- package/dest/config/index.d.ts +2 -2
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -1
- package/dest/config/network-consensus-config.d.ts +72 -0
- package/dest/config/network-consensus-config.d.ts.map +1 -0
- package/dest/config/network-consensus-config.js +223 -0
- package/dest/config/node-rpc-config.d.ts +1 -1
- package/dest/config/node-rpc-config.d.ts.map +1 -1
- package/dest/config/node-rpc-config.js +1 -1
- package/dest/config/sequencer-config.d.ts +7 -3
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +38 -5
- package/dest/contract/artifact_hash.d.ts +2 -2
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/artifact_hash.js +10 -2
- package/dest/contract/complete_address.d.ts +3 -2
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/complete_address.js +6 -2
- package/dest/contract/contract_address.d.ts +9 -8
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +5 -4
- package/dest/contract/contract_class.d.ts +1 -1
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class.js +3 -2
- package/dest/contract/contract_deployment_data.d.ts +15 -61
- package/dest/contract/contract_deployment_data.d.ts.map +1 -1
- package/dest/contract/contract_instance.d.ts +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 -2
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -1
- package/dest/contract/interfaces/contract_class.d.ts +15 -86
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- 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 +11 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +7 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/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 +2 -4
- package/dest/database-version/database_version.d.ts +5 -11
- package/dest/database-version/database_version.d.ts.map +1 -1
- package/dest/database-version/version_manager.d.ts +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 +8 -22
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +6 -0
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +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/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/gas/fee_math.d.ts +49 -0
- package/dest/gas/fee_math.d.ts.map +1 -0
- package/dest/gas/fee_math.js +80 -0
- package/dest/gas/gas.d.ts +9 -14
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +6 -3
- package/dest/gas/gas_fees.d.ts +13 -14
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +17 -4
- package/dest/gas/gas_settings.d.ts +60 -86
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +49 -9
- package/dest/gas/index.d.ts +3 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +2 -0
- package/dest/gas/tx_gas_limits.d.ts +72 -0
- package/dest/gas/tx_gas_limits.d.ts.map +1 -0
- package/dest/gas/tx_gas_limits.js +85 -0
- package/dest/ha-signing/config.d.ts +29 -79
- package/dest/ha-signing/config.d.ts.map +1 -1
- package/dest/ha-signing/config.js +18 -21
- package/dest/ha-signing/index.d.ts +2 -2
- package/dest/ha-signing/index.d.ts.map +1 -1
- package/dest/ha-signing/index.js +1 -1
- package/dest/ha-signing/local_config.d.ts +12 -35
- package/dest/ha-signing/local_config.d.ts.map +1 -1
- package/dest/ha-signing/local_config.js +9 -3
- package/dest/ha-signing/types.d.ts +37 -32
- package/dest/ha-signing/types.d.ts.map +1 -1
- package/dest/ha-signing/types.js +13 -6
- package/dest/hash/hash.d.ts +19 -2
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +39 -9
- package/dest/interfaces/allowed_element.d.ts +4 -28
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/api_limit.d.ts +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 +216 -70
- package/dest/interfaces/aztec-node-admin.d.ts +75 -305
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +60 -17
- package/dest/interfaces/aztec-node-debug.d.ts +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 +160 -116
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +350 -74
- package/dest/interfaces/block-builder.d.ts +11 -2
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block_response.d.ts +90 -0
- package/dest/interfaces/block_response.d.ts.map +1 -0
- package/dest/interfaces/block_response.js +30 -0
- package/dest/interfaces/chain_tips.d.ts +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 +72 -134
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +15 -2
- package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
- package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
- package/dest/interfaces/get_tx_by_hash_options.js +4 -0
- package/dest/interfaces/l1_publish_info.d.ts +29 -0
- package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
- package/dest/interfaces/l1_publish_info.js +26 -0
- package/dest/interfaces/l2_logs_source.d.ts +14 -36
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.js +5 -0
- package/dest/interfaces/merkle_tree_operations.d.ts +11 -5
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p-bootstrap.js +8 -2
- package/dest/interfaces/p2p.d.ts +46 -7
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +41 -6
- package/dest/interfaces/private_kernel_prover.d.ts +131 -12
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.d.ts +5 -23
- package/dest/interfaces/prover-agent.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.js +4 -1
- package/dest/interfaces/prover-client.d.ts +7 -29
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +0 -3
- package/dest/interfaces/prover-node.d.ts +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 +740 -5778
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +14 -5
- package/dest/interfaces/public_storage_override.d.ts +22 -0
- package/dest/interfaces/public_storage_override.d.ts.map +1 -0
- package/dest/interfaces/public_storage_override.js +7 -0
- package/dest/interfaces/server.d.ts +6 -3
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -2
- package/dest/interfaces/server_circuit_prover.d.ts +3 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/slasher.d.ts +25 -65
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +8 -4
- package/dest/interfaces/tx_provider.d.ts +10 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +59 -248
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +8 -2
- package/dest/interfaces/world_state.d.ts +15 -2
- package/dest/interfaces/world_state.d.ts.map +1 -1
- 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 +1 -2
- package/dest/kernel/hints/index.d.ts.map +1 -1
- package/dest/kernel/hints/index.js +0 -1
- package/dest/kernel/hints/key_validation_request.d.ts +12 -8
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.js +20 -18
- package/dest/kernel/hints/read_request.js +1 -1
- package/dest/kernel/index.d.ts +10 -2
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +9 -1
- package/dest/kernel/log_hash.d.ts +6 -2
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +23 -11
- package/dest/kernel/note_hash.js +1 -1
- package/dest/kernel/nullifier.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +14 -7
- 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 +8 -10
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -7
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
- package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts +24 -0
- package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -0
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
- package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts +18 -0
- package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
- package/dest/kernel/private_kernel_prover_output.d.ts +6 -29
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.js +4 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
- package/dest/kernel/private_kernel_simulated_output.d.ts +1 -7
- package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_simulated_output.js +2 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
- package/dest/kernel/private_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 +5 -4
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
- package/dest/kernel/public_call_request.d.ts +15 -30
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +16 -7
- package/dest/kernel/utils/index.d.ts +1 -2
- package/dest/kernel/utils/index.d.ts.map +1 -1
- package/dest/kernel/utils/index.js +0 -1
- package/dest/keys/derivation.d.ts +45 -6
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +55 -22
- package/dest/keys/public_key.d.ts +22 -3
- package/dest/keys/public_key.d.ts.map +1 -1
- package/dest/keys/public_key.js +20 -1
- package/dest/keys/public_keys.d.ts +55 -82
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +102 -74
- package/dest/kv-store/config.d.ts +3 -6
- package/dest/kv-store/config.d.ts.map +1 -1
- package/dest/kv-store/config.js +2 -7
- package/dest/l1-contracts/index.d.ts +2 -2
- package/dest/l1-contracts/index.d.ts.map +1 -1
- package/dest/l1-contracts/index.js +1 -1
- package/dest/logs/app_tagging_secret.d.ts +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/index.d.ts +7 -7
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +6 -6
- package/dest/logs/log_cursor.d.ts +51 -0
- package/dest/logs/log_cursor.d.ts.map +1 -0
- package/dest/logs/log_cursor.js +82 -0
- package/dest/logs/log_result.d.ts +54 -0
- package/dest/logs/log_result.d.ts.map +1 -0
- package/dest/logs/log_result.js +56 -0
- package/dest/logs/logs_query.d.ts +82 -0
- package/dest/logs/logs_query.d.ts.map +1 -0
- package/dest/logs/logs_query.js +50 -0
- package/dest/logs/message_context.d.ts +4 -16
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +1 -48
- package/dest/logs/pending_tagged_log.d.ts +6 -9
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +1 -31
- package/dest/logs/pre_tag.d.ts +11 -24
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/private_log.d.ts +7 -12
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +6 -3
- package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
- package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
- package/dest/logs/query_all_logs_by_tags.js +64 -0
- package/dest/logs/shared_secret_derivation.d.ts +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 +8 -7
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +13 -3
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +4 -0
- package/dest/logs/tagging_index_range.d.ts +13 -31
- package/dest/logs/tagging_index_range.d.ts.map +1 -1
- package/dest/logs/tagging_index_range.js +2 -2
- package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
- package/dest/messaging/append_l1_to_l2_messages.js +12 -0
- package/dest/messaging/index.d.ts +2 -1
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +1 -0
- package/dest/messaging/l1_to_l2_message.d.ts +23 -2
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +36 -11
- package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +72 -12
- package/dest/messaging/l2_to_l1_message.d.ts +38 -112
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +21 -12
- package/dest/noir/index.d.ts +5 -3
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/note/note.d.ts +2 -2
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note_dao.d.ts +1 -1
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +1 -4
- package/dest/p2p/attestation_utils.d.ts +1 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +8 -1
- package/dest/p2p/block_proposal.d.ts +31 -14
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +57 -39
- package/dest/p2p/checkpoint_attestation.d.ts +24 -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 +36 -16
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +59 -51
- package/dest/p2p/consensus_payload.d.ts +27 -20
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +38 -19
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/index.d.ts +1 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +0 -1
- 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/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 +17 -11
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +44 -22
- 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 +8 -3
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +20 -10
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +32 -78
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +2 -2
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +10 -7
- package/dest/slashing/index.d.ts +2 -3
- package/dest/slashing/index.d.ts.map +1 -1
- package/dest/slashing/index.js +1 -2
- package/dest/slashing/serialization.d.ts +2 -6
- package/dest/slashing/serialization.d.ts.map +1 -1
- package/dest/slashing/serialization.js +0 -60
- package/dest/slashing/types.d.ts +18 -112
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +16 -24
- package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
- package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
- package/dest/slashing/{tally.js → votes.js} +1 -1
- package/dest/snapshots/types.d.ts +15 -78
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/stats/stats.d.ts +2 -2
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +24 -55
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +81 -89
- package/dest/tests/mocks.d.ts +8 -5
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +45 -56
- package/dest/timetable/budgets.d.ts +57 -0
- package/dest/timetable/budgets.d.ts.map +1 -0
- package/dest/timetable/budgets.js +56 -0
- package/dest/timetable/build_proposer_timetable.d.ts +21 -0
- package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/build_proposer_timetable.js +17 -0
- package/dest/timetable/consensus_timetable.d.ts +70 -0
- package/dest/timetable/consensus_timetable.d.ts.map +1 -0
- package/dest/timetable/consensus_timetable.js +89 -0
- package/dest/timetable/index.d.ts +5 -37
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +4 -39
- package/dest/timetable/proposer_timetable.d.ts +106 -0
- package/dest/timetable/proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/proposer_timetable.js +132 -0
- package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +6 -3
- package/dest/trees/nullifier_leaf.d.ts +19 -42
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +3 -0
- package/dest/trees/nullifier_membership_witness.d.ts +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 +21 -53
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- 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 +5 -4
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +7 -4
- package/dest/tx/call_context.d.ts +4 -14
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +7 -3
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +9 -3
- package/dest/tx/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 +16 -49
- 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 -2
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -1
- package/dest/tx/indexed_tx_effect.d.ts +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/offchain_effect.js +1 -1
- package/dest/tx/partial_state_reference.d.ts +22 -65
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +6 -3
- package/dest/tx/private_execution_result.d.ts +6 -16
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- 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 +54 -352
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +6 -4
- package/dest/tx/protocol_contracts.d.ts +5 -9
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/proven_tx.d.ts +30 -74
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +6 -0
- package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +6 -3
- package/dest/tx/simulated_tx.d.ts +73 -1256
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +19 -12
- package/dest/tx/state_reference.d.ts +30 -117
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +6 -4
- package/dest/tx/tree_snapshots.d.ts +27 -84
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +6 -4
- package/dest/tx/tx.d.ts +29 -13
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +53 -25
- package/dest/tx/tx_constant_data.d.ts +4 -3
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +6 -3
- package/dest/tx/tx_context.d.ts +32 -131
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_context.js +6 -6
- package/dest/tx/tx_hash.d.ts +6 -4
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_hash.js +13 -5
- package/dest/tx/tx_receipt.d.ts +144 -63
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +143 -60
- package/dest/tx/validator/error_texts.d.ts +2 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +1 -1
- package/dest/tx/validator/tx_validator.d.ts +5 -27
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +0 -4
- package/dest/types/shared.d.ts +4 -12
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +6 -12
- package/dest/update-checker/dev_version.d.ts +3 -0
- package/dest/update-checker/dev_version.d.ts.map +1 -0
- package/dest/update-checker/dev_version.js +1 -0
- package/dest/update-checker/index.d.ts +2 -1
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +1 -0
- package/dest/update-checker/package_version.d.ts +6 -3
- package/dest/update-checker/package_version.d.ts.map +1 -1
- package/dest/update-checker/package_version.js +8 -19
- package/dest/validators/errors.d.ts +16 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +12 -0
- package/dest/validators/schemas.d.ts +147 -614
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +6 -4
- package/dest/validators/types.d.ts +20 -3
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.js +1 -1
- package/dest/vks/verification_key.d.ts +4 -139
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +5 -126
- package/dest/world-state/genesis_data.d.ts +21 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +8 -0
- package/dest/world-state/index.d.ts +2 -1
- package/dest/world-state/index.d.ts.map +1 -1
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +11 -39
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +7 -21
- package/package.json +12 -11
- package/src/abi/abi.ts +85 -23
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +13 -1
- package/src/abi/contract_artifact.ts +51 -22
- package/src/abi/decoder.ts +40 -99
- package/src/abi/encoder.ts +42 -6
- package/src/abi/event_selector.ts +2 -8
- package/src/abi/function_call.ts +19 -7
- package/src/abi/function_selector.ts +4 -13
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- package/src/abi/note_selector.ts +3 -12
- package/src/abi/selector.ts +1 -1
- package/src/abi/utils.ts +6 -4
- package/src/avm/avm.ts +10 -2
- package/src/avm/index.ts +0 -5
- package/src/avm/message_pack.ts +12 -3
- package/src/avm/revert_code.ts +19 -39
- package/src/aztec-address/index.ts +50 -17
- package/src/block/attestation_info.ts +16 -11
- package/src/block/block_data.ts +3 -4
- package/src/block/block_hash.ts +21 -14
- package/src/block/block_parameter.ts +72 -4
- package/src/block/index.ts +0 -1
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +270 -144
- package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +101 -9
- package/src/block/l2_block_stream/l2_block_stream.ts +268 -179
- 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 +13 -3
- package/src/checkpoint/checkpoint_data.ts +44 -4
- package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
- package/src/checkpoint/digest.ts +28 -0
- package/src/checkpoint/index.ts +4 -0
- package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
- package/src/checkpoint/simulation_overrides.ts +171 -0
- package/src/checkpoint/validate.ts +16 -6
- package/src/config/chain-config.ts +13 -16
- package/src/config/index.ts +1 -1
- package/src/config/network-consensus-config.ts +291 -0
- package/src/config/node-rpc-config.ts +2 -1
- package/src/config/sequencer-config.ts +68 -9
- package/src/contract/artifact_hash.ts +15 -3
- package/src/contract/complete_address.ts +7 -3
- package/src/contract/contract_address.ts +10 -9
- package/src/contract/contract_class.ts +3 -2
- package/src/contract/contract_instance.ts +73 -3
- package/src/contract/index.ts +0 -1
- 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 +11 -0
- package/src/contract/partial_address.ts +8 -2
- package/src/contract/private_function.ts +3 -1
- package/src/database-version/version_manager.ts +113 -6
- package/src/deserialization/index.ts +35 -2
- package/src/epoch-helpers/index.ts +13 -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/memory.ts +94 -0
- package/src/gas/README.md +230 -35
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas.ts +8 -3
- package/src/gas/gas_fees.ts +26 -13
- package/src/gas/gas_settings.ts +63 -15
- package/src/gas/index.ts +2 -0
- package/src/gas/tx_gas_limits.ts +123 -0
- package/src/ha-signing/config.ts +37 -23
- package/src/ha-signing/index.ts +3 -1
- package/src/ha-signing/local_config.ts +21 -2
- package/src/ha-signing/types.ts +48 -34
- package/src/hash/hash.ts +34 -10
- package/src/interfaces/api_limit.ts +6 -1
- package/src/interfaces/archiver.ts +96 -93
- package/src/interfaces/aztec-node-admin.ts +36 -21
- package/src/interfaces/aztec-node-debug.ts +92 -0
- package/src/interfaces/aztec-node.ts +398 -271
- package/src/interfaces/block-builder.ts +10 -1
- 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 +73 -7
- package/src/interfaces/get_tx_by_hash_options.ts +14 -0
- package/src/interfaces/l1_publish_info.ts +40 -0
- package/src/interfaces/l2_logs_source.ts +13 -42
- package/src/interfaces/merkle_tree_operations.ts +11 -4
- package/src/interfaces/p2p-bootstrap.ts +2 -2
- package/src/interfaces/p2p.ts +59 -19
- package/src/interfaces/private_kernel_prover.ts +192 -13
- package/src/interfaces/prover-agent.ts +1 -1
- package/src/interfaces/prover-client.ts +3 -8
- package/src/interfaces/prover-node.ts +36 -21
- package/src/interfaces/proving-job-source.ts +4 -4
- package/src/interfaces/proving-job.ts +18 -6
- package/src/interfaces/public_storage_override.ts +26 -0
- package/src/interfaces/server.ts +5 -2
- package/src/interfaces/server_circuit_prover.ts +2 -2
- package/src/interfaces/slasher.ts +17 -10
- package/src/interfaces/tx_provider.ts +10 -0
- package/src/interfaces/validator.ts +45 -15
- package/src/interfaces/world_state.ts +15 -1
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
- package/src/kernel/hints/index.ts +0 -1
- package/src/kernel/hints/key_validation_request.ts +18 -16
- package/src/kernel/hints/read_request.ts +1 -1
- package/src/kernel/index.ts +9 -1
- package/src/kernel/log_hash.ts +36 -13
- package/src/kernel/note_hash.ts +1 -1
- package/src/kernel/nullifier.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +12 -1
- package/src/kernel/private_context_inputs.ts +10 -3
- package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -7
- package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
- package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
- package/src/kernel/private_kernel_init_4_circuit_private_inputs.ts +52 -0
- package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -0
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
- package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
- package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
- package/src/kernel/private_kernel_inner_4_circuit_private_inputs.ts +39 -0
- package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
- package/src/kernel/private_kernel_prover_output.ts +4 -0
- package/src/kernel/private_kernel_reset_dimensions.ts +16 -6
- package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
- package/src/kernel/private_kernel_simulated_output.ts +0 -7
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
- 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 +10 -4
- package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
- package/src/kernel/public_call_request.ts +22 -7
- package/src/kernel/utils/index.ts +0 -1
- package/src/keys/derivation.ts +79 -22
- package/src/keys/public_key.ts +26 -2
- package/src/keys/public_keys.ts +124 -110
- package/src/kv-store/config.ts +3 -10
- package/src/l1-contracts/index.ts +1 -1
- package/src/logs/app_tagging_secret.ts +160 -0
- package/src/logs/app_tagging_secret_kind.ts +21 -0
- package/src/logs/contract_class_log.ts +15 -14
- package/src/logs/index.ts +6 -6
- package/src/logs/log_cursor.ts +110 -0
- package/src/logs/log_result.ts +104 -0
- package/src/logs/logs_query.ts +138 -0
- package/src/logs/message_context.ts +6 -50
- package/src/logs/pending_tagged_log.ts +6 -35
- package/src/logs/pre_tag.ts +3 -6
- package/src/logs/private_log.ts +9 -3
- package/src/logs/query_all_logs_by_tags.ts +98 -0
- package/src/logs/shared_secret_derivation.ts +55 -11
- package/src/logs/siloed_tag.ts +20 -11
- package/src/logs/tag.ts +8 -8
- package/src/logs/tagging_index_range.ts +4 -10
- package/src/messaging/append_l1_to_l2_messages.ts +21 -0
- package/src/messaging/index.ts +1 -0
- package/src/messaging/l1_to_l2_message.ts +51 -13
- package/src/messaging/l2_to_l1_membership.ts +108 -19
- package/src/messaging/l2_to_l1_message.ts +29 -9
- package/src/noir/index.ts +4 -1
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/attestation_utils.ts +8 -1
- package/src/p2p/block_proposal.ts +111 -36
- package/src/p2p/checkpoint_attestation.ts +38 -30
- package/src/p2p/checkpoint_proposal.ts +128 -73
- package/src/p2p/consensus_payload.ts +59 -28
- package/src/p2p/gossipable.ts +4 -4
- package/src/p2p/index.ts +0 -1
- package/src/p2p/signature_utils.ts +117 -23
- package/src/p2p/signed_txs.ts +46 -28
- package/src/parity/parity_base_private_inputs.ts +10 -4
- package/src/parity/parity_public_inputs.ts +9 -2
- package/src/proofs/chonk_proof.ts +49 -15
- 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 +16 -2
- package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
- package/src/schemas/schemas.ts +6 -1
- package/src/slashing/helpers.ts +13 -9
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +24 -49
- package/src/slashing/{tally.ts → votes.ts} +1 -1
- package/src/stats/stats.ts +10 -2
- package/src/tests/factories.ts +111 -124
- package/src/tests/mocks.ts +72 -71
- package/src/timetable/README.md +609 -0
- package/src/timetable/budgets.ts +87 -0
- package/src/timetable/build_proposer_timetable.ts +42 -0
- package/src/timetable/consensus_timetable.ts +126 -0
- package/src/timetable/index.ts +4 -66
- package/src/timetable/proposer_timetable.ts +190 -0
- package/src/timetable/timetable-example.svg +108 -0
- package/src/trees/append_only_tree_snapshot.ts +8 -3
- package/src/trees/nullifier_leaf.ts +4 -0
- package/src/trees/nullifier_membership_witness.ts +0 -21
- package/src/trees/public_data_witness.ts +0 -31
- package/src/tx/block_header.ts +10 -5
- 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 +12 -20
- package/src/tx/hashed_values.ts +19 -9
- package/src/tx/index.ts +1 -1
- package/src/tx/indexed_tx_effect.ts +18 -6
- package/src/tx/offchain_effect.ts +1 -1
- package/src/tx/partial_state_reference.ts +8 -3
- package/src/tx/private_tx_constant_data.ts +25 -2
- package/src/tx/profiling.ts +6 -4
- package/src/tx/proven_tx.ts +6 -0
- package/src/tx/public_call_request_with_calldata.ts +8 -3
- package/src/tx/simulated_tx.ts +31 -19
- package/src/tx/state_reference.ts +9 -4
- package/src/tx/tree_snapshots.ts +9 -4
- package/src/tx/tx.ts +79 -27
- package/src/tx/tx_constant_data.ts +8 -3
- package/src/tx/tx_context.ts +8 -3
- package/src/tx/tx_hash.ts +20 -5
- package/src/tx/tx_receipt.ts +265 -85
- package/src/tx/validator/error_texts.ts +2 -1
- package/src/tx/validator/tx_validator.ts +1 -5
- package/src/types/shared.ts +8 -13
- package/src/update-checker/dev_version.ts +2 -0
- package/src/update-checker/index.ts +1 -0
- package/src/update-checker/package_version.ts +10 -23
- package/src/validators/errors.ts +17 -0
- package/src/validators/schemas.ts +6 -4
- package/src/validators/types.ts +21 -2
- package/src/versioning/versioning.ts +1 -1
- package/src/vks/verification_key.ts +5 -184
- package/src/world-state/genesis_data.ts +37 -0
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +9 -34
- package/dest/abi/mocked_keys.d.ts +0 -2
- package/dest/abi/mocked_keys.d.ts.map +0 -1
- package/dest/abi/mocked_keys.js +0 -1
- package/dest/avm/contract_storage_read.d.ts +0 -58
- package/dest/avm/contract_storage_read.d.ts.map +0 -1
- package/dest/avm/contract_storage_read.js +0 -65
- package/dest/avm/contract_storage_update_request.d.ts +0 -65
- package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
- package/dest/avm/contract_storage_update_request.js +0 -80
- package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
- package/dest/avm/public_call_stack_item_compressed.js +0 -70
- package/dest/avm/public_data_update_request.d.ts +0 -62
- package/dest/avm/public_data_update_request.d.ts.map +0 -1
- package/dest/avm/public_data_update_request.js +0 -67
- package/dest/avm/public_inner_call_request.d.ts +0 -50
- package/dest/avm/public_inner_call_request.d.ts.map +0 -1
- package/dest/avm/public_inner_call_request.js +0 -74
- package/dest/block/checkpointed_l2_block.d.ts +0 -150
- package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
- package/dest/block/checkpointed_l2_block.js +0 -46
- package/dest/config/pipelining-config.d.ts +0 -19
- package/dest/config/pipelining-config.d.ts.map +0 -1
- package/dest/config/pipelining-config.js +0 -18
- package/dest/contract/deployment_info.d.ts +0 -24
- package/dest/contract/deployment_info.d.ts.map +0 -1
- package/dest/contract/deployment_info.js +0 -3
- package/dest/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/interfaces/prover-coordination.d.ts +0 -15
- package/dest/interfaces/prover-coordination.d.ts.map +0 -1
- package/dest/interfaces/prover-coordination.js +0 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
- package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
- package/dest/kernel/utils/optional_number.d.ts +0 -31
- package/dest/kernel/utils/optional_number.d.ts.map +0 -1
- package/dest/kernel/utils/optional_number.js +0 -42
- package/dest/l1-contracts/slash_factory.d.ts +0 -45
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -158
- package/dest/logs/extended_contract_class_log.d.ts +0 -51
- package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
- package/dest/logs/extended_contract_class_log.js +0 -67
- package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
- package/dest/logs/extended_public_log.d.ts +0 -106
- package/dest/logs/extended_public_log.d.ts.map +0 -1
- package/dest/logs/extended_public_log.js +0 -73
- package/dest/logs/log_filter.d.ts +0 -25
- package/dest/logs/log_filter.d.ts.map +0 -1
- package/dest/logs/log_filter.js +0 -12
- package/dest/logs/log_id.d.ts +0 -85
- package/dest/logs/log_id.d.ts.map +0 -1
- package/dest/logs/log_id.js +0 -94
- package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
- package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
- package/dest/logs/tx_scoped_l2_log.js +0 -77
- package/dest/p2p/interface.d.ts +0 -5
- package/dest/p2p/interface.d.ts.map +0 -1
- package/dest/p2p/interface.js +0 -1
- package/dest/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -87
- package/dest/tx/validator/empty_validator.d.ts +0 -5
- package/dest/tx/validator/empty_validator.d.ts.map +0 -1
- package/dest/tx/validator/empty_validator.js +0 -7
- package/src/abi/mocked_keys.ts +0 -2
- package/src/avm/contract_storage_read.ts +0 -77
- package/src/avm/contract_storage_update_request.ts +0 -93
- package/src/avm/public_call_stack_item_compressed.ts +0 -113
- package/src/avm/public_data_update_request.ts +0 -106
- package/src/avm/public_inner_call_request.ts +0 -85
- package/src/block/checkpointed_l2_block.ts +0 -70
- package/src/config/pipelining-config.ts +0 -31
- package/src/contract/deployment_info.ts +0 -25
- package/src/interfaces/epoch-prover.ts +0 -72
- package/src/interfaces/get_logs_response.ts +0 -35
- package/src/interfaces/prover-coordination.ts +0 -17
- package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
- package/src/kernel/utils/optional_number.ts +0 -50
- package/src/l1-contracts/slash_factory.ts +0 -180
- package/src/logs/extended_contract_class_log.ts +0 -87
- package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
- package/src/logs/extended_public_log.ts +0 -94
- package/src/logs/log_filter.ts +0 -36
- package/src/logs/log_id.ts +0 -125
- package/src/logs/tx_scoped_l2_log.ts +0 -114
- package/src/p2p/interface.ts +0 -4
- package/src/slashing/empire.ts +0 -104
- package/src/tx/validator/empty_validator.ts +0 -7
|
@@ -3,25 +3,28 @@ import { schemas, zodFor } from '@aztec/foundation/schemas';
|
|
|
3
3
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
|
|
6
|
-
export type SlasherClientType = 'empire' | 'tally';
|
|
7
|
-
|
|
8
6
|
export interface SlasherConfig {
|
|
9
7
|
slashOverridePayload?: EthAddress;
|
|
10
|
-
slashMinPenaltyPercentage: number;
|
|
11
|
-
slashMaxPenaltyPercentage: number;
|
|
12
8
|
slashSelfAllowed?: boolean; // Whether to allow slashes to own validators
|
|
13
9
|
slashValidatorsAlways: EthAddress[]; // Array of validator addresses
|
|
14
10
|
slashValidatorsNever: EthAddress[]; // Array of validator addresses
|
|
15
11
|
slashInactivityTargetPercentage: number; // 0-1, 0.9 means 90%. Must be greater than 0
|
|
16
12
|
slashInactivityConsecutiveEpochThreshold: number; // Number of consecutive epochs a validator must be inactive before slashing
|
|
17
|
-
slashPrunePenalty: bigint;
|
|
18
13
|
slashDataWithholdingPenalty: bigint;
|
|
14
|
+
/**
|
|
15
|
+
* Number of full L2 slots that must elapse after a checkpoint's slot before declaring its
|
|
16
|
+
* txs missing and slashing the checkpoint's attesters for data withholding. With tolerance
|
|
17
|
+
* = N and checkpoint slot S, the check fires at the start of slot `S + N + 1`.
|
|
18
|
+
*/
|
|
19
|
+
slashDataWithholdingToleranceSlots: number;
|
|
19
20
|
slashInactivityPenalty: bigint;
|
|
20
21
|
slashBroadcastedInvalidBlockPenalty: bigint;
|
|
22
|
+
slashBroadcastedInvalidCheckpointProposalPenalty: bigint;
|
|
21
23
|
slashDuplicateProposalPenalty: bigint;
|
|
22
24
|
slashDuplicateAttestationPenalty: bigint;
|
|
23
25
|
slashProposeInvalidAttestationsPenalty: bigint;
|
|
24
|
-
|
|
26
|
+
slashProposeDescendantOfCheckpointWithInvalidAttestationsPenalty: bigint;
|
|
27
|
+
slashAttestInvalidCheckpointProposalPenalty: bigint;
|
|
25
28
|
slashUnknownPenalty: bigint;
|
|
26
29
|
slashOffenseExpirationRounds: number; // Number of rounds after which pending offenses expire
|
|
27
30
|
slashMaxPayloadSize: number; // Maximum number of offenses to include in a single slash payload
|
|
@@ -32,19 +35,23 @@ export interface SlasherConfig {
|
|
|
32
35
|
export const SlasherConfigSchema = zodFor<SlasherConfig>()(
|
|
33
36
|
z.object({
|
|
34
37
|
slashOverridePayload: schemas.EthAddress.optional(),
|
|
35
|
-
slashMinPenaltyPercentage: z.number(),
|
|
36
|
-
slashMaxPenaltyPercentage: z.number(),
|
|
37
38
|
slashValidatorsAlways: z.array(schemas.EthAddress),
|
|
38
39
|
slashValidatorsNever: z.array(schemas.EthAddress),
|
|
39
|
-
slashPrunePenalty: schemas.BigInt,
|
|
40
40
|
slashDataWithholdingPenalty: schemas.BigInt,
|
|
41
|
+
// Tolerated as undefined to allow validating responses from older node images that
|
|
42
|
+
// predate the per-slot data-withholding watcher (PR #23116).
|
|
43
|
+
slashDataWithholdingToleranceSlots: z.number().default(3),
|
|
41
44
|
slashInactivityTargetPercentage: z.number(),
|
|
42
45
|
slashInactivityConsecutiveEpochThreshold: z.number(),
|
|
43
46
|
slashInactivityPenalty: schemas.BigInt,
|
|
44
47
|
slashProposeInvalidAttestationsPenalty: schemas.BigInt,
|
|
48
|
+
// Tolerated as undefined to allow validating responses from older node images that
|
|
49
|
+
// predate this slasher penalty being added.
|
|
50
|
+
slashBroadcastedInvalidCheckpointProposalPenalty: schemas.BigInt.default(0n),
|
|
45
51
|
slashDuplicateProposalPenalty: schemas.BigInt,
|
|
46
52
|
slashDuplicateAttestationPenalty: schemas.BigInt,
|
|
47
|
-
|
|
53
|
+
slashProposeDescendantOfCheckpointWithInvalidAttestationsPenalty: schemas.BigInt,
|
|
54
|
+
slashAttestInvalidCheckpointProposalPenalty: schemas.BigInt,
|
|
48
55
|
slashUnknownPenalty: schemas.BigInt,
|
|
49
56
|
slashOffenseExpirationRounds: z.number(),
|
|
50
57
|
slashMaxPayloadSize: z.number(),
|
|
@@ -7,6 +7,16 @@ import type { PeerId } from '@libp2p/interface';
|
|
|
7
7
|
export interface ITxProvider {
|
|
8
8
|
getAvailableTxs(txHashes: TxHash[]): Promise<{ txs: Tx[]; missingTxs: TxHash[] }>;
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Checks whether each tx hash is currently held by the local tx pool. Returns a parallel
|
|
12
|
+
* boolean array (one entry per input hash). Does not fetch from the network.
|
|
13
|
+
*/
|
|
14
|
+
hasTxs(txHashes: TxHash[]): Promise<boolean[]>;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Collects the txs for a block proposal from the tx pool, the proposal body, and the network.
|
|
18
|
+
* @throws InvalidBlockProposalTxsError - If a tx carried in the proposal fails minimum integrity validation.
|
|
19
|
+
*/
|
|
10
20
|
getTxsForBlockProposal(
|
|
11
21
|
blockProposal: BlockProposal,
|
|
12
22
|
blockNumber: number,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import type { SecretValue } from '@aztec/foundation/config';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
@@ -9,7 +9,6 @@ import type {
|
|
|
9
9
|
BlockProposal,
|
|
10
10
|
BlockProposalOptions,
|
|
11
11
|
CheckpointAttestation,
|
|
12
|
-
CheckpointLastBlockData,
|
|
13
12
|
CheckpointProposal,
|
|
14
13
|
CheckpointProposalOptions,
|
|
15
14
|
} from '@aztec/stdlib/p2p';
|
|
@@ -20,6 +19,7 @@ import type { PeerId } from '@libp2p/interface';
|
|
|
20
19
|
import { z } from 'zod';
|
|
21
20
|
|
|
22
21
|
import type { CommitteeAttestationsAndSigners } from '../block/index.js';
|
|
22
|
+
import type { ChainConfig } from '../config/chain-config.js';
|
|
23
23
|
import {
|
|
24
24
|
type LocalSignerConfig,
|
|
25
25
|
LocalSignerConfigSchema,
|
|
@@ -33,6 +33,9 @@ import { AllowedElementSchema } from './allowed_element.js';
|
|
|
33
33
|
*/
|
|
34
34
|
export type ValidatorClientConfig = ValidatorHASignerConfig &
|
|
35
35
|
LocalSignerConfig & {
|
|
36
|
+
/** The L1 chain id used for EIP-712 proposal-path signing. */
|
|
37
|
+
l1ChainId: ChainConfig['l1ChainId'];
|
|
38
|
+
|
|
36
39
|
/** The private keys of the validators participating in attestation duties */
|
|
37
40
|
validatorPrivateKeys?: SecretValue<`0x${string}`[]>;
|
|
38
41
|
|
|
@@ -48,10 +51,7 @@ export type ValidatorClientConfig = ValidatorHASignerConfig &
|
|
|
48
51
|
/** Interval between polling for new attestations from peers */
|
|
49
52
|
attestationPollingIntervalMs: number;
|
|
50
53
|
|
|
51
|
-
/** Whether to
|
|
52
|
-
validatorReexecute: boolean;
|
|
53
|
-
|
|
54
|
-
/** Whether to always reexecute block proposals, even for non-validator nodes or when out of the currnet committee */
|
|
54
|
+
/** Whether to always reexecute block proposals, even for non-validator nodes or when out of the current committee */
|
|
55
55
|
alwaysReexecuteBlockProposals?: boolean;
|
|
56
56
|
|
|
57
57
|
/** Whether to run in fisherman mode: validates all proposals and attestations but does not broadcast attestations or participate in consensus */
|
|
@@ -66,6 +66,9 @@ export type ValidatorClientConfig = ValidatorHASignerConfig &
|
|
|
66
66
|
/** Agree to attest to equivocated checkpoint proposals (for testing purposes only) */
|
|
67
67
|
attestToEquivocatedProposals?: boolean;
|
|
68
68
|
|
|
69
|
+
/** Accept proposal validation regardless of slot timing (for testing only) */
|
|
70
|
+
skipProposalSlotValidation?: boolean;
|
|
71
|
+
|
|
69
72
|
/** Maximum L2 gas per block for validation. Proposals exceeding this limit are rejected. */
|
|
70
73
|
validateMaxL2BlockGas?: number;
|
|
71
74
|
|
|
@@ -80,30 +83,44 @@ export type ValidatorClientConfig = ValidatorHASignerConfig &
|
|
|
80
83
|
};
|
|
81
84
|
|
|
82
85
|
export type ValidatorClientFullConfig = ValidatorClientConfig &
|
|
83
|
-
Pick<SequencerConfig, 'txPublicSetupAllowListExtend' | 'broadcastInvalidBlockProposal'> &
|
|
86
|
+
Pick<SequencerConfig, 'txPublicSetupAllowListExtend' | 'broadcastInvalidBlockProposal' | 'maxBlocksPerCheckpoint'> &
|
|
87
|
+
// `blockDurationMs` is optional on the loose `SequencerConfig` but is always populated via the shared
|
|
88
|
+
// `numberConfigHelper(3000)` mapping, so it is required on the fully-resolved validator config.
|
|
89
|
+
Required<Pick<SequencerConfig, 'blockDurationMs'>> &
|
|
84
90
|
Pick<
|
|
85
91
|
SlasherConfig,
|
|
86
|
-
|
|
92
|
+
| 'slashBroadcastedInvalidBlockPenalty'
|
|
93
|
+
| 'slashBroadcastedInvalidCheckpointProposalPenalty'
|
|
94
|
+
| 'slashDuplicateProposalPenalty'
|
|
95
|
+
| 'slashDuplicateAttestationPenalty'
|
|
96
|
+
| 'slashAttestInvalidCheckpointProposalPenalty'
|
|
87
97
|
> & {
|
|
88
98
|
/**
|
|
89
99
|
* Whether transactions are disabled for this node
|
|
90
100
|
* @remarks This should match the property in P2PConfig. It's not picked from there to avoid circular dependencies.
|
|
91
101
|
*/
|
|
92
102
|
disableTransactions?: boolean;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Maximum clock-disparity tolerance (ms) applied to proposal/attestation receive windows.
|
|
106
|
+
* @remarks Mirrors the property in P2PConfig. It's not picked from there to avoid circular dependencies.
|
|
107
|
+
*/
|
|
108
|
+
maxGossipClockDisparityMs?: number;
|
|
93
109
|
};
|
|
94
110
|
|
|
95
111
|
export const ValidatorClientConfigSchema = zodFor<Omit<ValidatorClientConfig, 'validatorPrivateKeys'>>()(
|
|
96
112
|
ValidatorHASignerConfigSchema.merge(LocalSignerConfigSchema).extend({
|
|
113
|
+
l1ChainId: z.number().int().nonnegative(),
|
|
97
114
|
validatorAddresses: z.array(schemas.EthAddress).optional(),
|
|
98
115
|
disableValidator: z.boolean(),
|
|
99
116
|
disabledValidators: z.array(schemas.EthAddress),
|
|
100
117
|
attestationPollingIntervalMs: z.number().min(0),
|
|
101
|
-
validatorReexecute: z.boolean(),
|
|
102
118
|
alwaysReexecuteBlockProposals: z.boolean().optional(),
|
|
103
119
|
fishermanMode: z.boolean().optional(),
|
|
104
120
|
skipCheckpointProposalValidation: z.boolean().optional(),
|
|
105
121
|
skipPushProposedBlocksToArchiver: z.boolean().optional(),
|
|
106
122
|
attestToEquivocatedProposals: z.boolean().optional(),
|
|
123
|
+
skipProposalSlotValidation: z.boolean().optional(),
|
|
107
124
|
validateMaxL2BlockGas: z.number().optional(),
|
|
108
125
|
validateMaxDABlockGas: z.number().optional(),
|
|
109
126
|
validateMaxTxsPerBlock: z.number().optional(),
|
|
@@ -115,15 +132,18 @@ export const ValidatorClientFullConfigSchema = zodFor<Omit<ValidatorClientFullCo
|
|
|
115
132
|
ValidatorClientConfigSchema.extend({
|
|
116
133
|
txPublicSetupAllowListExtend: z.array(AllowedElementSchema).optional(),
|
|
117
134
|
broadcastInvalidBlockProposal: z.boolean().optional(),
|
|
135
|
+
blockDurationMs: z.number().positive(),
|
|
136
|
+
maxBlocksPerCheckpoint: z.number().positive().optional(),
|
|
118
137
|
slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
|
|
138
|
+
slashBroadcastedInvalidCheckpointProposalPenalty: schemas.BigInt,
|
|
119
139
|
slashDuplicateProposalPenalty: schemas.BigInt,
|
|
120
140
|
slashDuplicateAttestationPenalty: schemas.BigInt,
|
|
141
|
+
slashAttestInvalidCheckpointProposalPenalty: schemas.BigInt,
|
|
121
142
|
disableTransactions: z.boolean().optional(),
|
|
143
|
+
maxGossipClockDisparityMs: z.number().optional(),
|
|
122
144
|
}),
|
|
123
145
|
);
|
|
124
146
|
|
|
125
|
-
export type CreateCheckpointProposalLastBlockData = Omit<CheckpointLastBlockData, 'txHashes'> & { txs: Tx[] };
|
|
126
|
-
|
|
127
147
|
export interface Validator {
|
|
128
148
|
start(): Promise<void>;
|
|
129
149
|
updateConfig(config: Partial<ValidatorClientFullConfig>): void;
|
|
@@ -131,6 +151,7 @@ export interface Validator {
|
|
|
131
151
|
// Block validation responsibilities
|
|
132
152
|
createBlockProposal(
|
|
133
153
|
blockHeader: BlockHeader,
|
|
154
|
+
checkpointNumber: CheckpointNumber,
|
|
134
155
|
indexWithinCheckpoint: number,
|
|
135
156
|
inHash: Fr,
|
|
136
157
|
archive: Fr,
|
|
@@ -143,8 +164,9 @@ export interface Validator {
|
|
|
143
164
|
createCheckpointProposal(
|
|
144
165
|
checkpointHeader: CheckpointHeader,
|
|
145
166
|
archive: Fr,
|
|
167
|
+
checkpointNumber: CheckpointNumber,
|
|
146
168
|
feeAssetPriceModifier: bigint,
|
|
147
|
-
|
|
169
|
+
lastBlockProposal: BlockProposal | undefined,
|
|
148
170
|
proposerAddress: EthAddress | undefined,
|
|
149
171
|
options: CheckpointProposalOptions,
|
|
150
172
|
): Promise<CheckpointProposal>;
|
|
@@ -168,15 +190,23 @@ export interface Validator {
|
|
|
168
190
|
broadcastBlockProposal(proposal: BlockProposal): Promise<void>;
|
|
169
191
|
|
|
170
192
|
/** Collect own attestations for a checkpoint proposal (used when skipping p2p attestation collection) */
|
|
171
|
-
collectOwnAttestations(
|
|
193
|
+
collectOwnAttestations(
|
|
194
|
+
proposal: CheckpointProposal,
|
|
195
|
+
checkpointNumber: CheckpointNumber,
|
|
196
|
+
): Promise<CheckpointAttestation[]>;
|
|
172
197
|
|
|
173
198
|
/** Collect attestations from the p2p network for a checkpoint proposal */
|
|
174
|
-
collectAttestations(
|
|
199
|
+
collectAttestations(
|
|
200
|
+
proposal: CheckpointProposal,
|
|
201
|
+
required: number,
|
|
202
|
+
deadline: Date,
|
|
203
|
+
checkpointNumber: CheckpointNumber,
|
|
204
|
+
): Promise<CheckpointAttestation[]>;
|
|
175
205
|
|
|
176
206
|
signAttestationsAndSigners(
|
|
177
207
|
attestationsAndSigners: CommitteeAttestationsAndSigners,
|
|
178
208
|
proposer: EthAddress,
|
|
179
209
|
slot: SlotNumber,
|
|
180
|
-
|
|
210
|
+
checkpointNumber: CheckpointNumber,
|
|
181
211
|
): Promise<Signature>;
|
|
182
212
|
}
|
|
@@ -65,6 +65,20 @@ export interface ReadonlyWorldStateAccess {
|
|
|
65
65
|
|
|
66
66
|
/** Defines the interface for a world state synchronizer. */
|
|
67
67
|
export interface WorldStateSynchronizer extends ReadonlyWorldStateAccess, ForkMerkleTreeOperations {
|
|
68
|
+
/**
|
|
69
|
+
* Returns a read handle to the world state at `blockNumber`, but only after verifying that the block at that
|
|
70
|
+
* height is on the fork identified by `blockHash`. This pins the returned view to a specific fork so a reorg
|
|
71
|
+
* that replaced the block at `blockNumber` cannot be served silently, closing the gap between resolving a query
|
|
72
|
+
* and reading its snapshot.
|
|
73
|
+
*
|
|
74
|
+
* Rejects if the block at `blockNumber` does not match `blockHash` (a reorg), or if the block's hash cannot be
|
|
75
|
+
* read from the requested view. Both are transient from a caller's perspective: re-resolving the query against
|
|
76
|
+
* the current chain and retrying may succeed or produce a more precise error. However, if the block's history
|
|
77
|
+
* has been pruned away (it predates the oldest historical block kept by world state), the rejection is terminal:
|
|
78
|
+
* retrying cannot bring the data back.
|
|
79
|
+
*/
|
|
80
|
+
getVerifiedSnapshot(blockNumber: BlockNumber, blockHash: BlockHash): Promise<MerkleTreeReadOperations>;
|
|
81
|
+
|
|
68
82
|
/** Starts the synchronizer. */
|
|
69
83
|
start(): Promise<void | PromiseWithResolvers<void>>;
|
|
70
84
|
|
|
@@ -92,7 +106,7 @@ export interface WorldStateSynchronizer extends ReadonlyWorldStateAccess, ForkMe
|
|
|
92
106
|
clear(): Promise<void>;
|
|
93
107
|
}
|
|
94
108
|
|
|
95
|
-
export const WorldStateSyncStatusSchema: z.ZodType<WorldStateSyncStatus,
|
|
109
|
+
export const WorldStateSyncStatusSchema: z.ZodType<WorldStateSyncStatus, any> = z.object({
|
|
96
110
|
finalizedBlockNumber: BlockNumberSchema,
|
|
97
111
|
latestBlockNumber: BlockNumberSchema,
|
|
98
112
|
latestBlockHash: z.string(),
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { isDefined } from '@aztec/foundation/types';
|
|
2
|
-
|
|
3
1
|
import {
|
|
4
2
|
PrivateKernelResetDimensions,
|
|
5
3
|
type PrivateKernelResetDimensionsConfig,
|
|
4
|
+
type ResetCatalogEntry,
|
|
6
5
|
privateKernelResetDimensionNames,
|
|
7
6
|
} from '../private_kernel_reset_dimensions.js';
|
|
8
7
|
|
|
@@ -12,13 +11,6 @@ interface DimensionOption {
|
|
|
12
11
|
remainder?: PrivateKernelResetDimensions;
|
|
13
12
|
}
|
|
14
13
|
|
|
15
|
-
function computeCost(dimensions: PrivateKernelResetDimensions, config: PrivateKernelResetDimensionsConfig) {
|
|
16
|
-
return privateKernelResetDimensionNames.reduce(
|
|
17
|
-
(accum, name) => accum + dimensions[name] * config.dimensions[name].cost,
|
|
18
|
-
0,
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
14
|
function getSize(dimensions: PrivateKernelResetDimensions) {
|
|
23
15
|
return privateKernelResetDimensionNames.reduce((accum, name) => accum + dimensions[name], 0);
|
|
24
16
|
}
|
|
@@ -38,124 +30,42 @@ function getRemainder(
|
|
|
38
30
|
return remainingDimensions ? remainder : undefined;
|
|
39
31
|
}
|
|
40
32
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
// If no such value is found, returns the max value.
|
|
49
|
-
return minGte ?? Math.max(...values);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function pickCheapest(options: DimensionOption[]) {
|
|
53
|
-
return options.reduce((prev, curr) => (curr.cost < prev.cost ? curr : prev), options[0]);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function pickSmallestRemainder(options: DimensionOption[]) {
|
|
57
|
-
const optionsWithSize = options
|
|
58
|
-
.filter(o => o.remainder)
|
|
59
|
-
.map(option => ({ option, size: getSize(option.remainder!) }));
|
|
60
|
-
return optionsWithSize.reduce((prev, curr) => (curr.size < prev.size ? curr : prev), optionsWithSize[0])?.option;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function pickBestOption(options: DimensionOption[]) {
|
|
64
|
-
const optionsResetAll = options.filter(opt => !opt.remainder);
|
|
65
|
-
const optionsResetPartial = options.filter(opt => opt.remainder);
|
|
66
|
-
// The best option is the cheapest one that can reset all dimensions.
|
|
67
|
-
// If no such option exists, find one that can reset the most data.
|
|
68
|
-
return pickCheapest(optionsResetAll) || pickSmallestRemainder(optionsResetPartial);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
function findVariant(
|
|
72
|
-
requestedDimensions: PrivateKernelResetDimensions,
|
|
73
|
-
config: PrivateKernelResetDimensionsConfig,
|
|
74
|
-
isQualified: (dimensions: PrivateKernelResetDimensions) => boolean,
|
|
75
|
-
): DimensionOption | undefined {
|
|
76
|
-
const variant = PrivateKernelResetDimensions.empty();
|
|
77
|
-
privateKernelResetDimensionNames.forEach(name => {
|
|
78
|
-
variant[name] = pickFromValues(requestedDimensions[name], config.dimensions[name].variants);
|
|
79
|
-
});
|
|
80
|
-
if (!isQualified(variant)) {
|
|
81
|
-
return;
|
|
33
|
+
// Returns the cheapest option that fully covers the request, or the option with the smallest
|
|
34
|
+
// remainder if none do. Caller must pass a non-empty list.
|
|
35
|
+
function pickBestOption(options: DimensionOption[]): DimensionOption {
|
|
36
|
+
const fullCoverage = options.filter(opt => !opt.remainder);
|
|
37
|
+
if (fullCoverage.length) {
|
|
38
|
+
return fullCoverage.reduce((prev, curr) => (curr.cost < prev.cost ? curr : prev));
|
|
82
39
|
}
|
|
83
|
-
|
|
84
|
-
return {
|
|
85
|
-
dimensions: variant,
|
|
86
|
-
cost: computeCost(variant, config),
|
|
87
|
-
remainder: getRemainder(requestedDimensions, variant),
|
|
88
|
-
};
|
|
40
|
+
return options.reduce((prev, curr) => (getSize(curr.remainder!) < getSize(prev.remainder!) ? curr : prev));
|
|
89
41
|
}
|
|
90
42
|
|
|
91
|
-
function
|
|
92
|
-
|
|
93
|
-
config: PrivateKernelResetDimensionsConfig,
|
|
94
|
-
isQualified: (dimensions: PrivateKernelResetDimensions) => boolean,
|
|
95
|
-
): DimensionOption | undefined {
|
|
96
|
-
const needsReset = privateKernelResetDimensionNames.filter(name => requestedDimensions[name] > 0);
|
|
97
|
-
if (needsReset.length !== 1) {
|
|
98
|
-
// At the moment, we only use standalone to reset one dimension when it's about to overflow.
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const name = needsReset[0];
|
|
103
|
-
const value = pickFromValues(requestedDimensions[name], config.dimensions[name].standalone);
|
|
104
|
-
if (!value) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
const dimensions = PrivateKernelResetDimensions.from({ [name]: value });
|
|
109
|
-
if (!isQualified(dimensions)) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
|
|
43
|
+
function buildOption(entry: ResetCatalogEntry, requestedDimensions: PrivateKernelResetDimensions): DimensionOption {
|
|
44
|
+
const dimensions = PrivateKernelResetDimensions.fromValues(entry.dimensions);
|
|
113
45
|
return {
|
|
114
46
|
dimensions,
|
|
115
|
-
cost:
|
|
47
|
+
cost: entry.cost,
|
|
116
48
|
remainder: getRemainder(requestedDimensions, dimensions),
|
|
117
49
|
};
|
|
118
50
|
}
|
|
119
51
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
const options = specialCases.filter(isQualified).map(dimensions => ({
|
|
127
|
-
dimensions,
|
|
128
|
-
cost: computeCost(dimensions, config),
|
|
129
|
-
remainder: getRemainder(requestedDimensions, dimensions),
|
|
130
|
-
}));
|
|
131
|
-
return pickBestOption(options);
|
|
132
|
-
}
|
|
52
|
+
/**
|
|
53
|
+
* Picks which catalog group the selector should search. Mid-tx resets go to `inner` (no
|
|
54
|
+
* siloing); terminal kernels go to `finalTail` or `finalTailToPublic`, depending on whether
|
|
55
|
+
* the tx has public function calls.
|
|
56
|
+
*/
|
|
57
|
+
export type ResetDimensionsMode = 'inner' | 'finalTail' | 'finalTailToPublic';
|
|
133
58
|
|
|
134
59
|
export function findPrivateKernelResetDimensions(
|
|
135
60
|
requestedDimensions: PrivateKernelResetDimensions,
|
|
136
61
|
config: PrivateKernelResetDimensionsConfig,
|
|
137
|
-
|
|
62
|
+
mode: ResetDimensionsMode,
|
|
138
63
|
allowRemainder = false,
|
|
139
64
|
) {
|
|
140
|
-
const
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
const isQualified = !isInner
|
|
146
|
-
? isEnough
|
|
147
|
-
: // If isInner is true, it's a reset to prevent overflow. The following must be zero because siloing can't be done at the moment.
|
|
148
|
-
(dimensions: PrivateKernelResetDimensions) =>
|
|
149
|
-
dimensions.NOTE_HASH_SILOING === 0 &&
|
|
150
|
-
dimensions.NULLIFIER_SILOING === 0 &&
|
|
151
|
-
dimensions.PRIVATE_LOG_SILOING === 0 &&
|
|
152
|
-
isEnough(dimensions);
|
|
153
|
-
|
|
154
|
-
const options = [
|
|
155
|
-
findVariant(requestedDimensions, config, isQualified),
|
|
156
|
-
findStandalone(requestedDimensions, config, isQualified),
|
|
157
|
-
findSpecialCase(requestedDimensions, config, isQualified),
|
|
158
|
-
].filter(isDefined);
|
|
65
|
+
const catalog = config[mode];
|
|
66
|
+
const options = catalog
|
|
67
|
+
.map(entry => buildOption(entry, requestedDimensions))
|
|
68
|
+
.filter(option => allowRemainder || !option.remainder);
|
|
159
69
|
|
|
160
70
|
if (!options.length) {
|
|
161
71
|
throw new Error(`Cannot find an option for dimension: ${requestedDimensions.toValues()}`);
|
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
import { KEY_VALIDATION_REQUEST_LENGTH } from '@aztec/constants';
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
-
import { GrumpkinScalar
|
|
3
|
+
import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
4
4
|
import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Request for validating keys used in the app.
|
|
8
|
+
*
|
|
9
|
+
* The master public key is exposed only as `pkMHash` (its `hashPublicKey` digest).
|
|
10
|
+
* The kernel reset circuit derives the corresponding point from the master secret key hint and
|
|
11
|
+
* asserts that its hash matches `pkMHash`.
|
|
8
12
|
*/
|
|
9
13
|
export class KeyValidationRequest {
|
|
10
|
-
/** App-siloed secret key corresponding to the same underlying secret as
|
|
14
|
+
/** App-siloed secret key corresponding to the same underlying secret as `pkMHash`. */
|
|
11
15
|
public readonly skApp: Fr;
|
|
12
16
|
|
|
13
17
|
constructor(
|
|
14
|
-
/**
|
|
15
|
-
public readonly
|
|
18
|
+
/** Hash of the master public key corresponding to the same underlying secret as `skApp`. */
|
|
19
|
+
public readonly pkMHash: Fr,
|
|
16
20
|
skApp: Fr | GrumpkinScalar,
|
|
17
21
|
) {
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
// the skApp as GrumpkinScalar it was converted to that form from Fr. So, it is safe to convert it back
|
|
21
|
-
// to Fr. If this would change in the future the code below will throw an error so it should be easy to debug.
|
|
22
|
+
// skApp may arrive as a GrumpkinScalar (Fq) in some code paths; safe to truncate to Fr because
|
|
23
|
+
// the value originally came from an Fr poseidon hash and was widened to GrumpkinScalar.
|
|
22
24
|
this.skApp = skApp instanceof Fr ? skApp : new Fr(skApp.toBigInt());
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
toBuffer() {
|
|
26
|
-
return serializeToBuffer(this.
|
|
28
|
+
return serializeToBuffer(this.pkMHash, this.skApp);
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
get skAppAsGrumpkinScalar() {
|
|
@@ -32,11 +34,11 @@ export class KeyValidationRequest {
|
|
|
32
34
|
|
|
33
35
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
34
36
|
const reader = BufferReader.asReader(buffer);
|
|
35
|
-
return new KeyValidationRequest(
|
|
37
|
+
return new KeyValidationRequest(Fr.fromBuffer(reader), Fr.fromBuffer(reader));
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
toFields(): Fr[] {
|
|
39
|
-
const fields = [this.
|
|
41
|
+
const fields = [this.pkMHash, this.skApp];
|
|
40
42
|
if (fields.length !== KEY_VALIDATION_REQUEST_LENGTH) {
|
|
41
43
|
throw new Error(
|
|
42
44
|
`Invalid number of fields for KeyValidationRequest. Expected ${KEY_VALIDATION_REQUEST_LENGTH}, got ${fields.length}`,
|
|
@@ -47,18 +49,18 @@ export class KeyValidationRequest {
|
|
|
47
49
|
|
|
48
50
|
static fromFields(fields: Fr[] | FieldReader): KeyValidationRequest {
|
|
49
51
|
const reader = FieldReader.asReader(fields);
|
|
50
|
-
return new KeyValidationRequest(
|
|
52
|
+
return new KeyValidationRequest(reader.readField(), reader.readField());
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
isEmpty() {
|
|
54
|
-
return this.
|
|
56
|
+
return this.pkMHash.isZero() && this.skApp.isZero();
|
|
55
57
|
}
|
|
56
58
|
|
|
57
59
|
static empty() {
|
|
58
|
-
return new KeyValidationRequest(
|
|
60
|
+
return new KeyValidationRequest(Fr.ZERO, Fr.ZERO);
|
|
59
61
|
}
|
|
60
62
|
|
|
61
|
-
static
|
|
62
|
-
return new KeyValidationRequest(
|
|
63
|
+
static random() {
|
|
64
|
+
return new KeyValidationRequest(Fr.random(), Fr.random());
|
|
63
65
|
}
|
|
64
66
|
}
|
|
@@ -112,7 +112,7 @@ export class ScopedReadRequest {
|
|
|
112
112
|
|
|
113
113
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
114
114
|
const reader = FieldReader.asReader(fields);
|
|
115
|
-
return new ScopedReadRequest(reader.readObject(ReadRequest), AztecAddress.
|
|
115
|
+
return new ScopedReadRequest(reader.readObject(ReadRequest), AztecAddress.fromFieldUnsafe(reader.readField()));
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
/**
|
package/src/kernel/index.ts
CHANGED
|
@@ -7,10 +7,18 @@ export * from './private_call_data.js';
|
|
|
7
7
|
export * from './private_kernel_circuit_public_inputs.js';
|
|
8
8
|
export * from './private_kernel_data.js';
|
|
9
9
|
export * from './private_kernel_init_circuit_private_inputs.js';
|
|
10
|
+
export * from './private_kernel_init_2_circuit_private_inputs.js';
|
|
11
|
+
export * from './private_kernel_init_3_circuit_private_inputs.js';
|
|
12
|
+
export * from './private_kernel_init_4_circuit_private_inputs.js';
|
|
13
|
+
export * from './private_kernel_init_5_circuit_private_inputs.js';
|
|
10
14
|
export * from './private_kernel_inner_circuit_private_inputs.js';
|
|
15
|
+
export * from './private_kernel_inner_2_circuit_private_inputs.js';
|
|
16
|
+
export * from './private_kernel_inner_3_circuit_private_inputs.js';
|
|
17
|
+
export * from './private_kernel_inner_4_circuit_private_inputs.js';
|
|
18
|
+
export * from './private_kernel_inner_5_circuit_private_inputs.js';
|
|
11
19
|
export * from './private_kernel_reset_circuit_private_inputs.js';
|
|
12
20
|
export * from './private_kernel_reset_dimensions.js';
|
|
13
|
-
export * from './
|
|
21
|
+
export * from './private_kernel_reset_tail_circuit_private_inputs.js';
|
|
14
22
|
export * from './private_kernel_tail_circuit_public_inputs.js';
|
|
15
23
|
export * from './private_to_avm_accumulated_data.js';
|
|
16
24
|
export * from './private_to_public_accumulated_data.js';
|
package/src/kernel/log_hash.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import { BufferReader, FieldReader,
|
|
2
|
+
import { BufferReader, BufferSink, FieldReader, serializeToSink } from '@aztec/foundation/serialize';
|
|
3
3
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
4
4
|
|
|
5
5
|
import { inspect } from 'util';
|
|
@@ -33,8 +33,13 @@ export class LogHash {
|
|
|
33
33
|
return new LogHash(Fr.zero(), 0);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
toBuffer(): Buffer
|
|
37
|
-
|
|
36
|
+
toBuffer(): Buffer;
|
|
37
|
+
toBuffer(sink: BufferSink): void;
|
|
38
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
39
|
+
if (!sink) {
|
|
40
|
+
return BufferSink.serialize(this);
|
|
41
|
+
}
|
|
42
|
+
serializeToSink(sink, this.value, this.length);
|
|
38
43
|
}
|
|
39
44
|
|
|
40
45
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
@@ -78,8 +83,13 @@ export class CountedLogHash {
|
|
|
78
83
|
return new CountedLogHash(LogHash.empty(), 0);
|
|
79
84
|
}
|
|
80
85
|
|
|
81
|
-
toBuffer(): Buffer
|
|
82
|
-
|
|
86
|
+
toBuffer(): Buffer;
|
|
87
|
+
toBuffer(sink: BufferSink): void;
|
|
88
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
89
|
+
if (!sink) {
|
|
90
|
+
return BufferSink.serialize(this);
|
|
91
|
+
}
|
|
92
|
+
serializeToSink(sink, this.logHash, this.counter);
|
|
83
93
|
}
|
|
84
94
|
|
|
85
95
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
@@ -104,7 +114,7 @@ export class ScopedLogHash {
|
|
|
104
114
|
|
|
105
115
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
106
116
|
const reader = FieldReader.asReader(fields);
|
|
107
|
-
return new ScopedLogHash(reader.readObject(LogHash), AztecAddress.
|
|
117
|
+
return new ScopedLogHash(reader.readObject(LogHash), AztecAddress.fromFieldUnsafe(reader.readField()));
|
|
108
118
|
}
|
|
109
119
|
|
|
110
120
|
isEmpty() {
|
|
@@ -115,8 +125,13 @@ export class ScopedLogHash {
|
|
|
115
125
|
return new ScopedLogHash(LogHash.empty(), AztecAddress.ZERO);
|
|
116
126
|
}
|
|
117
127
|
|
|
118
|
-
toBuffer(): Buffer
|
|
119
|
-
|
|
128
|
+
toBuffer(): Buffer;
|
|
129
|
+
toBuffer(sink: BufferSink): void;
|
|
130
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
131
|
+
if (!sink) {
|
|
132
|
+
return BufferSink.serialize(this);
|
|
133
|
+
}
|
|
134
|
+
serializeToSink(sink, this.logHash, this.contractAddress);
|
|
120
135
|
}
|
|
121
136
|
|
|
122
137
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
@@ -141,11 +156,19 @@ export class ScopedCountedLogHash {
|
|
|
141
156
|
|
|
142
157
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
143
158
|
const reader = FieldReader.asReader(fields);
|
|
144
|
-
return new ScopedCountedLogHash(
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
159
|
+
return new ScopedCountedLogHash(
|
|
160
|
+
reader.readObject(CountedLogHash),
|
|
161
|
+
AztecAddress.fromFieldUnsafe(reader.readField()),
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
toBuffer(): Buffer;
|
|
166
|
+
toBuffer(sink: BufferSink): void;
|
|
167
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
168
|
+
if (!sink) {
|
|
169
|
+
return BufferSink.serialize(this);
|
|
170
|
+
}
|
|
171
|
+
serializeToSink(sink, this.inner, this.contractAddress);
|
|
149
172
|
}
|
|
150
173
|
|
|
151
174
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
package/src/kernel/note_hash.ts
CHANGED
|
@@ -65,7 +65,7 @@ export class ScopedNoteHash implements Ordered {
|
|
|
65
65
|
|
|
66
66
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
67
67
|
const reader = FieldReader.asReader(fields);
|
|
68
|
-
return new ScopedNoteHash(reader.readObject(NoteHash), AztecAddress.
|
|
68
|
+
return new ScopedNoteHash(reader.readObject(NoteHash), AztecAddress.fromFieldUnsafe(reader.readField()));
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
isEmpty() {
|