@aztec/p2p 0.0.1-commit.0b941701 → 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 (483) 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 +51 -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 +162 -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 +59 -16
  19. package/dest/config.d.ts.map +1 -1
  20. package/dest/config.js +97 -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/priority.d.ts +2 -2
  49. package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -1
  50. package/dest/mem_pools/tx_pool/priority.js +4 -3
  51. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
  52. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
  53. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +3 -1
  54. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts +2 -0
  55. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts.map +1 -0
  56. package/dest/mem_pools/tx_pool_v2/archive/index.js +1 -0
  57. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts +43 -0
  58. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts.map +1 -0
  59. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.js +103 -0
  60. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +104 -0
  61. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -0
  62. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +251 -0
  63. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +47 -0
  64. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -0
  65. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +128 -0
  66. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +17 -0
  67. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
  68. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +93 -0
  69. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +19 -0
  70. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -0
  71. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +97 -0
  72. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +10 -0
  73. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -0
  74. package/dest/mem_pools/tx_pool_v2/eviction/index.js +11 -0
  75. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +180 -0
  76. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -0
  77. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +25 -0
  78. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts +15 -0
  79. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
  80. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +65 -0
  81. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts +17 -0
  82. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
  83. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +93 -0
  84. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +16 -0
  85. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -0
  86. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +78 -0
  87. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +20 -0
  88. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -0
  89. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +75 -0
  90. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +15 -0
  91. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -0
  92. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +19 -0
  93. package/dest/mem_pools/tx_pool_v2/index.d.ts +6 -0
  94. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -0
  95. package/dest/mem_pools/tx_pool_v2/index.js +5 -0
  96. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts +15 -0
  97. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts.map +1 -0
  98. package/dest/mem_pools/tx_pool_v2/instrumentation.js +43 -0
  99. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +213 -0
  100. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -0
  101. package/dest/mem_pools/tx_pool_v2/interfaces.js +10 -0
  102. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +127 -0
  103. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -0
  104. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +210 -0
  105. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts +26 -0
  106. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts.map +1 -0
  107. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.js +70 -0
  108. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +108 -0
  109. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -0
  110. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +337 -0
  111. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +60 -0
  112. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -0
  113. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +164 -0
  114. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +78 -0
  115. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -0
  116. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +916 -0
  117. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +3 -3
  118. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
  119. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +7 -2
  120. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +6 -4
  121. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
  122. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +10 -2
  123. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +6 -4
  124. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
  125. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +16 -2
  126. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +13 -8
  127. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
  128. package/dest/msg_validators/proposal_validator/proposal_validator.js +52 -40
  129. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +4 -4
  130. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  131. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +3 -3
  132. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +2 -1
  133. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -1
  134. package/dest/msg_validators/tx_validator/allowed_public_setup.js +24 -20
  135. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts +17 -0
  136. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts.map +1 -0
  137. package/dest/msg_validators/tx_validator/allowed_setup_helpers.js +24 -0
  138. package/dest/msg_validators/tx_validator/archive_cache.d.ts +3 -3
  139. package/dest/msg_validators/tx_validator/archive_cache.d.ts.map +1 -1
  140. package/dest/msg_validators/tx_validator/archive_cache.js +1 -1
  141. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +20 -6
  142. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  143. package/dest/msg_validators/tx_validator/block_header_validator.js +5 -4
  144. package/dest/msg_validators/tx_validator/data_validator.d.ts +3 -1
  145. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  146. package/dest/msg_validators/tx_validator/data_validator.js +4 -1
  147. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +15 -4
  148. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  149. package/dest/msg_validators/tx_validator/double_spend_validator.js +7 -6
  150. package/dest/msg_validators/tx_validator/factory.d.ts +129 -5
  151. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  152. package/dest/msg_validators/tx_validator/factory.js +235 -57
  153. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +1 -1
  154. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -1
  155. package/dest/msg_validators/tx_validator/fee_payer_balance.js +6 -2
  156. package/dest/msg_validators/tx_validator/gas_validator.d.ts +68 -3
  157. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  158. package/dest/msg_validators/tx_validator/gas_validator.js +106 -38
  159. package/dest/msg_validators/tx_validator/index.d.ts +3 -1
  160. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  161. package/dest/msg_validators/tx_validator/index.js +2 -0
  162. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +3 -2
  163. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  164. package/dest/msg_validators/tx_validator/metadata_validator.js +6 -6
  165. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts +14 -0
  166. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts.map +1 -0
  167. package/dest/msg_validators/tx_validator/nullifier_cache.js +24 -0
  168. package/dest/msg_validators/tx_validator/phases_validator.d.ts +4 -3
  169. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  170. package/dest/msg_validators/tx_validator/phases_validator.js +47 -26
  171. package/dest/msg_validators/tx_validator/size_validator.d.ts +3 -1
  172. package/dest/msg_validators/tx_validator/size_validator.d.ts.map +1 -1
  173. package/dest/msg_validators/tx_validator/size_validator.js +4 -1
  174. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +22 -5
  175. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  176. package/dest/msg_validators/tx_validator/timestamp_validator.js +8 -8
  177. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts +3 -2
  178. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts.map +1 -1
  179. package/dest/msg_validators/tx_validator/tx_permitted_validator.js +2 -2
  180. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +3 -2
  181. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
  182. package/dest/msg_validators/tx_validator/tx_proof_validator.js +2 -2
  183. package/dest/services/data_store.d.ts +1 -1
  184. package/dest/services/data_store.d.ts.map +1 -1
  185. package/dest/services/data_store.js +10 -6
  186. package/dest/services/discv5/discV5_service.js +1 -1
  187. package/dest/services/dummy_service.d.ts +24 -4
  188. package/dest/services/dummy_service.d.ts.map +1 -1
  189. package/dest/services/dummy_service.js +46 -1
  190. package/dest/services/encoding.d.ts +3 -3
  191. package/dest/services/encoding.d.ts.map +1 -1
  192. package/dest/services/encoding.js +11 -10
  193. package/dest/services/gossipsub/index.d.ts +3 -0
  194. package/dest/services/gossipsub/index.d.ts.map +1 -0
  195. package/dest/services/gossipsub/index.js +2 -0
  196. package/dest/services/gossipsub/scoring.d.ts +21 -3
  197. package/dest/services/gossipsub/scoring.d.ts.map +1 -1
  198. package/dest/services/gossipsub/scoring.js +24 -7
  199. package/dest/services/gossipsub/topic_score_params.d.ts +173 -0
  200. package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -0
  201. package/dest/services/gossipsub/topic_score_params.js +346 -0
  202. package/dest/services/index.d.ts +2 -1
  203. package/dest/services/index.d.ts.map +1 -1
  204. package/dest/services/index.js +1 -0
  205. package/dest/services/libp2p/instrumentation.d.ts +1 -1
  206. package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
  207. package/dest/services/libp2p/instrumentation.js +14 -3
  208. package/dest/services/libp2p/libp2p_service.d.ts +100 -42
  209. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  210. package/dest/services/libp2p/libp2p_service.js +494 -372
  211. package/dest/services/peer-manager/metrics.d.ts +4 -2
  212. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  213. package/dest/services/peer-manager/metrics.js +26 -5
  214. package/dest/services/peer-manager/peer_manager.d.ts +1 -1
  215. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  216. package/dest/services/peer-manager/peer_manager.js +2 -1
  217. package/dest/services/peer-manager/peer_scoring.d.ts +1 -1
  218. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  219. package/dest/services/peer-manager/peer_scoring.js +33 -4
  220. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +48 -0
  221. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -0
  222. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +539 -0
  223. package/dest/services/reqresp/batch-tx-requester/config.d.ts +17 -0
  224. package/dest/services/reqresp/batch-tx-requester/config.d.ts.map +1 -0
  225. package/dest/services/reqresp/batch-tx-requester/config.js +27 -0
  226. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +46 -0
  227. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -0
  228. package/dest/services/reqresp/batch-tx-requester/interface.js +1 -0
  229. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +34 -0
  230. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -0
  231. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +130 -0
  232. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +60 -0
  233. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -0
  234. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +173 -0
  235. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts +20 -0
  236. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts.map +1 -0
  237. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +21 -0
  238. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +22 -3
  239. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
  240. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +63 -4
  241. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +2 -1
  242. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
  243. package/dest/services/reqresp/connection-sampler/connection_sampler.js +12 -0
  244. package/dest/services/reqresp/interface.d.ts +12 -1
  245. package/dest/services/reqresp/interface.d.ts.map +1 -1
  246. package/dest/services/reqresp/interface.js +15 -1
  247. package/dest/services/reqresp/metrics.d.ts +6 -5
  248. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  249. package/dest/services/reqresp/metrics.js +17 -5
  250. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +5 -1
  251. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -1
  252. package/dest/services/reqresp/protocols/block_txs/bitvector.js +5 -0
  253. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +7 -5
  254. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
  255. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +27 -9
  256. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +29 -6
  257. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
  258. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +59 -13
  259. package/dest/services/reqresp/protocols/tx.d.ts +7 -1
  260. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  261. package/dest/services/reqresp/protocols/tx.js +20 -0
  262. package/dest/services/reqresp/reqresp.d.ts +6 -1
  263. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  264. package/dest/services/reqresp/reqresp.js +71 -27
  265. package/dest/services/service.d.ts +42 -3
  266. package/dest/services/service.d.ts.map +1 -1
  267. package/dest/services/tx_collection/config.d.ts +22 -1
  268. package/dest/services/tx_collection/config.d.ts.map +1 -1
  269. package/dest/services/tx_collection/config.js +55 -1
  270. package/dest/services/tx_collection/fast_tx_collection.d.ts +7 -4
  271. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  272. package/dest/services/tx_collection/fast_tx_collection.js +71 -44
  273. package/dest/services/tx_collection/file_store_tx_collection.d.ts +53 -0
  274. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -0
  275. package/dest/services/tx_collection/file_store_tx_collection.js +167 -0
  276. package/dest/services/tx_collection/file_store_tx_source.d.ts +37 -0
  277. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -0
  278. package/dest/services/tx_collection/file_store_tx_source.js +90 -0
  279. package/dest/services/tx_collection/index.d.ts +3 -1
  280. package/dest/services/tx_collection/index.d.ts.map +1 -1
  281. package/dest/services/tx_collection/index.js +2 -0
  282. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  283. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  284. package/dest/services/tx_collection/instrumentation.js +10 -2
  285. package/dest/services/tx_collection/missing_txs_tracker.d.ts +32 -0
  286. package/dest/services/tx_collection/missing_txs_tracker.d.ts.map +1 -0
  287. package/dest/services/tx_collection/missing_txs_tracker.js +27 -0
  288. package/dest/services/tx_collection/proposal_tx_collector.d.ts +49 -0
  289. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -0
  290. package/dest/services/tx_collection/proposal_tx_collector.js +50 -0
  291. package/dest/services/tx_collection/slow_tx_collection.d.ts +7 -3
  292. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
  293. package/dest/services/tx_collection/slow_tx_collection.js +60 -26
  294. package/dest/services/tx_collection/tx_collection.d.ts +25 -12
  295. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  296. package/dest/services/tx_collection/tx_collection.js +79 -7
  297. package/dest/services/tx_collection/tx_collection_sink.d.ts +18 -8
  298. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
  299. package/dest/services/tx_collection/tx_collection_sink.js +26 -29
  300. package/dest/services/tx_collection/tx_source.d.ts +8 -3
  301. package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
  302. package/dest/services/tx_collection/tx_source.js +19 -2
  303. package/dest/services/tx_file_store/config.d.ts +16 -0
  304. package/dest/services/tx_file_store/config.d.ts.map +1 -0
  305. package/dest/services/tx_file_store/config.js +22 -0
  306. package/dest/services/tx_file_store/index.d.ts +4 -0
  307. package/dest/services/tx_file_store/index.d.ts.map +1 -0
  308. package/dest/services/tx_file_store/index.js +3 -0
  309. package/dest/services/tx_file_store/instrumentation.d.ts +15 -0
  310. package/dest/services/tx_file_store/instrumentation.d.ts.map +1 -0
  311. package/dest/services/tx_file_store/instrumentation.js +29 -0
  312. package/dest/services/tx_file_store/tx_file_store.d.ts +48 -0
  313. package/dest/services/tx_file_store/tx_file_store.d.ts.map +1 -0
  314. package/dest/services/tx_file_store/tx_file_store.js +152 -0
  315. package/dest/services/tx_provider.d.ts +4 -4
  316. package/dest/services/tx_provider.d.ts.map +1 -1
  317. package/dest/services/tx_provider.js +9 -8
  318. package/dest/services/tx_provider_instrumentation.d.ts +1 -1
  319. package/dest/services/tx_provider_instrumentation.d.ts.map +1 -1
  320. package/dest/services/tx_provider_instrumentation.js +5 -5
  321. package/dest/test-helpers/index.d.ts +3 -1
  322. package/dest/test-helpers/index.d.ts.map +1 -1
  323. package/dest/test-helpers/index.js +2 -0
  324. package/dest/test-helpers/make-test-p2p-clients.d.ts +7 -8
  325. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  326. package/dest/test-helpers/make-test-p2p-clients.js +1 -2
  327. package/dest/test-helpers/mock-pubsub.d.ts +30 -4
  328. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  329. package/dest/test-helpers/mock-pubsub.js +105 -4
  330. package/dest/test-helpers/reqresp-nodes.d.ts +2 -3
  331. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  332. package/dest/test-helpers/reqresp-nodes.js +4 -3
  333. package/dest/test-helpers/test_tx_provider.d.ts +40 -0
  334. package/dest/test-helpers/test_tx_provider.d.ts.map +1 -0
  335. package/dest/test-helpers/test_tx_provider.js +41 -0
  336. package/dest/test-helpers/testbench-utils.d.ts +163 -0
  337. package/dest/test-helpers/testbench-utils.d.ts.map +1 -0
  338. package/dest/test-helpers/testbench-utils.js +367 -0
  339. package/dest/testbench/p2p_client_testbench_worker.d.ts +28 -2
  340. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  341. package/dest/testbench/p2p_client_testbench_worker.js +221 -139
  342. package/dest/testbench/worker_client_manager.d.ts +53 -6
  343. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  344. package/dest/testbench/worker_client_manager.js +231 -45
  345. package/dest/util.d.ts +3 -3
  346. package/dest/util.d.ts.map +1 -1
  347. package/package.json +14 -14
  348. package/src/bootstrap/bootstrap.ts +7 -4
  349. package/src/client/factory.ts +91 -37
  350. package/src/client/interface.ts +56 -34
  351. package/src/client/p2p_client.ts +193 -269
  352. package/src/client/test/tx_proposal_collector/README.md +227 -0
  353. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +345 -0
  354. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.ts +43 -0
  355. package/src/config.ts +153 -44
  356. package/src/errors/tx-pool.error.ts +12 -0
  357. package/src/index.ts +1 -0
  358. package/src/mem_pools/attestation_pool/attestation_pool.ts +497 -91
  359. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +442 -102
  360. package/src/mem_pools/attestation_pool/index.ts +9 -2
  361. package/src/mem_pools/attestation_pool/mocks.ts +2 -1
  362. package/src/mem_pools/index.ts +4 -1
  363. package/src/mem_pools/instrumentation.ts +19 -14
  364. package/src/mem_pools/interface.ts +4 -4
  365. package/src/mem_pools/tx_pool/README.md +1 -1
  366. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +3 -3
  367. package/src/mem_pools/tx_pool/priority.ts +6 -3
  368. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +3 -1
  369. package/src/mem_pools/tx_pool_v2/README.md +283 -0
  370. package/src/mem_pools/tx_pool_v2/archive/index.ts +1 -0
  371. package/src/mem_pools/tx_pool_v2/archive/tx_archive.ts +120 -0
  372. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +321 -0
  373. package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +160 -0
  374. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +121 -0
  375. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +125 -0
  376. package/src/mem_pools/tx_pool_v2/eviction/index.ts +27 -0
  377. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +219 -0
  378. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +74 -0
  379. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +101 -0
  380. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +91 -0
  381. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +99 -0
  382. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +32 -0
  383. package/src/mem_pools/tx_pool_v2/index.ts +12 -0
  384. package/src/mem_pools/tx_pool_v2/instrumentation.ts +69 -0
  385. package/src/mem_pools/tx_pool_v2/interfaces.ts +245 -0
  386. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +327 -0
  387. package/src/mem_pools/tx_pool_v2/tx_pool_bench_metrics.ts +77 -0
  388. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +430 -0
  389. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +226 -0
  390. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +1097 -0
  391. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +10 -4
  392. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +14 -4
  393. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +20 -7
  394. package/src/msg_validators/proposal_validator/proposal_validator.ts +67 -44
  395. package/src/msg_validators/tx_validator/README.md +115 -0
  396. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +5 -5
  397. package/src/msg_validators/tx_validator/allowed_public_setup.ts +22 -27
  398. package/src/msg_validators/tx_validator/allowed_setup_helpers.ts +31 -0
  399. package/src/msg_validators/tx_validator/archive_cache.ts +3 -3
  400. package/src/msg_validators/tx_validator/block_header_validator.ts +22 -11
  401. package/src/msg_validators/tx_validator/data_validator.ts +6 -2
  402. package/src/msg_validators/tx_validator/double_spend_validator.ts +15 -9
  403. package/src/msg_validators/tx_validator/factory.ts +385 -55
  404. package/src/msg_validators/tx_validator/fee_payer_balance.ts +6 -2
  405. package/src/msg_validators/tx_validator/gas_validator.ts +132 -30
  406. package/src/msg_validators/tx_validator/index.ts +2 -0
  407. package/src/msg_validators/tx_validator/metadata_validator.ts +18 -7
  408. package/src/msg_validators/tx_validator/nullifier_cache.ts +30 -0
  409. package/src/msg_validators/tx_validator/phases_validator.ts +56 -29
  410. package/src/msg_validators/tx_validator/size_validator.ts +6 -2
  411. package/src/msg_validators/tx_validator/timestamp_validator.ts +29 -21
  412. package/src/msg_validators/tx_validator/tx_permitted_validator.ts +8 -3
  413. package/src/msg_validators/tx_validator/tx_proof_validator.ts +8 -3
  414. package/src/services/data_store.ts +10 -7
  415. package/src/services/discv5/discV5_service.ts +1 -1
  416. package/src/services/dummy_service.ts +59 -2
  417. package/src/services/encoding.ts +9 -9
  418. package/src/services/gossipsub/README.md +641 -0
  419. package/src/services/gossipsub/index.ts +2 -0
  420. package/src/services/gossipsub/scoring.ts +29 -5
  421. package/src/services/gossipsub/topic_score_params.ts +487 -0
  422. package/src/services/index.ts +1 -0
  423. package/src/services/libp2p/instrumentation.ts +15 -2
  424. package/src/services/libp2p/libp2p_service.ts +539 -409
  425. package/src/services/peer-manager/metrics.ts +28 -4
  426. package/src/services/peer-manager/peer_manager.ts +2 -1
  427. package/src/services/peer-manager/peer_scoring.ts +29 -1
  428. package/src/services/reqresp/batch-tx-requester/README.md +305 -0
  429. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +678 -0
  430. package/src/services/reqresp/batch-tx-requester/config.ts +40 -0
  431. package/src/services/reqresp/batch-tx-requester/interface.ts +53 -0
  432. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +161 -0
  433. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +244 -0
  434. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +37 -0
  435. package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +65 -4
  436. package/src/services/reqresp/connection-sampler/connection_sampler.ts +16 -0
  437. package/src/services/reqresp/interface.ts +29 -1
  438. package/src/services/reqresp/metrics.ts +34 -9
  439. package/src/services/reqresp/protocols/block_txs/bitvector.ts +7 -0
  440. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +35 -12
  441. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +74 -9
  442. package/src/services/reqresp/protocols/tx.ts +22 -0
  443. package/src/services/reqresp/reqresp.ts +82 -23
  444. package/src/services/service.ts +55 -2
  445. package/src/services/tx_collection/config.ts +83 -1
  446. package/src/services/tx_collection/fast_tx_collection.ts +93 -47
  447. package/src/services/tx_collection/file_store_tx_collection.ts +202 -0
  448. package/src/services/tx_collection/file_store_tx_source.ts +117 -0
  449. package/src/services/tx_collection/index.ts +6 -0
  450. package/src/services/tx_collection/instrumentation.ts +17 -2
  451. package/src/services/tx_collection/missing_txs_tracker.ts +52 -0
  452. package/src/services/tx_collection/proposal_tx_collector.ts +113 -0
  453. package/src/services/tx_collection/slow_tx_collection.ts +66 -33
  454. package/src/services/tx_collection/tx_collection.ts +117 -20
  455. package/src/services/tx_collection/tx_collection_sink.ts +30 -34
  456. package/src/services/tx_collection/tx_source.ts +22 -3
  457. package/src/services/tx_file_store/config.ts +37 -0
  458. package/src/services/tx_file_store/index.ts +3 -0
  459. package/src/services/tx_file_store/instrumentation.ts +36 -0
  460. package/src/services/tx_file_store/tx_file_store.ts +175 -0
  461. package/src/services/tx_provider.ts +10 -9
  462. package/src/services/tx_provider_instrumentation.ts +11 -5
  463. package/src/test-helpers/index.ts +2 -0
  464. package/src/test-helpers/make-test-p2p-clients.ts +4 -6
  465. package/src/test-helpers/mock-pubsub.ts +146 -9
  466. package/src/test-helpers/reqresp-nodes.ts +5 -7
  467. package/src/test-helpers/test_tx_provider.ts +64 -0
  468. package/src/test-helpers/testbench-utils.ts +431 -0
  469. package/src/testbench/p2p_client_testbench_worker.ts +335 -132
  470. package/src/testbench/worker_client_manager.ts +312 -47
  471. package/src/util.ts +8 -2
  472. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +0 -40
  473. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +0 -1
  474. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +0 -218
  475. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +0 -31
  476. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +0 -1
  477. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +0 -180
  478. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +0 -23
  479. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +0 -1
  480. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +0 -212
  481. package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +0 -320
  482. package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +0 -264
  483. 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,26 @@
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;
14
+ /** Maximum L2 gas per block for validation. When set, txs exceeding this limit are rejected. */
15
+ validateMaxL2BlockGas?: number;
16
+ /** Maximum DA gas per block for validation. When set, txs exceeding this limit are rejected. */
17
+ validateMaxDABlockGas?: number;
10
18
  /** A flag dictating whether the P2P subsystem should be enabled. */
