@lodestar/beacon-node 1.23.0-dev.cd98c23768 → 1.23.0-dev.d37bdb0eb8

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 (258) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +4 -2
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/beacon/pool/index.js +13 -23
  4. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  5. package/lib/api/impl/beacon/state/index.d.ts +1 -1
  6. package/lib/api/impl/beacon/state/index.js +39 -3
  7. package/lib/api/impl/beacon/state/index.js.map +1 -1
  8. package/lib/api/impl/beacon/state/utils.d.ts +2 -6
  9. package/lib/api/impl/beacon/state/utils.js +23 -35
  10. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  11. package/lib/api/impl/config/constants.d.ts +0 -1
  12. package/lib/api/impl/config/constants.js +1 -3
  13. package/lib/api/impl/config/constants.js.map +1 -1
  14. package/lib/api/impl/debug/index.js +30 -0
  15. package/lib/api/impl/debug/index.js.map +1 -1
  16. package/lib/api/impl/errors.d.ts +8 -0
  17. package/lib/api/impl/errors.js +7 -0
  18. package/lib/api/impl/errors.js.map +1 -1
  19. package/lib/api/impl/events/index.js +1 -2
  20. package/lib/api/impl/events/index.js.map +1 -1
  21. package/lib/api/impl/node/utils.js +1 -0
  22. package/lib/api/impl/node/utils.js.map +1 -1
  23. package/lib/api/impl/validator/index.js +53 -36
  24. package/lib/api/impl/validator/index.js.map +1 -1
  25. package/lib/api/rest/activeSockets.js +1 -1
  26. package/lib/api/rest/activeSockets.js.map +1 -1
  27. package/lib/api/rest/base.d.ts +1 -0
  28. package/lib/api/rest/base.js +31 -4
  29. package/lib/api/rest/base.js.map +1 -1
  30. package/lib/api/rest/index.js +1 -0
  31. package/lib/api/rest/index.js.map +1 -1
  32. package/lib/api/rest/swaggerUI.js +1 -4
  33. package/lib/api/rest/swaggerUI.js.map +1 -1
  34. package/lib/chain/archiver/archiveStates.d.ts +3 -2
  35. package/lib/chain/archiver/archiveStates.js +8 -4
  36. package/lib/chain/archiver/archiveStates.js.map +1 -1
  37. package/lib/chain/archiver/index.d.ts +3 -1
  38. package/lib/chain/archiver/index.js +3 -2
  39. package/lib/chain/archiver/index.js.map +1 -1
  40. package/lib/chain/blocks/importBlock.js +2 -1
  41. package/lib/chain/blocks/importBlock.js.map +1 -1
  42. package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -2
  43. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  44. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +2 -1
  45. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  46. package/lib/chain/bls/multithread/index.js +1 -2
  47. package/lib/chain/bls/multithread/index.js.map +1 -1
  48. package/lib/chain/bls/multithread/poolSize.js +1 -1
  49. package/lib/chain/bls/multithread/poolSize.js.map +1 -1
  50. package/lib/chain/bls/multithread/worker.js +1 -1
  51. package/lib/chain/bls/multithread/worker.js.map +1 -1
  52. package/lib/chain/chain.d.ts +4 -42
  53. package/lib/chain/chain.js +7 -6
  54. package/lib/chain/chain.js.map +1 -1
  55. package/lib/chain/emitter.d.ts +1 -1
  56. package/lib/chain/emitter.js +1 -1
  57. package/lib/chain/emitter.js.map +1 -1
  58. package/lib/chain/forkChoice/index.d.ts +4 -0
  59. package/lib/chain/forkChoice/index.js +5 -0
  60. package/lib/chain/forkChoice/index.js.map +1 -1
  61. package/lib/chain/historicalState/getHistoricalState.d.ts +2 -1
  62. package/lib/chain/historicalState/getHistoricalState.js +3 -0
  63. package/lib/chain/historicalState/getHistoricalState.js.map +1 -1
  64. package/lib/chain/historicalState/worker.js +1 -1
  65. package/lib/chain/historicalState/worker.js.map +1 -1
  66. package/lib/chain/initState.d.ts +1 -1
  67. package/lib/chain/initState.js +1 -1
  68. package/lib/chain/initState.js.map +1 -1
  69. package/lib/chain/interface.d.ts +4 -2
  70. package/lib/chain/interface.js.map +1 -1
  71. package/lib/chain/options.js +1 -1
  72. package/lib/chain/options.js.map +1 -1
  73. package/lib/chain/prepareNextSlot.js +2 -1
  74. package/lib/chain/prepareNextSlot.js.map +1 -1
  75. package/lib/chain/produceBlock/produceBlockBody.js +7 -1
  76. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  77. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +1 -1
  78. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js +1 -1
  79. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  80. package/lib/chain/regen/regen.js +1 -1
  81. package/lib/chain/regen/regen.js.map +1 -1
  82. package/lib/chain/rewards/attestationsRewards.d.ts +1 -1
  83. package/lib/chain/rewards/attestationsRewards.js +3 -2
  84. package/lib/chain/rewards/attestationsRewards.js.map +1 -1
  85. package/lib/chain/serializeState.js +63 -10
  86. package/lib/chain/serializeState.js.map +1 -1
  87. package/lib/chain/shufflingCache.js +9 -7
  88. package/lib/chain/shufflingCache.js.map +1 -1
  89. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +7 -2
  90. package/lib/chain/stateCache/fifoBlockStateCache.js +7 -2
  91. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  92. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +4 -3
  93. package/lib/chain/stateCache/persistentCheckpointsCache.js +25 -20
  94. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  95. package/lib/chain/validation/aggregateAndProof.d.ts +1 -1
  96. package/lib/chain/validation/attestation.d.ts +3 -17
  97. package/lib/chain/validation/attestation.js +7 -26
  98. package/lib/chain/validation/attestation.js.map +1 -1
  99. package/lib/chain/validation/attesterSlashing.d.ts +1 -1
  100. package/lib/chain/validation/blsToExecutionChange.d.ts +1 -1
  101. package/lib/chain/validation/proposerSlashing.d.ts +1 -1
  102. package/lib/chain/validation/voluntaryExit.d.ts +1 -1
  103. package/lib/db/repositories/backfilledRanges.d.ts +1 -1
  104. package/lib/db/repositories/backfilledRanges.js +1 -2
  105. package/lib/db/repositories/backfilledRanges.js.map +1 -1
  106. package/lib/db/repositories/checkpointState.js +0 -1
  107. package/lib/db/repositories/checkpointState.js.map +1 -1
  108. package/lib/db/repositories/depositDataRoot.d.ts +1 -1
  109. package/lib/db/repositories/depositDataRoot.js +1 -2
  110. package/lib/db/repositories/depositDataRoot.js.map +1 -1
  111. package/lib/db/repositories/eth1Data.d.ts +1 -1
  112. package/lib/db/repositories/eth1Data.js +1 -2
  113. package/lib/db/repositories/eth1Data.js.map +1 -1
  114. package/lib/db/repositories/stateArchive.js +1 -1
  115. package/lib/db/repositories/stateArchive.js.map +1 -1
  116. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts +1 -1
  117. package/lib/db/single/preGenesisStateLastProcessedBlock.js +1 -1
  118. package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -1
  119. package/lib/eth1/eth1MergeBlockTracker.js +0 -2
  120. package/lib/eth1/eth1MergeBlockTracker.js.map +1 -1
  121. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  122. package/lib/eth1/provider/jsonRpcHttpClient.d.ts +1 -1
  123. package/lib/eth1/provider/jsonRpcHttpClient.js +1 -1
  124. package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
  125. package/lib/eth1/provider/jwt.js +0 -1
  126. package/lib/eth1/provider/jwt.js.map +1 -1
  127. package/lib/execution/builder/index.js +1 -0
  128. package/lib/execution/builder/index.js.map +1 -1
  129. package/lib/execution/engine/http.d.ts +5 -4
  130. package/lib/execution/engine/http.js +29 -12
  131. package/lib/execution/engine/http.js.map +1 -1
  132. package/lib/execution/engine/index.js +1 -0
  133. package/lib/execution/engine/index.js.map +1 -1
  134. package/lib/execution/engine/interface.d.ts +5 -4
  135. package/lib/execution/engine/interface.js.map +1 -1
  136. package/lib/execution/engine/mock.js +0 -3
  137. package/lib/execution/engine/mock.js.map +1 -1
  138. package/lib/execution/engine/payloadIdCache.d.ts +0 -17
  139. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  140. package/lib/execution/engine/types.d.ts +29 -25
  141. package/lib/execution/engine/types.js +28 -42
  142. package/lib/execution/engine/types.js.map +1 -1
  143. package/lib/execution/engine/utils.js +1 -1
  144. package/lib/execution/engine/utils.js.map +1 -1
  145. package/lib/metrics/metrics/beacon.d.ts +1 -1
  146. package/lib/metrics/metrics/beacon.js +2 -3
  147. package/lib/metrics/metrics/beacon.js.map +1 -1
  148. package/lib/metrics/metrics/lodestar.d.ts +3 -1
  149. package/lib/metrics/metrics/lodestar.js +8 -8
  150. package/lib/metrics/metrics/lodestar.js.map +1 -1
  151. package/lib/monitoring/service.js +1 -1
  152. package/lib/monitoring/service.js.map +1 -1
  153. package/lib/monitoring/system.js +0 -1
  154. package/lib/monitoring/system.js.map +1 -1
  155. package/lib/network/core/metrics.js +0 -2
  156. package/lib/network/core/metrics.js.map +1 -1
  157. package/lib/network/core/networkCore.d.ts +3 -3
  158. package/lib/network/core/networkCore.js +10 -5
  159. package/lib/network/core/networkCore.js.map +1 -1
  160. package/lib/network/core/networkCoreWorker.js +5 -4
  161. package/lib/network/core/networkCoreWorker.js.map +1 -1
  162. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -2
  163. package/lib/network/core/networkCoreWorkerHandler.js +4 -4
  164. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  165. package/lib/network/core/types.d.ts +1 -1
  166. package/lib/network/discv5/index.d.ts +3 -4
  167. package/lib/network/discv5/index.js +5 -6
  168. package/lib/network/discv5/index.js.map +1 -1
  169. package/lib/network/discv5/types.d.ts +1 -1
  170. package/lib/network/discv5/worker.js +7 -7
  171. package/lib/network/discv5/worker.js.map +1 -1
  172. package/lib/network/events.js +1 -1
  173. package/lib/network/events.js.map +1 -1
  174. package/lib/network/forks.js +0 -1
  175. package/lib/network/forks.js.map +1 -1
  176. package/lib/network/gossip/gossipsub.js +4 -1
  177. package/lib/network/gossip/gossipsub.js.map +1 -1
  178. package/lib/network/gossip/interface.d.ts +8 -6
  179. package/lib/network/gossip/interface.js.map +1 -1
  180. package/lib/network/gossip/metrics.js +0 -1
  181. package/lib/network/gossip/metrics.js.map +1 -1
  182. package/lib/network/gossip/scoringParameters.js +0 -1
  183. package/lib/network/gossip/scoringParameters.js.map +1 -1
  184. package/lib/network/gossip/topic.d.ts +0 -27
  185. package/lib/network/gossip/topic.js +2 -3
  186. package/lib/network/gossip/topic.js.map +1 -1
  187. package/lib/network/interface.d.ts +3 -2
  188. package/lib/network/libp2p/index.d.ts +2 -2
  189. package/lib/network/libp2p/index.js +9 -9
  190. package/lib/network/libp2p/index.js.map +1 -1
  191. package/lib/network/network.d.ts +4 -4
  192. package/lib/network/network.js +7 -5
  193. package/lib/network/network.js.map +1 -1
  194. package/lib/network/options.js +0 -2
  195. package/lib/network/options.js.map +1 -1
  196. package/lib/network/peers/datastore.d.ts +2 -1
  197. package/lib/network/peers/datastore.js +2 -3
  198. package/lib/network/peers/datastore.js.map +1 -1
  199. package/lib/network/peers/discover.d.ts +2 -0
  200. package/lib/network/peers/discover.js +3 -5
  201. package/lib/network/peers/discover.js.map +1 -1
  202. package/lib/network/peers/peerManager.d.ts +2 -1
  203. package/lib/network/peers/peerManager.js +5 -5
  204. package/lib/network/peers/peerManager.js.map +1 -1
  205. package/lib/network/peers/utils/getConnectedPeerIds.js +2 -2
  206. package/lib/network/peers/utils/getConnectedPeerIds.js.map +1 -1
  207. package/lib/network/processor/gossipHandlers.d.ts +0 -2
  208. package/lib/network/processor/gossipHandlers.js +15 -62
  209. package/lib/network/processor/gossipHandlers.js.map +1 -1
  210. package/lib/network/processor/gossipQueues/index.d.ts +1 -1
  211. package/lib/network/processor/gossipQueues/index.js +6 -19
  212. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  213. package/lib/network/processor/gossipQueues/types.d.ts +1 -2
  214. package/lib/network/processor/gossipQueues/types.js +0 -6
  215. package/lib/network/processor/gossipQueues/types.js.map +1 -1
  216. package/lib/network/processor/index.js +4 -2
  217. package/lib/network/processor/index.js.map +1 -1
  218. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +3 -1
  219. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
  220. package/lib/network/reqresp/protocols.js +0 -1
  221. package/lib/network/reqresp/protocols.js.map +1 -1
  222. package/lib/network/reqresp/rateLimit.js +1 -1
  223. package/lib/network/reqresp/rateLimit.js.map +1 -1
  224. package/lib/network/reqresp/score.js +0 -1
  225. package/lib/network/reqresp/score.js.map +1 -1
  226. package/lib/network/util.d.ts +4 -1
  227. package/lib/network/util.js +1 -2
  228. package/lib/network/util.js.map +1 -1
  229. package/lib/node/nodejs.d.ts +3 -3
  230. package/lib/node/nodejs.js +2 -2
  231. package/lib/node/nodejs.js.map +1 -1
  232. package/lib/sync/backfill/backfill.d.ts +2 -2
  233. package/lib/sync/backfill/backfill.js +2 -1
  234. package/lib/sync/backfill/backfill.js.map +1 -1
  235. package/lib/sync/range/range.d.ts +1 -1
  236. package/lib/sync/range/range.js +1 -1
  237. package/lib/sync/range/range.js.map +1 -1
  238. package/lib/util/asyncIterableToEvents.js +0 -2
  239. package/lib/util/asyncIterableToEvents.js.map +1 -1
  240. package/lib/util/kzg.js +0 -1
  241. package/lib/util/kzg.js.map +1 -1
  242. package/lib/util/map.js +0 -1
  243. package/lib/util/map.js.map +1 -1
  244. package/lib/util/peerId.js +1 -1
  245. package/lib/util/peerId.js.map +1 -1
  246. package/lib/util/profile.js +1 -1
  247. package/lib/util/profile.js.map +1 -1
  248. package/lib/util/queue/errors.d.ts +0 -1
  249. package/lib/util/queue/errors.js +0 -3
  250. package/lib/util/queue/errors.js.map +1 -1
  251. package/lib/util/queue/fnQueue.js +1 -1
  252. package/lib/util/queue/fnQueue.js.map +1 -1
  253. package/lib/util/queue/itemQueue.js +1 -1
  254. package/lib/util/queue/itemQueue.js.map +1 -1
  255. package/package.json +39 -39
  256. package/lib/network/processor/gossipQueues/indexedAvgTime.d.ts +0 -31
  257. package/lib/network/processor/gossipQueues/indexedAvgTime.js +0 -115
  258. package/lib/network/processor/gossipQueues/indexedAvgTime.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/util/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,MAAM,OAAO,UAAU;IAIrB;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,EAAK,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAM,EAAE,cAAuB;QACpC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM;QACJ,4DAA4D;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc;YAC9B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC/B,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED,SAAS;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAM,CAAC;IAChC,CAAC;IAED,UAAU;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAM,CAAC;IACjC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/util/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC;;GAEG;AACH,MAAM,OAAO,UAAU;IAIrB;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,EAAK,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAM,EAAE,cAAuB;QACpC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc;YAC9B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC/B,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED,SAAS;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAM,CAAC;IAChC,CAAC;IAED,UAAU;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAM,CAAC;IACjC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CACF"}
