@aztec/p2p 3.0.3 → 3.9.9-nightly.20260312

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 (552) 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 +10 -10
  5. package/dest/client/factory.d.ts.map +1 -1
  6. package/dest/client/factory.js +50 -19
  7. package/dest/client/interface.d.ts +61 -35
  8. package/dest/client/interface.d.ts.map +1 -1
  9. package/dest/client/p2p_client.d.ts +47 -60
  10. package/dest/client/p2p_client.d.ts.map +1 -1
  11. package/dest/client/p2p_client.js +602 -333
  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 +304 -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 +60 -17
  19. package/dest/config.d.ts.map +1 -1
  20. package/dest/config.js +104 -44
  21. package/dest/errors/tx-pool.error.d.ts +8 -0
  22. package/dest/errors/tx-pool.error.d.ts.map +1 -0
  23. package/dest/errors/tx-pool.error.js +9 -0
  24. package/dest/index.d.ts +2 -1
  25. package/dest/index.d.ts.map +1 -1
  26. package/dest/index.js +1 -0
  27. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +111 -76
  28. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  29. package/dest/mem_pools/attestation_pool/attestation_pool.js +441 -3
  30. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +2 -2
  31. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
  32. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +527 -287
  33. package/dest/mem_pools/attestation_pool/index.d.ts +2 -3
  34. package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -1
  35. package/dest/mem_pools/attestation_pool/index.js +1 -2
  36. package/dest/mem_pools/attestation_pool/mocks.d.ts +9 -6
  37. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  38. package/dest/mem_pools/attestation_pool/mocks.js +16 -12
  39. package/dest/mem_pools/index.d.ts +3 -2
  40. package/dest/mem_pools/index.d.ts.map +1 -1
  41. package/dest/mem_pools/index.js +1 -1
  42. package/dest/mem_pools/instrumentation.d.ts +7 -1
  43. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  44. package/dest/mem_pools/instrumentation.js +31 -13
  45. package/dest/mem_pools/interface.d.ts +6 -7
  46. package/dest/mem_pools/interface.d.ts.map +1 -1
  47. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +35 -26
  48. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
  49. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +313 -334
  50. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +32 -0
  51. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +1 -0
  52. package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +112 -0
  53. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +157 -0
  54. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +1 -0
  55. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +52 -0
  56. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts +16 -0
  57. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
  58. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.js +122 -0
  59. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +17 -0
  60. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
  61. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +84 -0
  62. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +19 -0
  63. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
  64. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +78 -0
  65. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +26 -0
  66. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +1 -0
  67. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.js +84 -0
  68. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts +25 -0
  69. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts.map +1 -0
  70. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.js +57 -0
  71. package/dest/mem_pools/tx_pool/index.d.ts +1 -2
  72. package/dest/mem_pools/tx_pool/index.d.ts.map +1 -1
  73. package/dest/mem_pools/tx_pool/index.js +0 -1
  74. package/dest/mem_pools/tx_pool/priority.d.ts +5 -1
  75. package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -1
  76. package/dest/mem_pools/tx_pool/priority.js +8 -3
  77. package/dest/mem_pools/tx_pool/tx_pool.d.ts +8 -4
  78. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -1
  79. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
  80. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
  81. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +28 -21
  82. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts +2 -0
  83. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts.map +1 -0
  84. package/dest/mem_pools/tx_pool_v2/archive/index.js +1 -0
  85. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts +43 -0
  86. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts.map +1 -0
  87. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.js +103 -0
  88. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +104 -0
  89. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -0
  90. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +251 -0
  91. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +47 -0
  92. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -0
  93. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +128 -0
  94. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +17 -0
  95. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
  96. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +93 -0
  97. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +19 -0
  98. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -0
  99. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +97 -0
  100. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +10 -0
  101. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -0
  102. package/dest/mem_pools/tx_pool_v2/eviction/index.js +11 -0
  103. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +180 -0
  104. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -0
  105. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +25 -0
  106. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts +15 -0
  107. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
  108. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +65 -0
  109. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts +17 -0
  110. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
  111. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +93 -0
  112. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +16 -0
  113. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -0
  114. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +78 -0
  115. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +20 -0
  116. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -0
  117. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +75 -0
  118. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +15 -0
  119. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -0
  120. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +19 -0
  121. package/dest/mem_pools/tx_pool_v2/index.d.ts +6 -0
  122. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -0
  123. package/dest/mem_pools/tx_pool_v2/index.js +5 -0
  124. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts +15 -0
  125. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts.map +1 -0
  126. package/dest/mem_pools/tx_pool_v2/instrumentation.js +43 -0
  127. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +211 -0
  128. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -0
  129. package/dest/mem_pools/tx_pool_v2/interfaces.js +9 -0
  130. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +128 -0
  131. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -0
  132. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +210 -0
  133. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts +26 -0
  134. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts.map +1 -0
  135. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.js +70 -0
  136. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +108 -0
  137. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -0
  138. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +354 -0
  139. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +60 -0
  140. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -0
  141. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +161 -0
  142. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +77 -0
  143. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -0
  144. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +899 -0
  145. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +4 -4
  146. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  147. package/dest/msg_validators/attestation_validator/attestation_validator.js +51 -18
  148. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +7 -7
  149. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
  150. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +22 -13
  151. package/dest/msg_validators/clock_tolerance.d.ts +21 -0
  152. package/dest/msg_validators/clock_tolerance.d.ts.map +1 -0
  153. package/dest/msg_validators/clock_tolerance.js +37 -0
  154. package/dest/msg_validators/index.d.ts +2 -2
  155. package/dest/msg_validators/index.d.ts.map +1 -1
  156. package/dest/msg_validators/index.js +1 -1
  157. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +11 -0
  158. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -0
  159. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +14 -0
  160. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +11 -0
  161. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -0
  162. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +20 -0
  163. package/dest/msg_validators/proposal_validator/index.d.ts +4 -0
  164. package/dest/msg_validators/proposal_validator/index.d.ts.map +1 -0
  165. package/dest/msg_validators/proposal_validator/index.js +3 -0
  166. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +18 -0
  167. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -0
  168. package/dest/msg_validators/proposal_validator/proposal_validator.js +116 -0
  169. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +4 -4
  170. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  171. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +3 -3
  172. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +2 -1
  173. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -1
  174. package/dest/msg_validators/tx_validator/allowed_public_setup.js +24 -20
  175. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts +17 -0
  176. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts.map +1 -0
  177. package/dest/msg_validators/tx_validator/allowed_setup_helpers.js +24 -0
  178. package/dest/msg_validators/tx_validator/archive_cache.d.ts +3 -3
  179. package/dest/msg_validators/tx_validator/archive_cache.d.ts.map +1 -1
  180. package/dest/msg_validators/tx_validator/archive_cache.js +1 -1
  181. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +20 -6
  182. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  183. package/dest/msg_validators/tx_validator/block_header_validator.js +4 -3
  184. package/dest/msg_validators/tx_validator/data_validator.d.ts +3 -1
  185. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  186. package/dest/msg_validators/tx_validator/data_validator.js +4 -1
  187. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +15 -4
  188. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  189. package/dest/msg_validators/tx_validator/double_spend_validator.js +7 -6
  190. package/dest/msg_validators/tx_validator/factory.d.ts +129 -5
  191. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  192. package/dest/msg_validators/tx_validator/factory.js +235 -57
  193. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +10 -0
  194. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -0
  195. package/dest/msg_validators/tx_validator/fee_payer_balance.js +24 -0
  196. package/dest/msg_validators/tx_validator/gas_validator.d.ts +68 -3
  197. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  198. package/dest/msg_validators/tx_validator/gas_validator.js +114 -52
  199. package/dest/msg_validators/tx_validator/index.d.ts +4 -1
  200. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  201. package/dest/msg_validators/tx_validator/index.js +3 -0
  202. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +3 -2
  203. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  204. package/dest/msg_validators/tx_validator/metadata_validator.js +2 -2
  205. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts +14 -0
  206. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts.map +1 -0
  207. package/dest/msg_validators/tx_validator/nullifier_cache.js +24 -0
  208. package/dest/msg_validators/tx_validator/phases_validator.d.ts +4 -3
  209. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  210. package/dest/msg_validators/tx_validator/phases_validator.js +47 -26
  211. package/dest/msg_validators/tx_validator/size_validator.d.ts +8 -0
  212. package/dest/msg_validators/tx_validator/size_validator.d.ts.map +1 -0
  213. package/dest/msg_validators/tx_validator/size_validator.js +23 -0
  214. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +22 -5
  215. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  216. package/dest/msg_validators/tx_validator/timestamp_validator.js +8 -8
  217. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts +3 -2
  218. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts.map +1 -1
  219. package/dest/msg_validators/tx_validator/tx_permitted_validator.js +2 -2
  220. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +3 -2
  221. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
  222. package/dest/msg_validators/tx_validator/tx_proof_validator.js +2 -2
  223. package/dest/services/data_store.d.ts +1 -1
  224. package/dest/services/data_store.d.ts.map +1 -1
  225. package/dest/services/data_store.js +10 -6
  226. package/dest/services/discv5/discV5_service.js +1 -1
  227. package/dest/services/dummy_service.d.ts +28 -4
  228. package/dest/services/dummy_service.d.ts.map +1 -1
  229. package/dest/services/dummy_service.js +49 -1
  230. package/dest/services/encoding.d.ts +3 -3
  231. package/dest/services/encoding.d.ts.map +1 -1
  232. package/dest/services/encoding.js +16 -14
  233. package/dest/services/gossipsub/index.d.ts +3 -0
  234. package/dest/services/gossipsub/index.d.ts.map +1 -0
  235. package/dest/services/gossipsub/index.js +2 -0
  236. package/dest/services/gossipsub/scoring.d.ts +21 -3
  237. package/dest/services/gossipsub/scoring.d.ts.map +1 -1
  238. package/dest/services/gossipsub/scoring.js +24 -7
  239. package/dest/services/gossipsub/topic_score_params.d.ts +173 -0
  240. package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -0
  241. package/dest/services/gossipsub/topic_score_params.js +346 -0
  242. package/dest/services/index.d.ts +2 -1
  243. package/dest/services/index.d.ts.map +1 -1
  244. package/dest/services/index.js +1 -0
  245. package/dest/services/libp2p/instrumentation.d.ts +1 -1
  246. package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
  247. package/dest/services/libp2p/instrumentation.js +30 -72
  248. package/dest/services/libp2p/libp2p_service.d.ts +117 -42
  249. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  250. package/dest/services/libp2p/libp2p_service.js +1038 -381
  251. package/dest/services/peer-manager/metrics.d.ts +7 -2
  252. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  253. package/dest/services/peer-manager/metrics.js +33 -21
  254. package/dest/services/peer-manager/peer_manager.d.ts +2 -2
  255. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  256. package/dest/services/peer-manager/peer_manager.js +2 -10
  257. package/dest/services/peer-manager/peer_scoring.d.ts +1 -1
  258. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  259. package/dest/services/peer-manager/peer_scoring.js +32 -6
  260. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +48 -0
  261. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -0
  262. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +562 -0
  263. package/dest/services/reqresp/batch-tx-requester/config.d.ts +17 -0
  264. package/dest/services/reqresp/batch-tx-requester/config.d.ts.map +1 -0
  265. package/dest/services/reqresp/batch-tx-requester/config.js +27 -0
  266. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +46 -0
  267. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -0
  268. package/dest/services/reqresp/batch-tx-requester/interface.js +1 -0
  269. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +34 -0
  270. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -0
  271. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +130 -0
  272. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +54 -0
  273. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -0
  274. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +139 -0
  275. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts +20 -0
  276. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts.map +1 -0
  277. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +21 -0
  278. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +22 -3
  279. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
  280. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +63 -4
  281. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +2 -1
  282. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
  283. package/dest/services/reqresp/connection-sampler/connection_sampler.js +12 -0
  284. package/dest/services/reqresp/constants.d.ts +12 -0
  285. package/dest/services/reqresp/constants.d.ts.map +1 -0
  286. package/dest/services/reqresp/constants.js +7 -0
  287. package/dest/services/reqresp/interface.d.ts +12 -1
  288. package/dest/services/reqresp/interface.d.ts.map +1 -1
  289. package/dest/services/reqresp/interface.js +15 -1
  290. package/dest/services/reqresp/metrics.d.ts +6 -5
  291. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  292. package/dest/services/reqresp/metrics.js +17 -21
  293. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +5 -1
  294. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -1
  295. package/dest/services/reqresp/protocols/block_txs/bitvector.js +12 -0
  296. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +7 -5
  297. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
  298. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +27 -9
  299. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +29 -6
  300. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
  301. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +59 -13
  302. package/dest/services/reqresp/protocols/status.d.ts +1 -1
  303. package/dest/services/reqresp/protocols/status.d.ts.map +1 -1
  304. package/dest/services/reqresp/protocols/status.js +4 -1
  305. package/dest/services/reqresp/protocols/tx.d.ts +8 -3
  306. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  307. package/dest/services/reqresp/protocols/tx.js +20 -0
  308. package/dest/services/reqresp/reqresp.d.ts +6 -1
  309. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  310. package/dest/services/reqresp/reqresp.js +471 -50
  311. package/dest/services/service.d.ts +56 -4
  312. package/dest/services/service.d.ts.map +1 -1
  313. package/dest/services/tx_collection/config.d.ts +22 -1
  314. package/dest/services/tx_collection/config.d.ts.map +1 -1
  315. package/dest/services/tx_collection/config.js +55 -1
  316. package/dest/services/tx_collection/fast_tx_collection.d.ts +7 -4
  317. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  318. package/dest/services/tx_collection/fast_tx_collection.js +71 -44
  319. package/dest/services/tx_collection/file_store_tx_collection.d.ts +53 -0
  320. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -0
  321. package/dest/services/tx_collection/file_store_tx_collection.js +167 -0
  322. package/dest/services/tx_collection/file_store_tx_source.d.ts +37 -0
  323. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -0
  324. package/dest/services/tx_collection/file_store_tx_source.js +90 -0
  325. package/dest/services/tx_collection/index.d.ts +3 -1
  326. package/dest/services/tx_collection/index.d.ts.map +1 -1
  327. package/dest/services/tx_collection/index.js +2 -0
  328. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  329. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  330. package/dest/services/tx_collection/instrumentation.js +11 -13
  331. package/dest/services/tx_collection/missing_txs_tracker.d.ts +32 -0
  332. package/dest/services/tx_collection/missing_txs_tracker.d.ts.map +1 -0
  333. package/dest/services/tx_collection/missing_txs_tracker.js +27 -0
  334. package/dest/services/tx_collection/proposal_tx_collector.d.ts +49 -0
  335. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -0
  336. package/dest/services/tx_collection/proposal_tx_collector.js +50 -0
  337. package/dest/services/tx_collection/slow_tx_collection.d.ts +9 -5
  338. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
  339. package/dest/services/tx_collection/slow_tx_collection.js +60 -26
  340. package/dest/services/tx_collection/tx_collection.d.ts +29 -16
  341. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  342. package/dest/services/tx_collection/tx_collection.js +79 -7
  343. package/dest/services/tx_collection/tx_collection_sink.d.ts +18 -8
  344. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
  345. package/dest/services/tx_collection/tx_collection_sink.js +26 -29
  346. package/dest/services/tx_collection/tx_source.d.ts +8 -3
  347. package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
  348. package/dest/services/tx_collection/tx_source.js +19 -2
  349. package/dest/services/tx_file_store/config.d.ts +16 -0
  350. package/dest/services/tx_file_store/config.d.ts.map +1 -0
  351. package/dest/services/tx_file_store/config.js +22 -0
  352. package/dest/services/tx_file_store/index.d.ts +4 -0
  353. package/dest/services/tx_file_store/index.d.ts.map +1 -0
  354. package/dest/services/tx_file_store/index.js +3 -0
  355. package/dest/services/tx_file_store/instrumentation.d.ts +15 -0
  356. package/dest/services/tx_file_store/instrumentation.d.ts.map +1 -0
  357. package/dest/services/tx_file_store/instrumentation.js +29 -0
  358. package/dest/services/tx_file_store/tx_file_store.d.ts +48 -0
  359. package/dest/services/tx_file_store/tx_file_store.d.ts.map +1 -0
  360. package/dest/services/tx_file_store/tx_file_store.js +152 -0
  361. package/dest/services/tx_provider.d.ts +7 -6
  362. package/dest/services/tx_provider.d.ts.map +1 -1
  363. package/dest/services/tx_provider.js +20 -10
  364. package/dest/services/tx_provider_instrumentation.d.ts +5 -2
  365. package/dest/services/tx_provider_instrumentation.d.ts.map +1 -1
  366. package/dest/services/tx_provider_instrumentation.js +14 -14
  367. package/dest/test-helpers/index.d.ts +3 -1
  368. package/dest/test-helpers/index.d.ts.map +1 -1
  369. package/dest/test-helpers/index.js +2 -0
  370. package/dest/test-helpers/make-test-p2p-clients.d.ts +7 -8
  371. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  372. package/dest/test-helpers/make-test-p2p-clients.js +1 -2
  373. package/dest/test-helpers/mock-pubsub.d.ts +30 -4
  374. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  375. package/dest/test-helpers/mock-pubsub.js +105 -4
  376. package/dest/test-helpers/reqresp-nodes.d.ts +2 -3
  377. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  378. package/dest/test-helpers/reqresp-nodes.js +4 -3
  379. package/dest/test-helpers/test_tx_provider.d.ts +40 -0
  380. package/dest/test-helpers/test_tx_provider.d.ts.map +1 -0
  381. package/dest/test-helpers/test_tx_provider.js +41 -0
  382. package/dest/test-helpers/testbench-utils.d.ts +163 -0
  383. package/dest/test-helpers/testbench-utils.d.ts.map +1 -0
  384. package/dest/test-helpers/testbench-utils.js +367 -0
  385. package/dest/testbench/p2p_client_testbench_worker.d.ts +28 -2
  386. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  387. package/dest/testbench/p2p_client_testbench_worker.js +226 -130
  388. package/dest/testbench/worker_client_manager.d.ts +53 -6
  389. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  390. package/dest/testbench/worker_client_manager.js +230 -40
  391. package/dest/util.d.ts +2 -2
  392. package/dest/util.d.ts.map +1 -1
  393. package/package.json +16 -16
  394. package/src/bootstrap/bootstrap.ts +7 -4
  395. package/src/client/factory.ts +91 -43
  396. package/src/client/interface.ts +73 -36
  397. package/src/client/p2p_client.ts +259 -390
  398. package/src/client/test/tx_proposal_collector/README.md +227 -0
  399. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +345 -0
  400. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.ts +43 -0
  401. package/src/config.ts +161 -50
  402. package/src/errors/tx-pool.error.ts +12 -0
  403. package/src/index.ts +1 -0
  404. package/src/mem_pools/attestation_pool/attestation_pool.ts +510 -78
  405. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +612 -320
  406. package/src/mem_pools/attestation_pool/index.ts +9 -2
  407. package/src/mem_pools/attestation_pool/mocks.ts +20 -13
  408. package/src/mem_pools/index.ts +4 -1
  409. package/src/mem_pools/instrumentation.ts +39 -14
  410. package/src/mem_pools/interface.ts +5 -7
  411. package/src/mem_pools/tx_pool/README.md +270 -0
  412. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +361 -366
  413. package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +132 -0
  414. package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +208 -0
  415. package/src/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.ts +162 -0
  416. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +104 -0
  417. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +93 -0
  418. package/src/mem_pools/tx_pool/eviction/low_priority_eviction_rule.ts +106 -0
  419. package/src/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.ts +75 -0
  420. package/src/mem_pools/tx_pool/index.ts +0 -1
  421. package/src/mem_pools/tx_pool/priority.ts +10 -3
  422. package/src/mem_pools/tx_pool/tx_pool.ts +8 -3
  423. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +21 -14
  424. package/src/mem_pools/tx_pool_v2/README.md +283 -0
  425. package/src/mem_pools/tx_pool_v2/archive/index.ts +1 -0
  426. package/src/mem_pools/tx_pool_v2/archive/tx_archive.ts +120 -0
  427. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +321 -0
  428. package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +160 -0
  429. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +121 -0
  430. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +125 -0
  431. package/src/mem_pools/tx_pool_v2/eviction/index.ts +27 -0
  432. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +219 -0
  433. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +74 -0
  434. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +101 -0
  435. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +91 -0
  436. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +99 -0
  437. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +32 -0
  438. package/src/mem_pools/tx_pool_v2/index.ts +12 -0
  439. package/src/mem_pools/tx_pool_v2/instrumentation.ts +69 -0
  440. package/src/mem_pools/tx_pool_v2/interfaces.ts +242 -0
  441. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +327 -0
  442. package/src/mem_pools/tx_pool_v2/tx_pool_bench_metrics.ts +77 -0
  443. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +444 -0
  444. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +223 -0
  445. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +1079 -0
  446. package/src/msg_validators/attestation_validator/attestation_validator.ts +36 -21
  447. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +21 -18
  448. package/src/msg_validators/clock_tolerance.ts +51 -0
  449. package/src/msg_validators/index.ts +1 -1
  450. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +20 -0
  451. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +26 -0
  452. package/src/msg_validators/proposal_validator/index.ts +3 -0
  453. package/src/msg_validators/proposal_validator/proposal_validator.ts +115 -0
  454. package/src/msg_validators/tx_validator/README.md +115 -0
  455. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +5 -5
  456. package/src/msg_validators/tx_validator/allowed_public_setup.ts +22 -27
  457. package/src/msg_validators/tx_validator/allowed_setup_helpers.ts +31 -0
  458. package/src/msg_validators/tx_validator/archive_cache.ts +3 -3
  459. package/src/msg_validators/tx_validator/block_header_validator.ts +21 -8
  460. package/src/msg_validators/tx_validator/data_validator.ts +18 -6
  461. package/src/msg_validators/tx_validator/double_spend_validator.ts +15 -9
  462. package/src/msg_validators/tx_validator/factory.ts +385 -55
  463. package/src/msg_validators/tx_validator/fee_payer_balance.ts +44 -0
  464. package/src/msg_validators/tx_validator/gas_validator.ts +140 -55
  465. package/src/msg_validators/tx_validator/index.ts +3 -0
  466. package/src/msg_validators/tx_validator/metadata_validator.ts +18 -7
  467. package/src/msg_validators/tx_validator/nullifier_cache.ts +30 -0
  468. package/src/msg_validators/tx_validator/phases_validator.ts +56 -29
  469. package/src/msg_validators/tx_validator/size_validator.ts +22 -0
  470. package/src/msg_validators/tx_validator/timestamp_validator.ts +29 -19
  471. package/src/msg_validators/tx_validator/tx_permitted_validator.ts +8 -3
  472. package/src/msg_validators/tx_validator/tx_proof_validator.ts +8 -3
  473. package/src/services/data_store.ts +10 -7
  474. package/src/services/discv5/discV5_service.ts +1 -1
  475. package/src/services/dummy_service.ts +65 -2
  476. package/src/services/encoding.ts +13 -12
  477. package/src/services/gossipsub/README.md +641 -0
  478. package/src/services/gossipsub/index.ts +2 -0
  479. package/src/services/gossipsub/scoring.ts +29 -5
  480. package/src/services/gossipsub/topic_score_params.ts +487 -0
  481. package/src/services/index.ts +1 -0
  482. package/src/services/libp2p/instrumentation.ts +32 -73
  483. package/src/services/libp2p/libp2p_service.ts +732 -387
  484. package/src/services/peer-manager/metrics.ts +39 -21
  485. package/src/services/peer-manager/peer_manager.ts +3 -2
  486. package/src/services/peer-manager/peer_scoring.ts +28 -4
  487. package/src/services/reqresp/batch-tx-requester/README.md +305 -0
  488. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +706 -0
  489. package/src/services/reqresp/batch-tx-requester/config.ts +40 -0
  490. package/src/services/reqresp/batch-tx-requester/interface.ts +53 -0
  491. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +161 -0
  492. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +205 -0
  493. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +37 -0
  494. package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +65 -4
  495. package/src/services/reqresp/connection-sampler/connection_sampler.ts +19 -1
  496. package/src/services/reqresp/constants.ts +14 -0
  497. package/src/services/reqresp/interface.ts +29 -1
  498. package/src/services/reqresp/metrics.ts +36 -27
  499. package/src/services/reqresp/protocols/block_txs/bitvector.ts +16 -0
  500. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +35 -12
  501. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +74 -9
  502. package/src/services/reqresp/protocols/status.ts +7 -4
  503. package/src/services/reqresp/protocols/tx.ts +23 -2
  504. package/src/services/reqresp/reqresp.ts +79 -22
  505. package/src/services/service.ts +73 -5
  506. package/src/services/tx_collection/config.ts +83 -1
  507. package/src/services/tx_collection/fast_tx_collection.ts +93 -47
  508. package/src/services/tx_collection/file_store_tx_collection.ts +202 -0
  509. package/src/services/tx_collection/file_store_tx_source.ts +117 -0
  510. package/src/services/tx_collection/index.ts +6 -0
  511. package/src/services/tx_collection/instrumentation.ts +11 -13
  512. package/src/services/tx_collection/missing_txs_tracker.ts +52 -0
  513. package/src/services/tx_collection/proposal_tx_collector.ts +113 -0
  514. package/src/services/tx_collection/slow_tx_collection.ts +68 -35
  515. package/src/services/tx_collection/tx_collection.ts +121 -24
  516. package/src/services/tx_collection/tx_collection_sink.ts +30 -34
  517. package/src/services/tx_collection/tx_source.ts +22 -3
  518. package/src/services/tx_file_store/config.ts +37 -0
  519. package/src/services/tx_file_store/index.ts +3 -0
  520. package/src/services/tx_file_store/instrumentation.ts +36 -0
  521. package/src/services/tx_file_store/tx_file_store.ts +175 -0
  522. package/src/services/tx_provider.ts +29 -13
  523. package/src/services/tx_provider_instrumentation.ts +24 -14
  524. package/src/test-helpers/index.ts +2 -0
  525. package/src/test-helpers/make-test-p2p-clients.ts +3 -5
  526. package/src/test-helpers/mock-pubsub.ts +147 -10
  527. package/src/test-helpers/reqresp-nodes.ts +5 -7
  528. package/src/test-helpers/test_tx_provider.ts +64 -0
  529. package/src/test-helpers/testbench-utils.ts +431 -0
  530. package/src/testbench/p2p_client_testbench_worker.ts +351 -128
  531. package/src/testbench/worker_client_manager.ts +311 -42
  532. package/src/util.ts +7 -1
  533. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +0 -37
  534. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +0 -1
  535. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +0 -213
  536. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +0 -30
  537. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +0 -1
  538. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +0 -219
  539. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +0 -81
  540. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +0 -1
  541. package/dest/mem_pools/tx_pool/memory_tx_pool.js +0 -239
  542. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +0 -12
  543. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +0 -1
  544. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +0 -82
  545. package/dest/msg_validators/block_proposal_validator/index.d.ts +0 -2
  546. package/dest/msg_validators/block_proposal_validator/index.d.ts.map +0 -1
  547. package/dest/msg_validators/block_proposal_validator/index.js +0 -1
  548. package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +0 -298
  549. package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +0 -287
  550. package/src/mem_pools/tx_pool/memory_tx_pool.ts +0 -285
  551. package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +0 -97
  552. package/src/msg_validators/block_proposal_validator/index.ts +0 -1