11
19
  p2pEnabled: boolean;
12
20
  /** The frequency in which to check for new L2 blocks. */
13
21
  blockCheckIntervalMS: number;
22
+ /** The frequency in which to check for new L2 slots. */
23
+ slotCheckIntervalMS: number;
14
24
  /** The number of blocks to fetch in a single batch. */
15
25
  blockRequestBatchSize: number;
16
26
  /** DEBUG: Disable colocation penalty - for testing purposes only */
@@ -79,8 +89,8 @@ export interface P2PConfig extends P2PReqRespConfig, ChainConfig, TxCollectionCo
79
89
  preferredPeers: string[];
80
90
  /** The maximum possible size of the P2P DB in KB. Overwrites the general dataStoreMapSizeKb. */
81
91
  p2pStoreMapSizeKb?: number;
82
- /** Which calls are allowed in the public setup phase of a tx. */
83
- txPublicSetupAllowList: AllowedElement[];
92
+ /** Additional entries to extend the default setup allow list. */
93
+ txPublicSetupAllowListExtend: AllowedElement[];
84
94
  /** The maximum number of pending txs before evicting lower priority txs. */
85
95
  maxPendingTxCount: number;
86
96
  /** The node's seen message ID cache size */
@@ -95,9 +105,7 @@ export interface P2PConfig extends P2PReqRespConfig, ChainConfig, TxCollectionCo
95
105
  p2pMaxFailedAuthAttemptsAllowed: number;
