@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
|
@@ -1,37 +1,131 @@
|
|
|
1
1
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
2
|
import { keccak256 } from '@aztec/foundation/crypto/keccak';
|
|
3
|
-
import {
|
|
3
|
+
import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
4
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
|
+
import type { Signature } from '@aztec/foundation/eth-signature';
|
|
6
|
+
import { type BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
import { type TypedDataDefinition, hashTypedData } from 'viem';
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
|
|
11
|
+
import type { ZodFor } from '../schemas/index.js';
|
|
12
|
+
|
|
13
|
+
export type CoordinationSignatureType =
|
|
14
|
+
| 'BlockProposal'
|
|
15
|
+
| 'CheckpointProposal'
|
|
16
|
+
| 'CheckpointAttestation'
|
|
17
|
+
| 'AttestationsAndSigners'
|
|
18
|
+
| 'SignedTxs';
|
|
19
|
+
|
|
20
|
+
export type CoordinationSignatureContext = {
|
|
21
|
+
chainId: number;
|
|
22
|
+
rollupAddress: EthAddress;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const EMPTY_COORDINATION_SIGNATURE_CONTEXT: CoordinationSignatureContext = {
|
|
26
|
+
chainId: 0,
|
|
27
|
+
rollupAddress: EthAddress.ZERO,
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export const coordinationSignatureContextSchema: ZodFor<CoordinationSignatureContext> = z.object({
|
|
31
|
+
chainId: z.number(),
|
|
32
|
+
rollupAddress: EthAddress.schema,
|
|
33
|
+
});
|
|
12
34
|
|
|
13
35
|
export interface Signable {
|
|
14
|
-
|
|
36
|
+
readonly primaryType: CoordinationSignatureType;
|
|
37
|
+
readonly signatureContext: CoordinationSignatureContext;
|
|
38
|
+
getPayloadToSign(): Buffer;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function coordinationSignatureContextEquals(
|
|
42
|
+
a: CoordinationSignatureContext,
|
|
43
|
+
b: CoordinationSignatureContext,
|
|
44
|
+
): boolean {
|
|
45
|
+
return a.chainId === b.chainId && a.rollupAddress.equals(b.rollupAddress);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function serializeCoordinationSignatureContext(ctx: CoordinationSignatureContext): Buffer {
|
|
49
|
+
return serializeToBuffer([ctx.chainId, ctx.rollupAddress]);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function readCoordinationSignatureContext(reader: BufferReader): CoordinationSignatureContext {
|
|
53
|
+
const chainId = reader.readNumber();
|
|
54
|
+
const rollupAddress = reader.readObject(EthAddress);
|
|
55
|
+
return { chainId, rollupAddress };
|
|
15
56
|
}
|
|
16
57
|
|
|
17
58
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
59
|
+
* Returns true if the signable carries a context matching the node's expected context.
|
|
60
|
+
* Use this at the P2P ingress boundary to reject foreign-chain messages cheaply before
|
|
61
|
+
* performing any signature recovery.
|
|
21
62
|
*/
|
|
22
|
-
export function
|
|
23
|
-
return
|
|
63
|
+
export function hasValidSignatureContext(signable: Signable, expected: CoordinationSignatureContext): boolean {
|
|
64
|
+
return coordinationSignatureContextEquals(signable.signatureContext, expected);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const COORDINATION_SIGNATURE_NAME = 'Aztec Rollup';
|
|
68
|
+
const COORDINATION_SIGNATURE_VERSION = '1';
|
|
69
|
+
|
|
70
|
+
const EIP712_DOMAIN_FIELDS = [
|
|
71
|
+
{ name: 'name', type: 'string' },
|
|
72
|
+
{ name: 'version', type: 'string' },
|
|
73
|
+
{ name: 'chainId', type: 'uint256' },
|
|
74
|
+
{ name: 'verifyingContract', type: 'address' },
|
|
75
|
+
] as const;
|
|
76
|
+
|
|
77
|
+
const COORDINATION_SIGNATURE_TYPES = {
|
|
78
|
+
EIP712Domain: EIP712_DOMAIN_FIELDS,
|
|
79
|
+
BlockProposal: [{ name: 'payloadHash', type: 'bytes32' }],
|
|
80
|
+
CheckpointProposal: [{ name: 'payloadHash', type: 'bytes32' }],
|
|
81
|
+
CheckpointAttestation: [{ name: 'payloadHash', type: 'bytes32' }],
|
|
82
|
+
AttestationsAndSigners: [{ name: 'payloadHash', type: 'bytes32' }],
|
|
83
|
+
SignedTxs: [{ name: 'payloadHash', type: 'bytes32' }],
|
|
84
|
+
} as const;
|
|
85
|
+
|
|
86
|
+
export function getCoordinationSignatureTypedDataForPayloadHash(
|
|
87
|
+
payloadHash: Buffer32,
|
|
88
|
+
type: CoordinationSignatureType,
|
|
89
|
+
context: CoordinationSignatureContext,
|
|
90
|
+
): TypedDataDefinition {
|
|
91
|
+
return {
|
|
92
|
+
domain: {
|
|
93
|
+
name: COORDINATION_SIGNATURE_NAME,
|
|
94
|
+
version: COORDINATION_SIGNATURE_VERSION,
|
|
95
|
+
chainId: context.chainId,
|
|
96
|
+
verifyingContract: context.rollupAddress.toString() as `0x${string}`,
|
|
97
|
+
},
|
|
98
|
+
types: COORDINATION_SIGNATURE_TYPES,
|
|
99
|
+
primaryType: type,
|
|
100
|
+
message: {
|
|
101
|
+
payloadHash: payloadHash.toString() as `0x${string}`,
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export function getCoordinationSignatureTypedData(signable: Signable): TypedDataDefinition {
|
|
107
|
+
const payloadHash = getHashedSignaturePayload(signable);
|
|
108
|
+
return getCoordinationSignatureTypedDataForPayloadHash(payloadHash, signable.primaryType, signable.signatureContext);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export function getHashedSignaturePayloadTypedData(signable: Signable): Buffer32 {
|
|
112
|
+
return Buffer32.fromString(hashTypedData(getCoordinationSignatureTypedData(signable)));
|
|
24
113
|
}
|
|
25
114
|
|
|
26
115
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
116
|
+
* Recovers the sender of a gossiped coordination message. Deliberately lenient (allowYParityAsV): a
|
|
117
|
+
* signature whose recovery byte is in yParity form (v ∈ {0, 1}) still resolves to its sender, so the P2P
|
|
118
|
+
* layer can attribute and accept it and then canonicalize on ingress (CheckpointAttestation.
|
|
119
|
+
* withNormalizedSignature, A-1351) before it reaches the L1 bundle. This is intentionally looser than
|
|
120
|
+
* on-chain checkpoint validation (getAttestationInfoFromPayload), which recovers strictly to mirror L1's
|
|
121
|
+
* ECDSA.recover — do not unify the two. These proposal/attestation signatures are P2P-only and never reach
|
|
122
|
+
* L1 verbatim, so leniency here cannot leak a non-canonical byte onto L1.
|
|
30
123
|
*/
|
|
31
|
-
export function
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
124
|
+
export function recoverCoordinationSigner(signable: Signable, signature: Signature): EthAddress | undefined {
|
|
125
|
+
const digest = getHashedSignaturePayloadTypedData(signable);
|
|
126
|
+
return tryRecoverAddress(digest, signature, { allowYParityAsV: true });
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export function getHashedSignaturePayload(s: Signable): Buffer32 {
|
|
130
|
+
return Buffer32.fromBuffer(keccak256(s.getPayloadToSign()));
|
|
37
131
|
}
|
package/src/p2p/signed_txs.ts
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
|
-
import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
3
1
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
2
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
5
3
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
4
|
|
|
5
|
+
import type { TypedDataDefinition } from 'viem';
|
|
6
|
+
|
|
7
7
|
import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
|
|
8
8
|
import { Tx } from '../tx/tx.js';
|
|
9
9
|
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
type CoordinationSignatureContext,
|
|
11
|
+
type CoordinationSignatureType,
|
|
12
|
+
EMPTY_COORDINATION_SIGNATURE_CONTEXT,
|
|
13
|
+
type Signable,
|
|
14
|
+
getCoordinationSignatureTypedData,
|
|
15
|
+
readCoordinationSignatureContext,
|
|
16
|
+
recoverCoordinationSigner,
|
|
17
|
+
serializeCoordinationSignatureContext,
|
|
13
18
|
} from './signature_utils.js';
|
|
14
19
|
|
|
15
20
|
/**
|
|
@@ -17,50 +22,56 @@ import {
|
|
|
17
22
|
* The signature is over the transaction objects themselves, providing
|
|
18
23
|
* data availability guarantees beyond just the transaction hashes.
|
|
19
24
|
*/
|
|
20
|
-
export class SignedTxs {
|
|
21
|
-
|
|
25
|
+
export class SignedTxs implements Signable {
|
|
26
|
+
readonly primaryType: CoordinationSignatureType = 'SignedTxs';
|
|
27
|
+
|
|
28
|
+
private cachedSender: EthAddress | undefined | null = undefined;
|
|
22
29
|
|
|
23
30
|
constructor(
|
|
24
31
|
/** The transactions */
|
|
25
32
|
public readonly txs: Tx[],
|
|
26
33
|
/** The proposer's signature over the transactions */
|
|
27
34
|
public readonly signature: Signature,
|
|
35
|
+
/** The signing domain (chainId + rollupAddress) the signature is bound to */
|
|
36
|
+
public readonly signatureContext: CoordinationSignatureContext,
|
|
28
37
|
) {}
|
|
29
38
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
*/
|
|
33
|
-
getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer {
|
|
34
|
-
return serializeToBuffer([domainSeparator, this.txs.length, this.txs]);
|
|
39
|
+
getPayloadToSign(): Buffer {
|
|
40
|
+
return serializeToBuffer([this.txs.length, this.txs]);
|
|
35
41
|
}
|
|
36
42
|
|
|
37
43
|
/**
|
|
38
|
-
* Lazily evaluate the sender of the signed txs; result is cached
|
|
44
|
+
* Lazily evaluate the sender of the signed txs; result is cached.
|
|
39
45
|
* @returns The sender address, or undefined if signature recovery fails
|
|
40
46
|
*/
|
|
41
47
|
getSender(): EthAddress | undefined {
|
|
42
|
-
if (
|
|
43
|
-
|
|
44
|
-
this.sender = tryRecoverAddress(hashed, this.signature);
|
|
48
|
+
if (this.cachedSender === undefined) {
|
|
49
|
+
this.cachedSender = recoverCoordinationSigner(this, this.signature) ?? null;
|
|
45
50
|
}
|
|
46
|
-
return this.
|
|
51
|
+
return this.cachedSender ?? undefined;
|
|
47
52
|
}
|
|
48
53
|
|
|
49
54
|
/**
|
|
50
|
-
* Create SignedTxs from a signer function
|
|
55
|
+
* Create SignedTxs from a typed-data signer function
|
|
51
56
|
*/
|
|
52
57
|
static async createFromSigner(
|
|
53
58
|
txs: Tx[],
|
|
54
|
-
|
|
59
|
+
signatureContext: CoordinationSignatureContext,
|
|
60
|
+
typedDataSigner: (typedData: TypedDataDefinition) => Promise<Signature>,
|
|
55
61
|
): Promise<SignedTxs> {
|
|
56
|
-
const tempSignedTxs = new SignedTxs(txs, Signature.empty());
|
|
57
|
-
const
|
|
58
|
-
const signature = await
|
|
59
|
-
return new SignedTxs(txs, signature);
|
|
62
|
+
const tempSignedTxs = new SignedTxs(txs, Signature.empty(), signatureContext);
|
|
63
|
+
const typedData = getCoordinationSignatureTypedData(tempSignedTxs);
|
|
64
|
+
const signature = await typedDataSigner(typedData);
|
|
65
|
+
return new SignedTxs(txs, signature, signatureContext);
|
|
60
66
|
}
|
|
61
67
|
|
|
62
68
|
toBuffer(): Buffer {
|
|
63
|
-
return serializeToBuffer([
|
|
69
|
+
return serializeToBuffer([
|
|
70
|
+
this.txs.length,
|
|
71
|
+
this.txs,
|
|
72
|
+
this.signature,
|
|
73
|
+
serializeCoordinationSignatureContext(this.signatureContext),
|
|
74
|
+
]);
|
|
64
75
|
}
|
|
65
76
|
|
|
66
77
|
static fromBuffer(buf: Buffer | BufferReader): SignedTxs {
|
|
@@ -71,18 +82,25 @@ export class SignedTxs {
|
|
|
71
82
|
}
|
|
72
83
|
const txs = reader.readArray(txCount, Tx);
|
|
73
84
|
const signature = reader.readObject(Signature);
|
|
74
|
-
|
|
85
|
+
const signatureContext = readCoordinationSignatureContext(reader);
|
|
86
|
+
return new SignedTxs(txs, signature, signatureContext);
|
|
75
87
|
}
|
|
76
88
|
|
|
77
89
|
getSize(): number {
|
|
78
|
-
return
|
|
90
|
+
return (
|
|
91
|
+
4 /* txs.length */ +
|
|
92
|
+
this.txs.reduce((acc, tx) => acc + tx.getSize(), 0) +
|
|
93
|
+
this.signature.getSize() +
|
|
94
|
+
4 /* chainId */ +
|
|
95
|
+
20 /* rollupAddress */
|
|
96
|
+
);
|
|
79
97
|
}
|
|
80
98
|
|
|
81
99
|
static empty(): SignedTxs {
|
|
82
|
-
return new SignedTxs([], Signature.empty());
|
|
100
|
+
return new SignedTxs([], Signature.empty(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
|
|
83
101
|
}
|
|
84
102
|
|
|
85
103
|
static random(): SignedTxs {
|
|
86
|
-
return new SignedTxs([Tx.random(), Tx.random()], Signature.random());
|
|
104
|
+
return new SignedTxs([Tx.random(), Tx.random()], Signature.random(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
|
|
87
105
|
}
|
|
88
106
|
}
|
|
@@ -10,9 +10,11 @@ export class ParityBasePrivateInputs {
|
|
|
10
10
|
public readonly msgs: Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>,
|
|
11
11
|
/** Root of the VK tree */
|
|
12
12
|
public readonly vkTreeRoot: Fr,
|
|
13
|
+
/** Prover identity committed to by the circuit, for sybil protection. */
|
|
14
|
+
public readonly proverId: Fr,
|
|
13
15
|
) {}
|
|
14
16
|
|
|
15
|
-
public static fromSlice(array: Fr[], index: number, vkTreeRoot: Fr): ParityBasePrivateInputs {
|
|
17
|
+
public static fromSlice(array: Fr[], index: number, vkTreeRoot: Fr, proverId: Fr): ParityBasePrivateInputs {
|
|
16
18
|
// Can't use Tuple<Fr, typeof NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP> due to length
|
|
17
19
|
if (array.length !== NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP) {
|
|
18
20
|
throw new Error(
|
|
@@ -22,12 +24,12 @@ export class ParityBasePrivateInputs {
|
|
|
22
24
|
const start = index * NUM_MSGS_PER_BASE_PARITY;
|
|
23
25
|
const end = start + NUM_MSGS_PER_BASE_PARITY;
|
|
24
26
|
const msgs = array.slice(start, end);
|
|
25
|
-
return new ParityBasePrivateInputs(msgs as Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>, vkTreeRoot);
|
|
27
|
+
return new ParityBasePrivateInputs(msgs as Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>, vkTreeRoot, proverId);
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
/** Serializes the inputs to a buffer. */
|
|
29
31
|
toBuffer() {
|
|
30
|
-
return serializeToBuffer(this.msgs, this.vkTreeRoot);
|
|
32
|
+
return serializeToBuffer(this.msgs, this.vkTreeRoot, this.proverId);
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
/** Serializes the inputs to a hex string. */
|
|
@@ -41,7 +43,11 @@ export class ParityBasePrivateInputs {
|
|
|
41
43
|
*/
|
|
42
44
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
43
45
|
const reader = BufferReader.asReader(buffer);
|
|
44
|
-
return new ParityBasePrivateInputs(
|
|
46
|
+
return new ParityBasePrivateInputs(
|
|
47
|
+
reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr),
|
|
48
|
+
Fr.fromBuffer(reader),
|
|
49
|
+
Fr.fromBuffer(reader),
|
|
50
|
+
);
|
|
45
51
|
}
|
|
46
52
|
|
|
47
53
|
/**
|
|
@@ -12,6 +12,8 @@ export class ParityPublicInputs {
|
|
|
12
12
|
public convertedRoot: Fr,
|
|
13
13
|
/** Root of the VK tree */
|
|
14
14
|
public vkTreeRoot: Fr,
|
|
15
|
+
/** Prover identity committed to by the circuit, for sybil protection. */
|
|
16
|
+
public proverId: Fr,
|
|
15
17
|
) {
|
|
16
18
|
if (shaRoot.toBuffer()[0] != 0) {
|
|
17
19
|
throw new Error(`shaRoot buffer must be 31 bytes. Got 32 bytes`);
|
|
@@ -54,7 +56,7 @@ export class ParityPublicInputs {
|
|
|
54
56
|
* @returns The instance fields.
|
|
55
57
|
*/
|
|
56
58
|
static getFields(fields: FieldsOf<ParityPublicInputs>) {
|
|
57
|
-
return [fields.shaRoot, fields.convertedRoot, fields.vkTreeRoot] as const;
|
|
59
|
+
return [fields.shaRoot, fields.convertedRoot, fields.vkTreeRoot, fields.proverId] as const;
|
|
58
60
|
}
|
|
59
61
|
|
|
60
62
|
/**
|
|
@@ -64,7 +66,12 @@ export class ParityPublicInputs {
|
|
|
64
66
|
*/
|
|
65
67
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
66
68
|
const reader = BufferReader.asReader(buffer);
|
|
67
|
-
return new ParityPublicInputs(
|
|
69
|
+
return new ParityPublicInputs(
|
|
70
|
+
reader.readObject(Fr),
|
|
71
|
+
reader.readObject(Fr),
|
|
72
|
+
Fr.fromBuffer(reader),
|
|
73
|
+
Fr.fromBuffer(reader),
|
|
74
|
+
);
|
|
68
75
|
}
|
|
69
76
|
|
|
70
77
|
/**
|
|
@@ -4,16 +4,19 @@ import { times } from '@aztec/foundation/collection';
|
|
|
4
4
|
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
5
5
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
6
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
7
|
-
import { BufferReader,
|
|
7
|
+
import { BufferReader, BufferSink } from '@aztec/foundation/serialize';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
* Serialization format detection for ChonkProof is
|
|
10
|
+
* Serialization format detection for ChonkProof is value-based on the leading uint32:
|
|
11
|
+
* - EMPTY: [0: uint32] → total = 4 bytes
|
|
11
12
|
* - UNCOMPRESSED (legacy): [field_count=1632: uint32] [fields...] → total ≈ 52KB (>= 40KB)
|
|
12
13
|
* - COMPRESSED: [byte_count: uint32] [compressed_bytes] → total ≈ 35KB (< 40KB)
|
|
13
14
|
*
|
|
14
|
-
* Detection
|
|
15
|
-
* (field count)
|
|
16
|
-
*
|
|
15
|
+
* Detection from the first uint32: 0 means an empty proof (no fields); CHONK_PROOF_LENGTH
|
|
16
|
+
* (1632) means legacy format (field count); any other value is the compressed byte count.
|
|
17
|
+
* A real compressed proof always has a non-zero byte count, so 0 is an unambiguous sentinel
|
|
18
|
+
* for the empty case. The old uncompressed format is never smaller than 40KB; compressed
|
|
19
|
+
* proofs are always smaller than 40KB.
|
|
17
20
|
*/
|
|
18
21
|
|
|
19
22
|
// CHONK: "Client Honk" - An UltraHonk variant with incremental folding and delayed non-native arithmetic.
|
|
@@ -32,7 +35,8 @@ export class ChonkProof {
|
|
|
32
35
|
public fields: Fr[],
|
|
33
36
|
compressedProof?: Buffer,
|
|
34
37
|
) {
|
|
35
|
-
|
|
38
|
+
// An empty proof (no fields) is a valid placeholder; see ChonkProof.empty().
|
|
39
|
+
if (fields.length !== 0 && fields.length !== CHONK_PROOF_LENGTH) {
|
|
36
40
|
throw new Error(`Invalid ChonkProof length: ${fields.length}`);
|
|
37
41
|
}
|
|
38
42
|
this.compressedProof = compressedProof;
|
|
@@ -47,7 +51,7 @@ export class ChonkProof {
|
|
|
47
51
|
}
|
|
48
52
|
|
|
49
53
|
static empty() {
|
|
50
|
-
return new ChonkProof(
|
|
54
|
+
return new ChonkProof([]);
|
|
51
55
|
}
|
|
52
56
|
|
|
53
57
|
static random() {
|
|
@@ -77,7 +81,8 @@ export class ChonkProof {
|
|
|
77
81
|
* Deserialize a ChonkProof from a buffer.
|
|
78
82
|
* Supports both legacy (field elements) and compressed (chonk compression) formats.
|
|
79
83
|
*
|
|
80
|
-
*
|
|
84
|
+
* Value-based format detection on the leading uint32:
|
|
85
|
+
* - First uint32 == 0: empty proof (no fields), total = 4 bytes
|
|
81
86
|
* - First uint32 == CHONK_PROOF_LENGTH (1632): legacy format, read field elements
|
|
82
87
|
* Total proof data ≈ 52KB (always >= 40KB)
|
|
83
88
|
* - Otherwise: compressed format, first uint32 is byte count of compressed data
|
|
@@ -87,6 +92,11 @@ export class ChonkProof {
|
|
|
87
92
|
const reader = BufferReader.asReader(buffer);
|
|
88
93
|
const firstUint32 = reader.readNumber();
|
|
89
94
|
|
|
95
|
+
if (firstUint32 === 0) {
|
|
96
|
+
// Empty format: a zero length encodes an empty proof.
|
|
97
|
+
return ChonkProof.empty();
|
|
98
|
+
}
|
|
99
|
+
|
|
90
100
|
if (firstUint32 === CHONK_PROOF_LENGTH) {
|
|
91
101
|
// Legacy format: firstUint32 is the field count (1632)
|
|
92
102
|
// Widen to `number` to prevent TS from narrowing to literal 1632,
|
|
@@ -133,13 +143,24 @@ export class ChonkProof {
|
|
|
133
143
|
* If compressed bytes are available, uses the compressed format (~1.7x smaller).
|
|
134
144
|
* Otherwise falls back to legacy field element format.
|
|
135
145
|
*/
|
|
136
|
-
public toBuffer()
|
|
146
|
+
public toBuffer(): Buffer;
|
|
147
|
+
public toBuffer(sink: BufferSink): void;
|
|
148
|
+
public toBuffer(sink?: BufferSink): Buffer | void {
|
|
149
|
+
if (!sink) {
|
|
150
|
+
return BufferSink.serialize(this);
|
|
151
|
+
}
|
|
137
152
|
if (this.compressedProof) {
|
|
138
153
|
// Compressed format: [compressed_byte_count: uint32] [compressed_bytes]
|
|
139
|
-
|
|
154
|
+
sink.writeNumber(this.compressedProof.length);
|
|
155
|
+
sink.writeBytes(this.compressedProof);
|
|
156
|
+
return;
|
|
140
157
|
}
|
|
141
|
-
// Legacy format: [field_count
|
|
142
|
-
|
|
158
|
+
// Legacy / empty format: [field_count: uint32] [fields...]. fields.length === 0 emits the empty
|
|
159
|
+
// sentinel (a lone zero uint32) that ChonkProof.fromBuffer detects; fields.length === CHONK_PROOF_LENGTH
|
|
160
|
+
// is the full legacy form. The writeFields fast path skips per-element sinkable dispatch on the 1632
|
|
161
|
+
// leaves and is a no-op when the array is empty.
|
|
162
|
+
sink.writeNumber(this.fields.length);
|
|
163
|
+
sink.writeFields(this.fields);
|
|
143
164
|
}
|
|
144
165
|
}
|
|
145
166
|
|
|
@@ -156,17 +177,24 @@ export class ChonkProofWithPublicInputs {
|
|
|
156
177
|
// For recursive verification, use without public inputs via `removePublicInputs()`.
|
|
157
178
|
public fieldsWithPublicInputs: Fr[],
|
|
158
179
|
) {
|
|
159
|
-
|
|
180
|
+
// An empty proof (no fields) is a valid placeholder; see ChonkProofWithPublicInputs.empty().
|
|
181
|
+
if (fieldsWithPublicInputs.length !== 0 && fieldsWithPublicInputs.length < CHONK_PROOF_LENGTH) {
|
|
160
182
|
throw new Error(`Invalid ChonkProofWithPublicInputs length: ${fieldsWithPublicInputs.length}`);
|
|
161
183
|
}
|
|
162
184
|
}
|
|
163
185
|
|
|
164
186
|
public getPublicInputs() {
|
|
187
|
+
if (this.fieldsWithPublicInputs.length === 0) {
|
|
188
|
+
return [];
|
|
189
|
+
}
|
|
165
190
|
const numPublicInputs = this.fieldsWithPublicInputs.length - CHONK_PROOF_LENGTH;
|
|
166
191
|
return this.fieldsWithPublicInputs.slice(0, numPublicInputs);
|
|
167
192
|
}
|
|
168
193
|
|
|
169
194
|
public removePublicInputs() {
|
|
195
|
+
if (this.fieldsWithPublicInputs.length === 0) {
|
|
196
|
+
return new ChonkProof([], this.compressedProof);
|
|
197
|
+
}
|
|
170
198
|
const numPublicInputs = this.fieldsWithPublicInputs.length - CHONK_PROOF_LENGTH;
|
|
171
199
|
// Flow compressed proof bytes through so the ChonkProof can serialize efficiently
|
|
172
200
|
return new ChonkProof(this.fieldsWithPublicInputs.slice(numPublicInputs), this.compressedProof);
|
|
@@ -196,8 +224,14 @@ export class ChonkProofWithPublicInputs {
|
|
|
196
224
|
return new ChonkProofWithPublicInputs(proof);
|
|
197
225
|
}
|
|
198
226
|
|
|
199
|
-
public toBuffer()
|
|
200
|
-
|
|
227
|
+
public toBuffer(): Buffer;
|
|
228
|
+
public toBuffer(sink: BufferSink): void;
|
|
229
|
+
public toBuffer(sink?: BufferSink): Buffer | void {
|
|
230
|
+
if (!sink) {
|
|
231
|
+
return BufferSink.serialize(this);
|
|
232
|
+
}
|
|
233
|
+
sink.writeNumber(this.fieldsWithPublicInputs.length);
|
|
234
|
+
sink.writeFields(this.fieldsWithPublicInputs);
|
|
201
235
|
}
|
|
202
236
|
|
|
203
237
|
// Called when constructing from bb proving results.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AVM_V2_PROOF_LENGTH_IN_FIELDS } from '@aztec/constants';
|
|
2
2
|
|
|
3
3
|
import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
|
|
4
4
|
import type { ProofDataForFixedVk } from '../proofs/proof_data.js';
|
|
5
5
|
|
|
6
|
-
export type AvmProofData = ProofDataForFixedVk<AvmCircuitPublicInputs, typeof
|
|
6
|
+
export type AvmProofData = ProofDataForFixedVk<AvmCircuitPublicInputs, typeof AVM_V2_PROOF_LENGTH_IN_FIELDS>;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { DomainSeparator } from '@aztec/constants';
|
|
2
|
+
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
1
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import {
|
|
4
|
+
import { computeUnbalancedMerkleTreeRootAsync } from '@aztec/foundation/trees';
|
|
3
5
|
|
|
4
6
|
import type { BlockHeader } from '../tx/block_header.js';
|
|
5
7
|
|
|
@@ -7,6 +9,13 @@ export async function computeBlockHeadersHash(blockHeaders: BlockHeader[]): Prom
|
|
|
7
9
|
const blockHeaderHashes = await Promise.all(blockHeaders.map(header => header.hash()));
|
|
8
10
|
// Must match the implementation in merge_block_rollups.nr, with the **unbalanced** rollup structure
|
|
9
11
|
// (see validate_consecutive_block_rollups.nr > assert_rollups_filled_greedily.nr).
|
|
10
|
-
const
|
|
12
|
+
const blockHeadersHasher = async (left: Uint8Array, right: Uint8Array) =>
|
|
13
|
+
(
|
|
14
|
+
await poseidon2HashWithSeparator([Buffer.from(left), Buffer.from(right)], DomainSeparator.BLOCK_HEADERS_HASH)
|
|
15
|
+
).toBuffer() as Buffer<ArrayBuffer>;
|
|
16
|
+
const blockHeadersHash = await computeUnbalancedMerkleTreeRootAsync(
|
|
17
|
+
blockHeaderHashes.map(hash => hash.toBuffer()),
|
|
18
|
+
blockHeadersHasher,
|
|
19
|
+
);
|
|
11
20
|
return Fr.fromBuffer(blockHeadersHash);
|
|
12
21
|
}
|
|
@@ -119,6 +119,19 @@ export class BlockRollupPublicInputs {
|
|
|
119
119
|
return this.toBuffer();
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
+
toInspect() {
|
|
123
|
+
return {
|
|
124
|
+
previousArchiveRoot: this.previousArchive.root.toString(),
|
|
125
|
+
newArchiveRoot: this.newArchive.root.toString(),
|
|
126
|
+
blockHeadersHash: this.blockHeadersHash.toString(),
|
|
127
|
+
inHash: this.inHash.toString(),
|
|
128
|
+
outHash: this.outHash.toString(),
|
|
129
|
+
timestamp: this.timestamp.toString(),
|
|
130
|
+
accumulatedFees: this.accumulatedFees.toString(),
|
|
131
|
+
accumulatedManaUsed: this.accumulatedManaUsed.toString(),
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
|
|
122
135
|
static get schema() {
|
|
123
136
|
return bufferSchemaFor(BlockRollupPublicInputs);
|
|
124
137
|
}
|
|
@@ -52,6 +52,8 @@ export class CheckpointHeader {
|
|
|
52
52
|
public gasFees: GasFees,
|
|
53
53
|
/** Total mana used in the block, computed by the root rollup circuit */
|
|
54
54
|
public totalManaUsed: Fr,
|
|
55
|
+
/** Total fees accrued across the checkpoint. */
|
|
56
|
+
public accumulatedFees: Fr,
|
|
55
57
|
) {}
|
|
56
58
|
|
|
57
59
|
static get schema(): ZodFor<CheckpointHeader> {
|
|
@@ -68,6 +70,7 @@ export class CheckpointHeader {
|
|
|
68
70
|
feeRecipient: schemas.AztecAddress,
|
|
69
71
|
gasFees: GasFees.schema,
|
|
70
72
|
totalManaUsed: schemas.Fr,
|
|
73
|
+
accumulatedFees: schemas.Fr,
|
|
71
74
|
})
|
|
72
75
|
.transform(CheckpointHeader.from);
|
|
73
76
|
}
|
|
@@ -85,6 +88,7 @@ export class CheckpointHeader {
|
|
|
85
88
|
fields.feeRecipient,
|
|
86
89
|
fields.gasFees,
|
|
87
90
|
fields.totalManaUsed,
|
|
91
|
+
fields.accumulatedFees,
|
|
88
92
|
] as const;
|
|
89
93
|
}
|
|
90
94
|
|
|
@@ -107,6 +111,7 @@ export class CheckpointHeader {
|
|
|
107
111
|
reader.readObject(AztecAddress),
|
|
108
112
|
reader.readObject(GasFees),
|
|
109
113
|
reader.readObject(Fr),
|
|
114
|
+
reader.readObject(Fr),
|
|
110
115
|
);
|
|
111
116
|
}
|
|
112
117
|
|
|
@@ -122,7 +127,8 @@ export class CheckpointHeader {
|
|
|
122
127
|
this.coinbase.equals(other.coinbase) &&
|
|
123
128
|
this.feeRecipient.equals(other.feeRecipient) &&
|
|
124
129
|
this.gasFees.equals(other.gasFees) &&
|
|
125
|
-
this.totalManaUsed.equals(other.totalManaUsed)
|
|
130
|
+
this.totalManaUsed.equals(other.totalManaUsed) &&
|
|
131
|
+
this.accumulatedFees.equals(other.accumulatedFees)
|
|
126
132
|
);
|
|
127
133
|
}
|
|
128
134
|
|
|
@@ -151,6 +157,7 @@ export class CheckpointHeader {
|
|
|
151
157
|
this.feeRecipient,
|
|
152
158
|
this.gasFees,
|
|
153
159
|
this.totalManaUsed,
|
|
160
|
+
this.accumulatedFees,
|
|
154
161
|
]);
|
|
155
162
|
}
|
|
156
163
|
|
|
@@ -171,6 +178,7 @@ export class CheckpointHeader {
|
|
|
171
178
|
feeRecipient: AztecAddress.ZERO,
|
|
172
179
|
gasFees: GasFees.empty(),
|
|
173
180
|
totalManaUsed: Fr.ZERO,
|
|
181
|
+
accumulatedFees: Fr.ZERO,
|
|
174
182
|
...fields,
|
|
175
183
|
});
|
|
176
184
|
}
|
|
@@ -188,6 +196,7 @@ export class CheckpointHeader {
|
|
|
188
196
|
feeRecipient: new AztecAddress(Fr.random()),
|
|
189
197
|
gasFees: GasFees.random(),
|
|
190
198
|
totalManaUsed: new Fr(BigInt(Math.floor(Math.random() * 1000000))),
|
|
199
|
+
accumulatedFees: new Fr(BigInt(Math.floor(Math.random() * 1000000))),
|
|
191
200
|
...overrides,
|
|
192
201
|
});
|
|
193
202
|
}
|
|
@@ -204,7 +213,8 @@ export class CheckpointHeader {
|
|
|
204
213
|
this.coinbase.isZero() &&
|
|
205
214
|
this.feeRecipient.isZero() &&
|
|
206
215
|
this.gasFees.isEmpty() &&
|
|
207
|
-
this.totalManaUsed.isZero()
|
|
216
|
+
this.totalManaUsed.isZero() &&
|
|
217
|
+
this.accumulatedFees.isZero()
|
|
208
218
|
);
|
|
209
219
|
}
|
|
210
220
|
|
|
@@ -233,6 +243,7 @@ export class CheckpointHeader {
|
|
|
233
243
|
new AztecAddress(hexToBuffer(header.feeRecipient)),
|
|
234
244
|
new GasFees(header.gasFees.feePerDaGas, header.gasFees.feePerL2Gas),
|
|
235
245
|
new Fr(header.totalManaUsed),
|
|
246
|
+
new Fr(header.accumulatedFees),
|
|
236
247
|
);
|
|
237
248
|
}
|
|
238
249
|
|
|
@@ -260,6 +271,7 @@ export class CheckpointHeader {
|
|
|
260
271
|
feePerL2Gas: this.gasFees.feePerL2Gas,
|
|
261
272
|
},
|
|
262
273
|
totalManaUsed: this.totalManaUsed.toBigInt(),
|
|
274
|
+
accumulatedFees: this.accumulatedFees.toBigInt(),
|
|
263
275
|
};
|
|
264
276
|
}
|
|
265
277
|
|
|
@@ -276,6 +288,7 @@ export class CheckpointHeader {
|
|
|
276
288
|
feeRecipient: this.feeRecipient.toString(),
|
|
277
289
|
gasFees: this.gasFees.toInspect(),
|
|
278
290
|
totalManaUsed: this.totalManaUsed.toBigInt(),
|
|
291
|
+
accumulatedFees: this.accumulatedFees.toBigInt(),
|
|
279
292
|
};
|
|
280
293
|
}
|
|
281
294
|
|
|
@@ -292,6 +305,7 @@ export class CheckpointHeader {
|
|
|
292
305
|
feeRecipient: ${this.feeRecipient.toString()},
|
|
293
306
|
gasFees: { da:${this.gasFees.feePerDaGas}, l2:${this.gasFees.feePerL2Gas} },
|
|
294
307
|
totalManaUsed: ${this.totalManaUsed.toBigInt()},
|
|
308
|
+
accumulatedFees: ${this.accumulatedFees.toBigInt()},
|
|
295
309
|
}`;
|
|
296
310
|
}
|
|
297
311
|
}
|