@lodestar/beacon-node 1.35.0-dev.21ba2777a9 → 1.35.0-dev.36a31f3a2f

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 (1084) hide show
  1. package/lib/api/impl/config/constants.d.ts +0 -5
  2. package/lib/api/impl/config/constants.js +1 -6
  3. package/lib/api/impl/config/constants.js.map +1 -1
  4. package/lib/api/impl/debug/index.js +1 -1
  5. package/lib/api/impl/debug/index.js.map +1 -1
  6. package/lib/api/impl/index.d.ts +3 -3
  7. package/lib/api/impl/index.js +3 -3
  8. package/lib/api/impl/index.js.map +1 -1
  9. package/lib/api/rest/base.d.ts +1 -1
  10. package/lib/api/rest/base.js +2 -2
  11. package/lib/api/rest/base.js.map +1 -1
  12. package/lib/api/rest/index.js.map +1 -1
  13. package/lib/chain/ColumnReconstructionTracker.d.ts +2 -2
  14. package/lib/chain/ColumnReconstructionTracker.js +1 -5
  15. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  16. package/lib/chain/GetBlobsTracker.d.ts +2 -2
  17. package/lib/chain/GetBlobsTracker.js +3 -3
  18. package/lib/chain/GetBlobsTracker.js.map +1 -1
  19. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
  20. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  21. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  22. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  23. package/lib/chain/archiveStore/index.d.ts +1 -1
  24. package/lib/chain/archiveStore/index.js +1 -1
  25. package/lib/chain/blocks/blockInput/index.d.ts +1 -1
  26. package/lib/chain/blocks/blockInput/index.js +1 -1
  27. package/lib/chain/blocks/index.d.ts +1 -1
  28. package/lib/chain/blocks/index.js.map +1 -1
  29. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
  30. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  31. package/lib/chain/bls/multithread/index.js +0 -1
  32. package/lib/chain/bls/multithread/index.js.map +1 -1
  33. package/lib/chain/chain.d.ts +3 -3
  34. package/lib/chain/chain.js +2 -2
  35. package/lib/chain/chain.js.map +1 -1
  36. package/lib/chain/emitter.d.ts +2 -2
  37. package/lib/chain/emitter.js.map +1 -1
  38. package/lib/chain/errors/index.d.ts +2 -2
  39. package/lib/chain/errors/index.js +2 -2
  40. package/lib/chain/errors/index.js.map +1 -1
  41. package/lib/chain/forkChoice/index.js.map +1 -1
  42. package/lib/chain/index.d.ts +2 -2
  43. package/lib/chain/index.js +2 -2
  44. package/lib/chain/index.js.map +1 -1
  45. package/lib/chain/interface.d.ts +2 -2
  46. package/lib/chain/interface.js.map +1 -1
  47. package/lib/chain/lightClient/index.js.map +1 -1
  48. package/lib/chain/lightClient/proofs.js.map +1 -1
  49. package/lib/chain/opPools/aggregatedAttestationPool.js +1 -1
  50. package/lib/chain/opPools/attestationPool.js +1 -1
  51. package/lib/chain/opPools/index.d.ts +1 -1
  52. package/lib/chain/opPools/index.js +1 -1
  53. package/lib/chain/opPools/index.js.map +1 -1
  54. package/lib/chain/options.js +1 -1
  55. package/lib/chain/options.js.map +1 -1
  56. package/lib/chain/regen/index.d.ts +1 -1
  57. package/lib/chain/regen/index.js +1 -1
  58. package/lib/chain/regen/index.js.map +1 -1
  59. package/lib/chain/stateCache/datastore/index.d.ts +1 -1
  60. package/lib/chain/stateCache/datastore/index.js +1 -1
  61. package/lib/chain/stateCache/datastore/index.js.map +1 -1
  62. package/lib/chain/stateCache/index.d.ts +1 -1
  63. package/lib/chain/stateCache/index.js +1 -1
  64. package/lib/chain/stateCache/index.js.map +1 -1
  65. package/lib/chain/stateCache/persistentCheckpointsCache.js +2 -1
  66. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  67. package/lib/chain/validation/blobSidecar.js.map +1 -1
  68. package/lib/chain/validation/dataColumnSidecar.js +1 -1
  69. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  70. package/lib/chain/validation/index.d.ts +1 -1
  71. package/lib/chain/validation/index.js +1 -1
  72. package/lib/chain/validation/index.js.map +1 -1
  73. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +2 -1
  74. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  75. package/lib/chain/validatorMonitor.d.ts +3 -1
  76. package/lib/chain/validatorMonitor.js.map +1 -1
  77. package/lib/db/buckets.d.ts +4 -4
  78. package/lib/db/buckets.js +4 -4
  79. package/lib/db/buckets.js.map +1 -1
  80. package/lib/db/index.d.ts +1 -1
  81. package/lib/db/index.js.map +1 -1
  82. package/lib/db/repositories/blobSidecars.js +1 -1
  83. package/lib/db/repositories/blobSidecars.js.map +1 -1
  84. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  85. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  86. package/lib/db/repositories/blockArchive.js +3 -2
  87. package/lib/db/repositories/blockArchive.js.map +1 -1
  88. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  89. package/lib/db/repositories/dataColumnSidecar.js +2 -2
  90. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  91. package/lib/db/repositories/dataColumnSidecarArchive.js +2 -2
  92. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  93. package/lib/db/repositories/index.d.ts +10 -10
  94. package/lib/db/repositories/index.js +9 -9
  95. package/lib/db/repositories/index.js.map +1 -1
  96. package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
  97. package/lib/eth1/eth1DepositsCache.js.map +1 -1
  98. package/lib/eth1/provider/eth1Provider.d.ts +2 -1
  99. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  100. package/lib/eth1/provider/jsonRpcHttpClient.d.ts +1 -1
  101. package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
  102. package/lib/eth1/provider/jwt.js.map +1 -1
  103. package/lib/eth1/utils/deposits.js.map +1 -1
  104. package/lib/execution/builder/index.js.map +1 -1
  105. package/lib/execution/engine/interface.js.map +1 -1
  106. package/lib/execution/engine/types.js.map +1 -1
  107. package/lib/execution/engine/utils.js +2 -1
  108. package/lib/execution/engine/utils.js.map +1 -1
  109. package/lib/execution/index.d.ts +2 -2
  110. package/lib/execution/index.js +2 -2
  111. package/lib/execution/index.js.map +1 -1
  112. package/lib/index.d.ts +6 -6
  113. package/lib/index.js +5 -5
  114. package/lib/index.js.map +1 -1
  115. package/lib/metrics/index.d.ts +1 -1
  116. package/lib/metrics/index.js +1 -1
  117. package/lib/metrics/index.js.map +1 -1
  118. package/lib/metrics/metrics/lodestar.d.ts +1 -1
  119. package/lib/metrics/metrics.d.ts +1 -1
  120. package/lib/metrics/metrics.js.map +1 -1
  121. package/lib/metrics/nodeJsMetrics.js +1 -1
  122. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  123. package/lib/metrics/server/http.d.ts +1 -1
  124. package/lib/metrics/utils/avgMinMax.d.ts +1 -1
  125. package/lib/metrics/utils/gauge.d.ts +1 -1
  126. package/lib/metrics/utils/gauge.js.map +1 -1
  127. package/lib/metrics/utils/registryMetricCreator.d.ts +1 -1
  128. package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
  129. package/lib/monitoring/service.js.map +1 -1
  130. package/lib/monitoring/system.js.map +1 -1
  131. package/lib/network/core/networkCore.d.ts +1 -1
  132. package/lib/network/core/networkCore.js +1 -1
  133. package/lib/network/core/networkCore.js.map +1 -1
  134. package/lib/network/core/networkCoreWorker.js +1 -1
  135. package/lib/network/core/networkCoreWorker.js.map +1 -1
  136. package/lib/network/core/networkCoreWorkerHandler.d.ts +1 -1
  137. package/lib/network/core/networkCoreWorkerHandler.js +4 -10
  138. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  139. package/lib/network/discv5/index.d.ts +2 -2
  140. package/lib/network/discv5/index.js +2 -5
  141. package/lib/network/discv5/index.js.map +1 -1
  142. package/lib/network/discv5/worker.js +3 -3
  143. package/lib/network/discv5/worker.js.map +1 -1
  144. package/lib/network/gossip/encoding.d.ts +1 -1
  145. package/lib/network/gossip/encoding.js +2 -2
  146. package/lib/network/gossip/encoding.js.map +1 -1
  147. package/lib/network/gossip/gossipsub.d.ts +1 -2
  148. package/lib/network/gossip/gossipsub.js +17 -36
  149. package/lib/network/gossip/gossipsub.js.map +1 -1
  150. package/lib/network/gossip/index.d.ts +2 -2
  151. package/lib/network/gossip/index.js +2 -2
  152. package/lib/network/gossip/index.js.map +1 -1
  153. package/lib/network/gossip/interface.d.ts +2 -2
  154. package/lib/network/gossip/metrics.d.ts +7 -15
  155. package/lib/network/gossip/metrics.js +6 -16
  156. package/lib/network/gossip/metrics.js.map +1 -1
  157. package/lib/network/gossip/topic.d.ts +60 -80
  158. package/lib/network/gossip/topic.js.map +1 -1
  159. package/lib/network/index.d.ts +3 -3
  160. package/lib/network/index.js +3 -3
  161. package/lib/network/index.js.map +1 -1
  162. package/lib/network/interface.d.ts +1 -1
  163. package/lib/network/libp2p/index.js +3 -11
  164. package/lib/network/libp2p/index.js.map +1 -1
  165. package/lib/network/metadata.js +1 -2
  166. package/lib/network/metadata.js.map +1 -1
  167. package/lib/network/network.d.ts +1 -1
  168. package/lib/network/network.js +4 -2
  169. package/lib/network/network.js.map +1 -1
  170. package/lib/network/peers/datastore.d.ts +2 -2
  171. package/lib/network/peers/datastore.js +2 -2
  172. package/lib/network/peers/datastore.js.map +1 -1
  173. package/lib/network/peers/discover.js +2 -1
  174. package/lib/network/peers/discover.js.map +1 -1
  175. package/lib/network/peers/peerManager.js.map +1 -1
  176. package/lib/network/peers/score/index.d.ts +1 -1
  177. package/lib/network/peers/score/index.js +1 -1
  178. package/lib/network/peers/score/index.js.map +1 -1
  179. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  180. package/lib/network/processor/gossipHandlers.js +1 -1
  181. package/lib/network/processor/index.d.ts +1 -1
  182. package/lib/network/processor/index.js +5 -3
  183. package/lib/network/processor/index.js.map +1 -1
  184. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +1 -1
  185. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  186. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  187. package/lib/network/reqresp/index.d.ts +1 -1
  188. package/lib/network/reqresp/index.js +1 -1
  189. package/lib/network/reqresp/index.js.map +1 -1
  190. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  191. package/lib/network/subnets/interface.js +1 -1
  192. package/lib/network/subnets/interface.js.map +1 -1
  193. package/lib/network/subnets/util.js +2 -1
  194. package/lib/network/subnets/util.js.map +1 -1
  195. package/lib/node/nodejs.d.ts +1 -1
  196. package/lib/node/nodejs.js.map +1 -1
  197. package/lib/node/notifier.js +2 -1
  198. package/lib/node/notifier.js.map +1 -1
  199. package/lib/node/options.js.map +1 -1
  200. package/lib/node/utils/interop/state.js +2 -1
  201. package/lib/node/utils/interop/state.js.map +1 -1
  202. package/lib/sync/backfill/backfill.d.ts +1 -1
  203. package/lib/sync/backfill/backfill.js +1 -1
  204. package/lib/sync/backfill/backfill.js.map +1 -1
  205. package/lib/sync/range/batch.d.ts +2 -2
  206. package/lib/sync/range/batch.js +1 -1
  207. package/lib/sync/range/batch.js.map +1 -1
  208. package/lib/sync/range/chain.d.ts +1 -1
  209. package/lib/sync/range/chain.js.map +1 -1
  210. package/lib/sync/range/range.d.ts +1 -1
  211. package/lib/sync/range/range.js.map +1 -1
  212. package/lib/sync/sync.d.ts +2 -1
  213. package/lib/sync/sync.js.map +1 -1
  214. package/lib/sync/types.d.ts +1 -0
  215. package/lib/sync/types.js.map +1 -1
  216. package/lib/sync/unknownBlock.js +15 -13
  217. package/lib/sync/unknownBlock.js.map +1 -1
  218. package/lib/sync/utils/downloadByRange.d.ts +1 -1
  219. package/lib/sync/utils/downloadByRoot.d.ts +2 -4
  220. package/lib/sync/utils/downloadByRoot.js +9 -36
  221. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  222. package/lib/util/blobs.js +3 -5
  223. package/lib/util/blobs.js.map +1 -1
  224. package/lib/util/clock.d.ts +1 -1
  225. package/lib/util/clock.js.map +1 -1
  226. package/lib/util/dataColumns.d.ts +2 -2
  227. package/lib/util/dataColumns.js +4 -4
  228. package/lib/util/dataColumns.js.map +1 -1
  229. package/lib/util/execution.d.ts +2 -2
  230. package/lib/util/execution.js +8 -25
  231. package/lib/util/execution.js.map +1 -1
  232. package/lib/util/queue/index.d.ts +1 -1
  233. package/lib/util/queue/index.js +1 -1
  234. package/lib/util/queue/index.js.map +1 -1
  235. package/package.json +21 -37
  236. package/lib/api/impl/api.d.ts.map +0 -1
  237. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  238. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  239. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  240. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  241. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  242. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  243. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  244. package/lib/api/impl/config/constants.d.ts.map +0 -1
  245. package/lib/api/impl/config/index.d.ts.map +0 -1
  246. package/lib/api/impl/debug/index.d.ts.map +0 -1
  247. package/lib/api/impl/errors.d.ts.map +0 -1
  248. package/lib/api/impl/events/index.d.ts.map +0 -1
  249. package/lib/api/impl/index.d.ts.map +0 -1
  250. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  251. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  252. package/lib/api/impl/node/index.d.ts.map +0 -1
  253. package/lib/api/impl/node/utils.d.ts.map +0 -1
  254. package/lib/api/impl/proof/index.d.ts.map +0 -1
  255. package/lib/api/impl/types.d.ts.map +0 -1
  256. package/lib/api/impl/utils.d.ts.map +0 -1
  257. package/lib/api/impl/validator/index.d.ts.map +0 -1
  258. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  259. package/lib/api/index.d.ts.map +0 -1
  260. package/lib/api/options.d.ts.map +0 -1
  261. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  262. package/lib/api/rest/base.d.ts.map +0 -1
  263. package/lib/api/rest/index.d.ts.map +0 -1
  264. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  265. package/lib/bun-wrappers/prometheus-gc-stats.d.ts +0 -2
  266. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  267. package/lib/bun-wrappers/prometheus-gc-stats.js +0 -8
  268. package/lib/bun-wrappers/prometheus-gc-stats.js.map +0 -1
  269. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  270. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  271. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  272. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  273. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  274. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  275. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  276. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  277. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  278. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  279. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  280. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  281. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  282. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  283. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  284. package/lib/chain/balancesCache.d.ts.map +0 -1
  285. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  286. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  287. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  288. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  289. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  290. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  291. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  292. package/lib/chain/blocks/index.d.ts.map +0 -1
  293. package/lib/chain/blocks/types.d.ts.map +0 -1
  294. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  295. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  296. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  297. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  298. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  299. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  300. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  301. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  302. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  303. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  304. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  305. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  306. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  307. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  308. package/lib/chain/bls/index.d.ts.map +0 -1
  309. package/lib/chain/bls/interface.d.ts.map +0 -1
  310. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  311. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  312. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  313. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  314. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  315. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  316. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  317. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  318. package/lib/chain/bls/utils.d.ts.map +0 -1
  319. package/lib/chain/chain.d.ts.map +0 -1
  320. package/lib/chain/emitter.d.ts.map +0 -1
  321. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  322. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  323. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  324. package/lib/chain/errors/blockError.d.ts.map +0 -1
  325. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  326. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  327. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  328. package/lib/chain/errors/index.d.ts.map +0 -1
  329. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  330. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  331. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  332. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  333. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  334. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  335. package/lib/chain/genesis/interface.d.ts.map +0 -1
  336. package/lib/chain/index.d.ts.map +0 -1
  337. package/lib/chain/initState.d.ts.map +0 -1
  338. package/lib/chain/interface.d.ts.map +0 -1
  339. package/lib/chain/lightClient/index.d.ts.map +0 -1
  340. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  341. package/lib/chain/lightClient/types.d.ts.map +0 -1
  342. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  343. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  344. package/lib/chain/opPools/index.d.ts.map +0 -1
  345. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  346. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  347. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  348. package/lib/chain/opPools/types.d.ts.map +0 -1
  349. package/lib/chain/opPools/utils.d.ts.map +0 -1
  350. package/lib/chain/options.d.ts.map +0 -1
  351. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  352. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  353. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  354. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  355. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  356. package/lib/chain/regen/errors.d.ts.map +0 -1
  357. package/lib/chain/regen/index.d.ts.map +0 -1
  358. package/lib/chain/regen/interface.d.ts.map +0 -1
  359. package/lib/chain/regen/queued.d.ts.map +0 -1
  360. package/lib/chain/regen/regen.d.ts.map +0 -1
  361. package/lib/chain/reprocess.d.ts.map +0 -1
  362. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  363. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  364. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  365. package/lib/chain/seenCache/index.d.ts.map +0 -1
  366. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  367. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  368. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  369. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  370. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  371. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  372. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  373. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  374. package/lib/chain/serializeState.d.ts.map +0 -1
  375. package/lib/chain/shufflingCache.d.ts.map +0 -1
  376. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  377. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  378. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  379. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  380. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  381. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  382. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  383. package/lib/chain/stateCache/index.d.ts.map +0 -1
  384. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  385. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  386. package/lib/chain/stateCache/types.d.ts.map +0 -1
  387. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  388. package/lib/chain/validation/attestation.d.ts.map +0 -1
  389. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  390. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  391. package/lib/chain/validation/block.d.ts.map +0 -1
  392. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  393. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  394. package/lib/chain/validation/index.d.ts.map +0 -1
  395. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  396. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  397. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  398. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  399. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  400. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  401. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  402. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  403. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  404. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  405. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  406. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  407. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  408. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  409. package/lib/constants/constants.d.ts.map +0 -1
  410. package/lib/constants/index.d.ts.map +0 -1
  411. package/lib/constants/network.d.ts.map +0 -1
  412. package/lib/db/beacon.d.ts.map +0 -1
  413. package/lib/db/buckets.d.ts.map +0 -1
  414. package/lib/db/index.d.ts.map +0 -1
  415. package/lib/db/interface.d.ts.map +0 -1
  416. package/lib/db/options.d.ts.map +0 -1
  417. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  418. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  419. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  420. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  421. package/lib/db/repositories/block.d.ts.map +0 -1
  422. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  423. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  424. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  425. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  426. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  427. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  428. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  429. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  430. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  431. package/lib/db/repositories/index.d.ts.map +0 -1
  432. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  433. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  434. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  435. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  436. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  437. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  438. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  439. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  440. package/lib/db/single/index.d.ts.map +0 -1
  441. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  442. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  443. package/lib/eth1/errors.d.ts.map +0 -1
  444. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  445. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  446. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  447. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  448. package/lib/eth1/index.d.ts.map +0 -1
  449. package/lib/eth1/interface.d.ts.map +0 -1
  450. package/lib/eth1/options.d.ts.map +0 -1
  451. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  452. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  453. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  454. package/lib/eth1/provider/utils.d.ts.map +0 -1
  455. package/lib/eth1/stream.d.ts.map +0 -1
  456. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  457. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  458. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  459. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  460. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  461. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  462. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  463. package/lib/execution/builder/cache.d.ts.map +0 -1
  464. package/lib/execution/builder/http.d.ts.map +0 -1
  465. package/lib/execution/builder/index.d.ts.map +0 -1
  466. package/lib/execution/builder/interface.d.ts.map +0 -1
  467. package/lib/execution/builder/utils.d.ts.map +0 -1
  468. package/lib/execution/engine/disabled.d.ts.map +0 -1
  469. package/lib/execution/engine/http.d.ts.map +0 -1
  470. package/lib/execution/engine/index.d.ts.map +0 -1
  471. package/lib/execution/engine/interface.d.ts.map +0 -1
  472. package/lib/execution/engine/mock.d.ts.map +0 -1
  473. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  474. package/lib/execution/engine/types.d.ts.map +0 -1
  475. package/lib/execution/engine/utils.d.ts.map +0 -1
  476. package/lib/execution/index.d.ts.map +0 -1
  477. package/lib/index.d.ts.map +0 -1
  478. package/lib/metrics/index.d.ts.map +0 -1
  479. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  480. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  481. package/lib/metrics/metrics.d.ts.map +0 -1
  482. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  483. package/lib/metrics/options.d.ts.map +0 -1
  484. package/lib/metrics/server/http.d.ts.map +0 -1
  485. package/lib/metrics/server/index.d.ts.map +0 -1
  486. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  487. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  488. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  489. package/lib/monitoring/clientStats.d.ts.map +0 -1
  490. package/lib/monitoring/index.d.ts.map +0 -1
  491. package/lib/monitoring/options.d.ts.map +0 -1
  492. package/lib/monitoring/properties.d.ts.map +0 -1
  493. package/lib/monitoring/service.d.ts.map +0 -1
  494. package/lib/monitoring/system.d.ts.map +0 -1
  495. package/lib/monitoring/types.d.ts.map +0 -1
  496. package/lib/network/core/events.d.ts.map +0 -1
  497. package/lib/network/core/index.d.ts.map +0 -1
  498. package/lib/network/core/metrics.d.ts.map +0 -1
  499. package/lib/network/core/networkCore.d.ts.map +0 -1
  500. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  501. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  502. package/lib/network/core/types.d.ts.map +0 -1
  503. package/lib/network/discv5/index.d.ts.map +0 -1
  504. package/lib/network/discv5/types.d.ts.map +0 -1
  505. package/lib/network/discv5/utils.d.ts.map +0 -1
  506. package/lib/network/discv5/worker.d.ts.map +0 -1
  507. package/lib/network/events.d.ts.map +0 -1
  508. package/lib/network/forks.d.ts.map +0 -1
  509. package/lib/network/gossip/constants.d.ts.map +0 -1
  510. package/lib/network/gossip/encoding.d.ts.map +0 -1
  511. package/lib/network/gossip/errors.d.ts.map +0 -1
  512. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  513. package/lib/network/gossip/index.d.ts.map +0 -1
  514. package/lib/network/gossip/interface.d.ts.map +0 -1
  515. package/lib/network/gossip/metrics.d.ts.map +0 -1
  516. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  517. package/lib/network/gossip/topic.d.ts.map +0 -1
  518. package/lib/network/index.d.ts.map +0 -1
  519. package/lib/network/interface.d.ts.map +0 -1
  520. package/lib/network/libp2p/error.d.ts.map +0 -1
  521. package/lib/network/libp2p/index.d.ts.map +0 -1
  522. package/lib/network/metadata.d.ts.map +0 -1
  523. package/lib/network/network.d.ts.map +0 -1
  524. package/lib/network/networkConfig.d.ts.map +0 -1
  525. package/lib/network/options.d.ts.map +0 -1
  526. package/lib/network/peers/client.d.ts.map +0 -1
  527. package/lib/network/peers/datastore.d.ts.map +0 -1
  528. package/lib/network/peers/discover.d.ts.map +0 -1
  529. package/lib/network/peers/index.d.ts.map +0 -1
  530. package/lib/network/peers/peerManager.d.ts.map +0 -1
  531. package/lib/network/peers/peersData.d.ts.map +0 -1
  532. package/lib/network/peers/score/constants.d.ts.map +0 -1
  533. package/lib/network/peers/score/index.d.ts.map +0 -1
  534. package/lib/network/peers/score/interface.d.ts.map +0 -1
  535. package/lib/network/peers/score/score.d.ts.map +0 -1
  536. package/lib/network/peers/score/store.d.ts.map +0 -1
  537. package/lib/network/peers/score/utils.d.ts.map +0 -1
  538. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  539. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  540. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  541. package/lib/network/peers/utils/index.d.ts.map +0 -1
  542. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  543. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  544. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  545. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  546. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  547. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  548. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  549. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  550. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  551. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  552. package/lib/network/processor/index.d.ts.map +0 -1
  553. package/lib/network/processor/types.d.ts.map +0 -1
  554. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  555. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  556. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  557. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  558. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  559. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  560. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  561. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  562. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  563. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  564. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  565. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  566. package/lib/network/reqresp/index.d.ts.map +0 -1
  567. package/lib/network/reqresp/interface.d.ts.map +0 -1
  568. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  569. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  570. package/lib/network/reqresp/score.d.ts.map +0 -1
  571. package/lib/network/reqresp/types.d.ts.map +0 -1
  572. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  573. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  574. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  575. package/lib/network/statusCache.d.ts.map +0 -1
  576. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  577. package/lib/network/subnets/index.d.ts.map +0 -1
  578. package/lib/network/subnets/interface.d.ts.map +0 -1
  579. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  580. package/lib/network/subnets/util.d.ts.map +0 -1
  581. package/lib/network/util.d.ts.map +0 -1
  582. package/lib/node/index.d.ts.map +0 -1
  583. package/lib/node/nodejs.d.ts.map +0 -1
  584. package/lib/node/notifier.d.ts.map +0 -1
  585. package/lib/node/options.d.ts.map +0 -1
  586. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  587. package/lib/node/utils/interop/state.d.ts.map +0 -1
  588. package/lib/node/utils/lightclient.d.ts.map +0 -1
  589. package/lib/node/utils/state.d.ts.map +0 -1
  590. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  591. package/lib/sync/backfill/errors.d.ts.map +0 -1
  592. package/lib/sync/backfill/index.d.ts.map +0 -1
  593. package/lib/sync/backfill/verify.d.ts.map +0 -1
  594. package/lib/sync/constants.d.ts.map +0 -1
  595. package/lib/sync/index.d.ts.map +0 -1
  596. package/lib/sync/interface.d.ts.map +0 -1
  597. package/lib/sync/options.d.ts.map +0 -1
  598. package/lib/sync/range/batch.d.ts.map +0 -1
  599. package/lib/sync/range/chain.d.ts.map +0 -1
  600. package/lib/sync/range/range.d.ts.map +0 -1
  601. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  602. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  603. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  604. package/lib/sync/range/utils/index.d.ts.map +0 -1
  605. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  606. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  607. package/lib/sync/sync.d.ts.map +0 -1
  608. package/lib/sync/types.d.ts.map +0 -1
  609. package/lib/sync/unknownBlock.d.ts.map +0 -1
  610. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  611. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  612. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  613. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  614. package/lib/util/address.d.ts.map +0 -1
  615. package/lib/util/array.d.ts.map +0 -1
  616. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  617. package/lib/util/binarySearch.d.ts.map +0 -1
  618. package/lib/util/bitArray.d.ts.map +0 -1
  619. package/lib/util/blobs.d.ts.map +0 -1
  620. package/lib/util/bufferPool.d.ts.map +0 -1
  621. package/lib/util/bytes.d.ts.map +0 -1
  622. package/lib/util/chunkify.d.ts.map +0 -1
  623. package/lib/util/clock.d.ts.map +0 -1
  624. package/lib/util/dataColumns.d.ts.map +0 -1
  625. package/lib/util/dependentRoot.d.ts.map +0 -1
  626. package/lib/util/enum.d.ts.map +0 -1
  627. package/lib/util/error.d.ts.map +0 -1
  628. package/lib/util/eventLoop.d.ts.map +0 -1
  629. package/lib/util/execution.d.ts.map +0 -1
  630. package/lib/util/file.d.ts.map +0 -1
  631. package/lib/util/forkChoice.d.ts.map +0 -1
  632. package/lib/util/forkName.d.ts.map +0 -1
  633. package/lib/util/graffiti.d.ts.map +0 -1
  634. package/lib/util/hex.d.ts.map +0 -1
  635. package/lib/util/index.d.ts.map +0 -1
  636. package/lib/util/ip.d.ts.map +0 -1
  637. package/lib/util/itTrigger.d.ts.map +0 -1
  638. package/lib/util/kzg.d.ts.map +0 -1
  639. package/lib/util/map.d.ts.map +0 -1
  640. package/lib/util/metadata.d.ts.map +0 -1
  641. package/lib/util/multifork.d.ts.map +0 -1
  642. package/lib/util/numpy.d.ts.map +0 -1
  643. package/lib/util/peerId.d.ts.map +0 -1
  644. package/lib/util/profile.d.ts.map +0 -1
  645. package/lib/util/promises.d.ts.map +0 -1
  646. package/lib/util/queue/errors.d.ts.map +0 -1
  647. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  648. package/lib/util/queue/index.d.ts.map +0 -1
  649. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  650. package/lib/util/queue/options.d.ts.map +0 -1
  651. package/lib/util/serializedCache.d.ts.map +0 -1
  652. package/lib/util/set.d.ts.map +0 -1
  653. package/lib/util/shuffle.d.ts.map +0 -1
  654. package/lib/util/sortBy.d.ts.map +0 -1
  655. package/lib/util/sszBytes.d.ts.map +0 -1
  656. package/lib/util/strictEvents.d.ts.map +0 -1
  657. package/lib/util/time.d.ts.map +0 -1
  658. package/lib/util/timeSeries.d.ts.map +0 -1
  659. package/lib/util/types.d.ts.map +0 -1
  660. package/lib/util/workerEvents.d.ts.map +0 -1
  661. package/lib/util/wrapError.d.ts.map +0 -1
  662. package/src/api/impl/api.ts +0 -26
  663. package/src/api/impl/beacon/blocks/index.ts +0 -744
  664. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  665. package/src/api/impl/beacon/index.ts +0 -35
  666. package/src/api/impl/beacon/pool/index.ts +0 -314
  667. package/src/api/impl/beacon/rewards/index.ts +0 -30
  668. package/src/api/impl/beacon/state/index.ts +0 -406
  669. package/src/api/impl/beacon/state/utils.ts +0 -189
  670. package/src/api/impl/config/constants.ts +0 -127
  671. package/src/api/impl/config/index.ts +0 -59
  672. package/src/api/impl/debug/index.ts +0 -131
  673. package/src/api/impl/errors.ts +0 -50
  674. package/src/api/impl/events/index.ts +0 -33
  675. package/src/api/impl/index.ts +0 -6
  676. package/src/api/impl/lightclient/index.ts +0 -64
  677. package/src/api/impl/lodestar/index.ts +0 -257
  678. package/src/api/impl/node/index.ts +0 -88
  679. package/src/api/impl/node/utils.ts +0 -51
  680. package/src/api/impl/proof/index.ts +0 -60
  681. package/src/api/impl/types.ts +0 -17
  682. package/src/api/impl/utils.ts +0 -25
  683. package/src/api/impl/validator/index.ts +0 -1538
  684. package/src/api/impl/validator/utils.ts +0 -85
  685. package/src/api/index.ts +0 -2
  686. package/src/api/options.ts +0 -16
  687. package/src/api/rest/activeSockets.ts +0 -109
  688. package/src/api/rest/base.ts +0 -216
  689. package/src/api/rest/index.ts +0 -63
  690. package/src/api/rest/swaggerUI.ts +0 -80
  691. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  692. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  693. package/src/chain/GetBlobsTracker.ts +0 -115
  694. package/src/chain/archiveStore/archiveStore.ts +0 -222
  695. package/src/chain/archiveStore/constants.ts +0 -5
  696. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  697. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  698. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  699. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  700. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  701. package/src/chain/archiveStore/index.ts +0 -3
  702. package/src/chain/archiveStore/interface.ts +0 -75
  703. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  704. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  705. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  706. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  707. package/src/chain/balancesCache.ts +0 -52
  708. package/src/chain/beaconProposerCache.ts +0 -43
  709. package/src/chain/blocks/blockInput/blockInput.ts +0 -851
  710. package/src/chain/blocks/blockInput/errors.ts +0 -48
  711. package/src/chain/blocks/blockInput/index.ts +0 -4
  712. package/src/chain/blocks/blockInput/types.ts +0 -145
  713. package/src/chain/blocks/blockInput/utils.ts +0 -21
  714. package/src/chain/blocks/importBlock.ts +0 -603
  715. package/src/chain/blocks/index.ts +0 -179
  716. package/src/chain/blocks/types.ts +0 -101
  717. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  718. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  719. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  720. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  721. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  722. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  723. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  724. package/src/chain/blocks/verifyBlock.ts +0 -242
  725. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -34
  726. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  727. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  728. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  729. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  730. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  731. package/src/chain/bls/index.ts +0 -4
  732. package/src/chain/bls/interface.ts +0 -68
  733. package/src/chain/bls/maybeBatch.ts +0 -45
  734. package/src/chain/bls/multithread/index.ts +0 -582
  735. package/src/chain/bls/multithread/jobItem.ts +0 -119
  736. package/src/chain/bls/multithread/poolSize.ts +0 -16
  737. package/src/chain/bls/multithread/types.ts +0 -38
  738. package/src/chain/bls/multithread/utils.ts +0 -19
  739. package/src/chain/bls/multithread/worker.ts +0 -114
  740. package/src/chain/bls/singleThread.ts +0 -87
  741. package/src/chain/bls/utils.ts +0 -30
  742. package/src/chain/chain.ts +0 -1365
  743. package/src/chain/emitter.ts +0 -113
  744. package/src/chain/errors/attestationError.ts +0 -194
  745. package/src/chain/errors/attesterSlashingError.ts +0 -11
  746. package/src/chain/errors/blobSidecarError.ts +0 -60
  747. package/src/chain/errors/blockError.ts +0 -166
  748. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  749. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  750. package/src/chain/errors/gossipValidation.ts +0 -20
  751. package/src/chain/errors/index.ts +0 -10
  752. package/src/chain/errors/lightClientError.ts +0 -30
  753. package/src/chain/errors/proposerSlashingError.ts +0 -11
  754. package/src/chain/errors/syncCommitteeError.ts +0 -36
  755. package/src/chain/errors/voluntaryExitError.ts +0 -13
  756. package/src/chain/forkChoice/index.ts +0 -112
  757. package/src/chain/genesis/genesis.ts +0 -190
  758. package/src/chain/genesis/interface.ts +0 -14
  759. package/src/chain/index.ts +0 -6
  760. package/src/chain/initState.ts +0 -221
  761. package/src/chain/interface.ts +0 -280
  762. package/src/chain/lightClient/index.ts +0 -764
  763. package/src/chain/lightClient/proofs.ts +0 -85
  764. package/src/chain/lightClient/types.ts +0 -33
  765. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  766. package/src/chain/opPools/attestationPool.ts +0 -283
  767. package/src/chain/opPools/index.ts +0 -5
  768. package/src/chain/opPools/opPool.ts +0 -462
  769. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -167
  770. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  771. package/src/chain/opPools/types.ts +0 -35
  772. package/src/chain/opPools/utils.ts +0 -65
  773. package/src/chain/options.ts +0 -138
  774. package/src/chain/prepareNextSlot.ts +0 -277
  775. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  776. package/src/chain/produceBlock/index.ts +0 -2
  777. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  778. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  779. package/src/chain/regen/errors.ts +0 -30
  780. package/src/chain/regen/index.ts +0 -4
  781. package/src/chain/regen/interface.ts +0 -93
  782. package/src/chain/regen/queued.ts +0 -317
  783. package/src/chain/regen/regen.ts +0 -424
  784. package/src/chain/reprocess.ts +0 -161
  785. package/src/chain/rewards/attestationsRewards.ts +0 -196
  786. package/src/chain/rewards/blockRewards.ts +0 -150
  787. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  788. package/src/chain/seenCache/index.ts +0 -5
  789. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  790. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  791. package/src/chain/seenCache/seenAttesters.ts +0 -58
  792. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  793. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  794. package/src/chain/seenCache/seenCommittee.ts +0 -43
  795. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  796. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  797. package/src/chain/serializeState.ts +0 -32
  798. package/src/chain/shufflingCache.ts +0 -238
  799. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  800. package/src/chain/stateCache/datastore/db.ts +0 -36
  801. package/src/chain/stateCache/datastore/file.ts +0 -53
  802. package/src/chain/stateCache/datastore/index.ts +0 -2
  803. package/src/chain/stateCache/datastore/types.ts +0 -13
  804. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  805. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  806. package/src/chain/stateCache/index.ts +0 -3
  807. package/src/chain/stateCache/mapMetrics.ts +0 -52
  808. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -835
  809. package/src/chain/stateCache/types.ts +0 -86
  810. package/src/chain/validation/aggregateAndProof.ts +0 -258
  811. package/src/chain/validation/attestation.ts +0 -885
  812. package/src/chain/validation/attesterSlashing.ts +0 -61
  813. package/src/chain/validation/blobSidecar.ts +0 -301
  814. package/src/chain/validation/block.ts +0 -188
  815. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  816. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  817. package/src/chain/validation/index.ts +0 -9
  818. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -45
  819. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -67
  820. package/src/chain/validation/proposerSlashing.ts +0 -54
  821. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  822. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  823. package/src/chain/validation/signatureSets/index.ts +0 -6
  824. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  825. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  826. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  827. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  828. package/src/chain/validation/syncCommittee.ts +0 -165
  829. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  830. package/src/chain/validation/voluntaryExit.ts +0 -58
  831. package/src/chain/validatorMonitor.ts +0 -1299
  832. package/src/constants/constants.ts +0 -15
  833. package/src/constants/index.ts +0 -2
  834. package/src/constants/network.ts +0 -52
  835. package/src/db/beacon.ts +0 -113
  836. package/src/db/buckets.ts +0 -80
  837. package/src/db/index.ts +0 -2
  838. package/src/db/interface.ts +0 -76
  839. package/src/db/options.ts +0 -7
  840. package/src/db/repositories/attesterSlashing.ts +0 -38
  841. package/src/db/repositories/backfilledRanges.ts +0 -29
  842. package/src/db/repositories/blobSidecars.ts +0 -37
  843. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  844. package/src/db/repositories/block.ts +0 -33
  845. package/src/db/repositories/blockArchive.ts +0 -170
  846. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  847. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  848. package/src/db/repositories/checkpointState.ts +0 -31
  849. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  850. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  851. package/src/db/repositories/depositDataRoot.ts +0 -80
  852. package/src/db/repositories/depositEvent.ts +0 -32
  853. package/src/db/repositories/eth1Data.ts +0 -33
  854. package/src/db/repositories/index.ts +0 -20
  855. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  856. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  857. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  858. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  859. package/src/db/repositories/proposerSlashing.ts +0 -15
  860. package/src/db/repositories/stateArchive.ts +0 -69
  861. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  862. package/src/db/repositories/voluntaryExit.ts +0 -15
  863. package/src/db/single/index.ts +0 -2
  864. package/src/db/single/preGenesisState.ts +0 -37
  865. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  866. package/src/eth1/errors.ts +0 -40
  867. package/src/eth1/eth1DataCache.ts +0 -26
  868. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  869. package/src/eth1/eth1DepositsCache.ts +0 -141
  870. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  871. package/src/eth1/index.ts +0 -157
  872. package/src/eth1/interface.ts +0 -131
  873. package/src/eth1/options.ts +0 -28
  874. package/src/eth1/provider/eth1Provider.ts +0 -229
  875. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  876. package/src/eth1/provider/jwt.ts +0 -36
  877. package/src/eth1/provider/utils.ts +0 -136
  878. package/src/eth1/stream.ts +0 -75
  879. package/src/eth1/utils/depositContract.ts +0 -37
  880. package/src/eth1/utils/deposits.ts +0 -70
  881. package/src/eth1/utils/eth1Data.ts +0 -100
  882. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  883. package/src/eth1/utils/eth1Vote.ts +0 -142
  884. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  885. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  886. package/src/execution/builder/cache.ts +0 -39
  887. package/src/execution/builder/http.ts +0 -229
  888. package/src/execution/builder/index.ts +0 -27
  889. package/src/execution/builder/interface.ts +0 -49
  890. package/src/execution/builder/utils.ts +0 -19
  891. package/src/execution/engine/disabled.ts +0 -35
  892. package/src/execution/engine/http.ts +0 -644
  893. package/src/execution/engine/index.ts +0 -63
  894. package/src/execution/engine/interface.ts +0 -199
  895. package/src/execution/engine/mock.ts +0 -493
  896. package/src/execution/engine/payloadIdCache.ts +0 -54
  897. package/src/execution/engine/types.ts +0 -640
  898. package/src/execution/engine/utils.ts +0 -136
  899. package/src/execution/index.ts +0 -4
  900. package/src/index.ts +0 -20
  901. package/src/metrics/index.ts +0 -4
  902. package/src/metrics/metrics/beacon.ts +0 -390
  903. package/src/metrics/metrics/lodestar.ts +0 -1870
  904. package/src/metrics/metrics.ts +0 -43
  905. package/src/metrics/nodeJsMetrics.ts +0 -19
  906. package/src/metrics/options.ts +0 -22
  907. package/src/metrics/server/http.ts +0 -114
  908. package/src/metrics/server/index.ts +0 -1
  909. package/src/metrics/utils/avgMinMax.ts +0 -87
  910. package/src/metrics/utils/gauge.ts +0 -22
  911. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  912. package/src/monitoring/clientStats.ts +0 -297
  913. package/src/monitoring/index.ts +0 -2
  914. package/src/monitoring/options.ts +0 -19
  915. package/src/monitoring/properties.ts +0 -152
  916. package/src/monitoring/service.ts +0 -235
  917. package/src/monitoring/system.ts +0 -146
  918. package/src/monitoring/types.ts +0 -21
  919. package/src/network/core/events.ts +0 -59
  920. package/src/network/core/index.ts +0 -3
  921. package/src/network/core/metrics.ts +0 -304
  922. package/src/network/core/networkCore.ts +0 -599
  923. package/src/network/core/networkCoreWorker.ts +0 -176
  924. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  925. package/src/network/core/types.ts +0 -119
  926. package/src/network/discv5/index.ts +0 -132
  927. package/src/network/discv5/types.ts +0 -74
  928. package/src/network/discv5/utils.ts +0 -50
  929. package/src/network/discv5/worker.ts +0 -137
  930. package/src/network/events.ts +0 -51
  931. package/src/network/forks.ts +0 -94
  932. package/src/network/gossip/constants.ts +0 -15
  933. package/src/network/gossip/encoding.ts +0 -111
  934. package/src/network/gossip/errors.ts +0 -7
  935. package/src/network/gossip/gossipsub.ts +0 -384
  936. package/src/network/gossip/index.ts +0 -4
  937. package/src/network/gossip/interface.ts +0 -215
  938. package/src/network/gossip/metrics.ts +0 -71
  939. package/src/network/gossip/scoringParameters.ts +0 -333
  940. package/src/network/gossip/topic.ts +0 -332
  941. package/src/network/index.ts +0 -8
  942. package/src/network/interface.ts +0 -134
  943. package/src/network/libp2p/error.ts +0 -55
  944. package/src/network/libp2p/index.ts +0 -153
  945. package/src/network/metadata.ts +0 -162
  946. package/src/network/network.ts +0 -767
  947. package/src/network/networkConfig.ts +0 -12
  948. package/src/network/options.ts +0 -70
  949. package/src/network/peers/client.ts +0 -29
  950. package/src/network/peers/datastore.ts +0 -188
  951. package/src/network/peers/discover.ts +0 -647
  952. package/src/network/peers/index.ts +0 -2
  953. package/src/network/peers/peerManager.ts +0 -899
  954. package/src/network/peers/peersData.ts +0 -65
  955. package/src/network/peers/score/constants.ts +0 -34
  956. package/src/network/peers/score/index.ts +0 -4
  957. package/src/network/peers/score/interface.ts +0 -74
  958. package/src/network/peers/score/score.ts +0 -200
  959. package/src/network/peers/score/store.ts +0 -95
  960. package/src/network/peers/score/utils.ts +0 -37
  961. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  962. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  963. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  964. package/src/network/peers/utils/index.ts +0 -4
  965. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  966. package/src/network/peers/utils/subnetMap.ts +0 -88
  967. package/src/network/processor/aggregatorTracker.ts +0 -38
  968. package/src/network/processor/extractSlotRootFns.ts +0 -64
  969. package/src/network/processor/gossipHandlers.ts +0 -951
  970. package/src/network/processor/gossipQueues/index.ts +0 -114
  971. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  972. package/src/network/processor/gossipQueues/linear.ts +0 -162
  973. package/src/network/processor/gossipQueues/types.ts +0 -57
  974. package/src/network/processor/gossipValidatorFn.ts +0 -142
  975. package/src/network/processor/index.ts +0 -496
  976. package/src/network/processor/types.ts +0 -27
  977. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  978. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  979. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  980. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  981. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  982. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  983. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  984. package/src/network/reqresp/handlers/index.ts +0 -78
  985. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  986. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  987. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  988. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  989. package/src/network/reqresp/index.ts +0 -2
  990. package/src/network/reqresp/interface.ts +0 -45
  991. package/src/network/reqresp/protocols.ts +0 -146
  992. package/src/network/reqresp/rateLimit.ts +0 -112
  993. package/src/network/reqresp/score.ts +0 -70
  994. package/src/network/reqresp/types.ts +0 -174
  995. package/src/network/reqresp/utils/collect.ts +0 -84
  996. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  997. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  998. package/src/network/statusCache.ts +0 -17
  999. package/src/network/subnets/attnetsService.ts +0 -385
  1000. package/src/network/subnets/index.ts +0 -2
  1001. package/src/network/subnets/interface.ts +0 -66
  1002. package/src/network/subnets/syncnetsService.ts +0 -147
  1003. package/src/network/subnets/util.ts +0 -63
  1004. package/src/network/util.ts +0 -29
  1005. package/src/node/index.ts +0 -2
  1006. package/src/node/nodejs.ts +0 -349
  1007. package/src/node/notifier.ts +0 -206
  1008. package/src/node/options.ts +0 -51
  1009. package/src/node/utils/interop/deposits.ts +0 -53
  1010. package/src/node/utils/interop/state.ts +0 -59
  1011. package/src/node/utils/lightclient.ts +0 -7
  1012. package/src/node/utils/state.ts +0 -37
  1013. package/src/sync/backfill/backfill.ts +0 -893
  1014. package/src/sync/backfill/errors.ts +0 -23
  1015. package/src/sync/backfill/index.ts +0 -1
  1016. package/src/sync/backfill/verify.ts +0 -58
  1017. package/src/sync/constants.ts +0 -71
  1018. package/src/sync/index.ts +0 -2
  1019. package/src/sync/interface.ts +0 -55
  1020. package/src/sync/options.ts +0 -45
  1021. package/src/sync/range/batch.ts +0 -455
  1022. package/src/sync/range/chain.ts +0 -715
  1023. package/src/sync/range/range.ts +0 -354
  1024. package/src/sync/range/utils/batches.ts +0 -119
  1025. package/src/sync/range/utils/chainTarget.ts +0 -62
  1026. package/src/sync/range/utils/hashBlocks.ts +0 -27
  1027. package/src/sync/range/utils/index.ts +0 -5
  1028. package/src/sync/range/utils/peerBalancer.ts +0 -184
  1029. package/src/sync/range/utils/updateChains.ts +0 -66
  1030. package/src/sync/sync.ts +0 -290
  1031. package/src/sync/types.ts +0 -57
  1032. package/src/sync/unknownBlock.ts +0 -859
  1033. package/src/sync/utils/downloadByRange.ts +0 -808
  1034. package/src/sync/utils/downloadByRoot.ts +0 -560
  1035. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  1036. package/src/sync/utils/remoteSyncType.ts +0 -144
  1037. package/src/util/address.ts +0 -3
  1038. package/src/util/array.ts +0 -311
  1039. package/src/util/asyncIterableToEvents.ts +0 -164
  1040. package/src/util/binarySearch.ts +0 -48
  1041. package/src/util/bitArray.ts +0 -84
  1042. package/src/util/blobs.ts +0 -210
  1043. package/src/util/bufferPool.ts +0 -95
  1044. package/src/util/bytes.ts +0 -11
  1045. package/src/util/chunkify.ts +0 -27
  1046. package/src/util/clock.ts +0 -204
  1047. package/src/util/dataColumns.ts +0 -415
  1048. package/src/util/dependentRoot.ts +0 -47
  1049. package/src/util/enum.ts +0 -17
  1050. package/src/util/error.ts +0 -56
  1051. package/src/util/eventLoop.ts +0 -22
  1052. package/src/util/execution.ts +0 -223
  1053. package/src/util/file.ts +0 -52
  1054. package/src/util/forkChoice.ts +0 -5
  1055. package/src/util/forkName.ts +0 -20
  1056. package/src/util/graffiti.ts +0 -39
  1057. package/src/util/hex.ts +0 -9
  1058. package/src/util/index.ts +0 -2
  1059. package/src/util/ip.ts +0 -6
  1060. package/src/util/itTrigger.ts +0 -49
  1061. package/src/util/kzg.ts +0 -3
  1062. package/src/util/map.ts +0 -77
  1063. package/src/util/metadata.ts +0 -22
  1064. package/src/util/multifork.ts +0 -69
  1065. package/src/util/numpy.ts +0 -8
  1066. package/src/util/peerId.ts +0 -16
  1067. package/src/util/profile.ts +0 -54
  1068. package/src/util/promises.ts +0 -14
  1069. package/src/util/queue/errors.ts +0 -14
  1070. package/src/util/queue/fnQueue.ts +0 -16
  1071. package/src/util/queue/index.ts +0 -4
  1072. package/src/util/queue/itemQueue.ts +0 -128
  1073. package/src/util/queue/options.ts +0 -37
  1074. package/src/util/serializedCache.ts +0 -20
  1075. package/src/util/set.ts +0 -62
  1076. package/src/util/shuffle.ts +0 -21
  1077. package/src/util/sortBy.ts +0 -19
  1078. package/src/util/sszBytes.ts +0 -481
  1079. package/src/util/strictEvents.ts +0 -8
  1080. package/src/util/time.ts +0 -13
  1081. package/src/util/timeSeries.ts +0 -118
  1082. package/src/util/types.ts +0 -31
  1083. package/src/util/workerEvents.ts +0 -142
  1084. package/src/util/wrapError.ts +0 -27
