@aztec/p2p 0.0.1-commit.6d63667d → 0.0.1-commit.71324e566

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 (469) hide show
  1. package/README.md +129 -3
  2. package/dest/client/factory.d.ts +11 -11
  3. package/dest/client/factory.d.ts.map +1 -1
  4. package/dest/client/factory.js +54 -16
  5. package/dest/client/interface.d.ts +54 -34
  6. package/dest/client/interface.d.ts.map +1 -1
  7. package/dest/client/p2p_client.d.ts +41 -52
  8. package/dest/client/p2p_client.d.ts.map +1 -1
  9. package/dest/client/p2p_client.js +179 -226
  10. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +21 -11
  11. package/dest/config.d.ts +133 -92
  12. package/dest/config.d.ts.map +1 -1
  13. package/dest/config.js +108 -39
  14. package/dest/errors/p2p-service.error.d.ts +9 -0
  15. package/dest/errors/p2p-service.error.d.ts.map +1 -0
  16. package/dest/errors/p2p-service.error.js +10 -0
  17. package/dest/errors/tx-pool.error.d.ts +8 -0
  18. package/dest/errors/tx-pool.error.d.ts.map +1 -0
  19. package/dest/errors/tx-pool.error.js +9 -0
  20. package/dest/index.d.ts +2 -2
  21. package/dest/index.d.ts.map +1 -1
  22. package/dest/index.js +1 -1
  23. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +106 -88
  24. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  25. package/dest/mem_pools/attestation_pool/attestation_pool.js +448 -3
  26. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +2 -2
  27. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
  28. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +353 -87
  29. package/dest/mem_pools/attestation_pool/index.d.ts +2 -3
  30. package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -1
  31. package/dest/mem_pools/attestation_pool/index.js +1 -2
  32. package/dest/mem_pools/attestation_pool/mocks.d.ts +2 -2
  33. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  34. package/dest/mem_pools/attestation_pool/mocks.js +2 -2
  35. package/dest/mem_pools/index.d.ts +3 -3
  36. package/dest/mem_pools/index.d.ts.map +1 -1
  37. package/dest/mem_pools/index.js +1 -1
  38. package/dest/mem_pools/instrumentation.d.ts +4 -2
  39. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  40. package/dest/mem_pools/instrumentation.js +16 -14
  41. package/dest/mem_pools/interface.d.ts +5 -5
  42. package/dest/mem_pools/interface.d.ts.map +1 -1
  43. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +104 -0
  44. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -0
  45. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +251 -0
  46. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +3 -3
  47. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -1
  48. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +18 -9
  49. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +1 -1
  50. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -1
  51. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +7 -3
  52. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +3 -3
  53. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -1
  54. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +12 -4
  55. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +2 -2
  56. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -1
  57. package/dest/mem_pools/tx_pool_v2/eviction/index.js +1 -1
  58. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +54 -5
  59. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -1
  60. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +8 -0
  61. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +7 -5
  62. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +9 -7
  63. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +2 -2
  64. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -1
  65. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +14 -6
  66. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +4 -4
  67. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -1
  68. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +16 -4
  69. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +3 -3
  70. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -1
  71. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +3 -3
  72. package/dest/mem_pools/tx_pool_v2/index.d.ts +3 -2
  73. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -1
  74. package/dest/mem_pools/tx_pool_v2/index.js +2 -1
  75. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts +15 -0
  76. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts.map +1 -0
  77. package/dest/mem_pools/tx_pool_v2/instrumentation.js +43 -0
  78. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +30 -12
  79. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
  80. package/dest/mem_pools/tx_pool_v2/interfaces.js +5 -1
  81. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +78 -15
  82. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
  83. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +144 -19
  84. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +12 -3
  85. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -1
  86. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +50 -45
  87. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +12 -5
  88. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -1
  89. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +17 -6
  90. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +14 -5
  91. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -1
  92. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +364 -189
  93. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +5 -2
  94. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  95. package/dest/msg_validators/attestation_validator/attestation_validator.js +20 -11
  96. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +5 -3
  97. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
  98. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +2 -2
  99. package/dest/msg_validators/clock_tolerance.d.ts +12 -1
  100. package/dest/msg_validators/clock_tolerance.d.ts.map +1 -1
  101. package/dest/msg_validators/clock_tolerance.js +54 -3
  102. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +7 -4
  103. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
  104. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +10 -2
  105. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +7 -4
  106. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
  107. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +16 -2
  108. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +15 -8
  109. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
  110. package/dest/msg_validators/proposal_validator/proposal_validator.js +67 -47
  111. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +4 -4
  112. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  113. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +3 -3
  114. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +2 -1
  115. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -1
  116. package/dest/msg_validators/tx_validator/allowed_public_setup.js +24 -20
  117. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts +17 -0
  118. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts.map +1 -0
  119. package/dest/msg_validators/tx_validator/allowed_setup_helpers.js +24 -0
  120. package/dest/msg_validators/tx_validator/archive_cache.js +1 -1
  121. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +16 -3
  122. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  123. package/dest/msg_validators/tx_validator/block_header_validator.js +1 -1
  124. package/dest/msg_validators/tx_validator/contract_instance_validator.d.ts +9 -0
  125. package/dest/msg_validators/tx_validator/contract_instance_validator.d.ts.map +1 -0
  126. package/dest/msg_validators/tx_validator/contract_instance_validator.js +48 -0
  127. package/dest/msg_validators/tx_validator/data_validator.d.ts +1 -1
  128. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  129. package/dest/msg_validators/tx_validator/data_validator.js +35 -2
  130. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +13 -3
  131. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  132. package/dest/msg_validators/tx_validator/double_spend_validator.js +4 -4
  133. package/dest/msg_validators/tx_validator/factory.d.ts +133 -6
  134. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  135. package/dest/msg_validators/tx_validator/factory.js +247 -60
  136. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +1 -1
  137. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -1
  138. package/dest/msg_validators/tx_validator/fee_payer_balance.js +6 -2
  139. package/dest/msg_validators/tx_validator/gas_validator.d.ts +67 -3
  140. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  141. package/dest/msg_validators/tx_validator/gas_validator.js +112 -43
  142. package/dest/msg_validators/tx_validator/index.d.ts +3 -1
  143. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  144. package/dest/msg_validators/tx_validator/index.js +2 -0
  145. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +1 -1
  146. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  147. package/dest/msg_validators/tx_validator/metadata_validator.js +4 -4
  148. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts +14 -0
  149. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts.map +1 -0
  150. package/dest/msg_validators/tx_validator/nullifier_cache.js +24 -0
  151. package/dest/msg_validators/tx_validator/phases_validator.d.ts +22 -2
  152. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  153. package/dest/msg_validators/tx_validator/phases_validator.js +72 -24
  154. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +20 -4
  155. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  156. package/dest/msg_validators/tx_validator/timestamp_validator.js +6 -6
  157. package/dest/services/data_store.d.ts +1 -1
  158. package/dest/services/data_store.d.ts.map +1 -1
  159. package/dest/services/data_store.js +5 -5
  160. package/dest/services/dummy_service.d.ts +17 -6
  161. package/dest/services/dummy_service.d.ts.map +1 -1
  162. package/dest/services/dummy_service.js +16 -5
  163. package/dest/services/encoding.d.ts +7 -3
  164. package/dest/services/encoding.d.ts.map +1 -1
  165. package/dest/services/encoding.js +18 -11
  166. package/dest/services/gossipsub/index.d.ts +3 -0
  167. package/dest/services/gossipsub/index.d.ts.map +1 -0
  168. package/dest/services/gossipsub/index.js +2 -0
  169. package/dest/services/gossipsub/scoring.d.ts +21 -3
  170. package/dest/services/gossipsub/scoring.d.ts.map +1 -1
  171. package/dest/services/gossipsub/scoring.js +24 -7
  172. package/dest/services/gossipsub/topic_score_params.d.ts +184 -0
  173. package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -0
  174. package/dest/services/gossipsub/topic_score_params.js +363 -0
  175. package/dest/services/libp2p/libp2p_service.d.ts +93 -51
  176. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  177. package/dest/services/libp2p/libp2p_service.js +547 -421
  178. package/dest/services/peer-manager/metrics.d.ts +3 -1
  179. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  180. package/dest/services/peer-manager/metrics.js +6 -0
  181. package/dest/services/peer-manager/peer_manager.d.ts +6 -2
  182. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  183. package/dest/services/peer-manager/peer_manager.js +39 -11
  184. package/dest/services/peer-manager/peer_scoring.d.ts +7 -2
  185. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  186. package/dest/services/peer-manager/peer_scoring.js +57 -12
  187. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +12 -8
  188. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -1
  189. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +83 -106
  190. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +4 -7
  191. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -1
  192. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +11 -13
  193. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -1
  194. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +31 -46
  195. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +19 -11
  196. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -1
  197. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +52 -15
  198. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +2 -2
  199. package/dest/services/reqresp/config.d.ts +3 -3
  200. package/dest/services/reqresp/config.d.ts.map +1 -1
  201. package/dest/services/reqresp/interface.d.ts +23 -9
  202. package/dest/services/reqresp/interface.d.ts.map +1 -1
  203. package/dest/services/reqresp/interface.js +23 -10
  204. package/dest/services/reqresp/metrics.d.ts +1 -1
  205. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  206. package/dest/services/reqresp/metrics.js +0 -1
  207. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +4 -3
  208. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
  209. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +7 -1
  210. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
  211. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +15 -0
  212. package/dest/services/reqresp/protocols/index.d.ts +1 -2
  213. package/dest/services/reqresp/protocols/index.d.ts.map +1 -1
  214. package/dest/services/reqresp/protocols/index.js +0 -1
  215. package/dest/services/reqresp/protocols/tx.d.ts +7 -1
  216. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  217. package/dest/services/reqresp/protocols/tx.js +21 -3
  218. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +5 -4
  219. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -1
  220. package/dest/services/reqresp/rate-limiter/rate_limiter.js +10 -8
  221. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +1 -1
  222. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -1
  223. package/dest/services/reqresp/rate-limiter/rate_limits.js +0 -10
  224. package/dest/services/reqresp/reqresp.d.ts +4 -2
  225. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  226. package/dest/services/reqresp/reqresp.js +40 -15
  227. package/dest/services/service.d.ts +43 -4
  228. package/dest/services/service.d.ts.map +1 -1
  229. package/dest/services/tx_collection/config.d.ts +19 -1
  230. package/dest/services/tx_collection/config.d.ts.map +1 -1
  231. package/dest/services/tx_collection/config.js +46 -0
  232. package/dest/services/tx_collection/fast_tx_collection.d.ts +3 -4
  233. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  234. package/dest/services/tx_collection/fast_tx_collection.js +80 -76
  235. package/dest/services/tx_collection/file_store_tx_collection.d.ts +53 -0
  236. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -0
  237. package/dest/services/tx_collection/file_store_tx_collection.js +167 -0
  238. package/dest/services/tx_collection/file_store_tx_source.d.ts +38 -0
  239. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -0
  240. package/dest/services/tx_collection/file_store_tx_source.js +100 -0
  241. package/dest/services/tx_collection/index.d.ts +2 -1
  242. package/dest/services/tx_collection/index.d.ts.map +1 -1
  243. package/dest/services/tx_collection/index.js +1 -0
  244. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  245. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  246. package/dest/services/tx_collection/instrumentation.js +2 -1
  247. package/dest/services/tx_collection/proposal_tx_collector.d.ts +7 -7
  248. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -1
  249. package/dest/services/tx_collection/proposal_tx_collector.js +5 -4
  250. package/dest/services/tx_collection/request_tracker.d.ts +53 -0
  251. package/dest/services/tx_collection/request_tracker.d.ts.map +1 -0
  252. package/dest/services/tx_collection/request_tracker.js +84 -0
  253. package/dest/services/tx_collection/slow_tx_collection.d.ts +7 -3
  254. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
  255. package/dest/services/tx_collection/slow_tx_collection.js +60 -26
  256. package/dest/services/tx_collection/tx_collection.d.ts +23 -13
  257. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  258. package/dest/services/tx_collection/tx_collection.js +75 -3
  259. package/dest/services/tx_collection/tx_collection_sink.d.ts +18 -8
  260. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
  261. package/dest/services/tx_collection/tx_collection_sink.js +26 -29
  262. package/dest/services/tx_collection/tx_source.d.ts +13 -7
  263. package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
  264. package/dest/services/tx_collection/tx_source.js +26 -7
  265. package/dest/services/tx_file_store/config.d.ts +1 -3
  266. package/dest/services/tx_file_store/config.d.ts.map +1 -1
  267. package/dest/services/tx_file_store/config.js +0 -4
  268. package/dest/services/tx_file_store/tx_file_store.d.ts +4 -3
  269. package/dest/services/tx_file_store/tx_file_store.d.ts.map +1 -1
  270. package/dest/services/tx_file_store/tx_file_store.js +9 -6
  271. package/dest/services/tx_provider.d.ts +4 -4
  272. package/dest/services/tx_provider.d.ts.map +1 -1
  273. package/dest/services/tx_provider.js +9 -8
  274. package/dest/test-helpers/make-test-p2p-clients.d.ts +7 -8
  275. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  276. package/dest/test-helpers/make-test-p2p-clients.js +1 -2
  277. package/dest/test-helpers/mock-pubsub.d.ts +40 -6
  278. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  279. package/dest/test-helpers/mock-pubsub.js +139 -13
  280. package/dest/test-helpers/reqresp-nodes.d.ts +2 -3
  281. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  282. package/dest/test-helpers/reqresp-nodes.js +5 -5
  283. package/dest/test-helpers/testbench-utils.d.ts +43 -38
  284. package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
  285. package/dest/test-helpers/testbench-utils.js +150 -61
  286. package/dest/testbench/p2p_client_testbench_worker.d.ts +2 -2
  287. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  288. package/dest/testbench/p2p_client_testbench_worker.js +80 -28
  289. package/dest/testbench/worker_client_manager.d.ts +10 -1
  290. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  291. package/dest/testbench/worker_client_manager.js +55 -3
  292. package/dest/util.d.ts +3 -3
  293. package/dest/util.d.ts.map +1 -1
  294. package/package.json +14 -14
  295. package/src/client/factory.ts +105 -29
  296. package/src/client/interface.ts +65 -35
  297. package/src/client/p2p_client.ts +216 -272
  298. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +34 -15
  299. package/src/config.ts +171 -45
  300. package/src/errors/p2p-service.error.ts +11 -0
  301. package/src/errors/tx-pool.error.ts +12 -0
  302. package/src/index.ts +1 -1
  303. package/src/mem_pools/attestation_pool/attestation_pool.ts +501 -91
  304. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +442 -102
  305. package/src/mem_pools/attestation_pool/index.ts +9 -2
  306. package/src/mem_pools/attestation_pool/mocks.ts +2 -1
  307. package/src/mem_pools/index.ts +2 -2
  308. package/src/mem_pools/instrumentation.ts +17 -13
  309. package/src/mem_pools/interface.ts +4 -4
  310. package/src/mem_pools/tx_pool_v2/README.md +85 -11
  311. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +321 -0
  312. package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +21 -8
  313. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +7 -3
  314. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +18 -4
  315. package/src/mem_pools/tx_pool_v2/eviction/index.ts +4 -0
  316. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +59 -4
  317. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +5 -5
  318. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +8 -8
  319. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +14 -9
  320. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +33 -6
  321. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +4 -3
  322. package/src/mem_pools/tx_pool_v2/index.ts +2 -1
  323. package/src/mem_pools/tx_pool_v2/instrumentation.ts +69 -0
  324. package/src/mem_pools/tx_pool_v2/interfaces.ts +32 -12
  325. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +209 -27
  326. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +58 -45
  327. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +34 -8
  328. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +410 -187
  329. package/src/msg_validators/attestation_validator/README.md +49 -0
  330. package/src/msg_validators/attestation_validator/attestation_validator.ts +21 -9
  331. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +6 -3
  332. package/src/msg_validators/clock_tolerance.ts +72 -3
  333. package/src/msg_validators/proposal_validator/README.md +123 -0
  334. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +17 -4
  335. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +23 -7
  336. package/src/msg_validators/proposal_validator/proposal_validator.ts +79 -49
  337. package/src/msg_validators/tx_validator/README.md +119 -0
  338. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +5 -5
  339. package/src/msg_validators/tx_validator/allowed_public_setup.ts +22 -27
  340. package/src/msg_validators/tx_validator/allowed_setup_helpers.ts +31 -0
  341. package/src/msg_validators/tx_validator/archive_cache.ts +1 -1
  342. package/src/msg_validators/tx_validator/block_header_validator.ts +15 -3
  343. package/src/msg_validators/tx_validator/contract_instance_validator.ts +56 -0
  344. package/src/msg_validators/tx_validator/data_validator.ts +42 -1
  345. package/src/msg_validators/tx_validator/double_spend_validator.ts +11 -6
  346. package/src/msg_validators/tx_validator/factory.ts +394 -78
  347. package/src/msg_validators/tx_validator/fee_payer_balance.ts +6 -2
  348. package/src/msg_validators/tx_validator/gas_validator.ts +145 -33
  349. package/src/msg_validators/tx_validator/index.ts +2 -0
  350. package/src/msg_validators/tx_validator/metadata_validator.ts +12 -4
  351. package/src/msg_validators/tx_validator/nullifier_cache.ts +30 -0
  352. package/src/msg_validators/tx_validator/phases_validator.ts +82 -27
  353. package/src/msg_validators/tx_validator/timestamp_validator.ts +23 -18
  354. package/src/services/data_store.ts +5 -13
  355. package/src/services/dummy_service.ts +25 -7
  356. package/src/services/encoding.ts +18 -10
  357. package/src/services/gossipsub/README.md +641 -0
  358. package/src/services/gossipsub/index.ts +2 -0
  359. package/src/services/gossipsub/scoring.ts +29 -5
  360. package/src/services/gossipsub/topic_score_params.ts +519 -0
  361. package/src/services/libp2p/libp2p_service.ts +566 -460
  362. package/src/services/peer-manager/metrics.ts +7 -0
  363. package/src/services/peer-manager/peer_manager.ts +45 -11
  364. package/src/services/peer-manager/peer_scoring.ts +52 -5
  365. package/src/services/reqresp/README.md +229 -0
  366. package/src/services/reqresp/batch-tx-requester/README.md +46 -7
  367. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +79 -112
  368. package/src/services/reqresp/batch-tx-requester/interface.ts +3 -6
  369. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +30 -71
  370. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +68 -24
  371. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +2 -2
  372. package/src/services/reqresp/config.ts +2 -2
  373. package/src/services/reqresp/interface.ts +45 -10
  374. package/src/services/reqresp/metrics.ts +0 -1
  375. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +4 -3
  376. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +17 -0
  377. package/src/services/reqresp/protocols/index.ts +0 -1
  378. package/src/services/reqresp/protocols/tx.ts +23 -3
  379. package/src/services/reqresp/rate-limiter/rate_limiter.ts +13 -9
  380. package/src/services/reqresp/rate-limiter/rate_limits.ts +0 -10
  381. package/src/services/reqresp/reqresp.ts +53 -16
  382. package/src/services/service.ts +57 -3
  383. package/src/services/tx_collection/config.ts +68 -0
  384. package/src/services/tx_collection/fast_tx_collection.ts +83 -76
  385. package/src/services/tx_collection/file_store_tx_collection.ts +202 -0
  386. package/src/services/tx_collection/file_store_tx_source.ts +129 -0
  387. package/src/services/tx_collection/index.ts +1 -0
  388. package/src/services/tx_collection/instrumentation.ts +7 -1
  389. package/src/services/tx_collection/proposal_tx_collector.ts +9 -13
  390. package/src/services/tx_collection/request_tracker.ts +127 -0
  391. package/src/services/tx_collection/slow_tx_collection.ts +66 -33
  392. package/src/services/tx_collection/tx_collection.ts +114 -19
  393. package/src/services/tx_collection/tx_collection_sink.ts +30 -34
  394. package/src/services/tx_collection/tx_source.ts +28 -8
  395. package/src/services/tx_file_store/config.ts +0 -6
  396. package/src/services/tx_file_store/tx_file_store.ts +10 -8
  397. package/src/services/tx_provider.ts +10 -9
  398. package/src/test-helpers/make-test-p2p-clients.ts +4 -6
  399. package/src/test-helpers/mock-pubsub.ts +177 -14
  400. package/src/test-helpers/reqresp-nodes.ts +7 -9
  401. package/src/test-helpers/testbench-utils.ts +157 -74
  402. package/src/testbench/p2p_client_testbench_worker.ts +91 -31
  403. package/src/testbench/worker_client_manager.ts +68 -6
  404. package/src/util.ts +8 -2
  405. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +0 -40
  406. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +0 -1
  407. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +0 -218
  408. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +0 -31
  409. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +0 -1
  410. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +0 -180
  411. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +0 -125
  412. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +0 -1
  413. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +0 -596
  414. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +0 -32
  415. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +0 -1
  416. package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +0 -112
  417. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +0 -157
  418. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +0 -1
  419. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +0 -52
  420. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts +0 -16
  421. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts.map +0 -1
  422. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.js +0 -122
  423. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +0 -17
  424. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +0 -1
  425. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +0 -84
  426. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +0 -19
  427. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +0 -1
  428. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +0 -78
  429. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +0 -26
  430. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +0 -1
  431. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.js +0 -84
  432. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts +0 -25
  433. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts.map +0 -1
  434. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.js +0 -57
  435. package/dest/mem_pools/tx_pool/index.d.ts +0 -3
  436. package/dest/mem_pools/tx_pool/index.d.ts.map +0 -1
  437. package/dest/mem_pools/tx_pool/index.js +0 -2
  438. package/dest/mem_pools/tx_pool/priority.d.ts +0 -12
  439. package/dest/mem_pools/tx_pool/priority.d.ts.map +0 -1
  440. package/dest/mem_pools/tx_pool/priority.js +0 -15
  441. package/dest/mem_pools/tx_pool/tx_pool.d.ts +0 -127
  442. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +0 -1
  443. package/dest/mem_pools/tx_pool/tx_pool.js +0 -3
  444. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +0 -7
  445. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +0 -1
  446. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +0 -400
  447. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +0 -23
  448. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +0 -1
  449. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +0 -212
  450. package/dest/services/reqresp/protocols/block.d.ts +0 -9
  451. package/dest/services/reqresp/protocols/block.d.ts.map +0 -1
  452. package/dest/services/reqresp/protocols/block.js +0 -32
  453. package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +0 -320
  454. package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +0 -264
  455. package/src/mem_pools/tx_pool/README.md +0 -270
  456. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +0 -746
  457. package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +0 -132
  458. package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +0 -208
  459. package/src/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.ts +0 -162
  460. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +0 -104
  461. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +0 -93
  462. package/src/mem_pools/tx_pool/eviction/low_priority_eviction_rule.ts +0 -106
  463. package/src/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.ts +0 -75
  464. package/src/mem_pools/tx_pool/index.ts +0 -2
  465. package/src/mem_pools/tx_pool/priority.ts +0 -20
  466. package/src/mem_pools/tx_pool/tx_pool.ts +0 -141
  467. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +0 -319
  468. package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +0 -230
  469. package/src/services/reqresp/protocols/block.ts +0 -37
