@aztec/p2p 0.0.1-commit.96bb3f7 → 0.0.1-commit.993d240

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 (573) 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 +13 -5
  5. package/dest/client/factory.d.ts +13 -12
  6. package/dest/client/factory.d.ts.map +1 -1
  7. package/dest/client/factory.js +65 -20
  8. package/dest/client/interface.d.ts +58 -36
  9. package/dest/client/interface.d.ts.map +1 -1
  10. package/dest/client/p2p_client.d.ts +52 -58
  11. package/dest/client/p2p_client.d.ts.map +1 -1
  12. package/dest/client/p2p_client.js +236 -236
  13. package/dest/config.d.ts +163 -84
  14. package/dest/config.d.ts.map +1 -1
  15. package/dest/config.js +156 -43
  16. package/dest/errors/p2p-service.error.d.ts +9 -0
  17. package/dest/errors/p2p-service.error.d.ts.map +1 -0
  18. package/dest/errors/p2p-service.error.js +10 -0
  19. package/dest/errors/reqresp.error.d.ts +1 -20
  20. package/dest/errors/reqresp.error.d.ts.map +1 -1
  21. package/dest/errors/reqresp.error.js +0 -21
  22. package/dest/errors/tx-pool.error.d.ts +8 -0
  23. package/dest/errors/tx-pool.error.d.ts.map +1 -0
  24. package/dest/errors/tx-pool.error.js +9 -0
  25. package/dest/index.d.ts +2 -2
  26. package/dest/index.d.ts.map +1 -1
  27. package/dest/index.js +1 -1
  28. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +162 -106
  29. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  30. package/dest/mem_pools/attestation_pool/attestation_pool.js +511 -3
  31. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +2 -2
  32. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
  33. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +525 -132
  34. package/dest/mem_pools/attestation_pool/index.d.ts +2 -3
  35. package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -1
  36. package/dest/mem_pools/attestation_pool/index.js +1 -2
  37. package/dest/mem_pools/attestation_pool/mocks.d.ts +4 -2
  38. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  39. package/dest/mem_pools/attestation_pool/mocks.js +13 -8
  40. package/dest/mem_pools/index.d.ts +3 -3
  41. package/dest/mem_pools/index.d.ts.map +1 -1
  42. package/dest/mem_pools/index.js +1 -1
  43. package/dest/mem_pools/instrumentation.d.ts +4 -2
  44. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  45. package/dest/mem_pools/instrumentation.js +35 -17
  46. package/dest/mem_pools/interface.d.ts +5 -5
  47. package/dest/mem_pools/interface.d.ts.map +1 -1
  48. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts +2 -0
  49. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts.map +1 -0
  50. package/dest/mem_pools/tx_pool_v2/archive/index.js +1 -0
  51. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts +43 -0
  52. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts.map +1 -0
  53. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.js +103 -0
  54. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +104 -0
  55. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -0
  56. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +251 -0
  57. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +47 -0
  58. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -0
  59. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +128 -0
  60. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +17 -0
  61. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
  62. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +94 -0
  63. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +19 -0
  64. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -0
  65. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +97 -0
  66. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +11 -0
  67. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -0
  68. package/dest/mem_pools/tx_pool_v2/eviction/index.js +12 -0
  69. package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts +16 -0
  70. package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts.map +1 -0
  71. package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.js +62 -0
  72. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +180 -0
  73. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -0
  74. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +25 -0
  75. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts +15 -0
  76. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
  77. package/dest/mem_pools/{tx_pool → tx_pool_v2}/eviction/invalid_txs_after_mining_rule.js +16 -35
  78. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts +17 -0
  79. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
  80. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +93 -0
  81. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +16 -0
  82. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -0
  83. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +78 -0
  84. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +20 -0
  85. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -0
  86. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +75 -0
  87. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +15 -0
  88. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -0
  89. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +19 -0
  90. package/dest/mem_pools/tx_pool_v2/index.d.ts +6 -0
  91. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -0
  92. package/dest/mem_pools/tx_pool_v2/index.js +5 -0
  93. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts +15 -0
  94. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts.map +1 -0
  95. package/dest/mem_pools/tx_pool_v2/instrumentation.js +43 -0
  96. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +218 -0
  97. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -0
  98. package/dest/mem_pools/tx_pool_v2/interfaces.js +10 -0
  99. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +137 -0
  100. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -0
  101. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +223 -0
  102. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts +26 -0
  103. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts.map +1 -0
  104. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.js +70 -0
  105. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +108 -0
  106. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -0
  107. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +337 -0
  108. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +62 -0
  109. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -0
  110. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +167 -0
  111. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +78 -0
  112. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -0
  113. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +914 -0
  114. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +10 -4
  115. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  116. package/dest/msg_validators/attestation_validator/attestation_validator.js +69 -13
  117. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +9 -5
  118. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
  119. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +22 -11
  120. package/dest/msg_validators/clock_tolerance.d.ts +32 -0
  121. package/dest/msg_validators/clock_tolerance.d.ts.map +1 -0
  122. package/dest/msg_validators/clock_tolerance.js +95 -0
  123. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +10 -4
  124. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
  125. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +10 -2
  126. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +10 -4
  127. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
  128. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +16 -2
  129. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +21 -8
  130. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
  131. package/dest/msg_validators/proposal_validator/proposal_validator.js +123 -53
  132. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +4 -4
  133. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  134. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +11 -18
  135. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +2 -1
  136. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -1
  137. package/dest/msg_validators/tx_validator/allowed_public_setup.js +25 -21
  138. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts +17 -0
  139. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts.map +1 -0
  140. package/dest/msg_validators/tx_validator/allowed_setup_helpers.js +24 -0
  141. package/dest/msg_validators/tx_validator/archive_cache.d.ts +3 -3
  142. package/dest/msg_validators/tx_validator/archive_cache.d.ts.map +1 -1
  143. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +20 -6
  144. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  145. package/dest/msg_validators/tx_validator/block_header_validator.js +4 -3
  146. package/dest/msg_validators/tx_validator/cached_tx_validator.d.ts +15 -0
  147. package/dest/msg_validators/tx_validator/cached_tx_validator.d.ts.map +1 -0
  148. package/dest/msg_validators/tx_validator/cached_tx_validator.js +19 -0
  149. package/dest/msg_validators/tx_validator/contract_instance_validator.d.ts +9 -0
  150. package/dest/msg_validators/tx_validator/contract_instance_validator.d.ts.map +1 -0
  151. package/dest/msg_validators/tx_validator/contract_instance_validator.js +48 -0
  152. package/dest/msg_validators/tx_validator/data_validator.d.ts +4 -1
  153. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  154. package/dest/msg_validators/tx_validator/data_validator.js +40 -3
  155. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +15 -4
  156. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  157. package/dest/msg_validators/tx_validator/double_spend_validator.js +7 -6
  158. package/dest/msg_validators/tx_validator/factory.d.ts +138 -5
  159. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  160. package/dest/msg_validators/tx_validator/factory.js +259 -58
  161. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +10 -0
  162. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -0
  163. package/dest/msg_validators/tx_validator/fee_payer_balance.js +24 -0
  164. package/dest/msg_validators/tx_validator/gas_validator.d.ts +100 -3
  165. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  166. package/dest/msg_validators/tx_validator/gas_validator.js +146 -67
  167. package/dest/msg_validators/tx_validator/index.d.ts +6 -1
  168. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  169. package/dest/msg_validators/tx_validator/index.js +5 -0
  170. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +3 -2
  171. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  172. package/dest/msg_validators/tx_validator/metadata_validator.js +6 -6
  173. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts +14 -0
  174. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts.map +1 -0
  175. package/dest/msg_validators/tx_validator/nullifier_cache.js +24 -0
  176. package/dest/msg_validators/tx_validator/phases_validator.d.ts +24 -3
  177. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  178. package/dest/msg_validators/tx_validator/phases_validator.js +75 -27
  179. package/dest/msg_validators/tx_validator/size_validator.d.ts +8 -0
  180. package/dest/msg_validators/tx_validator/size_validator.d.ts.map +1 -0
  181. package/dest/msg_validators/tx_validator/size_validator.js +23 -0
  182. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +22 -5
  183. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  184. package/dest/msg_validators/tx_validator/timestamp_validator.js +8 -8
  185. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts +3 -2
  186. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts.map +1 -1
  187. package/dest/msg_validators/tx_validator/tx_permitted_validator.js +2 -2
  188. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +4 -2
  189. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
  190. package/dest/msg_validators/tx_validator/tx_proof_validator.js +4 -2
  191. package/dest/msg_validators/tx_validator/tx_validation_cache.d.ts +48 -0
  192. package/dest/msg_validators/tx_validator/tx_validation_cache.d.ts.map +1 -0
  193. package/dest/msg_validators/tx_validator/tx_validation_cache.js +69 -0
  194. package/dest/services/data_store.d.ts +1 -1
  195. package/dest/services/data_store.d.ts.map +1 -1
  196. package/dest/services/data_store.js +14 -10
  197. package/dest/services/discv5/discV5_service.d.ts +2 -1
  198. package/dest/services/discv5/discV5_service.d.ts.map +1 -1
  199. package/dest/services/discv5/discV5_service.js +36 -9
  200. package/dest/services/dummy_service.d.ts +33 -17
  201. package/dest/services/dummy_service.d.ts.map +1 -1
  202. package/dest/services/dummy_service.js +56 -15
  203. package/dest/services/encoding.d.ts +7 -3
  204. package/dest/services/encoding.d.ts.map +1 -1
  205. package/dest/services/encoding.js +20 -14
  206. package/dest/services/gossipsub/index.d.ts +3 -0
  207. package/dest/services/gossipsub/index.d.ts.map +1 -0
  208. package/dest/services/gossipsub/index.js +2 -0
  209. package/dest/services/gossipsub/scoring.d.ts +21 -3
  210. package/dest/services/gossipsub/scoring.d.ts.map +1 -1
  211. package/dest/services/gossipsub/scoring.js +24 -7
  212. package/dest/services/gossipsub/topic_score_params.d.ts +184 -0
  213. package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -0
  214. package/dest/services/gossipsub/topic_score_params.js +363 -0
  215. package/dest/services/index.d.ts +2 -1
  216. package/dest/services/index.d.ts.map +1 -1
  217. package/dest/services/index.js +1 -0
  218. package/dest/services/libp2p/instrumentation.d.ts +3 -1
  219. package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
  220. package/dest/services/libp2p/instrumentation.js +33 -8
  221. package/dest/services/libp2p/libp2p_service.d.ts +107 -59
  222. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  223. package/dest/services/libp2p/libp2p_service.js +683 -539
  224. package/dest/services/peer-manager/metrics.d.ts +4 -2
  225. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  226. package/dest/services/peer-manager/metrics.js +26 -5
  227. package/dest/services/peer-manager/peer_manager.d.ts +6 -2
  228. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  229. package/dest/services/peer-manager/peer_manager.js +40 -11
  230. package/dest/services/peer-manager/peer_scoring.d.ts +7 -2
  231. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  232. package/dest/services/peer-manager/peer_scoring.js +65 -14
  233. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +51 -0
  234. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -0
  235. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +552 -0
  236. package/dest/services/reqresp/batch-tx-requester/config.d.ts +17 -0
  237. package/dest/services/reqresp/batch-tx-requester/config.d.ts.map +1 -0
  238. package/dest/services/reqresp/batch-tx-requester/config.js +27 -0
  239. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +50 -0
  240. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -0
  241. package/dest/services/reqresp/batch-tx-requester/interface.js +1 -0
  242. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +35 -0
  243. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -0
  244. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +136 -0
  245. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +62 -0
  246. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -0
  247. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +176 -0
  248. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts +11 -0
  249. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts.map +1 -0
  250. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +7 -0
  251. package/dest/services/reqresp/config.d.ts +3 -3
  252. package/dest/services/reqresp/config.d.ts.map +1 -1
  253. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +2 -1
  254. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
  255. package/dest/services/reqresp/connection-sampler/connection_sampler.js +12 -0
  256. package/dest/services/reqresp/constants.d.ts +12 -0
  257. package/dest/services/reqresp/constants.d.ts.map +1 -0
  258. package/dest/services/reqresp/constants.js +7 -0
  259. package/dest/services/reqresp/interface.d.ts +27 -18
  260. package/dest/services/reqresp/interface.d.ts.map +1 -1
  261. package/dest/services/reqresp/interface.js +23 -19
  262. package/dest/services/reqresp/metrics.d.ts +6 -5
  263. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  264. package/dest/services/reqresp/metrics.js +16 -5
  265. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +5 -1
  266. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -1
  267. package/dest/services/reqresp/protocols/block_txs/bitvector.js +12 -0
  268. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +7 -5
  269. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
  270. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +29 -9
  271. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +29 -6
  272. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
  273. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +59 -13
  274. package/dest/services/reqresp/protocols/index.d.ts +1 -2
  275. package/dest/services/reqresp/protocols/index.d.ts.map +1 -1
  276. package/dest/services/reqresp/protocols/index.js +0 -1
  277. package/dest/services/reqresp/protocols/status.d.ts +1 -1
  278. package/dest/services/reqresp/protocols/status.d.ts.map +1 -1
  279. package/dest/services/reqresp/protocols/status.js +2 -1
  280. package/dest/services/reqresp/protocols/tx.d.ts +7 -1
  281. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  282. package/dest/services/reqresp/protocols/tx.js +21 -3
  283. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +5 -4
  284. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -1
  285. package/dest/services/reqresp/rate-limiter/rate_limiter.js +10 -8
  286. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +1 -1
  287. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -1
  288. package/dest/services/reqresp/rate-limiter/rate_limits.js +0 -10
  289. package/dest/services/reqresp/reqresp.d.ts +12 -29
  290. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  291. package/dest/services/reqresp/reqresp.js +58 -187
  292. package/dest/services/service.d.ts +49 -13
  293. package/dest/services/service.d.ts.map +1 -1
  294. package/dest/services/tx_collection/config.d.ts +11 -11
  295. package/dest/services/tx_collection/config.d.ts.map +1 -1
  296. package/dest/services/tx_collection/config.js +27 -26
  297. package/dest/services/tx_collection/file_store_tx_collection.d.ts +37 -0
  298. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -0
  299. package/dest/services/tx_collection/file_store_tx_collection.js +127 -0
  300. package/dest/services/tx_collection/file_store_tx_source.d.ts +38 -0
  301. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -0
  302. package/dest/services/tx_collection/file_store_tx_source.js +100 -0
  303. package/dest/services/tx_collection/index.d.ts +3 -2
  304. package/dest/services/tx_collection/index.d.ts.map +1 -1
  305. package/dest/services/tx_collection/index.js +1 -0
  306. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  307. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  308. package/dest/services/tx_collection/instrumentation.js +8 -2
  309. package/dest/services/tx_collection/request_tracker.d.ts +53 -0
  310. package/dest/services/tx_collection/request_tracker.d.ts.map +1 -0
  311. package/dest/services/tx_collection/request_tracker.js +84 -0
  312. package/dest/services/tx_collection/tx_collection.d.ts +50 -56
  313. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  314. package/dest/services/tx_collection/tx_collection.js +298 -70
  315. package/dest/services/tx_collection/tx_collection_sink.d.ts +19 -9
  316. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
  317. package/dest/services/tx_collection/tx_collection_sink.js +28 -31
  318. package/dest/services/tx_collection/tx_source.d.ts +13 -7
  319. package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
  320. package/dest/services/tx_collection/tx_source.js +26 -7
  321. package/dest/services/tx_file_store/config.d.ts +16 -0
  322. package/dest/services/tx_file_store/config.d.ts.map +1 -0
  323. package/dest/services/tx_file_store/config.js +22 -0
  324. package/dest/services/tx_file_store/index.d.ts +4 -0
  325. package/dest/services/tx_file_store/index.d.ts.map +1 -0
  326. package/dest/services/tx_file_store/index.js +3 -0
  327. package/dest/services/tx_file_store/instrumentation.d.ts +15 -0
  328. package/dest/services/tx_file_store/instrumentation.d.ts.map +1 -0
  329. package/dest/services/tx_file_store/instrumentation.js +29 -0
  330. package/dest/services/tx_file_store/tx_file_store.d.ts +46 -0
  331. package/dest/services/tx_file_store/tx_file_store.d.ts.map +1 -0
  332. package/dest/services/tx_file_store/tx_file_store.js +142 -0
  333. package/dest/services/tx_provider.d.ts +8 -6
  334. package/dest/services/tx_provider.d.ts.map +1 -1
  335. package/dest/services/tx_provider.js +12 -8
  336. package/dest/services/tx_provider_instrumentation.d.ts +1 -1
  337. package/dest/services/tx_provider_instrumentation.d.ts.map +1 -1
  338. package/dest/services/tx_provider_instrumentation.js +5 -5
  339. package/dest/test-helpers/index.d.ts +3 -1
  340. package/dest/test-helpers/index.d.ts.map +1 -1
  341. package/dest/test-helpers/index.js +2 -0
  342. package/dest/test-helpers/make-test-p2p-clients.d.ts +7 -8
  343. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  344. package/dest/test-helpers/make-test-p2p-clients.js +5 -3
  345. package/dest/test-helpers/mock-pubsub.d.ts +46 -6
  346. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  347. package/dest/test-helpers/mock-pubsub.js +115 -14
  348. package/dest/test-helpers/reqresp-nodes.d.ts +5 -7
  349. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  350. package/dest/test-helpers/reqresp-nodes.js +19 -20
  351. package/dest/test-helpers/test_tx_provider.d.ts +42 -0
  352. package/dest/test-helpers/test_tx_provider.d.ts.map +1 -0
  353. package/dest/test-helpers/test_tx_provider.js +44 -0
  354. package/dest/test-helpers/testbench-utils.d.ts +161 -0
  355. package/dest/test-helpers/testbench-utils.d.ts.map +1 -0
  356. package/dest/test-helpers/testbench-utils.js +393 -0
  357. package/dest/testbench/p2p_client_testbench_worker.d.ts +26 -2
  358. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  359. package/dest/testbench/p2p_client_testbench_worker.js +270 -144
  360. package/dest/testbench/worker_client_manager.d.ts +57 -6
  361. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  362. package/dest/testbench/worker_client_manager.js +277 -49
  363. package/dest/util.d.ts +13 -8
  364. package/dest/util.d.ts.map +1 -1
  365. package/dest/util.js +35 -14
  366. package/dest/versioning.d.ts +3 -6
  367. package/dest/versioning.d.ts.map +1 -1
  368. package/dest/versioning.js +3 -24
  369. package/package.json +17 -16
  370. package/src/bootstrap/bootstrap.ts +16 -5
  371. package/src/client/factory.ts +135 -39
  372. package/src/client/interface.ts +70 -44
  373. package/src/client/p2p_client.ts +283 -302
  374. package/src/client/test/p2p_client.batch_tx_requester.bench.README.md +197 -0
  375. package/src/config.ts +274 -48
  376. package/src/errors/p2p-service.error.ts +11 -0
  377. package/src/errors/reqresp.error.ts +0 -25
  378. package/src/errors/tx-pool.error.ts +12 -0
  379. package/src/index.ts +1 -1
  380. package/src/mem_pools/attestation_pool/attestation_pool.ts +575 -94
  381. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +633 -149
  382. package/src/mem_pools/attestation_pool/index.ts +9 -2
  383. package/src/mem_pools/attestation_pool/mocks.ts +19 -11
  384. package/src/mem_pools/index.ts +2 -2
  385. package/src/mem_pools/instrumentation.ts +24 -15
  386. package/src/mem_pools/interface.ts +4 -4
  387. package/src/mem_pools/tx_pool_v2/README.md +283 -0
  388. package/src/mem_pools/tx_pool_v2/archive/index.ts +1 -0
  389. package/src/mem_pools/tx_pool_v2/archive/tx_archive.ts +120 -0
  390. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +321 -0
  391. package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +160 -0
  392. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +122 -0
  393. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +125 -0
  394. package/src/mem_pools/tx_pool_v2/eviction/index.ts +28 -0
  395. package/src/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.ts +65 -0
  396. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +219 -0
  397. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +74 -0
  398. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +101 -0
  399. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +91 -0
  400. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +99 -0
  401. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +32 -0
  402. package/src/mem_pools/tx_pool_v2/index.ts +12 -0
  403. package/src/mem_pools/tx_pool_v2/instrumentation.ts +69 -0
  404. package/src/mem_pools/tx_pool_v2/interfaces.ts +250 -0
  405. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +349 -0
  406. package/src/mem_pools/tx_pool_v2/tx_pool_bench_metrics.ts +77 -0
  407. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +430 -0
  408. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +238 -0
  409. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +1090 -0
  410. package/src/msg_validators/attestation_validator/README.md +49 -0
  411. package/src/msg_validators/attestation_validator/attestation_validator.ts +60 -16
  412. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +29 -16
  413. package/src/msg_validators/clock_tolerance.ts +127 -0
  414. package/src/msg_validators/proposal_validator/README.md +123 -0
  415. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +24 -4
  416. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +35 -7
  417. package/src/msg_validators/proposal_validator/proposal_validator.ts +129 -62
  418. package/src/msg_validators/tx_validator/README.md +127 -0
  419. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +8 -17
  420. package/src/msg_validators/tx_validator/allowed_public_setup.ts +22 -27
  421. package/src/msg_validators/tx_validator/allowed_setup_helpers.ts +31 -0
  422. package/src/msg_validators/tx_validator/archive_cache.ts +2 -2
  423. package/src/msg_validators/tx_validator/block_header_validator.ts +21 -8
  424. package/src/msg_validators/tx_validator/cached_tx_validator.ts +31 -0
  425. package/src/msg_validators/tx_validator/contract_instance_validator.ts +56 -0
  426. package/src/msg_validators/tx_validator/data_validator.ts +50 -3
  427. package/src/msg_validators/tx_validator/double_spend_validator.ts +15 -9
  428. package/src/msg_validators/tx_validator/factory.ts +424 -56
  429. package/src/msg_validators/tx_validator/fee_payer_balance.ts +44 -0
  430. package/src/msg_validators/tx_validator/gas_validator.ts +211 -77
  431. package/src/msg_validators/tx_validator/index.ts +5 -0
  432. package/src/msg_validators/tx_validator/metadata_validator.ts +18 -7
  433. package/src/msg_validators/tx_validator/nullifier_cache.ts +30 -0
  434. package/src/msg_validators/tx_validator/phases_validator.ts +87 -30
  435. package/src/msg_validators/tx_validator/size_validator.ts +22 -0
  436. package/src/msg_validators/tx_validator/timestamp_validator.ts +29 -21
  437. package/src/msg_validators/tx_validator/tx_permitted_validator.ts +8 -3
  438. package/src/msg_validators/tx_validator/tx_proof_validator.ts +10 -3
  439. package/src/msg_validators/tx_validator/tx_validation_cache.ts +102 -0
  440. package/src/services/data_store.ts +14 -19
  441. package/src/services/discv5/discV5_service.ts +39 -6
  442. package/src/services/dummy_service.ts +71 -39
  443. package/src/services/encoding.ts +20 -13
  444. package/src/services/gossipsub/README.md +641 -0
  445. package/src/services/gossipsub/index.ts +2 -0
  446. package/src/services/gossipsub/scoring.ts +29 -5
  447. package/src/services/gossipsub/topic_score_params.ts +519 -0
  448. package/src/services/index.ts +1 -0
  449. package/src/services/libp2p/instrumentation.ts +34 -7
  450. package/src/services/libp2p/libp2p_service.ts +753 -597
  451. package/src/services/peer-manager/metrics.ts +28 -4
  452. package/src/services/peer-manager/peer_manager.ts +46 -11
  453. package/src/services/peer-manager/peer_scoring.ts +56 -6
  454. package/src/services/reqresp/README.md +215 -0
  455. package/src/services/reqresp/batch-tx-requester/README.md +344 -0
  456. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +684 -0
  457. package/src/services/reqresp/batch-tx-requester/config.ts +40 -0
  458. package/src/services/reqresp/batch-tx-requester/interface.ts +61 -0
  459. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +168 -0
  460. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +249 -0
  461. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +24 -0
  462. package/src/services/reqresp/config.ts +2 -2
  463. package/src/services/reqresp/connection-sampler/connection_sampler.ts +16 -0
  464. package/src/services/reqresp/constants.ts +14 -0
  465. package/src/services/reqresp/interface.ts +48 -46
  466. package/src/services/reqresp/metrics.ts +33 -9
  467. package/src/services/reqresp/protocols/block_txs/bitvector.ts +16 -0
  468. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +37 -12
  469. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +74 -9
  470. package/src/services/reqresp/protocols/index.ts +0 -1
  471. package/src/services/reqresp/protocols/status.ts +5 -3
  472. package/src/services/reqresp/protocols/tx.ts +23 -3
  473. package/src/services/reqresp/rate-limiter/rate_limiter.ts +13 -9
  474. package/src/services/reqresp/rate-limiter/rate_limits.ts +0 -10
  475. package/src/services/reqresp/reqresp.ts +68 -224
  476. package/src/services/service.ts +66 -29
  477. package/src/services/tx_collection/config.ts +41 -36
  478. package/src/services/tx_collection/file_store_tx_collection.ts +153 -0
  479. package/src/services/tx_collection/file_store_tx_source.ts +129 -0
  480. package/src/services/tx_collection/index.ts +2 -1
  481. package/src/services/tx_collection/instrumentation.ts +11 -2
  482. package/src/services/tx_collection/request_tracker.ts +127 -0
  483. package/src/services/tx_collection/tx_collection.ts +367 -115
  484. package/src/services/tx_collection/tx_collection_sink.ts +32 -36
  485. package/src/services/tx_collection/tx_source.ts +28 -8
  486. package/src/services/tx_file_store/config.ts +37 -0
  487. package/src/services/tx_file_store/index.ts +3 -0
  488. package/src/services/tx_file_store/instrumentation.ts +36 -0
  489. package/src/services/tx_file_store/tx_file_store.ts +163 -0
  490. package/src/services/tx_provider.ts +17 -11
  491. package/src/services/tx_provider_instrumentation.ts +11 -5
  492. package/src/test-helpers/index.ts +2 -0
  493. package/src/test-helpers/make-test-p2p-clients.ts +7 -6
  494. package/src/test-helpers/mock-pubsub.ts +137 -14
  495. package/src/test-helpers/reqresp-nodes.ts +17 -29
  496. package/src/test-helpers/test_tx_provider.ts +69 -0
  497. package/src/test-helpers/testbench-utils.ts +455 -0
  498. package/src/testbench/p2p_client_testbench_worker.ts +370 -138
  499. package/src/testbench/worker_client_manager.ts +355 -51
  500. package/src/util.ts +40 -19
  501. package/src/versioning.ts +3 -33
  502. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +0 -40
  503. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +0 -1
  504. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +0 -218
  505. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +0 -31
  506. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +0 -1
  507. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +0 -180
  508. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +0 -120
  509. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +0 -1
  510. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +0 -555
  511. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +0 -18
  512. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +0 -1
  513. package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +0 -56
  514. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +0 -83
  515. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +0 -1
  516. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +0 -5
  517. package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.d.ts +0 -15
  518. package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.d.ts.map +0 -1
  519. package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.js +0 -88
  520. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +0 -17
  521. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +0 -1
  522. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +0 -19
  523. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +0 -1
  524. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +0 -76
  525. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +0 -26
  526. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +0 -1
  527. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.js +0 -84
  528. package/dest/mem_pools/tx_pool/index.d.ts +0 -3
  529. package/dest/mem_pools/tx_pool/index.d.ts.map +0 -1
  530. package/dest/mem_pools/tx_pool/index.js +0 -2
  531. package/dest/mem_pools/tx_pool/priority.d.ts +0 -12
  532. package/dest/mem_pools/tx_pool/priority.d.ts.map +0 -1
  533. package/dest/mem_pools/tx_pool/priority.js +0 -15
  534. package/dest/mem_pools/tx_pool/tx_pool.d.ts +0 -127
  535. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +0 -1
  536. package/dest/mem_pools/tx_pool/tx_pool.js +0 -3
  537. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +0 -7
  538. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +0 -1
  539. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +0 -400
  540. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +0 -23
  541. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +0 -1
  542. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +0 -183
  543. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +0 -45
  544. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +0 -1
  545. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +0 -92
  546. package/dest/services/reqresp/protocols/block.d.ts +0 -9
  547. package/dest/services/reqresp/protocols/block.d.ts.map +0 -1
  548. package/dest/services/reqresp/protocols/block.js +0 -32
  549. package/dest/services/tx_collection/fast_tx_collection.d.ts +0 -51
  550. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +0 -1
  551. package/dest/services/tx_collection/fast_tx_collection.js +0 -300
  552. package/dest/services/tx_collection/slow_tx_collection.d.ts +0 -53
  553. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +0 -1
  554. package/dest/services/tx_collection/slow_tx_collection.js +0 -177
  555. package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +0 -320
  556. package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +0 -264
  557. package/src/mem_pools/tx_pool/README.md +0 -255
  558. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +0 -691
  559. package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +0 -71
  560. package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +0 -93
  561. package/src/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.ts +0 -108
  562. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +0 -104
  563. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +0 -91
  564. package/src/mem_pools/tx_pool/eviction/low_priority_eviction_rule.ts +0 -106
  565. package/src/mem_pools/tx_pool/index.ts +0 -2
  566. package/src/mem_pools/tx_pool/priority.ts +0 -20
  567. package/src/mem_pools/tx_pool/tx_pool.ts +0 -141
  568. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +0 -319
  569. package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +0 -206
  570. package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +0 -100
  571. package/src/services/reqresp/protocols/block.ts +0 -37
  572. package/src/services/tx_collection/fast_tx_collection.ts +0 -341
  573. package/src/services/tx_collection/slow_tx_collection.ts +0 -233
