@aztec/p2p 0.0.1-commit.7d4e6cd → 0.0.1-commit.86469d5

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.
Files changed (298) hide show
  1. package/dest/bootstrap/bootstrap.d.ts +4 -3
  2. package/dest/bootstrap/bootstrap.d.ts.map +1 -1
  3. package/dest/bootstrap/bootstrap.js +4 -4
  4. package/dest/client/factory.d.ts +1 -1
  5. package/dest/client/factory.d.ts.map +1 -1
  6. package/dest/client/factory.js +6 -5
  7. package/dest/client/p2p_client.d.ts +1 -1
  8. package/dest/client/p2p_client.d.ts.map +1 -1
  9. package/dest/client/p2p_client.js +10 -3
  10. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts +2 -0
  11. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts.map +1 -0
  12. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +305 -0
  13. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts +73 -0
  14. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts.map +1 -0
  15. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.js +8 -0
  16. package/dest/config.d.ts +8 -2
  17. package/dest/config.d.ts.map +1 -1
  18. package/dest/config.js +4 -2
  19. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +1 -1
  20. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
  21. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +20 -9
  22. package/dest/mem_pools/attestation_pool/mocks.d.ts +4 -2
  23. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  24. package/dest/mem_pools/attestation_pool/mocks.js +8 -5
  25. package/dest/mem_pools/instrumentation.d.ts +1 -1
  26. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  27. package/dest/mem_pools/instrumentation.js +2 -2
  28. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +15 -10
  29. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
  30. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +91 -50
  31. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +19 -5
  32. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +1 -1
  33. package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +59 -3
  34. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +79 -5
  35. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +1 -1
  36. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +47 -0
  37. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts +16 -0
  38. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
  39. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.js +122 -0
  40. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +2 -2
  41. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -1
  42. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +4 -4
  43. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -1
  44. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +2 -0
  45. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +2 -2
  46. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +1 -1
  47. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts +25 -0
  48. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts.map +1 -0
  49. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.js +57 -0
  50. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +3 -3
  51. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  52. package/dest/msg_validators/attestation_validator/attestation_validator.js +41 -10
  53. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +3 -3
  54. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
  55. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +18 -6
  56. package/dest/msg_validators/clock_tolerance.d.ts +21 -0
  57. package/dest/msg_validators/clock_tolerance.d.ts.map +1 -0
  58. package/dest/msg_validators/clock_tolerance.js +37 -0
  59. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +3 -3
  60. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
  61. package/dest/msg_validators/proposal_validator/proposal_validator.js +55 -31
  62. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +3 -3
  63. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +1 -1
  64. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +93 -64
  65. package/dest/msg_validators/tx_validator/archive_cache.d.ts +3 -3
  66. package/dest/msg_validators/tx_validator/archive_cache.d.ts.map +1 -1
  67. package/dest/msg_validators/tx_validator/archive_cache.js +1 -1
  68. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +5 -4
  69. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  70. package/dest/msg_validators/tx_validator/block_header_validator.js +3 -2
  71. package/dest/msg_validators/tx_validator/data_validator.d.ts +3 -1
  72. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  73. package/dest/msg_validators/tx_validator/data_validator.js +4 -1
  74. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +3 -2
  75. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  76. package/dest/msg_validators/tx_validator/double_spend_validator.js +3 -2
  77. package/dest/msg_validators/tx_validator/factory.d.ts +8 -3
  78. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  79. package/dest/msg_validators/tx_validator/factory.js +21 -11
  80. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +10 -0
  81. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -0
  82. package/dest/msg_validators/tx_validator/fee_payer_balance.js +20 -0
  83. package/dest/msg_validators/tx_validator/gas_validator.d.ts +3 -2
  84. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  85. package/dest/msg_validators/tx_validator/gas_validator.js +11 -16
  86. package/dest/msg_validators/tx_validator/index.d.ts +2 -1
  87. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  88. package/dest/msg_validators/tx_validator/index.js +1 -0
  89. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +3 -2
  90. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  91. package/dest/msg_validators/tx_validator/metadata_validator.js +2 -2
  92. package/dest/msg_validators/tx_validator/phases_validator.d.ts +3 -2
  93. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  94. package/dest/msg_validators/tx_validator/phases_validator.js +3 -3
  95. package/dest/msg_validators/tx_validator/size_validator.d.ts +8 -0
  96. package/dest/msg_validators/tx_validator/size_validator.d.ts.map +1 -0
  97. package/dest/msg_validators/tx_validator/size_validator.js +23 -0
  98. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +3 -2
  99. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  100. package/dest/msg_validators/tx_validator/timestamp_validator.js +2 -2
  101. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts +3 -2
  102. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts.map +1 -1
  103. package/dest/msg_validators/tx_validator/tx_permitted_validator.js +2 -2
  104. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +3 -2
  105. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
  106. package/dest/msg_validators/tx_validator/tx_proof_validator.js +2 -2
  107. package/dest/services/data_store.d.ts +1 -1
  108. package/dest/services/data_store.d.ts.map +1 -1
  109. package/dest/services/data_store.js +10 -6
  110. package/dest/services/discv5/discV5_service.js +1 -1
  111. package/dest/services/dummy_service.d.ts +13 -1
  112. package/dest/services/dummy_service.d.ts.map +1 -1
  113. package/dest/services/dummy_service.js +39 -0
  114. package/dest/services/encoding.d.ts +1 -1
  115. package/dest/services/encoding.d.ts.map +1 -1
  116. package/dest/services/encoding.js +2 -3
  117. package/dest/services/libp2p/instrumentation.d.ts +1 -1
  118. package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
  119. package/dest/services/libp2p/instrumentation.js +19 -8
  120. package/dest/services/libp2p/libp2p_service.d.ts +13 -7
  121. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  122. package/dest/services/libp2p/libp2p_service.js +60 -51
  123. package/dest/services/peer-manager/metrics.d.ts +2 -2
  124. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  125. package/dest/services/peer-manager/metrics.js +20 -5
  126. package/dest/services/peer-manager/peer_scoring.d.ts +1 -1
  127. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  128. package/dest/services/peer-manager/peer_scoring.js +8 -2
  129. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +47 -0
  130. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -0
  131. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +566 -0
  132. package/dest/services/reqresp/batch-tx-requester/config.d.ts +17 -0
  133. package/dest/services/reqresp/batch-tx-requester/config.d.ts.map +1 -0
  134. package/dest/services/reqresp/batch-tx-requester/config.js +27 -0
  135. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +50 -0
  136. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -0
  137. package/dest/services/reqresp/batch-tx-requester/interface.js +1 -0
  138. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +37 -0
  139. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -0
  140. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +151 -0
  141. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +54 -0
  142. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -0
  143. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +139 -0
  144. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts +20 -0
  145. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts.map +1 -0
  146. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +21 -0
  147. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +22 -3
  148. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
  149. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +63 -4
  150. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +2 -1
  151. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
  152. package/dest/services/reqresp/connection-sampler/connection_sampler.js +12 -0
  153. package/dest/services/reqresp/constants.d.ts +12 -0
  154. package/dest/services/reqresp/constants.d.ts.map +1 -0
  155. package/dest/services/reqresp/constants.js +7 -0
  156. package/dest/services/reqresp/interface.d.ts +3 -1
  157. package/dest/services/reqresp/interface.d.ts.map +1 -1
  158. package/dest/services/reqresp/metrics.d.ts +6 -5
  159. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  160. package/dest/services/reqresp/metrics.js +17 -5
  161. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +5 -1
  162. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -1
  163. package/dest/services/reqresp/protocols/block_txs/bitvector.js +12 -0
  164. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +1 -1
  165. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
  166. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +16 -3
  167. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +18 -6
  168. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
  169. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +43 -13
  170. package/dest/services/reqresp/protocols/status.d.ts +1 -1
  171. package/dest/services/reqresp/protocols/status.d.ts.map +1 -1
  172. package/dest/services/reqresp/protocols/status.js +2 -1
  173. package/dest/services/reqresp/reqresp.d.ts +6 -1
  174. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  175. package/dest/services/reqresp/reqresp.js +58 -22
  176. package/dest/services/service.d.ts +4 -1
  177. package/dest/services/service.d.ts.map +1 -1
  178. package/dest/services/tx_collection/config.d.ts +4 -1
  179. package/dest/services/tx_collection/config.d.ts.map +1 -1
  180. package/dest/services/tx_collection/config.js +9 -1
  181. package/dest/services/tx_collection/fast_tx_collection.d.ts +6 -4
  182. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  183. package/dest/services/tx_collection/fast_tx_collection.js +16 -5
  184. package/dest/services/tx_collection/index.d.ts +2 -1
  185. package/dest/services/tx_collection/index.d.ts.map +1 -1
  186. package/dest/services/tx_collection/index.js +1 -0
  187. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  188. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  189. package/dest/services/tx_collection/instrumentation.js +9 -2
  190. package/dest/services/tx_collection/proposal_tx_collector.d.ts +48 -0
  191. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -0
  192. package/dest/services/tx_collection/proposal_tx_collector.js +50 -0
  193. package/dest/services/tx_collection/slow_tx_collection.d.ts +3 -3
  194. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
  195. package/dest/services/tx_collection/tx_collection.d.ts +8 -8
  196. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  197. package/dest/services/tx_collection/tx_collection.js +5 -5
  198. package/dest/services/tx_provider.d.ts +3 -3
  199. package/dest/services/tx_provider.d.ts.map +1 -1
  200. package/dest/services/tx_provider_instrumentation.d.ts +1 -1
  201. package/dest/services/tx_provider_instrumentation.d.ts.map +1 -1
  202. package/dest/services/tx_provider_instrumentation.js +5 -5
  203. package/dest/test-helpers/index.d.ts +3 -1
  204. package/dest/test-helpers/index.d.ts.map +1 -1
  205. package/dest/test-helpers/index.js +2 -0
  206. package/dest/test-helpers/test_tx_provider.d.ts +40 -0
  207. package/dest/test-helpers/test_tx_provider.d.ts.map +1 -0
  208. package/dest/test-helpers/test_tx_provider.js +41 -0
  209. package/dest/test-helpers/testbench-utils.d.ts +158 -0
  210. package/dest/test-helpers/testbench-utils.d.ts.map +1 -0
  211. package/dest/test-helpers/testbench-utils.js +297 -0
  212. package/dest/testbench/p2p_client_testbench_worker.d.ts +28 -2
  213. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  214. package/dest/testbench/p2p_client_testbench_worker.js +212 -132
  215. package/dest/testbench/worker_client_manager.d.ts +51 -6
  216. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  217. package/dest/testbench/worker_client_manager.js +226 -44
  218. package/package.json +16 -16
  219. package/src/bootstrap/bootstrap.ts +7 -4
  220. package/src/client/factory.ts +6 -10
  221. package/src/client/p2p_client.ts +15 -8
  222. package/src/client/test/tx_proposal_collector/README.md +227 -0
  223. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +336 -0
  224. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.ts +43 -0
  225. package/src/config.ts +8 -3
  226. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +17 -9
  227. package/src/mem_pools/attestation_pool/mocks.ts +6 -4
  228. package/src/mem_pools/instrumentation.ts +2 -1
  229. package/src/mem_pools/tx_pool/README.md +28 -13
  230. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +130 -75
  231. package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +66 -5
  232. package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +119 -4
  233. package/src/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.ts +162 -0
  234. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +4 -2
  235. package/src/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.ts +75 -0
  236. package/src/msg_validators/attestation_validator/attestation_validator.ts +26 -14
  237. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +14 -8
  238. package/src/msg_validators/clock_tolerance.ts +51 -0
  239. package/src/msg_validators/proposal_validator/proposal_validator.ts +31 -31
  240. package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +91 -67
  241. package/src/msg_validators/tx_validator/archive_cache.ts +3 -3
  242. package/src/msg_validators/tx_validator/block_header_validator.ts +6 -5
  243. package/src/msg_validators/tx_validator/data_validator.ts +6 -2
  244. package/src/msg_validators/tx_validator/double_spend_validator.ts +4 -3
  245. package/src/msg_validators/tx_validator/factory.ts +64 -23
  246. package/src/msg_validators/tx_validator/fee_payer_balance.ts +40 -0
  247. package/src/msg_validators/tx_validator/gas_validator.ts +17 -28
  248. package/src/msg_validators/tx_validator/index.ts +1 -0
  249. package/src/msg_validators/tx_validator/metadata_validator.ts +6 -3
  250. package/src/msg_validators/tx_validator/phases_validator.ts +5 -3
  251. package/src/msg_validators/tx_validator/size_validator.ts +22 -0
  252. package/src/msg_validators/tx_validator/timestamp_validator.ts +6 -3
  253. package/src/msg_validators/tx_validator/tx_permitted_validator.ts +8 -3
  254. package/src/msg_validators/tx_validator/tx_proof_validator.ts +8 -3
  255. package/src/services/data_store.ts +10 -7
  256. package/src/services/discv5/discV5_service.ts +1 -1
  257. package/src/services/dummy_service.ts +45 -0
  258. package/src/services/encoding.ts +2 -3
  259. package/src/services/libp2p/instrumentation.ts +20 -7
  260. package/src/services/libp2p/libp2p_service.ts +97 -71
  261. package/src/services/peer-manager/metrics.ts +21 -4
  262. package/src/services/peer-manager/peer_scoring.ts +4 -1
  263. package/src/services/reqresp/batch-tx-requester/README.md +305 -0
  264. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +706 -0
  265. package/src/services/reqresp/batch-tx-requester/config.ts +40 -0
  266. package/src/services/reqresp/batch-tx-requester/interface.ts +57 -0
  267. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +209 -0
  268. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +205 -0
  269. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +37 -0
  270. package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +65 -4
  271. package/src/services/reqresp/connection-sampler/connection_sampler.ts +16 -0
  272. package/src/services/reqresp/constants.ts +14 -0
  273. package/src/services/reqresp/interface.ts +3 -0
  274. package/src/services/reqresp/metrics.ts +34 -9
  275. package/src/services/reqresp/protocols/block_txs/bitvector.ts +16 -0
  276. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +18 -4
  277. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +51 -9
  278. package/src/services/reqresp/protocols/status.ts +5 -3
  279. package/src/services/reqresp/reqresp.ts +66 -19
  280. package/src/services/service.ts +4 -0
  281. package/src/services/tx_collection/config.ts +15 -1
  282. package/src/services/tx_collection/fast_tx_collection.ts +36 -13
  283. package/src/services/tx_collection/index.ts +5 -0
  284. package/src/services/tx_collection/instrumentation.ts +11 -2
  285. package/src/services/tx_collection/proposal_tx_collector.ts +114 -0
  286. package/src/services/tx_collection/slow_tx_collection.ts +2 -2
  287. package/src/services/tx_collection/tx_collection.ts +8 -8
  288. package/src/services/tx_provider.ts +2 -2
  289. package/src/services/tx_provider_instrumentation.ts +11 -5
  290. package/src/test-helpers/index.ts +2 -0
  291. package/src/test-helpers/test_tx_provider.ts +64 -0
  292. package/src/test-helpers/testbench-utils.ts +374 -0
  293. package/src/testbench/p2p_client_testbench_worker.ts +321 -126
  294. package/src/testbench/worker_client_manager.ts +304 -47
  295. package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.d.ts +0 -15
  296. package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.d.ts.map +0 -1
  297. package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.js +0 -88
  298. package/src/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.ts +0 -108