96
106
  /** Whether transactions are disabled for this node. This means transactions will be rejected at the RPC and P2P layers. */
97
107
  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 */
108
+ /** The probability that a transaction is discarded (0 = disabled). - For testing purposes only */
101
109
  dropTransactionsProbability: number;
102
110
  /** Whether to delete transactions from the pool after a reorg instead of moving them back to pending. */
103
111
  txPoolDeleteTxsAfterReorg: boolean;
@@ -105,6 +113,12 @@ export interface P2PConfig extends P2PReqRespConfig, ChainConfig, TxCollectionCo
105
113
  debugP2PInstrumentMessages: boolean;
106
114
  /** Whether to run in fisherman mode: validates all proposals and attestations but does not broadcast attestations or participate in consensus */
107
115
  fishermanMode: boolean;
116
+ /** Broadcast block proposals even when a conflicting proposal for the same slot already exists in the pool (for testing purposes only). */
117
+ broadcastEquivocatedProposals?: boolean;
118
+ /** Minimum age (ms) a transaction must have been in the pool before it's eligible for block building. */
119
+ minTxPoolAgeMs: number;
120
+ /** Minimum percentage fee increase required to replace an existing tx via RPC (0 = no bump). */
121
+ priceBumpPercentage: bigint;
108
122
  }