@@ -1,136 +1,192 @@
1
- import type { SlotNumber } from '@aztec/foundation/branded-types';
2
- import type { BlockProposal, CheckpointAttestation, CheckpointProposal, CheckpointProposalCore } from '@aztec/stdlib/p2p';
1
+ import type { CheckpointProposalHash, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
+ import { BlockProposal, CheckpointAttestation, type CheckpointProposalCore } from '@aztec/stdlib/p2p';
4
+ import { type TelemetryClient } from '@aztec/telemetry-client';
5
+ /** Result of trying to add an item (proposal or attestation) to the pool */
6
+ export type TryAddResult = {
7
+ /** Whether the item was accepted into pool state. False when it already existed, was invalid, or hit a cap. */
8
+ added: boolean;
9
+ /** Whether the exact signed payload (matched by payload hash) already existed in the pool. */
10
+ alreadyExists: boolean;
11
+ /** Number of distinct signed-payload hashes seen for the position. Meaning varies by method:
12
+ * - tryAddBlockProposal: distinct payload hashes at (slot, indexWithinCheckpoint)
13
+ * - tryAddCheckpointProposal: distinct payload hashes at slot
14
+ * - tryAddCheckpointAttestation: distinct payload hashes by this signer for this slot */
15
+ count: number;
16
+ };
17
+ export type ProposalsForSlot = {
18
+ blockProposals: BlockProposal[];
19
+ checkpointProposals: CheckpointProposalCore[];
20
+ };
21
+ export declare const MAX_CHECKPOINT_PROPOSALS_PER_SLOT = 2;
22
+ export declare const MAX_BLOCK_PROPOSALS_PER_POSITION = 2;
23
+ /** Maximum attestations a single signer can make per slot before being rejected. */
24
+ export declare const MAX_ATTESTATIONS_PER_SLOT_AND_SIGNER = 2;
25
+ /** Public API interface for attestation pools. Used for typing mocks and test implementations. */
26
+ export type AttestationPoolApi = Pick<AttestationPool, 'tryAddBlockProposal' | 'getBlockProposalByArchive' | 'getProposalsForSlot' | 'tryAddCheckpointProposal' | 'getCheckpointProposal' | 'addOwnCheckpointAttestations' | 'tryAddCheckpointAttestation' | 'deleteOlderThan' | 'getCheckpointAttestationsForSlot' | 'getCheckpointAttestationsForSlotAndProposal' | 'hasBlockProposalsForSlot' | 'isEmpty'>;
3
27
  /**
4
- * An Attestation Pool contains attestations collected by a validator
28
+ * Pool for storing attestations and proposals collected by a validator.
5
29
  *
6
- * Attestations that are observed via the p2p network are stored for requests
30
+ * Attestations and proposals observed via the p2p network are stored for requests
7
31
  * from the validator to produce a block, or to serve to other peers.
32
+ *
33
+ * Equivocation detection: distinct *signed payload hashes* arriving at the same
34
+ * position are tracked in the matching index multimap so the equivocation count
35
+ * reaches 2 even when archive collides on `feeAssetPriceModifier` variants.
36
+ * Proposal bytes are retained per accepted payload hash, up to the same equivocation
37
+ * caps, for slashing watchers that need signed P2P proposals.
8
38
  */
9
- export interface AttestationPool {
10
- /**
11
- * Adds new block proposal to the pool
12
- */
13
- addBlockProposal(blockProposal: BlockProposal): Promise<void>;
14
- /**
15
- * Get block proposal by it's ID
16
- *
17
- * @param id - The ID of the block proposal to retrieve. The ID is proposal.payload.archive
18
- *
19
- * @return The block proposal if it exists, otherwise undefined.
20
- */
21
- getBlockProposal(id: string): Promise<BlockProposal | undefined>;
22
- /**
23
- * Check if a block proposal exists in the pool
24
- *
25
- * @param idOrProposal - The ID of the block proposal or the block proposal itself to check. The ID is proposal.payload.archive
26
- *
27
- * @return True if the block proposal exists, false otherwise.
28
- */
29
- hasBlockProposal(idOrProposal: string | BlockProposal): Promise<boolean>;
30
- /**
31
- * Adds a checkpoint proposal to the pool.
32
- *
33
- * If the proposal contains a lastBlock, the BlockProposal is automatically extracted
34
- * and stored separately via addBlockProposal. The checkpoint proposal is then stored
35
- * without the lastBlock info (as CheckpointProposalCore).
36
- *
37
- * @param proposal - The checkpoint proposal to add
38
- * @throws ProposalSlotCapExceededError if the slot has reached the maximum number of proposals
39
- */
40
- addCheckpointProposal(proposal: CheckpointProposal): Promise<void>;
41
- /**
42
- * Get checkpoint proposal by its ID.
39
+ export declare class AttestationPool {
40
+ private store;
41
+ private log;
42
+ private metrics;
43
+ private attestationPerSlotAndSigner;
44
+ private attestationHashesPerSlotAndSigner;
45
+ private checkpointProposalsPerSlotAndHash;
46
+ private checkpointProposalHashesPerSlot;
47
+ private blockProposalsPerSlotIndexAndHash;
48
+ private blockProposalHashesPerSlotAndIndex;
49
+ private blockProposalKeysPerArchive;
50
+ constructor(store: AztecAsyncKVStore, telemetry?: TelemetryClient, log?: import("@aztec/foundation/log").Logger);
51
+ private poolStats;
52
+ /** Returns whether the pool is empty. */
53
+ isEmpty(): Promise<boolean>;
54
+ /** Number of bits reserved for indexWithinCheckpoint in position keys. */
55
+ private static readonly INDEX_BITS;
56
+ /** Maximum indexWithinCheckpoint value (2^10 - 1 = 1023). */
57
+ private static readonly MAX_INDEX;
58
+ /** Decimal digits used to left-pad slot numbers in string keys.
59
+ * 10 digits 3500 years at 36 s/slot, leaving ample headroom. */
60
+ private static readonly SLOT_PAD_DIGITS;
61
+ /** Fixed-width decimal slot string for use in composite string keys. */
62
+ private slotPaddedKey;
63
+ /** Fixed-width decimal index string for use in composite string keys. */
64
+ private indexPaddedKey;
65
+ /** Key for retained block proposals. */
66
+ private getBlockProposalKey;
67
+ /** Range bounds for all retained block proposals in a slot. */
68
+ private getBlockProposalKeyRangeForSlot;
69
+ /** Key for retained checkpoint proposals. */
70
+ private getCheckpointProposalKey;
71
+ /** Range bounds for all retained checkpoint proposals in a slot. */
72
+ private getCheckpointProposalKeyRangeForSlot;
73
+ /** Key for the per-(slot, signer) attestation main store and equivocation index. */
74
+ private getSlotSignerKey;
75
+ /**
76
+ * Returns range bounds for querying all attestations for a given slot.
77
+ * Fixed-width padding ensures the slot prefix sorts cleanly, so using the next
78
+ * slot's prefix as the upper bound captures exactly the current slot's entries.
79
+ */
80
+ private getAttestationKeyRangeForSlot;
81
+ /** Creates a position key for block proposals: slot * 1024 + indexWithinCheckpoint.
82
+ * Uses multiplication instead of bit-shift to avoid 32-bit signed integer overflow
83
+ * (bit-shift overflows after slot ~2^21, roughly 278 days of uptime). */
84
+ private getBlockPositionKey;
85
+ private multimapHasValue;
86
+ /**
87
+ * Attempts to add a block proposal to the pool.
88
+ *
89
+ * - Detects duplicates by signed-payload hash (not archive); a re-broadcast of the
90
+ * exact same signed payload returns `alreadyExists: true`.
91
+ * - Distinct payload hashes at the same `(slot, indexWithinCheckpoint)` are tracked
92
+ * in the equivocation index and retained up to the cap.
93
+ *
94
+ * @param blockProposal - The block proposal to add
95
+ * @returns Result indicating whether the proposal was added and duplicate detection info
96
+ */
97
+ tryAddBlockProposal(blockProposal: BlockProposal): Promise<TryAddResult>;
98
+ /**
99
+ * Get block proposal by archive root.
100
+ *
101
+ * Resolves the archive root through the archive index and returns the first
102
+ * retained proposal for that archive. This lookup is used by block-txs req/resp,
103
+ * where any retained proposal for the requested archive gives the tx hash list.
104
+ *
105
+ * @param archiveRoot - The archive root to look up
106
+ * @return The block proposal if it exists and its archive matches, otherwise undefined.
107
+ */
108
+ getBlockProposalByArchive(archiveRoot: string): Promise<BlockProposal | undefined>;
109
+ /** Returns retained signed proposals for a slot. */
110
+ getProposalsForSlot(slot: SlotNumber): Promise<ProposalsForSlot>;
111
+ /** Checks if any block proposals exist for a given slot (at index 0). */
112
+ hasBlockProposalsForSlot(slot: SlotNumber): Promise<boolean>;
113
+ /**
114
+ * Attempts to add a checkpoint proposal to the pool.
115
+ *
116
+ * - Detects duplicates by signed-payload hash (not archive); a re-broadcast of the
117
+ * exact same signed payload returns `alreadyExists: true`.
118
+ * - Distinct payload hashes at the same slot are tracked in the equivocation index.
119
+ * Distinct payload bytes are retained up to the same cap so slashing watchers
120
+ * can recover signed proposals.
121
+ *
122
+ * Note: This method only handles the CheckpointProposalCore. If the original
123
+ * CheckpointProposal contains a lastBlock, the caller should extract it via
124
+ * getBlockProposal() and add it separately via tryAddBlockProposal().
125
+ *
126
+ * @param proposal - The checkpoint proposal core to add
127
+ * @returns Result indicating whether the proposal was added and duplicate detection info
128
+ */
129
+ tryAddCheckpointProposal(proposal: CheckpointProposalCore): Promise<TryAddResult>;
130
+ /**
131
+ * Get a retained checkpoint proposal stored for the given slot.
132
+ * If multiple proposals were retained for an equivocation, returns the lowest
133
+ * payload hash deterministically.
43
134
  *
44
135
  * Returns a CheckpointProposalCore (without lastBlock info) since the lastBlock
45
136
  * is extracted and stored separately as a BlockProposal when added.
46
137
  *
47
- * @param id - The ID of the checkpoint proposal to retrieve (proposal.archive)
48
- * @return The checkpoint proposal core if it exists, otherwise undefined.
49
- */
50
- getCheckpointProposal(id: string): Promise<CheckpointProposalCore | undefined>;
51
- /**
52
- * Check if a checkpoint proposal exists in the pool
53
- *
54
- * @param idOrProposal - The ID of the checkpoint proposal or the proposal itself
55
- * @return True if the proposal exists, false otherwise.
138
+ * @param slot - The slot to look up
139
+ * @return The checkpoint proposal core if one is stored, otherwise undefined.
56
140
  */
57
- hasCheckpointProposal(idOrProposal: string | CheckpointProposal): Promise<boolean>;
141
+ getCheckpointProposal(slot: SlotNumber): Promise<CheckpointProposalCore | undefined>;
58
142
  /**
59
- * Add checkpoint attestations to the pool
60
- *
61
- * @param attestations - Checkpoint attestations to add into the pool
143
+ * Adds own checkpoint attestations to the pool.
144
+ * Skips per-signer cap and equivocation tracking; the caller is trusted.
145
+ * Each (slot, signer) gets a single stored attestation; later additions overwrite.
62
146
  */
63
- addCheckpointAttestations(attestations: CheckpointAttestation[]): Promise<void>;
147
+ addOwnCheckpointAttestations(attestations: CheckpointAttestation[]): Promise<void>;
64
148
  /**
65
- * Delete checkpoint attestations older than the given slot
149
+ * Get all checkpoint attestations for a given slot.
66
150
  *
67
- * @param slot - The oldest slot to keep.
68
- */
69
- deleteCheckpointAttestationsOlderThan(slot: SlotNumber): Promise<void>;
70
- /**
71
- * Get all checkpoint attestations for a given slot
151
+ * Returns one attestation per (slot, signer) the first seen for each signer.
152
+ * Later equivocating attestations from the same signer are tracked in the index
153
+ * but their bytes are not retained.
72
154
  *
73
155
  * @param slot - The slot to query
74
156
  * @return CheckpointAttestations
75
157
  */
76
158
  getCheckpointAttestationsForSlot(slot: SlotNumber): Promise<CheckpointAttestation[]>;
77
159
  /**
78
- * Get checkpoint attestations for slot and given proposal
160
+ * Get checkpoint attestations for a slot whose signed payload matches the given
161
+ * proposal payload hash.
79
162
  *
80
163
  * @param slot - The slot to query
81
- * @param proposalId - The proposal to query
82
- * @return CheckpointAttestations
164
+ * @param proposalPayloadHash - Hex-encoded keccak256 of the target proposal's signed payload
165
+ * @return CheckpointAttestations whose `getPayloadHash()` matches `proposalPayloadHash`
83
166
  */
84
- getCheckpointAttestationsForSlotAndProposal(slot: SlotNumber, proposalId: string): Promise<CheckpointAttestation[]>;
167
+ getCheckpointAttestationsForSlotAndProposal(slot: SlotNumber, proposalPayloadHash: CheckpointProposalHash): Promise<CheckpointAttestation[]>;
85
168
  /**
86
- * Check if a specific checkpoint attestation exists in the pool
169
+ * Delete all pool data (attestations, proposals) older than the given slot.
87
170
  *
88
- * @param attestation - The attestation to check
89
- * @return True if the attestation exists, false otherwise
171
+ * @param oldestSlot - The oldest slot to keep.
90
172
  */
91
- hasCheckpointAttestation(attestation: CheckpointAttestation): Promise<boolean>;
173
+ deleteOlderThan(oldestSlot: SlotNumber): Promise<void>;
92
174
  /**
93
- * Returns whether adding this proposal is permitted at current capacity:
94
- * - True if the proposal already exists, allow overwrite to keep parity with tests.
95
- * - True if the slot is below the proposal cap.
96
- * - False if the slot is at/above cap and this would be a new unique proposal.
175
+ * Attempts to add a checkpoint attestation to the pool.
97
176
  *
98
- * @param block - The block proposal to check
99
- * @returns True if the proposal can be added (or already exists), false otherwise.
100
- */
101
- canAddProposal(block: BlockProposal): Promise<boolean>;
102
- /**
103
- * Returns whether adding this checkpoint proposal is permitted at current capacity.
177
+ * - Detects duplicates by signed-payload hash (not archive); a re-broadcast of the
178
+ * exact same signed payload from the same signer returns `alreadyExists: true`.
179
+ * - Distinct payload hashes from the same (slot, signer) are tracked in the
180
+ * equivocation index. The first one's bytes are stored; later distinct hashes
181
+ * bump `count` so libp2p can fire its duplicate callback.
104
182
  *
105
- * @param proposal - The checkpoint proposal to check
106
- * @returns True if the proposal can be added, false otherwise.
183
+ * @param attestation - The checkpoint attestation to add
184
+ * @returns Result indicating whether the attestation was added, existence info,
185
+ * and number of distinct payload hashes by this signer for this slot
186
+ * (for equivocation detection).
107
187
  */
108
- canAddCheckpointProposal(proposal: CheckpointProposal): Promise<boolean>;
109
- /**
110
- * Returns whether a checkpoint attestation would be accepted for (slot, proposalId).
111
- *
112
- * @param attestation - The attestation to check
113
- * @param committeeSize - Committee size for the attestation's slot
114
- * @returns True if the attestation can be added, false otherwise.
115
- */
116
- canAddCheckpointAttestation(attestation: CheckpointAttestation, committeeSize: number): Promise<boolean>;
117
- /**
118
- * Returns whether the checkpoint proposal cap for the given slot has been reached.
119
- *
120
- * @param slot - The slot to check
121
- * @returns True if the cap has been reached, false otherwise.
122
- */
123
- hasReachedCheckpointProposalCap(slot: SlotNumber): Promise<boolean>;
124
- /**
125
- * Returns whether the checkpoint attestation cap for the given slot and proposal has been reached.
126
- *
127
- * @param slot - The slot to check
128
- * @param proposalId - The proposal to check
129
- * @param committeeSize - Committee size for the slot
130
- * @returns True if the cap has been reached, false otherwise.
131
- */
132
- hasReachedCheckpointAttestationCap(slot: SlotNumber, proposalId: string, committeeSize: number): Promise<boolean>;
133
- /** Returns whether the pool is empty. */
134
- isEmpty(): Promise<boolean>;
188
+ tryAddCheckpointAttestation(attestation: CheckpointAttestation): Promise<TryAddResult>;
135
189
  }
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25fcG9vbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy9hdHRlc3RhdGlvbl9wb29sL2F0dGVzdGF0aW9uX3Bvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQ1YsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3ZCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0I7Ozs7O0dBS0c7QUFDSCxNQUFNLFdBQVcsZUFBZTtJQUM5Qjs7T0FFRztJQUNILGdCQUFnQixDQUFDLGFBQWEsRUFBRSxhQUFhLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlEOzs7Ozs7T0FNRztJQUNILGdCQUFnQixDQUFDLEVBQUUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUVqRTs7Ozs7O09BTUc7SUFDSCxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsTUFBTSxHQUFHLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFekU7Ozs7Ozs7OztPQVNHO0lBQ0gscUJBQXFCLENBQUMsUUFBUSxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVuRTs7Ozs7Ozs7T0FRRztJQUNILHFCQUFxQixDQUFDLEVBQUUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRS9FOzs7OztPQUtHO0lBQ0gscUJBQXFCLENBQUMsWUFBWSxFQUFFLE1BQU0sR0FBRyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbkY7Ozs7T0FJRztJQUNILHlCQUF5QixDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVoRjs7OztPQUlHO0lBQ0gscUNBQXFDLENBQUMsSUFBSSxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdkU7Ozs7O09BS0c7SUFDSCxnQ0FBZ0MsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFFckY7Ozs7OztPQU1HO0lBQ0gsMkNBQTJDLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFFcEg7Ozs7O09BS0c7SUFDSCx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUscUJBQXFCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRS9FOzs7Ozs7OztPQVFHO0lBQ0gsY0FBYyxDQUFDLEtBQUssRUFBRSxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXZEOzs7OztPQUtHO0lBQ0gsd0JBQXdCLENBQUMsUUFBUSxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6RTs7Ozs7O09BTUc7SUFDSCwyQkFBMkIsQ0FBQyxXQUFXLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFekc7Ozs7O09BS0c7SUFDSCwrQkFBK0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVwRTs7Ozs7OztPQU9HO0lBQ0gsa0NBQWtDLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWxILHlDQUF5QztJQUN6QyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0NBQzdCIn0=
190
+ /** Creates an AttestationPool backed by a temporary store for testing. */
191
+ export declare function createTestAttestationPool(telemetry?: TelemetryClient): Promise<AttestationPool>;
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25fcG9vbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy9hdHRlc3RhdGlvbl9wb29sL2F0dGVzdGF0aW9uX3Bvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQXFCLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzdHLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFxQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVGLE9BQU8sRUFDTCxhQUFhLEVBQ2IscUJBQXFCLEVBRXJCLEtBQUssc0JBQXNCLEVBQzVCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBSW5GLDRFQUE0RTtBQUM1RSxNQUFNLE1BQU0sWUFBWSxHQUFHO0lBQ3pCLCtHQUErRztJQUMvRyxLQUFLLEVBQUUsT0FBTyxDQUFDO0lBQ2YsOEZBQThGO0lBQzlGLGFBQWEsRUFBRSxPQUFPLENBQUM7SUFDdkI7Ozs4RkFHMEY7SUFDMUYsS0FBSyxFQUFFLE1BQU0sQ0FBQztDQUNmLENBQUM7QUFFRixNQUFNLE1BQU0sZ0JBQWdCLEdBQUc7SUFDN0IsY0FBYyxFQUFFLGFBQWEsRUFBRSxDQUFDO0lBQ2hDLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLENBQUM7Q0FDL0MsQ0FBQztBQUVGLGVBQU8sTUFBTSxpQ0FBaUMsSUFBSSxDQUFDO0FBQ25ELGVBQU8sTUFBTSxnQ0FBZ0MsSUFBSSxDQUFDO0FBQ2xELG9GQUFvRjtBQUNwRixlQUFPLE1BQU0sb0NBQW9DLElBQUksQ0FBQztBQUV0RCxrR0FBa0c7QUFDbEcsTUFBTSxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FDbkMsZUFBZSxFQUNiLHFCQUFxQixHQUNyQiwyQkFBMkIsR0FDM0IscUJBQXFCLEdBQ3JCLDBCQUEwQixHQUMxQix1QkFBdUIsR0FDdkIs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
@@ -1 +1 @@
1
- {"version":3,"file":"attestation_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/attestation_pool/attestation_pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAEjE;;;;;;OAMG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE;;;;;;;;;OASG;IACH,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC;IAE/E;;;;;OAKG;IACH,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnF;;;;OAIG;IACH,yBAAyB,CAAC,YAAY,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhF;;;;OAIG;IACH,qCAAqC,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE;;;;;OAKG;IACH,gCAAgC,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAErF;;;;;;OAMG;IACH,2CAA2C,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAEpH;;;;;OAKG;IACH,wBAAwB,CAAC,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/E;;;;;;;;OAQG;IACH,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvD;;;;;OAKG;IACH,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE;;;;;;OAMG;IACH,2BAA2B,CAAC,WAAW,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzG;;;;;OAKG;IACH,+BAA+B,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpE;;;;;;;OAOG;IACH,kCAAkC,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAElH,yCAAyC;IACzC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7B"}
1
+ {"version":3,"file":"attestation_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/attestation_pool/attestation_pool.ts"],"names":[],"mappings":"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"}