@aztec/p2p 0.0.0-test.1 → 0.0.1-commit.0b941701

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 (463) hide show
  1. package/dest/bootstrap/bootstrap.d.ts +1 -1
  2. package/dest/bootstrap/bootstrap.d.ts.map +1 -1
  3. package/dest/bootstrap/bootstrap.js +22 -9
  4. package/dest/client/factory.d.ts +15 -5
  5. package/dest/client/factory.d.ts.map +1 -1
  6. package/dest/client/factory.js +60 -25
  7. package/dest/client/index.d.ts +2 -1
  8. package/dest/client/index.d.ts.map +1 -1
  9. package/dest/client/index.js +1 -0
  10. package/dest/client/interface.d.ts +170 -0
  11. package/dest/client/interface.d.ts.map +1 -0
  12. package/dest/client/interface.js +9 -0
  13. package/dest/client/p2p_client.d.ts +75 -193
  14. package/dest/client/p2p_client.d.ts.map +1 -1
  15. package/dest/client/p2p_client.js +757 -228
  16. package/dest/config.d.ts +148 -125
  17. package/dest/config.d.ts.map +1 -1
  18. package/dest/config.js +180 -34
  19. package/dest/enr/generate-enr.d.ts +11 -3
  20. package/dest/enr/generate-enr.d.ts.map +1 -1
  21. package/dest/enr/generate-enr.js +27 -5
  22. package/dest/enr/index.d.ts +1 -1
  23. package/dest/errors/attestation-pool.error.d.ts +7 -0
  24. package/dest/errors/attestation-pool.error.d.ts.map +1 -0
  25. package/dest/errors/attestation-pool.error.js +12 -0
  26. package/dest/errors/reqresp.error.d.ts +1 -1
  27. package/dest/errors/reqresp.error.d.ts.map +1 -1
  28. package/dest/index.d.ts +4 -1
  29. package/dest/index.d.ts.map +1 -1
  30. package/dest/index.js +2 -0
  31. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +104 -25
  32. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  33. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +1 -1
  34. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
  35. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +299 -174
  36. package/dest/mem_pools/attestation_pool/index.d.ts +1 -1
  37. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +29 -11
  38. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +1 -1
  39. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +168 -62
  40. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +24 -10
  41. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -1
  42. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +133 -82
  43. package/dest/mem_pools/attestation_pool/mocks.d.ts +234 -11
  44. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  45. package/dest/mem_pools/attestation_pool/mocks.js +19 -21
  46. package/dest/mem_pools/index.d.ts +1 -1
  47. package/dest/mem_pools/instrumentation.d.ts +16 -12
  48. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  49. package/dest/mem_pools/instrumentation.js +55 -40
  50. package/dest/mem_pools/interface.d.ts +3 -4
  51. package/dest/mem_pools/interface.d.ts.map +1 -1
  52. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +75 -16
  53. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
  54. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +493 -142
  55. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +32 -0
  56. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +1 -0
  57. package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +112 -0
  58. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +157 -0
  59. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +1 -0
  60. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +52 -0
  61. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts +16 -0
  62. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
  63. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.js +122 -0
  64. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +17 -0
  65. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
  66. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +84 -0
  67. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +19 -0
  68. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
  69. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +78 -0
  70. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +26 -0
  71. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +1 -0
  72. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.js +84 -0
  73. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts +25 -0
  74. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts.map +1 -0
  75. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.js +57 -0
  76. package/dest/mem_pools/tx_pool/index.d.ts +1 -2
  77. package/dest/mem_pools/tx_pool/index.d.ts.map +1 -1
  78. package/dest/mem_pools/tx_pool/index.js +0 -1
  79. package/dest/mem_pools/tx_pool/priority.d.ts +5 -1
  80. package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -1
  81. package/dest/mem_pools/tx_pool/priority.js +7 -2
  82. package/dest/mem_pools/tx_pool/tx_pool.d.ts +72 -11
  83. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -1
  84. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
  85. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
  86. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +276 -45
  87. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +7 -5
  88. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  89. package/dest/msg_validators/attestation_validator/attestation_validator.js +79 -10
  90. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +20 -0
  91. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -0
  92. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +71 -0
  93. package/dest/msg_validators/attestation_validator/index.d.ts +2 -1
  94. package/dest/msg_validators/attestation_validator/index.d.ts.map +1 -1
  95. package/dest/msg_validators/attestation_validator/index.js +1 -0
  96. package/dest/msg_validators/clock_tolerance.d.ts +21 -0
  97. package/dest/msg_validators/clock_tolerance.d.ts.map +1 -0
  98. package/dest/msg_validators/clock_tolerance.js +37 -0
  99. package/dest/msg_validators/index.d.ts +2 -2
  100. package/dest/msg_validators/index.d.ts.map +1 -1
  101. package/dest/msg_validators/index.js +1 -1
  102. package/dest/msg_validators/msg_seen_validator/msg_seen_validator.d.ts +10 -0
  103. package/dest/msg_validators/msg_seen_validator/msg_seen_validator.d.ts.map +1 -0
  104. package/dest/msg_validators/msg_seen_validator/msg_seen_validator.js +36 -0
  105. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +9 -0
  106. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -0
  107. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +6 -0
  108. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +9 -0
  109. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -0
  110. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +6 -0
  111. package/dest/msg_validators/proposal_validator/index.d.ts +4 -0
  112. package/dest/msg_validators/proposal_validator/index.d.ts.map +1 -0
  113. package/dest/msg_validators/proposal_validator/index.js +3 -0
  114. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +13 -0
  115. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -0
  116. package/dest/msg_validators/proposal_validator/proposal_validator.js +104 -0
  117. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +23 -0
  118. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +1 -0
  119. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +212 -0
  120. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +1 -1
  121. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  122. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +3 -0
  123. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -0
  124. package/dest/msg_validators/tx_validator/allowed_public_setup.js +27 -0
  125. package/dest/msg_validators/tx_validator/archive_cache.d.ts +14 -0
  126. package/dest/msg_validators/tx_validator/archive_cache.d.ts.map +1 -0
  127. package/dest/msg_validators/tx_validator/archive_cache.js +22 -0
  128. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +2 -2
  129. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  130. package/dest/msg_validators/tx_validator/block_header_validator.js +4 -4
  131. package/dest/msg_validators/tx_validator/data_validator.d.ts +1 -1
  132. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  133. package/dest/msg_validators/tx_validator/data_validator.js +56 -86
  134. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +1 -3
  135. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  136. package/dest/msg_validators/tx_validator/double_spend_validator.js +21 -27
  137. package/dest/msg_validators/tx_validator/factory.d.ts +16 -0
  138. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -0
  139. package/dest/msg_validators/tx_validator/factory.js +74 -0
  140. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +10 -0
  141. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -0
  142. package/dest/msg_validators/tx_validator/fee_payer_balance.js +20 -0
  143. package/dest/msg_validators/tx_validator/gas_validator.d.ts +11 -0
  144. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -0
  145. package/dest/msg_validators/tx_validator/gas_validator.js +109 -0
  146. package/dest/msg_validators/tx_validator/index.d.ts +9 -1
  147. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  148. package/dest/msg_validators/tx_validator/index.js +8 -0
  149. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +9 -5
  150. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  151. package/dest/msg_validators/tx_validator/metadata_validator.js +39 -20
  152. package/dest/msg_validators/tx_validator/phases_validator.d.ts +14 -0
  153. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -0
  154. package/dest/msg_validators/tx_validator/phases_validator.js +93 -0
  155. package/dest/msg_validators/tx_validator/size_validator.d.ts +6 -0
  156. package/dest/msg_validators/tx_validator/size_validator.d.ts.map +1 -0
  157. package/dest/msg_validators/tx_validator/size_validator.js +20 -0
  158. package/dest/msg_validators/tx_validator/test_utils.d.ts +17 -0
  159. package/dest/msg_validators/tx_validator/test_utils.d.ts.map +1 -0
  160. package/dest/msg_validators/tx_validator/test_utils.js +22 -0
  161. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +13 -0
  162. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -0
  163. package/dest/msg_validators/tx_validator/timestamp_validator.js +32 -0
  164. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts +8 -0
  165. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts.map +1 -0
  166. package/dest/msg_validators/tx_validator/tx_permitted_validator.js +24 -0
  167. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +1 -1
  168. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
  169. package/dest/msg_validators/tx_validator/tx_proof_validator.js +6 -5
  170. package/dest/services/data_store.d.ts +1 -1
  171. package/dest/services/data_store.d.ts.map +1 -1
  172. package/dest/services/discv5/discV5_service.d.ts +10 -9
  173. package/dest/services/discv5/discV5_service.d.ts.map +1 -1
  174. package/dest/services/discv5/discV5_service.js +63 -36
  175. package/dest/services/dummy_service.d.ts +54 -11
  176. package/dest/services/dummy_service.d.ts.map +1 -1
  177. package/dest/services/dummy_service.js +91 -5
  178. package/dest/services/encoding.d.ts +26 -7
  179. package/dest/services/encoding.d.ts.map +1 -1
  180. package/dest/services/encoding.js +75 -6
  181. package/dest/services/gossipsub/scoring.d.ts +1 -1
  182. package/dest/services/index.d.ts +5 -1
  183. package/dest/services/index.d.ts.map +1 -1
  184. package/dest/services/index.js +4 -0
  185. package/dest/services/libp2p/instrumentation.d.ts +20 -0
  186. package/dest/services/libp2p/instrumentation.d.ts.map +1 -0
  187. package/dest/services/libp2p/instrumentation.js +111 -0
  188. package/dest/services/libp2p/libp2p_service.d.ts +103 -97
  189. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  190. package/dest/services/libp2p/libp2p_service.js +1316 -310
  191. package/dest/services/peer-manager/interface.d.ts +23 -0
  192. package/dest/services/peer-manager/interface.d.ts.map +1 -0
  193. package/dest/services/peer-manager/interface.js +1 -0
  194. package/dest/services/peer-manager/metrics.d.ts +11 -2
  195. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  196. package/dest/services/peer-manager/metrics.js +29 -12
  197. package/dest/services/peer-manager/peer_manager.d.ts +103 -23
  198. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  199. package/dest/services/peer-manager/peer_manager.js +551 -82
  200. package/dest/services/peer-manager/peer_scoring.d.ts +7 -2
  201. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  202. package/dest/services/peer-manager/peer_scoring.js +37 -2
  203. package/dest/services/reqresp/config.d.ts +11 -9
  204. package/dest/services/reqresp/config.d.ts.map +1 -1
  205. package/dest/services/reqresp/config.js +18 -4
  206. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +2 -2
  207. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
  208. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +10 -6
  209. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +31 -17
  210. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
  211. package/dest/services/reqresp/connection-sampler/connection_sampler.js +142 -84
  212. package/dest/services/reqresp/constants.d.ts +12 -0
  213. package/dest/services/reqresp/constants.d.ts.map +1 -0
  214. package/dest/services/reqresp/constants.js +7 -0
  215. package/dest/services/reqresp/index.d.ts +3 -2
  216. package/dest/services/reqresp/index.d.ts.map +1 -1
  217. package/dest/services/reqresp/index.js +2 -1
  218. package/dest/services/reqresp/interface.d.ts +73 -24
  219. package/dest/services/reqresp/interface.d.ts.map +1 -1
  220. package/dest/services/reqresp/interface.js +46 -27
  221. package/dest/services/reqresp/metrics.d.ts +1 -1
  222. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  223. package/dest/services/reqresp/metrics.js +5 -21
  224. package/dest/services/reqresp/protocols/auth.d.ts +43 -0
  225. package/dest/services/reqresp/protocols/auth.d.ts.map +1 -0
  226. package/dest/services/reqresp/protocols/auth.js +71 -0
  227. package/dest/services/reqresp/protocols/block.d.ts +6 -1
  228. package/dest/services/reqresp/protocols/block.d.ts.map +1 -1
  229. package/dest/services/reqresp/protocols/block.js +30 -6
  230. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +30 -0
  231. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -0
  232. package/dest/services/reqresp/protocols/block_txs/bitvector.js +82 -0
  233. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +11 -0
  234. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -0
  235. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +39 -0
  236. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +47 -0
  237. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -0
  238. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +75 -0
  239. package/dest/services/reqresp/protocols/block_txs/index.d.ts +4 -0
  240. package/dest/services/reqresp/protocols/block_txs/index.d.ts.map +1 -0
  241. package/dest/services/reqresp/protocols/block_txs/index.js +3 -0
  242. package/dest/services/reqresp/protocols/goodbye.d.ts +3 -5
  243. package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -1
  244. package/dest/services/reqresp/protocols/goodbye.js +7 -7
  245. package/dest/services/reqresp/protocols/index.d.ts +3 -1
  246. package/dest/services/reqresp/protocols/index.d.ts.map +1 -1
  247. package/dest/services/reqresp/protocols/index.js +2 -0
  248. package/dest/services/reqresp/protocols/ping.d.ts +1 -3
  249. package/dest/services/reqresp/protocols/ping.d.ts.map +1 -1
  250. package/dest/services/reqresp/protocols/status.d.ts +40 -7
  251. package/dest/services/reqresp/protocols/status.d.ts.map +1 -1
  252. package/dest/services/reqresp/protocols/status.js +76 -5
  253. package/dest/services/reqresp/protocols/tx.d.ts +14 -4
  254. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  255. package/dest/services/reqresp/protocols/tx.js +34 -6
  256. package/dest/services/reqresp/rate-limiter/index.d.ts +1 -1
  257. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +6 -4
  258. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -1
  259. package/dest/services/reqresp/rate-limiter/rate_limiter.js +10 -2
  260. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +1 -1
  261. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -1
  262. package/dest/services/reqresp/rate-limiter/rate_limits.js +21 -1
  263. package/dest/services/reqresp/reqresp.d.ts +24 -66
  264. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  265. package/dest/services/reqresp/reqresp.js +699 -230
  266. package/dest/services/reqresp/status.d.ts +10 -4
  267. package/dest/services/reqresp/status.d.ts.map +1 -1
  268. package/dest/services/reqresp/status.js +9 -2
  269. package/dest/services/service.d.ts +37 -20
  270. package/dest/services/service.d.ts.map +1 -1
  271. package/dest/services/tx_collection/config.d.ts +25 -0
  272. package/dest/services/tx_collection/config.d.ts.map +1 -0
  273. package/dest/services/tx_collection/config.js +58 -0
  274. package/dest/services/tx_collection/fast_tx_collection.d.ts +51 -0
  275. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -0
  276. package/dest/services/tx_collection/fast_tx_collection.js +300 -0
  277. package/dest/services/tx_collection/index.d.ts +3 -0
  278. package/dest/services/tx_collection/index.d.ts.map +1 -0
  279. package/dest/services/tx_collection/index.js +2 -0
  280. package/dest/services/tx_collection/instrumentation.d.ts +10 -0
  281. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -0
  282. package/dest/services/tx_collection/instrumentation.js +24 -0
  283. package/dest/services/tx_collection/slow_tx_collection.d.ts +53 -0
  284. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -0
  285. package/dest/services/tx_collection/slow_tx_collection.js +177 -0
  286. package/dest/services/tx_collection/tx_collection.d.ts +110 -0
  287. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -0
  288. package/dest/services/tx_collection/tx_collection.js +128 -0
  289. package/dest/services/tx_collection/tx_collection_sink.d.ts +30 -0
  290. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -0
  291. package/dest/services/tx_collection/tx_collection_sink.js +111 -0
  292. package/dest/services/tx_collection/tx_source.d.ts +18 -0
  293. package/dest/services/tx_collection/tx_source.d.ts.map +1 -0
  294. package/dest/services/tx_collection/tx_source.js +31 -0
  295. package/dest/services/tx_provider.d.ts +51 -0
  296. package/dest/services/tx_provider.d.ts.map +1 -0
  297. package/dest/services/tx_provider.js +219 -0
  298. package/dest/services/tx_provider_instrumentation.d.ts +16 -0
  299. package/dest/services/tx_provider_instrumentation.d.ts.map +1 -0
  300. package/dest/services/tx_provider_instrumentation.js +34 -0
  301. package/dest/test-helpers/generate-peer-id-private-keys.d.ts +1 -1
  302. package/dest/test-helpers/get-ports.d.ts +1 -1
  303. package/dest/test-helpers/get-ports.d.ts.map +1 -1
  304. package/dest/test-helpers/index.d.ts +2 -1
  305. package/dest/test-helpers/index.d.ts.map +1 -1
  306. package/dest/test-helpers/index.js +1 -0
  307. package/dest/test-helpers/make-enrs.d.ts +1 -1
  308. package/dest/test-helpers/make-enrs.d.ts.map +1 -1
  309. package/dest/test-helpers/make-enrs.js +4 -5
  310. package/dest/test-helpers/make-test-p2p-clients.d.ts +33 -5
  311. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  312. package/dest/test-helpers/make-test-p2p-clients.js +86 -16
  313. package/dest/test-helpers/mock-pubsub.d.ts +59 -0
  314. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -0
  315. package/dest/test-helpers/mock-pubsub.js +130 -0
  316. package/dest/test-helpers/mock-tx-helpers.d.ts +12 -0
  317. package/dest/test-helpers/mock-tx-helpers.d.ts.map +1 -0
  318. package/dest/test-helpers/mock-tx-helpers.js +19 -0
  319. package/dest/test-helpers/reqresp-nodes.d.ts +15 -11
  320. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  321. package/dest/test-helpers/reqresp-nodes.js +62 -28
  322. package/dest/testbench/p2p_client_testbench_worker.d.ts +1 -1
  323. package/dest/testbench/p2p_client_testbench_worker.js +127 -39
  324. package/dest/testbench/parse_log_file.d.ts +1 -1
  325. package/dest/testbench/parse_log_file.js +4 -4
  326. package/dest/testbench/testbench.d.ts +1 -1
  327. package/dest/testbench/testbench.js +4 -4
  328. package/dest/testbench/worker_client_manager.d.ts +1 -6
  329. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  330. package/dest/testbench/worker_client_manager.js +17 -20
  331. package/dest/types/index.d.ts +4 -2
  332. package/dest/types/index.d.ts.map +1 -1
  333. package/dest/types/index.js +2 -0
  334. package/dest/util.d.ts +24 -16
  335. package/dest/util.d.ts.map +1 -1
  336. package/dest/util.js +75 -69
  337. package/dest/versioning.d.ts +4 -4
  338. package/dest/versioning.d.ts.map +1 -1
  339. package/dest/versioning.js +8 -3
  340. package/package.json +32 -27
  341. package/src/bootstrap/bootstrap.ts +27 -11
  342. package/src/client/factory.ts +139 -53
  343. package/src/client/index.ts +1 -0
  344. package/src/client/interface.ts +213 -0
  345. package/src/client/p2p_client.ts +469 -383
  346. package/src/config.ts +299 -134
  347. package/src/enr/generate-enr.ts +39 -6
  348. package/src/errors/attestation-pool.error.ts +13 -0
  349. package/src/index.ts +4 -0
  350. package/src/mem_pools/attestation_pool/attestation_pool.ts +119 -24
  351. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +352 -201
  352. package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +233 -72
  353. package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +199 -96
  354. package/src/mem_pools/attestation_pool/mocks.ts +24 -17
  355. package/src/mem_pools/instrumentation.ts +71 -48
  356. package/src/mem_pools/interface.ts +2 -4
  357. package/src/mem_pools/tx_pool/README.md +270 -0
  358. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +580 -143
  359. package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +132 -0
  360. package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +208 -0
  361. package/src/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.ts +162 -0
  362. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +104 -0
  363. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +93 -0
  364. package/src/mem_pools/tx_pool/eviction/low_priority_eviction_rule.ts +106 -0
  365. package/src/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.ts +75 -0
  366. package/src/mem_pools/tx_pool/index.ts +0 -1
  367. package/src/mem_pools/tx_pool/priority.ts +9 -2
  368. package/src/mem_pools/tx_pool/tx_pool.ts +75 -10
  369. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +225 -36
  370. package/src/msg_validators/attestation_validator/attestation_validator.ts +72 -14
  371. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +88 -0
  372. package/src/msg_validators/attestation_validator/index.ts +1 -0
  373. package/src/msg_validators/clock_tolerance.ts +51 -0
  374. package/src/msg_validators/index.ts +1 -1
  375. package/src/msg_validators/msg_seen_validator/msg_seen_validator.ts +36 -0
  376. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +10 -0
  377. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +13 -0
  378. package/src/msg_validators/proposal_validator/index.ts +3 -0
  379. package/src/msg_validators/proposal_validator/proposal_validator.ts +92 -0
  380. package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +230 -0
  381. package/src/msg_validators/tx_validator/allowed_public_setup.ts +35 -0
  382. package/src/msg_validators/tx_validator/archive_cache.ts +28 -0
  383. package/src/msg_validators/tx_validator/block_header_validator.ts +7 -5
  384. package/src/msg_validators/tx_validator/data_validator.ts +89 -69
  385. package/src/msg_validators/tx_validator/double_spend_validator.ts +19 -17
  386. package/src/msg_validators/tx_validator/factory.ts +110 -0
  387. package/src/msg_validators/tx_validator/fee_payer_balance.ts +40 -0
  388. package/src/msg_validators/tx_validator/gas_validator.ts +117 -0
  389. package/src/msg_validators/tx_validator/index.ts +8 -0
  390. package/src/msg_validators/tx_validator/metadata_validator.ts +67 -22
  391. package/src/msg_validators/tx_validator/phases_validator.ts +116 -0
  392. package/src/msg_validators/tx_validator/size_validator.ts +18 -0
  393. package/src/msg_validators/tx_validator/test_utils.ts +43 -0
  394. package/src/msg_validators/tx_validator/timestamp_validator.ts +49 -0
  395. package/src/msg_validators/tx_validator/tx_permitted_validator.ts +17 -0
  396. package/src/msg_validators/tx_validator/tx_proof_validator.ts +6 -5
  397. package/src/services/discv5/discV5_service.ts +84 -38
  398. package/src/services/dummy_service.ts +153 -9
  399. package/src/services/encoding.ts +82 -6
  400. package/src/services/index.ts +4 -0
  401. package/src/services/libp2p/instrumentation.ts +113 -0
  402. package/src/services/libp2p/libp2p_service.ts +1142 -339
  403. package/src/services/peer-manager/interface.ts +29 -0
  404. package/src/services/peer-manager/metrics.ts +38 -12
  405. package/src/services/peer-manager/peer_manager.ts +657 -80
  406. package/src/services/peer-manager/peer_scoring.ts +42 -3
  407. package/src/services/reqresp/config.ts +26 -9
  408. package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +12 -6
  409. package/src/services/reqresp/connection-sampler/connection_sampler.ts +150 -95
  410. package/src/services/reqresp/constants.ts +14 -0
  411. package/src/services/reqresp/index.ts +2 -0
  412. package/src/services/reqresp/interface.ts +92 -37
  413. package/src/services/reqresp/metrics.ts +11 -24
  414. package/src/services/reqresp/protocols/auth.ts +83 -0
  415. package/src/services/reqresp/protocols/block.ts +26 -4
  416. package/src/services/reqresp/protocols/block_txs/bitvector.ts +99 -0
  417. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +53 -0
  418. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +79 -0
  419. package/src/services/reqresp/protocols/block_txs/index.ts +3 -0
  420. package/src/services/reqresp/protocols/goodbye.ts +9 -7
  421. package/src/services/reqresp/protocols/index.ts +2 -0
  422. package/src/services/reqresp/protocols/status.ts +121 -5
  423. package/src/services/reqresp/protocols/tx.ts +36 -8
  424. package/src/services/reqresp/rate-limiter/rate_limiter.ts +12 -3
  425. package/src/services/reqresp/rate-limiter/rate_limits.ts +21 -1
  426. package/src/services/reqresp/reqresp.ts +387 -256
  427. package/src/services/reqresp/status.ts +12 -3
  428. package/src/services/service.ts +61 -22
  429. package/src/services/tx_collection/config.ts +84 -0
  430. package/src/services/tx_collection/fast_tx_collection.ts +341 -0
  431. package/src/services/tx_collection/index.ts +2 -0
  432. package/src/services/tx_collection/instrumentation.ts +26 -0
  433. package/src/services/tx_collection/slow_tx_collection.ts +233 -0
  434. package/src/services/tx_collection/tx_collection.ts +216 -0
  435. package/src/services/tx_collection/tx_collection_sink.ts +129 -0
  436. package/src/services/tx_collection/tx_source.ts +37 -0
  437. package/src/services/tx_provider.ts +232 -0
  438. package/src/services/tx_provider_instrumentation.ts +48 -0
  439. package/src/test-helpers/index.ts +1 -0
  440. package/src/test-helpers/make-enrs.ts +4 -5
  441. package/src/test-helpers/make-test-p2p-clients.ts +111 -21
  442. package/src/test-helpers/mock-pubsub.ts +188 -0
  443. package/src/test-helpers/mock-tx-helpers.ts +24 -0
  444. package/src/test-helpers/reqresp-nodes.ts +87 -36
  445. package/src/testbench/p2p_client_testbench_worker.ts +183 -37
  446. package/src/testbench/parse_log_file.ts +4 -4
  447. package/src/testbench/testbench.ts +4 -4
  448. package/src/testbench/worker_client_manager.ts +23 -24
  449. package/src/types/index.ts +2 -0
  450. package/src/util.ts +105 -91
  451. package/src/versioning.ts +11 -4
  452. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +0 -56
  453. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +0 -1
  454. package/dest/mem_pools/tx_pool/memory_tx_pool.js +0 -141
  455. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +0 -8
  456. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +0 -1
  457. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +0 -21
  458. package/dest/msg_validators/block_proposal_validator/index.d.ts +0 -2
  459. package/dest/msg_validators/block_proposal_validator/index.d.ts.map +0 -1
  460. package/dest/msg_validators/block_proposal_validator/index.js +0 -1
  461. package/src/mem_pools/tx_pool/memory_tx_pool.ts +0 -174
  462. package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +0 -29
  463. package/src/msg_validators/block_proposal_validator/index.ts +0 -1
