@aztec/p2p 0.0.1-commit.0c875d939 → 0.0.1-commit.10bd49492

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 (290) hide show
  1. package/dest/client/factory.d.ts +7 -7
  2. package/dest/client/factory.d.ts.map +1 -1
  3. package/dest/client/factory.js +24 -28
  4. package/dest/client/interface.d.ts +10 -19
  5. package/dest/client/interface.d.ts.map +1 -1
  6. package/dest/client/p2p_client.d.ts +7 -18
  7. package/dest/client/p2p_client.d.ts.map +1 -1
  8. package/dest/client/p2p_client.js +47 -96
  9. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +6 -7
  10. package/dest/config.d.ts +28 -15
  11. package/dest/config.d.ts.map +1 -1
  12. package/dest/config.js +76 -37
  13. package/dest/errors/tx-pool.error.d.ts +8 -0
  14. package/dest/errors/tx-pool.error.d.ts.map +1 -0
  15. package/dest/errors/tx-pool.error.js +9 -0
  16. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +1 -1
  17. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  18. package/dest/mem_pools/attestation_pool/attestation_pool.js +5 -1
  19. package/dest/mem_pools/instrumentation.d.ts +4 -2
  20. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  21. package/dest/mem_pools/instrumentation.js +16 -14
  22. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +3 -3
  23. package/dest/mem_pools/tx_pool/priority.d.ts +2 -2
  24. package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -1
  25. package/dest/mem_pools/tx_pool/priority.js +4 -3
  26. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
  27. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
  28. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +3 -1
  29. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +3 -1
  30. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -1
  31. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +9 -0
  32. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +3 -3
  33. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -1
  34. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +18 -9
  35. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +3 -3
  36. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +3 -3
  37. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -1
  38. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +12 -4
  39. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +2 -2
  40. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -1
  41. package/dest/mem_pools/tx_pool_v2/eviction/index.js +1 -1
  42. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +54 -5
  43. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -1
  44. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +8 -0
  45. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +4 -4
  46. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +5 -5
  47. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +2 -2
  48. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -1
  49. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +12 -6
  50. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +4 -4
  51. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -1
  52. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +16 -4
  53. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +3 -3
  54. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -1
  55. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +3 -3
  56. package/dest/mem_pools/tx_pool_v2/index.d.ts +2 -2
  57. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -1
  58. package/dest/mem_pools/tx_pool_v2/index.js +1 -1
  59. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts +15 -0
  60. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts.map +1 -0
  61. package/dest/mem_pools/tx_pool_v2/instrumentation.js +43 -0
  62. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +18 -6
  63. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
  64. package/dest/mem_pools/tx_pool_v2/interfaces.js +4 -1
  65. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +46 -14
  66. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
  67. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +99 -17
  68. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +5 -2
  69. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -1
  70. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +38 -46
  71. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +6 -3
  72. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -1
  73. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +9 -5
  74. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +12 -5
  75. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -1
  76. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +285 -149
  77. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +6 -4
  78. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
  79. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +10 -2
  80. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +6 -4
  81. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
  82. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +16 -2
  83. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +13 -8
  84. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
  85. package/dest/msg_validators/proposal_validator/proposal_validator.js +48 -36
  86. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +2 -2
  87. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  88. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +3 -3
  89. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +2 -1
  90. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -1
  91. package/dest/msg_validators/tx_validator/allowed_public_setup.js +24 -20
  92. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts +17 -0
  93. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts.map +1 -0
  94. package/dest/msg_validators/tx_validator/allowed_setup_helpers.js +24 -0
  95. package/dest/msg_validators/tx_validator/factory.d.ts +125 -6
  96. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  97. package/dest/msg_validators/tx_validator/factory.js +226 -58
  98. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +1 -1
  99. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -1
  100. package/dest/msg_validators/tx_validator/fee_payer_balance.js +6 -2
  101. package/dest/msg_validators/tx_validator/gas_validator.d.ts +67 -3
  102. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  103. package/dest/msg_validators/tx_validator/gas_validator.js +104 -37
  104. package/dest/msg_validators/tx_validator/index.d.ts +3 -1
  105. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  106. package/dest/msg_validators/tx_validator/index.js +2 -0
  107. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +1 -1
  108. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  109. package/dest/msg_validators/tx_validator/metadata_validator.js +4 -4
  110. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts +14 -0
  111. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts.map +1 -0
  112. package/dest/msg_validators/tx_validator/nullifier_cache.js +24 -0
  113. package/dest/msg_validators/tx_validator/phases_validator.d.ts +2 -2
  114. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  115. package/dest/msg_validators/tx_validator/phases_validator.js +44 -23
  116. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +2 -2
  117. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  118. package/dest/msg_validators/tx_validator/timestamp_validator.js +6 -6
  119. package/dest/services/dummy_service.d.ts +4 -4
  120. package/dest/services/dummy_service.d.ts.map +1 -1
  121. package/dest/services/dummy_service.js +4 -4
  122. package/dest/services/encoding.d.ts +2 -2
  123. package/dest/services/encoding.d.ts.map +1 -1
  124. package/dest/services/encoding.js +9 -8
  125. package/dest/services/gossipsub/topic_score_params.d.ts +18 -6
  126. package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -1
  127. package/dest/services/gossipsub/topic_score_params.js +32 -10
  128. package/dest/services/libp2p/libp2p_service.d.ts +16 -13
  129. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  130. package/dest/services/libp2p/libp2p_service.js +111 -93
  131. package/dest/services/peer-manager/metrics.d.ts +3 -1
  132. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  133. package/dest/services/peer-manager/metrics.js +6 -0
  134. package/dest/services/peer-manager/peer_manager.d.ts +1 -1
  135. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  136. package/dest/services/peer-manager/peer_manager.js +2 -1
  137. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +4 -3
  138. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -1
  139. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +19 -46
  140. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +2 -6
  141. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -1
  142. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +10 -13
  143. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -1
  144. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +25 -46
  145. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +17 -11
  146. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -1
  147. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +49 -15
  148. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +2 -2
  149. package/dest/services/reqresp/reqresp.d.ts +1 -1
  150. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  151. package/dest/services/reqresp/reqresp.js +2 -1
  152. package/dest/services/service.d.ts +5 -3
  153. package/dest/services/service.d.ts.map +1 -1
  154. package/dest/services/tx_collection/fast_tx_collection.d.ts +1 -1
  155. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  156. package/dest/services/tx_collection/fast_tx_collection.js +39 -33
  157. package/dest/services/tx_collection/file_store_tx_collection.d.ts +1 -1
  158. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -1
  159. package/dest/services/tx_collection/file_store_tx_collection.js +4 -2
  160. package/dest/services/tx_collection/file_store_tx_source.d.ts +15 -6
  161. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -1
  162. package/dest/services/tx_collection/file_store_tx_source.js +47 -16
  163. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  164. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  165. package/dest/services/tx_collection/instrumentation.js +2 -1
  166. package/dest/services/tx_collection/missing_txs_tracker.d.ts +32 -0
  167. package/dest/services/tx_collection/missing_txs_tracker.d.ts.map +1 -0
  168. package/dest/services/tx_collection/missing_txs_tracker.js +27 -0
  169. package/dest/services/tx_collection/proposal_tx_collector.d.ts +7 -6
  170. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -1
  171. package/dest/services/tx_collection/proposal_tx_collector.js +5 -4
  172. package/dest/services/tx_collection/slow_tx_collection.d.ts +2 -2
  173. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
  174. package/dest/services/tx_collection/slow_tx_collection.js +10 -8
  175. package/dest/services/tx_collection/tx_collection.d.ts +5 -4
  176. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  177. package/dest/services/tx_collection/tx_collection_sink.d.ts +6 -5
  178. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
  179. package/dest/services/tx_collection/tx_collection_sink.js +13 -22
  180. package/dest/services/tx_collection/tx_source.d.ts +8 -3
  181. package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
  182. package/dest/services/tx_collection/tx_source.js +19 -2
  183. package/dest/services/tx_file_store/tx_file_store.js +1 -1
  184. package/dest/services/tx_provider.d.ts +3 -3
  185. package/dest/services/tx_provider.d.ts.map +1 -1
  186. package/dest/services/tx_provider.js +4 -4
  187. package/dest/test-helpers/make-test-p2p-clients.d.ts +5 -6
  188. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  189. package/dest/test-helpers/make-test-p2p-clients.js +1 -2
  190. package/dest/test-helpers/mock-pubsub.d.ts +4 -4
  191. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  192. package/dest/test-helpers/mock-pubsub.js +8 -2
  193. package/dest/test-helpers/reqresp-nodes.d.ts +2 -3
  194. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  195. package/dest/test-helpers/reqresp-nodes.js +2 -2
  196. package/dest/test-helpers/testbench-utils.d.ts +6 -3
  197. package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
  198. package/dest/test-helpers/testbench-utils.js +3 -2
  199. package/dest/testbench/p2p_client_testbench_worker.d.ts +2 -2
  200. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  201. package/dest/testbench/p2p_client_testbench_worker.js +15 -14
  202. package/dest/testbench/worker_client_manager.d.ts +3 -1
  203. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  204. package/dest/testbench/worker_client_manager.js +6 -2
  205. package/dest/util.d.ts +3 -3
  206. package/dest/util.d.ts.map +1 -1
  207. package/package.json +14 -14
  208. package/src/client/factory.ts +35 -49
  209. package/src/client/interface.ts +11 -20
  210. package/src/client/p2p_client.ts +48 -126
  211. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +20 -11
  212. package/src/config.ts +108 -43
  213. package/src/errors/tx-pool.error.ts +12 -0
  214. package/src/mem_pools/attestation_pool/attestation_pool.ts +5 -4
  215. package/src/mem_pools/instrumentation.ts +17 -13
  216. package/src/mem_pools/tx_pool/README.md +1 -1
  217. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +3 -3
  218. package/src/mem_pools/tx_pool/priority.ts +6 -3
  219. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +3 -1
  220. package/src/mem_pools/tx_pool_v2/README.md +10 -2
  221. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +11 -0
  222. package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +21 -8
  223. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +3 -3
  224. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +18 -4
  225. package/src/mem_pools/tx_pool_v2/eviction/index.ts +4 -0
  226. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +59 -4
  227. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +4 -4
  228. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +5 -5
  229. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +12 -9
  230. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +33 -6
  231. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +4 -3
  232. package/src/mem_pools/tx_pool_v2/index.ts +1 -1
  233. package/src/mem_pools/tx_pool_v2/instrumentation.ts +69 -0
  234. package/src/mem_pools/tx_pool_v2/interfaces.ts +18 -6
  235. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +141 -25
  236. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +43 -46
  237. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +15 -7
  238. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +318 -145
  239. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +14 -4
  240. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +20 -7
  241. package/src/msg_validators/proposal_validator/proposal_validator.ts +63 -40
  242. package/src/msg_validators/tx_validator/README.md +115 -0
  243. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +3 -3
  244. package/src/msg_validators/tx_validator/allowed_public_setup.ts +22 -27
  245. package/src/msg_validators/tx_validator/allowed_setup_helpers.ts +31 -0
  246. package/src/msg_validators/tx_validator/factory.ts +366 -77
  247. package/src/msg_validators/tx_validator/fee_payer_balance.ts +6 -2
  248. package/src/msg_validators/tx_validator/gas_validator.ts +123 -27
  249. package/src/msg_validators/tx_validator/index.ts +2 -0
  250. package/src/msg_validators/tx_validator/metadata_validator.ts +12 -4
  251. package/src/msg_validators/tx_validator/nullifier_cache.ts +30 -0
  252. package/src/msg_validators/tx_validator/phases_validator.ts +51 -26
  253. package/src/msg_validators/tx_validator/timestamp_validator.ts +7 -7
  254. package/src/services/dummy_service.ts +6 -6
  255. package/src/services/encoding.ts +7 -7
  256. package/src/services/gossipsub/README.md +29 -14
  257. package/src/services/gossipsub/topic_score_params.ts +49 -13
  258. package/src/services/libp2p/libp2p_service.ts +122 -101
  259. package/src/services/peer-manager/metrics.ts +7 -0
  260. package/src/services/peer-manager/peer_manager.ts +2 -1
  261. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +20 -48
  262. package/src/services/reqresp/batch-tx-requester/interface.ts +1 -5
  263. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +23 -71
  264. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +63 -24
  265. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +2 -2
  266. package/src/services/reqresp/reqresp.ts +3 -1
  267. package/src/services/service.ts +11 -2
  268. package/src/services/tx_collection/fast_tx_collection.ts +51 -30
  269. package/src/services/tx_collection/file_store_tx_collection.ts +7 -3
  270. package/src/services/tx_collection/file_store_tx_source.ts +61 -17
  271. package/src/services/tx_collection/instrumentation.ts +7 -1
  272. package/src/services/tx_collection/missing_txs_tracker.ts +52 -0
  273. package/src/services/tx_collection/proposal_tx_collector.ts +8 -7
  274. package/src/services/tx_collection/slow_tx_collection.ts +8 -9
  275. package/src/services/tx_collection/tx_collection.ts +4 -3
  276. package/src/services/tx_collection/tx_collection_sink.ts +15 -29
  277. package/src/services/tx_collection/tx_source.ts +22 -3
  278. package/src/services/tx_file_store/tx_file_store.ts +1 -1
  279. package/src/services/tx_provider.ts +2 -2
  280. package/src/test-helpers/make-test-p2p-clients.ts +1 -3
  281. package/src/test-helpers/mock-pubsub.ts +13 -6
  282. package/src/test-helpers/reqresp-nodes.ts +3 -6
  283. package/src/test-helpers/testbench-utils.ts +4 -3
  284. package/src/testbench/p2p_client_testbench_worker.ts +24 -20
  285. package/src/testbench/worker_client_manager.ts +13 -5
  286. package/src/util.ts +8 -2
  287. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +0 -23
  288. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +0 -1
  289. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +0 -212
  290. package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +0 -230
