@aztec/p2p 0.0.1-commit.1bb068fb5 → 0.0.1-commit.1dcfe2301

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 (413) hide show
  1. package/README.md +129 -3
  2. package/dest/client/factory.d.ts +7 -7
  3. package/dest/client/factory.d.ts.map +1 -1
  4. package/dest/client/factory.js +32 -28
  5. package/dest/client/interface.d.ts +18 -20
  6. package/dest/client/interface.d.ts.map +1 -1
  7. package/dest/client/p2p_client.d.ts +9 -19
  8. package/dest/client/p2p_client.d.ts.map +1 -1
  9. package/dest/client/p2p_client.js +81 -104
  10. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +20 -10
  11. package/dest/config.d.ts +126 -103
  12. package/dest/config.d.ts.map +1 -1
  13. package/dest/config.js +93 -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 +1 -2
  21. package/dest/index.d.ts.map +1 -1
  22. package/dest/index.js +0 -1
  23. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +7 -5
  24. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  25. package/dest/mem_pools/attestation_pool/attestation_pool.js +16 -9
  26. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +6 -6
  27. package/dest/mem_pools/index.d.ts +1 -2
  28. package/dest/mem_pools/index.d.ts.map +1 -1
  29. package/dest/mem_pools/instrumentation.d.ts +4 -2
  30. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  31. package/dest/mem_pools/instrumentation.js +16 -14
  32. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +3 -1
  33. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -1
  34. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +9 -0
  35. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +3 -3
  36. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -1
  37. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +18 -9
  38. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +1 -1
  39. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -1
  40. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +5 -4
  41. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +3 -3
  42. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -1
  43. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +12 -4
  44. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +2 -2
  45. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -1
  46. package/dest/mem_pools/tx_pool_v2/eviction/index.js +1 -1
  47. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +54 -5
  48. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -1
  49. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +8 -0
  50. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +4 -4
  51. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +7 -7
  52. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +2 -2
  53. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -1
  54. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +12 -6
  55. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +4 -4
  56. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -1
  57. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +16 -4
  58. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +3 -3
  59. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -1
  60. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +3 -3
  61. package/dest/mem_pools/tx_pool_v2/index.d.ts +2 -2
  62. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -1
  63. package/dest/mem_pools/tx_pool_v2/index.js +1 -1
  64. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts +15 -0
  65. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts.map +1 -0
  66. package/dest/mem_pools/tx_pool_v2/instrumentation.js +43 -0
  67. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +24 -10
  68. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
  69. package/dest/mem_pools/tx_pool_v2/interfaces.js +4 -1
  70. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +54 -15
  71. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
  72. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +112 -20
  73. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +5 -2
  74. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -1
  75. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +38 -46
  76. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +9 -4
  77. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -1
  78. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +12 -5
  79. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +12 -5
  80. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -1
  81. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +296 -153
  82. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +5 -2
  83. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  84. package/dest/msg_validators/attestation_validator/attestation_validator.js +20 -11
  85. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +4 -2
  86. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
  87. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +2 -2
  88. package/dest/msg_validators/clock_tolerance.d.ts +12 -1
  89. package/dest/msg_validators/clock_tolerance.d.ts.map +1 -1
  90. package/dest/msg_validators/clock_tolerance.js +54 -3
  91. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +7 -4
  92. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
  93. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +10 -2
  94. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +7 -4
  95. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
  96. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +16 -2
  97. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +15 -8
  98. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
  99. package/dest/msg_validators/proposal_validator/proposal_validator.js +67 -47
  100. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +2 -2
  101. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  102. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +3 -3
  103. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +2 -1
  104. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -1
  105. package/dest/msg_validators/tx_validator/allowed_public_setup.js +24 -20
  106. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts +17 -0
  107. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts.map +1 -0
  108. package/dest/msg_validators/tx_validator/allowed_setup_helpers.js +24 -0
  109. package/dest/msg_validators/tx_validator/archive_cache.js +1 -1
  110. package/dest/msg_validators/tx_validator/contract_instance_validator.d.ts +9 -0
  111. package/dest/msg_validators/tx_validator/contract_instance_validator.d.ts.map +1 -0
  112. package/dest/msg_validators/tx_validator/contract_instance_validator.js +48 -0
  113. package/dest/msg_validators/tx_validator/data_validator.d.ts +1 -1
  114. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  115. package/dest/msg_validators/tx_validator/data_validator.js +35 -2
  116. package/dest/msg_validators/tx_validator/factory.d.ts +133 -6
  117. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  118. package/dest/msg_validators/tx_validator/factory.js +247 -60
  119. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +1 -1
  120. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -1
  121. package/dest/msg_validators/tx_validator/fee_payer_balance.js +6 -2
  122. package/dest/msg_validators/tx_validator/gas_validator.d.ts +67 -3
  123. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  124. package/dest/msg_validators/tx_validator/gas_validator.js +112 -43
  125. package/dest/msg_validators/tx_validator/index.d.ts +3 -1
  126. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  127. package/dest/msg_validators/tx_validator/index.js +2 -0
  128. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +1 -1
  129. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  130. package/dest/msg_validators/tx_validator/metadata_validator.js +4 -4
  131. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts +14 -0
  132. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts.map +1 -0
  133. package/dest/msg_validators/tx_validator/nullifier_cache.js +24 -0
  134. package/dest/msg_validators/tx_validator/phases_validator.d.ts +22 -2
  135. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  136. package/dest/msg_validators/tx_validator/phases_validator.js +72 -24
  137. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +2 -2
  138. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  139. package/dest/msg_validators/tx_validator/timestamp_validator.js +6 -6
  140. package/dest/services/data_store.d.ts +1 -1
  141. package/dest/services/data_store.d.ts.map +1 -1
  142. package/dest/services/data_store.js +5 -5
  143. package/dest/services/dummy_service.d.ts +8 -5
  144. package/dest/services/dummy_service.d.ts.map +1 -1
  145. package/dest/services/dummy_service.js +10 -5
  146. package/dest/services/encoding.d.ts +6 -2
  147. package/dest/services/encoding.d.ts.map +1 -1
  148. package/dest/services/encoding.js +16 -9
  149. package/dest/services/gossipsub/topic_score_params.d.ts +30 -7
  150. package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -1
  151. package/dest/services/gossipsub/topic_score_params.js +53 -14
  152. package/dest/services/libp2p/instrumentation.d.ts +3 -1
  153. package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
  154. package/dest/services/libp2p/instrumentation.js +14 -0
  155. package/dest/services/libp2p/libp2p_service.d.ts +29 -36
  156. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  157. package/dest/services/libp2p/libp2p_service.js +236 -197
  158. package/dest/services/peer-manager/metrics.d.ts +3 -1
  159. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  160. package/dest/services/peer-manager/metrics.js +6 -0
  161. package/dest/services/peer-manager/peer_manager.d.ts +6 -2
  162. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  163. package/dest/services/peer-manager/peer_manager.js +39 -11
  164. package/dest/services/peer-manager/peer_scoring.d.ts +7 -2
  165. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  166. package/dest/services/peer-manager/peer_scoring.js +32 -10
  167. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +12 -8
  168. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -1
  169. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +83 -106
  170. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +4 -7
  171. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -1
  172. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +11 -13
  173. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -1
  174. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +31 -46
  175. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +19 -11
  176. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -1
  177. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +52 -15
  178. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +2 -2
  179. package/dest/services/reqresp/config.d.ts +3 -3
  180. package/dest/services/reqresp/config.d.ts.map +1 -1
  181. package/dest/services/reqresp/interface.d.ts +14 -9
  182. package/dest/services/reqresp/interface.d.ts.map +1 -1
  183. package/dest/services/reqresp/interface.js +10 -11
  184. package/dest/services/reqresp/metrics.d.ts +1 -1
  185. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  186. package/dest/services/reqresp/metrics.js +0 -1
  187. package/dest/services/reqresp/protocols/index.d.ts +1 -2
  188. package/dest/services/reqresp/protocols/index.d.ts.map +1 -1
  189. package/dest/services/reqresp/protocols/index.js +0 -1
  190. package/dest/services/reqresp/protocols/tx.d.ts +1 -1
  191. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  192. package/dest/services/reqresp/protocols/tx.js +1 -3
  193. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +5 -4
  194. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -1
  195. package/dest/services/reqresp/rate-limiter/rate_limiter.js +10 -8
  196. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +1 -1
  197. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -1
  198. package/dest/services/reqresp/rate-limiter/rate_limits.js +0 -10
  199. package/dest/services/reqresp/reqresp.d.ts +4 -2
  200. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  201. package/dest/services/reqresp/reqresp.js +30 -12
  202. package/dest/services/service.d.ts +9 -4
  203. package/dest/services/service.d.ts.map +1 -1
  204. package/dest/services/tx_collection/fast_tx_collection.d.ts +1 -4
  205. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  206. package/dest/services/tx_collection/fast_tx_collection.js +65 -75
  207. package/dest/services/tx_collection/file_store_tx_collection.d.ts +1 -1
  208. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -1
  209. package/dest/services/tx_collection/file_store_tx_collection.js +4 -2
  210. package/dest/services/tx_collection/file_store_tx_source.d.ts +16 -6
  211. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -1
  212. package/dest/services/tx_collection/file_store_tx_source.js +50 -9
  213. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  214. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  215. package/dest/services/tx_collection/instrumentation.js +2 -1
  216. package/dest/services/tx_collection/proposal_tx_collector.d.ts +7 -7
  217. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -1
  218. package/dest/services/tx_collection/proposal_tx_collector.js +5 -4
  219. package/dest/services/tx_collection/request_tracker.d.ts +53 -0
  220. package/dest/services/tx_collection/request_tracker.d.ts.map +1 -0
  221. package/dest/services/tx_collection/request_tracker.js +84 -0
  222. package/dest/services/tx_collection/slow_tx_collection.d.ts +2 -2
  223. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
  224. package/dest/services/tx_collection/slow_tx_collection.js +10 -8
  225. package/dest/services/tx_collection/tx_collection.d.ts +5 -7
  226. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  227. package/dest/services/tx_collection/tx_collection_sink.d.ts +6 -5
  228. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
  229. package/dest/services/tx_collection/tx_collection_sink.js +13 -22
  230. package/dest/services/tx_collection/tx_source.d.ts +13 -7
  231. package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
  232. package/dest/services/tx_collection/tx_source.js +26 -7
  233. package/dest/services/tx_file_store/tx_file_store.js +1 -1
  234. package/dest/services/tx_provider.d.ts +3 -3
  235. package/dest/services/tx_provider.d.ts.map +1 -1
  236. package/dest/services/tx_provider.js +4 -4
  237. package/dest/test-helpers/make-test-p2p-clients.d.ts +5 -6
  238. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  239. package/dest/test-helpers/make-test-p2p-clients.js +1 -2
  240. package/dest/test-helpers/mock-pubsub.d.ts +14 -6
  241. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  242. package/dest/test-helpers/mock-pubsub.js +43 -12
  243. package/dest/test-helpers/reqresp-nodes.d.ts +2 -3
  244. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  245. package/dest/test-helpers/reqresp-nodes.js +3 -4
  246. package/dest/test-helpers/testbench-utils.d.ts +6 -3
  247. package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
  248. package/dest/test-helpers/testbench-utils.js +24 -4
  249. package/dest/testbench/p2p_client_testbench_worker.d.ts +2 -2
  250. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  251. package/dest/testbench/p2p_client_testbench_worker.js +78 -26
  252. package/dest/testbench/worker_client_manager.d.ts +10 -1
  253. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  254. package/dest/testbench/worker_client_manager.js +55 -3
  255. package/dest/util.d.ts +3 -3
  256. package/dest/util.d.ts.map +1 -1
  257. package/package.json +14 -14
  258. package/src/client/factory.ts +55 -47
  259. package/src/client/interface.ts +20 -21
  260. package/src/client/p2p_client.ts +89 -135
  261. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +33 -14
  262. package/src/config.ts +139 -45
  263. package/src/errors/p2p-service.error.ts +11 -0
  264. package/src/errors/tx-pool.error.ts +12 -0
  265. package/src/index.ts +0 -1
  266. package/src/mem_pools/attestation_pool/attestation_pool.ts +17 -12
  267. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +6 -6
  268. package/src/mem_pools/index.ts +0 -3
  269. package/src/mem_pools/instrumentation.ts +17 -13
  270. package/src/mem_pools/tx_pool_v2/README.md +10 -2
  271. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +11 -0
  272. package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +21 -8
  273. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +5 -4
  274. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +18 -4
  275. package/src/mem_pools/tx_pool_v2/eviction/index.ts +4 -0
  276. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +59 -4
  277. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +4 -4
  278. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +8 -8
  279. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +12 -9
  280. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +33 -6
  281. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +4 -3
  282. package/src/mem_pools/tx_pool_v2/index.ts +1 -1
  283. package/src/mem_pools/tx_pool_v2/instrumentation.ts +69 -0
  284. package/src/mem_pools/tx_pool_v2/interfaces.ts +24 -10
  285. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +160 -28
  286. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +43 -46
  287. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +28 -8
  288. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +330 -149
  289. package/src/msg_validators/attestation_validator/README.md +49 -0
  290. package/src/msg_validators/attestation_validator/attestation_validator.ts +21 -9
  291. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +4 -1
  292. package/src/msg_validators/clock_tolerance.ts +72 -3
  293. package/src/msg_validators/proposal_validator/README.md +123 -0
  294. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +17 -4
  295. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +23 -7
  296. package/src/msg_validators/proposal_validator/proposal_validator.ts +79 -49
  297. package/src/msg_validators/tx_validator/README.md +119 -0
  298. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +3 -3
  299. package/src/msg_validators/tx_validator/allowed_public_setup.ts +22 -27
  300. package/src/msg_validators/tx_validator/allowed_setup_helpers.ts +31 -0
  301. package/src/msg_validators/tx_validator/archive_cache.ts +1 -1
  302. package/src/msg_validators/tx_validator/contract_instance_validator.ts +56 -0
  303. package/src/msg_validators/tx_validator/data_validator.ts +42 -1
  304. package/src/msg_validators/tx_validator/factory.ts +394 -78
  305. package/src/msg_validators/tx_validator/fee_payer_balance.ts +6 -2
  306. package/src/msg_validators/tx_validator/gas_validator.ts +145 -33
  307. package/src/msg_validators/tx_validator/index.ts +2 -0
  308. package/src/msg_validators/tx_validator/metadata_validator.ts +12 -4
  309. package/src/msg_validators/tx_validator/nullifier_cache.ts +30 -0
  310. package/src/msg_validators/tx_validator/phases_validator.ts +82 -27
  311. package/src/msg_validators/tx_validator/timestamp_validator.ts +7 -7
  312. package/src/services/data_store.ts +5 -13
  313. package/src/services/dummy_service.ts +13 -7
  314. package/src/services/encoding.ts +16 -8
  315. package/src/services/gossipsub/README.md +29 -14
  316. package/src/services/gossipsub/topic_score_params.ts +85 -17
  317. package/src/services/libp2p/instrumentation.ts +14 -0
  318. package/src/services/libp2p/libp2p_service.ts +251 -225
  319. package/src/services/peer-manager/metrics.ts +7 -0
  320. package/src/services/peer-manager/peer_manager.ts +45 -11
  321. package/src/services/peer-manager/peer_scoring.ts +27 -5
  322. package/src/services/reqresp/README.md +229 -0
  323. package/src/services/reqresp/batch-tx-requester/README.md +46 -7
  324. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +79 -112
  325. package/src/services/reqresp/batch-tx-requester/interface.ts +3 -6
  326. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +30 -71
  327. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +68 -24
  328. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +2 -2
  329. package/src/services/reqresp/config.ts +2 -2
  330. package/src/services/reqresp/interface.ts +21 -11
  331. package/src/services/reqresp/metrics.ts +0 -1
  332. package/src/services/reqresp/protocols/index.ts +0 -1
  333. package/src/services/reqresp/protocols/tx.ts +1 -3
  334. package/src/services/reqresp/rate-limiter/rate_limiter.ts +13 -9
  335. package/src/services/reqresp/rate-limiter/rate_limits.ts +0 -10
  336. package/src/services/reqresp/reqresp.ts +40 -13
  337. package/src/services/service.ts +17 -3
  338. package/src/services/tx_collection/fast_tx_collection.ts +71 -76
  339. package/src/services/tx_collection/file_store_tx_collection.ts +7 -3
  340. package/src/services/tx_collection/file_store_tx_source.ts +65 -9
  341. package/src/services/tx_collection/instrumentation.ts +7 -1
  342. package/src/services/tx_collection/proposal_tx_collector.ts +9 -13
  343. package/src/services/tx_collection/request_tracker.ts +127 -0
  344. package/src/services/tx_collection/slow_tx_collection.ts +8 -9
  345. package/src/services/tx_collection/tx_collection.ts +5 -6
  346. package/src/services/tx_collection/tx_collection_sink.ts +15 -29
  347. package/src/services/tx_collection/tx_source.ts +28 -8
  348. package/src/services/tx_file_store/tx_file_store.ts +1 -1
  349. package/src/services/tx_provider.ts +2 -2
  350. package/src/test-helpers/make-test-p2p-clients.ts +1 -3
  351. package/src/test-helpers/mock-pubsub.ts +44 -11
  352. package/src/test-helpers/reqresp-nodes.ts +5 -8
  353. package/src/test-helpers/testbench-utils.ts +33 -6
  354. package/src/testbench/p2p_client_testbench_worker.ts +89 -29
  355. package/src/testbench/worker_client_manager.ts +68 -6
  356. package/src/util.ts +8 -2
  357. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +0 -125
  358. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +0 -1
  359. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +0 -596
  360. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +0 -32
  361. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +0 -1
  362. package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +0 -112
  363. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +0 -157
  364. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +0 -1
  365. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +0 -52
  366. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts +0 -16
  367. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts.map +0 -1
  368. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.js +0 -122
  369. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +0 -17
  370. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +0 -1
  371. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +0 -84
  372. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +0 -19
  373. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +0 -1
  374. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +0 -78
  375. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +0 -26
  376. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +0 -1
  377. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.js +0 -84
  378. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts +0 -25
  379. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts.map +0 -1
  380. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.js +0 -57
  381. package/dest/mem_pools/tx_pool/index.d.ts +0 -3
  382. package/dest/mem_pools/tx_pool/index.d.ts.map +0 -1
  383. package/dest/mem_pools/tx_pool/index.js +0 -2
  384. package/dest/mem_pools/tx_pool/priority.d.ts +0 -12
  385. package/dest/mem_pools/tx_pool/priority.d.ts.map +0 -1
  386. package/dest/mem_pools/tx_pool/priority.js +0 -15
  387. package/dest/mem_pools/tx_pool/tx_pool.d.ts +0 -127
  388. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +0 -1
  389. package/dest/mem_pools/tx_pool/tx_pool.js +0 -3
  390. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +0 -7
  391. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +0 -1
  392. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +0 -400
  393. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +0 -23
  394. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +0 -1
  395. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +0 -212
  396. package/dest/services/reqresp/protocols/block.d.ts +0 -9
  397. package/dest/services/reqresp/protocols/block.d.ts.map +0 -1
  398. package/dest/services/reqresp/protocols/block.js +0 -32
  399. package/src/mem_pools/tx_pool/README.md +0 -270
  400. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +0 -746
  401. package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +0 -132
  402. package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +0 -208
  403. package/src/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.ts +0 -162
  404. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +0 -104
  405. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +0 -93
  406. package/src/mem_pools/tx_pool/eviction/low_priority_eviction_rule.ts +0 -106
  407. package/src/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.ts +0 -75
  408. package/src/mem_pools/tx_pool/index.ts +0 -2
  409. package/src/mem_pools/tx_pool/priority.ts +0 -20
  410. package/src/mem_pools/tx_pool/tx_pool.ts +0 -141
  411. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +0 -319
  412. package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +0 -230
  413. package/src/services/reqresp/protocols/block.ts +0 -37
