@lodestar/beacon-node 1.50.0-dev.b4eaa62b30 → 1.50.0-dev.b726a05a4d

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 (370) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +6 -1
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/index.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/index.js +13 -0
  6. package/lib/api/impl/beacon/index.js.map +1 -1
  7. package/lib/api/impl/beacon/pool/index.js +4 -4
  8. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  9. package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
  10. package/lib/api/impl/beacon/state/index.js +28 -6
  11. package/lib/api/impl/beacon/state/index.js.map +1 -1
  12. package/lib/api/impl/debug/index.d.ts.map +1 -1
  13. package/lib/api/impl/debug/index.js +26 -18
  14. package/lib/api/impl/debug/index.js.map +1 -1
  15. package/lib/api/impl/validator/index.d.ts +1 -0
  16. package/lib/api/impl/validator/index.d.ts.map +1 -1
  17. package/lib/api/impl/validator/index.js +49 -1
  18. package/lib/api/impl/validator/index.js.map +1 -1
  19. package/lib/chain/archiveStore/archiveStore.d.ts +6 -0
  20. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  21. package/lib/chain/archiveStore/archiveStore.js +18 -24
  22. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  23. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts +2 -2
  24. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
  25. package/lib/chain/archiveStore/historicalState/getHistoricalState.js +5 -7
  26. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  27. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +1 -1
  28. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  29. package/lib/chain/archiveStore/historicalState/types.d.ts +2 -2
  30. package/lib/chain/archiveStore/historicalState/types.d.ts.map +1 -1
  31. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  32. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  33. package/lib/chain/archiveStore/interface.d.ts +1 -1
  34. package/lib/chain/archiveStore/interface.d.ts.map +1 -1
  35. package/lib/chain/archiveStore/utils/pruneHistory.d.ts +4 -1
  36. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +1 -1
  37. package/lib/chain/archiveStore/utils/pruneHistory.js +5 -3
  38. package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
  39. package/lib/chain/beaconProposerCache.d.ts +6 -0
  40. package/lib/chain/beaconProposerCache.d.ts.map +1 -1
  41. package/lib/chain/beaconProposerCache.js +16 -0
  42. package/lib/chain/beaconProposerCache.js.map +1 -1
  43. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  44. package/lib/chain/blocks/importBlock.js +18 -8
  45. package/lib/chain/blocks/importBlock.js.map +1 -1
  46. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +2 -1
  47. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
  48. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  49. package/lib/chain/blocks/verifyBlock.js +7 -7
  50. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  51. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +2 -1
  52. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
  53. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +5 -4
  54. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  55. package/lib/chain/chain.d.ts +10 -5
  56. package/lib/chain/chain.d.ts.map +1 -1
  57. package/lib/chain/chain.js +105 -36
  58. package/lib/chain/chain.js.map +1 -1
  59. package/lib/chain/emitter.d.ts +7 -1
  60. package/lib/chain/emitter.d.ts.map +1 -1
  61. package/lib/chain/emitter.js +5 -0
  62. package/lib/chain/emitter.js.map +1 -1
  63. package/lib/chain/errors/envelopeReconstructionError.d.ts +5 -0
  64. package/lib/chain/errors/envelopeReconstructionError.d.ts.map +1 -1
  65. package/lib/chain/errors/envelopeReconstructionError.js +2 -0
  66. package/lib/chain/errors/envelopeReconstructionError.js.map +1 -1
  67. package/lib/chain/errors/gossipValidation.d.ts +3 -1
  68. package/lib/chain/errors/gossipValidation.d.ts.map +1 -1
  69. package/lib/chain/errors/gossipValidation.js +2 -0
  70. package/lib/chain/errors/gossipValidation.js.map +1 -1
  71. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  72. package/lib/chain/forkChoice/index.js +2 -0
  73. package/lib/chain/forkChoice/index.js.map +1 -1
  74. package/lib/chain/initState.d.ts +2 -9
  75. package/lib/chain/initState.d.ts.map +1 -1
  76. package/lib/chain/initState.js +5 -38
  77. package/lib/chain/initState.js.map +1 -1
  78. package/lib/chain/interface.d.ts +5 -2
  79. package/lib/chain/interface.d.ts.map +1 -1
  80. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +4 -2
  81. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  82. package/lib/chain/opPools/aggregatedAttestationPool.js +30 -8
  83. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  84. package/lib/chain/opPools/opPool.d.ts +5 -4
  85. package/lib/chain/opPools/opPool.d.ts.map +1 -1
  86. package/lib/chain/opPools/opPool.js +60 -38
  87. package/lib/chain/opPools/opPool.js.map +1 -1
  88. package/lib/chain/opPools/proposerPreferencesPool.d.ts +8 -4
  89. package/lib/chain/opPools/proposerPreferencesPool.d.ts.map +1 -1
  90. package/lib/chain/opPools/proposerPreferencesPool.js +27 -12
  91. package/lib/chain/opPools/proposerPreferencesPool.js.map +1 -1
  92. package/lib/chain/opPools/utils.d.ts +15 -1
  93. package/lib/chain/opPools/utils.d.ts.map +1 -1
  94. package/lib/chain/opPools/utils.js +33 -1
  95. package/lib/chain/opPools/utils.js.map +1 -1
  96. package/lib/chain/options.d.ts +2 -1
  97. package/lib/chain/options.d.ts.map +1 -1
  98. package/lib/chain/options.js +1 -1
  99. package/lib/chain/options.js.map +1 -1
  100. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  101. package/lib/chain/prepareNextSlot.js +16 -5
  102. package/lib/chain/prepareNextSlot.js.map +1 -1
  103. package/lib/chain/produceBlock/computeNewStateRoot.js +1 -1
  104. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  105. package/lib/chain/produceBlock/produceBlockBody.d.ts +11 -1
  106. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  107. package/lib/chain/produceBlock/produceBlockBody.js +46 -30
  108. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  109. package/lib/chain/regen/regen.d.ts +2 -0
  110. package/lib/chain/regen/regen.d.ts.map +1 -1
  111. package/lib/chain/regen/regen.js +10 -4
  112. package/lib/chain/regen/regen.js.map +1 -1
  113. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -0
  114. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  115. package/lib/chain/seenCache/seenGossipBlockInput.js +21 -0
  116. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  117. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +9 -2
  118. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
  119. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +23 -13
  120. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
  121. package/lib/chain/shufflingCache.d.ts +18 -8
  122. package/lib/chain/shufflingCache.d.ts.map +1 -1
  123. package/lib/chain/shufflingCache.js +72 -18
  124. package/lib/chain/shufflingCache.js.map +1 -1
  125. package/lib/chain/validation/attesterSlashing.d.ts +4 -4
  126. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  127. package/lib/chain/validation/attesterSlashing.js +3 -0
  128. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  129. package/lib/chain/validation/proposerSlashing.d.ts +3 -3
  130. package/lib/chain/validation/proposerSlashing.d.ts.map +1 -1
  131. package/lib/chain/validation/proposerSlashing.js +3 -0
  132. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  133. package/lib/chain/validatorMonitor.d.ts +5 -1
  134. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  135. package/lib/chain/validatorMonitor.js +64 -54
  136. package/lib/chain/validatorMonitor.js.map +1 -1
  137. package/lib/db/beacon.d.ts +4 -1
  138. package/lib/db/beacon.d.ts.map +1 -1
  139. package/lib/db/beacon.js +8 -1
  140. package/lib/db/beacon.js.map +1 -1
  141. package/lib/db/buckets.d.ts +3 -1
  142. package/lib/db/buckets.d.ts.map +1 -1
  143. package/lib/db/buckets.js +2 -0
  144. package/lib/db/buckets.js.map +1 -1
  145. package/lib/db/interface.d.ts +4 -1
  146. package/lib/db/interface.d.ts.map +1 -1
  147. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  148. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  149. package/lib/db/repositories/earliestAvailableSlot.d.ts +11 -0
  150. package/lib/db/repositories/earliestAvailableSlot.d.ts.map +1 -0
  151. package/lib/db/repositories/earliestAvailableSlot.js +19 -0
  152. package/lib/db/repositories/earliestAvailableSlot.js.map +1 -0
  153. package/lib/db/repositories/index.d.ts +1 -0
  154. package/lib/db/repositories/index.d.ts.map +1 -1
  155. package/lib/db/repositories/index.js +1 -0
  156. package/lib/db/repositories/index.js.map +1 -1
  157. package/lib/db/repositories/proposerPreferences.d.ts +14 -0
  158. package/lib/db/repositories/proposerPreferences.d.ts.map +1 -0
  159. package/lib/db/repositories/proposerPreferences.js +21 -0
  160. package/lib/db/repositories/proposerPreferences.js.map +1 -0
  161. package/lib/db/repositories/proposerSlashing.d.ts +1 -0
  162. package/lib/db/repositories/proposerSlashing.d.ts.map +1 -1
  163. package/lib/db/repositories/proposerSlashing.js +5 -1
  164. package/lib/db/repositories/proposerSlashing.js.map +1 -1
  165. package/lib/execution/engine/blobVersionedHashes.d.ts +9 -0
  166. package/lib/execution/engine/blobVersionedHashes.d.ts.map +1 -0
  167. package/lib/execution/engine/blobVersionedHashes.js +74 -0
  168. package/lib/execution/engine/blobVersionedHashes.js.map +1 -0
  169. package/lib/execution/engine/disabled.d.ts +0 -2
  170. package/lib/execution/engine/disabled.d.ts.map +1 -1
  171. package/lib/execution/engine/disabled.js +0 -6
  172. package/lib/execution/engine/disabled.js.map +1 -1
  173. package/lib/execution/engine/http.d.ts +46 -16
  174. package/lib/execution/engine/http.d.ts.map +1 -1
  175. package/lib/execution/engine/http.js +236 -213
  176. package/lib/execution/engine/http.js.map +1 -1
  177. package/lib/execution/engine/index.d.ts +3 -2
  178. package/lib/execution/engine/index.d.ts.map +1 -1
  179. package/lib/execution/engine/index.js +33 -8
  180. package/lib/execution/engine/index.js.map +1 -1
  181. package/lib/execution/engine/interface.d.ts +2 -4
  182. package/lib/execution/engine/interface.d.ts.map +1 -1
  183. package/lib/execution/engine/jsonRpcTransport.d.ts +25 -0
  184. package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -0
  185. package/lib/execution/engine/jsonRpcTransport.js +158 -0
  186. package/lib/execution/engine/jsonRpcTransport.js.map +1 -0
  187. package/lib/execution/engine/mock.d.ts +0 -2
  188. package/lib/execution/engine/mock.d.ts.map +1 -1
  189. package/lib/execution/engine/mock.js +0 -8
  190. package/lib/execution/engine/mock.js.map +1 -1
  191. package/lib/execution/engine/restHttpClient.d.ts +71 -0
  192. package/lib/execution/engine/restHttpClient.d.ts.map +1 -0
  193. package/lib/execution/engine/restHttpClient.js +201 -0
  194. package/lib/execution/engine/restHttpClient.js.map +1 -0
  195. package/lib/execution/engine/restTransport.d.ts +46 -0
  196. package/lib/execution/engine/restTransport.d.ts.map +1 -0
  197. package/lib/execution/engine/restTransport.js +399 -0
  198. package/lib/execution/engine/restTransport.js.map +1 -0
  199. package/lib/execution/engine/sszTypes.d.ts +1261 -0
  200. package/lib/execution/engine/sszTypes.d.ts.map +1 -0
  201. package/lib/execution/engine/sszTypes.js +216 -0
  202. package/lib/execution/engine/sszTypes.js.map +1 -0
  203. package/lib/execution/engine/transport.d.ts +39 -0
  204. package/lib/execution/engine/transport.d.ts.map +1 -0
  205. package/lib/execution/engine/transport.js +2 -0
  206. package/lib/execution/engine/transport.js.map +1 -0
  207. package/lib/execution/engine/types.d.ts +2 -8
  208. package/lib/execution/engine/types.d.ts.map +1 -1
  209. package/lib/execution/engine/types.js +24 -57
  210. package/lib/execution/engine/types.js.map +1 -1
  211. package/lib/execution/engine/utils.d.ts.map +1 -1
  212. package/lib/execution/engine/utils.js +9 -2
  213. package/lib/execution/engine/utils.js.map +1 -1
  214. package/lib/index.d.ts +1 -1
  215. package/lib/index.d.ts.map +1 -1
  216. package/lib/index.js +1 -1
  217. package/lib/index.js.map +1 -1
  218. package/lib/metrics/metrics/lodestar.d.ts +10 -0
  219. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  220. package/lib/metrics/metrics/lodestar.js +22 -0
  221. package/lib/metrics/metrics/lodestar.js.map +1 -1
  222. package/lib/metrics/metrics.d.ts +7 -3
  223. package/lib/metrics/metrics.d.ts.map +1 -1
  224. package/lib/metrics/metrics.js +4 -4
  225. package/lib/metrics/metrics.js.map +1 -1
  226. package/lib/network/core/events.d.ts +5 -1
  227. package/lib/network/core/events.d.ts.map +1 -1
  228. package/lib/network/core/events.js +8 -0
  229. package/lib/network/core/events.js.map +1 -1
  230. package/lib/network/metadata.d.ts +1 -1
  231. package/lib/network/metadata.d.ts.map +1 -1
  232. package/lib/network/metadata.js +17 -17
  233. package/lib/network/metadata.js.map +1 -1
  234. package/lib/network/peers/datastore.d.ts +9 -9
  235. package/lib/network/peers/datastore.d.ts.map +1 -1
  236. package/lib/network/peers/datastore.js +36 -36
  237. package/lib/network/peers/datastore.js.map +1 -1
  238. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  239. package/lib/network/processor/gossipHandlers.js +67 -68
  240. package/lib/network/processor/gossipHandlers.js.map +1 -1
  241. package/lib/network/processor/gossipValidatorFn.d.ts +7 -3
  242. package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
  243. package/lib/network/processor/gossipValidatorFn.js +7 -3
  244. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  245. package/lib/network/processor/index.d.ts +9 -0
  246. package/lib/network/processor/index.d.ts.map +1 -1
  247. package/lib/network/processor/index.js +77 -10
  248. package/lib/network/processor/index.js.map +1 -1
  249. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts.map +1 -1
  250. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js +41 -26
  251. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js.map +1 -1
  252. package/lib/node/nodejs.d.ts +3 -1
  253. package/lib/node/nodejs.d.ts.map +1 -1
  254. package/lib/node/nodejs.js +27 -4
  255. package/lib/node/nodejs.js.map +1 -1
  256. package/lib/node/options.d.ts +3 -2
  257. package/lib/node/options.d.ts.map +1 -1
  258. package/lib/node/options.js +2 -2
  259. package/lib/node/options.js.map +1 -1
  260. package/lib/sync/range/batch.d.ts +11 -5
  261. package/lib/sync/range/batch.d.ts.map +1 -1
  262. package/lib/sync/range/batch.js +21 -17
  263. package/lib/sync/range/batch.js.map +1 -1
  264. package/lib/sync/range/chain.d.ts +4 -4
  265. package/lib/sync/range/chain.d.ts.map +1 -1
  266. package/lib/sync/range/chain.js +12 -6
  267. package/lib/sync/range/chain.js.map +1 -1
  268. package/lib/sync/range/range.d.ts.map +1 -1
  269. package/lib/sync/range/range.js +75 -29
  270. package/lib/sync/range/range.js.map +1 -1
  271. package/lib/sync/unknownBlock.d.ts +14 -7
  272. package/lib/sync/unknownBlock.d.ts.map +1 -1
  273. package/lib/sync/unknownBlock.js +132 -66
  274. package/lib/sync/unknownBlock.js.map +1 -1
  275. package/lib/sync/utils/downloadByRange.d.ts +38 -14
  276. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  277. package/lib/sync/utils/downloadByRange.js +84 -39
  278. package/lib/sync/utils/downloadByRange.js.map +1 -1
  279. package/lib/util/asyncIterableToEvents.d.ts +10 -2
  280. package/lib/util/asyncIterableToEvents.d.ts.map +1 -1
  281. package/lib/util/asyncIterableToEvents.js +29 -3
  282. package/lib/util/asyncIterableToEvents.js.map +1 -1
  283. package/lib/util/execution.d.ts +11 -11
  284. package/lib/util/execution.d.ts.map +1 -1
  285. package/lib/util/execution.js +6 -2
  286. package/lib/util/execution.js.map +1 -1
  287. package/lib/util/metadata.d.ts.map +1 -1
  288. package/lib/util/metadata.js +2 -1
  289. package/lib/util/metadata.js.map +1 -1
  290. package/package.json +18 -17
  291. package/src/api/impl/beacon/blocks/index.ts +7 -4
  292. package/src/api/impl/beacon/index.ts +15 -0
  293. package/src/api/impl/beacon/pool/index.ts +4 -4
  294. package/src/api/impl/beacon/state/index.ts +43 -6
  295. package/src/api/impl/debug/index.ts +28 -19
  296. package/src/api/impl/validator/index.ts +61 -2
  297. package/src/chain/archiveStore/archiveStore.ts +26 -26
  298. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +5 -7
  299. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +1 -1
  300. package/src/chain/archiveStore/historicalState/types.ts +2 -2
  301. package/src/chain/archiveStore/historicalState/worker.ts +1 -2
  302. package/src/chain/archiveStore/interface.ts +1 -1
  303. package/src/chain/archiveStore/utils/pruneHistory.ts +9 -4
  304. package/src/chain/beaconProposerCache.ts +19 -1
  305. package/src/chain/blocks/importBlock.ts +21 -7
  306. package/src/chain/blocks/payloadEnvelopeInput/types.ts +2 -1
  307. package/src/chain/blocks/verifyBlock.ts +8 -6
  308. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +6 -3
  309. package/src/chain/chain.ts +135 -38
  310. package/src/chain/emitter.ts +7 -1
  311. package/src/chain/errors/envelopeReconstructionError.ts +3 -0
  312. package/src/chain/errors/gossipValidation.ts +2 -0
  313. package/src/chain/forkChoice/index.ts +2 -0
  314. package/src/chain/initState.ts +8 -60
  315. package/src/chain/interface.ts +5 -2
  316. package/src/chain/opPools/aggregatedAttestationPool.ts +34 -10
  317. package/src/chain/opPools/opPool.ts +89 -46
  318. package/src/chain/opPools/proposerPreferencesPool.ts +34 -11
  319. package/src/chain/opPools/utils.ts +62 -3
  320. package/src/chain/options.ts +3 -3
  321. package/src/chain/prepareNextSlot.ts +21 -6
  322. package/src/chain/produceBlock/computeNewStateRoot.ts +1 -1
  323. package/src/chain/produceBlock/produceBlockBody.ts +76 -35
  324. package/src/chain/regen/regen.ts +12 -4
  325. package/src/chain/seenCache/seenGossipBlockInput.ts +23 -0
  326. package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +31 -13
  327. package/src/chain/shufflingCache.ts +84 -22
  328. package/src/chain/validation/attesterSlashing.ts +7 -4
  329. package/src/chain/validation/proposerSlashing.ts +7 -4
  330. package/src/chain/validatorMonitor.ts +75 -57
  331. package/src/db/beacon.ts +8 -0
  332. package/src/db/buckets.ts +2 -0
  333. package/src/db/interface.ts +4 -0
  334. package/src/db/repositories/earliestAvailableSlot.ts +19 -0
  335. package/src/db/repositories/index.ts +1 -0
  336. package/src/db/repositories/proposerPreferences.ts +23 -0
  337. package/src/db/repositories/proposerSlashing.ts +6 -1
  338. package/src/execution/engine/blobVersionedHashes.ts +72 -0
  339. package/src/execution/engine/disabled.ts +0 -8
  340. package/src/execution/engine/http.ts +304 -300
  341. package/src/execution/engine/index.ts +41 -7
  342. package/src/execution/engine/interface.ts +2 -6
  343. package/src/execution/engine/jsonRpcTransport.ts +247 -0
  344. package/src/execution/engine/mock.ts +1 -19
  345. package/src/execution/engine/restHttpClient.ts +269 -0
  346. package/src/execution/engine/restTransport.ts +544 -0
  347. package/src/execution/engine/sszTypes.ts +354 -0
  348. package/src/execution/engine/transport.ts +61 -0
  349. package/src/execution/engine/types.ts +34 -84
  350. package/src/execution/engine/utils.ts +12 -2
  351. package/src/index.ts +1 -1
  352. package/src/metrics/metrics/lodestar.ts +23 -0
  353. package/src/metrics/metrics.ts +21 -6
  354. package/src/network/core/events.ts +16 -1
  355. package/src/network/metadata.ts +17 -17
  356. package/src/network/peers/datastore.ts +36 -36
  357. package/src/network/processor/gossipHandlers.ts +98 -81
  358. package/src/network/processor/gossipValidatorFn.ts +13 -3
  359. package/src/network/processor/index.ts +89 -10
  360. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts +42 -28
  361. package/src/node/nodejs.ts +35 -3
  362. package/src/node/options.ts +10 -1
  363. package/src/sync/range/batch.ts +25 -19
  364. package/src/sync/range/chain.ts +15 -8
  365. package/src/sync/range/range.ts +76 -30
  366. package/src/sync/unknownBlock.ts +156 -71
  367. package/src/sync/utils/downloadByRange.ts +123 -58
  368. package/src/util/asyncIterableToEvents.ts +44 -5
  369. package/src/util/execution.ts +17 -9
  370. package/src/util/metadata.ts +2 -1