@@ -38,6 +38,8 @@ declare class WorkerClientManager {
38
38
  * Note: We send the raw peerIdPrivateKey string instead of SecretValue
39
39
  * because SecretValue.toJSON() returns '[Redacted]', losing the value.
40
40
  * The worker must re-wrap it in SecretValue.
41
+ * We also omit priceBumpPercentage since it's a bigint and can't be
42
+ * serialized over IPC (which uses JSON under the hood).
41
43
  */
42
44
  private createClientConfig;
43
45
  /**
@@ -93,4 +95,4 @@ declare class WorkerClientManager {
93
95
  export { WorkerClientManager, testChainConfig };
94
96
  export type { DistributionPattern, CollectorType } from './p2p_client_testbench_worker.js';
95
97
  export { COLLECTOR_DISPLAY_NAMES } from './p2p_client_testbench_worker.js';
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyX2NsaWVudF9tYW5hZ2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGJlbmNoL3dvcmtlcl9jbGllbnRfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFLeEQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUF1QixNQUFNLGNBQWMsQ0FBQztBQUtuRSxPQUFPLEtBQUssRUFHVixhQUFhLEVBQ2IsbUJBQW1CLEVBQ3BCLE1BQU0sa0NBQWtDLENBQUM7QUFRMUMsUUFBQSxNQUFNLGVBQWUsRUFBRSxXQU10QixDQUFDO0FBRUYsTUFBTSxXQUFXLHNCQUFzQjtJQUNyQyxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztJQUNsQyxhQUFhLEVBQUUsYUFBYSxDQUFDO0lBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsZUFBZSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixJQUFJLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDZjtBQUVELE1BQU0sV0FBVyxzQkFBc0I7SUFDckMsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixZQUFZLEVBQUUsbUJBQW1CLENBQUM7SUFDbEMsU0FBUyxFQUFFLGFBQWEsQ0FBQztJQUN6QixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLFlBQVksRUFBRSxNQUFNLENBQUM7SUFDckIsT0FBTyxFQUFFLE9BQU8sQ0FBQztJQUNqQixLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDaEI7QUFFRCxjQUFNLG1CQUFtQjtJQUNoQixTQUFTLEVBQUUsWUFBWSxFQUFFLENBQU07SUFDL0IsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLENBQU07SUFDakMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFNO0lBQ3hCLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBTTtJQUNyQixPQUFPLEVBQUUsTUFBTSxFQUFFLENBQU07SUFDOUIsT0FBTyxDQUFDLFNBQVMsQ0FBcUI7SUFDdEMsT0FBTyxDQUFDLE1BQU0sQ0FBUztJQUN2QixPQUFPLENBQUMsdUJBQXVCLENBQWdCO0lBRS9DLFlBQVksTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUd4RDtJQUVELE9BQU8sU0FLTjtJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLGtCQUFrQjtJQWlCMUI7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLGtCQUFrQjtJQWdHMUI7Ozs7Ozs7T0FPRztJQUNHLGlCQUFpQixDQUNyQixlQUFlLEVBQUUsTUFBTSxFQUN2QixPQUFPLEdBQUU7UUFDUCxhQUFhLENBQUMsRUFBRSxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUN2QixTQUFTLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDbkIsWUFBWSxDQUFDLEVBQUUsTUFBTSxDQUFDO0tBQ2xCLHFCQStEUDtJQUVELDRCQUE0QixTQUUzQjtJQUVELGtDQUFrQyxXQUVqQztJQUVEOzs7OztPQUtHO0lBQ0csVUFBVSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBOENwRDtJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLGdCQUFnQjtJQXFDeEI7O09BRUc7SUFDRyxPQUFPLGtCQWdDWjtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNHLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxzQkFBc0IsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FzRXpGO0lBRUQsT0FBTyxDQUFDLGlCQUFpQjtJQWtDekIsT0FBTyxDQUFDLGtCQUFrQjtDQWlDM0I7QUFFRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLENBQUM7QUFDaEQsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDIn0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyX2NsaWVudF9tYW5hZ2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGJlbmNoL3dvcmtlcl9jbGllbnRfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFLeEQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUF1QixNQUFNLGNBQWMsQ0FBQztBQUtuRSxPQUFPLEtBQUssRUFHVixhQUFhLEVBQ2IsbUJBQW1CLEVBQ3BCLE1BQU0sa0NBQWtDLENBQUM7QUFRMUMsUUFBQSxNQUFNLGVBQWUsRUFBRSxXQU10QixDQUFDO0FBRUYsTUFBTSxXQUFXLHNCQUFzQjtJQUNyQyxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztJQUNsQyxhQUFhLEVBQUUsYUFBYSxDQUFDO0lBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsZUFBZSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixJQUFJLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDZjtBQUVELE1BQU0sV0FBVyxzQkFBc0I7SUFDckMsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixZQUFZLEVBQUUsbUJBQW1CLENBQUM7SUFDbEMsU0FBUyxFQUFFLGFBQWEsQ0FBQztJQUN6QixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLFlBQVksRUFBRSxNQUFNLENBQUM7SUFDckIsT0FBTyxFQUFFLE9BQU8sQ0FBQztJQUNqQixLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDaEI7QUFFRCxjQUFNLG1CQUFtQjtJQUNoQixTQUFTLEVBQUUsWUFBWSxFQUFFLENBQU07SUFDL0IsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLENBQU07SUFDakMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFNO0lBQ3hCLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBTTtJQUNyQixPQUFPLEVBQUUsTUFBTSxFQUFFLENBQU07SUFDOUIsT0FBTyxDQUFDLFNBQVMsQ0FBcUI7SUFDdEMsT0FBTyxDQUFDLE1BQU0sQ0FBUztJQUN2QixPQUFPLENBQUMsdUJBQXVCLENBQWdCO0lBRS9DLFlBQVksTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUd4RDtJQUVELE9BQU8sU0FLTjtJQUVEOzs7Ozs7O09BT0c7SUFDSCxPQUFPLENBQUMsa0JBQWtCO0lBb0IxQjs7O09BR0c7SUFDSCxPQUFPLENBQUMsa0JBQWtCO0lBa0cxQjs7Ozs7OztPQU9HO0lBQ0csaUJBQWlCLENBQ3JCLGVBQWUsRUFBRSxNQUFNLEVBQ3ZCLE9BQU8sR0FBRTtRQUNQLGFBQWEsQ0FBQyxFQUFFLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakMsYUFBYSxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3ZCLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNuQixZQUFZLENBQUMsRUFBRSxNQUFNLENBQUM7S0FDbEIscUJBK0RQO0lBRUQsNEJBQTRCLFNBRTNCO0lBRUQsa0NBQWtDLFdBRWpDO0lBRUQ7Ozs7O09BS0c7SUFDRyxVQUFVLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkE4Q3BEO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsZ0JBQWdCO0lBcUN4Qjs7T0FFRztJQUNHLE9BQU8sa0JBZ0NaO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0csbUJBQW1CLENBQUMsTUFBTSxFQUFFLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQXVFekY7SUFFRCxPQUFPLENBQUMsaUJBQWlCO0lBa0N6QixPQUFPLENBQUMsa0JBQWtCO0NBaUMzQjtBQUVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsQ0FBQztBQUNoRCxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"worker_client_manager.d.ts","sourceRoot":"","sources":["../../src/testbench/worker_client_manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,KAAK,YAAY,EAAQ,MAAM,eAAe,CAAC;AAKxD,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,cAAc,CAAC;AAKnE,OAAO,KAAK,EAGV,aAAa,EACb,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAQ1C,QAAA,MAAM,eAAe,EAAE,WAMtB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,mBAAmB,CAAC;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,mBAAmB,CAAC;IAClC,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,cAAM,mBAAmB;IAChB,SAAS,EAAE,YAAY,EAAE,CAAM;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAM;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAM;IACxB,KAAK,EAAE,MAAM,EAAE,CAAM;IACrB,OAAO,EAAE,MAAM,EAAE,CAAM;IAC9B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,uBAAuB,CAAgB;IAE/C,YAAY,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAGxD;IAED,OAAO,SAKN;IAED;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAgG1B;;;;;;;OAOG;IACG,iBAAiB,CACrB,eAAe,EAAE,MAAM,EACvB,OAAO,GAAE;QACP,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;QACjC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KAClB,qBA+DP;IAED,4BAA4B,SAE3B;IAED,kCAAkC,WAEjC;IAED;;;;;OAKG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBA8CpD;IAED;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqCxB;;OAEG;IACG,OAAO,kBAgCZ;IAED;;;;;;;;;OASG;IACG,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAsEzF;IAED,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,kBAAkB;CAiC3B;AAED,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"worker_client_manager.d.ts","sourceRoot":"","sources":["../../src/testbench/worker_client_manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,KAAK,YAAY,EAAQ,MAAM,eAAe,CAAC;AAKxD,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,cAAc,CAAC;AAKnE,OAAO,KAAK,EAGV,aAAa,EACb,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAQ1C,QAAA,MAAM,eAAe,EAAE,WAMtB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,mBAAmB,CAAC;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,mBAAmB,CAAC;IAClC,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,cAAM,mBAAmB;IAChB,SAAS,EAAE,YAAY,EAAE,CAAM;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAM;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAM;IACxB,KAAK,EAAE,MAAM,EAAE,CAAM;IACrB,OAAO,EAAE,MAAM,EAAE,CAAM;IAC9B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,uBAAuB,CAAgB;IAE/C,YAAY,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAGxD;IAED,OAAO,SAKN;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAkG1B;;;;;;;OAOG;IACG,iBAAiB,CACrB,eAAe,EAAE,MAAM,EACvB,OAAO,GAAE;QACP,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;QACjC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KAClB,qBA+DP;IAED,4BAA4B,SAE3B;IAED,kCAAkC,WAEjC;IAED;;;;;OAKG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBA8CpD;IAED;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqCxB;;OAEG;IACG,OAAO,kBAgCZ;IAED;;;;;;;;;OASG;IACG,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAuEzF;IAED,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,kBAAkB;CAiC3B;AAED,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -45,8 +45,10 @@ class WorkerClientManager {
45
45
  * Note: We send the raw peerIdPrivateKey string instead of SecretValue
46
46
  * because SecretValue.toJSON() returns '[Redacted]', losing the value.
47
47
  * The worker must re-wrap it in SecretValue.
48
+ * We also omit priceBumpPercentage since it's a bigint and can't be
49
+ * serialized over IPC (which uses JSON under the hood).
48
50
  */ createClientConfig(clientIndex, port, otherNodes) {
49
- return {
51
+ const { priceBumpPercentage: _, ...config } = {
50
52
  ...getP2PDefaultConfig(),
51
53
  p2pEnabled: true,
52
54
  peerIdPrivateKey: this.peerIdPrivateKeys[clientIndex],
@@ -58,6 +60,7 @@ class WorkerClientManager {
58
60
  ],
59
61
  ...this.p2pConfig
60
62
  };
63
+ return config;
61
64
  }
62
65
  /**
63
66
  * Spawns a worker process and returns a promise that resolves when the worker is ready.
@@ -368,7 +371,8 @@ class WorkerClientManager {
368
371
  seed
369
372
  };
370
373
  this.processes[0].send(aggregatorCmd);
371
- const result = await this.waitForBenchResult(0, config.timeoutMs + 30000);
374
+ const aggregatorBudgetMs = config.timeoutMs + BENCHMARK_CONSTANTS.MAX_PEER_WAIT_MS + 30000;
375
+ const result = await this.waitForBenchResult(0, aggregatorBudgetMs);
372
376
  this.logger.info(`Benchmark complete: fetched=${result.fetchedCount}/${config.txCount}, duration=${result.durationMs.toFixed(0)}ms, success=${result.success}`);
373
377
  return {
374
378
  txCount: config.txCount,
package/dest/util.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { SecretValue } from '@aztec/foundation/config';
2
2
  import type { Logger } from '@aztec/foundation/log';
3
3
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
4
- import type { DataStoreConfig } from '@aztec/kv-store/config';
4
+ import type { DataStoreConfig } from '@aztec/stdlib/kv-store';
5
5
  import type { GossipSub } from '@chainsafe/libp2p-gossipsub';
6
6
  import type { Identify } from '@libp2p/identify';
7
7
  import type { PeerId } from '@libp2p/interface';
@@ -10,7 +10,7 @@ import type { Libp2p } from 'libp2p';
10
10
  import type { P2PConfig } from './config.js';
11
11
  export interface PubSubLibp2p extends Pick<Libp2p, 'status' | 'start' | 'stop' | 'peerId'> {
12
12
  services: {
13
- pubsub: Pick<GossipSub, 'addEventListener' | 'removeEventListener' | 'publish' | 'subscribe' | 'reportMessageValidationResult' | 'direct'> & {
13
+ pubsub: Pick<GossipSub, 'addEventListener' | 'removeEventListener' | 'publish' | 'subscribe' | 'reportMessageValidationResult' | 'direct' | 'getMeshPeers'> & {
14
14
  score: Pick<GossipSub['score'], 'score'>;
15
15
  };
16
16
  };
@@ -58,4 +58,4 @@ export declare function getPeerIdPrivateKey(config: {
58
58
  * @returns The peer ID.
59
59
  */
60
60
  export declare function createLibP2PPeerIdFromPrivateKey(privateKey: string): Promise<PeerId>;
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBYyxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJcEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSXJDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUk3QyxNQUFNLFdBQVcsWUFBYSxTQUFRLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxHQUFHLE9BQU8sR0FBRyxNQUFNLEdBQUcsUUFBUSxDQUFDO0lBQ3hGLFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxJQUFJLENBQ1YsU0FBUyxFQUNULGtCQUFrQixHQUFHLHFCQUFxQixHQUFHLFNBQVMsR0FBRyxXQUFXLEdBQUcsK0JBQStCLEdBQUcsUUFBUSxDQUNsSCxHQUFHO1lBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7U0FBRSxDQUFDO0tBQ2xELENBQUM7Q0FDSDtBQUVELE1BQU0sTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDO0lBQzlCLFFBQVEsRUFBRSxRQUFRLENBQUM7SUFDbkIsTUFBTSxFQUFFLFNBQVMsQ0FBQztJQUNsQixVQUFVLEVBQUU7UUFDVixpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQztLQUN0QyxDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7NkNBTzZDO0FBQzdDLHdCQUFnQixrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTSxDQU9qRztBQUVEOztHQUVHO0FBQ0gsd0JBQXNCLFdBQVcsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBUW5EO0FBRUQsd0JBQWdCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUd6RDtBQUVELHdCQUFzQix5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQVc5RjtBQWNELHdCQUFzQiwyQkFBMkIsQ0FDL0MsT0FBTyxFQUFFLFNBQVMsR0FBRyxlQUFlLEdBQ25DLE9BQU8sQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLENBbUJ0QztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLG1CQUFtQixDQUN2QyxNQUFNLEVBQUU7SUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUFDLG9CQUFvQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxDQUFBO0NBQUUsRUFDekcsS0FBSyxFQUFFLGlCQUFpQixFQUN4QixNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0EyRDlCO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFzQixnQ0FBZ0MsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FTMUYifQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBYyxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJcEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSXJDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUk3QyxNQUFNLFdBQVcsWUFBYSxTQUFRLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxHQUFHLE9BQU8sR0FBRyxNQUFNLEdBQUcsUUFBUSxDQUFDO0lBQ3hGLFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxJQUFJLENBQ1YsU0FBUyxFQUNQLGtCQUFrQixHQUNsQixxQkFBcUIsR0FDckIsU0FBUyxHQUNULFdBQVcsR0FDWCwrQkFBK0IsR0FDL0IsUUFBUSxHQUNSLGNBQWMsQ0FDakIsR0FBRztZQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1NBQUUsQ0FBQztLQUNsRCxDQUFDO0NBQ0g7QUFFRCxNQUFNLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztJQUM5QixRQUFRLEVBQUUsUUFBUSxDQUFDO0lBQ25CLE1BQU0sRUFBRSxTQUFTLENBQUM7SUFDbEIsVUFBVSxFQUFFO1FBQ1YsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7S0FDdEMsQ0FBQztDQUNILENBQUMsQ0FBQztBQUVIOzs7Ozs7OzZDQU82QztBQUM3Qyx3QkFBZ0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEdBQUcsS0FBSyxHQUFHLE1BQU0sQ0FPakc7QUFFRDs7R0FFRztBQUNILHdCQUFzQixXQUFXLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQVFuRDtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FHekQ7QUFFRCx3QkFBc0IseUJBQXlCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FXOUY7QUFjRCx3QkFBc0IsMkJBQTJCLENBQy9DLE9BQU8sRUFBRSxTQUFTLEdBQUcsZUFBZSxHQUNuQyxPQUFPLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxDQW1CdEM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixtQkFBbUIsQ0FDdkMsTUFBTSxFQUFFO0lBQUUsZ0JBQWdCLENBQUMsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFBQyxvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtDQUFFLEVBQ3pHLEtBQUssRUFBRSxpQkFBaUIsRUFDeEIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBMkQ5QjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBc0IsZ0NBQWdDLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBUzFGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxF,QAAQ,EAAE;QACR,MAAM,EAAE,IAAI,CACV,SAAS,EACT,kBAAkB,GAAG,qBAAqB,GAAG,SAAS,GAAG,WAAW,GAAG,+BAA+B,GAAG,QAAQ,CAClH,GAAG;YAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;KAClD,CAAC;CACH;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE;QACV,iBAAiB,EAAE,iBAAiB,CAAC;KACtC,CAAC;CACH,CAAC,CAAC;AAEH;;;;;;;6CAO6C;AAC7C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAOjG;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAQnD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW9F;AAcD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,SAAS,GAAG,eAAe,GACnC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC,CAmBtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE;IAAE,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EACzG,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CA2D9B;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS1F"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxF,QAAQ,EAAE;QACR,MAAM,EAAE,IAAI,CACV,SAAS,EACP,kBAAkB,GAClB,qBAAqB,GACrB,SAAS,GACT,WAAW,GACX,+BAA+B,GAC/B,QAAQ,GACR,cAAc,CACjB,GAAG;YAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;KAClD,CAAC;CACH;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE;QACV,iBAAiB,EAAE,iBAAiB,CAAC;KACtC,CAAC;CACH,CAAC,CAAC;AAEH;;;;;;;6CAO6C;AAC7C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAOjG;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAQnD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW9F;AAcD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,SAAS,GAAG,eAAe,GACnC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC,CAmBtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE;IAAE,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EACzG,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CA2D9B;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS1F"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/p2p",
3
- "version": "0.0.1-commit.0c875d939",
3
+ "version": "0.0.1-commit.10bd49492",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -67,17 +67,17 @@
67
67
  ]
68
68
  },