package/dest/config.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type ConfigMappingsType, SecretValue } from '@aztec/foundation/config';
2
- import { type DataStoreConfig } from '@aztec/kv-store/config';
3
2
  import { type AllowedElement, type ChainConfig, type SequencerConfig } from '@aztec/stdlib/config';
3
+ import { type DataStoreConfig } from '@aztec/stdlib/kv-store';
4
4
  import { type BatchTxRequesterConfig } from './services/reqresp/batch-tx-requester/config.js';
5
5
  import { type P2PReqRespConfig } from './services/reqresp/config.js';
6
6
  import { type TxCollectionConfig } from './services/tx_collection/config.js';
@@ -8,7 +8,15 @@ import { type TxFileStoreConfig } from './services/tx_file_store/config.js';
8
8
  /**
9
9
  * P2P client configuration values.
10
10
  */
11
- export interface P2PConfig extends P2PReqRespConfig, BatchTxRequesterConfig, ChainConfig, TxCollectionConfig, TxFileStoreConfig, Pick<SequencerConfig, 'blockDurationMs'> {
11
+ export interface P2PConfig extends P2PReqRespConfig, BatchTxRequesterConfig, ChainConfig, TxCollectionConfig, TxFileStoreConfig, Pick<SequencerConfig, 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'l1PublishingTime' | 'maxTxsPerBlock' | 'attestationPropagationTime'> {
12
+ /** Maximum transactions per block for validation. Overrides maxTxsPerBlock for gossip validation when set. */
13
+ validateMaxTxsPerBlock?: number;
14
+ /** Maximum transactions per checkpoint for validation. Used as fallback for maxTxsPerBlock when that is not set. */
15
+ validateMaxTxsPerCheckpoint?: number;
16
+ /** Maximum L2 gas per block for validation. When set, txs exceeding this limit are rejected. */
17
+ validateMaxL2BlockGas?: number;
18
+ /** Maximum DA gas per block for validation. When set, txs exceeding this limit are rejected. */
19
+ validateMaxDABlockGas?: number;
12
20
  /** A flag dictating whether the P2P subsystem should be enabled. */
13
21
  p2pEnabled: boolean;
14
22
  /** The frequency in which to check for new L2 blocks. */
@@ -21,6 +29,8 @@ export interface P2PConfig extends P2PReqRespConfig, BatchTxRequesterConfig, Cha
21
29
  debugDisableColocationPenalty: boolean;
22
30
  /** The frequency in which to check for new peers. */
23
31
  peerCheckIntervalMS: number;
32
+ /** How long to ban a peer after it fails MAX_DIAL_ATTEMPTS dials. */
33
+ peerFailedBanTimeMs: number;
24
34
  /** Size of queue of L2 blocks to store. */
25
35
  l2QueueSize: number;
26
36
  /** The port for the P2P service. */
@@ -83,8 +93,8 @@ export interface P2PConfig extends P2PReqRespConfig, BatchTxRequesterConfig, Cha
83
93
  preferredPeers: string[];
84
94
  /** The maximum possible size of the P2P DB in KB. Overwrites the general dataStoreMapSizeKb. */
85
95
  p2pStoreMapSizeKb?: number;
86
- /** Which calls are allowed in the public setup phase of a tx. */
87
- txPublicSetupAllowList: AllowedElement[];
96
+ /** Additional entries to extend the default setup allow list. */
97
+ txPublicSetupAllowListExtend: AllowedElement[];
88
98
  /** The maximum number of pending txs before evicting lower priority txs. */
89
99
  maxPendingTxCount: number;
90
100
  /** The node's seen message ID cache size */
@@ -99,9 +109,7 @@ export interface P2PConfig extends P2PReqRespConfig, BatchTxRequesterConfig, Cha
99
109
  p2pMaxFailedAuthAttemptsAllowed: number;
100
110
  /** Whether transactions are disabled for this node. This means transactions will be rejected at the RPC and P2P layers. */
101
111
  disableTransactions: boolean;
102
- /** True to simulate discarding transactions. - For testing purposes only*/
103
- dropTransactions: boolean;
104
- /** The probability that a transaction is discarded. - For testing purposes only */
112
+ /** The probability that a transaction is discarded (0 = disabled). - For testing purposes only */
105
113
  dropTransactionsProbability: number;
106
114
  /** Whether to delete transactions from the pool after a reorg instead of moving them back to pending. */
107
115
  txPoolDeleteTxsAfterReorg: boolean;
@@ -113,6 +121,8 @@ export interface P2PConfig extends P2PReqRespConfig, BatchTxRequesterConfig, Cha
113
121
  broadcastEquivocatedProposals?: boolean;
114
122
  /** Minimum age (ms) a transaction must have been in the pool before it's eligible for block building. */
115
123
  minTxPoolAgeMs: number;
124
+ /** Minimum percentage fee increase required to replace an existing tx via RPC (0 = no bump). */
125
+ priceBumpPercentage: bigint;
116
126
  }
117
127
  export declare const DEFAULT_P2P_PORT = 40400;
118
128
  export declare const p2pConfigMappings: ConfigMappingsType<P2PConfig>;
@@ -127,107 +137,120 @@ export declare function getP2PDefaultConfig(): P2PConfig;
127
137
  */
128
138
  export type BootnodeConfig = Pick<P2PConfig, 'p2pIp' | 'p2pPort' | 'p2pBroadcastPort' | 'peerIdPrivateKey' | 'peerIdPrivateKeyPath' | 'bootstrapNodes' | 'listenAddress' | 'queryForIp'> & Required<Pick<P2PConfig, 'p2pIp' | 'p2pPort'>> & Pick<DataStoreConfig, 'dataDirectory' | 'dataStoreMapSizeKb'> & Pick<ChainConfig, 'l1ChainId'>;
129
139
  export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
130
- archivedTxLimit: unknown;
131
- batchTxRequesterBadPeerThreshold: unknown;
132
- batchTxRequesterDumbParallelWorkerCount: unknown;
133
- batchTxRequesterSmartParallelWorkerCount: unknown;
134
- batchTxRequesterTxBatchSize: unknown;
135
- blockCheckIntervalMS: unknown;
136
- blockDurationMs: unknown;
137
- blockRequestBatchSize: unknown;
138
- bootstrapNodeEnrVersionCheck: unknown;
139
- bootstrapNodes: unknown;
140
- bootstrapNodesAsFullPeers: unknown;
141
- broadcastEquivocatedProposals: unknown;
142
- dataDirectory: unknown;
143
- dataStoreMapSizeKb: unknown;
144
- debugDisableColocationPenalty: unknown;
145
- debugP2PInstrumentMessages: unknown;
146
- dialTimeoutMs: unknown;
147
- disableTransactions: unknown;
148
- doubleSpendSeverePeerPenaltyWindow: unknown;
149
- dropTransactions: unknown;
150
- dropTransactionsProbability: unknown;
151
- fishermanMode: unknown;
152
- gossipsubD: unknown;
153
- gossipsubDLazy: unknown;
154
- gossipsubDhi: unknown;
155
- gossipsubDlo: unknown;
156
- gossipsubFloodPublish: unknown;
157
- gossipsubInterval: unknown;
158
- gossipsubMcacheGossip: unknown;
159
- gossipsubMcacheLength: unknown;
160
- gossipsubSeenTTL: unknown;
161
- gossipsubTxInvalidMessageDeliveriesDecay: unknown;
162
- gossipsubTxInvalidMessageDeliveriesWeight: unknown;
163
- gossipsubTxTopicWeight: unknown;
164
- individualRequestTimeoutMs: unknown;
165
- l1ChainId: unknown;
166
- l1Contracts: unknown;
167
- l2QueueSize: unknown;
168
- listenAddress: unknown;
169
- maxPeerCount: unknown;
170
- maxPendingTxCount: unknown;
171
- minTxPoolAgeMs: unknown;
172
- overallRequestTimeoutMs: unknown;
173
- p2pAllowOnlyValidators: unknown;
174
- p2pBroadcastPort: unknown;
175
- p2pDisableStatusHandshake: unknown;
176
- p2pDiscoveryDisabled: unknown;
177
- p2pEnabled: unknown;
178
- p2pIp: unknown;
179
- p2pMaxFailedAuthAttemptsAllowed: unknown;
180
- p2pOptimisticNegotiation: unknown;
181
- p2pPort: unknown;
182
- p2pStoreMapSizeKb: unknown;
183
- peerCheckIntervalMS: unknown;
184
- peerIdPrivateKey: unknown;
185
- peerIdPrivateKeyPath: unknown;
186
- peerPenaltyValues: unknown;
187
- preferredPeers: unknown;
188
- privatePeers: unknown;
189
- queryForIp: unknown;
190
- rollupVersion: unknown;
191
- seenMessageCacheSize: unknown;
192
- slotCheckIntervalMS: unknown;
193
- trustedPeers: unknown;
194
- txCollectionDisableSlowDuringFastRequests: unknown;
195
- txCollectionFastMaxParallelRequestsPerNode: unknown;
196
- txCollectionFastNodeIntervalMs: unknown;
197
- txCollectionFastNodesTimeoutBeforeReqRespMs: unknown;
198
- txCollectionFileStoreFastBackoffBaseMs: unknown;
199
- txCollectionFileStoreFastBackoffMaxMs: unknown;
200
- txCollectionFileStoreFastDelayMs: unknown;
201
- txCollectionFileStoreFastWorkerCount: unknown;
202
- txCollectionFileStoreSlowBackoffBaseMs: unknown;
203
- txCollectionFileStoreSlowBackoffMaxMs: unknown;
204
- txCollectionFileStoreSlowDelayMs: unknown;
205
- txCollectionFileStoreSlowWorkerCount: unknown;
206
- txCollectionFileStoreUrls: unknown;
207
- txCollectionMissingTxsCollectorType: unknown;
208
- txCollectionNodeRpcMaxBatchSize: unknown;
209
- txCollectionNodeRpcUrls: unknown;
210
- txCollectionReconcileIntervalMs: unknown;
211
- txCollectionSlowNodesIntervalMs: unknown;
212
- txCollectionSlowReqRespIntervalMs: unknown;
213
- txCollectionSlowReqRespTimeoutMs: unknown;
214
- txFileStoreEnabled: unknown;
215
- txFileStoreMaxQueueSize: unknown;
216
- txFileStoreUploadConcurrency: unknown;
217
- txFileStoreUrl: unknown;
218
- txPoolDeleteTxsAfterReorg: unknown;
219
- txPublicSetupAllowList: unknown;
140
+ maxTxsPerBlock: number;
141
+ l1PublishingTime: number;
142
+ attestationPropagationTime: number;
143
+ blockDurationMs: number;
144
+ expectedBlockProposalsPerSlot: number;
145
+ l1ChainId: number;
146
+ rollupVersion: number;
147
+ l1Contracts: {
148
+ rollupAddress: import("@aztec/foundation/eth-address").EthAddress;
149
+ };
150
+ dataDirectory: string;
151
+ dataStoreMapSizeKb: number;
152
+ batchTxRequesterSmartParallelWorkerCount: number;
153
+ batchTxRequesterDumbParallelWorkerCount: number;
154
+ batchTxRequesterTxBatchSize: number;
155
+ batchTxRequesterBadPeerThreshold: number;
156
+ overallRequestTimeoutMs: number;
157
+ individualRequestTimeoutMs: number;
158
+ p2pOptimisticNegotiation: boolean;
159
+ dialTimeoutMs: number;
160
+ txCollectionFastNodesTimeoutBeforeReqRespMs: number;
161
+ txCollectionSlowNodesIntervalMs: number;
162
+ txCollectionSlowReqRespIntervalMs: number;
163
+ txCollectionSlowReqRespTimeoutMs: number;
164
+ txCollectionReconcileIntervalMs: number;
165
+ txCollectionDisableSlowDuringFastRequests: boolean;
166
+ txCollectionFastNodeIntervalMs: number;
167
+ txCollectionNodeRpcUrls: string[];
168
+ txCollectionFastMaxParallelRequestsPerNode: number;
169
+ txCollectionNodeRpcMaxBatchSize: number;
170
+ txCollectionMissingTxsCollectorType: import("./services/tx_collection/config.js").MissingTxsCollectorType;
171
+ txCollectionFileStoreUrls: string[];
172
+ txCollectionFileStoreSlowDelayMs: number;
173
+ txCollectionFileStoreFastDelayMs: number;
174
+ txCollectionFileStoreFastWorkerCount: number;
175
+ txCollectionFileStoreSlowWorkerCount: number;
176
+ txCollectionFileStoreFastBackoffBaseMs: number;
177
+ txCollectionFileStoreSlowBackoffBaseMs: number;
178
+ txCollectionFileStoreFastBackoffMaxMs: number;
179
+ txCollectionFileStoreSlowBackoffMaxMs: number;
180
+ txFileStoreUrl: string;
181
+ txFileStoreUploadConcurrency: number;
182
+ txFileStoreMaxQueueSize: number;
183
+ txFileStoreEnabled: boolean;
184
+ validateMaxTxsPerBlock: number;
185
+ validateMaxTxsPerCheckpoint: number;
186
+ validateMaxL2BlockGas: number;
187
+ validateMaxDABlockGas: number;
188
+ p2pEnabled: boolean;
189
+ blockCheckIntervalMS: number;
190
+ slotCheckIntervalMS: number;
191
+ blockRequestBatchSize: number;
192
+ debugDisableColocationPenalty: boolean;
193
+ peerCheckIntervalMS: number;
194
+ peerFailedBanTimeMs: number;
195
+ l2QueueSize: number;
196
+ p2pPort: number;
197
+ p2pBroadcastPort: number;
198
+ p2pIp: string;
199
+ listenAddress: string;
200
+ peerIdPrivateKey: SecretValue<string>;
201
+ peerIdPrivateKeyPath: string;
202
+ bootstrapNodes: string[];
203
+ bootstrapNodeEnrVersionCheck: boolean;
204
+ bootstrapNodesAsFullPeers: boolean;
205
+ maxPeerCount: number;
206
+ queryForIp: boolean;
207
+ gossipsubInterval: number;
208
+ gossipsubD: number;
209
+ gossipsubDlo: number;
210
+ gossipsubDhi: number;
211
+ gossipsubDLazy: number;
212
+ gossipsubFloodPublish: boolean;
213
+ gossipsubMcacheLength: number;
214
+ gossipsubMcacheGossip: number;
215
+ gossipsubSeenTTL: number;
216
+ doubleSpendSeverePeerPenaltyWindow: number;
217
+ gossipsubTxTopicWeight: number;
218
+ gossipsubTxInvalidMessageDeliveriesWeight: number;
219
+ gossipsubTxInvalidMessageDeliveriesDecay: number;
220
+ peerPenaltyValues: number[];
221
+ archivedTxLimit: number;
222
+ trustedPeers: string[];
223
+ privatePeers: string[];
224
+ preferredPeers: string[];
225
+ p2pStoreMapSizeKb: number;
226
+ txPublicSetupAllowListExtend: AllowedElement[];
227
+ maxPendingTxCount: number;
228
+ seenMessageCacheSize: number;
229
+ p2pDisableStatusHandshake: boolean;
230
+ p2pAllowOnlyValidators: boolean;
231
+ p2pDiscoveryDisabled: boolean;
232
+ p2pMaxFailedAuthAttemptsAllowed: number;
233
+ disableTransactions: boolean;
234
+ dropTransactionsProbability: number;
235
+ txPoolDeleteTxsAfterReorg: boolean;
236
+ debugP2PInstrumentMessages: boolean;
237
+ fishermanMode: boolean;
238
+ broadcastEquivocatedProposals: boolean;
239
+ minTxPoolAgeMs: number;
240
+ priceBumpPercentage: bigint;
220
241
  }, "bootstrapNodes" | "dataDirectory" | "dataStoreMapSizeKb" | "l1ChainId" | "listenAddress" | "p2pBroadcastPort" | "p2pIp" | "p2pPort" | "peerIdPrivateKey" | "peerIdPrivateKeyPath" | "queryForIp">>;
