@aztec/p2p 0.0.0-test.1 → 0.0.1-commit.017a351

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 (633) hide show
  1. package/README.md +129 -3
  2. package/dest/bootstrap/bootstrap.d.ts +4 -3
  3. package/dest/bootstrap/bootstrap.d.ts.map +1 -1
  4. package/dest/bootstrap/bootstrap.js +34 -13
  5. package/dest/client/factory.d.ts +23 -12
  6. package/dest/client/factory.d.ts.map +1 -1
  7. package/dest/client/factory.js +106 -26
  8. package/dest/client/index.d.ts +2 -1
  9. package/dest/client/index.d.ts.map +1 -1
  10. package/dest/client/index.js +1 -0
  11. package/dest/client/interface.d.ts +192 -0
  12. package/dest/client/interface.d.ts.map +1 -0
  13. package/dest/client/interface.js +9 -0
  14. package/dest/client/p2p_client.d.ts +97 -221
  15. package/dest/client/p2p_client.d.ts.map +1 -1
  16. package/dest/client/p2p_client.js +818 -289
  17. package/dest/config.d.ts +235 -133
  18. package/dest/config.d.ts.map +1 -1
  19. package/dest/config.js +295 -36
  20. package/dest/enr/generate-enr.d.ts +11 -3
  21. package/dest/enr/generate-enr.d.ts.map +1 -1
  22. package/dest/enr/generate-enr.js +27 -5
  23. package/dest/enr/index.d.ts +1 -1
  24. package/dest/errors/attestation-pool.error.d.ts +7 -0
  25. package/dest/errors/attestation-pool.error.d.ts.map +1 -0
  26. package/dest/errors/attestation-pool.error.js +12 -0
  27. package/dest/errors/p2p-service.error.d.ts +9 -0
  28. package/dest/errors/p2p-service.error.d.ts.map +1 -0
  29. package/dest/errors/p2p-service.error.js +10 -0
  30. package/dest/errors/reqresp.error.d.ts +1 -20
  31. package/dest/errors/reqresp.error.d.ts.map +1 -1
  32. package/dest/errors/reqresp.error.js +0 -21
  33. package/dest/errors/tx-pool.error.d.ts +8 -0
  34. package/dest/errors/tx-pool.error.d.ts.map +1 -0
  35. package/dest/errors/tx-pool.error.js +9 -0
  36. package/dest/index.d.ts +5 -2
  37. package/dest/index.d.ts.map +1 -1
  38. package/dest/index.js +3 -1
  39. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +165 -30
  40. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  41. package/dest/mem_pools/attestation_pool/attestation_pool.js +511 -3
  42. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +2 -2
  43. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
  44. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +680 -173
  45. package/dest/mem_pools/attestation_pool/index.d.ts +2 -3
  46. package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -1
  47. package/dest/mem_pools/attestation_pool/index.js +1 -2
  48. package/dest/mem_pools/attestation_pool/mocks.d.ts +234 -11
  49. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  50. package/dest/mem_pools/attestation_pool/mocks.js +21 -21
  51. package/dest/mem_pools/index.d.ts +3 -3
  52. package/dest/mem_pools/index.d.ts.map +1 -1
  53. package/dest/mem_pools/index.js +1 -1
  54. package/dest/mem_pools/instrumentation.d.ts +18 -12
  55. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  56. package/dest/mem_pools/instrumentation.js +74 -41
  57. package/dest/mem_pools/interface.d.ts +6 -7
  58. package/dest/mem_pools/interface.d.ts.map +1 -1
  59. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts +2 -0
  60. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts.map +1 -0
  61. package/dest/mem_pools/tx_pool_v2/archive/index.js +1 -0
  62. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts +39 -0
  63. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts.map +1 -0
  64. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.js +97 -0
  65. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +104 -0
  66. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -0
  67. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +251 -0
  68. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +47 -0
  69. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -0
  70. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +128 -0
  71. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +17 -0
  72. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
  73. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +94 -0
  74. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +19 -0
  75. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -0
  76. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +97 -0
  77. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +11 -0
  78. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -0
  79. package/dest/mem_pools/tx_pool_v2/eviction/index.js +12 -0
  80. package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts +16 -0
  81. package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts.map +1 -0
  82. package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.js +62 -0
  83. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +180 -0
  84. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -0
  85. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +25 -0
  86. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts +15 -0
  87. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
  88. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +65 -0
  89. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts +17 -0
  90. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
  91. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +93 -0
  92. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +16 -0
  93. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -0
  94. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +78 -0
  95. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +20 -0
  96. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -0
  97. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +75 -0
  98. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +15 -0
  99. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -0
  100. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +19 -0
  101. package/dest/mem_pools/tx_pool_v2/index.d.ts +6 -0
  102. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -0
  103. package/dest/mem_pools/tx_pool_v2/index.js +5 -0
  104. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts +15 -0
  105. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts.map +1 -0
  106. package/dest/mem_pools/tx_pool_v2/instrumentation.js +43 -0
  107. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +218 -0
  108. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -0
  109. package/dest/mem_pools/tx_pool_v2/interfaces.js +10 -0
  110. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +137 -0
  111. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -0
  112. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +223 -0
  113. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts +26 -0
  114. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts.map +1 -0
  115. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.js +70 -0
  116. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +108 -0
  117. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -0
  118. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +337 -0
  119. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +62 -0
  120. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -0
  121. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +167 -0
  122. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +78 -0
  123. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -0
  124. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +914 -0
  125. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +14 -6
  126. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  127. package/dest/msg_validators/attestation_validator/attestation_validator.js +106 -12
  128. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +24 -0
  129. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -0
  130. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +75 -0
  131. package/dest/msg_validators/attestation_validator/index.d.ts +2 -1
  132. package/dest/msg_validators/attestation_validator/index.d.ts.map +1 -1
  133. package/dest/msg_validators/attestation_validator/index.js +1 -0
  134. package/dest/msg_validators/clock_tolerance.d.ts +32 -0
  135. package/dest/msg_validators/clock_tolerance.d.ts.map +1 -0
  136. package/dest/msg_validators/clock_tolerance.js +90 -0
  137. package/dest/msg_validators/index.d.ts +2 -2
  138. package/dest/msg_validators/index.d.ts.map +1 -1
  139. package/dest/msg_validators/index.js +1 -1
  140. package/dest/msg_validators/msg_seen_validator/msg_seen_validator.d.ts +10 -0
  141. package/dest/msg_validators/msg_seen_validator/msg_seen_validator.d.ts.map +1 -0
  142. package/dest/msg_validators/msg_seen_validator/msg_seen_validator.js +36 -0
  143. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +15 -0
  144. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -0
  145. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +14 -0
  146. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +15 -0
  147. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -0
  148. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +20 -0
  149. package/dest/msg_validators/proposal_validator/index.d.ts +4 -0
  150. package/dest/msg_validators/proposal_validator/index.d.ts.map +1 -0
  151. package/dest/msg_validators/proposal_validator/index.js +3 -0
  152. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +26 -0
  153. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -0
  154. package/dest/msg_validators/proposal_validator/proposal_validator.js +150 -0
  155. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +4 -4
  156. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  157. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +11 -18
  158. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +4 -0
  159. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -0
  160. package/dest/msg_validators/tx_validator/allowed_public_setup.js +31 -0
  161. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts +17 -0
  162. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts.map +1 -0
  163. package/dest/msg_validators/tx_validator/allowed_setup_helpers.js +24 -0
  164. package/dest/msg_validators/tx_validator/archive_cache.d.ts +14 -0
  165. package/dest/msg_validators/tx_validator/archive_cache.d.ts.map +1 -0
  166. package/dest/msg_validators/tx_validator/archive_cache.js +22 -0
  167. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +20 -6
  168. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  169. package/dest/msg_validators/tx_validator/block_header_validator.js +7 -6
  170. package/dest/msg_validators/tx_validator/cached_tx_validator.d.ts +15 -0
  171. package/dest/msg_validators/tx_validator/cached_tx_validator.d.ts.map +1 -0
  172. package/dest/msg_validators/tx_validator/cached_tx_validator.js +19 -0
  173. package/dest/msg_validators/tx_validator/contract_instance_validator.d.ts +9 -0
  174. package/dest/msg_validators/tx_validator/contract_instance_validator.d.ts.map +1 -0
  175. package/dest/msg_validators/tx_validator/contract_instance_validator.js +48 -0
  176. package/dest/msg_validators/tx_validator/data_validator.d.ts +4 -1
  177. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  178. package/dest/msg_validators/tx_validator/data_validator.js +94 -87
  179. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +15 -6
  180. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  181. package/dest/msg_validators/tx_validator/double_spend_validator.js +24 -29
  182. package/dest/msg_validators/tx_validator/factory.d.ts +149 -0
  183. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -0
  184. package/dest/msg_validators/tx_validator/factory.js +275 -0
  185. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +10 -0
  186. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -0
  187. package/dest/msg_validators/tx_validator/fee_payer_balance.js +24 -0
  188. package/dest/msg_validators/tx_validator/gas_validator.d.ts +108 -0
  189. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -0
  190. package/dest/msg_validators/tx_validator/gas_validator.js +194 -0
  191. package/dest/msg_validators/tx_validator/index.d.ts +13 -1
  192. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  193. package/dest/msg_validators/tx_validator/index.js +12 -0
  194. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +10 -5
  195. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  196. package/dest/msg_validators/tx_validator/metadata_validator.js +40 -21
  197. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts +14 -0
  198. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts.map +1 -0
  199. package/dest/msg_validators/tx_validator/nullifier_cache.js +24 -0
  200. package/dest/msg_validators/tx_validator/phases_validator.d.ts +35 -0
  201. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -0
  202. package/dest/msg_validators/tx_validator/phases_validator.js +141 -0
  203. package/dest/msg_validators/tx_validator/size_validator.d.ts +8 -0
  204. package/dest/msg_validators/tx_validator/size_validator.d.ts.map +1 -0
  205. package/dest/msg_validators/tx_validator/size_validator.js +23 -0
  206. package/dest/msg_validators/tx_validator/test_utils.d.ts +17 -0
  207. package/dest/msg_validators/tx_validator/test_utils.d.ts.map +1 -0
  208. package/dest/msg_validators/tx_validator/test_utils.js +22 -0
  209. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +30 -0
  210. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -0
  211. package/dest/msg_validators/tx_validator/timestamp_validator.js +32 -0
  212. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts +9 -0
  213. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts.map +1 -0
  214. package/dest/msg_validators/tx_validator/tx_permitted_validator.js +24 -0
  215. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +4 -2
  216. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
  217. package/dest/msg_validators/tx_validator/tx_proof_validator.js +10 -7
  218. package/dest/msg_validators/tx_validator/tx_validation_cache.d.ts +48 -0
  219. package/dest/msg_validators/tx_validator/tx_validation_cache.d.ts.map +1 -0
  220. package/dest/msg_validators/tx_validator/tx_validation_cache.js +68 -0
  221. package/dest/services/data_store.d.ts +1 -1
  222. package/dest/services/data_store.d.ts.map +1 -1
  223. package/dest/services/data_store.js +14 -10
  224. package/dest/services/discv5/discV5_service.d.ts +11 -9
  225. package/dest/services/discv5/discV5_service.d.ts.map +1 -1
  226. package/dest/services/discv5/discV5_service.js +92 -38
  227. package/dest/services/dummy_service.d.ts +77 -18
  228. package/dest/services/dummy_service.d.ts.map +1 -1
  229. package/dest/services/dummy_service.js +139 -12
  230. package/dest/services/encoding.d.ts +30 -7
  231. package/dest/services/encoding.d.ts.map +1 -1
  232. package/dest/services/encoding.js +88 -12
  233. package/dest/services/gossipsub/index.d.ts +3 -0
  234. package/dest/services/gossipsub/index.d.ts.map +1 -0
  235. package/dest/services/gossipsub/index.js +2 -0
  236. package/dest/services/gossipsub/scoring.d.ts +21 -3
  237. package/dest/services/gossipsub/scoring.d.ts.map +1 -1
  238. package/dest/services/gossipsub/scoring.js +24 -7
  239. package/dest/services/gossipsub/topic_score_params.d.ts +184 -0
  240. package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -0
  241. package/dest/services/gossipsub/topic_score_params.js +363 -0
  242. package/dest/services/index.d.ts +6 -1
  243. package/dest/services/index.d.ts.map +1 -1
  244. package/dest/services/index.js +5 -0
  245. package/dest/services/libp2p/instrumentation.d.ts +22 -0
  246. package/dest/services/libp2p/instrumentation.d.ts.map +1 -0
  247. package/dest/services/libp2p/instrumentation.js +136 -0
  248. package/dest/services/libp2p/libp2p_service.d.ts +165 -111
  249. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  250. package/dest/services/libp2p/libp2p_service.js +1517 -379
  251. package/dest/services/peer-manager/interface.d.ts +23 -0
  252. package/dest/services/peer-manager/interface.d.ts.map +1 -0
  253. package/dest/services/peer-manager/interface.js +1 -0
  254. package/dest/services/peer-manager/metrics.d.ts +14 -3
  255. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  256. package/dest/services/peer-manager/metrics.js +50 -12
  257. package/dest/services/peer-manager/peer_manager.d.ts +108 -24
  258. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  259. package/dest/services/peer-manager/peer_manager.js +583 -85
  260. package/dest/services/peer-manager/peer_scoring.d.ts +12 -2
  261. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  262. package/dest/services/peer-manager/peer_scoring.js +99 -13
  263. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +44 -0
  264. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -0
  265. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +534 -0
  266. package/dest/services/reqresp/batch-tx-requester/config.d.ts +17 -0
  267. package/dest/services/reqresp/batch-tx-requester/config.d.ts.map +1 -0
  268. package/dest/services/reqresp/batch-tx-requester/config.js +27 -0
  269. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +50 -0
  270. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -0
  271. package/dest/services/reqresp/batch-tx-requester/interface.js +1 -0
  272. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +35 -0
  273. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -0
  274. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +136 -0
  275. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +62 -0
  276. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -0
  277. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +176 -0
  278. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts +11 -0
  279. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts.map +1 -0
  280. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +7 -0
  281. package/dest/services/reqresp/config.d.ts +13 -11
  282. package/dest/services/reqresp/config.d.ts.map +1 -1
  283. package/dest/services/reqresp/config.js +18 -4
  284. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +32 -17
  285. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
  286. package/dest/services/reqresp/connection-sampler/connection_sampler.js +154 -84
  287. package/dest/services/reqresp/constants.d.ts +12 -0
  288. package/dest/services/reqresp/constants.d.ts.map +1 -0
  289. package/dest/services/reqresp/constants.js +7 -0
  290. package/dest/services/reqresp/index.d.ts +3 -2
  291. package/dest/services/reqresp/index.d.ts.map +1 -1
  292. package/dest/services/reqresp/index.js +2 -1
  293. package/dest/services/reqresp/interface.d.ts +88 -30
  294. package/dest/services/reqresp/interface.d.ts.map +1 -1
  295. package/dest/services/reqresp/interface.js +61 -38
  296. package/dest/services/reqresp/metrics.d.ts +6 -5
  297. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  298. package/dest/services/reqresp/metrics.js +16 -21
  299. package/dest/services/reqresp/protocols/auth.d.ts +43 -0
  300. package/dest/services/reqresp/protocols/auth.d.ts.map +1 -0
  301. package/dest/services/reqresp/protocols/auth.js +71 -0
  302. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +35 -0
  303. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -0
  304. package/dest/services/reqresp/protocols/block_txs/bitvector.js +88 -0
  305. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +13 -0
  306. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -0
  307. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +60 -0
  308. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +75 -0
  309. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -0
  310. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +139 -0
  311. package/dest/services/reqresp/protocols/block_txs/index.d.ts +4 -0
  312. package/dest/services/reqresp/protocols/block_txs/index.d.ts.map +1 -0
  313. package/dest/services/reqresp/protocols/block_txs/index.js +3 -0
  314. package/dest/services/reqresp/protocols/goodbye.d.ts +3 -5
  315. package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -1
  316. package/dest/services/reqresp/protocols/goodbye.js +7 -7
  317. package/dest/services/reqresp/protocols/index.d.ts +3 -2
  318. package/dest/services/reqresp/protocols/index.d.ts.map +1 -1
  319. package/dest/services/reqresp/protocols/index.js +2 -1
  320. package/dest/services/reqresp/protocols/ping.d.ts +1 -3
  321. package/dest/services/reqresp/protocols/ping.d.ts.map +1 -1
  322. package/dest/services/reqresp/protocols/status.d.ts +40 -7
  323. package/dest/services/reqresp/protocols/status.d.ts.map +1 -1
  324. package/dest/services/reqresp/protocols/status.js +76 -5
  325. package/dest/services/reqresp/protocols/tx.d.ts +20 -4
  326. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  327. package/dest/services/reqresp/protocols/tx.js +52 -6
  328. package/dest/services/reqresp/rate-limiter/index.d.ts +1 -1
  329. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +10 -7
  330. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -1
  331. package/dest/services/reqresp/rate-limiter/rate_limiter.js +20 -10
  332. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +1 -1
  333. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -1
  334. package/dest/services/reqresp/rate-limiter/rate_limits.js +16 -6
  335. package/dest/services/reqresp/reqresp.d.ts +32 -91
  336. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  337. package/dest/services/reqresp/reqresp.js +695 -355
  338. package/dest/services/reqresp/status.d.ts +10 -4
  339. package/dest/services/reqresp/status.d.ts.map +1 -1
  340. package/dest/services/reqresp/status.js +9 -2
  341. package/dest/services/service.d.ts +76 -23
  342. package/dest/services/service.d.ts.map +1 -1
  343. package/dest/services/tx_collection/config.d.ts +25 -0
  344. package/dest/services/tx_collection/config.d.ts.map +1 -0
  345. package/dest/services/tx_collection/config.js +59 -0
  346. package/dest/services/tx_collection/file_store_tx_collection.d.ts +37 -0
  347. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -0
  348. package/dest/services/tx_collection/file_store_tx_collection.js +127 -0
  349. package/dest/services/tx_collection/file_store_tx_source.d.ts +38 -0
  350. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -0
  351. package/dest/services/tx_collection/file_store_tx_source.js +100 -0
  352. package/dest/services/tx_collection/index.d.ts +4 -0
  353. package/dest/services/tx_collection/index.d.ts.map +1 -0
  354. package/dest/services/tx_collection/index.js +3 -0
  355. package/dest/services/tx_collection/instrumentation.d.ts +10 -0
  356. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -0
  357. package/dest/services/tx_collection/instrumentation.js +30 -0
  358. package/dest/services/tx_collection/request_tracker.d.ts +53 -0
  359. package/dest/services/tx_collection/request_tracker.d.ts.map +1 -0
  360. package/dest/services/tx_collection/request_tracker.js +84 -0
  361. package/dest/services/tx_collection/tx_collection.d.ts +104 -0
  362. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -0
  363. package/dest/services/tx_collection/tx_collection.js +356 -0
  364. package/dest/services/tx_collection/tx_collection_sink.d.ts +40 -0
  365. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -0
  366. package/dest/services/tx_collection/tx_collection_sink.js +108 -0
  367. package/dest/services/tx_collection/tx_source.d.ts +24 -0
  368. package/dest/services/tx_collection/tx_source.d.ts.map +1 -0
  369. package/dest/services/tx_collection/tx_source.js +50 -0
  370. package/dest/services/tx_file_store/config.d.ts +16 -0
  371. package/dest/services/tx_file_store/config.d.ts.map +1 -0
  372. package/dest/services/tx_file_store/config.js +22 -0
  373. package/dest/services/tx_file_store/index.d.ts +4 -0
  374. package/dest/services/tx_file_store/index.d.ts.map +1 -0
  375. package/dest/services/tx_file_store/index.js +3 -0
  376. package/dest/services/tx_file_store/instrumentation.d.ts +15 -0
  377. package/dest/services/tx_file_store/instrumentation.d.ts.map +1 -0
  378. package/dest/services/tx_file_store/instrumentation.js +29 -0
  379. package/dest/services/tx_file_store/tx_file_store.d.ts +46 -0
  380. package/dest/services/tx_file_store/tx_file_store.d.ts.map +1 -0
  381. package/dest/services/tx_file_store/tx_file_store.js +142 -0
  382. package/dest/services/tx_provider.d.ts +53 -0
  383. package/dest/services/tx_provider.d.ts.map +1 -0
  384. package/dest/services/tx_provider.js +223 -0
  385. package/dest/services/tx_provider_instrumentation.d.ts +16 -0
  386. package/dest/services/tx_provider_instrumentation.d.ts.map +1 -0
  387. package/dest/services/tx_provider_instrumentation.js +34 -0
  388. package/dest/test-helpers/generate-peer-id-private-keys.d.ts +1 -1
  389. package/dest/test-helpers/get-ports.d.ts +1 -1
  390. package/dest/test-helpers/get-ports.d.ts.map +1 -1
  391. package/dest/test-helpers/index.d.ts +4 -1
  392. package/dest/test-helpers/index.d.ts.map +1 -1
  393. package/dest/test-helpers/index.js +3 -0
  394. package/dest/test-helpers/make-enrs.d.ts +1 -1
  395. package/dest/test-helpers/make-enrs.d.ts.map +1 -1
  396. package/dest/test-helpers/make-enrs.js +4 -5
  397. package/dest/test-helpers/make-test-p2p-clients.d.ts +35 -8
  398. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  399. package/dest/test-helpers/make-test-p2p-clients.js +89 -17
  400. package/dest/test-helpers/mock-pubsub.d.ts +99 -0
  401. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -0
  402. package/dest/test-helpers/mock-pubsub.js +231 -0
  403. package/dest/test-helpers/mock-tx-helpers.d.ts +12 -0
  404. package/dest/test-helpers/mock-tx-helpers.d.ts.map +1 -0
  405. package/dest/test-helpers/mock-tx-helpers.js +19 -0
  406. package/dest/test-helpers/reqresp-nodes.d.ts +17 -15
  407. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  408. package/dest/test-helpers/reqresp-nodes.js +73 -40
  409. package/dest/test-helpers/test_tx_provider.d.ts +42 -0
  410. package/dest/test-helpers/test_tx_provider.d.ts.map +1 -0
  411. package/dest/test-helpers/test_tx_provider.js +44 -0
  412. package/dest/test-helpers/testbench-utils.d.ts +161 -0
  413. package/dest/test-helpers/testbench-utils.d.ts.map +1 -0
  414. package/dest/test-helpers/testbench-utils.js +391 -0
  415. package/dest/testbench/p2p_client_testbench_worker.d.ts +26 -2
  416. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  417. package/dest/testbench/p2p_client_testbench_worker.js +310 -95
  418. package/dest/testbench/parse_log_file.d.ts +1 -1
  419. package/dest/testbench/parse_log_file.js +4 -4
  420. package/dest/testbench/testbench.d.ts +1 -1
  421. package/dest/testbench/testbench.js +4 -4
  422. package/dest/testbench/worker_client_manager.d.ts +57 -11
  423. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  424. package/dest/testbench/worker_client_manager.js +283 -58
  425. package/dest/types/index.d.ts +4 -2
  426. package/dest/types/index.d.ts.map +1 -1
  427. package/dest/types/index.js +2 -0
  428. package/dest/util.d.ts +33 -20
  429. package/dest/util.d.ts.map +1 -1
  430. package/dest/util.js +98 -71
  431. package/dest/versioning.d.ts +6 -9
  432. package/dest/versioning.d.ts.map +1 -1
  433. package/dest/versioning.js +9 -25
  434. package/package.json +33 -27
  435. package/src/bootstrap/bootstrap.ts +42 -15
  436. package/src/client/factory.ts +242 -60
  437. package/src/client/index.ts +1 -0
  438. package/src/client/interface.ts +239 -0
  439. package/src/client/p2p_client.ts +527 -460
  440. package/src/client/test/p2p_client.batch_tx_requester.bench.README.md +197 -0
  441. package/src/config.ts +518 -127
  442. package/src/enr/generate-enr.ts +39 -6
  443. package/src/errors/attestation-pool.error.ts +13 -0
  444. package/src/errors/p2p-service.error.ts +11 -0
  445. package/src/errors/reqresp.error.ts +0 -25
  446. package/src/errors/tx-pool.error.ts +12 -0
  447. package/src/index.ts +5 -1
  448. package/src/mem_pools/attestation_pool/attestation_pool.ts +605 -29
  449. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +828 -201
  450. package/src/mem_pools/attestation_pool/index.ts +9 -2
  451. package/src/mem_pools/attestation_pool/mocks.ts +32 -19
  452. package/src/mem_pools/index.ts +2 -2
  453. package/src/mem_pools/instrumentation.ts +79 -47
  454. package/src/mem_pools/interface.ts +5 -7
  455. package/src/mem_pools/tx_pool_v2/README.md +283 -0
  456. package/src/mem_pools/tx_pool_v2/archive/index.ts +1 -0
  457. package/src/mem_pools/tx_pool_v2/archive/tx_archive.ts +112 -0
  458. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +321 -0
  459. package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +160 -0
  460. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +122 -0
  461. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +125 -0
  462. package/src/mem_pools/tx_pool_v2/eviction/index.ts +28 -0
  463. package/src/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.ts +65 -0
  464. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +219 -0
  465. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +74 -0
  466. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +101 -0
  467. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +91 -0
  468. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +99 -0
  469. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +32 -0
  470. package/src/mem_pools/tx_pool_v2/index.ts +12 -0
  471. package/src/mem_pools/tx_pool_v2/instrumentation.ts +69 -0
  472. package/src/mem_pools/tx_pool_v2/interfaces.ts +250 -0
  473. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +349 -0
  474. package/src/mem_pools/tx_pool_v2/tx_pool_bench_metrics.ts +77 -0
  475. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +430 -0
  476. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +238 -0
  477. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +1090 -0
  478. package/src/msg_validators/attestation_validator/README.md +49 -0
  479. package/src/msg_validators/attestation_validator/attestation_validator.ts +105 -15
  480. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +101 -0
  481. package/src/msg_validators/attestation_validator/index.ts +1 -0
  482. package/src/msg_validators/clock_tolerance.ts +121 -0
  483. package/src/msg_validators/index.ts +1 -1
  484. package/src/msg_validators/msg_seen_validator/msg_seen_validator.ts +36 -0
  485. package/src/msg_validators/proposal_validator/README.md +123 -0
  486. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +30 -0
  487. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +41 -0
  488. package/src/msg_validators/proposal_validator/index.ts +3 -0
  489. package/src/msg_validators/proposal_validator/proposal_validator.ts +159 -0
  490. package/src/msg_validators/tx_validator/README.md +127 -0
  491. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +8 -17
  492. package/src/msg_validators/tx_validator/allowed_public_setup.ts +30 -0
  493. package/src/msg_validators/tx_validator/allowed_setup_helpers.ts +31 -0
  494. package/src/msg_validators/tx_validator/archive_cache.ts +28 -0
  495. package/src/msg_validators/tx_validator/block_header_validator.ts +23 -10
  496. package/src/msg_validators/tx_validator/cached_tx_validator.ts +31 -0
  497. package/src/msg_validators/tx_validator/contract_instance_validator.ts +56 -0
  498. package/src/msg_validators/tx_validator/data_validator.ts +138 -71
  499. package/src/msg_validators/tx_validator/double_spend_validator.ts +31 -23
  500. package/src/msg_validators/tx_validator/factory.ts +478 -0
  501. package/src/msg_validators/tx_validator/fee_payer_balance.ts +44 -0
  502. package/src/msg_validators/tx_validator/gas_validator.ts +268 -0
  503. package/src/msg_validators/tx_validator/index.ts +12 -0
  504. package/src/msg_validators/tx_validator/metadata_validator.ts +80 -24
  505. package/src/msg_validators/tx_validator/nullifier_cache.ts +30 -0
  506. package/src/msg_validators/tx_validator/phases_validator.ts +173 -0
  507. package/src/msg_validators/tx_validator/size_validator.ts +22 -0
  508. package/src/msg_validators/tx_validator/test_utils.ts +43 -0
  509. package/src/msg_validators/tx_validator/timestamp_validator.ts +57 -0
  510. package/src/msg_validators/tx_validator/tx_permitted_validator.ts +22 -0
  511. package/src/msg_validators/tx_validator/tx_proof_validator.ts +16 -8
  512. package/src/msg_validators/tx_validator/tx_validation_cache.ts +101 -0
  513. package/src/services/data_store.ts +14 -19
  514. package/src/services/discv5/discV5_service.ts +118 -39
  515. package/src/services/dummy_service.ts +196 -20
  516. package/src/services/encoding.ts +95 -11
  517. package/src/services/gossipsub/README.md +641 -0
  518. package/src/services/gossipsub/index.ts +2 -0
  519. package/src/services/gossipsub/scoring.ts +29 -5
  520. package/src/services/gossipsub/topic_score_params.ts +519 -0
  521. package/src/services/index.ts +5 -0
  522. package/src/services/libp2p/instrumentation.ts +140 -0
  523. package/src/services/libp2p/libp2p_service.ts +1373 -438
  524. package/src/services/peer-manager/interface.ts +29 -0
  525. package/src/services/peer-manager/metrics.ts +62 -12
  526. package/src/services/peer-manager/peer_manager.ts +695 -83
  527. package/src/services/peer-manager/peer_scoring.ts +96 -7
  528. package/src/services/reqresp/README.md +215 -0
  529. package/src/services/reqresp/batch-tx-requester/README.md +344 -0
  530. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +660 -0
  531. package/src/services/reqresp/batch-tx-requester/config.ts +40 -0
  532. package/src/services/reqresp/batch-tx-requester/interface.ts +61 -0
  533. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +168 -0
  534. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +249 -0
  535. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +24 -0
  536. package/src/services/reqresp/config.ts +27 -10
  537. package/src/services/reqresp/connection-sampler/connection_sampler.ts +166 -95
  538. package/src/services/reqresp/constants.ts +14 -0
  539. package/src/services/reqresp/index.ts +2 -0
  540. package/src/services/reqresp/interface.ts +116 -59
  541. package/src/services/reqresp/metrics.ts +39 -28
  542. package/src/services/reqresp/protocols/auth.ts +83 -0
  543. package/src/services/reqresp/protocols/block_txs/bitvector.ts +107 -0
  544. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +80 -0
  545. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +171 -0
  546. package/src/services/reqresp/protocols/block_txs/index.ts +3 -0
  547. package/src/services/reqresp/protocols/goodbye.ts +9 -7
  548. package/src/services/reqresp/protocols/index.ts +2 -1
  549. package/src/services/reqresp/protocols/status.ts +121 -5
  550. package/src/services/reqresp/protocols/tx.ts +56 -8
  551. package/src/services/reqresp/rate-limiter/rate_limiter.ts +25 -12
  552. package/src/services/reqresp/rate-limiter/rate_limits.ts +16 -6
  553. package/src/services/reqresp/reqresp.ts +397 -422
  554. package/src/services/reqresp/status.ts +12 -3
  555. package/src/services/service.ts +104 -28
  556. package/src/services/tx_collection/config.ts +89 -0
  557. package/src/services/tx_collection/file_store_tx_collection.ts +153 -0
  558. package/src/services/tx_collection/file_store_tx_source.ts +129 -0
  559. package/src/services/tx_collection/index.ts +3 -0
  560. package/src/services/tx_collection/instrumentation.ts +35 -0
  561. package/src/services/tx_collection/request_tracker.ts +127 -0
  562. package/src/services/tx_collection/tx_collection.ts +468 -0
  563. package/src/services/tx_collection/tx_collection_sink.ts +125 -0
  564. package/src/services/tx_collection/tx_source.ts +57 -0
  565. package/src/services/tx_file_store/config.ts +37 -0
  566. package/src/services/tx_file_store/index.ts +3 -0
  567. package/src/services/tx_file_store/instrumentation.ts +36 -0
  568. package/src/services/tx_file_store/tx_file_store.ts +163 -0
  569. package/src/services/tx_provider.ts +238 -0
  570. package/src/services/tx_provider_instrumentation.ts +54 -0
  571. package/src/test-helpers/index.ts +3 -0
  572. package/src/test-helpers/make-enrs.ts +4 -5
  573. package/src/test-helpers/make-test-p2p-clients.ts +117 -26
  574. package/src/test-helpers/mock-pubsub.ts +311 -0
  575. package/src/test-helpers/mock-tx-helpers.ts +24 -0
  576. package/src/test-helpers/reqresp-nodes.ts +101 -62
  577. package/src/test-helpers/test_tx_provider.ts +69 -0
  578. package/src/test-helpers/testbench-utils.ts +453 -0
  579. package/src/testbench/p2p_client_testbench_worker.ts +477 -95
  580. package/src/testbench/parse_log_file.ts +4 -4
  581. package/src/testbench/testbench.ts +4 -4
  582. package/src/testbench/worker_client_manager.ts +366 -63
  583. package/src/types/index.ts +2 -0
  584. package/src/util.ts +128 -93
  585. package/src/versioning.ts +11 -34
  586. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +0 -22
  587. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +0 -1
  588. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +0 -112
  589. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +0 -17
  590. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +0 -1
  591. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +0 -129
  592. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +0 -66
  593. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +0 -1
  594. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +0 -245
  595. package/dest/mem_pools/tx_pool/index.d.ts +0 -4
  596. package/dest/mem_pools/tx_pool/index.d.ts.map +0 -1
  597. package/dest/mem_pools/tx_pool/index.js +0 -3
  598. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +0 -56
  599. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +0 -1
  600. package/dest/mem_pools/tx_pool/memory_tx_pool.js +0 -141
  601. package/dest/mem_pools/tx_pool/priority.d.ts +0 -8
  602. package/dest/mem_pools/tx_pool/priority.d.ts.map +0 -1
  603. package/dest/mem_pools/tx_pool/priority.js +0 -10
  604. package/dest/mem_pools/tx_pool/tx_pool.d.ts +0 -66
  605. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +0 -1
  606. package/dest/mem_pools/tx_pool/tx_pool.js +0 -3
  607. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +0 -7
  608. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +0 -1
  609. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +0 -169
  610. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +0 -8
  611. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +0 -1
  612. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +0 -21
  613. package/dest/msg_validators/block_proposal_validator/index.d.ts +0 -2
  614. package/dest/msg_validators/block_proposal_validator/index.d.ts.map +0 -1
  615. package/dest/msg_validators/block_proposal_validator/index.js +0 -1
  616. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +0 -45
  617. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +0 -1
  618. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +0 -88
  619. package/dest/services/reqresp/protocols/block.d.ts +0 -4
  620. package/dest/services/reqresp/protocols/block.d.ts.map +0 -1
  621. package/dest/services/reqresp/protocols/block.js +0 -8
  622. package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +0 -159
  623. package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +0 -161
  624. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +0 -309
  625. package/src/mem_pools/tx_pool/index.ts +0 -3
  626. package/src/mem_pools/tx_pool/memory_tx_pool.ts +0 -174
  627. package/src/mem_pools/tx_pool/priority.ts +0 -13
  628. package/src/mem_pools/tx_pool/tx_pool.ts +0 -76
  629. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +0 -130
  630. package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +0 -29
  631. package/src/msg_validators/block_proposal_validator/index.ts +0 -1
  632. package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +0 -94
  633. package/src/services/reqresp/protocols/block.ts +0 -15
