@aztec/p2p 0.0.1-commit.1bea0213 → 0.0.1-commit.1de2a32

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 (475) 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 +11 -11
  5. package/dest/client/factory.d.ts.map +1 -1
  6. package/dest/client/factory.js +46 -18
  7. package/dest/client/interface.d.ts +46 -33
  8. package/dest/client/interface.d.ts.map +1 -1
  9. package/dest/client/p2p_client.d.ts +41 -51
  10. package/dest/client/p2p_client.d.ts.map +1 -1
  11. package/dest/client/p2p_client.js +156 -224
  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 +53 -16
  19. package/dest/config.d.ts.map +1 -1
  20. package/dest/config.js +87 -39
  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 +104 -88
  28. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  29. package/dest/mem_pools/attestation_pool/attestation_pool.js +445 -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 +353 -87
  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 +2 -2
  37. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  38. package/dest/mem_pools/attestation_pool/mocks.js +2 -2
  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 +4 -2
  43. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  44. package/dest/mem_pools/instrumentation.js +18 -16
  45. package/dest/mem_pools/interface.d.ts +5 -5
  46. package/dest/mem_pools/interface.d.ts.map +1 -1
  47. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +3 -3
  48. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts +2 -0
  49. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts.map +1 -0
  50. package/dest/mem_pools/tx_pool_v2/archive/index.js +1 -0
  51. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts +43 -0
  52. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts.map +1 -0
  53. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.js +103 -0
  54. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +104 -0
  55. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -0
  56. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +251 -0
  57. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +47 -0
  58. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -0
  59. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +128 -0
  60. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +17 -0
  61. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
  62. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +93 -0
  63. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +19 -0
  64. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -0
  65. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +97 -0
  66. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +10 -0
  67. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -0
  68. package/dest/mem_pools/tx_pool_v2/eviction/index.js +11 -0
  69. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +180 -0
  70. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -0
  71. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +25 -0
  72. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts +15 -0
  73. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
  74. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +65 -0
  75. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts +17 -0
  76. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
  77. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +93 -0
  78. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +16 -0
  79. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -0
  80. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +78 -0
  81. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +20 -0
  82. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -0
  83. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +75 -0
  84. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +15 -0
  85. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -0
  86. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +19 -0
  87. package/dest/mem_pools/tx_pool_v2/index.d.ts +6 -0
  88. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -0
  89. package/dest/mem_pools/tx_pool_v2/index.js +5 -0
  90. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts +15 -0
  91. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts.map +1 -0
  92. package/dest/mem_pools/tx_pool_v2/instrumentation.js +43 -0
  93. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +213 -0
  94. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -0
  95. package/dest/mem_pools/tx_pool_v2/interfaces.js +10 -0
  96. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +127 -0
  97. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -0
  98. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +210 -0
  99. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts +26 -0
  100. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts.map +1 -0
  101. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.js +70 -0
  102. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +108 -0
  103. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -0
  104. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +337 -0
  105. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +60 -0
  106. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -0
  107. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +164 -0
  108. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +78 -0
  109. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -0
  110. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +909 -0
  111. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +3 -3
  112. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
  113. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +7 -2
  114. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +6 -4
  115. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
  116. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +10 -2
  117. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +6 -4
  118. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
  119. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +16 -2
  120. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +13 -8
  121. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
  122. package/dest/msg_validators/proposal_validator/proposal_validator.js +52 -40
  123. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +4 -4
  124. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  125. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +3 -3
  126. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +2 -1
  127. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -1
  128. package/dest/msg_validators/tx_validator/allowed_public_setup.js +24 -20
  129. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts +17 -0
  130. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts.map +1 -0
  131. package/dest/msg_validators/tx_validator/allowed_setup_helpers.js +24 -0
  132. package/dest/msg_validators/tx_validator/archive_cache.d.ts +3 -3
  133. package/dest/msg_validators/tx_validator/archive_cache.d.ts.map +1 -1
  134. package/dest/msg_validators/tx_validator/archive_cache.js +1 -1
  135. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +20 -6
  136. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  137. package/dest/msg_validators/tx_validator/block_header_validator.js +5 -4
  138. package/dest/msg_validators/tx_validator/data_validator.d.ts +3 -1
  139. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  140. package/dest/msg_validators/tx_validator/data_validator.js +4 -1
  141. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +15 -4
  142. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  143. package/dest/msg_validators/tx_validator/double_spend_validator.js +7 -6
  144. package/dest/msg_validators/tx_validator/factory.d.ts +118 -5
  145. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  146. package/dest/msg_validators/tx_validator/factory.js +228 -57
  147. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +1 -1
  148. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -1
  149. package/dest/msg_validators/tx_validator/fee_payer_balance.js +6 -2
  150. package/dest/msg_validators/tx_validator/gas_validator.d.ts +59 -3
  151. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  152. package/dest/msg_validators/tx_validator/gas_validator.js +76 -38
  153. package/dest/msg_validators/tx_validator/index.d.ts +3 -1
  154. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  155. package/dest/msg_validators/tx_validator/index.js +2 -0
  156. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +3 -2
  157. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  158. package/dest/msg_validators/tx_validator/metadata_validator.js +6 -6
  159. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts +14 -0
  160. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts.map +1 -0
  161. package/dest/msg_validators/tx_validator/nullifier_cache.js +24 -0
  162. package/dest/msg_validators/tx_validator/phases_validator.d.ts +4 -3
  163. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  164. package/dest/msg_validators/tx_validator/phases_validator.js +47 -26
  165. package/dest/msg_validators/tx_validator/size_validator.d.ts +3 -1
  166. package/dest/msg_validators/tx_validator/size_validator.d.ts.map +1 -1
  167. package/dest/msg_validators/tx_validator/size_validator.js +4 -1
  168. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +22 -5
  169. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  170. package/dest/msg_validators/tx_validator/timestamp_validator.js +8 -8
  171. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts +3 -2
  172. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts.map +1 -1
  173. package/dest/msg_validators/tx_validator/tx_permitted_validator.js +2 -2
  174. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +3 -2
  175. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
  176. package/dest/msg_validators/tx_validator/tx_proof_validator.js +2 -2
  177. package/dest/services/data_store.d.ts +1 -1
  178. package/dest/services/data_store.d.ts.map +1 -1
  179. package/dest/services/data_store.js +10 -6
  180. package/dest/services/discv5/discV5_service.js +1 -1
  181. package/dest/services/dummy_service.d.ts +24 -4
  182. package/dest/services/dummy_service.d.ts.map +1 -1
  183. package/dest/services/dummy_service.js +46 -1
  184. package/dest/services/encoding.d.ts +3 -3
  185. package/dest/services/encoding.d.ts.map +1 -1
  186. package/dest/services/encoding.js +11 -10
  187. package/dest/services/gossipsub/index.d.ts +3 -0
  188. package/dest/services/gossipsub/index.d.ts.map +1 -0
  189. package/dest/services/gossipsub/index.js +2 -0
  190. package/dest/services/gossipsub/scoring.d.ts +21 -3
  191. package/dest/services/gossipsub/scoring.d.ts.map +1 -1
  192. package/dest/services/gossipsub/scoring.js +24 -7
  193. package/dest/services/gossipsub/topic_score_params.d.ts +173 -0
  194. package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -0
  195. package/dest/services/gossipsub/topic_score_params.js +346 -0
  196. package/dest/services/index.d.ts +2 -1
  197. package/dest/services/index.d.ts.map +1 -1
  198. package/dest/services/index.js +1 -0
  199. package/dest/services/libp2p/instrumentation.d.ts +1 -1
  200. package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
  201. package/dest/services/libp2p/instrumentation.js +14 -3
  202. package/dest/services/libp2p/libp2p_service.d.ts +100 -42
  203. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  204. package/dest/services/libp2p/libp2p_service.js +466 -368
  205. package/dest/services/peer-manager/metrics.d.ts +4 -2
  206. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  207. package/dest/services/peer-manager/metrics.js +26 -5
  208. package/dest/services/peer-manager/peer_manager.d.ts +1 -1
  209. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  210. package/dest/services/peer-manager/peer_manager.js +2 -1
  211. package/dest/services/peer-manager/peer_scoring.d.ts +1 -1
  212. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  213. package/dest/services/peer-manager/peer_scoring.js +33 -4
  214. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +48 -0
  215. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -0
  216. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +539 -0
  217. package/dest/services/reqresp/batch-tx-requester/config.d.ts +17 -0
  218. package/dest/services/reqresp/batch-tx-requester/config.d.ts.map +1 -0
  219. package/dest/services/reqresp/batch-tx-requester/config.js +27 -0
  220. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +46 -0
  221. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -0
  222. package/dest/services/reqresp/batch-tx-requester/interface.js +1 -0
  223. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +34 -0
  224. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -0
  225. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +130 -0
  226. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +60 -0
  227. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -0
  228. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +173 -0
  229. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts +20 -0
  230. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts.map +1 -0
  231. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +21 -0
  232. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +22 -3
  233. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
  234. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +63 -4
  235. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +2 -1
  236. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
  237. package/dest/services/reqresp/connection-sampler/connection_sampler.js +12 -0
  238. package/dest/services/reqresp/interface.d.ts +12 -1
  239. package/dest/services/reqresp/interface.d.ts.map +1 -1
  240. package/dest/services/reqresp/interface.js +15 -1
  241. package/dest/services/reqresp/metrics.d.ts +6 -5
  242. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  243. package/dest/services/reqresp/metrics.js +17 -5
  244. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +5 -1
  245. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -1
  246. package/dest/services/reqresp/protocols/block_txs/bitvector.js +5 -0
  247. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +7 -5
  248. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
  249. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +27 -9
  250. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +29 -6
  251. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
  252. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +59 -13
  253. package/dest/services/reqresp/protocols/tx.d.ts +7 -1
  254. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  255. package/dest/services/reqresp/protocols/tx.js +20 -0
  256. package/dest/services/reqresp/reqresp.d.ts +6 -1
  257. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  258. package/dest/services/reqresp/reqresp.js +71 -27
  259. package/dest/services/service.d.ts +42 -3
  260. package/dest/services/service.d.ts.map +1 -1
  261. package/dest/services/tx_collection/config.d.ts +22 -1
  262. package/dest/services/tx_collection/config.d.ts.map +1 -1
  263. package/dest/services/tx_collection/config.js +55 -1
  264. package/dest/services/tx_collection/fast_tx_collection.d.ts +7 -4
  265. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  266. package/dest/services/tx_collection/fast_tx_collection.js +71 -44
  267. package/dest/services/tx_collection/file_store_tx_collection.d.ts +53 -0
  268. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -0
  269. package/dest/services/tx_collection/file_store_tx_collection.js +167 -0
  270. package/dest/services/tx_collection/file_store_tx_source.d.ts +37 -0
  271. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -0
  272. package/dest/services/tx_collection/file_store_tx_source.js +90 -0
  273. package/dest/services/tx_collection/index.d.ts +3 -1
  274. package/dest/services/tx_collection/index.d.ts.map +1 -1
  275. package/dest/services/tx_collection/index.js +2 -0
  276. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  277. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  278. package/dest/services/tx_collection/instrumentation.js +10 -2
  279. package/dest/services/tx_collection/missing_txs_tracker.d.ts +32 -0
  280. package/dest/services/tx_collection/missing_txs_tracker.d.ts.map +1 -0
  281. package/dest/services/tx_collection/missing_txs_tracker.js +27 -0
  282. package/dest/services/tx_collection/proposal_tx_collector.d.ts +49 -0
  283. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -0
  284. package/dest/services/tx_collection/proposal_tx_collector.js +50 -0
  285. package/dest/services/tx_collection/slow_tx_collection.d.ts +7 -3
  286. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
  287. package/dest/services/tx_collection/slow_tx_collection.js +60 -26
  288. package/dest/services/tx_collection/tx_collection.d.ts +25 -12
  289. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  290. package/dest/services/tx_collection/tx_collection.js +79 -7
  291. package/dest/services/tx_collection/tx_collection_sink.d.ts +18 -8
  292. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
  293. package/dest/services/tx_collection/tx_collection_sink.js +26 -29
  294. package/dest/services/tx_collection/tx_source.d.ts +8 -3
  295. package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
  296. package/dest/services/tx_collection/tx_source.js +19 -2
  297. package/dest/services/tx_file_store/config.d.ts +16 -0
  298. package/dest/services/tx_file_store/config.d.ts.map +1 -0
  299. package/dest/services/tx_file_store/config.js +22 -0
  300. package/dest/services/tx_file_store/index.d.ts +4 -0
  301. package/dest/services/tx_file_store/index.d.ts.map +1 -0
  302. package/dest/services/tx_file_store/index.js +3 -0
  303. package/dest/services/tx_file_store/instrumentation.d.ts +15 -0
  304. package/dest/services/tx_file_store/instrumentation.d.ts.map +1 -0
  305. package/dest/services/tx_file_store/instrumentation.js +29 -0
  306. package/dest/services/tx_file_store/tx_file_store.d.ts +48 -0
  307. package/dest/services/tx_file_store/tx_file_store.d.ts.map +1 -0
  308. package/dest/services/tx_file_store/tx_file_store.js +152 -0
  309. package/dest/services/tx_provider.d.ts +4 -4
  310. package/dest/services/tx_provider.d.ts.map +1 -1
  311. package/dest/services/tx_provider.js +9 -8
  312. package/dest/services/tx_provider_instrumentation.d.ts +1 -1
  313. package/dest/services/tx_provider_instrumentation.d.ts.map +1 -1
  314. package/dest/services/tx_provider_instrumentation.js +5 -5
  315. package/dest/test-helpers/index.d.ts +3 -1
  316. package/dest/test-helpers/index.d.ts.map +1 -1
  317. package/dest/test-helpers/index.js +2 -0
  318. package/dest/test-helpers/make-test-p2p-clients.d.ts +7 -8
  319. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  320. package/dest/test-helpers/make-test-p2p-clients.js +1 -2
  321. package/dest/test-helpers/mock-pubsub.d.ts +30 -4
  322. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  323. package/dest/test-helpers/mock-pubsub.js +105 -4
  324. package/dest/test-helpers/reqresp-nodes.d.ts +2 -3
  325. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  326. package/dest/test-helpers/reqresp-nodes.js +4 -3
  327. package/dest/test-helpers/test_tx_provider.d.ts +40 -0
  328. package/dest/test-helpers/test_tx_provider.d.ts.map +1 -0
  329. package/dest/test-helpers/test_tx_provider.js +41 -0
  330. package/dest/test-helpers/testbench-utils.d.ts +163 -0
  331. package/dest/test-helpers/testbench-utils.d.ts.map +1 -0
  332. package/dest/test-helpers/testbench-utils.js +366 -0
  333. package/dest/testbench/p2p_client_testbench_worker.d.ts +28 -2
  334. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  335. package/dest/testbench/p2p_client_testbench_worker.js +221 -139
  336. package/dest/testbench/worker_client_manager.d.ts +53 -6
  337. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  338. package/dest/testbench/worker_client_manager.js +231 -45
  339. package/dest/util.d.ts +3 -3
  340. package/dest/util.d.ts.map +1 -1
  341. package/package.json +14 -14
  342. package/src/bootstrap/bootstrap.ts +7 -4
  343. package/src/client/factory.ts +85 -37
  344. package/src/client/interface.ts +56 -34
  345. package/src/client/p2p_client.ts +192 -269
  346. package/src/client/test/tx_proposal_collector/README.md +227 -0
  347. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +345 -0
  348. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.ts +43 -0
  349. package/src/config.ts +137 -44
  350. package/src/errors/tx-pool.error.ts +12 -0
  351. package/src/index.ts +1 -0
  352. package/src/mem_pools/attestation_pool/attestation_pool.ts +497 -91
  353. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +442 -102
  354. package/src/mem_pools/attestation_pool/index.ts +9 -2
  355. package/src/mem_pools/attestation_pool/mocks.ts +2 -1
  356. package/src/mem_pools/index.ts +4 -1
  357. package/src/mem_pools/instrumentation.ts +19 -14
  358. package/src/mem_pools/interface.ts +4 -4
  359. package/src/mem_pools/tx_pool/README.md +1 -1
  360. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +3 -3
  361. package/src/mem_pools/tx_pool_v2/README.md +283 -0
  362. package/src/mem_pools/tx_pool_v2/archive/index.ts +1 -0
  363. package/src/mem_pools/tx_pool_v2/archive/tx_archive.ts +120 -0
  364. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +321 -0
  365. package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +160 -0
  366. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +121 -0
  367. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +125 -0
  368. package/src/mem_pools/tx_pool_v2/eviction/index.ts +27 -0
  369. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +219 -0
  370. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +74 -0
  371. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +101 -0
  372. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +91 -0
  373. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +99 -0
  374. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +32 -0
  375. package/src/mem_pools/tx_pool_v2/index.ts +12 -0
  376. package/src/mem_pools/tx_pool_v2/instrumentation.ts +69 -0
  377. package/src/mem_pools/tx_pool_v2/interfaces.ts +245 -0
  378. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +327 -0
  379. package/src/mem_pools/tx_pool_v2/tx_pool_bench_metrics.ts +77 -0
  380. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +430 -0
  381. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +226 -0
  382. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +1090 -0
  383. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +10 -4
  384. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +14 -4
  385. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +20 -7
  386. package/src/msg_validators/proposal_validator/proposal_validator.ts +67 -44
  387. package/src/msg_validators/tx_validator/README.md +115 -0
  388. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +5 -5
  389. package/src/msg_validators/tx_validator/allowed_public_setup.ts +22 -27
  390. package/src/msg_validators/tx_validator/allowed_setup_helpers.ts +31 -0
  391. package/src/msg_validators/tx_validator/archive_cache.ts +3 -3
  392. package/src/msg_validators/tx_validator/block_header_validator.ts +22 -11
  393. package/src/msg_validators/tx_validator/data_validator.ts +6 -2
  394. package/src/msg_validators/tx_validator/double_spend_validator.ts +15 -9
  395. package/src/msg_validators/tx_validator/factory.ts +372 -55
  396. package/src/msg_validators/tx_validator/fee_payer_balance.ts +6 -2
  397. package/src/msg_validators/tx_validator/gas_validator.ts +98 -29
  398. package/src/msg_validators/tx_validator/index.ts +2 -0
  399. package/src/msg_validators/tx_validator/metadata_validator.ts +18 -7
  400. package/src/msg_validators/tx_validator/nullifier_cache.ts +30 -0
  401. package/src/msg_validators/tx_validator/phases_validator.ts +56 -29
  402. package/src/msg_validators/tx_validator/size_validator.ts +6 -2
  403. package/src/msg_validators/tx_validator/timestamp_validator.ts +29 -21
  404. package/src/msg_validators/tx_validator/tx_permitted_validator.ts +8 -3
  405. package/src/msg_validators/tx_validator/tx_proof_validator.ts +8 -3
  406. package/src/services/data_store.ts +10 -7
  407. package/src/services/discv5/discV5_service.ts +1 -1
  408. package/src/services/dummy_service.ts +59 -2
  409. package/src/services/encoding.ts +9 -9
  410. package/src/services/gossipsub/README.md +641 -0
  411. package/src/services/gossipsub/index.ts +2 -0
  412. package/src/services/gossipsub/scoring.ts +29 -5
  413. package/src/services/gossipsub/topic_score_params.ts +487 -0
  414. package/src/services/index.ts +1 -0
  415. package/src/services/libp2p/instrumentation.ts +15 -2
  416. package/src/services/libp2p/libp2p_service.ts +511 -403
  417. package/src/services/peer-manager/metrics.ts +28 -4
  418. package/src/services/peer-manager/peer_manager.ts +2 -1
  419. package/src/services/peer-manager/peer_scoring.ts +29 -1
  420. package/src/services/reqresp/batch-tx-requester/README.md +305 -0
  421. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +678 -0
  422. package/src/services/reqresp/batch-tx-requester/config.ts +40 -0
  423. package/src/services/reqresp/batch-tx-requester/interface.ts +53 -0
  424. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +161 -0
  425. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +244 -0
  426. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +37 -0
  427. package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +65 -4
  428. package/src/services/reqresp/connection-sampler/connection_sampler.ts +16 -0
  429. package/src/services/reqresp/interface.ts +29 -1
  430. package/src/services/reqresp/metrics.ts +34 -9
  431. package/src/services/reqresp/protocols/block_txs/bitvector.ts +7 -0
  432. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +35 -12
  433. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +74 -9
  434. package/src/services/reqresp/protocols/tx.ts +22 -0
  435. package/src/services/reqresp/reqresp.ts +82 -23
  436. package/src/services/service.ts +55 -2
  437. package/src/services/tx_collection/config.ts +83 -1
  438. package/src/services/tx_collection/fast_tx_collection.ts +93 -47
  439. package/src/services/tx_collection/file_store_tx_collection.ts +202 -0
  440. package/src/services/tx_collection/file_store_tx_source.ts +117 -0
  441. package/src/services/tx_collection/index.ts +6 -0
  442. package/src/services/tx_collection/instrumentation.ts +17 -2
  443. package/src/services/tx_collection/missing_txs_tracker.ts +52 -0
  444. package/src/services/tx_collection/proposal_tx_collector.ts +113 -0
  445. package/src/services/tx_collection/slow_tx_collection.ts +66 -33
  446. package/src/services/tx_collection/tx_collection.ts +117 -20
  447. package/src/services/tx_collection/tx_collection_sink.ts +30 -34
  448. package/src/services/tx_collection/tx_source.ts +22 -3
  449. package/src/services/tx_file_store/config.ts +37 -0
  450. package/src/services/tx_file_store/index.ts +3 -0
  451. package/src/services/tx_file_store/instrumentation.ts +36 -0
  452. package/src/services/tx_file_store/tx_file_store.ts +175 -0
  453. package/src/services/tx_provider.ts +10 -9
  454. package/src/services/tx_provider_instrumentation.ts +11 -5
  455. package/src/test-helpers/index.ts +2 -0
  456. package/src/test-helpers/make-test-p2p-clients.ts +4 -6
  457. package/src/test-helpers/mock-pubsub.ts +146 -9
  458. package/src/test-helpers/reqresp-nodes.ts +5 -7
  459. package/src/test-helpers/test_tx_provider.ts +64 -0
  460. package/src/test-helpers/testbench-utils.ts +430 -0
  461. package/src/testbench/p2p_client_testbench_worker.ts +335 -132
  462. package/src/testbench/worker_client_manager.ts +312 -47
  463. package/src/util.ts +8 -2
  464. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +0 -40
  465. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +0 -1
  466. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +0 -218
  467. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +0 -31
  468. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +0 -1
  469. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +0 -180
  470. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +0 -23
  471. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +0 -1
  472. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +0 -212
  473. package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +0 -320
  474. package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +0 -264
  475. package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +0 -230