109
123
  export declare const DEFAULT_P2P_PORT = 40400;
110
124
  export declare const p2pConfigMappings: ConfigMappingsType<P2PConfig>;
@@ -120,11 +134,17 @@ export declare function getP2PDefaultConfig(): P2PConfig;
120
134
  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
135
  export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
122
136
  archivedTxLimit: unknown;
137
+ batchTxRequesterBadPeerThreshold: unknown;
138
+ batchTxRequesterDumbParallelWorkerCount: unknown;
139
+ batchTxRequesterSmartParallelWorkerCount: unknown;
140
+ batchTxRequesterTxBatchSize: unknown;
123
141
  blockCheckIntervalMS: unknown;
142
+ blockDurationMs: unknown;
124
143
  blockRequestBatchSize: unknown;
125
144
  bootstrapNodeEnrVersionCheck: unknown;
126
145
  bootstrapNodes: unknown;
127
146
  bootstrapNodesAsFullPeers: unknown;
147
+ broadcastEquivocatedProposals: unknown;
128
148
  dataDirectory: unknown;
129
149
  dataStoreMapSizeKb: unknown;
130
150
  debugDisableColocationPenalty: unknown;
@@ -132,8 +152,8 @@ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
132
152
  dialTimeoutMs: unknown;
133
153
  disableTransactions: unknown;