221
242
  /**
222
243
  * Parses a string to a list of allowed elements.
223
- * Each encoded is expected to be of one of the following formats
224
- * `I:${address}`
225
- * `I:${address}:${selector}`
226
- * `C:${classId}`
227
- * `C:${classId}:${selector}`
244
+ * Each entry is expected to be of one of the following formats:
245
+ * `I:${address}:${selector}` — instance (contract address) with function selector
246
+ * `C:${classId}:${selector}` — class with function selector
247
+ *
248
+ * An optional flags segment can be appended after the selector:
249
+ * `I:${address}:${selector}:${flags}` or `C:${classId}:${selector}:${flags}`
250
+ * where flags is a `+`-separated list of: `os` (onlySelf), `rn` (rejectNullMsgSender), `cl=N` (calldataLength).
228
251
  *
229
252
  * @param value The string to parse
230
253
  * @returns A list of allowed elements
231
254
  */
232
255
  export declare function parseAllowList(value: string): AllowedElement[];
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBUVosTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFHbEYsT0FBTyxFQUNMLEtBQUssY0FBYyxFQUNuQixLQUFLLFdBQVcsRUFDaEIsS0FBSyxlQUFlLEVBR3JCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUNMLEtBQUssc0JBQXNCLEVBRTVCLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTRCLE1BQU0sOEJBQThCLENBQUM7QUFDL0YsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQThCLE1BQU0sb0NBQW9DLENBQUM7QUFDekcsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQTZCLE1BQU0sb0NBQW9DLENBQUM7QUFFdkc7O0dBRUc7QUFDSCxNQUFNLFdBQVcsU0FDZixTQUFRLGdCQUFnQixFQUN0QixzQkFBc0IsRUFDdEIsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsSUFBSSxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztJQUMxQyxvRUFBb0U7SUFDcEUsVUFBVSxFQUFFLE9BQU8sQ0FBQztJQUVwQix5REFBeUQ7SUFDekQsb0JBQW9CLEVBQUUsTUFBTSxDQUFDO0lBRTdCLHdEQUF3RDtJQUN4RCxtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFFNUIsdURBQXVEO0lBQ3ZELHFCQUFxQixFQUFFLE1BQU0sQ0FBQztJQUU5QixvRUFBb0U7SUFDcEUsNkJBQTZCLEVBQUUsT0FBTyxDQUFDO0lBRXZDLHFEQUFxRDtJQUNyRCxtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFFNUIsMkNBQTJDO0lBQzNDLFdBQVcsRUFB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
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBU1osTUFBTSwwQkFBMEIsQ0FBQztBQUlsQyxPQUFPLEVBQ0wsS0FBSyxjQUFjLEVBQ25CLEtBQUssV0FBVyxFQUNoQixLQUFLLGVBQWUsRUFHckIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFFbEYsT0FBTyxFQUNMLEtBQUssc0JBQXNCLEVBRTVCLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTRCLE1BQU0sOEJBQThCLENBQUM7QUFDL0YsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQThCLE1BQU0sb0NBQW9DLENBQUM7QUFDekcsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQTZCLE1BQU0sb0NBQW9DLENBQUM7QUFFdkc7O0dBRUc7QUFDSCxNQUFNLFdBQVcsU0FDZixTQUFRLGdCQUFnQixFQUN0QixzQkFBc0IsRUFDdEIsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsSUFBSSxDQUNGLGVBQWUsRUFDYixpQkFBaUIsR0FDakIsK0JBQStCLEdBQy9CLGtCQUFrQixHQUNsQixnQkFBZ0IsR0FDaEIsNEJBQTRCLENBQy9CO0lBQ0gsOEdBQThHO0lBQzlHLHNCQUFzQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRWhDLG9IQUFvSDtJQUNwSCwyQkFBMkIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUVyQyxnR0FBZ0c7SUFDaEcscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFL0IsZ0dBQWdHO0lBQ2hHLHFCQUFxQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRS9CLG9FQUFvRTtJQUNwRSxVQUFVLEVBQUUsT0FBTyxD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
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dest/config.js CHANGED
@@ -1,15 +1,35 @@
1
- import { booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, percentageConfigHelper, pickConfigMappings, secretStringConfigHelper } from '@aztec/foundation/config';
1
+ import { bigintConfigHelper, booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, percentageConfigHelper, pickConfigMappings, secretStringConfigHelper } from '@aztec/foundation/config';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { dataConfigMappings } from '@aztec/kv-store/config';
4
3
  import { FunctionSelector } from '@aztec/stdlib/abi/function-selector';
