@aztec/stdlib 0.0.1-commit.f2ce05ee → 0.0.1-commit.f5a9928
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +149 -1081
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +41 -18
- package/dest/abi/authorization_selector.d.ts +4 -7
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/buffer.d.ts +19 -5
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +38 -5
- package/dest/abi/contract_artifact.d.ts +14 -1
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +57 -15
- package/dest/abi/decoder.d.ts +6 -45
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +17 -70
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +64 -7
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/event_selector.d.ts +4 -7
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +7 -25
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_selector.d.ts +3 -6
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +2 -4
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/note_selector.d.ts +4 -7
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +1 -3
- package/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +1 -1
- package/dest/abi/utils.d.ts +14 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +16 -1
- package/dest/auth_witness/auth_witness.d.ts +2 -2
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.js +3 -3
- package/dest/avm/avm.d.ts +1756 -10463
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +7 -4
- package/dest/avm/avm_accumulated_data.d.ts +22 -86
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_proving_request.d.ts +653 -5446
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/message_pack.js +12 -3
- package/dest/avm/public_data_write.d.ts +6 -12
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +6 -7
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +13 -21
- package/dest/aztec-address/index.d.ts +42 -12
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +40 -13
- package/dest/block/attestation_info.d.ts +3 -2
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +10 -5
- package/dest/block/block_data.d.ts +27 -0
- package/dest/block/block_data.d.ts.map +1 -0
- package/dest/block/block_data.js +12 -0
- package/dest/block/block_hash.d.ts +11 -10
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +10 -9
- package/dest/block/block_parameter.d.ts +37 -4
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +53 -2
- package/dest/block/in_block.d.ts +5 -24
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/index.d.ts +2 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -1
- package/dest/block/l2_block.d.ts +21 -41
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +12 -2
- package/dest/block/l2_block_info.d.ts +10 -29
- package/dest/block/l2_block_info.d.ts.map +1 -1
- package/dest/block/l2_block_info.js +6 -5
- package/dest/block/l2_block_source.d.ts +235 -337
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +85 -1
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +30 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +61 -0
- package/dest/block/l2_block_stream/index.d.ts +2 -1
- package/dest/block/l2_block_stream/index.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +85 -10
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/interfaces.js +25 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +185 -124
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
- package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +73 -25
- package/dest/block/proposal/committee_attestation.d.ts +6 -12
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +301 -36
- package/dest/block/validate_block_result.d.ts +16 -1
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +18 -3
- package/dest/checkpoint/checkpoint.d.ts +48 -99
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +42 -18
- package/dest/checkpoint/checkpoint_data.d.ts +97 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +38 -0
- package/dest/checkpoint/checkpoint_info.d.ts +7 -23
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
- package/dest/checkpoint/digest.d.ts +18 -0
- package/dest/checkpoint/digest.d.ts.map +1 -0
- package/dest/checkpoint/digest.js +12 -0
- package/dest/checkpoint/index.d.ts +7 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +6 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
- package/dest/checkpoint/published_checkpoint.d.ts +53 -190
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +1 -2
- package/dest/checkpoint/simulation_overrides.d.ts +61 -0
- package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
- package/dest/checkpoint/simulation_overrides.js +98 -0
- package/dest/checkpoint/validate.d.ts +52 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +132 -0
- package/dest/config/chain-config.d.ts +4 -9
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +13 -12
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- package/dest/config/network-consensus-config.d.ts +72 -0
- package/dest/config/network-consensus-config.d.ts.map +1 -0
- package/dest/config/network-consensus-config.js +227 -0
- package/dest/config/node-rpc-config.d.ts +13 -1
- package/dest/config/node-rpc-config.d.ts.map +1 -1
- package/dest/config/node-rpc-config.js +34 -1
- package/dest/config/sequencer-config.d.ts +9 -3
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +47 -2
- package/dest/contract/complete_address.d.ts +3 -2
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/complete_address.js +6 -2
- package/dest/contract/contract_address.d.ts +10 -9
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +9 -8
- package/dest/contract/contract_class.d.ts +2 -3
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class_id.d.ts +3 -3
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +7 -6
- package/dest/contract/contract_deployment_data.d.ts +15 -61
- package/dest/contract/contract_deployment_data.d.ts.map +1 -1
- package/dest/contract/contract_instance.d.ts +19 -3
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +55 -3
- package/dest/contract/index.d.ts +1 -3
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -2
- package/dest/contract/interfaces/contract_class.d.ts +17 -241
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +1 -28
- package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +111 -104
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +11 -4
- package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
- package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.d.ts +13 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +8 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/partial_address.d.ts +9 -3
- package/dest/contract/partial_address.d.ts.map +1 -1
- package/dest/contract/partial_address.js +8 -2
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +4 -6
- package/dest/database-version/database_version.d.ts +5 -11
- package/dest/database-version/database_version.d.ts.map +1 -1
- package/dest/database-version/version_manager.d.ts +22 -4
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +87 -6
- package/dest/deserialization/index.d.ts +35 -3
- package/dest/deserialization/index.d.ts.map +1 -1
- package/dest/deserialization/index.js +32 -1
- package/dest/epoch-helpers/index.d.ts +12 -20
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +16 -2
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +9 -2
- package/dest/file-store/http.d.ts +9 -2
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +20 -9
- package/dest/file-store/index.d.ts +3 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/file-store/index.js +1 -0
- package/dest/file-store/local.d.ts +3 -3
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/local.js +13 -4
- package/dest/file-store/memory.d.ts +24 -0
- package/dest/file-store/memory.d.ts.map +1 -0
- package/dest/file-store/memory.js +80 -0
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +11 -3
- package/dest/gas/fee_math.d.ts +49 -0
- package/dest/gas/fee_math.d.ts.map +1 -0
- package/dest/gas/fee_math.js +80 -0
- package/dest/gas/gas.d.ts +9 -14
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +6 -3
- package/dest/gas/gas_fees.d.ts +13 -14
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +20 -4
- package/dest/gas/gas_settings.d.ts +60 -86
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +49 -9
- package/dest/gas/index.d.ts +3 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +2 -0
- package/dest/gas/tx_gas_limits.d.ts +72 -0
- package/dest/gas/tx_gas_limits.d.ts.map +1 -0
- package/dest/gas/tx_gas_limits.js +85 -0
- package/dest/ha-signing/config.d.ts +86 -0
- package/dest/ha-signing/config.d.ts.map +1 -0
- package/dest/ha-signing/config.js +94 -0
- package/dest/ha-signing/index.d.ts +4 -0
- package/dest/ha-signing/index.d.ts.map +1 -0
- package/dest/ha-signing/index.js +3 -0
- package/dest/ha-signing/local_config.d.ts +40 -0
- package/dest/ha-signing/local_config.d.ts.map +1 -0
- package/dest/ha-signing/local_config.js +30 -0
- package/dest/ha-signing/types.d.ts +90 -0
- package/dest/ha-signing/types.d.ts.map +1 -0
- package/dest/ha-signing/types.js +39 -0
- package/dest/hash/hash.d.ts +35 -2
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +77 -17
- package/dest/hash/map_slot.js +2 -2
- package/dest/interfaces/allowed_element.d.ts +17 -35
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +8 -8
- package/dest/interfaces/api_limit.d.ts +7 -2
- package/dest/interfaces/api_limit.d.ts.map +1 -1
- package/dest/interfaces/api_limit.js +4 -1
- package/dest/interfaces/archiver.d.ts +27 -32
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +217 -65
- package/dest/interfaces/aztec-node-admin.d.ts +116 -265
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +67 -18
- package/dest/interfaces/aztec-node-debug.d.ts +59 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +49 -0
- package/dest/interfaces/aztec-node.d.ts +168 -117
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +359 -78
- package/dest/interfaces/block-builder.d.ts +49 -13
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +13 -6
- package/dest/interfaces/block_response.d.ts +90 -0
- package/dest/interfaces/block_response.d.ts.map +1 -0
- package/dest/interfaces/block_response.js +30 -0
- package/dest/interfaces/chain_tips.d.ts +11 -0
- package/dest/interfaces/chain_tips.d.ts.map +1 -0
- package/dest/interfaces/chain_tips.js +6 -0
- package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
- package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_parameter.js +18 -0
- package/dest/interfaces/checkpoint_response.d.ts +122 -0
- package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_response.js +26 -0
- package/dest/interfaces/client.d.ts +9 -2
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +7 -1
- package/dest/interfaces/configs.d.ts +110 -121
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +25 -4
- package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
- package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
- package/dest/interfaces/get_tx_by_hash_options.js +4 -0
- package/dest/interfaces/l1_publish_info.d.ts +29 -0
- package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
- package/dest/interfaces/l1_publish_info.js +26 -0
- package/dest/interfaces/l2_logs_source.d.ts +14 -34
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.js +5 -0
- package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p-bootstrap.js +8 -2
- package/dest/interfaces/p2p.d.ts +65 -14
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +49 -6
- package/dest/interfaces/private_kernel_prover.d.ts +69 -11
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.d.ts +5 -23
- package/dest/interfaces/prover-agent.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.js +4 -1
- package/dest/interfaces/prover-client.d.ts +10 -27
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +7 -4
- package/dest/interfaces/prover-node.d.ts +12 -8
- package/dest/interfaces/prover-node.d.ts.map +1 -1
- package/dest/interfaces/prover-node.js +37 -16
- package/dest/interfaces/proving-job-source.js +24 -4
- package/dest/interfaces/proving-job.d.ts +757 -5795
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +14 -5
- package/dest/interfaces/public_storage_override.d.ts +22 -0
- package/dest/interfaces/public_storage_override.d.ts.map +1 -0
- package/dest/interfaces/public_storage_override.js +7 -0
- package/dest/interfaces/server.d.ts +6 -2
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -1
- package/dest/interfaces/server_circuit_prover.d.ts +3 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/slasher.d.ts +26 -62
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +9 -4
- package/dest/interfaces/tx_provider.d.ts +10 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +91 -207
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +18 -6
- package/dest/interfaces/world_state.d.ts +19 -5
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
- package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +9 -3
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
- package/dest/kernel/hints/index.d.ts +2 -2
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_request.d.ts +12 -8
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.js +20 -18
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
- package/dest/kernel/hints/read_request.js +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
- package/dest/kernel/index.d.ts +6 -2
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +5 -1
- package/dest/kernel/log_hash.d.ts +6 -2
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +23 -11
- package/dest/kernel/note_hash.js +1 -1
- package/dest/kernel/nullifier.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +21 -11
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +26 -19
- package/dest/kernel/private_context_inputs.d.ts +4 -3
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +7 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +10 -4
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +11 -4
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
- package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +12 -8
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +32 -13
- package/dest/kernel/private_log_data.d.ts +1 -1
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_log_data.js +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
- package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data.js +6 -3
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -6
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +13 -9
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +7 -6
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +13 -9
- package/dest/kernel/private_validation_requests.d.ts +3 -3
- package/dest/kernel/private_validation_requests.js +9 -9
- package/dest/kernel/public_call_request.d.ts +15 -30
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +16 -7
- package/dest/keys/derivation.d.ts +45 -6
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +59 -26
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- package/dest/keys/public_key.d.ts +22 -3
- package/dest/keys/public_key.d.ts.map +1 -1
- package/dest/keys/public_key.js +20 -1
- package/dest/keys/public_keys.d.ts +55 -82
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +102 -74
- package/dest/keys/utils.js +5 -5
- package/dest/kv-store/config.d.ts +14 -0
- package/dest/kv-store/config.d.ts.map +1 -0
- package/dest/kv-store/config.js +21 -0
- package/dest/kv-store/index.d.ts +2 -0
- package/dest/kv-store/index.d.ts.map +1 -0
- package/dest/kv-store/index.js +1 -0
- package/dest/l1-contracts/index.d.ts +2 -2
- package/dest/l1-contracts/index.d.ts.map +1 -1
- package/dest/l1-contracts/index.js +1 -1
- package/dest/logs/app_tagging_secret.d.ts +69 -0
- package/dest/logs/app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret.js +116 -0
- package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
- package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret_kind.js +17 -0
- package/dest/logs/contract_class_log.d.ts +16 -35
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +11 -13
- package/dest/logs/debug_log_store.d.ts +30 -0
- package/dest/logs/debug_log_store.d.ts.map +1 -0
- package/dest/logs/debug_log_store.js +30 -0
- package/dest/logs/index.d.ts +9 -9
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +8 -8
- package/dest/logs/log_cursor.d.ts +51 -0
- package/dest/logs/log_cursor.d.ts.map +1 -0
- package/dest/logs/log_cursor.js +82 -0
- package/dest/logs/log_result.d.ts +54 -0
- package/dest/logs/log_result.d.ts.map +1 -0
- package/dest/logs/log_result.js +56 -0
- package/dest/logs/logs_query.d.ts +82 -0
- package/dest/logs/logs_query.d.ts.map +1 -0
- package/dest/logs/logs_query.js +50 -0
- package/dest/logs/pre_tag.d.ts +14 -22
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/private_log.d.ts +8 -13
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +6 -3
- package/dest/logs/public_log.d.ts +4 -3
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +2 -1
- package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
- package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
- package/dest/logs/query_all_logs_by_tags.js +64 -0
- package/dest/logs/shared_secret_derivation.d.ts +33 -9
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +49 -10
- package/dest/logs/siloed_tag.d.ts +12 -9
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +18 -7
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +5 -1
- package/dest/logs/tagging_index_range.d.ts +22 -0
- package/dest/logs/tagging_index_range.d.ts.map +1 -0
- package/dest/logs/tagging_index_range.js +8 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
- package/dest/messaging/append_l1_to_l2_messages.js +12 -0
- package/dest/messaging/index.d.ts +2 -1
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +1 -0
- package/dest/messaging/l1_to_l2_message.d.ts +25 -3
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +38 -15
- package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +70 -7
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +130 -27
- package/dest/messaging/l2_to_l1_message.d.ts +38 -112
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +21 -12
- package/dest/noir/index.d.ts +7 -5
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/note/index.d.ts +1 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +0 -1
- package/dest/note/note.d.ts +2 -2
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note_dao.d.ts +1 -1
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +1 -4
- package/dest/p2p/attestation_utils.d.ts +11 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +53 -1
- package/dest/p2p/block_proposal.d.ts +32 -15
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +58 -42
- package/dest/p2p/checkpoint_attestation.d.ts +25 -9
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +33 -24
- package/dest/p2p/checkpoint_proposal.d.ts +45 -25
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +68 -65
- package/dest/p2p/client_type.d.ts +2 -5
- package/dest/p2p/client_type.d.ts.map +1 -1
- package/dest/p2p/client_type.js +0 -7
- package/dest/p2p/consensus_payload.d.ts +33 -17
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +47 -21
- package/dest/p2p/constants.d.ts +3 -1
- package/dest/p2p/constants.d.ts.map +1 -1
- package/dest/p2p/constants.js +1 -0
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/index.d.ts +2 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +1 -1
- package/dest/p2p/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- package/dest/p2p/signature_utils.d.ts +35 -17
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +125 -20
- package/dest/p2p/signed_txs.d.ts +15 -13
- package/dest/p2p/signed_txs.d.ts.map +1 -1
- package/dest/p2p/signed_txs.js +26 -24
- package/dest/p2p/topic_type.d.ts +3 -4
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +7 -24
- package/dest/p2p/validated_proposal.d.ts +35 -0
- package/dest/p2p/validated_proposal.d.ts.map +1 -0
- package/dest/p2p/validated_proposal.js +17 -0
- package/dest/parity/parity_base_private_inputs.d.ts +8 -4
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_base_private_inputs.js +7 -5
- package/dest/parity/parity_public_inputs.d.ts +8 -4
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.js +6 -3
- package/dest/parity/parity_root_private_inputs.d.ts +2 -2
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +57 -7
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +112 -15
- package/dest/proofs/recursive_proof.d.ts +2 -2
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.d.ts +3 -3
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.d.ts +1 -1
- package/dest/rollup/block_headers_hash.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.js +8 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +12 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.d.ts +10 -5
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +22 -12
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +32 -78
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +2 -2
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +13 -7
- package/dest/slashing/index.d.ts +2 -3
- package/dest/slashing/index.d.ts.map +1 -1
- package/dest/slashing/index.js +1 -2
- package/dest/slashing/serialization.d.ts +2 -6
- package/dest/slashing/serialization.d.ts.map +1 -1
- package/dest/slashing/serialization.js +0 -60
- package/dest/slashing/types.d.ts +20 -112
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +22 -24
- package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
- package/dest/slashing/votes.d.ts.map +1 -0
- package/dest/slashing/{tally.js → votes.js} +30 -2
- package/dest/snapshots/types.d.ts +15 -78
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/stats/stats.d.ts +2 -2
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +25 -30
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +91 -88
- package/dest/tests/mocks.d.ts +15 -7
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +69 -70
- package/dest/timetable/budgets.d.ts +57 -0
- package/dest/timetable/budgets.d.ts.map +1 -0
- package/dest/timetable/budgets.js +56 -0
- package/dest/timetable/build_proposer_timetable.d.ts +21 -0
- package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/build_proposer_timetable.js +17 -0
- package/dest/timetable/consensus_timetable.d.ts +70 -0
- package/dest/timetable/consensus_timetable.d.ts.map +1 -0
- package/dest/timetable/consensus_timetable.js +89 -0
- package/dest/timetable/index.d.ts +5 -37
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +4 -39
- package/dest/timetable/proposer_timetable.d.ts +106 -0
- package/dest/timetable/proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/proposer_timetable.js +132 -0
- package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +6 -3
- package/dest/trees/nullifier_leaf.d.ts +19 -42
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +3 -0
- package/dest/trees/nullifier_membership_witness.d.ts +17 -63
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +0 -21
- package/dest/trees/public_data_leaf.d.ts +22 -53
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +7 -6
- package/dest/trees/public_data_witness.d.ts +19 -71
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/trees/public_data_witness.js +0 -27
- package/dest/tx/block_header.d.ts +7 -4
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +13 -6
- package/dest/tx/call_context.d.ts +4 -14
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +7 -3
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +9 -3
- package/dest/tx/execution_payload.d.ts +1 -1
- package/dest/tx/execution_payload.d.ts.map +1 -1
- package/dest/tx/execution_payload.js +1 -1
- package/dest/tx/fee_provider.d.ts +10 -0
- package/dest/tx/fee_provider.d.ts.map +1 -0
- package/dest/tx/fee_provider.js +1 -0
- package/dest/tx/function_data.d.ts +4 -10
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +4 -15
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +19 -52
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +10 -14
- package/dest/tx/hashed_values.d.ts +10 -3
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +15 -4
- package/dest/tx/in_tx.d.ts +5 -17
- package/dest/tx/in_tx.d.ts.map +1 -1
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -0
- package/dest/tx/indexed_tx_effect.d.ts +8 -19
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +9 -6
- package/dest/tx/partial_state_reference.d.ts +22 -65
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +6 -3
- package/dest/tx/private_execution_result.d.ts +11 -21
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -6
- package/dest/tx/private_tx_constant_data.d.ts +18 -2
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/private_tx_constant_data.js +13 -4
- package/dest/tx/profiling.d.ts +70 -356
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +19 -9
- package/dest/tx/protocol_contracts.d.ts +5 -9
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +2 -2
- package/dest/tx/proven_tx.d.ts +30 -74
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +6 -0
- package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +6 -3
- package/dest/tx/public_simulation_output.d.ts +4 -2
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +7 -3
- package/dest/tx/simulated_tx.d.ts +77 -1149
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +23 -13
- package/dest/tx/state_reference.d.ts +30 -117
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +6 -4
- package/dest/tx/tree_snapshots.d.ts +27 -84
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +6 -4
- package/dest/tx/tx.d.ts +34 -17
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +70 -30
- package/dest/tx/tx_constant_data.d.ts +4 -3
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +6 -3
- package/dest/tx/tx_context.d.ts +32 -131
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_context.js +6 -6
- package/dest/tx/tx_hash.d.ts +6 -4
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_hash.js +13 -5
- package/dest/tx/tx_receipt.d.ts +151 -51
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +145 -51
- package/dest/tx/tx_request.js +2 -2
- package/dest/tx/validator/empty_validator.d.ts +2 -2
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +11 -3
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +12 -2
- package/dest/tx/validator/tx_validator.d.ts +6 -28
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +0 -4
- package/dest/types/shared.d.ts +4 -12
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +6 -12
- package/dest/update-checker/dev_version.d.ts +3 -0
- package/dest/update-checker/dev_version.d.ts.map +1 -0
- package/dest/update-checker/dev_version.js +1 -0
- package/dest/update-checker/index.d.ts +4 -2
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +3 -1
- package/dest/update-checker/package_version.d.ts +6 -0
- package/dest/update-checker/package_version.d.ts.map +1 -0
- package/dest/update-checker/package_version.js +13 -0
- package/dest/update-checker/version_checker.d.ts +25 -0
- package/dest/update-checker/version_checker.d.ts.map +1 -0
- package/dest/update-checker/version_checker.js +50 -0
- package/dest/validators/errors.d.ts +21 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +19 -0
- package/dest/validators/schemas.d.ts +147 -614
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +9 -6
- package/dest/validators/types.d.ts +21 -4
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.d.ts +4 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +5 -2
- package/dest/vks/verification_key.d.ts +4 -139
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +5 -126
- package/dest/world-state/genesis_data.d.ts +21 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +8 -0
- package/dest/world-state/index.d.ts +2 -1
- package/dest/world-state/index.d.ts.map +1 -1
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +15 -26
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +7 -1
- package/package.json +15 -13
- package/src/abi/abi.ts +86 -21
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +38 -5
- package/src/abi/contract_artifact.ts +63 -15
- package/src/abi/decoder.ts +36 -82
- package/src/abi/encoder.ts +85 -6
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/event_selector.ts +2 -8
- package/src/abi/function_selector.ts +4 -13
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- package/src/abi/note_selector.ts +3 -12
- package/src/abi/selector.ts +1 -1
- package/src/abi/utils.ts +31 -4
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/avm/avm.ts +6 -1
- package/src/avm/message_pack.ts +12 -3
- package/src/avm/revert_code.ts +20 -25
- package/src/aztec-address/index.ts +50 -17
- package/src/block/attestation_info.ts +16 -11
- package/src/block/block_data.ts +25 -0
- package/src/block/block_hash.ts +21 -14
- package/src/block/block_parameter.ts +72 -4
- package/src/block/index.ts +1 -1
- package/src/block/l2_block.ts +13 -1
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +276 -122
- package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +81 -0
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +101 -9
- package/src/block/l2_block_stream/l2_block_stream.ts +268 -158
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
- package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
- package/src/block/proposal/attestations_and_signers.ts +85 -24
- package/src/block/test/l2_tips_store_test_suite.ts +276 -22
- package/src/block/validate_block_result.ts +48 -2
- package/src/checkpoint/checkpoint.ts +55 -18
- package/src/checkpoint/checkpoint_data.ts +91 -0
- package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
- package/src/checkpoint/digest.ts +28 -0
- package/src/checkpoint/index.ts +6 -0
- package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
- package/src/checkpoint/published_checkpoint.ts +3 -1
- package/src/checkpoint/simulation_overrides.ts +171 -0
- package/src/checkpoint/validate.ts +262 -0
- package/src/config/chain-config.ts +13 -16
- package/src/config/index.ts +1 -0
- package/src/config/network-consensus-config.ts +299 -0
- package/src/config/node-rpc-config.ts +51 -1
- package/src/config/sequencer-config.ts +82 -5
- package/src/contract/complete_address.ts +7 -3
- package/src/contract/contract_address.ts +14 -13
- package/src/contract/contract_class.ts +3 -3
- package/src/contract/contract_class_id.ts +7 -6
- package/src/contract/contract_instance.ts +73 -3
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/contract/interfaces/contract_data_source.ts +2 -4
- package/src/contract/interfaces/contract_instance.ts +32 -10
- package/src/contract/interfaces/node-info.ts +14 -0
- package/src/contract/partial_address.ts +8 -2
- package/src/contract/private_function.ts +5 -3
- package/src/database-version/version_manager.ts +113 -6
- package/src/deserialization/index.ts +35 -2
- package/src/epoch-helpers/index.ts +27 -0
- package/src/file-store/factory.ts +20 -4
- package/src/file-store/http.ts +29 -10
- package/src/file-store/index.ts +2 -0
- package/src/file-store/local.ts +15 -5
- package/src/file-store/memory.ts +94 -0
- package/src/file-store/s3.ts +12 -3
- package/src/gas/README.md +318 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas.ts +8 -3
- package/src/gas/gas_fees.ts +29 -10
- package/src/gas/gas_settings.ts +63 -15
- package/src/gas/index.ts +2 -0
- package/src/gas/tx_gas_limits.ts +123 -0
- package/src/ha-signing/config.ts +170 -0
- package/src/ha-signing/index.ts +29 -0
- package/src/ha-signing/local_config.ts +65 -0
- package/src/ha-signing/types.ts +126 -0
- package/src/hash/hash.ts +75 -18
- package/src/hash/map_slot.ts +2 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/api_limit.ts +6 -1
- package/src/interfaces/archiver.ts +97 -88
- package/src/interfaces/aztec-node-admin.ts +58 -20
- package/src/interfaces/aztec-node-debug.ts +92 -0
- package/src/interfaces/aztec-node.ts +420 -264
- package/src/interfaces/block-builder.ts +71 -15
- package/src/interfaces/block_response.ts +92 -0
- package/src/interfaces/chain_tips.ts +16 -0
- package/src/interfaces/checkpoint_parameter.ts +20 -0
- package/src/interfaces/checkpoint_response.ts +84 -0
- package/src/interfaces/client.ts +8 -1
- package/src/interfaces/configs.ts +114 -14
- package/src/interfaces/get_tx_by_hash_options.ts +14 -0
- package/src/interfaces/l1_publish_info.ts +40 -0
- package/src/interfaces/l2_logs_source.ts +13 -39
- package/src/interfaces/merkle_tree_operations.ts +12 -21
- package/src/interfaces/p2p-bootstrap.ts +2 -2
- package/src/interfaces/p2p.ts +80 -30
- package/src/interfaces/private_kernel_prover.ts +98 -12
- package/src/interfaces/prover-agent.ts +1 -1
- package/src/interfaces/prover-client.ts +11 -8
- package/src/interfaces/prover-node.ts +36 -21
- package/src/interfaces/proving-job-source.ts +4 -4
- package/src/interfaces/proving-job.ts +18 -6
- package/src/interfaces/public_storage_override.ts +26 -0
- package/src/interfaces/server.ts +5 -1
- package/src/interfaces/server_circuit_prover.ts +2 -2
- package/src/interfaces/slasher.ts +19 -10
- package/src/interfaces/tx_provider.ts +10 -0
- package/src/interfaces/validator.ts +103 -40
- package/src/interfaces/world_state.ts +19 -4
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
- package/src/kernel/hints/build_transient_data_hints.ts +17 -2
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/key_validation_request.ts +18 -16
- package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
- package/src/kernel/hints/read_request.ts +1 -1
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
- package/src/kernel/index.ts +5 -1
- package/src/kernel/log_hash.ts +36 -13
- package/src/kernel/note_hash.ts +1 -1
- package/src/kernel/nullifier.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +26 -15
- package/src/kernel/private_context_inputs.ts +10 -3
- package/src/kernel/private_kernel_circuit_public_inputs.ts +11 -2
- package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
- package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
- package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
- package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
- package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
- package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
- package/src/kernel/private_log_data.ts +4 -1
- package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
- package/src/kernel/private_to_public_accumulated_data.ts +9 -3
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +14 -8
- package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
- package/src/kernel/private_validation_requests.ts +8 -8
- package/src/kernel/public_call_request.ts +22 -7
- package/src/keys/derivation.ts +83 -26
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_key.ts +26 -2
- package/src/keys/public_keys.ts +125 -111
- package/src/keys/utils.ts +5 -5
- package/src/kv-store/config.ts +29 -0
- package/src/kv-store/index.ts +1 -0
- package/src/l1-contracts/index.ts +1 -1
- package/src/logs/app_tagging_secret.ts +160 -0
- package/src/logs/app_tagging_secret_kind.ts +21 -0
- package/src/logs/contract_class_log.ts +15 -14
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/index.ts +8 -8
- package/src/logs/log_cursor.ts +110 -0
- package/src/logs/log_result.ts +104 -0
- package/src/logs/logs_query.ts +138 -0
- package/src/logs/pre_tag.ts +3 -6
- package/src/logs/private_log.ts +9 -3
- package/src/logs/public_log.ts +4 -2
- package/src/logs/query_all_logs_by_tags.ts +98 -0
- package/src/logs/shared_secret_derivation.ts +55 -11
- package/src/logs/siloed_tag.ts +28 -14
- package/src/logs/tag.ts +9 -9
- package/src/logs/tagging_index_range.ts +18 -0
- package/src/messaging/append_l1_to_l2_messages.ts +21 -0
- package/src/messaging/index.ts +1 -0
- package/src/messaging/l1_to_l2_message.ts +56 -15
- package/src/messaging/l1_to_l2_message_source.ts +3 -1
- package/src/messaging/l2_to_l1_membership.ts +189 -35
- package/src/messaging/l2_to_l1_message.ts +29 -9
- package/src/noir/index.ts +6 -3
- package/src/note/index.ts +0 -1
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/attestation_utils.ts +64 -1
- package/src/p2p/block_proposal.ts +112 -39
- package/src/p2p/checkpoint_attestation.ts +44 -31
- package/src/p2p/checkpoint_proposal.ts +149 -86
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/consensus_payload.ts +68 -24
- package/src/p2p/constants.ts +3 -0
- package/src/p2p/gossipable.ts +4 -4
- package/src/p2p/index.ts +1 -1
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/signature_utils.ts +117 -23
- package/src/p2p/signed_txs.ts +46 -28
- package/src/p2p/topic_type.ts +8 -15
- package/src/p2p/validated_proposal.ts +43 -0
- package/src/parity/parity_base_private_inputs.ts +10 -4
- package/src/parity/parity_public_inputs.ts +9 -2
- package/src/proofs/chonk_proof.ts +132 -12
- package/src/rollup/avm_proof_data.ts +2 -2
- package/src/rollup/block_headers_hash.ts +11 -2
- package/src/rollup/block_rollup_public_inputs.ts +13 -0
- package/src/rollup/checkpoint_header.ts +18 -4
- package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
- package/src/schemas/schemas.ts +6 -1
- package/src/slashing/helpers.ts +17 -9
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +31 -49
- package/src/slashing/{tally.ts → votes.ts} +34 -1
- package/src/stats/stats.ts +6 -2
- package/src/tests/factories.ts +123 -122
- package/src/tests/mocks.ts +111 -84
- package/src/timetable/README.md +609 -0
- package/src/timetable/budgets.ts +87 -0
- package/src/timetable/build_proposer_timetable.ts +42 -0
- package/src/timetable/consensus_timetable.ts +126 -0
- package/src/timetable/index.ts +4 -66
- package/src/timetable/proposer_timetable.ts +190 -0
- package/src/timetable/timetable-example.svg +108 -0
- package/src/trees/append_only_tree_snapshot.ts +8 -3
- package/src/trees/nullifier_leaf.ts +4 -0
- package/src/trees/nullifier_membership_witness.ts +0 -21
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/trees/public_data_witness.ts +0 -31
- package/src/tx/block_header.ts +18 -7
- package/src/tx/capsule.ts +10 -2
- package/src/tx/execution_payload.ts +2 -1
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/global_variable_builder.ts +3 -20
- package/src/tx/global_variables.ts +15 -23
- package/src/tx/hashed_values.ts +19 -9
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +18 -6
- package/src/tx/partial_state_reference.ts +8 -3
- package/src/tx/private_execution_result.ts +5 -5
- package/src/tx/private_tx_constant_data.ts +25 -2
- package/src/tx/profiling.ts +18 -9
- package/src/tx/protocol_contracts.ts +2 -2
- package/src/tx/proven_tx.ts +6 -0
- package/src/tx/public_call_request_with_calldata.ts +8 -3
- package/src/tx/public_simulation_output.ts +4 -0
- package/src/tx/simulated_tx.ts +39 -20
- package/src/tx/state_reference.ts +9 -4
- package/src/tx/tree_snapshots.ts +9 -4
- package/src/tx/tx.ts +98 -37
- package/src/tx/tx_constant_data.ts +8 -3
- package/src/tx/tx_context.ts +8 -3
- package/src/tx/tx_hash.ts +20 -5
- package/src/tx/tx_receipt.ts +269 -74
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +15 -2
- package/src/tx/validator/tx_validator.ts +2 -6
- package/src/types/shared.ts +8 -13
- package/src/update-checker/dev_version.ts +2 -0
- package/src/update-checker/index.ts +3 -1
- package/src/update-checker/package_version.ts +17 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/errors.ts +26 -0
- package/src/validators/schemas.ts +13 -4
- package/src/validators/types.ts +25 -5
- package/src/versioning/versioning.ts +5 -2
- package/src/vks/verification_key.ts +5 -184
- package/src/world-state/genesis_data.ts +37 -0
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +9 -1
- package/dest/abi/mocked_keys.d.ts +0 -2
- package/dest/abi/mocked_keys.d.ts.map +0 -1
- package/dest/abi/mocked_keys.js +0 -1
- package/dest/block/checkpointed_l2_block.d.ts +0 -150
- package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
- package/dest/block/checkpointed_l2_block.js +0 -46
- package/dest/contract/private_function_membership_proof.d.ts +0 -32
- package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/private_function_membership_proof.js +0 -124
- package/dest/contract/utility_function_membership_proof.d.ts +0 -27
- package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/utility_function_membership_proof.js +0 -87
- package/dest/interfaces/epoch-prover.d.ts +0 -57
- package/dest/interfaces/epoch-prover.d.ts.map +0 -1
- package/dest/interfaces/epoch-prover.js +0 -1
- package/dest/interfaces/get_logs_response.d.ts +0 -97
- package/dest/interfaces/get_logs_response.d.ts.map +0 -1
- package/dest/interfaces/get_logs_response.js +0 -12
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
- package/dest/l1-contracts/slash_factory.d.ts +0 -45
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -158
- package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/logs/directional_app_tagging_secret.js +0 -64
- package/dest/logs/extended_contract_class_log.d.ts +0 -51
- package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
- package/dest/logs/extended_contract_class_log.js +0 -67
- package/dest/logs/extended_public_log.d.ts +0 -106
- package/dest/logs/extended_public_log.d.ts.map +0 -1
- package/dest/logs/extended_public_log.js +0 -73
- package/dest/logs/log_filter.d.ts +0 -22
- package/dest/logs/log_filter.d.ts.map +0 -1
- package/dest/logs/log_filter.js +0 -11
- package/dest/logs/log_id.d.ts +0 -85
- package/dest/logs/log_id.d.ts.map +0 -1
- package/dest/logs/log_id.js +0 -94
- package/dest/logs/message_context.d.ts +0 -29
- package/dest/logs/message_context.d.ts.map +0 -1
- package/dest/logs/message_context.js +0 -56
- package/dest/logs/pending_tagged_log.d.ts +0 -14
- package/dest/logs/pending_tagged_log.d.ts.map +0 -1
- package/dest/logs/pending_tagged_log.js +0 -34
- package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
- package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
- package/dest/logs/tx_scoped_l2_log.js +0 -70
- package/dest/note/notes_filter.d.ts +0 -27
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -11
- package/dest/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -86
- package/dest/slashing/tally.d.ts.map +0 -1
- package/dest/update-checker/update-checker.d.ts +0 -49
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/abi/mocked_keys.ts +0 -2
- package/src/block/checkpointed_l2_block.ts +0 -70
- package/src/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/interfaces/epoch-prover.ts +0 -72
- package/src/interfaces/get_logs_response.ts +0 -35
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
- package/src/l1-contracts/slash_factory.ts +0 -180
- package/src/logs/directional_app_tagging_secret.ts +0 -79
- package/src/logs/extended_contract_class_log.ts +0 -87
- package/src/logs/extended_public_log.ts +0 -94
- package/src/logs/log_filter.ts +0 -31
- package/src/logs/log_id.ts +0 -125
- package/src/logs/message_context.ts +0 -62
- package/src/logs/pending_tagged_log.ts +0 -41
- package/src/logs/tx_scoped_l2_log.ts +0 -98
- package/src/note/notes_filter.ts +0 -38
- package/src/slashing/empire.ts +0 -103
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
3
|
import { schemas } from '@aztec/foundation/schemas';
|
|
4
|
-
import { BufferReader,
|
|
4
|
+
import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
|
|
5
5
|
|
|
6
6
|
import { z } from 'zod';
|
|
7
7
|
|
|
@@ -54,8 +54,13 @@ export class L2ToL1Message {
|
|
|
54
54
|
* Serialize this as a buffer.
|
|
55
55
|
* @returns The buffer.
|
|
56
56
|
*/
|
|
57
|
-
toBuffer(): Buffer
|
|
58
|
-
|
|
57
|
+
toBuffer(): Buffer;
|
|
58
|
+
toBuffer(sink: BufferSink): void;
|
|
59
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
60
|
+
if (!sink) {
|
|
61
|
+
return BufferSink.serialize(this);
|
|
62
|
+
}
|
|
63
|
+
serializeToSink(sink, this.recipient, this.content);
|
|
59
64
|
}
|
|
60
65
|
|
|
61
66
|
/**
|
|
@@ -127,8 +132,13 @@ export class CountedL2ToL1Message {
|
|
|
127
132
|
return new CountedL2ToL1Message(reader.readObject(L2ToL1Message), reader.readNumber());
|
|
128
133
|
}
|
|
129
134
|
|
|
130
|
-
toBuffer(): Buffer
|
|
131
|
-
|
|
135
|
+
toBuffer(): Buffer;
|
|
136
|
+
toBuffer(sink: BufferSink): void;
|
|
137
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
138
|
+
if (!sink) {
|
|
139
|
+
return BufferSink.serialize(this);
|
|
140
|
+
}
|
|
141
|
+
serializeToSink(sink, this.message, this.counter);
|
|
132
142
|
}
|
|
133
143
|
|
|
134
144
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
@@ -187,8 +197,13 @@ export class ScopedL2ToL1Message {
|
|
|
187
197
|
return new ScopedL2ToL1Message(reader.readObject(L2ToL1Message), reader.readObject(AztecAddress));
|
|
188
198
|
}
|
|
189
199
|
|
|
190
|
-
toBuffer(): Buffer
|
|
191
|
-
|
|
200
|
+
toBuffer(): Buffer;
|
|
201
|
+
toBuffer(sink: BufferSink): void;
|
|
202
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
203
|
+
if (!sink) {
|
|
204
|
+
return BufferSink.serialize(this);
|
|
205
|
+
}
|
|
206
|
+
serializeToSink(sink, this.message, this.contractAddress);
|
|
192
207
|
}
|
|
193
208
|
|
|
194
209
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
@@ -229,8 +244,13 @@ export class ScopedCountedL2ToL1Message {
|
|
|
229
244
|
return new ScopedCountedL2ToL1Message(reader.readObject(CountedL2ToL1Message), reader.readObject(AztecAddress));
|
|
230
245
|
}
|
|
231
246
|
|
|
232
|
-
toBuffer(): Buffer
|
|
233
|
-
|
|
247
|
+
toBuffer(): Buffer;
|
|
248
|
+
toBuffer(sink: BufferSink): void;
|
|
249
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
250
|
+
if (!sink) {
|
|
251
|
+
return BufferSink.serialize(this);
|
|
252
|
+
}
|
|
253
|
+
serializeToSink(sink, this.inner, this.contractAddress);
|
|
234
254
|
}
|
|
235
255
|
|
|
236
256
|
static fromFields(fields: Fr[] | FieldReader) {
|
package/src/noir/index.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type {
|
|
|
2
2
|
ABIParameter,
|
|
3
3
|
ABIParameterVisibility,
|
|
4
4
|
AbiErrorType,
|
|
5
|
+
AbiNamedValue,
|
|
5
6
|
AbiType,
|
|
6
7
|
AbiValue,
|
|
7
8
|
DebugFileMap,
|
|
@@ -19,7 +20,7 @@ export const AZTEC_VIEW_ATTRIBUTE = 'abi_view';
|
|
|
19
20
|
export interface NoirFunctionAbi {
|
|
20
21
|
/** The parameters of the function. */
|
|
21
22
|
parameters: ABIParameter[];
|
|
22
|
-
/** The return type of the function. */
|
|
23
|
+
/** The return type of the function, or null for void functions. */
|
|
23
24
|
return_type: {
|
|
24
25
|
/**
|
|
25
26
|
* The type of the return value.
|
|
@@ -29,7 +30,7 @@ export interface NoirFunctionAbi {
|
|
|
29
30
|
* The visibility of the return value.
|
|
30
31
|
*/
|
|
31
32
|
visibility: ABIParameterVisibility;
|
|
32
|
-
};
|
|
33
|
+
} | null;
|
|
33
34
|
/** Mapping of error selector => error type */
|
|
34
35
|
error_types: Partial<Record<string, AbiErrorType>>;
|
|
35
36
|
}
|
|
@@ -64,6 +65,8 @@ interface NoirFunctionEntry {
|
|
|
64
65
|
export interface NoirCompiledContract {
|
|
65
66
|
/** The name of the contract. */
|
|
66
67
|
name: string;
|
|
68
|
+
/** The version of the Aztec stack that compiled this contract. */
|
|
69
|
+
aztec_version: string;
|
|
67
70
|
/** Is the contract's public bytecode transpiled? */
|
|
68
71
|
transpiled?: boolean;
|
|
69
72
|
/** The functions of the contract. */
|
|
@@ -71,7 +74,7 @@ export interface NoirCompiledContract {
|
|
|
71
74
|
/** The events of the contract */
|
|
72
75
|
outputs: {
|
|
73
76
|
structs: Record<string, AbiType[]>;
|
|
74
|
-
globals: Record<string, AbiValue[]>;
|
|
77
|
+
globals: Record<string, (AbiNamedValue | AbiValue)[]>;
|
|
75
78
|
};
|
|
76
79
|
/** The map of file ID to the source code and path of the file. */
|
|
77
80
|
file_map: DebugFileMap;
|
package/src/note/index.ts
CHANGED
package/src/note/note_dao.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
-
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
4
3
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
4
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
5
|
import { Note } from '@aztec/stdlib/note';
|
|
@@ -148,9 +147,7 @@ export class NoteDao {
|
|
|
148
147
|
* @returns - Its size in bytes.
|
|
149
148
|
*/
|
|
150
149
|
public getSize() {
|
|
151
|
-
|
|
152
|
-
// 2 numbers for txIndexInBlock and noteIndexInTx (4 bytes each)
|
|
153
|
-
return noteSize + AztecAddress.SIZE_IN_BYTES * 2 + Fr.SIZE_IN_BYTES * 4 + TxHash.SIZE + Point.SIZE_IN_BYTES + 8;
|
|
150
|
+
return this.toBuffer().length;
|
|
154
151
|
}
|
|
155
152
|
|
|
156
153
|
static async random({
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { normalizeSignature } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
1
2
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
3
|
|
|
3
4
|
import { CommitteeAttestation } from '../block/index.js';
|
|
@@ -18,9 +19,15 @@ export function orderAttestations(
|
|
|
18
19
|
for (const attestation of attestations) {
|
|
19
20
|
const sender = attestation.getSender();
|
|
20
21
|
if (sender) {
|
|
22
|
+
// Canonicalize the recovery byte to v ∈ {27, 28} before it reaches the L1 bundle. A committee
|
|
23
|
+
// member (or a peer mutating the byte in flight) can emit an equivalent signature in yParity form
|
|
24
|
+
// (v = 0/1); left as-is it makes `packAttestations` (empty iff v === 0) and `getSigners` (empty iff
|
|
25
|
+
// r,s,v all zero) disagree, reverting `propose()` with SignersSizeMismatch, and a v = 1 byte would
|
|
26
|
+
// later revert epoch proving in ECDSA.recover. `sender` recovered, so the signature is non-empty
|
|
27
|
+
// and low-s, and normalizeSignature preserves the recovered address.
|
|
21
28
|
attestationMap.set(
|
|
22
29
|
sender.toString(),
|
|
23
|
-
CommitteeAttestation.fromAddressAndSignature(sender, attestation.signature),
|
|
30
|
+
CommitteeAttestation.fromAddressAndSignature(sender, normalizeSignature(attestation.signature)),
|
|
24
31
|
);
|
|
25
32
|
}
|
|
26
33
|
}
|
|
@@ -33,3 +40,59 @@ export function orderAttestations(
|
|
|
33
40
|
|
|
34
41
|
return orderedAttestations;
|
|
35
42
|
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Trims attestations to the minimum required number to save L1 calldata gas.
|
|
46
|
+
* Each signature costs 65 bytes of calldata vs 20 bytes for just an address.
|
|
47
|
+
*
|
|
48
|
+
* Priority order for keeping attestations:
|
|
49
|
+
* 1. The proposer's attestation (required by L1 contract - MissingProposerSignature revert)
|
|
50
|
+
* 2. Attestations from the local node's validator keys
|
|
51
|
+
* 3. Remaining attestations filled to reach the required count
|
|
52
|
+
*/
|
|
53
|
+
export function trimAttestations(
|
|
54
|
+
attestations: CheckpointAttestation[],
|
|
55
|
+
required: number,
|
|
56
|
+
proposerAddress: EthAddress,
|
|
57
|
+
localAddresses: EthAddress[],
|
|
58
|
+
): CheckpointAttestation[] {
|
|
59
|
+
if (attestations.length <= required) {
|
|
60
|
+
return attestations;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const proposerAttestation: CheckpointAttestation[] = [];
|
|
64
|
+
const localAttestations: CheckpointAttestation[] = [];
|
|
65
|
+
const otherAttestations: CheckpointAttestation[] = [];
|
|
66
|
+
|
|
67
|
+
for (const attestation of attestations) {
|
|
68
|
+
const sender = attestation.getSender();
|
|
69
|
+
if (!sender) {
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
if (sender.equals(proposerAddress)) {
|
|
73
|
+
proposerAttestation.push(attestation);
|
|
74
|
+
} else if (localAddresses.some(addr => addr.equals(sender))) {
|
|
75
|
+
localAttestations.push(attestation);
|
|
76
|
+
} else {
|
|
77
|
+
otherAttestations.push(attestation);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const result: CheckpointAttestation[] = [...proposerAttestation];
|
|
82
|
+
|
|
83
|
+
for (const att of localAttestations) {
|
|
84
|
+
if (result.length >= required) {
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
result.push(att);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
for (const att of otherAttestations) {
|
|
91
|
+
if (result.length >= required) {
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
result.push(att);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return result;
|
|
98
|
+
}
|
|
@@ -1,33 +1,42 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
BlockNumber,
|
|
3
|
+
BlockProposalHash,
|
|
4
|
+
type CheckpointNumber,
|
|
5
|
+
IndexWithinCheckpoint,
|
|
6
|
+
SlotNumber,
|
|
7
|
+
} from '@aztec/foundation/branded-types';
|
|
8
|
+
import { type BaseBuffer32, Buffer32 } from '@aztec/foundation/buffer';
|
|
3
9
|
import { keccak256 } from '@aztec/foundation/crypto/keccak';
|
|
4
|
-
import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
5
10
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
11
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
7
12
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
8
13
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
9
|
-
|
|
14
|
+
|
|
15
|
+
import type { TypedDataDefinition } from 'viem';
|
|
10
16
|
|
|
11
17
|
import type { L2Block } from '../block/l2_block.js';
|
|
12
18
|
import type { L2BlockInfo } from '../block/l2_block_info.js';
|
|
13
19
|
import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
|
|
20
|
+
import { DutyType, type SigningContext } from '../ha-signing/index.js';
|
|
14
21
|
import { BlockHeader } from '../tx/block_header.js';
|
|
15
22
|
import { TxHash } from '../tx/index.js';
|
|
16
23
|
import type { Tx } from '../tx/tx.js';
|
|
17
24
|
import { Gossipable } from './gossipable.js';
|
|
18
25
|
import {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
26
|
+
type CoordinationSignatureContext,
|
|
27
|
+
type CoordinationSignatureType,
|
|
28
|
+
EMPTY_COORDINATION_SIGNATURE_CONTEXT,
|
|
29
|
+
type Signable,
|
|
30
|
+
coordinationSignatureContextEquals,
|
|
31
|
+
getCoordinationSignatureTypedData,
|
|
32
|
+
readCoordinationSignatureContext,
|
|
33
|
+
recoverCoordinationSigner,
|
|
34
|
+
serializeCoordinationSignatureContext,
|
|
22
35
|
} from './signature_utils.js';
|
|
23
36
|
import { SignedTxs } from './signed_txs.js';
|
|
24
37
|
import { TopicType } from './topic_type.js';
|
|
25
38
|
|
|
26
|
-
export
|
|
27
|
-
constructor(hash: Buffer) {
|
|
28
|
-
super(hash);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
39
|
+
export type { BlockProposalHash } from '@aztec/foundation/branded-types';
|
|
31
40
|
|
|
32
41
|
export type BlockProposalOptions = {
|
|
33
42
|
/**
|
|
@@ -47,17 +56,17 @@ export type BlockProposalOptions = {
|
|
|
47
56
|
* to be included in a block within a checkpoint. This is used for non-last blocks in a slot.
|
|
48
57
|
* The last block is sent as part of a CheckpointProposal.
|
|
49
58
|
*/
|
|
50
|
-
export class BlockProposal extends Gossipable {
|
|
59
|
+
export class BlockProposal extends Gossipable implements Signable {
|
|
51
60
|
static override p2pTopic = TopicType.block_proposal;
|
|
52
61
|
|
|
53
|
-
|
|
62
|
+
readonly primaryType: CoordinationSignatureType = 'BlockProposal';
|
|
63
|
+
|
|
64
|
+
private cachedSender: EthAddress | undefined | null = undefined;
|
|
54
65
|
|
|
55
66
|
constructor(
|
|
56
67
|
/** The per-block header containing block state and global variables */
|
|
57
68
|
public readonly blockHeader: BlockHeader,
|
|
58
69
|
|
|
59
|
-
// TODO(palla/mbps): Is this really needed? Can we just derive it from the indexWithinCheckpoint of the parent block and the slot number?
|
|
60
|
-
// See the block-proposal-handler, we have a lot of extra validations to check this is correct, so maybe we can avoid storing it here.
|
|
61
70
|
/** Index of this block within the checkpoint (0-indexed) */
|
|
62
71
|
public readonly indexWithinCheckpoint: IndexWithinCheckpoint,
|
|
63
72
|
|
|
@@ -73,14 +82,17 @@ export class BlockProposal extends Gossipable {
|
|
|
73
82
|
/** The proposer's signature over the block data */
|
|
74
83
|
public readonly signature: Signature,
|
|
75
84
|
|
|
85
|
+
/** The signing domain (chainId + rollupAddress) the signature is bound to */
|
|
86
|
+
public readonly signatureContext: CoordinationSignatureContext,
|
|
87
|
+
|
|
76
88
|
/** The signed transactions in the block (optional, for DA guarantees) */
|
|
77
89
|
public readonly signedTxs?: SignedTxs,
|
|
78
90
|
) {
|
|
79
91
|
super();
|
|
80
92
|
}
|
|
81
93
|
|
|
82
|
-
override generateP2PMessageIdentifier(): Promise<
|
|
83
|
-
return Promise.resolve(new
|
|
94
|
+
override generateP2PMessageIdentifier(): Promise<BaseBuffer32> {
|
|
95
|
+
return Promise.resolve(new Buffer32(this.getPayloadHashBuffer()));
|
|
84
96
|
}
|
|
85
97
|
|
|
86
98
|
get archive(): Fr {
|
|
@@ -114,9 +126,8 @@ export class BlockProposal extends Gossipable {
|
|
|
114
126
|
* Get the payload to sign for this block proposal.
|
|
115
127
|
* The signature is over: blockHeader + indexWithinCheckpoint + inHash + archiveRoot + txHashes
|
|
116
128
|
*/
|
|
117
|
-
getPayloadToSign(
|
|
129
|
+
getPayloadToSign(): Buffer {
|
|
118
130
|
return serializeToBuffer([
|
|
119
|
-
domainSeparator,
|
|
120
131
|
this.blockHeader,
|
|
121
132
|
this.indexWithinCheckpoint,
|
|
122
133
|
this.inHash,
|
|
@@ -126,14 +137,32 @@ export class BlockProposal extends Gossipable {
|
|
|
126
137
|
]);
|
|
127
138
|
}
|
|
128
139
|
|
|
140
|
+
private getPayloadHashBuffer(): Buffer {
|
|
141
|
+
return keccak256(this.getPayloadToSign());
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Returns a keccak256 hash of the signed payload.
|
|
146
|
+
* Used by the attestation pool to dedup distinct signed payloads at the same
|
|
147
|
+
* (slot, indexWithinCheckpoint) regardless of archive collisions.
|
|
148
|
+
* The hash deliberately excludes the signature so non-deterministic ECDSA
|
|
149
|
+
* re-signs of the same payload do not look like equivocation.
|
|
150
|
+
*/
|
|
151
|
+
getPayloadHash(): BlockProposalHash {
|
|
152
|
+
return BlockProposalHash.fromBuffer(this.getPayloadHashBuffer());
|
|
153
|
+
}
|
|
154
|
+
|
|
129
155
|
static async createProposalFromSigner(
|
|
130
156
|
blockHeader: BlockHeader,
|
|
157
|
+
checkpointNumber: CheckpointNumber,
|
|
131
158
|
indexWithinCheckpoint: IndexWithinCheckpoint,
|
|
132
159
|
inHash: Fr,
|
|
133
160
|
archiveRoot: Fr,
|
|
134
161
|
txHashes: TxHash[],
|
|
135
162
|
txs: Tx[] | undefined,
|
|
136
|
-
|
|
163
|
+
signatureContext: CoordinationSignatureContext,
|
|
164
|
+
proposalSigner: (typedData: TypedDataDefinition, context: SigningContext) => Promise<Signature>,
|
|
165
|
+
txsSigner?: (typedData: TypedDataDefinition, context: SigningContext) => Promise<Signature>,
|
|
137
166
|
): Promise<BlockProposal> {
|
|
138
167
|
// Create a temporary proposal to get the payload to sign
|
|
139
168
|
const tempProposal = new BlockProposal(
|
|
@@ -143,57 +172,76 @@ export class BlockProposal extends Gossipable {
|
|
|
143
172
|
archiveRoot,
|
|
144
173
|
txHashes,
|
|
145
174
|
Signature.empty(),
|
|
175
|
+
signatureContext,
|
|
146
176
|
);
|
|
147
177
|
|
|
148
178
|
// Create the block signing context
|
|
149
179
|
const blockContext: SigningContext = {
|
|
150
180
|
slot: blockHeader.globalVariables.slotNumber,
|
|
151
181
|
blockNumber: blockHeader.globalVariables.blockNumber,
|
|
182
|
+
checkpointNumber,
|
|
152
183
|
blockIndexWithinCheckpoint: indexWithinCheckpoint,
|
|
153
184
|
dutyType: DutyType.BLOCK_PROPOSAL,
|
|
154
185
|
};
|
|
155
186
|
|
|
156
|
-
const
|
|
157
|
-
const sig = await
|
|
187
|
+
const typedData = getCoordinationSignatureTypedData(tempProposal);
|
|
188
|
+
const sig = await proposalSigner(typedData, blockContext);
|
|
158
189
|
|
|
159
190
|
// If txs are provided, sign them as well
|
|
160
191
|
let signedTxs: SignedTxs | undefined;
|
|
161
192
|
if (txs) {
|
|
162
193
|
const txsSigningContext: SigningContext = { dutyType: DutyType.TXS };
|
|
163
|
-
|
|
164
|
-
|
|
194
|
+
if (!txsSigner) {
|
|
195
|
+
throw new Error('signed_txs requires a typed-data signer');
|
|
196
|
+
}
|
|
197
|
+
signedTxs = await SignedTxs.createFromSigner(txs, signatureContext, typedData =>
|
|
198
|
+
txsSigner(typedData, txsSigningContext),
|
|
199
|
+
);
|
|
165
200
|
}
|
|
166
201
|
|
|
167
|
-
return new BlockProposal(
|
|
202
|
+
return new BlockProposal(
|
|
203
|
+
blockHeader,
|
|
204
|
+
indexWithinCheckpoint,
|
|
205
|
+
inHash,
|
|
206
|
+
archiveRoot,
|
|
207
|
+
txHashes,
|
|
208
|
+
sig,
|
|
209
|
+
signatureContext,
|
|
210
|
+
signedTxs,
|
|
211
|
+
);
|
|
168
212
|
}
|
|
169
213
|
|
|
170
214
|
/**
|
|
171
215
|
* Lazily evaluate the sender of the proposal; result is cached.
|
|
172
|
-
* If there's signedTxs, also verifies
|
|
173
|
-
*
|
|
216
|
+
* If there's signedTxs, also verifies that its signing domain matches this proposal's and
|
|
217
|
+
* that the signedTxs sender matches the block proposal sender. This prevents a proposer
|
|
218
|
+
* from wrapping a foreign-chain SignedTxs bundle inside a local-chain proposal.
|
|
219
|
+
* @returns The sender address, or undefined if signature recovery fails or inner/outer mismatch
|
|
174
220
|
*/
|
|
175
221
|
getSender(): EthAddress | undefined {
|
|
176
|
-
if (
|
|
177
|
-
const
|
|
178
|
-
const blockSender = tryRecoverAddress(hashed, this.signature);
|
|
222
|
+
if (this.cachedSender === undefined) {
|
|
223
|
+
const blockSender = recoverCoordinationSigner(this, this.signature);
|
|
179
224
|
|
|
180
|
-
// If there's signedTxs, verify the sender matches
|
|
181
225
|
if (blockSender && this.signedTxs) {
|
|
226
|
+
if (!coordinationSignatureContextEquals(this.signedTxs.signatureContext, this.signatureContext)) {
|
|
227
|
+
this.cachedSender = null;
|
|
228
|
+
return undefined;
|
|
229
|
+
}
|
|
182
230
|
const txsSender = this.signedTxs.getSender();
|
|
183
231
|
if (!txsSender || !txsSender.equals(blockSender)) {
|
|
184
|
-
|
|
232
|
+
this.cachedSender = null;
|
|
233
|
+
return undefined;
|
|
185
234
|
}
|
|
186
235
|
}
|
|
187
236
|
|
|
188
|
-
|
|
189
|
-
this.sender = blockSender;
|
|
237
|
+
this.cachedSender = blockSender ?? null;
|
|
190
238
|
}
|
|
191
239
|
|
|
192
|
-
return this.
|
|
240
|
+
return this.cachedSender ?? undefined;
|
|
193
241
|
}
|
|
194
242
|
|
|
195
243
|
getPayload() {
|
|
196
|
-
return this.getPayloadToSign(
|
|
244
|
+
return this.getPayloadToSign();
|
|
197
245
|
}
|
|
198
246
|
|
|
199
247
|
toBuffer(): Buffer {
|
|
@@ -203,6 +251,7 @@ export class BlockProposal extends Gossipable {
|
|
|
203
251
|
this.inHash,
|
|
204
252
|
this.archiveRoot,
|
|
205
253
|
this.signature,
|
|
254
|
+
serializeCoordinationSignatureContext(this.signatureContext),
|
|
206
255
|
this.txHashes.length,
|
|
207
256
|
this.txHashes,
|
|
208
257
|
];
|
|
@@ -223,6 +272,7 @@ export class BlockProposal extends Gossipable {
|
|
|
223
272
|
const inHash = reader.readObject(Fr);
|
|
224
273
|
const archiveRoot = reader.readObject(Fr);
|
|
225
274
|
const signature = reader.readObject(Signature);
|
|
275
|
+
const signatureContext = readCoordinationSignatureContext(reader);
|
|
226
276
|
const txHashCount = reader.readNumber();
|
|
227
277
|
if (txHashCount > MAX_TXS_PER_BLOCK) {
|
|
228
278
|
throw new Error(`txHashes count ${txHashCount} exceeds maximum ${MAX_TXS_PER_BLOCK}`);
|
|
@@ -240,12 +290,21 @@ export class BlockProposal extends Gossipable {
|
|
|
240
290
|
archiveRoot,
|
|
241
291
|
txHashes,
|
|
242
292
|
signature,
|
|
293
|
+
signatureContext,
|
|
243
294
|
signedTxs,
|
|
244
295
|
);
|
|
245
296
|
}
|
|
246
297
|
}
|
|
247
298
|
|
|
248
|
-
return new BlockProposal(
|
|
299
|
+
return new BlockProposal(
|
|
300
|
+
blockHeader,
|
|
301
|
+
indexWithinCheckpoint,
|
|
302
|
+
inHash,
|
|
303
|
+
archiveRoot,
|
|
304
|
+
txHashes,
|
|
305
|
+
signature,
|
|
306
|
+
signatureContext,
|
|
307
|
+
);
|
|
249
308
|
}
|
|
250
309
|
|
|
251
310
|
getSize(): number {
|
|
@@ -255,6 +314,8 @@ export class BlockProposal extends Gossipable {
|
|
|
255
314
|
this.inHash.size +
|
|
256
315
|
this.archiveRoot.size +
|
|
257
316
|
this.signature.getSize() +
|
|
317
|
+
4 /* chainId */ +
|
|
318
|
+
20 /* rollupAddress */ +
|
|
258
319
|
4 /* txHashes.length */ +
|
|
259
320
|
this.txHashes.length * TxHash.SIZE +
|
|
260
321
|
4 /* hasSignedTxs flag */ +
|
|
@@ -263,7 +324,15 @@ export class BlockProposal extends Gossipable {
|
|
|
263
324
|
}
|
|
264
325
|
|
|
265
326
|
static empty(): BlockProposal {
|
|
266
|
-
return new BlockProposal(
|
|
327
|
+
return new BlockProposal(
|
|
328
|
+
BlockHeader.empty(),
|
|
329
|
+
IndexWithinCheckpoint(0),
|
|
330
|
+
Fr.ZERO,
|
|
331
|
+
Fr.ZERO,
|
|
332
|
+
[],
|
|
333
|
+
Signature.empty(),
|
|
334
|
+
EMPTY_COORDINATION_SIGNATURE_CONTEXT,
|
|
335
|
+
);
|
|
267
336
|
}
|
|
268
337
|
|
|
269
338
|
static random(): BlockProposal {
|
|
@@ -274,6 +343,7 @@ export class BlockProposal extends Gossipable {
|
|
|
274
343
|
Fr.random(),
|
|
275
344
|
[TxHash.random(), TxHash.random()],
|
|
276
345
|
Signature.random(),
|
|
346
|
+
EMPTY_COORDINATION_SIGNATURE_CONTEXT,
|
|
277
347
|
);
|
|
278
348
|
}
|
|
279
349
|
|
|
@@ -285,6 +355,8 @@ export class BlockProposal extends Gossipable {
|
|
|
285
355
|
archiveRoot: this.archiveRoot.toString(),
|
|
286
356
|
signature: this.signature.toString(),
|
|
287
357
|
txHashes: this.txHashes.map(h => h.toString()),
|
|
358
|
+
chainId: this.signatureContext.chainId,
|
|
359
|
+
rollupAddress: this.signatureContext.rollupAddress.toString(),
|
|
288
360
|
};
|
|
289
361
|
}
|
|
290
362
|
|
|
@@ -310,6 +382,7 @@ export class BlockProposal extends Gossipable {
|
|
|
310
382
|
this.archiveRoot,
|
|
311
383
|
this.txHashes,
|
|
312
384
|
this.signature,
|
|
385
|
+
this.signatureContext,
|
|
313
386
|
);
|
|
314
387
|
}
|
|
315
388
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
3
|
-
import {
|
|
4
|
-
import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
1
|
+
import { CheckpointProposalHash, type SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { type BaseBuffer32, Buffer32 } from '@aztec/foundation/buffer';
|
|
3
|
+
import { normalizeSignature } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
5
4
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
5
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
7
6
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
@@ -13,15 +12,9 @@ import type { ZodFor } from '../schemas/index.js';
|
|
|
13
12
|
import { CheckpointProposal } from './checkpoint_proposal.js';
|
|
14
13
|
import { ConsensusPayload } from './consensus_payload.js';
|
|
15
14
|
import { Gossipable } from './gossipable.js';
|
|
16
|
-
import {
|
|
15
|
+
import { type CoordinationSignatureContext, recoverCoordinationSigner } from './signature_utils.js';
|
|
17
16
|
import { TopicType } from './topic_type.js';
|
|
18
17
|
|
|
19
|
-
export class CheckpointAttestationHash extends Buffer32 {
|
|
20
|
-
constructor(hash: Buffer) {
|
|
21
|
-
super(hash);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
18
|
/**
|
|
26
19
|
* CheckpointAttestation
|
|
27
20
|
*
|
|
@@ -31,8 +24,8 @@ export class CheckpointAttestationHash extends Buffer32 {
|
|
|
31
24
|
export class CheckpointAttestation extends Gossipable {
|
|
32
25
|
static override p2pTopic = TopicType.checkpoint_attestation;
|
|
33
26
|
|
|
34
|
-
private
|
|
35
|
-
private
|
|
27
|
+
private cachedSender: EthAddress | undefined | null = undefined;
|
|
28
|
+
private cachedProposer: EthAddress | undefined | null = undefined;
|
|
36
29
|
|
|
37
30
|
constructor(
|
|
38
31
|
/** The payload of the message, and what the signature is over */
|
|
@@ -57,8 +50,8 @@ export class CheckpointAttestation extends Gossipable {
|
|
|
57
50
|
.transform(obj => new CheckpointAttestation(obj.payload, obj.signature, obj.proposerSignature));
|
|
58
51
|
}
|
|
59
52
|
|
|
60
|
-
override generateP2PMessageIdentifier(): Promise<
|
|
61
|
-
return Promise.resolve(new
|
|
53
|
+
override generateP2PMessageIdentifier(): Promise<BaseBuffer32> {
|
|
54
|
+
return Promise.resolve(new Buffer32(this.payload.getPayloadHash()));
|
|
62
55
|
}
|
|
63
56
|
|
|
64
57
|
get archive(): Fr {
|
|
@@ -69,22 +62,19 @@ export class CheckpointAttestation extends Gossipable {
|
|
|
69
62
|
return this.payload.header.slotNumber;
|
|
70
63
|
}
|
|
71
64
|
|
|
65
|
+
get signatureContext(): CoordinationSignatureContext {
|
|
66
|
+
return this.payload.signatureContext;
|
|
67
|
+
}
|
|
68
|
+
|
|
72
69
|
/**
|
|
73
70
|
* Lazily evaluate and cache the signer of the attestation
|
|
74
71
|
* @returns The signer of the attestation, or undefined if signature recovery fails
|
|
75
72
|
*/
|
|
76
73
|
getSender(): EthAddress | undefined {
|
|
77
|
-
if (
|
|
78
|
-
|
|
79
|
-
const hashed = getHashedSignaturePayloadEthSignedMessage(
|
|
80
|
-
this.payload,
|
|
81
|
-
SignatureDomainSeparator.checkpointAttestation,
|
|
82
|
-
);
|
|
83
|
-
// Cache the sender for later use
|
|
84
|
-
this.sender = tryRecoverAddress(hashed, this.signature);
|
|
74
|
+
if (this.cachedSender === undefined) {
|
|
75
|
+
this.cachedSender = recoverCoordinationSigner(this.payload, this.signature) ?? null;
|
|
85
76
|
}
|
|
86
|
-
|
|
87
|
-
return this.sender;
|
|
77
|
+
return this.cachedSender ?? undefined;
|
|
88
78
|
}
|
|
89
79
|
|
|
90
80
|
/**
|
|
@@ -92,20 +82,43 @@ export class CheckpointAttestation extends Gossipable {
|
|
|
92
82
|
* @returns The proposer of the checkpoint
|
|
93
83
|
*/
|
|
94
84
|
getProposer(): EthAddress | undefined {
|
|
95
|
-
if (
|
|
85
|
+
if (this.cachedProposer === undefined) {
|
|
96
86
|
// Create a temporary CheckpointProposal to recover the proposer address.
|
|
97
87
|
// We need to use CheckpointProposal because it has a different getPayloadToSign()
|
|
98
88
|
// implementation than ConsensusPayload (uses serializeToBuffer vs ABI encoding).
|
|
99
|
-
const proposal = new CheckpointProposal(
|
|
100
|
-
|
|
101
|
-
|
|
89
|
+
const proposal = new CheckpointProposal(
|
|
90
|
+
this.payload.header,
|
|
91
|
+
this.payload.archive,
|
|
92
|
+
this.payload.feeAssetPriceModifier,
|
|
93
|
+
this.proposerSignature,
|
|
94
|
+
this.payload.signatureContext,
|
|
95
|
+
);
|
|
96
|
+
this.cachedProposer = proposal.getSender() ?? null;
|
|
102
97
|
}
|
|
98
|
+
return this.cachedProposer ?? undefined;
|
|
99
|
+
}
|
|
103
100
|
|
|
104
|
-
|
|
101
|
+
/**
|
|
102
|
+
* Returns a copy with the attester signature canonicalized to v ∈ {27, 28}. Callers store attestations
|
|
103
|
+
* received from gossip verbatim; normalizing on ingress keeps a signature emitted in yParity form
|
|
104
|
+
* (v = 0/1) — whether by a malicious committee member or a peer mutating the byte in flight — from
|
|
105
|
+
* reaching the L1 bundle in a non-canonical form. Must only be called once the signature has recovered
|
|
106
|
+
* a sender (so it is non-empty and low-s); `normalizeSignature` throws on an all-zero signature.
|
|
107
|
+
*/
|
|
108
|
+
withNormalizedSignature(): CheckpointAttestation {
|
|
109
|
+
return new CheckpointAttestation(this.payload, normalizeSignature(this.signature), this.proposerSignature);
|
|
105
110
|
}
|
|
106
111
|
|
|
107
112
|
getPayload(): Buffer {
|
|
108
|
-
return this.payload.getPayloadToSign(
|
|
113
|
+
return this.payload.getPayloadToSign();
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Returns a keccak256 hash of the signed consensus payload.
|
|
118
|
+
* Used to dedup distinct signed payloads. Returns same hash than the corresponding proposal.
|
|
119
|
+
*/
|
|
120
|
+
getPayloadHash(): CheckpointProposalHash {
|
|
121
|
+
return CheckpointProposalHash.fromBuffer(this.payload.getPayloadHash());
|
|
109
122
|
}
|
|
110
123
|
|
|
111
124
|
toBuffer(): Buffer {
|