@@ -0,0 +1,304 @@
1
+ import { MockL2BlockSource } from '@aztec/archiver/test';
2
+ import { SecretValue } from '@aztec/foundation/config';
3
+ import { createLogger } from '@aztec/foundation/log';
4
+ import { sleep } from '@aztec/foundation/sleep';
5
+ import { DateProvider, Timer, executeTimeout } from '@aztec/foundation/timer';
6
+ import { openTmpStore } from '@aztec/kv-store/lmdb-v2';
7
+ import { getTelemetryClient } from '@aztec/telemetry-client';
8
+ import { peerIdFromString } from '@libp2p/peer-id';
9
+ import { BatchTxRequesterCollector, SendBatchRequestCollector } from '../../../services/index.js';
10
+ import { RateLimitStatus } from '../../../services/reqresp/rate-limiter/rate_limiter.js';
11
+ import { MissingTxsTracker } from '../../../services/tx_collection/missing_txs_tracker.js';
12
+ import { AlwaysTrueCircuitVerifier, BENCHMARK_CONSTANTS, InMemoryAttestationPool, InMemoryTxPool, UNLIMITED_RATE_LIMIT_QUOTA, calculateInternalTimeout, createMockEpochCache, createMockWorldStateSynchronizer } from '../../../test-helpers/index.js';
13
+ import { createP2PClient } from '../../index.js';
14
+ import { deserializeBlockProposal, deserializeTx, deserializeTxHash } from './proposal_tx_collector_worker_protocol.js';
15
+ let client;
16
+ let txPool;
17
+ let attestationPool;
18
+ let logger = createLogger('p2p:proposal-bench');
19
+ let kvStore;
20
+ let ipcDisconnected = false;
21
+ function ensureClient() {
22
+ if (!client || !txPool) {
23
+ throw new Error('Worker client not started');
24
+ }
25
+ return client;
26
+ }
27
+ function isIpcDisconnectError(err) {
28
+ const code = err?.code;
29
+ return code === 'EPIPE' || code === 'ERR_IPC_CHANNEL_CLOSED';
30
+ }
31
+ function sendMessage(message) {
32
+ const send = process.send;
33
+ if (!send || !process.connected || ipcDisconnected) {
34
+ return Promise.resolve();
35
+ }
36
+ return new Promise((resolve)=>{
37
+ const fallbackTimeout = setTimeout(()=>resolve(), 2000);
38
+ try {
39
+ send.call(process, message, undefined, undefined, (err)=>{
40
+ clearTimeout(fallbackTimeout);
41
+ if (!err) {
42
+ resolve();
43
+ return;
44
+ }
45
+ if (isIpcDisconnectError(err)) {
46
+ ipcDisconnected = true;
47
+ resolve();
48
+ return;
49
+ }
50
+ logger.warn('Failed to send IPC message', {
51
+ error: err?.message ?? String(err)
52
+ });
53
+ resolve();
54
+ });
55
+ } catch (err) {
56
+ clearTimeout(fallbackTimeout);
57
+ if (isIpcDisconnectError(err)) {
58
+ ipcDisconnected = true;
59
+ resolve();
60
+ return;
61
+ }
62
+ logger.warn('Failed to send IPC message', {
63
+ error: err?.message ?? String(err)
64
+ });
65
+ resolve();
66
+ }
67
+ });
68
+ }
69
+ async function startClient(config, clientIndex) {
70
+ txPool = new InMemoryTxPool();
71
+ attestationPool = new InMemoryAttestationPool();
72
+ const epochCache = createMockEpochCache();
73
+ const worldState = createMockWorldStateSynchronizer();
74
+ const l2BlockSource = new MockL2BlockSource();
75
+ const proofVerifier = new AlwaysTrueCircuitVerifier();
76
+ kvStore = await openTmpStore(`proposal-bench-${clientIndex}`, true, BENCHMARK_CONSTANTS.KV_STORE_MAP_SIZE_KB);
77
+ logger = createLogger(`p2p:proposal-bench:${clientIndex}`);
78
+ const telemetry = getTelemetryClient();
79
+ const deps = {
80
+ txPool,
81
+ attestationPool,
82
+ store: kvStore,
83
+ logger
84
+ };
85
+ client = await createP2PClient(config, l2BlockSource, proofVerifier, worldState, epochCache, 'proposal-tx-collector-bench-worker', new DateProvider(), telemetry, deps);
86
+ await client.start();
87
+ installUnlimitedRateLimits();
88
+ for(let i = 0; i < 120; i++){
89
+ if (client.isReady()) {
90
+ return;
91
+ }
92
+ await sleep(500);
93
+ }
94
+ throw new Error('Timed out waiting for P2P client readiness');
95
+ }
96
+ function installSamplerOverrides(peerList) {
97
+ const reqResp = ensureClient().p2pService.reqresp;
98
+ const sampler = reqResp.connectionSampler;
99
+ sampler.getPeerListSortedByConnectionCountAsc = (excluding)=>{
100
+ if (!excluding || excluding.size === 0) {
101
+ return peerList;
102
+ }
103
+ return peerList.filter((peerId)=>!excluding.has(peerId.toString()));
104
+ };
105
+ sampler.samplePeersBatch = (numberToSample, excluding)=>{
106
+ const filtered = peerList.filter((peerId)=>!excluding?.has(peerId.toString()));
107
+ return filtered.slice(0, Math.min(numberToSample, filtered.length));
108
+ };
109
+ sampler.getPeer = (excluding)=>{
110
+ const filtered = peerList.filter((peerId)=>!excluding?.has(peerId.toString()));
111
+ return filtered[0];
112
+ };
113
+ }
114
+ function installUnlimitedRateLimits() {
115
+ const reqResp = ensureClient().p2pService.reqresp;
116
+ const rateLimiter = reqResp.rateLimiter;
117
+ rateLimiter.getRateLimits = ()=>UNLIMITED_RATE_LIMIT_QUOTA;
118
+ rateLimiter.allow = ()=>RateLimitStatus.Allowed;
119
+ }
120
+ async function runCollector(cmd) {
121
+ const { collectorType, txHashes, blockProposal, pinnedPeerId, peerIds, timeoutMs } = cmd;
122
+ const reqResp = ensureClient().p2pService.reqresp;
123
+ const peerList = peerIds.map((peerId)=>peerIdFromString(peerId));
124
+ installSamplerOverrides(peerList);
125
+ installUnlimitedRateLimits();
126
+ const p2pService = {
127
+ reqResp,
128
+ connectionSampler: {
129
+ getPeerListSortedByConnectionCountAsc: ()=>peerList
130
+ },
131
+ txValidatorConfig: {
132
+ l1ChainId: 1,
133
+ rollupVersion: 1,
134
+ proofVerifier: {
135
+ verifyProof: ()=>Promise.resolve({
136
+ valid: true,
137
+ durationMs: 0,
138
+ totalDurationMs: 0
139
+ }),
140
+ stop: ()=>Promise.resolve()
141
+ }
142
+ },
143
+ peerScoring: {
144
+ penalizePeer: (_peerId, _penalty)=>{}
145
+ }
146
+ };
147
+ const parsedTxHashes = txHashes.map(deserializeTxHash);
148
+ const parsedProposal = deserializeBlockProposal(blockProposal);
149
+ const pinnedPeer = pinnedPeerId ? peerIdFromString(pinnedPeerId) : undefined;
150
+ const timer = new Timer();
151
+ let fetchedCount = 0;
152
+ const internalTimeoutMs = calculateInternalTimeout(timeoutMs);
153
+ const noopTxValidator = {
154
+ validateRequestedTx: (_tx)=>Promise.resolve({
155
+ result: 'valid'
156
+ }),
157
+ validateRequestedTxs: (txs)=>Promise.resolve(txs.map(()=>({
158
+ result: 'valid'
159
+ })))
160
+ };
161
+ try {
162
+ if (collectorType === 'batch-requester') {
163
+ const collector = new BatchTxRequesterCollector(p2pService, logger, new DateProvider(), noopTxValidator);
164
+ const fetched = await executeTimeout((_signal)=>collector.collectTxs(MissingTxsTracker.fromArray(parsedTxHashes), parsedProposal, pinnedPeer, internalTimeoutMs), timeoutMs, ()=>new Error(`Collector timed out after ${timeoutMs}ms`));
165
+ fetchedCount = fetched.length;
166
+ } else {
167
+ const collector = new SendBatchRequestCollector(p2pService, BENCHMARK_CONSTANTS.FIXED_MAX_PEERS, BENCHMARK_CONSTANTS.FIXED_MAX_RETRY_ATTEMPTS);
168
+ const fetched = await executeTimeout((_signal)=>collector.collectTxs(MissingTxsTracker.fromArray(parsedTxHashes), parsedProposal, pinnedPeer, internalTimeoutMs), timeoutMs, ()=>new Error(`Collector timed out after ${timeoutMs}ms`));
169
+ fetchedCount = fetched.length;
170
+ }
171
+ } catch (err) {
172
+ logger.warn(`Collector error: ${err?.message ?? String(err)}`);
173
+ }
174
+ return {
175
+ durationMs: timer.ms(),
176
+ fetchedCount
177
+ };
178
+ }
179
+ async function stopClient() {
180
+ if (!client) {
181
+ return;
182
+ }
183
+ await client.stop();
184
+ if (kvStore?.close) {
185
+ await kvStore.close();
186
+ }
187
+ client = undefined;
188
+ txPool = undefined;
189
+ attestationPool = undefined;
190
+ }
191
+ process.on('disconnect', ()=>{
192
+ ipcDisconnected = true;
193
+ void stopClient().finally(()=>process.exit(0));
194
+ });
195
+ process.on('error', (err)=>{
196
+ if (isIpcDisconnectError(err)) {
197
+ ipcDisconnected = true;
198
+ return;
199
+ }
200
+ logger.warn('Worker process error', {
201
+ error: err?.message ?? String(err)
202
+ });
203
+ });
204
+ process.on('message', (msg)=>{
205
+ void (async ()=>{
206
+ if (!msg || typeof msg !== 'object') {
207
+ return;
208
+ }
209
+ const requestId = msg.requestId;
210
+ try {
211
+ switch(msg.type){
212
+ case 'START':
213
+ {
214
+ const rawConfig = msg.config;
215
+ const config = {
216
+ ...rawConfig,
217
+ peerIdPrivateKey: rawConfig.peerIdPrivateKey ? new SecretValue(rawConfig.peerIdPrivateKey) : undefined
218
+ };
219
+ await startClient(config, msg.clientIndex);
220
+ const peerId = ensureClient().p2pService.node.peerId.toString();
221
+ await sendMessage({
222
+ type: 'READY',
223
+ requestId,
224
+ peerId
225
+ });
226
+ break;
227
+ }
228
+ case 'SET_TXS':
229
+ {
230
+ if (!txPool) {
231
+ throw new Error('Tx pool not initialized');
232
+ }
233
+ const txs = msg.txs.map(deserializeTx);
234
+ const count = msg.mode === 'append' ? txPool.appendTxs(txs) : txPool.setTxs(txs);
235
+ await sendMessage({
236
+ type: 'TXS_SET',
237
+ requestId,
238
+ count
239
+ });
240
+ break;
241
+ }
242
+ case 'SET_BLOCK_PROPOSAL':
243
+ {
244
+ if (!attestationPool) {
245
+ throw new Error('Attestation pool not initialized');
246
+ }
247
+ const proposal = deserializeBlockProposal(msg.blockProposal);
248
+ await attestationPool.tryAddBlockProposal(proposal);
249
+ await sendMessage({
250
+ type: 'BLOCK_PROPOSAL_SET',
251
+ requestId,
252
+ archiveRoot: proposal.archive.toString()
253
+ });
254
+ break;
255
+ }
256
+ case 'RUN_COLLECTOR':
257
+ {
258
+ const { durationMs, fetchedCount } = await runCollector(msg);
259
+ await sendMessage({
260
+ type: 'COLLECTOR_RESULT',
261
+ requestId,
262
+ durationMs,
263
+ fetchedCount
264
+ });
265
+ break;
266
+ }
267
+ case 'GET_PEER_COUNT':
268
+ {
269
+ const peers = await ensureClient().getPeers();
270
+ await sendMessage({
271
+ type: 'PEER_COUNT',
272
+ requestId,
273
+ count: peers.length
274
+ });
275
+ break;
276
+ }
277
+ case 'STOP':
278
+ {
279
+ await stopClient();
280
+ await sendMessage({
281
+ type: 'STOPPED',
282
+ requestId
283
+ });
284
+ process.exit(0);
285
+ break;
286
+ }
287
+ default:
288
+ {
289
+ const _exhaustive = msg;
290
+ throw new Error(`Unknown command: ${msg.type}`);
291
+ }
292
+ }
293
+ } catch (err) {
294
+ await sendMessage({
295
+ type: 'ERROR',
296
+ requestId,
297
+ error: err?.message ?? String(err)
298
+ });
299
+ if (msg.type === 'START') {
300
+ process.exit(1);
301
+ }
302
+ }
303
+ })();
304
+ });
@@ -0,0 +1,73 @@
1
+ import { BlockProposal } from '@aztec/stdlib/p2p';
2
+ import { Tx, TxHash } from '@aztec/stdlib/tx';
3
+ import type { P2PConfig } from '../../../config.js';
4
+ export type SerializedP2PConfig = Omit<P2PConfig, 'peerIdPrivateKey'> & {
5
+ peerIdPrivateKey?: string;
6
+ };
7
+ export type CollectorType = 'batch-requester' | 'send-batch-request';
8
+ export type WorkerCommand = {
9
+ type: 'START';
10
+ requestId: string;
11
+ clientIndex: number;
12
+ config: SerializedP2PConfig;
13
+ } | {
14
+ type: 'SET_TXS';
15
+ requestId: string;
16
+ txs: string[];
17
+ mode?: 'replace' | 'append';
18
+ } | {
19
+ type: 'SET_BLOCK_PROPOSAL';
20
+ requestId: string;
21
+ blockProposal: string;
22
+ } | {
23
+ type: 'RUN_COLLECTOR';
24
+ requestId: string;
25
+ collectorType: CollectorType;
26
+ txHashes: string[];
27
+ blockProposal: string;
28
+ pinnedPeerId?: string;
29
+ peerIds: string[];
30
+ timeoutMs: number;
31
+ } | {
32
+ type: 'GET_PEER_COUNT';
33
+ requestId: string;
34
+ } | {
35
+ type: 'STOP';
36
+ requestId: string;
37
+ };
38
+ export type WorkerResponse = {
39
+ type: 'READY';
40
+ requestId: string;
41
+ peerId: string;
42
+ } | {
43
+ type: 'TXS_SET';
44
+ requestId: string;
45
+ count: number;
46
+ } | {
47
+ type: 'BLOCK_PROPOSAL_SET';
48
+ requestId: string;
49
+ archiveRoot: string;
50
+ } | {
51
+ type: 'COLLECTOR_RESULT';
52
+ requestId: string;
53
+ durationMs: number;
54
+ fetchedCount: number;
55
+ } | {
56
+ type: 'PEER_COUNT';
57
+ requestId: string;
58
+ count: number;
59
+ } | {
60
+ type: 'STOPPED';
61
+ requestId: string;
62
+ } | {
63
+ type: 'ERROR';
64
+ requestId: string;
65
+ error: string;
66
+ };
67
+ export declare const serializeTx: (tx: Tx) => string;
68
+ export declare const deserializeTx: (hex: string) => Tx;
69
+ export declare const serializeTxHash: (txHash: TxHash) => `0x${string}`;
70
+ export declare const deserializeTxHash: (hex: string) => TxHash;
71
+ export declare const serializeBlockProposal: (proposal: BlockProposal) => string;
72
+ export declare const deserializeBlockProposal: (hex: string) => BlockProposal;
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcG9zYWxfdHhfY29sbGVjdG9yX3dvcmtlcl9wcm90b2NvbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaWVudC90ZXN0L3R4X3Byb3Bvc2FsX2NvbGxlY3Rvci9wcm9wb3NhbF90eF9jb2xsZWN0b3Jfd29ya2VyX3Byb3RvY29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE1BQU0sTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLEdBQUc7SUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUM7QUFFdEcsTUFBTSxNQUFNLGFBQWEsR0FBRyxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQztBQUVyRSxNQUFNLE1BQU0sYUFBYSxHQUNyQjtJQUFFLElBQUksRUFBRSxPQUFPLENBQUM7SUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQTtDQUFFLEdBQ3RGO0lBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEdBQUcsUUFBUSxDQUFBO0NBQUUsR0FDbEY7SUFBRSxJQUFJLEVBQUUsb0JBQW9CLENBQUM7SUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQTtDQUFFLEdBQ3hFO0lBQ0UsSUFBSSxFQUFFLGVBQWUsQ0FBQztJQUN0QixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGFBQWEsRUFBRSxhQUFhLENBQUM7SUFDN0IsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ25CLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIsWUFBWSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNsQixTQUFTLEVBQUUsTUFBTSxDQUFDO0NBQ25CLEdBQ0Q7SUFBRSxJQUFJLEVBQUUsZ0JBQWdCLENBQUM7SUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDN0M7SUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUM7QUFFeEMsTUFBTSxNQUFNLGNBQWMsR0FDdEI7SUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDO0lBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUFDLE1BQU0sRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUNwRDtJQUFFLElBQUksRUFBRSxTQUFTLENBQUM7SUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQTtDQUFFLEdBQ3JEO0lBQUUsSUFBSSxFQUFFLG9CQUFvQixDQUFDO0lBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUFDLFdBQVcsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUN0RTtJQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQztJQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFBQyxVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQTtDQUFFLEdBQ3pGO0lBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQztJQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDeEQ7SUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDO0lBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQTtDQUFFLEdBQ3RDO0lBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQztJQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0NBQUUsQ0FBQztBQUV4RCxlQUFPLE1BQU0sV0FBVyxvQkFBNEMsQ0FBQztBQUNyRSxlQUFPLE1BQU0sYUFBYSxxQkFBMEQsQ0FBQztBQUVyRixlQUFPLE1BQU0sZUFBZSxtQ0FBd0MsQ0FBQztBQUNyRSxlQUFPLE1BQU0saUJBQWlCLHlCQUEwQyxDQUFDO0FBRXpFLGVBQU8sTUFBTSxzQkFBc0IscUNBQW1FLENBQUM7QUFDdkcsZUFBTyxNQUFNLHdCQUF3QixnQ0FBcUUsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal_tx_collector_worker_protocol.d.ts","sourceRoot":"","sources":["../../../../src/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,GAAG;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtG,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAErE,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;CAAE,GAClF;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACxE;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACzF;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,eAAO,MAAM,WAAW,oBAA4C,CAAC;AACrE,eAAO,MAAM,aAAa,qBAA0D,CAAC;AAErF,eAAO,MAAM,eAAe,mCAAwC,CAAC;AACrE,eAAO,MAAM,iBAAiB,yBAA0C,CAAC;AAEzE,eAAO,MAAM,sBAAsB,qCAAmE,CAAC;AACvG,eAAO,MAAM,wBAAwB,gCAAqE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { BlockProposal } from '@aztec/stdlib/p2p';
2
+ import { Tx, TxHash } from '@aztec/stdlib/tx';
3
+ export const serializeTx = (tx)=>tx.toBuffer().toString('hex');
4
+ export const deserializeTx = (hex)=>Tx.fromBuffer(Buffer.from(hex, 'hex'));
5
+ export const serializeTxHash = (txHash)=>txHash.toString();
6
+ export const deserializeTxHash = (hex)=>TxHash.fromString(hex);
7
+ export const serializeBlockProposal = (proposal)=>proposal.toBuffer().toString('hex');
8
+ export const deserializeBlockProposal = (hex)=>BlockProposal.fromBuffer(Buffer.from(hex, 'hex'));
package/dest/config.d.ts CHANGED
@@ -1,16 +1,22 @@
1
1
  import { type ConfigMappingsType, SecretValue } from '@aztec/foundation/config';