@@ -1,44 +1,52 @@
1
- import { Fr } from '@aztec/foundation/fields';
2
- import { L2Block } from '@aztec/stdlib/block';
3
- import { Tx, TxHash } from '@aztec/stdlib/tx';
1
+ import { TxArray, TxHashArray } from '@aztec/stdlib/tx';
2
+ import { AuthRequest, AuthResponse } from './protocols/auth.js';
3
+ import { BlockTxsRequest, BlockTxsResponse, calculateBlockTxsResponseSize } from './protocols/block_txs/block_txs_reqresp.js';
4
+ import { StatusMessage } from './protocols/status.js';
5
+ import { calculateTxResponseSize } from './protocols/tx.js';
4
6
  /*
5
7
  * Request Response Sub Protocols
6
- */ export const PING_PROTOCOL = '/aztec/req/ping/0.1.0';
7
- export const STATUS_PROTOCOL = '/aztec/req/status/0.1.0';
8
- export const GOODBYE_PROTOCOL = '/aztec/req/goodbye/0.1.0';
9
- export const TX_REQ_PROTOCOL = '/aztec/req/tx/0.1.0';
10
- export const BLOCK_REQ_PROTOCOL = '/aztec/req/block/0.1.0';
8
+ */ export const PING_PROTOCOL = '/aztec/req/ping/1.0.0';
9
+ export const STATUS_PROTOCOL = '/aztec/req/status/1.0.0';
10
+ export const GOODBYE_PROTOCOL = '/aztec/req/goodbye/1.0.0';
11
+ export const TX_REQ_PROTOCOL = '/aztec/req/tx/1.0.0';
12
+ export const AUTH_PROTOCOL = '/aztec/req/auth/1.0.0';
13
+ export const BLOCK_TXS_REQ_PROTOCOL = '/aztec/req/block_txs/1.0.0';
11
14
  export var ReqRespSubProtocol = /*#__PURE__*/ function(ReqRespSubProtocol) {
12
15
  ReqRespSubProtocol[ReqRespSubProtocol["PING"] = PING_PROTOCOL] = "PING";
13
16
  ReqRespSubProtocol[ReqRespSubProtocol["STATUS"] = STATUS_PROTOCOL] = "STATUS";
14
17
  ReqRespSubProtocol[ReqRespSubProtocol["GOODBYE"] = GOODBYE_PROTOCOL] = "GOODBYE";
15
18
  ReqRespSubProtocol[ReqRespSubProtocol["TX"] = TX_REQ_PROTOCOL] = "TX";
16
- ReqRespSubProtocol[ReqRespSubProtocol["BLOCK"] = BLOCK_REQ_PROTOCOL] = "BLOCK";
19
+ ReqRespSubProtocol[ReqRespSubProtocol["AUTH"] = AUTH_PROTOCOL] = "AUTH";
20
+ ReqRespSubProtocol[ReqRespSubProtocol["BLOCK_TXS"] = BLOCK_TXS_REQ_PROTOCOL] = "BLOCK_TXS";
17
21
  return ReqRespSubProtocol;
18
22
  }({});
