@aztec/p2p 0.0.1-commit.6d63667d → 0.0.1-commit.7b97ef96e

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 (291) hide show
  1. package/dest/client/factory.d.ts +7 -6
  2. package/dest/client/factory.d.ts.map +1 -1
  3. package/dest/client/factory.js +46 -11
  4. package/dest/client/interface.d.ts +43 -23
  5. package/dest/client/interface.d.ts.map +1 -1
  6. package/dest/client/p2p_client.d.ts +38 -42
  7. package/dest/client/p2p_client.d.ts.map +1 -1
  8. package/dest/client/p2p_client.js +145 -145
  9. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +6 -6
  10. package/dest/config.d.ts +23 -4
  11. package/dest/config.d.ts.map +1 -1
  12. package/dest/config.js +16 -1
  13. package/dest/errors/tx-pool.error.d.ts +8 -0
  14. package/dest/errors/tx-pool.error.d.ts.map +1 -0
  15. package/dest/errors/tx-pool.error.js +9 -0
  16. package/dest/index.d.ts +2 -1
  17. package/dest/index.d.ts.map +1 -1
  18. package/dest/index.js +1 -0
  19. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +104 -88
  20. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  21. package/dest/mem_pools/attestation_pool/attestation_pool.js +441 -3
  22. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +2 -2
  23. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
  24. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +353 -87
  25. package/dest/mem_pools/attestation_pool/index.d.ts +2 -3
  26. package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -1
  27. package/dest/mem_pools/attestation_pool/index.js +1 -2
  28. package/dest/mem_pools/attestation_pool/mocks.d.ts +2 -2
  29. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  30. package/dest/mem_pools/attestation_pool/mocks.js +2 -2
  31. package/dest/mem_pools/index.d.ts +3 -2
  32. package/dest/mem_pools/index.d.ts.map +1 -1
  33. package/dest/mem_pools/index.js +1 -1
  34. package/dest/mem_pools/interface.d.ts +5 -5
  35. package/dest/mem_pools/interface.d.ts.map +1 -1
  36. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +3 -3
  37. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +104 -0
  38. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -0
  39. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +251 -0
  40. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +3 -3
  41. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -1
  42. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +18 -9
  43. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +1 -1
  44. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -1
  45. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +4 -1
  46. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +3 -3
  47. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -1
  48. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +10 -4
  49. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +2 -2
  50. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -1
  51. package/dest/mem_pools/tx_pool_v2/eviction/index.js +1 -1
  52. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +48 -5
  53. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -1
  54. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +8 -0
  55. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +7 -5
  56. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +5 -3
  57. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +1 -1
  58. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -1
  59. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +8 -4
  60. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +4 -4
  61. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -1
  62. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +14 -4
  63. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +3 -3
  64. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -1
  65. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +2 -2
  66. package/dest/mem_pools/tx_pool_v2/index.d.ts +2 -1
  67. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -1
  68. package/dest/mem_pools/tx_pool_v2/index.js +1 -0
  69. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts +15 -0
  70. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts.map +1 -0
  71. package/dest/mem_pools/tx_pool_v2/instrumentation.js +43 -0
  72. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +16 -4
  73. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
  74. package/dest/mem_pools/tx_pool_v2/interfaces.js +3 -1
  75. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +31 -5
  76. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
  77. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +62 -5
  78. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +12 -3
  79. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -1
  80. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +27 -4
  81. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +8 -3
  82. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -1
  83. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +11 -6
  84. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +12 -4
  85. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -1
  86. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +239 -109
  87. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +3 -3
  88. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
  89. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +3 -3
  90. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  91. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +16 -3
  92. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  93. package/dest/msg_validators/tx_validator/block_header_validator.js +1 -1
  94. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +13 -3
  95. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  96. package/dest/msg_validators/tx_validator/double_spend_validator.js +4 -4
  97. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +20 -4
  98. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  99. package/dest/msg_validators/tx_validator/timestamp_validator.js +6 -6
  100. package/dest/services/dummy_service.d.ts +12 -3
  101. package/dest/services/dummy_service.d.ts.map +1 -1
  102. package/dest/services/dummy_service.js +9 -0
  103. package/dest/services/encoding.d.ts +2 -2
  104. package/dest/services/encoding.d.ts.map +1 -1
  105. package/dest/services/encoding.js +4 -3
  106. package/dest/services/gossipsub/index.d.ts +3 -0
  107. package/dest/services/gossipsub/index.d.ts.map +1 -0
  108. package/dest/services/gossipsub/index.js +2 -0
  109. package/dest/services/gossipsub/scoring.d.ts +21 -3
  110. package/dest/services/gossipsub/scoring.d.ts.map +1 -1
  111. package/dest/services/gossipsub/scoring.js +24 -7
  112. package/dest/services/gossipsub/topic_score_params.d.ts +173 -0
  113. package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -0
  114. package/dest/services/gossipsub/topic_score_params.js +346 -0
  115. package/dest/services/libp2p/libp2p_service.d.ts +85 -35
  116. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  117. package/dest/services/libp2p/libp2p_service.js +370 -267
  118. package/dest/services/peer-manager/peer_scoring.d.ts +1 -1
  119. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  120. package/dest/services/peer-manager/peer_scoring.js +25 -2
  121. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +4 -3
  122. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -1
  123. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +5 -9
  124. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +2 -6
  125. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -1
  126. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +10 -13
  127. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -1
  128. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +25 -46
  129. package/dest/services/reqresp/interface.d.ts +10 -1
  130. package/dest/services/reqresp/interface.d.ts.map +1 -1
  131. package/dest/services/reqresp/interface.js +15 -1
  132. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +4 -3
  133. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
  134. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +7 -1
  135. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
  136. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +15 -0
  137. package/dest/services/reqresp/protocols/tx.d.ts +7 -1
  138. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  139. package/dest/services/reqresp/protocols/tx.js +20 -0
  140. package/dest/services/reqresp/reqresp.d.ts +1 -1
  141. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  142. package/dest/services/reqresp/reqresp.js +11 -4
  143. package/dest/services/service.d.ts +38 -2
  144. package/dest/services/service.d.ts.map +1 -1
  145. package/dest/services/tx_collection/config.d.ts +19 -1
  146. package/dest/services/tx_collection/config.d.ts.map +1 -1
  147. package/dest/services/tx_collection/config.js +46 -0
  148. package/dest/services/tx_collection/fast_tx_collection.d.ts +3 -1
  149. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  150. package/dest/services/tx_collection/fast_tx_collection.js +56 -36
  151. package/dest/services/tx_collection/file_store_tx_collection.d.ts +53 -0
  152. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -0
  153. package/dest/services/tx_collection/file_store_tx_collection.js +167 -0
  154. package/dest/services/tx_collection/file_store_tx_source.d.ts +37 -0
  155. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -0
  156. package/dest/services/tx_collection/file_store_tx_source.js +90 -0
  157. package/dest/services/tx_collection/index.d.ts +2 -1
  158. package/dest/services/tx_collection/index.d.ts.map +1 -1
  159. package/dest/services/tx_collection/index.js +1 -0
  160. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  161. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  162. package/dest/services/tx_collection/instrumentation.js +2 -1
  163. package/dest/services/tx_collection/missing_txs_tracker.d.ts +32 -0
  164. package/dest/services/tx_collection/missing_txs_tracker.d.ts.map +1 -0
  165. package/dest/services/tx_collection/missing_txs_tracker.js +27 -0
  166. package/dest/services/tx_collection/proposal_tx_collector.d.ts +7 -6
  167. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -1
  168. package/dest/services/tx_collection/proposal_tx_collector.js +5 -4
  169. package/dest/services/tx_collection/slow_tx_collection.d.ts +7 -3
  170. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
  171. package/dest/services/tx_collection/slow_tx_collection.js +60 -26
  172. package/dest/services/tx_collection/tx_collection.d.ts +23 -10
  173. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  174. package/dest/services/tx_collection/tx_collection.js +75 -3
  175. package/dest/services/tx_collection/tx_collection_sink.d.ts +18 -8
  176. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
  177. package/dest/services/tx_collection/tx_collection_sink.js +26 -29
  178. package/dest/services/tx_collection/tx_source.d.ts +8 -3
  179. package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
  180. package/dest/services/tx_collection/tx_source.js +19 -2
  181. package/dest/services/tx_file_store/config.d.ts +1 -3
  182. package/dest/services/tx_file_store/config.d.ts.map +1 -1
  183. package/dest/services/tx_file_store/config.js +0 -4
  184. package/dest/services/tx_file_store/tx_file_store.d.ts +4 -3
  185. package/dest/services/tx_file_store/tx_file_store.d.ts.map +1 -1
  186. package/dest/services/tx_file_store/tx_file_store.js +9 -6
  187. package/dest/services/tx_provider.d.ts +3 -3
  188. package/dest/services/tx_provider.d.ts.map +1 -1
  189. package/dest/services/tx_provider.js +5 -4
  190. package/dest/test-helpers/make-test-p2p-clients.d.ts +3 -3
  191. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  192. package/dest/test-helpers/mock-pubsub.d.ts +29 -2
  193. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  194. package/dest/test-helpers/mock-pubsub.js +103 -2
  195. package/dest/test-helpers/reqresp-nodes.d.ts +1 -1
  196. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  197. package/dest/test-helpers/reqresp-nodes.js +2 -1
  198. package/dest/test-helpers/testbench-utils.d.ts +43 -38
  199. package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
  200. package/dest/test-helpers/testbench-utils.js +128 -59
  201. package/dest/testbench/p2p_client_testbench_worker.d.ts +2 -2
  202. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  203. package/dest/testbench/p2p_client_testbench_worker.js +10 -10
  204. package/dest/util.d.ts +2 -2
  205. package/dest/util.d.ts.map +1 -1
  206. package/package.json +14 -14
  207. package/src/client/factory.ts +86 -15
  208. package/src/client/interface.ts +59 -23
  209. package/src/client/p2p_client.ts +184 -167
  210. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +19 -9
  211. package/src/config.ts +34 -2
  212. package/src/errors/tx-pool.error.ts +12 -0
  213. package/src/index.ts +1 -0
  214. package/src/mem_pools/attestation_pool/attestation_pool.ts +496 -91
  215. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +442 -102
  216. package/src/mem_pools/attestation_pool/index.ts +9 -2
  217. package/src/mem_pools/attestation_pool/mocks.ts +2 -1
  218. package/src/mem_pools/index.ts +4 -1
  219. package/src/mem_pools/interface.ts +4 -4
  220. package/src/mem_pools/tx_pool/README.md +1 -1
  221. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +3 -3
  222. package/src/mem_pools/tx_pool_v2/README.md +76 -10
  223. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +321 -0
  224. package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +21 -8
  225. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +4 -1
  226. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +15 -4
  227. package/src/mem_pools/tx_pool_v2/eviction/index.ts +4 -0
  228. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +49 -4
  229. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +5 -5
  230. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +3 -3
  231. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +8 -7
  232. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +24 -6
  233. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +3 -3
  234. package/src/mem_pools/tx_pool_v2/index.ts +1 -0
  235. package/src/mem_pools/tx_pool_v2/instrumentation.ts +69 -0
  236. package/src/mem_pools/tx_pool_v2/interfaces.ts +16 -4
  237. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +90 -9
  238. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +32 -5
  239. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +17 -6
  240. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +274 -104
  241. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +2 -2
  242. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +2 -2
  243. package/src/msg_validators/tx_validator/block_header_validator.ts +15 -3
  244. package/src/msg_validators/tx_validator/double_spend_validator.ts +11 -6
  245. package/src/msg_validators/tx_validator/timestamp_validator.ts +23 -18
  246. package/src/services/dummy_service.ts +17 -1
  247. package/src/services/encoding.ts +4 -3
  248. package/src/services/gossipsub/README.md +641 -0
  249. package/src/services/gossipsub/index.ts +2 -0
  250. package/src/services/gossipsub/scoring.ts +29 -5
  251. package/src/services/gossipsub/topic_score_params.ts +487 -0
  252. package/src/services/libp2p/libp2p_service.ts +367 -271
  253. package/src/services/peer-manager/peer_scoring.ts +25 -0
  254. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +6 -6
  255. package/src/services/reqresp/batch-tx-requester/interface.ts +1 -5
  256. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +23 -71
  257. package/src/services/reqresp/interface.ts +26 -1
  258. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +4 -3
  259. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +17 -0
  260. package/src/services/reqresp/protocols/tx.ts +22 -0
  261. package/src/services/reqresp/reqresp.ts +13 -3
  262. package/src/services/service.ts +50 -1
  263. package/src/services/tx_collection/config.ts +68 -0
  264. package/src/services/tx_collection/fast_tx_collection.ts +65 -32
  265. package/src/services/tx_collection/file_store_tx_collection.ts +202 -0
  266. package/src/services/tx_collection/file_store_tx_source.ts +117 -0
  267. package/src/services/tx_collection/index.ts +1 -0
  268. package/src/services/tx_collection/instrumentation.ts +7 -1
  269. package/src/services/tx_collection/missing_txs_tracker.ts +52 -0
  270. package/src/services/tx_collection/proposal_tx_collector.ts +8 -7
  271. package/src/services/tx_collection/slow_tx_collection.ts +66 -33
  272. package/src/services/tx_collection/tx_collection.ts +113 -16
  273. package/src/services/tx_collection/tx_collection_sink.ts +30 -34
  274. package/src/services/tx_collection/tx_source.ts +22 -3
  275. package/src/services/tx_file_store/config.ts +0 -6
  276. package/src/services/tx_file_store/tx_file_store.ts +10 -8
  277. package/src/services/tx_provider.ts +8 -7
  278. package/src/test-helpers/make-test-p2p-clients.ts +3 -3
  279. package/src/test-helpers/mock-pubsub.ts +143 -3
  280. package/src/test-helpers/reqresp-nodes.ts +2 -1
  281. package/src/test-helpers/testbench-utils.ts +127 -71
  282. package/src/testbench/p2p_client_testbench_worker.ts +22 -15
  283. package/src/util.ts +7 -1
  284. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +0 -40
  285. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +0 -1
  286. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +0 -218
  287. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +0 -31
  288. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +0 -1
  289. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +0 -180
  290. package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +0 -320
  291. package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +0 -264