2
- import { type DataStoreConfig } from '@aztec/kv-store/config';
3
- import { type AllowedElement, type ChainConfig } from '@aztec/stdlib/config';
2
+ import { type AllowedElement, type ChainConfig, type SequencerConfig } from '@aztec/stdlib/config';
3
+ import { type DataStoreConfig } from '@aztec/stdlib/kv-store';
4
+ import { type BatchTxRequesterConfig } from './services/reqresp/batch-tx-requester/config.js';
4
5
  import { type P2PReqRespConfig } from './services/reqresp/config.js';
5
6
  import { type TxCollectionConfig } from './services/tx_collection/config.js';
7
+ import { type TxFileStoreConfig } from './services/tx_file_store/config.js';
6
8
  /**
7
9
  * P2P client configuration values.
8
10
  */
9
- export interface P2PConfig extends P2PReqRespConfig, ChainConfig, TxCollectionConfig {
11
+ export interface P2PConfig extends P2PReqRespConfig, BatchTxRequesterConfig, ChainConfig, TxCollectionConfig, TxFileStoreConfig, Pick<SequencerConfig, 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock'> {
12
+ /** Maximum transactions per block for validation. Overrides maxTxsPerBlock for gossip validation when set. */
13
+ validateMaxTxsPerBlock?: number;
10
14
  /** A flag dictating whether the P2P subsystem should be enabled. */
11
15
  p2pEnabled: boolean;
12
16
  /** The frequency in which to check for new L2 blocks. */
13
17
  blockCheckIntervalMS: number;
18
+ /** The frequency in which to check for new L2 slots. */
19
+ slotCheckIntervalMS: number;
14
20
  /** The number of blocks to fetch in a single batch. */
15
21
  blockRequestBatchSize: number;
16
22
  /** DEBUG: Disable colocation penalty - for testing purposes only */
@@ -79,8 +85,8 @@ export interface P2PConfig extends P2PReqRespConfig, ChainConfig, TxCollectionCo
79
85
  preferredPeers: string[];
80
86
  /** The maximum possible size of the P2P DB in KB. Overwrites the general dataStoreMapSizeKb. */
81
87
  p2pStoreMapSizeKb?: number;
82
- /** Which calls are allowed in the public setup phase of a tx. */
83
- txPublicSetupAllowList: AllowedElement[];
88
+ /** Additional entries to extend the default setup allow list. */
89
+ txPublicSetupAllowListExtend: AllowedElement[];
84
90
  /** The maximum number of pending txs before evicting lower priority txs. */
85
91
  maxPendingTxCount: number;
86
92
  /** The node's seen message ID cache size */
@@ -95,9 +101,7 @@ export interface P2PConfig extends P2PReqRespConfig, ChainConfig, TxCollectionCo
95
101
  p2pMaxFailedAuthAttemptsAllowed: number;
96
102
  /** Whether transactions are disabled for this node. This means transactions will be rejected at the RPC and P2P layers. */
97
103
  disableTransactions: boolean;
98
- /** True to simulate discarding transactions. - For testing purposes only*/
99
- dropTransactions: boolean;
100
- /** The probability that a transaction is discarded. - For testing purposes only */
104
+ /** The probability that a transaction is discarded (0 = disabled). - For testing purposes only */
101
105
  dropTransactionsProbability: number;
102
106
  /** Whether to delete transactions from the pool after a reorg instead of moving them back to pending. */
103
107
  txPoolDeleteTxsAfterReorg: boolean;
@@ -105,6 +109,12 @@ export interface P2PConfig extends P2PReqRespConfig, ChainConfig, TxCollectionCo
105
109
  debugP2PInstrumentMessages: boolean;
106
110
  /** Whether to run in fisherman mode: validates all proposals and attestations but does not broadcast attestations or participate in consensus */
107
111
  fishermanMode: boolean;
112
+ /** Broadcast block proposals even when a conflicting proposal for the same slot already exists in the pool (for testing purposes only). */
113
+ broadcastEquivocatedProposals?: boolean;
114
+ /** Minimum age (ms) a transaction must have been in the pool before it's eligible for block building. */
115
+ minTxPoolAgeMs: number;
116
+ /** Minimum percentage fee increase required to replace an existing tx via RPC (0 = no bump). */
117
+ priceBumpPercentage: bigint;
108
118
  }
