@aztec/stdlib 0.0.1-commit.85d7d01 → 0.0.1-commit.8655d4a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +142 -1081
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +41 -18
- package/dest/abi/authorization_selector.d.ts +4 -7
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/buffer.d.ts +14 -4
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +25 -4
- package/dest/abi/contract_artifact.d.ts +1 -1
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +14 -7
- package/dest/abi/decoder.d.ts +6 -45
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +17 -67
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +60 -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/avm/avm.d.ts +1756 -10463
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +6 -3
- package/dest/avm/avm_accumulated_data.d.ts +22 -86
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_proving_request.d.ts +653 -5446
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/message_pack.js +12 -3
- package/dest/avm/public_data_write.d.ts +6 -12
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +5 -21
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +12 -30
- package/dest/aztec-address/index.d.ts +8 -8
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +9 -6
- package/dest/block/attestation_info.d.ts +3 -2
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +7 -5
- package/dest/block/block_data.d.ts +13 -38
- package/dest/block/block_data.d.ts.map +1 -1
- package/dest/block/block_data.js +2 -2
- package/dest/block/block_hash.d.ts +11 -10
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +10 -9
- package/dest/block/block_parameter.d.ts +37 -4
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +53 -2
- package/dest/block/in_block.d.ts +5 -24
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/index.d.ts +1 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +0 -1
- package/dest/block/l2_block.d.ts +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 +204 -351
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +67 -1
- package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +44 -17
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
- 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 +3 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
- 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 +43 -11
- package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +26 -18
- package/dest/block/proposal/committee_attestation.d.ts +6 -12
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +5 -4
- package/dest/checkpoint/checkpoint.d.ts +31 -96
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +18 -5
- 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/validate.d.ts +36 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +120 -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/pipelining-config.d.ts +15 -0
- package/dest/config/pipelining-config.d.ts.map +1 -0
- package/dest/config/pipelining-config.js +18 -0
- package/dest/config/sequencer-config.d.ts +7 -3
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +23 -3
- 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 +6 -6
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +6 -5
- package/dest/contract/contract_class_id.d.ts +2 -2
- package/dest/contract/contract_class_id.js +2 -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 +4 -2
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +10 -3
- package/dest/contract/index.d.ts +1 -3
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -2
- package/dest/contract/interfaces/contract_class.d.ts +17 -241
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +1 -28
- package/dest/contract/interfaces/contract_instance.d.ts +41 -95
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +4 -2
- package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
- package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +2 -4
- package/dest/database-version/database_version.d.ts +5 -11
- package/dest/database-version/database_version.d.ts.map +1 -1
- package/dest/database-version/version_manager.d.ts +6 -2
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +12 -1
- package/dest/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 +2 -2
- package/dest/file-store/http.d.ts +9 -2
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +20 -9
- package/dest/file-store/index.d.ts +2 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/gas/fee_math.d.ts +49 -0
- package/dest/gas/fee_math.d.ts.map +1 -0
- package/dest/gas/fee_math.js +80 -0
- package/dest/gas/gas.d.ts +9 -14
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +6 -3
- package/dest/gas/gas_fees.d.ts +13 -14
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +20 -4
- package/dest/gas/gas_settings.d.ts +66 -86
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +56 -9
- package/dest/gas/index.d.ts +2 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +1 -0
- package/dest/ha-signing/config.d.ts +28 -57
- package/dest/ha-signing/config.d.ts.map +1 -1
- package/dest/ha-signing/config.js +24 -28
- package/dest/ha-signing/index.d.ts +4 -3
- package/dest/ha-signing/index.d.ts.map +1 -1
- package/dest/ha-signing/index.js +3 -2
- package/dest/ha-signing/local_config.d.ts +32 -0
- package/dest/ha-signing/local_config.d.ts.map +1 -0
- package/dest/ha-signing/local_config.js +24 -0
- 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 +34 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +63 -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 +1 -1
- package/dest/interfaces/api_limit.js +1 -1
- package/dest/interfaces/archiver.d.ts +22 -32
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +208 -68
- package/dest/interfaces/aztec-node-admin.d.ts +81 -273
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +59 -16
- package/dest/interfaces/aztec-node-debug.d.ts +21 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +21 -0
- package/dest/interfaces/aztec-node.d.ts +84 -101
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +298 -68
- package/dest/interfaces/block-builder.d.ts +40 -11
- 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 +50 -0
- package/dest/interfaces/chain_tips.d.ts.map +1 -0
- package/dest/interfaces/chain_tips.js +11 -0
- package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
- package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_parameter.js +18 -0
- package/dest/interfaces/checkpoint_response.d.ts +122 -0
- package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_response.js +26 -0
- package/dest/interfaces/client.d.ts +8 -2
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +7 -1
- package/dest/interfaces/configs.d.ts +64 -123
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +15 -3
- 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 +12 -21
- 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 +15 -5
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +28 -5
- package/dest/interfaces/private_kernel_prover.d.ts +62 -2
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.d.ts +5 -23
- package/dest/interfaces/prover-agent.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.js +4 -1
- package/dest/interfaces/prover-client.d.ts +9 -25
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +7 -4
- package/dest/interfaces/prover-node.js +22 -8
- package/dest/interfaces/proving-job-source.js +24 -4
- package/dest/interfaces/proving-job.d.ts +742 -5793
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +1 -1
- package/dest/interfaces/public_storage_override.d.ts +22 -0
- package/dest/interfaces/public_storage_override.d.ts.map +1 -0
- package/dest/interfaces/public_storage_override.js +7 -0
- package/dest/interfaces/server.d.ts +6 -1
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -0
- package/dest/interfaces/slasher.d.ts +25 -65
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +8 -4
- package/dest/interfaces/tx_provider.d.ts +6 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +70 -208
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +13 -5
- package/dest/interfaces/world_state.d.ts +6 -5
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +12 -8
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.js +20 -18
- package/dest/kernel/index.d.ts +5 -1
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +4 -0
- package/dest/kernel/log_hash.d.ts +6 -2
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +21 -9
- package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
- package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +10 -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 +26 -7
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
- package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data.js +6 -3
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
- package/dest/kernel/public_call_request.d.ts +15 -30
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +16 -7
- package/dest/keys/derivation.d.ts +6 -2
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +16 -6
- package/dest/keys/public_key.d.ts +22 -3
- package/dest/keys/public_key.d.ts.map +1 -1
- package/dest/keys/public_key.js +20 -1
- package/dest/keys/public_keys.d.ts +55 -82
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +102 -74
- package/dest/kv-store/config.d.ts +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 +46 -0
- package/dest/logs/app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret.js +109 -0
- package/dest/logs/app_tagging_secret_kind.d.ts +6 -0
- package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret_kind.js +4 -0
- package/dest/logs/contract_class_log.d.ts +16 -34
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +11 -9
- package/dest/logs/index.d.ts +8 -7
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +7 -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 -7
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +23 -9
- package/dest/logs/pending_tagged_log.d.ts +2 -3
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +2 -2
- package/dest/logs/pre_tag.d.ts +11 -24
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/private_log.d.ts +7 -12
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +6 -3
- package/dest/logs/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 +11 -10
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +15 -9
- package/dest/logs/siloed_tag.d.ts +8 -7
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +13 -3
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +4 -0
- package/dest/logs/tagging_index_range.d.ts +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 +3 -2
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +11 -13
- package/dest/messaging/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 +62 -6
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +115 -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 +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/block_proposal.d.ts +31 -14
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +57 -39
- package/dest/p2p/checkpoint_attestation.d.ts +15 -9
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +23 -24
- package/dest/p2p/checkpoint_proposal.d.ts +35 -21
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +59 -61
- package/dest/p2p/consensus_payload.d.ts +26 -20
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +38 -19
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/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 +28 -19
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +118 -21
- package/dest/p2p/signed_txs.d.ts +15 -13
- package/dest/p2p/signed_txs.d.ts.map +1 -1
- package/dest/p2p/signed_txs.js +26 -24
- package/dest/parity/parity_base_private_inputs.d.ts +8 -4
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_base_private_inputs.js +7 -5
- package/dest/parity/parity_public_inputs.d.ts +8 -4
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.js +6 -3
- package/dest/parity/parity_root_private_inputs.d.ts +2 -2
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +57 -7
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +112 -15
- package/dest/proofs/recursive_proof.d.ts +2 -2
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.d.ts +1 -1
- package/dest/rollup/block_headers_hash.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.js +8 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +12 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +32 -78
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +2 -2
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +10 -7
- package/dest/slashing/index.d.ts +2 -3
- package/dest/slashing/index.d.ts.map +1 -1
- package/dest/slashing/index.js +1 -2
- package/dest/slashing/serialization.d.ts +2 -6
- package/dest/slashing/serialization.d.ts.map +1 -1
- package/dest/slashing/serialization.js +0 -60
- package/dest/slashing/types.d.ts +18 -112
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +16 -24
- package/dest/slashing/{tally.d.ts → votes.d.ts} +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 -32
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +82 -82
- package/dest/tests/mocks.d.ts +11 -6
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +55 -62
- package/dest/timetable/index.d.ts +51 -1
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +218 -14
- package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +6 -3
- package/dest/trees/nullifier_leaf.d.ts +19 -42
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +3 -0
- package/dest/trees/nullifier_membership_witness.d.ts +16 -59
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +2 -14
- package/dest/trees/public_data_leaf.d.ts +21 -53
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_witness.d.ts +16 -58
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/tx/block_header.d.ts +7 -4
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +11 -4
- package/dest/tx/call_context.d.ts +4 -14
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +7 -3
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +9 -3
- package/dest/tx/fee_provider.d.ts +10 -0
- package/dest/tx/fee_provider.d.ts.map +1 -0
- package/dest/tx/fee_provider.js +1 -0
- package/dest/tx/function_data.d.ts +4 -10
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +3 -4
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +16 -49
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +8 -12
- package/dest/tx/hashed_values.d.ts +4 -3
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +6 -3
- package/dest/tx/in_tx.d.ts +5 -17
- package/dest/tx/in_tx.d.ts.map +1 -1
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -0
- package/dest/tx/indexed_tx_effect.d.ts +4 -18
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +1 -2
- 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/profiling.d.ts +67 -353
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +17 -7
- 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 +68 -1144
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +17 -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 +12 -17
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +40 -29
- 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 +8 -5
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +8 -18
- package/dest/tx/validator/error_texts.d.ts +9 -1
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +10 -0
- 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 +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 +6 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +7 -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.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 +13 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +7 -0
- package/dest/world-state/index.d.ts +2 -1
- package/dest/world-state/index.d.ts.map +1 -1
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +15 -26
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +7 -1
- package/package.json +14 -12
- package/src/abi/abi.ts +78 -21
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +25 -4
- package/src/abi/contract_artifact.ts +11 -6
- package/src/abi/decoder.ts +36 -79
- package/src/abi/encoder.ts +83 -7
- 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/avm/avm.ts +5 -0
- package/src/avm/message_pack.ts +12 -3
- package/src/avm/revert_code.ts +19 -39
- package/src/aztec-address/index.ts +15 -12
- package/src/block/attestation_info.ts +11 -11
- package/src/block/block_data.ts +3 -4
- package/src/block/block_hash.ts +21 -14
- package/src/block/block_parameter.ts +72 -4
- package/src/block/index.ts +0 -1
- package/src/block/l2_block.ts +13 -1
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +198 -139
- package/src/block/l2_block_stream/interfaces.ts +6 -2
- package/src/block/l2_block_stream/l2_block_stream.ts +39 -28
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
- package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
- package/src/block/proposal/attestations_and_signers.ts +32 -17
- package/src/block/test/l2_tips_store_test_suite.ts +10 -3
- package/src/checkpoint/checkpoint.ts +23 -4
- 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/validate.ts +230 -0
- package/src/config/chain-config.ts +13 -16
- package/src/config/index.ts +1 -0
- package/src/config/pipelining-config.ts +31 -0
- package/src/config/sequencer-config.ts +41 -5
- package/src/contract/complete_address.ts +7 -3
- package/src/contract/contract_address.ts +7 -7
- package/src/contract/contract_class_id.ts +2 -2
- package/src/contract/contract_instance.ts +11 -2
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/contract/interfaces/contract_instance.ts +6 -2
- package/src/contract/private_function.ts +3 -1
- package/src/database-version/version_manager.ts +17 -0
- package/src/epoch-helpers/index.ts +27 -0
- package/src/file-store/factory.ts +13 -4
- package/src/file-store/http.ts +29 -10
- package/src/file-store/index.ts +1 -0
- package/src/gas/README.md +154 -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 +73 -15
- package/src/gas/index.ts +1 -0
- package/src/ha-signing/config.ts +56 -53
- package/src/ha-signing/index.ts +12 -1
- package/src/ha-signing/local_config.ts +46 -0
- package/src/ha-signing/types.ts +48 -34
- package/src/hash/hash.ts +63 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/api_limit.ts +1 -1
- package/src/interfaces/archiver.ts +82 -91
- package/src/interfaces/aztec-node-admin.ts +35 -20
- package/src/interfaces/aztec-node-debug.ts +40 -0
- package/src/interfaces/aztec-node.ts +260 -240
- package/src/interfaces/block-builder.ts +62 -14
- package/src/interfaces/block_response.ts +92 -0
- package/src/interfaces/chain_tips.ts +24 -0
- package/src/interfaces/checkpoint_parameter.ts +20 -0
- package/src/interfaces/checkpoint_response.ts +84 -0
- package/src/interfaces/client.ts +7 -1
- package/src/interfaces/configs.ts +64 -8
- 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 +11 -20
- package/src/interfaces/p2p-bootstrap.ts +2 -2
- package/src/interfaces/p2p.ts +35 -15
- package/src/interfaces/private_kernel_prover.ts +88 -0
- package/src/interfaces/prover-agent.ts +1 -1
- package/src/interfaces/prover-client.ts +10 -5
- package/src/interfaces/prover-node.ts +7 -7
- package/src/interfaces/proving-job-source.ts +4 -4
- package/src/interfaces/proving-job.ts +3 -3
- package/src/interfaces/public_storage_override.ts +26 -0
- package/src/interfaces/server.ts +5 -0
- package/src/interfaces/slasher.ts +17 -10
- package/src/interfaces/tx_provider.ts +6 -0
- package/src/interfaces/validator.ts +79 -38
- package/src/interfaces/world_state.ts +5 -4
- package/src/kernel/hints/key_validation_request.ts +18 -16
- package/src/kernel/index.ts +4 -0
- package/src/kernel/log_hash.ts +29 -9
- package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
- package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
- package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
- package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +38 -14
- package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
- package/src/kernel/private_to_public_accumulated_data.ts +9 -3
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
- package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
- package/src/kernel/public_call_request.ts +22 -7
- package/src/keys/derivation.ts +21 -9
- package/src/keys/public_key.ts +26 -2
- package/src/keys/public_keys.ts +124 -110
- package/src/kv-store/config.ts +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 +137 -0
- package/src/logs/app_tagging_secret_kind.ts +6 -0
- package/src/logs/contract_class_log.ts +15 -5
- package/src/logs/index.ts +7 -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 +17 -7
- package/src/logs/pending_tagged_log.ts +1 -3
- package/src/logs/pre_tag.ts +3 -6
- package/src/logs/private_log.ts +9 -3
- package/src/logs/public_log.ts +4 -2
- package/src/logs/query_all_logs_by_tags.ts +98 -0
- package/src/logs/shared_secret_derivation.ts +21 -10
- package/src/logs/siloed_tag.ts +20 -11
- package/src/logs/tag.ts +8 -8
- package/src/logs/tagging_index_range.ts +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 +12 -9
- package/src/messaging/l1_to_l2_message_source.ts +3 -1
- package/src/messaging/l2_to_l1_membership.ts +171 -34
- package/src/messaging/l2_to_l1_message.ts +29 -9
- package/src/noir/index.ts +4 -2
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/block_proposal.ts +111 -36
- package/src/p2p/checkpoint_attestation.ts +27 -31
- package/src/p2p/checkpoint_proposal.ts +126 -85
- package/src/p2p/consensus_payload.ts +59 -28
- package/src/p2p/gossipable.ts +4 -4
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/signature_utils.ts +110 -25
- package/src/p2p/signed_txs.ts +46 -28
- package/src/parity/parity_base_private_inputs.ts +10 -4
- package/src/parity/parity_public_inputs.ts +9 -2
- package/src/proofs/chonk_proof.ts +132 -12
- package/src/rollup/block_headers_hash.ts +11 -2
- package/src/rollup/block_rollup_public_inputs.ts +13 -0
- package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
- package/src/schemas/schemas.ts +6 -1
- package/src/slashing/helpers.ts +13 -9
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +24 -49
- package/src/slashing/{tally.ts → votes.ts} +34 -1
- package/src/stats/stats.ts +4 -0
- package/src/tests/factories.ts +103 -111
- package/src/tests/mocks.ts +83 -76
- package/src/timetable/index.ts +308 -13
- package/src/trees/append_only_tree_snapshot.ts +8 -3
- package/src/trees/nullifier_leaf.ts +4 -0
- package/src/trees/nullifier_membership_witness.ts +2 -12
- package/src/tx/block_header.ts +16 -5
- package/src/tx/capsule.ts +10 -2
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/global_variable_builder.ts +2 -3
- package/src/tx/global_variables.ts +10 -18
- package/src/tx/hashed_values.ts +8 -3
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +1 -2
- package/src/tx/partial_state_reference.ts +8 -3
- package/src/tx/private_execution_result.ts +5 -5
- package/src/tx/profiling.ts +15 -6
- 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 +30 -22
- package/src/tx/state_reference.ts +9 -4
- package/src/tx/tree_snapshots.ts +9 -4
- package/src/tx/tx.ts +53 -35
- 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 +9 -16
- package/src/tx/validator/error_texts.ts +12 -0
- 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 +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 +9 -0
- package/src/validators/schemas.ts +6 -4
- package/src/validators/types.ts +21 -2
- package/src/versioning/versioning.ts +5 -2
- package/src/vks/verification_key.ts +5 -184
- package/src/world-state/genesis_data.ts +27 -0
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +9 -1
- package/dest/abi/mocked_keys.d.ts +0 -2
- package/dest/abi/mocked_keys.d.ts.map +0 -1
- package/dest/abi/mocked_keys.js +0 -1
- package/dest/block/checkpointed_l2_block.d.ts +0 -150
- package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
- package/dest/block/checkpointed_l2_block.js +0 -46
- package/dest/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/get_logs_response.d.ts +0 -97
- package/dest/interfaces/get_logs_response.d.ts.map +0 -1
- package/dest/interfaces/get_logs_response.js +0 -12
- package/dest/l1-contracts/slash_factory.d.ts +0 -45
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -158
- package/dest/logs/extended_contract_class_log.d.ts +0 -51
- package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
- package/dest/logs/extended_contract_class_log.js +0 -67
- package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
- package/dest/logs/extended_public_log.d.ts +0 -106
- package/dest/logs/extended_public_log.d.ts.map +0 -1
- package/dest/logs/extended_public_log.js +0 -73
- package/dest/logs/log_filter.d.ts +0 -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/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/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -87
- 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/get_logs_response.ts +0 -35
- package/src/l1-contracts/slash_factory.ts +0 -180
- package/src/logs/extended_contract_class_log.ts +0 -87
- package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
- package/src/logs/extended_public_log.ts +0 -94
- package/src/logs/log_filter.ts +0 -31
- package/src/logs/log_id.ts +0 -125
- package/src/logs/tx_scoped_l2_log.ts +0 -98
- package/src/slashing/empire.ts +0 -104
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
3
|
-
import { keccak256 } from '@aztec/foundation/crypto/keccak';
|
|
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';
|
|
5
3
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
4
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
7
5
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
@@ -13,15 +11,9 @@ import type { ZodFor } from '../schemas/index.js';
|
|
|
13
11
|
import { CheckpointProposal } from './checkpoint_proposal.js';
|
|
14
12
|
import { ConsensusPayload } from './consensus_payload.js';
|
|
15
13
|
import { Gossipable } from './gossipable.js';
|
|
16
|
-
import {
|
|
14
|
+
import { type CoordinationSignatureContext, recoverCoordinationSigner } from './signature_utils.js';
|
|
17
15
|
import { TopicType } from './topic_type.js';
|
|
18
16
|
|
|
19
|
-
export class CheckpointAttestationHash extends Buffer32 {
|
|
20
|
-
constructor(hash: Buffer) {
|
|
21
|
-
super(hash);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
17
|
/**
|
|
26
18
|
* CheckpointAttestation
|
|
27
19
|
*
|
|
@@ -31,8 +23,8 @@ export class CheckpointAttestationHash extends Buffer32 {
|
|
|
31
23
|
export class CheckpointAttestation extends Gossipable {
|
|
32
24
|
static override p2pTopic = TopicType.checkpoint_attestation;
|
|
33
25
|
|
|
34
|
-
private
|
|
35
|
-
private
|
|
26
|
+
private cachedSender: EthAddress | undefined | null = undefined;
|
|
27
|
+
private cachedProposer: EthAddress | undefined | null = undefined;
|
|
36
28
|
|
|
37
29
|
constructor(
|
|
38
30
|
/** The payload of the message, and what the signature is over */
|
|
@@ -57,8 +49,8 @@ export class CheckpointAttestation extends Gossipable {
|
|
|
57
49
|
.transform(obj => new CheckpointAttestation(obj.payload, obj.signature, obj.proposerSignature));
|
|
58
50
|
}
|
|
59
51
|
|
|
60
|
-
override generateP2PMessageIdentifier(): Promise<
|
|
61
|
-
return Promise.resolve(new
|
|
52
|
+
override generateP2PMessageIdentifier(): Promise<BaseBuffer32> {
|
|
53
|
+
return Promise.resolve(new Buffer32(this.payload.getPayloadHash()));
|
|
62
54
|
}
|
|
63
55
|
|
|
64
56
|
get archive(): Fr {
|
|
@@ -69,22 +61,19 @@ export class CheckpointAttestation extends Gossipable {
|
|
|
69
61
|
return this.payload.header.slotNumber;
|
|
70
62
|
}
|
|
71
63
|
|
|
64
|
+
get signatureContext(): CoordinationSignatureContext {
|
|
65
|
+
return this.payload.signatureContext;
|
|
66
|
+
}
|
|
67
|
+
|
|
72
68
|
/**
|
|
73
69
|
* Lazily evaluate and cache the signer of the attestation
|
|
74
70
|
* @returns The signer of the attestation, or undefined if signature recovery fails
|
|
75
71
|
*/
|
|
76
72
|
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);
|
|
73
|
+
if (this.cachedSender === undefined) {
|
|
74
|
+
this.cachedSender = recoverCoordinationSigner(this.payload, this.signature) ?? null;
|
|
85
75
|
}
|
|
86
|
-
|
|
87
|
-
return this.sender;
|
|
76
|
+
return this.cachedSender ?? undefined;
|
|
88
77
|
}
|
|
89
78
|
|
|
90
79
|
/**
|
|
@@ -92,7 +81,7 @@ export class CheckpointAttestation extends Gossipable {
|
|
|
92
81
|
* @returns The proposer of the checkpoint
|
|
93
82
|
*/
|
|
94
83
|
getProposer(): EthAddress | undefined {
|
|
95
|
-
if (
|
|
84
|
+
if (this.cachedProposer === undefined) {
|
|
96
85
|
// Create a temporary CheckpointProposal to recover the proposer address.
|
|
97
86
|
// We need to use CheckpointProposal because it has a different getPayloadToSign()
|
|
98
87
|
// implementation than ConsensusPayload (uses serializeToBuffer vs ABI encoding).
|
|
@@ -101,16 +90,23 @@ export class CheckpointAttestation extends Gossipable {
|
|
|
101
90
|
this.payload.archive,
|
|
102
91
|
this.payload.feeAssetPriceModifier,
|
|
103
92
|
this.proposerSignature,
|
|
93
|
+
this.payload.signatureContext,
|
|
104
94
|
);
|
|
105
|
-
|
|
106
|
-
this.proposer = proposal.getSender();
|
|
95
|
+
this.cachedProposer = proposal.getSender() ?? null;
|
|
107
96
|
}
|
|
108
|
-
|
|
109
|
-
return this.proposer;
|
|
97
|
+
return this.cachedProposer ?? undefined;
|
|
110
98
|
}
|
|
111
99
|
|
|
112
100
|
getPayload(): Buffer {
|
|
113
|
-
return this.payload.getPayloadToSign(
|
|
101
|
+
return this.payload.getPayloadToSign();
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Returns a keccak256 hash of the signed consensus payload.
|
|
106
|
+
* Used to dedup distinct signed payloads. Returns same hash than the corresponding proposal.
|
|
107
|
+
*/
|
|
108
|
+
getPayloadHash(): CheckpointProposalHash {
|
|
109
|
+
return CheckpointProposalHash.fromBuffer(this.payload.getPayloadHash());
|
|
114
110
|
}
|
|
115
111
|
|
|
116
112
|
toBuffer(): Buffer {
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import {
|
|
2
|
+
type CheckpointNumber,
|
|
3
|
+
CheckpointProposalHash,
|
|
4
|
+
IndexWithinCheckpoint,
|
|
5
|
+
SlotNumber,
|
|
6
|
+
} from '@aztec/foundation/branded-types';
|
|
7
|
+
import { type BaseBuffer32, Buffer32 } from '@aztec/foundation/buffer';
|
|
5
8
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
9
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
7
10
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
8
11
|
import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
9
12
|
|
|
13
|
+
import type { TypedDataDefinition } from 'viem';
|
|
14
|
+
|
|
10
15
|
import type { L2BlockInfo } from '../block/l2_block_info.js';
|
|
11
16
|
import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
|
|
12
17
|
import { DutyType, type SigningContext } from '../ha-signing/index.js';
|
|
@@ -15,21 +20,23 @@ import { BlockHeader } from '../tx/block_header.js';
|
|
|
15
20
|
import { TxHash } from '../tx/index.js';
|
|
16
21
|
import type { Tx } from '../tx/tx.js';
|
|
17
22
|
import { BlockProposal } from './block_proposal.js';
|
|
23
|
+
import { ConsensusPayload } from './consensus_payload.js';
|
|
18
24
|
import { Gossipable } from './gossipable.js';
|
|
19
25
|
import {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
type CoordinationSignatureContext,
|
|
27
|
+
type CoordinationSignatureType,
|
|
28
|
+
EMPTY_COORDINATION_SIGNATURE_CONTEXT,
|
|
29
|
+
type Signable,
|
|
30
|
+
coordinationSignatureContextEquals,
|
|
31
|
+
getCoordinationSignatureTypedData,
|
|
32
|
+
readCoordinationSignatureContext,
|
|
33
|
+
recoverCoordinationSigner,
|
|
34
|
+
serializeCoordinationSignatureContext,
|
|
23
35
|
} from './signature_utils.js';
|
|
24
36
|
import { SignedTxs } from './signed_txs.js';
|
|
25
37
|
import { TopicType } from './topic_type.js';
|
|
26
38
|
|
|
27
|
-
|
|
28
|
-
export class CheckpointProposalHash extends Buffer32 {
|
|
29
|
-
constructor(hash: Buffer) {
|
|
30
|
-
super(hash);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
39
|
+
export type { CheckpointProposalHash } from '@aztec/foundation/branded-types';
|
|
33
40
|
|
|
34
41
|
export type CheckpointProposalOptions = {
|
|
35
42
|
/**
|
|
@@ -69,10 +76,12 @@ export type CheckpointLastBlock = Omit<CheckpointLastBlockData, 'txs'> & {
|
|
|
69
76
|
* It includes the aggregated checkpoint header that validators will attest to, plus optionally
|
|
70
77
|
* the last block's info for nodes to re-execute. This marks the completion of a slot's worth of blocks.
|
|
71
78
|
*/
|
|
72
|
-
export class CheckpointProposal extends Gossipable {
|
|
79
|
+
export class CheckpointProposal extends Gossipable implements Signable {
|
|
73
80
|
static override p2pTopic = TopicType.checkpoint_proposal;
|
|
74
81
|
|
|
75
|
-
|
|
82
|
+
readonly primaryType: CoordinationSignatureType = 'CheckpointProposal';
|
|
83
|
+
|
|
84
|
+
private cachedSender: EthAddress | undefined | null = undefined;
|
|
76
85
|
|
|
77
86
|
constructor(
|
|
78
87
|
/** The aggregated checkpoint header for consensus */
|
|
@@ -87,35 +96,40 @@ export class CheckpointProposal extends Gossipable {
|
|
|
87
96
|
/** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */
|
|
88
97
|
public readonly signature: Signature,
|
|
89
98
|
|
|
99
|
+
/** The signing domain (chainId + rollupAddress) the signature is bound to */
|
|
100
|
+
public readonly signatureContext: CoordinationSignatureContext,
|
|
101
|
+
|
|
90
102
|
/** Optional last block info, including its own signature for BlockProposal extraction */
|
|
91
|
-
public readonly lastBlock?: CheckpointLastBlock,
|
|
103
|
+
public readonly lastBlock?: CheckpointLastBlock | BlockProposal,
|
|
92
104
|
) {
|
|
93
105
|
super();
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
override generateP2PMessageIdentifier(): Promise<Buffer32> {
|
|
97
|
-
return Promise.resolve(new CheckpointProposalHash(keccak256(this.signature.toBuffer())));
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
get slotNumber(): SlotNumber {
|
|
101
|
-
return this.checkpointHeader.slotNumber;
|
|
102
|
-
}
|
|
103
106
|
|
|
104
|
-
|
|
105
|
-
if (!
|
|
106
|
-
throw new Error(
|
|
107
|
+
// Check that last block properties match those of the checkpoint.
|
|
108
|
+
if (lastBlock && 'inHash' in lastBlock && !lastBlock.inHash.equals(checkpointHeader.inHash)) {
|
|
109
|
+
throw new Error(
|
|
110
|
+
`CheckpointProposal lastBlock inHash ${lastBlock.inHash} does not match checkpoint inHash ${checkpointHeader.inHash}`,
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
if (lastBlock && 'archiveRoot' in lastBlock && !lastBlock.archiveRoot.equals(archive)) {
|
|
114
|
+
throw new Error(
|
|
115
|
+
`CheckpointProposal lastBlock archive ${lastBlock.archiveRoot} does not match checkpoint archive ${archive}`,
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
if (
|
|
119
|
+
lastBlock &&
|
|
120
|
+
'signatureContext' in lastBlock &&
|
|
121
|
+
!coordinationSignatureContextEquals(lastBlock.signatureContext, signatureContext)
|
|
122
|
+
) {
|
|
123
|
+
throw new Error(`CheckpointProposal lastBlock signatureContext does not match checkpoint signatureContext`);
|
|
107
124
|
}
|
|
108
|
-
return this.lastBlock.blockHeader.getBlockNumber();
|
|
109
125
|
}
|
|
110
126
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return this.lastBlock?.txHashes ?? [];
|
|
127
|
+
override generateP2PMessageIdentifier(): Promise<BaseBuffer32> {
|
|
128
|
+
return Promise.resolve(new Buffer32(this.toConsensusPayload().getPayloadHash()));
|
|
114
129
|
}
|
|
115
130
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
return this.lastBlock?.signedTxs?.txs;
|
|
131
|
+
get slotNumber(): SlotNumber {
|
|
132
|
+
return this.checkpointHeader.slotNumber;
|
|
119
133
|
}
|
|
120
134
|
|
|
121
135
|
/**
|
|
@@ -134,6 +148,7 @@ export class CheckpointProposal extends Gossipable {
|
|
|
134
148
|
this.archive,
|
|
135
149
|
this.lastBlock.txHashes,
|
|
136
150
|
this.lastBlock.signature,
|
|
151
|
+
this.signatureContext,
|
|
137
152
|
this.lastBlock.signedTxs,
|
|
138
153
|
);
|
|
139
154
|
}
|
|
@@ -165,21 +180,36 @@ export class CheckpointProposal extends Gossipable {
|
|
|
165
180
|
* Get the payload to sign for this checkpoint proposal.
|
|
166
181
|
* The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
|
|
167
182
|
*/
|
|
168
|
-
getPayloadToSign(
|
|
169
|
-
return serializeToBuffer([
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
183
|
+
getPayloadToSign(): Buffer {
|
|
184
|
+
return serializeToBuffer([this.checkpointHeader, this.archive, serializeSignedBigInt(this.feeAssetPriceModifier)]);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Returns a content-addressed keccak256 hash of the consensus payload
|
|
189
|
+
* (header + archive + feeAssetPriceModifier + signatureContext).
|
|
190
|
+
*
|
|
191
|
+
* Used by the attestation pool to dedup distinct signed payloads at the same slot
|
|
192
|
+
* regardless of archive/header collisions on `feeAssetPriceModifier` variants.
|
|
193
|
+
* The hash deliberately excludes the signature so non-deterministic ECDSA
|
|
194
|
+
* re-signs of the same payload do not look like equivocation.
|
|
195
|
+
*/
|
|
196
|
+
getPayloadHash(): CheckpointProposalHash {
|
|
197
|
+
return CheckpointProposalHash.fromBuffer(this.toConsensusPayload().getPayloadHash());
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/** Returns the ConsensusPayload that an attester would sign for this proposal. */
|
|
201
|
+
toConsensusPayload(): ConsensusPayload {
|
|
202
|
+
return new ConsensusPayload(this.checkpointHeader, this.archive, this.feeAssetPriceModifier, this.signatureContext);
|
|
175
203
|
}
|
|
176
204
|
|
|
177
205
|
static async createProposalFromSigner(
|
|
178
206
|
checkpointHeader: CheckpointHeader,
|
|
179
207
|
archiveRoot: Fr,
|
|
208
|
+
checkpointNumber: CheckpointNumber,
|
|
180
209
|
feeAssetPriceModifier: bigint,
|
|
181
|
-
|
|
182
|
-
|
|
210
|
+
lastBlockProposal: BlockProposal | undefined,
|
|
211
|
+
signatureContext: CoordinationSignatureContext,
|
|
212
|
+
payloadSigner: (typedData: TypedDataDefinition, context: SigningContext) => Promise<Signature>,
|
|
183
213
|
): Promise<CheckpointProposal> {
|
|
184
214
|
// Sign the checkpoint payload with CHECKPOINT_PROPOSAL duty type
|
|
185
215
|
const tempProposal = new CheckpointProposal(
|
|
@@ -187,37 +217,25 @@ export class CheckpointProposal extends Gossipable {
|
|
|
187
217
|
archiveRoot,
|
|
188
218
|
feeAssetPriceModifier,
|
|
189
219
|
Signature.empty(),
|
|
220
|
+
signatureContext,
|
|
190
221
|
);
|
|
191
|
-
const checkpointHash = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.checkpointProposal);
|
|
192
|
-
|
|
193
222
|
const checkpointContext: SigningContext = {
|
|
194
223
|
slot: checkpointHeader.slotNumber,
|
|
195
|
-
|
|
224
|
+
checkpointNumber,
|
|
196
225
|
dutyType: DutyType.CHECKPOINT_PROPOSAL,
|
|
197
226
|
};
|
|
198
|
-
const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
|
|
199
227
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
}
|
|
228
|
+
const typedData = getCoordinationSignatureTypedData(tempProposal);
|
|
229
|
+
const checkpointSignature = await payloadSigner(typedData, checkpointContext);
|
|
203
230
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
lastBlockInfo.indexWithinCheckpoint,
|
|
207
|
-
checkpointHeader.inHash,
|
|
231
|
+
return new CheckpointProposal(
|
|
232
|
+
checkpointHeader,
|
|
208
233
|
archiveRoot,
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
234
|
+
feeAssetPriceModifier,
|
|
235
|
+
checkpointSignature,
|
|
236
|
+
signatureContext,
|
|
237
|
+
lastBlockProposal,
|
|
212
238
|
);
|
|
213
|
-
|
|
214
|
-
return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature, {
|
|
215
|
-
blockHeader: lastBlockInfo.blockHeader,
|
|
216
|
-
indexWithinCheckpoint: lastBlockInfo.indexWithinCheckpoint,
|
|
217
|
-
txHashes: lastBlockInfo.txHashes,
|
|
218
|
-
signature: lastBlockProposal.signature,
|
|
219
|
-
signedTxs: lastBlockProposal.signedTxs,
|
|
220
|
-
});
|
|
221
239
|
}
|
|
222
240
|
|
|
223
241
|
/**
|
|
@@ -226,28 +244,26 @@ export class CheckpointProposal extends Gossipable {
|
|
|
226
244
|
* @returns The sender address, or undefined if signature recovery fails or senders don't match
|
|
227
245
|
*/
|
|
228
246
|
getSender(): EthAddress | undefined {
|
|
229
|
-
if (
|
|
230
|
-
const
|
|
231
|
-
const checkpointSender = tryRecoverAddress(hashed, this.signature);
|
|
247
|
+
if (this.cachedSender === undefined) {
|
|
248
|
+
const checkpointSender = recoverCoordinationSigner(this, this.signature);
|
|
232
249
|
|
|
233
|
-
// If there's a lastBlock, verify the block proposal sender matches
|
|
234
250
|
if (checkpointSender && this.lastBlock) {
|
|
235
251
|
const blockProposal = this.getBlockProposal();
|
|
236
252
|
const blockSender = blockProposal?.getSender();
|
|
237
253
|
if (!blockSender || !blockSender.equals(checkpointSender)) {
|
|
238
|
-
|
|
254
|
+
this.cachedSender = null;
|
|
255
|
+
return undefined;
|
|
239
256
|
}
|
|
240
257
|
}
|
|
241
258
|
|
|
242
|
-
|
|
243
|
-
this.sender = checkpointSender;
|
|
259
|
+
this.cachedSender = checkpointSender ?? null;
|
|
244
260
|
}
|
|
245
261
|
|
|
246
|
-
return this.
|
|
262
|
+
return this.cachedSender ?? undefined;
|
|
247
263
|
}
|
|
248
264
|
|
|
249
265
|
getPayload() {
|
|
250
|
-
return this.getPayloadToSign(
|
|
266
|
+
return this.getPayloadToSign();
|
|
251
267
|
}
|
|
252
268
|
|
|
253
269
|
toBuffer(): Buffer {
|
|
@@ -256,6 +272,7 @@ export class CheckpointProposal extends Gossipable {
|
|
|
256
272
|
this.archive,
|
|
257
273
|
serializeSignedBigInt(this.feeAssetPriceModifier),
|
|
258
274
|
this.signature,
|
|
275
|
+
serializeCoordinationSignatureContext(this.signatureContext),
|
|
259
276
|
];
|
|
260
277
|
|
|
261
278
|
if (this.lastBlock) {
|
|
@@ -285,6 +302,7 @@ export class CheckpointProposal extends Gossipable {
|
|
|
285
302
|
const archive = reader.readObject(Fr);
|
|
286
303
|
const feeAssetPriceModifier = reader.readInt256();
|
|
287
304
|
const signature = reader.readObject(Signature);
|
|
305
|
+
const signatureContext = readCoordinationSignatureContext(reader);
|
|
288
306
|
|
|
289
307
|
const hasLastBlock = reader.readNumber();
|
|
290
308
|
|
|
@@ -306,7 +324,7 @@ export class CheckpointProposal extends Gossipable {
|
|
|
306
324
|
}
|
|
307
325
|
}
|
|
308
326
|
|
|
309
|
-
return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, {
|
|
327
|
+
return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, signatureContext, {
|
|
310
328
|
blockHeader,
|
|
311
329
|
indexWithinCheckpoint,
|
|
312
330
|
txHashes,
|
|
@@ -315,7 +333,7 @@ export class CheckpointProposal extends Gossipable {
|
|
|
315
333
|
});
|
|
316
334
|
}
|
|
317
335
|
|
|
318
|
-
return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature);
|
|
336
|
+
return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, signatureContext);
|
|
319
337
|
}
|
|
320
338
|
|
|
321
339
|
getSize(): number {
|
|
@@ -324,6 +342,8 @@ export class CheckpointProposal extends Gossipable {
|
|
|
324
342
|
this.archive.size +
|
|
325
343
|
this.signature.getSize() +
|
|
326
344
|
8 /* feeAssetPriceModifier */ +
|
|
345
|
+
4 /* chainId */ +
|
|
346
|
+
20 /* rollupAddress */ +
|
|
327
347
|
4; /* hasLastBlock flag */
|
|
328
348
|
|
|
329
349
|
if (this.lastBlock) {
|
|
@@ -341,16 +361,29 @@ export class CheckpointProposal extends Gossipable {
|
|
|
341
361
|
}
|
|
342
362
|
|
|
343
363
|
static empty(): CheckpointProposal {
|
|
344
|
-
return new CheckpointProposal(
|
|
364
|
+
return new CheckpointProposal(
|
|
365
|
+
CheckpointHeader.empty(),
|
|
366
|
+
Fr.ZERO,
|
|
367
|
+
0n,
|
|
368
|
+
Signature.empty(),
|
|
369
|
+
EMPTY_COORDINATION_SIGNATURE_CONTEXT,
|
|
370
|
+
);
|
|
345
371
|
}
|
|
346
372
|
|
|
347
373
|
static random(): CheckpointProposal {
|
|
348
|
-
return new CheckpointProposal(
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
374
|
+
return new CheckpointProposal(
|
|
375
|
+
CheckpointHeader.random(),
|
|
376
|
+
Fr.random(),
|
|
377
|
+
0n,
|
|
378
|
+
Signature.random(),
|
|
379
|
+
EMPTY_COORDINATION_SIGNATURE_CONTEXT,
|
|
380
|
+
{
|
|
381
|
+
blockHeader: BlockHeader.random(),
|
|
382
|
+
indexWithinCheckpoint: IndexWithinCheckpoint(Math.floor(Math.random() * 5)),
|
|
383
|
+
txHashes: [TxHash.random(), TxHash.random()],
|
|
384
|
+
signature: Signature.random(),
|
|
385
|
+
},
|
|
386
|
+
);
|
|
354
387
|
}
|
|
355
388
|
|
|
356
389
|
toInspect() {
|
|
@@ -359,6 +392,8 @@ export class CheckpointProposal extends Gossipable {
|
|
|
359
392
|
archive: this.archive.toString(),
|
|
360
393
|
signature: this.signature.toString(),
|
|
361
394
|
feeAssetPriceModifier: this.feeAssetPriceModifier.toString(),
|
|
395
|
+
chainId: this.signatureContext.chainId,
|
|
396
|
+
rollupAddress: this.signatureContext.rollupAddress.toString(),
|
|
362
397
|
lastBlock: this.lastBlock
|
|
363
398
|
? {
|
|
364
399
|
blockHeader: this.lastBlock.blockHeader.toInspect(),
|
|
@@ -375,7 +410,13 @@ export class CheckpointProposal extends Gossipable {
|
|
|
375
410
|
* Used when the lastBlock has been extracted and stored separately.
|
|
376
411
|
*/
|
|
377
412
|
toCore(): CheckpointProposalCore {
|
|
378
|
-
return new CheckpointProposal(
|
|
413
|
+
return new CheckpointProposal(
|
|
414
|
+
this.checkpointHeader,
|
|
415
|
+
this.archive,
|
|
416
|
+
this.feeAssetPriceModifier,
|
|
417
|
+
this.signature,
|
|
418
|
+
this.signatureContext,
|
|
419
|
+
);
|
|
379
420
|
}
|
|
380
421
|
}
|
|
381
422
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { keccak256 } from '@aztec/foundation/crypto/keccak';
|
|
1
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
3
|
import { schemas } from '@aztec/foundation/schemas';
|
|
3
4
|
import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
@@ -10,10 +11,21 @@ import { z } from 'zod';
|
|
|
10
11
|
import type { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
11
12
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
12
13
|
import type { CheckpointProposal, CheckpointProposalCore } from './checkpoint_proposal.js';
|
|
13
|
-
import
|
|
14
|
+
import {
|
|
15
|
+
type CoordinationSignatureContext,
|
|
16
|
+
type CoordinationSignatureType,
|
|
17
|
+
EMPTY_COORDINATION_SIGNATURE_CONTEXT,
|
|
18
|
+
type Signable,
|
|
19
|
+
coordinationSignatureContextEquals,
|
|
20
|
+
coordinationSignatureContextSchema,
|
|
21
|
+
readCoordinationSignatureContext,
|
|
22
|
+
serializeCoordinationSignatureContext,
|
|
23
|
+
} from './signature_utils.js';
|
|
14
24
|
|
|
15
25
|
/** Checkpoint consensus payload as signed by validators and verified on L1. */
|
|
16
26
|
export class ConsensusPayload implements Signable {
|
|
27
|
+
readonly primaryType: CoordinationSignatureType = 'CheckpointAttestation';
|
|
28
|
+
|
|
17
29
|
private size: number | undefined;
|
|
18
30
|
|
|
19
31
|
constructor(
|
|
@@ -22,7 +34,9 @@ export class ConsensusPayload implements Signable {
|
|
|
22
34
|
/** The archive root after the block is added */
|
|
23
35
|
public readonly archive: Fr,
|
|
24
36
|
/** The fee asset price modifier in basis points (from oracle) */
|
|
25
|
-
public readonly feeAssetPriceModifier: bigint
|
|
37
|
+
public readonly feeAssetPriceModifier: bigint,
|
|
38
|
+
/** The signing domain (chainId + rollupAddress) the signature is bound to */
|
|
39
|
+
public readonly signatureContext: CoordinationSignatureContext,
|
|
26
40
|
) {}
|
|
27
41
|
|
|
28
42
|
static get schema() {
|
|
@@ -31,36 +45,46 @@ export class ConsensusPayload implements Signable {
|
|
|
31
45
|
header: CheckpointHeader.schema,
|
|
32
46
|
archive: schemas.Fr,
|
|
33
47
|
feeAssetPriceModifier: schemas.BigInt,
|
|
48
|
+
signatureContext: coordinationSignatureContextSchema,
|
|
34
49
|
})
|
|
35
|
-
.transform(obj => new ConsensusPayload(obj.header, obj.archive, obj.feeAssetPriceModifier));
|
|
50
|
+
.transform(obj => new ConsensusPayload(obj.header, obj.archive, obj.feeAssetPriceModifier, obj.signatureContext));
|
|
36
51
|
}
|
|
37
52
|
|
|
38
|
-
static getFields(fields: FieldsOf<ConsensusPayload>) {
|
|
39
|
-
return [fields.header, fields.archive, fields.feeAssetPriceModifier] as const;
|
|
53
|
+
static getFields(fields: Omit<FieldsOf<ConsensusPayload>, 'primaryType'>) {
|
|
54
|
+
return [fields.header, fields.archive, fields.feeAssetPriceModifier, fields.signatureContext] as const;
|
|
40
55
|
}
|
|
41
56
|
|
|
42
|
-
getPayloadToSign(
|
|
57
|
+
getPayloadToSign(): Buffer {
|
|
58
|
+
// Matches the L1 ProposePayload struct in ProposeLib.sol.
|
|
43
59
|
const abi = parseAbiParameters(
|
|
44
|
-
'
|
|
45
|
-
'(' +
|
|
60
|
+
'(' +
|
|
46
61
|
'bytes32, ' + // archive
|
|
47
62
|
'(int256), ' + // oracleInput
|
|
48
63
|
'bytes32' + // headerHash
|
|
49
64
|
')',
|
|
50
65
|
);
|
|
51
66
|
const archiveRoot = this.archive.toString();
|
|
52
|
-
|
|
53
67
|
const headerHash = this.header.hash().toString();
|
|
54
|
-
const encodedData = encodeAbiParameters(abi, [
|
|
55
|
-
domainSeparator,
|
|
56
|
-
[archiveRoot, [this.feeAssetPriceModifier], headerHash],
|
|
57
|
-
] as const);
|
|
68
|
+
const encodedData = encodeAbiParameters(abi, [[archiveRoot, [this.feeAssetPriceModifier], headerHash]] as const);
|
|
58
69
|
|
|
59
70
|
return hexToBuffer(encodedData);
|
|
60
71
|
}
|
|
61
72
|
|
|
73
|
+
/**
|
|
74
|
+
* Returns a keccak256 hash of the signed payload (header + archive + feeAssetPriceModifier).
|
|
75
|
+
* Used by the attestation pool to dedup distinct signed payloads.
|
|
76
|
+
*/
|
|
77
|
+
getPayloadHash(): Buffer {
|
|
78
|
+
return keccak256(this.getPayloadToSign());
|
|
79
|
+
}
|
|
80
|
+
|
|
62
81
|
toBuffer(): Buffer {
|
|
63
|
-
return serializeToBuffer([
|
|
82
|
+
return serializeToBuffer([
|
|
83
|
+
this.header,
|
|
84
|
+
this.archive,
|
|
85
|
+
serializeSignedBigInt(this.feeAssetPriceModifier),
|
|
86
|
+
serializeCoordinationSignatureContext(this.signatureContext),
|
|
87
|
+
]);
|
|
64
88
|
}
|
|
65
89
|
|
|
66
90
|
public equals(other: ConsensusPayload | CheckpointProposal | CheckpointProposalCore): boolean {
|
|
@@ -69,34 +93,39 @@ export class ConsensusPayload implements Signable {
|
|
|
69
93
|
return (
|
|
70
94
|
this.header.equals(otherHeader) &&
|
|
71
95
|
this.archive.equals(other.archive) &&
|
|
72
|
-
this.feeAssetPriceModifier === otherModifier
|
|
96
|
+
this.feeAssetPriceModifier === otherModifier &&
|
|
97
|
+
coordinationSignatureContextEquals(this.signatureContext, other.signatureContext)
|
|
73
98
|
);
|
|
74
99
|
}
|
|
75
100
|
|
|
76
101
|
static fromBuffer(buf: Buffer | BufferReader): ConsensusPayload {
|
|
77
102
|
const reader = BufferReader.asReader(buf);
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
);
|
|
83
|
-
return payload;
|
|
103
|
+
const header = reader.readObject(CheckpointHeader);
|
|
104
|
+
const archive = reader.readObject(Fr);
|
|
105
|
+
const feeAssetPriceModifier = reader.readInt256();
|
|
106
|
+
const signatureContext = readCoordinationSignatureContext(reader);
|
|
107
|
+
return new ConsensusPayload(header, archive, feeAssetPriceModifier, signatureContext);
|
|
84
108
|
}
|
|
85
109
|
|
|
86
|
-
static fromFields(fields: FieldsOf<ConsensusPayload>): ConsensusPayload {
|
|
87
|
-
return new ConsensusPayload(fields.header, fields.archive, fields.feeAssetPriceModifier);
|
|
110
|
+
static fromFields(fields: Omit<FieldsOf<ConsensusPayload>, 'primaryType'>): ConsensusPayload {
|
|
111
|
+
return new ConsensusPayload(fields.header, fields.archive, fields.feeAssetPriceModifier, fields.signatureContext);
|
|
88
112
|
}
|
|
89
113
|
|
|
90
|
-
static fromCheckpoint(checkpoint: Checkpoint): ConsensusPayload {
|
|
91
|
-
return new ConsensusPayload(
|
|
114
|
+
static fromCheckpoint(checkpoint: Checkpoint, signatureContext: CoordinationSignatureContext): ConsensusPayload {
|
|
115
|
+
return new ConsensusPayload(
|
|
116
|
+
checkpoint.header,
|
|
117
|
+
checkpoint.archive.root,
|
|
118
|
+
checkpoint.feeAssetPriceModifier,
|
|
119
|
+
signatureContext,
|
|
120
|
+
);
|
|
92
121
|
}
|
|
93
122
|
|
|
94
123
|
static empty(): ConsensusPayload {
|
|
95
|
-
return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO, 0n);
|
|
124
|
+
return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO, 0n, EMPTY_COORDINATION_SIGNATURE_CONTEXT);
|
|
96
125
|
}
|
|
97
126
|
|
|
98
127
|
static random(): ConsensusPayload {
|
|
99
|
-
return new ConsensusPayload(CheckpointHeader.random(), Fr.random(), 0n);
|
|
128
|
+
return new ConsensusPayload(CheckpointHeader.random(), Fr.random(), 0n, EMPTY_COORDINATION_SIGNATURE_CONTEXT);
|
|
100
129
|
}
|
|
101
130
|
|
|
102
131
|
/**
|
|
@@ -117,10 +146,12 @@ export class ConsensusPayload implements Signable {
|
|
|
117
146
|
header: this.header.toInspect(),
|
|
118
147
|
archive: this.archive.toString(),
|
|
119
148
|
feeAssetPriceModifier: this.feeAssetPriceModifier.toString(),
|
|
149
|
+
chainId: this.signatureContext.chainId,
|
|
150
|
+
rollupAddress: this.signatureContext.rollupAddress.toString(),
|
|
120
151
|
};
|
|
121
152
|
}
|
|
122
153
|
|
|
123
154
|
toString() {
|
|
124
|
-
return `header: ${this.header.toString()}, archive: ${this.archive.toString()}, feeAssetPriceModifier: ${this.feeAssetPriceModifier}}`;
|
|
155
|
+
return `header: ${this.header.toString()}, archive: ${this.archive.toString()}, feeAssetPriceModifier: ${this.feeAssetPriceModifier}, chainId: ${this.signatureContext.chainId}, rollupAddress: ${this.signatureContext.rollupAddress.toString()}`;
|
|
125
156
|
}
|
|
126
157
|
}
|