@@ -1,5 +1,5 @@
1
1
  export { EvictionManager } from './eviction_manager.js';
2
- export { EvictionEvent } from './interfaces.js';
2
+ export { EvictionEvent, TxPoolRejectionCode } from './interfaces.js';
3
3
  // Pre-add rules
4
4
  export { NullifierConflictRule } from './nullifier_conflict_rule.js';
5
5
  export { FeePayerBalancePreAddRule } from './fee_payer_balance_pre_add_rule.js';
@@ -52,6 +52,41 @@ export interface PreAddPoolAccess {
52
52
  /** Get the lowest priority pending tx metadata */
53
53
  getLowestPriorityPendingTx(): TxMetaData | undefined;
54
54
  }
55
+ /** A single eviction tagged with the rule that caused it. */
56
+ export interface TaggedEviction {
57
+ readonly txHash: string;
58
+ readonly reason: string;
59
+ }
60
+ /**
61
+ * Machine-readable rejection codes for pre-add rule rejections.
62
+ */
63
+ export declare const TxPoolRejectionCode: {
64
+ readonly LOW_PRIORITY_FEE: "LOW_PRIORITY_FEE";
65
+ readonly INSUFFICIENT_FEE_PAYER_BALANCE: "INSUFFICIENT_FEE_PAYER_BALANCE";
66
+ readonly NULLIFIER_CONFLICT: "NULLIFIER_CONFLICT";
67
+ readonly INTERNAL_ERROR: "INTERNAL_ERROR";
68
+ };
69
+ export type TxPoolRejectionCode = (typeof TxPoolRejectionCode)[keyof typeof TxPoolRejectionCode];
70
+ /** Structured rejection reason returned by pre-add rules. */
71
+ export type TxPoolRejectionError = {
72
+ code: typeof TxPoolRejectionCode.LOW_PRIORITY_FEE;
73
+ message: string;
74
+ minimumPriorityFee: bigint;
75
+ txPriorityFee: bigint;
76
+ } | {
77
+ code: typeof TxPoolRejectionCode.INSUFFICIENT_FEE_PAYER_BALANCE;
78
+ message: string;
79
+ currentBalance: bigint;
80
+ availableBalance: bigint;
81
+ feeLimit: bigint;
82
+ } | {
83
+ code: typeof TxPoolRejectionCode.NULLIFIER_CONFLICT;
84
+ message: string;
85
+ conflictingTxHash: string;
86
+ } | {
87
+ code: typeof TxPoolRejectionCode.INTERNAL_ERROR;
88
+ message: string;
89
+ };
55
90
  /**
56
91
  * Result of a pre-add check for a single transaction.
57
92
  */
