@aztec/p2p 0.0.1-commit.fce3e4f → 0.0.1-commit.ff7989d6c
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/bootstrap/bootstrap.d.ts +4 -3
- package/dest/bootstrap/bootstrap.d.ts.map +1 -1
- package/dest/bootstrap/bootstrap.js +4 -4
- package/dest/client/factory.d.ts +7 -6
- package/dest/client/factory.d.ts.map +1 -1
- package/dest/client/factory.js +53 -15
- package/dest/client/interface.d.ts +58 -25
- package/dest/client/interface.d.ts.map +1 -1
- package/dest/client/p2p_client.d.ts +51 -56
- package/dest/client/p2p_client.d.ts.map +1 -1
- package/dest/client/p2p_client.js +608 -264
- package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts +2 -0
- package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts.map +1 -0
- package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +305 -0
- package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts +73 -0
- package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts.map +1 -0
- package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.js +8 -0
- package/dest/config.d.ts +38 -13
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +31 -20
- package/dest/errors/tx-pool.error.d.ts +8 -0
- package/dest/errors/tx-pool.error.d.ts.map +1 -0
- package/dest/errors/tx-pool.error.js +9 -0
- package/dest/index.d.ts +2 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +111 -76
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool.js +441 -3
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +2 -2
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +529 -289
- package/dest/mem_pools/attestation_pool/index.d.ts +2 -3
- package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/index.js +1 -2
- package/dest/mem_pools/attestation_pool/mocks.d.ts +11 -8
- package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/mocks.js +17 -13
- package/dest/mem_pools/index.d.ts +3 -2
- package/dest/mem_pools/index.d.ts.map +1 -1
- package/dest/mem_pools/index.js +1 -1
- package/dest/mem_pools/instrumentation.d.ts +7 -1
- package/dest/mem_pools/instrumentation.d.ts.map +1 -1
- package/dest/mem_pools/instrumentation.js +31 -13
- package/dest/mem_pools/interface.d.ts +6 -7
- package/dest/mem_pools/interface.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +37 -27
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +314 -335
- package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +32 -0
- package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +112 -0
- package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +157 -0
- package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +52 -0
- package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts +16 -0
- package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.js +122 -0
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +17 -0
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +84 -0
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +19 -0
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +78 -0
- package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +26 -0
- package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.js +84 -0
- package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts +25 -0
- package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.js +57 -0
- package/dest/mem_pools/tx_pool/index.d.ts +1 -2
- package/dest/mem_pools/tx_pool/index.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/index.js +0 -1
- package/dest/mem_pools/tx_pool/priority.d.ts +5 -1
- package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/priority.js +6 -1
- package/dest/mem_pools/tx_pool/tx_pool.d.ts +11 -6
- package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +30 -24
- package/dest/mem_pools/tx_pool_v2/archive/index.d.ts +2 -0
- package/dest/mem_pools/tx_pool_v2/archive/index.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/archive/index.js +1 -0
- package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts +43 -0
- package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/archive/tx_archive.js +103 -0
- package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +104 -0
- package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/deleted_pool.js +251 -0
- package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +47 -0
- package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +128 -0
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +17 -0
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +93 -0
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +19 -0
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +95 -0
- package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +10 -0
- package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/eviction/index.js +11 -0
- package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +174 -0
- package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +25 -0
- package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts +15 -0
- package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +65 -0
- package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts +17 -0
- package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +93 -0
- package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +16 -0
- package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +78 -0
- package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +20 -0
- package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +73 -0
- package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +15 -0
- package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +19 -0
- package/dest/mem_pools/tx_pool_v2/index.d.ts +6 -0
- package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/index.js +5 -0
- package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts +15 -0
- package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/instrumentation.js +43 -0
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +211 -0
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/interfaces.js +9 -0
- package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +97 -0
- package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/tx_metadata.js +152 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts +26 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.js +70 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +108 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +355 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +60 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +161 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +77 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +896 -0
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +4 -4
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
- package/dest/msg_validators/attestation_validator/attestation_validator.js +52 -19
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +7 -7
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +22 -13
- package/dest/msg_validators/clock_tolerance.d.ts +21 -0
- package/dest/msg_validators/clock_tolerance.d.ts.map +1 -0
- package/dest/msg_validators/clock_tolerance.js +37 -0
- package/dest/msg_validators/index.d.ts +2 -2
- package/dest/msg_validators/index.d.ts.map +1 -1
- package/dest/msg_validators/index.js +1 -1
- package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +9 -0
- package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -0
- package/dest/msg_validators/proposal_validator/block_proposal_validator.js +6 -0
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +9 -0
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -0
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +6 -0
- package/dest/msg_validators/proposal_validator/index.d.ts +4 -0
- package/dest/msg_validators/proposal_validator/index.d.ts.map +1 -0
- package/dest/msg_validators/proposal_validator/index.js +3 -0
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +13 -0
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -0
- package/dest/msg_validators/proposal_validator/proposal_validator.js +104 -0
- package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +23 -0
- package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +1 -0
- package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +212 -0
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +3 -3
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/archive_cache.d.ts +3 -3
- package/dest/msg_validators/tx_validator/archive_cache.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/archive_cache.js +1 -1
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts +20 -6
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/block_header_validator.js +4 -3
- package/dest/msg_validators/tx_validator/data_validator.d.ts +3 -1
- package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/data_validator.js +4 -1
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +15 -4
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/double_spend_validator.js +7 -6
- package/dest/msg_validators/tx_validator/factory.d.ts +10 -4
- package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/factory.js +22 -12
- package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +10 -0
- package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/fee_payer_balance.js +20 -0
- package/dest/msg_validators/tx_validator/gas_validator.d.ts +3 -2
- package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/gas_validator.js +11 -16
- package/dest/msg_validators/tx_validator/index.d.ts +2 -1
- package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/index.js +1 -0
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts +4 -3
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/metadata_validator.js +2 -2
- package/dest/msg_validators/tx_validator/phases_validator.d.ts +3 -2
- package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/phases_validator.js +3 -3
- package/dest/msg_validators/tx_validator/size_validator.d.ts +8 -0
- package/dest/msg_validators/tx_validator/size_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/size_validator.js +23 -0
- package/dest/msg_validators/tx_validator/test_utils.d.ts +2 -2
- package/dest/msg_validators/tx_validator/test_utils.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +23 -5
- package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/timestamp_validator.js +8 -8
- package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts +3 -2
- package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/tx_permitted_validator.js +2 -2
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +3 -2
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/tx_proof_validator.js +2 -2
- package/dest/services/data_store.d.ts +1 -1
- package/dest/services/data_store.d.ts.map +1 -1
- package/dest/services/data_store.js +10 -6
- package/dest/services/discv5/discV5_service.js +1 -1
- package/dest/services/dummy_service.d.ts +28 -3
- package/dest/services/dummy_service.d.ts.map +1 -1
- package/dest/services/dummy_service.js +51 -0
- package/dest/services/encoding.d.ts +2 -2
- package/dest/services/encoding.d.ts.map +1 -1
- package/dest/services/encoding.js +10 -8
- package/dest/services/gossipsub/index.d.ts +3 -0
- package/dest/services/gossipsub/index.d.ts.map +1 -0
- package/dest/services/gossipsub/index.js +2 -0
- package/dest/services/gossipsub/scoring.d.ts +21 -3
- package/dest/services/gossipsub/scoring.d.ts.map +1 -1
- package/dest/services/gossipsub/scoring.js +24 -7
- package/dest/services/gossipsub/topic_score_params.d.ts +173 -0
- package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -0
- package/dest/services/gossipsub/topic_score_params.js +346 -0
- package/dest/services/index.d.ts +2 -1
- package/dest/services/index.d.ts.map +1 -1
- package/dest/services/index.js +1 -0
- package/dest/services/libp2p/instrumentation.d.ts +1 -1
- package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
- package/dest/services/libp2p/instrumentation.js +30 -72
- package/dest/services/libp2p/libp2p_service.d.ts +109 -36
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +988 -326
- package/dest/services/peer-manager/metrics.d.ts +7 -2
- package/dest/services/peer-manager/metrics.d.ts.map +1 -1
- package/dest/services/peer-manager/metrics.js +33 -21
- package/dest/services/peer-manager/peer_manager.d.ts +2 -2
- package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_manager.js +4 -12
- package/dest/services/peer-manager/peer_scoring.d.ts +1 -1
- package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_scoring.js +32 -6
- package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +48 -0
- package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -0
- package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +562 -0
- package/dest/services/reqresp/batch-tx-requester/config.d.ts +17 -0
- package/dest/services/reqresp/batch-tx-requester/config.d.ts.map +1 -0
- package/dest/services/reqresp/batch-tx-requester/config.js +27 -0
- package/dest/services/reqresp/batch-tx-requester/interface.d.ts +46 -0
- package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -0
- package/dest/services/reqresp/batch-tx-requester/interface.js +1 -0
- package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +34 -0
- package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -0
- package/dest/services/reqresp/batch-tx-requester/missing_txs.js +130 -0
- package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +54 -0
- package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -0
- package/dest/services/reqresp/batch-tx-requester/peer_collection.js +139 -0
- package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts +20 -0
- package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts.map +1 -0
- package/dest/services/reqresp/batch-tx-requester/tx_validator.js +21 -0
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +22 -3
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +63 -4
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +2 -1
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
- package/dest/services/reqresp/connection-sampler/connection_sampler.js +12 -0
- package/dest/services/reqresp/constants.d.ts +12 -0
- package/dest/services/reqresp/constants.d.ts.map +1 -0
- package/dest/services/reqresp/constants.js +7 -0
- package/dest/services/reqresp/interface.d.ts +13 -2
- package/dest/services/reqresp/interface.d.ts.map +1 -1
- package/dest/services/reqresp/interface.js +16 -2
- package/dest/services/reqresp/metrics.d.ts +6 -5
- package/dest/services/reqresp/metrics.d.ts.map +1 -1
- package/dest/services/reqresp/metrics.js +17 -21
- package/dest/services/reqresp/protocols/auth.d.ts +2 -2
- package/dest/services/reqresp/protocols/auth.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/auth.js +2 -2
- package/dest/services/reqresp/protocols/block.d.ts +1 -1
- package/dest/services/reqresp/protocols/block.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block.js +3 -2
- package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +5 -1
- package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block_txs/bitvector.js +12 -0
- package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +7 -5
- package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +27 -9
- package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +30 -7
- package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +60 -14
- package/dest/services/reqresp/protocols/status.d.ts +5 -4
- package/dest/services/reqresp/protocols/status.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/status.js +7 -3
- package/dest/services/reqresp/protocols/tx.d.ts +8 -3
- package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/tx.js +20 -0
- package/dest/services/reqresp/reqresp.d.ts +6 -1
- package/dest/services/reqresp/reqresp.d.ts.map +1 -1
- package/dest/services/reqresp/reqresp.js +471 -50
- package/dest/services/service.d.ts +55 -3
- package/dest/services/service.d.ts.map +1 -1
- package/dest/services/tx_collection/config.d.ts +22 -1
- package/dest/services/tx_collection/config.d.ts.map +1 -1
- package/dest/services/tx_collection/config.js +56 -2
- package/dest/services/tx_collection/fast_tx_collection.d.ts +10 -6
- package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
- package/dest/services/tx_collection/fast_tx_collection.js +71 -44
- package/dest/services/tx_collection/file_store_tx_collection.d.ts +53 -0
- package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -0
- package/dest/services/tx_collection/file_store_tx_collection.js +167 -0
- package/dest/services/tx_collection/file_store_tx_source.d.ts +37 -0
- package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -0
- package/dest/services/tx_collection/file_store_tx_source.js +90 -0
- package/dest/services/tx_collection/index.d.ts +3 -1
- package/dest/services/tx_collection/index.d.ts.map +1 -1
- package/dest/services/tx_collection/index.js +2 -0
- package/dest/services/tx_collection/instrumentation.d.ts +1 -1
- package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
- package/dest/services/tx_collection/instrumentation.js +11 -13
- package/dest/services/tx_collection/missing_txs_tracker.d.ts +32 -0
- package/dest/services/tx_collection/missing_txs_tracker.d.ts.map +1 -0
- package/dest/services/tx_collection/missing_txs_tracker.js +27 -0
- package/dest/services/tx_collection/proposal_tx_collector.d.ts +49 -0
- package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -0
- package/dest/services/tx_collection/proposal_tx_collector.js +50 -0
- package/dest/services/tx_collection/slow_tx_collection.d.ts +9 -4
- package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
- package/dest/services/tx_collection/slow_tx_collection.js +60 -26
- package/dest/services/tx_collection/tx_collection.d.ts +31 -17
- package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
- package/dest/services/tx_collection/tx_collection.js +79 -7
- package/dest/services/tx_collection/tx_collection_sink.d.ts +18 -8
- package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
- package/dest/services/tx_collection/tx_collection_sink.js +26 -29
- package/dest/services/tx_collection/tx_source.d.ts +8 -3
- package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
- package/dest/services/tx_collection/tx_source.js +19 -2
- package/dest/services/tx_file_store/config.d.ts +16 -0
- package/dest/services/tx_file_store/config.d.ts.map +1 -0
- package/dest/services/tx_file_store/config.js +22 -0
- package/dest/services/tx_file_store/index.d.ts +4 -0
- package/dest/services/tx_file_store/index.d.ts.map +1 -0
- package/dest/services/tx_file_store/index.js +3 -0
- package/dest/services/tx_file_store/instrumentation.d.ts +15 -0
- package/dest/services/tx_file_store/instrumentation.d.ts.map +1 -0
- package/dest/services/tx_file_store/instrumentation.js +29 -0
- package/dest/services/tx_file_store/tx_file_store.d.ts +48 -0
- package/dest/services/tx_file_store/tx_file_store.d.ts.map +1 -0
- package/dest/services/tx_file_store/tx_file_store.js +152 -0
- package/dest/services/tx_provider.d.ts +6 -4
- package/dest/services/tx_provider.d.ts.map +1 -1
- package/dest/services/tx_provider.js +16 -6
- package/dest/services/tx_provider_instrumentation.d.ts +5 -2
- package/dest/services/tx_provider_instrumentation.d.ts.map +1 -1
- package/dest/services/tx_provider_instrumentation.js +14 -14
- package/dest/test-helpers/index.d.ts +3 -1
- package/dest/test-helpers/index.d.ts.map +1 -1
- package/dest/test-helpers/index.js +2 -0
- package/dest/test-helpers/make-test-p2p-clients.d.ts +3 -3
- package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
- package/dest/test-helpers/mock-pubsub.d.ts +29 -2
- package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
- package/dest/test-helpers/mock-pubsub.js +103 -2
- package/dest/test-helpers/mock-tx-helpers.js +1 -1
- package/dest/test-helpers/reqresp-nodes.d.ts +2 -2
- package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
- package/dest/test-helpers/reqresp-nodes.js +2 -1
- package/dest/test-helpers/test_tx_provider.d.ts +40 -0
- package/dest/test-helpers/test_tx_provider.d.ts.map +1 -0
- package/dest/test-helpers/test_tx_provider.js +41 -0
- package/dest/test-helpers/testbench-utils.d.ts +163 -0
- package/dest/test-helpers/testbench-utils.d.ts.map +1 -0
- package/dest/test-helpers/testbench-utils.js +366 -0
- package/dest/testbench/p2p_client_testbench_worker.d.ts +28 -2
- package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
- package/dest/testbench/p2p_client_testbench_worker.js +221 -126
- package/dest/testbench/worker_client_manager.d.ts +51 -6
- package/dest/testbench/worker_client_manager.d.ts.map +1 -1
- package/dest/testbench/worker_client_manager.js +226 -39
- package/dest/util.d.ts +2 -2
- package/dest/util.d.ts.map +1 -1
- package/package.json +18 -18
- package/src/bootstrap/bootstrap.ts +7 -4
- package/src/client/factory.ts +98 -31
- package/src/client/interface.ts +76 -25
- package/src/client/p2p_client.ts +283 -307
- package/src/client/test/tx_proposal_collector/README.md +227 -0
- package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +346 -0
- package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.ts +43 -0
- package/src/config.ts +59 -29
- package/src/errors/tx-pool.error.ts +12 -0
- package/src/index.ts +1 -0
- package/src/mem_pools/attestation_pool/attestation_pool.ts +510 -78
- package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +614 -322
- package/src/mem_pools/attestation_pool/index.ts +9 -2
- package/src/mem_pools/attestation_pool/mocks.ts +22 -15
- package/src/mem_pools/index.ts +4 -1
- package/src/mem_pools/instrumentation.ts +39 -14
- package/src/mem_pools/interface.ts +5 -7
- package/src/mem_pools/tx_pool/README.md +270 -0
- package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +367 -371
- package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +132 -0
- package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +208 -0
- package/src/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.ts +162 -0
- package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +104 -0
- package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +93 -0
- package/src/mem_pools/tx_pool/eviction/low_priority_eviction_rule.ts +106 -0
- package/src/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.ts +75 -0
- package/src/mem_pools/tx_pool/index.ts +0 -1
- package/src/mem_pools/tx_pool/priority.ts +8 -1
- package/src/mem_pools/tx_pool/tx_pool.ts +11 -5
- package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +23 -17
- package/src/mem_pools/tx_pool_v2/README.md +275 -0
- package/src/mem_pools/tx_pool_v2/archive/index.ts +1 -0
- package/src/mem_pools/tx_pool_v2/archive/tx_archive.ts +120 -0
- package/src/mem_pools/tx_pool_v2/deleted_pool.ts +321 -0
- package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +160 -0
- package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +121 -0
- package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +122 -0
- package/src/mem_pools/tx_pool_v2/eviction/index.ts +27 -0
- package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +209 -0
- package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +74 -0
- package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +101 -0
- package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +91 -0
- package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +90 -0
- package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +31 -0
- package/src/mem_pools/tx_pool_v2/index.ts +12 -0
- package/src/mem_pools/tx_pool_v2/instrumentation.ts +69 -0
- package/src/mem_pools/tx_pool_v2/interfaces.ts +242 -0
- package/src/mem_pools/tx_pool_v2/tx_metadata.ts +242 -0
- package/src/mem_pools/tx_pool_v2/tx_pool_bench_metrics.ts +77 -0
- package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +444 -0
- package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +223 -0
- package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +1069 -0
- package/src/msg_validators/attestation_validator/attestation_validator.ts +37 -22
- package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +21 -18
- package/src/msg_validators/clock_tolerance.ts +51 -0
- package/src/msg_validators/index.ts +1 -1
- package/src/msg_validators/proposal_validator/block_proposal_validator.ts +10 -0
- package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +13 -0
- package/src/msg_validators/proposal_validator/index.ts +3 -0
- package/src/msg_validators/proposal_validator/proposal_validator.ts +92 -0
- package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +230 -0
- package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +2 -2
- package/src/msg_validators/tx_validator/archive_cache.ts +3 -3
- package/src/msg_validators/tx_validator/block_header_validator.ts +21 -8
- package/src/msg_validators/tx_validator/data_validator.ts +18 -6
- package/src/msg_validators/tx_validator/double_spend_validator.ts +15 -9
- package/src/msg_validators/tx_validator/factory.ts +67 -25
- package/src/msg_validators/tx_validator/fee_payer_balance.ts +40 -0
- package/src/msg_validators/tx_validator/gas_validator.ts +17 -28
- package/src/msg_validators/tx_validator/index.ts +1 -0
- package/src/msg_validators/tx_validator/metadata_validator.ts +19 -8
- package/src/msg_validators/tx_validator/phases_validator.ts +5 -3
- package/src/msg_validators/tx_validator/size_validator.ts +22 -0
- package/src/msg_validators/tx_validator/test_utils.ts +1 -1
- package/src/msg_validators/tx_validator/timestamp_validator.ts +30 -19
- package/src/msg_validators/tx_validator/tx_permitted_validator.ts +8 -3
- package/src/msg_validators/tx_validator/tx_proof_validator.ts +8 -3
- package/src/services/data_store.ts +10 -7
- package/src/services/discv5/discV5_service.ts +1 -1
- package/src/services/dummy_service.ts +68 -1
- package/src/services/encoding.ts +9 -7
- package/src/services/gossipsub/README.md +641 -0
- package/src/services/gossipsub/index.ts +2 -0
- package/src/services/gossipsub/scoring.ts +29 -5
- package/src/services/gossipsub/topic_score_params.ts +487 -0
- package/src/services/index.ts +1 -0
- package/src/services/libp2p/instrumentation.ts +32 -73
- package/src/services/libp2p/libp2p_service.ts +661 -316
- package/src/services/peer-manager/metrics.ts +39 -21
- package/src/services/peer-manager/peer_manager.ts +5 -4
- package/src/services/peer-manager/peer_scoring.ts +28 -4
- package/src/services/reqresp/batch-tx-requester/README.md +305 -0
- package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +706 -0
- package/src/services/reqresp/batch-tx-requester/config.ts +40 -0
- package/src/services/reqresp/batch-tx-requester/interface.ts +53 -0
- package/src/services/reqresp/batch-tx-requester/missing_txs.ts +161 -0
- package/src/services/reqresp/batch-tx-requester/peer_collection.ts +205 -0
- package/src/services/reqresp/batch-tx-requester/tx_validator.ts +37 -0
- package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +65 -4
- package/src/services/reqresp/connection-sampler/connection_sampler.ts +19 -1
- package/src/services/reqresp/constants.ts +14 -0
- package/src/services/reqresp/interface.ts +30 -2
- package/src/services/reqresp/metrics.ts +36 -27
- package/src/services/reqresp/protocols/auth.ts +2 -2
- package/src/services/reqresp/protocols/block.ts +3 -2
- package/src/services/reqresp/protocols/block_txs/bitvector.ts +16 -0
- package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +35 -12
- package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +75 -10
- package/src/services/reqresp/protocols/status.ts +16 -12
- package/src/services/reqresp/protocols/tx.ts +23 -2
- package/src/services/reqresp/reqresp.ts +79 -22
- package/src/services/service.ts +72 -4
- package/src/services/tx_collection/config.ts +84 -2
- package/src/services/tx_collection/fast_tx_collection.ts +96 -49
- package/src/services/tx_collection/file_store_tx_collection.ts +202 -0
- package/src/services/tx_collection/file_store_tx_source.ts +117 -0
- package/src/services/tx_collection/index.ts +6 -0
- package/src/services/tx_collection/instrumentation.ts +11 -13
- package/src/services/tx_collection/missing_txs_tracker.ts +52 -0
- package/src/services/tx_collection/proposal_tx_collector.ts +113 -0
- package/src/services/tx_collection/slow_tx_collection.ts +69 -36
- package/src/services/tx_collection/tx_collection.ts +122 -24
- package/src/services/tx_collection/tx_collection_sink.ts +30 -34
- package/src/services/tx_collection/tx_source.ts +22 -3
- package/src/services/tx_file_store/config.ts +37 -0
- package/src/services/tx_file_store/index.ts +3 -0
- package/src/services/tx_file_store/instrumentation.ts +36 -0
- package/src/services/tx_file_store/tx_file_store.ts +175 -0
- package/src/services/tx_provider.ts +27 -10
- package/src/services/tx_provider_instrumentation.ts +24 -14
- package/src/test-helpers/index.ts +2 -0
- package/src/test-helpers/make-test-p2p-clients.ts +3 -3
- package/src/test-helpers/mock-pubsub.ts +144 -4
- package/src/test-helpers/mock-tx-helpers.ts +1 -1
- package/src/test-helpers/reqresp-nodes.ts +3 -2
- package/src/test-helpers/test_tx_provider.ts +64 -0
- package/src/test-helpers/testbench-utils.ts +430 -0
- package/src/testbench/p2p_client_testbench_worker.ts +349 -123
- package/src/testbench/worker_client_manager.ts +304 -42
- package/src/util.ts +7 -1
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +0 -37
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +0 -1
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +0 -213
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +0 -30
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +0 -1
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +0 -219
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +0 -80
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/memory_tx_pool.js +0 -238
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +0 -12
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +0 -1
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +0 -82
- package/dest/msg_validators/block_proposal_validator/index.d.ts +0 -2
- package/dest/msg_validators/block_proposal_validator/index.d.ts.map +0 -1
- package/dest/msg_validators/block_proposal_validator/index.js +0 -1
- package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +0 -298
- package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +0 -287
- package/src/mem_pools/tx_pool/memory_tx_pool.ts +0 -283
- package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +0 -97
- package/src/msg_validators/block_proposal_validator/index.ts +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants for P2P message deserialization bounds checking.
|
|
3
|
+
* These constants define maximum allowed sizes during deserialization
|
|
4
|
+
* to prevent DoS attacks via maliciously crafted messages.
|
|
5
|
+
*/ /** Max transactions per block for deserialization validation (~300x default of 32) */ export { MAX_TXS_PER_BLOCK } from '@aztec/stdlib/deserialization';
|
|
6
|
+
/** Max version string length (e.g., "1.0.0-alpha.123") */ export const MAX_VERSION_STRING_LENGTH = 64;
|
|
7
|
+
/** Max block hash string length (hex: 0x + 64 chars, with generous headroom) */ export const MAX_BLOCK_HASH_STRING_LENGTH = 128;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { L2Block } from '@aztec/stdlib/block';
|
|
3
3
|
import { TxArray, TxHashArray } from '@aztec/stdlib/tx';
|
|
4
4
|
import type { PeerId } from '@libp2p/interface';
|
|
5
5
|
import type { P2PReqRespConfig } from './config.js';
|
|
6
|
+
import type { ConnectionSampler } from './connection-sampler/connection_sampler.js';
|
|
6
7
|
import { AuthRequest, AuthResponse } from './protocols/auth.js';
|
|
7
8
|
import { BlockTxsRequest, BlockTxsResponse } from './protocols/block_txs/block_txs_reqresp.js';
|
|
8
9
|
import { StatusMessage } from './protocols/status.js';
|
|
@@ -153,6 +154,15 @@ export declare const subProtocolMap: {
|
|
|
153
154
|
response: typeof BlockTxsResponse;
|
|
154
155
|
};
|
|
155
156
|
};
|
|
157
|
+
/**
|
|
158
|
+
* Type for a function that calculates the expected response size in KB for a given request.
|
|
159
|
+
*/
|
|
160
|
+
export type ExpectedResponseSizeCalculator = (requestBuffer: Buffer) => number;
|
|
161
|
+
/**
|
|
162
|
+
* Map of sub-protocols to their expected response size calculators.
|
|
163
|
+
* These are used to validate that responses don't exceed expected sizes based on request parameters.
|
|
164
|
+
*/
|
|
165
|
+
export declare const subProtocolSizeCalculators: Record<ReqRespSubProtocol, ExpectedResponseSizeCalculator>;
|
|
156
166
|
export interface ReqRespInterface {
|
|
157
167
|
start(subProtocolHandlers: Partial<ReqRespSubProtocolHandlers>, subProtocolValidators: ReqRespSubProtocolValidators): Promise<void>;
|
|
158
168
|
addSubProtocol(subProtocol: ReqRespSubProtocol, handler: ReqRespSubProtocolHandler, validator?: ReqRespSubProtocolValidators[ReqRespSubProtocol]): Promise<void>;
|
|
@@ -160,6 +170,7 @@ export interface ReqRespInterface {
|
|
|
160
170
|
sendBatchRequest<SubProtocol extends ReqRespSubProtocol>(subProtocol: SubProtocol, requests: InstanceType<SubProtocolMap[SubProtocol]['request']>[], pinnedPeer: PeerId | undefined, timeoutMs?: number, maxPeers?: number, maxRetryAttempts?: number): Promise<InstanceType<SubProtocolMap[SubProtocol]['response']>[]>;
|
|
161
171
|
sendRequestToPeer(peerId: PeerId, subProtocol: ReqRespSubProtocol, payload: Buffer, dialTimeout?: number): Promise<ReqRespResponse>;
|
|
162
172
|
updateConfig(config: Partial<P2PReqRespConfig>): void;
|
|
173
|
+
getConnectionSampler(): Pick<ConnectionSampler, 'getPeerListSortedByConnectionCountAsc'>;
|
|
163
174
|
}
|
|
164
175
|
export {};
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvcmVxcmVzcC9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXhELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLGdCQUFnQixFQUVqQixNQUFNLDRDQUE0QyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFLakQsZUFBTyxNQUFNLGFBQWEsMEJBQTBCLENBQUM7QUFDckQsZUFBTyxNQUFNLGVBQWUsNEJBQTRCLENBQUM7QUFDekQsZUFBTyxNQUFNLGdCQUFnQiw2QkFBNkIsQ0FBQztBQUMzRCxlQUFPLE1BQU0sZUFBZSx3QkFBd0IsQ0FBQztBQUNyRCxlQUFPLE1BQU0sa0JBQWtCLDJCQUEyQixDQUFDO0FBQzNELGVBQU8sTUFBTSxhQUFhLDBCQUEwQixDQUFDO0FBQ3JELGVBQU8sTUFBTSxzQkFBc0IsK0JBQStCLENBQUM7QUFFbkUsb0JBQVksa0JBQWtCO0lBQzVCLElBQUksMEJBQWdCO0lBQ3BCLE1BQU0s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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EACL,eAAe,EACf,gBAAgB,EAEjB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjD,eAAO,MAAM,aAAa,0BAA0B,CAAC;AACrD,eAAO,MAAM,eAAe,4BAA4B,CAAC;AACzD,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AAC3D,eAAO,MAAM,eAAe,wBAAwB,CAAC;AACrD,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAC3D,eAAO,MAAM,aAAa,0BAA0B,CAAC;AACrD,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AAEnE,oBAAY,kBAAkB;IAC5B,IAAI,0BAAgB;IACpB,MAAM,4BAAkB;IACxB,OAAO,6BAAmB;IAC1B,EAAE,wBAAkB;IACpB,KAAK,2BAAqB;IAC1B,IAAI,0BAAgB;IACpB,SAAS,+BAAyB;CACnC;AAED;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEzF;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;AAE9F;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,SAAS,EAAE,cAAc,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,cAAc,CAAC;CAC7B;AAED,eAAO,MAAM,aAAa,wBAA8B,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;AAE/F,KAAK,iBAAiB,CAAC,iBAAiB,EAAE,QAAQ,IAAI,CACpD,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,MAAM,4BAA4B,GAAG;KACxC,CAAC,IAAI,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC;CACvD,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAQ7C,CAAC;AAIF,qBAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;KAC1B,CAAC,IAAI,kBAAkB,GAAG,mBAAmB,CAC5C,YAAY,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EACnD,YAAY,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CACrD;CACF,CAAC;AAEF;;;GAGG;AACH,UAAU,mBAAmB,CAAC,GAAG,SAAS;IAAE,QAAQ,IAAI,MAAM,CAAA;CAAE,EAAE,GAAG;IACnE;;OAEG;IACH,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACrC;;OAEG;IACH,QAAQ,EAAE;QACR,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;QAC1B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;KACjC,CAAC;CACH;AAWD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,kBAAkB,EAC7D,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAEtD;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IACT,MAAM,EAAE,MAAM;IAAjC,YAAmB,MAAM,EAAE,MAAM,EAAI;IAErC,QAAQ,4BAEP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,qBAE/B;CACF;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,kBAAkB,EAAE,8BAA8B,CAQjG,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CACH,mBAAmB,EAAE,OAAO,CAAC,0BAA0B,CAAC,EACxD,qBAAqB,EAAE,4BAA4B,GAClD,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,cAAc,CACZ,WAAW,EAAE,kBAAkB,EAC/B,OAAO,EAAE,yBAAyB,EAClC,SAAS,CAAC,EAAE,4BAA4B,CAAC,kBAAkB,CAAC,GAC3D,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,gBAAgB,CAAC,WAAW,SAAS,kBAAkB,EACrD,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAChE,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IACpE,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAC/B,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAEtD,oBAAoB,IAAI,IAAI,CAAC,iBAAiB,EAAE,uCAAuC,CAAC,CAAC;CAC1F"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { L2Block } from '@aztec/stdlib/block';
|
|
3
|
+
import { MAX_L2_BLOCK_SIZE_KB } from '@aztec/stdlib/p2p';
|
|
3
4
|
import { TxArray, TxHashArray } from '@aztec/stdlib/tx';
|
|
4
5
|
import { AuthRequest, AuthResponse } from './protocols/auth.js';
|
|
5
|
-
import { BlockTxsRequest, BlockTxsResponse } from './protocols/block_txs/block_txs_reqresp.js';
|
|
6
|
+
import { BlockTxsRequest, BlockTxsResponse, calculateBlockTxsResponseSize } from './protocols/block_txs/block_txs_reqresp.js';
|
|
6
7
|
import { StatusMessage } from './protocols/status.js';
|
|
8
|
+
import { calculateTxResponseSize } from './protocols/tx.js';
|
|
7
9
|
/*
|
|
8
10
|
* Request Response Sub Protocols
|
|
9
11
|
*/ export const PING_PROTOCOL = '/aztec/req/ping/1.0.0';
|
|
@@ -101,3 +103,15 @@ export const DEFAULT_SUB_PROTOCOL_VALIDATORS = {
|
|
|
101
103
|
response: BlockTxsResponse
|
|
102
104
|
}
|
|
103
105
|
};
|
|
106
|
+
/**
|
|
107
|
+
* Map of sub-protocols to their expected response size calculators.
|
|
108
|
+
* These are used to validate that responses don't exceed expected sizes based on request parameters.
|
|
109
|
+
*/ export const subProtocolSizeCalculators = {
|
|
110
|
+
[ReqRespSubProtocol.TX]: calculateTxResponseSize,
|
|
111
|
+
[ReqRespSubProtocol.BLOCK_TXS]: calculateBlockTxsResponseSize,
|
|
112
|
+
[ReqRespSubProtocol.BLOCK]: ()=>MAX_L2_BLOCK_SIZE_KB,
|
|
113
|
+
[ReqRespSubProtocol.STATUS]: ()=>1,
|
|
114
|
+
[ReqRespSubProtocol.PING]: ()=>1,
|
|
115
|
+
[ReqRespSubProtocol.AUTH]: ()=>1,
|
|
116
|
+
[ReqRespSubProtocol.GOODBYE]: ()=>1
|
|
117
|
+
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TelemetryClient, Tracer } from '@aztec/telemetry-client';
|
|
2
|
+
import { ReqRespSubProtocol } from './interface.js';
|
|
2
3
|
export declare class ReqRespMetrics {
|
|
3
4
|
readonly telemetryClient: TelemetryClient;
|
|
4
5
|
readonly tracer: Tracer;
|
|
@@ -7,9 +8,9 @@ export declare class ReqRespMetrics {
|
|
|
7
8
|
private readonly failedOutboundRequests;
|
|
8
9
|
private readonly failedInboundRequests;
|
|
9
10
|
constructor(telemetryClient: TelemetryClient, name?: string);
|
|
10
|
-
recordRequestSent(protocol:
|
|
11
|
-
recordRequestReceived(protocol:
|
|
12
|
-
recordRequestError(protocol:
|
|
13
|
-
recordResponseError(protocol:
|
|
11
|
+
recordRequestSent(protocol: ReqRespSubProtocol): void;
|
|
12
|
+
recordRequestReceived(protocol: ReqRespSubProtocol): void;
|
|
13
|
+
recordRequestError(protocol: ReqRespSubProtocol): void;
|
|
14
|
+
recordResponseError(protocol: ReqRespSubProtocol): void;
|
|
14
15
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3JlcXJlc3AvbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBRXRGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBELHFCQUFhLGNBQWM7SUFVdkIsUUFBUSxDQUFDLGVBQWUsRUFBRSxlQUFlO0lBVDNDLFNBQWdCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFL0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQWdCO0lBQzdDLE9BQU8sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQWdCO0lBRWpELE9BQU8sQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQWdCO0lBQ3ZELE9BQU8sQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQWdCO0lBRXRELFlBQ1csZUFBZSxFQUFFLGVBQWUsRUFDekMsSUFBSSxTQUFZLEVBa0NqQjtJQUVNLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxrQkFBa0IsUUFFcEQ7SUFFTSxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLFFBRXhEO0lBRU0sa0JBQWtCLENBQUMsUUFBUSxFQUFFLGtCQUFrQixRQUVyRDtJQUVNLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxrQkFBa0IsUUFFdEQ7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/metrics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAiB,MAAM,yBAAyB,CAAC;AAEtF,qBAAa,cAAc;IAUvB,QAAQ,CAAC,eAAe,EAAE,eAAe;IAT3C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IAEjD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAgB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAgB;IAEtD,YACW,eAAe,EAAE,eAAe,EACzC,IAAI,SAAY,
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/metrics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAiB,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,qBAAa,cAAc;IAUvB,QAAQ,CAAC,eAAe,EAAE,eAAe;IAT3C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IAEjD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAgB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAgB;IAEtD,YACW,eAAe,EAAE,eAAe,EACzC,IAAI,SAAY,EAkCjB;IAEM,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,QAEpD;IAEM,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,QAExD;IAEM,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,QAErD;IAEM,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,QAEtD;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Request response metrics
|
|
2
|
-
import { Attributes, Metrics,
|
|
2
|
+
import { Attributes, Metrics, createUpDownCounterWithDefault } from '@aztec/telemetry-client';
|
|
3
|
+
import { ReqRespSubProtocol } from './interface.js';
|
|
3
4
|
export class ReqRespMetrics {
|
|
4
5
|
telemetryClient;
|
|
5
6
|
tracer;
|
|
@@ -11,26 +12,21 @@ export class ReqRespMetrics {
|
|
|
11
12
|
this.telemetryClient = telemetryClient;
|
|
12
13
|
this.tracer = telemetryClient.getTracer(name);
|
|
13
14
|
const meter = telemetryClient.getMeter(name);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
this.failedInboundRequests = meter.createUpDownCounter(Metrics.P2P_REQ_RESP_FAILED_INBOUND_REQUESTS, {
|
|
30
|
-
description: 'Number of failed inbound requests - node failing to respond to requests',
|
|
31
|
-
unit: 'requests',
|
|
32
|
-
valueType: ValueType.INT
|
|
33
|
-
});
|
|
15
|
+
const protocolAttrs = {
|
|
16
|
+
[Attributes.P2P_REQ_RESP_PROTOCOL]: [
|
|
17
|
+
ReqRespSubProtocol.PING,
|
|
18
|
+
ReqRespSubProtocol.STATUS,
|
|
19
|
+
ReqRespSubProtocol.GOODBYE,
|
|
20
|
+
ReqRespSubProtocol.TX,
|
|
21
|
+
ReqRespSubProtocol.BLOCK,
|
|
22
|
+
ReqRespSubProtocol.AUTH,
|
|
23
|
+
ReqRespSubProtocol.BLOCK_TXS
|
|
24
|
+
]
|
|
25
|
+
};
|
|
26
|
+
this.sentRequests = createUpDownCounterWithDefault(meter, Metrics.P2P_REQ_RESP_SENT_REQUESTS, protocolAttrs);
|
|
27
|
+
this.receivedRequests = createUpDownCounterWithDefault(meter, Metrics.P2P_REQ_RESP_RECEIVED_REQUESTS, protocolAttrs);
|
|
28
|
+
this.failedOutboundRequests = createUpDownCounterWithDefault(meter, Metrics.P2P_REQ_RESP_FAILED_OUTBOUND_REQUESTS, protocolAttrs);
|
|
29
|
+
this.failedInboundRequests = createUpDownCounterWithDefault(meter, Metrics.P2P_REQ_RESP_FAILED_INBOUND_REQUESTS, protocolAttrs);
|
|
34
30
|
}
|
|
35
31
|
recordRequestSent(protocol) {
|
|
36
32
|
this.sentRequests.add(1, {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
3
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
3
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
4
4
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
5
5
|
import { StatusMessage } from './status.js';
|
|
6
6
|
export declare const VALIDATOR_AUTH_DOMAIN_SEPARATOR = "Aztec Validator Challenge:";
|
|
@@ -40,4 +40,4 @@ export declare class AuthResponse {
|
|
|
40
40
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
41
41
|
static random(): AuthResponse;
|
|
42
42
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3JlcXJlc3AvcHJvdG9jb2xzL2F1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXBELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLGVBQU8sTUFBTSwrQkFBK0IsK0JBQStCLENBQUM7QUFDNUUsZUFBTyxNQUFNLDRDQUE0QyxRQUNlLENBQUM7QUFNekUscUJBQWEsV0FBVztJQUVwQixRQUFRLENBQUMsTUFBTSxFQUFFLGFBQWE7SUFDOUIsUUFBUSxDQUFDLFNBQVMsRUFBRSxFQUFFO0lBRnhCLFlBQ1csTUFBTSxFQUFFLGFBQWEsRUFDckIsU0FBUyxFQUFFLEVBQUUsRUFDcEI7SUFFSjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxXQUFXLENBTTVEO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSw0QkFFUDtJQUVELGdCQUFnQixJQUFJLFFBQVEsQ0FHM0I7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLFdBQVcsQ0FFM0I7Q0FDRjtBQUVELHFCQUFhLFlBQVk7SUFFckIsUUFBUSxDQUFDLE1BQU0sRUFBRSxhQUFhO0lBQzlCLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUztJQUYvQixZQUNXLE1BQU0sRUFBRSxhQUFhLEVBQ3JCLFNBQVMsRUFBRSxTQUFTLEVBQzNCO0lBQ0o7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsWUFBWSxDQU03RDtJQUVEOzs7T0FHRztJQUNILFFBQVEsNEJBRVA7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FFNUI7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,+BAA+B,+BAA+B,CAAC;AAC5E,eAAO,MAAM,4CAA4C,QACe,CAAC;AAMzE,qBAAa,WAAW;IAEpB,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,QAAQ,CAAC,SAAS,EAAE,EAAE;IAFxB,YACW,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,EAAE,EACpB;IAEJ;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAM5D;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED,gBAAgB,IAAI,QAAQ,CAG3B;IAED,MAAM,CAAC,MAAM,IAAI,WAAW,CAE3B;CACF;AAED,qBAAa,YAAY;IAErB,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAF/B,YACW,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,SAAS,EAC3B;IACJ;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,CAM7D;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED,MAAM,CAAC,MAAM,IAAI,YAAY,CAE5B;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
|
-
import { keccak256 } from '@aztec/foundation/crypto';
|
|
2
|
+
import { keccak256 } from '@aztec/foundation/crypto/keccak';
|
|
3
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
4
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
4
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
6
|
import { StatusMessage } from './status.js';
|
|
7
7
|
export const VALIDATOR_AUTH_DOMAIN_SEPARATOR = 'Aztec Validator Challenge:';
|
|
@@ -6,4 +6,4 @@ import type { ReqRespSubProtocolHandler } from '../interface.js';
|
|
|
6
6
|
* @returns the Block request handler
|
|
7
7
|
* */
|
|
8
8
|
export declare function reqRespBlockHandler(l2BlockSource: L2BlockSource): ReqRespSubProtocolHandler;
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2suZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yZXFyZXNwL3Byb3RvY29scy9ibG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUl6RCxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR2pFOzs7O0tBSUs7QUFDTCx3QkFBZ0IsbUJBQW1CLENBQUMsYUFBYSxFQUFFLGFBQWEsR0FBRyx5QkFBeUIsQ0FzQjNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/block.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/block.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAGjE;;;;KAIK;AACL,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,GAAG,yBAAyB,CAsB3F"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
3
|
import { ReqRespStatus, ReqRespStatusError } from '../status.js';
|
|
3
4
|
/**
|
|
4
5
|
* Handler for L2 Block requests
|
|
@@ -20,7 +21,7 @@ import { ReqRespStatus, ReqRespStatusError } from '../status.js';
|
|
|
20
21
|
});
|
|
21
22
|
}
|
|
22
23
|
try {
|
|
23
|
-
const foundBlock = await l2BlockSource.getBlock(Number(blockNumber));
|
|
24
|
+
const foundBlock = await l2BlockSource.getBlock(BlockNumber(Number(blockNumber)));
|
|
24
25
|
return foundBlock ? foundBlock.toBuffer() : Buffer.alloc(0);
|
|
25
26
|
} catch (err) {
|
|
26
27
|
throw new ReqRespStatusError(ReqRespStatus.INTERNAL_ERROR, {
|
|
@@ -13,6 +13,10 @@ export declare class BitVector {
|
|
|
13
13
|
* Returns all indices which are set to true
|
|
14
14
|
* */
|
|
15
15
|
getTrueIndices(): number[];
|
|
16
|
+
/**
|
|
17
|
+
* Returns true if no indices are set to true
|
|
18
|
+
* */
|
|
19
|
+
isEmpty(): boolean;
|
|
16
20
|
/**
|
|
17
21
|
* Serializes the BitVector object into a Buffer
|
|
18
22
|
*
|
|
@@ -27,4 +31,4 @@ export declare class BitVector {
|
|
|
27
31
|
static fromBuffer(buffer: Buffer | BufferReader): BitVector;
|
|
28
32
|
static byteLength(length: number): number;
|
|
29
33
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0dmVjdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcmVxcmVzcC9wcm90b2NvbHMvYmxvY2tfdHhzL2JpdHZlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBSTlFOztHQUVHO0FBQ0gscUJBQWEsU0FBUztJQUNwQixPQUFPLENBQUMsTUFBTSxDQUFTO0lBQ3ZCLE9BQU8sQ0FBQyxNQUFNLENBQVM7SUFFdkIsWUFBWSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBR3pDO0lBU0QsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLENBbUJ4RDtJQUVELFNBQVMsSUFBSSxNQUFNLENBRWxCO0lBU0QsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUU1QjtJQUVEOztTQUVLO0lBQ0wsY0FBYyxJQUFJLE1BQU0sRUFBRSxDQUV6QjtJQUVEOztTQUVLO0lBQ0wsT0FBTyxJQUFJLE9BQU8sQ0FFakI7SUFFRDs7OztTQUlLO0lBQ0wsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRDs7OztTQUlLO0lBQ0wsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxTQUFTLENBYTFEO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxVQUUvQjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitvector.d.ts","sourceRoot":"","sources":["../../../../../src/services/reqresp/protocols/block_txs/bitvector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"bitvector.d.ts","sourceRoot":"","sources":["../../../../../src/services/reqresp/protocols/block_txs/bitvector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IAEvB,YAAY,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAGzC;IASD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAmBxD;IAED,SAAS,IAAI,MAAM,CAElB;IASD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5B;IAED;;SAEK;IACL,cAAc,IAAI,MAAM,EAAE,CAEzB;IAED;;SAEK;IACL,OAAO,IAAI,OAAO,CAEjB;IAED;;;;SAIK;IACL,QAAQ,IAAI,MAAM,CAEjB;IAED;;;;SAIK;IACL,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAa1D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,UAE/B;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
2
|
+
import { MAX_TXS_PER_BLOCK } from '../../constants.js';
|
|
2
3
|
/**
|
|
3
4
|
* BitVector helper class for representing and serializing bit vectors
|
|
4
5
|
*/ export class BitVector {
|
|
@@ -50,6 +51,11 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
|
50
51
|
}, (_, i)=>i).filter((i)=>this.isSet(i));
|
|
51
52
|
}
|
|
52
53
|
/**
|
|
54
|
+
* Returns true if no indices are set to true
|
|
55
|
+
* */ isEmpty() {
|
|
56
|
+
return this.getTrueIndices().length === 0;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
53
59
|
* Serializes the BitVector object into a Buffer
|
|
54
60
|
*
|
|
55
61
|
* @returns Buffer representation of the BitVector object
|
|
@@ -66,6 +72,12 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
|
66
72
|
* */ static fromBuffer(buffer) {
|
|
67
73
|
const reader = BufferReader.asReader(buffer);
|
|
68
74
|
const length = reader.readNumber();
|
|
75
|
+
if (length < 0) {
|
|
76
|
+
throw new Error(`BitVector length ${length} cannot be negative`);
|
|
77
|
+
}
|
|
78
|
+
if (length > MAX_TXS_PER_BLOCK) {
|
|
79
|
+
throw new Error(`BitVector length ${length} exceeds maximum ${MAX_TXS_PER_BLOCK}`);
|
|
80
|
+
}
|
|
69
81
|
const bitBuffer = reader.readBytes(BitVector.byteLength(length));
|
|
70
82
|
return new BitVector(bitBuffer, length);
|
|
71
83
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { L2BlockSource } from '@aztec/stdlib/block';
|
|
2
|
+
import type { AttestationPoolApi } from '../../../../mem_pools/attestation_pool/attestation_pool.js';
|
|
3
|
+
import type { TxPoolV2 } from '../../../../mem_pools/tx_pool_v2/interfaces.js';
|
|
3
4
|
import type { ReqRespSubProtocolHandler } from '../../interface.js';
|
|
4
5
|
/**
|
|
5
6
|
* Handler for block txs requests
|
|
6
7
|
* @param attestationPool - the attestation pool to check for block proposals
|
|
7
|
-
* @param
|
|
8
|
+
* @param archiver - the archiver to look up blocks by archive root
|
|
9
|
+
* @param txPool - the tx pool to fetch transactions from
|
|
8
10
|
* @returns the BlockTxs request handler
|
|
9
11
|
*/
|
|
10
|
-
export declare function reqRespBlockTxsHandler(attestationPool:
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
export declare function reqRespBlockTxsHandler(attestationPool: AttestationPoolApi, archiver: L2BlockSource, txPool: TxPoolV2): ReqRespSubProtocolHandler;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfdHhzX2hhbmRsZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yZXFyZXNwL3Byb3RvY29scy9ibG9ja190eHMvYmxvY2tfdHhzX2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLekQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNyRyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS3BFOzs7Ozs7R0FNRztBQUNILHdCQUFnQixzQkFBc0IsQ0FDcEMsZUFBZSxFQUFFLGtCQUFrQixFQUNuQyxRQUFRLEVBQUUsYUFBYSxFQUN2QixNQUFNLEVBQUUsUUFBUSxHQUNmLHlCQUF5QixDQW1EM0IifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_txs_handler.d.ts","sourceRoot":"","sources":["../../../../../src/services/reqresp/protocols/block_txs/block_txs_handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"block_txs_handler.d.ts","sourceRoot":"","sources":["../../../../../src/services/reqresp/protocols/block_txs/block_txs_handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAKpE;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,kBAAkB,EACnC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,QAAQ,GACf,yBAAyB,CAmD3B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
1
2
|
import { TxArray } from '@aztec/stdlib/tx';
|
|
2
3
|
import { ReqRespStatus, ReqRespStatusError } from '../../status.js';
|
|
3
4
|
import { BitVector } from './bitvector.js';
|
|
@@ -5,9 +6,10 @@ import { BlockTxsRequest, BlockTxsResponse } from './block_txs_reqresp.js';
|
|
|
5
6
|
/**
|
|
6
7
|
* Handler for block txs requests
|
|
7
8
|
* @param attestationPool - the attestation pool to check for block proposals
|
|
8
|
-
* @param
|
|
9
|
+
* @param archiver - the archiver to look up blocks by archive root
|
|
10
|
+
* @param txPool - the tx pool to fetch transactions from
|
|
9
11
|
* @returns the BlockTxs request handler
|
|
10
|
-
*/ export function reqRespBlockTxsHandler(attestationPool, txPool) {
|
|
12
|
+
*/ export function reqRespBlockTxsHandler(attestationPool, archiver, txPool) {
|
|
11
13
|
/**
|
|
12
14
|
* Handler for block txs requests
|
|
13
15
|
* @param msg - the block txs request message
|
|
@@ -22,18 +24,34 @@ import { BlockTxsRequest, BlockTxsResponse } from './block_txs_reqresp.js';
|
|
|
22
24
|
cause: err
|
|
23
25
|
});
|
|
24
26
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
// First try attestation pool, then fall back to archiver
|
|
28
|
+
let txHashes = (await attestationPool.getBlockProposal(request.archiveRoot.toString()))?.txHashes;
|
|
29
|
+
if (!txHashes) {
|
|
30
|
+
txHashes = (await archiver.getL2BlockByArchive(request.archiveRoot))?.body.txEffects.map((effect)=>effect.txHash);
|
|
31
|
+
}
|
|
32
|
+
let requestedTxsHashes;
|
|
33
|
+
if (request.txHashes.length > 0) {
|
|
34
|
+
requestedTxsHashes = request.txHashes;
|
|
35
|
+
}
|
|
36
|
+
// This is scenario in which we don't have this block the peer is requesting from us
|
|
37
|
+
// But peer has sent requested tx hashes, so we can send them the transactions
|
|
38
|
+
if (!txHashes && requestedTxsHashes !== undefined) {
|
|
39
|
+
const responseTxs = (await txPool.getTxsByHash(requestedTxsHashes)).filter((tx)=>!!tx);
|
|
40
|
+
const response = new BlockTxsResponse(Fr.zero(), new TxArray(...responseTxs), BitVector.init(0, []));
|
|
41
|
+
return response.toBuffer();
|
|
42
|
+
}
|
|
43
|
+
// If we don't have this block and peer has not sent requested tx hashes
|
|
44
|
+
if (!txHashes) {
|
|
27
45
|
throw new ReqRespStatusError(ReqRespStatus.NOT_FOUND);
|
|
28
46
|
}
|
|
29
|
-
const txsAvailableInPool = await txPool.hasTxs(
|
|
30
|
-
//Map txs in the pool to their indices in the block
|
|
47
|
+
const txsAvailableInPool = await txPool.hasTxs(txHashes);
|
|
48
|
+
// Map txs in the pool to their indices in the block
|
|
31
49
|
const availableIndices = txsAvailableInPool.map((hasTx, idx)=>hasTx ? idx : -1).filter((idx)=>idx !== -1);
|
|
32
|
-
const responseBitVector = BitVector.init(
|
|
50
|
+
const responseBitVector = BitVector.init(txHashes.length, availableIndices);
|
|
33
51
|
const requestedIndices = new Set(request.txIndices.getTrueIndices());
|
|
34
|
-
|
|
52
|
+
requestedTxsHashes = txHashes.filter((_, idx)=>requestedIndices.has(idx));
|
|
35
53
|
const responseTxs = (await txPool.getTxsByHash(requestedTxsHashes)).filter((tx)=>!!tx);
|
|
36
|
-
const response = new BlockTxsResponse(request.
|
|
54
|
+
const response = new BlockTxsResponse(request.archiveRoot, new TxArray(...responseTxs), responseBitVector);
|
|
37
55
|
return response.toBuffer();
|
|
38
56
|
};
|
|
39
57
|
}
|
|
@@ -1,14 +1,31 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
3
|
-
import { TxArray } from '@aztec/stdlib/tx';
|
|
3
|
+
import { TxArray, type TxHash, TxHashArray } from '@aztec/stdlib/tx';
|
|
4
4
|
import { BitVector } from './bitvector.js';
|
|
5
|
+
/** Minimal interface for a block source that provides tx hashes and an archive root. */
|
|
6
|
+
export interface BlockTxsSource {
|
|
7
|
+
txHashes: TxHash[];
|
|
8
|
+
archive: Fr;
|
|
9
|
+
}
|
|
5
10
|
/**
|
|
6
11
|
* Request message for requesting specific transactions from a block
|
|
7
12
|
*/
|
|
8
13
|
export declare class BlockTxsRequest {
|
|
9
|
-
readonly
|
|
14
|
+
readonly archiveRoot: Fr;
|
|
15
|
+
readonly txHashes: TxHashArray;
|
|
10
16
|
readonly txIndices: BitVector;
|
|
11
|
-
constructor(
|
|
17
|
+
constructor(archiveRoot: Fr, txHashes: TxHashArray, txIndices: BitVector);
|
|
18
|
+
/**
|
|
19
|
+
* Creates new BlockTxsRequest given a block txs source and missing tx hashes.
|
|
20
|
+
*
|
|
21
|
+
* @param blockTxsSource - The block or proposal for which we are making the request
|
|
22
|
+
* @param missingTxHashes - Tx hashes from the source we are missing
|
|
23
|
+
* @param includeFullTxHashes - Whether to include full list of missing tx hashes in the request or just Bitvector indices
|
|
24
|
+
*
|
|
25
|
+
* @returns undefined if there were no missingTxHashes matching the source hashes, otherwise
|
|
26
|
+
* returns new BlockTxsRequest
|
|
27
|
+
*/
|
|
28
|
+
static fromTxsSourceAndMissingTxs(blockTxsSource: BlockTxsSource, missingTxHashes: TxHash[], includeFullTxHashes?: boolean): BlockTxsRequest | undefined;
|
|
12
29
|
/**
|
|
13
30
|
* Deserializes the BlockTxRequest object from a Buffer
|
|
14
31
|
* @param buffer - Buffer or BufferReader object to deserialize
|
|
@@ -25,10 +42,10 @@ export declare class BlockTxsRequest {
|
|
|
25
42
|
* Response message containing requested transactions from a block
|
|
26
43
|
*/
|
|
27
44
|
export declare class BlockTxsResponse {
|
|
28
|
-
readonly
|
|
45
|
+
readonly archiveRoot: Fr;
|
|
29
46
|
readonly txs: TxArray;
|
|
30
47
|
readonly txIndices: BitVector;
|
|
31
|
-
constructor(
|
|
48
|
+
constructor(archiveRoot: Fr, txs: TxArray, txIndices: BitVector);
|
|
32
49
|
/**
|
|
33
50
|
* Deserializes the BlockTxResponse object from a Buffer
|
|
34
51
|
* @param buffer - Buffer or BufferReader object to deserialize
|
|
@@ -44,4 +61,10 @@ export declare class BlockTxsResponse {
|
|
|
44
61
|
toBuffer(): Buffer;
|
|
45
62
|
static empty(): BlockTxsResponse;
|
|
46
63
|
}
|
|
47
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Calculate the expected response size for a BLOCK_TXS request.
|
|
66
|
+
* @param requestBuffer - The serialized request buffer containing BlockTxsRequest
|
|
67
|
+
* @returns Expected response size in KB
|
|
68
|
+
*/
|
|
69
|
+
export declare function calculateBlockTxsResponseSize(requestBuffer: Buffer): number;
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfdHhzX3JlcXJlc3AuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yZXFyZXNwL3Byb3RvY29scy9ibG9ja190eHMvYmxvY2tfdHhzX3JlcXJlc3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0Msd0ZBQXdGO0FBQ3hGLE1BQU0sV0FBVyxjQUFjO0lBQzdCLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNuQixPQUFPLEVBQUUsRUFBRSxDQUFDO0NBQ2I7QUFFRDs7R0FFRztBQUNILHFCQUFhLGVBQWU7SUFHeEIsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFO0lBRXhCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsV0FBVztJQUs5QixRQUFRLENBQUMsU0FBUyxFQUFFLFNBQVM7SUFUL0IsWUFFVyxXQUFXLEVBQUUsRUFBRSxFQUVmLFFBQVEsRUFBRSxXQUFXLEVBS3JCLFNBQVMsRUFBRSxTQUFTLEVBQzNCO0lBRUo7Ozs7Ozs7OztPQVNHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUMvQixjQUFjLEVBQUUsY0FBYyxFQUM5QixlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQ3pCLG1CQUFtQixVQUFRLEdBQzFCLGVBQWUsR0FBRyxTQUFTLENBb0I3QjtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGVBQWUsQ0FPaEU7SUFFRDs7O09BR0c7SUFDSCxRQUFRLElBQUksTUFBTSxDQUVqQjtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxnQkFBZ0I7SUFFekIsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFO0lBQ3hCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsT0FBTztJQUdyQixRQUFRLENBQUMsU0FBUyxFQUFFLFNBQVM7SUFML0IsWUFDVyxXQUFXLEVBQUUsRUFBRSxFQUNmLEdBQUcsRUFBRSxPQUFPLEVBR1osU0FBUyxFQUFFLFNBQVMsRUFDM0I7SUFFSjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxnQkFBZ0IsQ0FPakU7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxnQkFBZ0IsQ0FFL0I7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0IsNkJBQTZCLENBQUMsYUFBYSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBUzNFIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_txs_reqresp.d.ts","sourceRoot":"","sources":["../../../../../src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"block_txs_reqresp.d.ts","sourceRoot":"","sources":["../../../../../src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,EAAE,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,eAAe;IAGxB,QAAQ,CAAC,WAAW,EAAE,EAAE;IAExB,QAAQ,CAAC,QAAQ,EAAE,WAAW;IAK9B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAT/B,YAEW,WAAW,EAAE,EAAE,EAEf,QAAQ,EAAE,WAAW,EAKrB,SAAS,EAAE,SAAS,EAC3B;IAEJ;;;;;;;;;OASG;IACH,MAAM,CAAC,0BAA0B,CAC/B,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,MAAM,EAAE,EACzB,mBAAmB,UAAQ,GAC1B,eAAe,GAAG,SAAS,CAoB7B;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,eAAe,CAOhE;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAEjB;CACF;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAEzB,QAAQ,CAAC,WAAW,EAAE,EAAE;IACxB,QAAQ,CAAC,GAAG,EAAE,OAAO;IAGrB,QAAQ,CAAC,SAAS,EAAE,SAAS;IAL/B,YACW,WAAW,EAAE,EAAE,EACf,GAAG,EAAE,OAAO,EAGZ,SAAS,EAAE,SAAS,EAC3B;IAEJ;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAOjE;IAED;;;;;OAKG;IACH,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAE/B;CACF;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAS3E"}
|