@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
@@ -0,0 +1,29 @@
1
+ import type { EthAddress } from '@aztec/foundation/eth-address';
2
+ import type { PeerInfo } from '@aztec/stdlib/interfaces/server';
3
+ import type { PeerErrorSeverity } from '@aztec/stdlib/p2p';
4
+
5
+ import type { PeerId } from '@libp2p/interface';
6
+
7
+ import type { AuthRequest, StatusMessage } from '../reqresp/index.js';
8
+ import type { GoodByeReason } from '../reqresp/protocols/goodbye.js';
9
+
10
+ export interface PeerManagerInterface {
11
+ getPeers(_includePending?: boolean): PeerInfo[];
12
+
13
+ initializePeers(): Promise<void>;
14
+ heartbeat(): Promise<void>;
15
+ addTrustedPeer(peerId: PeerId): void;
16
+ addPrivatePeer(peerId: PeerId): void;
17
+ addPreferredPeer(peerId: PeerId): void;
18
+ goodbyeReceived(peerId: PeerId, reason: GoodByeReason): void;
19
+ penalizePeer(peerId: PeerId, penalty: PeerErrorSeverity): void;
20
+ handleAuthRequestFromPeer(authRequest: AuthRequest, peerId: PeerId): Promise<StatusMessage>;
21
+
22
+ getPeerScore(peerId: string): number;
23
+ shouldDisableP2PGossip(peerId: string): boolean;
24
+
25
+ stop(): Promise<void>;
26
+
27
+ /** If node running this P2P stack is validator, passes in validator address to P2P layer */
28
+ registerThisValidatorAddresses(address: EthAddress[]): void;
29
+ }
@@ -1,34 +1,41 @@
1
1
  import {
2
2
  Attributes,
3
+ type Gauge,
4
+ type Histogram,
3
5
  Metrics,
4
6
  type TelemetryClient,
5
7
  type Tracer,
6
8
  type UpDownCounter,
7
- ValueType,
9
+ getTelemetryClient,
8
10
  } from '@aztec/telemetry-client';
9
11
 
12
+ import type { PeerId } from '@libp2p/interface';
13
+
10
14
  import { type GoodByeReason, prettyGoodbyeReason } from '../reqresp/protocols/index.js';
11
15
 
12
16
  export class PeerManagerMetrics {
13
17
  private sentGoodbyes: UpDownCounter;
14
18
  private receivedGoodbyes: UpDownCounter;
19
+ private peerCount: Gauge;
20
+ private lowScoreDisconnects: UpDownCounter;
21
+ private peerConnectionDuration: Histogram;
22
+
23
+ private peerConnectedAt: Map<string, number> = new Map<string, number>();
15
24
 
16
25
  public readonly tracer: Tracer;
17
26
 
18
- constructor(public readonly telemetryClient: TelemetryClient, name = 'PeerManager') {
27
+ constructor(
28
+ public readonly telemetryClient: TelemetryClient = getTelemetryClient(),
29
+ name = 'PeerManager',
30
+ ) {
19
31
  this.tracer = telemetryClient.getTracer(name);
20
32
 
21
33
  const meter = telemetryClient.getMeter(name);
22
- this.sentGoodbyes = meter.createUpDownCounter(Metrics.PEER_MANAGER_GOODBYES_SENT, {
23
- description: 'Number of goodbyes sent to peers',
24
- unit: 'peers',
25
- valueType: ValueType.INT,
26
- });
27
- this.receivedGoodbyes = meter.createUpDownCounter(Metrics.PEER_MANAGER_GOODBYES_RECEIVED, {
28
- description: 'Number of goodbyes received from peers',
29
- unit: 'peers',
30
- valueType: ValueType.INT,
31
- });
34
+ this.sentGoodbyes = meter.createUpDownCounter(Metrics.PEER_MANAGER_GOODBYES_SENT);
35
+ this.receivedGoodbyes = meter.createUpDownCounter(Metrics.PEER_MANAGER_GOODBYES_RECEIVED);
36
+ this.peerCount = meter.createGauge(Metrics.PEER_MANAGER_PEER_COUNT);
37
+ this.lowScoreDisconnects = meter.createUpDownCounter(Metrics.PEER_MANAGER_LOW_SCORE_DISCONNECTS);
38
+ this.peerConnectionDuration = meter.createHistogram(Metrics.PEER_MANAGER_PEER_CONNECTION_DURATION);
32
39
  }
33
40
 
34
41
  public recordGoodbyeSent(reason: GoodByeReason) {
@@ -38,4 +45,23 @@ export class PeerManagerMetrics {
38
45
  public recordGoodbyeReceived(reason: GoodByeReason) {
39
46
  this.receivedGoodbyes.add(1, { [Attributes.P2P_GOODBYE_REASON]: prettyGoodbyeReason(reason) });
40
47
  }
48
+
49
+ public recordPeerCount(count: number) {
50
+ this.peerCount.record(count);
51
+ }
52
+
53
+ public recordLowScoreDisconnect(scoreState: 'Banned' | 'Disconnect') {
54
+ this.lowScoreDisconnects.add(1, { [Attributes.P2P_PEER_SCORE_STATE]: scoreState });
55
+ }
56
+
57
+ public peerConnected(id: PeerId) {
58
+ this.peerConnectedAt.set(id.toString(), Date.now());
59
+ }
60
+
61
+ public peerDisconnected(id: PeerId) {
62
+ const connectedAt = this.peerConnectedAt.get(id.toString());
63
+ if (connectedAt) {
64
+ this.peerConnectionDuration.record(Date.now() - connectedAt);
65
+ }
66
+ }
41
67
  }