@aztec/stdlib 0.0.1-commit.aada20e3 → 0.0.1-commit.b2a5d0dd1
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 +64 -7
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/event_selector.d.ts +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.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +4 -6
- 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 +5 -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 +98 -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 +35 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +77 -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 +11 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +13 -3
- package/dest/interfaces/aztec-node-admin.d.ts +122 -47
- 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-client.d.ts +6 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +7 -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 +129 -64
- 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/block_headers_hash.d.ts +1 -1
- package/dest/rollup/block_headers_hash.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.js +8 -2
- package/dest/rollup/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 +5 -10
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +33 -48
- 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/nullifier_leaf.d.ts +2 -1
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +3 -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/types/shared.d.ts +1 -10
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +0 -9
- 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/vks/verification_key.d.ts +2 -137
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +5 -126
- package/dest/world-state/genesis_data.d.ts +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/dest/world-state/world_state_revision.d.ts +8 -1
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +7 -1
- package/package.json +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 +85 -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 +5 -3
- 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 +20 -1
- package/src/gas/gas_settings.ts +65 -12
- package/src/gas/index.ts +1 -0
- package/src/ha-signing/config.ts +159 -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 +75 -10
- package/src/hash/map_slot.ts +2 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/archiver.ts +18 -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-client.ts +10 -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/block_headers_hash.ts +11 -2
- 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 +32 -60
- package/src/tests/mocks.ts +60 -30
- package/src/timetable/index.ts +346 -0
- package/src/trees/nullifier_leaf.ts +4 -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/types/shared.ts +0 -10
- 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/vks/verification_key.ts +5 -184
- package/src/world-state/genesis_data.ts +15 -0
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +9 -1
- package/dest/abi/mocked_keys.d.ts +0 -2
- package/dest/abi/mocked_keys.d.ts.map +0 -1
- package/dest/abi/mocked_keys.js +0 -1
- package/dest/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/abi/mocked_keys.ts +0 -2
- 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
|
@@ -19,3 +19,48 @@ import { CommitteeAttestation } from '../block/index.js';
|
|
|
19
19
|
});
|
|
20
20
|
return orderedAttestations;
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Trims attestations to the minimum required number to save L1 calldata gas.
|
|
24
|
+
* Each signature costs 65 bytes of calldata vs 20 bytes for just an address.
|
|
25
|
+
*
|
|
26
|
+
* Priority order for keeping attestations:
|
|
27
|
+
* 1. The proposer's attestation (required by L1 contract - MissingProposerSignature revert)
|
|
28
|
+
* 2. Attestations from the local node's validator keys
|
|
29
|
+
* 3. Remaining attestations filled to reach the required count
|
|
30
|
+
*/ export function trimAttestations(attestations, required, proposerAddress, localAddresses) {
|
|
31
|
+
if (attestations.length <= required) {
|
|
32
|
+
return attestations;
|
|
33
|
+
}
|
|
34
|
+
const proposerAttestation = [];
|
|
35
|
+
const localAttestations = [];
|
|
36
|
+
const otherAttestations = [];
|
|
37
|
+
for (const attestation of attestations){
|
|
38
|
+
const sender = attestation.getSender();
|
|
39
|
+
if (!sender) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (sender.equals(proposerAddress)) {
|
|
43
|
+
proposerAttestation.push(attestation);
|
|
44
|
+
} else if (localAddresses.some((addr)=>addr.equals(sender))) {
|
|
45
|
+
localAttestations.push(attestation);
|
|
46
|
+
} else {
|
|
47
|
+
otherAttestations.push(attestation);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const result = [
|
|
51
|
+
...proposerAttestation
|
|
52
|
+
];
|
|
53
|
+
for (const att of localAttestations){
|
|
54
|
+
if (result.length >= required) {
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
result.push(att);
|
|
58
|
+
}
|
|
59
|
+
for (const att of otherAttestations){
|
|
60
|
+
if (result.length >= required) {
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
result.push(att);
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { BlockNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
1
|
+
import { BlockNumber, type CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { type BaseBuffer32, Buffer32 } from '@aztec/foundation/buffer';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
5
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
6
6
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
7
|
-
import { type SigningContext } from '@aztec/validator-ha-signer/types';
|
|
8
7
|
import type { L2Block } from '../block/l2_block.js';
|
|
9
8
|
import type { L2BlockInfo } from '../block/l2_block_info.js';
|
|
9
|
+
import { type SigningContext } from '../ha-signing/index.js';
|
|
10
10
|
import { BlockHeader } from '../tx/block_header.js';
|
|
11
11
|
import { TxHash } from '../tx/index.js';
|
|
12
12
|
import type { Tx } from '../tx/tx.js';
|
|
@@ -14,9 +14,7 @@ import { Gossipable } from './gossipable.js';
|
|
|
14
14
|
import { SignatureDomainSeparator } from './signature_utils.js';
|
|
15
15
|
import { SignedTxs } from './signed_txs.js';
|
|
16
16
|
import { TopicType } from './topic_type.js';
|
|
17
|
-
export
|
|
18
|
-
constructor(hash: Buffer);
|
|
19
|
-
}
|
|
17
|
+
export type { BlockProposalHash } from '@aztec/foundation/branded-types';
|
|
20
18
|
export type BlockProposalOptions = {
|
|
21
19
|
/**
|
|
22
20
|
* Whether to include the tx objects along with the block proposal.
|
|
@@ -66,7 +64,7 @@ export declare class BlockProposal extends Gossipable {
|
|
|
66
64
|
signature: Signature,
|
|
67
65
|
/** The signed transactions in the block (optional, for DA guarantees) */
|
|
68
66
|
signedTxs?: SignedTxs | undefined);
|
|
69
|
-
generateP2PMessageIdentifier(): Promise<
|
|
67
|
+
generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
|
|
70
68
|
get archive(): Fr;
|
|
71
69
|
get slotNumber(): SlotNumber;
|
|
72
70
|
get blockNumber(): BlockNumber;
|
|
@@ -78,7 +76,7 @@ export declare class BlockProposal extends Gossipable {
|
|
|
78
76
|
* The signature is over: blockHeader + indexWithinCheckpoint + inHash + archiveRoot + txHashes
|
|
79
77
|
*/
|
|
80
78
|
getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
|
|
81
|
-
static createProposalFromSigner(blockHeader: BlockHeader, indexWithinCheckpoint: IndexWithinCheckpoint, inHash: Fr, archiveRoot: Fr, txHashes: TxHash[], txs: Tx[] | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<BlockProposal>;
|
|
79
|
+
static createProposalFromSigner(blockHeader: BlockHeader, checkpointNumber: CheckpointNumber, indexWithinCheckpoint: IndexWithinCheckpoint, inHash: Fr, archiveRoot: Fr, txHashes: TxHash[], txs: Tx[] | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<BlockProposal>;
|
|
82
80
|
/**
|
|
83
81
|
* Lazily evaluate the sender of the proposal; result is cached.
|
|
84
82
|
* If there's signedTxs, also verifies the signedTxs sender matches the block proposal sender.
|
|
@@ -134,4 +132,4 @@ export declare class BlockProposal extends Gossipable {
|
|
|
134
132
|
*/
|
|
135
133
|
withoutSignedTxs(): BlockProposal;
|
|
136
134
|
}
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxLQUFLLGdCQUFnQixFQUNyQixxQkFBcUIsRUFDckIsVUFBVSxFQUNYLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3ZFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHdCQUF3QixFQUd6QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,17 @@
|
|
|
1
|
-
import { IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
|
|
2
|
-
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
1
|
+
import { BlockProposalHash, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
|
|
3
2
|
import { keccak256 } from '@aztec/foundation/crypto/keccak';
|
|
4
3
|
import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
5
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
5
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
7
6
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
8
|
-
import { DutyType } from '@aztec/validator-ha-signer/types';
|
|
9
7
|
import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
|
|
8
|
+
import { DutyType } from '../ha-signing/index.js';
|
|
10
9
|
import { BlockHeader } from '../tx/block_header.js';
|
|
11
10
|
import { TxHash } from '../tx/index.js';
|
|
12
11
|
import { Gossipable } from './gossipable.js';
|
|
13
12
|
import { SignatureDomainSeparator, getHashedSignaturePayload, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
|
|
14
13
|
import { SignedTxs } from './signed_txs.js';
|
|
15
14
|
import { TopicType } from './topic_type.js';
|
|
16
|
-
export class BlockProposalHash extends Buffer32 {
|
|
17
|
-
constructor(hash){
|
|
18
|
-
super(hash);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
15
|
/**
|
|
22
16
|
* A block proposal is created by the leader of the chain proposing a sequence of transactions
|
|
23
17
|
* to be included in a block within a checkpoint. This is used for non-last blocks in a slot.
|
|
@@ -32,13 +26,11 @@ export class BlockProposalHash extends Buffer32 {
|
|
|
32
26
|
signedTxs;
|
|
33
27
|
static p2pTopic = TopicType.block_proposal;
|
|
34
28
|
sender;
|
|
35
|
-
constructor(/** The per-block header containing block state and global variables */ blockHeader,
|
|
36
|
-
// See the block-proposal-handler, we have a lot of extra validations to check this is correct, so maybe we can avoid storing it here.
|
|
37
|
-
/** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
|
|
29
|
+
constructor(/** The per-block header containing block state and global variables */ blockHeader, /** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
|
|
38
30
|
super(), this.blockHeader = blockHeader, this.indexWithinCheckpoint = indexWithinCheckpoint, this.inHash = inHash, this.archiveRoot = archiveRoot, this.txHashes = txHashes, this.signature = signature, this.signedTxs = signedTxs;
|
|
39
31
|
}
|
|
40
32
|
generateP2PMessageIdentifier() {
|
|
41
|
-
return Promise.resolve(
|
|
33
|
+
return Promise.resolve(BlockProposalHash.fromBuffer(keccak256(this.signature.toBuffer())));
|
|
42
34
|
}
|
|
43
35
|
get archive() {
|
|
44
36
|
return this.archiveRoot;
|
|
@@ -75,13 +67,14 @@ export class BlockProposalHash extends Buffer32 {
|
|
|
75
67
|
this.txHashes
|
|
76
68
|
]);
|
|
77
69
|
}
|
|
78
|
-
static async createProposalFromSigner(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, payloadSigner) {
|
|
70
|
+
static async createProposalFromSigner(blockHeader, checkpointNumber, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, payloadSigner) {
|
|
79
71
|
// Create a temporary proposal to get the payload to sign
|
|
80
72
|
const tempProposal = new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, Signature.empty());
|
|
81
73
|
// Create the block signing context
|
|
82
74
|
const blockContext = {
|
|
83
75
|
slot: blockHeader.globalVariables.slotNumber,
|
|
84
76
|
blockNumber: blockHeader.globalVariables.blockNumber,
|
|
77
|
+
checkpointNumber,
|
|
85
78
|
blockIndexWithinCheckpoint: indexWithinCheckpoint,
|
|
86
79
|
dutyType: DutyType.BLOCK_PROPOSAL
|
|
87
80
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import {
|
|
2
|
+
import type { BaseBuffer32 } from '@aztec/foundation/buffer';
|
|
3
3
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
5
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
@@ -8,9 +8,7 @@ import type { ZodFor } from '../schemas/index.js';
|
|
|
8
8
|
import { ConsensusPayload } from './consensus_payload.js';
|
|
9
9
|
import { Gossipable } from './gossipable.js';
|
|
10
10
|
import { TopicType } from './topic_type.js';
|
|
11
|
-
export
|
|
12
|
-
constructor(hash: Buffer);
|
|
13
|
-
}
|
|
11
|
+
export type { CheckpointAttestationHash } from '@aztec/foundation/branded-types';
|
|
14
12
|
/**
|
|
15
13
|
* CheckpointAttestation
|
|
16
14
|
*
|
|
@@ -35,7 +33,7 @@ export declare class CheckpointAttestation extends Gossipable {
|
|
|
35
33
|
/** The signature from the checkpoint proposer */
|
|
36
34
|
proposerSignature: Signature);
|
|
37
35
|
static get schema(): ZodFor<CheckpointAttestation>;
|
|
38
|
-
generateP2PMessageIdentifier(): Promise<
|
|
36
|
+
generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
|
|
39
37
|
get archive(): Fr;
|
|
40
38
|
get slotNumber(): SlotNumber;
|
|
41
39
|
/**
|
|
@@ -73,9 +71,10 @@ export declare class CheckpointAttestation extends Gossipable {
|
|
|
73
71
|
totalManaUsed: bigint;
|
|
74
72
|
};
|
|
75
73
|
archive: `0x${string}`;
|
|
74
|
+
feeAssetPriceModifier: string;
|
|
76
75
|
};
|
|
77
76
|
signature: `0x${string}`;
|
|
78
77
|
proposerSignature: `0x${string}`;
|
|
79
78
|
};
|
|
80
79
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkIsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEYsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHN0QsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxZQUFZLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRjs7Ozs7R0FLRztBQUNILHFCQUFhLHFCQUFzQixTQUFRLFVBQVU7SUFPakQsaUVBQWlFO2FBQ2pELE9BQU8sRUFBRSxnQkFBZ0I7SUFFekMsK0NBQStDO2FBQy9CLFNBQVMsRUFBRSxTQUFTO0lBRXBDLGlEQUFpRDthQUNqQyxpQkFBaUIsRUFBRSxTQUFTO0lBYjlDLE9BQWdCLFFBQVEsWUFBb0M7SUFFNUQsT0FBTyxDQUFDLE1BQU0sQ0FBeUI7SUFDdkMsT0FBTyxDQUFDLFFBQVEsQ0FBeUI7SUFFekM7SUFDRSxpRUFBaUU7SUFDakQsT0FBTyxFQUFFLGdCQUFnQjtJQUV6QywrQ0FBK0M7SUFDL0IsU0FBUyxFQUFFLFNBQVM7SUFFcEMsaURBQWlEO0lBQ2pDLGlCQUFpQixFQUFFLFNBQVMsRUFHN0M7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQVFqRDtJQUVRLDRCQUE0QixJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FFN0Q7SUFFRCxJQUFJLE9BQU8sSUFBSSxFQUFFLENBRWhCO0lBRUQsSUFBSSxVQUFVLElBQUksVUFBVSxDQUUzQjtJQUVEOzs7T0FHRztJQUNILFNBQVMsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQVlsQztJQUVEOzs7T0FHRztJQUNILFdBQVcsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQWdCcEM7SUFFRCxVQUFVLElBQUksTUFBTSxDQUVuQjtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxxQkFBcUIsQ0FPbkU7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLHFCQUFxQixDQUVwQztJQUVELE1BQU0sQ0FBQyxNQUFNLElBQUkscUJBQXFCLENBRXJDO0lBRUQsT0FBTyxJQUFJLE1BQU0sQ0FFaEI7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQU1SO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"checkpoint_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IAOjD,iEAAiE;aACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;aAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;aACjC,iBAAiB,EAAE,SAAS;IAb9C,OAAgB,QAAQ,YAAoC;IAE5D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAyB;IAEzC;IACE,iEAAiE;IACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;IAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;IACjC,iBAAiB,EAAE,SAAS,EAG7C;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAQjD;IAEQ,4BAA4B,IAAI,OAAO,CAAC,YAAY,CAAC,CAE7D;IAED,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAYlC;IAED;;;OAGG;IACH,WAAW,IAAI,UAAU,GAAG,SAAS,CAgBpC;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAOnE;IAED,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAEpC;IAED,MAAM,CAAC,MAAM,IAAI,qBAAqB,CAErC;IAED,OAAO,IAAI,MAAM,CAEhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;;MAMR;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CheckpointAttestationHash } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { keccak256 } from '@aztec/foundation/crypto/keccak';
|
|
3
3
|
import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
4
4
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
@@ -9,11 +9,6 @@ import { ConsensusPayload } from './consensus_payload.js';
|
|
|
9
9
|
import { Gossipable } from './gossipable.js';
|
|
10
10
|
import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
|
|
11
11
|
import { TopicType } from './topic_type.js';
|
|
12
|
-
export class CheckpointAttestationHash extends Buffer32 {
|
|
13
|
-
constructor(hash){
|
|
14
|
-
super(hash);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
12
|
/**
|
|
18
13
|
* CheckpointAttestation
|
|
19
14
|
*
|
|
@@ -37,7 +32,7 @@ export class CheckpointAttestationHash extends Buffer32 {
|
|
|
37
32
|
}).transform((obj)=>new CheckpointAttestation(obj.payload, obj.signature, obj.proposerSignature));
|
|
38
33
|
}
|
|
39
34
|
generateP2PMessageIdentifier() {
|
|
40
|
-
return Promise.resolve(
|
|
35
|
+
return Promise.resolve(CheckpointAttestationHash.fromBuffer(keccak256(this.signature.toBuffer())));
|
|
41
36
|
}
|
|
42
37
|
get archive() {
|
|
43
38
|
return this.payload.archive;
|
|
@@ -65,7 +60,7 @@ export class CheckpointAttestationHash extends Buffer32 {
|
|
|
65
60
|
// Create a temporary CheckpointProposal to recover the proposer address.
|
|
66
61
|
// We need to use CheckpointProposal because it has a different getPayloadToSign()
|
|
67
62
|
// implementation than ConsensusPayload (uses serializeToBuffer vs ABI encoding).
|
|
68
|
-
const proposal = new CheckpointProposal(this.payload.header, this.payload.archive, this.proposerSignature);
|
|
63
|
+
const proposal = new CheckpointProposal(this.payload.header, this.payload.archive, this.payload.feeAssetPriceModifier, this.proposerSignature);
|
|
69
64
|
// Cache the proposer for later use
|
|
70
65
|
this.proposer = proposal.getSender();
|
|
71
66
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
1
|
+
import { type CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { type BaseBuffer32, Buffer32 } from '@aztec/foundation/buffer';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
5
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
6
6
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
7
|
-
import { type SigningContext } from '@aztec/validator-ha-signer/types';
|
|
8
7
|
import type { L2BlockInfo } from '../block/l2_block_info.js';
|
|
8
|
+
import { type SigningContext } from '../ha-signing/index.js';
|
|
9
9
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
10
10
|
import { BlockHeader } from '../tx/block_header.js';
|
|
11
11
|
import { TxHash } from '../tx/index.js';
|
|
@@ -15,9 +15,7 @@ import { Gossipable } from './gossipable.js';
|
|
|
15
15
|
import { SignatureDomainSeparator } from './signature_utils.js';
|
|
16
16
|
import { SignedTxs } from './signed_txs.js';
|
|
17
17
|
import { TopicType } from './topic_type.js';
|
|
18
|
-
export
|
|
19
|
-
constructor(hash: Buffer);
|
|
20
|
-
}
|
|
18
|
+
export type { CheckpointProposalHash } from '@aztec/foundation/branded-types';
|
|
21
19
|
export type CheckpointProposalOptions = {
|
|
22
20
|
/**
|
|
23
21
|
* Whether to include the tx objects along with the block proposal.
|
|
@@ -58,7 +56,9 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
58
56
|
readonly checkpointHeader: CheckpointHeader;
|
|
59
57
|
/** Archive root after this checkpoint is applied */
|
|
60
58
|
readonly archive: Fr;
|
|
61
|
-
/** The
|
|
59
|
+
/** The fee asset price modifier in basis points (from oracle) */
|
|
60
|
+
readonly feeAssetPriceModifier: bigint;
|
|
61
|
+
/** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */
|
|
62
62
|
readonly signature: Signature;
|
|
63
63
|
/** Optional last block info, including its own signature for BlockProposal extraction */
|
|
64
64
|
readonly lastBlock?: CheckpointLastBlock | undefined;
|
|
@@ -69,29 +69,33 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
69
69
|
checkpointHeader: CheckpointHeader,
|
|
70
70
|
/** Archive root after this checkpoint is applied */
|
|
71
71
|
archive: Fr,
|
|
72
|
-
/** The
|
|
72
|
+
/** The fee asset price modifier in basis points (from oracle) */
|
|
73
|
+
feeAssetPriceModifier: bigint,
|
|
74
|
+
/** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */
|
|
73
75
|
signature: Signature,
|
|
74
76
|
/** Optional last block info, including its own signature for BlockProposal extraction */
|
|
75
77
|
lastBlock?: CheckpointLastBlock | undefined);
|
|
76
|
-
generateP2PMessageIdentifier(): Promise<
|
|
78
|
+
generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
|
|
77
79
|
get slotNumber(): SlotNumber;
|
|
78
|
-
get blockNumber(): BlockNumber;
|
|
79
|
-
/** Convenience getter for txHashes from lastBlock */
|
|
80
|
-
get txHashes(): TxHash[];
|
|
81
|
-
/** Convenience getter for txs from lastBlock */
|
|
82
|
-
get txs(): Tx[] | undefined;
|
|
83
80
|
/**
|
|
84
81
|
* Extract a BlockProposal from the last block info.
|
|
85
82
|
* Uses inHash from checkpointHeader.contentCommitment.inHash
|
|
86
83
|
*/
|
|
87
84
|
getBlockProposal(): BlockProposal | undefined;
|
|
88
85
|
toBlockInfo(): Omit<L2BlockInfo, 'blockNumber'>;
|
|
86
|
+
toCheckpointInfo(): {
|
|
87
|
+
slotNumber: SlotNumber;
|
|
88
|
+
archive: Fr;
|
|
89
|
+
lastBlockNumber: import("@aztec/foundation/branded-types").BlockNumber | undefined;
|
|
90
|
+
lastBlockIndex: IndexWithinCheckpoint | undefined;
|
|
91
|
+
blockHeadersHash: Fr;
|
|
92
|
+
};
|
|
89
93
|
/**
|
|
90
94
|
* Get the payload to sign for this checkpoint proposal.
|
|
91
|
-
* The signature is over the checkpoint header + archive root (for consensus).
|
|
95
|
+
* The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
|
|
92
96
|
*/
|
|
93
97
|
getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
|
|
94
|
-
static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr,
|
|
98
|
+
static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, checkpointNumber: CheckpointNumber, feeAssetPriceModifier: bigint, lastBlockProposal: BlockProposal | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<CheckpointProposal>;
|
|
95
99
|
/**
|
|
96
100
|
* Lazily evaluate the sender of the proposal; result is cached.
|
|
97
101
|
* If there's a lastBlock, also verifies the block proposal sender matches the checkpoint sender.
|
|
@@ -123,6 +127,7 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
123
127
|
};
|
|
124
128
|
archive: `0x${string}`;
|
|
125
129
|
signature: `0x${string}`;
|
|
130
|
+
feeAssetPriceModifier: string;
|
|
126
131
|
lastBlock: {
|
|
127
132
|
blockHeader: {
|
|
128
133
|
lastArchive: `0x${string}`;
|
|
@@ -136,7 +141,7 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
136
141
|
globalVariables: {
|
|
137
142
|
chainId: number;
|
|
138
143
|
version: number;
|
|
139
|
-
blockNumber: BlockNumber;
|
|
144
|
+
blockNumber: import("@aztec/foundation/branded-types").BlockNumber;
|
|
140
145
|
slotNumber: SlotNumber;
|
|
141
146
|
timestamp: bigint;
|
|
142
147
|
coinbase: `0x${string}`;
|
|
@@ -164,4 +169,4 @@ export declare class CheckpointProposal extends Gossipable {
|
|
|
164
169
|
* This type makes it clear that lastBlock and getBlockProposal() are not available.
|
|
165
170
|
*/
|
|
166
171
|
export type CheckpointProposalCore = Omit<CheckpointProposal, 'lastBlock' | 'getBlockProposal' | 'toCore'>;
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQUVyQixxQkFBcUIsRUFDckIsVUFBVSxFQUNYLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3ZFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
1
|
+
import { CheckpointProposalHash, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
|
|
3
2
|
import { keccak256 } from '@aztec/foundation/crypto/keccak';
|
|
4
3
|
import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
5
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
5
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
7
|
-
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
8
|
-
import { DutyType } from '@aztec/validator-ha-signer/types';
|
|
6
|
+
import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
9
7
|
import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
|
|
8
|
+
import { DutyType } from '../ha-signing/index.js';
|
|
10
9
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
11
10
|
import { BlockHeader } from '../tx/block_header.js';
|
|
12
11
|
import { TxHash } from '../tx/index.js';
|
|
@@ -15,12 +14,6 @@ import { Gossipable } from './gossipable.js';
|
|
|
15
14
|
import { SignatureDomainSeparator, getHashedSignaturePayload, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
|
|
16
15
|
import { SignedTxs } from './signed_txs.js';
|
|
17
16
|
import { TopicType } from './topic_type.js';
|
|
18
|
-
// REFACTOR(palla): Use a branded type instead of a subclass of Buffer32
|
|
19
|
-
export class CheckpointProposalHash extends Buffer32 {
|
|
20
|
-
constructor(hash){
|
|
21
|
-
super(hash);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
17
|
/**
|
|
25
18
|
* A checkpoint proposal is created by the leader of the chain for the last block in a checkpoint.
|
|
26
19
|
* It includes the aggregated checkpoint header that validators will attest to, plus optionally
|
|
@@ -28,31 +21,20 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
28
21
|
*/ export class CheckpointProposal extends Gossipable {
|
|
29
22
|
checkpointHeader;
|
|
30
23
|
archive;
|
|
24
|
+
feeAssetPriceModifier;
|
|
31
25
|
signature;
|
|
32
26
|
lastBlock;
|
|
33
27
|
static p2pTopic = TopicType.checkpoint_proposal;
|
|
34
28
|
sender;
|
|
35
|
-
constructor(/** The aggregated checkpoint header for consensus */ checkpointHeader, /** Archive root after this checkpoint is applied */ archive, /** The proposer's signature over the checkpoint payload (checkpointHeader + archive) */ signature, /** Optional last block info, including its own signature for BlockProposal extraction */ lastBlock){
|
|
36
|
-
super(), this.checkpointHeader = checkpointHeader, this.archive = archive, this.signature = signature, this.lastBlock = lastBlock;
|
|
29
|
+
constructor(/** The aggregated checkpoint header for consensus */ checkpointHeader, /** Archive root after this checkpoint is applied */ archive, /** The fee asset price modifier in basis points (from oracle) */ feeAssetPriceModifier, /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */ signature, /** Optional last block info, including its own signature for BlockProposal extraction */ lastBlock){
|
|
30
|
+
super(), this.checkpointHeader = checkpointHeader, this.archive = archive, this.feeAssetPriceModifier = feeAssetPriceModifier, this.signature = signature, this.lastBlock = lastBlock;
|
|
37
31
|
}
|
|
38
32
|
generateP2PMessageIdentifier() {
|
|
39
|
-
return Promise.resolve(
|
|
33
|
+
return Promise.resolve(CheckpointProposalHash.fromBuffer(keccak256(this.signature.toBuffer())));
|
|
40
34
|
}
|
|
41
35
|
get slotNumber() {
|
|
42
36
|
return this.checkpointHeader.slotNumber;
|
|
43
37
|
}
|
|
44
|
-
get blockNumber() {
|
|
45
|
-
if (!this.lastBlock) {
|
|
46
|
-
throw new Error('Cannot get blockNumber without lastBlock');
|
|
47
|
-
}
|
|
48
|
-
return this.lastBlock.blockHeader.getBlockNumber();
|
|
49
|
-
}
|
|
50
|
-
/** Convenience getter for txHashes from lastBlock */ get txHashes() {
|
|
51
|
-
return this.lastBlock?.txHashes ?? [];
|
|
52
|
-
}
|
|
53
|
-
/** Convenience getter for txs from lastBlock */ get txs() {
|
|
54
|
-
return this.lastBlock?.signedTxs?.txs;
|
|
55
|
-
}
|
|
56
38
|
/**
|
|
57
39
|
* Extract a BlockProposal from the last block info.
|
|
58
40
|
* Uses inHash from checkpointHeader.contentCommitment.inHash
|
|
@@ -74,37 +56,37 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
74
56
|
txCount: this.lastBlock.txHashes.length
|
|
75
57
|
};
|
|
76
58
|
}
|
|
59
|
+
toCheckpointInfo() {
|
|
60
|
+
return {
|
|
61
|
+
slotNumber: this.slotNumber,
|
|
62
|
+
archive: this.archive,
|
|
63
|
+
lastBlockNumber: this.lastBlock?.blockHeader.getBlockNumber(),
|
|
64
|
+
lastBlockIndex: this.lastBlock?.indexWithinCheckpoint,
|
|
65
|
+
blockHeadersHash: this.checkpointHeader.blockHeadersHash
|
|
66
|
+
};
|
|
67
|
+
}
|
|
77
68
|
/**
|
|
78
69
|
* Get the payload to sign for this checkpoint proposal.
|
|
79
|
-
* The signature is over the checkpoint header + archive root (for consensus).
|
|
70
|
+
* The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
|
|
80
71
|
*/ getPayloadToSign(domainSeparator) {
|
|
81
72
|
return serializeToBuffer([
|
|
82
73
|
domainSeparator,
|
|
83
74
|
this.checkpointHeader,
|
|
84
|
-
this.archive
|
|
75
|
+
this.archive,
|
|
76
|
+
serializeSignedBigInt(this.feeAssetPriceModifier)
|
|
85
77
|
]);
|
|
86
78
|
}
|
|
87
|
-
static async createProposalFromSigner(checkpointHeader, archiveRoot,
|
|
79
|
+
static async createProposalFromSigner(checkpointHeader, archiveRoot, checkpointNumber, feeAssetPriceModifier, lastBlockProposal, payloadSigner) {
|
|
88
80
|
// Sign the checkpoint payload with CHECKPOINT_PROPOSAL duty type
|
|
89
|
-
const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, Signature.empty()
|
|
81
|
+
const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, Signature.empty());
|
|
90
82
|
const checkpointHash = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.checkpointProposal);
|
|
91
83
|
const checkpointContext = {
|
|
92
84
|
slot: checkpointHeader.slotNumber,
|
|
93
|
-
|
|
85
|
+
checkpointNumber,
|
|
94
86
|
dutyType: DutyType.CHECKPOINT_PROPOSAL
|
|
95
87
|
};
|
|
96
88
|
const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
|
|
97
|
-
|
|
98
|
-
return new CheckpointProposal(checkpointHeader, archiveRoot, checkpointSignature);
|
|
99
|
-
}
|
|
100
|
-
const lastBlockProposal = await BlockProposal.createProposalFromSigner(lastBlockInfo.blockHeader, lastBlockInfo.indexWithinCheckpoint, checkpointHeader.inHash, archiveRoot, lastBlockInfo.txHashes, lastBlockInfo.txs, payloadSigner);
|
|
101
|
-
return new CheckpointProposal(checkpointHeader, archiveRoot, checkpointSignature, {
|
|
102
|
-
blockHeader: lastBlockInfo.blockHeader,
|
|
103
|
-
indexWithinCheckpoint: lastBlockInfo.indexWithinCheckpoint,
|
|
104
|
-
txHashes: lastBlockInfo.txHashes,
|
|
105
|
-
signature: lastBlockProposal.signature,
|
|
106
|
-
signedTxs: lastBlockProposal.signedTxs
|
|
107
|
-
});
|
|
89
|
+
return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature, lastBlockProposal);
|
|
108
90
|
}
|
|
109
91
|
/**
|
|
110
92
|
* Lazily evaluate the sender of the proposal; result is cached.
|
|
@@ -134,6 +116,7 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
134
116
|
const buffer = [
|
|
135
117
|
this.checkpointHeader,
|
|
136
118
|
this.archive,
|
|
119
|
+
serializeSignedBigInt(this.feeAssetPriceModifier),
|
|
137
120
|
this.signature
|
|
138
121
|
];
|
|
139
122
|
if (this.lastBlock) {
|
|
@@ -158,6 +141,7 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
158
141
|
const reader = BufferReader.asReader(buf);
|
|
159
142
|
const checkpointHeader = reader.readObject(CheckpointHeader);
|
|
160
143
|
const archive = reader.readObject(Fr);
|
|
144
|
+
const feeAssetPriceModifier = reader.readInt256();
|
|
161
145
|
const signature = reader.readObject(Signature);
|
|
162
146
|
const hasLastBlock = reader.readNumber();
|
|
163
147
|
if (hasLastBlock) {
|
|
@@ -176,7 +160,7 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
176
160
|
signedTxs = SignedTxs.fromBuffer(reader);
|
|
177
161
|
}
|
|
178
162
|
}
|
|
179
|
-
return new CheckpointProposal(checkpointHeader, archive, signature, {
|
|
163
|
+
return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, {
|
|
180
164
|
blockHeader,
|
|
181
165
|
indexWithinCheckpoint,
|
|
182
166
|
txHashes,
|
|
@@ -184,20 +168,20 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
184
168
|
signedTxs
|
|
185
169
|
});
|
|
186
170
|
}
|
|
187
|
-
return new CheckpointProposal(checkpointHeader, archive, signature);
|
|
171
|
+
return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature);
|
|
188
172
|
}
|
|
189
173
|
getSize() {
|
|
190
|
-
let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 4; /* hasLastBlock flag */
|
|
174
|
+
let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 8 /* feeAssetPriceModifier */ + 4; /* hasLastBlock flag */
|
|
191
175
|
if (this.lastBlock) {
|
|
192
176
|
size += this.lastBlock.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.lastBlock.signature.getSize() + 4 /* txHashes.length */ + this.lastBlock.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.lastBlock.signedTxs ? this.lastBlock.signedTxs.getSize() : 0);
|
|
193
177
|
}
|
|
194
178
|
return size;
|
|
195
179
|
}
|
|
196
180
|
static empty() {
|
|
197
|
-
return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, Signature.empty());
|
|
181
|
+
return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, 0n, Signature.empty());
|
|
198
182
|
}
|
|
199
183
|
static random() {
|
|
200
|
-
return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), Signature.random(), {
|
|
184
|
+
return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), 0n, Signature.random(), {
|
|
201
185
|
blockHeader: BlockHeader.random(),
|
|
202
186
|
indexWithinCheckpoint: IndexWithinCheckpoint(Math.floor(Math.random() * 5)),
|
|
203
187
|
txHashes: [
|
|
@@ -212,6 +196,7 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
212
196
|
checkpointHeader: this.checkpointHeader.toInspect(),
|
|
213
197
|
archive: this.archive.toString(),
|
|
214
198
|
signature: this.signature.toString(),
|
|
199
|
+
feeAssetPriceModifier: this.feeAssetPriceModifier.toString(),
|
|
215
200
|
lastBlock: this.lastBlock ? {
|
|
216
201
|
blockHeader: this.lastBlock.blockHeader.toInspect(),
|
|
217
202
|
indexWithinCheckpoint: this.lastBlock.indexWithinCheckpoint,
|
|
@@ -224,6 +209,6 @@ export class CheckpointProposalHash extends Buffer32 {
|
|
|
224
209
|
* Returns a copy of this proposal without lastBlock info, as a CheckpointProposalCore.
|
|
225
210
|
* Used when the lastBlock has been extracted and stored separately.
|
|
226
211
|
*/ toCore() {
|
|
227
|
-
return new CheckpointProposal(this.checkpointHeader, this.archive, this.signature);
|
|
212
|
+
return new CheckpointProposal(this.checkpointHeader, this.archive, this.feeAssetPriceModifier, this.signature);
|
|
228
213
|
}
|
|
229
214
|
}
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
Prover = 1
|
|
4
|
-
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X3R5cGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY2xpZW50X3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQVksYUFBYTtJQUV2QixJQUFJLElBQUE7SUFFSixNQUFNLElBQUE7Q0FDUCJ9
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X3R5cGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY2xpZW50X3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_type.d.ts","sourceRoot":"","sources":["../../src/p2p/client_type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client_type.d.ts","sourceRoot":"","sources":["../../src/p2p/client_type.ts"],"names":[],"mappings":""}
|
package/dest/p2p/client_type.js
CHANGED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export var P2PClientType = /*#__PURE__*/ function(P2PClientType) {
|
|
2
|
-
// Full p2p clients will subscribe to all gossip topics
|
|
3
|
-
P2PClientType[P2PClientType["Full"] = 0] = "Full";
|
|
4
|
-
// Prove p2p clients will only subscribe to transaction and proving topics
|
|
5
|
-
P2PClientType[P2PClientType["Prover"] = 1] = "Prover";
|
|
6
|
-
return P2PClientType;
|
|
7
|
-
}({});
|