@lodestar/beacon-node 1.23.0-dev.bf4a25f021 → 1.23.0-dev.bfa7a39e6e

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 (348) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +15 -19
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/beacon/blocks/utils.js +1 -1
  4. package/lib/api/impl/beacon/blocks/utils.js.map +1 -1
  5. package/lib/api/impl/beacon/pool/index.js +13 -23
  6. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  7. package/lib/api/impl/beacon/state/index.d.ts +1 -1
  8. package/lib/api/impl/beacon/state/index.js +4 -9
  9. package/lib/api/impl/beacon/state/index.js.map +1 -1
  10. package/lib/api/impl/beacon/state/utils.d.ts +0 -5
  11. package/lib/api/impl/beacon/state/utils.js +23 -35
  12. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  13. package/lib/api/impl/config/constants.js +0 -1
  14. package/lib/api/impl/config/constants.js.map +1 -1
  15. package/lib/api/impl/debug/index.js +30 -0
  16. package/lib/api/impl/debug/index.js.map +1 -1
  17. package/lib/api/impl/errors.d.ts +8 -0
  18. package/lib/api/impl/errors.js +7 -0
  19. package/lib/api/impl/errors.js.map +1 -1
  20. package/lib/api/impl/events/index.js +1 -2
  21. package/lib/api/impl/events/index.js.map +1 -1
  22. package/lib/api/impl/lodestar/index.js +3 -3
  23. package/lib/api/impl/lodestar/index.js.map +1 -1
  24. package/lib/api/impl/node/index.js +2 -4
  25. package/lib/api/impl/node/index.js.map +1 -1
  26. package/lib/api/impl/node/utils.js +1 -0
  27. package/lib/api/impl/node/utils.js.map +1 -1
  28. package/lib/api/impl/validator/index.js +103 -89
  29. package/lib/api/impl/validator/index.js.map +1 -1
  30. package/lib/api/rest/activeSockets.js +1 -1
  31. package/lib/api/rest/activeSockets.js.map +1 -1
  32. package/lib/api/rest/base.js +11 -2
  33. package/lib/api/rest/base.js.map +1 -1
  34. package/lib/api/rest/swaggerUI.js +1 -4
  35. package/lib/api/rest/swaggerUI.js.map +1 -1
  36. package/lib/chain/archiver/archiver.d.ts +40 -0
  37. package/lib/chain/archiver/archiver.js +117 -0
  38. package/lib/chain/archiver/archiver.js.map +1 -0
  39. package/lib/chain/archiver/index.d.ts +2 -54
  40. package/lib/chain/archiver/index.js +2 -104
  41. package/lib/chain/archiver/index.js.map +1 -1
  42. package/lib/chain/archiver/interface.d.ts +39 -0
  43. package/lib/chain/archiver/interface.js +8 -0
  44. package/lib/chain/archiver/interface.js.map +1 -0
  45. package/lib/chain/archiver/{archiveStates.d.ts → strategies/frequencyStateArchiveStrategy.d.ts} +16 -14
  46. package/lib/chain/archiver/{archiveStates.js → strategies/frequencyStateArchiveStrategy.js} +8 -6
  47. package/lib/chain/archiver/strategies/frequencyStateArchiveStrategy.js.map +1 -0
  48. package/lib/chain/balancesCache.js +1 -1
  49. package/lib/chain/balancesCache.js.map +1 -1
  50. package/lib/chain/blocks/importBlock.js +2 -1
  51. package/lib/chain/blocks/importBlock.js.map +1 -1
  52. package/lib/chain/blocks/index.js +3 -5
  53. package/lib/chain/blocks/index.js.map +1 -1
  54. package/lib/chain/blocks/verifyBlocksDataAvailability.js +2 -2
  55. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  56. package/lib/chain/blocks/verifyBlocksSanityChecks.js +5 -13
  57. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  58. package/lib/chain/blocks/writeBlockInputToDb.js +1 -1
  59. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  60. package/lib/chain/bls/multithread/index.js +3 -3
  61. package/lib/chain/bls/multithread/index.js.map +1 -1
  62. package/lib/chain/bls/multithread/poolSize.js +1 -1
  63. package/lib/chain/bls/multithread/poolSize.js.map +1 -1
  64. package/lib/chain/bls/multithread/worker.js +1 -1
  65. package/lib/chain/bls/multithread/worker.js.map +1 -1
  66. package/lib/chain/chain.d.ts +2 -1
  67. package/lib/chain/chain.js +32 -36
  68. package/lib/chain/chain.js.map +1 -1
  69. package/lib/chain/emitter.d.ts +1 -1
  70. package/lib/chain/emitter.js +1 -1
  71. package/lib/chain/emitter.js.map +1 -1
  72. package/lib/chain/forkChoice/index.d.ts +4 -0
  73. package/lib/chain/forkChoice/index.js +5 -0
  74. package/lib/chain/forkChoice/index.js.map +1 -1
  75. package/lib/chain/genesis/genesis.js +2 -6
  76. package/lib/chain/genesis/genesis.js.map +1 -1
  77. package/lib/chain/historicalState/getHistoricalState.js +3 -0
  78. package/lib/chain/historicalState/getHistoricalState.js.map +1 -1
  79. package/lib/chain/initState.d.ts +1 -1
  80. package/lib/chain/initState.js +1 -1
  81. package/lib/chain/initState.js.map +1 -1
  82. package/lib/chain/interface.d.ts +2 -1
  83. package/lib/chain/interface.js.map +1 -1
  84. package/lib/chain/lightClient/index.js +3 -5
  85. package/lib/chain/lightClient/index.js.map +1 -1
  86. package/lib/chain/opPools/aggregatedAttestationPool.js +32 -36
  87. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  88. package/lib/chain/opPools/attestationPool.js +3 -5
  89. package/lib/chain/opPools/attestationPool.js.map +1 -1
  90. package/lib/chain/opPools/opPool.js +2 -4
  91. package/lib/chain/opPools/opPool.js.map +1 -1
  92. package/lib/chain/opPools/syncCommitteeMessagePool.js +3 -5
  93. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  94. package/lib/chain/opPools/syncContributionAndProofPool.js +2 -4
  95. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  96. package/lib/chain/options.d.ts +3 -1
  97. package/lib/chain/options.js +4 -0
  98. package/lib/chain/options.js.map +1 -1
  99. package/lib/chain/prepareNextSlot.js +2 -1
  100. package/lib/chain/prepareNextSlot.js.map +1 -1
  101. package/lib/chain/produceBlock/produceBlockBody.js +18 -17
  102. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  103. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +1 -1
  104. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js +1 -1
  105. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  106. package/lib/chain/regen/queued.js.map +1 -1
  107. package/lib/chain/rewards/attestationsRewards.d.ts +1 -1
  108. package/lib/chain/rewards/attestationsRewards.js +1 -1
  109. package/lib/chain/rewards/attestationsRewards.js.map +1 -1
  110. package/lib/chain/rewards/blockRewards.js +1 -3
  111. package/lib/chain/rewards/blockRewards.js.map +1 -1
  112. package/lib/chain/rewards/syncCommitteeRewards.js +1 -3
  113. package/lib/chain/rewards/syncCommitteeRewards.js.map +1 -1
  114. package/lib/chain/seenCache/seenGossipBlockInput.js +21 -25
  115. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  116. package/lib/chain/shufflingCache.js +11 -11
  117. package/lib/chain/shufflingCache.js.map +1 -1
  118. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  119. package/lib/chain/validation/aggregateAndProof.d.ts +1 -1
  120. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  121. package/lib/chain/validation/attestation.d.ts +3 -17
  122. package/lib/chain/validation/attestation.js +28 -53
  123. package/lib/chain/validation/attestation.js.map +1 -1
  124. package/lib/chain/validation/attesterSlashing.d.ts +1 -1
  125. package/lib/chain/validation/blsToExecutionChange.d.ts +1 -1
  126. package/lib/chain/validation/lightClientFinalityUpdate.js +1 -1
  127. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  128. package/lib/chain/validation/lightClientOptimisticUpdate.js +1 -1
  129. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  130. package/lib/chain/validation/proposerSlashing.d.ts +1 -1
  131. package/lib/chain/validation/voluntaryExit.d.ts +1 -1
  132. package/lib/db/buckets.js +3 -5
  133. package/lib/db/buckets.js.map +1 -1
  134. package/lib/db/repositories/backfilledRanges.d.ts +1 -1
  135. package/lib/db/repositories/backfilledRanges.js +1 -2
  136. package/lib/db/repositories/backfilledRanges.js.map +1 -1
  137. package/lib/db/repositories/blockArchive.js +1 -1
  138. package/lib/db/repositories/blockArchive.js.map +1 -1
  139. package/lib/db/repositories/blockArchiveIndex.js +1 -1
  140. package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
  141. package/lib/db/repositories/checkpointState.js +1 -1
  142. package/lib/db/repositories/checkpointState.js.map +1 -1
  143. package/lib/db/repositories/depositDataRoot.d.ts +1 -1
  144. package/lib/db/repositories/depositDataRoot.js +2 -3
  145. package/lib/db/repositories/depositDataRoot.js.map +1 -1
  146. package/lib/db/repositories/eth1Data.d.ts +1 -1
  147. package/lib/db/repositories/eth1Data.js +1 -2
  148. package/lib/db/repositories/eth1Data.js.map +1 -1
  149. package/lib/db/repositories/stateArchive.js +1 -1
  150. package/lib/db/repositories/stateArchive.js.map +1 -1
  151. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts +1 -1
  152. package/lib/db/single/preGenesisStateLastProcessedBlock.js +1 -1
  153. package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -1
  154. package/lib/eth1/eth1DataCache.js +1 -1
  155. package/lib/eth1/eth1DataCache.js.map +1 -1
  156. package/lib/eth1/eth1DepositDataTracker.js +9 -13
  157. package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
  158. package/lib/eth1/eth1DepositsCache.js +2 -2
  159. package/lib/eth1/eth1DepositsCache.js.map +1 -1
  160. package/lib/eth1/eth1MergeBlockTracker.js +40 -50
  161. package/lib/eth1/eth1MergeBlockTracker.js.map +1 -1
  162. package/lib/eth1/index.js +4 -8
  163. package/lib/eth1/index.js.map +1 -1
  164. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  165. package/lib/eth1/provider/jsonRpcHttpClient.d.ts +1 -1
  166. package/lib/eth1/provider/jsonRpcHttpClient.js +6 -12
  167. package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
  168. package/lib/eth1/provider/jwt.js +0 -1
  169. package/lib/eth1/provider/jwt.js.map +1 -1
  170. package/lib/eth1/provider/utils.js +1 -1
  171. package/lib/eth1/provider/utils.js.map +1 -1
  172. package/lib/eth1/utils/deposits.js +1 -1
  173. package/lib/eth1/utils/deposits.js.map +1 -1
  174. package/lib/eth1/utils/eth1Vote.js +3 -5
  175. package/lib/eth1/utils/eth1Vote.js.map +1 -1
  176. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js +1 -3
  177. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js.map +1 -1
  178. package/lib/execution/builder/http.d.ts +16 -1
  179. package/lib/execution/builder/http.js +31 -6
  180. package/lib/execution/builder/http.js.map +1 -1
  181. package/lib/execution/builder/index.js +1 -0
  182. package/lib/execution/builder/index.js.map +1 -1
  183. package/lib/execution/builder/interface.d.ts +2 -1
  184. package/lib/execution/engine/http.d.ts +2 -2
  185. package/lib/execution/engine/http.js +4 -8
  186. package/lib/execution/engine/http.js.map +1 -1
  187. package/lib/execution/engine/index.js +1 -0
  188. package/lib/execution/engine/index.js.map +1 -1
  189. package/lib/execution/engine/mock.js +8 -11
  190. package/lib/execution/engine/mock.js.map +1 -1
  191. package/lib/execution/engine/types.d.ts +16 -24
  192. package/lib/execution/engine/types.js +31 -52
  193. package/lib/execution/engine/types.js.map +1 -1
  194. package/lib/execution/engine/utils.js +1 -1
  195. package/lib/execution/engine/utils.js.map +1 -1
  196. package/lib/metrics/metrics/beacon.d.ts +1 -1
  197. package/lib/metrics/metrics/beacon.js +2 -3
  198. package/lib/metrics/metrics/beacon.js.map +1 -1
  199. package/lib/metrics/metrics/lodestar.js +0 -1
  200. package/lib/metrics/metrics/lodestar.js.map +1 -1
  201. package/lib/metrics/validatorMonitor.js +37 -49
  202. package/lib/metrics/validatorMonitor.js.map +1 -1
  203. package/lib/monitoring/properties.js +2 -4
  204. package/lib/monitoring/properties.js.map +1 -1
  205. package/lib/monitoring/service.js +3 -5
  206. package/lib/monitoring/service.js.map +1 -1
  207. package/lib/monitoring/system.js +0 -1
  208. package/lib/monitoring/system.js.map +1 -1
  209. package/lib/network/core/metrics.js +0 -2
  210. package/lib/network/core/metrics.js.map +1 -1
  211. package/lib/network/core/networkCore.d.ts +3 -3
  212. package/lib/network/core/networkCore.js +16 -5
  213. package/lib/network/core/networkCore.js.map +1 -1
  214. package/lib/network/core/networkCoreWorker.js +5 -4
  215. package/lib/network/core/networkCoreWorker.js.map +1 -1
  216. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -2
  217. package/lib/network/core/networkCoreWorkerHandler.js +4 -4
  218. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  219. package/lib/network/core/types.d.ts +1 -1
  220. package/lib/network/discv5/index.d.ts +3 -4
  221. package/lib/network/discv5/index.js +5 -6
  222. package/lib/network/discv5/index.js.map +1 -1
  223. package/lib/network/discv5/types.d.ts +1 -1
  224. package/lib/network/discv5/utils.js +1 -0
  225. package/lib/network/discv5/utils.js.map +1 -1
  226. package/lib/network/discv5/worker.js +7 -7
  227. package/lib/network/discv5/worker.js.map +1 -1
  228. package/lib/network/events.js +1 -1
  229. package/lib/network/events.js.map +1 -1
  230. package/lib/network/forks.js +0 -1
  231. package/lib/network/forks.js.map +1 -1
  232. package/lib/network/gossip/encoding.js +1 -3
  233. package/lib/network/gossip/encoding.js.map +1 -1
  234. package/lib/network/gossip/gossipsub.js +10 -7
  235. package/lib/network/gossip/gossipsub.js.map +1 -1
  236. package/lib/network/gossip/interface.d.ts +8 -6
  237. package/lib/network/gossip/interface.js.map +1 -1
  238. package/lib/network/gossip/metrics.js +0 -1
  239. package/lib/network/gossip/metrics.js.map +1 -1
  240. package/lib/network/gossip/scoringParameters.js +0 -1
  241. package/lib/network/gossip/scoringParameters.js.map +1 -1
  242. package/lib/network/gossip/topic.js +3 -4
  243. package/lib/network/gossip/topic.js.map +1 -1
  244. package/lib/network/interface.d.ts +3 -2
  245. package/lib/network/libp2p/index.d.ts +2 -2
  246. package/lib/network/libp2p/index.js +9 -9
  247. package/lib/network/libp2p/index.js.map +1 -1
  248. package/lib/network/network.d.ts +4 -4
  249. package/lib/network/network.js +7 -5
  250. package/lib/network/network.js.map +1 -1
  251. package/lib/network/options.js +0 -2
  252. package/lib/network/options.js.map +1 -1
  253. package/lib/network/peers/datastore.d.ts +2 -1
  254. package/lib/network/peers/datastore.js +2 -3
  255. package/lib/network/peers/datastore.js.map +1 -1
  256. package/lib/network/peers/discover.d.ts +2 -0
  257. package/lib/network/peers/discover.js +10 -16
  258. package/lib/network/peers/discover.js.map +1 -1
  259. package/lib/network/peers/peerManager.d.ts +2 -1
  260. package/lib/network/peers/peerManager.js +11 -8
  261. package/lib/network/peers/peerManager.js.map +1 -1
  262. package/lib/network/peers/utils/getConnectedPeerIds.js +2 -2
  263. package/lib/network/peers/utils/getConnectedPeerIds.js.map +1 -1
  264. package/lib/network/processor/gossipHandlers.d.ts +0 -2
  265. package/lib/network/processor/gossipHandlers.js +4 -51
  266. package/lib/network/processor/gossipHandlers.js.map +1 -1
  267. package/lib/network/processor/gossipQueues/index.d.ts +1 -1
  268. package/lib/network/processor/gossipQueues/index.js +7 -22
  269. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  270. package/lib/network/processor/gossipQueues/indexed.js +1 -3
  271. package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
  272. package/lib/network/processor/gossipQueues/linear.js +5 -7
  273. package/lib/network/processor/gossipQueues/linear.js.map +1 -1
  274. package/lib/network/processor/gossipQueues/types.d.ts +1 -2
  275. package/lib/network/processor/gossipQueues/types.js +0 -6
  276. package/lib/network/processor/gossipQueues/types.js.map +1 -1
  277. package/lib/network/processor/index.js +4 -2
  278. package/lib/network/processor/index.js.map +1 -1
  279. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +5 -5
  280. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
  281. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
  282. package/lib/network/reqresp/handlers/lightClientBootstrap.js +1 -3
  283. package/lib/network/reqresp/handlers/lightClientBootstrap.js.map +1 -1
  284. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js +6 -8
  285. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js.map +1 -1
  286. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js +6 -8
  287. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js.map +1 -1
  288. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js +1 -3
  289. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
  290. package/lib/network/reqresp/protocols.js +0 -1
  291. package/lib/network/reqresp/protocols.js.map +1 -1
  292. package/lib/network/reqresp/rateLimit.js +1 -1
  293. package/lib/network/reqresp/rateLimit.js.map +1 -1
  294. package/lib/network/reqresp/score.js +0 -1
  295. package/lib/network/reqresp/score.js.map +1 -1
  296. package/lib/network/reqresp/types.js +3 -7
  297. package/lib/network/reqresp/types.js.map +1 -1
  298. package/lib/network/util.d.ts +4 -1
  299. package/lib/network/util.js +2 -2
  300. package/lib/network/util.js.map +1 -1
  301. package/lib/node/nodejs.d.ts +3 -3
  302. package/lib/node/nodejs.js +3 -3
  303. package/lib/node/nodejs.js.map +1 -1
  304. package/lib/node/notifier.js +16 -26
  305. package/lib/node/notifier.js.map +1 -1
  306. package/lib/node/options.d.ts +2 -2
  307. package/lib/node/options.js +2 -2
  308. package/lib/node/options.js.map +1 -1
  309. package/lib/sync/backfill/backfill.d.ts +2 -2
  310. package/lib/sync/backfill/backfill.js +4 -2
  311. package/lib/sync/backfill/backfill.js.map +1 -1
  312. package/lib/sync/range/range.d.ts +1 -1
  313. package/lib/sync/range/range.js +3 -7
  314. package/lib/sync/range/range.js.map +1 -1
  315. package/lib/sync/range/utils/batches.js +1 -3
  316. package/lib/sync/range/utils/batches.js.map +1 -1
  317. package/lib/sync/sync.js +26 -25
  318. package/lib/sync/sync.js.map +1 -1
  319. package/lib/sync/unknownBlock.js +2 -6
  320. package/lib/sync/unknownBlock.js.map +1 -1
  321. package/lib/sync/utils/remoteSyncType.js +25 -36
  322. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  323. package/lib/util/asyncIterableToEvents.js +0 -2
  324. package/lib/util/asyncIterableToEvents.js.map +1 -1
  325. package/lib/util/binarySearch.js +1 -1
  326. package/lib/util/binarySearch.js.map +1 -1
  327. package/lib/util/bitArray.js +1 -2
  328. package/lib/util/bitArray.js.map +1 -1
  329. package/lib/util/kzg.js +3 -4
  330. package/lib/util/kzg.js.map +1 -1
  331. package/lib/util/map.js +0 -1
  332. package/lib/util/map.js.map +1 -1
  333. package/lib/util/peerId.js +1 -1
  334. package/lib/util/peerId.js.map +1 -1
  335. package/lib/util/profile.js +1 -1
  336. package/lib/util/profile.js.map +1 -1
  337. package/lib/util/queue/errors.d.ts +0 -1
  338. package/lib/util/queue/errors.js +0 -3
  339. package/lib/util/queue/errors.js.map +1 -1
  340. package/lib/util/queue/fnQueue.js +1 -1
  341. package/lib/util/queue/fnQueue.js.map +1 -1
  342. package/lib/util/queue/itemQueue.js +1 -1
  343. package/lib/util/queue/itemQueue.js.map +1 -1
  344. package/package.json +35 -36
  345. package/lib/chain/archiver/archiveStates.js.map +0 -1
  346. package/lib/network/processor/gossipQueues/indexedAvgTime.d.ts +0 -31
  347. package/lib/network/processor/gossipQueues/indexedAvgTime.js +0 -115
  348. package/lib/network/processor/gossipQueues/indexedAvgTime.js.map +0 -1