@@ -3,8 +3,10 @@ import { EventDirection } from "../events.js";
3
3
  export var ReqRespBridgeEvent;
4
4
  (function (ReqRespBridgeEvent) {
5
5
  ReqRespBridgeEvent["outgoingRequest"] = "reqresp.outgoingRequest";
6
+ ReqRespBridgeEvent["outgoingRequestCancel"] = "reqresp.outgoingRequestCancel";
6
7
  ReqRespBridgeEvent["outgoingResponse"] = "reqresp.outgoingResponse";
7
8
  ReqRespBridgeEvent["incomingRequest"] = "reqresp.incomingRequest";
9
+ ReqRespBridgeEvent["incomingRequestCancel"] = "reqresp.incomingRequestCancel";
8
10
  ReqRespBridgeEvent["incomingResponse"] = "reqresp.incomingResponse";
9
11
  })(ReqRespBridgeEvent || (ReqRespBridgeEvent = {}));
10
12
  export class ReqRespBridgeEventBus extends EventEmitter {
@@ -12,23 +14,29 @@ export class ReqRespBridgeEventBus extends EventEmitter {
12
14
  // NOTE: If the same event is on this two arrays it can create an infinite cycle
13
15
  export const reqRespBridgeEventDirection = {
14
16
  [ReqRespBridgeEvent.outgoingRequest]: EventDirection.mainToWorker,
17
+ [ReqRespBridgeEvent.outgoingRequestCancel]: EventDirection.mainToWorker,
15
18
  [ReqRespBridgeEvent.outgoingResponse]: EventDirection.mainToWorker,
16
19
  [ReqRespBridgeEvent.incomingRequest]: EventDirection.workerToMain,
20
+ [ReqRespBridgeEvent.incomingRequestCancel]: EventDirection.workerToMain,
17
21
  [ReqRespBridgeEvent.incomingResponse]: EventDirection.workerToMain,
18
22
  };
19
23
  export function getReqRespBridgeReqEvents(events) {
20
24
  return {
21
25
  emitRequest: (data) => events.emit(ReqRespBridgeEvent.outgoingRequest, data),
26
+ emitRequestCancel: (data) => events.emit(ReqRespBridgeEvent.outgoingRequestCancel, data),
22
27
  emitResponse: (data) => events.emit(ReqRespBridgeEvent.incomingResponse, data),
23
28
  onRequest: (cb) => events.on(ReqRespBridgeEvent.outgoingRequest, cb),
29
+ onRequestCancel: (cb) => events.on(ReqRespBridgeEvent.outgoingRequestCancel, cb),
24
30
  onResponse: (cb) => events.on(ReqRespBridgeEvent.incomingResponse, cb),
25
31
  };
26
32
  }
27
33
  export function getReqRespBridgeRespEvents(events) {
28
34
  return {
29
35
  emitRequest: (data) => events.emit(ReqRespBridgeEvent.incomingRequest, data),
36
+ emitRequestCancel: (data) => events.emit(ReqRespBridgeEvent.incomingRequestCancel, data),
30
37
  emitResponse: (data) => events.emit(ReqRespBridgeEvent.outgoingResponse, data),
31
38
  onRequest: (cb) => events.on(ReqRespBridgeEvent.incomingRequest, cb),
39
+ onRequestCancel: (cb) => events.on(ReqRespBridgeEvent.incomingRequestCancel, cb),
32
40
  onResponse: (cb) => events.on(ReqRespBridgeEvent.outgoingResponse, cb),
33
41
  };
34
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/network/core/events.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AAIvC,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAG5C,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,iEAA2C,CAAA;IAC3C,mEAA6C,CAAA;IAC7C,iEAA2C,CAAA;IAC3C,mEAA6C,CAAA;AAC/C,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAWD,MAAM,OAAO,qBAAsB,SAAS,YAAiD;CAAG;AAEhG,gFAAgF;AAChF,MAAM,CAAC,MAAM,2BAA2B,GAA+C;IACrF,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,cAAc,CAAC,YAAY;IACjE,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC,YAAY;IAClE,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,cAAc,CAAC,YAAY;IACjE,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC,YAAY;CACnE,CAAC;AAEF,MAAM,UAAU,yBAAyB,CACvC,MAA8B;IAE9B,OAAO;QACL,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,IAAI,CAAC;QAC5E,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,IAAI,CAAC;QAC9E,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,eAAe,EAAE,EAAE,CAAC;QACpE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,EAAE,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAA8B;IAE9B,OAAO;QACL,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,IAAI,CAAC;QAC5E,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,IAAI,CAAC;QAC9E,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,eAAe,EAAE,EAAE,CAAC;QACpE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,EAAE,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,MAAM,CAAN,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACtC,6DAA6B,CAAA;IAC7B,2EAA2C,CAAA;AAC7C,CAAC,EAHW,4BAA4B,KAA5B,4BAA4B,QAGvC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/network/core/events.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ export declare class MetadataController {
33
33
  private onSetValue;
34
34
  private networkConfig;
35
35
  private logger;
36
- private _metadata;
36
+ private metadata;
37
37
  constructor(opts: MetadataOpts, modules: MetadataModules);
38
38
  upstreamValues(currentEpoch: Epoch): void;
39
39
  get seqNumber(): bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/network/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAM,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAC,MAAM,EAAQ,MAAM,iBAAiB,CAAC;AAI9C,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAEjD,oBAAY,MAAM;IAChB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AACD,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAgB;IAEjC,YAAY,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAQvD;IAED,cAAc,CAAC,YAAY,EAAE,KAAK,GAAG,IAAI,CAgBxC;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAI9B;IAED,IAAI,OAAO,IAAI,QAAQ,CAEtB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,EAI5B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAQ9C;IAED,0FAA0F;IAC1F,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAExB;IAED;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,CAmB9C;CACF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,CAatF"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/network/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAM,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAC,MAAM,EAAQ,MAAM,iBAAiB,CAAC;AAI9C,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAEjD,oBAAY,MAAM;IAChB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AACD,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAgB;IAEhC,YAAY,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAQvD;IAED,cAAc,CAAC,YAAY,EAAE,KAAK,GAAG,IAAI,CAgBxC;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAI9B;IAED,IAAI,OAAO,IAAI,QAAQ,CAEtB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,EAI5B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAQ9C;IAED,0FAA0F;IAC1F,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAExB;IAED;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,CAmB9C;CACF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,CAatF"}
@@ -29,12 +29,12 @@ export class MetadataController {
29
29
  onSetValue;
30
30
  networkConfig;
31
31
  logger;
32
- _metadata;
32
+ metadata;
33
33
  constructor(opts, modules) {
34
34
  this.networkConfig = modules.networkConfig;
35
35
  this.logger = modules.logger;
36
36
  this.onSetValue = modules.onSetValue;
37
- this._metadata = opts.metadata ?? {
37
+ this.metadata = opts.metadata ?? {
38
38
  ...ssz.fulu.Metadata.defaultValue(),
39
39
  custodyGroupCount: modules.networkConfig.custodyConfig.targetCustodyGroupCount,
40
40
  };
@@ -42,50 +42,50 @@ export class MetadataController {
42
42
  upstreamValues(currentEpoch) {
43
43
  // updateEth2Field() MUST be called with clock epoch
44
44
  this.updateEth2Field(currentEpoch);
45
- this.onSetValue(ENRKey.attnets, ssz.phase0.AttestationSubnets.serialize(this._metadata.attnets));
45
+ this.onSetValue(ENRKey.attnets, ssz.phase0.AttestationSubnets.serialize(this.metadata.attnets));
46
46
  const config = this.networkConfig.config;
47
47
  if (config.getForkSeq(computeStartSlotAtEpoch(currentEpoch)) >= ForkSeq.altair) {
48
48
  // Only persist syncnets if altair fork is already activated. If currentFork is altair but head is phase0
49
49
  // adding syncnets to the ENR is not a problem, we will just have a useless field for a few hours.
50
- this.onSetValue(ENRKey.syncnets, ssz.altair.SyncSubnets.serialize(this._metadata.syncnets));
50
+ this.onSetValue(ENRKey.syncnets, ssz.altair.SyncSubnets.serialize(this.metadata.syncnets));
51
51
  }
52
52
  // Set CGC regardless of fork. It may be useful to clients before Fulu, and will be ignored otherwise.
53
- this.onSetValue(ENRKey.cgc, serializeCgc(this._metadata.custodyGroupCount));
53
+ this.onSetValue(ENRKey.cgc, serializeCgc(this.metadata.custodyGroupCount));
54
54
  }
55
55
  get seqNumber() {
56
- return this._metadata.seqNumber;
56
+ return this.metadata.seqNumber;
57
57
  }
58
58
  get syncnets() {
59
- return this._metadata.syncnets;
59
+ return this.metadata.syncnets;
60
60
  }
61
61
  set syncnets(syncnets) {
62
62
  this.onSetValue(ENRKey.syncnets, ssz.altair.SyncSubnets.serialize(syncnets));
63
- this._metadata.seqNumber++;
64
- this._metadata.syncnets = syncnets;
63
+ this.metadata.seqNumber++;
64
+ this.metadata.syncnets = syncnets;
65
65
  }
66
66
  get attnets() {
67
- return this._metadata.attnets;
67
+ return this.metadata.attnets;
68
68
  }
69
69
  set attnets(attnets) {
70
70
  this.onSetValue(ENRKey.attnets, ssz.phase0.AttestationSubnets.serialize(attnets));
71
- this._metadata.seqNumber++;
72
- this._metadata.attnets = attnets;
71
+ this.metadata.seqNumber++;
72
+ this.metadata.attnets = attnets;
73
73
  }
74
74
  get custodyGroupCount() {
75
- return this._metadata.custodyGroupCount;
75
+ return this.metadata.custodyGroupCount;
76
76
  }
77
77
  set custodyGroupCount(custodyGroupCount) {
78
- if (custodyGroupCount === this._metadata.custodyGroupCount) {
78
+ if (custodyGroupCount === this.metadata.custodyGroupCount) {
79
79
  return;
80
80
  }
81
81
  this.onSetValue(ENRKey.cgc, serializeCgc(custodyGroupCount));
82
82
  this.logger.debug("Updated cgc field in ENR", { custodyGroupCount });
83
- this._metadata.seqNumber++;
84
- this._metadata.custodyGroupCount = custodyGroupCount;
83
+ this.metadata.seqNumber++;
84
+ this.metadata.custodyGroupCount = custodyGroupCount;
85
85
  }
86
86
  /** Consumers that need the phase0.Metadata type can just ignore the .syncnets property */
87
87
  get json() {
88
- return this._metadata;
88
+ return this.metadata;
89
89
  }
90
90
  /**
91
91
  * From spec:
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/network/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/network/metadata.ts"],"names":[],"mappings":"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"}
@@ -8,23 +8,23 @@ type AwaitGenerator<T, TReturn = any, TNext = any> = Generator<T, TReturn, TNext
8
8
  * This has a memory issue because all peer data stays in memory and loaded at startup time
9
9
  * This is written for libp2p >=0.35, we maintain the same mechanism but with bounded data structure
10
10
  * This datastore includes a memory datastore and fallback to db datastore
11
- * Use an in-memory datastore with last accessed time and _maxMemoryItems, on start it's empty (lazy load)
11
+ * Use an in-memory datastore with last accessed time and maxMemoryItems, on start it's empty (lazy load)
12
12
  * - get: Search in-memory datastore first, if not found search from db.
13
13
  * - If found from db, add back to the in-memory datastore
14
14
  * - Update lastAccessedMs
15
- * - put: move oldest items from memory to db if there are more than _maxMemoryItems items in memory
16
- * - update memory datastore, only update db datastore if there are at least _threshold dirty items
15
+ * - put: move oldest items from memory to db if there are more than maxMemoryItems items in memory
16
+ * - update memory datastore, only update db datastore if there are at least threshold dirty items
17
17
  * - Update lastAccessedMs
18
18
  */
19
19
  export declare class Eth2PeerDataStore extends BaseDatastore {
20
- private _dbDatastore;
21
- private _memoryDatastore;
20
+ private dbDatastore;
21
+ private memoryDatastore;
22
22
  /** Same to PersistentPeerStore of the old libp2p implementation */
23
- private _dirtyItems;
23
+ private dirtyItems;
24
24
  /** If there are more dirty items than threshold, commit data to db */
25
- private _threshold;
25
+ private threshold;
26
26
  /** If there are more memory items than this, prune oldest ones from memory and move to db */
27
- private _maxMemoryItems;
27
+ private maxMemoryItems;
28
28
  constructor(dbDatastore: LevelDatastore | string, { threshold, maxMemoryItems }?: {
29
29
  threshold?: number | undefined;
30
30
  maxMemoryItems?: number | undefined;
@@ -34,7 +34,7 @@ export declare class Eth2PeerDataStore extends BaseDatastore {
34
34
  put(key: Key, val: Uint8Array, _options?: AbortOptions): Promise<Key>;
35
35
  /**
36
36
  * Same interface to put with "fromDb" option, if this item is updated back from db
37
- * Move oldest items from memory data store to db if it's over this._maxMemoryItems
37
+ * Move oldest items from memory data store to db if it's over this.maxMemoryItems
38
38
  */
39
39
  _put(key: Key, val: Uint8Array, fromDb?: boolean): Promise<Key>;
40
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"datastore.d.ts","sourceRoot":"","sources":["../../../src/network/peers/datastore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAQ/D,KAAK,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAEtH;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,gBAAgB,CAA0B;IAClD,mEAAmE;IACnE,OAAO,CAAC,WAAW,CAAqB;IACxC,sEAAsE;IACtE,OAAO,CAAC,UAAU,CAAS;IAC3B,6FAA6F;IAC7F,OAAO,CAAC,eAAe,CAAS;IAEhC,YACE,WAAW,EAAE,cAAc,GAAG,MAAM,EACpC,EAAC,SAAa,EAAE,cAAmB,EAAC,GAAE;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAM,EAejH;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAEK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAE1E;IAED;;;OAGG;IACG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAmBlE;IAED;;;;;OAKG;IACG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAc/D;IAEK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAU5D;IAEK,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5D;IAEM,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAQlE;IAEM,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAKxE;YAEa,aAAa;YASb,WAAW;IAYzB;;OAEG;YACW,oBAAoB;CAkBnC"}
1
+ {"version":3,"file":"datastore.d.ts","sourceRoot":"","sources":["../../../src/network/peers/datastore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAQ/D,KAAK,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAEtH;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,eAAe,CAA0B;IACjD,mEAAmE;IACnE,OAAO,CAAC,UAAU,CAAqB;IACvC,sEAAsE;IACtE,OAAO,CAAC,SAAS,CAAS;IAC1B,6FAA6F;IAC7F,OAAO,CAAC,cAAc,CAAS;IAE/B,YACE,WAAW,EAAE,cAAc,GAAG,MAAM,EACpC,EAAC,SAAa,EAAE,cAAmB,EAAC,GAAE;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAM,EAejH;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAEK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAE1E;IAED;;;OAGG;IACG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAmBlE;IAED;;;;;OAKG;IACG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAc/D;IAEK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAU5D;IAEK,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5D;IAEM,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAQlE;IAEM,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAKxE;YAEa,aAAa;YASb,WAAW;IAYzB;;OAEG;YACW,oBAAoB;CAkBnC"}
@@ -6,23 +6,23 @@ import { Key } from "interface-datastore";
6
6
  * This has a memory issue because all peer data stays in memory and loaded at startup time
7
7
  * This is written for libp2p >=0.35, we maintain the same mechanism but with bounded data structure
8
8
  * This datastore includes a memory datastore and fallback to db datastore
9
- * Use an in-memory datastore with last accessed time and _maxMemoryItems, on start it's empty (lazy load)
9
+ * Use an in-memory datastore with last accessed time and maxMemoryItems, on start it's empty (lazy load)
10
10
  * - get: Search in-memory datastore first, if not found search from db.
11
11
  * - If found from db, add back to the in-memory datastore
12
12
  * - Update lastAccessedMs
13
- * - put: move oldest items from memory to db if there are more than _maxMemoryItems items in memory
14
- * - update memory datastore, only update db datastore if there are at least _threshold dirty items
13
+ * - put: move oldest items from memory to db if there are more than maxMemoryItems items in memory
14
+ * - update memory datastore, only update db datastore if there are at least threshold dirty items
15
15
  * - Update lastAccessedMs
16
16
  */
17
17
  export class Eth2PeerDataStore extends BaseDatastore {
18
- _dbDatastore;
19
- _memoryDatastore;
18
+ dbDatastore;
19
+ memoryDatastore;
20
20
  /** Same to PersistentPeerStore of the old libp2p implementation */
21
- _dirtyItems = new Set();
21
+ dirtyItems = new Set();
22
22
  /** If there are more dirty items than threshold, commit data to db */
23
- _threshold;
23
+ threshold;
24
24
  /** If there are more memory items than this, prune oldest ones from memory and move to db */
25
- _maxMemoryItems;
25
+ maxMemoryItems;
26
26
  constructor(dbDatastore, { threshold = 5, maxMemoryItems = 50 } = {}) {
27
27
  super();
28
28
  if (threshold <= 0 || maxMemoryItems <= 0) {
@@ -31,31 +31,31 @@ export class Eth2PeerDataStore extends BaseDatastore {
31
31
  if (threshold > maxMemoryItems) {
32
32
  throw Error(`Threshold ${threshold} should be at most maxMemoryItems ${maxMemoryItems}`);
33
33
  }
34
- this._dbDatastore = typeof dbDatastore === "string" ? new LevelDatastore(dbDatastore) : dbDatastore;
35
- this._memoryDatastore = new Map();
36
- this._threshold = threshold;
37
- this._maxMemoryItems = maxMemoryItems;
34
+ this.dbDatastore = typeof dbDatastore === "string" ? new LevelDatastore(dbDatastore) : dbDatastore;
35
+ this.memoryDatastore = new Map();
36
+ this.threshold = threshold;
37
+ this.maxMemoryItems = maxMemoryItems;
38
38
  }
39
39
  async open() {
40
- return this._dbDatastore.open();
40
+ return this.dbDatastore.open();
41
41
  }
42
42
  async close() {
43
- return this._dbDatastore.close();
43
+ return this.dbDatastore.close();
44
44
  }
45
45
  async put(key, val, _options) {
46
46
  return this._put(key, val, false);
47
47
  }
48
48
  /**
49
49
  * Same interface to put with "fromDb" option, if this item is updated back from db
50
- * Move oldest items from memory data store to db if it's over this._maxMemoryItems
50
+ * Move oldest items from memory data store to db if it's over this.maxMemoryItems
51
51
  */
52
52
  async _put(key, val, fromDb = false) {
53
- while (this._memoryDatastore.size >= this._maxMemoryItems) {
53
+ while (this.memoryDatastore.size >= this.maxMemoryItems) {
54
54
  // it's likely this is called only 1 time
55
55
  await this.pruneMemoryDatastore();
56
56
  }
57
57
  const keyStr = key.toString();
58
- const memoryItem = this._memoryDatastore.get(keyStr);
58
+ const memoryItem = this.memoryDatastore.get(keyStr);
59
59
  if (memoryItem) {
60
60
  // update existing
61
61
  memoryItem.lastAccessedMs = Date.now();
@@ -63,7 +63,7 @@ export class Eth2PeerDataStore extends BaseDatastore {
63
63
  }
64
64
  else {
65
65
  // new
66
- this._memoryDatastore.set(keyStr, { data: val, lastAccessedMs: Date.now() });
66
+ this.memoryDatastore.set(keyStr, { data: val, lastAccessedMs: Date.now() });
67
67
  }
68
68
  if (!fromDb)
69
69
  await this._addDirtyItem(keyStr);
@@ -77,14 +77,14 @@ export class Eth2PeerDataStore extends BaseDatastore {
77
77
  */
78
78
  async get(key, options) {
79
79
  const keyStr = key.toString();
80
- const memoryItem = this._memoryDatastore.get(keyStr);
80
+ const memoryItem = this.memoryDatastore.get(keyStr);
81
81
  if (memoryItem) {
82
82
  memoryItem.lastAccessedMs = Date.now();
83
83
  return memoryItem.data;
84
84
  }
85
85
  // this throws error if not found
86
- const dbValue = await this._dbDatastore.get(key, options);
87
- // don't call this._memoryDatastore.set directly
86
+ const dbValue = await this.dbDatastore.get(key, options);
87
+ // don't call this.memoryDatastore.set directly
88
88
  // we want to get through prune() logic with fromDb as true
89
89
  await this._put(key, dbValue, true);
90
90
  return dbValue;
@@ -103,27 +103,27 @@ export class Eth2PeerDataStore extends BaseDatastore {
103
103
  return true;
104
104
  }
105
105
  async delete(key, options) {
106
- this._memoryDatastore.delete(key.toString());
107
- await this._dbDatastore.delete(key, options);
106
+ this.memoryDatastore.delete(key.toString());
107
+ await this.dbDatastore.delete(key, options);
108
108
  }
109
109
  async *_all(q, options) {
110
- for (const [key, value] of this._memoryDatastore.entries()) {
110
+ for (const [key, value] of this.memoryDatastore.entries()) {
111
111
  yield {
112
112
  key: new Key(key),
113
113
  value: value.data,
114
114
  };
115
115
  }
116
- yield* this._dbDatastore.query(q, options);
116
+ yield* this.dbDatastore.query(q, options);
117
117
  }
118
118
  async *_allKeys(q, options) {
119
- for (const key of this._memoryDatastore.keys()) {
119
+ for (const key of this.memoryDatastore.keys()) {
120
120
  yield new Key(key);
121
121
  }
122
- yield* this._dbDatastore.queryKeys(q, options);
122
+ yield* this.dbDatastore.queryKeys(q, options);
123
123
  }
124
124
  async _addDirtyItem(keyStr) {
125
- this._dirtyItems.add(keyStr);
126
- if (this._dirtyItems.size >= this._threshold) {
125
+ this.dirtyItems.add(keyStr);
126
+ if (this.dirtyItems.size >= this.threshold) {
127
127
  try {
128
128
  await this._commitData();
129
129
  }
@@ -131,15 +131,15 @@ export class Eth2PeerDataStore extends BaseDatastore {
131
131
  }
132
132
  }
133
133
  async _commitData() {
134
- const batch = this._dbDatastore.batch();
135
- for (const keyStr of this._dirtyItems) {
136
- const memoryItem = this._memoryDatastore.get(keyStr);
134
+ const batch = this.dbDatastore.batch();
135
+ for (const keyStr of this.dirtyItems) {
136
+ const memoryItem = this.memoryDatastore.get(keyStr);
137
137
  if (memoryItem) {
138
138
  batch.put(new Key(keyStr), memoryItem.data);
139
139
  }
140
140
  }
141
141
  await batch.commit();
142
- this._dirtyItems.clear();
142
+ this.dirtyItems.clear();
143
143
  }
144
144
  /**
145
145
  * Prune from memory and move to db
@@ -148,7 +148,7 @@ export class Eth2PeerDataStore extends BaseDatastore {
148
148
  let oldestAccessedMs = Date.now() + 1000;
149
149
  let oldestKey = undefined;
150
150
  let oldestValue = undefined;
151
- for (const [key, value] of this._memoryDatastore) {
151
+ for (const [key, value] of this.memoryDatastore) {
152
152
  if (value.lastAccessedMs < oldestAccessedMs) {
153
153
  oldestAccessedMs = value.lastAccessedMs;
154
154
  oldestKey = key;
@@ -156,8 +156,8 @@ export class Eth2PeerDataStore extends BaseDatastore {
156
156
  }
157
157
  }
158
158
  if (oldestKey && oldestValue) {
159
- await this._dbDatastore.put(new Key(oldestKey), oldestValue);
160
- this._memoryDatastore.delete(oldestKey);
159
+ await this.dbDatastore.put(new Key(oldestKey), oldestValue);
160
+ this.memoryDatastore.delete(oldestKey);
161
161
  }
162
162
  }
163
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"datastore.js","sourceRoot":"","sources":["../../../src/network/peers/datastore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datastore.js","sourceRoot":"","sources":["../../../src/network/peers/datastore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gossipHandlers.d.ts","sourceRoot":"","sources":["../../../src/network/processor/gossipHandlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAkB,MAAM,kBAAkB,CAAC;AAc/D,OAAO,EACL,IAAI,EAGJ,IAAI,EASL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAW,MAAM,EAAmB,MAAM,iBAAiB,CAAC;AA8BnE,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AA2BtD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAI/C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,EAGL,cAAc,EAGf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wDAAwD;IACxD,sCAAsC,CAAC,EAAE,OAAO,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAKF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAE1G;AAk7CD;;GAEG;AACH,wBAAsB,gCAAgC,CAAC,CAAC,EACtD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,IAAI,GACd,OAAO,CAAC,CAAC,CAAC,CA+BZ"}
1
+ {"version":3,"file":"gossipHandlers.d.ts","sourceRoot":"","sources":["../../../src/network/processor/gossipHandlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAkB,MAAM,kBAAkB,CAAC;AAc/D,OAAO,EACL,IAAI,EAIJ,IAAI,EASL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAW,MAAM,EAAmB,MAAM,iBAAiB,CAAC;AA8BnE,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AA4BtD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAI/C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,EAGL,cAAc,EAGf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wDAAwD;IACxD,sCAAsC,CAAC,EAAE,OAAO,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAKF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAE1G;AAi8CD;;GAEG;AACH,wBAAsB,gCAAgC,CAAC,CAAC,EACtD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,IAAI,GACd,OAAO,CAAC,CAAC,CAAC,CA+BZ"}