@aztec/p2p 0.0.1-commit.c2eed6949 → 0.0.1-commit.c52d6e7

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 (427) hide show
  1. package/README.md +7 -6
  2. package/dest/bootstrap/bootstrap.d.ts +1 -1
  3. package/dest/bootstrap/bootstrap.d.ts.map +1 -1
  4. package/dest/bootstrap/bootstrap.js +22 -6
  5. package/dest/client/factory.d.ts +4 -3
  6. package/dest/client/factory.d.ts.map +1 -1
  7. package/dest/client/factory.js +36 -26
  8. package/dest/client/interface.d.ts +52 -12
  9. package/dest/client/interface.d.ts.map +1 -1
  10. package/dest/client/p2p_client.d.ts +34 -19
  11. package/dest/client/p2p_client.d.ts.map +1 -1
  12. package/dest/client/p2p_client.js +105 -46
  13. package/dest/config.d.ts +143 -107
  14. package/dest/config.d.ts.map +1 -1
  15. package/dest/config.js +72 -26
  16. package/dest/errors/p2p-service.error.d.ts +9 -0
  17. package/dest/errors/p2p-service.error.d.ts.map +1 -0
  18. package/dest/errors/p2p-service.error.js +10 -0
  19. package/dest/errors/reqresp.error.d.ts +9 -16
  20. package/dest/errors/reqresp.error.d.ts.map +1 -1
  21. package/dest/errors/reqresp.error.js +10 -17
  22. package/dest/index.d.ts +1 -2
  23. package/dest/index.d.ts.map +1 -1
  24. package/dest/index.js +0 -1
  25. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +98 -56
  26. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  27. package/dest/mem_pools/attestation_pool/attestation_pool.js +269 -196
  28. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +1 -1
  29. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
  30. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +218 -59
  31. package/dest/mem_pools/attestation_pool/mocks.d.ts +1 -1
  32. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  33. package/dest/mem_pools/attestation_pool/mocks.js +6 -4
  34. package/dest/mem_pools/index.d.ts +1 -2
  35. package/dest/mem_pools/index.d.ts.map +1 -1
  36. package/dest/mem_pools/instrumentation.d.ts +9 -4
  37. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  38. package/dest/mem_pools/instrumentation.js +28 -9
  39. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts +1 -5
  40. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts.map +1 -1
  41. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.js +1 -7
  42. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +3 -3
  43. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -1
  44. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +6 -6
  45. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +1 -1
  46. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -1
  47. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +3 -3
  48. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +1 -1
  49. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -1
  50. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +3 -1
  51. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +2 -1
  52. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -1
  53. package/dest/mem_pools/tx_pool_v2/eviction/index.js +1 -0
  54. package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts +16 -0
  55. package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts.map +1 -0
  56. package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.js +64 -0
  57. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts +1 -1
  58. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -1
  59. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +3 -4
  60. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts +1 -1
  61. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -1
  62. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +6 -7
  63. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +1 -1
  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 +6 -5
  66. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +33 -5
  67. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
  68. package/dest/mem_pools/tx_pool_v2/interfaces.js +2 -1
  69. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +5 -2
  70. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
  71. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +13 -6
  72. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +15 -1
  73. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -1
  74. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +31 -0
  75. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +9 -3
  76. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -1
  77. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +19 -8
  78. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +17 -4
  79. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -1
  80. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +208 -118
  81. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +10 -3
  82. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  83. package/dest/msg_validators/attestation_validator/attestation_validator.js +38 -16
  84. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +7 -3
  85. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
  86. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +4 -5
  87. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +8 -3
  88. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
  89. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +2 -2
  90. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +8 -3
  91. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
  92. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +8 -2
  93. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +25 -3
  94. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
  95. package/dest/msg_validators/proposal_validator/proposal_validator.js +85 -15
  96. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +1 -1
  97. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  98. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +8 -15
  99. package/dest/msg_validators/tx_validator/allowed_public_setup.js +3 -3
  100. package/dest/msg_validators/tx_validator/archive_cache.js +1 -1
  101. package/dest/msg_validators/tx_validator/cached_tx_validator.d.ts +15 -0
  102. package/dest/msg_validators/tx_validator/cached_tx_validator.d.ts.map +1 -0
  103. package/dest/msg_validators/tx_validator/cached_tx_validator.js +19 -0
  104. package/dest/msg_validators/tx_validator/data_validator.d.ts +2 -1
  105. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  106. package/dest/msg_validators/tx_validator/data_validator.js +1 -0
  107. package/dest/msg_validators/tx_validator/factory.d.ts +14 -15
  108. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  109. package/dest/msg_validators/tx_validator/factory.js +29 -16
  110. package/dest/msg_validators/tx_validator/gas_validator.d.ts +47 -10
  111. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  112. package/dest/msg_validators/tx_validator/gas_validator.js +65 -48
  113. package/dest/msg_validators/tx_validator/index.d.ts +3 -1
  114. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  115. package/dest/msg_validators/tx_validator/index.js +2 -0
  116. package/dest/msg_validators/tx_validator/phases_validator.js +2 -2
  117. package/dest/msg_validators/tx_validator/timestamp_validator.js +1 -1
  118. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +2 -1
  119. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
  120. package/dest/msg_validators/tx_validator/tx_proof_validator.js +2 -0
  121. package/dest/msg_validators/tx_validator/tx_validation_cache.d.ts +48 -0
  122. package/dest/msg_validators/tx_validator/tx_validation_cache.d.ts.map +1 -0
  123. package/dest/msg_validators/tx_validator/tx_validation_cache.js +68 -0
  124. package/dest/services/data_store.d.ts +1 -1
  125. package/dest/services/data_store.d.ts.map +1 -1
  126. package/dest/services/data_store.js +5 -5
  127. package/dest/services/discv5/discV5_service.d.ts +13 -2
  128. package/dest/services/discv5/discV5_service.d.ts.map +1 -1
  129. package/dest/services/discv5/discV5_service.js +119 -25
  130. package/dest/services/discv5/persisted_enr_store.d.ts +38 -0
  131. package/dest/services/discv5/persisted_enr_store.d.ts.map +1 -0
  132. package/dest/services/discv5/persisted_enr_store.js +145 -0
  133. package/dest/services/dummy_service.d.ts +15 -15
  134. package/dest/services/dummy_service.d.ts.map +1 -1
  135. package/dest/services/dummy_service.js +15 -16
  136. package/dest/services/encoding.d.ts +19 -6
  137. package/dest/services/encoding.d.ts.map +1 -1
  138. package/dest/services/encoding.js +25 -15
  139. package/dest/services/gossipsub/topic_score_params.d.ts +6 -12
  140. package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -1
  141. package/dest/services/gossipsub/topic_score_params.js +4 -14
  142. package/dest/services/libp2p/instrumentation.d.ts +3 -1
  143. package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
  144. package/dest/services/libp2p/instrumentation.js +14 -0
  145. package/dest/services/libp2p/libp2p_service.d.ts +41 -40
  146. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  147. package/dest/services/libp2p/libp2p_service.js +323 -275
  148. package/dest/services/peer-manager/peer_manager.d.ts +20 -3
  149. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  150. package/dest/services/peer-manager/peer_manager.js +77 -23
  151. package/dest/services/peer-manager/peer_scoring.d.ts +34 -2
  152. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  153. package/dest/services/peer-manager/peer_scoring.js +102 -13
  154. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +1 -8
  155. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -1
  156. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +35 -44
  157. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +8 -5
  158. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -1
  159. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts +5 -14
  160. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts.map +1 -1
  161. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +6 -20
  162. package/dest/services/reqresp/config.d.ts +15 -3
  163. package/dest/services/reqresp/config.d.ts.map +1 -1
  164. package/dest/services/reqresp/config.js +11 -0
  165. package/dest/services/reqresp/interface.d.ts +16 -18
  166. package/dest/services/reqresp/interface.d.ts.map +1 -1
  167. package/dest/services/reqresp/interface.js +10 -20
  168. package/dest/services/reqresp/metrics.d.ts +1 -1
  169. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  170. package/dest/services/reqresp/metrics.js +0 -1
  171. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +4 -3
  172. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -1
  173. package/dest/services/reqresp/protocols/block_txs/bitvector.js +3 -2
  174. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +1 -1
  175. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
  176. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +31 -28
  177. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +12 -7
  178. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
  179. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +42 -24
  180. package/dest/services/reqresp/protocols/index.d.ts +1 -2
  181. package/dest/services/reqresp/protocols/index.d.ts.map +1 -1
  182. package/dest/services/reqresp/protocols/index.js +0 -1
  183. package/dest/services/reqresp/protocols/tx.d.ts +1 -1
  184. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  185. package/dest/services/reqresp/protocols/tx.js +1 -3
  186. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +5 -4
  187. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -1
  188. package/dest/services/reqresp/rate-limiter/rate_limiter.js +10 -8
  189. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +1 -1
  190. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -1
  191. package/dest/services/reqresp/rate-limiter/rate_limits.js +3 -13
  192. package/dest/services/reqresp/reqresp.d.ts +7 -29
  193. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  194. package/dest/services/reqresp/reqresp.js +59 -209
  195. package/dest/services/service.d.ts +27 -16
  196. package/dest/services/service.d.ts.map +1 -1
  197. package/dest/services/tx_collection/config.d.ts +2 -23
  198. package/dest/services/tx_collection/config.d.ts.map +1 -1
  199. package/dest/services/tx_collection/config.js +2 -55
  200. package/dest/services/tx_collection/file_store_tx_collection.d.ts +12 -28
  201. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -1
  202. package/dest/services/tx_collection/file_store_tx_collection.js +43 -83
  203. package/dest/services/tx_collection/file_store_tx_source.d.ts +5 -4
  204. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -1
  205. package/dest/services/tx_collection/file_store_tx_source.js +39 -29
  206. package/dest/services/tx_collection/index.d.ts +2 -3
  207. package/dest/services/tx_collection/index.d.ts.map +1 -1
  208. package/dest/services/tx_collection/index.js +0 -1
  209. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  210. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  211. package/dest/services/tx_collection/instrumentation.js +0 -2
  212. package/dest/services/tx_collection/tx_collection.d.ts +35 -51
  213. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  214. package/dest/services/tx_collection/tx_collection.js +275 -119
  215. package/dest/services/tx_collection/tx_collection_sink.d.ts +1 -1
  216. package/dest/services/tx_collection/tx_collection_sink.js +2 -2
  217. package/dest/services/tx_collection/tx_source.d.ts +6 -5
  218. package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
  219. package/dest/services/tx_collection/tx_source.js +13 -8
  220. package/dest/services/tx_file_store/tx_file_store.d.ts +1 -3
  221. package/dest/services/tx_file_store/tx_file_store.d.ts.map +1 -1
  222. package/dest/services/tx_file_store/tx_file_store.js +4 -14
  223. package/dest/services/tx_provider.d.ts +3 -1
  224. package/dest/services/tx_provider.d.ts.map +1 -1
  225. package/dest/services/tx_provider.js +3 -0
  226. package/dest/test-helpers/make-test-p2p-clients.d.ts +1 -1
  227. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  228. package/dest/test-helpers/make-test-p2p-clients.js +5 -2
  229. package/dest/test-helpers/mock-pubsub.d.ts +21 -12
  230. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  231. package/dest/test-helpers/mock-pubsub.js +39 -47
  232. package/dest/test-helpers/reqresp-nodes.d.ts +4 -5
  233. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  234. package/dest/test-helpers/reqresp-nodes.js +16 -18
  235. package/dest/test-helpers/test_tx_provider.d.ts +3 -1
  236. package/dest/test-helpers/test_tx_provider.d.ts.map +1 -1
  237. package/dest/test-helpers/test_tx_provider.js +3 -0
  238. package/dest/test-helpers/testbench-utils.d.ts +15 -14
  239. package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
  240. package/dest/test-helpers/testbench-utils.js +30 -14
  241. package/dest/testbench/p2p_client_testbench_worker.d.ts +3 -5
  242. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  243. package/dest/testbench/p2p_client_testbench_worker.js +101 -39
  244. package/dest/testbench/worker_client_manager.d.ts +10 -6
  245. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  246. package/dest/testbench/worker_client_manager.js +51 -9
  247. package/dest/util.d.ts +8 -8
  248. package/dest/util.d.ts.map +1 -1
  249. package/dest/util.js +38 -10
  250. package/dest/versioning.d.ts +3 -6
  251. package/dest/versioning.d.ts.map +1 -1
  252. package/dest/versioning.js +3 -24
  253. package/package.json +15 -16
  254. package/src/bootstrap/bootstrap.ts +17 -3
  255. package/src/client/factory.ts +54 -25
  256. package/src/client/interface.ts +48 -18
  257. package/src/client/p2p_client.ts +125 -79
  258. package/src/client/test/{tx_proposal_collector/README.md → p2p_client.batch_tx_requester.bench.README.md} +23 -53
  259. package/src/config.ts +146 -34
  260. package/src/errors/p2p-service.error.ts +11 -0
  261. package/src/errors/reqresp.error.ts +13 -19
  262. package/src/index.ts +0 -1
  263. package/src/mem_pools/attestation_pool/attestation_pool.ts +324 -239
  264. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +238 -63
  265. package/src/mem_pools/attestation_pool/mocks.ts +13 -8
  266. package/src/mem_pools/index.ts +0 -3
  267. package/src/mem_pools/instrumentation.ts +18 -12
  268. package/src/mem_pools/tx_pool_v2/archive/tx_archive.ts +1 -9
  269. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +7 -7
  270. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +2 -4
  271. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +3 -2
  272. package/src/mem_pools/tx_pool_v2/eviction/index.ts +1 -0
  273. package/src/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.ts +67 -0
  274. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +1 -3
  275. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +5 -7
  276. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +5 -6
  277. package/src/mem_pools/tx_pool_v2/interfaces.ts +31 -4
  278. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +20 -8
  279. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +35 -0
  280. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +22 -8
  281. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +233 -123
  282. package/src/msg_validators/attestation_validator/attestation_validator.ts +46 -15
  283. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +15 -7
  284. package/src/msg_validators/proposal_validator/README.md +1 -1
  285. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +15 -3
  286. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +26 -3
  287. package/src/msg_validators/proposal_validator/proposal_validator.ts +94 -12
  288. package/src/msg_validators/tx_validator/README.md +13 -3
  289. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +3 -12
  290. package/src/msg_validators/tx_validator/allowed_public_setup.ts +3 -3
  291. package/src/msg_validators/tx_validator/archive_cache.ts +1 -1
  292. package/src/msg_validators/tx_validator/cached_tx_validator.ts +31 -0
  293. package/src/msg_validators/tx_validator/data_validator.ts +2 -0
  294. package/src/msg_validators/tx_validator/factory.ts +37 -20
  295. package/src/msg_validators/tx_validator/gas_validator.ts +99 -54
  296. package/src/msg_validators/tx_validator/index.ts +2 -0
  297. package/src/msg_validators/tx_validator/phases_validator.ts +2 -2
  298. package/src/msg_validators/tx_validator/timestamp_validator.ts +1 -1
  299. package/src/msg_validators/tx_validator/tx_proof_validator.ts +2 -0
  300. package/src/msg_validators/tx_validator/tx_validation_cache.ts +101 -0
  301. package/src/services/data_store.ts +5 -13
  302. package/src/services/discv5/discV5_service.ts +126 -16
  303. package/src/services/discv5/persisted_enr_store.ts +158 -0
  304. package/src/services/dummy_service.ts +20 -39
  305. package/src/services/encoding.ts +28 -20
  306. package/src/services/gossipsub/README.md +33 -11
  307. package/src/services/gossipsub/topic_score_params.ts +9 -18
  308. package/src/services/libp2p/instrumentation.ts +14 -0
  309. package/src/services/libp2p/libp2p_service.ts +371 -301
  310. package/src/services/peer-manager/peer_manager.ts +84 -22
  311. package/src/services/peer-manager/peer_scoring.ts +102 -8
  312. package/src/services/reqresp/README.md +2 -37
  313. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +39 -52
  314. package/src/services/reqresp/batch-tx-requester/interface.ts +11 -4
  315. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +12 -25
  316. package/src/services/reqresp/config.ts +19 -2
  317. package/src/services/reqresp/interface.ts +21 -47
  318. package/src/services/reqresp/metrics.ts +0 -1
  319. package/src/services/reqresp/protocols/block_txs/bitvector.ts +3 -2
  320. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +34 -30
  321. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +47 -20
  322. package/src/services/reqresp/protocols/index.ts +0 -1
  323. package/src/services/reqresp/protocols/tx.ts +1 -3
  324. package/src/services/reqresp/rate-limiter/rate_limiter.ts +13 -9
  325. package/src/services/reqresp/rate-limiter/rate_limits.ts +3 -13
  326. package/src/services/reqresp/reqresp.ts +69 -252
  327. package/src/services/service.ts +32 -32
  328. package/src/services/tx_collection/config.ts +3 -80
  329. package/src/services/tx_collection/file_store_tx_collection.ts +54 -103
  330. package/src/services/tx_collection/file_store_tx_source.ts +43 -31
  331. package/src/services/tx_collection/index.ts +1 -6
  332. package/src/services/tx_collection/instrumentation.ts +1 -7
  333. package/src/services/tx_collection/tx_collection.ts +330 -173
  334. package/src/services/tx_collection/tx_collection_sink.ts +2 -2
  335. package/src/services/tx_collection/tx_source.ts +10 -8
  336. package/src/services/tx_file_store/tx_file_store.ts +5 -17
  337. package/src/services/tx_provider.ts +5 -0
  338. package/src/test-helpers/make-test-p2p-clients.ts +3 -0
  339. package/src/test-helpers/mock-pubsub.ts +41 -64
  340. package/src/test-helpers/reqresp-nodes.ts +12 -22
  341. package/src/test-helpers/test_tx_provider.ts +5 -0
  342. package/src/test-helpers/testbench-utils.ts +36 -26
  343. package/src/testbench/p2p_client_testbench_worker.ts +108 -53
  344. package/src/testbench/worker_client_manager.ts +59 -20
  345. package/src/util.ts +33 -14
  346. package/src/versioning.ts +3 -33
  347. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts +0 -2
  348. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts.map +0 -1
  349. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +0 -304
  350. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts +0 -73
  351. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts.map +0 -1
  352. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.js +0 -8
  353. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +0 -125
  354. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +0 -1
  355. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +0 -596
  356. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +0 -32
  357. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +0 -1
  358. package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +0 -112
  359. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +0 -157
  360. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +0 -1
  361. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +0 -52
  362. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts +0 -16
  363. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts.map +0 -1
  364. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.js +0 -123
  365. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +0 -17
  366. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +0 -1
  367. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +0 -84
  368. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +0 -19
  369. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +0 -1
  370. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +0 -78
  371. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +0 -26
  372. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +0 -1
  373. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.js +0 -84
  374. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts +0 -25
  375. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts.map +0 -1
  376. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.js +0 -57
  377. package/dest/mem_pools/tx_pool/index.d.ts +0 -3
  378. package/dest/mem_pools/tx_pool/index.d.ts.map +0 -1
  379. package/dest/mem_pools/tx_pool/index.js +0 -2
  380. package/dest/mem_pools/tx_pool/priority.d.ts +0 -12
  381. package/dest/mem_pools/tx_pool/priority.d.ts.map +0 -1
  382. package/dest/mem_pools/tx_pool/priority.js +0 -15
  383. package/dest/mem_pools/tx_pool/tx_pool.d.ts +0 -127
  384. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +0 -1
  385. package/dest/mem_pools/tx_pool/tx_pool.js +0 -3
  386. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +0 -7
  387. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +0 -1
  388. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +0 -402
  389. package/dest/msg_validators/clock_tolerance.d.ts +0 -21
  390. package/dest/msg_validators/clock_tolerance.d.ts.map +0 -1
  391. package/dest/msg_validators/clock_tolerance.js +0 -38
  392. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +0 -64
  393. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +0 -1
  394. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +0 -151
  395. package/dest/services/reqresp/protocols/block.d.ts +0 -9
  396. package/dest/services/reqresp/protocols/block.d.ts.map +0 -1
  397. package/dest/services/reqresp/protocols/block.js +0 -32
  398. package/dest/services/tx_collection/fast_tx_collection.d.ts +0 -51
  399. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +0 -1
  400. package/dest/services/tx_collection/fast_tx_collection.js +0 -311
  401. package/dest/services/tx_collection/proposal_tx_collector.d.ts +0 -48
  402. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +0 -1
  403. package/dest/services/tx_collection/proposal_tx_collector.js +0 -50
  404. package/dest/services/tx_collection/slow_tx_collection.d.ts +0 -57
  405. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +0 -1
  406. package/dest/services/tx_collection/slow_tx_collection.js +0 -211
  407. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +0 -343
  408. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.ts +0 -43
  409. package/src/mem_pools/tx_pool/README.md +0 -270
  410. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +0 -746
  411. package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +0 -132
  412. package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +0 -208
  413. package/src/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.ts +0 -163
  414. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +0 -104
  415. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +0 -93
  416. package/src/mem_pools/tx_pool/eviction/low_priority_eviction_rule.ts +0 -106
  417. package/src/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.ts +0 -75
  418. package/src/mem_pools/tx_pool/index.ts +0 -2
  419. package/src/mem_pools/tx_pool/priority.ts +0 -20
  420. package/src/mem_pools/tx_pool/tx_pool.ts +0 -141
  421. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +0 -321
  422. package/src/msg_validators/clock_tolerance.ts +0 -52
  423. package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +0 -161
  424. package/src/services/reqresp/protocols/block.ts +0 -37
  425. package/src/services/tx_collection/fast_tx_collection.ts +0 -361
  426. package/src/services/tx_collection/proposal_tx_collector.ts +0 -108
  427. package/src/services/tx_collection/slow_tx_collection.ts +0 -266