134
154
  doubleSpendSeverePeerPenaltyWindow: unknown;
135
- dropTransactions: unknown;
136
155
  dropTransactionsProbability: unknown;
156
+ expectedBlockProposalsPerSlot: unknown;
137
157
  fishermanMode: unknown;
138
158
  gossipsubD: unknown;
139
159
  gossipsubDLazy: unknown;
@@ -154,6 +174,8 @@ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
154
174
  listenAddress: unknown;
155
175
  maxPeerCount: unknown;
156
176
  maxPendingTxCount: unknown;
177
+ maxTxsPerBlock: unknown;
178
+ minTxPoolAgeMs: unknown;
157
179
  overallRequestTimeoutMs: unknown;
158
180
  p2pAllowOnlyValidators: unknown;
159
181
  p2pBroadcastPort: unknown;
@@ -170,34 +192,55 @@ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
170
192
  peerIdPrivateKeyPath: unknown;
171
193
  peerPenaltyValues: unknown;
172
194
  preferredPeers: unknown;
195
+ priceBumpPercentage: unknown;
173
196
  privatePeers: unknown;
174
197
  queryForIp: unknown;
175
198
  rollupVersion: unknown;
176
199
  seenMessageCacheSize: unknown;
200
+ slotCheckIntervalMS: unknown;
177
201
  trustedPeers: unknown;