@@ -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,14 @@ 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;
48
+ /** The probability (0-1) that a transaction is discarded. 0 disables dropping. For testing purposes only. */
49
+ dropTransactionsProbability: number;
50
+ /** Minimum percentage fee increase required to replace an existing tx via RPC (0 = no bump). */
51
+ priceBumpPercentage: bigint;
41
52
  };
42
53
  /**
43
54
  * Default configuration values for TxPoolV2.
@@ -51,8 +62,10 @@ export type TxPoolV2Dependencies = {
51
62
  l2BlockSource: L2BlockSource;
52
63
  /** World state synchronizer for validating transactions after chain prunes */
53
64
  worldStateSynchronizer: WorldStateSynchronizer;
54
- /** Validator for transactions entering the pending pool */
55
- pendingTxValidator: TxValidator<Tx>;
65
+ /** Factory that creates a validator for re-validating pool transactions using metadata */
66
+ createTxValidator: () => Promise<TxValidator<TxMetaData>>;
67
+ /** Checks whether a tx's setup-phase calls are on the allow list. Precomputed at receipt time. */
68
+ checkAllowedSetupCalls: (tx: Tx) => Promise<boolean>;
56
69
  };
57
70
  /**
58
71
  * Read-only access to pool state for pre-add checks.
@@ -89,14 +102,15 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
89
102
  */