package/dest/config.d.ts CHANGED
@@ -8,21 +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' | 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock'> {
11
+ export interface P2PConfig extends P2PReqRespConfig, BatchTxRequesterConfig, ChainConfig, TxCollectionConfig, TxFileStoreConfig, Pick<SequencerConfig, 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock' | 'checkpointProposalSyncGraceSeconds' | 'maxBlocksPerCheckpoint'>, Required<Pick<SequencerConfig, 'blockDurationMs'>> {
12
12
  /** Maximum transactions per block for validation. Overrides maxTxsPerBlock for gossip validation when set. */
13
13
  validateMaxTxsPerBlock?: number;
14
14
  /** Maximum transactions per checkpoint for validation. Used as fallback for maxTxsPerBlock when that is not set. */
15
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;
20
16
  /** A flag dictating whether the P2P subsystem should be enabled. */
21
17
  p2pEnabled: boolean;
22
18
  /** The frequency in which to check for new L2 blocks. */
23
19
  blockCheckIntervalMS: number;
24
- /** The frequency in which to check for new L2 slots. */
25
- slotCheckIntervalMS: number;
26
20
  /** The number of blocks to fetch in a single batch. */
27
21
  blockRequestBatchSize: number;
28
22
  /** DEBUG: Disable colocation penalty - for testing purposes only */
@@ -55,6 +49,10 @@ export interface P2PConfig extends P2PReqRespConfig, BatchTxRequesterConfig, Cha
55
49
  maxPeerCount: number;
56
50
  /** If announceUdpAddress or announceTcpAddress are not provided, query for the IP address of the machine. Default is false. */
57
51
  queryForIp: boolean;
52
+ /**
53
+ * HTTPS URLs that return plain-text public IPv4, tried in order when resolving the announce IP (e.g. when `queryForIp` is true and `p2pIp` is unset).
54
+ */
55
+ publicIpServices: string[];
58
56
  /** The interval of the gossipsub heartbeat to perform maintenance tasks. */
59
57
  gossipsubInterval: number;
60
58
  /** The D parameter for the gossipsub protocol. */
@@ -73,6 +71,12 @@ export interface P2PConfig extends P2PReqRespConfig, BatchTxRequesterConfig, Cha
73
71
  gossipsubMcacheGossip: number;
74
72
  /** How long to keep message IDs in the seen cache (ms). */
75
73
  gossipsubSeenTTL: number;
74
+ /**
75
+ * Maximum clock-disparity tolerance (ms) applied to proposal/attestation gossip receive windows. Both
76
+ * ends of each acceptance window are widened by this much so peers are not penalized for messages valid
77
+ * when sent but arriving slightly early or late due to clock skew (Ethereum's MAXIMUM_GOSSIP_CLOCK_DISPARITY).
78
+ */
79
+ maxGossipClockDisparityMs: number;
76
80
  /** The 'age' (in # of L2 blocks) of a processed tx after which we heavily penalize a peer for re-sending it. */
77
81
  doubleSpendSeverePeerPenaltyWindow: number;
78
82
  /** The weight of the tx topic for the gossipsub protocol. This determines how much the score for this specific topic contributes to the overall peer score. */
@@ -83,6 +87,8 @@ export interface P2PConfig extends P2PReqRespConfig, BatchTxRequesterConfig, Cha
83
87
  gossipsubTxInvalidMessageDeliveriesDecay: number;
84
88
  /** The values for the peer scoring system. Passed as a comma separated list of values in order: low, mid, high tolerance errors. */
85
89
  peerPenaltyValues: number[];
90
+ /** How long (in seconds) a peer is banned for once its score drops below the ban threshold. */
91
+ peerBanDurationSeconds: number;
86
92
  /** Limit of transactions to archive in the tx pool. Once the archived tx limit is reached, the oldest archived txs will be purged. */
87
93
  archivedTxLimit: number;
88
94
  /** A list of trusted peers. */
@@ -99,6 +105,8 @@ export interface P2PConfig extends P2PReqRespConfig, BatchTxRequesterConfig, Cha
99
105
  maxPendingTxCount: number;
100
106
  /** The node's seen message ID cache size */
101
107
  seenMessageCacheSize: number;
108
+ /** Maximum number of (validator, tx) pairs to keep in the tx validation LRU cache. */
109
+ txValidationCacheSize: number;
102
110
  /** True to disable the status handshake on peer connected. */
103
111
  p2pDisableStatusHandshake?: boolean;
104
112
  /** True to only permit validators to connect */
@@ -121,10 +129,39 @@ export interface P2PConfig extends P2PReqRespConfig, BatchTxRequesterConfig, Cha
121
129
  broadcastEquivocatedProposals?: boolean;
122
130
  /** Minimum age (ms) a transaction must have been in the pool before it's eligible for block building. */
123
131
  minTxPoolAgeMs: number;
132
+ /**
133
+ * Number of full L2 slots to wait after a checkpoint's slot before declaring its txs missing
134
+ * for data-withholding slashing.
135
+ */
136
+ slashDataWithholdingToleranceSlots: number;
137
+ /**
138
+ * Number of L2 slots after a mined block's slot to keep collecting its missing txs. Clamped
139
+ * up so that collection always runs at least until the data-withholding slash verdict is
140
+ * rendered (`block.slot + slashDataWithholdingToleranceSlots + 1`). Defaults to undefined,
141
+ * in which case the tolerance window is used directly.
142
+ */
143
+ p2pMissingTxCollectionDeadlineSlots?: number;
124
144
  /** Minimum percentage fee increase required to replace an existing tx via RPC (0 = no bump). */
125
145
  priceBumpPercentage: bigint;
146
+ /**
147
+ * Number of slots behind the finalized tip to keep finalized txs for before deleting them. 0 deletes
148
+ * at the finalized tip (default).
149
+ */
150
+ keepFinalizedTxsForSlots: number;
151
+ /** Drop incoming block and checkpoint proposals at the libp2p dispatch layer (for testing only) */
152
+ skipIncomingProposals?: boolean;
153
+ /** Accept proposal gossip regardless of slot timing (for testing only). */
154
+ skipProposalSlotValidation?: boolean;
155
+ /**
156
+ * Whether this node skips checkpoint proposal validation and always attests. When set, the checkpoint
157
+ * attestation is created and broadcast before the embedded last block is processed, so it is not delayed
158
+ * past the slot's attestation window by that block's re-execution. Mirrors the validator config flag.
159
+ */
160
+ skipCheckpointProposalValidation?: boolean;
126
161
  }