5
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
6
5
  import { chainConfigMappings, sharedSequencerConfigMappings } from '@aztec/stdlib/config';
6
+ import { dataConfigMappings } from '@aztec/stdlib/kv-store';
7
7
  import { batchTxRequesterConfigMappings } from './services/reqresp/batch-tx-requester/config.js';
8
8
  import { p2pReqRespConfigMappings } from './services/reqresp/config.js';
9
9
  import { txCollectionConfigMappings } from './services/tx_collection/config.js';
10
10
  import { txFileStoreConfigMappings } from './services/tx_file_store/config.js';
11
11
  export const DEFAULT_P2P_PORT = 40400;
12
12
  export const p2pConfigMappings = {
13
+ validateMaxTxsPerBlock: {
14
+ env: 'VALIDATOR_MAX_TX_PER_BLOCK',
15
+ description: 'Maximum transactions per block for validation. Overrides maxTxsPerBlock for gossip validation when set.',
16
+ parseEnv: (val)=>parseInt(val, 10)
17
+ },
18
+ validateMaxTxsPerCheckpoint: {
19
+ env: 'VALIDATOR_MAX_TX_PER_CHECKPOINT',
20
+ description: 'Maximum transactions per checkpoint for validation. Used as fallback for maxTxsPerBlock when that is not set.',
21
+ parseEnv: (val)=>parseInt(val, 10)
22
+ },
23
+ validateMaxL2BlockGas: {
24
+ env: 'VALIDATOR_MAX_L2_BLOCK_GAS',
25
+ description: 'Maximum L2 gas per block for validation. When set, txs exceeding this limit are rejected.',
26
+ parseEnv: (val)=>parseInt(val, 10)
27
+ },
28
+ validateMaxDABlockGas: {
29
+ env: 'VALIDATOR_MAX_DA_BLOCK_GAS',
30
+ description: 'Maximum DA gas per block for validation. When set, txs exceeding this limit are rejected.',
31
+ parseEnv: (val)=>parseInt(val, 10)
32
+ },
13
33
  p2pEnabled: {
14
34
  env: 'P2P_ENABLED',
15
35
  description: 'A flag dictating whether the P2P subsystem should be enabled.',
@@ -40,6 +60,11 @@ export const p2pConfigMappings = {
40
60
  description: 'The frequency in which to check for new peers.',
41
61
  ...numberConfigHelper(30_000)
42
62
  },
63
+ peerFailedBanTimeMs: {
64
+ env: 'P2P_PEER_FAILED_BAN_TIME_MS',
65
+ description: 'How long to ban a peer after it fails maximum dial attempts.',
66
+ ...numberConfigHelper(5 * 60 * 1000)
67
+ },
43
68
  l2QueueSize: {
44
69
  env: 'P2P_L2_QUEUE_SIZE',
45
70
  description: 'Size of queue of L2 blocks to store.',
@@ -131,7 +156,7 @@ export const p2pConfigMappings = {
131
156
  gossipsubMcacheLength: {
132
157
  env: 'P2P_GOSSIPSUB_MCACHE_LENGTH',
133
158
  description: 'The number of gossipsub interval message cache windows to keep.',
134
- ...numberConfigHelper(6)
159
+ ...numberConfigHelper(12)
135
160
  },
136
161
  gossipsubMcacheGossip: {
137
162
  env: 'P2P_GOSSIPSUB_MCACHE_GOSSIP',
@@ -203,14 +228,14 @@ export const p2pConfigMappings = {
203
228
  },
204
229
  p2pStoreMapSizeKb: {
205
230
  env: 'P2P_STORE_MAP_SIZE_KB',
206
- parseEnv: (val)=>val ? +val : undefined,
231
+ parseEnv: (val)=>+val,
207
232
  description: 'The maximum possible size of the P2P DB in KB. Overwrites the general dataStoreMapSizeKb.'
208
233
  },
209
- txPublicSetupAllowList: {
234
+ txPublicSetupAllowListExtend: {
210
235
  env: 'TX_PUBLIC_SETUP_ALLOWLIST',
211
236
  parseEnv: (val)=>parseAllowList(val),
212
- description: 'The list of functions calls allowed to run in setup',
213
- printDefault: ()=>'AuthRegistry, FeeJuice.increase_public_balance, Token.increase_public_balance, FPC.prepare_fee'
237
+ description: 'Additional entries to extend the default setup allow list. Format: I:address:selector[:flags],C:classId:selector[:flags]. Flags: os (onlySelf), rn (rejectNullMsgSender), cl=N (calldataLength), joined with +.',
238
+ printDefault: ()=>'Default: AuthRegistry._set_authorized, AuthRegistry.set_authorized, FeeJuice._increase_public_balance'
214
239
  },
215
240
  maxPendingTxCount: {
216
241
  env: 'P2P_MAX_PENDING_TX_COUNT',
@@ -239,11 +264,6 @@ export const p2pConfigMappings = {
239
264
  description: 'Number of auth attempts to allow before peer is banned. Number is inclusive',
240
265
  ...numberConfigHelper(3)
241
266
  },
242
- dropTransactions: {
243
- env: 'P2P_DROP_TX',
244
- description: 'True to simulate discarding transactions. - For testing purposes only',
245
- ...booleanConfigHelper(false)
246
- },
247
267
  dropTransactionsProbability: {
248
268
  env: 'P2P_DROP_TX_CHANCE',
249
269
  description: 'The probability that a transaction is discarded (0 - 1). - For testing purposes only',
@@ -264,6 +284,11 @@ export const p2pConfigMappings = {
264
284
  description: 'Alters the format of p2p messages to include things like broadcast timestamp FOR TESTING ONLY',
265
285
  ...booleanConfigHelper(false)
266
286
  },
287
+ l1PublishingTime: {
288
+ env: 'SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT',
289
+ description: 'How much time (in seconds) we allow in the slot for publishing the L1 tx (defaults to 1 L1 slot).',
290
+ parseEnv: (val)=>parseInt(val, 10)
291
+ },
267
292
  fishermanMode: {
268
293
  env: 'FISHERMAN_MODE',
269
294
  description: 'Whether to run in fisherman mode: validates all proposals and attestations but does not broadcast attestations or participate in consensus.',
@@ -278,6 +303,11 @@ export const p2pConfigMappings = {
278
303
  description: 'Minimum age (ms) a transaction must have been in the pool before it is eligible for block building.',
279
304
  ...numberConfigHelper(2_000)
280
305
  },
306
+ priceBumpPercentage: {
307
+ env: 'P2P_RPC_PRICE_BUMP_PERCENTAGE',
308
+ description: 'Minimum percentage fee increase required to replace an existing tx via RPC. Even at 0%, replacement still requires paying at least 1 unit more.',
309
+ ...bigintConfigHelper(10n)
310
+ },
281
311
  ...sharedSequencerConfigMappings,
282
312
  ...p2pReqRespConfigMappings,
283
313
  ...batchTxRequesterConfigMappings,
@@ -312,13 +342,37 @@ export const bootnodeConfigMappings = pickConfigMappings({
312
342
  ...dataConfigMappings,
313
343
  ...chainConfigMappings
314
344
  }, bootnodeConfigKeys);
345
+ /**
346
+ * Parses a `+`-separated flags string into validation properties for an allow list entry.
347
+ * Supported flags: `os` (onlySelf), `rn` (rejectNullMsgSender), `cl=N` (calldataLength).
348
+ */ function parseFlags(flags, entry) {
349
+ const result = {};
350
+ for (const flag of flags.split('+')){
351
+ if (flag === 'os') {
352
+ result.onlySelf = true;
353
+ } else if (flag === 'rn') {
354
+ result.rejectNullMsgSender = true;
355
+ } else if (flag.startsWith('cl=')) {
356
+ const n = parseInt(flag.slice(3), 10);
357
+ if (isNaN(n) || n < 0) {
358
+ throw new Error(`Invalid allow list entry "${entry}": invalid calldataLength in flag "${flag}". Expected a non-negative integer.`);
359
+ }
360
+ result.calldataLength = n;
361
+ } else {
362
+ throw new Error(`Invalid allow list entry "${entry}": unknown flag "${flag}". Supported flags: os, rn, cl=N.`);
363
+ }
364
+ }
365
+ return result;
366
+ }
315
367
  /**
316
368
  * Parses a string to a list of allowed elements.
317
- * Each encoded is expected to be of one of the following formats
318
- * `I:${address}`
319
- * `I:${address}:${selector}`
320
- * `C:${classId}`
321
- * `C:${classId}:${selector}`
369
+ * Each entry is expected to be of one of the following formats:
370
+ * `I:${address}:${selector}` — instance (contract address) with function selector
371
+ * `C:${classId}:${selector}` — class with function selector
372
+ *
373
+ * An optional flags segment can be appended after the selector:
374
+ * `I:${address}:${selector}:${flags}` or `C:${classId}:${selector}:${flags}`
375
+ * where flags is a `+`-separated list of: `os` (onlySelf), `rn` (rejectNullMsgSender), `cl=N` (calldataLength).
322
376
  *
323
377
  * @param value The string to parse
324
378
  * @returns A list of allowed elements
@@ -328,30 +382,30 @@ export const bootnodeConfigMappings = pickConfigMappings({
328
382
  return entries;
329
383
  }
330
384
  for (const val of value.split(',')){
331
- const [typeString, identifierString, selectorString] = val.split(':');
332
- const selector = selectorString !== undefined ? FunctionSelector.fromString(selectorString) : undefined;
385
+ const trimmed = val.trim();
386
+ if (!trimmed) {
387
+ continue;
388
+ }
389
+ const [typeString, identifierString, selectorString, flagsString] = trimmed.split(':');
390
+ if (!selectorString) {
391
+ throw new Error(`Invalid allow list entry "${trimmed}": selector is required. Expected format: I:address:selector or C:classId:selector`);
392
+ }
393
+ const selector = FunctionSelector.fromString(selectorString);
394
+ const flags = flagsString ? parseFlags(flagsString, trimmed) : {};
333
395
  if (typeString === 'I') {
334
- if (selector) {
335
- entries.push({
336
- address: AztecAddress.fromString(identifierString),
337
- selector
338
- });
339
- } else {
340
- entries.push({
341
- address: AztecAddress.fromString(identifierString)
342
- });
343
- }
396
+ entries.push({
397
+ address: AztecAddress.fromString(identifierString),
398
+ selector,
399
+ ...flags
400
+ });
344
401
  } else if (typeString === 'C') {
345
- if (selector) {
346
- entries.push({
347
- classId: Fr.fromHexString(identifierString),
348
- selector
349
- });
350
- } else {
351
- entries.push({
352
- classId: Fr.fromHexString(identifierString)
353
- });
354
- }
402
+ entries.push({
403
+ classId: Fr.fromHexString(identifierString),
404
+ selector,
405
+ ...flags
406
+ });
407
+ } else {
408
+ throw new Error(`Invalid allow list entry "${trimmed}": unknown type "${typeString}". Expected "I" (instance) or "C" (class).`);
355
409
  }
356
410
  }
357
411
  return entries;
@@ -0,0 +1,9 @@
1
+ /** Checkpoint Proposal Received Callback Not Registered Error
2
+ *
3
+ * Error triggered if the allNodesCheckpointReceivedCallback is not registered
4
+ * @category Errors
5
+ */
6
+ export declare class CheckpointProposalReceivedCallbackNotRegisteredError extends Error {
7
+ constructor();
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDJwLXNlcnZpY2UuZXJyb3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvcDJwLXNlcnZpY2UuZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILHFCQUFhLG9EQUFxRCxTQUFRLEtBQUs7SUFDN0UsY0FHQztDQUNGIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p2p-service.error.d.ts","sourceRoot":"","sources":["../../src/errors/p2p-service.error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,oDAAqD,SAAQ,KAAK;IAC7E,cAGC;CACF"}
@@ -0,0 +1,10 @@
1
+ /** Checkpoint Proposal Received Callback Not Registered Error
2
+ *
3
+ * Error triggered if the allNodesCheckpointReceivedCallback is not registered
4
+ * @category Errors
5
+ */ export class CheckpointProposalReceivedCallbackNotRegisteredError extends Error {
6
+ constructor(){
7
+ super('FATAL (allNodesCheckpointReceivedCallback): All nodes should register a checkpoint proposal handler');
8
+ this.name = 'CheckpointProposalReceivedCallbackNotRegisteredError';
9
+ }
10
+ }
@@ -0,0 +1,8 @@
1
+ import type { TxPoolRejectionError } from '../mem_pools/tx_pool_v2/eviction/interfaces.js';
2
+ /** Error thrown when a transaction is not added to the mempool. */
3
+ export declare class TxPoolError extends Error {
4
+ readonly reason: TxPoolRejectionError;
5
+ readonly data: TxPoolRejectionError;
6
+ constructor(reason: TxPoolRejectionError);
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHgtcG9vbC5lcnJvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy90eC1wb29sLmVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFM0YsbUVBQW1FO0FBQ25FLHFCQUFhLFdBQVksU0FBUSxLQUFLO2FBR1IsTUFBTSxFQUFFLG9CQUFvQjtJQUZ4RCxTQUFnQixJQUFJLEVBQUUsb0JBQW9CLENBQUM7SUFFM0MsWUFBNEIsTUFBTSxFQUFFLG9CQUFvQixFQUl2RDtDQUNGIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-pool.error.d.ts","sourceRoot":"","sources":["../../src/errors/tx-pool.error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAE3F,mEAAmE;AACnE,qBAAa,WAAY,SAAQ,KAAK;aAGR,MAAM,EAAE,oBAAoB;IAFxD,SAAgB,IAAI,EAAE,oBAAoB,CAAC;IAE3C,YAA4B,MAAM,EAAE,oBAAoB,EAIvD;CACF"}
@@ -0,0 +1,9 @@
1
+ /** Error thrown when a transaction is not added to the mempool. */ export class TxPoolError extends Error {
2
+ reason;
3
+ data;
4
+ constructor(reason){
5
+ super(reason.message), this.reason = reason;
6
+ this.name = 'TxPoolError';
7
+ this.data = reason;
8
+ }
9
+ }
package/dest/index.d.ts CHANGED
@@ -5,8 +5,7 @@ export * from './client/index.js';
5
5
  export * from './enr/index.js';
6
6
  export * from './config.js';
7
7
  export * from './mem_pools/attestation_pool/index.js';
8
- export * from './mem_pools/tx_pool/index.js';
9
8
  export * from './mem_pools/tx_pool_v2/index.js';
10
9
  export * from './msg_validators/index.js';
11
10
  export * from './services/index.js';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHFCQUFxQixDQUFDIn0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxxQkFBcUIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC"}
package/dest/index.js CHANGED
@@ -4,7 +4,6 @@ export * from './client/index.js';
4
4
  export * from './enr/index.js';
5
5
  export * from './config.js';
6
6
  export * from './mem_pools/attestation_pool/index.js';
7
- export * from './mem_pools/tx_pool/index.js';
8
7
  export * from './mem_pools/tx_pool_v2/index.js';
9
8
  export * from './msg_validators/index.js';
10
9
  export * from './services/index.js';