@@ -60,8 +95,15 @@ export interface PreAddResult {
60
95
  readonly shouldIgnore: boolean;
61
96
  /** Tx hashes (as strings) that should be evicted if this tx is added */
62
97
  readonly txHashesToEvict: string[];
98
+ /** Evictions tagged with the rule name that produced them. Populated by EvictionManager. */
99
+ readonly evictions?: TaggedEviction[];
63
100
  /** Optional reason for ignoring */
64
- readonly reason?: string;
101
+ readonly reason?: TxPoolRejectionError;
102
+ }
103
+ /** Context passed to pre-add rules from addPendingTxs. */
104
+ export interface PreAddContext {
105
+ /** If true, compare priority fee only (no tx hash tiebreaker). Used for RPC submissions. */
106
+ feeComparisonOnly?: boolean;
65
107
  }
66
108
  /**
67
109
  * Pre-add rule interface. Rules check incoming txs before they're added to the pool.
@@ -73,9 +115,10 @@ export interface PreAddRule {
73
115
  * Check if incoming tx should be added and which existing txs to evict.
74
116
  * @param incomingMeta - Metadata for the incoming transaction
75
117
  * @param poolAccess - Read-only access to current pool state
118
+ * @param context - Optional context from addPendingTxs caller
76
119
  * @returns Result indicating whether to ignore and what to evict
77
120
  */
78
- check(incomingMeta: TxMetaData, poolAccess: PreAddPoolAccess): Promise<PreAddResult>;
121
+ check(incomingMeta: TxMetaData, poolAccess: PreAddPoolAccess, context?: PreAddContext): Promise<PreAddResult>;
79
122
  /**
80
123
  * Updates the configuration for this rule.
81
124
  */
@@ -96,8 +139,8 @@ export interface PoolOperations {
96
139
  getPendingTxCount(): number;
97
140
  /** Get the N lowest priority pending tx hashes */
98
141
  getLowestPriorityPending(limit: number): string[];
99
- /** Delete transactions by hash */
100
- deleteTxs(txHashes: string[]): Promise<void>;
142
+ /** Delete transactions by hash, with an optional reason for metrics */
143
+ deleteTxs(txHashes: string[], reason?: string): Promise<void>;
101
144
  }
102
145
  /**
103
146
  * Post-event eviction rule interface. Rules run after events to clean up the pool.
@@ -128,4 +171,4 @@ export declare function txHashToString(txHash: TxHash): string;
128
171
  * Converts an array of TxHash to string array.
129
172
  */