@@ -373,11 +373,9 @@ function _apply_decs_2203_r(targetClass, memberDecs, classDecs, parentClass) {
373
373
  var _dec, _dec1, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _initProto;
374
374
  import { BlockNumber } from '@aztec/foundation/branded-types';
375
375
  import { randomInt } from '@aztec/foundation/crypto/random';
376
- import { Fr } from '@aztec/foundation/curves/bn254';
377
376
  import { createLibp2pComponentLogger, createLogger } from '@aztec/foundation/log';
378
377
  import { RunningPromise } from '@aztec/foundation/running-promise';
379
378
  import { Timer } from '@aztec/foundation/timer';
380
- import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
381
379
  import { protocolContractsHash } from '@aztec/protocol-contracts';
382
380
  import { GasFees } from '@aztec/stdlib/gas';
383
381
  import { BlockProposal, CheckpointAttestation, CheckpointProposal, P2PClientType, P2PMessage, PeerErrorSeverity, TopicType, createTopicString, getTopicsForClientAndConfig, metricsTopicStrToLabels } from '@aztec/stdlib/p2p';
@@ -401,8 +399,8 @@ import { ProposalSlotCapExceededError } from '../../errors/attestation-pool.erro
401
399
  import { BlockProposalValidator, CheckpointAttestationValidator, CheckpointProposalValidator, FishermanAttestationValidator } from '../../msg_validators/index.js';
402
400
  import { MessageSeenValidator } from '../../msg_validators/msg_seen_validator/msg_seen_validator.js';
403
401
  import { getDefaultAllowedSetupFunctions } from '../../msg_validators/tx_validator/allowed_public_setup.js';
404
- import { createTxMessageValidators } from '../../msg_validators/tx_validator/factory.js';
405
- import { AggregateTxValidator, DataTxValidator, DoubleSpendTxValidator, MetadataTxValidator, TxProofValidator } from '../../msg_validators/tx_validator/index.js';
402
+ import { createTxMessageValidators, createTxReqRespValidator } from '../../msg_validators/tx_validator/factory.js';
403
+ import { DoubleSpendTxValidator } from '../../msg_validators/tx_validator/index.js';
406
404
  import { GossipSubEvent } from '../../types/index.js';
407
405
  import { convertToMultiaddr } from '../../util.js';
408
406
  import { getVersions } from '../../versioning.js';
@@ -427,7 +425,7 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
427
425
  [Attributes.BLOCK_ARCHIVE]: checkpoint.archive.toString(),
428
426
  [Attributes.P2P_ID]: await checkpoint.p2pMessageLoggingIdentifier().then((i)=>i.toString())
429
427
  })), _dec2 = trackSpan('Libp2pService.validateRequestedBlockTxs', (request)=>({
430
- [Attributes.BLOCK_HASH]: request.blockHash.toString()
428
+ [Attributes.BLOCK_ARCHIVE]: request.archiveRoot.toString()
431
429
  })), _dec3 = trackSpan('Libp2pService.validateRequestedTx', (requestedTxHash, _responseTx)=>({
432
430
  [Attributes.TX_HASH]: requestedTxHash.toString()
433
431
  })), _dec4 = trackSpan('Libp2pService.validateRequestedBlock', (requestedBlockNumber, _responseBlock)=>({
@@ -578,8 +576,8 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
578
576
  const { p2pPort, maxPeerCount, listenAddress } = config;
579
577
  const bindAddrTcp = convertToMultiaddr(listenAddress, p2pPort, 'tcp');
580
578
  const datastore = new AztecDatastore(peerStore);
581
- const otelMetricsAdapter = new OtelMetricsAdapter(telemetry);
582
- const peerDiscoveryService = new DiscV5Service(peerId, config, packageVersion, telemetry, createLogger(`${logger.module}:discv5_service`));
579
+ const otelMetricsAdapter = new OtelMetricsAdapter(telemetry, logger.getBindings());
580
+ const peerDiscoveryService = new DiscV5Service(peerId, config, packageVersion, telemetry, createLogger(`${logger.module}:discv5_service`, logger.getBindings()));
583
581
  // Seed libp2p's bootstrap discovery with private and trusted peers
584
582
  const bootstrapNodes = [
585
583
  ...config.privatePeers,
@@ -742,7 +740,7 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
742
740
  connectionManager: components.connectionManager
743
741
  })
744
742
  },
745
- logger: createLibp2pComponentLogger(logger.module)
743
+ logger: createLibp2pComponentLogger(logger.module, logger.getBindings())
746
744
  });