19
- export const noopValidator = ()=>Promise.resolve(true);
20
- export const DEFAULT_SUB_PROTOCOL_VALIDATORS = {
21
- [ReqRespSubProtocol.PING]: noopValidator,
22
- [ReqRespSubProtocol.STATUS]: noopValidator,
23
- [ReqRespSubProtocol.TX]: noopValidator,
24
- [ReqRespSubProtocol.GOODBYE]: noopValidator,
25
- [ReqRespSubProtocol.BLOCK]: noopValidator
26
- };
27
- /**
28
- * Default handler for unimplemented sub protocols, this SHOULD be overwritten
29
- * by the service, but is provided as a fallback
30
- */ const defaultHandler = (_msg)=>{
31
- return Promise.resolve(Buffer.from('unimplemented'));
32
- };
33
23
  /**
34
- * Default sub protocol handlers - this SHOULD be overwritten by the service,
35
- */ export const DEFAULT_SUB_PROTOCOL_HANDLERS = {
36
- [ReqRespSubProtocol.PING]: defaultHandler,
37
- [ReqRespSubProtocol.STATUS]: defaultHandler,
38
- [ReqRespSubProtocol.TX]: defaultHandler,
39
- [ReqRespSubProtocol.GOODBYE]: defaultHandler,
40
- [ReqRespSubProtocol.BLOCK]: defaultHandler
41
- };
24
+ * Protocols that are always allowed without authentication, even when p2pAllowOnlyValidators is enabled.
25
+ * These are needed for the handshake and connection management flow.
26
+ * All other protocols require the remote peer to be authenticated.
27
+ */ export const UNAUTHENTICATED_ALLOWED_PROTOCOLS = new Set([
28
+ ReqRespSubProtocol.PING,
29
+ ReqRespSubProtocol.STATUS,
30
+ ReqRespSubProtocol.AUTH,
31
+ ReqRespSubProtocol.GOODBYE
32
+ ]);
33
+ /*
34
+ * Helper class to sub-protocol validation error*/ export class ValidationError extends Error {
35
+ constructor(message){
36
+ super(message);
37
+ }
38
+ }
39
+ /*
40
+ * Small helper function which parses buffer into specific response type
41
+ * It is needed to make TypeScript happy, as it cannot infer the type from the buffer
42
+ *
43
+ * @param proto - The sub protocol to parse the response for
44
+ * @param buffer - The buffer to parse
45
+ *
46
+ * @returns - The parsed response object
47
+ * */ export function responseFromBuffer(proto, buffer) {
48
+ return subProtocolMap[proto].response.fromBuffer(buffer);
49
+ }
42
50
  /**
43
51
  * RequestableBuffer is a wrapper around a buffer that allows it to be
44
52
  * used in generic request response protocols
@@ -66,19 +74,34 @@ export const DEFAULT_SUB_PROTOCOL_VALIDATORS = {
66
74
  response: RequestableBuffer
67
75
  },
68
76
  [ReqRespSubProtocol.STATUS]: {
69
- request: RequestableBuffer,
70
- response: RequestableBuffer
77
+ request: StatusMessage,
78
+ response: StatusMessage
71
79
  },
72
80
  [ReqRespSubProtocol.TX]: {
73
- request: TxHash,
74
- response: Tx
81
+ request: TxHashArray,
82
+ response: TxArray
75
83
  },
76
84
  [ReqRespSubProtocol.GOODBYE]: {
77
85
  request: RequestableBuffer,
78
86
  response: RequestableBuffer
79
87
  },
80
- [ReqRespSubProtocol.BLOCK]: {
81
- request: Fr,
82
- response: L2Block
88
+ [ReqRespSubProtocol.AUTH]: {
89
+ request: AuthRequest,
90
+ response: AuthResponse
91
+ },
92
+ [ReqRespSubProtocol.BLOCK_TXS]: {
93
+ request: BlockTxsRequest,
94
+ response: BlockTxsResponse
83
95
  }
84
96
  };
97
+ /**
98
+ * Map of sub-protocols to their expected response size calculators.
99
+ * These are used to validate that responses don't exceed expected sizes based on request parameters.
100
+ */ export const subProtocolSizeCalculators = {
101
+ [ReqRespSubProtocol.TX]: calculateTxResponseSize,
102
+ [ReqRespSubProtocol.BLOCK_TXS]: calculateBlockTxsResponseSize,
103
+ [ReqRespSubProtocol.STATUS]: ()=>1,
104
+ [ReqRespSubProtocol.PING]: ()=>1,
105
+ [ReqRespSubProtocol.AUTH]: ()=>1,
106
+ [ReqRespSubProtocol.GOODBYE]: ()=>1
107
+ };
@@ -1,4 +1,5 @@
1
1
  import type { TelemetryClient, Tracer } from '@aztec/telemetry-client';