130
173
  export declare function txHashesToStrings(txHashes: TxHash[]): string[];
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2V2aWN0aW9uL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBEOztHQUVHO0FBQ0gsZUFBTyxNQUFNLGFBQWE7Ozs7Q0FJaEIsQ0FBQztBQUVYLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sYUFBYSxDQUFDLENBQUMsTUFBTSxPQUFPLGFBQWEsQ0FBQyxDQUFDO0FBRW5GOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGVBQWUsR0FDdkI7SUFDRSxLQUFLLEVBQUUsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ3RDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUN0QixTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDckIsR0FDRDtJQUNFLEtBQUssRUFBRSxPQUFPLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFDekMsV0FBVyxFQUFFLFdBQVcsQ0FBQztDQUMxQixHQUNEO0lBQ0UsS0FBSyxFQUFFLE9BQU8sYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxLQUFLLEVBQUUsV0FBVyxDQUFDO0lBQ25CLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUN4QixTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDckIsQ0FBQztBQUVOOztHQUVHO0FBQ0gsTUFBTSxXQUFXLGNBQWM7SUFDN0IsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM5QixRQUFRLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FB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
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2V2aWN0aW9uL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBEOztHQUVHO0FBQ0gsZUFBTyxNQUFNLGFBQWE7Ozs7Q0FJaEIsQ0FBQztBQUVYLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sYUFBYSxDQUFDLENBQUMsTUFBTSxPQUFPLGFBQWEsQ0FBQyxDQUFDO0FBRW5GOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGVBQWUsR0FDdkI7SUFDRSxLQUFLLEVBQUUsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ3RDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUN0QixTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDckIsR0FDRDtJQUNFLEtBQUssRUFBRSxPQUFPLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFDekMsV0FBVyxFQUFFLFdBQVcsQ0FBQztDQUMxQixHQUNEO0lBQ0UsS0FBSyxFQUFFLE9BQU8sYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxLQUFLLEVBQUUsV0FBVyxDQUFDO0lBQ25CLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUN4QixTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDckIsQ0FBQztBQUVOOztHQUVHO0FBQ0gsTUFBTSxXQUFXLGNBQWM7SUFDN0IsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM5QixRQUFRLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUN4QixRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztJQUMxQixRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDO0NBQ3hCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLHVEQUF1RDtJQUN2RCxXQUFXLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBRXZELHlFQUF5RTtJQUN6RSxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFFNUQsbURBQW1EO0lBQ25ELGtCQUFrQixDQUFDLFFBQVEsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXRELGlFQUFpRTtJQUNqRSxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLFVBQVUsRUFBRSxDQUFDO0lBRXRELGdEQUFnRDtJQUNoRCxpQkFBaUIsSUFBSSxNQUFNLENBQUM7SUFFNUIsa0RBQWtEO0lBQ2xELDBCQUEwQixJQUFJLFVBQVUsR0FBRyxTQUFTLENBQUM7Q0FDdEQ7QUFFRCw2REFBNkQ7QUFDN0QsTUFBTSxXQUFXLGNBQWM7SUFDN0IsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDeEIsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7Q0FDekI7QUFFRDs7R0FFRztBQUNILGVBQU8sTUFBTSxtQkFBbUI7Ozs7O0NBS3RCLENBQUM7QUFFWCxNQUFNLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxPQUFPLG1CQUFtQixDQUFDLENBQUMsTUFBTSxPQUFPLG1CQUFtQixDQUFDLENBQUM7QUFFakcsNkRBQTZEO0FBQzdELE1BQU0sTUFBTSxvQkFBb0IsR0FDNUI7SUFDRSxJQUFJLEVBQUUsT0FBTyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQztJQUNsRCxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLGtCQUFrQixFQUFFLE1BQU0sQ0FBQztJQUMzQixhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3ZCLEdBQ0Q7SUFDRSxJQUFJLEVBQUUsT0FBTyxtQkFBbUIsQ0FBQyw4QkFBOEIsQ0FBQztJQUNoRSxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLGNBQWMsRUFBRSxNQUFNLENBQUM7SUFDdkIsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLFFBQVEsRUFBRSxNQUFNLENBQUM7Q0FDbEIsR0FDRDtJQUFFLElBQUksRUFBRSxPQUFPLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDO0lBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQTtDQUFFLEdBQ25HO0lBQUUsSUFBSSxFQUFFLE9BQU8sbUJBQW1CLENBQUMsY0FBYyxDQUFDO0lBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUM7QUFFekU7O0dBRUc7QUFDSCxNQUFNLFdBQVcsWUFBWTtJQUMzQix3RUFBd0U7SUFDeEUsUUFBUSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUM7SUFDL0Isd0VBQXdFO0lBQ3hFLFFBQVEsQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbkMsNEZBQTRGO0lBQzVGLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUN0QyxtQ0FBbUM7SUFDbkMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLG9CQUFvQixDQUFDO0NBQ3hDO0FBRUQsMERBQTBEO0FBQzFELE1BQU0sV0FBVyxhQUFhO0lBQzVCLDRGQUE0RjtJQUM1RixpQkFBaUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUM3QjtBQUVEOzs7R0FHRztBQUNILE1BQU0sV0FBVyxVQUFVO0lBQ3pCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBRXRCOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsRUFBRSxhQUFhLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRTlHOztPQUVHO0lBQ0gsWUFBWSxDQUFDLENBQUMsTUFBTSxFQUFFLGNBQWMsR0FBRyxJQUFJLENBQUM7Q0FDN0M7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFdBQVcsY0FBYztJQUM3QixrQ0FBa0M7SUFDbEMsYUFBYSxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBRTlCLHNEQUFzRDtJQUN0RCxtQkFBbUIsSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUVoQyxpRUFBaUU7SUFDakUscUJBQXFCLENBQUMsUUFBUSxFQUFFLE1BQU0sR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUV0RCxnREFBZ0Q7SUFDaEQsaUJBQWlCLElBQUksTUFBTSxDQUFDO0lBRTVCLGtEQUFrRDtJQUNsRCx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBRWxELHVFQUF1RTtJQUN2RSxTQUFTLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDL0Q7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxZQUFZO0lBQzNCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBRXRCOztPQUVHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFL0U7O09BRUc7SUFDSCxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUUsY0FBYyxHQUFHLElBQUksQ0FBQztDQUM3QztBQUVEOztHQUVHO0FBQ0gsTUFBTSxXQUFXLGNBQWM7SUFDN0IsNkRBQTZEO0lBQzdELGlCQUFpQixDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQzVCO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUVyRDtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FFOUQifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/interfaces.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,14 @@
5
5
  BLOCK_MINED: 'block_mined',
6
6
  CHAIN_PRUNED: 'chain_pruned'
7
7
  };
