@aztec/p2p 0.0.1-commit.0c875d939 → 0.0.1-commit.0dc957cde

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 (417) hide show
  1. package/README.md +129 -3
  2. package/dest/client/factory.d.ts +8 -7
  3. package/dest/client/factory.d.ts.map +1 -1
  4. package/dest/client/factory.js +34 -29
  5. package/dest/client/interface.d.ts +18 -20
  6. package/dest/client/interface.d.ts.map +1 -1
  7. package/dest/client/p2p_client.d.ts +9 -19
  8. package/dest/client/p2p_client.d.ts.map +1 -1
  9. package/dest/client/p2p_client.js +81 -104
  10. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +23 -10
  11. package/dest/config.d.ts +126 -103
  12. package/dest/config.d.ts.map +1 -1
  13. package/dest/config.js +93 -39
  14. package/dest/errors/p2p-service.error.d.ts +9 -0
  15. package/dest/errors/p2p-service.error.d.ts.map +1 -0
  16. package/dest/errors/p2p-service.error.js +10 -0
  17. package/dest/errors/tx-pool.error.d.ts +8 -0
  18. package/dest/errors/tx-pool.error.d.ts.map +1 -0
  19. package/dest/errors/tx-pool.error.js +9 -0
  20. package/dest/index.d.ts +1 -2
  21. package/dest/index.d.ts.map +1 -1
  22. package/dest/index.js +0 -1
  23. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +7 -5
  24. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  25. package/dest/mem_pools/attestation_pool/attestation_pool.js +16 -9
  26. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +6 -6
  27. package/dest/mem_pools/index.d.ts +1 -2
  28. package/dest/mem_pools/index.d.ts.map +1 -1
  29. package/dest/mem_pools/instrumentation.d.ts +4 -2
  30. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  31. package/dest/mem_pools/instrumentation.js +16 -14
  32. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +3 -1
  33. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -1
  34. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +9 -0
  35. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +3 -3
  36. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -1
  37. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +18 -9
  38. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +1 -1
  39. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -1
  40. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +5 -4
  41. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +3 -3
  42. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -1
  43. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +12 -4
  44. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +3 -2
  45. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -1
  46. package/dest/mem_pools/tx_pool_v2/eviction/index.js +2 -1
  47. package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts +16 -0
  48. package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts.map +1 -0
  49. package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.js +62 -0
  50. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +54 -5
  51. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -1
  52. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +8 -0
  53. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +4 -4
  54. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +7 -7
  55. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +2 -2
  56. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -1
  57. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +12 -6
  58. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +4 -4
  59. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -1
  60. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +16 -4
  61. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +3 -3
  62. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -1
  63. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +3 -3
  64. package/dest/mem_pools/tx_pool_v2/index.d.ts +2 -2
  65. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -1
  66. package/dest/mem_pools/tx_pool_v2/index.js +1 -1
  67. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts +15 -0
  68. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts.map +1 -0
  69. package/dest/mem_pools/tx_pool_v2/instrumentation.js +43 -0
  70. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +27 -10
  71. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
  72. package/dest/mem_pools/tx_pool_v2/interfaces.js +4 -1
  73. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +57 -15
  74. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
  75. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +115 -20
  76. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +5 -2
  77. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -1
  78. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +38 -46
  79. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +9 -4
  80. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -1
  81. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +12 -5
  82. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +12 -5
  83. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -1
  84. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +297 -153
  85. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +5 -2
  86. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  87. package/dest/msg_validators/attestation_validator/attestation_validator.js +20 -11
  88. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +4 -2
  89. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
  90. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +2 -2
  91. package/dest/msg_validators/clock_tolerance.d.ts +12 -1
  92. package/dest/msg_validators/clock_tolerance.d.ts.map +1 -1
  93. package/dest/msg_validators/clock_tolerance.js +54 -3
  94. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +7 -4
  95. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
  96. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +10 -2
  97. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +7 -4
  98. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
  99. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +16 -2
  100. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +15 -8
  101. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
  102. package/dest/msg_validators/proposal_validator/proposal_validator.js +67 -47
  103. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +2 -2
  104. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  105. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +3 -3
  106. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +2 -1
  107. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -1
  108. package/dest/msg_validators/tx_validator/allowed_public_setup.js +24 -20
  109. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts +17 -0
  110. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts.map +1 -0
  111. package/dest/msg_validators/tx_validator/allowed_setup_helpers.js +24 -0
  112. package/dest/msg_validators/tx_validator/archive_cache.js +1 -1
  113. package/dest/msg_validators/tx_validator/contract_instance_validator.d.ts +9 -0
  114. package/dest/msg_validators/tx_validator/contract_instance_validator.d.ts.map +1 -0
  115. package/dest/msg_validators/tx_validator/contract_instance_validator.js +48 -0
  116. package/dest/msg_validators/tx_validator/data_validator.d.ts +1 -1
  117. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  118. package/dest/msg_validators/tx_validator/data_validator.js +35 -2
  119. package/dest/msg_validators/tx_validator/factory.d.ts +133 -6
  120. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  121. package/dest/msg_validators/tx_validator/factory.js +247 -60
  122. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +1 -1
  123. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -1
  124. package/dest/msg_validators/tx_validator/fee_payer_balance.js +6 -2
  125. package/dest/msg_validators/tx_validator/gas_validator.d.ts +99 -3
  126. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  127. package/dest/msg_validators/tx_validator/gas_validator.js +137 -53
  128. package/dest/msg_validators/tx_validator/index.d.ts +3 -1
  129. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  130. package/dest/msg_validators/tx_validator/index.js +2 -0
  131. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +1 -1
  132. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  133. package/dest/msg_validators/tx_validator/metadata_validator.js +4 -4
  134. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts +14 -0
  135. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts.map +1 -0
  136. package/dest/msg_validators/tx_validator/nullifier_cache.js +24 -0
  137. package/dest/msg_validators/tx_validator/phases_validator.d.ts +22 -2
  138. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  139. package/dest/msg_validators/tx_validator/phases_validator.js +72 -24
  140. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +2 -2
  141. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  142. package/dest/msg_validators/tx_validator/timestamp_validator.js +6 -6
  143. package/dest/services/data_store.d.ts +1 -1
  144. package/dest/services/data_store.d.ts.map +1 -1
  145. package/dest/services/data_store.js +5 -5
  146. package/dest/services/dummy_service.d.ts +8 -5
  147. package/dest/services/dummy_service.d.ts.map +1 -1
  148. package/dest/services/dummy_service.js +10 -5
  149. package/dest/services/encoding.d.ts +6 -2
  150. package/dest/services/encoding.d.ts.map +1 -1
  151. package/dest/services/encoding.js +16 -9
  152. package/dest/services/gossipsub/topic_score_params.d.ts +30 -7
  153. package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -1
  154. package/dest/services/gossipsub/topic_score_params.js +53 -14
  155. package/dest/services/libp2p/instrumentation.d.ts +3 -1
  156. package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
  157. package/dest/services/libp2p/instrumentation.js +14 -0
  158. package/dest/services/libp2p/libp2p_service.d.ts +32 -37
  159. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  160. package/dest/services/libp2p/libp2p_service.js +241 -212
  161. package/dest/services/peer-manager/metrics.d.ts +3 -1
  162. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  163. package/dest/services/peer-manager/metrics.js +6 -0
  164. package/dest/services/peer-manager/peer_manager.d.ts +6 -2
  165. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  166. package/dest/services/peer-manager/peer_manager.js +39 -11
  167. package/dest/services/peer-manager/peer_scoring.d.ts +7 -2
  168. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  169. package/dest/services/peer-manager/peer_scoring.js +32 -10
  170. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +12 -8
  171. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -1
  172. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +83 -106
  173. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +4 -7
  174. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -1
  175. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +11 -13
  176. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -1
  177. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +31 -46
  178. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +19 -11
  179. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -1
  180. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +52 -15
  181. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +2 -2
  182. package/dest/services/reqresp/config.d.ts +3 -3
  183. package/dest/services/reqresp/config.d.ts.map +1 -1
  184. package/dest/services/reqresp/interface.d.ts +14 -9
  185. package/dest/services/reqresp/interface.d.ts.map +1 -1
  186. package/dest/services/reqresp/interface.js +10 -11
  187. package/dest/services/reqresp/metrics.d.ts +1 -1
  188. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  189. package/dest/services/reqresp/metrics.js +0 -1
  190. package/dest/services/reqresp/protocols/index.d.ts +1 -2
  191. package/dest/services/reqresp/protocols/index.d.ts.map +1 -1
  192. package/dest/services/reqresp/protocols/index.js +0 -1
  193. package/dest/services/reqresp/protocols/tx.d.ts +1 -1
  194. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  195. package/dest/services/reqresp/protocols/tx.js +1 -3
  196. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +5 -4
  197. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -1
  198. package/dest/services/reqresp/rate-limiter/rate_limiter.js +10 -8
  199. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +1 -1
  200. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -1
  201. package/dest/services/reqresp/rate-limiter/rate_limits.js +0 -10
  202. package/dest/services/reqresp/reqresp.d.ts +4 -2
  203. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  204. package/dest/services/reqresp/reqresp.js +30 -12
  205. package/dest/services/service.d.ts +9 -4
  206. package/dest/services/service.d.ts.map +1 -1
  207. package/dest/services/tx_collection/fast_tx_collection.d.ts +1 -4
  208. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  209. package/dest/services/tx_collection/fast_tx_collection.js +65 -75
  210. package/dest/services/tx_collection/file_store_tx_collection.d.ts +1 -1
  211. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -1
  212. package/dest/services/tx_collection/file_store_tx_collection.js +4 -2
  213. package/dest/services/tx_collection/file_store_tx_source.d.ts +16 -6
  214. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -1
  215. package/dest/services/tx_collection/file_store_tx_source.js +50 -9
  216. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  217. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  218. package/dest/services/tx_collection/instrumentation.js +2 -1
  219. package/dest/services/tx_collection/proposal_tx_collector.d.ts +7 -7
  220. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -1
  221. package/dest/services/tx_collection/proposal_tx_collector.js +5 -4
  222. package/dest/services/tx_collection/request_tracker.d.ts +53 -0
  223. package/dest/services/tx_collection/request_tracker.d.ts.map +1 -0
  224. package/dest/services/tx_collection/request_tracker.js +84 -0
  225. package/dest/services/tx_collection/slow_tx_collection.d.ts +2 -2
  226. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
  227. package/dest/services/tx_collection/slow_tx_collection.js +10 -8
  228. package/dest/services/tx_collection/tx_collection.d.ts +5 -7
  229. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  230. package/dest/services/tx_collection/tx_collection_sink.d.ts +6 -5
  231. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
  232. package/dest/services/tx_collection/tx_collection_sink.js +13 -22
  233. package/dest/services/tx_collection/tx_source.d.ts +13 -7
  234. package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
  235. package/dest/services/tx_collection/tx_source.js +26 -7
  236. package/dest/services/tx_file_store/tx_file_store.js +1 -1
  237. package/dest/services/tx_provider.d.ts +3 -3
  238. package/dest/services/tx_provider.d.ts.map +1 -1
  239. package/dest/services/tx_provider.js +4 -4
  240. package/dest/test-helpers/make-test-p2p-clients.d.ts +5 -6
  241. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  242. package/dest/test-helpers/make-test-p2p-clients.js +4 -2
  243. package/dest/test-helpers/mock-pubsub.d.ts +14 -6
  244. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  245. package/dest/test-helpers/mock-pubsub.js +43 -12
  246. package/dest/test-helpers/reqresp-nodes.d.ts +2 -3
  247. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  248. package/dest/test-helpers/reqresp-nodes.js +6 -4
  249. package/dest/test-helpers/testbench-utils.d.ts +6 -3
  250. package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
  251. package/dest/test-helpers/testbench-utils.js +24 -4
  252. package/dest/testbench/p2p_client_testbench_worker.d.ts +2 -2
  253. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  254. package/dest/testbench/p2p_client_testbench_worker.js +83 -26
  255. package/dest/testbench/worker_client_manager.d.ts +10 -1
  256. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  257. package/dest/testbench/worker_client_manager.js +55 -3
  258. package/dest/util.d.ts +3 -3
  259. package/dest/util.d.ts.map +1 -1
  260. package/package.json +14 -14
  261. package/src/client/factory.ts +62 -49
  262. package/src/client/interface.ts +20 -21
  263. package/src/client/p2p_client.ts +89 -135
  264. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +35 -14
  265. package/src/config.ts +139 -45
  266. package/src/errors/p2p-service.error.ts +11 -0
  267. package/src/errors/tx-pool.error.ts +12 -0
  268. package/src/index.ts +0 -1
  269. package/src/mem_pools/attestation_pool/attestation_pool.ts +17 -12
  270. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +6 -6
  271. package/src/mem_pools/index.ts +0 -3
  272. package/src/mem_pools/instrumentation.ts +17 -13
  273. package/src/mem_pools/tx_pool_v2/README.md +10 -2
  274. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +11 -0
  275. package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +21 -8
  276. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +5 -4
  277. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +18 -4
  278. package/src/mem_pools/tx_pool_v2/eviction/index.ts +5 -0
  279. package/src/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.ts +65 -0
  280. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +59 -4
  281. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +4 -4
  282. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +8 -8
  283. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +12 -9
  284. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +33 -6
  285. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +4 -3
  286. package/src/mem_pools/tx_pool_v2/index.ts +1 -1
  287. package/src/mem_pools/tx_pool_v2/instrumentation.ts +69 -0
  288. package/src/mem_pools/tx_pool_v2/interfaces.ts +27 -10
  289. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +166 -28
  290. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +43 -46
  291. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +28 -8
  292. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +332 -149
  293. package/src/msg_validators/attestation_validator/README.md +49 -0
  294. package/src/msg_validators/attestation_validator/attestation_validator.ts +21 -9
  295. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +4 -1
  296. package/src/msg_validators/clock_tolerance.ts +72 -3
  297. package/src/msg_validators/proposal_validator/README.md +123 -0
  298. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +17 -4
  299. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +23 -7
  300. package/src/msg_validators/proposal_validator/proposal_validator.ts +79 -49
  301. package/src/msg_validators/tx_validator/README.md +127 -0
  302. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +3 -3
  303. package/src/msg_validators/tx_validator/allowed_public_setup.ts +22 -27
  304. package/src/msg_validators/tx_validator/allowed_setup_helpers.ts +31 -0
  305. package/src/msg_validators/tx_validator/archive_cache.ts +1 -1
  306. package/src/msg_validators/tx_validator/contract_instance_validator.ts +56 -0
  307. package/src/msg_validators/tx_validator/data_validator.ts +42 -1
  308. package/src/msg_validators/tx_validator/factory.ts +396 -78
  309. package/src/msg_validators/tx_validator/fee_payer_balance.ts +6 -2
  310. package/src/msg_validators/tx_validator/gas_validator.ts +199 -54
  311. package/src/msg_validators/tx_validator/index.ts +2 -0
  312. package/src/msg_validators/tx_validator/metadata_validator.ts +12 -4
  313. package/src/msg_validators/tx_validator/nullifier_cache.ts +30 -0
  314. package/src/msg_validators/tx_validator/phases_validator.ts +82 -27
  315. package/src/msg_validators/tx_validator/timestamp_validator.ts +7 -7
  316. package/src/services/data_store.ts +5 -13
  317. package/src/services/dummy_service.ts +13 -7
  318. package/src/services/encoding.ts +16 -8
  319. package/src/services/gossipsub/README.md +29 -14
  320. package/src/services/gossipsub/topic_score_params.ts +85 -17
  321. package/src/services/libp2p/instrumentation.ts +14 -0
  322. package/src/services/libp2p/libp2p_service.ts +259 -238
  323. package/src/services/peer-manager/metrics.ts +7 -0
  324. package/src/services/peer-manager/peer_manager.ts +45 -11
  325. package/src/services/peer-manager/peer_scoring.ts +27 -5
  326. package/src/services/reqresp/README.md +229 -0
  327. package/src/services/reqresp/batch-tx-requester/README.md +46 -7
  328. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +79 -112
  329. package/src/services/reqresp/batch-tx-requester/interface.ts +3 -6
  330. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +30 -71
  331. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +68 -24
  332. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +2 -2
  333. package/src/services/reqresp/config.ts +2 -2
  334. package/src/services/reqresp/interface.ts +21 -11
  335. package/src/services/reqresp/metrics.ts +0 -1
  336. package/src/services/reqresp/protocols/index.ts +0 -1
  337. package/src/services/reqresp/protocols/tx.ts +1 -3
  338. package/src/services/reqresp/rate-limiter/rate_limiter.ts +13 -9
  339. package/src/services/reqresp/rate-limiter/rate_limits.ts +0 -10
  340. package/src/services/reqresp/reqresp.ts +40 -13
  341. package/src/services/service.ts +17 -3
  342. package/src/services/tx_collection/fast_tx_collection.ts +71 -76
  343. package/src/services/tx_collection/file_store_tx_collection.ts +7 -3
  344. package/src/services/tx_collection/file_store_tx_source.ts +65 -9
  345. package/src/services/tx_collection/instrumentation.ts +7 -1
  346. package/src/services/tx_collection/proposal_tx_collector.ts +9 -13
  347. package/src/services/tx_collection/request_tracker.ts +127 -0
  348. package/src/services/tx_collection/slow_tx_collection.ts +8 -9
  349. package/src/services/tx_collection/tx_collection.ts +5 -6
  350. package/src/services/tx_collection/tx_collection_sink.ts +15 -29
  351. package/src/services/tx_collection/tx_source.ts +28 -8
  352. package/src/services/tx_file_store/tx_file_store.ts +1 -1
  353. package/src/services/tx_provider.ts +2 -2
  354. package/src/test-helpers/make-test-p2p-clients.ts +3 -3
  355. package/src/test-helpers/mock-pubsub.ts +47 -11
  356. package/src/test-helpers/reqresp-nodes.ts +7 -8
  357. package/src/test-helpers/testbench-utils.ts +33 -6
  358. package/src/testbench/p2p_client_testbench_worker.ts +92 -29
  359. package/src/testbench/worker_client_manager.ts +68 -6
  360. package/src/util.ts +8 -2
  361. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +0 -125
  362. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +0 -1
  363. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +0 -596
  364. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +0 -32
  365. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +0 -1
  366. package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +0 -112
  367. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +0 -157
  368. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +0 -1
  369. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +0 -52
  370. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts +0 -16
  371. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts.map +0 -1
  372. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.js +0 -122
  373. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +0 -17
  374. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +0 -1
  375. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +0 -84
  376. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +0 -19
  377. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +0 -1
  378. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +0 -78
  379. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +0 -26
  380. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +0 -1
  381. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.js +0 -84
  382. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts +0 -25
  383. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts.map +0 -1
  384. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.js +0 -57
  385. package/dest/mem_pools/tx_pool/index.d.ts +0 -3
  386. package/dest/mem_pools/tx_pool/index.d.ts.map +0 -1
  387. package/dest/mem_pools/tx_pool/index.js +0 -2
  388. package/dest/mem_pools/tx_pool/priority.d.ts +0 -12
  389. package/dest/mem_pools/tx_pool/priority.d.ts.map +0 -1
  390. package/dest/mem_pools/tx_pool/priority.js +0 -15
  391. package/dest/mem_pools/tx_pool/tx_pool.d.ts +0 -127
  392. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +0 -1
  393. package/dest/mem_pools/tx_pool/tx_pool.js +0 -3
  394. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +0 -7
  395. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +0 -1
  396. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +0 -400
  397. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +0 -23
  398. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +0 -1
  399. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +0 -212
  400. package/dest/services/reqresp/protocols/block.d.ts +0 -9
  401. package/dest/services/reqresp/protocols/block.d.ts.map +0 -1
  402. package/dest/services/reqresp/protocols/block.js +0 -32
  403. package/src/mem_pools/tx_pool/README.md +0 -270
  404. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +0 -746
  405. package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +0 -132
  406. package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +0 -208
  407. package/src/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.ts +0 -162
  408. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +0 -104
  409. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +0 -93
  410. package/src/mem_pools/tx_pool/eviction/low_priority_eviction_rule.ts +0 -106
  411. package/src/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.ts +0 -75
  412. package/src/mem_pools/tx_pool/index.ts +0 -2
  413. package/src/mem_pools/tx_pool/priority.ts +0 -20
  414. package/src/mem_pools/tx_pool/tx_pool.ts +0 -141
  415. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +0 -319
  416. package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +0 -230
  417. package/src/services/reqresp/protocols/block.ts +0 -37