69
69
  "dependencies": {
70
- "@aztec/constants": "0.0.1-commit.0c875d939",
71
- "@aztec/epoch-cache": "0.0.1-commit.0c875d939",
72
- "@aztec/ethereum": "0.0.1-commit.0c875d939",
73
- "@aztec/foundation": "0.0.1-commit.0c875d939",
74
- "@aztec/kv-store": "0.0.1-commit.0c875d939",
75
- "@aztec/noir-contracts.js": "0.0.1-commit.0c875d939",
76
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.0c875d939",
77
- "@aztec/protocol-contracts": "0.0.1-commit.0c875d939",
78
- "@aztec/simulator": "0.0.1-commit.0c875d939",
79
- "@aztec/stdlib": "0.0.1-commit.0c875d939",
80
- "@aztec/telemetry-client": "0.0.1-commit.0c875d939",
70
+ "@aztec/constants": "0.0.1-commit.10bd49492",
71
+ "@aztec/epoch-cache": "0.0.1-commit.10bd49492",
72
+ "@aztec/ethereum": "0.0.1-commit.10bd49492",
73
+ "@aztec/foundation": "0.0.1-commit.10bd49492",
74
+ "@aztec/kv-store": "0.0.1-commit.10bd49492",
75
+ "@aztec/noir-contracts.js": "0.0.1-commit.10bd49492",
76
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.10bd49492",
77
+ "@aztec/protocol-contracts": "0.0.1-commit.10bd49492",
78
+ "@aztec/simulator": "0.0.1-commit.10bd49492",
79
+ "@aztec/stdlib": "0.0.1-commit.10bd49492",
80
+ "@aztec/telemetry-client": "0.0.1-commit.10bd49492",
81
81
  "@chainsafe/libp2p-gossipsub": "13.0.0",
82
82
  "@chainsafe/libp2p-noise": "^15.0.0",
83
83
  "@chainsafe/libp2p-yamux": "^6.0.2",
@@ -104,8 +104,8 @@
104
104
  "xxhash-wasm": "^1.1.0"
105
105
  },