8
+ /**
9
+ * Machine-readable rejection codes for pre-add rule rejections.
10
+ */ export const TxPoolRejectionCode = {
11
+ LOW_PRIORITY_FEE: 'LOW_PRIORITY_FEE',
12
+ INSUFFICIENT_FEE_PAYER_BALANCE: 'INSUFFICIENT_FEE_PAYER_BALANCE',
13
+ NULLIFIER_CONFLICT: 'NULLIFIER_CONFLICT',
14
+ INTERNAL_ERROR: 'INTERNAL_ERROR'
15
+ };
8
16
  /**
9
17
  * Converts a TxHash to its string representation for use in eviction results.
10
18
  */ export function txHashToString(txHash) {
@@ -26,21 +26,23 @@ import { EvictionEvent } from './interfaces.js';
26
26
  for (const meta of pendingTxs){
27
27
  // Evict pending txs that share nullifiers with mined txs
28
28
  if (meta.nullifiers.some((nullifier)=>minedNullifiers.has(nullifier))) {
29
- this.log.verbose(`Evicting tx ${meta.txHash} from pool due to a duplicate nullifier with a mined tx`);
30
29
  txsToEvict.push(meta.txHash);
31
30
  continue;
32
31
  }
33
32
  // Evict pending txs with an expiration timestamp less than or equal to the mined block timestamp
34
- if (meta.includeByTimestamp <= timestamp) {
35
- this.log.verbose(`Evicting tx ${meta.txHash} from pool due to the tx being expired (includeByTimestamp: ${meta.includeByTimestamp}, mined block timestamp: ${timestamp})`);
33
+ if (meta.expirationTimestamp <= timestamp) {
34
+ this.log.verbose(`Evicting tx ${meta.txHash} from pool due to the tx being expired (expirationTimestamp: ${meta.expirationTimestamp}, mined block timestamp: ${timestamp})`);
36
35
  txsToEvict.push(meta.txHash);
37
36
  continue;
38
37
  }
39
38
  }
40
39
  if (txsToEvict.length > 0) {
41
- await pool.deleteTxs(txsToEvict);
40
+ this.log.info(`Evicted ${txsToEvict.length} invalid txs after block mined`);
41
+ await pool.deleteTxs(txsToEvict, this.name);
42
42
  }
43
- this.log.debug(`Evicted ${txsToEvict.length} invalid txs after block mined`);
43
+ this.log.debug(`Evicted ${txsToEvict.length} invalid txs after block mined`, {
44
+ txHashes: txsToEvict
45
+ });
44
46
  return {
45
47
  reason: 'block_mined_invalid_txs',
46
48
  success: true,
@@ -61,14 +61,16 @@ import { EvictionEvent } from './interfaces.js';
61
61
  }
62
62
  }
63
63
  if (txsToEvict.length > 0) {
64
- this.log.verbose(`Evicting ${txsToEvict.length} txs from pool due to referencing pruned blocks`);
65
- await pool.deleteTxs(txsToEvict);
64
+ this.log.info(`Evicting ${txsToEvict.length} txs from pool due to referencing pruned blocks`);
65
+ await pool.deleteTxs(txsToEvict, this.name);
66
66
  }
67
67
  const keptCount = pendingTxs.length - txsToEvict.length;
68
68
  if (keptCount > 0) {
69
69
  this.log.verbose(`Kept ${keptCount} txs that did not reference pruned blocks`);
70
70
  }
71
- this.log.debug(`Evicted ${txsToEvict.length} invalid txs after reorg`);
71
+ this.log.debug(`Evicted ${txsToEvict.length} invalid txs after reorg`, {
72
+ txHashes: txsToEvict
73
+ });
72
74
  return {
73
75
  reason: 'reorg_invalid_txs',
74
76
  success: true,
@@ -13,4 +13,4 @@ export declare class LowPriorityEvictionRule implements EvictionRule {
13
13
  evict(context: EvictionContext, pool: PoolOperations): Promise<EvictionResult>;
14
14
  updateConfig(config: EvictionConfig): void;
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG93X3ByaW9yaXR5X2V2aWN0aW9uX3J1bGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi9ldmljdGlvbi9sb3dfcHJpb3JpdHlfZXZpY3Rpb25fcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHckg7OztHQUdHO0FBQ0gscUJBQWEsdUJBQXdCLFlBQVcsWUFBWTtJQUMxRCxTQUFnQixJQUFJLHlCQUF5QjtJQUU3QyxPQUFPLENBQUMsR0FBRyxDQUE2RDtJQUN4RSxPQUFPLENBQUMsV0FBVyxDQUFTO0lBRTVCLFlBQVksTUFBTSxFQUFFO1FBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBRTFDO0lBRUssS0FBSyxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBMkRuRjtJQUVELFlBQVksQ0FBQyxNQUFNLEVBQUUsY0FBYyxHQUFHLElBQUksQ0FJekM7Q0FDRiJ9
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG93X3ByaW9yaXR5X2V2aWN0aW9uX3J1bGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi9ldmljdGlvbi9sb3dfcHJpb3JpdHlfZXZpY3Rpb25fcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHckg7OztHQUdHO0FBQ0gscUJBQWEsdUJBQXdCLFlBQVcsWUFBWTtJQUMxRCxTQUFnQixJQUFJLHlCQUF5QjtJQUU3QyxPQUFPLENBQUMsR0FBRyxDQUE2RDtJQUN4RSxPQUFPLENBQUMsV0FBVyxDQUFTO0lBRTVCLFlBQVksTUFBTSxFQUFFO1FBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBRTFDO0lBRUssS0FBSyxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBNERuRjtJQUVELFlBQVksQ0FBQyxNQUFNLEVBQUUsY0FBYyxHQUFHLElBQUksQ0FJekM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"low_priority_eviction_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGrH;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,SAAgB,IAAI,yBAAyB;IAE7C,OAAO,CAAC,GAAG,CAA6D;IACxE,OAAO,CAAC,WAAW,CAAS;IAE5B,YAAY,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,EAE1C;IAEK,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CA2DnF;IAED,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAIzC;CACF"}
1
+ {"version":3,"file":"low_priority_eviction_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGrH;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,SAAgB,IAAI,yBAAyB;IAE7C,OAAO,CAAC,GAAG,CAA6D;IACxE,OAAO,CAAC,WAAW,CAAS;IAE5B,YAAY,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,EAE1C;IAEK,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CA4DnF;IAED,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAIzC;CACF"}
@@ -35,14 +35,18 @@ import { EvictionEvent } from './interfaces.js';
35
35
  txsEvicted: []
36
36
  };
37
37
  }
38
- this.log.verbose(`Evicting low priority txs. Pending tx count above limit: ${currentTxCount} > ${this.maxPoolSize}`);
38
+ this.log.info(`Evicting low priority txs. Pending tx count above limit: ${currentTxCount} > ${this.maxPoolSize}`);
39
39
  const numberToEvict = currentTxCount - this.maxPoolSize;
40
40
  const txsToEvict = pool.getLowestPriorityPending(numberToEvict);
41
+ const toEvictSet = new Set(txsToEvict);
42
+ const numNewTxsEvicted = context.newTxHashes.filter((newTxHash)=>toEvictSet.has(newTxHash)).length;
41
43
  if (txsToEvict.length > 0) {
42
- await pool.deleteTxs(txsToEvict);
44
+ this.log.info(`Evicted ${txsToEvict.length} low priority txs, including ${numNewTxsEvicted} newly added txs`);
45
+ await pool.deleteTxs(txsToEvict, this.name);
43
46
  }
