@aztec/p2p 0.0.1-commit.d3ec352c → 0.0.1-commit.d6f2b3f94

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 (533) 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 +5 -5
  5. package/dest/client/factory.d.ts.map +1 -1
  6. package/dest/client/factory.js +47 -14
  7. package/dest/client/interface.d.ts +49 -18
  8. package/dest/client/interface.d.ts.map +1 -1
  9. package/dest/client/p2p_client.d.ts +42 -46
  10. package/dest/client/p2p_client.d.ts.map +1 -1
  11. package/dest/client/p2p_client.js +565 -257
  12. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts +2 -0
  13. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts.map +1 -0
  14. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +305 -0
  15. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts +73 -0
  16. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts.map +1 -0
  17. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.js +8 -0
  18. package/dest/config.d.ts +27 -9
  19. package/dest/config.d.ts.map +1 -1
  20. package/dest/config.js +26 -15
  21. package/dest/index.d.ts +2 -1
  22. package/dest/index.d.ts.map +1 -1
  23. package/dest/index.js +1 -0
  24. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +109 -76
  25. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  26. package/dest/mem_pools/attestation_pool/attestation_pool.js +436 -3
  27. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +2 -2
  28. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
  29. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +529 -289
  30. package/dest/mem_pools/attestation_pool/index.d.ts +2 -3
  31. package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -1
  32. package/dest/mem_pools/attestation_pool/index.js +1 -2
  33. package/dest/mem_pools/attestation_pool/mocks.d.ts +11 -8
  34. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  35. package/dest/mem_pools/attestation_pool/mocks.js +17 -13
  36. package/dest/mem_pools/index.d.ts +3 -2
  37. package/dest/mem_pools/index.d.ts.map +1 -1
  38. package/dest/mem_pools/index.js +1 -1
  39. package/dest/mem_pools/instrumentation.d.ts +7 -1
  40. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  41. package/dest/mem_pools/instrumentation.js +31 -13
  42. package/dest/mem_pools/interface.d.ts +6 -7
  43. package/dest/mem_pools/interface.d.ts.map +1 -1
  44. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +35 -26
  45. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
  46. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +314 -335
  47. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +32 -0
  48. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +1 -0
  49. package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +112 -0
  50. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +157 -0
  51. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +1 -0
  52. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +52 -0
  53. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts +16 -0
  54. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
  55. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.js +122 -0
  56. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +17 -0
  57. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
  58. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +84 -0
  59. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +19 -0
  60. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
  61. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +78 -0
  62. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +26 -0
  63. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +1 -0
  64. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.js +84 -0
  65. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts +25 -0
  66. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts.map +1 -0
  67. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.js +57 -0
  68. package/dest/mem_pools/tx_pool/index.d.ts +1 -2
  69. package/dest/mem_pools/tx_pool/index.d.ts.map +1 -1
  70. package/dest/mem_pools/tx_pool/index.js +0 -1
  71. package/dest/mem_pools/tx_pool/priority.d.ts +5 -1
  72. package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -1
  73. package/dest/mem_pools/tx_pool/priority.js +6 -1
  74. package/dest/mem_pools/tx_pool/tx_pool.d.ts +8 -4
  75. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -1
  76. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
  77. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
  78. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +25 -20
  79. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts +2 -0
  80. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts.map +1 -0
  81. package/dest/mem_pools/tx_pool_v2/archive/index.js +1 -0
  82. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts +43 -0
  83. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts.map +1 -0
  84. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.js +103 -0
  85. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +87 -0
  86. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -0
  87. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +180 -0
  88. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +47 -0
  89. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -0
  90. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +119 -0
  91. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +17 -0
  92. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
  93. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +90 -0
  94. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +19 -0
  95. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -0
  96. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +89 -0
  97. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +10 -0
  98. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -0
  99. package/dest/mem_pools/tx_pool_v2/eviction/index.js +11 -0
  100. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +131 -0
  101. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -0
  102. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +17 -0
  103. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts +15 -0
  104. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
  105. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +63 -0
  106. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts +17 -0
  107. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
  108. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +91 -0
  109. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +16 -0
  110. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -0
  111. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +70 -0
  112. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +20 -0
  113. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -0
  114. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +63 -0
  115. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +15 -0
  116. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -0
  117. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +19 -0
  118. package/dest/mem_pools/tx_pool_v2/index.d.ts +6 -0
  119. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -0
  120. package/dest/mem_pools/tx_pool_v2/index.js +5 -0
  121. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +197 -0
  122. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -0
  123. package/dest/mem_pools/tx_pool_v2/interfaces.js +6 -0
  124. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +93 -0
  125. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -0
  126. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +127 -0
  127. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts +26 -0
  128. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts.map +1 -0
  129. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.js +70 -0
  130. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +99 -0
  131. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -0
  132. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +332 -0
  133. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +55 -0
  134. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -0
  135. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +156 -0
  136. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +69 -0
  137. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -0
  138. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +751 -0
  139. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +4 -4
  140. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  141. package/dest/msg_validators/attestation_validator/attestation_validator.js +52 -19
  142. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +7 -7
  143. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
  144. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +22 -13
  145. package/dest/msg_validators/clock_tolerance.d.ts +21 -0
  146. package/dest/msg_validators/clock_tolerance.d.ts.map +1 -0
  147. package/dest/msg_validators/clock_tolerance.js +37 -0
  148. package/dest/msg_validators/index.d.ts +2 -2
  149. package/dest/msg_validators/index.d.ts.map +1 -1
  150. package/dest/msg_validators/index.js +1 -1
  151. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +9 -0
  152. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -0
  153. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +6 -0
  154. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +9 -0
  155. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -0
  156. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +6 -0
  157. package/dest/msg_validators/proposal_validator/index.d.ts +4 -0
  158. package/dest/msg_validators/proposal_validator/index.d.ts.map +1 -0
  159. package/dest/msg_validators/proposal_validator/index.js +3 -0
  160. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +13 -0
  161. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -0
  162. package/dest/msg_validators/proposal_validator/proposal_validator.js +104 -0
  163. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +23 -0
  164. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +1 -0
  165. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +212 -0
  166. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +3 -3
  167. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  168. package/dest/msg_validators/tx_validator/archive_cache.d.ts +3 -3
  169. package/dest/msg_validators/tx_validator/archive_cache.d.ts.map +1 -1
  170. package/dest/msg_validators/tx_validator/archive_cache.js +1 -1
  171. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +20 -6
  172. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  173. package/dest/msg_validators/tx_validator/block_header_validator.js +4 -3
  174. package/dest/msg_validators/tx_validator/data_validator.d.ts +3 -1
  175. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  176. package/dest/msg_validators/tx_validator/data_validator.js +4 -1
  177. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +15 -4
  178. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  179. package/dest/msg_validators/tx_validator/double_spend_validator.js +7 -6
  180. package/dest/msg_validators/tx_validator/factory.d.ts +9 -4
  181. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  182. package/dest/msg_validators/tx_validator/factory.js +22 -12
  183. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +10 -0
  184. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -0
  185. package/dest/msg_validators/tx_validator/fee_payer_balance.js +20 -0
  186. package/dest/msg_validators/tx_validator/gas_validator.d.ts +3 -2
  187. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  188. package/dest/msg_validators/tx_validator/gas_validator.js +11 -16
  189. package/dest/msg_validators/tx_validator/index.d.ts +2 -1
  190. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  191. package/dest/msg_validators/tx_validator/index.js +1 -0
  192. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +4 -3
  193. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  194. package/dest/msg_validators/tx_validator/metadata_validator.js +2 -2
  195. package/dest/msg_validators/tx_validator/phases_validator.d.ts +3 -2
  196. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  197. package/dest/msg_validators/tx_validator/phases_validator.js +3 -3
  198. package/dest/msg_validators/tx_validator/size_validator.d.ts +8 -0
  199. package/dest/msg_validators/tx_validator/size_validator.d.ts.map +1 -0
  200. package/dest/msg_validators/tx_validator/size_validator.js +23 -0
  201. package/dest/msg_validators/tx_validator/test_utils.d.ts +2 -2
  202. package/dest/msg_validators/tx_validator/test_utils.d.ts.map +1 -1
  203. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +22 -5
  204. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  205. package/dest/msg_validators/tx_validator/timestamp_validator.js +4 -4
  206. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts +3 -2
  207. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts.map +1 -1
  208. package/dest/msg_validators/tx_validator/tx_permitted_validator.js +2 -2
  209. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +3 -2
  210. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
  211. package/dest/msg_validators/tx_validator/tx_proof_validator.js +2 -2
  212. package/dest/services/data_store.d.ts +1 -1
  213. package/dest/services/data_store.d.ts.map +1 -1
  214. package/dest/services/data_store.js +10 -6
  215. package/dest/services/discv5/discV5_service.js +1 -1
  216. package/dest/services/dummy_service.d.ts +26 -2
  217. package/dest/services/dummy_service.d.ts.map +1 -1
  218. package/dest/services/dummy_service.js +48 -0
  219. package/dest/services/encoding.d.ts +2 -2
  220. package/dest/services/encoding.d.ts.map +1 -1
  221. package/dest/services/encoding.js +9 -8
  222. package/dest/services/gossipsub/index.d.ts +3 -0
  223. package/dest/services/gossipsub/index.d.ts.map +1 -0
  224. package/dest/services/gossipsub/index.js +2 -0
  225. package/dest/services/gossipsub/scoring.d.ts +21 -3
  226. package/dest/services/gossipsub/scoring.d.ts.map +1 -1
  227. package/dest/services/gossipsub/scoring.js +24 -7
  228. package/dest/services/gossipsub/topic_score_params.d.ts +161 -0
  229. package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -0
  230. package/dest/services/gossipsub/topic_score_params.js +324 -0
  231. package/dest/services/index.d.ts +2 -1
  232. package/dest/services/index.d.ts.map +1 -1
  233. package/dest/services/index.js +1 -0
  234. package/dest/services/libp2p/instrumentation.d.ts +1 -1
  235. package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
  236. package/dest/services/libp2p/instrumentation.js +30 -72
  237. package/dest/services/libp2p/libp2p_service.d.ts +108 -36
  238. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  239. package/dest/services/libp2p/libp2p_service.js +978 -320
  240. package/dest/services/peer-manager/metrics.d.ts +7 -2
  241. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  242. package/dest/services/peer-manager/metrics.js +33 -21
  243. package/dest/services/peer-manager/peer_manager.d.ts +2 -2
  244. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  245. package/dest/services/peer-manager/peer_manager.js +4 -12
  246. package/dest/services/peer-manager/peer_scoring.d.ts +1 -1
  247. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  248. package/dest/services/peer-manager/peer_scoring.js +32 -6
  249. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +47 -0
  250. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -0
  251. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +566 -0
  252. package/dest/services/reqresp/batch-tx-requester/config.d.ts +17 -0
  253. package/dest/services/reqresp/batch-tx-requester/config.d.ts.map +1 -0
  254. package/dest/services/reqresp/batch-tx-requester/config.js +27 -0
  255. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +50 -0
  256. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -0
  257. package/dest/services/reqresp/batch-tx-requester/interface.js +1 -0
  258. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +37 -0
  259. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -0
  260. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +151 -0
  261. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +54 -0
  262. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -0
  263. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +139 -0
  264. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts +20 -0
  265. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts.map +1 -0
  266. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +21 -0
  267. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +22 -3
  268. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
  269. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +63 -4
  270. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +2 -1
  271. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
  272. package/dest/services/reqresp/connection-sampler/connection_sampler.js +12 -0
  273. package/dest/services/reqresp/constants.d.ts +12 -0
  274. package/dest/services/reqresp/constants.d.ts.map +1 -0
  275. package/dest/services/reqresp/constants.js +7 -0
  276. package/dest/services/reqresp/interface.d.ts +13 -2
  277. package/dest/services/reqresp/interface.d.ts.map +1 -1
  278. package/dest/services/reqresp/interface.js +16 -2
  279. package/dest/services/reqresp/metrics.d.ts +6 -5
  280. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  281. package/dest/services/reqresp/metrics.js +17 -21
  282. package/dest/services/reqresp/protocols/auth.d.ts +2 -2
  283. package/dest/services/reqresp/protocols/auth.d.ts.map +1 -1
  284. package/dest/services/reqresp/protocols/auth.js +2 -2
  285. package/dest/services/reqresp/protocols/block.js +1 -1
  286. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +5 -1
  287. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -1
  288. package/dest/services/reqresp/protocols/block_txs/bitvector.js +12 -0
  289. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +7 -5
  290. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
  291. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +27 -9
  292. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +30 -7
  293. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
  294. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +60 -14
  295. package/dest/services/reqresp/protocols/status.d.ts +1 -1
  296. package/dest/services/reqresp/protocols/status.d.ts.map +1 -1
  297. package/dest/services/reqresp/protocols/status.js +4 -1
  298. package/dest/services/reqresp/protocols/tx.d.ts +8 -3
  299. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  300. package/dest/services/reqresp/protocols/tx.js +20 -0
  301. package/dest/services/reqresp/reqresp.d.ts +6 -1
  302. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  303. package/dest/services/reqresp/reqresp.js +471 -50
  304. package/dest/services/service.d.ts +53 -3
  305. package/dest/services/service.d.ts.map +1 -1
  306. package/dest/services/tx_collection/config.d.ts +10 -1
  307. package/dest/services/tx_collection/config.d.ts.map +1 -1
  308. package/dest/services/tx_collection/config.js +26 -2
  309. package/dest/services/tx_collection/fast_tx_collection.d.ts +7 -4
  310. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  311. package/dest/services/tx_collection/fast_tx_collection.js +34 -13
  312. package/dest/services/tx_collection/file_store_tx_collection.d.ts +44 -0
  313. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -0
  314. package/dest/services/tx_collection/file_store_tx_collection.js +118 -0
  315. package/dest/services/tx_collection/file_store_tx_source.d.ts +27 -0
  316. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -0
  317. package/dest/services/tx_collection/file_store_tx_source.js +57 -0
  318. package/dest/services/tx_collection/index.d.ts +3 -1
  319. package/dest/services/tx_collection/index.d.ts.map +1 -1
  320. package/dest/services/tx_collection/index.js +2 -0
  321. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  322. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  323. package/dest/services/tx_collection/instrumentation.js +10 -13
  324. package/dest/services/tx_collection/proposal_tx_collector.d.ts +48 -0
  325. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -0
  326. package/dest/services/tx_collection/proposal_tx_collector.js +49 -0
  327. package/dest/services/tx_collection/slow_tx_collection.d.ts +3 -1
  328. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
  329. package/dest/services/tx_collection/slow_tx_collection.js +48 -19
  330. package/dest/services/tx_collection/tx_collection.d.ts +21 -11
  331. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  332. package/dest/services/tx_collection/tx_collection.js +63 -7
  333. package/dest/services/tx_collection/tx_collection_sink.d.ts +15 -6
  334. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
  335. package/dest/services/tx_collection/tx_collection_sink.js +13 -7
  336. package/dest/services/tx_file_store/config.d.ts +16 -0
  337. package/dest/services/tx_file_store/config.d.ts.map +1 -0
  338. package/dest/services/tx_file_store/config.js +22 -0
  339. package/dest/services/tx_file_store/index.d.ts +4 -0
  340. package/dest/services/tx_file_store/index.d.ts.map +1 -0
  341. package/dest/services/tx_file_store/index.js +3 -0
  342. package/dest/services/tx_file_store/instrumentation.d.ts +15 -0
  343. package/dest/services/tx_file_store/instrumentation.d.ts.map +1 -0
  344. package/dest/services/tx_file_store/instrumentation.js +29 -0
  345. package/dest/services/tx_file_store/tx_file_store.d.ts +47 -0
  346. package/dest/services/tx_file_store/tx_file_store.d.ts.map +1 -0
  347. package/dest/services/tx_file_store/tx_file_store.js +149 -0
  348. package/dest/services/tx_provider.d.ts +6 -5
  349. package/dest/services/tx_provider.d.ts.map +1 -1
  350. package/dest/services/tx_provider.js +16 -6
  351. package/dest/services/tx_provider_instrumentation.d.ts +5 -2
  352. package/dest/services/tx_provider_instrumentation.d.ts.map +1 -1
  353. package/dest/services/tx_provider_instrumentation.js +14 -14
  354. package/dest/test-helpers/index.d.ts +3 -1
  355. package/dest/test-helpers/index.d.ts.map +1 -1
  356. package/dest/test-helpers/index.js +2 -0
  357. package/dest/test-helpers/make-test-p2p-clients.d.ts +3 -3
  358. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  359. package/dest/test-helpers/mock-pubsub.d.ts +27 -1
  360. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  361. package/dest/test-helpers/mock-pubsub.js +97 -2
  362. package/dest/test-helpers/mock-tx-helpers.js +1 -1
  363. package/dest/test-helpers/reqresp-nodes.d.ts +2 -2
  364. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  365. package/dest/test-helpers/reqresp-nodes.js +2 -1
  366. package/dest/test-helpers/test_tx_provider.d.ts +40 -0
  367. package/dest/test-helpers/test_tx_provider.d.ts.map +1 -0
  368. package/dest/test-helpers/test_tx_provider.js +41 -0
  369. package/dest/test-helpers/testbench-utils.d.ts +158 -0
  370. package/dest/test-helpers/testbench-utils.d.ts.map +1 -0
  371. package/dest/test-helpers/testbench-utils.js +360 -0
  372. package/dest/testbench/p2p_client_testbench_worker.d.ts +28 -2
  373. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  374. package/dest/testbench/p2p_client_testbench_worker.js +219 -124
  375. package/dest/testbench/worker_client_manager.d.ts +51 -6
  376. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  377. package/dest/testbench/worker_client_manager.js +226 -39
  378. package/package.json +16 -16
  379. package/src/bootstrap/bootstrap.ts +7 -4
  380. package/src/client/factory.ts +80 -29
  381. package/src/client/interface.ts +57 -17
  382. package/src/client/p2p_client.ts +229 -295
  383. package/src/client/test/tx_proposal_collector/README.md +227 -0
  384. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +336 -0
  385. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.ts +43 -0
  386. package/src/config.ts +50 -20
  387. package/src/index.ts +1 -0
  388. package/src/mem_pools/attestation_pool/attestation_pool.ts +502 -78
  389. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +614 -322
  390. package/src/mem_pools/attestation_pool/index.ts +9 -2
  391. package/src/mem_pools/attestation_pool/mocks.ts +21 -15
  392. package/src/mem_pools/index.ts +4 -1
  393. package/src/mem_pools/instrumentation.ts +39 -14
  394. package/src/mem_pools/interface.ts +5 -7
  395. package/src/mem_pools/tx_pool/README.md +270 -0
  396. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +362 -367
  397. package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +132 -0
  398. package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +208 -0
  399. package/src/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.ts +162 -0
  400. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +104 -0
  401. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +93 -0
  402. package/src/mem_pools/tx_pool/eviction/low_priority_eviction_rule.ts +106 -0
  403. package/src/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.ts +75 -0
  404. package/src/mem_pools/tx_pool/index.ts +0 -1
  405. package/src/mem_pools/tx_pool/priority.ts +8 -1
  406. package/src/mem_pools/tx_pool/tx_pool.ts +8 -3
  407. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +18 -13
  408. package/src/mem_pools/tx_pool_v2/README.md +259 -0
  409. package/src/mem_pools/tx_pool_v2/archive/index.ts +1 -0
  410. package/src/mem_pools/tx_pool_v2/archive/tx_archive.ts +120 -0
  411. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +234 -0
  412. package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +147 -0
  413. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +118 -0
  414. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +111 -0
  415. package/src/mem_pools/tx_pool_v2/eviction/index.ts +23 -0
  416. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +164 -0
  417. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +74 -0
  418. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +101 -0
  419. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +86 -0
  420. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +72 -0
  421. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +31 -0
  422. package/src/mem_pools/tx_pool_v2/index.ts +12 -0
  423. package/src/mem_pools/tx_pool_v2/interfaces.ts +227 -0
  424. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +207 -0
  425. package/src/mem_pools/tx_pool_v2/tx_pool_bench_metrics.ts +77 -0
  426. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +417 -0
  427. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +212 -0
  428. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +895 -0
  429. package/src/msg_validators/attestation_validator/attestation_validator.ts +37 -22
  430. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +21 -18
  431. package/src/msg_validators/clock_tolerance.ts +51 -0
  432. package/src/msg_validators/index.ts +1 -1
  433. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +10 -0
  434. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +13 -0
  435. package/src/msg_validators/proposal_validator/index.ts +3 -0
  436. package/src/msg_validators/proposal_validator/proposal_validator.ts +92 -0
  437. package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +230 -0
  438. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +2 -2
  439. package/src/msg_validators/tx_validator/archive_cache.ts +3 -3
  440. package/src/msg_validators/tx_validator/block_header_validator.ts +21 -8
  441. package/src/msg_validators/tx_validator/data_validator.ts +18 -6
  442. package/src/msg_validators/tx_validator/double_spend_validator.ts +15 -9
  443. package/src/msg_validators/tx_validator/factory.ts +65 -24
  444. package/src/msg_validators/tx_validator/fee_payer_balance.ts +40 -0
  445. package/src/msg_validators/tx_validator/gas_validator.ts +17 -28
  446. package/src/msg_validators/tx_validator/index.ts +1 -0
  447. package/src/msg_validators/tx_validator/metadata_validator.ts +19 -8
  448. package/src/msg_validators/tx_validator/phases_validator.ts +5 -3
  449. package/src/msg_validators/tx_validator/size_validator.ts +22 -0
  450. package/src/msg_validators/tx_validator/test_utils.ts +1 -1
  451. package/src/msg_validators/tx_validator/timestamp_validator.ts +25 -15
  452. package/src/msg_validators/tx_validator/tx_permitted_validator.ts +8 -3
  453. package/src/msg_validators/tx_validator/tx_proof_validator.ts +8 -3
  454. package/src/services/data_store.ts +10 -7
  455. package/src/services/discv5/discV5_service.ts +1 -1
  456. package/src/services/dummy_service.ts +63 -0
  457. package/src/services/encoding.ts +8 -7
  458. package/src/services/gossipsub/README.md +626 -0
  459. package/src/services/gossipsub/index.ts +2 -0
  460. package/src/services/gossipsub/scoring.ts +29 -5
  461. package/src/services/gossipsub/topic_score_params.ts +451 -0
  462. package/src/services/index.ts +1 -0
  463. package/src/services/libp2p/instrumentation.ts +32 -73
  464. package/src/services/libp2p/libp2p_service.ts +647 -307
  465. package/src/services/peer-manager/metrics.ts +39 -21
  466. package/src/services/peer-manager/peer_manager.ts +5 -4
  467. package/src/services/peer-manager/peer_scoring.ts +28 -4
  468. package/src/services/reqresp/batch-tx-requester/README.md +305 -0
  469. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +706 -0
  470. package/src/services/reqresp/batch-tx-requester/config.ts +40 -0
  471. package/src/services/reqresp/batch-tx-requester/interface.ts +57 -0
  472. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +209 -0
  473. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +205 -0
  474. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +37 -0
  475. package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +65 -4
  476. package/src/services/reqresp/connection-sampler/connection_sampler.ts +19 -1
  477. package/src/services/reqresp/constants.ts +14 -0
  478. package/src/services/reqresp/interface.ts +30 -2
  479. package/src/services/reqresp/metrics.ts +36 -27
  480. package/src/services/reqresp/protocols/auth.ts +2 -2
  481. package/src/services/reqresp/protocols/block.ts +1 -1
  482. package/src/services/reqresp/protocols/block_txs/bitvector.ts +16 -0
  483. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +35 -12
  484. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +75 -10
  485. package/src/services/reqresp/protocols/status.ts +7 -4
  486. package/src/services/reqresp/protocols/tx.ts +23 -2
  487. package/src/services/reqresp/reqresp.ts +79 -22
  488. package/src/services/service.ts +63 -4
  489. package/src/services/tx_collection/config.ts +42 -2
  490. package/src/services/tx_collection/fast_tx_collection.ts +44 -19
  491. package/src/services/tx_collection/file_store_tx_collection.ts +152 -0
  492. package/src/services/tx_collection/file_store_tx_source.ts +70 -0
  493. package/src/services/tx_collection/index.ts +6 -0
  494. package/src/services/tx_collection/instrumentation.ts +5 -13
  495. package/src/services/tx_collection/proposal_tx_collector.ts +112 -0
  496. package/src/services/tx_collection/slow_tx_collection.ts +55 -26
  497. package/src/services/tx_collection/tx_collection.ts +85 -19
  498. package/src/services/tx_collection/tx_collection_sink.ts +17 -7
  499. package/src/services/tx_file_store/config.ts +37 -0
  500. package/src/services/tx_file_store/index.ts +3 -0
  501. package/src/services/tx_file_store/instrumentation.ts +36 -0
  502. package/src/services/tx_file_store/tx_file_store.ts +173 -0
  503. package/src/services/tx_provider.ts +27 -11
  504. package/src/services/tx_provider_instrumentation.ts +24 -14
  505. package/src/test-helpers/index.ts +2 -0
  506. package/src/test-helpers/make-test-p2p-clients.ts +3 -3
  507. package/src/test-helpers/mock-pubsub.ts +134 -4
  508. package/src/test-helpers/mock-tx-helpers.ts +1 -1
  509. package/src/test-helpers/reqresp-nodes.ts +3 -2
  510. package/src/test-helpers/test_tx_provider.ts +64 -0
  511. package/src/test-helpers/testbench-utils.ts +422 -0
  512. package/src/testbench/p2p_client_testbench_worker.ts +339 -120
  513. package/src/testbench/worker_client_manager.ts +304 -42
  514. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +0 -37
  515. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +0 -1
  516. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +0 -213
  517. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +0 -30
  518. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +0 -1
  519. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +0 -219
  520. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +0 -81
  521. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +0 -1
  522. package/dest/mem_pools/tx_pool/memory_tx_pool.js +0 -239
  523. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +0 -12
  524. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +0 -1
  525. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +0 -82
  526. package/dest/msg_validators/block_proposal_validator/index.d.ts +0 -2
  527. package/dest/msg_validators/block_proposal_validator/index.d.ts.map +0 -1
  528. package/dest/msg_validators/block_proposal_validator/index.js +0 -1
  529. package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +0 -298
  530. package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +0 -287
  531. package/src/mem_pools/tx_pool/memory_tx_pool.ts +0 -285
  532. package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +0 -97
  533. package/src/msg_validators/block_proposal_validator/index.ts +0 -1