127
162
  export declare const DEFAULT_P2P_PORT = 40400;
163
+ /** Default endpoints used to discover this machine's public IPv4 when `queryForIp` is enabled. */
164
+ export declare const DEFAULT_PUBLIC_IP_SERVICES: string[];
128
165
  export declare const p2pConfigMappings: ConfigMappingsType<P2PConfig>;
129
166
  /**
130
167
  * Gets the config values for p2p client from environment variables.
@@ -135,106 +172,105 @@ export declare function getP2PDefaultConfig(): P2PConfig;
135
172
  /**
136
173
  * Required P2P config values for a bootstrap node.
137
174
  */
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'>;
175
+ export type BootnodeConfig = Pick<P2PConfig, 'p2pIp' | 'p2pPort' | 'p2pBroadcastPort' | 'peerIdPrivateKey' | 'peerIdPrivateKeyPath' | 'bootstrapNodes' | 'listenAddress' | 'queryForIp' | 'publicIpServices'> & Required<Pick<P2PConfig, 'p2pIp' | 'p2pPort'>> & Pick<DataStoreConfig, 'dataDirectory' | 'dataStoreMapSizeKb'> & Pick<ChainConfig, 'l1ChainId'>;
139
176
  export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
140
- archivedTxLimit: unknown;
141
- batchTxRequesterBadPeerThreshold: unknown;
142
- batchTxRequesterDumbParallelWorkerCount: unknown;
143
- batchTxRequesterSmartParallelWorkerCount: unknown;
144
- batchTxRequesterTxBatchSize: unknown;
145
- blockCheckIntervalMS: unknown;
146
- blockDurationMs: unknown;
147
- blockRequestBatchSize: unknown;
148
- bootstrapNodeEnrVersionCheck: unknown;
149
- bootstrapNodes: unknown;
150
- bootstrapNodesAsFullPeers: unknown;
151
- broadcastEquivocatedProposals: unknown;
152
- dataDirectory: unknown;
153
- dataStoreMapSizeKb: unknown;
154
- debugDisableColocationPenalty: unknown;
155
- debugP2PInstrumentMessages: unknown;
156
- dialTimeoutMs: unknown;
157
- disableTransactions: unknown;
158
- doubleSpendSeverePeerPenaltyWindow: unknown;
159
- dropTransactionsProbability: unknown;
160
- expectedBlockProposalsPerSlot: unknown;
161
- fishermanMode: unknown;
162
- gossipsubD: unknown;
163
- gossipsubDLazy: unknown;
164
- gossipsubDhi: unknown;
165
- gossipsubDlo: unknown;
166
- gossipsubFloodPublish: unknown;
167
- gossipsubInterval: unknown;
168
- gossipsubMcacheGossip: unknown;
169
- gossipsubMcacheLength: unknown;
170
- gossipsubSeenTTL: unknown;
171
- gossipsubTxInvalidMessageDeliveriesDecay: unknown;
172
- gossipsubTxInvalidMessageDeliveriesWeight: unknown;
173
- gossipsubTxTopicWeight: unknown;
174
- individualRequestTimeoutMs: unknown;
175
- l1ChainId: unknown;
176
- l1Contracts: unknown;
177
- l2QueueSize: unknown;
178
- listenAddress: unknown;
179
- maxPeerCount: unknown;
180
- maxPendingTxCount: unknown;
181
- maxTxsPerBlock: unknown;
182
- minTxPoolAgeMs: unknown;
183
- overallRequestTimeoutMs: unknown;
184
- p2pAllowOnlyValidators: unknown;
185
- p2pBroadcastPort: unknown;
186
- p2pDisableStatusHandshake: unknown;
187
- p2pDiscoveryDisabled: unknown;
188
- p2pEnabled: unknown;
189
- p2pIp: unknown;
190
- p2pMaxFailedAuthAttemptsAllowed: unknown;
191
- p2pOptimisticNegotiation: unknown;
192
- p2pPort: unknown;
193
- p2pStoreMapSizeKb: unknown;
194
- peerCheckIntervalMS: unknown;
195
- peerFailedBanTimeMs: unknown;
196
- peerIdPrivateKey: unknown;
197
- peerIdPrivateKeyPath: unknown;
198
- peerPenaltyValues: unknown;
199
- preferredPeers: unknown;
200
- priceBumpPercentage: unknown;
201
- privatePeers: unknown;
202
- queryForIp: unknown;
203
- rollupVersion: unknown;
204
- seenMessageCacheSize: unknown;
205
- slotCheckIntervalMS: unknown;
206
- trustedPeers: unknown;
207
- txCollectionDisableSlowDuringFastRequests: unknown;
208
- txCollectionFastMaxParallelRequestsPerNode: unknown;
209
- txCollectionFastNodeIntervalMs: unknown;
210
- txCollectionFastNodesTimeoutBeforeReqRespMs: unknown;
211
- txCollectionFileStoreFastBackoffBaseMs: unknown;
212
- txCollectionFileStoreFastBackoffMaxMs: unknown;
213
- txCollectionFileStoreFastDelayMs: unknown;
214
- txCollectionFileStoreFastWorkerCount: unknown;
215
- txCollectionFileStoreSlowBackoffBaseMs: unknown;
216
- txCollectionFileStoreSlowBackoffMaxMs: unknown;
217
- txCollectionFileStoreSlowDelayMs: unknown;
218
- txCollectionFileStoreSlowWorkerCount: unknown;
219
- txCollectionFileStoreUrls: unknown;
220
- txCollectionMissingTxsCollectorType: unknown;
221
- txCollectionNodeRpcMaxBatchSize: unknown;
222
- txCollectionNodeRpcUrls: unknown;
223
- txCollectionReconcileIntervalMs: unknown;
224
- txCollectionSlowNodesIntervalMs: unknown;
225
- txCollectionSlowReqRespIntervalMs: unknown;
226
- txCollectionSlowReqRespTimeoutMs: unknown;
227
- txFileStoreEnabled: unknown;
228
- txFileStoreMaxQueueSize: unknown;
229
- txFileStoreUploadConcurrency: unknown;
230
- txFileStoreUrl: unknown;
231
- txPoolDeleteTxsAfterReorg: unknown;
232
- txPublicSetupAllowListExtend: unknown;
233
- validateMaxDABlockGas: unknown;
234
- validateMaxL2BlockGas: unknown;
235
- validateMaxTxsPerBlock: unknown;
236
- validateMaxTxsPerCheckpoint: unknown;
237
- }, "bootstrapNodes" | "dataDirectory" | "dataStoreMapSizeKb" | "l1ChainId" | "listenAddress" | "p2pBroadcastPort" | "p2pIp" | "p2pPort" | "peerIdPrivateKey" | "peerIdPrivateKeyPath" | "queryForIp">>;
177
+ maxTxsPerBlock: number;
178
+ maxBlocksPerCheckpoint: number;
179
+ blockDurationMs: number;
180
+ checkpointProposalSyncGraceSeconds: number;
181
+ expectedBlockProposalsPerSlot: number;
182
+ l1ChainId: number;
183
+ rollupVersion: number;
184
+ dataDirectory: string;
185
+ dataStoreMapSizeKb: number;
186
+ batchTxRequesterSmartParallelWorkerCount: number;
187
+ batchTxRequesterDumbParallelWorkerCount: number;
188
+ batchTxRequesterTxBatchSize: number;
189
+ batchTxRequesterBadPeerThreshold: number;
190
+ overallRequestTimeoutMs: number;
191
+ individualRequestTimeoutMs: number;
192
+ p2pOptimisticNegotiation: boolean;
193
+ dialTimeoutMs: number;
194
+ txCollectionFastNodesTimeoutBeforeReqRespMs: number;
195
+ txCollectionFastNodeIntervalMs: number;
196
+ txCollectionNodeRpcUrls: string[];
197
+ txCollectionFastMaxParallelRequestsPerNode: number;
198
+ txCollectionNodeRpcMaxBatchSize: number;
199
+ txCollectionFileStoreUrls: string[];
200
+ txCollectionFileStoreFastDelayMs: number;
201
+ txCollectionFileStoreFastWorkerCount: number;
202
+ txCollectionFileStoreFastBackoffBaseMs: number;
203
+ txCollectionFileStoreFastBackoffMaxMs: number;
204
+ txFileStoreUrl: string;
205
+ txFileStoreUploadConcurrency: number;
206
+ txFileStoreMaxQueueSize: number;
207
+ txFileStoreEnabled: boolean;
208
+ validateMaxTxsPerBlock: number;
209
+ validateMaxTxsPerCheckpoint: number;
210
+ p2pEnabled: boolean;
211
+ blockCheckIntervalMS: number;
212
+ blockRequestBatchSize: number;
213
+ debugDisableColocationPenalty: boolean;
214
+ peerCheckIntervalMS: number;
215
+ peerFailedBanTimeMs: number;
216
+ l2QueueSize: number;
217
+ p2pPort: number;
218
+ p2pBroadcastPort: number;
219
+ p2pIp: string;
220
+ listenAddress: string;
221
+ peerIdPrivateKey: SecretValue<string>;
222
+ peerIdPrivateKeyPath: string;
223
+ bootstrapNodes: string[];
224
+ bootstrapNodeEnrVersionCheck: boolean;
225
+ bootstrapNodesAsFullPeers: boolean;
226
+ maxPeerCount: number;
227
+ queryForIp: boolean;
228
+ publicIpServices: string[];
229
+ gossipsubInterval: number;
230
+ gossipsubD: number;
231
+ gossipsubDlo: number;
232
+ gossipsubDhi: number;
233
+ gossipsubDLazy: number;
234
+ gossipsubFloodPublish: boolean;
235
+ gossipsubMcacheLength: number;
236
+ gossipsubMcacheGossip: number;
237
+ gossipsubSeenTTL: number;
238
+ maxGossipClockDisparityMs: number;
239
+ doubleSpendSeverePeerPenaltyWindow: number;
240
+ gossipsubTxTopicWeight: number;
241
+ gossipsubTxInvalidMessageDeliveriesWeight: number;
242
+ gossipsubTxInvalidMessageDeliveriesDecay: number;
243
+ peerPenaltyValues: number[];
244
+ peerBanDurationSeconds: number;
245
+ archivedTxLimit: number;
246
+ trustedPeers: string[];
247
+ privatePeers: string[];
248
+ preferredPeers: string[];
249
+ p2pStoreMapSizeKb: number;
250
+ txPublicSetupAllowListExtend: AllowedElement[];
251
+ maxPendingTxCount: number;
252
+ seenMessageCacheSize: number;
253
+ txValidationCacheSize: number;
254
+ p2pDisableStatusHandshake: boolean;
255
+ p2pAllowOnlyValidators: boolean;
256
+ p2pDiscoveryDisabled: boolean;
257
+ p2pMaxFailedAuthAttemptsAllowed: number;
258
+ disableTransactions: boolean;
259
+ dropTransactionsProbability: number;
260
+ txPoolDeleteTxsAfterReorg: boolean;
261
+ debugP2PInstrumentMessages: boolean;
262
+ fishermanMode: boolean;
263
+ broadcastEquivocatedProposals: boolean;
264
+ minTxPoolAgeMs: number;
265
+ slashDataWithholdingToleranceSlots: number;
266
+ p2pMissingTxCollectionDeadlineSlots: number;
267
+ priceBumpPercentage: bigint;
268
+ keepFinalizedTxsForSlots: number;
269
+ skipIncomingProposals: boolean;
270
+ skipProposalSlotValidation: boolean;
271
+ skipCheckpointProposalValidation: boolean;
272
+ rollupAddress: import("@aztec/foundation/eth-address").EthAddress;
273
+ }, "bootstrapNodes" | "dataDirectory" | "dataStoreMapSizeKb" | "l1ChainId" | "listenAddress" | "p2pBroadcastPort" | "p2pIp" | "p2pPort" | "peerIdPrivateKey" | "peerIdPrivateKeyPath" | "publicIpServices" | "queryForIp">>;
238
274
  /**
239
275
  * Parses a string to a list of allowed elements.
240
276
  * Each entry is expected to be of one of the following formats:
@@ -249,4 +285,4 @@ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
249
285
  * @returns A list of allowed elements
250
286
  */