44
- const numNewTxsEvicted = context.newTxHashes.filter((newTxHash)=>txsToEvict.includes(newTxHash)).length;
45
- this.log.verbose(`Evicted ${txsToEvict.length} low priority txs, including ${numNewTxsEvicted} newly added txs`);
47
+ this.log.debug(`Evicted ${txsToEvict.length} low priority txs, including ${numNewTxsEvicted} newly added txs`, {
48
+ txHashes: txsToEvict
49
+ });
46
50
  return {
47
51
  reason: 'low_priority',
48
52
  success: true,
@@ -1,5 +1,5 @@
1
- import type { TxMetaData } from '../tx_metadata.js';
2
- import type { EvictionConfig, PreAddPoolAccess, PreAddResult, PreAddRule } from './interfaces.js';
1
+ import { type TxMetaData } from '../tx_metadata.js';
2
+ import { type EvictionConfig, type PreAddContext, type PreAddPoolAccess, type PreAddResult, type PreAddRule } from './interfaces.js';
3
3
  /**
4
4
  * Pre-add rule that checks if the pool is at capacity and handles low-priority eviction.
5
5
  *
@@ -14,7 +14,7 @@ export declare class LowPriorityPreAddRule implements PreAddRule {
14
14
  constructor(config: {
15
15
  maxPoolSize: number;
16
16
  });
17
- check(incomingMeta: TxMetaData, poolAccess: PreAddPoolAccess): Promise<PreAddResult>;
17
+ check(incomingMeta: TxMetaData, poolAccess: PreAddPoolAccess, context?: PreAddContext): Promise<PreAddResult>;
18
18
  updateConfig(config: EvictionConfig): void;
19
19
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG93X3ByaW9yaXR5X3ByZV9hZGRfcnVsZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2V2aWN0aW9uL2xvd19wcmlvcml0eV9wcmVfYWRkX3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRzs7Ozs7O0dBTUc7QUFDSCxxQkFBYSxxQkFBc0IsWUFBVyxVQUFVO0lBQ3RELFNBQWdCLElBQUksdUJBQXVCO0lBRTNDLE9BQU8sQ0FBQyxHQUFHLENBQTREO0lBQ3ZFLE9BQU8sQ0FBQyxXQUFXLENBQVM7SUFFNUIsWUFBWSxNQUFNLEVBQUU7UUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFBO0tBQUUsRUFFMUM7SUFFRCxLQUFLLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQTBDbkY7SUFFRCxZQUFZLENBQUMsTUFBTSxFQUFFLGNBQWMsR0FBRyxJQUFJLENBSXpDO0NBQ0YifQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG93X3ByaW9yaXR5X3ByZV9hZGRfcnVsZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2V2aWN0aW9uL2xvd19wcmlvcml0eV9wcmVfYWRkX3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFtQixNQUFNLG1CQUFtQixDQUFDO0FBQ3JFLE9BQU8sRUFDTCxLQUFLLGNBQWMsRUFDbkIsS0FBSyxhQUFhLEVBQ2xCLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssWUFBWSxFQUNqQixLQUFLLFVBQVUsRUFFaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6Qjs7Ozs7O0dBTUc7QUFDSCxxQkFBYSxxQkFBc0IsWUFBVyxVQUFVO0lBQ3RELFNBQWdCLElBQUksdUJBQXVCO0lBRTNDLE9BQU8sQ0FBQyxHQUFHLENBQTREO0lBQ3ZFLE9BQU8sQ0FBQyxXQUFXLENBQVM7SUFFNUIsWUFBWSxNQUFNLEVBQUU7UUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFBO0tBQUUsRUFFMUM7SUFFRCxLQUFLLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLEVBQUUsYUFBYSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FxRDVHO0lBRUQsWUFBWSxDQUFDLE1BQU0sRUFBRSxjQUFjLEdBQUcsSUFBSSxDQUl6QztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"low_priority_pre_add_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElG;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,UAAU;IACtD,SAAgB,IAAI,uBAAuB;IAE3C,OAAO,CAAC,GAAG,CAA4D;IACvE,OAAO,CAAC,WAAW,CAAS;IAE5B,YAAY,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,EAE1C;IAED,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CA0CnF;IAED,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAIzC;CACF"}
1
+ {"version":3,"file":"low_priority_pre_add_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,UAAU;IACtD,SAAgB,IAAI,uBAAuB;IAE3C,OAAO,CAAC,GAAG,CAA4D;IACvE,OAAO,CAAC,WAAW,CAAS;IAE5B,YAAY,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,EAE1C;IAED,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAqD5G;IAED,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAIzC;CACF"}
@@ -1,4 +1,6 @@
1
1
  import { createLogger } from '@aztec/foundation/log';
2
+ import { comparePriority } from '../tx_metadata.js';
3
+ import { TxPoolRejectionCode } from './interfaces.js';
2
4
  /**
3
5
  * Pre-add rule that checks if the pool is at capacity and handles low-priority eviction.
4
6
  *
@@ -12,7 +14,7 @@ import { createLogger } from '@aztec/foundation/log';
12
14
  constructor(config){
13
15
  this.maxPoolSize = config.maxPoolSize;
14
16
  }
15
- check(incomingMeta, poolAccess) {
17
+ check(incomingMeta, poolAccess, context) {
16
18
  // Skip if max pool size is disabled (0 = unlimited)
17
19
  if (this.maxPoolSize === 0) {
18
20
  return Promise.resolve({
@@ -37,8 +39,11 @@ import { createLogger } from '@aztec/foundation/log';
37
39
  txHashesToEvict: []
38
40
  });
39
41
  }
40
- // If incoming tx has strictly higher priority, evict the lowest priority tx
41
- if (incomingMeta.priorityFee > lowestPriorityMeta.priorityFee) {
42
+ // Compare incoming tx against lowest priority tx.
43
+ // feeOnly mode (RPC): use strict fee comparison only — avoids churn from hash ordering
44
+ // Default (gossip): use full comparePriority (fee + tx hash tiebreaker) for determinism
45
+ const isHigherPriority = context?.feeComparisonOnly ? incomingMeta.priorityFee > lowestPriorityMeta.priorityFee : comparePriority(incomingMeta, lowestPriorityMeta) > 0;
46
+ if (isHigherPriority) {
42
47
  this.log.debug(`Pool at capacity (${currentCount}/${this.maxPoolSize}), evicting ${lowestPriorityMeta.txHash} ` + `(priority ${lowestPriorityMeta.priorityFee}) for ${incomingMeta.txHash} (priority ${incomingMeta.priorityFee})`);
43
48
  return Promise.resolve({
44
49
  shouldIgnore: false,
@@ -52,7 +57,12 @@ import { createLogger } from '@aztec/foundation/log';
52
57
  return Promise.resolve({
53
58
  shouldIgnore: true,
54
59
  txHashesToEvict: [],
55
- reason: `pool at capacity and tx has lower priority than existing transactions`
60
+ reason: {
61
+ code: TxPoolRejectionCode.LOW_PRIORITY_FEE,
62
+ message: `Tx does not meet minimum priority fee. Required: ${lowestPriorityMeta.priorityFee + 1n}, got: ${incomingMeta.priorityFee}`,
63
+ minimumPriorityFee: lowestPriorityMeta.priorityFee + 1n,
64
+ txPriorityFee: incomingMeta.priorityFee
65
+ }
56
66
  });
57
67
  }
58
68
  updateConfig(config) {
@@ -1,5 +1,5 @@
1
1
  import { type TxMetaData } from '../tx_metadata.js';
2
- import type { PreAddPoolAccess, PreAddResult, PreAddRule } from './interfaces.js';
2
+ import type { PreAddContext, PreAddPoolAccess, PreAddResult, PreAddRule } from './interfaces.js';
3
3
  /**
4
4
  * Pre-add rule that checks for nullifier conflicts between incoming and existing transactions.
5
5
  *
@@ -10,6 +10,6 @@ import type { PreAddPoolAccess, PreAddResult, PreAddRule } from './interfaces.js
10
10
  export declare class NullifierConflictRule implements PreAddRule {
11
11
  readonly name = "NullifierConflict";
12
12
  private log;
13
- check(incomingMeta: TxMetaData, poolAccess: PreAddPoolAccess): Promise<PreAddResult>;
13
+ check(incomingMeta: TxMetaData, poolAccess: PreAddPoolAccess, _context?: PreAddContext): Promise<PreAddResult>;
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlmaWVyX2NvbmZsaWN0X3J1bGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi9ldmljdGlvbi9udWxsaWZpZXJfY29uZmxpY3RfcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQTBCLE1BQU0sbUJBQW1CLENBQUM7QUFDNUUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxGOzs7Ozs7R0FNRztBQUNILHFCQUFhLHFCQUFzQixZQUFXLFVBQVU7SUFDdEQsU0FBZ0IsSUFBSSx1QkFBdUI7SUFFM0MsT0FBTyxDQUFDLEdBQUcsQ0FBMEQ7SUFFckUsS0FBSyxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FZbkY7Q0FDRiJ9
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlmaWVyX2NvbmZsaWN0X3J1bGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi9ldmljdGlvbi9udWxsaWZpZXJfY29uZmxpY3RfcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQTBCLE1BQU0sbUJBQW1CLENBQUM7QUFDNUUsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRzs7Ozs7O0dBTUc7QUFDSCxxQkFBYSxxQkFBc0IsWUFBVyxVQUFVO0lBQ3RELFNBQWdCLElBQUksdUJBQXVCO0lBRTNDLE9BQU8sQ0FBQyxHQUFHLENBQTBEO0lBRXJFLEtBQUssQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsRUFBRSxhQUFhLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQVk3RztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"nullifier_conflict_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAA0B,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElF;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,UAAU;IACtD,SAAgB,IAAI,uBAAuB;IAE3C,OAAO,CAAC,GAAG,CAA0D;IAErE,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAYnF;CACF"}
1
+ {"version":3,"file":"nullifier_conflict_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAA0B,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEjG;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,UAAU;IACtD,SAAgB,IAAI,uBAAuB;IAE3C,OAAO,CAAC,GAAG,CAA0D;IAErE,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAY7G;CACF"}
@@ -9,10 +9,10 @@ import { checkNullifierConflict } from '../tx_metadata.js';
9
9
  */ export class NullifierConflictRule {
10
10
  name = 'NullifierConflict';
11
11
  log = createLogger('p2p:tx_pool_v2:nullifier_conflict_rule');
12
- check(incomingMeta, poolAccess) {
12
+ check(incomingMeta, poolAccess, _context) {
13
13
  const result = checkNullifierConflict(incomingMeta, (nullifier)=>poolAccess.getTxHashByNullifier(nullifier), (txHash)=>poolAccess.getMetadata(txHash));
14
14
  if (result.shouldIgnore) {
15
- this.log.debug(`Ignoring tx ${incomingMeta.txHash}: ${result.reason}`);
15
+ this.log.debug(`Ignoring tx ${incomingMeta.txHash}: ${result.reason?.message}`);
16
16
  }
17
17
  return Promise.resolve(result);
18
18
  }
@@ -2,4 +2,5 @@ export { AztecKVTxPoolV2 } from './tx_pool_v2.js';
2
2
  export { type TxPoolV2, type TxPoolV2Config, type TxPoolV2Events, type AddTxsResult, type PoolReadAccess, DEFAULT_TX_POOL_V2_CONFIG, } from './interfaces.js';
3
3
  export { type TxMetaData, type TxState, buildTxMetaData, comparePriority } from './tx_metadata.js';
4
4
  export { TxArchive } from './archive/index.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUNMLEtBQUssUUFBUSxFQUNiLEtBQUssY0FBYyxFQUNuQixLQUFLLGNBQWMsRUFDbkIsS0FBSyxZQUFZLEVBQ2pCLEtBQUssY0FBYyxFQUNuQix5QkFBeUIsR0FDMUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQyJ9
5
+ export { DeletedPool } from './deleted_pool.js';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUNMLEtBQUssUUFBUSxFQUNiLEtBQUssY0FBYyxFQUNuQixLQUFLLGNBQWMsRUFDbkIsS0FBSyxZQUFZLEVBQ2pCLEtBQUssY0FBYyxFQUNuQix5QkFBeUIsR0FDMUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -2,3 +2,4 @@ export { AztecKVTxPoolV2 } from './tx_pool_v2.js';
2
2
  export { DEFAULT_TX_POOL_V2_CONFIG } from './interfaces.js';
3
3
  export { buildTxMetaData, comparePriority } from './tx_metadata.js';
4
4
  export { TxArchive } from './archive/index.js';
5
+ export { DeletedPool } from './deleted_pool.js';
@@ -0,0 +1,15 @@
1
+ import { type TelemetryClient } from '@aztec/telemetry-client';
2
+ /** Callback that returns the current estimated metadata memory in bytes. */
3
+ export type MetadataMemoryCallback = () => number;
4
+ /** Instrumentation for TxPoolV2Impl internal operations. */
5
+ export declare class TxPoolV2Instrumentation {
6
+ #private;
7
+ constructor(telemetry: TelemetryClient, metadataMemoryCallback: MetadataMemoryCallback);
8
+ recordEvictions(count: number, reason: string): void;
9
+ recordIgnored(count: number): void;
10
+ recordRejected(count: number): void;
11
+ recordSoftDeletedHits(count: number): void;
12
+ recordMissingOnProtect(count: number): void;
13
+ recordMissingPreviouslyEvicted(count: number): void;
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2xfdjIvaW5zdHJ1bWVudGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxLQUFLLGVBQWUsRUFHckIsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyw0RUFBNEU7QUFDNUUsTUFBTSxNQUFNLHNCQUFzQixHQUFHLE1BQU0sTUFBTSxDQUFDO0FBRWxELDREQUE0RDtBQUM1RCxxQkFBYSx1QkFBdUI7O0lBU2xDLFlBQVksU0FBUyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFtQnJGO0lBRUQsZUFBZSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFFNUM7SUFFRCxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sUUFFMUI7SUFFRCxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sUUFFM0I7SUFFRCxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxRQUVsQztJQUVELHNCQUFzQixDQUFDLEtBQUssRUFBRSxNQUFNLFFBRW5DO0lBRUQsOEJBQThCLENBQUMsS0FBSyxFQUFFLE1BQU0sUUFFM0M7Q0FDRiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAEjC,4EAA4E;AAC5E,MAAM,MAAM,sBAAsB,GAAG,MAAM,MAAM,CAAC;AAElD,4DAA4D;AAC5D,qBAAa,uBAAuB;;IASlC,YAAY,SAAS,EAAE,eAAe,EAAE,sBAAsB,EAAE,sBAAsB,EAmBrF;IAED,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAE5C;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,QAE1B;IAED,cAAc,CAAC,KAAK,EAAE,MAAM,QAE3B;IAED,qBAAqB,CAAC,KAAK,EAAE,MAAM,QAElC;IAED,sBAAsB,CAAC,KAAK,EAAE,MAAM,QAEnC;IAED,8BAA8B,CAAC,KAAK,EAAE,MAAM,QAE3C;CACF"}
@@ -0,0 +1,43 @@
1
+ import { Attributes, Metrics, createUpDownCounterWithDefault } from '@aztec/telemetry-client';
2
+ /** Instrumentation for TxPoolV2Impl internal operations. */ export class TxPoolV2Instrumentation {
3
+ #evictedCounter;
4
+ #ignoredCounter;
5
+ #rejectedCounter;
6
+ #softDeletedHitsCounter;
7
+ #missingOnProtectCounter;
8
+ #missingPreviouslyEvictedCounter;
9
+ #metadataMemoryGauge;
10
+ constructor(telemetry, metadataMemoryCallback){
11
+ const meter = telemetry.getMeter('TxPoolV2Impl');
12
+ this.#evictedCounter = createUpDownCounterWithDefault(meter, Metrics.MEMPOOL_TX_POOL_V2_EVICTED_COUNT);
13
+ this.#ignoredCounter = createUpDownCounterWithDefault(meter, Metrics.MEMPOOL_TX_POOL_V2_IGNORED_COUNT);
14
+ this.#rejectedCounter = createUpDownCounterWithDefault(meter, Metrics.MEMPOOL_TX_POOL_V2_REJECTED_COUNT);
15
+ this.#softDeletedHitsCounter = createUpDownCounterWithDefault(meter, Metrics.MEMPOOL_TX_POOL_V2_SOFT_DELETED_HITS);
16
+ this.#missingOnProtectCounter = createUpDownCounterWithDefault(meter, Metrics.MEMPOOL_TX_POOL_V2_MISSING_ON_PROTECT);
17
+ this.#missingPreviouslyEvictedCounter = createUpDownCounterWithDefault(meter, Metrics.MEMPOOL_TX_POOL_V2_MISSING_PREVIOUSLY_EVICTED);
18
+ this.#metadataMemoryGauge = meter.createObservableGauge(Metrics.MEMPOOL_TX_POOL_V2_METADATA_MEMORY);
19
+ this.#metadataMemoryGauge.addCallback((result)=>{
20
+ result.observe(metadataMemoryCallback());
21
+ });
22
+ }
23
+ recordEvictions(count, reason) {
24
+ this.#evictedCounter.add(count, {
25
+ [Attributes.TX_POOL_EVICTION_REASON]: reason
26
+ });
27
+ }
28
+ recordIgnored(count) {
29
+ this.#ignoredCounter.add(count);
30
+ }
31
+ recordRejected(count) {
32
+ this.#rejectedCounter.add(count);
33
+ }
34
+ recordSoftDeletedHits(count) {
35
+ this.#softDeletedHitsCounter.add(count);
36
+ }
37
+ recordMissingOnProtect(count) {
38
+ this.#missingOnProtectCounter.add(count);
39
+ }
40
+ recordMissingPreviouslyEvicted(count) {
41
+ this.#missingPreviouslyEvictedCounter.add(count);
42
+ }
43
+ }
@@ -3,6 +3,7 @@ import type { TypedEventEmitter } from '@aztec/foundation/types';
3
3
  import type { L2Block, L2BlockId, L2BlockSource } from '@aztec/stdlib/block';