@@ -1,10 +1,10 @@
1
- import { SecretValue } from '@aztec/foundation/config';
2
1
  import { EthAddress } from '@aztec/foundation/eth-address';
3
2
  import type { Logger } from '@aztec/foundation/log';
4
3
  import { sleep } from '@aztec/foundation/sleep';
5
4
  import type { ChainConfig } from '@aztec/stdlib/config';
6
5
 
7
6
  import { type ChildProcess, fork } from 'child_process';
7
+ import { existsSync } from 'fs';
8
8
  import path from 'path';
9
9
  import { fileURLToPath } from 'url';
10
10
 
@@ -12,9 +12,19 @@ import { type P2PConfig, getP2PDefaultConfig } from '../config.js';
12
12
  import { generatePeerIdPrivateKeys } from '../test-helpers/generate-peer-id-private-keys.js';
13
13
  import { getPorts } from '../test-helpers/get-ports.js';
14
14
  import { makeEnr, makeEnrs } from '../test-helpers/make-enrs.js';
15
+ import { BENCHMARK_CONSTANTS } from '../test-helpers/testbench-utils.js';
16
+ import type {
17
+ BenchReqRespCommand,
18
+ BenchResultMessage,
19
+ CollectorType,
20
+ DistributionPattern,
21
+ } from './p2p_client_testbench_worker.js';
15
22
 