@@ -0,0 +1,360 @@
1
+ import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { TxHash } from '@aztec/stdlib/tx';
3
+ import EventEmitter from 'events';
4
+ import { RateLimitStatus } from '../services/reqresp/rate-limiter/rate_limiter.js';
5
+ /**
6
+ * In-memory TxPool implementation for testing.
7
+ * Provides basic tx storage without persistence.
8
+ * Implements TxPoolV2 interface with stub implementations for testing.
9
+ */ export class InMemoryTxPool extends EventEmitter {
10
+ txsByHash = new Map();
11
+ logger = null;
12
+ setLogger(logger) {
13
+ this.logger = logger;
14
+ }
15
+ setTxs(txs) {
16
+ this.txsByHash.clear();
17
+ return this.appendTxs(txs);
18
+ }
19
+ appendTxs(txs) {
20
+ let added = 0;
21
+ for (const tx of txs){
22
+ const key = tx.getTxHash().toString();
23
+ if (!this.txsByHash.has(key)) {
24
+ added += 1;
25
+ }
26
+ this.txsByHash.set(key, tx);
27
+ }
28
+ return added;
29
+ }
30
+ clearTxs() {
31
+ this.txsByHash.clear();
32
+ }
33
+ resetState() {
34
+ this.txsByHash.clear();
35
+ this.removeAllListeners();
36
+ }
37
+ // === Core Operations (TxPoolV2) ===
38
+ addPendingTxs(txs, opts) {
39
+ const accepted = [];
40
+ const newTxs = [];
41
+ for (const tx of txs){
42
+ const key = tx.getTxHash().toString();
43
+ if (!this.txsByHash.has(key)) {
44
+ newTxs.push(tx);
45
+ accepted.push(tx.getTxHash());
46
+ }
47
+ this.txsByHash.set(key, tx);
48
+ }
49
+ if (newTxs.length > 0) {
50
+ this.emit('txs-added', {
51
+ txs: newTxs,
52
+ source: opts?.source
53
+ });
54
+ }
55
+ return Promise.resolve({
56
+ accepted,
57
+ ignored: [],
58
+ rejected: []
59
+ });
60
+ }
61
+ canAddPendingTx(tx) {
62
+ const key = tx.getTxHash().toString();
63
+ if (this.txsByHash.has(key)) {
64
+ return Promise.resolve('ignored');
65
+ }
66
+ return Promise.resolve('accepted');
67
+ }
68
+ addProtectedTxs(txs, _block, opts) {
69
+ for (const tx of txs){
70
+ const key = tx.getTxHash().toString();
71
+ this.txsByHash.set(key, tx);
72
+ }
73
+ if (txs.length > 0) {
74
+ this.emit('txs-added', {
75
+ txs,
76
+ source: opts?.source
77
+ });
78
+ }
79
+ return Promise.resolve();
80
+ }
81
+ protectTxs(txHashes, _block) {
82
+ const notFound = [];
83
+ for (const txHash of txHashes){
84
+ if (!this.txsByHash.has(txHash.toString())) {
85
+ notFound.push(txHash);
86
+ }
87
+ }
88
+ return Promise.resolve(notFound);
89
+ }
90
+ addMinedTxs(txs, _block, _opts) {
91
+ for (const tx of txs){
92
+ const key = tx.getTxHash().toString();
93
+ this.txsByHash.set(key, tx);
94
+ }
95
+ return Promise.resolve();
96
+ }
97
+ // === State Transition Handlers (TxPoolV2) ===
98
+ handleMinedBlock(_block) {
99
+ return Promise.resolve();
100
+ }
101
+ prepareForSlot(_slotNumber) {
102
+ return Promise.resolve();
103
+ }
104
+ handlePrunedBlocks(_latestBlock) {
105
+ return Promise.resolve();
106
+ }
107
+ handleFailedExecution(txHashes) {
108
+ for (const txHash of txHashes){
109
+ this.txsByHash.delete(txHash.toString());
110
+ }
111
+ return Promise.resolve();
112
+ }
113
+ handleFinalizedBlock(_block) {
114
+ return Promise.resolve();
115
+ }
116
+ // === Query Operations (TxPoolV2) ===
117
+ getTxByHash(hash) {
118
+ return Promise.resolve(this.txsByHash.get(hash.toString()));
119
+ }
120
+ getTxsByHash(hashes) {
121
+ const result = hashes.map((h)=>this.txsByHash.get(h.toString()));
122
+ const found = result.filter((tx)=>tx !== undefined).length;
123
+ this.logger?.debug(`[TxPool] getTxsByHash: requested ${hashes.length}, found ${found}`);
124
+ return Promise.resolve(result);
125
+ }
126
+ hasTxs(hashes) {
127
+ return Promise.resolve(hashes.map((h)=>this.txsByHash.has(h.toString())));
128
+ }
129
+ getArchivedTxByHash(_hash) {
130
+ return Promise.resolve(undefined);
131
+ }
132
+ getPendingTxHashes() {
133
+ return Promise.resolve([
134
+ ...this.txsByHash.keys()
135
+ ].map((key)=>TxHash.fromString(key)));
136
+ }
137
+ getPendingTxCount() {
138
+ return Promise.resolve(this.txsByHash.size);
139
+ }
140
+ getMinedTxHashes() {
141
+ return Promise.resolve([]);
142
+ }
143
+ getMinedTxCount() {
144
+ return Promise.resolve(0);
145
+ }
146
+ getTxStatus(hash) {
147
+ return Promise.resolve(this.txsByHash.has(hash.toString()) ? 'pending' : undefined);
148
+ }
149
+ isEmpty() {
150
+ return Promise.resolve(this.txsByHash.size === 0);
151
+ }
152
+ getLowestPriorityPending(_limit) {
153
+ return Promise.resolve([]);
154
+ }
155
+ // === Configuration (TxPoolV2) ===
156
+ updateConfig(_config) {
157
+ return Promise.resolve();
158
+ }
159
+ // === Lifecycle (TxPoolV2) ===
160
+ start() {
161
+ return Promise.resolve();
162
+ }
163
+ stop() {
164
+ return Promise.resolve();
165
+ }
166
+ }
167
+ /**
168
+ * In-memory AttestationPool mock for testing/benchmarking.
169
+ * Provides minimal implementation without persistence.
170
+ */ export class InMemoryAttestationPool {
171
+ proposals = new Map();
172
+ tryAddBlockProposal(blockProposal) {
173
+ const id = blockProposal.archive.toString();
174
+ const alreadyExists = this.proposals.has(id);
175
+ if (alreadyExists) {
176
+ return Promise.resolve({
177
+ added: false,
178
+ alreadyExists: true,
179
+ count: 1
180
+ });
181
+ }
182
+ this.proposals.set(id, blockProposal);
183
+ return Promise.resolve({
184
+ added: true,
185
+ alreadyExists: false,
186
+ count: 1
187
+ });
188
+ }
189
+ getBlockProposal(id) {
190
+ return Promise.resolve(this.proposals.get(id));
191
+ }
192
+ tryAddCheckpointProposal(_proposal) {
193
+ return Promise.resolve({
194
+ added: true,
195
+ alreadyExists: false,
196
+ count: 1
197
+ });
198
+ }
199
+ getCheckpointProposal(_id) {
200
+ return Promise.resolve(undefined);
201
+ }
202
+ async addOwnCheckpointAttestations(_attestations) {}
203
+ async deleteOlderThan(_slot) {}
204
+ getCheckpointAttestationsForSlot(_slot) {
205
+ return Promise.resolve([]);
206
+ }
207
+ getCheckpointAttestationsForSlotAndProposal(_slot, _proposalId) {
208
+ return Promise.resolve([]);
209
+ }
210
+ tryAddCheckpointAttestation(_attestation) {
211
+ return Promise.resolve({
212
+ added: true,
213
+ alreadyExists: false,
214
+ count: 1
215
+ });
216
+ }
217
+ isEmpty() {
218
+ return Promise.resolve(this.proposals.size === 0);
219
+ }
220
+ resetState() {
221
+ this.proposals.clear();
222
+ }
223
+ }
224
+ /**
225
+ * Creates a mock EpochCache for testing.
226
+ */ export function createMockEpochCache() {
227
+ return {
228
+ getCommittee: ()=>Promise.resolve({
229
+ committee: [],
230
+ seed: 1n,
231
+ epoch: EpochNumber.ZERO,
232
+ isEscapeHatchOpen: false
233
+ }),
234
+ getProposerIndexEncoding: ()=>'0x',
235
+ getEpochAndSlotNow: ()=>({
236
+ epoch: EpochNumber.ZERO,
237
+ slot: SlotNumber.ZERO,
238
+ ts: 0n,
239
+ nowMs: 0n
240
+ }),
241
+ computeProposerIndex: ()=>0n,
242
+ getCurrentAndNextSlot: ()=>({
243
+ currentSlot: SlotNumber.ZERO,
244
+ nextSlot: SlotNumber.ZERO
245
+ }),
246
+ getProposerAttesterAddressInSlot: ()=>Promise.resolve(undefined),
247
+ getEpochAndSlotInNextL1Slot: ()=>({
248
+ epoch: EpochNumber.ZERO,
249
+ slot: SlotNumber.ZERO,
250
+ ts: 0n,
251
+ now: 0n
252
+ }),
253
+ isInCommittee: ()=>Promise.resolve(false),
254
+ getRegisteredValidators: ()=>Promise.resolve([]),
255
+ filterInCommittee: ()=>Promise.resolve([]),
256
+ getL1Constants: ()=>({
257
+ l1StartBlock: 0n,
258
+ l1GenesisTime: 0n,
259
+ epochDuration: 1,
260
+ slotDuration: 1,
261
+ ethereumSlotDuration: 1,
262
+ proofSubmissionEpochs: 1,
263
+ targetCommitteeSize: 48
264
+ })
265
+ };
266
+ }
267
+ /**
268
+ * Creates a mock WorldStateSynchronizer for testing.
269
+ */ export function createMockWorldStateSynchronizer() {
270
+ return {
271
+ status: ()=>Promise.resolve({
272
+ syncSummary: {
273
+ latestBlockNumber: 0,
274
+ latestBlockHash: '',
275
+ finalizedBlockNumber: 0,
276
+ treesAreSynched: false,
277
+ oldestHistoricBlockNumber: 0
278
+ }
279
+ })
280
+ };
281
+ }
282
+ /**
283
+ * Unlimited rate limit configuration for benchmarks.
284
+ */ export const UNLIMITED_RATE_LIMIT_QUOTA = {
285
+ peerLimit: {
286
+ quotaTimeMs: 1000,
287
+ quotaCount: 10_000
288
+ },
289
+ globalLimit: {
290
+ quotaTimeMs: 1000,
291
+ quotaCount: 100_000
292
+ }
293
+ };
294
+ /**
295
+ * Installs unlimited rate limits on a ReqResp instance.
296
+ * Used in benchmarks to avoid rate limiting affecting results.
297
+ *
298
+ * Note: Uses `as any` because rateLimiter is private. This is acceptable
299
+ * in test code where we need to override internal behavior.
300
+ */ export function installUnlimitedRateLimitsOnReqResp(reqResp) {
301
+ const rateLimiter = reqResp.rateLimiter;
302
+ rateLimiter.getRateLimits = ()=>UNLIMITED_RATE_LIMIT_QUOTA;
303
+ rateLimiter.allow = ()=>RateLimitStatus.Allowed;
304
+ }
305
+ /**
306
+ * Display names for collector types (for output/logging only).
307
+ */ export const COLLECTOR_DISPLAY_NAMES = {
308
+ 'batch-requester': 'batch-requester (new)',
309
+ 'send-batch-request': 'send-batch-request (old)'
310
+ };
311
+ /**
312
+ * Benchmark timing constants.
313
+ */ export const BENCHMARK_CONSTANTS = {
314
+ /** Time to wait for peers to connect before starting benchmark */ PEER_DISCOVERY_WAIT_MS: 10_000,
315
+ /** Maximum time to wait for peer connections */ MAX_PEER_WAIT_MS: 60_000,
316
+ /** Interval between peer connection checks */ PEER_CHECK_INTERVAL_MS: 500,
317
+ /** Default worker ready timeout */ WORKER_READY_TIMEOUT_MS: 30_000,
318
+ /** Graceful shutdown timeout before force kill */ GRACEFUL_SHUTDOWN_TIMEOUT_MS: 5_000,
319
+ /** Overall cleanup timeout */ CLEANUP_TIMEOUT_MS: 10_000,
320
+ /** Buffer time for internal timeout to ensure we return before outer timeout */ TIMEOUT_BUFFER_MS: 5_000,
321
+ /** Minimum internal timeout regardless of buffer */ MIN_INTERNAL_TIMEOUT_MS: 1_000,
322
+ /** Fixed max peers for fair benchmarking */ FIXED_MAX_PEERS: 10,
323
+ /** Fixed max retry attempts for fair benchmarking */ FIXED_MAX_RETRY_ATTEMPTS: 3,
324
+ /** LMDB map size for temp stores used in benchmarks (in KB). */ KV_STORE_MAP_SIZE_KB: 256 * 1024
325
+ };
326
+ /**
327
+ * Filters transactions based on distribution pattern for benchmark responders.
328
+ *
329
+ * @param allTxs - All transactions to filter
330
+ * @param peerIndex - Index of the current peer (0 = aggregator)
331
+ * @param peerCount - Total number of peers
332
+ * @param distribution - Distribution pattern to apply
333
+ * @param pinnedPeerIndex - Index of the pinned peer (for pinned-only distribution)
334
+ * @returns Filtered transactions for this peer
335
+ */ export function filterTxsByDistribution(allTxs, peerIndex, peerCount, distribution, pinnedPeerIndex = 1) {
336
+ if (peerIndex === 0) {
337
+ return [];
338
+ }
339
+ const responderCount = peerCount - 1;
340
+ switch(distribution){
341
+ case 'uniform':
342
+ return allTxs;
343
+ case 'sparse':
344
+ {
345
+ const responderIndex = peerIndex - 1;
346
+ return allTxs.filter((_, txIndex)=>{
347
+ const bucket = txIndex % responderCount;
348
+ return bucket === responderIndex || bucket === (responderIndex + 1) % responderCount;
349
+ });
350
+ }
351
+ case 'pinned-only':
352
+ return peerIndex === pinnedPeerIndex ? allTxs : [];
353
+ }
354
+ }
355
+ /**
356
+ * Calculates the internal timeout for collector operations.
357
+ * Ensures we return before the outer timeout while maintaining a minimum.
358
+ */ export function calculateInternalTimeout(timeoutMs) {
359
+ return Math.max(timeoutMs - BENCHMARK_CONSTANTS.TIMEOUT_BUFFER_MS, BENCHMARK_CONSTANTS.MIN_INTERNAL_TIMEOUT_MS);
360
+ }
@@ -1,2 +1,28 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDJwX2NsaWVudF90ZXN0YmVuY2hfd29ya2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGJlbmNoL3AycF9jbGllbnRfdGVzdGJlbmNoX3dvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
1
+ import { type CollectorType, type DistributionPattern } from '../test-helpers/testbench-utils.js';
2
+ export type { DistributionPattern, CollectorType } from '../test-helpers/testbench-utils.js';
3
+ export { COLLECTOR_DISPLAY_NAMES } from '../test-helpers/testbench-utils.js';
4
+ export interface BenchReqRespCommand {
5
+ type: 'BENCH_REQRESP';
6
+ txCount: number;
7
+ peerCount: number;
8
+ distribution: DistributionPattern;
9
+ collectorType: CollectorType;
10
+ timeoutMs: number;
11
+ isAggregator: boolean;
12
+ peerIndex: number;
13
+ pinnedPeerIndex?: number;
14
+ pinnedPeerId?: string;
15
+ blockNumber: number;
16
+ seed: number;
17
+ }
18
+ export interface BenchResultMessage {
19
+ type: 'BENCH_RESULT';
20
+ durationMs: number;
21
+ fetchedCount: number;
22
+ success: boolean;
23
+ error?: string;
24
+ }
25
+ export interface BenchReadyMessage {
26
+ type: 'BENCH_READY';
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDJwX2NsaWVudF90ZXN0YmVuY2hfd29ya2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGJlbmNoL3AycF9jbGllbnRfdGVzdGJlbmNoX3dvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQ0EsT0FBTyxFQUVMLEtBQUssYUFBYSxFQUNsQixLQUFLLG1CQUFtQixFQU96QixNQUFNLG9DQUFvQyxDQUFDO0FBRzVDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUU3RSxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLElBQUksRUFBRSxlQUFlLENBQUM7SUFDdEIsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztJQUNsQyxhQUFhLEVBQUUsYUFBYSxDQUFDO0lBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsWUFBWSxFQUFFLE9BQU8sQ0FBQztJQUN0QixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGVBQWUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN6QixZQUFZLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdEIsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixJQUFJLEVBQUUsTUFBTSxDQUFDO0NBQ2Q7QUFFRCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLElBQUksRUFBRSxjQUFjLENBQUM7SUFDckIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxPQUFPLENBQUM7SUFDakIsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ2hCO0FBRUQsTUFBTSxXQUFXLGlCQUFpQjtJQUNoQyxJQUFJLEVBQUUsYUFBYSxDQUFDO0NBQ3JCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"p2p_client_testbench_worker.d.ts","sourceRoot":"","sources":["../../src/testbench/p2p_client_testbench_worker.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"p2p_client_testbench_worker.d.ts","sourceRoot":"","sources":["../../src/testbench/p2p_client_testbench_worker.ts"],"names":[],"mappings":"AA+CA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAOzB,MAAM,oCAAoC,CAAC;AAG5C,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,mBAAmB,CAAC;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;CACrB"}