109
119
  export declare const DEFAULT_P2P_PORT = 40400;
110
120
  export declare const p2pConfigMappings: ConfigMappingsType<P2PConfig>;
@@ -120,11 +130,17 @@ export declare function getP2PDefaultConfig(): P2PConfig;
120
130
  export type BootnodeConfig = Pick<P2PConfig, 'p2pIp' | 'p2pPort' | 'p2pBroadcastPort' | 'peerIdPrivateKey' | 'peerIdPrivateKeyPath' | 'bootstrapNodes' | 'listenAddress' | 'queryForIp'> & Required<Pick<P2PConfig, 'p2pIp' | 'p2pPort'>> & Pick<DataStoreConfig, 'dataDirectory' | 'dataStoreMapSizeKb'> & Pick<ChainConfig, 'l1ChainId'>;
121
131
  export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
122
132
  archivedTxLimit: unknown;
133
+ batchTxRequesterBadPeerThreshold: unknown;
134
+ batchTxRequesterDumbParallelWorkerCount: unknown;
135
+ batchTxRequesterSmartParallelWorkerCount: unknown;
136
+ batchTxRequesterTxBatchSize: unknown;
123
137
  blockCheckIntervalMS: unknown;
138
+ blockDurationMs: unknown;
124
139
  blockRequestBatchSize: unknown;