178
202
  txCollectionDisableSlowDuringFastRequests: unknown;
179
203
  txCollectionFastMaxParallelRequestsPerNode: unknown;
180
204
  txCollectionFastNodeIntervalMs: unknown;
181
205
  txCollectionFastNodesTimeoutBeforeReqRespMs: unknown;
206
+ txCollectionFileStoreFastBackoffBaseMs: unknown;
207
+ txCollectionFileStoreFastBackoffMaxMs: unknown;
208
+ txCollectionFileStoreFastDelayMs: unknown;
209
+ txCollectionFileStoreFastWorkerCount: unknown;
210
+ txCollectionFileStoreSlowBackoffBaseMs: unknown;
211
+ txCollectionFileStoreSlowBackoffMaxMs: unknown;
212
+ txCollectionFileStoreSlowDelayMs: unknown;
213
+ txCollectionFileStoreSlowWorkerCount: unknown;
214
+ txCollectionFileStoreUrls: unknown;
215
+ txCollectionMissingTxsCollectorType: unknown;
182
216
  txCollectionNodeRpcMaxBatchSize: unknown;
183
217
  txCollectionNodeRpcUrls: unknown;
184
218
  txCollectionReconcileIntervalMs: unknown;
185
219
  txCollectionSlowNodesIntervalMs: unknown;