90
103
  addPendingTxs(txs: Tx[], opts?: {
91
104
  source?: string;
105
+ feeComparisonOnly?: boolean;
92
106
  }): Promise<AddTxsResult>;
93
107
  /**
94
- * Checks if a transaction can be added without modifying the pool.
95
- * Performs the same validation as addPendingTxs but doesn't persist changes.
108
+ * Checks if the pool would accept a transaction without modifying state.
109
+ * Used as a pre-check before expensive proof verification.
96
110
  * @param tx - Transaction to check
97
- * @returns Result: 'accepted', 'ignored' (if already in pool or undesirable), or 'rejected' (if validation fails)
111
+ * @returns 'accepted' if the pool would accept, 'ignored' if already in pool or undesirable
98
112
  */
99
- canAddPendingTx(tx: Tx): Promise<'accepted' | 'ignored' | 'rejected'>;
113
+ canAddPendingTx(tx: Tx): Promise<'accepted' | 'ignored'>;
100
114
  /**
101
115
  * Adds transactions as immediately protected for a given slot.
102
116
  * Used when receiving transactions from a block proposal we're validating.
@@ -133,10 +147,10 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
133
147
  */
134
148
  handleMinedBlock(block: L2Block): Promise<void>;
135
149
  /**
136
- * Prepares the pool for a new slot.
137
- * Unprotects transactions from earlier slots and validates them before
138
- * returning to pending state.
139
- * @param slotNumber - The slot number to prepare for
150
+ * Prepares the pool for a new slot by unprotecting transactions from earlier
151
+ * slots and re-validating them before returning to pending state.
152
+ * @param slotNumber - The pipeline slot we are building for (i.e. the slot
153
+ * the resulting blocks will target on L1).
140
154
  */