@@ -1,410 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {
3
- BeaconStateAllForks,
4
- CachedBeaconStateAllForks,
5
- CachedBeaconStateElectra,
6
- becomesNewEth1Data,
7
- } from "@lodestar/state-transition";
8
- import {phase0, ssz} from "@lodestar/types";
9
- import {ErrorAborted, Logger, TimeoutError, fromHex, isErrorAborted, sleep} from "@lodestar/utils";
10
- import {IBeaconDb} from "../db/index.js";
11
- import {Metrics} from "../metrics/index.js";
12
- import {Eth1DataCache} from "./eth1DataCache.js";
13
- import {Eth1DepositsCache} from "./eth1DepositsCache.js";
14
- import {Eth1DataAndDeposits, EthJsonRpcBlockRaw, IEth1Provider} from "./interface.js";
15
- import {Eth1Options} from "./options.js";
16
- import {parseEth1Block} from "./provider/eth1Provider.js";
17
- import {HttpRpcError} from "./provider/jsonRpcHttpClient.js";
18
- import {isJsonRpcTruncatedError} from "./provider/utils.js";
19
- import {getDeposits} from "./utils/deposits.js";
20
- import {getEth1VotesToConsider, pickEth1Vote} from "./utils/eth1Vote.js";
21
-
22
- const MAX_BLOCKS_PER_BLOCK_QUERY = 1000;
23
- const MIN_BLOCKS_PER_BLOCK_QUERY = 10;
24
-
25
- const MAX_BLOCKS_PER_LOG_QUERY = 1000;
26
- const MIN_BLOCKS_PER_LOG_QUERY = 10;
27
-
28
- /** Eth1 blocks happen every 14s approx, not need to update too often once synced */
29
- const AUTO_UPDATE_PERIOD_MS = 60 * 1000;
30
- /** Prevent infinite loops */
31
- const MIN_UPDATE_PERIOD_MS = 1 * 1000;
32
- /** Milliseconds to wait after getting 429 Too Many Requests */
33
- const RATE_LIMITED_WAIT_MS = 30 * 1000;
34
- /** Min time to wait on auto update loop on unknown error */
35
- const MIN_WAIT_ON_ERROR_MS = 1 * 1000;
36
-
37
- /** Number of blocks to download if the node detects it is lagging behind due to an inaccurate
38
- relationship between block-number-based follow distance and time-based follow distance. */
39
- const ETH1_FOLLOW_DISTANCE_DELTA_IF_SLOW = 32;
40
-
41
- /** The absolute minimum follow distance to enforce when downloading catchup batches, from LH */
42
- const ETH_MIN_FOLLOW_DISTANCE = 64;
43
-
44
- export type Eth1DepositDataTrackerModules = {
45
- config: ChainForkConfig;
46
- db: IBeaconDb;
47
- metrics: Metrics | null;
48
- logger: Logger;
49
- signal: AbortSignal;
50
- };
51
-
52
- /**
53
- * Main class handling eth1 data fetching, processing and storing
54
- * Upon instantiation, starts fetching deposits and blocks at regular intervals
55
- */
56
- export class Eth1DepositDataTracker {
57
- private config: ChainForkConfig;
58
- private logger: Logger;
59
- private signal: AbortSignal;
60
- private readonly metrics: Metrics | null;
61
-
62
- // Internal modules, state
63
- private depositsCache: Eth1DepositsCache;
64
- private eth1DataCache: Eth1DataCache;
65
- private lastProcessedDepositBlockNumber: number | null = null;
66
-
67
- /** Dynamically adjusted follow distance */
68
- private eth1FollowDistance: number;
69
- /** Dynamically adjusted batch size to fetch deposit logs */
70
- private eth1GetBlocksBatchSizeDynamic = MAX_BLOCKS_PER_BLOCK_QUERY;
71
- /** Dynamically adjusted batch size to fetch deposit logs */
72
- private eth1GetLogsBatchSizeDynamic = MAX_BLOCKS_PER_LOG_QUERY;
73
- private readonly forcedEth1DataVote: phase0.Eth1Data | null;
74
- /** To stop `runAutoUpdate()` in addition to AbortSignal */
75
- private stopPolling: boolean;
76
-
77
- constructor(
78
- opts: Eth1Options,
79
- {config, db, metrics, logger, signal}: Eth1DepositDataTrackerModules,
80
- private readonly eth1Provider: IEth1Provider
81
- ) {
82
- this.config = config;
83
- this.metrics = metrics;
84
- this.logger = logger;
85
- this.signal = signal;
86
- this.eth1Provider = eth1Provider;
87
- this.depositsCache = new Eth1DepositsCache(opts, config, db);
88
- this.eth1DataCache = new Eth1DataCache(config, db);
89
- this.eth1FollowDistance = config.ETH1_FOLLOW_DISTANCE;
90
- this.stopPolling = false;
91
-
92
- this.forcedEth1DataVote = opts.forcedEth1DataVote
93
- ? ssz.phase0.Eth1Data.deserialize(fromHex(opts.forcedEth1DataVote))
94
- : null;
95
-
96
- if (opts.depositContractDeployBlock === undefined) {
97
- this.logger.warn("No depositContractDeployBlock provided");
98
- }
99
-
100
- if (metrics) {
101
- // Set constant value once
102
- metrics?.eth1.eth1FollowDistanceSecondsConfig.set(config.SECONDS_PER_ETH1_BLOCK * config.ETH1_FOLLOW_DISTANCE);
103
- metrics.eth1.eth1FollowDistanceDynamic.addCollect(() => {
104
- metrics.eth1.eth1FollowDistanceDynamic.set(this.eth1FollowDistance);
105
- metrics.eth1.eth1GetBlocksBatchSizeDynamic.set(this.eth1GetBlocksBatchSizeDynamic);
106
- metrics.eth1.eth1GetLogsBatchSizeDynamic.set(this.eth1GetLogsBatchSizeDynamic);
107
- });
108
- }
109
-
110
- if (opts.enabled) {
111
- this.runAutoUpdate().catch((e: Error) => {
112
- if (!(e instanceof ErrorAborted)) {
113
- this.logger.error("Error on eth1 loop", {}, e);
114
- }
115
- });
116
- }
117
- }
118
-
119
- isPollingEth1Data(): boolean {
120
- return !this.stopPolling;
121
- }
122
-
123
- stopPollingEth1Data(): void {
124
- this.stopPolling = true;
125
- }
126
-
127
- /**
128
- * Return eth1Data and deposits ready for block production for a given state
129
- */
130
- async getEth1DataAndDeposits(state: CachedBeaconStateAllForks): Promise<Eth1DataAndDeposits> {
131
- if (
132
- state.epochCtx.isPostElectra() &&
133
- state.eth1DepositIndex >= (state as CachedBeaconStateElectra).depositRequestsStartIndex
134
- ) {
135
- // No need to poll eth1Data since Electra deprecates the mechanism after depositRequestsStartIndex is reached
136
- return {eth1Data: state.eth1Data, deposits: []};
137
- }
138
- const eth1Data = this.forcedEth1DataVote ?? (await this.getEth1Data(state));
139
- const deposits = await this.getDeposits(state, eth1Data);
140
- return {eth1Data, deposits};
141
- }
142
-
143
- /**
144
- * Returns an eth1Data vote for a given state.
145
- * Requires internal caches to be updated regularly to return good results
146
- */
147
- private async getEth1Data(state: BeaconStateAllForks): Promise<phase0.Eth1Data> {
148
- try {
149
- const eth1VotesToConsider = await getEth1VotesToConsider(
150
- this.config,
151
- state,
152
- this.eth1DataCache.get.bind(this.eth1DataCache)
153
- );
154
- return pickEth1Vote(state, eth1VotesToConsider);
155
- } catch (e) {
156
- // Note: In case there's a DB issue, don't stop a block proposal. Just vote for current eth1Data
157
- this.logger.error("CRITICAL: Error reading valid votes, voting for current eth1Data", {}, e as Error);
158
- return state.eth1Data;
159
- }
160
- }
161
-
162
- /**
163
- * Returns deposits to be included for a given state and eth1Data vote.
164
- * Requires internal caches to be updated regularly to return good results
165
- */
166
- private async getDeposits(
167
- state: CachedBeaconStateAllForks,
168
- eth1DataVote: phase0.Eth1Data
169
- ): Promise<phase0.Deposit[]> {
170
- // No new deposits have to be included, continue
171
- if (eth1DataVote.depositCount === state.eth1DepositIndex) {
172
- return [];
173
- }
174
-
175
- // TODO: Review if this is optimal
176
- // Convert to view first to hash once and compare hashes
177
- const eth1DataVoteView = ssz.phase0.Eth1Data.toViewDU(eth1DataVote);
178
-
179
- // Eth1 data may change due to the vote included in this block
180
- const newEth1Data = becomesNewEth1Data(state, eth1DataVoteView) ? eth1DataVoteView : state.eth1Data;
181
- return getDeposits(state, newEth1Data, this.depositsCache.get.bind(this.depositsCache));
182
- }
183
-
184
- /**
185
- * Abortable async setInterval that runs its callback once at max between `ms` at minimum
186
- */
187
- private async runAutoUpdate(): Promise<void> {
188
- let lastRunMs = 0;
189
-
190
- while (!this.signal.aborted && !this.stopPolling) {
191
- lastRunMs = Date.now();
192
-
193
- try {
194
- const hasCaughtUp = await this.update();
195
-
196
- this.metrics?.eth1.depositTrackerIsCaughtup.set(hasCaughtUp ? 1 : 0);
197
-
198
- if (hasCaughtUp) {
199
- const sleepTimeMs = Math.max(AUTO_UPDATE_PERIOD_MS + lastRunMs - Date.now(), MIN_UPDATE_PERIOD_MS);
200
- await sleep(sleepTimeMs, this.signal);
201
- }
202
- } catch (e) {
203
- this.metrics?.eth1.depositTrackerUpdateErrors.inc(1);
204
-
205
- // From Infura: 429 Too Many Requests
206
- if (e instanceof HttpRpcError && e.status === 429) {
207
- this.logger.debug("Eth1 provider rate limited", {}, e);
208
- await sleep(RATE_LIMITED_WAIT_MS, this.signal);
209
- // only log error if state switched from online to some other state
210
- } else if (!isErrorAborted(e)) {
211
- await sleep(MIN_WAIT_ON_ERROR_MS, this.signal);
212
- }
213
- }
214
- }
215
- }
216
-
217
- /**
218
- * Update the deposit and block cache, returning an error if either fail
219
- * @returns true if it has catched up to the remote follow block
220
- */
221
- private async update(): Promise<boolean> {
222
- const remoteHighestBlock = await this.eth1Provider.getBlockNumber();
223
- this.metrics?.eth1.remoteHighestBlock.set(remoteHighestBlock);
224
-
225
- const remoteFollowBlock = remoteHighestBlock - this.eth1FollowDistance;
226
-
227
- // If remoteFollowBlock is not at or beyond deployBlock, there is no need to
228
- // fetch and track any deposit data yet
229
- if (remoteFollowBlock < (this.eth1Provider.deployBlock ?? 0)) return true;
230
-
231
- const hasCaughtUpDeposits = await this.updateDepositCache(remoteFollowBlock);
232
- const hasCaughtUpBlocks = await this.updateBlockCache(remoteFollowBlock);
233
- return hasCaughtUpDeposits && hasCaughtUpBlocks;
234
- }
235
-
236
- /**
237
- * Fetch deposit events from remote eth1 node up to follow-distance block
238
- * @returns true if it has catched up to the remote follow block
239
- */
240
- private async updateDepositCache(remoteFollowBlock: number): Promise<boolean> {
241
- const lastProcessedDepositBlockNumber = await this.getLastProcessedDepositBlockNumber();
242
- // The DB may contain deposits from a different chain making lastProcessedDepositBlockNumber > current chain tip
243
- // The Math.min() fixes those rare scenarios where fromBlock > toBlock
244
- const fromBlock = Math.min(remoteFollowBlock, this.getFromBlockToFetch(lastProcessedDepositBlockNumber));
245
- const toBlock = Math.min(remoteFollowBlock, fromBlock + this.eth1GetLogsBatchSizeDynamic - 1);
246
-
247
- let depositEvents: phase0.DepositEvent[];
248
- try {
249
- depositEvents = await this.eth1Provider.getDepositEvents(fromBlock, toBlock);
250
- // Increase the batch size linearly even if we scale down exponentially (half each time)
251
- this.eth1GetLogsBatchSizeDynamic = Math.min(
252
- MAX_BLOCKS_PER_LOG_QUERY,
253
- this.eth1GetLogsBatchSizeDynamic + MIN_BLOCKS_PER_LOG_QUERY
254
- );
255
- } catch (e) {
256
- if (isJsonRpcTruncatedError(e as Error) || e instanceof TimeoutError) {
257
- this.eth1GetLogsBatchSizeDynamic = Math.max(
258
- MIN_BLOCKS_PER_LOG_QUERY,
259
- Math.floor(this.eth1GetLogsBatchSizeDynamic / 2)
260
- );
261
- }
262
- throw e;
263
- }
264
-
265
- this.logger.verbose("Fetched deposits", {depositCount: depositEvents.length, fromBlock, toBlock});
266
- this.metrics?.eth1.depositEventsFetched.inc(depositEvents.length);
267
-
268
- await this.depositsCache.add(depositEvents);
269
- // Store the `toBlock` since that block may not contain
270
- this.lastProcessedDepositBlockNumber = toBlock;
271
- this.metrics?.eth1.lastProcessedDepositBlockNumber.set(toBlock);
272
-
273
- return toBlock >= remoteFollowBlock;
274
- }
275
-
276
- /**
277
- * Fetch block headers from a remote eth1 node up to follow-distance block
278
- *
279
- * depositRoot and depositCount are inferred from already fetched deposits.
280
- * Calling get_deposit_root() and the smart contract for a non-latest block requires an
281
- * archive node, something most users don't have access too.
282
- * @returns true if it has catched up to the remote follow timestamp
283
- */
284
- private async updateBlockCache(remoteFollowBlock: number): Promise<boolean> {
285
- const lastCachedBlock = await this.eth1DataCache.getHighestCachedBlockNumber();
286
- // lastProcessedDepositBlockNumber sets the upper bound of the possible block range to fetch in this update
287
- const lastProcessedDepositBlockNumber = await this.getLastProcessedDepositBlockNumber();
288
- // lowestEventBlockNumber set a lower bound of possible block range to fetch in this update
289
- const lowestEventBlockNumber = await this.depositsCache.getLowestDepositEventBlockNumber();
290
-
291
- // We are all caught up if:
292
- // 1. If lowestEventBlockNumber is null = no deposits have been fetch or found yet.
293
- // So there's not useful blocks to fetch until at least 1 deposit is found.
294
- // 2. If the remoteFollowBlock is behind the lowestEventBlockNumber. This can happen
295
- // if the EL's data was wiped and restarted. Not exiting here would other wise
296
- // cause a NO_DEPOSITS_FOR_BLOCK_RANGE error
297
- if (
298
- lowestEventBlockNumber === null ||
299
- lastProcessedDepositBlockNumber === null ||
300
- remoteFollowBlock < lowestEventBlockNumber
301
- ) {
302
- return true;
303
- }
304
-
305
- // Cap the upper limit of fromBlock with remoteFollowBlock in case deployBlock is set to a different network value
306
- const fromBlock = Math.min(
307
- remoteFollowBlock,
308
- // Fetch from the last cached block or the lowest known deposit block number
309
- Math.max(this.getFromBlockToFetch(lastCachedBlock), lowestEventBlockNumber)
310
- );
311
- const toBlock = Math.min(
312
- remoteFollowBlock,
313
- fromBlock + this.eth1GetBlocksBatchSizeDynamic - 1, // Block range is inclusive
314
- lastProcessedDepositBlockNumber
315
- );
316
-
317
- let blocksRaw: EthJsonRpcBlockRaw[];
318
- try {
319
- blocksRaw = await this.eth1Provider.getBlocksByNumber(fromBlock, toBlock);
320
- // Increase the batch size linearly even if we scale down exponentially (half each time)
321
- this.eth1GetBlocksBatchSizeDynamic = Math.min(
322
- MAX_BLOCKS_PER_BLOCK_QUERY,
323
- this.eth1GetBlocksBatchSizeDynamic + MIN_BLOCKS_PER_BLOCK_QUERY
324
- );
325
- } catch (e) {
326
- if (isJsonRpcTruncatedError(e as Error) || e instanceof TimeoutError) {
327
- this.eth1GetBlocksBatchSizeDynamic = Math.max(
328
- MIN_BLOCKS_PER_BLOCK_QUERY,
329
- Math.floor(this.eth1GetBlocksBatchSizeDynamic / 2)
330
- );
331
- }
332
- throw e;
333
- }
334
- const blocks = blocksRaw.map(parseEth1Block);
335
-
336
- this.logger.verbose("Fetched eth1 blocks", {blockCount: blocks.length, fromBlock, toBlock});
337
- this.metrics?.eth1.blocksFetched.inc(blocks.length);
338
- this.metrics?.eth1.lastFetchedBlockBlockNumber.set(toBlock);
339
- const lastBlock = blocks.at(-1);
340
- if (lastBlock) {
341
- this.metrics?.eth1.lastFetchedBlockTimestamp.set(lastBlock.timestamp);
342
- }
343
-
344
- const eth1Datas = await this.depositsCache.getEth1DataForBlocks(blocks, lastProcessedDepositBlockNumber);
345
- await this.eth1DataCache.add(eth1Datas);
346
-
347
- // Note: ETH1_FOLLOW_DISTANCE_SECONDS = ETH1_FOLLOW_DISTANCE * SECONDS_PER_ETH1_BLOCK
348
- // Deposit tracker must fetch blocks and deposits up to ETH1_FOLLOW_DISTANCE_SECONDS,
349
- // measured in time not blocks. To vote on valid votes it must populate up to the time based follow distance.
350
- // If it assumes SECONDS_PER_ETH1_BLOCK but block times are:
351
- // - slower: Cache will not contain all blocks
352
- // - faster: Cache will contain all required blocks + some ahead of timed follow distance
353
- //
354
- // For mainnet we must fetch blocks up until block.timestamp < now - 28672 sec. Based on follow distance:
355
- // Block times | actual follow distance
356
- // 14 | 2048
357
- // 20 | 1434
358
- // 30 | 956
359
- // 60 | 478
360
- //
361
- // So if after fetching the block at ETH1_FOLLOW_DISTANCE, but it's timestamp is not greater than
362
- // ETH1_FOLLOW_DISTANCE_SECONDS, reduce the ETH1_FOLLOW_DISTANCE by a small delta and fetch more blocks.
363
- // Otherwise if the last fetched block if above ETH1_FOLLOW_DISTANCE_SECONDS, reduce ETH1_FOLLOW_DISTANCE.
364
-
365
- if (toBlock < remoteFollowBlock) {
366
- return false;
367
- }
368
-
369
- if (!lastBlock) {
370
- return true;
371
- }
372
-
373
- const remoteFollowBlockTimestamp =
374
- Math.round(Date.now() / 1000) - this.config.SECONDS_PER_ETH1_BLOCK * this.config.ETH1_FOLLOW_DISTANCE;
375
- const blockAfterTargetTimestamp = blocks.find((block) => block.timestamp >= remoteFollowBlockTimestamp);
376
-
377
- if (blockAfterTargetTimestamp) {
378
- // Catched up to target timestamp, increase eth1FollowDistance. Limit max config.ETH1_FOLLOW_DISTANCE.
379
- // If the block that's right above the timestamp has been fetched now, use it to compute the precise delta.
380
- const delta = Math.max(lastBlock.blockNumber - blockAfterTargetTimestamp.blockNumber, 1);
381
- this.eth1FollowDistance = Math.min(this.eth1FollowDistance + delta, this.config.ETH1_FOLLOW_DISTANCE);
382
-
383
- return true;
384
- }
385
- // Blocks are slower than expected, reduce eth1FollowDistance. Limit min CATCHUP_MIN_FOLLOW_DISTANCE
386
- const delta =
387
- this.eth1FollowDistance -
388
- Math.max(this.eth1FollowDistance - ETH1_FOLLOW_DISTANCE_DELTA_IF_SLOW, ETH_MIN_FOLLOW_DISTANCE);
389
- this.eth1FollowDistance = this.eth1FollowDistance - delta;
390
-
391
- // Even if the blocks are slow, when we are all caught up as there is no
392
- // further possibility to reduce follow distance, we need to call it quits
393
- // for now, else it leads to an incessant poll on the EL
394
- return delta === 0;
395
- }
396
-
397
- private getFromBlockToFetch(lastCachedBlock: number | null): number {
398
- if (lastCachedBlock === null) {
399
- return this.eth1Provider.deployBlock ?? 0;
400
- }
401
- return lastCachedBlock + 1;
402
- }
403
-
404
- private async getLastProcessedDepositBlockNumber(): Promise<number | null> {
405
- if (this.lastProcessedDepositBlockNumber === null) {
406
- this.lastProcessedDepositBlockNumber = await this.depositsCache.getHighestDepositEventBlockNumber();
407
- }
408
- return this.lastProcessedDepositBlockNumber;
409
- }
410
- }
@@ -1,141 +0,0 @@
1
- import {byteArrayEquals} from "@chainsafe/ssz";
2
- import {ChainForkConfig} from "@lodestar/config";
3
- import {FilterOptions} from "@lodestar/db";
4
- import {phase0, ssz} from "@lodestar/types";
5
- import {IBeaconDb} from "../db/index.js";
6
- import {Eth1Error, Eth1ErrorCode} from "./errors.js";
7
- import {Eth1Block} from "./interface.js";
8
- import {getDepositsWithProofs} from "./utils/deposits.js";
9
- import {getEth1DataForBlocks} from "./utils/eth1Data.js";
10
- import {assertConsecutiveDeposits} from "./utils/eth1DepositEvent.js";
11
-
12
- export class Eth1DepositsCache {
13
- unsafeAllowDepositDataOverwrite: boolean;
14
- db: IBeaconDb;
15
- config: ChainForkConfig;
16
-
17
- constructor(opts: {unsafeAllowDepositDataOverwrite?: boolean}, config: ChainForkConfig, db: IBeaconDb) {
18
- this.config = config;
19
- this.db = db;
20
- this.unsafeAllowDepositDataOverwrite = opts.unsafeAllowDepositDataOverwrite ?? false;
21
- }
22
-
23
- /**
24
- * Returns a list of `Deposit` objects, within the given deposit index `range`.
25
- *
26
- * The `depositCount` is used to generate the proofs for the `Deposits`. For example, if we
27
- * have 100 proofs, but the Ethereum Consensus chain only acknowledges 50 of them, we must produce our
28
- * proofs with respect to a tree size of 50.
29
- */
30
- async get(indexRange: FilterOptions<number>, eth1Data: phase0.Eth1Data): Promise<phase0.Deposit[]> {
31
- const depositEvents = await this.db.depositEvent.values(indexRange);
32
- const depositRootTree = await this.db.depositDataRoot.getDepositRootTree();
33
- return getDepositsWithProofs(depositEvents, depositRootTree, eth1Data);
34
- }
35
-
36
- /**
37
- * Add log to cache
38
- * This function enforces that `logs` are imported one-by-one with consecutive indexes
39
- */
40
- async add(depositEvents: phase0.DepositEvent[]): Promise<void> {
41
- assertConsecutiveDeposits(depositEvents);
42
-
43
- const lastLog = await this.db.depositEvent.lastValue();
44
- const firstEvent = depositEvents[0];
45
-
46
- // Check, validate and skip if we got any deposit events already present in DB
47
- // This can happen if the remote eth1/EL resets its head in these four scenarios:
48
- // 1. Remote eth1/EL resynced/restarted from head behind its previous head pre-merge
49
- // 2. In a post merge scenario, Lodestar restarted from finalized state from DB which
50
- // generally is a few epochs behind the last synced head. This causes eth1 tracker to reset
51
- // and refetch the deposits as the lodestar syncs further along (Post merge there is 1-1
52
- // correspondence between EL and CL blocks)
53
- // 3. The EL reorged beyond the eth1 follow distance.
54
- //
55
- // While 1. & 2. are benign and we handle them below by checking if the duplicate log fetched
56
- // is same as one written in DB. Refer to this issue for some data dump of how this happens
57
- // https://github.com/ChainSafe/lodestar/issues/3674
58
- //
59
- // If the duplicate log fetched is not same as written in DB then its probablu scenario 3.
60
- // which would be a catastrophic event for the network (or we messed up real bad!!!).
61
- //
62
- // So we provide for a way to overwrite this log without deleting full db via
63
- // --unsafeAllowDepositDataOverwrite cli flag which will just overwrite the previous tracker data
64
- // if any. This option as indicated by its name is unsafe and to be only used if you know what
65
- // you are doing.
66
- if (lastLog !== null && firstEvent !== undefined) {
67
- const newIndex = firstEvent.index;
68
- const lastLogIndex = lastLog.index;
69
-
70
- if (!this.unsafeAllowDepositDataOverwrite && firstEvent.index <= lastLog.index) {
71
- // lastLogIndex - newIndex + 1 events are duplicate since this is a consecutive log
72
- // as asserted by assertConsecutiveDeposits. Splice those events out from depositEvents.
73
- const skipEvents = depositEvents.splice(0, lastLogIndex - newIndex + 1);
74
- // After splicing skipEvents will contain duplicate events to be checked and validated
75
- // and rest of the remaining events in depositEvents could be safely written to DB and
76
- // move the tracker along.
77
- for (const depositEvent of skipEvents) {
78
- const prevDBSerializedEvent = await this.db.depositEvent.getBinary(depositEvent.index);
79
- if (!prevDBSerializedEvent) {
80
- throw new Eth1Error({code: Eth1ErrorCode.MISSING_DEPOSIT_LOG, newIndex, lastLogIndex});
81
- }
82
- const serializedEvent = ssz.phase0.DepositEvent.serialize(depositEvent);
83
- if (!byteArrayEquals(prevDBSerializedEvent, serializedEvent)) {
84
- throw new Eth1Error({code: Eth1ErrorCode.DUPLICATE_DISTINCT_LOG, newIndex, lastLogIndex});
85
- }
86
- }
87
- } else if (newIndex > lastLogIndex + 1) {
88
- // deposit events need to be consective, the way we fetch our tracker. If the deposit event
89
- // is not consecutive it means either our tracker, or the corresponding eth1/EL
90
- // node or the database has messed up. All these failures are critical and the tracker
91
- // shouldn't proceed without the resolution of this error.
92
- throw new Eth1Error({code: Eth1ErrorCode.NON_CONSECUTIVE_LOGS, newIndex, lastLogIndex});
93
- }
94
- }
95
-
96
- const depositRoots = depositEvents.map((depositEvent) => ({
97
- index: depositEvent.index,
98
- root: ssz.phase0.DepositData.hashTreeRoot(depositEvent.depositData),
99
- }));
100
-
101
- // Store events after verifying that data is consecutive
102
- // depositDataRoot will throw if adding non consecutive roots
103
- await this.db.depositDataRoot.batchPutValues(depositRoots);
104
- await this.db.depositEvent.batchPutValues(depositEvents);
105
- }
106
-
107
- /**
108
- * Appends partial eth1 data (depositRoot, depositCount) in a block range (inclusive)
109
- * Returned array is sequential and ascending in blockNumber
110
- * @param fromBlock
111
- * @param toBlock
112
- */
113
- async getEth1DataForBlocks(
114
- blocks: Eth1Block[],
115
- lastProcessedDepositBlockNumber: number | null
116
- ): Promise<(phase0.Eth1Data & Eth1Block)[]> {
117
- const highestBlock = blocks.at(-1)?.blockNumber;
118
- return getEth1DataForBlocks(
119
- blocks,
120
- this.db.depositEvent.valuesStream({lte: highestBlock, reverse: true}),
121
- await this.db.depositDataRoot.getDepositRootTree(),
122
- lastProcessedDepositBlockNumber
123
- );
124
- }
125
-
126
- /**
127
- * Returns the highest blockNumber stored in DB if any
128
- */
129
- async getHighestDepositEventBlockNumber(): Promise<number | null> {
130
- const latestEvent = await this.db.depositEvent.lastValue();
131
- return latestEvent?.blockNumber || null;
132
- }
133
-
134
- /**
135
- * Returns the lowest blockNumber stored in DB if any
136
- */
137
- async getLowestDepositEventBlockNumber(): Promise<number | null> {
138
- const firstEvent = await this.db.depositEvent.firstValue();
139
- return firstEvent?.blockNumber || null;
140
- }
141
- }