125
140
  bootstrapNodeEnrVersionCheck: unknown;
126
141
  bootstrapNodes: unknown;
127
142
  bootstrapNodesAsFullPeers: unknown;
143
+ broadcastEquivocatedProposals: unknown;
128
144
  dataDirectory: unknown;
129
145
  dataStoreMapSizeKb: unknown;
130
146
  debugDisableColocationPenalty: unknown;
@@ -132,8 +148,8 @@ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
132
148
  dialTimeoutMs: unknown;
133
149
  disableTransactions: unknown;
134
150
  doubleSpendSeverePeerPenaltyWindow: unknown;
135
- dropTransactions: unknown;
136
151
  dropTransactionsProbability: unknown;
152
+ expectedBlockProposalsPerSlot: unknown;
137
153
  fishermanMode: unknown;
138
154
  gossipsubD: unknown;
139
155
  gossipsubDLazy: unknown;
@@ -154,6 +170,8 @@ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
154
170
  listenAddress: unknown;
155
171
  maxPeerCount: unknown;
156
172
  maxPendingTxCount: unknown;
173
+ maxTxsPerBlock: unknown;
174
+ minTxPoolAgeMs: unknown;
157
175
  overallRequestTimeoutMs: unknown;
158
176
  p2pAllowOnlyValidators: unknown;