251
287
  export declare function parseAllowList(value: string): AllowedElement[];
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBU1osTUFBTSwwQkFBMEIsQ0FBQztBQUlsQyxPQUFPLEVBQ0wsS0FBSyxjQUFjLEVBQ25CLEtBQUssV0FBVyxFQUNoQixLQUFLLGVBQWUsRUFHckIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFFbEYsT0FBTyxFQUNMLEtBQUssc0JBQXNCLEVBRTVCLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTRCLE1BQU0sOEJBQThCLENBQUM7QUFDL0YsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQThCLE1BQU0sb0NBQW9DLENBQUM7QUFDekcsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQTZCLE1BQU0sb0NBQW9DLENBQUM7QUFFdkc7O0dBRUc7QUFDSCxNQUFNLFdBQVcsU0FDZixTQUFRLGdCQUFnQixFQUN0QixzQkFBc0IsRUFDdEIsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsSUFBSSxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsR0FBRywrQkFBK0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMvRiw4R0FBOEc7SUFDOUcsc0JBQXNCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFaEMsb0hBQW9IO0lBQ3BILDJCQUEyQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRXJDLGdHQUFnRztJQUNoRyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUUvQixnR0FBZ0c7SUFDaEcscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFL0Isb0VBQW9FO0lBQ3BFLFVBQVUsRUFBRSxPQUFPLENBQUM7SUFFcEIseURBQXlEO0lBQ3pELG9CQUFv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
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBV1osTUFBTSwwQkFBMEIsQ0FBQztBQUlsQyxPQUFPLEVBQ0wsS0FBSyxjQUFjLEVBQ25CLEtBQUssV0FBVyxFQUNoQixLQUFLLGVBQWUsRUFHckIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFFbEYsT0FBTyxFQUNMLEtBQUssc0JBQXNCLEVBRTVCLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTRCLE1BQU0sOEJBQThCLENBQUM7QUFDL0YsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQThCLE1BQU0sb0NBQW9DLENBQUM7QUFDekcsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQTZCLE1BQU0sb0NBQW9DLENBQUM7QUFFdkc7O0dBRUc7QUFDSCxNQUFNLFdBQVcsU0FDZixTQUFRLGdCQUFnQixFQUN0QixzQkFBc0IsRUFDdEIsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsSUFBSSxDQUNGLGVBQWUsRUFDYiwrQkFBK0IsR0FDL0IsZ0JBQWdCLEdBQ2hCLG9DQUFvQyxHQUNwQyx3QkFBd0IsQ0FDM0IsRUFHRCxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BELDhHQUE4RztJQUM5RyxzQkFBc0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUVoQyxvSEFBb0g7SUFDcEgsMkJBQTJCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFckMsb0VBQW9FO0lBQ3BFLFVBQVUsRUFBRSxPQUFPLENBQUM7SUFFcEIseURBQXlEO0lBQ3pELG9CQUFvQixFQUFFLE1BQU0sQ0FBQztJQUU3Qix1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
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,WAAW,EASZ,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EAGrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAElF,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,KAAK,kBAAkB,EAA8B,MAAM,oCAAoC,CAAC;AACzG,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,oCAAoC,CAAC;AAEvG;;GAEG;AACH,MAAM,WAAW,SACf,SAAQ,gBAAgB,EACtB,sBAAsB,EACtB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,IAAI,CAAC,eAAe,EAAE,iBAAiB,GAAG,+BAA+B,GAAG,gBAAgB,CAAC;IAC/F,8GAA8G;IAC9G,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,oHAAoH;IACpH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC,gGAAgG;IAChG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,gGAAgG;IAChG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,oEAAoE;IACpE,UAAU,EAAE,OAAO,CAAC;IAEpB,yDAAyD;IACzD,oBAAoB,EAAE,MAAM,CAAC;IAE7B,wDAAwD;IACxD,mBAAmB,EAAE,MAAM,CAAC;IAE5B,uDAAuD;IACvD,qBAAqB,EAAE,MAAM,CAAC;IAE9B,oEAAoE;IACpE,6BAA6B,EAAE,OAAO,CAAC;IAEvC,qDAAqD;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAE5B,qEAAqE;IACrE,mBAAmB,EAAE,MAAM,CAAC;IAE5B,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IAEpB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAEhB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IAEtB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvC,4IAA4I;IAC5I,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,+CAA+C;IAC/C,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,sEAAsE;IACtE,4BAA4B,EAAE,OAAO,CAAC;IAEtC,iGAAiG;IACjG,yBAAyB,EAAE,OAAO,CAAC;IAEnC,8GAA8G;IAC9G,YAAY,EAAE,MAAM,CAAC;IAErB,+HAA+H;IAC/H,UAAU,EAAE,OAAO,CAAC;IAEpB,4EAA4E;IAC5E,iBAAiB,EAAE,MAAM,CAAC;IAE1B,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IAEnB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IAErB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IAErB,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;IAEvB,qEAAqE;IACrE,qBAAqB,EAAE,OAAO,CAAC;IAE/B,sEAAsE;IACtE,qBAAqB,EAAE,MAAM,CAAC;IAE9B,iFAAiF;IACjF,qBAAqB,EAAE,MAAM,CAAC;IAE9B,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC;IAEzB,gHAAgH;IAChH,kCAAkC,EAAE,MAAM,CAAC;IAE3C,gKAAgK;IAChK,sBAAsB,EAAE,MAAM,CAAC;IAE/B,iFAAiF;IACjF,yCAAyC,EAAE,MAAM,CAAC;IAElD,2GAA2G;IAC3G,wCAAwC,EAAE,MAAM,CAAC;IAEjD,oIAAoI;IACpI,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,sIAAsI;IACtI,eAAe,EAAE,MAAM,CAAC;IAExB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,iCAAiC;IACjC,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,gGAAgG;IAChG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,iEAAiE;IACjE,4BAA4B,EAAE,cAAc,EAAE,CAAC;IAE/C,4EAA4E;IAC5E,iBAAiB,EAAE,MAAM,CAAC;IAE1B,4CAA4C;IAC5C,oBAAoB,EAAE,MAAM,CAAC;IAE7B,8DAA8D;IAC9D,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC,gDAAgD;IAChD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iFAAiF;IACjF,+BAA+B,EAAE,MAAM,CAAC;IAExC,2HAA2H;IAC3H,mBAAmB,EAAE,OAAO,CAAC;IAE7B,kGAAkG;IAClG,2BAA2B,EAAE,MAAM,CAAC;IAEpC,yGAAyG;IACzG,yBAAyB,EAAE,OAAO,CAAC;IAEnC,oGAAoG;IACpG,0BAA0B,EAAE,OAAO,CAAC;IAEpC,iJAAiJ;IACjJ,aAAa,EAAE,OAAO,CAAC;IAEvB,2IAA2I;IAC3I,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC,yGAAyG;IACzG,cAAc,EAAE,MAAM,CAAC;IAEvB,gGAAgG;IAChG,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,SAAS,CAsT3D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,CAE/C;AAED,wBAAgB,mBAAmB,IAAI,SAAS,CAE/C;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,SAAS,EACP,OAAO,GACP,SAAS,GACT,kBAAkB,GAClB,kBAAkB,GAClB,sBAAsB,GACtB,gBAAgB,GAChB,eAAe,GACf,YAAY,CACf,GACC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC,GAC9C,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,oBAAoB,CAAC,GAC7D,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAgBjC,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sMAGlC,CAAC;AA+BF;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CA2C9D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dest/config.js CHANGED
@@ -1,4 +1,4 @@
1
- import { bigintConfigHelper, booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, percentageConfigHelper, pickConfigMappings, secretStringConfigHelper } from '@aztec/foundation/config';
1
+ import { bigintConfigHelper, booleanConfigHelper, floatConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, optionalNumberConfigHelper, percentageConfigHelper, pickConfigMappings, secretStringConfigHelper } from '@aztec/foundation/config';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { FunctionSelector } from '@aztec/stdlib/abi/function-selector';
4
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
@@ -9,26 +9,22 @@ 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
+ /** Default endpoints used to discover this machine's public IPv4 when `queryForIp` is enabled. */ export const DEFAULT_PUBLIC_IP_SERVICES = [
13
+ 'https://api.ipify.org/',
14
+ 'https://checkip.amazonaws.com/',
15
+ 'https://ifconfig.me/ip',
16
+ 'https://icanhazip.com/'
17
+ ];
12
18
  export const p2pConfigMappings = {
13
19
  validateMaxTxsPerBlock: {
14
20
  env: 'VALIDATOR_MAX_TX_PER_BLOCK',
15
21
  description: 'Maximum transactions per block for validation. Overrides maxTxsPerBlock for gossip validation when set.',
16
- parseEnv: (val)=>val ? parseInt(val, 10) : undefined
22
+ ...optionalNumberConfigHelper()
17
23
  },
18
24
  validateMaxTxsPerCheckpoint: {
19
25
  env: 'VALIDATOR_MAX_TX_PER_CHECKPOINT',
20
26
  description: 'Maximum transactions per checkpoint for validation. Used as fallback for maxTxsPerBlock when that is not set.',
21
- parseEnv: (val)=>val ? parseInt(val, 10) : undefined
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)=>val ? parseInt(val, 10) : undefined
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)=>val ? parseInt(val, 10) : undefined
27
+ ...optionalNumberConfigHelper()
32
28
  },