141
155
  prepareForSlot(slotNumber: SlotNumber): Promise<void>;
142
156
  /**
@@ -145,7 +159,9 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
145
159
  * and validates them before returning to pending.
146
160
  * @param latestBlock - The latest valid block ID after the prune
147
161
  */
148
- handlePrunedBlocks(latestBlock: L2BlockId): Promise<void>;
162
+ handlePrunedBlocks(latestBlock: L2BlockId, options?: {
163
+ deleteAllTxs?: boolean;
164
+ }): Promise<void>;
149
165
  /**
150
166
  * Handles failed transaction execution.
151
167
  * Deletes transactions that failed during block building.
@@ -168,6 +184,8 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
168
184
  getTxStatus(txHash: TxHash): Promise<TxState | 'deleted' | undefined>;
169
185
  /** Gets pending transaction hashes sorted by priority (highest first) */
170
186
  getPendingTxHashes(): Promise<TxHash[]>;
187
+ /** Gets pending transaction hashes that have been in the pool long enough per minTxPoolAgeMs, sorted by priority (highest first) */
188
+ getEligiblePendingTxHashes(): Promise<TxHash[]>;
171
189
  /** Gets the count of pending transactions */
172
190
  getPendingTxCount(): Promise<number>;
173
191
  /** Gets mined transaction hashes with their block IDs */
@@ -194,4 +212,4 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
194
212
  /** Stops the pool and releases resources */
195
213
  stop(): Promise<void>;
196
214
  }
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdFLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0UsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVEOzs7R0FHRztBQUNILE1BQU0sTUFBTSxZQUFZLEdBQUc7SUFDekIsa0RBQWtEO0lBQ2xELFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNuQixzSEFBc0g7SUFDdEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLG9HQUFvRztJQUNwRyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDcEIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQixtRUFBbUU7SUFDbkUsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFO1FBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsS0FBSyxJQUFJLENBQUM7SUFDNUQsMERBQTBEO0lBQzFELGFBQWEsRUFBRSxDQUFDLElBQUksRUFBRTtRQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUs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
215
+ //# 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":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE5D;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sHAAsH;IACtH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oGAAoG;IACpG,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,mEAAmE;IACnE,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5D,0DAA0D;IAC1D,aAAa,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,0EAA0E;IAC1E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,cAGvC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,oFAAoF;IACpF,aAAa,EAAE,aAAa,CAAC;IAC7B,8EAA8E;IAC9E,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,2DAA2D;IAC3D,kBAAkB,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACpD,0EAA0E;IAC1E,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5D,6DAA6D;IAC7D,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACjE,gDAAgD;IAChD,iBAAiB,IAAI,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,QAAS,SAAQ,iBAAiB,CAAC,cAAc,CAAC;IAGjE;;;;;;OAMG;IACH,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE5E;;;;;OAKG;IACH,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;IAEtE;;;;;;OAMG;IACH,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1F;;;;;;;OAOG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtE;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAItF;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD;;;;;OAKG;IACH,kBAAkB,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D;;;;OAIG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;;OAIG;IACH,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,qCAAqC;IACrC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAErD,iDAAiD;IACjD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAE9D,+CAA+C;IAC/C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE/C,uCAAuC;IACvC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;IAEtE,yEAAyE;IACzE,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAExC,6CAA6C;IAC7C,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC,yDAAyD;IACzD,gBAAgB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAEnD,2CAA2C;IAC3C,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnC,kCAAkC;IAClC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5B,+CAA+C;IAC/C,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE7D,oDAAoD;IACpD,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAI3D,qCAAqC;IACrC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAI7D;;;;;;;OAOG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,4CAA4C;IAC5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
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,9 @@
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,
8
+ dropTransactionsProbability: 0,
9
+ priceBumpPercentage: 10n
6
10
  };
@@ -1,6 +1,29 @@
1
- import type { L2BlockId } from '@aztec/stdlib/block';
2
- import type { Tx } from '@aztec/stdlib/tx';
3
- import type { PreAddResult } from './eviction/interfaces.js';
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { BlockHash, type L2BlockId } from '@aztec/stdlib/block';
4
+ import { Gas } from '@aztec/stdlib/gas';
5
+ import { type Tx } from '@aztec/stdlib/tx';
6
+ import { type PreAddResult } from './eviction/interfaces.js';
7
+ /** Validator-compatible data interface, mirroring the subset of PrivateKernelTailCircuitPublicInputs used by validators. */
8
+ export type TxMetaValidationData = {
9
+ getNonEmptyNullifiers(): Fr[];
10
+ expirationTimestamp: bigint;
11
+ /** Whether the tx has public calls. Used to select the correct L2 gas minimum. */
12
+ forPublic?: unknown;
13
+ constants: {
14
+ anchorBlockHeader: {
15
+ hash(): Promise<BlockHash>;
16
+ globalVariables: {
17
+ blockNumber: BlockNumber;
18
+ };
19
+ };
20
+ txContext: {
21
+ gasSettings: {
22
+ gasLimits: Gas;
23
+ };
24
+ };
25
+ };
26
+ };
4
27
  /**
5
28
  * Lightweight in-memory representation of a transaction.
6
29
  * Stored for every tx in the pool to enable efficient queries and challenges
@@ -12,6 +35,8 @@ import type { PreAddResult } from './eviction/interfaces.js';
12
35
  export type TxMetaData = {
13
36
  /** The transaction hash as hex string */
14
37
  readonly txHash: string;
38
+ /** The transaction hash as bigint (for efficient Fr conversion in comparisons) */
39
+ readonly txHashBigInt: bigint;
15
40
  /** Block ID (number and hash) in which the transaction was mined (undefined if not mined) */
16
41
  minedL2BlockId?: L2BlockId;
17
42
  /** Hash of the block header the transaction uses as its anchor (hex string) */
@@ -27,45 +52,83 @@ export type TxMetaData = {
27
52
  /** Non-empty nullifiers emitted by the transaction (hex strings) */
28
53
  readonly nullifiers: readonly string[];
29
54
  /** Timestamp by which the transaction must be included (for expiration checks) */
30
- readonly includeByTimestamp: bigint;
55
+ readonly expirationTimestamp: bigint;
56
+ /** Whether the tx's setup-phase calls pass the allow list check. Computed at receipt time. */
57
+ readonly allowedSetupCalls: boolean;
58
+ /** Validator-compatible data, providing the same access patterns as Tx.data */
59
+ readonly data: TxMetaValidationData;
60
+ /** Timestamp (ms) when the tx was received into the pool. 0 for hydrated txs (always eligible). */
61
+ receivedAt: number;
62
+ /** Estimated memory footprint of this metadata object in bytes */
63
+ readonly estimatedSizeBytes: number;
31
64
  };
