@aztec/stdlib 0.0.1-commit.ee80a48 → 0.0.1-commit.f103f88
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 +138 -1
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +10 -2
- package/dest/abi/authorization_selector.d.ts +3 -6
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/buffer.d.ts +14 -4
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +25 -4
- package/dest/abi/decoder.d.ts +6 -45
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +17 -70
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +37 -6
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/event_selector.d.ts +3 -6
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +39 -9
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +20 -3
- package/dest/abi/function_selector.d.ts +3 -6
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +2 -4
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/note_selector.d.ts +3 -6
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +1 -3
- package/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +1 -1
- package/dest/abi/utils.d.ts +14 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +15 -0
- package/dest/auth_witness/auth_witness.js +3 -3
- package/dest/avm/avm.d.ts +300 -300
- package/dest/avm/avm_proving_request.d.ts +166 -166
- package/dest/avm/revert_code.d.ts +9 -4
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +16 -21
- package/dest/aztec-address/index.d.ts +3 -6
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +2 -4
- package/dest/block/block_data.d.ts +52 -0
- package/dest/block/block_data.d.ts.map +1 -0
- package/dest/block/block_data.js +12 -0
- package/dest/block/block_hash.d.ts +11 -10
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +10 -9
- package/dest/block/in_block.js +1 -1
- package/dest/block/index.d.ts +2 -1
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -0
- package/dest/block/l2_block.d.ts +9 -1
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +12 -2
- package/dest/block/l2_block_info.d.ts +6 -5
- 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 +113 -9
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_store_base.js +18 -5
- 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 +4 -3
- package/dest/checkpoint/checkpoint.d.ts +28 -7
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +41 -17
- package/dest/checkpoint/checkpoint_data.d.ts +186 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +36 -0
- package/dest/checkpoint/index.d.ts +3 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +2 -0
- package/dest/checkpoint/published_checkpoint.d.ts +17 -2
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +1 -2
- package/dest/checkpoint/validate.d.ts +36 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +120 -0
- package/dest/config/chain-config.d.ts +1 -1
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +7 -1
- package/dest/config/index.d.ts +3 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +2 -0
- package/dest/config/pipelining-config.d.ts +19 -0
- package/dest/config/pipelining-config.d.ts.map +1 -0
- package/dest/config/pipelining-config.js +18 -0
- package/dest/config/sequencer-config.d.ts +12 -0
- package/dest/config/sequencer-config.d.ts.map +1 -0
- package/dest/config/sequencer-config.js +31 -0
- package/dest/contract/contract_address.d.ts +3 -3
- package/dest/contract/contract_address.js +7 -7
- package/dest/contract/contract_class.d.ts +2 -3
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class_id.d.ts +3 -3
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +7 -6
- package/dest/contract/index.d.ts +1 -3
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -2
- package/dest/contract/interfaces/contract_class.d.ts +3 -156
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +1 -28
- package/dest/contract/interfaces/node-info.d.ts +3 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +2 -1
- package/dest/contract/private_function.js +2 -2
- package/dest/epoch-helpers/index.d.ts +15 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +18 -2
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +2 -2
- package/dest/file-store/http.d.ts +9 -2
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +20 -9
- package/dest/file-store/index.d.ts +2 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/file-store/local.d.ts +3 -3
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/local.js +13 -4
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +11 -3
- package/dest/gas/fee_math.d.ts +49 -0
- package/dest/gas/fee_math.d.ts.map +1 -0
- package/dest/gas/fee_math.js +80 -0
- package/dest/gas/gas_fees.d.ts +1 -1
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +13 -1
- package/dest/gas/gas_settings.d.ts +40 -3
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +50 -6
- package/dest/gas/index.d.ts +2 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +1 -0
- package/dest/ha-signing/config.d.ts +136 -0
- package/dest/ha-signing/config.d.ts.map +1 -0
- package/dest/ha-signing/config.js +97 -0
- package/dest/ha-signing/index.d.ts +4 -0
- package/dest/ha-signing/index.d.ts.map +1 -0
- package/dest/ha-signing/index.js +3 -0
- package/dest/ha-signing/local_config.d.ts +63 -0
- package/dest/ha-signing/local_config.d.ts.map +1 -0
- package/dest/ha-signing/local_config.js +24 -0
- package/dest/ha-signing/types.d.ts +90 -0
- package/dest/ha-signing/types.d.ts.map +1 -0
- package/dest/ha-signing/types.js +39 -0
- package/dest/hash/hash.d.ts +20 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +45 -10
- package/dest/hash/map_slot.js +2 -2
- package/dest/interfaces/allowed_element.d.ts +26 -20
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +8 -8
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +10 -2
- package/dest/interfaces/aztec-node-admin.d.ts +123 -44
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +12 -6
- package/dest/interfaces/aztec-node-debug.d.ts +21 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +18 -0
- package/dest/interfaces/aztec-node.d.ts +22 -7
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +7 -2
- package/dest/interfaces/block-builder.d.ts +39 -12
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +13 -6
- package/dest/interfaces/client.d.ts +2 -1
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +1 -0
- package/dest/interfaces/configs.d.ts +77 -32
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +10 -3
- package/dest/interfaces/get_logs_response.d.ts +8 -1
- package/dest/interfaces/get_logs_response.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.d.ts +5 -3
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +4 -9
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.d.ts +16 -1
- package/dest/interfaces/prover-broker.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.js +4 -1
- package/dest/interfaces/prover-client.d.ts +11 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +12 -4
- package/dest/interfaces/proving-job.d.ts +36 -36
- package/dest/interfaces/slasher.d.ts +9 -10
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +2 -2
- package/dest/interfaces/validator.d.ts +131 -60
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +11 -5
- package/dest/interfaces/world_state.d.ts +5 -4
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
- package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +9 -3
- package/dest/kernel/hints/index.d.ts +2 -2
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
- package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +16 -16
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
- 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 -7
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
- 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 -7
- package/dest/kernel/private_validation_requests.d.ts +3 -3
- package/dest/kernel/private_validation_requests.js +9 -9
- package/dest/keys/derivation.js +8 -8
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- package/dest/keys/public_keys.js +2 -2
- package/dest/keys/utils.js +5 -5
- package/dest/kv-store/config.d.ts +17 -0
- package/dest/kv-store/config.d.ts.map +1 -0
- package/dest/kv-store/config.js +26 -0
- package/dest/kv-store/index.d.ts +2 -0
- package/dest/kv-store/index.d.ts.map +1 -0
- package/dest/kv-store/index.js +1 -0
- package/dest/l1-contracts/index.d.ts +2 -2
- package/dest/l1-contracts/index.d.ts.map +1 -1
- package/dest/l1-contracts/index.js +1 -1
- package/dest/logs/debug_log_store.d.ts +30 -0
- package/dest/logs/debug_log_store.d.ts.map +1 -0
- package/dest/logs/debug_log_store.js +30 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +35 -20
- package/dest/logs/extended_public_log.d.ts +7 -1
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +4 -2
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +3 -1
- package/dest/logs/log_filter.d.ts +4 -1
- package/dest/logs/log_filter.d.ts.map +1 -1
- package/dest/logs/log_filter.js +2 -1
- package/dest/logs/log_id.d.ts +10 -7
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +16 -15
- package/dest/logs/message_context.d.ts +4 -7
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +23 -9
- package/dest/logs/pending_tagged_log.d.ts +2 -3
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +2 -2
- package/dest/logs/pre_tag.d.ts +16 -11
- 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 +2 -2
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/public_log.d.ts +4 -3
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +2 -1
- package/dest/logs/shared_secret_derivation.d.ts +11 -10
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +15 -9
- package/dest/logs/siloed_tag.d.ts +12 -9
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +16 -7
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +5 -1
- package/dest/logs/tagging_index_range.d.ts +40 -0
- package/dest/logs/tagging_index_range.d.ts.map +1 -0
- package/dest/logs/tagging_index_range.js +8 -0
- package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +7 -0
- package/dest/messaging/l1_to_l2_message.d.ts +3 -2
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +11 -13
- package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +72 -29
- package/dest/noir/index.d.ts +3 -3
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/note/index.d.ts +1 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +0 -1
- package/dest/note/note_dao.d.ts +1 -1
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +1 -4
- package/dest/p2p/attestation_utils.d.ts +11 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +45 -0
- package/dest/p2p/block_proposal.d.ts +7 -9
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +6 -13
- package/dest/p2p/checkpoint_attestation.d.ts +5 -6
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +3 -8
- package/dest/p2p/checkpoint_proposal.d.ts +23 -18
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +32 -47
- package/dest/p2p/client_type.d.ts +2 -5
- package/dest/p2p/client_type.d.ts.map +1 -1
- package/dest/p2p/client_type.js +0 -7
- package/dest/p2p/consensus_payload.d.ts +12 -3
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +22 -15
- package/dest/p2p/constants.d.ts +3 -1
- package/dest/p2p/constants.d.ts.map +1 -1
- package/dest/p2p/constants.js +1 -0
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/index.d.ts +1 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +0 -1
- package/dest/p2p/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- package/dest/p2p/topic_type.d.ts +3 -4
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +7 -24
- package/dest/proofs/chonk_proof.d.ts +46 -2
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +85 -10
- package/dest/rollup/checkpoint_header.d.ts +2 -2
- package/dest/rollup/checkpoint_header.js +2 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +3 -3
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +6 -0
- 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 +10 -92
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +13 -15
- package/dest/slashing/{tally.d.ts → votes.d.ts} +8 -2
- package/dest/slashing/votes.d.ts.map +1 -0
- package/dest/slashing/{tally.js → votes.js} +35 -3
- package/dest/tests/factories.d.ts +4 -4
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +32 -41
- package/dest/tests/mocks.d.ts +8 -3
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +44 -39
- package/dest/timetable/index.d.ts +87 -0
- package/dest/timetable/index.d.ts.map +1 -0
- package/dest/timetable/index.js +229 -0
- package/dest/trees/public_data_leaf.d.ts +2 -1
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +7 -6
- package/dest/tx/block_header.d.ts +4 -2
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +7 -3
- package/dest/tx/capsule.d.ts +6 -2
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +9 -3
- package/dest/tx/fee_provider.d.ts +10 -0
- package/dest/tx/fee_provider.d.ts.map +1 -0
- package/dest/tx/fee_provider.js +1 -0
- package/dest/tx/global_variable_builder.d.ts +3 -4
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +4 -4
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -0
- package/dest/tx/indexed_tx_effect.d.ts +1 -1
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +1 -2
- package/dest/tx/private_execution_result.d.ts +6 -6
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -6
- package/dest/tx/profiling.d.ts +17 -5
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +15 -5
- package/dest/tx/protocol_contracts.d.ts +1 -1
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +2 -2
- package/dest/tx/public_simulation_output.d.ts +4 -2
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +7 -3
- package/dest/tx/simulated_tx.d.ts +116 -5
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +7 -4
- package/dest/tx/tx.d.ts +8 -7
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +18 -6
- package/dest/tx/tx_receipt.d.ts +29 -6
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +23 -19
- package/dest/tx/tx_request.js +2 -2
- package/dest/tx/validator/empty_validator.d.ts +2 -2
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +10 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +11 -1
- package/dest/tx/validator/tx_validator.d.ts +2 -2
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/update-checker/index.d.ts +3 -2
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +2 -1
- package/dest/update-checker/package_version.d.ts +3 -0
- package/dest/update-checker/package_version.d.ts.map +1 -0
- package/dest/update-checker/package_version.js +24 -0
- package/dest/update-checker/version_checker.d.ts +25 -0
- package/dest/update-checker/version_checker.d.ts.map +1 -0
- package/dest/update-checker/version_checker.js +50 -0
- package/dest/validators/errors.d.ts +6 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +7 -0
- package/dest/validators/schemas.d.ts +30 -30
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +4 -3
- package/dest/validators/types.d.ts +3 -3
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.d.ts +4 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +4 -1
- package/dest/world-state/genesis_data.d.ts +11 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +4 -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/package.json +24 -12
- package/src/abi/abi.ts +25 -2
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +25 -4
- package/src/abi/decoder.ts +36 -82
- package/src/abi/encoder.ts +49 -6
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/event_selector.ts +2 -8
- package/src/abi/function_call.ts +25 -3
- package/src/abi/function_selector.ts +4 -13
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- package/src/abi/note_selector.ts +3 -12
- package/src/abi/selector.ts +1 -1
- package/src/abi/utils.ts +25 -0
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/avm/revert_code.ts +26 -25
- package/src/aztec-address/index.ts +4 -10
- package/src/block/block_data.ts +25 -0
- package/src/block/block_hash.ts +21 -14
- package/src/block/in_block.ts +1 -1
- package/src/block/index.ts +1 -0
- package/src/block/l2_block.ts +13 -1
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +47 -8
- package/src/block/l2_block_stream/interfaces.ts +6 -2
- package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
- package/src/block/l2_block_stream/l2_tips_store_base.ts +25 -13
- package/src/block/test/l2_tips_store_test_suite.ts +9 -2
- package/src/checkpoint/checkpoint.ts +54 -17
- package/src/checkpoint/checkpoint_data.ts +87 -0
- package/src/checkpoint/index.ts +2 -0
- package/src/checkpoint/published_checkpoint.ts +3 -1
- package/src/checkpoint/validate.ts +230 -0
- package/src/config/chain-config.ts +7 -1
- package/src/config/index.ts +2 -0
- package/src/config/pipelining-config.ts +31 -0
- package/src/config/sequencer-config.ts +47 -0
- package/src/contract/contract_address.ts +7 -7
- package/src/contract/contract_class.ts +3 -3
- package/src/contract/contract_class_id.ts +7 -6
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/contract/interfaces/node-info.ts +3 -0
- package/src/contract/private_function.ts +2 -2
- package/src/epoch-helpers/index.ts +30 -0
- package/src/file-store/factory.ts +13 -4
- package/src/file-store/http.ts +29 -10
- package/src/file-store/index.ts +1 -0
- package/src/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +12 -3
- package/src/gas/README.md +154 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas_fees.ts +15 -1
- package/src/gas/gas_settings.ts +65 -12
- package/src/gas/index.ts +1 -0
- package/src/ha-signing/config.ts +156 -0
- package/src/ha-signing/index.ts +29 -0
- package/src/ha-signing/local_config.ts +46 -0
- package/src/ha-signing/types.ts +126 -0
- package/src/hash/hash.ts +48 -10
- package/src/hash/map_slot.ts +2 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/archiver.ts +10 -2
- package/src/interfaces/aztec-node-admin.ts +28 -7
- package/src/interfaces/aztec-node-debug.ts +40 -0
- package/src/interfaces/aztec-node.ts +40 -6
- package/src/interfaces/block-builder.ts +61 -14
- package/src/interfaces/client.ts +1 -0
- package/src/interfaces/configs.ts +36 -8
- package/src/interfaces/l2_logs_source.ts +4 -1
- package/src/interfaces/merkle_tree_operations.ts +12 -21
- package/src/interfaces/p2p.ts +3 -14
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +17 -5
- package/src/interfaces/slasher.ts +4 -6
- package/src/interfaces/validator.ts +71 -36
- package/src/interfaces/world_state.ts +4 -3
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
- package/src/kernel/hints/build_transient_data_hints.ts +17 -2
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
- package/src/kernel/private_circuit_public_inputs.ts +14 -14
- package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_validation_requests.ts +8 -8
- package/src/keys/derivation.ts +8 -8
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_keys.ts +2 -2
- package/src/keys/utils.ts +5 -5
- package/src/kv-store/config.ts +36 -0
- package/src/kv-store/index.ts +1 -0
- package/src/l1-contracts/index.ts +1 -1
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +41 -22
- package/src/logs/index.ts +3 -1
- package/src/logs/log_filter.ts +5 -0
- package/src/logs/log_id.ts +16 -14
- package/src/logs/message_context.ts +17 -7
- package/src/logs/pending_tagged_log.ts +1 -3
- package/src/logs/pre_tag.ts +5 -5
- package/src/logs/public_log.ts +4 -2
- package/src/logs/shared_secret_derivation.ts +21 -10
- package/src/logs/siloed_tag.ts +23 -14
- package/src/logs/tag.ts +9 -9
- package/src/logs/tagging_index_range.ts +24 -0
- package/src/logs/tx_scoped_l2_log.ts +16 -0
- package/src/messaging/l1_to_l2_message.ts +12 -9
- package/src/messaging/l1_to_l2_message_source.ts +3 -1
- package/src/messaging/l2_to_l1_membership.ts +101 -36
- package/src/noir/index.ts +2 -2
- package/src/note/index.ts +0 -1
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/attestation_utils.ts +56 -0
- package/src/p2p/block_proposal.ts +14 -12
- package/src/p2p/checkpoint_attestation.ts +11 -10
- package/src/p2p/checkpoint_proposal.ts +63 -60
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/consensus_payload.ts +25 -12
- package/src/p2p/constants.ts +3 -0
- package/src/p2p/gossipable.ts +4 -4
- package/src/p2p/index.ts +0 -1
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/topic_type.ts +8 -15
- package/src/proofs/chonk_proof.ts +91 -5
- package/src/rollup/checkpoint_header.ts +2 -2
- package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
- package/src/rollup/root_rollup_public_inputs.ts +7 -7
- package/src/slashing/helpers.ts +8 -0
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +17 -35
- package/src/slashing/{tally.ts → votes.ts} +41 -2
- package/src/tests/factories.ts +31 -51
- package/src/tests/mocks.ts +60 -30
- package/src/timetable/index.ts +346 -0
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/tx/block_header.ts +10 -4
- package/src/tx/capsule.ts +10 -2
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/global_variable_builder.ts +2 -3
- package/src/tx/global_variables.ts +3 -3
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +1 -2
- package/src/tx/private_execution_result.ts +5 -5
- package/src/tx/profiling.ts +14 -5
- package/src/tx/protocol_contracts.ts +2 -2
- package/src/tx/public_simulation_output.ts +4 -0
- package/src/tx/simulated_tx.ts +14 -3
- package/src/tx/tx.ts +22 -13
- package/src/tx/tx_receipt.ts +28 -16
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +13 -1
- package/src/tx/validator/tx_validator.ts +1 -1
- package/src/update-checker/index.ts +2 -1
- package/src/update-checker/package_version.ts +30 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/errors.ts +9 -0
- package/src/validators/schemas.ts +8 -1
- package/src/validators/types.ts +5 -4
- package/src/versioning/versioning.ts +4 -1
- package/src/world-state/genesis_data.ts +15 -0
- package/src/world-state/index.ts +1 -0
- package/dest/contract/private_function_membership_proof.d.ts +0 -32
- package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/private_function_membership_proof.js +0 -124
- package/dest/contract/utility_function_membership_proof.d.ts +0 -27
- package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/utility_function_membership_proof.js +0 -87
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.d.ts +0 -45
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -158
- package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/note/notes_filter.d.ts +0 -27
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -11
- package/dest/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -85
- package/dest/slashing/tally.d.ts.map +0 -1
- package/dest/update-checker/update-checker.d.ts +0 -49
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/l1-contracts/slash_factory.ts +0 -180
- package/src/note/notes_filter.ts +0 -38
- package/src/slashing/empire.ts +0 -102
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, optionalNumberConfigHelper } from '@aztec/foundation/config';
|
|
2
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export const baseSignerConfigMappings = {
|
|
5
|
+
l1Contracts: {
|
|
6
|
+
description: 'L1 contract addresses (rollup address required)',
|
|
7
|
+
nested: {
|
|
8
|
+
rollupAddress: {
|
|
9
|
+
description: 'The Ethereum address of the rollup contract (must be set programmatically)',
|
|
10
|
+
parseEnv: (val)=>EthAddress.fromString(val)
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
nodeId: {
|
|
15
|
+
env: 'VALIDATOR_HA_NODE_ID',
|
|
16
|
+
description: 'The unique identifier for this node',
|
|
17
|
+
defaultValue: ''
|
|
18
|
+
},
|
|
19
|
+
pollingIntervalMs: {
|
|
20
|
+
env: 'VALIDATOR_HA_POLLING_INTERVAL_MS',
|
|
21
|
+
description: 'The number of ms to wait between polls when a duty is being signed',
|
|
22
|
+
...numberConfigHelper(100)
|
|
23
|
+
},
|
|
24
|
+
signingTimeoutMs: {
|
|
25
|
+
env: 'VALIDATOR_HA_SIGNING_TIMEOUT_MS',
|
|
26
|
+
description: 'The maximum time to wait for a duty being signed to complete',
|
|
27
|
+
...numberConfigHelper(3_000)
|
|
28
|
+
},
|
|
29
|
+
maxStuckDutiesAgeMs: {
|
|
30
|
+
env: 'VALIDATOR_HA_MAX_STUCK_DUTIES_AGE_MS',
|
|
31
|
+
description: 'The maximum age of a stuck duty in ms (defaults to 2x Aztec slot duration)',
|
|
32
|
+
...optionalNumberConfigHelper()
|
|
33
|
+
},
|
|
34
|
+
cleanupOldDutiesAfterHours: {
|
|
35
|
+
env: 'VALIDATOR_HA_OLD_DUTIES_MAX_AGE_H',
|
|
36
|
+
description: 'Optional: clean up old duties after this many hours (disabled if not set)',
|
|
37
|
+
...optionalNumberConfigHelper()
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
export const BaseSignerConfigSchema = z.object({
|
|
41
|
+
l1Contracts: z.object({
|
|
42
|
+
rollupAddress: z.instanceof(EthAddress)
|
|
43
|
+
}),
|
|
44
|
+
nodeId: z.string(),
|
|
45
|
+
pollingIntervalMs: z.number().min(0),
|
|
46
|
+
signingTimeoutMs: z.number().min(0),
|
|
47
|
+
maxStuckDutiesAgeMs: z.number().min(0).optional(),
|
|
48
|
+
cleanupOldDutiesAfterHours: z.number().min(0).optional()
|
|
49
|
+
});
|
|
50
|
+
export const validatorHASignerConfigMappings = {
|
|
51
|
+
...baseSignerConfigMappings,
|
|
52
|
+
haSigningEnabled: {
|
|
53
|
+
env: 'VALIDATOR_HA_SIGNING_ENABLED',
|
|
54
|
+
description: 'Whether HA signing / slashing protection is enabled',
|
|
55
|
+
...booleanConfigHelper(false)
|
|
56
|
+
},
|
|
57
|
+
databaseUrl: {
|
|
58
|
+
env: 'VALIDATOR_HA_DATABASE_URL',
|
|
59
|
+
description: 'PostgreSQL connection string for validator HA signer (format: postgresql://user:password@host:port/database)'
|
|
60
|
+
},
|
|
61
|
+
poolMaxCount: {
|
|
62
|
+
env: 'VALIDATOR_HA_POOL_MAX',
|
|
63
|
+
description: 'Maximum number of clients in the pool',
|
|
64
|
+
...numberConfigHelper(10)
|
|
65
|
+
},
|
|
66
|
+
poolMinCount: {
|
|
67
|
+
env: 'VALIDATOR_HA_POOL_MIN',
|
|
68
|
+
description: 'Minimum number of clients in the pool',
|
|
69
|
+
...numberConfigHelper(0)
|
|
70
|
+
},
|
|
71
|
+
poolIdleTimeoutMs: {
|
|
72
|
+
env: 'VALIDATOR_HA_POOL_IDLE_TIMEOUT_MS',
|
|
73
|
+
description: 'Idle timeout in milliseconds',
|
|
74
|
+
...numberConfigHelper(10_000)
|
|
75
|
+
},
|
|
76
|
+
poolConnectionTimeoutMs: {
|
|
77
|
+
env: 'VALIDATOR_HA_POOL_CONNECTION_TIMEOUT_MS',
|
|
78
|
+
description: 'Connection timeout in milliseconds (0 means no timeout)',
|
|
79
|
+
...numberConfigHelper(0)
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
export const defaultValidatorHASignerConfig = getDefaultConfig(validatorHASignerConfigMappings);
|
|
83
|
+
/**
|
|
84
|
+
* Returns the validator HA signer configuration from environment variables.
|
|
85
|
+
* Note: If an environment variable is not set, the default value is used.
|
|
86
|
+
* @returns The validator HA signer configuration.
|
|
87
|
+
*/ export function getConfigEnvVars() {
|
|
88
|
+
return getConfigFromMappings(validatorHASignerConfigMappings);
|
|
89
|
+
}
|
|
90
|
+
export const ValidatorHASignerConfigSchema = BaseSignerConfigSchema.extend({
|
|
91
|
+
haSigningEnabled: z.boolean(),
|
|
92
|
+
databaseUrl: z.string().optional(),
|
|
93
|
+
poolMaxCount: z.number().min(0).optional(),
|
|
94
|
+
poolMinCount: z.number().min(0).optional(),
|
|
95
|
+
poolIdleTimeoutMs: z.number().min(0).optional(),
|
|
96
|
+
poolConnectionTimeoutMs: z.number().min(0).optional()
|
|
97
|
+
});
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { type BaseSignerConfig, BaseSignerConfigSchema, baseSignerConfigMappings, type ValidatorHASignerConfig, ValidatorHASignerConfigSchema, defaultValidatorHASignerConfig, getConfigEnvVars, validatorHASignerConfigMappings, } from './config.js';
|
|
2
|
+
export { type LocalSignerConfig, LocalSignerConfigSchema, getLocalSignerConfigEnvVars, localSignerConfigMappings, } from './local_config.js';
|
|
3
|
+
export { DutyType, type AttestationSigningContext, type BlockProposalSigningContext, type CheckpointProposalSigningContext, type HAProtectedSigningContext, type NoHAProtectionSigningContext, type SigningContext, type VoteSigningContext, getBlockNumberFromSigningContext, getCheckpointNumberFromSigningContext, isHAProtectedContext, } from './types.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oYS1zaWduaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQUNyQixzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLEtBQUssdUJBQXVCLEVBQzVCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsZ0JBQWdCLEVBQ2hCLCtCQUErQixHQUNoQyxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsS0FBSyxpQkFBaUIsRUFDdEIsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUMzQix5QkFBeUIsR0FDMUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQ0wsUUFBUSxFQUNSLEtBQUsseUJBQXlCLEVBQzlCLEtBQUssMkJBQTJCLEVBQ2hDLEtBQUssZ0NBQWdDLEVBQ3JDLEtBQUsseUJBQXlCLEVBQzlCLEtBQUssNEJBQTRCLEVBQ2pDLEtBQUssY0FBYyxFQUNuQixLQUFLLGtCQUFrQixFQUN2QixnQ0FBZ0MsRUFDaEMscUNBQXFDLEVBQ3JDLG9CQUFvQixHQUNyQixNQUFNLFlBQVksQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ha-signing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,QAAQ,EACR,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,gCAAgC,EAChC,qCAAqC,EACrC,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { BaseSignerConfigSchema, baseSignerConfigMappings, ValidatorHASignerConfigSchema, defaultValidatorHASignerConfig, getConfigEnvVars, validatorHASignerConfigMappings } from './config.js';
|
|
2
|
+
export { LocalSignerConfigSchema, getLocalSignerConfigEnvVars, localSignerConfigMappings } from './local_config.js';
|
|
3
|
+
export { DutyType, getBlockNumberFromSigningContext, getCheckpointNumberFromSigningContext, isHAProtectedContext } from './types.js';
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type ConfigMappingsType } from '@aztec/foundation/config';
|
|
2
|
+
import { type DataStoreConfig } from '@aztec/stdlib/kv-store';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { type BaseSignerConfig } from './config.js';
|
|
5
|
+
/**
|
|
6
|
+
* Configuration for local (single-node) slashing protection.
|
|
7
|
+
*
|
|
8
|
+
* Combines the base signing protection fields (shared with HA mode) with
|
|
9
|
+
* DataStoreConfig for the local LMDB backing store, plus a per-store map-size
|
|
10
|
+
* override. Used when HA signing is disabled.
|
|
11
|
+
*/
|
|
12
|
+
export type LocalSignerConfig = BaseSignerConfig & DataStoreConfig & {
|
|
13
|
+
/** Maximum size of the local signing-protection LMDB store in KB. Overwrites the general dataStoreMapSizeKb. */
|
|
14
|
+
signingProtectionMapSizeKb?: number;
|
|
15
|
+
};
|
|
16
|
+
export declare const localSignerConfigMappings: ConfigMappingsType<LocalSignerConfig>;
|
|
17
|
+
export declare const LocalSignerConfigSchema: z.ZodObject<{
|
|
18
|
+
l1Contracts: z.ZodObject<{
|
|
19
|
+
rollupAddress: z.ZodType<import("@aztec/foundation/eth-address").EthAddress, z.ZodTypeDef, import("@aztec/foundation/eth-address").EthAddress>;
|
|
20
|
+
}, "strip", z.ZodTypeAny, {
|
|
21
|
+
rollupAddress: import("@aztec/foundation/eth-address").EthAddress;
|
|
22
|
+
}, {
|
|
23
|
+
rollupAddress: import("@aztec/foundation/eth-address").EthAddress;
|
|
24
|
+
}>;
|
|
25
|
+
nodeId: z.ZodString;
|
|
26
|
+
pollingIntervalMs: z.ZodNumber;
|
|
27
|
+
signingTimeoutMs: z.ZodNumber;
|
|
28
|
+
maxStuckDutiesAgeMs: z.ZodOptional<z.ZodNumber>;
|
|
29
|
+
cleanupOldDutiesAfterHours: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
} & {
|
|
31
|
+
dataDirectory: z.ZodOptional<z.ZodString>;
|
|
32
|
+
dataStoreMapSizeKb: z.ZodNumber;
|
|
33
|
+
signingProtectionMapSizeKb: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
}, "strip", z.ZodTypeAny, {
|
|
35
|
+
l1Contracts: {
|
|
36
|
+
rollupAddress: import("@aztec/foundation/eth-address").EthAddress;
|
|
37
|
+
};
|
|
38
|
+
nodeId: string;
|
|
39
|
+
pollingIntervalMs: number;
|
|
40
|
+
signingTimeoutMs: number;
|
|
41
|
+
maxStuckDutiesAgeMs?: number | undefined;
|
|
42
|
+
cleanupOldDutiesAfterHours?: number | undefined;
|
|
43
|
+
dataDirectory?: string | undefined;
|
|
44
|
+
dataStoreMapSizeKb: number;
|
|
45
|
+
signingProtectionMapSizeKb?: number | undefined;
|
|
46
|
+
}, {
|
|
47
|
+
l1Contracts: {
|
|
48
|
+
rollupAddress: import("@aztec/foundation/eth-address").EthAddress;
|
|
49
|
+
};
|
|
50
|
+
nodeId: string;
|
|
51
|
+
pollingIntervalMs: number;
|
|
52
|
+
signingTimeoutMs: number;
|
|
53
|
+
maxStuckDutiesAgeMs?: number | undefined;
|
|
54
|
+
cleanupOldDutiesAfterHours?: number | undefined;
|
|
55
|
+
dataDirectory?: string | undefined;
|
|
56
|
+
dataStoreMapSizeKb: number;
|
|
57
|
+
signingProtectionMapSizeKb?: number | undefined;
|
|
58
|
+
}>;
|
|
59
|
+
/**
|
|
60
|
+
* Returns the local signer configuration from environment variables.
|
|
61
|
+
*/
|
|
62
|
+
export declare function getLocalSignerConfigEnvVars(): LocalSignerConfig;
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxfY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGEtc2lnbmluZy9sb2NhbF9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQXlCLE1BQU0sMEJBQTBCLENBQUM7QUFFMUYsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBRWxGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQW9ELE1BQU0sYUFBYSxDQUFDO0FBRXRHOzs7Ozs7R0FNRztBQUNILE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxnQkFBZ0IsR0FDOUMsZUFBZSxHQUFHO0lBQ2hCLGdIQUFnSDtJQUNoSCwwQkFBMEIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNyQyxDQUFDO0FBRUosZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLGlCQUFpQixDQVMzRSxDQUFDO0FBRUYsZUFBTyxNQUFNLHVCQUF1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFNbkMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsd0JBQWdCLDJCQUEyQixJQUFJLGlCQUFpQixDQUUvRCJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local_config.d.ts","sourceRoot":"","sources":["../../src/ha-signing/local_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAyB,MAAM,0BAA0B,CAAC;AAE1F,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAElF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,gBAAgB,EAAoD,MAAM,aAAa,CAAC;AAEtG;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAC9C,eAAe,GAAG;IAChB,gHAAgH;IAChH,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEJ,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CAS3E,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMnC,CAAC;AAEF;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,iBAAiB,CAE/D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { getConfigFromMappings } from '@aztec/foundation/config';
|
|
2
|
+
import { zodFor } from '@aztec/foundation/schemas';
|
|
3
|
+
import { dataConfigMappings } from '@aztec/stdlib/kv-store';
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { BaseSignerConfigSchema, baseSignerConfigMappings } from './config.js';
|
|
6
|
+
export const localSignerConfigMappings = {
|
|
7
|
+
...baseSignerConfigMappings,
|
|
8
|
+
...dataConfigMappings,
|
|
9
|
+
signingProtectionMapSizeKb: {
|
|
10
|
+
env: 'SIGNING_PROTECTION_MAP_SIZE_KB',
|
|
11
|
+
description: 'Maximum size of the local signing-protection LMDB store in KB. Overwrites the general dataStoreMapSizeKb.',
|
|
12
|
+
parseEnv: (val)=>+val
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
export const LocalSignerConfigSchema = zodFor()(BaseSignerConfigSchema.extend({
|
|
16
|
+
dataDirectory: z.string().optional(),
|
|
17
|
+
dataStoreMapSizeKb: z.number(),
|
|
18
|
+
signingProtectionMapSizeKb: z.number().optional()
|
|
19
|
+
}));
|
|
20
|
+
/**
|
|
21
|
+
* Returns the local signer configuration from environment variables.
|
|
22
|
+
*/ export function getLocalSignerConfigEnvVars() {
|
|
23
|
+
return getConfigFromMappings(localSignerConfigMappings);
|
|
24
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { BlockNumber, CheckpointNumber, type IndexWithinCheckpoint, type SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
/**
|
|
3
|
+
* Type of validator duty being performed
|
|
4
|
+
*/
|
|
5
|
+
export declare enum DutyType {
|
|
6
|
+
BLOCK_PROPOSAL = "BLOCK_PROPOSAL",
|
|
7
|
+
CHECKPOINT_PROPOSAL = "CHECKPOINT_PROPOSAL",
|
|
8
|
+
ATTESTATION = "ATTESTATION",
|
|
9
|
+
ATTESTATIONS_AND_SIGNERS = "ATTESTATIONS_AND_SIGNERS",
|
|
10
|
+
GOVERNANCE_VOTE = "GOVERNANCE_VOTE",
|
|
11
|
+
SLASHING_VOTE = "SLASHING_VOTE",
|
|
12
|
+
AUTH_REQUEST = "AUTH_REQUEST",
|
|
13
|
+
TXS = "TXS"
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Signing context for block proposals.
|
|
17
|
+
* Includes both the block number and the checkpoint number the block belongs to.
|
|
18
|
+
*/
|
|
19
|
+
export interface BlockProposalSigningContext {
|
|
20
|
+
slot: SlotNumber;
|
|
21
|
+
blockNumber: BlockNumber;
|
|
22
|
+
checkpointNumber: CheckpointNumber;
|
|
23
|
+
/** Block index within checkpoint (0, 1, 2...). Required for block proposals. */
|
|
24
|
+
blockIndexWithinCheckpoint: IndexWithinCheckpoint;
|
|
25
|
+
dutyType: DutyType.BLOCK_PROPOSAL;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Signing context for checkpoint proposals.
|
|
29
|
+
* Includes the checkpoint number being proposed, but not a block number.
|
|
30
|
+
*/
|
|
31
|
+
export interface CheckpointProposalSigningContext {
|
|
32
|
+
slot: SlotNumber;
|
|
33
|
+
checkpointNumber: CheckpointNumber;
|
|
34
|
+
dutyType: DutyType.CHECKPOINT_PROPOSAL;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Signing context for attestation duties (checkpoint attestations).
|
|
38
|
+
* Includes the checkpoint number when available (from proposal validation).
|
|
39
|
+
*/
|
|
40
|
+
export interface AttestationSigningContext {
|
|
41
|
+
slot: SlotNumber;
|
|
42
|
+
checkpointNumber: CheckpointNumber;
|
|
43
|
+
dutyType: DutyType.ATTESTATION | DutyType.ATTESTATIONS_AND_SIGNERS;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Signing context for governance/slashing votes which only need slot for HA protection.
|
|
47
|
+
*/
|
|
48
|
+
export interface VoteSigningContext {
|
|
49
|
+
slot: SlotNumber;
|
|
50
|
+
dutyType: DutyType.GOVERNANCE_VOTE | DutyType.SLASHING_VOTE;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Signing context for duties which don't require slot/blockNumber
|
|
54
|
+
* as they don't need HA protection (AUTH_REQUEST, TXS).
|
|
55
|
+
*/
|
|
56
|
+
export interface NoHAProtectionSigningContext {
|
|
57
|
+
dutyType: DutyType.AUTH_REQUEST | DutyType.TXS;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Signing contexts that require HA protection (excludes AUTH_REQUEST and TXS).
|
|
61
|
+
* Used by the HA signer's signWithProtection method.
|
|
62
|
+
*/
|
|
63
|
+
export type HAProtectedSigningContext = BlockProposalSigningContext | CheckpointProposalSigningContext | AttestationSigningContext | VoteSigningContext;
|
|
64
|
+
/**
|
|
65
|
+
* Context required for slashing protection during signing operations.
|
|
66
|
+
* Uses discriminated union to enforce type safety:
|
|
67
|
+
* - BLOCK_PROPOSAL duties have blockNumber, checkpointNumber, and blockIndexWithinCheckpoint
|
|
68
|
+
* - CHECKPOINT_PROPOSAL duties have checkpointNumber
|
|
69
|
+
* - ATTESTATION/ATTESTATIONS_AND_SIGNERS duties have only slot
|
|
70
|
+
* - Vote duties have only slot
|
|
71
|
+
* - AUTH_REQUEST and TXS duties don't need HA protection
|
|
72
|
+
*/
|
|
73
|
+
export type SigningContext = HAProtectedSigningContext | NoHAProtectionSigningContext;
|
|
74
|
+
/**
|
|
75
|
+
* Type guard to check if a SigningContext requires HA protection.
|
|
76
|
+
* Returns true for contexts that need HA protection, false for AUTH_REQUEST and TXS.
|
|
77
|
+
*/
|
|
78
|
+
export declare function isHAProtectedContext(context: SigningContext): context is HAProtectedSigningContext;
|
|
79
|
+
/**
|
|
80
|
+
* Gets the block number from a signing context.
|
|
81
|
+
* Only BLOCK_PROPOSAL duties carry a block number; all others return BlockNumber(0).
|
|
82
|
+
*/
|
|
83
|
+
export declare function getBlockNumberFromSigningContext(context: HAProtectedSigningContext): BlockNumber;
|
|
84
|
+
/**
|
|
85
|
+
* Gets the checkpoint number from a signing context.
|
|
86
|
+
* BLOCK_PROPOSAL, CHECKPOINT_PROPOSAL, ATTESTATION, and ATTESTATIONS_AND_SIGNERS duties carry a checkpoint number;
|
|
87
|
+
* vote duties return CheckpointNumber(0).
|
|
88
|
+
*/
|
|
89
|
+
export declare function getCheckpointNumberFromSigningContext(context: HAProtectedSigningContext): CheckpointNumber;
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oYS1zaWduaW5nL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssVUFBVSxFQUNoQixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDOztHQUVHO0FBQ0gsb0JBQVksUUFBUTtJQUNsQixjQUFjLG1CQUFtQjtJQUNqQyxtQkFBbUIsd0JBQXdCO0lBQzNDLFdBQVcsZ0JBQWdCO0lBQzNCLHdCQUF3Qiw2QkFBNkI7SUFDckQsZUFBZSxvQkFBb0I7SUFDbkMsYUFBYSxrQkFBa0I7SUFDL0IsWUFBWSxpQkFBaUI7SUFDN0IsR0FBRyxRQUFRO0NBQ1o7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFdBQVcsMkJBQTJCO0lBQzFDLElBQUksRUFBRSxVQUFVLENBQUM7SUFDakIsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUN6QixnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNuQyxnRkFBZ0Y7SUFDaEYsMEJBQTBCLEVBQUUscUJBQXFCLENBQUM7SUFDbEQsUUFBUSxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUM7Q0FDbkM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFdBQVcsZ0NBQWdDO0lBQy9DLElBQUksRUFBRSxVQUFVLENBQUM7SUFDakIsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7SUFDbkMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQztDQUN4QztBQUVEOzs7R0FHRztBQUNILE1BQU0sV0FBVyx5QkFBeUI7SUFDeEMsSUFBSSxFQUFFLFVBQVUsQ0FBQztJQUNqQixnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNuQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUM7Q0FDcEU7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsSUFBSSxFQUFFLFVBQVUsQ0FBQztJQUNqQixRQUFRLEVBQUUsUUFBUSxDQUFDLGVBQWUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDO0NBQzdEO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxXQUFXLDRCQUE0QjtJQUMzQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO0NBQ2hEO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLHlCQUF5QixHQUNqQywyQkFBMkIsR0FDM0IsZ0NBQWdDLEdBQ2hDLHlCQUF5QixHQUN6QixrQkFBa0IsQ0FBQztBQUV2Qjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sTUFBTSxjQUFjLEdBQUcseUJBQXlCLEdBQUcsNEJBQTRCLENBQUM7QUFFdEY7OztHQUdHO0FBQ0gsd0JBQWdCLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxjQUFjLEdBQUcsT0FBTyxJQUFJLHlCQUF5QixDQUVsRztBQUVEOzs7R0FHRztBQUNILHdCQUFnQixnQ0FBZ0MsQ0FBQyxPQUFPLEVBQUUseUJBQXlCLEdBQUcsV0FBVyxDQUtoRztBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0IscUNBQXFDLENBQUMsT0FBTyxFQUFFLHlCQUF5QixHQUFHLGdCQUFnQixDQVUxRyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ha-signing/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EAChB,MAAM,iCAAiC,CAAC;AAEzC;;GAEG;AACH,oBAAY,QAAQ;IAClB,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,WAAW,gBAAgB;IAC3B,wBAAwB,6BAA6B;IACrD,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,GAAG,QAAQ;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gFAAgF;IAChF,0BAA0B,EAAE,qBAAqB,CAAC;IAClD,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,UAAU,CAAC;IACjB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,UAAU,CAAC;IACjB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,EAAE,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,wBAAwB,CAAC;CACpE;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC;CAC7D;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC;CAChD;AAED;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GACjC,2BAA2B,GAC3B,gCAAgC,GAChC,yBAAyB,GACzB,kBAAkB,CAAC;AAEvB;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,yBAAyB,GAAG,4BAA4B,CAAC;AAEtF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,yBAAyB,CAElG;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,yBAAyB,GAAG,WAAW,CAKhG;AAED;;;;GAIG;AACH,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,yBAAyB,GAAG,gBAAgB,CAU1G"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
/**
|
|
3
|
+
* Type of validator duty being performed
|
|
4
|
+
*/ export var DutyType = /*#__PURE__*/ function(DutyType) {
|
|
5
|
+
DutyType["BLOCK_PROPOSAL"] = "BLOCK_PROPOSAL";
|
|
6
|
+
DutyType["CHECKPOINT_PROPOSAL"] = "CHECKPOINT_PROPOSAL";
|
|
7
|
+
DutyType["ATTESTATION"] = "ATTESTATION";
|
|
8
|
+
DutyType["ATTESTATIONS_AND_SIGNERS"] = "ATTESTATIONS_AND_SIGNERS";
|
|
9
|
+
DutyType["GOVERNANCE_VOTE"] = "GOVERNANCE_VOTE";
|
|
10
|
+
DutyType["SLASHING_VOTE"] = "SLASHING_VOTE";
|
|
11
|
+
DutyType["AUTH_REQUEST"] = "AUTH_REQUEST";
|
|
12
|
+
DutyType["TXS"] = "TXS";
|
|
13
|
+
return DutyType;
|
|
14
|
+
}({});
|
|
15
|
+
/**
|
|
16
|
+
* Type guard to check if a SigningContext requires HA protection.
|
|
17
|
+
* Returns true for contexts that need HA protection, false for AUTH_REQUEST and TXS.
|
|
18
|
+
*/ export function isHAProtectedContext(context) {
|
|
19
|
+
return context.dutyType !== "AUTH_REQUEST" && context.dutyType !== "TXS";
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Gets the block number from a signing context.
|
|
23
|
+
* Only BLOCK_PROPOSAL duties carry a block number; all others return BlockNumber(0).
|
|
24
|
+
*/ export function getBlockNumberFromSigningContext(context) {
|
|
25
|
+
if (context.dutyType === "BLOCK_PROPOSAL") {
|
|
26
|
+
return context.blockNumber;
|
|
27
|
+
}
|
|
28
|
+
return BlockNumber(0);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Gets the checkpoint number from a signing context.
|
|
32
|
+
* BLOCK_PROPOSAL, CHECKPOINT_PROPOSAL, ATTESTATION, and ATTESTATIONS_AND_SIGNERS duties carry a checkpoint number;
|
|
33
|
+
* vote duties return CheckpointNumber(0).
|
|
34
|
+
*/ export function getCheckpointNumberFromSigningContext(context) {
|
|
35
|
+
if (context.dutyType === "BLOCK_PROPOSAL" || context.dutyType === "CHECKPOINT_PROPOSAL" || context.dutyType === "ATTESTATION" || context.dutyType === "ATTESTATIONS_AND_SIGNERS") {
|
|
36
|
+
return context.checkpointNumber;
|
|
37
|
+
}
|
|
38
|
+
return CheckpointNumber(0);
|
|
39
|
+
}
|
package/dest/hash/hash.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DomainSeparator } from '@aztec/constants';
|
|
1
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
3
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
4
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
@@ -37,6 +38,21 @@ export declare function computeUniqueNoteHash(noteNonce: Fr, siloedNoteHash: Fr)
|
|
|
37
38
|
* @returns A siloed nullifier.
|
|
38
39
|
*/
|
|
39
40
|
export declare function siloNullifier(contract: AztecAddress, innerNullifier: Fr): Promise<Fr>;
|
|
41
|
+
/**
|
|
42
|
+
* Computes the siloed private initialization nullifier for a contract, given its address and initialization hash.
|
|
43
|
+
* @param contract - The contract address.
|
|
44
|
+
* @param initializationHash - The contract's initialization hash.
|
|
45
|
+
* @returns The siloed private initialization nullifier.
|
|
46
|
+
*/
|
|
47
|
+
export declare function computeSiloedPrivateInitializationNullifier(contract: AztecAddress, initializationHash: Fr): Promise<Fr>;
|
|
48
|
+
/**
|
|
49
|
+
* Computes the siloed public initialization nullifier for a contract. Not all contracts emit this nullifier: it is only
|
|
50
|
+
* emitted when the contract has public functions that perform initialization checks (i.e. external public functions that
|
|
51
|
+
* are not `#[noinitcheck]` or `#[only_self]`).
|
|
52
|
+
* @param contract - The contract address.
|
|
53
|
+
* @returns The siloed public initialization nullifier.
|
|
54
|
+
*/
|
|
55
|
+
export declare function computeSiloedPublicInitializationNullifier(contract: AztecAddress): Promise<Fr>;
|
|
40
56
|
/**
|
|
41
57
|
* Computes the protocol nullifier, which is the hash of the initial tx request siloed with the null msg sender address.
|
|
42
58
|
* @param txRequestHash - The hash of the initial tx request.
|
|
@@ -45,6 +61,9 @@ export declare function siloNullifier(contract: AztecAddress, innerNullifier: Fr
|
|
|
45
61
|
* @dev Must match the implementation in noir-protocol-circuits/crates/types/src/hash.nr > compute_protocol_nullifier
|
|
46
62
|
*/
|
|
47
63
|
export declare function computeProtocolNullifier(txRequestHash: Fr): Promise<Fr>;
|
|
64
|
+
/** Domain-separates a raw log tag with the given domain separator. */
|
|
65
|
+
export declare function computeLogTag(rawTag: number | bigint | boolean | Fr | Buffer, domSep: DomainSeparator): Promise<Fr>;
|
|
66
|
+
export declare function computeSiloedPrivateLogFirstField(contract: AztecAddress, field: Fr): Promise<Fr>;
|
|
48
67
|
/**
|
|
49
68
|
* Computes a public data tree value ready for insertion.
|
|
50
69
|
* @param value - Raw public data tree value to hash into a tree-insertion-ready value.
|
|
@@ -92,4 +111,4 @@ export declare function computeL2ToL1MessageHash({ l2Sender, l1Recipient, conten
|
|
|
92
111
|
rollupVersion: Fr;
|
|
93
112
|
chainId: Fr;
|
|
94
113
|
}): Fr;
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hhc2gvaGFzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFvQyxNQUFNLGtCQUFrQixDQUFDO0FBR3JGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQ7Ozs7R0FJRztBQUNILHdCQUFzQixNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FHM0Q7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUUxRjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixZQUFZLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFOUU7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUVwRjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixhQUFhLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFckY7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFzQiwyQ0FBMkMsQ0FDL0QsUUFBUSxFQUFFLFlBQVksRUFDdEIsa0JBQWtCLEVBQUUsRUFBRSxHQUNyQixPQUFPLENBQUMsRUFBRSxDQUFDLENBTWI7QUFFRDs7Ozs7O0dBTUc7QUFDSCx3QkFBc0IsMENBQTBDLENBQUMsUUFBUSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBR3BHO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLHdCQUF3QixDQUFDLGFBQWEsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUV2RTtBQUVELHNFQUFzRTtBQUN0RSx3QkFBZ0IsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRyxFQUFFLEdBQUcsTUFBTSxFQUFFLE1BQU0sRUFBRSxlQUFlLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUVuSDtBQUVELHdCQUFnQixpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUVoRztBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLDBCQUEwQixDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUV4RDtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQiw2QkFBNkIsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUV6RztBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBTTFEO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFnQixtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUUvRDtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUV6RDtBQUVELHdCQUFzQiw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsZUFNdEc7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0Isd0JBQXdCLENBQUMsRUFDdkMsUUFBUSxFQUNSLFdBQVcsRUFDWCxPQUFPLEVBQ1AsYUFBYSxFQUNiLE9BQU8sRUFDUixFQUFFO0lBQ0QsUUFBUSxFQUFFLFlBQVksQ0FBQztJQUN2QixXQUFXLEVBQUUsVUFBVSxDQUFDO0lBQ3hCLE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDWixhQUFhLEVBQUUsRUFBRSxDQUFDO0lBQ2xCLE9BQU8sRUFBRSxFQUFFLENBQUM7Q0FDYixNQUVBIn0=
|
package/dest/hash/hash.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/hash/hash.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/hash/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAoC,MAAM,kBAAkB,CAAC;AAGrF,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAG3D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAE1F;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAE9E;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAEpF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAErF;AAED;;;;;GAKG;AACH,wBAAsB,2CAA2C,CAC/D,QAAQ,EAAE,YAAY,EACtB,kBAAkB,EAAE,EAAE,GACrB,OAAO,CAAC,EAAE,CAAC,CAMb;AAED;;;;;;GAMG;AACH,wBAAsB,0CAA0C,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAGpG;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAEvE;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC,CAEnH;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAEhG;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAExD;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAEzG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAM1D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAEzD;AAED,wBAAsB,6BAA6B,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,eAMtG;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,WAAW,EACX,OAAO,EACP,aAAa,EACb,OAAO,EACR,EAAE;IACD,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,EAAE,CAAC;IACZ,aAAa,EAAE,EAAE,CAAC;IAClB,OAAO,EAAE,EAAE,CAAC;CACb,MAEA"}
|
package/dest/hash/hash.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainSeparator, NULL_MSG_SENDER_CONTRACT_ADDRESS } from '@aztec/constants';
|
|
2
2
|
import { poseidon2Hash, poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
3
|
import { sha256ToField } from '@aztec/foundation/crypto/sha256';
|
|
4
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
@@ -20,7 +20,7 @@ import { AztecAddress } from '../aztec-address/index.js';
|
|
|
20
20
|
return poseidon2HashWithSeparator([
|
|
21
21
|
nullifierZero,
|
|
22
22
|
noteHashIndex
|
|
23
|
-
],
|
|
23
|
+
], DomainSeparator.NOTE_HASH_NONCE);
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Computes a siloed note hash, given the contract address and the note hash itself.
|
|
@@ -32,7 +32,7 @@ import { AztecAddress } from '../aztec-address/index.js';
|
|
|
32
32
|
return poseidon2HashWithSeparator([
|
|
33
33
|
contract,
|
|
34
34
|
noteHash
|
|
35
|
-
],
|
|
35
|
+
], DomainSeparator.SILOED_NOTE_HASH);
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* Computes a unique note hash.
|
|
@@ -43,7 +43,7 @@ import { AztecAddress } from '../aztec-address/index.js';
|
|
|
43
43
|
return poseidon2HashWithSeparator([
|
|
44
44
|
noteNonce,
|
|
45
45
|
siloedNoteHash
|
|
46
|
-
],
|
|
46
|
+
], DomainSeparator.UNIQUE_NOTE_HASH);
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Computes a siloed nullifier, given the contract address and the inner nullifier.
|
|
@@ -55,7 +55,31 @@ import { AztecAddress } from '../aztec-address/index.js';
|
|
|
55
55
|
return poseidon2HashWithSeparator([
|
|
56
56
|
contract,
|
|
57
57
|
innerNullifier
|
|
58
|
-
],
|
|
58
|
+
], DomainSeparator.SILOED_NULLIFIER);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Computes the siloed private initialization nullifier for a contract, given its address and initialization hash.
|
|
62
|
+
* @param contract - The contract address.
|
|
63
|
+
* @param initializationHash - The contract's initialization hash.
|
|
64
|
+
* @returns The siloed private initialization nullifier.
|
|
65
|
+
*/ export async function computeSiloedPrivateInitializationNullifier(contract, initializationHash) {
|
|
66
|
+
const innerNullifier = await poseidon2HashWithSeparator([
|
|
67
|
+
contract,
|
|
68
|
+
initializationHash
|
|
69
|
+
], DomainSeparator.PRIVATE_INITIALIZATION_NULLIFIER);
|
|
70
|
+
return siloNullifier(contract, innerNullifier);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Computes the siloed public initialization nullifier for a contract. Not all contracts emit this nullifier: it is only
|
|
74
|
+
* emitted when the contract has public functions that perform initialization checks (i.e. external public functions that
|
|
75
|
+
* are not `#[noinitcheck]` or `#[only_self]`).
|
|
76
|
+
* @param contract - The contract address.
|
|
77
|
+
* @returns The siloed public initialization nullifier.
|
|
78
|
+
*/ export async function computeSiloedPublicInitializationNullifier(contract) {
|
|
79
|
+
const innerNullifier = await poseidon2HashWithSeparator([
|
|
80
|
+
contract
|
|
81
|
+
], DomainSeparator.PUBLIC_INITIALIZATION_NULLIFIER);
|
|
82
|
+
return siloNullifier(contract, innerNullifier);
|
|
59
83
|
}
|
|
60
84
|
/**
|
|
61
85
|
* Computes the protocol nullifier, which is the hash of the initial tx request siloed with the null msg sender address.
|
|
@@ -66,6 +90,17 @@ import { AztecAddress } from '../aztec-address/index.js';
|
|
|
66
90
|
*/ export function computeProtocolNullifier(txRequestHash) {
|
|
67
91
|
return siloNullifier(AztecAddress.fromBigInt(NULL_MSG_SENDER_CONTRACT_ADDRESS), txRequestHash);
|
|
68
92
|
}
|
|
93
|
+
/** Domain-separates a raw log tag with the given domain separator. */ export function computeLogTag(rawTag, domSep) {
|
|
94
|
+
return poseidon2HashWithSeparator([
|
|
95
|
+
new Fr(rawTag)
|
|
96
|
+
], domSep);
|
|
97
|
+
}
|
|
98
|
+
export function computeSiloedPrivateLogFirstField(contract, field) {
|
|
99
|
+
return poseidon2HashWithSeparator([
|
|
100
|
+
contract,
|
|
101
|
+
field
|
|
102
|
+
], DomainSeparator.PRIVATE_LOG_FIRST_FIELD);
|
|
103
|
+
}
|
|
69
104
|
/**
|
|
70
105
|
* Computes a public data tree value ready for insertion.
|
|
71
106
|
* @param value - Raw public data tree value to hash into a tree-insertion-ready value.
|
|
@@ -84,7 +119,7 @@ import { AztecAddress } from '../aztec-address/index.js';
|
|
|
84
119
|
return poseidon2HashWithSeparator([
|
|
85
120
|
contractAddress,
|
|
86
121
|
storageSlot
|
|
87
|
-
],
|
|
122
|
+
], DomainSeparator.PUBLIC_LEAF_SLOT);
|
|
88
123
|
}
|
|
89
124
|
/**
|
|
90
125
|
* Computes the hash of a list of arguments.
|
|
@@ -95,14 +130,14 @@ import { AztecAddress } from '../aztec-address/index.js';
|
|
|
95
130
|
if (args.length === 0) {
|
|
96
131
|
return Promise.resolve(Fr.ZERO);
|
|
97
132
|
}
|
|
98
|
-
return poseidon2HashWithSeparator(args,
|
|
133
|
+
return poseidon2HashWithSeparator(args, DomainSeparator.FUNCTION_ARGS);
|
|
99
134
|
}
|
|
100
135
|
/**
|
|
101
136
|
* Computes the hash of a public function's calldata.
|
|
102
137
|
* @param calldata - Calldata to hash.
|
|
103
138
|
* @returns Hash of the calldata.
|
|
104
139
|
*/ export function computeCalldataHash(calldata) {
|
|
105
|
-
return poseidon2HashWithSeparator(calldata,
|
|
140
|
+
return poseidon2HashWithSeparator(calldata, DomainSeparator.PUBLIC_CALLDATA);
|
|
106
141
|
}
|
|
107
142
|
/**
|
|
108
143
|
* Computes a hash of a secret.
|
|
@@ -112,13 +147,13 @@ import { AztecAddress } from '../aztec-address/index.js';
|
|
|
112
147
|
*/ export function computeSecretHash(secret) {
|
|
113
148
|
return poseidon2HashWithSeparator([
|
|
114
149
|
secret
|
|
115
|
-
],
|
|
150
|
+
], DomainSeparator.SECRET_HASH);
|
|
116
151
|
}
|
|
117
152
|
export async function computeL1ToL2MessageNullifier(contract, messageHash, secret) {
|
|
118
153
|
const innerMessageNullifier = await poseidon2HashWithSeparator([
|
|
119
154
|
messageHash,
|
|
120
155
|
secret
|
|
121
|
-
],
|
|
156
|
+
], DomainSeparator.MESSAGE_NULLIFIER);
|
|
122
157
|
return siloNullifier(contract, innerMessageNullifier);
|
|
123
158
|
}
|
|
124
159
|
/**
|
package/dest/hash/map_slot.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainSeparator } from '@aztec/constants';
|
|
2
2
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
3
|
/**
|
|
4
4
|
* Computes the resulting storage slot for an entry in a map.
|
|
@@ -9,5 +9,5 @@ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
|
9
9
|
return poseidon2HashWithSeparator([
|
|
10
10
|
mapSlot,
|
|
11
11
|
key.toField()
|
|
12
|
-
],
|
|
12
|
+
], DomainSeparator.PUBLIC_STORAGE_MAP_SLOT);
|
|
13
13
|
}
|
|
@@ -2,51 +2,57 @@ import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import type { FunctionSelector } from '../abi/function_selector.js';
|
|
4
4
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
5
|
-
type AllowedInstance = {
|
|
6
|
-
address: AztecAddress;
|
|
7
|
-
};
|
|
8
5
|
type AllowedInstanceFunction = {
|
|
9
6
|
address: AztecAddress;
|
|
10
7
|
selector: FunctionSelector;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
onlySelf?: boolean;
|
|
9
|
+
rejectNullMsgSender?: boolean;
|
|
10
|
+
calldataLength?: number;
|
|
14
11
|
};
|
|
15
12
|
type AllowedClassFunction = {
|
|
16
13
|
classId: Fr;
|
|
17
14
|
selector: FunctionSelector;
|
|
15
|
+
onlySelf?: boolean;
|
|
16
|
+
rejectNullMsgSender?: boolean;
|
|
17
|
+
calldataLength?: number;
|
|
18
18
|
};
|
|
19
|
-
export type AllowedElement =
|
|
19
|
+
export type AllowedElement = AllowedInstanceFunction | AllowedClassFunction;
|
|
20
20
|
export declare const AllowedElementSchema: z.ZodUnion<[z.ZodObject<{
|
|
21
21
|
address: import("../schemas/index.js").ZodFor<AztecAddress>;
|
|
22
22
|
selector: import("../schemas/index.js").ZodFor<FunctionSelector>;
|
|
23
|
+
onlySelf: z.ZodOptional<z.ZodBoolean>;
|
|
24
|
+
rejectNullMsgSender: z.ZodOptional<z.ZodBoolean>;
|
|
25
|
+
calldataLength: z.ZodOptional<z.ZodNumber>;
|
|
23
26
|
}, "strip", z.ZodTypeAny, {
|
|
24
27
|
address: AztecAddress;
|
|
25
28
|
selector: FunctionSelector;
|
|
29
|
+
onlySelf?: boolean | undefined;
|
|
30
|
+
rejectNullMsgSender?: boolean | undefined;
|
|
31
|
+
calldataLength?: number | undefined;
|
|
26
32
|
}, {
|
|
27
33
|
address?: any;
|
|
28
34
|
selector?: any;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
address: AztecAddress;
|
|
33
|
-
}, {
|
|
34
|
-
address?: any;
|
|
35
|
+
onlySelf?: boolean | undefined;
|
|
36
|
+
rejectNullMsgSender?: boolean | undefined;
|
|
37
|
+
calldataLength?: number | undefined;
|
|
35
38
|
}>, z.ZodObject<{
|
|
36
39
|
classId: import("../schemas/index.js").ZodFor<Fr>;
|
|
37
40
|
selector: import("../schemas/index.js").ZodFor<FunctionSelector>;
|
|
41
|
+
onlySelf: z.ZodOptional<z.ZodBoolean>;
|
|
42
|
+
rejectNullMsgSender: z.ZodOptional<z.ZodBoolean>;
|
|
43
|
+
calldataLength: z.ZodOptional<z.ZodNumber>;
|
|
38
44
|
}, "strip", z.ZodTypeAny, {
|
|
39
45
|
classId: Fr;
|
|
40
46
|
selector: FunctionSelector;
|
|
47
|
+
onlySelf?: boolean | undefined;
|
|
48
|
+
rejectNullMsgSender?: boolean | undefined;
|
|
49
|
+
calldataLength?: number | undefined;
|
|
41
50
|
}, {
|
|
42
51
|
classId?: any;
|
|
43
52
|
selector?: any;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
classId: Fr;
|
|
48
|
-
}, {
|
|
49
|
-
classId?: any;
|
|
53
|
+
onlySelf?: boolean | undefined;
|
|
54
|
+
rejectNullMsgSender?: boolean | undefined;
|
|
55
|
+
calldataLength?: number | undefined;
|
|
50
56
|
}>]>;
|
|
51
57
|
export {};
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb3dlZF9lbGVtZW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9hbGxvd2VkX2VsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFekQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzlELEtBQUssdUJBQXVCLEdBQUc7SUFDN0IsT0FBTyxFQUFFLFlBQVksQ0FBQztJQUN0QixRQUFRLEVBQUUsZ0JBQWdCLENBQUM7SUFDM0IsUUFBUSxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ25CLG1CQUFtQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzlCLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUN6QixDQUFDO0FBQ0YsS0FBSyxvQkFBb0IsR0FBRztJQUMxQixPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ1osUUFBUSxFQUFFLGdCQUFnQixDQUFDO0lBQzNCLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUNuQixtQkFBbUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUM5QixjQUFjLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDekIsQ0FBQztBQUVGLE1BQU0sTUFBTSxjQUFjLEdBQUcsdUJBQXVCLEdBQUcsb0JBQW9CLENBQUM7QUFFNUUsZUFBTyxNQUFNLG9CQUFvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBaUJoQyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allowed_element.d.ts","sourceRoot":"","sources":["../../src/interfaces/allowed_element.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,KAAK,
|
|
1
|
+
{"version":3,"file":"allowed_element.d.ts","sourceRoot":"","sources":["../../src/interfaces/allowed_element.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,KAAK,uBAAuB,GAAG;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AACF,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,EAAE,CAAC;IACZ,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,uBAAuB,GAAG,oBAAoB,CAAC;AAE5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiBhC,CAAC"}
|