@@ -5,9 +5,6 @@ export var QueueErrorCode;
5
5
  QueueErrorCode["QUEUE_MAX_LENGTH"] = "QUEUE_ERROR_QUEUE_MAX_LENGTH";
6
6
  })(QueueErrorCode || (QueueErrorCode = {}));
7
7
  export class QueueError extends LodestarError {
8
- constructor(type) {
9
- super(type);
10
- }
11
8
  }
12
9
  export function isQueueErrorAborted(e) {
13
10
  return e instanceof QueueError && e.type.code === QueueErrorCode.QUEUE_ABORTED;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/util/queue/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,6DAA2C,CAAA;IAC3C,mEAAiD,CAAA;AACnD,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAID,MAAM,OAAO,UAAW,SAAQ,aAAiC;IAC/D,YAAY,IAAwB;QAClC,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,CAAU;IAC5C,OAAO,CAAC,YAAY,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/util/queue/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,6DAA2C,CAAA;IAC3C,mEAAiD,CAAA;AACnD,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAID,MAAM,OAAO,UAAW,SAAQ,aAAiC;CAAG;AAEpE,MAAM,UAAU,mBAAmB,CAAC,CAAU;IAC5C,OAAO,CAAC,YAAY,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa,CAAC;AACjF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { JobItemQueue } from "./itemQueue.js";
2
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
+ // biome-ignore lint/suspicious/noExplicitAny: <explanation>
3
3
  export class JobFnQueue extends JobItemQueue {
4
4
  constructor(opts, metrics) {
5
5
  super((fn) => fn(), opts, metrics);
@@ -1 +1 @@
1
- {"version":3,"file":"fnQueue.js","sourceRoot":"","sources":["../../../src/util/queue/fnQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAM5C,8DAA8D;AAC9D,MAAM,OAAO,UAAW,SAAQ,YAA4B;IAC1D,YAAY,IAAkB,EAAE,OAAsB;QACpD,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAA6B,EAAK;QACpC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAe,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"fnQueue.js","sourceRoot":"","sources":["../../../src/util/queue/fnQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAM5C,4DAA4D;AAC5D,MAAM,OAAO,UAAW,SAAQ,YAA4B;IAC1D,YAAY,IAAkB,EAAE,OAAsB;QACpD,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAA6B,EAAK;QACpC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAe,CAAC;IACtC,CAAC;CACF"}
@@ -6,7 +6,7 @@ import { defaultQueueOpts, QueueType } from "./options.js";
6
6
  * JobQueue that stores arguments in the job array instead of closures.
7
7
  * Supports a single itemProcessor, for arbitrary functions use the JobFnQueue
8
8
  */
9
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
+ // biome-ignore lint/suspicious/noExplicitAny: <explanation>
10
10
  export class JobItemQueue {
11
11
  constructor(itemProcessor, opts, metrics) {
12
12
  this.itemProcessor = itemProcessor;
@@ -1 +1 @@
1
- {"version":3,"file":"itemQueue.js","sourceRoot":"","sources":["../../../src/util/queue/itemQueue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"itemQueue.js","sourceRoot":"","sources":["../../../src/util/queue/itemQueue.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.23.0-dev.bf4a25f021",
14
+ "version": "1.23.0-dev.bfa7a39e6e",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -75,8 +75,8 @@
75
75
  "build:release": "yarn clean && yarn run build",
76
76
  "check-build": "node -e \"(async function() { await import('./lib/index.js') })()\"",
77
77
  "check-types": "tsc",
78
- "lint": "eslint --color --ext .ts src/ test/",
79
- "lint:fix": "yarn run lint --fix",
78
+ "lint": "biome check src/ test/",
79
+ "lint:fix": "yarn run lint --write",
80
80
  "test": "yarn test:unit && yarn test:e2e",
81
81
  "test:unit:minimal": "LODESTAR_PRESET=minimal vitest --run --dir test/unit/",
82
82
  "test:unit:mainnet": "LODESTAR_PRESET=mainnet vitest --run --dir test/unit-mainnet",
@@ -95,54 +95,53 @@
95
95
  },
96
96
  "dependencies": {
97
97
  "@chainsafe/as-sha256": "^0.5.0",
98
- "@chainsafe/blst": "^2.0.3",
99
- "@chainsafe/discv5": "^9.0.0",
100
- "@chainsafe/enr": "^3.0.0",
101
- "@chainsafe/libp2p-gossipsub": "^13.0.0",
102
- "@chainsafe/libp2p-identify": "^1.0.0",
103
- "@chainsafe/libp2p-noise": "^15.0.0",
98
+ "@chainsafe/blst": "^2.1.0",
99
+ "@chainsafe/discv5": "^10.0.1",
100
+ "@chainsafe/enr": "^4.0.1",
101
+ "@chainsafe/libp2p-gossipsub": "^14.1.0",
102
+ "@chainsafe/libp2p-noise": "^16.0.0",
104
103
  "@chainsafe/persistent-merkle-tree": "^0.8.0",
105
104
  "@chainsafe/prometheus-gc-stats": "^1.0.0",
106
105
  "@chainsafe/pubkey-index-map": "2.0.0",
107
- "@chainsafe/ssz": "^0.17.1",
106
+ "@chainsafe/ssz": "^0.18.0",
108
107
  "@chainsafe/threads": "^1.11.1",
109
108
  "@ethersproject/abi": "^5.7.0",
110
109
  "@fastify/bearer-auth": "^10.0.1",
111
110
  "@fastify/cors": "^10.0.1",
112
111
  "@fastify/swagger": "^9.0.0",
113
112
  "@fastify/swagger-ui": "^5.0.1",
114
- "@libp2p/bootstrap": "^10.0.21",
115
- "@libp2p/identify": "^1.0.20",
116
- "@libp2p/interface": "^1.3.0",
117
- "@libp2p/mdns": "^10.0.21",
118
- "@libp2p/mplex": "^10.0.21",
119
- "@libp2p/peer-id": "^4.1.0",
120
- "@libp2p/peer-id-factory": "^4.1.0",
121
- "@libp2p/prometheus-metrics": "^3.0.21",
122
- "@libp2p/tcp": "9.0.23",
123
- "@lodestar/api": "1.23.0-dev.bf4a25f021",
124
- "@lodestar/config": "1.23.0-dev.bf4a25f021",
125
- "@lodestar/db": "1.23.0-dev.bf4a25f021",
126
- "@lodestar/fork-choice": "1.23.0-dev.bf4a25f021",
127
- "@lodestar/light-client": "1.23.0-dev.bf4a25f021",
128
- "@lodestar/logger": "1.23.0-dev.bf4a25f021",
129
- "@lodestar/params": "1.23.0-dev.bf4a25f021",
130
- "@lodestar/reqresp": "1.23.0-dev.bf4a25f021",
131
- "@lodestar/state-transition": "1.23.0-dev.bf4a25f021",
132
- "@lodestar/types": "1.23.0-dev.bf4a25f021",
133
- "@lodestar/utils": "1.23.0-dev.bf4a25f021",
134
- "@lodestar/validator": "1.23.0-dev.bf4a25f021",
113
+ "@libp2p/bootstrap": "^11.0.4",
114
+ "@libp2p/crypto": "^5.0.4",
115
+ "@libp2p/identify": "^3.0.4",
116
+ "@libp2p/interface": "^2.1.2",
117
+ "@libp2p/mdns": "^11.0.4",
118
+ "@libp2p/mplex": "^11.0.4",
119
+ "@libp2p/peer-id": "^5.0.4",
120
+ "@libp2p/prometheus-metrics": "^4.1.2",
121
+ "@libp2p/tcp": "10.0.4",
122
+ "@lodestar/api": "1.23.0-dev.bfa7a39e6e",
123
+ "@lodestar/config": "1.23.0-dev.bfa7a39e6e",
124
+ "@lodestar/db": "1.23.0-dev.bfa7a39e6e",
125
+ "@lodestar/fork-choice": "1.23.0-dev.bfa7a39e6e",
126
+ "@lodestar/light-client": "1.23.0-dev.bfa7a39e6e",
127
+ "@lodestar/logger": "1.23.0-dev.bfa7a39e6e",
128
+ "@lodestar/params": "1.23.0-dev.bfa7a39e6e",
129
+ "@lodestar/reqresp": "1.23.0-dev.bfa7a39e6e",
130
+ "@lodestar/state-transition": "1.23.0-dev.bfa7a39e6e",
131
+ "@lodestar/types": "1.23.0-dev.bfa7a39e6e",
132
+ "@lodestar/utils": "1.23.0-dev.bfa7a39e6e",
133
+ "@lodestar/validator": "1.23.0-dev.bfa7a39e6e",
135
134
  "@multiformats/multiaddr": "^12.1.3",
136
135
  "c-kzg": "^2.1.2",
137
- "datastore-core": "^9.1.1",
138
- "datastore-level": "^10.1.1",
136
+ "datastore-core": "^10.0.0",
137
+ "datastore-level": "^11.0.0",
139
138
  "deepmerge": "^4.3.1",
140
139
  "fastify": "^5.0.0",
141
- "interface-datastore": "^8.2.7",
140
+ "interface-datastore": "^8.3.0",
142
141
  "it-all": "^3.0.4",
143
142
  "it-pipe": "^3.0.1",
144
143
  "jwt-simple": "0.5.6",
145
- "libp2p": "1.4.3",
144
+ "libp2p": "2.1.7",
146
145
  "multiformats": "^11.0.1",
147
146
  "prom-client": "^15.1.0",
148
147
  "qs": "^6.11.1",
@@ -168,5 +167,5 @@
168
167
  "beacon",
169
168
  "blockchain"
170
169
  ],
171
- "gitHead": "ae73a272e06704dbeeaae4c93268ad1695ee960a"
170
+ "gitHead": "587e94f34d835416c32c616c019dbc82b882c7cc"
172
171
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"archiveStates.js","sourceRoot":"","sources":["../../../src/chain/archiver/archiveStates.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { GossipQueue, IndexedGossipQueueOpts } from "./types.js";
2
- /**
3
- * An implementation of GossipQueue that tries to run the batch with highest score first.
4
- * TODO: add unit tests
5
- * - index items by indexFn using a map
6
- * - compute avgRecvTimestampMs for each key every time we add new item
7
- * - on next, pick the key with the highest score (check the score function above)
8
- */
9
- export declare class IndexedGossipQueueAvgTime<T extends {
10
- indexed?: string;
11
- }> implements GossipQueue<T> {
12
- private readonly opts;
13
- private _length;
14
- private indexedItems;
15
- constructor(opts: IndexedGossipQueueOpts<T>);
16
- get length(): number;
17
- get keySize(): number;
18
- clear(): void;
19
- getDataAgeMs(): number[];
20
- /**
21
- * Add item to gossip queue. If queue is full, drop first item of first key.
22
- * Return number of items dropped
23
- */
24
- add(item: T): number;
25
- /**
26
- * Try to get list of items of the same key with highest score
27
- */
28
- next(): T[] | null;
29
- getAll(): T[];
30
- }
31
- //# sourceMappingURL=indexedAvgTime.d.ts.map
@@ -1,115 +0,0 @@
1
- function listScore(list) {
2
- return list.items.length / Math.max(1000, Date.now() - list.avgRecvTimestampMs);
3
- }
4
- /**
5
- * An implementation of GossipQueue that tries to run the batch with highest score first.
6
- * TODO: add unit tests
7
- * - index items by indexFn using a map
8
- * - compute avgRecvTimestampMs for each key every time we add new item
9
- * - on next, pick the key with the highest score (check the score function above)
10
- */
11
- export class IndexedGossipQueueAvgTime {
12
- constructor(opts) {
13
- this.opts = opts;
14
- this._length = 0;
15
- this.indexedItems = new Map();
16
- }
17
- get length() {
18
- return this._length;
19
- }
20
- get keySize() {
21
- return this.indexedItems.size;
22
- }
23
- clear() {
24
- this.indexedItems = new Map();
25
- this._length = 0;
26
- }
27
- // not implemented for this gossip queue
28
- getDataAgeMs() {
29
- return [];
30
- }
31
- /**
32
- * Add item to gossip queue. If queue is full, drop first item of first key.
33
- * Return number of items dropped
34
- */
35
- add(item) {
36
- const key = this.opts.indexFn(item);
37
- if (key == null) {
38
- // this comes from getAttDataBase64FromAttestationSerialized() return type
39
- // should not happen
40
- return 0;
41
- }
42
- item.indexed = key;
43
- let list = this.indexedItems.get(key);
44
- if (list == null) {
45
- list = {
46
- items: [],
47
- avgRecvTimestampMs: Date.now(),
48
- };
49
- this.indexedItems.set(key, list);
50
- }
51
- else {
52
- list.avgRecvTimestampMs = (list.avgRecvTimestampMs * list.items.length + Date.now()) / (list.items.length + 1);
53
- list.items.push(item);
54
- }
55
- this._length++;
56
- if (this._length <= this.opts.maxLength) {
57
- return 0;
58
- }
59
- // overload, need to drop more items
60
- const firstKey = this.indexedItems.keys().next().value;
61
- // there should be at least 1 key
62
- if (firstKey == null) {
63
- return 0;
64
- }
65
- const firstList = this.indexedItems.get(firstKey);
66
- // should not happen
67
- if (firstList == null) {
68
- return 0;
69
- }
70
- const deletedItem = firstList.items.shift();
71
- if (deletedItem != null) {
72
- this._length--;
73
- if (firstList.items.length === 0) {
74
- this.indexedItems.delete(firstKey);
75
- }
76
- return 1;
77
- }
78
- else {
79
- return 0;
80
- }
81
- }
82
- /**
83
- * Try to get list of items of the same key with highest score
84
- */
85
- next() {
86
- let maxScore = 0;
87
- let maxScoreKey;
88
- for (const [key, list] of this.indexedItems) {
89
- const score = listScore(list);
90
- if (score > maxScore) {
91
- maxScore = score;
92
- maxScoreKey = key;
93
- }
94
- }
95
- if (maxScoreKey == null) {
96
- return null;
97
- }
98
- const items = this.indexedItems.get(maxScoreKey)?.items;
99
- if (items == null) {
100
- // should not happen
101
- return null;
102
- }
103
- this.indexedItems.delete(maxScoreKey);
104
- this._length = Math.max(0, this._length - items.length);
105
- return items;
106
- }
107
- getAll() {
108
- const items = [];
109
- for (const list of this.indexedItems.values()) {
110
- items.push(...list.items);
111
- }
112
- return items;
113
- }
114
- }
115
- //# sourceMappingURL=indexedAvgTime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexedAvgTime.js","sourceRoot":"","sources":["../../../../src/network/processor/gossipQueues/indexedAvgTime.ts"],"names":[],"mappings":"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"}