186
220
  txCollectionSlowReqRespIntervalMs: unknown;
187
221
  txCollectionSlowReqRespTimeoutMs: unknown;
222
+ txFileStoreEnabled: unknown;
223
+ txFileStoreMaxQueueSize: unknown;
224
+ txFileStoreUploadConcurrency: unknown;
225
+ txFileStoreUrl: unknown;
188
226
  txPoolDeleteTxsAfterReorg: unknown;
189
- txPublicSetupAllowList: unknown;
227
+ txPublicSetupAllowListExtend: unknown;
228
+ validateMaxDABlockGas: unknown;
229
+ validateMaxL2BlockGas: unknown;
230
+ validateMaxTxsPerBlock: unknown;
190
231
  }, "bootstrapNodes" | "dataDirectory" | "dataStoreMapSizeKb" | "l1ChainId" | "listenAddress" | "p2pBroadcastPort" | "p2pIp" | "p2pPort" | "peerIdPrivateKey" | "peerIdPrivateKeyPath" | "queryForIp">>;
191
232
  /**
192
233
  * 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}`
234
+ * Each entry is expected to be of one of the following formats:
235
+ * `I:${address}:${selector}` — instance (contract address) with function selector
236
+ * `C:${classId}:${selector}` — class with function selector
237
+ *
238
+ * An optional flags segment can be appended after the selector:
239
+ * `I:${address}:${selector}:${flags}` or `C:${classId}:${selector}:${flags}`
240
+ * where flags is a `+`-separated list of: `os` (onlySelf), `rn` (rejectNullMsgSender), `cl=N` (calldataLength).
198
241
  *
199
242
  * @param value The string to parse
200
243
  * @returns A list of allowed elements
201
244
  */