32
65
  /** Transaction state derived from TxMetaData fields and pool protection status */
33
- export type TxState = 'pending' | 'protected' | 'mined';
66
+ export type TxState = 'pending' | 'protected' | 'mined' | 'deleted';
34
67
  /**
35
68
  * Builds TxMetaData from a full Tx object.
36
69
  * Extracts all relevant fields for efficient in-memory storage and querying.
70
+ * Fr values are captured in closures for zero-cost re-validation.
71
+ *
72
+ * @param allowedSetupCalls - Whether the tx's setup-phase calls pass the allow list.
73
+ * For gossip/RPC txs this is always `true` (already validated by PhasesTxValidator).
74
+ * For req/resp txs this should be computed by the caller using the phases validator.
37
75
  */
38
- export declare function buildTxMetaData(tx: Tx): Promise<TxMetaData>;
76
+ export declare function buildTxMetaData(tx: Tx, allowedSetupCalls?: boolean): Promise<TxMetaData>;
77
+ /** Converts a txHash bigint back to the canonical 0x-prefixed 64-char hex string. */
78
+ export declare function txHashFromBigInt(value: bigint): string;
39
79
  /** Minimal fields required for priority comparison. */
40
- type PriorityComparable = Pick<TxMetaData, 'txHash' | 'priorityFee'>;
80
+ export type PriorityComparable = Pick<TxMetaData, 'txHash' | 'txHashBigInt' | 'priorityFee'>;
41
81
  /**
42
82
  * Compares two priority fees in ascending order.
43
83
  * Returns negative if a < b, positive if a > b, 0 if equal.
44
84
  */
45
- export declare function compareFee(a: bigint, b: bigint): number;
85
+ export declare function compareFee(a: bigint, b: bigint): -1 | 0 | 1;
46
86
  /**
47
87
  * Compares two tx hashes in ascending order.
48
88
  * Uses field element comparison for deterministic ordering.
49
89
  * Returns negative if a < b, positive if a > b, 0 if equal.
50
90
  */
51
- export declare function compareTxHash(a: string, b: string): number;
91
+ export declare function compareTxHash(a: bigint, b: bigint): -1 | 0 | 1;
52
92
  /**
53
93
  * Compares two transactions by priority fee, with txHash as tiebreaker.
54
94
  * Returns negative if a < b, positive if a > b, 0 if equal.
55
95
  * Use with sort() for ascending order, or negate/reverse for descending.
56
96
  */
57
- export declare function comparePriority(a: PriorityComparable, b: PriorityComparable): number;
97
+ export declare function comparePriority(a: PriorityComparable, b: PriorityComparable): -1 | 0 | 1;
98
+ /**
99
+ * Returns the minimum fee required to replace an existing tx with the given price bump percentage.
100
+ * Uses integer arithmetic: `existingFee + existingFee * priceBumpPercentage / 100`.
101
+ */
102
+ export declare function getMinimumPriceBumpFee(existingFee: bigint, priceBumpPercentage: bigint): bigint;
58
103
  /**
59
104
  * Checks for nullifier conflicts between an incoming transaction and existing pool state.
60
105
  *
61
106
  * When the incoming tx shares nullifiers with existing pending txs:
62
- * - If the incoming tx has strictly higher priority, mark conflicting txs for eviction
63
- * - If any conflicting tx has equal or higher priority, ignore the incoming tx
107
+ * - If the incoming tx meets or exceeds the required priority, mark conflicting txs for eviction
108
+ * - Otherwise, ignore the incoming tx
109
+ *
110
+ * When `priceBumpPercentage` is provided (RPC path), uses fee-only comparison with the
111
+ * percentage bump instead of `comparePriority`.
64
112
  *
65
113
  * @param incomingMeta - Metadata for the incoming transaction
66
114
  * @param getTxHashByNullifier - Accessor to find which tx uses a nullifier
67
115
  * @param getMetadata - Accessor to get metadata for a tx hash
116
+ * @param priceBumpPercentage - Optional percentage bump required for fee-based replacement
68
117
  */