16
23
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
17
- const workerPath = path.join(__dirname, '../../dest/testbench/p2p_client_testbench_worker.js');
24
+ const p2pRoot = path.resolve(__dirname, '../..');
25
+ const workerTsPath = path.join(__dirname, 'p2p_client_testbench_worker.ts');
26
+ const workerJsPath = path.join(p2pRoot, 'dest/testbench/p2p_client_testbench_worker.js');
27
+ const tsconfigPath = path.join(p2pRoot, 'tsconfig.json');
18
28
 
19
29
  const testChainConfig: ChainConfig = {
20
30
  l1ChainId: 31337,
@@ -24,11 +34,32 @@ const testChainConfig: ChainConfig = {
24
34
  },
25
35
  };
26
36
 
37
+ export interface ReqRespBenchmarkConfig {
38
+ txCount: number;
39
+ distribution: DistributionPattern;
40
+ collectorType: CollectorType;
41
+ timeoutMs: number;
42
+ pinnedPeerIndex?: number;
43
+ blockNumber?: number;
44
+ seed?: number;
45
+ }
46
+
47
+ export interface ReqRespBenchmarkResult {
48
+ txCount: number;
49
+ distribution: DistributionPattern;
50
+ collector: CollectorType;
51
+ durationMs: number;
52
+ fetchedCount: number;
53
+ success: boolean;
54
+ error?: string;
55
+ }
56
+
27
57
  class WorkerClientManager {
28
58
  public processes: ChildProcess[] = [];
29
59
  public peerIdPrivateKeys: string[] = [];
30
60
  public peerEnrs: string[] = [];
31
61
  public ports: number[] = [];
62
+ public peerIds: string[] = [];
32
63
  private p2pConfig: Partial<P2PConfig>;
33
64
  private logger: Logger;
34
65
  private messageReceivedByClient: number[] = [];
@@ -46,33 +77,61 @@ class WorkerClientManager {
46
77
  }
47
78
 
48
79
  /**
49
- * Creates a client configuration object
80
+ * Creates a client configuration object for IPC.
81
+ * Note: We send the raw peerIdPrivateKey string instead of SecretValue
82
+ * because SecretValue.toJSON() returns '[Redacted]', losing the value.
83
+ * The worker must re-wrap it in SecretValue.
84
+ * We also omit priceBumpPercentage since it's a bigint and can't be
85
+ * serialized over IPC (which uses JSON under the hood).
50
86
  */
51
87
  private createClientConfig(
52
88
  clientIndex: number,
53
89
  port: number,
54
90
  otherNodes: string[],
55
- ): P2PConfig & Partial<ChainConfig> {
56
- return {
91
+ ): Omit<P2PConfig, 'peerIdPrivateKey' | 'priceBumpPercentage'> & { peerIdPrivateKey: string } & Partial<ChainConfig> {
92
+ const { priceBumpPercentage: _, ...config } = {
57
93
  ...getP2PDefaultConfig(),
58
94
  p2pEnabled: true,
59
- peerIdPrivateKey: new SecretValue(this.peerIdPrivateKeys[clientIndex]),
95
+ peerIdPrivateKey: this.peerIdPrivateKeys[clientIndex],
60
96
  listenAddress: '127.0.0.1',
61
97
  p2pIp: '127.0.0.1',
62
98
  p2pPort: port,
63
99
  bootstrapNodes: [...otherNodes],
64
100
  ...this.p2pConfig,
65
101
  };
102
+ return config as Omit<P2PConfig, 'peerIdPrivateKey' | 'priceBumpPercentage'> & {
103
+ peerIdPrivateKey: string;
104
+ } & Partial<ChainConfig>;
66
105
  }
67
106
 
68
107
  /**
69
- * Spawns a worker process and returns a promise that resolves when the worker is ready
108
+ * Spawns a worker process and returns a promise that resolves when the worker is ready.
109
+ * Config uses raw string for peerIdPrivateKey (not SecretValue) for IPC serialization.
70
110
  */
71
111
  private spawnWorkerProcess(
72
- config: P2PConfig & Partial<ChainConfig>,
112
+ config: Omit<P2PConfig, 'peerIdPrivateKey' | 'priceBumpPercentage'> & {
113
+ peerIdPrivateKey: string;
114
+ } & Partial<ChainConfig>,
73
115
  clientIndex: number,
74
116
  ): [ChildProcess, Promise<void>] {
75
- const childProcess = fork(workerPath);
117
+ const useCompiled = existsSync(workerJsPath);
118
+ const workerPath = useCompiled ? workerJsPath : workerTsPath;
119
+
120
+ const execArgv = [...process.execArgv];
121
+ if (!useCompiled && !execArgv.includes('ts-node/esm')) {
122
+ execArgv.push('--loader', 'ts-node/esm');
123
+ }
124
+
125
+ const env = {
126
+ ...process.env,
127
+ TS_NODE_PROJECT: tsconfigPath,
128
+ };
129
+
130
+ const childProcess = fork(workerPath, {
131
+ cwd: p2pRoot,
132
+ execArgv,
133
+ env,
134
+ });
76
135
  childProcess.send({ type: 'START', config, clientIndex });
77
136
 
78
137
  // Handle unexpected child process exit
@@ -90,74 +149,131 @@ class WorkerClientManager {
90
149
 
91
150
  // Create ready signal promise
92
151
  const readySignal = new Promise<void>((resolve, reject) => {
93
- // Set a timeout to avoid hanging indefinitely
152
+ let resolved = false;
153
+
94
154
  const timeout = setTimeout(() => {
155
+ if (resolved) {
156
+ return;
157
+ }
158
+ resolved = true;
159
+ childProcess.off('message', messageHandler);
160
+ childProcess.off('exit', exitHandler);
95
161
  reject(new Error(`Timeout waiting for worker ${clientIndex} to be ready`));
96
- }, 30000); // 30 second timeout
162
+ }, BENCHMARK_CONSTANTS.WORKER_READY_TIMEOUT_MS);
97
163
 
98
- childProcess.once('message', (msg: any) => {
99
- clearTimeout(timeout);
164
+ const messageHandler = (msg: any) => {
165
+ if (resolved) {
166
+ return;
167
+ }
168
+ // Only handle READY or ERROR messages; ignore others (e.g., GOSSIP_RECEIVED)
100
169
  if (msg.type === 'READY') {
170
+ resolved = true;
171
+ clearTimeout(timeout);
172
+ childProcess.off('message', messageHandler);
173
+ childProcess.off('exit', exitHandler);
174
+ if (typeof msg.peerId === 'string') {
175
+ this.peerIds[clientIndex] = msg.peerId;
176
+ }
101
177
  resolve();
102
- }
103
- // For future use
104
- if (msg.type === 'ERROR') {
178
+ } else if (msg.type === 'ERROR') {
179
+ resolved = true;
180
+ clearTimeout(timeout);
181
+ childProcess.off('message', messageHandler);
182
+ childProcess.off('exit', exitHandler);
105
183
  reject(new Error(msg.error));
106
184
  }
107
- });
185
+ // Ignore other message types and keep waiting for READY/ERROR
186
+ };
108
187
 
109
- // Also resolve/reject if process exits before sending message
110
- childProcess.once('exit', code => {
188
+ const exitHandler = (code: number | null) => {
189
+ if (resolved) {
190
+ return;
191
+ }
192
+ resolved = true;
111
193
  clearTimeout(timeout);
194
+ childProcess.off('message', messageHandler);
112
195
  if (code === 0) {
113
196
  resolve();
114
197
  } else {
115
198
  reject(new Error(`Worker ${clientIndex} exited with code ${code} before becoming ready`));
116
199
  }
117
- });
200
+ };
201
+
202
+ childProcess.on('message', messageHandler);
203
+ childProcess.once('exit', exitHandler);
118
204
  });
119
205
 
120
206
  return [childProcess, readySignal];
121
207
  }
122
208
 
123
209
  /**
124
- * Creates a number of worker clients in separate processes
125
- * All are configured to connect to each other and overrided with the test specific config
210
+ * Creates a number of worker clients in separate processes.
211
+ * All are configured to connect to each other and overridden with the test-specific config.
126
212
  *
127
213
  * @param numberOfClients - The number of clients to create
214
+ * @param options - Optional overrides for seeding/bootstrapping strategy
128
215
  * @returns The ENRs of the created clients
129
216
  */
130
- async makeWorkerClients(numberOfClients: number) {
217
+ async makeWorkerClients(
218
+ numberOfClients: number,
219
+ options: {
220
+ bootstrapMode?: 'subset' | 'all';
221
+ seedPeerLimit?: number;
222
+ batchSize?: number;
223
+ batchDelayMs?: number;
224
+ } = {},
225
+ ) {
131
226
  try {
227
+ const bootstrapMode = options.bootstrapMode ?? (this.p2pConfig.bootstrapNodesAsFullPeers ? 'all' : 'subset');
228
+ const seedPeerLimit = options.seedPeerLimit ?? 10;
229
+ const batchSize = options.batchSize ?? (bootstrapMode === 'all' ? Math.min(5, numberOfClients) : numberOfClients);
230
+ const batchDelayMs = options.batchDelayMs ?? (bootstrapMode === 'all' ? 500 : 0);
231
+
132
232
  this.messageReceivedByClient = new Array(numberOfClients).fill(0);
133
233
  this.peerIdPrivateKeys = generatePeerIdPrivateKeys(numberOfClients);
134
234
  this.ports = await getPorts(numberOfClients);
135
235
  this.peerEnrs = await makeEnrs(this.peerIdPrivateKeys, this.ports, testChainConfig);
236
+ this.peerIds = new Array(numberOfClients);
136
237
 
137
238
  this.processes = [];
138
239
  const readySignals: Promise<void>[] = [];
139
240
 
140
- for (let i = 0; i < numberOfClients; i++) {
141
- this.logger.info(`Creating client ${i}`);
241
+ for (let batchStart = 0; batchStart < numberOfClients; batchStart += batchSize) {
242
+ const batchEnd = Math.min(batchStart + batchSize, numberOfClients);
243
+ const batchPromises: Promise<void>[] = [];
142
244
 
143
- // Maximum seed with 10 other peers to allow peer discovery to connect them at a smoother rate
144
- const otherNodes = this.peerEnrs.filter((_, ind) => ind < Math.min(i, 10));
245
+ for (let i = batchStart; i < batchEnd; i++) {
246
+ this.logger.info(`Creating client ${i}`);
247
+
248
+ const otherNodes =
249
+ bootstrapMode === 'all'
250
+ ? this.peerEnrs.filter((_, ind) => ind !== i)
251
+ : this.peerEnrs.filter((_, ind) => ind < Math.min(i, seedPeerLimit));
252
+
253
+ const config = this.createClientConfig(i, this.ports[i], otherNodes);
254
+ const [childProcess, readySignal] = this.spawnWorkerProcess(config, i);
255
+
256
+ readySignals.push(readySignal);
257
+ batchPromises.push(readySignal);
258
+ this.processes.push(childProcess);
259
+ }
145
260
 
146
- const config = this.createClientConfig(i, this.ports[i], otherNodes);
147
- const [childProcess, readySignal] = this.spawnWorkerProcess(config, i);
261
+ await Promise.all(batchPromises);
148
262
 
149
- readySignals.push(readySignal);
150
- this.processes.push(childProcess);
263
+ if (batchEnd < numberOfClients && batchDelayMs > 0) {
264
+ await sleep(batchDelayMs);
265
+ }
151
266
  }
152
267
 
153
- // Wait for peers to all connect with each other
154
- await sleep(10000);
268
+ await sleep(BENCHMARK_CONSTANTS.PEER_DISCOVERY_WAIT_MS);
155
269
 
156
- // Wait for all peers to be booted up with timeout
157
270
  await Promise.race([
158
271
  Promise.all(readySignals),
159
272
  new Promise((_, reject) =>
160
- setTimeout(() => reject(new Error('Timeout waiting for all workers to be ready')), 30000),
273
+ setTimeout(
274
+ () => reject(new Error('Timeout waiting for all workers to be ready')),
275
+ BENCHMARK_CONSTANTS.WORKER_READY_TIMEOUT_MS,
276
+ ),
161
277
  ),
162
278
  ]);
163
279
 
@@ -215,11 +331,13 @@ class WorkerClientManager {
215
331
 
216
332
  this.processes[clientIndex] = childProcess;
217
333
 
218
- // Wait for the process to be ready with a timeout
219
334
  await Promise.race([
220
335
  readySignal,
221
336
  new Promise((_, reject) =>
222
- setTimeout(() => reject(new Error(`Timeout waiting for client ${clientIndex} to be ready`)), 30000),
337
+ setTimeout(
338
+ () => reject(new Error(`Timeout waiting for client ${clientIndex} to be ready`)),
339
+ BENCHMARK_CONSTANTS.WORKER_READY_TIMEOUT_MS,
340
+ ),
223
341
  ),
224
342
  ]);
225
343
  } catch (error) {
@@ -239,15 +357,14 @@ class WorkerClientManager {
239
357
  }
240
358
 
241
359
  return new Promise<void>(resolve => {
242
- // Set a timeout for the graceful exit
243
360
  const forceKillTimeout = setTimeout(() => {
244
361
  this.logger.warn(`Process ${index} didn't exit gracefully, force killing...`);
245
362
  try {
246
- process.kill('SIGKILL'); // Force kill
363
+ process.kill('SIGKILL');
247
364
  } catch (e) {
248
365
  this.logger.error(`Error force killing process ${index}:`, e);
249
366
  }
250
- }, 5000); // 5 second timeout for graceful exit
367
+ }, BENCHMARK_CONSTANTS.GRACEFUL_SHUTDOWN_TIMEOUT_MS);
251
368
 
252
369
  // Listen for process exit
253
370
  process.once('exit', () => {
@@ -280,7 +397,6 @@ class WorkerClientManager {
280
397
  // Create array of promises for each process termination
281
398
  const terminationPromises = this.processes.map((process, index) => this.terminateProcess(process, index));
282
399
 
283
- // Wait for all processes to terminate with a timeout
284
400
  try {
285
401
  await Promise.race([
286
402
  Promise.all(terminationPromises),
@@ -297,7 +413,7 @@ class WorkerClientManager {
297
413
  }
298
414
  });
299
415
  resolve();
300
- }, 10000); // 10 second timeout for all processes
416
+ }, BENCHMARK_CONSTANTS.CLEANUP_TIMEOUT_MS);
301
417
  }),
302
418
  ]);
303
419
  } catch (error) {
@@ -305,8 +421,161 @@ class WorkerClientManager {
305
421
  }
306
422
 
307
423
  this.processes = [];
424
+ this.peerIds = [];
308
425
  this.logger.info('All worker processes cleaned up');
309
426
  }
427
+
428
+ /**
429
+ * Run a req/resp benchmark across all worker clients.
430
+ *
431
+ * This sends a BENCH_REQRESP command to all workers:
432
+ * - Aggregator (client 0) runs the collector and returns timing results
433
+ * - Responders (clients 1..N) populate their tx pools based on distribution
434
+ *
435
+ * All workers generate the same txs deterministically from a shared seed,
436
+ * then filter based on their peerIndex and distribution pattern.
437
+ */
438
+ async runReqRespBenchmark(config: ReqRespBenchmarkConfig): Promise<ReqRespBenchmarkResult> {
439
+ const peerCount = this.processes.length;
440
+ if (peerCount < 2) {
441
+ throw new Error('Need at least 2 peers to run req/resp benchmark');
442
+ }
443
+
444
+ const seed = config.seed ?? Date.now();
445
+ const blockNumber = config.blockNumber ?? 1;
446
+ const pinnedPeerId = config.pinnedPeerIndex !== undefined ? this.peerIds[config.pinnedPeerIndex] : undefined;
447
+
448
+ this.logger.info(
449
+ `Starting req/resp benchmark: txCount=${config.txCount}, distribution=${config.distribution}, collector=${config.collectorType}`,
450
+ );
451
+
452
+ const readyPromises: Promise<void>[] = [];
453
+
454
+ for (let i = 1; i < peerCount; i++) {
455
+ const cmd: BenchReqRespCommand = {
456
+ type: 'BENCH_REQRESP',
457
+ txCount: config.txCount,
458
+ peerCount,
459
+ distribution: config.distribution,
460
+ collectorType: config.collectorType,
461
+ timeoutMs: config.timeoutMs,
462
+ isAggregator: false,
463
+ peerIndex: i,
464
+ pinnedPeerIndex: config.pinnedPeerIndex,
465
+ pinnedPeerId,
466
+ blockNumber,
467
+ seed,
468
+ };
469
+
470
+ this.processes[i].send(cmd);
471
+ readyPromises.push(this.waitForBenchReady(i, 30000));
472
+ }
473
+
474
+ await Promise.all(readyPromises);
475
+ this.logger.info('All responder peers ready, starting aggregator benchmark...');
476
+
477
+ const aggregatorCmd: BenchReqRespCommand = {
478
+ type: 'BENCH_REQRESP',
479
+ txCount: config.txCount,
480
+ peerCount,
481
+ distribution: config.distribution,
482
+ collectorType: config.collectorType,
483
+ timeoutMs: config.timeoutMs,
484
+ isAggregator: true,
485
+ peerIndex: 0,
486
+ pinnedPeerIndex: config.pinnedPeerIndex,
487
+ pinnedPeerId,
488
+ blockNumber,
489
+ seed,
490
+ };
491
+
492
+ this.processes[0].send(aggregatorCmd);
493
+ const result = await this.waitForBenchResult(0, config.timeoutMs + 30000);
494
+
495
+ this.logger.info(
496
+ `Benchmark complete: fetched=${result.fetchedCount}/${config.txCount}, duration=${result.durationMs.toFixed(0)}ms, success=${result.success}`,
497
+ );
498
+
499
+ return {
500
+ txCount: config.txCount,
501
+ distribution: config.distribution,
502
+ collector: config.collectorType,
503
+ durationMs: result.durationMs,
504
+ fetchedCount: result.fetchedCount,
505
+ success: result.success,
506
+ error: result.error,
507
+ };
508
+ }
509
+
510
+ private waitForBenchReady(clientIndex: number, timeoutMs: number): Promise<void> {
511
+ return new Promise((resolve, reject) => {
512
+ let resolved = false;
513
+
514
+ const handler = (msg: any) => {
515
+ if (resolved) {
516
+ return;
517
+ }
518
+ if (msg.type === 'BENCH_READY') {
519
+ resolved = true;
520
+ clearTimeout(timeout);
521
+ this.processes[clientIndex].off('message', handler);
522
+ resolve();
523
+ } else if (msg.type === 'ERROR') {
524
+ resolved = true;
525
+ clearTimeout(timeout);
526
+ this.processes[clientIndex].off('message', handler);
527
+ reject(new Error(`Client ${clientIndex} error: ${msg.error}`));
528
+ }
529
+ };
530
+
531
+ const timeout = setTimeout(() => {
532
+ if (resolved) {
533
+ return;
534
+ }
535
+ resolved = true;
536
+ this.processes[clientIndex].off('message', handler);
537
+ reject(new Error(`Timeout waiting for BENCH_READY from client ${clientIndex}`));
538
+ }, timeoutMs);
539
+
540
+ this.processes[clientIndex].on('message', handler);
541
+ });
542
+ }
543
+
544
+ private waitForBenchResult(clientIndex: number, timeoutMs: number): Promise<BenchResultMessage> {
545
+ return new Promise((resolve, reject) => {
546
+ let resolved = false;
547
+
548
+ const handler = (msg: any) => {
549
+ if (resolved) {
550
+ return;
551
+ }
552
+ if (msg.type === 'BENCH_RESULT') {
553
+ resolved = true;
554
+ clearTimeout(timeout);
555
+ this.processes[clientIndex].off('message', handler);
556
+ resolve(msg as BenchResultMessage);
557
+ } else if (msg.type === 'ERROR') {
558
+ resolved = true;
559
+ clearTimeout(timeout);
560
+ this.processes[clientIndex].off('message', handler);
561
+ reject(new Error(`Client ${clientIndex} error: ${msg.error}`));
562
+ }
563
+ };
564
+
565
+ const timeout = setTimeout(() => {
566
+ if (resolved) {
567
+ return;
568
+ }
569
+ resolved = true;
570
+ this.processes[clientIndex].off('message', handler);
571
+ reject(new Error(`Timeout waiting for BENCH_RESULT from client ${clientIndex}`));
572
+ }, timeoutMs);
573
+
574
+ this.processes[clientIndex].on('message', handler);
575
+ });
576
+ }
310
577
  }