4
4
  import type { WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
5
5
  import type { BlockHeader, Tx, TxHash, TxValidator } from '@aztec/stdlib/tx';
6
+ import type { TxPoolRejectionError } from './eviction/interfaces.js';
6
7
  import type { TxMetaData, TxState } from './tx_metadata.js';
7
8
  /**
8
9
  * Result of adding transactions to the pending pool.
@@ -15,6 +16,8 @@ export type AddTxsResult = {
15
16
  ignored: TxHash[];
16
17
  /** Transactions rejected because they failed validation (e.g., invalid proof, expired timestamp) */
17
18
  rejected: TxHash[];
19
+ /** Optional rejection errors, only present when there are rejections with structured errors. */
20
+ errors?: Map<string, TxPoolRejectionError>;
18
21
  };
19
22
  /**
20
23
  * Events emitted by TxPoolV2.
@@ -38,6 +41,10 @@ export type TxPoolV2Config = {
38
41
  maxPendingTxCount: number;
39
42
  /** Maximum number of archived transactions to retain (0 = disabled) */
40
43
  archivedTxLimit: number;
44
+ /** Minimum age (ms) a transaction must have been in the pool before it's eligible for block building */
45
+ minTxPoolAgeMs: number;
46
+ /** Maximum number of evicted tx hashes to remember for metrics tracking */
47
+ evictedTxCacheSize: number;
41
48
  };
