@aztec/stdlib 0.0.1-commit.9ef841308 → 0.0.1-commit.a4600f49
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 +121 -1197
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +31 -16
- package/dest/abi/authorization_selector.d.ts +4 -7
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/buffer.d.ts +6 -2
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +13 -1
- package/dest/abi/contract_artifact.d.ts +1 -1
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +14 -7
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +32 -6
- package/dest/abi/event_selector.d.ts +4 -7
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +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 +1 -3
- package/dest/abi/note_selector.d.ts +4 -7
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +1 -3
- package/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +1 -1
- package/dest/abi/utils.d.ts +1 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +1 -1
- package/dest/auth_witness/auth_witness.d.ts +2 -2
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/avm/avm.d.ts +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 +674 -5467
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/index.d.ts +1 -6
- package/dest/avm/index.d.ts.map +1 -1
- package/dest/avm/index.js +0 -5
- package/dest/avm/message_pack.js +12 -3
- package/dest/avm/public_data_write.d.ts +6 -12
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +5 -21
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +12 -30
- package/dest/aztec-address/index.d.ts +42 -12
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +40 -13
- package/dest/block/attestation_info.d.ts +3 -2
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +10 -5
- package/dest/block/block_data.d.ts +13 -38
- package/dest/block/block_data.d.ts.map +1 -1
- package/dest/block/block_data.js +2 -2
- package/dest/block/block_hash.d.ts +11 -10
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +10 -9
- package/dest/block/block_parameter.d.ts +37 -4
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +53 -2
- package/dest/block/in_block.d.ts +5 -24
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/index.d.ts +1 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +0 -1
- package/dest/block/l2_block.d.ts +13 -41
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block_info.d.ts +10 -29
- package/dest/block/l2_block_info.d.ts.map +1 -1
- package/dest/block/l2_block_info.js +6 -5
- package/dest/block/l2_block_source.d.ts +228 -354
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +81 -1
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
- package/dest/block/l2_block_stream/index.d.ts +2 -1
- package/dest/block/l2_block_stream/index.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +83 -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 +23 -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 +159 -135
- 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 +296 -36
- package/dest/block/validate_block_result.d.ts +16 -1
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +18 -3
- package/dest/checkpoint/checkpoint.d.ts +30 -96
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +11 -3
- package/dest/checkpoint/checkpoint_data.d.ts +68 -91
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_data.js +12 -0
- package/dest/checkpoint/checkpoint_info.d.ts +7 -23
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
- package/dest/checkpoint/digest.d.ts +18 -0
- package/dest/checkpoint/digest.d.ts.map +1 -0
- package/dest/checkpoint/digest.js +12 -0
- package/dest/checkpoint/index.d.ts +5 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +4 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
- package/dest/checkpoint/published_checkpoint.d.ts +42 -194
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/simulation_overrides.d.ts +61 -0
- package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
- package/dest/checkpoint/simulation_overrides.js +98 -0
- package/dest/checkpoint/validate.d.ts +11 -3
- package/dest/checkpoint/validate.d.ts.map +1 -1
- package/dest/checkpoint/validate.js +9 -6
- package/dest/config/chain-config.d.ts +4 -9
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +13 -12
- package/dest/config/index.d.ts +2 -2
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -1
- package/dest/config/network-consensus-config.d.ts +72 -0
- package/dest/config/network-consensus-config.d.ts.map +1 -0
- package/dest/config/network-consensus-config.js +223 -0
- package/dest/config/sequencer-config.d.ts +7 -3
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +38 -5
- package/dest/contract/complete_address.d.ts +3 -2
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/complete_address.js +6 -2
- package/dest/contract/contract_address.d.ts +9 -8
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +5 -4
- package/dest/contract/contract_class.d.ts +1 -1
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class.js +3 -2
- package/dest/contract/contract_deployment_data.d.ts +15 -61
- package/dest/contract/contract_deployment_data.d.ts.map +1 -1
- package/dest/contract/contract_instance.d.ts +19 -3
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +55 -3
- package/dest/contract/index.d.ts +1 -2
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -1
- package/dest/contract/interfaces/contract_class.d.ts +15 -86
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +111 -104
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +11 -4
- package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
- package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.d.ts +11 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +7 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/partial_address.d.ts +9 -3
- package/dest/contract/partial_address.d.ts.map +1 -1
- package/dest/contract/partial_address.js +8 -2
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +2 -4
- package/dest/database-version/database_version.d.ts +5 -11
- package/dest/database-version/database_version.d.ts.map +1 -1
- package/dest/database-version/version_manager.d.ts +22 -4
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +87 -6
- package/dest/deserialization/index.d.ts +35 -3
- package/dest/deserialization/index.d.ts.map +1 -1
- package/dest/deserialization/index.js +32 -1
- package/dest/epoch-helpers/index.d.ts +6 -22
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +3 -0
- package/dest/file-store/factory.d.ts +1 -1
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +7 -0
- package/dest/file-store/index.d.ts +2 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/file-store/index.js +1 -0
- package/dest/file-store/memory.d.ts +24 -0
- package/dest/file-store/memory.d.ts.map +1 -0
- package/dest/file-store/memory.js +80 -0
- package/dest/gas/fee_math.d.ts +49 -0
- package/dest/gas/fee_math.d.ts.map +1 -0
- package/dest/gas/fee_math.js +80 -0
- package/dest/gas/gas.d.ts +9 -14
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +6 -3
- package/dest/gas/gas_fees.d.ts +13 -14
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +17 -4
- package/dest/gas/gas_settings.d.ts +60 -86
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +49 -9
- package/dest/gas/index.d.ts +3 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +2 -0
- package/dest/gas/tx_gas_limits.d.ts +72 -0
- package/dest/gas/tx_gas_limits.d.ts.map +1 -0
- package/dest/gas/tx_gas_limits.js +85 -0
- package/dest/ha-signing/config.d.ts +29 -79
- package/dest/ha-signing/config.d.ts.map +1 -1
- package/dest/ha-signing/config.js +18 -21
- package/dest/ha-signing/index.d.ts +2 -2
- package/dest/ha-signing/index.d.ts.map +1 -1
- package/dest/ha-signing/index.js +1 -1
- package/dest/ha-signing/local_config.d.ts +12 -35
- package/dest/ha-signing/local_config.d.ts.map +1 -1
- package/dest/ha-signing/local_config.js +9 -3
- package/dest/ha-signing/types.d.ts +37 -32
- package/dest/ha-signing/types.d.ts.map +1 -1
- package/dest/ha-signing/types.js +13 -6
- package/dest/hash/hash.d.ts +16 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +34 -2
- package/dest/interfaces/allowed_element.d.ts +4 -28
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/api_limit.d.ts +1 -1
- package/dest/interfaces/api_limit.js +1 -1
- package/dest/interfaces/archiver.d.ts +20 -32
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +215 -70
- package/dest/interfaces/aztec-node-admin.d.ts +74 -302
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +60 -17
- package/dest/interfaces/aztec-node-debug.d.ts +59 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +49 -0
- package/dest/interfaces/aztec-node.d.ts +160 -116
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +350 -74
- package/dest/interfaces/block-builder.d.ts +5 -1
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block_response.d.ts +90 -0
- package/dest/interfaces/block_response.d.ts.map +1 -0
- package/dest/interfaces/block_response.js +30 -0
- package/dest/interfaces/chain_tips.d.ts +11 -0
- package/dest/interfaces/chain_tips.d.ts.map +1 -0
- package/dest/interfaces/chain_tips.js +6 -0
- package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
- package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_parameter.js +18 -0
- package/dest/interfaces/checkpoint_response.d.ts +122 -0
- package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_response.js +26 -0
- package/dest/interfaces/client.d.ts +9 -2
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +7 -1
- package/dest/interfaces/configs.d.ts +66 -134
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +14 -2
- package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
- package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
- package/dest/interfaces/get_tx_by_hash_options.js +4 -0
- package/dest/interfaces/l1_publish_info.d.ts +29 -0
- package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
- package/dest/interfaces/l1_publish_info.js +26 -0
- package/dest/interfaces/l2_logs_source.d.ts +14 -36
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.js +5 -0
- package/dest/interfaces/merkle_tree_operations.d.ts +11 -5
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p-bootstrap.js +8 -2
- package/dest/interfaces/p2p.d.ts +46 -7
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +41 -6
- package/dest/interfaces/private_kernel_prover.d.ts +131 -12
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.d.ts +5 -23
- package/dest/interfaces/prover-agent.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.js +4 -1
- package/dest/interfaces/prover-client.d.ts +7 -29
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +0 -3
- package/dest/interfaces/prover-node.d.ts +12 -8
- package/dest/interfaces/prover-node.d.ts.map +1 -1
- package/dest/interfaces/prover-node.js +37 -16
- package/dest/interfaces/proving-job-source.js +24 -4
- package/dest/interfaces/proving-job.d.ts +727 -5778
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +3 -3
- package/dest/interfaces/public_storage_override.d.ts +22 -0
- package/dest/interfaces/public_storage_override.d.ts.map +1 -0
- package/dest/interfaces/public_storage_override.js +7 -0
- package/dest/interfaces/server.d.ts +6 -3
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -2
- package/dest/interfaces/server_circuit_prover.d.ts +3 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/slasher.d.ts +25 -65
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +8 -4
- package/dest/interfaces/tx_provider.d.ts +6 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +58 -239
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +8 -1
- package/dest/interfaces/world_state.d.ts +15 -2
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
- package/dest/kernel/hints/index.d.ts +1 -2
- package/dest/kernel/hints/index.d.ts.map +1 -1
- package/dest/kernel/hints/index.js +0 -1
- package/dest/kernel/hints/key_validation_request.d.ts +12 -8
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.js +20 -18
- package/dest/kernel/hints/read_request.js +1 -1
- package/dest/kernel/index.d.ts +10 -2
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +9 -1
- package/dest/kernel/log_hash.d.ts +6 -2
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +23 -11
- package/dest/kernel/note_hash.js +1 -1
- package/dest/kernel/nullifier.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +14 -7
- package/dest/kernel/private_context_inputs.d.ts +4 -3
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +7 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -10
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -7
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
- package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts +24 -0
- package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -0
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
- package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts +18 -0
- package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
- package/dest/kernel/private_kernel_prover_output.d.ts +6 -29
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.js +4 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
- package/dest/kernel/private_kernel_simulated_output.d.ts +1 -7
- package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_simulated_output.js +2 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
- package/dest/kernel/private_log_data.d.ts +1 -1
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_log_data.js +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
- package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data.js +6 -3
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
- package/dest/kernel/public_call_request.d.ts +15 -30
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +16 -7
- package/dest/kernel/utils/index.d.ts +1 -2
- package/dest/kernel/utils/index.d.ts.map +1 -1
- package/dest/kernel/utils/index.js +0 -1
- package/dest/keys/derivation.d.ts +45 -5
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +59 -19
- package/dest/keys/public_key.d.ts +22 -3
- package/dest/keys/public_key.d.ts.map +1 -1
- package/dest/keys/public_key.js +20 -1
- package/dest/keys/public_keys.d.ts +55 -82
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +102 -74
- package/dest/kv-store/config.d.ts +3 -6
- package/dest/kv-store/config.d.ts.map +1 -1
- package/dest/kv-store/config.js +2 -7
- package/dest/l1-contracts/index.d.ts +2 -2
- package/dest/l1-contracts/index.d.ts.map +1 -1
- package/dest/l1-contracts/index.js +1 -1
- package/dest/logs/app_tagging_secret.d.ts +69 -0
- package/dest/logs/app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret.js +125 -0
- package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
- package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret_kind.js +17 -0
- package/dest/logs/contract_class_log.d.ts +16 -35
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +11 -13
- package/dest/logs/index.d.ts +7 -7
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +6 -6
- package/dest/logs/log_cursor.d.ts +51 -0
- package/dest/logs/log_cursor.d.ts.map +1 -0
- package/dest/logs/log_cursor.js +82 -0
- package/dest/logs/log_result.d.ts +54 -0
- package/dest/logs/log_result.d.ts.map +1 -0
- package/dest/logs/log_result.js +56 -0
- package/dest/logs/logs_query.d.ts +82 -0
- package/dest/logs/logs_query.d.ts.map +1 -0
- package/dest/logs/logs_query.js +50 -0
- package/dest/logs/message_context.d.ts +4 -13
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +1 -62
- package/dest/logs/pending_tagged_log.d.ts +6 -8
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +1 -31
- package/dest/logs/pre_tag.d.ts +11 -24
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/private_log.d.ts +7 -12
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +6 -3
- package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
- package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
- package/dest/logs/query_all_logs_by_tags.js +64 -0
- package/dest/logs/shared_secret_derivation.d.ts +19 -6
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +26 -11
- package/dest/logs/siloed_tag.d.ts +5 -7
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +7 -1
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +4 -0
- package/dest/logs/tagging_index_range.d.ts +13 -31
- package/dest/logs/tagging_index_range.d.ts.map +1 -1
- package/dest/logs/tagging_index_range.js +2 -2
- package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
- package/dest/messaging/append_l1_to_l2_messages.js +12 -0
- package/dest/messaging/index.d.ts +2 -1
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +1 -0
- package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +72 -12
- package/dest/messaging/l2_to_l1_message.d.ts +38 -112
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +21 -12
- package/dest/noir/index.d.ts +3 -1
- 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/p2p/attestation_utils.d.ts +1 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +8 -1
- package/dest/p2p/block_proposal.d.ts +31 -14
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +57 -39
- package/dest/p2p/checkpoint_attestation.d.ts +24 -9
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +33 -24
- package/dest/p2p/checkpoint_proposal.d.ts +36 -16
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +59 -51
- package/dest/p2p/consensus_payload.d.ts +27 -20
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +38 -19
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/index.d.ts +1 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +0 -1
- package/dest/p2p/signature_utils.d.ts +35 -17
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +125 -20
- package/dest/p2p/signed_txs.d.ts +15 -13
- package/dest/p2p/signed_txs.d.ts.map +1 -1
- package/dest/p2p/signed_txs.js +26 -24
- package/dest/parity/parity_base_private_inputs.d.ts +8 -4
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_base_private_inputs.js +7 -5
- package/dest/parity/parity_public_inputs.d.ts +8 -4
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.js +6 -3
- package/dest/parity/parity_root_private_inputs.d.ts +2 -2
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +17 -11
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +44 -22
- package/dest/proofs/recursive_proof.d.ts +2 -2
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.d.ts +3 -3
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.d.ts +1 -1
- package/dest/rollup/block_headers_hash.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.js +8 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +12 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.d.ts +8 -3
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +20 -10
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +32 -78
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +2 -2
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +10 -7
- package/dest/slashing/index.d.ts +2 -3
- package/dest/slashing/index.d.ts.map +1 -1
- package/dest/slashing/index.js +1 -2
- package/dest/slashing/serialization.d.ts +2 -6
- package/dest/slashing/serialization.d.ts.map +1 -1
- package/dest/slashing/serialization.js +0 -60
- package/dest/slashing/types.d.ts +18 -112
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +16 -24
- package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
- package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
- package/dest/slashing/{tally.js → votes.js} +1 -1
- package/dest/snapshots/types.d.ts +15 -78
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/stats/stats.d.ts +2 -2
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +24 -55
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +81 -89
- package/dest/tests/mocks.d.ts +8 -5
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +45 -56
- package/dest/timetable/budgets.d.ts +57 -0
- package/dest/timetable/budgets.d.ts.map +1 -0
- package/dest/timetable/budgets.js +56 -0
- package/dest/timetable/build_proposer_timetable.d.ts +21 -0
- package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/build_proposer_timetable.js +17 -0
- package/dest/timetable/consensus_timetable.d.ts +70 -0
- package/dest/timetable/consensus_timetable.d.ts.map +1 -0
- package/dest/timetable/consensus_timetable.js +89 -0
- package/dest/timetable/index.d.ts +5 -37
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +4 -39
- package/dest/timetable/proposer_timetable.d.ts +106 -0
- package/dest/timetable/proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/proposer_timetable.js +132 -0
- package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +6 -3
- package/dest/trees/nullifier_leaf.d.ts +19 -42
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +3 -0
- package/dest/trees/nullifier_membership_witness.d.ts +17 -63
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +0 -21
- package/dest/trees/public_data_leaf.d.ts +21 -53
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_witness.d.ts +19 -71
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/trees/public_data_witness.js +0 -27
- package/dest/tx/block_header.d.ts +5 -4
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +7 -4
- package/dest/tx/call_context.d.ts +4 -14
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +2 -2
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/execution_payload.d.ts +1 -1
- package/dest/tx/execution_payload.d.ts.map +1 -1
- package/dest/tx/execution_payload.js +1 -1
- package/dest/tx/fee_provider.d.ts +10 -0
- package/dest/tx/fee_provider.d.ts.map +1 -0
- package/dest/tx/fee_provider.js +1 -0
- package/dest/tx/function_data.d.ts +4 -10
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +4 -15
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +16 -49
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +10 -14
- package/dest/tx/hashed_values.d.ts +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 -2
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -1
- package/dest/tx/indexed_tx_effect.d.ts +8 -19
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +9 -6
- package/dest/tx/partial_state_reference.d.ts +22 -65
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +6 -3
- package/dest/tx/private_execution_result.d.ts +6 -16
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_tx_constant_data.d.ts +18 -2
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/private_tx_constant_data.js +13 -4
- package/dest/tx/profiling.d.ts +54 -352
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +6 -4
- package/dest/tx/protocol_contracts.d.ts +5 -9
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/proven_tx.d.ts +30 -74
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +6 -0
- package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +6 -3
- package/dest/tx/simulated_tx.d.ts +73 -1256
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +13 -11
- 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 +22 -13
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +44 -22
- package/dest/tx/tx_constant_data.d.ts +4 -3
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +6 -3
- package/dest/tx/tx_context.d.ts +32 -131
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_context.js +6 -6
- package/dest/tx/tx_hash.d.ts +6 -4
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_hash.js +13 -5
- package/dest/tx/tx_receipt.d.ts +144 -63
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +143 -60
- package/dest/tx/validator/error_texts.d.ts +2 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +1 -1
- package/dest/tx/validator/tx_validator.d.ts +5 -27
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +0 -4
- package/dest/types/shared.d.ts +4 -12
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +6 -12
- package/dest/update-checker/dev_version.d.ts +3 -0
- package/dest/update-checker/dev_version.d.ts.map +1 -0
- package/dest/update-checker/dev_version.js +1 -0
- package/dest/update-checker/index.d.ts +2 -1
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +1 -0
- package/dest/update-checker/package_version.d.ts +6 -3
- package/dest/update-checker/package_version.d.ts.map +1 -1
- package/dest/update-checker/package_version.js +8 -19
- package/dest/validators/schemas.d.ts +147 -614
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +6 -4
- package/dest/validators/types.d.ts +20 -3
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.js +1 -1
- package/dest/vks/verification_key.d.ts +4 -139
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +5 -126
- package/dest/world-state/genesis_data.d.ts +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 +11 -39
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +7 -21
- package/package.json +12 -11
- package/src/abi/abi.ts +53 -19
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +13 -1
- package/src/abi/contract_artifact.ts +11 -6
- package/src/abi/encoder.ts +42 -6
- package/src/abi/event_selector.ts +2 -8
- package/src/abi/function_selector.ts +3 -12
- package/src/abi/note_selector.ts +3 -12
- package/src/abi/selector.ts +1 -1
- package/src/abi/utils.ts +6 -4
- package/src/avm/avm.ts +6 -1
- package/src/avm/index.ts +0 -5
- package/src/avm/message_pack.ts +12 -3
- package/src/avm/revert_code.ts +19 -39
- package/src/aztec-address/index.ts +50 -17
- package/src/block/attestation_info.ts +16 -11
- package/src/block/block_data.ts +3 -4
- package/src/block/block_hash.ts +21 -14
- package/src/block/block_parameter.ts +72 -4
- package/src/block/index.ts +0 -1
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +258 -144
- package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +99 -9
- package/src/block/l2_block_stream/l2_block_stream.ts +229 -177
- 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 +271 -22
- package/src/block/validate_block_result.ts +48 -2
- package/src/checkpoint/checkpoint.ts +13 -3
- package/src/checkpoint/checkpoint_data.ts +44 -4
- package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
- package/src/checkpoint/digest.ts +28 -0
- package/src/checkpoint/index.ts +4 -0
- package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
- package/src/checkpoint/simulation_overrides.ts +171 -0
- package/src/checkpoint/validate.ts +16 -6
- package/src/config/chain-config.ts +13 -16
- package/src/config/index.ts +1 -1
- package/src/config/network-consensus-config.ts +291 -0
- package/src/config/sequencer-config.ts +68 -9
- package/src/contract/complete_address.ts +7 -3
- package/src/contract/contract_address.ts +10 -9
- package/src/contract/contract_class.ts +3 -2
- package/src/contract/contract_instance.ts +73 -3
- package/src/contract/index.ts +0 -1
- package/src/contract/interfaces/contract_data_source.ts +2 -4
- package/src/contract/interfaces/contract_instance.ts +32 -10
- package/src/contract/interfaces/node-info.ts +11 -0
- package/src/contract/partial_address.ts +8 -2
- package/src/contract/private_function.ts +3 -1
- package/src/database-version/version_manager.ts +113 -6
- package/src/deserialization/index.ts +35 -2
- package/src/epoch-helpers/index.ts +5 -0
- package/src/file-store/factory.ts +7 -0
- package/src/file-store/index.ts +1 -0
- package/src/file-store/memory.ts +94 -0
- package/src/gas/README.md +123 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas.ts +8 -3
- package/src/gas/gas_fees.ts +26 -13
- package/src/gas/gas_settings.ts +63 -15
- package/src/gas/index.ts +2 -0
- package/src/gas/tx_gas_limits.ts +123 -0
- package/src/ha-signing/config.ts +37 -23
- package/src/ha-signing/index.ts +3 -1
- package/src/ha-signing/local_config.ts +21 -2
- package/src/ha-signing/types.ts +48 -34
- package/src/hash/hash.ts +29 -2
- package/src/interfaces/api_limit.ts +1 -1
- package/src/interfaces/archiver.ts +88 -93
- package/src/interfaces/aztec-node-admin.ts +36 -21
- package/src/interfaces/aztec-node-debug.ts +92 -0
- package/src/interfaces/aztec-node.ts +398 -271
- package/src/interfaces/block-builder.ts +4 -0
- 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 +67 -7
- package/src/interfaces/get_tx_by_hash_options.ts +14 -0
- package/src/interfaces/l1_publish_info.ts +40 -0
- package/src/interfaces/l2_logs_source.ts +13 -42
- package/src/interfaces/merkle_tree_operations.ts +11 -4
- package/src/interfaces/p2p-bootstrap.ts +2 -2
- package/src/interfaces/p2p.ts +59 -19
- package/src/interfaces/private_kernel_prover.ts +192 -13
- package/src/interfaces/prover-agent.ts +1 -1
- package/src/interfaces/prover-client.ts +3 -8
- package/src/interfaces/prover-node.ts +36 -21
- package/src/interfaces/proving-job-source.ts +4 -4
- package/src/interfaces/proving-job.ts +6 -6
- package/src/interfaces/public_storage_override.ts +26 -0
- package/src/interfaces/server.ts +5 -2
- package/src/interfaces/server_circuit_prover.ts +2 -2
- package/src/interfaces/slasher.ts +17 -10
- package/src/interfaces/tx_provider.ts +6 -0
- package/src/interfaces/validator.ts +44 -10
- package/src/interfaces/world_state.ts +15 -1
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
- package/src/kernel/hints/index.ts +0 -1
- package/src/kernel/hints/key_validation_request.ts +18 -16
- package/src/kernel/hints/read_request.ts +1 -1
- package/src/kernel/index.ts +9 -1
- package/src/kernel/log_hash.ts +36 -13
- package/src/kernel/note_hash.ts +1 -1
- package/src/kernel/nullifier.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +12 -1
- package/src/kernel/private_context_inputs.ts +10 -3
- package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -7
- package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
- package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
- package/src/kernel/private_kernel_init_4_circuit_private_inputs.ts +52 -0
- package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -0
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
- package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
- package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
- package/src/kernel/private_kernel_inner_4_circuit_private_inputs.ts +39 -0
- package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
- package/src/kernel/private_kernel_prover_output.ts +4 -0
- package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
- package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
- package/src/kernel/private_kernel_simulated_output.ts +0 -7
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
- package/src/kernel/private_log_data.ts +4 -1
- package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
- package/src/kernel/private_to_public_accumulated_data.ts +9 -3
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
- package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
- package/src/kernel/public_call_request.ts +22 -7
- package/src/kernel/utils/index.ts +0 -1
- package/src/keys/derivation.ts +81 -19
- package/src/keys/public_key.ts +26 -2
- package/src/keys/public_keys.ts +124 -110
- package/src/kv-store/config.ts +3 -10
- package/src/l1-contracts/index.ts +1 -1
- package/src/logs/app_tagging_secret.ts +169 -0
- package/src/logs/app_tagging_secret_kind.ts +21 -0
- package/src/logs/contract_class_log.ts +15 -14
- package/src/logs/index.ts +6 -6
- package/src/logs/log_cursor.ts +110 -0
- package/src/logs/log_result.ts +104 -0
- package/src/logs/logs_query.ts +138 -0
- package/src/logs/message_context.ts +6 -60
- package/src/logs/pending_tagged_log.ts +6 -33
- package/src/logs/pre_tag.ts +3 -6
- package/src/logs/private_log.ts +9 -3
- package/src/logs/query_all_logs_by_tags.ts +98 -0
- package/src/logs/shared_secret_derivation.ts +31 -15
- package/src/logs/siloed_tag.ts +14 -10
- package/src/logs/tag.ts +8 -8
- package/src/logs/tagging_index_range.ts +4 -10
- package/src/messaging/append_l1_to_l2_messages.ts +21 -0
- package/src/messaging/index.ts +1 -0
- package/src/messaging/l2_to_l1_membership.ts +108 -19
- package/src/messaging/l2_to_l1_message.ts +29 -9
- package/src/noir/index.ts +2 -0
- package/src/p2p/attestation_utils.ts +8 -1
- package/src/p2p/block_proposal.ts +111 -36
- package/src/p2p/checkpoint_attestation.ts +38 -30
- package/src/p2p/checkpoint_proposal.ts +128 -73
- package/src/p2p/consensus_payload.ts +59 -28
- package/src/p2p/gossipable.ts +4 -4
- package/src/p2p/index.ts +0 -1
- package/src/p2p/signature_utils.ts +117 -23
- package/src/p2p/signed_txs.ts +46 -28
- package/src/parity/parity_base_private_inputs.ts +10 -4
- package/src/parity/parity_public_inputs.ts +9 -2
- package/src/proofs/chonk_proof.ts +49 -15
- package/src/rollup/avm_proof_data.ts +2 -2
- package/src/rollup/block_headers_hash.ts +11 -2
- package/src/rollup/block_rollup_public_inputs.ts +13 -0
- package/src/rollup/checkpoint_header.ts +16 -2
- package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
- package/src/schemas/schemas.ts +6 -1
- package/src/slashing/helpers.ts +13 -9
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +24 -49
- package/src/slashing/{tally.ts → votes.ts} +1 -1
- package/src/stats/stats.ts +10 -2
- package/src/tests/factories.ts +111 -124
- package/src/tests/mocks.ts +72 -71
- package/src/timetable/README.md +609 -0
- package/src/timetable/budgets.ts +87 -0
- package/src/timetable/build_proposer_timetable.ts +42 -0
- package/src/timetable/consensus_timetable.ts +126 -0
- package/src/timetable/index.ts +4 -66
- package/src/timetable/proposer_timetable.ts +190 -0
- package/src/timetable/timetable-example.svg +108 -0
- package/src/trees/append_only_tree_snapshot.ts +8 -3
- package/src/trees/nullifier_leaf.ts +4 -0
- package/src/trees/nullifier_membership_witness.ts +0 -21
- package/src/trees/public_data_witness.ts +0 -31
- package/src/tx/block_header.ts +10 -5
- package/src/tx/execution_payload.ts +2 -1
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/global_variable_builder.ts +3 -20
- package/src/tx/global_variables.ts +12 -20
- package/src/tx/hashed_values.ts +8 -3
- package/src/tx/index.ts +1 -1
- package/src/tx/indexed_tx_effect.ts +18 -6
- package/src/tx/partial_state_reference.ts +8 -3
- package/src/tx/private_tx_constant_data.ts +25 -2
- package/src/tx/profiling.ts +6 -4
- package/src/tx/proven_tx.ts +6 -0
- package/src/tx/public_call_request_with_calldata.ts +8 -3
- package/src/tx/simulated_tx.ts +22 -21
- package/src/tx/state_reference.ts +9 -4
- package/src/tx/tree_snapshots.ts +9 -4
- package/src/tx/tx.ts +60 -24
- package/src/tx/tx_constant_data.ts +8 -3
- package/src/tx/tx_context.ts +8 -3
- package/src/tx/tx_hash.ts +20 -5
- package/src/tx/tx_receipt.ts +265 -85
- package/src/tx/validator/error_texts.ts +2 -1
- package/src/tx/validator/tx_validator.ts +1 -5
- package/src/types/shared.ts +8 -13
- package/src/update-checker/dev_version.ts +2 -0
- package/src/update-checker/index.ts +1 -0
- package/src/update-checker/package_version.ts +10 -23
- package/src/validators/schemas.ts +6 -4
- package/src/validators/types.ts +21 -2
- package/src/versioning/versioning.ts +1 -1
- package/src/vks/verification_key.ts +5 -184
- package/src/world-state/genesis_data.ts +27 -0
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +9 -34
- package/dest/abi/mocked_keys.d.ts +0 -2
- package/dest/abi/mocked_keys.d.ts.map +0 -1
- package/dest/abi/mocked_keys.js +0 -1
- package/dest/avm/contract_storage_read.d.ts +0 -58
- package/dest/avm/contract_storage_read.d.ts.map +0 -1
- package/dest/avm/contract_storage_read.js +0 -65
- package/dest/avm/contract_storage_update_request.d.ts +0 -65
- package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
- package/dest/avm/contract_storage_update_request.js +0 -80
- package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
- package/dest/avm/public_call_stack_item_compressed.js +0 -70
- package/dest/avm/public_data_update_request.d.ts +0 -62
- package/dest/avm/public_data_update_request.d.ts.map +0 -1
- package/dest/avm/public_data_update_request.js +0 -67
- package/dest/avm/public_inner_call_request.d.ts +0 -50
- package/dest/avm/public_inner_call_request.d.ts.map +0 -1
- package/dest/avm/public_inner_call_request.js +0 -74
- package/dest/block/checkpointed_l2_block.d.ts +0 -150
- package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
- package/dest/block/checkpointed_l2_block.js +0 -46
- package/dest/config/pipelining-config.d.ts +0 -19
- package/dest/config/pipelining-config.d.ts.map +0 -1
- package/dest/config/pipelining-config.js +0 -18
- package/dest/contract/deployment_info.d.ts +0 -24
- package/dest/contract/deployment_info.d.ts.map +0 -1
- package/dest/contract/deployment_info.js +0 -3
- package/dest/interfaces/epoch-prover.d.ts +0 -57
- package/dest/interfaces/epoch-prover.d.ts.map +0 -1
- package/dest/interfaces/epoch-prover.js +0 -1
- package/dest/interfaces/get_logs_response.d.ts +0 -97
- package/dest/interfaces/get_logs_response.d.ts.map +0 -1
- package/dest/interfaces/get_logs_response.js +0 -12
- package/dest/interfaces/prover-coordination.d.ts +0 -15
- package/dest/interfaces/prover-coordination.d.ts.map +0 -1
- package/dest/interfaces/prover-coordination.js +0 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
- package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
- package/dest/kernel/utils/optional_number.d.ts +0 -31
- package/dest/kernel/utils/optional_number.d.ts.map +0 -1
- package/dest/kernel/utils/optional_number.js +0 -42
- package/dest/l1-contracts/slash_factory.d.ts +0 -45
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -158
- package/dest/logs/extended_contract_class_log.d.ts +0 -51
- package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
- package/dest/logs/extended_contract_class_log.js +0 -67
- package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
- package/dest/logs/extended_public_log.d.ts +0 -106
- package/dest/logs/extended_public_log.d.ts.map +0 -1
- package/dest/logs/extended_public_log.js +0 -73
- package/dest/logs/log_filter.d.ts +0 -25
- package/dest/logs/log_filter.d.ts.map +0 -1
- package/dest/logs/log_filter.js +0 -12
- package/dest/logs/log_id.d.ts +0 -85
- package/dest/logs/log_id.d.ts.map +0 -1
- package/dest/logs/log_id.js +0 -94
- package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
- package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
- package/dest/logs/tx_scoped_l2_log.js +0 -77
- package/dest/p2p/interface.d.ts +0 -5
- package/dest/p2p/interface.d.ts.map +0 -1
- package/dest/p2p/interface.js +0 -1
- package/dest/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -87
- package/dest/tx/validator/empty_validator.d.ts +0 -5
- package/dest/tx/validator/empty_validator.d.ts.map +0 -1
- package/dest/tx/validator/empty_validator.js +0 -7
- package/src/abi/mocked_keys.ts +0 -2
- package/src/avm/contract_storage_read.ts +0 -77
- package/src/avm/contract_storage_update_request.ts +0 -93
- package/src/avm/public_call_stack_item_compressed.ts +0 -113
- package/src/avm/public_data_update_request.ts +0 -106
- package/src/avm/public_inner_call_request.ts +0 -85
- package/src/block/checkpointed_l2_block.ts +0 -70
- package/src/config/pipelining-config.ts +0 -31
- package/src/contract/deployment_info.ts +0 -25
- package/src/interfaces/epoch-prover.ts +0 -72
- package/src/interfaces/get_logs_response.ts +0 -35
- package/src/interfaces/prover-coordination.ts +0 -17
- package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
- package/src/kernel/utils/optional_number.ts +0 -50
- package/src/l1-contracts/slash_factory.ts +0 -180
- package/src/logs/extended_contract_class_log.ts +0 -87
- package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
- package/src/logs/extended_public_log.ts +0 -94
- package/src/logs/log_filter.ts +0 -36
- package/src/logs/log_id.ts +0 -125
- package/src/logs/tx_scoped_l2_log.ts +0 -114
- package/src/p2p/interface.ts +0 -4
- package/src/slashing/empire.ts +0 -104
- package/src/tx/validator/empty_validator.ts +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"checkpoint_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,0BAA0B,CAAC;AAEvE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,4BAA4B,EAA6B,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IAOjD,iEAAiE;aACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;aAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;aACjC,iBAAiB,EAAE,SAAS;IAb9C,OAAgB,QAAQ,YAAoC;IAE5D,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,cAAc,CAA4C;IAElE;IACE,iEAAiE;IACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;IAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;IACjC,iBAAiB,EAAE,SAAS,EAG7C;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAQjD;IAEQ,4BAA4B,IAAI,OAAO,CAAC,YAAY,CAAC,CAE7D;IAED,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,gBAAgB,IAAI,4BAA4B,CAEnD;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAKlC;IAED;;;OAGG;IACH,WAAW,IAAI,UAAU,GAAG,SAAS,CAepC;IAED;;;;;;OAMG;IACH,uBAAuB,IAAI,qBAAqB,CAE/C;IAED,UAAU,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACH,cAAc,IAAI,sBAAsB,CAEvC;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAOnE;IAED,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAEpC;IAED,MAAM,CAAC,MAAM,IAAI,qBAAqB,CAErC;IAED,OAAO,IAAI,MAAM,CAEhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;MAMR;CACF"}
|
|
@@ -1,19 +1,14 @@
|
|
|
1
|
+
import { CheckpointProposalHash } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
|
-
import {
|
|
3
|
-
import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
3
|
+
import { normalizeSignature } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
4
4
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
5
5
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
6
|
import { z } from 'zod';
|
|
7
7
|
import { CheckpointProposal } from './checkpoint_proposal.js';
|
|
8
8
|
import { ConsensusPayload } from './consensus_payload.js';
|
|
9
9
|
import { Gossipable } from './gossipable.js';
|
|
10
|
-
import {
|
|
10
|
+
import { recoverCoordinationSigner } from './signature_utils.js';
|
|
11
11
|
import { TopicType } from './topic_type.js';
|
|
12
|
-
export class CheckpointAttestationHash extends Buffer32 {
|
|
13
|
-
constructor(hash){
|
|
14
|
-
super(hash);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
12
|
/**
|
|
18
13
|
* CheckpointAttestation
|
|
19
14
|
*
|
|
@@ -24,10 +19,10 @@ export class CheckpointAttestationHash extends Buffer32 {
|
|
|
24
19
|
signature;
|
|
25
20
|
proposerSignature;
|
|
26
21
|
static p2pTopic = TopicType.checkpoint_attestation;
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
cachedSender;
|
|
23
|
+
cachedProposer;
|
|
29
24
|
constructor(/** The payload of the message, and what the signature is over */ payload, /** The signature of the checkpoint attester */ signature, /** The signature from the checkpoint proposer */ proposerSignature){
|
|
30
|
-
super(), this.payload = payload, this.signature = signature, this.proposerSignature = proposerSignature;
|
|
25
|
+
super(), this.payload = payload, this.signature = signature, this.proposerSignature = proposerSignature, this.cachedSender = undefined, this.cachedProposer = undefined;
|
|
31
26
|
}
|
|
32
27
|
static get schema() {
|
|
33
28
|
return z.object({
|
|
@@ -37,7 +32,7 @@ export class CheckpointAttestationHash extends Buffer32 {
|
|
|
37
32
|
}).transform((obj)=>new CheckpointAttestation(obj.payload, obj.signature, obj.proposerSignature));
|
|
38
33
|
}
|
|
39
34
|
generateP2PMessageIdentifier() {
|
|
40
|
-
return Promise.resolve(new
|
|
35
|
+
return Promise.resolve(new Buffer32(this.payload.getPayloadHash()));
|
|
41
36
|
}
|
|
42
37
|
get archive() {
|
|
43
38
|
return this.payload.archive;
|
|
@@ -45,34 +40,48 @@ export class CheckpointAttestationHash extends Buffer32 {
|
|
|
45
40
|
get slotNumber() {
|
|
46
41
|
return this.payload.header.slotNumber;
|
|
47
42
|
}
|
|
43
|
+
get signatureContext() {
|
|
44
|
+
return this.payload.signatureContext;
|
|
45
|
+
}
|
|
48
46
|
/**
|
|
49
47
|
* Lazily evaluate and cache the signer of the attestation
|
|
50
48
|
* @returns The signer of the attestation, or undefined if signature recovery fails
|
|
51
49
|
*/ getSender() {
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
const hashed = getHashedSignaturePayloadEthSignedMessage(this.payload, SignatureDomainSeparator.checkpointAttestation);
|
|
55
|
-
// Cache the sender for later use
|
|
56
|
-
this.sender = tryRecoverAddress(hashed, this.signature);
|
|
50
|
+
if (this.cachedSender === undefined) {
|
|
51
|
+
this.cachedSender = recoverCoordinationSigner(this.payload, this.signature) ?? null;
|
|
57
52
|
}
|
|
58
|
-
return this.
|
|
53
|
+
return this.cachedSender ?? undefined;
|
|
59
54
|
}
|
|
60
55
|
/**
|
|
61
56
|
* Lazily evaluate and cache the proposer of the checkpoint
|
|
62
57
|
* @returns The proposer of the checkpoint
|
|
63
58
|
*/ getProposer() {
|
|
64
|
-
if (
|
|
59
|
+
if (this.cachedProposer === undefined) {
|
|
65
60
|
// Create a temporary CheckpointProposal to recover the proposer address.
|
|
66
61
|
// We need to use CheckpointProposal because it has a different getPayloadToSign()
|
|
67
62
|
// implementation than ConsensusPayload (uses serializeToBuffer vs ABI encoding).
|
|
68
|
-
const proposal = new CheckpointProposal(this.payload.header, this.payload.archive, this.payload.feeAssetPriceModifier, this.proposerSignature);
|
|
69
|
-
|
|
70
|
-
this.proposer = proposal.getSender();
|
|
63
|
+
const proposal = new CheckpointProposal(this.payload.header, this.payload.archive, this.payload.feeAssetPriceModifier, this.proposerSignature, this.payload.signatureContext);
|
|
64
|
+
this.cachedProposer = proposal.getSender() ?? null;
|
|
71
65
|
}
|
|
72
|
-
return this.
|
|
66
|
+
return this.cachedProposer ?? undefined;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Returns a copy with the attester signature canonicalized to v ∈ {27, 28}. Callers store attestations
|
|
70
|
+
* received from gossip verbatim; normalizing on ingress keeps a signature emitted in yParity form
|
|
71
|
+
* (v = 0/1) — whether by a malicious committee member or a peer mutating the byte in flight — from
|
|
72
|
+
* reaching the L1 bundle in a non-canonical form. Must only be called once the signature has recovered
|
|
73
|
+
* a sender (so it is non-empty and low-s); `normalizeSignature` throws on an all-zero signature.
|
|
74
|
+
*/ withNormalizedSignature() {
|
|
75
|
+
return new CheckpointAttestation(this.payload, normalizeSignature(this.signature), this.proposerSignature);
|
|
73
76
|
}
|
|
74
77
|
getPayload() {
|
|
75
|
-
return this.payload.getPayloadToSign(
|
|
78
|
+
return this.payload.getPayloadToSign();
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Returns a keccak256 hash of the signed consensus payload.
|
|
82
|
+
* Used to dedup distinct signed payloads. Returns same hash than the corresponding proposal.
|
|
83
|
+
*/ getPayloadHash() {
|
|
84
|
+
return CheckpointProposalHash.fromBuffer(this.payload.getPayloadHash());
|
|
76
85
|
}
|
|
77
86
|
toBuffer() {
|
|
78
87
|
return serializeToBuffer([
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { type CheckpointNumber, CheckpointProposalHash, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { type BaseBuffer32 } from '@aztec/foundation/buffer';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
5
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
6
6
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
7
|
+
import type { TypedDataDefinition } from 'viem';
|
|
7
8
|
import type { L2BlockInfo } from '../block/l2_block_info.js';
|
|
8
9
|
import { type SigningContext } from '../ha-signing/index.js';
|
|
9
10
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
@@ -11,13 +12,12 @@ import { BlockHeader } from '../tx/block_header.js';
|
|
|
11
12
|
import { TxHash } from '../tx/index.js';
|
|
12
13
|
import type { Tx } from '../tx/tx.js';
|
|
13
14
|
import { BlockProposal } from './block_proposal.js';
|
|
15
|
+
import { ConsensusPayload } from './consensus_payload.js';
|
|
14
16
|
import { Gossipable } from './gossipable.js';
|
|
15
|
-
import {
|
|
17
|
+
import { type CoordinationSignatureContext, type CoordinationSignatureType, type Signable } from './signature_utils.js';
|
|
16
18
|
import { SignedTxs } from './signed_txs.js';
|
|
17
19
|
import { TopicType } from './topic_type.js';
|
|
18
|
-
export
|
|
19
|
-
constructor(hash: Buffer);
|
|
20
|
-
}
|
|
20
|
+
export type { CheckpointProposalHash } from '@aztec/foundation/branded-types';
|
|
21
21
|
export type CheckpointProposalOptions = {
|
|
22
22
|
/**
|
|
23
23
|
* Whether to include the tx objects along with the block proposal.
|
|
@@ -53,7 +53,7 @@ export type CheckpointLastBlock = Omit<CheckpointLastBlockData, 'txs'> & {
|
|
|
53
53
|
* It includes the aggregated checkpoint header that validators will attest to, plus optionally
|
|
54
54
|
* the last block's info for nodes to re-execute. This marks the completion of a slot's worth of blocks.
|
|
55
55
|
*/
|
|
56
|
-
export declare class CheckpointProposal extends Gossipable {
|
|
56
|
+
export declare class CheckpointProposal extends Gossipable implements Signable {
|
|
57
57
|
/** The aggregated checkpoint header for consensus */
|
|
58
58
|
readonly checkpointHeader: CheckpointHeader;
|
|
59
59
|
/** Archive root after this checkpoint is applied */
|
|
@@ -62,10 +62,13 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
62
62
|
readonly feeAssetPriceModifier: bigint;
|
|
63
63
|
/** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */
|
|
64
64
|
readonly signature: Signature;
|
|
65
|
+
/** The signing domain (chainId + rollupAddress) the signature is bound to */
|
|
66
|
+
readonly signatureContext: CoordinationSignatureContext;
|
|
65
67
|
/** Optional last block info, including its own signature for BlockProposal extraction */
|
|
66
|
-
readonly lastBlock?: CheckpointLastBlock | undefined;
|
|
68
|
+
readonly lastBlock?: BlockProposal | CheckpointLastBlock | undefined;
|
|
67
69
|
static p2pTopic: TopicType;
|
|
68
|
-
|
|
70
|
+
readonly primaryType: CoordinationSignatureType;
|
|
71
|
+
private cachedSender;
|
|
69
72
|
constructor(
|
|
70
73
|
/** The aggregated checkpoint header for consensus */
|
|
71
74
|
checkpointHeader: CheckpointHeader,
|
|
@@ -75,9 +78,11 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
75
78
|
feeAssetPriceModifier: bigint,
|
|
76
79
|
/** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */
|
|
77
80
|
signature: Signature,
|
|
81
|
+
/** The signing domain (chainId + rollupAddress) the signature is bound to */
|
|
82
|
+
signatureContext: CoordinationSignatureContext,
|
|
78
83
|
/** Optional last block info, including its own signature for BlockProposal extraction */
|
|
79
|
-
lastBlock?: CheckpointLastBlock | undefined);
|
|
80
|
-
generateP2PMessageIdentifier(): Promise<
|
|
84
|
+
lastBlock?: BlockProposal | CheckpointLastBlock | undefined);
|
|
85
|
+
generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
|
|
81
86
|
get slotNumber(): SlotNumber;
|
|
82
87
|
/**
|
|
83
88
|
* Extract a BlockProposal from the last block info.
|
|
@@ -88,7 +93,7 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
88
93
|
toCheckpointInfo(): {
|
|
89
94
|
slotNumber: SlotNumber;
|
|
90
95
|
archive: Fr;
|
|
91
|
-
lastBlockNumber: BlockNumber | undefined;
|
|
96
|
+
lastBlockNumber: import("@aztec/foundation/branded-types").BlockNumber | undefined;
|
|
92
97
|
lastBlockIndex: IndexWithinCheckpoint | undefined;
|
|
93
98
|
blockHeadersHash: Fr;
|
|
94
99
|
};
|
|
@@ -96,8 +101,20 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
96
101
|
* Get the payload to sign for this checkpoint proposal.
|
|
97
102
|
* The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
|
|
98
103
|
*/
|
|
99
|
-
getPayloadToSign(
|
|
100
|
-
|
|
104
|
+
getPayloadToSign(): Buffer;
|
|
105
|
+
/**
|
|
106
|
+
* Returns a content-addressed keccak256 hash of the consensus payload
|
|
107
|
+
* (header + archive + feeAssetPriceModifier + signatureContext).
|
|
108
|
+
*
|
|
109
|
+
* Used by the attestation pool to dedup distinct signed payloads at the same slot
|
|
110
|
+
* regardless of archive/header collisions on `feeAssetPriceModifier` variants.
|
|
111
|
+
* The hash deliberately excludes the signature so non-deterministic ECDSA
|
|
112
|
+
* re-signs of the same payload do not look like equivocation.
|
|
113
|
+
*/
|
|
114
|
+
getPayloadHash(): CheckpointProposalHash;
|
|
115
|
+
/** Returns the ConsensusPayload that an attester would sign for this proposal. */
|
|
116
|
+
toConsensusPayload(): ConsensusPayload;
|
|
117
|
+
static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, checkpointNumber: CheckpointNumber, feeAssetPriceModifier: bigint, lastBlockProposal: BlockProposal | undefined, signatureContext: CoordinationSignatureContext, payloadSigner: (typedData: TypedDataDefinition, context: SigningContext) => Promise<Signature>): Promise<CheckpointProposal>;
|
|
101
118
|
/**
|
|
102
119
|
* Lazily evaluate the sender of the proposal; result is cached.
|
|
103
120
|
* If there's a lastBlock, also verifies the block proposal sender matches the checkpoint sender.
|
|
@@ -126,10 +143,13 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
126
143
|
feePerL2Gas: bigint;
|
|
127
144
|
};
|
|
128
145
|
totalManaUsed: bigint;
|
|
146
|
+
accumulatedFees: bigint;
|
|
129
147
|
};
|
|
130
148
|
archive: `0x${string}`;
|
|
131
149
|
signature: `0x${string}`;
|
|
132
150
|
feeAssetPriceModifier: string;
|
|
151
|
+
chainId: number;
|
|
152
|
+
rollupAddress: `0x${string}`;
|
|
133
153
|
lastBlock: {
|
|
134
154
|
blockHeader: {
|
|
135
155
|
lastArchive: `0x${string}`;
|
|
@@ -143,7 +163,7 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
143
163
|
globalVariables: {
|
|
144
164
|
chainId: number;
|
|
145
165
|
version: number;
|
|
146
|
-
blockNumber: BlockNumber;
|
|
166
|
+
blockNumber: import("@aztec/foundation/branded-types").BlockNumber;
|
|
147
167
|
slotNumber: SlotNumber;
|
|
148
168
|
timestamp: bigint;
|
|
149
169
|
coinbase: `0x${string}`;
|
|
@@ -171,4 +191,4 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
171
191
|
* This type makes it clear that lastBlock and getBlockProposal() are not available.
|
|
172
192
|
*/
|
|
173
193
|
export type CheckpointProposalCore = Omit<CheckpointProposal, 'lastBlock' | 'getBlockProposal' | 'toCore'>;
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQUNyQixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDWCxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CheckpointProposalHash, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
3
|
-
import { keccak256 } from '@aztec/foundation/crypto/keccak';
|
|
4
|
-
import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
5
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
4
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
7
5
|
import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
@@ -11,16 +9,11 @@ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
|
11
9
|
import { BlockHeader } from '../tx/block_header.js';
|
|
12
10
|
import { TxHash } from '../tx/index.js';
|
|
13
11
|
import { BlockProposal } from './block_proposal.js';
|
|
12
|
+
import { ConsensusPayload } from './consensus_payload.js';
|
|
14
13
|
import { Gossipable } from './gossipable.js';
|
|
15
|
-
import {
|
|
14
|
+
import { EMPTY_COORDINATION_SIGNATURE_CONTEXT, coordinationSignatureContextEquals, getCoordinationSignatureTypedData, readCoordinationSignatureContext, recoverCoordinationSigner, serializeCoordinationSignatureContext } from './signature_utils.js';
|
|
16
15
|
import { SignedTxs } from './signed_txs.js';
|
|
17
16
|
import { TopicType } from './topic_type.js';
|
|
18
|
-
// REFACTOR(palla): Use a branded type instead of a subclass of Buffer32
|
|
19
|
-
export class CheckpointProposalHash extends Buffer32 {
|
|
20
|
-
constructor(hash){
|
|
21
|
-
super(hash);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
17
|
/**
|
|
25
18
|
* A checkpoint proposal is created by the leader of the chain for the last block in a checkpoint.
|
|
26
19
|
* It includes the aggregated checkpoint header that validators will attest to, plus optionally
|
|
@@ -30,14 +23,26 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
30
23
|
archive;
|
|
31
24
|
feeAssetPriceModifier;
|
|
32
25
|
signature;
|
|
26
|
+
signatureContext;
|
|
33
27
|
lastBlock;
|
|
34
28
|
static p2pTopic = TopicType.checkpoint_proposal;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
primaryType;
|
|
30
|
+
cachedSender;
|
|
31
|
+
constructor(/** The aggregated checkpoint header for consensus */ checkpointHeader, /** Archive root after this checkpoint is applied */ archive, /** The fee asset price modifier in basis points (from oracle) */ feeAssetPriceModifier, /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */ signature, /** The signing domain (chainId + rollupAddress) the signature is bound to */ signatureContext, /** Optional last block info, including its own signature for BlockProposal extraction */ lastBlock){
|
|
32
|
+
super(), this.checkpointHeader = checkpointHeader, this.archive = archive, this.feeAssetPriceModifier = feeAssetPriceModifier, this.signature = signature, this.signatureContext = signatureContext, this.lastBlock = lastBlock, this.primaryType = 'CheckpointProposal', this.cachedSender = undefined;
|
|
33
|
+
// Check that last block properties match those of the checkpoint.
|
|
34
|
+
if (lastBlock && 'inHash' in lastBlock && !lastBlock.inHash.equals(checkpointHeader.inHash)) {
|
|
35
|
+
throw new Error(`CheckpointProposal lastBlock inHash ${lastBlock.inHash} does not match checkpoint inHash ${checkpointHeader.inHash}`);
|
|
36
|
+
}
|
|
37
|
+
if (lastBlock && 'archiveRoot' in lastBlock && !lastBlock.archiveRoot.equals(archive)) {
|
|
38
|
+
throw new Error(`CheckpointProposal lastBlock archive ${lastBlock.archiveRoot} does not match checkpoint archive ${archive}`);
|
|
39
|
+
}
|
|
40
|
+
if (lastBlock && 'signatureContext' in lastBlock && !coordinationSignatureContextEquals(lastBlock.signatureContext, signatureContext)) {
|
|
41
|
+
throw new Error(`CheckpointProposal lastBlock signatureContext does not match checkpoint signatureContext`);
|
|
42
|
+
}
|
|
38
43
|
}
|
|
39
44
|
generateP2PMessageIdentifier() {
|
|
40
|
-
return Promise.resolve(new
|
|
45
|
+
return Promise.resolve(new Buffer32(this.toConsensusPayload().getPayloadHash()));
|
|
41
46
|
}
|
|
42
47
|
get slotNumber() {
|
|
43
48
|
return this.checkpointHeader.slotNumber;
|
|
@@ -49,7 +54,7 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
49
54
|
if (!this.lastBlock) {
|
|
50
55
|
return undefined;
|
|
51
56
|
}
|
|
52
|
-
return new BlockProposal(this.lastBlock.blockHeader, this.lastBlock.indexWithinCheckpoint, this.checkpointHeader.inHash, this.archive, this.lastBlock.txHashes, this.lastBlock.signature, this.lastBlock.signedTxs);
|
|
57
|
+
return new BlockProposal(this.lastBlock.blockHeader, this.lastBlock.indexWithinCheckpoint, this.checkpointHeader.inHash, this.archive, this.lastBlock.txHashes, this.lastBlock.signature, this.signatureContext, this.lastBlock.signedTxs);
|
|
53
58
|
}
|
|
54
59
|
toBlockInfo() {
|
|
55
60
|
if (!this.lastBlock) {
|
|
@@ -75,68 +80,68 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
75
80
|
/**
|
|
76
81
|
* Get the payload to sign for this checkpoint proposal.
|
|
77
82
|
* The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
|
|
78
|
-
*/ getPayloadToSign(
|
|
83
|
+
*/ getPayloadToSign() {
|
|
79
84
|
return serializeToBuffer([
|
|
80
|
-
domainSeparator,
|
|
81
85
|
this.checkpointHeader,
|
|
82
86
|
this.archive,
|
|
83
87
|
serializeSignedBigInt(this.feeAssetPriceModifier)
|
|
84
88
|
]);
|
|
85
89
|
}
|
|
86
|
-
|
|
90
|
+
/**
|
|
91
|
+
* Returns a content-addressed keccak256 hash of the consensus payload
|
|
92
|
+
* (header + archive + feeAssetPriceModifier + signatureContext).
|
|
93
|
+
*
|
|
94
|
+
* Used by the attestation pool to dedup distinct signed payloads at the same slot
|
|
95
|
+
* regardless of archive/header collisions on `feeAssetPriceModifier` variants.
|
|
96
|
+
* The hash deliberately excludes the signature so non-deterministic ECDSA
|
|
97
|
+
* re-signs of the same payload do not look like equivocation.
|
|
98
|
+
*/ getPayloadHash() {
|
|
99
|
+
return CheckpointProposalHash.fromBuffer(this.toConsensusPayload().getPayloadHash());
|
|
100
|
+
}
|
|
101
|
+
/** Returns the ConsensusPayload that an attester would sign for this proposal. */ toConsensusPayload() {
|
|
102
|
+
return new ConsensusPayload(this.checkpointHeader, this.archive, this.feeAssetPriceModifier, this.signatureContext);
|
|
103
|
+
}
|
|
104
|
+
static async createProposalFromSigner(checkpointHeader, archiveRoot, checkpointNumber, feeAssetPriceModifier, lastBlockProposal, signatureContext, payloadSigner) {
|
|
87
105
|
// Sign the checkpoint payload with CHECKPOINT_PROPOSAL duty type
|
|
88
|
-
const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, Signature.empty());
|
|
89
|
-
const checkpointHash = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.checkpointProposal);
|
|
106
|
+
const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, Signature.empty(), signatureContext);
|
|
90
107
|
const checkpointContext = {
|
|
91
108
|
slot: checkpointHeader.slotNumber,
|
|
92
|
-
|
|
109
|
+
checkpointNumber,
|
|
93
110
|
dutyType: DutyType.CHECKPOINT_PROPOSAL
|
|
94
111
|
};
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
|
|
99
|
-
return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature, {
|
|
100
|
-
blockHeader: lastBlockInfo.blockHeader,
|
|
101
|
-
indexWithinCheckpoint: lastBlockInfo.indexWithinCheckpoint,
|
|
102
|
-
txHashes: lastBlockInfo.txHashes,
|
|
103
|
-
signature: lastBlockProposal.signature,
|
|
104
|
-
signedTxs: lastBlockProposal.signedTxs
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
|
|
108
|
-
return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature);
|
|
112
|
+
const typedData = getCoordinationSignatureTypedData(tempProposal);
|
|
113
|
+
const checkpointSignature = await payloadSigner(typedData, checkpointContext);
|
|
114
|
+
return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature, signatureContext, lastBlockProposal);
|
|
109
115
|
}
|
|
110
116
|
/**
|
|
111
117
|
* Lazily evaluate the sender of the proposal; result is cached.
|
|
112
118
|
* If there's a lastBlock, also verifies the block proposal sender matches the checkpoint sender.
|
|
113
119
|
* @returns The sender address, or undefined if signature recovery fails or senders don't match
|
|
114
120
|
*/ getSender() {
|
|
115
|
-
if (
|
|
116
|
-
const
|
|
117
|
-
const checkpointSender = tryRecoverAddress(hashed, this.signature);
|
|
118
|
-
// If there's a lastBlock, verify the block proposal sender matches
|
|
121
|
+
if (this.cachedSender === undefined) {
|
|
122
|
+
const checkpointSender = recoverCoordinationSigner(this, this.signature);
|
|
119
123
|
if (checkpointSender && this.lastBlock) {
|
|
120
124
|
const blockProposal = this.getBlockProposal();
|
|
121
125
|
const blockSender = blockProposal?.getSender();
|
|
122
126
|
if (!blockSender || !blockSender.equals(checkpointSender)) {
|
|
123
|
-
|
|
127
|
+
this.cachedSender = null;
|
|
128
|
+
return undefined;
|
|
124
129
|
}
|
|
125
130
|
}
|
|
126
|
-
|
|
127
|
-
this.sender = checkpointSender;
|
|
131
|
+
this.cachedSender = checkpointSender ?? null;
|
|
128
132
|
}
|
|
129
|
-
return this.
|
|
133
|
+
return this.cachedSender ?? undefined;
|
|
130
134
|
}
|
|
131
135
|
getPayload() {
|
|
132
|
-
return this.getPayloadToSign(
|
|
136
|
+
return this.getPayloadToSign();
|
|
133
137
|
}
|
|
134
138
|
toBuffer() {
|
|
135
139
|
const buffer = [
|
|
136
140
|
this.checkpointHeader,
|
|
137
141
|
this.archive,
|
|
138
142
|
serializeSignedBigInt(this.feeAssetPriceModifier),
|
|
139
|
-
this.signature
|
|
143
|
+
this.signature,
|
|
144
|
+
serializeCoordinationSignatureContext(this.signatureContext)
|
|
140
145
|
];
|
|
141
146
|
if (this.lastBlock) {
|
|
142
147
|
buffer.push(1); // hasLastBlock = true
|
|
@@ -162,6 +167,7 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
162
167
|
const archive = reader.readObject(Fr);
|
|
163
168
|
const feeAssetPriceModifier = reader.readInt256();
|
|
164
169
|
const signature = reader.readObject(Signature);
|
|
170
|
+
const signatureContext = readCoordinationSignatureContext(reader);
|
|
165
171
|
const hasLastBlock = reader.readNumber();
|
|
166
172
|
if (hasLastBlock) {
|
|
167
173
|
const blockHeader = reader.readObject(BlockHeader);
|
|
@@ -179,7 +185,7 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
179
185
|
signedTxs = SignedTxs.fromBuffer(reader);
|
|
180
186
|
}
|
|
181
187
|
}
|
|
182
|
-
return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, {
|
|
188
|
+
return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, signatureContext, {
|
|
183
189
|
blockHeader,
|
|
184
190
|
indexWithinCheckpoint,
|
|
185
191
|
txHashes,
|
|
@@ -187,20 +193,20 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
187
193
|
signedTxs
|
|
188
194
|
});
|
|
189
195
|
}
|
|
190
|
-
return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature);
|
|
196
|
+
return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, signatureContext);
|
|
191
197
|
}
|
|
192
198
|
getSize() {
|
|
193
|
-
let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 8 /* feeAssetPriceModifier */ + 4; /* hasLastBlock flag */
|
|
199
|
+
let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 8 /* feeAssetPriceModifier */ + 4 /* chainId */ + 20 /* rollupAddress */ + 4; /* hasLastBlock flag */
|
|
194
200
|
if (this.lastBlock) {
|
|
195
201
|
size += this.lastBlock.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.lastBlock.signature.getSize() + 4 /* txHashes.length */ + this.lastBlock.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.lastBlock.signedTxs ? this.lastBlock.signedTxs.getSize() : 0);
|
|
196
202
|
}
|
|
197
203
|
return size;
|
|
198
204
|
}
|
|
199
205
|
static empty() {
|
|
200
|
-
return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, 0n, Signature.empty());
|
|
206
|
+
return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, 0n, Signature.empty(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
|
|
201
207
|
}
|
|
202
208
|
static random() {
|
|
203
|
-
return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), 0n, Signature.random(), {
|
|
209
|
+
return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), 0n, Signature.random(), EMPTY_COORDINATION_SIGNATURE_CONTEXT, {
|
|
204
210
|
blockHeader: BlockHeader.random(),
|
|
205
211
|
indexWithinCheckpoint: IndexWithinCheckpoint(Math.floor(Math.random() * 5)),
|
|
206
212
|
txHashes: [
|
|
@@ -216,6 +222,8 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
216
222
|
archive: this.archive.toString(),
|
|
217
223
|
signature: this.signature.toString(),
|
|
218
224
|
feeAssetPriceModifier: this.feeAssetPriceModifier.toString(),
|
|
225
|
+
chainId: this.signatureContext.chainId,
|
|
226
|
+
rollupAddress: this.signatureContext.rollupAddress.toString(),
|
|
219
227
|
lastBlock: this.lastBlock ? {
|
|
220
228
|
blockHeader: this.lastBlock.blockHeader.toInspect(),
|
|
221
229
|
indexWithinCheckpoint: this.lastBlock.indexWithinCheckpoint,
|
|
@@ -228,6 +236,6 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
228
236
|
* Returns a copy of this proposal without lastBlock info, as a CheckpointProposalCore.
|
|
229
237
|
* Used when the lastBlock has been extracted and stored separately.
|
|
230
238
|
*/ toCore() {
|
|
231
|
-
return new CheckpointProposal(this.checkpointHeader, this.archive, this.feeAssetPriceModifier, this.signature);
|
|
239
|
+
return new CheckpointProposal(this.checkpointHeader, this.archive, this.feeAssetPriceModifier, this.signature, this.signatureContext);
|
|
232
240
|
}
|
|
233
241
|
}
|
|
@@ -5,7 +5,7 @@ import { z } from 'zod';
|
|
|
5
5
|
import type { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
6
6
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
7
7
|
import type { CheckpointProposal, CheckpointProposalCore } from './checkpoint_proposal.js';
|
|
8
|
-
import type
|
|
8
|
+
import { type CoordinationSignatureContext, type CoordinationSignatureType, type Signable } from './signature_utils.js';
|
|
9
9
|
/** Checkpoint consensus payload as signed by validators and verified on L1. */
|
|
10
10
|
export declare class ConsensusPayload implements Signable {
|
|
11
11
|
/** The proposed block header the attestation is made over */
|
|
@@ -14,6 +14,9 @@ export declare class ConsensusPayload implements Signable {
|
|
|
14
14
|
readonly archive: Fr;
|
|
15
15
|
/** The fee asset price modifier in basis points (from oracle) */
|
|
16
16
|
readonly feeAssetPriceModifier: bigint;
|
|
17
|
+
/** The signing domain (chainId + rollupAddress) the signature is bound to */
|
|
18
|
+
readonly signatureContext: CoordinationSignatureContext;
|
|
19
|
+
readonly primaryType: CoordinationSignatureType;
|
|
17
20
|
private size;
|
|
18
21
|
constructor(
|
|
19
22
|
/** The proposed block header the attestation is made over */
|
|
@@ -21,31 +24,32 @@ export declare class ConsensusPayload implements Signable {
|
|
|
21
24
|
/** The archive root after the block is added */
|
|
22
25
|
archive: Fr,
|
|
23
26
|
/** The fee asset price modifier in basis points (from oracle) */
|
|
24
|
-
feeAssetPriceModifier
|
|
25
|
-
|
|
27
|
+
feeAssetPriceModifier: bigint,
|
|
28
|
+
/** The signing domain (chainId + rollupAddress) the signature is bound to */
|
|
29
|
+
signatureContext: CoordinationSignatureContext);
|
|
30
|
+
static get schema(): z.ZodPipe<z.ZodObject<{
|
|
26
31
|
header: import("@aztec/foundation/schemas").ZodFor<CheckpointHeader>;
|
|
27
|
-
archive: z.ZodType<Fr,
|
|
28
|
-
feeAssetPriceModifier: z.
|
|
29
|
-
|
|
32
|
+
archive: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
|
|
33
|
+
feeAssetPriceModifier: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
|
|
34
|
+
signatureContext: import("@aztec/foundation/schemas").ZodFor<CoordinationSignatureContext>;
|
|
35
|
+
}, z.core.$strip>, z.ZodTransform<ConsensusPayload, {
|
|
30
36
|
header: CheckpointHeader;
|
|
31
37
|
archive: Fr;
|
|
32
38
|
feeAssetPriceModifier: bigint;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
static getFields(fields: FieldsOf<ConsensusPayload>): readonly [CheckpointHeader, Fr, bigint];
|
|
43
|
-
getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
|
|
39
|
+
signatureContext: CoordinationSignatureContext;
|
|
40
|
+
}>>;
|
|
41
|
+
static getFields(fields: Omit<FieldsOf<ConsensusPayload>, 'primaryType'>): readonly [CheckpointHeader, Fr, bigint, CoordinationSignatureContext];
|
|
42
|
+
getPayloadToSign(): Buffer;
|
|
43
|
+
/**
|
|
44
|
+
* Returns a keccak256 hash of the signed payload (header + archive + feeAssetPriceModifier).
|
|
45
|
+
* Used by the attestation pool to dedup distinct signed payloads.
|
|
46
|
+
*/
|
|
47
|
+
getPayloadHash(): Buffer;
|
|
44
48
|
toBuffer(): Buffer;
|
|
45
49
|
equals(other: ConsensusPayload | CheckpointProposal | CheckpointProposalCore): boolean;
|
|
46
50
|
static fromBuffer(buf: Buffer | BufferReader): ConsensusPayload;
|
|
47
|
-
static fromFields(fields: FieldsOf<ConsensusPayload>): ConsensusPayload;
|
|
48
|
-
static fromCheckpoint(checkpoint: Checkpoint): ConsensusPayload;
|
|
51
|
+
static fromFields(fields: Omit<FieldsOf<ConsensusPayload>, 'primaryType'>): ConsensusPayload;
|
|
52
|
+
static fromCheckpoint(checkpoint: Checkpoint, signatureContext: CoordinationSignatureContext): ConsensusPayload;
|
|
49
53
|
static empty(): ConsensusPayload;
|
|
50
54
|
static random(): ConsensusPayload;
|
|
51
55
|
/**
|
|
@@ -69,10 +73,13 @@ export declare class ConsensusPayload implements Signable {
|
|
|
69
73
|
feePerL2Gas: bigint;
|
|
70
74
|
};
|
|
71
75
|
totalManaUsed: bigint;
|
|
76
|
+
accumulatedFees: bigint;
|
|
72
77
|
};
|
|
73
78
|
archive: `0x${string}`;
|
|
74
79
|
feeAssetPriceModifier: string;
|
|
80
|
+
chainId: number;
|
|
81
|
+
rollupAddress: `0x${string}`;
|
|
75
82
|
};
|
|
76
83
|
toString(): string;
|
|
77
84
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2Vuc3VzX3BheWxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY29uc2Vuc3VzX3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQTRDLE1BQU0sNkJBQTZCLENBQUM7QUFFckcsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNGLE9BQU8sRUFDTCxLQUFLLDRCQUE0QixFQUNqQyxLQUFLLHlCQUF5QixFQUU5QixLQUFLLFFBQVEsRUFLZCxNQUFNLHNCQUFzQixDQUFDO0FBRTlCLCtFQUErRTtBQUMvRSxxQkFBYSxnQkFBaUIsWUFBVyxRQUFRO0lBTTdDLDZEQUE2RDthQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hDLGdEQUFnRDthQUNoQyxPQUFPLEVBQUUsRUFBRTtJQUMzQixpRUFBaUU7YUFDakQscUJBQXFCLEVBQUUsTUFBTTtJQUM3Qyw2RUFBNkU7YUFDN0QsZ0JBQWdCLEVBQUUsNEJBQTRCO0lBWmhFLFFBQVEsQ0FBQyxXQUFXLEVBQUUseUJBQXlCLENBQTJCO0lBRTFFLE9BQU8sQ0FBQyxJQUFJLENBQXFCO0lBRWpDO0lBQ0UsNkRBQTZEO0lBQzdDLE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEMsZ0RBQWdEO0lBQ2hDLE9BQU8sRUFBRSxFQUFFO0lBQzNCLGlFQUFpRTtJQUNqRCxxQkFBcUIsRUFBRSxNQUFNO0lBQzdDLDZFQUE2RTtJQUM3RCxnQkFBZ0IsRUFBRSw0QkFBNEIsRUFDNUQ7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7OztRQVNoQjtJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxhQUFhLENBQUMseUVBRXZFO0lBRUQsZ0JBQWdCLElBQUksTUFBTSxDQWN6QjtJQUVEOzs7T0FHRztJQUNILGNBQWMsSUFBSSxNQUFNLENBRXZCO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FPakI7SUFFTSxNQUFNLENBQUMsS0FBSyxFQUFFLGdCQUFnQixHQUFHLGtCQUFrQixHQUFHLHNCQUFzQixHQUFHLE9BQU8sQ0FTNUY7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGdCQUFnQixDQU85RDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxhQUFhLENBQUMsR0FBRyxnQkFBZ0IsQ0FFM0Y7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQTRCLEdBQUcsZ0JBQWdCLENBTzlHO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxnQkFBZ0IsQ0FFL0I7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLGdCQUFnQixDQUVoQztJQUVEOzs7T0FHRztJQUNILE9BQU8sSUFBSSxNQUFNLENBT2hCO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQVFSO0lBRUQsUUFBUSxXQUVQO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consensus_payload.d.ts","sourceRoot":"","sources":["../../src/p2p/consensus_payload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"consensus_payload.d.ts","sourceRoot":"","sources":["../../src/p2p/consensus_payload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAA4C,MAAM,6BAA6B,CAAC;AAErG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAE9B,KAAK,QAAQ,EAKd,MAAM,sBAAsB,CAAC;AAE9B,+EAA+E;AAC/E,qBAAa,gBAAiB,YAAW,QAAQ;IAM7C,6DAA6D;aAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;aAChC,OAAO,EAAE,EAAE;IAC3B,iEAAiE;aACjD,qBAAqB,EAAE,MAAM;IAC7C,6EAA6E;aAC7D,gBAAgB,EAAE,4BAA4B;IAZhE,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAA2B;IAE1E,OAAO,CAAC,IAAI,CAAqB;IAEjC;IACE,6DAA6D;IAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;IAChC,OAAO,EAAE,EAAE;IAC3B,iEAAiE;IACjD,qBAAqB,EAAE,MAAM;IAC7C,6EAA6E;IAC7D,gBAAgB,EAAE,4BAA4B,EAC5D;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;QAShB;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,aAAa,CAAC,yEAEvE;IAED,gBAAgB,IAAI,MAAM,CAczB;IAED;;;OAGG;IACH,cAAc,IAAI,MAAM,CAEvB;IAED,QAAQ,IAAI,MAAM,CAOjB;IAEM,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,OAAO,CAS5F;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAO9D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,aAAa,CAAC,GAAG,gBAAgB,CAE3F;IAED,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,4BAA4B,GAAG,gBAAgB,CAO9G;IAED,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAE/B;IAED,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAEhC;IAED;;;OAGG;IACH,OAAO,IAAI,MAAM,CAOhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;MAQR;IAED,QAAQ,WAEP;CACF"}
|