@@ -11,7 +11,6 @@ export class AztecDatastore {
11
11
  #db;
12
12
  #memoryDatastore;
13
13
  #dbDatastore;
14
- #batchOps = [];
15
14
  maxMemoryItems;
16
15
  constructor(db, { maxMemoryItems } = {
17
16
  maxMemoryItems: 50
@@ -65,23 +64,24 @@ export class AztecDatastore {
65
64
  await this.#dbDatastore.delete(key.toString());
66
65
  }
67
66
  batch() {
67
+ const ops = [];
68
68
  return {
69
69
  put: (key, value)=>{
70
- this.#batchOps.push({
70
+ ops.push({
71
71
  type: 'put',
72
72
  key,
73
73
  value
74
74
  });
75
75
  },
76
76
  delete: (key)=>{
77
- this.#batchOps.push({
77
+ ops.push({
78
78
  type: 'del',
79
79
  key
80
80
  });
81
81
  },
82
82
  commit: async ()=>{
83
83
  await this.#db.transactionAsync(async ()=>{
84
- for (const op of this.#batchOps){
84
+ for (const op of ops){
85
85
  if (op.type === 'put' && op.value) {
86
86
  await this.put(op.key, op.value);
87
87
  } else if (op.type === 'del') {
@@ -89,7 +89,7 @@ export class AztecDatastore {
89
89
  }
90
90
  }
91
91
  });
92
- this.#batchOps = []; // Clear operations after commit
92
+ ops.length = 0;
93
93
  }
94
94
  };
95
95
  }
@@ -1,6 +1,6 @@
1
1
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
2
  import type { PeerInfo } from '@aztec/stdlib/interfaces/server';
3
- import type { Gossipable, PeerErrorSeverity } from '@aztec/stdlib/p2p';
3
+ import type { CheckpointProposalCore, Gossipable, PeerErrorSeverity, TopicType } from '@aztec/stdlib/p2p';
4
4
  import { Tx, TxHash } from '@aztec/stdlib/tx';
5
5
  import type { PeerId } from '@libp2p/interface';
6
6
  import type { ENR } from '@nethermindeth/enr';
@@ -20,6 +20,7 @@ export declare class DummyP2PService implements P2PService {
20
20
  updateConfig(_config: Partial<P2PReqRespConfig>): void;
21
21
  /** Returns an empty array for peers. */
22
22
  getPeers(): PeerInfo[];
23
+ getGossipMeshPeerCount(_topicType: TopicType): number;
23
24
  /**
24
25
  * Starts the dummy implementation.
25
26
  * @returns A resolved promise.
@@ -47,7 +48,9 @@ export declare class DummyP2PService implements P2PService {
47
48
  /**
48
49
  * Register a callback into the validator client for when a checkpoint proposal is received
49
50
  */
50
- registerCheckpointReceivedCallback(_callback: P2PCheckpointReceivedCallback): void;
51
+ registerValidatorCheckpointReceivedCallback(_callback: P2PCheckpointReceivedCallback): void;
52
+ registerAllNodesCheckpointReceivedCallback(_callback: P2PCheckpointReceivedCallback): void;
53
+ notifyOwnCheckpointProposal(_checkpoint: CheckpointProposalCore): Promise<void>;
51
54
  /**
52
55
  * Register a callback for when a duplicate proposal is detected
53
56
  */
@@ -76,8 +79,7 @@ export declare class DummyP2PService implements P2PService {
76
79
  * @returns The ENR of the peer, otherwise undefined.
77
80
  */
78
81
  getEnr(): undefined;
79
- validate(_txs: Tx[]): Promise<void>;
80
- validatePropagatedTx(_tx: Tx, _peerId: PeerId): Promise<boolean>;
82
+ validateTxsReceivedInBlockProposal(_txs: Tx[]): Promise<void>;
81
83
  addReqRespSubProtocol(_subProtocol: ReqRespSubProtocol, _handler: ReqRespSubProtocolHandler, _validator?: ReqRespSubProtocolValidators[ReqRespSubProtocol]): Promise<void>;
82
84
  handleAuthRequestFromPeer(_authRequest: AuthRequest, _peerId: PeerId): Promise<StatusMessage>;
83
85
  registerThisValidatorAddresses(_address: EthAddress[]): void;
@@ -134,6 +136,7 @@ export declare class DummyPeerManager implements PeerManagerInterface {
134
136
  }
135
137
  export declare class DummyReqResp implements ReqRespInterface {
136
138
  updateConfig(_config: Partial<P2PReqRespConfig>): void;
139
+ setShouldRejectPeer(): void;
137
140
  start(_subProtocolHandlers: ReqRespSubProtocolHandlers, _subProtocolValidators: ReqRespSubProtocolValidators): Promise<void>;
138
141
  stop(): Promise<void>;
139
142
  sendRequest<SubProtocol extends ReqRespSubProtocol>(_subProtocol: SubProtocol, _request: InstanceType<SubProtocolMap[SubProtocol]['request']>): Promise<InstanceType<SubProtocolMap[SubProtocol]['response']> | undefined>;
@@ -145,4 +148,4 @@ export declare class DummyReqResp implements ReqRespInterface {
145
148
  getConnectionSampler(): Pick<ConnectionSampler, 'getPeerListSortedByConnectionCountAsc'>;
146
149
  addSubProtocol(_subProtocol: ReqRespSubProtocol, _handler: ReqRespSubProtocolHandler, _validator?: ReqRespSubProtocolValidators[ReqRespSubProtocol]): Promise<void>;
147
150
  }
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtbXlfc2VydmljZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2R1bW15X3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLFlBQVksTUFBTSxRQUFRLENBQUM7QUFFbEMsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9GLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsS0FBSyxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQ1YsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQiw0QkFBNEIsRUFDNUIsY0FBYyxFQUNmLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEUs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
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtbXlfc2VydmljZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2R1bW15X3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFOUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxZQUFZLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDNUYsT0FBTyxFQUFFLEtBQUssV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUNWLGdCQUFnQixFQUNoQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBQzVCLGNBQWMsRUFDZixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxN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
@@ -1 +1 @@
1
- {"version":3,"file":"dummy_service.d.ts","sourceRoot":"","sources":["../../src/services/dummy_service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dummy_service.d.ts","sourceRoot":"","sources":["../../src/services/dummy_service.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,9 @@ import { PeerDiscoveryState } from './service.js';
9
9
  /** Returns an empty array for peers. */ getPeers() {
10
10
  return [];
11
11
  }
12
+ getGossipMeshPeerCount(_topicType) {
13
+ return 0;
14
+ }
12
15
  /**
13
16
  * Starts the dummy implementation.
14
17
  * @returns A resolved promise.
@@ -36,7 +39,11 @@ import { PeerDiscoveryState } from './service.js';
36
39
  */ registerBlockReceivedCallback(_callback) {}
37
40
  /**
38
41
  * Register a callback into the validator client for when a checkpoint proposal is received
39
- */ registerCheckpointReceivedCallback(_callback) {}
42
+ */ registerValidatorCheckpointReceivedCallback(_callback) {}
43
+ registerAllNodesCheckpointReceivedCallback(_callback) {}
44
+ notifyOwnCheckpointProposal(_checkpoint) {
45
+ return Promise.resolve();
46
+ }
40
47
  /**
41
48
  * Register a callback for when a duplicate proposal is detected
42
49
  */ registerDuplicateProposalCallback(_callback) {}
@@ -71,12 +78,9 @@ import { PeerDiscoveryState } from './service.js';
71
78
  */ getEnr() {
72
79
  return undefined;
73
80
  }
74
- validate(_txs) {
81
+ validateTxsReceivedInBlockProposal(_txs) {
75
82
  return Promise.resolve();
76
83
  }
77
- validatePropagatedTx(_tx, _peerId) {
78
- return Promise.resolve(true);
79
- }
80
84
  addReqRespSubProtocol(_subProtocol, _handler, _validator) {
81
85
  return Promise.resolve();
82
86
  }
@@ -192,6 +196,7 @@ export class DummyPeerManager {
192
196
  }
193
197
  export class DummyReqResp {
194
198
  updateConfig(_config) {}
199
+ setShouldRejectPeer() {}
195
200
  start(_subProtocolHandlers, _subProtocolValidators) {
196
201
  return Promise.resolve();
197
202
  }
@@ -2,6 +2,10 @@ import { TopicType } from '@aztec/stdlib/p2p';
2
2
  import type { RPC } from '@chainsafe/libp2p-gossipsub/message';
3
3
  import type { DataTransform } from '@chainsafe/libp2p-gossipsub/types';
4
4
  import type { Message } from '@libp2p/interface';
5
+ /** Thrown when a Snappy-compressed response exceeds the allowed decompressed size. */
6
+ export declare class OversizedSnappyResponseError extends Error {
7
+ constructor(decompressedSize: number, maxSizeKb: number);
8
+ }
5
9
  /**
6
10
  * The function used to generate a gossipsub message id
7
11
  * We use the first 8 bytes of SHA256(data) for content addressing
@@ -17,7 +21,7 @@ export declare function msgIdToStrFn(msgId: Uint8Array): string;
17
21
  * @param message - The libp2p message
18
22
  * @returns The message identifier
19
23
  */
20
- export declare function getMsgIdFn(message: Message): Buffer<ArrayBuffer>;
24
+ export declare function getMsgIdFn({ topic, data }: Message): Promise<Uint8Array>;
21
25
  /**
22
26
  * Snappy transform for libp2p gossipsub
23
27
  */
@@ -47,4 +51,4 @@ export declare function readSnappyPreamble(data: Uint8Array): {
47
51
  decompressedSize: number;
48
52
  bytesRead: number;
49
53
  };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RpbmcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbmNvZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQWtCLFNBQVMsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRixPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQWFqRDs7O0dBR0c7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FLdkQ7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLEtBQUssRUFBRSxVQUFVLEdBQUcsTUFBTSxDQUl0RDtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQWdCLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyx1QkFLMUM7QUFhRDs7R0FFRztBQUNILHFCQUFhLGVBQWdCLFlBQVcsYUFBYTtJQUVqRCxPQUFPLENBQUMsVUFBVTtJQUNsQixPQUFPLENBQUMsZ0JBQWdCO0lBQ3hCLE9BQU8sQ0FBQyxNQUFNO0lBSGhCLFlBQ1UsVUFBVSxHQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFxQixFQUN6RCxnQkFBZ0IsR0FBRSxNQUFrQixFQUNwQyxNQUFNLHlDQUF1QyxFQUNuRDtJQUdKLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsR0FBRyxVQUFVLENBRy9EO0lBRU0sb0JBQW9CLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQVkvRjtJQUdELGlCQUFpQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsR0FBRyxVQUFVLENBRWpFO0lBRU0scUJBQXFCLENBQUMsSUFBSSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBS2pEO0NBQ0Y7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILHdCQUFnQixrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHO0lBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBbUNwRyJ9
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RpbmcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbmNvZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWtCLFNBQVMsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRixPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUtqRCxzRkFBc0Y7QUFDdEYscUJBQWEsNEJBQTZCLFNBQVEsS0FBSztJQUNyRCxZQUFZLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUd0RDtDQUNGO0FBV0Q7OztHQUdHO0FBQ0gsd0JBQWdCLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBS3ZEO0FBRUQsd0JBQWdCLFlBQVksQ0FBQyxLQUFLLEVBQUUsVUFBVSxHQUFHLE1BQU0sQ0FJdEQ7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FJOUU7QUFjRDs7R0FFRztBQUNILHFCQUFhLGVBQWdCLFlBQVcsYUFBYTtJQUVqRCxPQUFPLENBQUMsVUFBVTtJQUNsQixPQUFPLENBQUMsZ0JBQWdCO0lBQ3hCLE9BQU8sQ0FBQyxNQUFNO0lBSGhCLFlBQ1UsVUFBVSxHQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFxQixFQUN6RCxnQkFBZ0IsR0FBRSxNQUFrQixFQUNwQyxNQUFNLHlDQUF1QyxFQUNuRDtJQUdKLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsR0FBRyxVQUFVLENBRy9EO0lBRU0sb0JBQW9CLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQVkvRjtJQUdELGlCQUFpQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsR0FBRyxVQUFVLENBRWpFO0lBRU0scUJBQXFCLENBQUMsSUFBSSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBS2pEO0NBQ0Y7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILHdCQUFnQixrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHO0lBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBbUNwRyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/services/encoding.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,SAAS,EAAsB,MAAM,mBAAmB,CAAC;AAElF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAajD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAKvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAItD;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,uBAK1C;AAaD;;GAEG;AACH,qBAAa,eAAgB,YAAW,aAAa;IAEjD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,MAAM;IAHhB,YACU,UAAU,GAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAqB,EACzD,gBAAgB,GAAE,MAAkB,EACpC,MAAM,yCAAuC,EACnD;IAGJ,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAG/D;IAEM,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAY/F;IAGD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAEjE;IAEM,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;CACF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAmCpG"}
1
+ {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/services/encoding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,SAAS,EAAsB,MAAM,mBAAmB,CAAC;AAElF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAKjD,sFAAsF;AACtF,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAY,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAGtD;CACF;AAWD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAKvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAItD;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAI9E;AAcD;;GAEG;AACH,qBAAa,eAAgB,YAAW,aAAa;IAEjD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,MAAM;IAHhB,YACU,UAAU,GAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAqB,EACzD,gBAAgB,GAAE,MAAkB,EACpC,MAAM,yCAAuC,EACnD;IAGJ,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAG/D;IAEM,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAY/F;IAGD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAEjE;IAEM,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;CACF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAmCpG"}
@@ -1,9 +1,15 @@
1
1
  // Taken from lodestar: https://github.com/ChainSafe/lodestar
2
- import { sha256 } from '@aztec/foundation/crypto/sha256';
3
2
  import { createLogger } from '@aztec/foundation/log';
4
3
  import { MAX_TX_SIZE_KB, TopicType, getTopicFromString } from '@aztec/stdlib/p2p';
4
+ import { webcrypto } from 'node:crypto';
5
5
  import { compressSync, uncompressSync } from 'snappy';
6
6
  import xxhashFactory from 'xxhash-wasm';
7
+ /** Thrown when a Snappy-compressed response exceeds the allowed decompressed size. */ export class OversizedSnappyResponseError extends Error {
8
+ constructor(decompressedSize, maxSizeKb){
9
+ super(`Decompressed size ${decompressedSize} exceeds maximum allowed size of ${maxSizeKb}kb`);
10
+ this.name = 'OversizedSnappyResponseError';
11
+ }
12
+ }
7
13
  // Load WASM
8
14
  const xxhash = await xxhashFactory();
9
15
  // Use salt to prevent msgId from being mined for collisions
@@ -32,13 +38,13 @@ export function msgIdToStrFn(msgId) {
32
38
  *
33
39
  * @param message - The libp2p message
34
40
  * @returns The message identifier
35
- */ export function getMsgIdFn(message) {
36
- const { topic } = message;
37
- const vec = [
41
+ */ export async function getMsgIdFn({ topic, data }) {
42
+ const buffer = Buffer.concat([
38
43
  Buffer.from(topic),
39
- message.data
40
- ];
41
- return sha256(Buffer.concat(vec)).subarray(0, 20);
44
+ data
45
+ ]);
46
+ const hash = await webcrypto.subtle.digest('SHA-256', buffer);
47
+ return Buffer.from(hash.slice(0, 20));
42
48
  }
43
49
  const DefaultMaxSizesKb = {
44
50
  [TopicType.tx]: MAX_TX_SIZE_KB,
@@ -47,7 +53,8 @@ const DefaultMaxSizesKb = {
47
53
  // Proposals may carry some tx objects, so we allow a larger size capped at 10mb
48
54
  // Note this may not be enough for carrying all tx objects in a block
49
55
  [TopicType.block_proposal]: 1024 * 10,
50
- // TODO(palla/mbps): Check size for checkpoint proposal
56
+ // Checkpoint proposals carry almost the same data as a block proposal (see the lastBlockProposal)
57
+ // Only diff is an additional header, which is pretty small compared to the 10mb limit
51
58
  [TopicType.checkpoint_proposal]: 1024 * 10
52
59
  };
53
60
  /**
@@ -74,7 +81,7 @@ const DefaultMaxSizesKb = {
74
81
  const { decompressedSize } = readSnappyPreamble(data);
75
82
  if (decompressedSize > maxSizeKb * 1024) {
76
83
  this.logger.warn(`Decompressed size ${decompressedSize} exceeds maximum allowed size of ${maxSizeKb}kb`);
77
- throw new Error(`Decompressed size ${decompressedSize} exceeds maximum allowed size of ${maxSizeKb}kb`);
84
+ throw new OversizedSnappyResponseError(decompressedSize, maxSizeKb);
78
85
  }
79
86
  return Buffer.from(uncompressSync(data, {
80
87
  asBuffer: true
@@ -6,12 +6,20 @@ import { createTopicScoreParams } from '@chainsafe/libp2p-gossipsub/score';
6
6
  export type TopicScoringNetworkParams = {
7
7
  /** L2 slot duration in milliseconds */
8
8
  slotDurationMs: number;
9
+ /** L1 slot duration in seconds */
10
+ ethereumSlotDuration: number;
9
11
  /** Gossipsub heartbeat interval in milliseconds */
10
12
  heartbeatIntervalMs: number;
11
13
  /** Target committee size (number of validators expected to attest per slot) */
12
14
  targetCommitteeSize: number;
13
15
  /** Duration per block in milliseconds when building multiple blocks per slot. If undefined, single block mode. */
14
16
  blockDurationMs?: number;
17
+ /** Time budget in seconds reserved for L1 publishing. Defaults to ethereumSlotDuration. */
18
+ l1PublishingTime?: number;
19
+ /** One-way proposal/attestation propagation budget in seconds. */
20
+ p2pPropagationTime?: number;
21
+ /** Expected number of block proposals per slot for scoring override. 0 disables scoring, undefined falls back to blocksPerSlot - 1. */
22
+ expectedBlockProposalsPerSlot?: number;
15
23
  };
16
24
  /**
17
25
  * Calculates the number of blocks per slot based on timing parameters.
@@ -19,9 +27,14 @@ export type TopicScoringNetworkParams = {
19
27
  *
20
28
  * @param slotDurationMs - L2 slot duration in milliseconds
21
29
  * @param blockDurationMs - Duration per block in milliseconds (undefined = single block mode)
30
+ * @param opts - Shared checkpoint timing inputs used by the sequencer and validators
22
31
  * @returns Number of blocks per slot
23
32
  */
24
- export declare function calculateBlocksPerSlot(slotDurationMs: number, blockDurationMs: number | undefined): number;
33
+ export declare function calculateBlocksPerSlot(slotDurationMs: number, blockDurationMs: number | undefined, opts?: {
34
+ ethereumSlotDuration: number;
35
+ l1PublishingTime?: number;
36
+ p2pPropagationTime?: number;
37
+ }): number;
25
38
  /**
26
39
  * Determines the decay window in slots based on expected message frequency.
27
40
  * Low-frequency topics need longer decay windows to accumulate meaningful counter values.
@@ -59,25 +72,31 @@ export declare function computeConvergence(messagesPerHeartbeat: number, decay:
59
72
  * @returns Threshold value
60
73
  */
61
74
  export declare function computeThreshold(convergence: number, conservativeFactor: number): number;
75
+ /**
76
+ * Determines the effective expected block proposals per slot for scoring.
77
+ * Returns undefined if scoring should be disabled, or a positive number if enabled.
78
+ *
79
+ * @param blocksPerSlot - Number of blocks per slot from timetable
80
+ * @param expectedBlockProposalsPerSlot - Config override. 0 disables scoring, undefined falls back to blocksPerSlot - 1.
81
+ * @returns Positive number of expected block proposals, or undefined if scoring is disabled
82
+ */
83
+ export declare function getEffectiveBlockProposalsPerSlot(blocksPerSlot: number, expectedBlockProposalsPerSlot?: number): number | undefined;
62
84
  /**
63
85
  * Gets the expected messages per slot for a given topic type.
64
86
  *
65
87
  * @param topicType - The topic type
66
88
  * @param targetCommitteeSize - Target committee size
67
89
  * @param blocksPerSlot - Number of blocks per slot
90
+ * @param expectedBlockProposalsPerSlot - Override for block proposals. 0 disables scoring, undefined falls back to blocksPerSlot - 1.
68
91
  * @returns Expected messages per slot, or undefined if unpredictable
69
92
  */
70
- export declare function getExpectedMessagesPerSlot(topicType: TopicType, targetCommitteeSize: number, blocksPerSlot: number): number | undefined;
93
+ export declare function getExpectedMessagesPerSlot(topicType: TopicType, targetCommitteeSize: number, blocksPerSlot: number, expectedBlockProposalsPerSlot?: number): number | undefined;
71
94
  /** Maximum P1 score contribution per topic */
72
95
  export declare const MAX_P1_SCORE = 8;
73
96
  /** Maximum P2 score contribution per topic */
74
97
  export declare const MAX_P2_SCORE = 25;
75
98
  /** Maximum P3 penalty per topic (must exceed P1 + P2 to cause pruning) */
76
99
  export declare const MAX_P3_PENALTY_PER_TOPIC: number;
77
- /** Number of topics with P3 enabled in MBPS mode (block_proposal + checkpoint_proposal + checkpoint_attestation) */
78
- export declare const NUM_P3_ENABLED_TOPICS = 3;
79
- /** Total maximum P3b penalty across all topics after pruning in MBPS mode */
80
- export declare const TOTAL_MAX_P3B_PENALTY: number;
81
100
  /**
82
101
  * Factory class for creating gossipsub topic scoring parameters.
83
102
  * Computes shared values once and reuses them across all topics.
@@ -126,6 +145,10 @@ export declare class TopicScoreParamsFactory {
126
145
  * @param expectedPerSlot - Expected messages per slot
127
146
  */
128
147
  private createEnabledP3Params;
148
+ /** Number of topics with P3 enabled, computed from config. Always 2 (checkpoint_proposal + checkpoint_attestation) plus optionally block_proposal. */
149
+ get numP3EnabledTopics(): number;
150
+ /** Total maximum P3b penalty across all topics after pruning, computed from config */
151
+ get totalMaxP3bPenalty(): number;
129
152
  /**
130
153
  * Creates topic score parameters for a specific topic type.
131
154
  *
@@ -158,4 +181,4 @@ export declare function createTopicScoreParamsForTopic(topicType: TopicType, par
158
181
  * @returns Record mapping topic strings to their score parameters
159
182
  */
160
183
  export declare function createAllTopicScoreParams(protocolVersion: string, params: TopicScoringNetworkParams): Record<string, ReturnType<typeof createTopicScoreParams>>;
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWNfc2NvcmVfcGFyYW1zLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZ29zc2lwc3ViL3RvcGljX3Njb3JlX3BhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLG1CQUFtQixDQUFDO0FBR2pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTNFOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHlCQUF5QixHQUFHO0lBQ3RDLHVDQUF1QztJQUN2QyxjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLG1EQUFtRDtJQUNuRCxtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFDNUIsK0VBQStFO0lBQy9FLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztJQUM1QixrSEFBa0g7SUFDbEgsZUFBZSxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQzFCLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLHNCQUFzQixDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLE1BQU0sR0FBRyxTQUFTLEdBQUcsTUFBTSxDQUUxRztBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixtQkFBbUIsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQVEzRTtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQWdCLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQU9sSDtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFdEY7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFeEY7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLDBCQUEwQixDQUN4QyxTQUFTLEVBQUUsU0FBUyxFQUNwQixtQkFBbUIsRUFBRSxNQUFNLEVBQzNCLGFBQWEsRUFBRSxNQUFNLEdBQ3BCLE1BQU0sR0FBRyxTQUFTLENBc0JwQjtBQWtDRCw4Q0FBOEM7QUFDOUMsZUFBTyxNQUFNLFlBQVksSUFBSSxDQUFDO0FBZTlCLDhDQUE4QztBQUM5QyxlQUFPLE1BQU0sWUFBWSxLQUFLLENBQUM7QUEwQi9CLDBFQUEwRTtBQUMxRSxlQUFPLE1BQU0sd0JBQXdCLFFBQXFDLENBQUM7QUFFM0Usb0hBQW9IO0FBQ3BILGVBQU8sTUFBTSxxQkFBcUIsSUFBSSxDQUFDO0FBRXZDLDZFQUE2RTtBQUM3RSxlQUFPLE1BQU0scUJBQXFCLFFBQW1ELENBQUM7QUFFdEY7OztHQUdHO0FBQ0gscUJBQWEsdUJBQXVCO0lBMkN0QixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUExQ25DLGlFQUFpRTtJQUNqRSxTQUFnQixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBRXRDLHNEQUFzRDtJQUN0RCxTQUFnQixZQUFZLEVBQUUsTUFBTSxDQUFDO0lBRXJDLG9DQUFvQztJQUNwQyxTQUFnQixpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFFMUMsc0ZBQXNGO0lBQ3RGLFNBQWdCLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUUxQyxnRUFBZ0U7SUFDaEUsU0FBZ0IsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUV0QyxvRUFBb0U7SUFDcEUsU0FBZ0IsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBRXpDLGdEQUFnRDtJQUNoRCxTQUFnQiwyQkFBMkIsRUFBRSxNQUFNLENBQUM7SUFFcEQsMkRBQTJEO0lBQzNELFNBQWdCLHlCQUF5QixFQUFFLE1BQU0sQ0FBQztJQUVsRCxnRkFBZ0Y7SUFDaEYsU0FBZ0IsNEJBQTRCLEVBQUUsTUFBTSxDQUFDO0lBRXJELDJDQUEyQztJQUMzQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FZekI7SUFFRixZQUE2QixNQUFNLEVBQUUseUJBQXlCLEVBd0M3RDtJQUVEOzs7Ozs7O09BT0c7SUFDSCxPQUFPLENBQUMsc0JBQXNCO0lBMkI5Qjs7Ozs7Ozs7OztPQVVHO0lBQ0gsT0FBTyxDQUFDLHFCQUFxQjtJQXdDN0I7Ozs7O09BS0c7SUFDSCxjQUFjLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxzQkFBc0IsQ0FBQyxDQVM5RTtJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLGVBQWUsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsT0FBTyxzQkFBc0IsQ0FBQyxDQUFDLENBUzVGO0NBQ0Y7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLDhCQUE4QixDQUM1QyxTQUFTLEVBQUUsU0FBUyxFQUNwQixNQUFNLEVBQUUseUJBQXlCLEdBQ2hDLFVBQVUsQ0FBQyxPQUFPLHNCQUFzQixDQUFDLENBRzNDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLHlCQUF5QixDQUN2QyxlQUFlLEVBQUUsTUFBTSxFQUN2QixNQUFNLEVBQUUseUJBQXlCLEdBQ2hDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE9BQU8sc0JBQXNCLENBQUMsQ0FBQyxDQUczRCJ9
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWNfc2NvcmVfcGFyYW1zLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZ29zc2lwc3ViL3RvcGljX3Njb3JlX3BhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLG1CQUFtQixDQUFDO0FBR2pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTNFOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHlCQUF5QixHQUFHO0lBQ3RDLHVDQUF1QztJQUN2QyxjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLGtDQUFrQztJQUNsQyxvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFDN0IsbURBQW1EO0lBQ25ELG1CQUFtQixFQUFFLE1BQU0sQ0FBQztJQUM1QiwrRUFBK0U7SUFDL0UsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0lBQzVCLGtIQUFrSDtJQUNsSCxlQUFlLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDekIsMkZBQTJGO0lBQzNGLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzFCLGtFQUFrRTtJQUNsRSxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM1Qix1SUFBdUk7SUFDdkksNkJBQTZCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDeEMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQWdCLHNCQUFzQixDQUNwQyxjQUFjLEVBQUUsTUFBTSxFQUN0QixlQUFlLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDbkMsSUFBSSxDQUFDLEVBQUU7SUFDTCxvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFDN0IsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDMUIsa0JBQWtCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDN0IsR0FDQSxNQUFNLENBZVI7QUFFRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0IsbUJBQW1CLENBQUMsdUJB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
@@ -1 +1 @@
1
- {"version":3,"file":"topic_score_params.d.ts","sourceRoot":"","sources":["../../../src/services/gossipsub/topic_score_params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topic_score_params.d.ts","sourceRoot":"","sources":["../../../src/services/gossipsub/topic_score_params.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { TopicType, createTopicString } from '@aztec/stdlib/p2p';
2
- import { calculateMaxBlocksPerSlot } from '@aztec/stdlib/timetable';
2
+ import { createCheckpointTimingModel } from '@aztec/stdlib/timetable';
3
3
  import { createTopicScoreParams } from '@chainsafe/libp2p-gossipsub/score';
4
4
  /**
5
5
  * Calculates the number of blocks per slot based on timing parameters.
@@ -7,9 +7,22 @@ import { createTopicScoreParams } from '@chainsafe/libp2p-gossipsub/score';
7
7
  *
8
8
  * @param slotDurationMs - L2 slot duration in milliseconds
9
9
  * @param blockDurationMs - Duration per block in milliseconds (undefined = single block mode)
10
+ * @param opts - Shared checkpoint timing inputs used by the sequencer and validators
10
11
  * @returns Number of blocks per slot
11
- */ export function calculateBlocksPerSlot(slotDurationMs, blockDurationMs) {
12
- return calculateMaxBlocksPerSlot(slotDurationMs / 1000, blockDurationMs ? blockDurationMs / 1000 : undefined);
12
+ */ export function calculateBlocksPerSlot(slotDurationMs, blockDurationMs, opts) {
13
+ if (!opts) {
14
+ return createCheckpointTimingModel({
15
+ aztecSlotDuration: slotDurationMs / 1000,
16
+ blockDuration: blockDurationMs ? blockDurationMs / 1000 : undefined
17
+ }).calculateMaxBlocksPerSlot();
18
+ }
19
+ return createCheckpointTimingModel({
20
+ aztecSlotDuration: slotDurationMs / 1000,
21
+ ethereumSlotDuration: opts.ethereumSlotDuration,
22
+ blockDuration: blockDurationMs ? blockDurationMs / 1000 : undefined,
23
+ l1PublishingTime: opts.l1PublishingTime ?? opts.ethereumSlotDuration,
24
+ p2pPropagationTime: opts.p2pPropagationTime
25
+ }).calculateMaxBlocksPerSlot();
13
26
  }
14
27
  /**
15
28
  * Determines the decay window in slots based on expected message frequency.
@@ -62,22 +75,37 @@ import { createTopicScoreParams } from '@chainsafe/libp2p-gossipsub/score';
62
75
  */ export function computeThreshold(convergence, conservativeFactor) {
63
76
  return convergence * conservativeFactor;
64
77
  }
78
+ /**
79
+ * Determines the effective expected block proposals per slot for scoring.
80
+ * Returns undefined if scoring should be disabled, or a positive number if enabled.
81
+ *
82
+ * @param blocksPerSlot - Number of blocks per slot from timetable
83
+ * @param expectedBlockProposalsPerSlot - Config override. 0 disables scoring, undefined falls back to blocksPerSlot - 1.
84
+ * @returns Positive number of expected block proposals, or undefined if scoring is disabled
85
+ */ export function getEffectiveBlockProposalsPerSlot(blocksPerSlot, expectedBlockProposalsPerSlot) {
86
+ if (expectedBlockProposalsPerSlot !== undefined) {
87
+ return expectedBlockProposalsPerSlot > 0 ? expectedBlockProposalsPerSlot : undefined;
88
+ }
89
+ // Fallback: In MBPS mode, N-1 block proposals per slot (last one bundled with checkpoint)
90
+ // In single block mode (blocksPerSlot=1), this is 0 → disabled
91
+ const fallback = Math.max(0, blocksPerSlot - 1);
92
+ return fallback > 0 ? fallback : undefined;
93
+ }
65
94
  /**
66
95
  * Gets the expected messages per slot for a given topic type.
67
96
  *
68
97
  * @param topicType - The topic type
69
98
  * @param targetCommitteeSize - Target committee size
70
99
  * @param blocksPerSlot - Number of blocks per slot
100
+ * @param expectedBlockProposalsPerSlot - Override for block proposals. 0 disables scoring, undefined falls back to blocksPerSlot - 1.
71
101
  * @returns Expected messages per slot, or undefined if unpredictable
72
- */ export function getExpectedMessagesPerSlot(topicType, targetCommitteeSize, blocksPerSlot) {
102
+ */ export function getExpectedMessagesPerSlot(topicType, targetCommitteeSize, blocksPerSlot, expectedBlockProposalsPerSlot) {
73
103
  switch(topicType){
74
104
  case TopicType.tx:
75
105
  // Transactions are unpredictable - disable mesh message delivery scoring
76
106
  return undefined;
77
107
  case TopicType.block_proposal:
78
- // In MBPS mode, N-1 block proposals per slot (last one bundled with checkpoint)
79
- // In single block mode (blocksPerSlot=1), this is 0
80
- return Math.max(0, blocksPerSlot - 1);
108
+ return getEffectiveBlockProposalsPerSlot(blocksPerSlot, expectedBlockProposalsPerSlot);
81
109
  case TopicType.checkpoint_proposal:
82
110
  // Exactly 1 checkpoint proposal per slot
83
111
  return 1;
@@ -133,18 +161,18 @@ import { createTopicScoreParams } from '@chainsafe/libp2p-gossipsub/score';
133
161
  // |P3| > 8 + 25 = 33
134
162
  //
135
163
  // We set P3 max = -34 per topic (slightly more than P1+P2) to ensure pruning.
136
- // With 3 topics having P3 enabled, total P3b after pruning = -102.
164
+ // The number of P3-enabled topics depends on config: by default 2 (checkpoint_proposal +
165
+ // checkpoint_attestation), or 3 if block proposal scoring is enabled via
166
+ // expectedBlockProposalsPerSlot. Total P3b after pruning = -68 (2 topics) or -102 (3 topics).
137
167
  //
138
- // With appSpecificWeight=10, ~20 HighTolerance errors (-40 app score) plus max P3b (-102)
139
- // would cross gossipThreshold (-500). This keeps non-contributors from being disconnected
168
+ // With appSpecificWeight=10, ~20 HighTolerance errors (-40 app score) plus max P3b (-68 or -102)
169
+ // would not cross gossipThreshold (-500). This keeps non-contributors from being disconnected
140
170
  // unless they also accrue app-level penalties.
141
171
  //
142
172
  // The weight formula ensures max penalty equals MAX_P3_PENALTY_PER_TOPIC:
143
173
  // weight = MAX_P3_PENALTY_PER_TOPIC / threshold²
144
174
  // When deficit = threshold: penalty = threshold² * weight = MAX_P3_PENALTY_PER_TOPIC
145
175
  /** Maximum P3 penalty per topic (must exceed P1 + P2 to cause pruning) */ export const MAX_P3_PENALTY_PER_TOPIC = -(MAX_P1_SCORE + MAX_P2_SCORE + 1); // -34
146
- /** Number of topics with P3 enabled in MBPS mode (block_proposal + checkpoint_proposal + checkpoint_attestation) */ export const NUM_P3_ENABLED_TOPICS = 3;
147
- /** Total maximum P3b penalty across all topics after pruning in MBPS mode */ export const TOTAL_MAX_P3B_PENALTY = MAX_P3_PENALTY_PER_TOPIC * NUM_P3_ENABLED_TOPICS; // -102
148
176
  /**
149
177
  * Factory class for creating gossipsub topic scoring parameters.
150
178
  * Computes shared values once and reuses them across all topics.
@@ -164,7 +192,11 @@ import { createTopicScoreParams } from '@chainsafe/libp2p-gossipsub/score';
164
192
  this.params = params;
165
193
  const { slotDurationMs, heartbeatIntervalMs, blockDurationMs } = params;
166
194
  // Compute values that are the same for all topics
167
- this.blocksPerSlot = calculateBlocksPerSlot(slotDurationMs, blockDurationMs);
195
+ this.blocksPerSlot = calculateBlocksPerSlot(slotDurationMs, blockDurationMs, {
196
+ ethereumSlotDuration: params.ethereumSlotDuration,
197
+ l1PublishingTime: params.l1PublishingTime,
198
+ p2pPropagationTime: params.p2pPropagationTime
199
+ });
168
200
  this.heartbeatsPerSlot = slotDurationMs / heartbeatIntervalMs;
169
201
  this.invalidDecay = computeDecay(heartbeatIntervalMs, slotDurationMs, INVALID_DECAY_WINDOW_SLOTS);
170
202
  // P1: timeInMesh - Lodestar style slot-based normalization
@@ -274,13 +306,20 @@ import { createTopicScoreParams } from '@chainsafe/libp2p-gossipsub/score';
274
306
  meshFailurePenaltyDecay: decay
275
307
  });
276
308
  }
309
+ /** Number of topics with P3 enabled, computed from config. Always 2 (checkpoint_proposal + checkpoint_attestation) plus optionally block_proposal. */ get numP3EnabledTopics() {
310
+ const blockProposalP3Enabled = getEffectiveBlockProposalsPerSlot(this.blocksPerSlot, this.params.expectedBlockProposalsPerSlot) !== undefined;
311
+ return blockProposalP3Enabled ? 3 : 2;
312
+ }
313
+ /** Total maximum P3b penalty across all topics after pruning, computed from config */ get totalMaxP3bPenalty() {
314
+ return MAX_P3_PENALTY_PER_TOPIC * this.numP3EnabledTopics;
315
+ }
277
316
  /**
278
317
  * Creates topic score parameters for a specific topic type.
279
318
  *
280
319
  * @param topicType - The topic type
281
320
  * @returns TopicScoreParams for the topic
282
321
  */ createForTopic(topicType) {
283
- const expectedPerSlot = getExpectedMessagesPerSlot(topicType, this.params.targetCommitteeSize, this.blocksPerSlot);
322
+ const expectedPerSlot = getExpectedMessagesPerSlot(topicType, this.params.targetCommitteeSize, this.blocksPerSlot, this.params.expectedBlockProposalsPerSlot);
284
323
  // For unpredictable topics (tx) or topics with 0 expected messages, disable P3/P3b
285
324
  if (expectedPerSlot === undefined || expectedPerSlot === 0) {
286
325
  return this.createDisabledP3Params();
@@ -6,6 +6,7 @@ export declare class P2PInstrumentation {
6
6
  private messagePrevalidationCount;
7
7
  private messageLatency;
8
8
  private txReceivedCount;
9
+ private slowValidationCount;
9
10
  private aggLatencyHisto;
10
11
  private aggValidationHisto;
11
12
  private aggLatencyMetrics;
@@ -13,8 +14,9 @@ export declare class P2PInstrumentation {
13
14
  constructor(client: TelemetryClient, name: string);
14
15
  recordMessageValidation(topicName: TopicType, timerOrMs: Timer | number): void;
15
16
  incrementTxReceived(count: number): void;
17
+ incSlowValidation(topicName: TopicType): void;
16
18
  incMessagePrevalidationStatus(passed: boolean, topicName: TopicType | undefined): void;
17
19
  recordMessageLatency(topicName: TopicType, timerOrMs: Timer | number): void;
18
20
  private aggregate;
19
21
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvbGlicDJwL2luc3RydW1lbnRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQU1MLEtBQUssZUFBZSxFQUdyQixNQUFNLHlCQUF5QixDQUFDO0FBSWpDLHFCQUFhLGtCQUFrQjtJQUM3QixPQUFPLENBQUMseUJBQXlCLENBQVk7SUFDN0MsT0FBTyxDQUFDLHlCQUF5QixDQUFnQjtJQUNqRCxPQUFPLENBQUMsY0FBYyxDQUFZO0lBQ2xDLE9BQU8sQ0FBQyxlQUFlLENBQWdCO0lBRXZDLE9BQU8sQ0FBQyxlQUFlLENBQTZDO0lBQ3BFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBNkM7SUFFdkUsT0FBTyxDQUFDLGlCQUFpQixDQUFpRTtJQUMxRixPQUFPLENBQUMsb0JBQW9CLENBQWlFO0lBRTdGLFlBQVksTUFBTSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQTJDaEQ7SUFFTSx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEdBQUcsTUFBTSxRQVc3RTtJQUVNLG1CQUFtQixDQUFDLEtBQUssRUFBRSxNQUFNLFFBRXZDO0lBRU0sNkJBQTZCLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxHQUFHLFNBQVMsUUFFckY7SUFFTSxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEdBQUcsTUFBTSxRQVcxRTtJQUVELE9BQU8sQ0FBQyxTQUFTLENBa0JmO0NBQ0gifQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvbGlicDJwL2luc3RydW1lbnRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQU1MLEtBQUssZUFBZSxFQUdyQixNQUFNLHlCQUF5QixDQUFDO0FBSWpDLHFCQUFhLGtCQUFrQjtJQUM3QixPQUFPLENBQUMseUJBQXlCLENBQVk7SUFDN0MsT0FBTyxDQUFDLHlCQUF5QixDQUFnQjtJQUNqRCxPQUFPLENBQUMsY0FBYyxDQUFZO0lBQ2xDLE9BQU8sQ0FBQyxlQUFlLENBQWdCO0lBQ3ZDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBZ0I7SUFFM0MsT0FBTyxDQUFDLGVBQWUsQ0FBNkM7SUFDcEUsT0FBTyxDQUFDLGtCQUFrQixDQUE2QztJQUV2RSxPQUFPLENBQUMsaUJBQWlCLENBQWlFO0lBQzFGLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBaUU7SUFFN0YsWUFBWSxNQUFNLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLEVBb0RoRDtJQUVNLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssR0FBRyxNQUFNLFFBVzdFO0lBRU0sbUJBQW1CLENBQUMsS0FBSyxFQUFFLE1BQU0sUUFFdkM7SUFFTSxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxRQUU1QztJQUVNLDZCQUE2QixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsR0FBRyxTQUFTLFFBRXJGO0lBRU0sb0JBQW9CLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxHQUFHLE1BQU0sUUFXMUU7SUFFRCxPQUFPLENBQUMsU0FBUyxDQWtCZjtDQUNIIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../../src/services/libp2p/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAML,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAIjC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,yBAAyB,CAAgB;IACjD,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,eAAe,CAAgB;IAEvC,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,kBAAkB,CAA6C;IAEvE,OAAO,CAAC,iBAAiB,CAAiE;IAC1F,OAAO,CAAC,oBAAoB,CAAiE;IAE7F,YAAY,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EA2ChD;IAEM,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,QAW7E;IAEM,mBAAmB,CAAC,KAAK,EAAE,MAAM,QAEvC;IAEM,6BAA6B,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,QAErF;IAEM,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,QAW1E;IAED,OAAO,CAAC,SAAS,CAkBf;CACH"}
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../../src/services/libp2p/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAML,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAIjC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,yBAAyB,CAAgB;IACjD,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,mBAAmB,CAAgB;IAE3C,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,kBAAkB,CAA6C;IAEvE,OAAO,CAAC,iBAAiB,CAAiE;IAC1F,OAAO,CAAC,oBAAoB,CAAiE;IAE7F,YAAY,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAoDhD;IAEM,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,QAW7E;IAEM,mBAAmB,CAAC,KAAK,EAAE,MAAM,QAEvC;IAEM,iBAAiB,CAAC,SAAS,EAAE,SAAS,QAE5C;IAEM,6BAA6B,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,QAErF;IAEM,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,QAW1E;IAED,OAAO,CAAC,SAAS,CAkBf;CACH"}
@@ -6,6 +6,7 @@ export class P2PInstrumentation {
6
6
  messagePrevalidationCount;
7
7
  messageLatency;
8
8
  txReceivedCount;
9
+ slowValidationCount;
9
10
  aggLatencyHisto = new Map();
10
11
  aggValidationHisto = new Map();
11
12
  aggLatencyMetrics;
@@ -27,6 +28,14 @@ export class P2PInstrumentation {
27
28
  });
28
29
  this.messageLatency = meter.createHistogram(Metrics.P2P_GOSSIP_MESSAGE_LATENCY);
29
30
  this.txReceivedCount = createUpDownCounterWithDefault(meter, Metrics.P2P_GOSSIP_TX_RECEIVED_COUNT);
31
+ this.slowValidationCount = createUpDownCounterWithDefault(meter, Metrics.P2P_GOSSIP_SLOW_VALIDATION_COUNT, {
32
+ [Attributes.TOPIC_NAME]: [
33
+ TopicType.tx,
34
+ TopicType.block_proposal,
35
+ TopicType.checkpoint_proposal,
36
+ TopicType.checkpoint_attestation
37
+ ]
38
+ });
30
39
  this.aggLatencyMetrics = {
31
40
  avg: meter.createObservableGauge(Metrics.P2P_GOSSIP_AGG_MESSAGE_LATENCY_AVG),
32
41
  max: meter.createObservableGauge(Metrics.P2P_GOSSIP_AGG_MESSAGE_LATENCY_MAX),
@@ -64,6 +73,11 @@ export class P2PInstrumentation {
64
73
  incrementTxReceived(count) {
65
74
  this.txReceivedCount.add(count);
66
75
  }
76
+ incSlowValidation(topicName) {
77
+ this.slowValidationCount.add(1, {
78
+ [Attributes.TOPIC_NAME]: topicName
79
+ });
80
+ }
67
81
  incMessagePrevalidationStatus(passed, topicName) {
68
82
  this.messagePrevalidationCount.add(1, {
69
83
  [Attributes.TOPIC_NAME]: topicName,