@@ -1,2 +0,0 @@
1
- export * from './block_proposal_validator.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/block_proposal_validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
@@ -1 +0,0 @@
1
- export * from './block_proposal_validator.js';
@@ -1,174 +0,0 @@
1
- import { createLogger } from '@aztec/foundation/log';
2
- import type { TxAddedToPoolStats } from '@aztec/stdlib/stats';
3
- import { Tx, TxHash } from '@aztec/stdlib/tx';
4
- import { type TelemetryClient, getTelemetryClient } from '@aztec/telemetry-client';
5
-
6
- import { PoolInstrumentation, PoolName } from '../instrumentation.js';
7
- import { getPendingTxPriority } from './priority.js';
8
- import type { TxPool } from './tx_pool.js';
9
-
10
- /**
11
- * In-memory implementation of the Transaction Pool.
12
- */
13
- export class InMemoryTxPool implements TxPool {
14
- /**
15
- * Our tx pool, stored as a Map in-memory, with K: tx hash and V: the transaction.
16
- */
17
- private txs: Map<bigint, Tx>;
18
- private minedTxs: Map<bigint, number>;
19
- private pendingTxs: Set<bigint>;
20
-
21
- private metrics: PoolInstrumentation<Tx>;
22
-
23
- /**
24
- * Class constructor for in-memory TxPool. Initiates our transaction pool as a JS Map.
25
- * @param log - A logger.
26
- */
27
- constructor(telemetry: TelemetryClient = getTelemetryClient(), private log = createLogger('p2p:tx_pool')) {
28
- this.txs = new Map<bigint, Tx>();
29
- this.minedTxs = new Map();
30
- this.pendingTxs = new Set();
31
- this.metrics = new PoolInstrumentation(telemetry, PoolName.TX_POOL);
32
- }
33
-
34
- public markAsMined(txHashes: TxHash[], blockNumber: number): Promise<void> {
35
- const keys = txHashes.map(x => x.toBigInt());
36
- for (const key of keys) {
37
- this.minedTxs.set(key, blockNumber);
38
- this.pendingTxs.delete(key);
39
- }
40
- this.metrics.recordRemovedObjects(txHashes.length, 'pending');
41
- this.metrics.recordAddedObjects(txHashes.length, 'mined');
42
- return Promise.resolve();
43
- }
44
-
45
- public markMinedAsPending(txHashes: TxHash[]): Promise<void> {
46
- if (txHashes.length === 0) {
47
- return Promise.resolve();
48
- }
49
-
50
- const keys = txHashes.map(x => x.toBigInt());
51
- let deleted = 0;
52
- let added = 0;
53
- for (const key of keys) {
54
- if (this.minedTxs.delete(key)) {
55
- deleted++;
56
- }
57
-
58
- // only add back to the pending set if we have the tx object
59
- if (this.txs.has(key)) {
60
- added++;
61
- this.pendingTxs.add(key);
62
- }
63
- }
64
-
65
- this.metrics.recordRemovedObjects(deleted, 'mined');
66
- this.metrics.recordAddedObjects(added, 'pending');
67
-
68
- return Promise.resolve();
69
- }
70
-
71
- public async getPendingTxHashes(): Promise<TxHash[]> {
72
- const txs = (await this.getAllTxs()).sort(
73
- (tx1, tx2) => -getPendingTxPriority(tx1).localeCompare(getPendingTxPriority(tx2)),
74
- );
75
- const txHashes = await Promise.all(txs.map(tx => tx.getTxHash()));
76
- return txHashes.filter(txHash => this.pendingTxs.has(txHash.toBigInt()));
77
- }
78
-
79
- public getMinedTxHashes(): Promise<[TxHash, number][]> {
80
- return Promise.resolve(
81
- Array.from(this.minedTxs.entries()).map(([txHash, blockNumber]) => [TxHash.fromBigInt(txHash), blockNumber]),
82
- );
83
- }
84
-
85
- public getTxStatus(txHash: TxHash): Promise<'pending' | 'mined' | undefined> {
86
- const key = txHash.toBigInt();
87
- if (this.pendingTxs.has(key)) {
88
- return Promise.resolve('pending');
89
- }
90
- if (this.minedTxs.has(key)) {
91
- return Promise.resolve('mined');
92
- }
93
- return Promise.resolve(undefined);
94
- }
95
-
96
- /**
97
- * Checks if a transaction exists in the pool and returns it.
98
- * @param txHash - The generated tx hash.
99
- * @returns The transaction, if found, 'undefined' otherwise.
100
- */
101
- public getTxByHash(txHash: TxHash): Promise<Tx | undefined> {
102
- const result = this.txs.get(txHash.toBigInt());
103
- return Promise.resolve(result === undefined ? undefined : Tx.clone(result));
104
- }
105
-
106
- public getArchivedTxByHash(): Promise<Tx | undefined> {
107
- return Promise.resolve(undefined);
108
- }
109
-
110
- /**
111
- * Adds a list of transactions to the pool. Duplicates are ignored.
112
- * @param txs - An array of txs to be added to the pool.
113
- * @returns Empty promise.
114
- */
115
- public async addTxs(txs: Tx[]): Promise<void> {
116
- let pending = 0;
117
- for (const tx of txs) {
118
- const txHash = await tx.getTxHash();
119
- this.log.verbose(`Adding tx ${txHash.toString()} to pool`, {
120
- eventName: 'tx-added-to-pool',
121
- ...(await tx.getStats()),
122
- } satisfies TxAddedToPoolStats);
123
-
124
- const key = txHash.toBigInt();
125
- this.txs.set(key, tx);
126
- if (!this.minedTxs.has(key)) {
127
- pending++;
128
- this.metrics.recordSize(tx);
129
- this.pendingTxs.add(key);
130
- }
131
- }
132
-
133
- this.metrics.recordAddedObjects(pending, 'pending');
134
- return;
135
- }
136
-
137
- /**
138
- * Deletes transactions from the pool. Tx hashes that are not present are ignored.
139
- * @param txHashes - An array of tx hashes to be removed from the tx pool.
140
- * @returns The number of transactions that was deleted from the pool.
141
- */
142
- public deleteTxs(txHashes: TxHash[]): Promise<void> {
143
- let deletedMined = 0;
144
- let deletedPending = 0;
145
-
146
- for (const txHash of txHashes) {
147
- const key = txHash.toBigInt();
148
- this.txs.delete(key);
149
- deletedPending += this.pendingTxs.delete(key) ? 1 : 0;
150
- deletedMined += this.minedTxs.delete(key) ? 1 : 0;
151
- }
152
-
153
- this.metrics.recordRemovedObjects(deletedPending, 'pending');
154
- this.metrics.recordRemovedObjects(deletedMined, 'mined');
155
-
156
- return Promise.resolve();
157
- }
158
-
159
- /**
160
- * Gets all the transactions stored in the pool.
161
- * @returns Array of tx objects in the order they were added to the pool.
162
- */
163
- public getAllTxs(): Promise<Tx[]> {
164
- return Promise.resolve(Array.from(this.txs.values()).map(x => Tx.clone(x)));
165
- }
166
-
167
- /**
168
- * Gets the hashes of all transactions currently in the tx pool.
169
- * @returns An array of transaction hashes found in the tx pool.
170
- */
171
- public getAllTxHashes(): Promise<TxHash[]> {
172
- return Promise.resolve(Array.from(this.txs.keys()).map(x => TxHash.fromBigInt(x)));
173
- }
174
- }
@@ -1,29 +0,0 @@
1
- import type { EpochCacheInterface } from '@aztec/epoch-cache';
2
- import { type BlockProposal, type P2PValidator, PeerErrorSeverity } from '@aztec/stdlib/p2p';
3
-
4
- export class BlockProposalValidator implements P2PValidator<BlockProposal> {
5
- private epochCache: EpochCacheInterface;
6
-
7
- constructor(epochCache: EpochCacheInterface) {
8
- this.epochCache = epochCache;
9
- }
10
-
11
- async validate(block: BlockProposal): Promise<PeerErrorSeverity | undefined> {
12
- const { currentProposer, nextProposer, currentSlot, nextSlot } =
13
- await this.epochCache.getProposerInCurrentOrNextSlot();
14
-
15
- // Check that the attestation is for the current or next slot
16
- const slotNumberBigInt = block.payload.header.globalVariables.slotNumber.toBigInt();
17
- if (slotNumberBigInt !== currentSlot && slotNumberBigInt !== nextSlot) {
18
- return PeerErrorSeverity.HighToleranceError;
19
- }
20
-
21
- // Check that the block proposal is from the current or next proposer
22
- const proposer = await block.getSender();
23
- if (!proposer.equals(currentProposer) && !proposer.equals(nextProposer)) {
24
- return PeerErrorSeverity.HighToleranceError;
25
- }
26
-
27
- return undefined;
28
- }
29
- }
@@ -1 +0,0 @@
1
- export * from './block_proposal_validator.js';