106
106
  "devDependencies": {
107
- "@aztec/archiver": "0.0.1-commit.0c875d939",
108
- "@aztec/world-state": "0.0.1-commit.0c875d939",
107
+ "@aztec/archiver": "0.0.1-commit.10bd49492",
108
+ "@aztec/world-state": "0.0.1-commit.10bd49492",
109
109
  "@jest/globals": "^30.0.0",
110
110
  "@types/jest": "^30.0.0",
111
111
  "@types/node": "^22.15.17",
@@ -1,15 +1,14 @@
1
1
  import type { EpochCacheInterface } from '@aztec/epoch-cache';
2
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
3
  import { type Logger, createLogger } from '@aztec/foundation/log';
3
4
  import { DateProvider } from '@aztec/foundation/timer';
4
5
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
5
- import type { DataStoreConfig } from '@aztec/kv-store/config';
6
6
  import { AztecLMDBStoreV2, createStore } from '@aztec/kv-store/lmdb-v2';
7
- import type { BlockHash, L2BlockSource } from '@aztec/stdlib/block';
7
+ import type { L2BlockSource } from '@aztec/stdlib/block';
8
8
  import type { ChainConfig } from '@aztec/stdlib/config';
9
9
  import type { ContractDataSource } from '@aztec/stdlib/contract';
10
- import type { ClientProtocolCircuitVerifier, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
11
- import { P2PClientType } from '@aztec/stdlib/p2p';
12
- import { MerkleTreeId } from '@aztec/stdlib/trees';
10
+ import type { AztecNode, ClientProtocolCircuitVerifier, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
11
+ import type { DataStoreConfig } from '@aztec/stdlib/kv-store';
13
12
  import { type TelemetryClient, getTelemetryClient } from '@aztec/telemetry-client';
14
13
 
15
14
  import { P2PClient } from '../client/p2p_client.js';
@@ -17,26 +16,24 @@ import type { P2PConfig } from '../config.js';
17
16
  import { AttestationPool, type AttestationPoolApi } from '../mem_pools/attestation_pool/attestation_pool.js';
18
17
  import type { MemPools } from '../mem_pools/interface.js';
19
18
  import type { TxPoolV2 } from '../mem_pools/tx_pool_v2/interfaces.js';
20
- import type { TxMetaData } from '../mem_pools/tx_pool_v2/tx_metadata.js';
21
19
  import { AztecKVTxPoolV2 } from '../mem_pools/tx_pool_v2/tx_pool_v2.js';
22
- import { AggregateTxValidator } from '../msg_validators/tx_validator/aggregate_tx_validator.js';
23
- import { BlockHeaderTxValidator } from '../msg_validators/tx_validator/block_header_validator.js';
24
- import { DoubleSpendTxValidator } from '../msg_validators/tx_validator/double_spend_validator.js';
20
+ import { createTxValidatorForTransactionsEnteringPendingTxPool } from '../msg_validators/index.js';
25
21
  import { DummyP2PService } from '../services/dummy_service.js';
26
22
  import { LibP2PService } from '../services/index.js';
27
23
  import { createFileStoreTxSources } from '../services/tx_collection/file_store_tx_source.js';
28
24
  import { TxCollection } from '../services/tx_collection/tx_collection.js';
29
- import { type TxSource, createNodeRpcTxSources } from '../services/tx_collection/tx_source.js';
25
+ import { NodeRpcTxSource, type TxSource, createNodeRpcTxSources } from '../services/tx_collection/tx_source.js';
30
26
  import { TxFileStore } from '../services/tx_file_store/tx_file_store.js';
31
27
  import { configureP2PClientAddresses, createLibP2PPeerIdFromPrivateKey, getPeerIdPrivateKey } from '../util.js';
32
28
 
33
- export type P2PClientDeps<T extends P2PClientType> = {
29
+ export type P2PClientDeps = {
34
30
  txPool?: TxPoolV2;
35
31
  store?: AztecAsyncKVStore;
36
32
  attestationPool?: AttestationPoolApi;
37
33
  logger?: Logger;
38
34
  txCollectionNodeSources?: TxSource[];
39
- p2pServiceFactory?: (...args: Parameters<(typeof LibP2PService)['new']>) => Promise<LibP2PService<T>>;
35
+ rpcTxProviders?: AztecNode[];
36
+ p2pServiceFactory?: (...args: Parameters<(typeof LibP2PService)['new']>) => Promise<LibP2PService>;
40
37
  };
41
38
 
42
39
  export const P2P_STORE_NAME = 'p2p';
@@ -44,8 +41,7 @@ export const P2P_ARCHIVE_STORE_NAME = 'p2p-archive';
44
41
  export const P2P_PEER_STORE_NAME = 'p2p-peers';
45
42
  export const P2P_ATTESTATION_STORE_NAME = 'p2p-attestation';
46
43
 
47
- export async function createP2PClient<T extends P2PClientType>(
48
- clientType: T,
44
+ export async function createP2PClient(
49
45
  inputConfig: P2PConfig & DataStoreConfig & ChainConfig,
50
46
  archiver: L2BlockSource & ContractDataSource,
51
47
  proofVerifier: ClientProtocolCircuitVerifier,
@@ -54,7 +50,7 @@ export async function createP2PClient<T extends P2PClientType>(
54
50
  packageVersion: string,
55
51
  dateProvider: DateProvider = new DateProvider(),
56
52
  telemetry: TelemetryClient = getTelemetryClient(),
57
- deps: P2PClientDeps<T> = {},
53
+ deps: P2PClientDeps = {},
58
54
  ) {
59
55
  const config = await configureP2PClientAddresses({
60
56
  ...inputConfig,
@@ -79,32 +75,6 @@ export async function createP2PClient<T extends P2PClientType>(
79
75
  const rollupAddress = inputConfig.l1Contracts.rollupAddress.toString().toLowerCase().replace(/^0x/, '');
80
76
  const txFileStoreBasePath = `aztec-${inputConfig.l1ChainId}-${inputConfig.rollupVersion}-0x${rollupAddress}`;
81
77
 
82
- /** Validator factory for pool re-validation (double-spend + block header only). */
83
- const createPoolTxValidator = async () => {
84
- await worldStateSynchronizer.syncImmediate();
85
- return new AggregateTxValidator<TxMetaData>(
86
- new DoubleSpendTxValidator<TxMetaData>(
87
- {
88
- nullifiersExist: async (nullifiers: Buffer[]) => {
89
- const merkleTree = worldStateSynchronizer.getCommitted();
90
- const indices = await merkleTree.findLeafIndices(MerkleTreeId.NULLIFIER_TREE, nullifiers);
91
- return indices.map(index => index !== undefined);
92
- },
93
- },
94
- bindings,
95
- ),
96
- new BlockHeaderTxValidator<TxMetaData>(
97
- {
98
- getArchiveIndices: (archives: BlockHash[]) => {
99
- const merkleTree = worldStateSynchronizer.getCommitted();
100
- return merkleTree.findLeafIndices(MerkleTreeId.ARCHIVE, archives);
101
- },
102
- },
103
- bindings,
104
- ),
105
- );
106
- };
107
-
108
78
  const txPool =
109
79
  deps.txPool ??
110
80
  new AztecKVTxPoolV2(
@@ -113,13 +83,30 @@ export async function createP2PClient<T extends P2PClientType>(
113
83
  {
114
84
  l2BlockSource: archiver,
115
85
  worldStateSynchronizer,
116
- createTxValidator: createPoolTxValidator,
86
+ createTxValidator: async () => {
87
+ // We accept transactions if they are not expired by the next slot and block number (checked based on the ExpirationTimestamp field)
88
+ const currentBlockNumber = await archiver.getBlockNumber();
89
+ const { ts: nextSlotTimestamp } = epochCache.getEpochAndSlotInNextL1Slot();
90
+ const l1Constants = await archiver.getL1Constants();
91
+ return createTxValidatorForTransactionsEnteringPendingTxPool(
92
+ worldStateSynchronizer,
93
+ nextSlotTimestamp,
94
+ BlockNumber(currentBlockNumber + 1),
95
+ {
96
+ rollupManaLimit: l1Constants.rollupManaLimit,
97
+ maxBlockL2Gas: config.validateMaxL2BlockGas,
98
+ maxBlockDAGas: config.validateMaxDABlockGas,
99
+ },
100
+ );
101
+ },
117
102
  },
118
103
  telemetry,
119
104
  {
120
105
  maxPendingTxCount: config.maxPendingTxCount,
121
106
  archivedTxLimit: config.archivedTxLimit,
122
107
  minTxPoolAgeMs: config.minTxPoolAgeMs,
108
+ dropTransactionsProbability: config.dropTransactionsProbability,
109
+ priceBumpPercentage: config.priceBumpPercentage,
123
110
  },
124
111
  dateProvider,
125
112
  );
@@ -129,9 +116,8 @@ export async function createP2PClient<T extends P2PClientType>(
129
116
  attestationPool: deps.attestationPool ?? new AttestationPool(attestationStore, telemetry),
130
117
  };
131
118
 
132
- const p2pService = await createP2PService<T>(
119
+ const p2pService = await createP2PService(
133
120
  config,
134
- clientType,
135
121
  archiver,
136
122
  proofVerifier,
137
123
  worldStateSynchronizer,
@@ -147,6 +133,7 @@ export async function createP2PClient<T extends P2PClientType>(
147
133
 
148
134
  const nodeSources = [
149
135
  ...createNodeRpcTxSources(config.txCollectionNodeRpcUrls, config),
136
+ ...(deps.rpcTxProviders ?? []).map((node, i) => new NodeRpcTxSource(node, `node-rpc-provider-${i}`)),
150
137
  ...(deps.txCollectionNodeSources ?? []),
151
138
  ];
152
139
  if (nodeSources.length > 0) {
@@ -159,6 +146,7 @@ export async function createP2PClient<T extends P2PClientType>(
159
146
  config.txCollectionFileStoreUrls,
160
147
  txFileStoreBasePath,
161
148
  logger.createChild('file-store-tx-source'),
149
+ telemetry,
162
150
  );
163
151
  if (fileStoreSources.length > 0) {
164
152
  logger.info(`Using ${fileStoreSources.length} file store sources for tx collection.`, {
@@ -187,7 +175,6 @@ export async function createP2PClient<T extends P2PClientType>(
187
175
  );
188
176
 
189
177
  return new P2PClient(
190
- clientType,
191
178
  store,
192
179
  archiver,
193
180
  mempools,
@@ -201,9 +188,8 @@ export async function createP2PClient<T extends P2PClientType>(
201
188
  );
202
189
  }
203
190
 
204
- async function createP2PService<T extends P2PClientType>(
191
+ async function createP2PService(
205
192
  config: P2PConfig & DataStoreConfig,
206
- clientType: T,
207
193
  archiver: L2BlockSource & ContractDataSource,
208
194
  proofVerifier: ClientProtocolCircuitVerifier,
209
195
  worldStateSynchronizer: WorldStateSynchronizer,
@@ -211,7 +197,7 @@ async function createP2PService<T extends P2PClientType>(
211
197
  store: AztecAsyncKVStore,
212
198
  peerStore: AztecLMDBStoreV2,
213
199
  mempools: MemPools,
214
- p2pServiceFactory: P2PClientDeps<T>['p2pServiceFactory'],
200
+ p2pServiceFactory: P2PClientDeps['p2pServiceFactory'],
215
201
  packageVersion: string,
216
202
  logger: Logger,
217
203
  telemetry: TelemetryClient,
@@ -227,7 +213,7 @@ async function createP2PService<T extends P2PClientType>(
227
213
  const peerIdPrivateKey = await getPeerIdPrivateKey(config, store, logger);
228
214
  const peerId = await createLibP2PPeerIdFromPrivateKey(peerIdPrivateKey.getValue());
229
215
 
230
- const p2pService = await (p2pServiceFactory ?? LibP2PService.new<T>)(clientType, config, peerId, {
216
+ const p2pService = await (p2pServiceFactory ?? LibP2PService.new)(config, peerId, {
231
217
  packageVersion,
232
218
  mempools,
233
219
  l2BlockSource: archiver,
@@ -1,7 +1,7 @@
1
1
  import type { SlotNumber } from '@aztec/foundation/branded-types';
2
2
  import type { EthAddress, L2BlockId } from '@aztec/stdlib/block';
3
- import type { P2PApiFull } from '@aztec/stdlib/interfaces/server';
4
- import type { BlockProposal, CheckpointAttestation, CheckpointProposal, P2PClientType } from '@aztec/stdlib/p2p';
3
+ import type { ITxProvider, P2PClient } from '@aztec/stdlib/interfaces/server';
4
+ import type { BlockProposal, CheckpointAttestation, CheckpointProposal, TopicType } from '@aztec/stdlib/p2p';
5
5
  import type { BlockHeader, Tx, TxHash } from '@aztec/stdlib/tx';
6
6
 
7
7
  import type { PeerId } from '@libp2p/interface';
@@ -48,7 +48,7 @@ export interface P2PSyncState {
48
48
  /**
49
49
  * Interface of a P2P client.
50
50
  **/
51
- export type P2P<T extends P2PClientType = P2PClientType.Full> = P2PApiFull<T> & {
51
+ export type P2P = P2PClient & {
52
52
  /**
53
53
  * Broadcasts a block proposal to other peers.
54
54
  *
@@ -107,13 +107,6 @@ export type P2P<T extends P2PClientType = P2PClientType.Full> = P2PApiFull<T> &
107
107
  **/
108
108
  sendTx(tx: Tx): Promise<void>;
109
109
 
110
- /**
111
- * Adds transactions to the pool. Does not send to peers or validate the tx.
112
- * @param txs - The transactions.
113
- * @returns The number of txs added to the pool. Note if the transaction already exists, it will not be added again.
114
- **/
115
- addTxsToPool(txs: Tx[]): Promise<number>;
116
-
117
110
  /**
118
111
  * Handles failed transaction execution by removing txs from the pool.
119
112
  * @param txHashes - Hashes of the transactions that failed execution.
@@ -141,14 +134,6 @@ export type P2P<T extends P2PClientType = P2PClientType.Full> = P2PApiFull<T> &
141
134
  */
142
135
  hasTxsInPool(txHashes: TxHash[]): Promise<boolean[]>;
143
136
 
144
- /**
145
- * Returns transactions in the transaction pool by hash, requesting from the network if not found.
146
- * @param txHashes - Hashes of tx to return.
147
- * @param pinnedPeerId - An optional peer id that will be used to request the tx from (in addition to other random peers).
148
- * @returns An array of tx or undefined.
149
- */
150
- getTxsByHash(txHashes: TxHash[], pinnedPeerId: PeerId | undefined): Promise<(Tx | undefined)[]>;
151
-
152
137
  /**
153
138
  * Returns an archived transaction from the transaction pool by its hash.
154
139
  * @param txHash - Hash of tx to return.
@@ -220,10 +205,13 @@ export type P2P<T extends P2PClientType = P2PClientType.Full> = P2PApiFull<T> &
220
205
  /** Identifies a p2p client. */
221
206
  isP2PClient(): true;
222
207
 
208
+ /** Returns the tx provider used for fetching transactions. */
209
+ getTxProvider(): ITxProvider;
210
+
223
211
  updateP2PConfig(config: Partial<P2PConfig>): Promise<void>;
224
212
 
225
- /** Validates a set of txs. */
226
- validate(txs: Tx[]): Promise<void>;
213
+ /** Validates a set of txs received in a block proposal. */
214
+ validateTxsReceivedInBlockProposal(txs: Tx[]): Promise<void>;
227
215
 
228
216
  /** Clears the db. */
229
217
  clear(): Promise<void>;
@@ -241,4 +229,7 @@ export type P2P<T extends P2PClientType = P2PClientType.Full> = P2PApiFull<T> &
241
229
 
242
230
  /** If node running this P2P stack is validator, passes in validator address to P2P layer */
243
231
  registerThisValidatorAddresses(address: EthAddress[]): void;
232
+
233
+ /** Returns the number of peers in the GossipSub mesh for a given topic type. */
234
+ getGossipMeshPeerCount(topicType: TopicType): Promise<number>;
244
235
  };