747
745
  const peerScoring = new PeerScoring(config, telemetry);
748
746
  const reqresp = new ReqResp(config, node, peerScoring, createLogger(`${logger.module}:reqresp`));
@@ -862,6 +860,9 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
862
860
  */ sendBatchRequest(protocol, requests, pinnedPeerId) {
863
861
  return this.reqresp.sendBatchRequest(protocol, requests, pinnedPeerId);
864
862
  }
863
+ sendRequestToPeer(peerId, subProtocol, payload, dialTimeout) {
864
+ return this.reqresp.sendRequestToPeer(peerId, subProtocol, payload, dialTimeout);
865
+ }
865
866
  /**
866
867
  * Get the ENR of the node
867
868
  * @returns The ENR of the node
@@ -1104,7 +1105,8 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1104
1105
  const validationFunc = async ()=>{
1105
1106
  const attestation = CheckpointAttestation.fromBuffer(payloadData);
1106
1107
  const pool = this.mempools.attestationPool;
1107
- const isValid = await this.validateCheckpointAttestation(source, attestation);
1108
+ const validationResult = await this.validateCheckpointAttestation(source, attestation);
1109
+ const isValid = validationResult.result === 'accept';
1108
1110
  const exists = isValid && await pool.hasCheckpointAttestation(attestation);
1109
1111
  let canAdd = true;
1110
1112
  if (isValid && !exists) {
@@ -1120,11 +1122,11 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1120
1122
  [Attributes.SLOT_NUMBER]: attestation.payload.header.slotNumber.toString(),
1121
1123
  [Attributes.P2P_ID]: source.toString()
1122
1124
  });
1123
- if (!isValid) {
1125
+ if (validationResult.result === 'reject') {
1124
1126
  return {
1125
1127
  result: TopicValidatorResult.Reject
1126
1128
  };
1127
- } else if (exists) {
1129
+ } else if (validationResult.result === 'ignore' || exists) {
1128
1130
  return {
1129
1131
  result: TopicValidatorResult.Ignore,
1130
1132
  obj: attestation
@@ -1163,7 +1165,8 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1163
1165
  async processBlockFromPeer(payloadData, msgId, source) {
1164
1166
  const validationFunc = async ()=>{
1165
1167
  const block = BlockProposal.fromBuffer(payloadData);
1166
- const isValid = await this.validateBlockProposal(source, block);
1168
+ const validationResult = await this.validateBlockProposal(source, block);
1169
+ const isValid = validationResult.result === 'accept';
1167
1170
  const pool = this.mempools.attestationPool;
1168
1171
  const exists = isValid && await pool.hasBlockProposal(block);
1169
1172
  const canAdd = isValid && await pool.canAddProposal(block);
@@ -1174,11 +1177,11 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1174
1177
  [Attributes.SLOT_NUMBER]: block.slotNumber.toString(),
1175
1178
  [Attributes.P2P_ID]: source.toString()
1176
1179
  });
1177
- if (!isValid) {
1180
+ if (validationResult.result === 'reject') {
1178
1181
  return {
1179
1182
  result: TopicValidatorResult.Reject
1180
1183
  };
1181
- } else if (exists) {
1184
+ } else if (validationResult.result === 'ignore' || exists) {
1182
1185
  return {
1183
1186
  result: TopicValidatorResult.Ignore,
1184
1187
  obj: block
@@ -1247,7 +1250,8 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1247
1250
  // TODO(palla/mbps): This pattern is repeated across multiple message handlers, consider abstracting it.
1248
1251
  const validationFunc = async ()=>{
1249
1252
  const checkpoint = CheckpointProposal.fromBuffer(payloadData);
1250
- const isValid = await this.validateCheckpointProposal(source, checkpoint);
1253
+ const validationResult = await this.validateCheckpointProposal(source, checkpoint);
1254
+ const isValid = validationResult.result === 'accept';
1251
1255
  const pool = this.mempools.attestationPool;
1252
1256
  const exists = isValid && await pool.hasCheckpointProposal(checkpoint);
1253
1257
  const canAdd = isValid && await pool.canAddCheckpointProposal(checkpoint);
@@ -1258,11 +1262,11 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1258
1262
  [Attributes.SLOT_NUMBER]: checkpoint.slotNumber.toString(),
1259
1263
  [Attributes.P2P_ID]: source.toString()
1260
1264
  });
1261
- if (!isValid) {
1265
+ if (validationResult.result === 'reject') {
1262
1266
  return {
1263
1267
  result: TopicValidatorResult.Reject
1264
1268
  };
1265
- } else if (exists) {
1269
+ } else if (validationResult.result === 'ignore' || exists) {
1266
1270
  return {
1267
1271
  result: TopicValidatorResult.Ignore,
1268
1272
  obj: checkpoint
@@ -1357,9 +1361,9 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1357
1361
  */ async validateRequestedBlockTxs(request, response, peerId) {
1358
1362
  const requestedTxValidator = this.createRequestedTxValidator();
1359
1363
  try {
1360
- if (!response.blockHash.equals(request.blockHash)) {
1364
+ if (!response.archiveRoot.equals(request.archiveRoot)) {
1361
1365
  this.peerManager.penalizePeer(peerId, PeerErrorSeverity.MidToleranceError);
1362
- throw new ValidationError(`Received block txs for unexpected block: expected ${request.blockHash.toString()}, got ${response.blockHash.toString()}`);
1366
+ throw new ValidationError(`Received block txs for unexpected archive root: expected ${request.archiveRoot.toString()}, got ${response.archiveRoot.toString()}`);
1363
1367
  }
1364
1368
  if (response.txIndices.getLength() !== request.txIndices.getLength()) {
1365
1369
  this.peerManager.penalizePeer(peerId, PeerErrorSeverity.MidToleranceError);
@@ -1382,7 +1386,7 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1382
1386
  throw new ValidationError(`Received more txs (${response.txs.length}) than requested-and-available (${maxReturnable})`);
1383
1387
  }
1384
1388
  // Given proposal (should have locally), ensure returned txs are valid subset and match request indices
1385
- const proposal = await this.mempools.attestationPool.getBlockProposal(request.blockHash.toString());
1389
+ const proposal = await this.mempools.attestationPool.getBlockProposal(request.archiveRoot.toString());
1386
1390
  if (proposal) {
1387
1391
  // Build intersected indices
1388
1392
  const intersectIdx = request.txIndices.getTrueIndices().filter((i)=>response.txIndices.isSet(i));
@@ -1401,7 +1405,7 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1401
1405
  }
1402
1406
  } else {
1403
1407
  // No local proposal, cannot check the membership/order of the returned txs
1404
- this.logger.warn(`Block proposal not found for block hash ${request.blockHash.toString()}; cannot validate membership/order of returned txs`);
1408
+ this.logger.warn(`Block proposal not found for archive root ${request.archiveRoot.toString()}; cannot validate membership/order of returned txs`);
1405
1409
  return false;
1406
1410
  }
1407
1411
  await Promise.all(response.txs.map((tx)=>this.validateRequestedTx(tx, peerId, requestedTxValidator)));
@@ -1431,7 +1435,7 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1431
1435
  */ async validateRequestedTxs(requestedTxHash, responseTx, peerId) {
1432
1436
  const requested = new Set(requestedTxHash.map((h)=>h.toString()));
1433
1437
  const requestedTxValidator = this.createRequestedTxValidator();
1434
- //TODO: (mralj) - this is somewhat naive implementation, if single tx is invlid we consider the whole response invalid.
1438
+ //TODO: (mralj) - this is somewhat naive implementation, if single tx is invalid we consider the whole response invalid.
1435
1439
  // I think we should still extract the valid txs and return them, so that we can still use the response.
1436
1440
  try {
1437
1441
  await Promise.all(responseTx.map((tx)=>this.validateRequestedTx(tx, peerId, requestedTxValidator, requested)));
@@ -1484,20 +1488,8 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1484
1488
  return false;
1485
1489
  }
1486
1490
  }
1487
- createRequestedTxValidator() {
1488
- return new AggregateTxValidator(new DataTxValidator(), new MetadataTxValidator({
1489
- l1ChainId: new Fr(this.config.l1ChainId),
1490
- rollupVersion: new Fr(this.config.rollupVersion),
1491
- protocolContractsHash,
1492
- vkTreeRoot: getVKTreeRoot()
1493
- }), new TxProofValidator(this.proofVerifier));
1494
- }
1495
1491
  async validateRequestedTx(tx, peerId, txValidator, requested) {
1496
1492
  const penalize = (severity)=>this.peerManager.penalizePeer(peerId, severity);
1497
- if (!await tx.validateTxHash()) {
1498
- penalize(PeerErrorSeverity.MidToleranceError);
1499
- throw new ValidationError(`Received tx with invalid hash ${tx.getTxHash().toString()}.`);
1500
- }
1501
1493
  if (requested && !requested.has(tx.getTxHash().toString())) {
1502
1494
  penalize(PeerErrorSeverity.MidToleranceError);
1503
1495
  throw new ValidationError(`Received tx with hash ${tx.getTxHash().toString()} that was not requested.`);
@@ -1508,6 +1500,12 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1508
1500
  throw new ValidationError(`Received tx with hash ${tx.getTxHash().toString()} that is invalid.`);
1509
1501
  }
1510
1502
  }
1503
+ createRequestedTxValidator() {
1504
+ return createTxReqRespValidator(this.proofVerifier, {
1505
+ l1ChainId: this.config.l1ChainId,
1506
+ rollupVersion: this.config.rollupVersion
1507
+ });
1508
+ }
1511
1509
  async validatePropagatedTx(tx, peerId) {
1512
1510
  const currentBlockNumber = await this.archiver.getBlockNumber();
1513
1511
  // We accept transactions if they are not expired by the next slot (checked based on the IncludeByTimestamp field)
@@ -1542,6 +1540,20 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1542
1540
  };
1543
1541
  return gasFees;
1544
1542
  }
1543
+ /**
1544
+ * Get the BatchTxRequesterLibP2PService dependencies for creating BatchTxRequester instances
1545
+ */ getBatchTxRequesterService() {
1546
+ return {
1547
+ reqResp: this.reqresp,
1548
+ connectionSampler: this.reqresp.getConnectionSampler(),
1549
+ txValidatorConfig: {
1550
+ l1ChainId: this.config.l1ChainId,
1551
+ rollupVersion: this.config.rollupVersion,
1552
+ proofVerifier: this.proofVerifier
1553
+ },
1554
+ peerScoring: this.peerManager
1555
+ };
1556
+ }
1545
1557
  async validate(txs) {
1546
1558
  const currentBlockNumber = await this.archiver.getBlockNumber();
1547
1559
  // We accept transactions if they are not expired by the next slot (checked based on the IncludeByTimestamp field)
@@ -1573,7 +1585,7 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1573
1585
  const gasFees = await this.getGasFees(currentBlockNumber);
1574
1586
  const allowedInSetup = this.config.txPublicSetupAllowList ?? await getDefaultAllowedSetupFunctions();
1575
1587
  const blockNumberInWhichTheTxIsConsideredToBeIncluded = BlockNumber(currentBlockNumber + 1);
1576
- return createTxMessageValidators(nextSlotTimestamp, blockNumberInWhichTheTxIsConsideredToBeIncluded, this.worldStateSynchronizer, gasFees, this.config.l1ChainId, this.config.rollupVersion, protocolContractsHash, this.archiver, this.proofVerifier, !this.config.disableTransactions, allowedInSetup);
1588
+ return createTxMessageValidators(nextSlotTimestamp, blockNumberInWhichTheTxIsConsideredToBeIncluded, this.worldStateSynchronizer, gasFees, this.config.l1ChainId, this.config.rollupVersion, protocolContractsHash, this.archiver, this.proofVerifier, !this.config.disableTransactions, allowedInSetup, this.logger.getBindings());
1577
1589
  }
1578
1590
  /**
1579
1591
  * Run validations on a tx.
@@ -1632,7 +1644,7 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1632
1644
  const indices = await merkleTree.findLeafIndices(MerkleTreeId.NULLIFIER_TREE, nullifiers);
1633
1645
  return indices.map((index)=>index !== undefined);
1634
1646
  }
1635
- });
1647
+ }, this.logger.getBindings());
1636
1648
  const validSnapshot = await snapshotValidator.validateTx(tx);
1637
1649
  if (validSnapshot.result !== 'valid') {
1638
1650
  return PeerErrorSeverity.LowToleranceError;
@@ -1645,13 +1657,12 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1645
1657
  * @param attestation - The checkpoint attestation to validate.
1646
1658
  * @returns True if the checkpoint attestation is valid, false otherwise.
1647
1659
  */ async validateCheckpointAttestation(peerId, attestation) {
1648
- const severity = await this.checkpointAttestationValidator.validate(attestation);
1649
- if (severity) {
1660
+ const result = await this.checkpointAttestationValidator.validate(attestation);
1661
+ if (result.result === 'reject') {
1650
1662
  this.logger.debug(`Penalizing peer ${peerId} for checkpoint attestation validation failure`);
1651
- this.peerManager.penalizePeer(peerId, severity);
1652
- return false;
1663
+ this.peerManager.penalizePeer(peerId, result.severity);
1653
1664
  }
1654
- return true;
1665
+ return result;
1655
1666
  }
1656
1667
  /**
1657
1668
  * Validate a block proposal.
@@ -1659,13 +1670,12 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1659
1670
  * @param block - The block proposal to validate.
1660
1671
  * @returns True if the block proposal is valid, false otherwise.
1661
1672
  */ async validateBlockProposal(peerId, block) {
1662
- const severity = await this.blockProposalValidator.validate(block);
1663
- if (severity) {
1673
+ const result = await this.blockProposalValidator.validate(block);
1674
+ if (result.result === 'reject') {
1664
1675
  this.logger.debug(`Penalizing peer ${peerId} for block proposal validation failure`);
1665
- this.peerManager.penalizePeer(peerId, severity);
1666
- return false;
1676
+ this.peerManager.penalizePeer(peerId, result.severity);
1667
1677
  }
1668
- return true;
1678
+ return result;
1669
1679
  }
1670
1680
  /**
1671
1681
  * Validate a checkpoint proposal.
@@ -1673,13 +1683,12 @@ _dec = trackSpan('Libp2pService.processValidBlockProposal', async (block)=>({
1673
1683
  * @param checkpoint - The checkpoint proposal to validate.
1674
1684
  * @returns True if the checkpoint proposal is valid, false otherwise.
1675
1685
  */ async validateCheckpointProposal(peerId, checkpoint) {
1676
- const severity = await this.checkpointProposalValidator.validate(checkpoint);
1677
- if (severity) {
1686
+ const result = await this.checkpointProposalValidator.validate(checkpoint);
1687
+ if (result.result === 'reject') {
1678
1688
  this.logger.debug(`Penalizing peer ${peerId} for checkpoint proposal validation failure`);
1679
- this.peerManager.penalizePeer(peerId, severity);
1680
- return false;
1689
+ this.peerManager.penalizePeer(peerId, result.severity);
1681
1690
  }
1682
- return true;
1691
+ return result;
1683
1692
  }
1684
1693
  getPeerScore(peerId) {
1685
1694
  return this.node.services.pubsub.score.score(peerId.toString());
@@ -1,6 +1,6 @@
1
1
  import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
2
2
  import type { PeerId } from '@libp2p/interface';
3
- import { type GoodByeReason } from '../reqresp/protocols/index.js';
3
+ import { GoodByeReason } from '../reqresp/protocols/index.js';
4
4
  export declare class PeerManagerMetrics {
5
5
  readonly telemetryClient: TelemetryClient;
6
6
  private sentGoodbyes;
@@ -18,4 +18,4 @@ export declare class PeerManagerMetrics {
18
18
  peerConnected(id: PeerId): void;
19
19
  peerDisconnected(id: PeerId): void;
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3BlZXItbWFuYWdlci9tZXRyaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxNQUFNLEVBR1osTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQXVCLE1BQU0sK0JBQStCLENBQUM7QUFFeEYscUJBQWEsa0JBQWtCO2FBWVgsZUFBZSxFQUFFLGVBQWU7SUFYbEQsT0FBTyxDQUFDLFlBQVksQ0FBZ0I7SUFDcEMsT0FBTyxDQUFDLGdCQUFnQixDQUFnQjtJQUN4QyxPQUFPLENBQUMsU0FBUyxDQUFRO0lBQ3pCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBZ0I7SUFDM0MsT0FBTyxDQUFDLHNCQUFzQixDQUFZO0lBRTFDLE9BQU8sQ0FBQyxlQUFlLENBQWtEO0lBRXpFLFNBQWdCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFL0IsWUFDa0IsZUFBZSxHQUFFLGVBQXNDLEVBQ3ZFLElBQUksU0FBZ0IsRUFVckI7SUFFTSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsYUFBYSxRQUU3QztJQUVNLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxhQUFhLFFBRWpEO0lBRU0sZUFBZSxDQUFDLEtBQUssRUFBRSxNQUFNLFFBRW5DO0lBRU0sd0JBQXdCLENBQUMsVUFBVSxFQUFFLFFBQVEsR0FBRyxZQUFZLFFBRWxFO0lBRU0sYUFBYSxDQUFDLEVBQUUsRUFBRSxNQUFNLFFBRTlCO0lBRU0sZ0JBQWdCLENBQUMsRUFBRSxFQUFFLE1BQU0sUUFLakM7Q0FDRiJ9
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3BlZXItbWFuYWdlci9tZXRyaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxNQUFNLEVBSVosTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsYUFBYSxFQUF1QixNQUFNLCtCQUErQixDQUFDO0FBRW5GLHFCQUFhLGtCQUFrQjthQVlYLGVBQWUsRUFBRSxlQUFlO0lBWGxELE9BQU8sQ0FBQyxZQUFZLENBQWdCO0lBQ3BDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBZ0I7SUFDeEMsT0FBTyxDQUFDLFNBQVMsQ0FBUTtJQUN6QixPQUFPLENBQUMsbUJBQW1CLENBQWdCO0lBQzNDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBWTtJQUUxQyxPQUFPLENBQUMsZUFBZSxDQUFrRDtJQUV6RSxTQUFnQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBRS9CLFlBQ2tCLGVBQWUsR0FBRSxlQUFzQyxFQUN2RSxJQUFJLFNBQWdCLEVBMEJyQjtJQUVNLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxhQUFhLFFBRTdDO0lBRU0scUJBQXFCLENBQUMsTUFBTSxFQUFFLGFBQWEsUUFFakQ7SUFFTSxlQUFlLENBQUMsS0FBSyxFQUFFLE1BQU0sUUFFbkM7SUFFTSx3QkFBd0IsQ0FBQyxVQUFVLEVBQUUsUUFBUSxHQUFHLFlBQVksUUFFbEU7SUFFTSxhQUFhLENBQUMsRUFBRSxFQUFFLE1BQU0sUUFFOUI7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsTUFBTSxRQUtqQztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/services/peer-manager/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,+BAA+B,CAAC;AAExF,qBAAa,kBAAkB;aAYX,eAAe,EAAE,eAAe;IAXlD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,sBAAsB,CAAY;IAE1C,OAAO,CAAC,eAAe,CAAkD;IAEzE,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,YACkB,eAAe,GAAE,eAAsC,EACvE,IAAI,SAAgB,EAUrB;IAEM,iBAAiB,CAAC,MAAM,EAAE,aAAa,QAE7C;IAEM,qBAAqB,CAAC,MAAM,EAAE,aAAa,QAEjD;IAEM,eAAe,CAAC,KAAK,EAAE,MAAM,QAEnC;IAEM,wBAAwB,CAAC,UAAU,EAAE,QAAQ,GAAG,YAAY,QAElE;IAEM,aAAa,CAAC,EAAE,EAAE,MAAM,QAE9B;IAEM,gBAAgB,CAAC,EAAE,EAAE,MAAM,QAKjC;CACF"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/services/peer-manager/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,MAAM,EAIZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAuB,MAAM,+BAA+B,CAAC;AAEnF,qBAAa,kBAAkB;aAYX,eAAe,EAAE,eAAe;IAXlD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,sBAAsB,CAAY;IAE1C,OAAO,CAAC,eAAe,CAAkD;IAEzE,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,YACkB,eAAe,GAAE,eAAsC,EACvE,IAAI,SAAgB,EA0BrB;IAEM,iBAAiB,CAAC,MAAM,EAAE,aAAa,QAE7C;IAEM,qBAAqB,CAAC,MAAM,EAAE,aAAa,QAEjD;IAEM,eAAe,CAAC,KAAK,EAAE,MAAM,QAEnC;IAEM,wBAAwB,CAAC,UAAU,EAAE,QAAQ,GAAG,YAAY,QAElE;IAEM,aAAa,CAAC,EAAE,EAAE,MAAM,QAE9B;IAEM,gBAAgB,CAAC,EAAE,EAAE,MAAM,QAKjC;CACF"}
@@ -1,5 +1,5 @@
1
- import { Attributes, Metrics, getTelemetryClient } from '@aztec/telemetry-client';
2
- import { prettyGoodbyeReason } from '../reqresp/protocols/index.js';
1
+ import { Attributes, Metrics, createUpDownCounterWithDefault, getTelemetryClient } from '@aztec/telemetry-client';
2
+ import { GoodByeReason, prettyGoodbyeReason } from '../reqresp/protocols/index.js';
3
3
  export class PeerManagerMetrics {
4
4
  telemetryClient;
5
5
  sentGoodbyes;
@@ -14,10 +14,25 @@ export class PeerManagerMetrics {
14
14
  this.peerConnectedAt = new Map();
15
15
  this.tracer = telemetryClient.getTracer(name);
16
16
  const meter = telemetryClient.getMeter(name);
17
- this.sentGoodbyes = meter.createUpDownCounter(Metrics.PEER_MANAGER_GOODBYES_SENT);
18
- this.receivedGoodbyes = meter.createUpDownCounter(Metrics.PEER_MANAGER_GOODBYES_RECEIVED);
17
+ const goodbyeReasonAttrs = {
18
+ [Attributes.P2P_GOODBYE_REASON]: [
19
+ prettyGoodbyeReason(GoodByeReason.SHUTDOWN),
20
+ prettyGoodbyeReason(GoodByeReason.MAX_PEERS),
21
+ prettyGoodbyeReason(GoodByeReason.LOW_SCORE),
22
+ prettyGoodbyeReason(GoodByeReason.BANNED),
23
+ prettyGoodbyeReason(GoodByeReason.WRONG_NETWORK),
24
+ prettyGoodbyeReason(GoodByeReason.UNKNOWN)
25
+ ]
26
+ };
27
+ this.sentGoodbyes = createUpDownCounterWithDefault(meter, Metrics.PEER_MANAGER_GOODBYES_SENT, goodbyeReasonAttrs);
28
+ this.receivedGoodbyes = createUpDownCounterWithDefault(meter, Metrics.PEER_MANAGER_GOODBYES_RECEIVED, goodbyeReasonAttrs);
19
29
  this.peerCount = meter.createGauge(Metrics.PEER_MANAGER_PEER_COUNT);
20
- this.lowScoreDisconnects = meter.createUpDownCounter(Metrics.PEER_MANAGER_LOW_SCORE_DISCONNECTS);
30
+ this.lowScoreDisconnects = createUpDownCounterWithDefault(meter, Metrics.PEER_MANAGER_LOW_SCORE_DISCONNECTS, {
31
+ [Attributes.P2P_PEER_SCORE_STATE]: [
32
+ 'Banned',
33
+ 'Disconnect'
34
+ ]
35
+ });
21
36
  this.peerConnectionDuration = meter.createHistogram(Metrics.PEER_MANAGER_PEER_CONNECTION_DURATION);
22
37
  }
23
38
  recordGoodbyeSent(reason) {
@@ -30,4 +30,4 @@ export declare class PeerScoring {
30
30
  bannedCount: number;
31
31
  };
32
32
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVlcl9zY29yaW5nLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvcGVlci1tYW5hZ2VyL3BlZXJfc2NvcmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBR0wsS0FBSyxlQUFlLEVBR3JCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFRakQsb0JBQVksY0FBYztJQUN4QixNQUFNLElBQUE7SUFDTixVQUFVLElBQUE7SUFDVixPQUFPLElBQUE7Q0FDUjtBQU1ELHFCQUFhLFdBQVc7SUFDdEIsT0FBTyxDQUFDLE1BQU0sQ0FBb0M7SUFDbEQsT0FBTyxDQUFDLE1BQU0sQ0FBa0M7SUFDaEQsT0FBTyxDQUFDLGNBQWMsQ0FBa0M7SUFDeEQsT0FBTyxDQUFDLGFBQWEsQ0FBYTtJQUNsQyxPQUFPLENBQUMsV0FBVyxDQUFPO0lBQzFCLGFBQWEsRUFBRTtTQUFHLEdBQUcsSUFBSSxpQkFBaUIsR0FBRyxNQUFNO0tBQUUsQ0FBQztJQUV0RCxPQUFPLENBQUMsZ0JBQWdCLENBQWdCO0lBRXhDLFlBQVksTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUUsZUFBc0MsRUFjL0U7SUFFTSxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLFVBTTdEO0lBRUQsV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBaUJ0RDtJQUVELGNBQWMsSUFBSSxJQUFJLENBWXJCO0lBRUQsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUUvQjtJQUVNLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLGNBQWMsQ0FVbkQ7SUFFRCxRQUFRLElBQUk7UUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDO1FBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQztRQUFDLGVBQWUsRUFBRSxNQUFNLENBQUM7UUFBQyxXQUFXLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0E0QnRHO0NBQ0YifQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVlcl9zY29yaW5nLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvcGVlci1tYW5hZ2VyL3BlZXJfc2NvcmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBR0wsS0FBSyxlQUFlLEVBSXJCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFRakQsb0JBQVksY0FBYztJQUN4QixNQUFNLElBQUE7SUFDTixVQUFVLElBQUE7SUFDVixPQUFPLElBQUE7Q0FDUjtBQU1ELHFCQUFhLFdBQVc7SUFDdEIsT0FBTyxDQUFDLE1BQU0sQ0FBb0M7SUFDbEQsT0FBTyxDQUFDLE1BQU0sQ0FBa0M7SUFDaEQsT0FBTyxDQUFDLGNBQWMsQ0FBa0M7SUFDeEQsT0FBTyxDQUFDLGFBQWEsQ0FBYTtJQUNsQyxPQUFPLENBQUMsV0FBVyxDQUFPO0lBQzFCLGFBQWEsRUFBRTtTQUFHLEdBQUcsSUFBSSxpQkFBaUIsR0FBRyxNQUFNO0tBQUUsQ0FBQztJQUV0RCxPQUFPLENBQUMsZ0JBQWdCLENBQWdCO0lBRXhDLFlBQVksTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUUsZUFBc0MsRUFnQi9FO0lBRU0sWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixVQU03RDtJQUVELFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQWlCdEQ7SUFFRCxjQUFjLElBQUksSUFBSSxDQVlyQjtJQUVELFFBQVEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFL0I7SUFFTSxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxjQUFjLENBVW5EO0lBRUQsUUFBUSxJQUFJO1FBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQztRQUFDLFlBQVksRUFBRSxNQUFNLENBQUM7UUFBQyxlQUFlLEVBQUUsTUFBTSxDQUFDO1FBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQTtLQUFFLENBNEJ0RztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"peer_scoring.d.ts","sourceRoot":"","sources":["../../../src/services/peer-manager/peer_scoring.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAGL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAQjD,oBAAY,cAAc;IACxB,MAAM,IAAA;IACN,UAAU,IAAA;IACV,OAAO,IAAA;CACR;AAMD,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,WAAW,CAAO;IAC1B,aAAa,EAAE;SAAG,GAAG,IAAI,iBAAiB,GAAG,MAAM;KAAE,CAAC;IAEtD,OAAO,CAAC,gBAAgB,CAAgB;IAExC,YAAY,MAAM,EAAE,SAAS,EAAE,SAAS,GAAE,eAAsC,EAc/E;IAEM,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,UAM7D;IAED,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAiBtD;IAED,cAAc,IAAI,IAAI,CAYrB;IAED,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/B;IAEM,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAUnD;IAED,QAAQ,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CA4BtG;CACF"}
1
+ {"version":3,"file":"peer_scoring.d.ts","sourceRoot":"","sources":["../../../src/services/peer-manager/peer_scoring.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAGL,KAAK,eAAe,EAIrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAQjD,oBAAY,cAAc;IACxB,MAAM,IAAA;IACN,UAAU,IAAA;IACV,OAAO,IAAA;CACR;AAMD,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,WAAW,CAAO;IAC1B,aAAa,EAAE;SAAG,GAAG,IAAI,iBAAiB,GAAG,MAAM;KAAE,CAAC;IAEtD,OAAO,CAAC,gBAAgB,CAAgB;IAExC,YAAY,MAAM,EAAE,SAAS,EAAE,SAAS,GAAE,eAAsC,EAgB/E;IAEM,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,UAM7D;IAED,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAiBtD;IAED,cAAc,IAAI,IAAI,CAYrB;IAED,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/B;IAEM,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAUnD;IAED,QAAQ,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CA4BtG;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { median } from '@aztec/foundation/collection';
2
2
  import { createLogger } from '@aztec/foundation/log';
3
3
  import { PeerErrorSeverity } from '@aztec/stdlib/p2p';
4
- import { Attributes, Metrics, getTelemetryClient } from '@aztec/telemetry-client';
4
+ import { Attributes, Metrics, createUpDownCounterWithDefault, getTelemetryClient } from '@aztec/telemetry-client';
5
5
  const DefaultPeerPenalties = {
6
6
  [PeerErrorSeverity.LowToleranceError]: 50,
7
7
  [PeerErrorSeverity.MidToleranceError]: 10,
@@ -32,7 +32,13 @@ export class PeerScoring {
32
32
  [PeerErrorSeverity.LowToleranceError]: orderedValues?.[2] ?? DefaultPeerPenalties[PeerErrorSeverity.LowToleranceError]
33
33
  };
34
34
  const meter = telemetry.getMeter('PeerScoring');
35
- this.peerStateCounter = meter.createUpDownCounter(Metrics.P2P_PEER_STATE_COUNT);
35
+ this.peerStateCounter = createUpDownCounterWithDefault(meter, Metrics.P2P_PEER_STATE_COUNT, {
36
+ [Attributes.P2P_PEER_SCORE_STATE]: [
37
+ 'Healthy',
38
+ 'Disconnect',
39
+ 'Banned'
40
+ ]
41
+ });
36
42
  }
37
43
  penalizePeer(peerId, penalty) {
38
44
  const id = peerId.toString();
@@ -0,0 +1,47 @@
1
+ import { type Logger } from '@aztec/foundation/log';
2
+ import { DateProvider } from '@aztec/foundation/timer';
3
+ import { type BlockProposal } from '@aztec/stdlib/p2p';
4
+ import { Tx, TxHash } from '@aztec/stdlib/tx';
5
+ import type { PeerId } from '@libp2p/interface';
6
+ import type { BatchTxRequesterLibP2PService, BatchTxRequesterOptions } from './interface.js';
7
+ export declare class BatchTxRequester {
8
+ private readonly blockProposal;
9
+ private readonly pinnedPeer;
10
+ private readonly timeoutMs;
11
+ private readonly p2pService;
12
+ private readonly logger;
13
+ private readonly dateProvider;
14
+ private readonly opts;
15
+ private readonly peers;
16
+ private readonly txsMetadata;
17
+ private readonly deadline;
18
+ private readonly smartRequesterSemaphore;
19
+ private readonly txQueue;
20
+ private readonly txValidator;
21
+ private readonly smartParallelWorkerCount;
22
+ private readonly dumbParallelWorkerCount;
23
+ private readonly txBatchSize;
24
+ constructor(missingTxs: TxHash[], blockProposal: BlockProposal, pinnedPeer: PeerId | undefined, timeoutMs: number, p2pService: BatchTxRequesterLibP2PService, logger?: Logger, dateProvider?: DateProvider, opts?: BatchTxRequesterOptions);
25
+ run(): AsyncGenerator<Tx, Tx | undefined, unknown>;
26
+ static collectAllTxs(generator: AsyncGenerator<Tx, Tx | undefined, unknown>): Promise<Tx[]>;
27
+ private pinnedPeerRequester;
28
+ private dumbRequester;
29
+ private dumbWorkerLoop;
30
+ private smartRequester;
31
+ private smartWorkerLoop;
32
+ private requestTxBatch;
33
+ private handleFailResponseFromPeer;
34
+ private handleSuccessResponseFromPeer;
35
+ private handleReceivedTxs;
36
+ private decideIfPeerIsSmart;
37
+ private isBlockResponseValid;
38
+ private peerHasSomeTxsWeAreMissing;
39
+ private markTxsPeerHas;
40
+ private extractHashesPeerHasFromResponse;
41
+ private makeRoundRobinIndexer;
42
+ private fetchedAllTxs;
43
+ private shouldStop;
44
+ private unlockSmartRequesterSemaphores;
45
+ private sleepClampedToDeadline;
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfdHhfcmVxdWVzdGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcmVxcmVzcC9iYXRjaC10eC1yZXF1ZXN0ZXIvYmF0Y2hfdHhfcmVxdWVzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUdsRSxPQUFPLEVBQUUsWUFBWSxFQUFrQixNQUFNLHlCQUF5QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxLQUFLLGFBQWEsRUFBcUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsRUFBRSxFQUFXLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBWWhELE9BQU8sS0FBSyxFQUFFLDZCQUE2QixFQUFFLHVCQUF1QixFQUF5QixNQUFNLGdCQUFnQixDQUFDO0FBc0JwSCxxQkFBYSxnQkFBZ0I7SUFDM0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQWdCO0lBQzlDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFxQjtJQUNoRCxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBUztJQUNuQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBZ0M7SUFDM0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQVM7SUFDaEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQWU7SUFDNUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQTBCO0lBQy9DLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFrQjtJQUN4QyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBd0I7SUFDcEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQVM7SUFDbEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBYTtJQUNyRCxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBc0I7SUFDOUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQTJCO0lBQ3ZELE9BQU8sQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQVM7SUFDbEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBUztJQUNqRCxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBUztJQUVyQyxZQUNFLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFDcEIsYUFBYSxFQUFFLGFBQWEsRUFDNUIsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQzlCLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFVBQVUsRUFBRSw2QkFBNkIsRUFDekMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUNmLFlBQVksQ0FBQyxFQUFFLFlBQVksRUFDM0IsSUFBSSxDQUFDLEVBQUUsdUJBQXVCLEVBbUMvQjtJQUthLEdBQUcsSUFBSSxjQUFjLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBNkMvRDtJQUtELE9BQW9CLGFBQWEsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQVN2RztZQVVhLG1CQUFtQjtZQWtEbkIsYUFBYTtZQXlEYixjQUFjO1lBZ0RkLGNBQWM7WUF3Q2QsZUFBZTtZQWtGZixjQUFjO0lBbUM1QixPQUFPLENBQUMsMEJBQTBCO1lBaUJwQiw2QkFBNkI7WUFZN0IsaUJBQWlCO0lBcUQvQixPQUFPLENBQUMsbUJBQW1CO0lBa0MzQixPQUFPLENBQUMsb0JBQW9CO0lBTTVCLE9BQU8sQ0FBQywwQkFBMEI7SUFLbEMsT0FBTyxDQUFDLGNBQWM7SUFNdEIsT0FBTyxDQUFDLGdDQUFnQztJQWdCeEMsT0FBTyxDQUFDLHFCQUFxQjtJQXVCN0IsT0FBTyxDQUFDLGFBQWE7SUFhckIsT0FBTyxDQUFDLFVBQVU7SUFhbEIsT0FBTyxDQUFDLDhCQUE4QjtZQVV4QixzQkFBc0I7Q0FPckMifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch_tx_requester.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/batch-tx-requester/batch_tx_requester.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAkB,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,EAAE,EAAW,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAYhD,OAAO,KAAK,EAAE,6BAA6B,EAAE,uBAAuB,EAAyB,MAAM,gBAAgB,CAAC;AAsBpH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAa;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAS;IAClD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,YACE,UAAU,EAAE,MAAM,EAAE,EACpB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,6BAA6B,EACzC,MAAM,CAAC,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,YAAY,EAC3B,IAAI,CAAC,EAAE,uBAAuB,EAmC/B;IAKa,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,OAAO,CAAC,CA6C/D;IAKD,OAAoB,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CASvG;YAUa,mBAAmB;YAkDnB,aAAa;YAyDb,cAAc;YAgDd,cAAc;YAwCd,eAAe;YAkFf,cAAc;IAmC5B,OAAO,CAAC,0BAA0B;YAiBpB,6BAA6B;YAY7B,iBAAiB;IAqD/B,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,gCAAgC;IAgBxC,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,8BAA8B;YAUxB,sBAAsB;CAOrC"}