2
+ import { ReqRespSubProtocol } from './interface.js';
2
3
  export declare class ReqRespMetrics {
3
4
  readonly telemetryClient: TelemetryClient;
4
5
  readonly tracer: Tracer;
@@ -7,9 +8,9 @@ export declare class ReqRespMetrics {
7
8
  private readonly failedOutboundRequests;
8
9
  private readonly failedInboundRequests;
9
10
  constructor(telemetryClient: TelemetryClient, name?: string);
10
- recordRequestSent(protocol: string): void;
11
- recordRequestReceived(protocol: string): void;
12
- recordRequestError(protocol: string): void;
13
- recordResponseError(protocol: string): void;
11
+ recordRequestSent(protocol: ReqRespSubProtocol): void;
12
+ recordRequestReceived(protocol: ReqRespSubProtocol): void;
13
+ recordRequestError(protocol: ReqRespSubProtocol): void;
14
+ recordResponseError(protocol: ReqRespSubProtocol): void;
14
15
  }
15
- //# sourceMappingURL=metrics.d.ts.map
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3JlcXJlc3AvbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBRXRGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBELHFCQUFhLGNBQWM7SUFVdkIsUUFBUSxDQUFDLGVBQWUsRUFBRSxlQUFlO0lBVDNDLFNBQWdCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFL0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQWdCO0lBQzdDLE9BQU8sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQWdCO0lBRWpELE9BQU8sQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQWdCO0lBQ3ZELE9BQU8sQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQWdCO0lBRXRELFlBQ1csZUFBZSxFQUFFLGVBQWUsRUFDekMsSUFBSSxTQUFZLEVBaUNqQjtJQUVNLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxrQkFBa0IsUUFFcEQ7SUFFTSxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLFFBRXhEO0lBRU0sa0JBQWtCLENBQUMsUUFBUSxFQUFFLGtCQUFrQixRQUVyRDtJQUVNLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxrQkFBa0IsUUFFdEQ7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/metrics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAiB,MAAM,yBAAyB,CAAC;AAEtF,qBAAa,cAAc;IASb,QAAQ,CAAC,eAAe,EAAE,eAAe;IARrD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IAEjD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAgB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAgB;gBAEjC,eAAe,EAAE,eAAe,EAAE,IAAI,SAAY;IA4BhE,iBAAiB,CAAC,QAAQ,EAAE,MAAM;IAIlC,qBAAqB,CAAC,QAAQ,EAAE,MAAM;IAItC,kBAAkB,CAAC,QAAQ,EAAE,MAAM;IAInC,mBAAmB,CAAC,QAAQ,EAAE,MAAM;CAG5C"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/services/reqresp/metrics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAiB,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,qBAAa,cAAc;IAUvB,QAAQ,CAAC,eAAe,EAAE,eAAe;IAT3C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IAEjD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAgB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAgB;IAEtD,YACW,eAAe,EAAE,eAAe,EACzC,IAAI,SAAY,EAiCjB;IAEM,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,QAEpD;IAEM,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,QAExD;IAEM,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,QAErD;IAEM,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,QAEtD;CACF"}
@@ -1,5 +1,6 @@
1
1
  // Request response metrics