311
578
 
312
579
  export { WorkerClientManager, testChainConfig };
580
+ export type { DistributionPattern, CollectorType } from './p2p_client_testbench_worker.js';
581
+ export { COLLECTOR_DISPLAY_NAMES } from './p2p_client_testbench_worker.js';
package/src/util.ts CHANGED
@@ -23,7 +23,13 @@ export interface PubSubLibp2p extends Pick<Libp2p, 'status' | 'start' | 'stop' |
23
23
  services: {
24
24
  pubsub: Pick<
25
25
  GossipSub,
26
- 'addEventListener' | 'removeEventListener' | 'publish' | 'subscribe' | 'reportMessageValidationResult' | 'direct'
26
+ | 'addEventListener'
27
+ | 'removeEventListener'
28
+ | 'publish'
29
+ | 'subscribe'
30
+ | 'reportMessageValidationResult'
31
+ | 'direct'
32
+ | 'getMeshPeers'
27
33
  > & { score: Pick<GossipSub['score'], 'score'> };
28
34
  };
29
35
  }
@@ -1,37 +0,0 @@
1
- import { SlotNumber } from '@aztec/foundation/branded-types';
2
- import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
- import { BlockAttestation, BlockProposal } from '@aztec/stdlib/p2p';
4
- import { type TelemetryClient } from '@aztec/telemetry-client';
5
- import type { AttestationPool } from './attestation_pool.js';
6
- export declare const MAX_PROPOSALS_PER_SLOT = 5;
7
- export declare const ATTESTATION_CAP_BUFFER = 10;
8
- export declare class KvAttestationPool implements AttestationPool {
9
- private store;
10
- private log;
11
- private metrics;
12
- private attestations;
13
- private proposals;
14
- private proposalsForSlot;
15
- private attestationsForProposal;
16
- constructor(store: AztecAsyncKVStore, telemetry?: TelemetryClient, log?: import("@aztec/foundation/log").Logger);
17
- private poolStats;
18
- isEmpty(): Promise<boolean>;
19
- private getProposalKey;
20
- private getAttestationKey;
21
- addAttestations(attestations: BlockAttestation[]): Promise<void>;
22
- getAttestationsForSlot(slot: SlotNumber): Promise<BlockAttestation[]>;
23
- getAttestationsForSlotAndProposal(slot: SlotNumber, proposalId: string): Promise<BlockAttestation[]>;
24
- deleteAttestationsOlderThan(oldestSlot: SlotNumber): Promise<void>;
25
- deleteAttestationsForSlot(slot: SlotNumber): Promise<void>;
26
- deleteAttestationsForSlotAndProposal(slot: SlotNumber, proposalId: string): Promise<void>;
27
- deleteAttestations(attestations: BlockAttestation[]): Promise<void>;
28
- hasAttestation(attestation: BlockAttestation): Promise<boolean>;
29
- getBlockProposal(id: string): Promise<BlockProposal | undefined>;
30
- hasBlockProposal(idOrProposal: string | BlockProposal): Promise<boolean>;
31
- addBlockProposal(blockProposal: BlockProposal): Promise<void>;
32
- hasReachedProposalCap(slot: SlotNumber): Promise<boolean>;
33
- hasReachedAttestationCap(slot: SlotNumber, proposalId: string, committeeSize: number): Promise<boolean>;
34
- canAddProposal(block: BlockProposal): Promise<boolean>;
35
- canAddAttestation(attestation: BlockAttestation, committeeSize: number): Promise<boolean>;
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZfYXR0ZXN0YXRpb25fcG9vbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy9hdHRlc3RhdGlvbl9wb29sL2t2X2F0dGVzdGF0aW9uX3Bvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSTdELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFxQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0seUJBQXlCLENBQUM7QUFJbkYsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0QsZUFBTyxNQUFNLHNCQUFzQixJQUFJLENBQUM7QUFDeEMsZUFBTyxNQUFNLHNCQUFzQixLQUFLLENBQUM7QUFFekMscUJBQWEsaUJBQWtCLFlBQVcsZUFBZTtJQVlyRCxPQUFPLENBQUMsS0FBSztJQUViLE9BQU8sQ0FBQyxHQUFHO0lBYmIsT0FBTyxDQUFDLE9BQU8sQ0FBd0M7SUFFdkQsT0FBTyxDQUFDLFlBQVksQ0FBZ0M7SUFDcEQsT0FBTyxDQUFDLFNBQVMsQ0FHZjtJQUNGLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBcUM7SUFDN0QsT0FBTyxDQUFDLHVCQUF1QixDQUFxQztJQUVwRSxZQUNVLEtBQUssRUFBRSxpQkFBaUIsRUFDaEMsU0FBUyxHQUFFLGVBQXNDLEVBQ3pDLEdBQUcseUNBQXlDLEVBUXJEO0lBRUQsT0FBTyxDQUFDLFNBQVMsQ0FJZjtJQUVXLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBS3ZDO0lBRUQsT0FBTyxDQUFDLGNBQWM7SUFZdEIsT0FBTyxDQUFDLGlCQUFpQjtJQUlaLGVBQWUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBbUM1RTtJQUVZLHNCQUFzQixDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FTakY7SUFFWSxpQ0FBaUMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FvQmhIO0lBRVksMkJBQTJCLENBQUMsVUFBVSxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBSzlFO0lBRVkseUJBQXlCLENBQUMsSUFBSSxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBdUJ0RTtJQUVZLG9DQUFvQyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBa0JyRztJQUVZLGtCQUFrQixDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0E0Qi9FO0lBRVksY0FBYyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBYzNFO0lBRVksZ0JBQWdCLENBQUMsRUFBRSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxDQVc1RTtJQUVZLGdCQUFnQixDQUFDLFlBQVksRUFBRSxNQUFNLEdBQUcsYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FHcEY7SUFFWSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsYUFBYSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FlekU7SUFFWSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FHckU7SUFFWSx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBR25IO0lBRVksY0FBYyxDQUFDLEtBQUssRUFBRSxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUlsRTtJQUVZLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FTckc7Q0FDRiJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"kv_attestation_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/attestation_pool/kv_attestation_pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAI7D,OAAO,KAAK,EAAE,iBAAiB,EAAqC,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAInF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,qBAAa,iBAAkB,YAAW,eAAe;IAYrD,OAAO,CAAC,KAAK;IAEb,OAAO,CAAC,GAAG;IAbb,OAAO,CAAC,OAAO,CAAwC;IAEvD,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,SAAS,CAGf;IACF,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,uBAAuB,CAAqC;IAEpE,YACU,KAAK,EAAE,iBAAiB,EAChC,SAAS,GAAE,eAAsC,EACzC,GAAG,yCAAyC,EAQrD;IAED,OAAO,CAAC,SAAS,CAIf;IAEW,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAKvC;IAED,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,iBAAiB;IAIZ,eAAe,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC5E;IAEY,sBAAsB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CASjF;IAEY,iCAAiC,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAoBhH;IAEY,2BAA2B,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAK9E;IAEY,yBAAyB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBtE;IAEY,oCAAoC,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBrG;IAEY,kBAAkB,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B/E;IAEY,cAAc,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAc3E;IAEY,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAW5E;IAEY,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpF;IAEY,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAezE;IAEY,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAGrE;IAEY,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGnH;IAEY,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAIlE;IAEY,iBAAiB,CAAC,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASrG;CACF"}