159
177
  p2pBroadcastPort: unknown;
@@ -170,34 +188,53 @@ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
170
188
  peerIdPrivateKeyPath: unknown;
171
189
  peerPenaltyValues: unknown;
172
190
  preferredPeers: unknown;
191
+ priceBumpPercentage: unknown;
173
192
  privatePeers: unknown;
174
193
  queryForIp: unknown;
175
194
  rollupVersion: unknown;
176
195
  seenMessageCacheSize: unknown;
196
+ slotCheckIntervalMS: unknown;
177
197
  trustedPeers: unknown;
178
198
  txCollectionDisableSlowDuringFastRequests: unknown;
179
199
  txCollectionFastMaxParallelRequestsPerNode: unknown;
180
200
  txCollectionFastNodeIntervalMs: unknown;
181
201
  txCollectionFastNodesTimeoutBeforeReqRespMs: unknown;
202
+ txCollectionFileStoreFastBackoffBaseMs: unknown;
203
+ txCollectionFileStoreFastBackoffMaxMs: unknown;
204
+ txCollectionFileStoreFastDelayMs: unknown;
205
+ txCollectionFileStoreFastWorkerCount: unknown;
206
+ txCollectionFileStoreSlowBackoffBaseMs: unknown;
207
+ txCollectionFileStoreSlowBackoffMaxMs: unknown;
208
+ txCollectionFileStoreSlowDelayMs: unknown;
209
+ txCollectionFileStoreSlowWorkerCount: unknown;
210
+ txCollectionFileStoreUrls: unknown;
211
+ txCollectionMissingTxsCollectorType: unknown;
182
212
  txCollectionNodeRpcMaxBatchSize: unknown;