33
29
  p2pEnabled: {
34
30
  env: 'P2P_ENABLED',
@@ -45,11 +41,6 @@ export const p2pConfigMappings = {
45
41
  description: 'The frequency in which to check for new L2 blocks.',
46
42
  ...numberConfigHelper(100)
47
43
  },
48
- slotCheckIntervalMS: {
49
- env: 'P2P_SLOT_CHECK_INTERVAL_MS',
50
- description: 'The frequency in which to check for new L2 slots.',
51
- ...numberConfigHelper(1000)
52
- },
53
44
  debugDisableColocationPenalty: {
54
45
  env: 'DEBUG_P2P_DISABLE_COLOCATION_PENALTY',
55
46
  description: 'DEBUG: Disable colocation penalty - NEVER set to true in production',
@@ -123,6 +114,12 @@ export const p2pConfigMappings = {
123
114
  description: 'If announceUdpAddress or announceTcpAddress are not provided, query for the IP address of the machine. Default is false.',
124
115
  ...booleanConfigHelper()
125
116
  },
117
+ publicIpServices: {
118
+ env: 'P2P_PUBLIC_IP_SERVICES',
119
+ parseEnv: (val)=>val.split(',').map((s)=>s.trim()).filter(Boolean),
120
+ description: 'Comma-separated HTTPS URLs that return plain-text public IPv4. Used when P2P_QUERY_FOR_IP is true and P2P_IP is unset. Tried in order until one succeeds.',
121
+ defaultValue: DEFAULT_PUBLIC_IP_SERVICES
122
+ },
126
123
  gossipsubInterval: {
127
124
  env: 'P2P_GOSSIPSUB_INTERVAL_MS',
128
125
  description: 'The interval of the gossipsub heartbeat to perform maintenance tasks.',
@@ -156,7 +153,7 @@ export const p2pConfigMappings = {
156
153
  gossipsubMcacheLength: {
157
154
  env: 'P2P_GOSSIPSUB_MCACHE_LENGTH',
158
155
  description: 'The number of gossipsub interval message cache windows to keep.',
159
- ...numberConfigHelper(6)
156
+ ...numberConfigHelper(12)
160
157
  },
161
158
  gossipsubMcacheGossip: {
162
159
  env: 'P2P_GOSSIPSUB_MCACHE_GOSSIP',
@@ -168,20 +165,25 @@ export const p2pConfigMappings = {
168
165
  description: 'How long to keep message IDs in the seen cache.',
169
166
  ...numberConfigHelper(20 * 60 * 1000)
170
167
  },
168
+ maxGossipClockDisparityMs: {
169
+ env: 'P2P_MAX_GOSSIP_CLOCK_DISPARITY_MS',
170
+ description: 'Maximum clock-disparity tolerance (ms) applied to both ends of proposal/attestation gossip receive windows.',
171
+ ...numberConfigHelper(500)
172
+ },
171
173
  gossipsubTxTopicWeight: {
172
174
  env: 'P2P_GOSSIPSUB_TX_TOPIC_WEIGHT',
173
175
  description: 'The weight of the tx topic for the gossipsub protocol.',
174
- ...numberConfigHelper(1)
176
+ ...floatConfigHelper(1)
175
177
  },
176
178
  gossipsubTxInvalidMessageDeliveriesWeight: {
177
179
  env: 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT',
178
180
  description: 'The weight of the tx invalid message deliveries for the gossipsub protocol.',
179
- ...numberConfigHelper(-20)
181
+ ...floatConfigHelper(-20)
180
182
  },
181
183
  gossipsubTxInvalidMessageDeliveriesDecay: {
182
184
  env: 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_DECAY',
183
185
  description: 'Determines how quickly the penalty for invalid message deliveries decays over time. Between 0 and 1.',
184
- ...numberConfigHelper(0.5)
186
+ ...floatConfigHelper(0.5)
185
187
  },
186
188
  peerPenaltyValues: {
187
189
  env: 'P2P_PEER_PENALTY_VALUES',
@@ -193,6 +195,11 @@ export const p2pConfigMappings = {
193
195
  50
194
196
  ]
195
197
  },
198
+ peerBanDurationSeconds: {
199
+ env: 'P2P_PEER_BAN_DURATION_SECONDS',
200
+ description: 'How long (in seconds) a peer is banned for once its score drops below the ban threshold.',
201
+ ...numberConfigHelper(24 * 60 * 60)
202
+ },
196
203
  doubleSpendSeverePeerPenaltyWindow: {
197
204
  env: 'P2P_DOUBLE_SPEND_SEVERE_PEER_PENALTY_WINDOW',
198
205
  description: 'The "age" (in L2 blocks) of a tx after which we heavily penalize a peer for sending it.',
@@ -228,7 +235,7 @@ export const p2pConfigMappings = {
228
235
  },
229
236
  p2pStoreMapSizeKb: {
230
237
  env: 'P2P_STORE_MAP_SIZE_KB',
231
- parseEnv: (val)=>val ? +val : undefined,
238
+ ...optionalNumberConfigHelper(),
232
239
  description: 'The maximum possible size of the P2P DB in KB. Overwrites the general dataStoreMapSizeKb.'
233
240
  },
234
241
  txPublicSetupAllowListExtend: {
@@ -249,6 +256,11 @@ export const p2pConfigMappings = {
249
256
  description: 'The number of messages to keep in the seen message cache',
250
257
  ...numberConfigHelper(100_000)
251
258
  },
259
+ txValidationCacheSize: {
260
+ env: 'P2P_TX_VALIDATION_CACHE_SIZE',
261
+ description: 'Maximum number of items to keep in the tx validation LRU cache.',
262
+ ...numberConfigHelper(5_000)
263
+ },
252
264
  p2pDisableStatusHandshake: {
253
265
  env: 'P2P_DISABLE_STATUS_HANDSHAKE',
254
266
  description: 'True to disable the status handshake on peer connected.',
@@ -293,17 +305,50 @@ export const p2pConfigMappings = {
293
305
  description: 'Broadcast block proposals even when a conflicting proposal for the same slot already exists in the pool (for testing purposes only).',
294
306
  ...booleanConfigHelper(false)
295
307
  },
308
+ skipIncomingProposals: {
309
+ description: 'Drop incoming block and checkpoint proposals at the libp2p dispatch layer (for testing only)',
310
+ ...booleanConfigHelper(false)
311
+ },
312
+ skipProposalSlotValidation: {
313
+ description: 'Accept proposal gossip regardless of slot timing (for testing only)',
314
+ ...booleanConfigHelper(false)
315
+ },
316
+ skipCheckpointProposalValidation: {
317
+ description: 'Skip checkpoint proposal validation and always attest, broadcasting the attestation before processing the embedded last block',
318
+ ...booleanConfigHelper(false)
319
+ },
296
320
  minTxPoolAgeMs: {
297
321
  env: 'P2P_MIN_TX_POOL_AGE_MS',
298
322
  description: 'Minimum age (ms) a transaction must have been in the pool before it is eligible for block building.',
299
323
  ...numberConfigHelper(2_000)
300
324
  },
325
+ slashDataWithholdingToleranceSlots: {
326
+ env: 'SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS',
327
+ description: 'L2 slots to wait after a checkpoint slot before declaring its txs missing. Drives both the data-withholding slasher check and the missing-tx collection deadline.',
328
+ ...numberConfigHelper(3)
329
+ },
330
+ p2pMissingTxCollectionDeadlineSlots: {
331
+ env: 'P2P_MISSING_TX_COLLECTION_DEADLINE_SLOTS',
332
+ description: 'Optional deadline (in L2 slots after the block slot) for collecting missing txs for unproven mined blocks. Clamped up to the data-withholding tolerance window so collection never gives up before the slash verdict.',
333
+ ...optionalNumberConfigHelper()
334
+ },
301
335
  priceBumpPercentage: {
302
336
  env: 'P2P_RPC_PRICE_BUMP_PERCENTAGE',
303
337
  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.',
304
338
  ...bigintConfigHelper(10n)
305
339
  },
306
- ...sharedSequencerConfigMappings,
340
+ keepFinalizedTxsForSlots: {
341
+ env: 'P2P_KEEP_FINALIZED_TXS_FOR_SLOTS',
342
+ description: 'Number of slots behind the finalized tip to keep finalized txs for before deleting them. 0 deletes at the finalized tip.',
343
+ ...numberConfigHelper(0)
344
+ },
345
+ ...pickConfigMappings(sharedSequencerConfigMappings, [
346
+ 'expectedBlockProposalsPerSlot',
347
+ 'maxTxsPerBlock',
348
+ 'checkpointProposalSyncGraceSeconds',
349
+ 'maxBlocksPerCheckpoint',
350
+ 'blockDurationMs'
351
+ ]),
307
352
  ...p2pReqRespConfigMappings,
308
353
  ...batchTxRequesterConfigMappings,
309
354
  ...chainConfigMappings,
@@ -330,7 +375,8 @@ const bootnodeConfigKeys = [
330
375
  'dataStoreMapSizeKb',
331
376
  'bootstrapNodes',
332
377
  'l1ChainId',
333
- 'queryForIp'
378
+ 'queryForIp',
379
+ 'publicIpServices'
334
380
  ];
335
381
  export const bootnodeConfigMappings = pickConfigMappings({
336
382
  ...p2pConfigMappings,
@@ -389,7 +435,7 @@ export const bootnodeConfigMappings = pickConfigMappings({
389
435
  const flags = flagsString ? parseFlags(flagsString, trimmed) : {};
390
436
  if (typeString === 'I') {
391
437
  entries.push({
392
- address: AztecAddress.fromString(identifierString),
438
+ address: AztecAddress.fromStringUnsafe(identifierString),
393
439
  selector,
394
440
  ...flags
395
441
  });
@@ -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
+ }
@@ -6,23 +6,16 @@
6
6
  export declare class IndividualReqRespTimeoutError extends Error {
7
7
  constructor();
8
8
  }
9
- /** Collective request timeout error
9
+ /** Oversized reqresp request error
10
10
  *
11
- * This error will be thrown when a req resp request times out regardless of the peer.
11
+ * Thrown locally (before dialing) when a request payload does not fit in a single muxer frame. Such a request would
12
+ * reach the responder split across multiple chunks, which are never reassembled into one request.
12
13
  * @category Errors
13
14
  */
14
- export declare class CollectiveReqRespTimeoutError extends Error {
15
- constructor();
16
- }
17
- /** Invalid response error
18
- *
19
- * This error will be thrown when a response is received that is not valid.
20
- *
21
- * This error does not need to be punished as message validators will handle punishing invalid
22
- * requests
23
- * @category Errors
24
- */
25
- export declare class InvalidResponseError extends Error {
26
- constructor();
15
+ export declare class OversizedReqRespRequestError extends Error {
16
+ readonly subProtocol: string;
17
+ readonly payloadSizeBytes: number;
18
+ readonly maxSizeBytes: number;
19
+ constructor(subProtocol: string, payloadSizeBytes: number, maxSizeBytes: number);
27
20
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxcmVzcC5lcnJvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy9yZXFyZXNwLmVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxxQkFBYSw2QkFBOEIsU0FBUSxLQUFLO0lBQ3RELGNBRUM7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCxxQkFBYSw2QkFBOEIsU0FBUSxLQUFLO0lBQ3RELGNBRUM7Q0FDRjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCxxQkFBYSxvQkFBcUIsU0FBUSxLQUFLO0lBQzdDLGNBRUM7Q0FDRiJ9
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxcmVzcC5lcnJvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy9yZXFyZXNwLmVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxxQkFBYSw2QkFBOEIsU0FBUSxLQUFLO0lBQ3RELGNBRUM7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEsNEJBQTZCLFNBQVEsS0FBSzthQUVuQyxXQUFXLEVBQUUsTUFBTTthQUNuQixnQkFBZ0IsRUFBRSxNQUFNO2FBQ3hCLFlBQVksRUFBRSxNQUFNO0lBSHRDLFlBQ2tCLFdBQVcsRUFBRSxNQUFNLEVBQ25CLGdCQUFnQixFQUFFLE1BQU0sRUFDeEIsWUFBWSxFQUFFLE1BQU0sRUFNckM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"reqresp.error.d.ts","sourceRoot":"","sources":["../../src/errors/reqresp.error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,cAEC;CACF;AAED;;;;GAIG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,cAEC;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,cAEC;CACF"}
1
+ {"version":3,"file":"reqresp.error.d.ts","sourceRoot":"","sources":["../../src/errors/reqresp.error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,cAEC;CACF;AAED;;;;;GAKG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;aAEnC,WAAW,EAAE,MAAM;aACnB,gBAAgB,EAAE,MAAM;aACxB,YAAY,EAAE,MAAM;IAHtC,YACkB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EAMrC;CACF"}