42
49
  /**
43
50
  * Default configuration values for TxPoolV2.
@@ -51,8 +58,8 @@ export type TxPoolV2Dependencies = {
51
58
  l2BlockSource: L2BlockSource;
52
59
  /** World state synchronizer for validating transactions after chain prunes */
53
60
  worldStateSynchronizer: WorldStateSynchronizer;
54
- /** Validator for transactions entering the pending pool */
55
- pendingTxValidator: TxValidator<Tx>;
61
+ /** Factory that creates a validator for re-validating pool transactions using metadata */
62
+ createTxValidator: () => Promise<TxValidator<TxMetaData>>;
56
63
  };
57
64
  /**
58
65
  * Read-only access to pool state for pre-add checks.
@@ -89,6 +96,7 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
89
96
  */
90
97
  addPendingTxs(txs: Tx[], opts?: {
91
98
  source?: string;
99
+ feeComparisonOnly?: boolean;
92
100
  }): Promise<AddTxsResult>;
93
101
  /**
94
102
  * Checks if a transaction can be added without modifying the pool.
@@ -145,7 +153,9 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
145
153
  * and validates them before returning to pending.
146
154
  * @param latestBlock - The latest valid block ID after the prune
147
155
  */
148
- handlePrunedBlocks(latestBlock: L2BlockId): Promise<void>;
156
+ handlePrunedBlocks(latestBlock: L2BlockId, options?: {
157
+ deleteAllTxs?: boolean;
158
+ }): Promise<void>;
149
159
  /**
150
160
  * Handles failed transaction execution.
151
161
  * Deletes transactions that failed during block building.
@@ -168,6 +178,8 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
168
178
  getTxStatus(txHash: TxHash): Promise<TxState | 'deleted' | undefined>;
169
179
  /** Gets pending transaction hashes sorted by priority (highest first) */
170
180
  getPendingTxHashes(): Promise<TxHash[]>;
181
+ /** Gets pending transaction hashes that have been in the pool long enough per minTxPoolAgeMs, sorted by priority (highest first) */
182
+ getEligiblePendingTxHashes(): Promise<TxHash[]>;
171
183
  /** Gets the count of pending transactions */
172
184
  getPendingTxCount(): Promise<number>;
173
185
  /** Gets mined transaction hashes with their block IDs */
@@ -194,4 +206,4 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
194
206
  /** Stops the pool and releases resources */
195
207
  stop(): Promise<void>;
196
208
  }
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdFLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0UsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVEOzs7R0FHRztBQUNILE1BQU0sTUFBTSxZQUFZLEdBQUc7SUFDekIsa0RBQWtEO0lBQ2xELFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNuQixzSEFBc0g7SUFDdEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLG9HQUFvRztJQUNwRyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDcEIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQixtRUFBbUU7SUFDbkUsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFO1FBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsS0FBSyxJQUFJLENBQUM7SUFDNUQsMERBQTBEO0lBQzFELGFBQWEsRUFBRSxDQUFDLElBQUksRUFBRTtRQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUs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
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdFLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0UsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUQ7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLFlBQVksR0FBRztJQUN6QixrREFBa0Q7SUFDbEQsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ25CLHNIQUFzSDtJQUN0SCxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbEIsb0dBQW9HO0lBQ3BHLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNuQixnR0FBZ0c7SUFDaEcsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0NBQzVDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sTUFBTSxjQUFjLEdBQUc7SUFDM0IsbUVBQW1FO0lBQ25FLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRTtRQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/interfaces.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,7 @@
2
2
  * Default configuration values for TxPoolV2.
3
3
  */ export const DEFAULT_TX_POOL_V2_CONFIG = {
4
4
  maxPendingTxCount: 0,
5
- archivedTxLimit: 0
5
+ archivedTxLimit: 0,
6
+ minTxPoolAgeMs: 2_000,
7
+ evictedTxCacheSize: 10_000
6
8
  };