183
213
  txCollectionNodeRpcUrls: unknown;
184
214
  txCollectionReconcileIntervalMs: unknown;
185
215
  txCollectionSlowNodesIntervalMs: unknown;
186
216
  txCollectionSlowReqRespIntervalMs: unknown;
187
217
  txCollectionSlowReqRespTimeoutMs: unknown;
218
+ txFileStoreEnabled: unknown;
219
+ txFileStoreMaxQueueSize: unknown;
220
+ txFileStoreUploadConcurrency: unknown;
221
+ txFileStoreUrl: unknown;
188
222
  txPoolDeleteTxsAfterReorg: unknown;
189
- txPublicSetupAllowList: unknown;
223
+ txPublicSetupAllowListExtend: unknown;
224
+ validateMaxTxsPerBlock: unknown;
190
225
  }, "bootstrapNodes" | "dataDirectory" | "dataStoreMapSizeKb" | "l1ChainId" | "listenAddress" | "p2pBroadcastPort" | "p2pIp" | "p2pPort" | "peerIdPrivateKey" | "peerIdPrivateKeyPath" | "queryForIp">>;
191
226
  /**
192
227
  * Parses a string to a list of allowed elements.
193
- * Each encoded is expected to be of one of the following formats
194
- * `I:${address}`
195
- * `I:${address}:${selector}`
196
- * `C:${classId}`
197
- * `C:${classId}:${selector}`
228
+ * Each entry is expected to be of one of the following formats:
229
+ * `I:${address}:${selector}` — instance (contract address) with function selector
230
+ * `C:${classId}:${selector}` — class with function selector
231
+ *
232
+ * An optional flags segment can be appended after the selector:
233
+ * `I:${address}:${selector}:${flags}` or `C:${classId}:${selector}:${flags}`
234
+ * where flags is a `+`-separated list of: `os` (onlySelf), `rn` (rejectNullMsgSender), `cl=N` (calldataLength).
198
235
  *
199
236
  * @param value The string to parse
200
237
  * @returns A list of allowed elements
201
238
  */