2
- import { Attributes, Metrics, ValueType } from '@aztec/telemetry-client';
2
+ import { Attributes, Metrics, createUpDownCounterWithDefault } from '@aztec/telemetry-client';
3
+ import { ReqRespSubProtocol } from './interface.js';
3
4
  export class ReqRespMetrics {
4
5
  telemetryClient;
5
6
  tracer;
@@ -11,26 +12,20 @@ export class ReqRespMetrics {
11
12
  this.telemetryClient = telemetryClient;
12
13
  this.tracer = telemetryClient.getTracer(name);
13
14
  const meter = telemetryClient.getMeter(name);
14
- this.sentRequests = meter.createUpDownCounter(Metrics.P2P_REQ_RESP_SENT_REQUESTS, {
15
- description: 'Number of requests sent to peers',
16
- unit: 'requests',
17
- valueType: ValueType.INT
18
- });
19
- this.receivedRequests = meter.createUpDownCounter(Metrics.P2P_REQ_RESP_RECEIVED_REQUESTS, {
20
- description: 'Number of requests received from peers',
21
- unit: 'requests',
22
- valueType: ValueType.INT
23
- });
24
- this.failedOutboundRequests = meter.createUpDownCounter(Metrics.P2P_REQ_RESP_FAILED_OUTBOUND_REQUESTS, {
25
- description: 'Number of failed outbound requests - nodes not getting valid responses',
26
- unit: 'requests',
27
- valueType: ValueType.INT
28
- });
29
- this.failedInboundRequests = meter.createUpDownCounter(Metrics.P2P_REQ_RESP_FAILED_INBOUND_REQUESTS, {
30
- description: 'Number of failed inbound requests - node failing to respond to requests',
31
- unit: 'requests',
32
- valueType: ValueType.INT
33
- });
15
+ const protocolAttrs = {
16
+ [Attributes.P2P_REQ_RESP_PROTOCOL]: [
17
+ ReqRespSubProtocol.PING,
18
+ ReqRespSubProtocol.STATUS,
19
+ ReqRespSubProtocol.GOODBYE,
20
+ ReqRespSubProtocol.TX,
21
+ ReqRespSubProtocol.AUTH,
22
+ ReqRespSubProtocol.BLOCK_TXS
23
+ ]
24
+ };
25
+ this.sentRequests = createUpDownCounterWithDefault(meter, Metrics.P2P_REQ_RESP_SENT_REQUESTS, protocolAttrs);
26
+ this.receivedRequests = createUpDownCounterWithDefault(meter, Metrics.P2P_REQ_RESP_RECEIVED_REQUESTS, protocolAttrs);
27
+ this.failedOutboundRequests = createUpDownCounterWithDefault(meter, Metrics.P2P_REQ_RESP_FAILED_OUTBOUND_REQUESTS, protocolAttrs);
28
+ this.failedInboundRequests = createUpDownCounterWithDefault(meter, Metrics.P2P_REQ_RESP_FAILED_INBOUND_REQUESTS, protocolAttrs);
34
29
  }
35
30
  recordRequestSent(protocol) {
36
31
  this.sentRequests.add(1, {
@@ -0,0 +1,43 @@
1
+ import { Buffer32 } from '@aztec/foundation/buffer';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { Signature } from '@aztec/foundation/eth-signature';
4
+ import { BufferReader } from '@aztec/foundation/serialize';
5
+ import { StatusMessage } from './status.js';
6
+ export declare const VALIDATOR_AUTH_DOMAIN_SEPARATOR = "Aztec Validator Challenge:";
7
+ export declare const VALIDATOR_AUTH_FULL_CHALLENGE_ENCODED_LENGTH: number;
8
+ export declare class AuthRequest {
9
+ readonly status: StatusMessage;
10
+ readonly challenge: Fr;
11
+ constructor(status: StatusMessage, challenge: Fr);
12
+ /**
13
+ * Deserializes the AuthRequest object from a Buffer.
14
+ * @param buffer - Buffer or BufferReader object to deserialize.
15
+ * @returns An instance of StatusMessage.
16
+ */
17
+ static fromBuffer(buffer: Buffer | BufferReader): AuthRequest;
18
+ /**
19
+ * Serializes the AuthRequest object into a Buffer.
20
+ * @returns Buffer representation of the StatusMessage object.
21
+ */
22
+ toBuffer(): Buffer<ArrayBufferLike>;
23
+ getPayloadToSign(): Buffer32;
24
+ static random(): AuthRequest;
25
+ }
26
+ export declare class AuthResponse {
27
+ readonly status: StatusMessage;
28
+ readonly signature: Signature;
29
+ constructor(status: StatusMessage, signature: Signature);
30
+ /**
31
+ * Deserializes the AuthResponse object from a Buffer.
32
+ * @param buffer - Buffer or BufferReader object to deserialize.
33
+ * @returns An instance of StatusMessage.
34
+ */
35
+ static fromBuffer(buffer: Buffer | BufferReader): AuthResponse;
36
+ /**
37
+ * Serializes the AuthRequest object into a Buffer.
38
+ * @returns Buffer representation of the StatusMessage object.
39
+ */
40
+ toBuffer(): Buffer<ArrayBufferLike>;
41
+ static random(): AuthResponse;
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3JlcXJlc3AvcHJvdG9jb2xzL2F1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXBELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLGVBQU8sTUFBTSwrQkFBK0IsK0JBQStCLENBQUM7QUFDNUUsZUFBTyxNQUFNLDRDQUE0QyxRQUNlLENBQUM7QUFNekUscUJBQWEsV0FBVztJQUVwQixRQUFRLENBQUMsTUFBTSxFQUFFLGFBQWE7SUFDOUIsUUFBUSxDQUFDLFNBQVMsRUFBRSxFQUFFO0lBRnhCLFlBQ1csTUFBTSxFQUFFLGFBQWEsRUFDckIsU0FBUyxFQUFFLEVBQUUsRUFDcEI7SUFFSjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxXQUFXLENBTTVEO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSw0QkFFUDtJQUVELGdCQUFnQixJQUFJLFFBQVEsQ0FHM0I7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLFdBQVcsQ0FFM0I7Q0FDRjtBQUVELHFCQUFhLFlBQVk7SUFFckIsUUFBUSxDQUFDLE1BQU0sRUFBRSxhQUFhO0lBQzlCLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUztJQUYvQixZQUNXLE1BQU0sRUFBRSxhQUFhLEVBQ3JCLFNBQVMsRUFBRSxTQUFTLEVBQzNCO0lBQ0o7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsWUFBWSxDQU03RDtJQUVEOzs7T0FHRztJQUNILFFBQVEsNEJBRVA7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FFNUI7Q0FDRiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,+BAA+B,+BAA+B,CAAC;AAC5E,eAAO,MAAM,4CAA4C,QACe,CAAC;AAMzE,qBAAa,WAAW;IAEpB,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,QAAQ,CAAC,SAAS,EAAE,EAAE;IAFxB,YACW,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,EAAE,EACpB;IAEJ;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAM5D;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED,gBAAgB,IAAI,QAAQ,CAG3B;IAED,MAAM,CAAC,MAAM,IAAI,WAAW,CAE3B;CACF;AAED,qBAAa,YAAY;IAErB,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAF/B,YACW,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,SAAS,EAC3B;IACJ;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,CAM7D;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED,MAAM,CAAC,MAAM,IAAI,YAAY,CAE5B;CACF"}
@@ -0,0 +1,71 @@
1
+ import { Buffer32 } from '@aztec/foundation/buffer';
2
+ import { keccak256 } from '@aztec/foundation/crypto/keccak';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
+ import { Signature } from '@aztec/foundation/eth-signature';
5
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
6
+ import { StatusMessage } from './status.js';
7
+ export const VALIDATOR_AUTH_DOMAIN_SEPARATOR = 'Aztec Validator Challenge:';
8
+ export const VALIDATOR_AUTH_FULL_CHALLENGE_ENCODED_LENGTH = VALIDATOR_AUTH_DOMAIN_SEPARATOR.length + Fr.random().toString().length;
9
+ /*
10
+ * P2P Auth Message
11
+ * Superset of the StatusMessage, used to establish a handshake between peers and authenticate them.
12
+ */ export class AuthRequest {
13
+ status;
14
+ challenge;
15
+ constructor(status, challenge){
16
+ this.status = status;
17
+ this.challenge = challenge;
18
+ }
19
+ /**
20
+ * Deserializes the AuthRequest object from a Buffer.
21
+ * @param buffer - Buffer or BufferReader object to deserialize.
22
+ * @returns An instance of StatusMessage.
23
+ */ static fromBuffer(buffer) {
24
+ const reader = BufferReader.asReader(buffer);
25
+ return new AuthRequest(StatusMessage.fromBuffer(reader), Fr.fromBuffer(reader));
26
+ }
27
+ /**
28
+ * Serializes the AuthRequest object into a Buffer.
29
+ * @returns Buffer representation of the StatusMessage object.
30
+ */ toBuffer() {
31
+ return serializeToBuffer([
32
+ this.status,
33
+ this.challenge
34
+ ]);
35
+ }
36
+ getPayloadToSign() {
37
+ const fullChallenge = VALIDATOR_AUTH_DOMAIN_SEPARATOR + this.challenge.toString();
38
+ return Buffer32.fromBuffer(keccak256(Buffer.from(fullChallenge, 'utf-8')));
39
+ }
40
+ static random() {
41
+ return new AuthRequest(StatusMessage.random(), Fr.random());
42
+ }
43
+ }
44
+ export class AuthResponse {
45
+ status;
46
+ signature;
47
+ constructor(status, signature){
48
+ this.status = status;
49
+ this.signature = signature;
50
+ }
51
+ /**
52
+ * Deserializes the AuthResponse object from a Buffer.
53
+ * @param buffer - Buffer or BufferReader object to deserialize.
54
+ * @returns An instance of StatusMessage.
55
+ */ static fromBuffer(buffer) {
56
+ const reader = BufferReader.asReader(buffer);
57
+ return new AuthResponse(StatusMessage.fromBuffer(reader), Signature.fromBuffer(reader));
58
+ }
59
+ /**
60
+ * Serializes the AuthRequest object into a Buffer.
61
+ * @returns Buffer representation of the StatusMessage object.
62
+ */ toBuffer() {
63
+ return serializeToBuffer([
64
+ this.status,
65
+ this.signature
66
+ ]);
67
+ }
68
+ static random() {
69
+ return new AuthResponse(StatusMessage.random(), Signature.random());
70
+ }
71
+ }
@@ -0,0 +1,35 @@
1
+ import { BufferReader } from '@aztec/foundation/serialize';
2
+ /**
3
+ * BitVector helper class for representing and serializing bit vectors
4
+ */
5
+ export declare class BitVector {
6
+ private buffer;
7
+ private length;
8
+ constructor(buffer: Buffer, length: number);
9
+ static init(length: number, indices: number[]): BitVector;
10
+ getLength(): number;
11
+ isSet(index: number): boolean;
12
+ /**
13
+ * Returns all indices which are set to true.
14
+ * Ordered by index. No duplicates.
15
+ */
16
+ getTrueIndices(): number[];
17
+ /**
18
+ * Returns true if no indices are set to true
19
+ * */
20
+ isEmpty(): boolean;
21
+ /**
22
+ * Serializes the BitVector object into a Buffer
23
+ *
24
+ * @returns Buffer representation of the BitVector object
25
+ * */
26
+ toBuffer(): Buffer;
27
+ /**
28
+ * Deserializes buffer into new BitVector
29
+ *
30
+ * @returns A new BitVector instance
31
+ * */
32
+ static fromBuffer(buffer: Buffer | BufferReader): BitVector;
33
+ static byteLength(length: number): number;
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0dmVjdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcmVxcmVzcC9wcm90b2NvbHMvYmxvY2tfdHhzL2JpdHZlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBSTlFOztHQUVHO0FBQ0gscUJBQWEsU0FBUztJQUNwQixPQUFPLENBQUMsTUFBTSxDQUFTO0lBQ3ZCLE9BQU8sQ0FBQyxNQUFNLENBQVM7SUFFdkIsWUFBWSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBR3pDO0lBU0QsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLENBbUJ4RDtJQUVELFNBQVMsSUFBSSxNQUFNLENBRWxCO0lBU0QsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUU1QjtJQUVEOzs7T0FHRztJQUNILGNBQWMsSUFBSSxNQUFNLEVBQUUsQ0FFekI7SUFFRDs7U0FFSztJQUNMLE9BQU8sSUFBSSxPQUFPLENBRWpCO0lBRUQ7Ozs7U0FJSztJQUNMLFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQ7Ozs7U0FJSztJQUNMLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsU0FBUyxDQWExRDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sVUFFL0I7Q0FDRiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitvector.d.ts","sourceRoot":"","sources":["../../../../../src/services/reqresp/protocols/block_txs/bitvector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IAEvB,YAAY,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAGzC;IASD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAmBxD;IAED,SAAS,IAAI,MAAM,CAElB;IASD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5B;IAED;;;OAGG;IACH,cAAc,IAAI,MAAM,EAAE,CAEzB;IAED;;SAEK;IACL,OAAO,IAAI,OAAO,CAEjB;IAED;;;;SAIK;IACL,QAAQ,IAAI,MAAM,CAEjB;IAED;;;;SAIK;IACL,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAa1D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,UAE/B;CACF"}
@@ -0,0 +1,88 @@
1
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
+ import { MAX_TXS_PER_BLOCK } from '../../constants.js';
3
+ /**
4
+ * BitVector helper class for representing and serializing bit vectors
5
+ */ export class BitVector {
6
+ buffer;
7
+ length;
8
+ constructor(buffer, length){
9
+ this.buffer = buffer;
10
+ this.length = length;
11
+ }
12
+ /*
13
+ * Creates new BitVector instance
14
+ * @param length - Length of the bit vector
15
+ * @param indices - Array of indices to set to 1 in the bit vector
16
+ *
17
+ * @returns A new BitVector instance with specified length and set indices
18
+ * */ static init(length, indices) {
19
+ if (indices.length > length) {
20
+ throw new Error('Indices length exceeds specified length');
21
+ }
22
+ const buffer = Buffer.alloc(BitVector.byteLength(length));
23
+ indices.forEach((idx)=>{
24
+ const invalidIndex = idx < 0 || idx >= length;
25
+ if (invalidIndex) {
26
+ throw new Error(`Index ${idx} is out of bounds for BitVector of length ${length}`);
27
+ }
28
+ const byteIndex = Math.floor(idx / 8);
29
+ const bitIndex = idx % 8;
30
+ buffer[byteIndex] |= 1 << bitIndex;
31
+ });
32
+ return new BitVector(buffer, length);
33
+ }
34
+ getLength() {
35
+ return this.length;
36
+ }
37
+ /*
38
+ * Checks if element at index is set to true
39
+ *
40
+ * @param index - Index of the bit to check
41
+ *
42
+ * @returns True if the bit at index is set, false otherwise
43
+ * */ isSet(index) {
44
+ return index >= 0 && index < this.length && !!(this.buffer[Math.floor(index / 8)] & 1 << index % 8);
45
+ }
46
+ /**
47
+ * Returns all indices which are set to true.
48
+ * Ordered by index. No duplicates.
49
+ */ getTrueIndices() {
50
+ return Array.from({
51
+ length: this.length
52
+ }, (_, i)=>i).filter((i)=>this.isSet(i));
53
+ }
54
+ /**
55
+ * Returns true if no indices are set to true
56
+ * */ isEmpty() {
57
+ return this.getTrueIndices().length === 0;
58
+ }
59
+ /**
60
+ * Serializes the BitVector object into a Buffer
61
+ *
62
+ * @returns Buffer representation of the BitVector object
63
+ * */ toBuffer() {
64
+ return serializeToBuffer([
65
+ this.length,
66
+ this.buffer
67
+ ]);
68
+ }
69
+ /**
70
+ * Deserializes buffer into new BitVector
71
+ *
72
+ * @returns A new BitVector instance
73
+ * */ static fromBuffer(buffer) {
74
+ const reader = BufferReader.asReader(buffer);
75
+ const length = reader.readNumber();
76
+ if (length < 0) {
77
+ throw new Error(`BitVector length ${length} cannot be negative`);
78
+ }
79
+ if (length > MAX_TXS_PER_BLOCK) {
80
+ throw new Error(`BitVector length ${length} exceeds maximum ${MAX_TXS_PER_BLOCK}`);
81
+ }
82
+ const bitBuffer = reader.readBytes(BitVector.byteLength(length));
83
+ return new BitVector(bitBuffer, length);
84
+ }
85
+ static byteLength(length) {
86
+ return Math.ceil(length / 8);
87
+ }
88
+ }
@@ -0,0 +1,13 @@
1
+ import type { L2BlockSource } from '@aztec/stdlib/block';
2
+ import type { AttestationPoolApi } from '../../../../mem_pools/attestation_pool/attestation_pool.js';
3
+ import type { TxPoolV2 } from '../../../../mem_pools/tx_pool_v2/interfaces.js';
4
+ import type { ReqRespSubProtocolHandler } from '../../interface.js';
5
+ /**
6
+ * Handler for block txs requests
7
+ * @param attestationPool - the attestation pool to check for block proposals
8
+ * @param archiver - the archiver to look up blocks by archive root
9
+ * @param txPool - the tx pool to fetch transactions from
10
+ * @returns the BlockTxs request handler
11
+ */
12
+ export declare function reqRespBlockTxsHandler(attestationPool: AttestationPoolApi, archiver: L2BlockSource, txPool: TxPoolV2): ReqRespSubProtocolHandler;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfdHhzX2hhbmRsZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yZXFyZXNwL3Byb3RvY29scy9ibG9ja190eHMvYmxvY2tfdHhzX2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLekQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNyRyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS3BFOzs7Ozs7R0FNRztBQUNILHdCQUFnQixzQkFBc0IsQ0FDcEMsZUFBZSxFQUFFLGtCQUFrQixFQUNuQyxRQUFRLEVBQUUsYUFBYSxFQUN2QixNQUFNLEVBQUUsUUFBUSxHQUNmLHlCQUF5QixDQXdEM0IifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_txs_handler.d.ts","sourceRoot":"","sources":["../../../../../src/services/reqresp/protocols/block_txs/block_txs_handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAKpE;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,kBAAkB,EACnC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,QAAQ,GACf,yBAAyB,CAwD3B"}
@@ -0,0 +1,60 @@
1
+ import { TxArray, TxHash } from '@aztec/stdlib/tx';
2
+ import { ReqRespStatus, ReqRespStatusError } from '../../status.js';
3
+ import { BitVector } from './bitvector.js';
4
+ import { BlockTxsRequest, BlockTxsResponse } from './block_txs_reqresp.js';
5
+ /**
6
+ * Handler for block txs requests
7
+ * @param attestationPool - the attestation pool to check for block proposals
8
+ * @param archiver - the archiver to look up blocks by archive root
9
+ * @param txPool - the tx pool to fetch transactions from
10
+ * @returns the BlockTxs request handler
11
+ */ export function reqRespBlockTxsHandler(attestationPool, archiver, txPool) {
12
+ /**
13
+ * Handler for block txs requests
14
+ * @param msg - the block txs request message
15
+ * @returns the block txs response message
16
+ * @throws if msg is not a valid block txs request
17
+ */ return async (_peerId, msg)=>{
18
+ let request;
19
+ try {
20
+ request = BlockTxsRequest.fromBuffer(msg);
21
+ } catch (err) {
22
+ throw new ReqRespStatusError(ReqRespStatus.BADLY_FORMED_REQUEST, {
23
+ cause: err
24
+ });
25
+ }
26
+ // In principle assume we haven't found the block. This is how that is signaled to the requester.
27
+ let availableIndicesBitVector = BitVector.init(0, []);
28
+ // We always try to service the explicitly requested tx hashes, even if we don't have the block.
29
+ const requestedTxsHashes = new Set(request.txHashes.map((h)=>h.toString()));
30
+ // First try attestation pool, then fall back to archiver.
31
+ let blockTxHashes = (await attestationPool.getBlockProposalByArchive(request.archiveRoot.toString()))?.txHashes;
32
+ if (!blockTxHashes) {
33
+ blockTxHashes = (await archiver.getBlock({
34
+ archive: request.archiveRoot
35
+ }))?.body.txEffects.map((effect)=>effect.txHash);
36
+ }
37
+ // If we have found the block,
38
+ if (blockTxHashes) {
39
+ // First confirm that we are talking about the same block (up to tx hashes and order).
40
+ // If we are not, then we can't:
41
+ // 1. Use the indices from the request to get the txs from the pool.
42
+ // 2. Respond to the peer with the txs we have using indices.
43
+ const blockTxHashesCommitment = BlockTxsRequest.computeBlockTxHashesCommitment(blockTxHashes);
44
+ if (blockTxHashesCommitment.equals(request.blockTxHashesCommitment)) {
45
+ // In that case, we can also get the available indices from the pool.
46
+ const txsAvailableInPool = await txPool.hasTxs(blockTxHashes);
47
+ // Map txs in the pool to their indices in the block
48
+ const availableIndices = txsAvailableInPool.map((hasTx, idx)=>hasTx ? idx : -1).filter((idx)=>idx !== -1);
49
+ availableIndicesBitVector = BitVector.init(blockTxHashes.length, availableIndices);
50
+ // We add the requested tx hashes (by index) to the list of tx hashes we are sending to the peer.
51
+ const requestedIndices = new Set(request.txIndices.getTrueIndices());
52
+ blockTxHashes.filter((_, idx)=>requestedIndices.has(idx)).forEach((h)=>requestedTxsHashes.add(h.toString()));
53
+ }
54
+ }
55
+ // Finally, get the txs from the pool and create the response.
56
+ const responseTxs = (await txPool.getTxsByHash(Array.from(requestedTxsHashes).map((h)=>TxHash.fromString(h)))).filter((tx)=>!!tx);
57
+ const response = new BlockTxsResponse(new TxArray(...responseTxs), availableIndicesBitVector);
58
+ return response.toBuffer();
59
+ };
60
+ }
@@ -0,0 +1,75 @@
1
+ import { Buffer32 } from '@aztec/foundation/buffer';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { BufferReader } from '@aztec/foundation/serialize';
4
+ import { TxArray, type TxHash, TxHashArray } from '@aztec/stdlib/tx';
5
+ import { BitVector } from './bitvector.js';
6
+ /** Minimal interface for a block source that provides tx hashes and an archive root. */
7
+ export interface BlockTxsSource {
8
+ txHashes: TxHash[];
9
+ archive: Fr;
10
+ }
11
+ /**
12
+ * Request message for requesting specific transactions from a block
13
+ */
14
+ export declare class BlockTxsRequest {
15
+ readonly archiveRoot: Fr;
16
+ readonly txIndices: BitVector;
17
+ readonly blockTxHashesCommitment: Buffer32;
18
+ readonly txHashes: TxHashArray;
19
+ constructor(archiveRoot: Fr, txIndices: BitVector, blockTxHashesCommitment: Buffer32, txHashes: TxHashArray);
20
+ static computeBlockTxHashesCommitment(blockTxHashes: TxHash[]): Buffer32;
21
+ /**
22
+ * Creates new BlockTxsRequest given a block txs source and missing tx hashes.
23
+ *
24
+ * @param blockTxsSource - The block or proposal for which we are making the request
25
+ * @param missingTxHashes - Tx hashes from the source we are missing
26
+ * @param includeFullTxHashes - Whether to include full list of missing tx hashes in the request or just Bitvector indices
27
+ *
28
+ * @returns undefined if there were no missingTxHashes matching the source hashes, otherwise
29
+ * returns new BlockTxsRequest
30
+ */
31
+ static fromTxsSourceAndMissingTxs(blockTxsSource: BlockTxsSource, missingTxHashes: TxHash[], includeFullTxHashes?: boolean): BlockTxsRequest | undefined;
32
+ /**
33
+ * Deserializes the BlockTxRequest object from a Buffer
34
+ * @param buffer - Buffer or BufferReader object to deserialize
35
+ * @returns An instance of BlockTxRequest
36
+ */
37
+ static fromBuffer(buffer: Buffer | BufferReader): BlockTxsRequest;
38
+ /**
39
+ * Serializes the BlockTxRequest object into a Buffer
40
+ * @returns Buffer representation of the BlockTxRequest object
41
+ */
42
+ toBuffer(): Buffer;
43
+ }
44
+ /**
45
+ * Response message containing requested transactions from a block
46
+ */
47
+ export declare class BlockTxsResponse {
48
+ readonly txs: TxArray;
49
+ readonly txIndices: BitVector;
50
+ constructor(txs: TxArray, txIndices: BitVector);
51
+ /**
52
+ * Whether the response indicates that the peer has the block.
53
+ * @returns True if the peer has the block, false otherwise.
54
+ */
55
+ peerHasBlock(): boolean;
56
+ /**
57
+ * Deserializes the BlockTxResponse object from a Buffer
58
+ * @param buffer - Buffer or BufferReader object to deserialize
59
+ * @returns An instance of BlockTxResponse
60
+ */
61
+ static fromBuffer(buffer: Buffer | BufferReader): BlockTxsResponse;
62
+ /**
63
+ * Serializes the BlockTxResponse object into a Buffer
64
+ * @returns Buffer representation of the BlockTxResponse object
65
+ */
66
+ toBuffer(): Buffer;
67
+ static empty(): BlockTxsResponse;
68
+ }
69
+ /**
70
+ * Calculate the expected response size for a BLOCK_TXS request.
71
+ * @param requestBuffer - The serialized request buffer containing BlockTxsRequest
72
+ * @returns Expected response size in KB
73
+ */
74
+ export declare function calculateBlockTxsResponseSize(requestBuffer: Buffer): number;
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfdHhzX3JlcXJlc3AuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yZXFyZXNwL3Byb3RvY29scy9ibG9ja190eHMvYmxvY2tfdHhzX3JlcXJlc3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLHdGQUF3RjtBQUN4RixNQUFNLFdBQVcsY0FBYztJQUM3QixRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbkIsT0FBTyxFQUFFLEVBQUUsQ0FBQztDQUNiO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxlQUFlO0lBR3hCLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRTtJQUl4QixRQUFRLENBQUMsU0FBUyxFQUFFLFNBQVM7SUFLN0IsUUFBUSxDQUFDLHVCQUF1QixFQUFFLFFBQVE7SUFJMUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxXQUFXO0lBZmhDLFlBRVcsV0FBVyxFQUFFLEVBQUUsRUFJZixTQUFTLEVBQUUsU0FBUyxFQUtwQix1QkFBdUIsRUFBRSxRQUFRLEVBSWpDLFFBQVEsRUFBRSxXQUFXLEVBQzVCO0lBRUosTUFBTSxDQUFDLDhCQUE4QixDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxRQUFRLENBRXZFO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUMvQixjQUFjLEVBQUUsY0FBYyxFQUM5QixlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQ3pCLG1CQUFtQixVQUFRLEdBQzFCLGVBQWUsR0FBRyxTQUFTLENBcUI3QjtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGVBQWUsQ0FRaEU7SUFFRDs7O09BR0c7SUFDSCxRQUFRLElBQUksTUFBTSxDQU9qQjtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxnQkFBZ0I7SUFHekIsUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPO0lBS3JCLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUztJQVAvQixZQUVXLEdBQUcsRUFBRSxPQUFPLEVBS1osU0FBUyxFQUFFLFNBQVMsRUFDM0I7SUFFSjs7O09BR0c7SUFDSCxZQUFZLElBQUksT0FBTyxDQUV0QjtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGdCQUFnQixDQU1qRTtJQUVEOzs7T0FHRztJQUNILFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxnQkFBZ0IsQ0FFL0I7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0IsNkJBQTZCLENBQUMsYUFBYSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBUzNFIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_txs_reqresp.d.ts","sourceRoot":"","sources":["../../../../../src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIrE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,EAAE,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,eAAe;IAGxB,QAAQ,CAAC,WAAW,EAAE,EAAE;IAIxB,QAAQ,CAAC,SAAS,EAAE,SAAS;IAK7B,QAAQ,CAAC,uBAAuB,EAAE,QAAQ;IAI1C,QAAQ,CAAC,QAAQ,EAAE,WAAW;IAfhC,YAEW,WAAW,EAAE,EAAE,EAIf,SAAS,EAAE,SAAS,EAKpB,uBAAuB,EAAE,QAAQ,EAIjC,QAAQ,EAAE,WAAW,EAC5B;IAEJ,MAAM,CAAC,8BAA8B,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,QAAQ,CAEvE;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,0BAA0B,CAC/B,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,MAAM,EAAE,EACzB,mBAAmB,UAAQ,GAC1B,eAAe,GAAG,SAAS,CAqB7B;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,eAAe,CAQhE;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAOjB;CACF;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAGzB,QAAQ,CAAC,GAAG,EAAE,OAAO;IAKrB,QAAQ,CAAC,SAAS,EAAE,SAAS;IAP/B,YAEW,GAAG,EAAE,OAAO,EAKZ,SAAS,EAAE,SAAS,EAC3B;IAEJ;;;OAGG;IACH,YAAY,IAAI,OAAO,CAEtB;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAMjE;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAE/B;CACF;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAS3E"}