202
245
  export declare function parseAllowList(value: string): AllowedElement[];
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBUVosTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFHbEYsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUFFLEtBQUssV0FBVyxFQUF1QixNQUFNLHNCQUFzQixDQUFDO0FBRWxHLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE0QixNQUFNLDhCQUE4QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUE4QixNQUFNLG9DQUFvQyxDQUFDO0FBRXpHOztHQUVHO0FBQ0gsTUFBTSxXQUFXLFNBQVUsU0FBUSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsa0JBQWtCO0lBQ2xGLG9FQUFvRTtJQUNwRSxVQUFVLEVBQUUsT0FBTyxDQUFDO0lBRXBCLHlEQUF5RDtJQUN6RCxvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFFN0IsdURBQXVEO0lBQ3ZELHFCQUFxQixFQUFFLE1BQU0sQ0FBQztJQUU5QixvRUFBb0U7SUFDcEUsNkJBQTZCLEVBQUUsT0FBTyxDQUFDO0lBRXZDLHFEQUFxRDtJQUNyRCxtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFFNUIsMkNBQTJDO0lBQzNDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFFcEIsb0NBQW9DO0lBQ3BDLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFFaEIsNkVBQTZFO0lBQzdFLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRTFCLDBDQUEwQztJQUMxQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFZiwwQkFBMEI7SUFDMUIsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUV0Qiw2RUFBNkU7SUFDN0UsZ0JBQWdCLENBQUMsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFdkMsNElBQTRJO0lBQzVJLG9CQUFvQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRTlCLCtDQUErQztJQUMvQyxjQUFjLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFFekIsc0VBQXNFO0lBQ3RFLDRCQUE0QixFQUFFLE9BQU8sQ0FBQztJQUV0QyxpR0FBaUc7SUFDakcseUJBQXlCLEVBQUUsT0FBTyxDQUFDO0lBRW5DLDhHQUE4RztJQUM5RyxZQUFZLEVBQUUsTUFBTSxDQUFDO0lBRXJCLCtIQUErSDtJQUMvSCxVQUFVLEVBQUUsT0FBTyxDQUFDO0lBRXBCLDRFQUE0RTtJQUM1RSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFFMUIsa0RBQWtEO0lBQ2xELFVBQVUsRUFBRSxNQUFNLENBQUM7SUFFbkIsb0RBQW9EO0lBQ3BELFlBQVksRUFBRSxNQUFNLENBQUM7SUFFckIsb0RBQW9EO0lBQ3BELFlBQVksRUFBRSxNQUFNLENBQUM7SUFFckIsc0RBQXNEO0lBQ3RELGNBQWMsRUFBRSxNQUFNLENBQUM7SUFFdkIscUVBQXFFO0lBQ3JFLHFCQUFxQixFQUFFLE9BQU8sQ0FBQztJQUUvQixzRUFBc0U7SUFDdEUscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0lBRTlCLGlGQUFpRjtJQUNqRixxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFFOUIsMkRBQTJEO0lBQzNELGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUV6QixnSEFBZ0g7SUFDaEgsa0NBQWtDLEVBQUUsTUFBTSxDQUFDO0lBRTNDLGdLQUFnSztJQUNoSyxzQkFBc0IsRUFBRSxNQUFNLENBQUM7SUFFL0IsaUZBQWlGO0lBQ2pGLHlDQUF5QyxFQUFFLE1BQU0sQ0FBQztJQUVsRCwyR0FBMkc7SUFDM0csd0NBQXdDLEVBQUUsTUFBTSxDQUFDO0lBRWpELG9JQUFvSTtJQUNwSSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUU1QixzSUFBc0k7SUFDdEksZUFBZSxFQUFFLE1BQU0sQ0FBQztJQUV4QiwrQkFBK0I7SUFDL0IsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBRXZCLCtCQUErQjtJQUMvQixZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFFdkIsaUNBQWlDO0lBQ2pDLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUV6QixnR0FBZ0c7SUFDaEcsaUJBQWlCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFM0IsaUVBQWlFO0lBQ2pFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxDQUFDO0lBRXpDLDRFQUE0RTtJQUM1RSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFFMUIsNENBQTRDO0lBQzVDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQztJQUU3Qiw4REFBOEQ7SUFDOUQseUJBQXlCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFFcEMsZ0RBQWdEO0lBQ2hELHNCQUFzQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBRWpDLGlEQUFpRDtJQUNqRCxvQkFBb0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUMvQixpRkFBaUY7SUFDakYsK0JBQStCLEVBQUUsTUFBTSxDQUFDO0lBRXhDLDJIQUEySDtJQUMzSCxtQkFBbUIsRUFBRSxPQUFPLENBQUM7SUFFN0IsMkVBQTJFO0lBQzNFLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztJQUUxQixtRkFBbUY7SUFDbkYsMkJBQTJCLEVBQUUsTUFBTSxDQUFDO0lBRXBDLHlHQUF5RztJQUN6Ryx5QkFBeUIsRUFBRSxPQUFPLENBQUM7SUFFbkMsb0dBQW9HO0lBQ3BHLDBCQUEwQixFQUFFLE9BQU8sQ0FBQztJQUVwQyxpSkFBaUo7SUFDakosYUFBYSxFQUFFLE9BQU8sQ0FBQztDQUN4QjtBQUVELGVBQU8sTUFBTSxnQkFBZ0IsUUFBUSxDQUFDO0FBRXRDLGVBQU8sTUFBTSxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQyxTQUFTLENBdVEzRCxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsd0JBQWdCLG1CQUFtQixJQUFJLFNBQVMsQ0FFL0M7QUFFRCx3QkFBZ0IsbUJBQW1CLElBQUksU0FBUyxDQUUvQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQy9CLFNBQVMsRUFDUCxPQUFPLEdBQ1AsU0FBUyxHQUNULGtCQUFrQixHQUNsQixrQkFBa0IsR0FDbEIsc0JBQXNCLEdBQ3RCLGdCQUFnQixHQUNoQixlQUFlLEdBQ2YsWUFBWSxDQUNmLEdBQ0MsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQzlDLElBQUksQ0FBQyxlQUFlLEVBQUUsZUFBZSxHQUFHLG9CQUFvQixDQUFDLEdBQzdELElBQUksQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFnQmpDLGVBQU8sTUFBTSxzQkFBc0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzTUFHbEMsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsY0FBYyxFQUFFLENBcUM5RCJ9
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBU1osTUFBTSwwQkFBMEIsQ0FBQztBQUlsQyxPQUFPLEVBQ0wsS0FBSyxjQUFjLEVBQ25CLEtBQUssV0FBVyxFQUNoQixLQUFLLGVBQWUsRUFHckIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFFbEYsT0FBTyxFQUNMLEtBQUssc0JBQXNCLEVBRTVCLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTRCLE1BQU0sOEJBQThCLENBQUM7QUFDL0YsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQThCLE1BQU0sb0NBQW9DLENBQUM7QUFDekcsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQTZCLE1BQU0sb0NBQW9DLENBQUM7QUFFdkc7O0dBRUc7QUFDSCxNQUFNLFdBQVcsU0FDZixTQUFRLGdCQUFnQixFQUN0QixzQkFBc0IsRUFDdEIsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsSUFBSSxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsR0FBRywrQkFBK0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMvRiw4R0FBOEc7SUFDOUcsc0JBQXNCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFaEMsZ0dBQWdHO0lBQ2hHLHFCQUFxQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRS9CLGdHQUFnRztJQUNoRyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUUvQixvRUFBb0U7SUFDcEUsVUFBVSxFQUFFLE9BQU8sQ0FBQztJQUVwQix5REFBeUQ7SUFDekQsb0JBQW9CLEVBQUUsTUFBTSxDQUFDO0lBRTdCLHdEQUF3RDtJQUN4RCxtQkFBbUIsRUFB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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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"}