202
239
  export declare function parseAllowList(value: string): AllowedElement[];
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBUVosTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFHbEYsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUFFLEtBQUssV0FBVyxFQUF1QixNQUFNLHNCQUFzQixDQUFDO0FBRWxHLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE0QixNQUFNLDhCQUE4QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUE4QixNQUFNLG9DQUFvQyxDQUFDO0FBRXpHOztHQUVHO0FBQ0gsTUFBTSxXQUFXLFNBQVUsU0FBUSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsa0JBQWtCO0lBQ2xGLG9FQUFvRTtJQUNwRSxVQUFVLEVBQUUsT0FBTyxDQUFDO0lBRXBCLHlEQUF5RDtJQUN6RCxvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFFN0IsdURBQXVEO0lBQ3ZELHFCQUFxQixFQUFFLE1BQU0sQ0FBQztJQUU5QixvRUFBb0U7SUFDcEUsNkJBQTZCLEVBQUUsT0FBTyxDQUFDO0lBRXZDLHFEQUFxRDtJQUNyRCxtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFFNUIsMkNBQTJDO0lBQzNDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFFcEIsb0NBQW9DO0lBQ3BDLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFFaEIsNkVBQTZFO0lBQzdFLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRTFCLDBDQUEwQztJQUMxQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFZiwwQkFBMEI7SUFDMUIsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUV0Qiw2RUFBNkU7SUFDN0UsZ0JBQWdCLENBQUMsRUFBRSxXQUFXLENBQUMs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
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBU1osTUFBTSwwQkFBMEIsQ0FBQztBQUlsQyxPQUFPLEVBQ0wsS0FBSyxjQUFjLEVBQ25CLEtBQUssV0FBVyxFQUNoQixLQUFLLGVBQWUsRUFHckIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFFbEYsT0FBTyxFQUNMLEtBQUssc0JBQXNCLEVBRTVCLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTRCLE1BQU0sOEJBQThCLENBQUM7QUFDL0YsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQThCLE1BQU0sb0NBQW9DLENBQUM7QUFDekcsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQTZCLE1BQU0sb0NBQW9DLENBQUM7QUFFdkc7O0dBRUc7QUFDSCxNQUFNLFdBQVcsU0FDZixTQUFRLGdCQUFnQixFQUN0QixzQkFBc0IsRUFDdEIsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsSUFBSSxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsR0FBRywrQkFBK0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMvRiw4R0FBOEc7SUFDOUcsc0JBQXNCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFaEMsb0VBQW9FO0lBQ3BFLFVBQVUsRUFBRSxPQUFPLENBQUM7SUFFcEIseURBQXlEO0lBQ3pELG9CQUFvQixFQUFFLE1BQU0sQ0FBQztJQUU3Qix3REFBd0Q7SUFDeEQsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0lBRTVCLHVEQUF1RDtJQUN2RCxxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFFOUIsb0VBQW9FO0lBQ3BFLDZCQUE2QixFQUFFLE9BQU8sQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}