@aztec/stdlib 0.0.1-commit.d431d1c → 0.0.1-commit.d939eb5aa
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 +20 -21
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +22 -31
- package/dest/block/block_parameter.d.ts +4 -4
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +2 -2
- package/dest/block/checkpointed_l2_block.d.ts +6 -6
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
- package/dest/block/checkpointed_l2_block.js +3 -3
- package/dest/block/in_block.d.ts +11 -11
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +5 -5
- package/dest/block/index.d.ts +3 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +2 -1
- package/dest/block/{l2_block_new.d.ts → l2_block.d.ts} +16 -7
- package/dest/block/l2_block.d.ts.map +1 -0
- package/dest/block/{l2_block_new.js → l2_block.js} +17 -11
- 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 +148 -35
- 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 +8 -5
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -3
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +14 -4
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
- 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 +6 -5
- package/dest/checkpoint/checkpoint.d.ts +34 -13
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +44 -20
- 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 +19 -4
- 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/node-rpc-config.js +1 -1
- 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.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +3 -4
- package/dest/database-version/database_version.d.ts +58 -0
- package/dest/database-version/database_version.d.ts.map +1 -0
- package/dest/database-version/database_version.js +69 -0
- package/dest/database-version/version_manager.d.ts +2 -50
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +1 -66
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
- package/dest/epoch-helpers/index.d.ts +17 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +23 -3
- 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.d.ts +1 -1
- package/dest/hash/map_slot.d.ts.map +1 -1
- package/dest/hash/map_slot.js +4 -3
- 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 +27 -18
- package/dest/interfaces/aztec-node-admin.d.ts +127 -45
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +15 -7
- 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 +70 -62
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +20 -19
- package/dest/interfaces/block-builder.d.ts +47 -14
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +16 -2
- 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 +78 -33
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +10 -3
- package/dest/interfaces/get_logs_response.d.ts +15 -8
- 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 +20 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +18 -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/tx_provider.d.ts +3 -3
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +157 -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 +4 -4
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -15
- 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.d.ts +3 -3
- package/dest/keys/derivation.js +15 -15
- 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.d.ts +1 -1
- package/dest/keys/utils.d.ts.map +1 -1
- package/dest/keys/utils.js +8 -4
- 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 +13 -7
- 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 +17 -14
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +19 -17
- 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 -6
- 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 +19 -14
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +7 -14
- 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 +32 -20
- 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/message_validator.d.ts +18 -3
- package/dest/p2p/message_validator.d.ts.map +1 -1
- package/dest/p2p/message_validator.js +2 -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/stats/stats.d.ts +1 -3
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +4 -4
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +33 -42
- package/dest/tests/jest.d.ts +4 -4
- package/dest/tests/jest.js +9 -9
- package/dest/tests/mocks.d.ts +21 -11
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +62 -51
- 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 +6 -3
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +7 -2
- 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/in_tx.d.ts +3 -3
- 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 +5 -5
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +2 -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 +70 -19
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +64 -29
- 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 +26 -13
- 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 +32 -46
- package/src/block/block_parameter.ts +3 -3
- package/src/block/checkpointed_l2_block.ts +4 -4
- package/src/block/in_block.ts +8 -8
- package/src/block/index.ts +2 -1
- package/src/block/{l2_block_new.ts → l2_block.ts} +21 -13
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +84 -36
- package/src/block/l2_block_stream/interfaces.ts +8 -4
- package/src/block/l2_block_stream/l2_block_stream.ts +26 -6
- package/src/block/l2_block_stream/l2_tips_store_base.ts +27 -15
- package/src/block/test/l2_tips_store_test_suite.ts +13 -6
- package/src/checkpoint/checkpoint.ts +60 -23
- 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/node-rpc-config.ts +1 -1
- 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 +3 -4
- package/src/database-version/database_version.ts +87 -0
- package/src/database-version/version_manager.ts +1 -77
- package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
- package/src/epoch-helpers/index.ts +40 -1
- 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 +3 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/archiver.ts +27 -27
- package/src/interfaces/aztec-node-admin.ts +31 -9
- package/src/interfaces/aztec-node-debug.ts +40 -0
- package/src/interfaces/aztec-node.ts +107 -117
- package/src/interfaces/block-builder.ts +71 -14
- package/src/interfaces/client.ts +1 -0
- package/src/interfaces/configs.ts +37 -11
- 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 +32 -5
- package/src/interfaces/slasher.ts +4 -6
- package/src/interfaces/tx_provider.ts +2 -2
- package/src/interfaces/validator.ts +71 -38
- 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 +16 -28
- 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 +15 -15
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_keys.ts +2 -2
- package/src/keys/utils.ts +8 -4
- 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 +21 -18
- 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 -13
- 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 +26 -17
- package/src/p2p/checkpoint_attestation.ts +11 -10
- package/src/p2p/checkpoint_proposal.ts +72 -62
- 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/message_validator.ts +14 -2
- 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/stats/stats.ts +0 -2
- package/src/tests/factories.ts +32 -52
- package/src/tests/jest.ts +9 -9
- package/src/tests/mocks.ts +85 -46
- package/src/timetable/index.ts +346 -0
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/tx/block_header.ts +14 -5
- package/src/tx/capsule.ts +10 -2
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/global_variable_builder.ts +2 -3
- package/src/tx/global_variables.ts +3 -3
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +2 -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 +98 -29
- 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/block/l2_block_new.d.ts.map +0 -1
- 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/database-version/index.d.ts +0 -2
- package/dest/database-version/index.d.ts.map +0 -1
- package/dest/database-version/index.js +0 -1
- 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 -157
- 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/database-version/index.ts +0 -1
- package/src/l1-contracts/slash_factory.ts +0 -179
- package/src/note/notes_filter.ts +0 -38
- package/src/slashing/empire.ts +0 -102
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import type { L1TxRequest } from '@aztec/ethereum/l1-tx-utils';
|
|
2
|
-
import type { ViemClient } from '@aztec/ethereum/types';
|
|
3
|
-
import { tryExtractEvent } from '@aztec/ethereum/utils';
|
|
4
|
-
import { maxBigint } from '@aztec/foundation/bigint';
|
|
5
|
-
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
7
|
-
import { SlashFactoryAbi } from '@aztec/l1-artifacts/SlashFactoryAbi';
|
|
8
|
-
|
|
9
|
-
import { type GetContractReturnType, type Hex, type Log, encodeFunctionData, getContract } from 'viem';
|
|
10
|
-
|
|
11
|
-
import type { L1RollupConstants } from '../epoch-helpers/index.js';
|
|
12
|
-
import {
|
|
13
|
-
OffenseToBigInt,
|
|
14
|
-
type SlashPayload,
|
|
15
|
-
type ValidatorSlash,
|
|
16
|
-
type ValidatorSlashOffense,
|
|
17
|
-
bigIntToOffense,
|
|
18
|
-
} from '../slashing/index.js';
|
|
19
|
-
|
|
20
|
-
export class SlashFactoryContract {
|
|
21
|
-
private readonly logger = createLogger('contracts:slash_factory');
|
|
22
|
-
private readonly contract: GetContractReturnType<typeof SlashFactoryAbi, ViemClient>;
|
|
23
|
-
|
|
24
|
-
constructor(
|
|
25
|
-
public readonly client: ViemClient,
|
|
26
|
-
address: Hex | EthAddress,
|
|
27
|
-
) {
|
|
28
|
-
this.contract = getContract({
|
|
29
|
-
address: typeof address === 'string' ? address : address.toString(),
|
|
30
|
-
abi: SlashFactoryAbi,
|
|
31
|
-
client,
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
public get address() {
|
|
36
|
-
return EthAddress.fromString(this.contract.address);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
public buildCreatePayloadRequest(slashes: ValidatorSlash[]): L1TxRequest {
|
|
40
|
-
const sorted = this.sortSlashes(slashes);
|
|
41
|
-
|
|
42
|
-
return {
|
|
43
|
-
to: this.contract.address,
|
|
44
|
-
data: encodeFunctionData({
|
|
45
|
-
abi: SlashFactoryAbi,
|
|
46
|
-
functionName: 'createSlashPayload',
|
|
47
|
-
args: [
|
|
48
|
-
sorted.map(d => d.validator.toString()),
|
|
49
|
-
sorted.map(d => d.amount),
|
|
50
|
-
sorted.map(d => d.offenses.map(packValidatorSlashOffense)),
|
|
51
|
-
],
|
|
52
|
-
}),
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/** Tries to extract a SlashPayloadCreated event from the given logs. */
|
|
57
|
-
public tryExtractSlashPayloadCreatedEvent(logs: Log[]) {
|
|
58
|
-
return tryExtractEvent(logs, this.address.toString(), SlashFactoryAbi, 'SlashPayloadCreated');
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
public async getSlashPayloadCreatedEvents(): Promise<SlashPayload[]> {
|
|
62
|
-
const events = await this.contract.getEvents.SlashPayloadCreated();
|
|
63
|
-
return Promise.all(
|
|
64
|
-
events.map(async event => {
|
|
65
|
-
const { validators, amounts, offenses } = event.args;
|
|
66
|
-
const slashes: ValidatorSlash[] = validators!.map((validator, i) => ({
|
|
67
|
-
validator: EthAddress.fromString(validator),
|
|
68
|
-
amount: amounts![i],
|
|
69
|
-
offenses: offenses![i].map(unpackValidatorSlashOffense),
|
|
70
|
-
}));
|
|
71
|
-
|
|
72
|
-
const block = await this.client.getBlock({ blockNumber: event.blockNumber, includeTransactions: false });
|
|
73
|
-
return { address: EthAddress.fromString(event.args.payloadAddress!), slashes, timestamp: block.timestamp };
|
|
74
|
-
}),
|
|
75
|
-
);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Searches for a slash payload in the events emitted by the contract.
|
|
80
|
-
* This method cannot query for historical payload events, it queries for payloads that have not yet expired.
|
|
81
|
-
* @param payloadAddress The address of the payload to search for.
|
|
82
|
-
* @param constants The L1 rollup constants needed for time calculations.
|
|
83
|
-
*/
|
|
84
|
-
public async getSlashPayloadFromEvents(
|
|
85
|
-
payloadAddress: EthAddress,
|
|
86
|
-
settings: {
|
|
87
|
-
logsBatchSize?: number;
|
|
88
|
-
slashingRoundSize: number;
|
|
89
|
-
slashingPayloadLifetimeInRounds: number;
|
|
90
|
-
} & Pick<L1RollupConstants, 'slotDuration' | 'ethereumSlotDuration'>,
|
|
91
|
-
): Promise<Omit<SlashPayload, 'votes'> | undefined> {
|
|
92
|
-
// We query for the log where the payload was emitted walking backwards until we go past payload expiration time
|
|
93
|
-
// Note that all log queries require a block range, and RPC providers cap the max range (eg quicknode is 10k blocks).
|
|
94
|
-
const { slashingRoundSize, slashingPayloadLifetimeInRounds, slotDuration, ethereumSlotDuration } = settings;
|
|
95
|
-
const currentBlockNumber = await this.client.getBlockNumber({ cacheTime: 0 });
|
|
96
|
-
|
|
97
|
-
// Why the +1 below? Just for good measure. Better err on the safe side.
|
|
98
|
-
const earliestBlockNumber = maxBigint(
|
|
99
|
-
0n,
|
|
100
|
-
currentBlockNumber -
|
|
101
|
-
((BigInt(slashingPayloadLifetimeInRounds) + 1n) * BigInt(slashingRoundSize) * BigInt(slotDuration)) /
|
|
102
|
-
BigInt(ethereumSlotDuration),
|
|
103
|
-
);
|
|
104
|
-
|
|
105
|
-
this.logger.trace(
|
|
106
|
-
`Starting search for slash payload ${payloadAddress} from block ${currentBlockNumber} with earliest block ${earliestBlockNumber}`,
|
|
107
|
-
);
|
|
108
|
-
const batchSize = BigInt(settings.logsBatchSize ?? 10000);
|
|
109
|
-
let toBlock = currentBlockNumber;
|
|
110
|
-
|
|
111
|
-
do {
|
|
112
|
-
const fromBlock = maxBigint(earliestBlockNumber, toBlock - batchSize);
|
|
113
|
-
this.logger.trace(`Searching for slash payload ${payloadAddress} in blocks ${fromBlock} to ${toBlock}`);
|
|
114
|
-
const logs = await this.contract.getEvents.SlashPayloadCreated(
|
|
115
|
-
{ payloadAddress: payloadAddress.toString() },
|
|
116
|
-
{ fromBlock, toBlock, strict: true },
|
|
117
|
-
);
|
|
118
|
-
|
|
119
|
-
// We found the payload, return it
|
|
120
|
-
if (logs.length > 0) {
|
|
121
|
-
const log = logs[0];
|
|
122
|
-
const { validators, amounts, offenses } = log.args;
|
|
123
|
-
|
|
124
|
-
// Convert the data to our internal types
|
|
125
|
-
const slashes: ValidatorSlash[] = validators!.map((validator, i) => ({
|
|
126
|
-
validator: EthAddress.fromString(validator),
|
|
127
|
-
amount: amounts![i],
|
|
128
|
-
offenses: offenses![i].map(unpackValidatorSlashOffense),
|
|
129
|
-
}));
|
|
130
|
-
|
|
131
|
-
// Get the timestamp from the block
|
|
132
|
-
const block = await this.client.getBlock({ blockNumber: log.blockNumber, includeTransactions: false });
|
|
133
|
-
|
|
134
|
-
return { address: payloadAddress, slashes, timestamp: block.timestamp };
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
// If not found, we go back one batch
|
|
138
|
-
toBlock -= batchSize;
|
|
139
|
-
} while (toBlock > earliestBlockNumber);
|
|
140
|
-
|
|
141
|
-
return undefined;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
public async getAddressAndIsDeployed(
|
|
145
|
-
slashes: ValidatorSlash[],
|
|
146
|
-
): Promise<{ address: EthAddress; salt: Hex; isDeployed: boolean }> {
|
|
147
|
-
const sortedSlashes = this.sortSlashes(slashes);
|
|
148
|
-
const [address, salt, isDeployed] = await this.contract.read.getAddressAndIsDeployed([
|
|
149
|
-
sortedSlashes.map(s => s.validator.toString()),
|
|
150
|
-
sortedSlashes.map(s => s.amount),
|
|
151
|
-
sortedSlashes.map(s => s.offenses.map(packValidatorSlashOffense)),
|
|
152
|
-
]);
|
|
153
|
-
return { address: EthAddress.fromString(address), salt, isDeployed };
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
private sortSlashes(slashes: ValidatorSlash[]): ValidatorSlash[] {
|
|
157
|
-
const offenseSorter = (a: ValidatorSlashOffense, b: ValidatorSlashOffense) => {
|
|
158
|
-
return a.epochOrSlot === b.epochOrSlot ? a.offenseType - b.offenseType : Number(a.epochOrSlot - b.epochOrSlot);
|
|
159
|
-
};
|
|
160
|
-
return [...slashes]
|
|
161
|
-
.map(slash => ({ ...slash, offenses: [...slash.offenses].sort(offenseSorter) }))
|
|
162
|
-
.sort((a, b) => a.validator.toString().localeCompare(b.validator.toString()));
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
export function packValidatorSlashOffense(offense: ValidatorSlashOffense): bigint {
|
|
167
|
-
const offenseId = OffenseToBigInt[offense.offenseType];
|
|
168
|
-
if (offenseId > (1 << 8) - 1) {
|
|
169
|
-
throw new Error(`Offense type ${offense.offenseType} cannot be packed into 8 bits`);
|
|
170
|
-
}
|
|
171
|
-
return (offenseId << 120n) + offense.epochOrSlot;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
export function unpackValidatorSlashOffense(packed: bigint): ValidatorSlashOffense {
|
|
175
|
-
const offenseId = (packed >> 120n) & 0xffn;
|
|
176
|
-
const epochOrSlot = packed & ((1n << 120n) - 1n);
|
|
177
|
-
const offenseType = bigIntToOffense(offenseId);
|
|
178
|
-
return { epochOrSlot, offenseType };
|
|
179
|
-
}
|
package/src/note/notes_filter.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
|
|
3
|
-
import { z } from 'zod';
|
|
4
|
-
|
|
5
|
-
import type { AztecAddress } from '../aztec-address/index.js';
|
|
6
|
-
import { type ZodFor, schemas } from '../schemas/index.js';
|
|
7
|
-
import { NoteStatus } from './note_status.js';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* A filter used to fetch notes.
|
|
11
|
-
* @remarks This filter is applied as an intersection of all its params.
|
|
12
|
-
*/
|
|
13
|
-
export type NotesFilter = {
|
|
14
|
-
/**
|
|
15
|
-
* The contract address the note belongs to.
|
|
16
|
-
* @remarks Providing a contract address is required as we need that information to trigger private state sync.
|
|
17
|
-
*/
|
|
18
|
-
contractAddress: AztecAddress;
|
|
19
|
-
/** The owner of the note. */
|
|
20
|
-
owner?: AztecAddress;
|
|
21
|
-
/** The specific storage location of the note on the contract. */
|
|
22
|
-
storageSlot?: Fr;
|
|
23
|
-
/** The status of the note. Defaults to 'ACTIVE'. */
|
|
24
|
-
status?: NoteStatus;
|
|
25
|
-
/** The siloed nullifier for the note. */
|
|
26
|
-
siloedNullifier?: Fr;
|
|
27
|
-
/** The scopes in which to get notes from. This defaults to all scopes. */
|
|
28
|
-
scopes?: AztecAddress[];
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export const NotesFilterSchema: ZodFor<NotesFilter> = z.object({
|
|
32
|
-
contractAddress: schemas.AztecAddress,
|
|
33
|
-
owner: schemas.AztecAddress.optional(),
|
|
34
|
-
storageSlot: schemas.Fr.optional(),
|
|
35
|
-
status: z.nativeEnum(NoteStatus).optional(),
|
|
36
|
-
siloedNullifier: schemas.Fr.optional(),
|
|
37
|
-
scopes: z.array(schemas.AztecAddress).optional(),
|
|
38
|
-
});
|
package/src/slashing/empire.ts
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
|
|
3
|
-
import { getRoundForSlot, getRoundsForEpoch } from './helpers.js';
|
|
4
|
-
import type { Offense, OffenseIdentifier, SlashPayload, SlashPayloadRound, ValidatorSlash } from './types.js';
|
|
5
|
-
import { OffenseType } from './types.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Returns true if the offense is uncontroversial as in it can be verified via L1 data alone,
|
|
9
|
-
* and does not depend on the local view of the node of the L2 p2p network.
|
|
10
|
-
* @param offense - The offense type to check
|
|
11
|
-
*/
|
|
12
|
-
export function isOffenseUncontroversial(offense: OffenseType): boolean {
|
|
13
|
-
return (
|
|
14
|
-
offense === OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS ||
|
|
15
|
-
offense === OffenseType.PROPOSED_INCORRECT_ATTESTATIONS ||
|
|
16
|
-
offense === OffenseType.ATTESTED_DESCENDANT_OF_INVALID
|
|
17
|
-
);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/** Extracts offense identifiers (validator, epoch, offense type) from an Empire-based SlashPayload */
|
|
21
|
-
export function getOffenseIdentifiersFromPayload(payload: SlashPayload | SlashPayloadRound): OffenseIdentifier[] {
|
|
22
|
-
return payload.slashes.flatMap((slash: ValidatorSlash) =>
|
|
23
|
-
slash.offenses.map(o => ({
|
|
24
|
-
validator: slash.validator,
|
|
25
|
-
offenseType: o.offenseType,
|
|
26
|
-
epochOrSlot: o.epochOrSlot,
|
|
27
|
-
})),
|
|
28
|
-
);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/** Creates ValidatorSlashes used to create an Empire-based SlashPayload from a set of Offenses */
|
|
32
|
-
export function offensesToValidatorSlash(offenses: Offense[]): ValidatorSlash[] {
|
|
33
|
-
return offenses.map(offense => ({
|
|
34
|
-
validator: offense.validator,
|
|
35
|
-
amount: offense.amount,
|
|
36
|
-
offenses: [{ epochOrSlot: offense.epochOrSlot, offenseType: offense.offenseType }],
|
|
37
|
-
}));
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Sorts offense data by:
|
|
42
|
-
* - Uncontroversial offenses first
|
|
43
|
-
* - Slash amount (descending)
|
|
44
|
-
* - Epoch or slot (ascending, ie oldest first)
|
|
45
|
-
* - Validator address (ascending)
|
|
46
|
-
* - Offense type (descending)
|
|
47
|
-
*/
|
|
48
|
-
export function offenseDataComparator(a: Offense, b: Offense): number {
|
|
49
|
-
return (
|
|
50
|
-
Number(isOffenseUncontroversial(b.offenseType)) - Number(isOffenseUncontroversial(a.offenseType)) ||
|
|
51
|
-
Number(b.amount - a.amount) ||
|
|
52
|
-
Number(a.epochOrSlot - b.epochOrSlot) ||
|
|
53
|
-
a.validator.toString().localeCompare(b.validator.toString()) ||
|
|
54
|
-
Number(b.offenseType) - Number(a.offenseType)
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Returns the first round in which the offense is eligible for being included in an Empire-based slash payload.
|
|
60
|
-
* Should be equal to to the first round that starts strictly after the offense becomes detectable.
|
|
61
|
-
*/
|
|
62
|
-
export function getFirstEligibleRoundForOffense(
|
|
63
|
-
offense: OffenseIdentifier,
|
|
64
|
-
constants: { slashingRoundSize: number; epochDuration: number; proofSubmissionEpochs: number },
|
|
65
|
-
): bigint {
|
|
66
|
-
// TODO(palla/slash): Check for off-by-ones
|
|
67
|
-
switch (offense.offenseType) {
|
|
68
|
-
// Inactivity is detected at the end of the epoch, so we flag it as detected in the first fresh round for the next epoch
|
|
69
|
-
case OffenseType.INACTIVITY: {
|
|
70
|
-
const epoch = offense.epochOrSlot;
|
|
71
|
-
const detectedEpoch = EpochNumber.fromBigInt(epoch + 1n);
|
|
72
|
-
return getRoundsForEpoch(detectedEpoch, constants)[0] + 1n;
|
|
73
|
-
}
|
|
74
|
-
// These offenses are detected once an epoch is pruned, which happens after the proof submission window
|
|
75
|
-
case OffenseType.VALID_EPOCH_PRUNED:
|
|
76
|
-
case OffenseType.DATA_WITHHOLDING: {
|
|
77
|
-
// TODO(palla/slash): Check for off-by-ones especially here
|
|
78
|
-
const epoch = offense.epochOrSlot;
|
|
79
|
-
const detectedEpoch = EpochNumber.fromBigInt(epoch + BigInt(constants.proofSubmissionEpochs));
|
|
80
|
-
return getRoundsForEpoch(detectedEpoch, constants)[0] + 1n;
|
|
81
|
-
}
|
|
82
|
-
// These offenses are detected immediately in the slot they occur, so we assume they are detected in the first round for the following slot
|
|
83
|
-
case OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS:
|
|
84
|
-
case OffenseType.PROPOSED_INCORRECT_ATTESTATIONS:
|
|
85
|
-
case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
|
|
86
|
-
case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL: {
|
|
87
|
-
const slot = offense.epochOrSlot;
|
|
88
|
-
const detectedSlot = SlotNumber.fromBigInt(slot + 1n);
|
|
89
|
-
return getRoundForSlot(detectedSlot, constants).round + 1n;
|
|
90
|
-
}
|
|
91
|
-
// Assume these are epoch-based offenses, even though we should never have to process these
|
|
92
|
-
case OffenseType.UNKNOWN: {
|
|
93
|
-
const epoch = offense.epochOrSlot;
|
|
94
|
-
const detectedEpoch = EpochNumber.fromBigInt(epoch + 1n);
|
|
95
|
-
return getRoundsForEpoch(detectedEpoch, constants)[0] + 1n;
|
|
96
|
-
}
|
|
97
|
-
default: {
|
|
98
|
-
const _: never = offense.offenseType;
|
|
99
|
-
throw new Error(`Unknown offense type: ${offense.offenseType}`);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { RegistryContract } from '@aztec/ethereum/contracts';
|
|
2
|
-
import type { ViemClient } from '@aztec/ethereum/types';
|
|
3
|
-
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
5
|
-
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
6
|
-
import { fileURLToPath } from '@aztec/foundation/url';
|
|
7
|
-
|
|
8
|
-
import { EventEmitter } from 'events';
|
|
9
|
-
import { readFileSync } from 'fs';
|
|
10
|
-
import { dirname, resolve } from 'path';
|
|
11
|
-
import { isDeepStrictEqual } from 'util';
|
|
12
|
-
import { z } from 'zod';
|
|
13
|
-
|
|
14
|
-
const updateConfigSchema = z.object({
|
|
15
|
-
version: z.string().optional(),
|
|
16
|
-
publicTelemetry: z.any().optional(),
|
|
17
|
-
config: z.any().optional(),
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
export type EventMap = {
|
|
21
|
-
newRollupVersion: [{ currentVersion: bigint; latestVersion: bigint }];
|
|
22
|
-
newNodeVersion: [{ currentVersion: string; latestVersion: string }];
|
|
23
|
-
updateNodeConfig: [object];
|
|
24
|
-
updatePublicTelemetryConfig: [object];
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
type Config = {
|
|
28
|
-
baseURL: URL;
|
|
29
|
-
nodeVersion?: string;
|
|
30
|
-
checkIntervalMs?: number;
|
|
31
|
-
registryContractAddress: EthAddress;
|
|
32
|
-
publicClient: ViemClient;
|
|
33
|
-
fetch?: typeof fetch;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
export class UpdateChecker extends EventEmitter<EventMap> {
|
|
37
|
-
private runningPromise: RunningPromise;
|
|
38
|
-
private lastPatchedConfig: object = {};
|
|
39
|
-
private lastPatchedPublicTelemetryConfig: object = {};
|
|
40
|
-
|
|
41
|
-
constructor(
|
|
42
|
-
private updatesUrl: URL,
|
|
43
|
-
private nodeVersion: string | undefined,
|
|
44
|
-
private rollupVersion: bigint,
|
|
45
|
-
private fetch: typeof globalThis.fetch,
|
|
46
|
-
private getLatestRollupVersion: () => Promise<bigint>,
|
|
47
|
-
private checkIntervalMs = 10 * 60_000, // every 10 mins
|
|
48
|
-
private log = createLogger('foundation:update-check'),
|
|
49
|
-
) {
|
|
50
|
-
super();
|
|
51
|
-
this.runningPromise = new RunningPromise(this.runChecks, this.log, this.checkIntervalMs);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
public static async new(config: Config): Promise<UpdateChecker> {
|
|
55
|
-
const registryContract = new RegistryContract(config.publicClient, config.registryContractAddress);
|
|
56
|
-
const getLatestRollupVersion = () => registryContract.getRollupVersions().then(versions => versions.at(-1)!);
|
|
57
|
-
|
|
58
|
-
return new UpdateChecker(
|
|
59
|
-
config.baseURL,
|
|
60
|
-
config.nodeVersion ?? getPackageVersion(),
|
|
61
|
-
await getLatestRollupVersion(),
|
|
62
|
-
config.fetch ?? fetch,
|
|
63
|
-
getLatestRollupVersion,
|
|
64
|
-
config.checkIntervalMs,
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
public start(): void {
|
|
69
|
-
if (this.runningPromise.isRunning()) {
|
|
70
|
-
this.log.debug(`Can't start update checker again`);
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
this.log.info('Starting update checker', {
|
|
75
|
-
nodeVersion: this.nodeVersion,
|
|
76
|
-
rollupVersion: this.rollupVersion,
|
|
77
|
-
});
|
|
78
|
-
this.runningPromise.start();
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
public stop(): Promise<void> {
|
|
82
|
-
if (!this.runningPromise.isRunning()) {
|
|
83
|
-
this.log.debug(`Can't stop update checker because it is not running`);
|
|
84
|
-
return Promise.resolve();
|
|
85
|
-
}
|
|
86
|
-
return this.runningPromise.stop();
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
public trigger(): Promise<void> {
|
|
90
|
-
return this.runningPromise.trigger();
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
private runChecks = async (): Promise<void> => {
|
|
94
|
-
await Promise.all([this.checkRollupVersion(), this.checkConfig()]);
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
private async checkRollupVersion(): Promise<void> {
|
|
98
|
-
try {
|
|
99
|
-
const canonicalRollupVersion = await this.getLatestRollupVersion();
|
|
100
|
-
if (canonicalRollupVersion !== this.rollupVersion) {
|
|
101
|
-
this.log.debug('New canonical rollup version', {
|
|
102
|
-
currentVersion: this.rollupVersion,
|
|
103
|
-
latestVersion: canonicalRollupVersion,
|
|
104
|
-
});
|
|
105
|
-
this.emit('newRollupVersion', { currentVersion: this.rollupVersion, latestVersion: canonicalRollupVersion });
|
|
106
|
-
}
|
|
107
|
-
} catch (err) {
|
|
108
|
-
this.log.warn(`Failed to check if there is a new rollup`, err);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
private async checkConfig(): Promise<void> {
|
|
113
|
-
try {
|
|
114
|
-
const response = await this.fetch(this.updatesUrl);
|
|
115
|
-
const body = await response.json();
|
|
116
|
-
if (!response.ok) {
|
|
117
|
-
this.log.warn(`Unexpected HTTP response checking for updates`, {
|
|
118
|
-
status: response.status,
|
|
119
|
-
body: await response.text(),
|
|
120
|
-
url: this.updatesUrl,
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
const { version, config, publicTelemetry } = updateConfigSchema.parse(body);
|
|
125
|
-
|
|
126
|
-
if (this.nodeVersion && version && version !== this.nodeVersion) {
|
|
127
|
-
this.log.debug('New node version', { currentVersion: this.nodeVersion, latestVersion: version });
|
|
128
|
-
this.emit('newNodeVersion', { currentVersion: this.nodeVersion, latestVersion: version });
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
if (config && Object.keys(config).length > 0 && !isDeepStrictEqual(config, this.lastPatchedConfig)) {
|
|
132
|
-
this.log.debug('New node config', { config });
|
|
133
|
-
this.lastPatchedConfig = config;
|
|
134
|
-
this.emit('updateNodeConfig', config);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
if (
|
|
138
|
-
publicTelemetry &&
|
|
139
|
-
Object.keys(publicTelemetry).length > 0 &&
|
|
140
|
-
!isDeepStrictEqual(publicTelemetry, this.lastPatchedPublicTelemetryConfig)
|
|
141
|
-
) {
|
|
142
|
-
this.log.debug('New metrics config', { config });
|
|
143
|
-
this.lastPatchedPublicTelemetryConfig = publicTelemetry;
|
|
144
|
-
this.emit('updatePublicTelemetryConfig', publicTelemetry);
|
|
145
|
-
}
|
|
146
|
-
} catch (err) {
|
|
147
|
-
this.log.warn(`Failed to check if there is an update`, err);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Returns package version.
|
|
154
|
-
*/
|
|
155
|
-
export function getPackageVersion(): string | undefined {
|
|
156
|
-
try {
|
|
157
|
-
const releasePleaseManifestPath = resolve(
|
|
158
|
-
dirname(fileURLToPath(import.meta.url)),
|
|
159
|
-
'../../../../.release-please-manifest.json',
|
|
160
|
-
);
|
|
161
|
-
const version = JSON.parse(readFileSync(releasePleaseManifestPath).toString())['.'];
|
|
162
|
-
return version;
|
|
163
|
-
} catch {
|
|
164
|
-
return undefined;
|
|
165
|
-
}
|
|
166
|
-
}
|