@@ -2,6 +2,6 @@ import { base58btc } from "multiformats/bases/base58";
2
2
  import { peerIdFromString } from "@libp2p/peer-id";
3
3
  export { peerIdFromString };
4
4
  export function peerIdToString(peerId) {
5
- return base58btc.encode(peerId.multihash.bytes).slice(1);
5
+ return base58btc.encode(peerId.toMultihash().bytes).slice(1);
6
6
  }
7
7
  //# sourceMappingURL=peerId.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"peerId.js","sourceRoot":"","sources":["../../src/util/peerId.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AASjD,OAAO,EAAC,gBAAgB,EAAC,CAAC;AAE1B,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"peerId.js","sourceRoot":"","sources":["../../src/util/peerId.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AASjD,OAAO,EAAC,gBAAgB,EAAC,CAAC;AAE1B,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC"}
@@ -33,7 +33,7 @@ export async function profileNodeJS(durationMs) {
33
33
  export async function writeHeapSnapshot(prefix, dirpath) {
34
34
  // Lazily import NodeJS only modules
35
35
  const fs = await import("node:fs");
36
- const v8 = await import("v8");
36
+ const v8 = await import("node:v8");
37
37
  const snapshotStream = v8.getHeapSnapshot();
38
38
  const filepath = `${dirpath}/${prefix}_${new Date().toISOString()}.heapsnapshot`;
39
39
  const fileStream = fs.createWriteStream(filepath);
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/util/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEjD,4DAA4D;IAC5D,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,wCAAwC;QACxC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACxC,OAAO,CAAC,OAAO,EAAE,CAAC;QAElB,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBACxC,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAC,OAAO,EAAC,EAAE,EAAE;oBAC/C,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC;oBAED,kDAAkD;oBAClD,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBACjC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAe;IACrE,oCAAoC;IACpC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,cAAc,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACjF,MAAM,UAAU,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7B,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAC5B,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/util/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEjD,4DAA4D;IAC5D,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,wCAAwC;QACxC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACxC,OAAO,CAAC,OAAO,EAAE,CAAC;QAElB,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBACxC,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAC,OAAO,EAAC,EAAE,EAAE;oBAC/C,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC;oBAED,kDAAkD;oBAClD,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBACjC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAe;IACrE,oCAAoC;IACpC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,cAAc,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACjF,MAAM,UAAU,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7B,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAC5B,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -9,7 +9,6 @@ export type QueueErrorCodeType = {
9
9
  code: QueueErrorCode.QUEUE_MAX_LENGTH;
10
10
  };
11
11
  export declare class QueueError extends LodestarError<QueueErrorCodeType> {
12
- constructor(type: QueueErrorCodeType);
13
12
  }
14
13
  export declare function isQueueErrorAborted(e: unknown): e is QueueError;
15
14
  //# sourceMappingURL=errors.d.ts.map
@@ -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":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,mBAAmB,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AACvD,OAAO,EAAC,gBAAgB,EAA8B,SAAS,EAAC,MAAM,cAAc,CAAC;AAErF;;;GAGG;AAEH,4DAA4D;AAC5D,MAAM,OAAO,YAAY;IAgBvB,YACmB,aAA4C,EAC7D,IAAkB,EAClB,OAAsB;QAFL,kBAAa,GAAb,aAAa,CAA+B;QAf/D;;;aAGK;QACY,SAAI,GAKhB,IAAI,UAAU,EAAE,CAAC;QAEd,gBAAW,GAAG,CAAC,CAAC;QAChB,cAAS,GAAG,CAAC,CAAC;QAqDtB,gBAAW,GAAG,GAAS,EAAE;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC;QAEM,WAAM,GAAG,KAAK,IAAmB,EAAE;YACzC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC7E,OAAO;YACT,CAAC;YAED,qFAAqF;YACrF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpF,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO;YACT,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,uFAAuF;YACvF,kFAAkF;YAClF,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;gBACjD,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;gBAEzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEpB,IAAI,KAAK;oBAAE,KAAK,EAAE,CAAC;gBAEnB,2BAA2B;gBAC3B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBACzD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC5B,MAAM,aAAa,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,MAAM,CAAC,CAAU,CAAC,CAAC;YACzB,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAErD,4BAA4B;YAC5B,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC,CAAC;QAEM,iBAAY,GAAG,GAAS,EAAE;YAChC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC5B,IAAI,GAAG;oBAAE,GAAG,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,EAAC,IAAI,EAAE,cAAc,CAAC,aAAa,EAAC,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC,CAAC;QA9FA,IAAI,CAAC,IAAI,GAAG,EAAC,GAAG,gBAAgB,EAAE,GAAG,IAAI,EAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QAE5E,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC7B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,GAAG,IAAU;QAChB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,UAAU,CAAC,EAAC,IAAI,EAAE,cAAc,CAAC,aAAa,EAAC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACtC,yDAAyD;gBACzD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,qCAAqC;gBACrC,MAAM,IAAI,UAAU,CAAC,EAAC,IAAI,EAAE,cAAc,CAAC,gBAAgB,EAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;YACjE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACzD,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACrB,CAAC;iBAAM,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvD,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAC,CAAC,CAAC,CAAC;IAClF,CAAC;CAmDF"}
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.cd98c23768",
14
+ "version": "1.23.0-dev.d37bdb0eb8",
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",
@@ -96,52 +96,52 @@
96
96
  "dependencies": {
97
97
  "@chainsafe/as-sha256": "^0.5.0",
98
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",
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",
105
+ "@chainsafe/pubkey-index-map": "2.0.0",
106
106
  "@chainsafe/ssz": "^0.17.1",
107
107
  "@chainsafe/threads": "^1.11.1",
108
108
  "@ethersproject/abi": "^5.7.0",
109
- "@fastify/bearer-auth": "^9.0.0",
110
- "@fastify/cors": "^8.2.1",
111
- "@fastify/swagger": "^8.10.0",
112
- "@fastify/swagger-ui": "^1.9.3",
113
- "@libp2p/bootstrap": "^10.0.21",
114
- "@libp2p/identify": "^1.0.20",
115
- "@libp2p/interface": "^1.3.0",
116
- "@libp2p/mdns": "^10.0.21",
117
- "@libp2p/mplex": "^10.0.21",
118
- "@libp2p/peer-id": "^4.1.0",
119
- "@libp2p/peer-id-factory": "^4.1.0",
120
- "@libp2p/prometheus-metrics": "^3.0.21",
121
- "@libp2p/tcp": "9.0.23",
122
- "@lodestar/api": "1.23.0-dev.cd98c23768",
123
- "@lodestar/config": "1.23.0-dev.cd98c23768",
124
- "@lodestar/db": "1.23.0-dev.cd98c23768",
125
- "@lodestar/fork-choice": "1.23.0-dev.cd98c23768",
126
- "@lodestar/light-client": "1.23.0-dev.cd98c23768",
127
- "@lodestar/logger": "1.23.0-dev.cd98c23768",
128
- "@lodestar/params": "1.23.0-dev.cd98c23768",
129
- "@lodestar/reqresp": "1.23.0-dev.cd98c23768",
130
- "@lodestar/state-transition": "1.23.0-dev.cd98c23768",
131
- "@lodestar/types": "1.23.0-dev.cd98c23768",
132
- "@lodestar/utils": "1.23.0-dev.cd98c23768",
133
- "@lodestar/validator": "1.23.0-dev.cd98c23768",
109
+ "@fastify/bearer-auth": "^10.0.1",
110
+ "@fastify/cors": "^10.0.1",
111
+ "@fastify/swagger": "^9.0.0",
112
+ "@fastify/swagger-ui": "^5.0.1",
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.d37bdb0eb8",
123
+ "@lodestar/config": "1.23.0-dev.d37bdb0eb8",
124
+ "@lodestar/db": "1.23.0-dev.d37bdb0eb8",
125
+ "@lodestar/fork-choice": "1.23.0-dev.d37bdb0eb8",
126
+ "@lodestar/light-client": "1.23.0-dev.d37bdb0eb8",
127
+ "@lodestar/logger": "1.23.0-dev.d37bdb0eb8",
128
+ "@lodestar/params": "1.23.0-dev.d37bdb0eb8",
129
+ "@lodestar/reqresp": "1.23.0-dev.d37bdb0eb8",
130
+ "@lodestar/state-transition": "1.23.0-dev.d37bdb0eb8",
131
+ "@lodestar/types": "1.23.0-dev.d37bdb0eb8",
132
+ "@lodestar/utils": "1.23.0-dev.d37bdb0eb8",
133
+ "@lodestar/validator": "1.23.0-dev.d37bdb0eb8",
134
134
  "@multiformats/multiaddr": "^12.1.3",
135
135
  "c-kzg": "^2.1.2",
136
- "datastore-core": "^9.1.1",
137
- "datastore-level": "^10.1.1",
136
+ "datastore-core": "^10.0.0",
137
+ "datastore-level": "^11.0.0",
138
138
  "deepmerge": "^4.3.1",
139
- "fastify": "^4.27.0",
140
- "interface-datastore": "^8.2.7",
139
+ "fastify": "^5.0.0",
140
+ "interface-datastore": "^8.3.0",
141
141
  "it-all": "^3.0.4",
142
142
  "it-pipe": "^3.0.1",
143
143
  "jwt-simple": "0.5.6",
144
- "libp2p": "1.4.3",
144
+ "libp2p": "2.1.7",
145
145
  "multiformats": "^11.0.1",
146
146
  "prom-client": "^15.1.0",
147
147
  "qs": "^6.11.1",
@@ -167,5 +167,5 @@
167
167
  "beacon",
168
168
  "blockchain"
169
169
  ],
170
- "gitHead": "f60efcb6bb64ffab85d2bb22d4354f1e671faaa4"
170
+ "gitHead": "beda124546289da2f15e4ec827cedc295d56508f"
171
171
  }
@@ -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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"}