69
- export declare function checkNullifierConflict(incomingMeta: TxMetaData, getTxHashByNullifier: (nullifier: string) => string | undefined, getMetadata: (txHash: string) => TxMetaData | undefined): PreAddResult;
70
- export {};
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfbWV0YWRhdGEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi90eF9tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUkzQyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxNQUFNLFVBQVUsR0FBRztJQUN2Qix5Q0FBeUM7SUFDekMsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFeEIsNkZBQTZGO0lBQzdGLGNBQWMsQ0FBQyxFQUFFLFNBQVMsQ0FBQztJQUUzQiwrRUFBK0U7SUFDL0UsUUFBUSxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQztJQUV2QyxnRUFBZ0U7SUFDaEUsUUFBUSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFFN0IsMENBQTBDO0lBQzFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO0lBRTFCLHlDQUF5QztJQUN6QyxRQUFRLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUU3QixvQkFBb0I7SUFDcEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFFMUIsb0VBQW9FO0lBQ3BFLFFBQVEsQ0FBQyxVQUFVLEVBQUUsU0FBUyxNQUFNLEVBQUUsQ0FBQztJQUV2QyxrRkFBa0Y7SUFDbEYsUUFBUSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQztDQUNyQyxDQUFDO0FBRUYsa0ZBQWtGO0FBQ2xGLE1BQU0sTUFBTSxPQUFPLEdBQUcsU0FBUyxHQUFHLFdBQVcsR0FBRyxPQUFPLENBQUM7QUFFeEQ7OztHQUdHO0FBQ0gsd0JBQXNCLGVBQWUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FvQmpFO0FBRUQsdURBQXVEO0FBQ3ZELEtBQUssa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLEdBQUcsYUFBYSxDQUFDLENBQUM7QUFFckU7OztHQUdHO0FBQ0gsd0JBQWdCLFVBQVUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUV2RDtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBSTFEO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFnQixlQUFlLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRSxrQkFBa0IsR0FBRyxNQUFNLENBTXBGO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILHdCQUFnQixzQkFBc0IsQ0FDcEMsWUFBWSxFQUFFLFVBQVUsRUFDeEIsb0JBQW9CLEVBQUUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxLQUFLLE1BQU0sR0FBRyxTQUFTLEVBQy9ELFdBQVcsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUssVUFBVSxHQUFHLFNBQVMsR0FDdEQsWUFBWSxDQW1DZCJ9
118
+ export declare function checkNullifierConflict(incomingMeta: TxMetaData, getTxHashByNullifier: (nullifier: string) => string | undefined, getMetadata: (txHash: string) => TxMetaData | undefined, priceBumpPercentage?: bigint): PreAddResult;
119
+ /** Creates a stub TxMetaValidationData for tests that don't exercise validators. */
120
+ export declare function stubTxMetaValidationData(overrides?: {
121
+ expirationTimestamp?: bigint;
122
+ }): TxMetaValidationData;
123
+ /** Creates a stub TxMetaData for tests. All fields have sensible defaults and can be overridden. */
124
+ export declare function stubTxMetaData(txHash: string, overrides?: {
125
+ priorityFee?: bigint;
126
+ feePayer?: string;
127
+ claimAmount?: bigint;
128
+ feeLimit?: bigint;
129
+ nullifiers?: string[];
130
+ expirationTimestamp?: bigint;
131
+ anchorBlockHeaderHash?: string;
132
+ allowedSetupCalls?: boolean;
133
+ }): TxMetaData;
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfbWV0YWRhdGEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi90eF9tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFHbkQsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUF1QixNQUFNLDBCQUEwQixDQUFDO0FBRWxGLDRIQUE0SDtBQUM1SCxNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMscUJBQXFCLElBQUksRUFBRSxFQUFFLENBQUM7SUFDOUIsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0lBQzVCLGtGQUFrRjtJQUNsRixTQUFTLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDcEIsU0FBUyxFQUFFO1FBQ1QsaUJBQWlCLEVBQUU7WUFDakIsSUFBSSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzQixlQUFlLEVBQUU7Z0JBQ2YsV0FBVyxFQUFFLFdBQVcsQ0FBQzthQUMxQixDQUFDO1NBQ0gsQ0FBQztRQUNGLFNBQVMsRUFBRTtZQUNULFdBQVcsRUFBRTtnQkFBRSxTQUFTLEVBQUUsR0FBRyxDQUFBO2FBQUUsQ0FBQztTQUNqQyxDQUFDO0tBQ0gsQ0FBQztDQUNILENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxNQUFNLFVBQVUsR0FBRztJQUN2Qix5Q0FBeUM7SUFDekMsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFeEIs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
@@ -1 +1 @@
1
- {"version":3,"file":"tx_metadata.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/tx_metadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAI3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,6FAA6F;IAC7F,cAAc,CAAC,EAAE,SAAS,CAAC;IAE3B,+EAA+E;IAC/E,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAEvC,gEAAgE;IAChE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,yCAAyC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAEvC,kFAAkF;IAClF,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAExD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAoBjE;AAED,uDAAuD;AACvD,KAAK,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,aAAa,CAAC,CAAC;AAErE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAMpF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,UAAU,EACxB,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,EAC/D,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,GACtD,YAAY,CAmCd"}
1
+ {"version":3,"file":"tx_metadata.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/tx_metadata.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,87 @@
1
+ import { minBigint } from '@aztec/foundation/bigint';
2
+ import { BlockNumber } from '@aztec/foundation/branded-types';
1
3
  import { Fr } from '@aztec/foundation/curves/bn254';
2
4
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
5
+ import { BlockHash } from '@aztec/stdlib/block';
6
+ import { Gas } from '@aztec/stdlib/gas';
7
+ import { TxHash } from '@aztec/stdlib/tx';
3
8
  import { getFeePayerBalanceDelta } from '../../msg_validators/tx_validator/fee_payer_balance.js';
4
- import { getTxPriorityFee } from '../tx_pool/priority.js';
9
+ import { TxPoolRejectionCode } from './eviction/interfaces.js';
5
10
  /**
6
11
  * Builds TxMetaData from a full Tx object.
7
12
  * Extracts all relevant fields for efficient in-memory storage and querying.
8
- */ export async function buildTxMetaData(tx) {
9
- const txHash = tx.getTxHash().toString();
10
- const anchorBlockHeaderHash = (await tx.data.constants.anchorBlockHeader.hash()).toString();
13
+ * Fr values are captured in closures for zero-cost re-validation.
14
+ *
15
+ * @param allowedSetupCalls - Whether the tx's setup-phase calls pass the allow list.
16
+ * For gossip/RPC txs this is always `true` (already validated by PhasesTxValidator).
17
+ * For req/resp txs this should be computed by the caller using the phases validator.
18
+ */ export async function buildTxMetaData(tx, allowedSetupCalls = true) {
19
+ const txHashObj = tx.getTxHash();
20
+ const txHash = txHashObj.toString();
21
+ const txHashBigInt = txHashObj.toBigInt();
22
+ const nullifierFrs = tx.data.getNonEmptyNullifiers();
23
+ const nullifiers = nullifierFrs.map((n)=>n.toString());
24
+ const anchorBlockHeaderHashFr = await tx.data.constants.anchorBlockHeader.hash();
25
+ const anchorBlockHeaderHash = anchorBlockHeaderHashFr.toString();
26
+ const expirationTimestamp = tx.data.expirationTimestamp;
27
+ const anchorBlockNumber = tx.data.constants.anchorBlockHeader.globalVariables.blockNumber;
11
28
  const priorityFee = getTxPriorityFee(tx);
12
29
  const feePayer = tx.data.feePayer.toString();
13
- const nullifiers = tx.data.getNonEmptyNullifiers().map((n)=>n.toString());
14
- const includeByTimestamp = tx.data.includeByTimestamp;
15
30
  const { feeLimit, claimAmount } = await getFeePayerBalanceDelta(tx, ProtocolContractAddress.FeeJuice);
31
+ const estimatedSizeBytes = estimateTxMetaDataSize(nullifiers.length);
16
32
  return {
17
33
  txHash,
34
+ txHashBigInt,
18
35
  anchorBlockHeaderHash,
19
36
  priorityFee,
20
37
  feePayer,
21
38
  claimAmount,
22
39
  feeLimit,
23
40
  nullifiers,
24
- includeByTimestamp
41
+ expirationTimestamp,
42
+ allowedSetupCalls,
43
+ receivedAt: 0,
44
+ estimatedSizeBytes,
45
+ data: {
46
+ getNonEmptyNullifiers: ()=>nullifierFrs,
47
+ expirationTimestamp,
48
+ forPublic: !!tx.data.forPublic,
49
+ constants: {
50
+ anchorBlockHeader: {
51
+ hash: ()=>Promise.resolve(anchorBlockHeaderHashFr),
52
+ globalVariables: {
53
+ blockNumber: anchorBlockNumber
54
+ }
55
+ },
56
+ txContext: {
57
+ gasSettings: {
58
+ gasLimits: tx.data.constants.txContext.gasSettings.gasLimits
59
+ }
60
+ }
61
+ }
62
+ }
25
63
  };
26
64
  }
65
+ // V8 JS object overhead (~64 bytes for a plain object with hidden class).
66
+ // String overhead: ~32 bytes header + 1 byte per ASCII char (V8 one-byte strings).
67
+ // Hex string (0x + 64 hex chars = 66 chars): ~98 bytes per string.
68
+ // bigint: ~32 bytes. number: 8 bytes. Fr: ~80 bytes (32 data + object overhead).
69
+ const OBJECT_OVERHEAD = 64;
70
+ const HEX_STRING_BYTES = 98;
71
+ const BIGINT_BYTES = 32;
72
+ const FR_BYTES = 80;
73
+ // Fixed cost: object shell + txHash + anchorBlockHeaderHash + feePayer (3 hex strings)
74
+ // + txHashBigInt + priorityFee + claimAmount + feeLimit + includeByTimestamp (5 bigints)
75
+ // + receivedAt (number, 8 bytes) + estimatedSizeBytes (number, 8 bytes)
76
+ // + data closure object (~OBJECT_OVERHEAD + anchorBlockHeaderHashFr Fr + anchorBlockNumber number)
77
+ const FIXED_METADATA_BYTES = OBJECT_OVERHEAD + 3 * HEX_STRING_BYTES + 5 * BIGINT_BYTES + 8 + 8 + OBJECT_OVERHEAD + FR_BYTES + 8;
78
+ /** Estimates the in-memory size of a TxMetaData object based on the number of nullifiers. */ function estimateTxMetaDataSize(nullifierCount) {
79
+ // Per nullifier: one hex string in nullifiers[] + one Fr in the captured nullifierFrs[]
80
+ return FIXED_METADATA_BYTES + nullifierCount * (HEX_STRING_BYTES + FR_BYTES);
81
+ }
82
+ /** Converts a txHash bigint back to the canonical 0x-prefixed 64-char hex string. */ export function txHashFromBigInt(value) {
83
+ return TxHash.fromBigInt(value).toString();
84
+ }
27
85
  /**
28
86
  * Compares two priority fees in ascending order.
29
87
  * Returns negative if a < b, positive if a > b, 0 if equal.
@@ -35,9 +93,7 @@ import { getTxPriorityFee } from '../tx_pool/priority.js';
35
93
  * Uses field element comparison for deterministic ordering.
36
94
  * Returns negative if a < b, positive if a > b, 0 if equal.
37
95
  */ export function compareTxHash(a, b) {
38
- const fieldA = Fr.fromHexString(a);
39
- const fieldB = Fr.fromHexString(b);
40
- return fieldA.cmp(fieldB);
96
+ return Fr.cmpAsBigInt(a, b);
41
97
  }
42
98
  /**
43
99
  * Compares two transactions by priority fee, with txHash as tiebreaker.
@@ -48,19 +104,33 @@ import { getTxPriorityFee } from '../tx_pool/priority.js';
48
104
  if (feeComparison !== 0) {
49
105
  return feeComparison;
50
106
  }
51
- return compareTxHash(a.txHash, b.txHash);
107
+ return compareTxHash(a.txHashBigInt, b.txHashBigInt);
108
+ }
109
+ /**
110
+ * Returns the minimum fee required to replace an existing tx with the given price bump percentage.
111
+ * Uses integer arithmetic: `existingFee + existingFee * priceBumpPercentage / 100`.
112
+ */ export function getMinimumPriceBumpFee(existingFee, priceBumpPercentage) {
113
+ const bump = existingFee * priceBumpPercentage / 100n;
114
+ // Ensure the minimum bump is at least 1, so that replacement always requires
115
+ // paying strictly more — even with 0% bump or zero existing fee.
116
+ const effectiveBump = bump > 0n ? bump : 1n;
117
+ return existingFee + effectiveBump;
52
118
  }
53
119
  /**
54
120
  * Checks for nullifier conflicts between an incoming transaction and existing pool state.
55
121
  *
56
122
  * When the incoming tx shares nullifiers with existing pending txs:
57
- * - If the incoming tx has strictly higher priority, mark conflicting txs for eviction
58
- * - If any conflicting tx has equal or higher priority, ignore the incoming tx
123
+ * - If the incoming tx meets or exceeds the required priority, mark conflicting txs for eviction
124
+ * - Otherwise, ignore the incoming tx
125
+ *
126
+ * When `priceBumpPercentage` is provided (RPC path), uses fee-only comparison with the
127
+ * percentage bump instead of `comparePriority`.
59
128
  *
60
129
  * @param incomingMeta - Metadata for the incoming transaction
61
130
  * @param getTxHashByNullifier - Accessor to find which tx uses a nullifier
62
131
  * @param getMetadata - Accessor to get metadata for a tx hash
63
- */ export function checkNullifierConflict(incomingMeta, getTxHashByNullifier, getMetadata) {
132
+ * @param priceBumpPercentage - Optional percentage bump required for fee-based replacement
133
+ */ export function checkNullifierConflict(incomingMeta, getTxHashByNullifier, getMetadata, priceBumpPercentage) {
64
134
  const txHashesToEvict = [];
65
135
  for (const nullifier of incomingMeta.nullifiers){
66
136
  const conflictingHashStr = getTxHashByNullifier(nullifier);
@@ -75,16 +145,23 @@ import { getTxPriorityFee } from '../tx_pool/priority.js';
75
145
  if (!conflictingMeta) {
76
146
  continue;
77
147
  }
78
- // If incoming tx has strictly higher priority, mark for eviction
79
- // Otherwise, ignore incoming tx (ties go to existing tx)
80
- // Use comparePriority for deterministic ordering (includes txHash as tiebreaker)
81
- if (comparePriority(incomingMeta, conflictingMeta) > 0) {
148
+ // When price bump is set (RPC path), require the incoming fee to meet the bumped threshold.
149
+ // Otherwise (P2P path), use full comparePriority with tx hash tiebreaker.
150
+ const isHigherPriority = priceBumpPercentage !== undefined ? incomingMeta.priorityFee >= getMinimumPriceBumpFee(conflictingMeta.priorityFee, priceBumpPercentage) : comparePriority(incomingMeta, conflictingMeta) > 0;
151
+ if (isHigherPriority) {
82
152
  txHashesToEvict.push(conflictingHashStr);
83
153
  } else {
154
+ const minimumFee = priceBumpPercentage !== undefined ? getMinimumPriceBumpFee(conflictingMeta.priorityFee, priceBumpPercentage) : undefined;
84
155
  return {
85
156
  shouldIgnore: true,
86
157
  txHashesToEvict: [],
87
- reason: `nullifier conflict with ${conflictingHashStr}`
158
+ reason: {
159
+ code: TxPoolRejectionCode.NULLIFIER_CONFLICT,
160
+ message: minimumFee !== undefined ? `Nullifier conflict with existing tx ${conflictingHashStr}. Minimum required fee: ${minimumFee}, got: ${incomingMeta.priorityFee}` : `Nullifier conflict with existing tx ${conflictingHashStr}`,
161
+ conflictingTxHash: conflictingHashStr,
162
+ minimumPriceBumpFee: minimumFee,
163
+ txPriorityFee: minimumFee !== undefined ? incomingMeta.priorityFee : undefined
164
+ }
88
165
  };
89
166
  }
90
167
  }
@@ -93,3 +170,51 @@ import { getTxPriorityFee } from '../tx_pool/priority.js';
93
170
  txHashesToEvict
94
171
  };
95
172
  }
173
+ /** Creates a stub TxMetaValidationData for tests that don't exercise validators. */ export function stubTxMetaValidationData(overrides = {}) {
174
+ return {
175
+ getNonEmptyNullifiers: ()=>[],
176
+ expirationTimestamp: overrides.expirationTimestamp ?? 0n,
177
+ constants: {
178
+ anchorBlockHeader: {
179
+ hash: ()=>Promise.resolve(BlockHash.ZERO),
180
+ globalVariables: {
181
+ blockNumber: BlockNumber(0)
182
+ }
183
+ },
184
+ txContext: {
185
+ gasSettings: {
186
+ gasLimits: Gas.empty()
187
+ }
188
+ }
189
+ }
190
+ };
191
+ }
192
+ /** Creates a stub TxMetaData for tests. All fields have sensible defaults and can be overridden. */ export function stubTxMetaData(txHash, overrides = {}) {
193
+ const txHashBigInt = Fr.fromHexString(txHash).toBigInt();
194
+ // Normalize to canonical zero-padded hex so txHashFromBigInt(txHashBigInt) === normalizedTxHash
195
+ const normalizedTxHash = txHashFromBigInt(txHashBigInt);
196
+ const expirationTimestamp = overrides.expirationTimestamp ?? 0n;
197
+ return {
198
+ txHash: normalizedTxHash,
199
+ txHashBigInt,
200
+ anchorBlockHeaderHash: overrides.anchorBlockHeaderHash ?? '0x1234',
201
+ priorityFee: overrides.priorityFee ?? 100n,
202
+ feePayer: overrides.feePayer ?? '0xfeepayer',
203
+ claimAmount: overrides.claimAmount ?? 0n,
204
+ feeLimit: overrides.feeLimit ?? 100n,
205
+ nullifiers: overrides.nullifiers ?? [
206
+ `0x${normalizedTxHash.slice(2)}null1`
207
+ ],
208
+ expirationTimestamp,
209
+ allowedSetupCalls: overrides.allowedSetupCalls ?? true,
210
+ receivedAt: 0,
211
+ estimatedSizeBytes: 0,
212
+ data: stubTxMetaValidationData({
213
+ expirationTimestamp
214
+ })
215
+ };
216
+ }
217
+ /** Returns the priority fee for a tx, based on the L2 priority fee capped by the max fee per gas. */ function getTxPriorityFee(tx) {
218
+ const { maxPriorityFeesPerGas: priorityFees, maxFeesPerGas } = tx.getGasSettings();
219
+ return minBigint(maxFeesPerGas.feePerL2Gas, priorityFees.feePerL2Gas);
220
+ }
@@ -31,7 +31,13 @@ export declare class TxPoolIndices {
31
31
  * Iterates pending transaction hashes in priority order.
32
32
  * @param order - 'desc' for highest priority first, 'asc' for lowest priority first
33
33
  */
34
- iteratePendingByPriority(order: 'asc' | 'desc'): Generator<string>;
34
+ iteratePendingByPriority(order: 'asc' | 'desc', filter?: (hash: string) => boolean): Generator<string>;
35
+ /**
36
+ * Iterates pending transaction hashes in priority order, skipping txs received after maxReceivedAt.
37
+ * @param order - 'desc' for highest priority first, 'asc' for lowest priority first
38
+ * @param maxReceivedAt - Only yield txs with receivedAt <= this value
39
+ */
40
+ iterateEligiblePendingByPriority(order: 'asc' | 'desc', maxReceivedAt: number): Generator<string>;
35
41
  /** Iterates all metadata entries */
36
42
  iterateMetadata(): Generator<[string, TxMetaData]>;
37
43
  /** Adds a new pending transaction to all indices */
@@ -87,13 +93,16 @@ export declare class TxPoolIndices {
87
93
  filterUnprotected(txs: TxMetaData[]): TxMetaData[];
88
94
  /** Filters to transactions that have metadata and are not mined */
89
95
  filterRestorable(txHashes: string[]): TxMetaData[];
90
- /** Counts transactions by state */
96
+ /** Counts transactions by state and estimates total metadata memory usage */
91
97
  countTxs(): {
92
98
  pending: number;
93
99
  protected: number;
94
100
  mined: number;
101
+ totalMetadataBytes: number;
95
102
  };
103
+ /** Returns the estimated total memory consumed by all metadata objects */
104
+ getTotalMetadataBytes(): number;
96
105
  /** Gets all mined transactions with their block IDs */
97
106
  getMinedTxs(): [string, L2BlockId][];
98
107
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcG9vbF9pbmRpY2VzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2xfdjIvdHhfcG9vbF9pbmRpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxPQUFPLEVBQTZCLE1BQU0sa0JBQWtCLENBQUM7QUFFNUY7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxxQkFBYSxhQUFhOztJQWdCeEI7Ozs7OztPQU1HO0lBQ0gsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsT0FBTyxDQVFwQztJQUVELFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFVBQVUsR0FBRyxTQUFTLENBRWxEO0lBRUQsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUUzQjtJQUVELE9BQU8sSUFBSSxPQUFPLENBRWpCO0lBRUQsVUFBVSxJQUFJLE1BQU0sQ0FFbkI7SUFNRDs7O09BR0c7SUFDRix3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBZWxFO0lBRUQsb0NBQW9DO0lBQ25DLGVBQWUsSUFBSSxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FFbEQ7SUFNRCxvREFBb0Q7SUFDcEQsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsSUFBSSxDQUdqQztJQUVELHNFQUFzRTtJQUN0RSxZQUFZLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxHQUFHLElBQUksQ0FHckQ7SUFFRCxrRUFBa0U7SUFDbEUsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsSUFBSSxDQUUvQjtJQUVELDhFQUE4RTtJQUM5RSxXQUFXLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsU0FBUyxHQUFHLElBQUksQ0FJdEQ7SUFFRCxpREFBaUQ7SUFDakQsYUFBYSxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsSUFBSSxDQUVwQztJQUVEOzs7T0FHRztJQUNILGdCQUFnQixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsR0FBRyxJQUFJLENBaUI3RDtJQUVELGtFQUFrRTtJQUNsRSxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxHQUFHLElBQUksQ0FFMUQ7SUFFRCwwREFBMEQ7SUFDMUQsaUJBQWlCLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxVQUFVLEdBQUcsU0FBUyxDQUV4RDtJQUVELHdDQUF3QztJQUN4QyxlQUFlLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FJeEM7SUFFRCw2Q0FBNkM7SUFDN0MsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsSUFBSSxDQVMzQjtJQUVELHFFQUFxRTtJQUNyRSx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLElBQUksQ0FFL0M7SUFFRCw4RUFBOEU7SUFDOUUsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFVBQVUsR0FBRyxJQUFJLENBRTFDO0lBTUQsMERBQTBEO0lBQzFELHFCQUFxQixDQUFDLFFBQVEsRUFBRSxNQUFNLEdBQUcsVUFBVSxFQUFFLENBYXBEO0lBRUQsNkNBQTZDO0lBQzdDLGlCQUFpQixJQUFJLE1BQU0sQ0FNMUI7SUFFRCx3RUFBd0U7SUFDeEUsd0JBQXdCLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FhaEQ7SUFFRCxtREFBbUQ7SUFDbkQsMEJBQTBCLElBQUksVUFBVSxHQUFHLFNBQVMsQ0FRbkQ7SUFFRCxvQ0FBb0M7SUFDcEMsYUFBYSxJQUFJLFVBQVUsRUFBRSxDQVc1QjtJQUVELG9EQUFvRDtJQUNwRCxtQkFBbUIsSUFBSSxNQUFNLEVBQUUsQ0FFOUI7SUFFRCxxRUFBcUU7SUFDckUsb0JBQW9CLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsU0FBUyxDQUUxRDtJQUVELG9DQUFvQztJQUNwQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBRS9EO0lBTUQsMEVBQTBFO0lBQzFFLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxNQUFNLEdBQUcsVUFBVSxFQUFFLENBUW5EO0lBRUQsZ0VBQWdFO0lBQ2hFLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBUXBEO0lBRUQsOEVBQThFO0lBQzlFLHVCQUF1QixDQUFDLFVBQVUsRUFBRSxVQUFVLEdBQUcsTUFBTSxFQUFFLENBUXhEO0lBRUQsNERBQTREO0lBQzVELGlCQUFpQixDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxVQUFVLEVBQUUsQ0FFakQ7SUFFRCxtRUFBbUU7SUFDbkUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLFVBQVUsRUFBRSxDQVNqRDtJQU1ELG1DQUFtQztJQUNuQyxRQUFRLElBQUk7UUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztRQUFDLEtBQUssRUFBRSxNQUFNLENBQUE7S0FBRSxDQWlCaEU7SUFFRCx1REFBdUQ7SUFDdkQsV0FBVyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBUW5DO0NBcURGIn0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcG9vbF9pbmRpY2VzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2xfdjIvdHhfcG9vbF9pbmRpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQTJCLEtBQUssVUFBVSxFQUFFLEtBQUssT0FBTyxFQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBRTNHOzs7Ozs7Ozs7OztHQVdHO0FBQ0gscUJBQWEsYUFBYTs7SUFnQnhCOzs7Ozs7T0FNRztJQUNILFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FRcEM7SUFFRCxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxVQUFVLEdBQUcsU0FBUyxDQUVsRDtJQUVELEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FFM0I7SUFFRCxPQUFPLElBQUksT0FBTyxDQUVqQjtJQUVELFVBQVUsSUFBSSxNQUFNLENBRW5CO0lBTUQ7OztPQUdHO0lBQ0Ysd0JBQXdCLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLE9BQU8sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBV3RHO0lBRUQ7Ozs7T0FJRztJQUNGLGdDQUFnQyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQU9qRztJQUVELG9DQUFvQztJQUNuQyxlQUFlLElBQUksU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBRWxEO0lBTUQsb0RBQW9EO0lBQ3BELFVBQVUsQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"tx_pool_indices.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/tx_pool_indices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx_pool_indices.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/tx_pool_indices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAA2B,KAAK,UAAU,EAAE,KAAK,OAAO,EAAmB,MAAM,kBAAkB,CAAC;AAE3G;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;;IAgBxB;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAQpC;IAED,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAElD;IAED,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE3B;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,UAAU,IAAI,MAAM,CAEnB;IAMD;;;OAGG;IACF,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAWtG;IAED;;;;OAIG;IACF,gCAAgC,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAOjG;IAED,oCAAoC;IACnC,eAAe,IAAI,SAAS,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAElD;IAMD,oDAAoD;IACpD,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAGjC;IAED,sEAAsE;IACtE,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAGrD;IAED,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAE/B;IAED,8EAA8E;IAC9E,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,CAItD;IAED,iDAAiD;IACjD,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAEpC;IAED;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAiB7D;IAED,kEAAkE;IAClE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAE1D;IAED,0DAA0D;IAC1D,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAExD;IAED,wCAAwC;IACxC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAIxC;IAED,6CAA6C;IAC7C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAS3B;IAED,qEAAqE;IACrE,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAE/C;IAED,8EAA8E;IAC9E,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAE1C;IAMD,0DAA0D;IAC1D,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAapD;IAED,6CAA6C;IAC7C,iBAAiB,IAAI,MAAM,CAE1B;IAED,wEAAwE;IACxE,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAahD;IAED,mDAAmD;IACnD,0BAA0B,IAAI,UAAU,GAAG,SAAS,CAQnD;IAED,oCAAoC;IACpC,aAAa,IAAI,UAAU,EAAE,CAS5B;IAED,oDAAoD;IACpD,mBAAmB,IAAI,MAAM,EAAE,CAE9B;IAED,qEAAqE;IACrE,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1D;IAED,oCAAoC;IACpC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAE/D;IAMD,0EAA0E;IAC1E,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,EAAE,CAQnD;IAED,gEAAgE;IAChE,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAQpD;IAED,8EAA8E;IAC9E,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,CAQxD;IAED,4DAA4D;IAC5D,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAEjD;IAED,mEAAmE;IACnE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CASjD;IAMD,6EAA6E;IAC7E,QAAQ,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAmB5F;IAED,0EAA0E;IAC1E,qBAAqB,IAAI,MAAM,CAM9B;IAED,uDAAuD;IACvD,WAAW,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAQnC;CAkDF"}