@lodestar/beacon-node 1.22.0 → 1.23.0-dev.06b4c2d324

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 (637) hide show
  1. package/lib/api/impl/api.js.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +27 -28
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/blocks/utils.d.ts +1 -1
  5. package/lib/api/impl/beacon/blocks/utils.js +2 -2
  6. package/lib/api/impl/beacon/blocks/utils.js.map +1 -1
  7. package/lib/api/impl/beacon/index.js +1 -1
  8. package/lib/api/impl/beacon/index.js.map +1 -1
  9. package/lib/api/impl/beacon/pool/index.js +18 -28
  10. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  11. package/lib/api/impl/beacon/state/index.js +39 -5
  12. package/lib/api/impl/beacon/state/index.js.map +1 -1
  13. package/lib/api/impl/beacon/state/utils.d.ts +3 -7
  14. package/lib/api/impl/beacon/state/utils.js +24 -36
  15. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  16. package/lib/api/impl/config/constants.d.ts +0 -1
  17. package/lib/api/impl/config/constants.js +1 -3
  18. package/lib/api/impl/config/constants.js.map +1 -1
  19. package/lib/api/impl/config/index.js.map +1 -1
  20. package/lib/api/impl/debug/index.js +31 -1
  21. package/lib/api/impl/debug/index.js.map +1 -1
  22. package/lib/api/impl/errors.d.ts +8 -0
  23. package/lib/api/impl/errors.js +7 -0
  24. package/lib/api/impl/errors.js.map +1 -1
  25. package/lib/api/impl/events/index.js +1 -2
  26. package/lib/api/impl/events/index.js.map +1 -1
  27. package/lib/api/impl/lightclient/index.js +1 -1
  28. package/lib/api/impl/lightclient/index.js.map +1 -1
  29. package/lib/api/impl/lodestar/index.js +5 -5
  30. package/lib/api/impl/lodestar/index.js.map +1 -1
  31. package/lib/api/impl/node/index.d.ts +1 -1
  32. package/lib/api/impl/node/index.js +2 -4
  33. package/lib/api/impl/node/index.js.map +1 -1
  34. package/lib/api/impl/node/utils.js +1 -0
  35. package/lib/api/impl/node/utils.js.map +1 -1
  36. package/lib/api/impl/proof/index.d.ts +1 -1
  37. package/lib/api/impl/proof/index.js +2 -2
  38. package/lib/api/impl/proof/index.js.map +1 -1
  39. package/lib/api/impl/types.d.ts +2 -2
  40. package/lib/api/impl/validator/index.d.ts +32 -1
  41. package/lib/api/impl/validator/index.js +174 -102
  42. package/lib/api/impl/validator/index.js.map +1 -1
  43. package/lib/api/impl/validator/utils.d.ts +4 -3
  44. package/lib/api/impl/validator/utils.js +17 -9
  45. package/lib/api/impl/validator/utils.js.map +1 -1
  46. package/lib/api/options.js.map +1 -1
  47. package/lib/api/rest/activeSockets.js +1 -1
  48. package/lib/api/rest/activeSockets.js.map +1 -1
  49. package/lib/api/rest/base.d.ts +2 -1
  50. package/lib/api/rest/base.js +34 -7
  51. package/lib/api/rest/base.js.map +1 -1
  52. package/lib/api/rest/index.d.ts +2 -2
  53. package/lib/api/rest/index.js +1 -0
  54. package/lib/api/rest/index.js.map +1 -1
  55. package/lib/api/rest/swaggerUI.js +1 -4
  56. package/lib/api/rest/swaggerUI.js.map +1 -1
  57. package/lib/chain/archiver/archiveBlocks.d.ts +2 -2
  58. package/lib/chain/archiver/archiveBlocks.js +4 -5
  59. package/lib/chain/archiver/archiveBlocks.js.map +1 -1
  60. package/lib/chain/archiver/archiver.d.ts +40 -0
  61. package/lib/chain/archiver/archiver.js +117 -0
  62. package/lib/chain/archiver/archiver.js.map +1 -0
  63. package/lib/chain/archiver/index.d.ts +2 -52
  64. package/lib/chain/archiver/index.js +2 -103
  65. package/lib/chain/archiver/index.js.map +1 -1
  66. package/lib/chain/archiver/interface.d.ts +39 -0
  67. package/lib/chain/archiver/interface.js +8 -0
  68. package/lib/chain/archiver/interface.js.map +1 -0
  69. package/lib/chain/archiver/{archiveStates.d.ts → strategies/frequencyStateArchiveStrategy.d.ts} +18 -15
  70. package/lib/chain/archiver/{archiveStates.js → strategies/frequencyStateArchiveStrategy.js} +16 -10
  71. package/lib/chain/archiver/strategies/frequencyStateArchiveStrategy.js.map +1 -0
  72. package/lib/chain/balancesCache.d.ts +1 -1
  73. package/lib/chain/balancesCache.js +1 -1
  74. package/lib/chain/balancesCache.js.map +1 -1
  75. package/lib/chain/beaconProposerCache.d.ts +1 -1
  76. package/lib/chain/blocks/importBlock.js +12 -18
  77. package/lib/chain/blocks/importBlock.js.map +1 -1
  78. package/lib/chain/blocks/index.d.ts +2 -2
  79. package/lib/chain/blocks/index.js +4 -6
  80. package/lib/chain/blocks/index.js.map +1 -1
  81. package/lib/chain/blocks/types.d.ts +4 -4
  82. package/lib/chain/blocks/types.js +1 -1
  83. package/lib/chain/blocks/types.js.map +1 -1
  84. package/lib/chain/blocks/utils/checkpoint.js +1 -1
  85. package/lib/chain/blocks/utils/checkpoint.js.map +1 -1
  86. package/lib/chain/blocks/verifyBlock.d.ts +2 -2
  87. package/lib/chain/blocks/verifyBlock.js +7 -7
  88. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  89. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts +1 -1
  90. package/lib/chain/blocks/verifyBlocksDataAvailability.js +4 -4
  91. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  92. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +6 -6
  93. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +7 -6
  94. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  95. package/lib/chain/blocks/verifyBlocksSanityChecks.js +5 -13
  96. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  97. package/lib/chain/blocks/verifyBlocksSignatures.d.ts +1 -1
  98. package/lib/chain/blocks/verifyBlocksSignatures.js +1 -1
  99. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  100. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +2 -2
  101. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  102. package/lib/chain/blocks/writeBlockInputToDb.js +1 -1
  103. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  104. package/lib/chain/bls/multithread/index.d.ts +1 -1
  105. package/lib/chain/bls/multithread/index.js +10 -10
  106. package/lib/chain/bls/multithread/index.js.map +1 -1
  107. package/lib/chain/bls/multithread/jobItem.d.ts +3 -3
  108. package/lib/chain/bls/multithread/jobItem.js +4 -14
  109. package/lib/chain/bls/multithread/jobItem.js.map +1 -1
  110. package/lib/chain/bls/multithread/poolSize.js +1 -1
  111. package/lib/chain/bls/multithread/poolSize.js.map +1 -1
  112. package/lib/chain/bls/multithread/worker.js +2 -2
  113. package/lib/chain/bls/multithread/worker.js.map +1 -1
  114. package/lib/chain/chain.d.ts +25 -63
  115. package/lib/chain/chain.js +79 -74
  116. package/lib/chain/chain.js.map +1 -1
  117. package/lib/chain/emitter.d.ts +2 -2
  118. package/lib/chain/emitter.js +1 -1
  119. package/lib/chain/emitter.js.map +1 -1
  120. package/lib/chain/errors/attestationError.d.ts +1 -1
  121. package/lib/chain/errors/blobSidecarError.d.ts +1 -1
  122. package/lib/chain/errors/blockError.d.ts +1 -1
  123. package/lib/chain/errors/blockError.js.map +1 -1
  124. package/lib/chain/errors/syncCommitteeError.d.ts +1 -1
  125. package/lib/chain/forkChoice/index.d.ts +5 -1
  126. package/lib/chain/forkChoice/index.js +8 -4
  127. package/lib/chain/forkChoice/index.js.map +1 -1
  128. package/lib/chain/genesis/genesis.d.ts +3 -3
  129. package/lib/chain/genesis/genesis.js +4 -8
  130. package/lib/chain/genesis/genesis.js.map +1 -1
  131. package/lib/chain/genesis/interface.d.ts +1 -1
  132. package/lib/chain/historicalState/getHistoricalState.d.ts +2 -1
  133. package/lib/chain/historicalState/getHistoricalState.js +3 -0
  134. package/lib/chain/historicalState/getHistoricalState.js.map +1 -1
  135. package/lib/chain/historicalState/index.js +1 -1
  136. package/lib/chain/historicalState/index.js.map +1 -1
  137. package/lib/chain/historicalState/worker.js +4 -4
  138. package/lib/chain/historicalState/worker.js.map +1 -1
  139. package/lib/chain/initState.d.ts +4 -8
  140. package/lib/chain/initState.js +3 -31
  141. package/lib/chain/initState.js.map +1 -1
  142. package/lib/chain/interface.d.ts +22 -20
  143. package/lib/chain/interface.js.map +1 -1
  144. package/lib/chain/lightClient/index.d.ts +2 -2
  145. package/lib/chain/lightClient/index.js +9 -11
  146. package/lib/chain/lightClient/index.js.map +1 -1
  147. package/lib/chain/lightClient/proofs.d.ts +2 -2
  148. package/lib/chain/lightClient/proofs.js +3 -2
  149. package/lib/chain/lightClient/proofs.js.map +1 -1
  150. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +3 -3
  151. package/lib/chain/opPools/aggregatedAttestationPool.js +38 -42
  152. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  153. package/lib/chain/opPools/attestationPool.d.ts +2 -2
  154. package/lib/chain/opPools/attestationPool.js +5 -7
  155. package/lib/chain/opPools/attestationPool.js.map +1 -1
  156. package/lib/chain/opPools/opPool.d.ts +2 -2
  157. package/lib/chain/opPools/opPool.js +6 -9
  158. package/lib/chain/opPools/opPool.js.map +1 -1
  159. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +1 -1
  160. package/lib/chain/opPools/syncCommitteeMessagePool.js +4 -6
  161. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  162. package/lib/chain/opPools/syncContributionAndProofPool.d.ts +1 -1
  163. package/lib/chain/opPools/syncContributionAndProofPool.js +4 -6
  164. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  165. package/lib/chain/options.d.ts +3 -1
  166. package/lib/chain/options.js +5 -1
  167. package/lib/chain/options.js.map +1 -1
  168. package/lib/chain/prepareNextSlot.d.ts +1 -1
  169. package/lib/chain/prepareNextSlot.js +6 -5
  170. package/lib/chain/prepareNextSlot.js.map +1 -1
  171. package/lib/chain/produceBlock/produceBlockBody.d.ts +4 -4
  172. package/lib/chain/produceBlock/produceBlockBody.js +28 -21
  173. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  174. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +1 -1
  175. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js +1 -1
  176. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  177. package/lib/chain/regen/errors.d.ts +1 -1
  178. package/lib/chain/regen/interface.d.ts +2 -2
  179. package/lib/chain/regen/queued.d.ts +3 -3
  180. package/lib/chain/regen/queued.js +2 -2
  181. package/lib/chain/regen/queued.js.map +1 -1
  182. package/lib/chain/regen/regen.d.ts +5 -5
  183. package/lib/chain/regen/regen.js +5 -6
  184. package/lib/chain/regen/regen.js.map +1 -1
  185. package/lib/chain/reprocess.d.ts +1 -1
  186. package/lib/chain/rewards/attestationsRewards.d.ts +3 -3
  187. package/lib/chain/rewards/attestationsRewards.js +3 -2
  188. package/lib/chain/rewards/attestationsRewards.js.map +1 -1
  189. package/lib/chain/rewards/blockRewards.d.ts +1 -1
  190. package/lib/chain/rewards/blockRewards.js +2 -4
  191. package/lib/chain/rewards/blockRewards.js.map +1 -1
  192. package/lib/chain/rewards/syncCommitteeRewards.d.ts +1 -1
  193. package/lib/chain/rewards/syncCommitteeRewards.js +1 -3
  194. package/lib/chain/rewards/syncCommitteeRewards.js.map +1 -1
  195. package/lib/chain/seenCache/seenAttestationData.d.ts +1 -1
  196. package/lib/chain/seenCache/seenCommittee.d.ts +1 -1
  197. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +2 -2
  198. package/lib/chain/seenCache/seenGossipBlockInput.js +23 -27
  199. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  200. package/lib/chain/serializeState.js +63 -10
  201. package/lib/chain/serializeState.js.map +1 -1
  202. package/lib/chain/shufflingCache.d.ts +37 -13
  203. package/lib/chain/shufflingCache.js +88 -79
  204. package/lib/chain/shufflingCache.js.map +1 -1
  205. package/lib/chain/stateCache/blockStateCacheImpl.d.ts +2 -2
  206. package/lib/chain/stateCache/datastore/file.js +5 -5
  207. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  208. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +9 -4
  209. package/lib/chain/stateCache/fifoBlockStateCache.js +7 -2
  210. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  211. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts +2 -2
  212. package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
  213. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +9 -8
  214. package/lib/chain/stateCache/persistentCheckpointsCache.js +35 -39
  215. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  216. package/lib/chain/stateCache/types.d.ts +1 -1
  217. package/lib/chain/validation/aggregateAndProof.d.ts +2 -2
  218. package/lib/chain/validation/aggregateAndProof.js +2 -2
  219. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  220. package/lib/chain/validation/attestation.d.ts +8 -22
  221. package/lib/chain/validation/attestation.js +34 -59
  222. package/lib/chain/validation/attestation.js.map +1 -1
  223. package/lib/chain/validation/attesterSlashing.d.ts +1 -1
  224. package/lib/chain/validation/attesterSlashing.js +1 -1
  225. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  226. package/lib/chain/validation/blobSidecar.d.ts +1 -1
  227. package/lib/chain/validation/blobSidecar.js +5 -5
  228. package/lib/chain/validation/blobSidecar.js.map +1 -1
  229. package/lib/chain/validation/block.js +3 -3
  230. package/lib/chain/validation/block.js.map +1 -1
  231. package/lib/chain/validation/blsToExecutionChange.d.ts +1 -1
  232. package/lib/chain/validation/blsToExecutionChange.js +1 -1
  233. package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
  234. package/lib/chain/validation/lightClientFinalityUpdate.js +3 -3
  235. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  236. package/lib/chain/validation/lightClientOptimisticUpdate.js +3 -3
  237. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  238. package/lib/chain/validation/proposerSlashing.d.ts +1 -1
  239. package/lib/chain/validation/proposerSlashing.js +1 -1
  240. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  241. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +2 -2
  242. package/lib/chain/validation/signatureSets/aggregateAndProof.js +1 -1
  243. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  244. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts +1 -1
  245. package/lib/chain/validation/signatureSets/contributionAndProof.js +1 -1
  246. package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
  247. package/lib/chain/validation/signatureSets/selectionProof.d.ts +2 -2
  248. package/lib/chain/validation/signatureSets/selectionProof.js +1 -1
  249. package/lib/chain/validation/signatureSets/selectionProof.js.map +1 -1
  250. package/lib/chain/validation/signatureSets/syncCommittee.d.ts +1 -1
  251. package/lib/chain/validation/signatureSets/syncCommittee.js +1 -1
  252. package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
  253. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +1 -1
  254. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js +2 -2
  255. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
  256. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +1 -1
  257. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +1 -1
  258. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
  259. package/lib/chain/validation/syncCommittee.js +1 -1
  260. package/lib/chain/validation/syncCommittee.js.map +1 -1
  261. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts +1 -1
  262. package/lib/chain/validation/syncCommitteeContributionAndProof.js +2 -2
  263. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  264. package/lib/chain/validation/voluntaryExit.d.ts +1 -1
  265. package/lib/chain/validation/voluntaryExit.js +2 -2
  266. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  267. package/lib/db/beacon.d.ts +3 -3
  268. package/lib/db/beacon.js +2 -2
  269. package/lib/db/beacon.js.map +1 -1
  270. package/lib/db/buckets.js +3 -5
  271. package/lib/db/buckets.js.map +1 -1
  272. package/lib/db/interface.d.ts +2 -2
  273. package/lib/db/repositories/attesterSlashing.d.ts +1 -1
  274. package/lib/db/repositories/attesterSlashing.js +1 -1
  275. package/lib/db/repositories/attesterSlashing.js.map +1 -1
  276. package/lib/db/repositories/backfilledRanges.d.ts +2 -2
  277. package/lib/db/repositories/backfilledRanges.js +2 -3
  278. package/lib/db/repositories/backfilledRanges.js.map +1 -1
  279. package/lib/db/repositories/blobSidecars.d.ts +1 -1
  280. package/lib/db/repositories/blobSidecars.js.map +1 -1
  281. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  282. package/lib/db/repositories/blockArchive.d.ts +2 -2
  283. package/lib/db/repositories/blockArchive.js +3 -3
  284. package/lib/db/repositories/blockArchive.js.map +1 -1
  285. package/lib/db/repositories/blockArchiveIndex.d.ts +1 -1
  286. package/lib/db/repositories/blockArchiveIndex.js +1 -1
  287. package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
  288. package/lib/db/repositories/blsToExecutionChange.d.ts +1 -1
  289. package/lib/db/repositories/blsToExecutionChange.js.map +1 -1
  290. package/lib/db/repositories/checkpointState.js +1 -1
  291. package/lib/db/repositories/checkpointState.js.map +1 -1
  292. package/lib/db/repositories/depositDataRoot.d.ts +3 -3
  293. package/lib/db/repositories/depositDataRoot.js +3 -4
  294. package/lib/db/repositories/depositDataRoot.js.map +1 -1
  295. package/lib/db/repositories/depositEvent.d.ts +1 -1
  296. package/lib/db/repositories/depositEvent.js +1 -1
  297. package/lib/db/repositories/depositEvent.js.map +1 -1
  298. package/lib/db/repositories/eth1Data.d.ts +2 -2
  299. package/lib/db/repositories/eth1Data.js +2 -3
  300. package/lib/db/repositories/eth1Data.js.map +1 -1
  301. package/lib/db/repositories/lightclientBestUpdate.js.map +1 -1
  302. package/lib/db/repositories/lightclientCheckpointHeader.d.ts +1 -0
  303. package/lib/db/repositories/lightclientCheckpointHeader.js +4 -1
  304. package/lib/db/repositories/lightclientCheckpointHeader.js.map +1 -1
  305. package/lib/db/repositories/proposerSlashing.d.ts +1 -1
  306. package/lib/db/repositories/proposerSlashing.js +1 -1
  307. package/lib/db/repositories/proposerSlashing.js.map +1 -1
  308. package/lib/db/repositories/stateArchive.d.ts +2 -2
  309. package/lib/db/repositories/stateArchive.js +2 -2
  310. package/lib/db/repositories/stateArchive.js.map +1 -1
  311. package/lib/db/repositories/stateArchiveIndex.js.map +1 -1
  312. package/lib/db/repositories/voluntaryExit.d.ts +1 -1
  313. package/lib/db/repositories/voluntaryExit.js +1 -1
  314. package/lib/db/repositories/voluntaryExit.js.map +1 -1
  315. package/lib/db/single/preGenesisState.js.map +1 -1
  316. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts +1 -1
  317. package/lib/db/single/preGenesisStateLastProcessedBlock.js +1 -1
  318. package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -1
  319. package/lib/eth1/eth1DataCache.js +1 -1
  320. package/lib/eth1/eth1DataCache.js.map +1 -1
  321. package/lib/eth1/eth1DepositDataTracker.js +14 -18
  322. package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
  323. package/lib/eth1/eth1DepositsCache.d.ts +2 -2
  324. package/lib/eth1/eth1DepositsCache.js +4 -4
  325. package/lib/eth1/eth1DepositsCache.js.map +1 -1
  326. package/lib/eth1/eth1MergeBlockTracker.d.ts +1 -1
  327. package/lib/eth1/eth1MergeBlockTracker.js +41 -51
  328. package/lib/eth1/eth1MergeBlockTracker.js.map +1 -1
  329. package/lib/eth1/index.d.ts +1 -1
  330. package/lib/eth1/index.js +6 -10
  331. package/lib/eth1/index.js.map +1 -1
  332. package/lib/eth1/interface.d.ts +1 -1
  333. package/lib/eth1/provider/eth1Provider.d.ts +2 -2
  334. package/lib/eth1/provider/eth1Provider.js +6 -7
  335. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  336. package/lib/eth1/provider/jsonRpcHttpClient.d.ts +2 -2
  337. package/lib/eth1/provider/jsonRpcHttpClient.js +6 -12
  338. package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
  339. package/lib/eth1/provider/jwt.js +0 -1
  340. package/lib/eth1/provider/jwt.js.map +1 -1
  341. package/lib/eth1/provider/utils.js +5 -6
  342. package/lib/eth1/provider/utils.js.map +1 -1
  343. package/lib/eth1/stream.d.ts +1 -1
  344. package/lib/eth1/stream.js +1 -1
  345. package/lib/eth1/stream.js.map +1 -1
  346. package/lib/eth1/utils/depositContract.js +5 -5
  347. package/lib/eth1/utils/depositContract.js.map +1 -1
  348. package/lib/eth1/utils/deposits.d.ts +1 -1
  349. package/lib/eth1/utils/deposits.js +4 -4
  350. package/lib/eth1/utils/deposits.js.map +1 -1
  351. package/lib/eth1/utils/eth1Data.js.map +1 -1
  352. package/lib/eth1/utils/eth1Vote.d.ts +1 -1
  353. package/lib/eth1/utils/eth1Vote.js +3 -6
  354. package/lib/eth1/utils/eth1Vote.js.map +1 -1
  355. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js +1 -3
  356. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js.map +1 -1
  357. package/lib/execution/builder/http.d.ts +18 -3
  358. package/lib/execution/builder/http.js +33 -8
  359. package/lib/execution/builder/http.js.map +1 -1
  360. package/lib/execution/builder/index.js +1 -0
  361. package/lib/execution/builder/index.js.map +1 -1
  362. package/lib/execution/builder/interface.d.ts +3 -2
  363. package/lib/execution/engine/http.d.ts +7 -6
  364. package/lib/execution/engine/http.js +35 -22
  365. package/lib/execution/engine/http.js.map +1 -1
  366. package/lib/execution/engine/index.d.ts +2 -2
  367. package/lib/execution/engine/index.js +1 -0
  368. package/lib/execution/engine/index.js.map +1 -1
  369. package/lib/execution/engine/interface.d.ts +6 -5
  370. package/lib/execution/engine/interface.js.map +1 -1
  371. package/lib/execution/engine/mock.d.ts +2 -2
  372. package/lib/execution/engine/mock.js +12 -17
  373. package/lib/execution/engine/mock.js.map +1 -1
  374. package/lib/execution/engine/payloadIdCache.d.ts +1 -18
  375. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  376. package/lib/execution/engine/types.d.ts +22 -26
  377. package/lib/execution/engine/types.js +41 -76
  378. package/lib/execution/engine/types.js.map +1 -1
  379. package/lib/execution/engine/utils.d.ts +1 -1
  380. package/lib/execution/engine/utils.js +3 -3
  381. package/lib/execution/engine/utils.js.map +1 -1
  382. package/lib/metrics/metrics/beacon.d.ts +9 -4
  383. package/lib/metrics/metrics/beacon.js +14 -4
  384. package/lib/metrics/metrics/beacon.js.map +1 -1
  385. package/lib/metrics/metrics/lodestar.d.ts +16 -8
  386. package/lib/metrics/metrics/lodestar.js +43 -25
  387. package/lib/metrics/metrics/lodestar.js.map +1 -1
  388. package/lib/metrics/metrics.d.ts +3 -3
  389. package/lib/metrics/metrics.js +1 -1
  390. package/lib/metrics/metrics.js.map +1 -1
  391. package/lib/metrics/nodeJsMetrics.js +1 -1
  392. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  393. package/lib/metrics/server/http.d.ts +1 -1
  394. package/lib/metrics/server/http.js +1 -1
  395. package/lib/metrics/server/http.js.map +1 -1
  396. package/lib/metrics/utils/avgMinMax.d.ts +1 -1
  397. package/lib/metrics/utils/gauge.d.ts +1 -1
  398. package/lib/metrics/utils/gauge.js.map +1 -1
  399. package/lib/metrics/utils/registryMetricCreator.d.ts +1 -1
  400. package/lib/metrics/utils/registryMetricCreator.js +1 -1
  401. package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
  402. package/lib/metrics/validatorMonitor.d.ts +2 -2
  403. package/lib/metrics/validatorMonitor.js +39 -51
  404. package/lib/metrics/validatorMonitor.js.map +1 -1
  405. package/lib/monitoring/properties.js +2 -4
  406. package/lib/monitoring/properties.js.map +1 -1
  407. package/lib/monitoring/service.js +4 -6
  408. package/lib/monitoring/service.js.map +1 -1
  409. package/lib/monitoring/system.js +0 -1
  410. package/lib/monitoring/system.js.map +1 -1
  411. package/lib/network/core/metrics.js +0 -2
  412. package/lib/network/core/metrics.js.map +1 -1
  413. package/lib/network/core/networkCore.d.ts +14 -14
  414. package/lib/network/core/networkCore.js +20 -15
  415. package/lib/network/core/networkCore.js.map +1 -1
  416. package/lib/network/core/networkCoreWorker.js +2 -3
  417. package/lib/network/core/networkCoreWorker.js.map +1 -1
  418. package/lib/network/core/networkCoreWorkerHandler.js +1 -1
  419. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  420. package/lib/network/core/types.d.ts +2 -2
  421. package/lib/network/discv5/index.d.ts +3 -3
  422. package/lib/network/discv5/index.js +3 -3
  423. package/lib/network/discv5/index.js.map +1 -1
  424. package/lib/network/discv5/utils.js +1 -0
  425. package/lib/network/discv5/utils.js.map +1 -1
  426. package/lib/network/discv5/worker.js +8 -9
  427. package/lib/network/discv5/worker.js.map +1 -1
  428. package/lib/network/events.d.ts +3 -3
  429. package/lib/network/events.js +1 -1
  430. package/lib/network/events.js.map +1 -1
  431. package/lib/network/forks.d.ts +1 -1
  432. package/lib/network/forks.js +0 -1
  433. package/lib/network/forks.js.map +1 -1
  434. package/lib/network/gossip/encoding.d.ts +1 -1
  435. package/lib/network/gossip/encoding.js +4 -6
  436. package/lib/network/gossip/encoding.js.map +1 -1
  437. package/lib/network/gossip/gossipsub.d.ts +2 -2
  438. package/lib/network/gossip/gossipsub.js +11 -12
  439. package/lib/network/gossip/gossipsub.js.map +1 -1
  440. package/lib/network/gossip/interface.d.ts +14 -12
  441. package/lib/network/gossip/interface.js.map +1 -1
  442. package/lib/network/gossip/metrics.js +0 -1
  443. package/lib/network/gossip/metrics.js.map +1 -1
  444. package/lib/network/gossip/scoringParameters.js +1 -2
  445. package/lib/network/gossip/scoringParameters.js.map +1 -1
  446. package/lib/network/gossip/topic.d.ts +2 -29
  447. package/lib/network/gossip/topic.js +5 -6
  448. package/lib/network/gossip/topic.js.map +1 -1
  449. package/lib/network/interface.d.ts +6 -10
  450. package/lib/network/libp2p/index.d.ts +1 -1
  451. package/lib/network/libp2p/index.js +2 -2
  452. package/lib/network/libp2p/index.js.map +1 -1
  453. package/lib/network/metadata.d.ts +1 -1
  454. package/lib/network/metadata.js.map +1 -1
  455. package/lib/network/network.d.ts +10 -10
  456. package/lib/network/network.js +10 -10
  457. package/lib/network/network.js.map +1 -1
  458. package/lib/network/options.d.ts +1 -1
  459. package/lib/network/options.js +0 -2
  460. package/lib/network/options.js.map +1 -1
  461. package/lib/network/peers/datastore.d.ts +1 -1
  462. package/lib/network/peers/datastore.js +1 -2
  463. package/lib/network/peers/datastore.js.map +1 -1
  464. package/lib/network/peers/discover.d.ts +2 -2
  465. package/lib/network/peers/discover.js +11 -16
  466. package/lib/network/peers/discover.js.map +1 -1
  467. package/lib/network/peers/peerManager.d.ts +5 -5
  468. package/lib/network/peers/peerManager.js +14 -11
  469. package/lib/network/peers/peerManager.js.map +1 -1
  470. package/lib/network/peers/peersData.d.ts +1 -1
  471. package/lib/network/peers/utils/assertPeerRelevance.js +2 -3
  472. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  473. package/lib/network/peers/utils/enrSubnetsDeserialize.js +1 -1
  474. package/lib/network/peers/utils/enrSubnetsDeserialize.js.map +1 -1
  475. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  476. package/lib/network/processor/extractSlotRootFns.js +1 -1
  477. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  478. package/lib/network/processor/gossipHandlers.d.ts +4 -6
  479. package/lib/network/processor/gossipHandlers.js +25 -72
  480. package/lib/network/processor/gossipHandlers.js.map +1 -1
  481. package/lib/network/processor/gossipQueues/index.d.ts +1 -1
  482. package/lib/network/processor/gossipQueues/index.js +9 -24
  483. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  484. package/lib/network/processor/gossipQueues/indexed.js +1 -3
  485. package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
  486. package/lib/network/processor/gossipQueues/linear.d.ts +1 -1
  487. package/lib/network/processor/gossipQueues/linear.js +5 -7
  488. package/lib/network/processor/gossipQueues/linear.js.map +1 -1
  489. package/lib/network/processor/gossipQueues/types.d.ts +1 -2
  490. package/lib/network/processor/gossipQueues/types.js +0 -6
  491. package/lib/network/processor/gossipQueues/types.js.map +1 -1
  492. package/lib/network/processor/gossipValidatorFn.d.ts +1 -1
  493. package/lib/network/processor/gossipValidatorFn.js +1 -1
  494. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  495. package/lib/network/processor/index.d.ts +4 -4
  496. package/lib/network/processor/index.js +9 -7
  497. package/lib/network/processor/index.js.map +1 -1
  498. package/lib/network/processor/types.d.ts +1 -1
  499. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +2 -2
  500. package/lib/network/reqresp/ReqRespBeaconNode.js +2 -2
  501. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  502. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +2 -2
  503. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +5 -5
  504. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
  505. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +1 -1
  506. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +3 -3
  507. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
  508. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +1 -1
  509. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  510. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +1 -1
  511. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +2 -2
  512. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  513. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +1 -1
  514. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  515. package/lib/network/reqresp/handlers/index.js +1 -1
  516. package/lib/network/reqresp/handlers/index.js.map +1 -1
  517. package/lib/network/reqresp/handlers/lightClientBootstrap.js +3 -5
  518. package/lib/network/reqresp/handlers/lightClientBootstrap.js.map +1 -1
  519. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js +7 -9
  520. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js.map +1 -1
  521. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js +8 -10
  522. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js.map +1 -1
  523. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts +1 -1
  524. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js +3 -5
  525. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
  526. package/lib/network/reqresp/handlers/status.js +1 -1
  527. package/lib/network/reqresp/handlers/status.js.map +1 -1
  528. package/lib/network/reqresp/protocols.js +1 -2
  529. package/lib/network/reqresp/protocols.js.map +1 -1
  530. package/lib/network/reqresp/rateLimit.js +2 -2
  531. package/lib/network/reqresp/rateLimit.js.map +1 -1
  532. package/lib/network/reqresp/score.js +0 -1
  533. package/lib/network/reqresp/score.js.map +1 -1
  534. package/lib/network/reqresp/types.d.ts +5 -5
  535. package/lib/network/reqresp/types.js +4 -8
  536. package/lib/network/reqresp/types.js.map +1 -1
  537. package/lib/network/reqresp/utils/collect.d.ts +1 -1
  538. package/lib/network/reqresp/utils/collect.js +1 -1
  539. package/lib/network/reqresp/utils/collect.js.map +1 -1
  540. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts +1 -2
  541. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.js.map +1 -1
  542. package/lib/network/subnets/attnetsService.d.ts +3 -3
  543. package/lib/network/subnets/attnetsService.js +3 -3
  544. package/lib/network/subnets/attnetsService.js.map +1 -1
  545. package/lib/network/subnets/interface.d.ts +1 -1
  546. package/lib/network/subnets/syncnetsService.d.ts +1 -1
  547. package/lib/network/subnets/syncnetsService.js +1 -1
  548. package/lib/network/subnets/syncnetsService.js.map +1 -1
  549. package/lib/network/util.js +1 -1
  550. package/lib/network/util.js.map +1 -1
  551. package/lib/node/nodejs.d.ts +7 -7
  552. package/lib/node/nodejs.js +9 -9
  553. package/lib/node/nodejs.js.map +1 -1
  554. package/lib/node/notifier.js +18 -28
  555. package/lib/node/notifier.js.map +1 -1
  556. package/lib/node/options.d.ts +3 -3
  557. package/lib/node/options.js +3 -3
  558. package/lib/node/options.js.map +1 -1
  559. package/lib/node/utils/interop/deposits.d.ts +1 -1
  560. package/lib/node/utils/interop/deposits.js +3 -3
  561. package/lib/node/utils/interop/deposits.js.map +1 -1
  562. package/lib/node/utils/interop/state.d.ts +1 -1
  563. package/lib/node/utils/interop/state.js +3 -2
  564. package/lib/node/utils/interop/state.js.map +1 -1
  565. package/lib/node/utils/state.d.ts +3 -0
  566. package/lib/node/utils/state.js +3 -0
  567. package/lib/node/utils/state.js.map +1 -1
  568. package/lib/sync/backfill/backfill.d.ts +6 -6
  569. package/lib/sync/backfill/backfill.js +7 -6
  570. package/lib/sync/backfill/backfill.js.map +1 -1
  571. package/lib/sync/backfill/errors.d.ts +1 -1
  572. package/lib/sync/backfill/errors.js.map +1 -1
  573. package/lib/sync/backfill/verify.d.ts +2 -3
  574. package/lib/sync/backfill/verify.js +1 -1
  575. package/lib/sync/backfill/verify.js.map +1 -1
  576. package/lib/sync/interface.d.ts +5 -5
  577. package/lib/sync/range/batch.d.ts +2 -2
  578. package/lib/sync/range/batch.js +1 -1
  579. package/lib/sync/range/batch.js.map +1 -1
  580. package/lib/sync/range/chain.d.ts +1 -1
  581. package/lib/sync/range/chain.js +1 -1
  582. package/lib/sync/range/chain.js.map +1 -1
  583. package/lib/sync/range/range.d.ts +3 -3
  584. package/lib/sync/range/range.js +5 -9
  585. package/lib/sync/range/range.js.map +1 -1
  586. package/lib/sync/range/utils/batches.js +1 -3
  587. package/lib/sync/range/utils/batches.js.map +1 -1
  588. package/lib/sync/range/utils/hashBlocks.d.ts +1 -1
  589. package/lib/sync/sync.d.ts +1 -1
  590. package/lib/sync/sync.js +31 -30
  591. package/lib/sync/sync.js.map +1 -1
  592. package/lib/sync/unknownBlock.d.ts +1 -1
  593. package/lib/sync/unknownBlock.js +9 -14
  594. package/lib/sync/unknownBlock.js.map +1 -1
  595. package/lib/sync/utils/pendingBlocksTree.js +1 -1
  596. package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
  597. package/lib/sync/utils/remoteSyncType.d.ts +1 -1
  598. package/lib/sync/utils/remoteSyncType.js +25 -36
  599. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  600. package/lib/util/asyncIterableToEvents.js +0 -2
  601. package/lib/util/asyncIterableToEvents.js.map +1 -1
  602. package/lib/util/binarySearch.js +1 -1
  603. package/lib/util/binarySearch.js.map +1 -1
  604. package/lib/util/bitArray.js +1 -2
  605. package/lib/util/bitArray.js.map +1 -1
  606. package/lib/util/blobs.d.ts +2 -2
  607. package/lib/util/blobs.js +2 -2
  608. package/lib/util/blobs.js.map +1 -1
  609. package/lib/util/clock.d.ts +2 -2
  610. package/lib/util/clock.js +1 -1
  611. package/lib/util/clock.js.map +1 -1
  612. package/lib/util/kzg.js +4 -5
  613. package/lib/util/kzg.js.map +1 -1
  614. package/lib/util/map.js +0 -1
  615. package/lib/util/map.js.map +1 -1
  616. package/lib/util/multifork.d.ts +1 -1
  617. package/lib/util/multifork.js.map +1 -1
  618. package/lib/util/peerId.js +1 -1
  619. package/lib/util/peerId.js.map +1 -1
  620. package/lib/util/profile.js +1 -1
  621. package/lib/util/profile.js.map +1 -1
  622. package/lib/util/queue/errors.d.ts +0 -1
  623. package/lib/util/queue/errors.js +0 -3
  624. package/lib/util/queue/errors.js.map +1 -1
  625. package/lib/util/queue/fnQueue.d.ts +1 -1
  626. package/lib/util/queue/fnQueue.js +1 -1
  627. package/lib/util/queue/fnQueue.js.map +1 -1
  628. package/lib/util/queue/itemQueue.d.ts +1 -1
  629. package/lib/util/queue/itemQueue.js +3 -3
  630. package/lib/util/queue/itemQueue.js.map +1 -1
  631. package/lib/util/sszBytes.d.ts +1 -1
  632. package/lib/util/sszBytes.js.map +1 -1
  633. package/package.json +24 -23
  634. package/lib/chain/archiver/archiveStates.js.map +0 -1
  635. package/lib/network/processor/gossipQueues/indexedAvgTime.d.ts +0 -31
  636. package/lib/network/processor/gossipQueues/indexedAvgTime.js +0 -115
  637. package/lib/network/processor/gossipQueues/indexedAvgTime.js.map +0 -1
@@ -1,47 +1,46 @@
1
1
  import path from "node:path";
2
- import { fromHexString } from "@chainsafe/ssz";
3
- import { computeEpochAtSlot, computeStartSlotAtEpoch, createCachedBeaconState, getEffectiveBalanceIncrementsZeroInactive, isCachedBeaconState, PubkeyIndexMap, computeEndSlotAtEpoch, } from "@lodestar/state-transition";
4
- import { isBlindedBeaconBlock, } from "@lodestar/types";
2
+ import { PubkeyIndexMap } from "@chainsafe/pubkey-index-map";
5
3
  import { ExecutionStatus, UpdateHeadOpt } from "@lodestar/fork-choice";
6
- import { gweiToWei, isErrorAborted, pruneSetToMax, sleep, toRootHex } from "@lodestar/utils";
7
4
  import { ForkSeq, GENESIS_SLOT, SLOTS_PER_EPOCH } from "@lodestar/params";
5
+ import { computeAnchorCheckpoint, computeEndSlotAtEpoch, computeEpochAtSlot, computeStartSlotAtEpoch, createCachedBeaconState, getEffectiveBalanceIncrementsZeroInactive, isCachedBeaconState, } from "@lodestar/state-transition";
6
+ import { isBlindedBeaconBlock, } from "@lodestar/types";
7
+ import { fromHex, gweiToWei, isErrorAborted, pruneSetToMax, sleep, toRootHex } from "@lodestar/utils";
8
8
  import { GENESIS_EPOCH, ZERO_HASH } from "../constants/index.js";
9
+ import { BufferPool } from "../util/bufferPool.js";
9
10
  import { Clock, ClockEvent } from "../util/clock.js";
10
11
  import { ensureDir, writeIfNotExist } from "../util/file.js";
11
12
  import { isOptimisticBlock } from "../util/forkChoice.js";
12
- import { BufferPool } from "../util/bufferPool.js";
13
+ import { Archiver } from "./archiver/archiver.js";
14
+ import { CheckpointBalancesCache } from "./balancesCache.js";
15
+ import { BeaconProposerCache } from "./beaconProposerCache.js";
13
16
  import { BlockProcessor } from "./blocks/index.js";
14
- import { ChainEventEmitter, ChainEvent } from "./emitter.js";
15
- import { FindHeadFnName, } from "./interface.js";
16
- import { QueuedStateRegenerator, RegenCaller } from "./regen/index.js";
17
+ import { BlsMultiThreadWorkerPool, BlsSingleThreadVerifier } from "./bls/index.js";
18
+ import { ChainEvent, ChainEventEmitter } from "./emitter.js";
17
19
  import { initializeForkChoice } from "./forkChoice/index.js";
18
- import { computeAnchorCheckpoint } from "./initState.js";
19
- import { BlsSingleThreadVerifier, BlsMultiThreadWorkerPool } from "./bls/index.js";
20
- import { SeenAttesters, SeenAggregators, SeenBlockProposers, SeenSyncCommitteeMessages, SeenContributionAndProof, } from "./seenCache/index.js";
21
- import { AggregatedAttestationPool, AttestationPool, SyncCommitteeMessagePool, SyncContributionAndProofPool, OpPool, } from "./opPools/index.js";
20
+ import { FindHeadFnName, } from "./interface.js";
22
21
  import { LightClientServer } from "./lightClient/index.js";
23
- import { Archiver } from "./archiver/index.js";
22
+ import { AggregatedAttestationPool, AttestationPool, OpPool, SyncCommitteeMessagePool, SyncContributionAndProofPool, } from "./opPools/index.js";
24
23
  import { PrepareNextSlotScheduler } from "./prepareNextSlot.js";
25
- import { ReprocessController } from "./reprocess.js";
26
- import { SeenAggregatedAttestations } from "./seenCache/seenAggregateAndProof.js";
27
- import { SeenBlockAttesters } from "./seenCache/seenBlockAttesters.js";
28
- import { BeaconProposerCache } from "./beaconProposerCache.js";
29
- import { CheckpointBalancesCache } from "./balancesCache.js";
24
+ import { computeNewStateRoot } from "./produceBlock/computeNewStateRoot.js";
30
25
  import { BlobsResultType, BlockType } from "./produceBlock/index.js";
31
26
  import { produceBlockBody, produceCommonBlockBody } from "./produceBlock/produceBlockBody.js";
32
- import { computeNewStateRoot } from "./produceBlock/computeNewStateRoot.js";
33
- import { SeenAttestationDatas } from "./seenCache/seenAttestationData.js";
27
+ import { QueuedStateRegenerator, RegenCaller } from "./regen/index.js";
28
+ import { ReprocessController } from "./reprocess.js";
29
+ import { computeAttestationsRewards } from "./rewards/attestationsRewards.js";
34
30
  import { computeBlockRewards } from "./rewards/blockRewards.js";
31
+ import { computeSyncCommitteeRewards } from "./rewards/syncCommitteeRewards.js";
32
+ import { SeenAggregators, SeenAttesters, SeenBlockProposers, SeenContributionAndProof, SeenSyncCommitteeMessages, } from "./seenCache/index.js";
33
+ import { SeenGossipBlockInput } from "./seenCache/index.js";
34
+ import { SeenAggregatedAttestations } from "./seenCache/seenAggregateAndProof.js";
35
+ import { SeenAttestationDatas } from "./seenCache/seenAttestationData.js";
36
+ import { SeenBlockAttesters } from "./seenCache/seenBlockAttesters.js";
35
37
  import { ShufflingCache } from "./shufflingCache.js";
36
38
  import { BlockStateCacheImpl } from "./stateCache/blockStateCacheImpl.js";
37
- import { SeenGossipBlockInput } from "./seenCache/index.js";
38
- import { InMemoryCheckpointStateCache } from "./stateCache/inMemoryCheckpointsCache.js";
39
- import { FIFOBlockStateCache } from "./stateCache/fifoBlockStateCache.js";
40
- import { PersistentCheckpointStateCache } from "./stateCache/persistentCheckpointsCache.js";
41
39
  import { DbCPStateDatastore } from "./stateCache/datastore/db.js";
42
40
  import { FileCPStateDatastore } from "./stateCache/datastore/file.js";
43
- import { computeSyncCommitteeRewards } from "./rewards/syncCommitteeRewards.js";
44
- import { computeAttestationsRewards } from "./rewards/attestationsRewards.js";
41
+ import { FIFOBlockStateCache } from "./stateCache/fifoBlockStateCache.js";
42
+ import { InMemoryCheckpointStateCache } from "./stateCache/inMemoryCheckpointsCache.js";
43
+ import { PersistentCheckpointStateCache } from "./stateCache/persistentCheckpointsCache.js";
45
44
  /**
46
45
  * Arbitrary constants, blobs and payloads should be consumed immediately in the same slot
47
46
  * they are produced. A value of 1 would probably be sufficient. However it's sensible to
@@ -98,7 +97,6 @@ export class BeaconChain {
98
97
  this.seenAttestationDatas = new SeenAttestationDatas(metrics, this.opts?.attDataCacheSlotDistance);
99
98
  this.beaconProposerCache = new BeaconProposerCache(opts);
100
99
  this.checkpointBalancesCache = new CheckpointBalancesCache();
101
- this.shufflingCache = new ShufflingCache(metrics, this.opts);
102
100
  // Restore state caches
103
101
  // anchorState may already by a CachedBeaconState. If so, don't create the cache again, since deserializing all
104
102
  // pubkeys takes ~30 seconds for 350k keys (mainnet 2022Q2).
@@ -111,9 +109,20 @@ export class BeaconChain {
111
109
  pubkey2index: new PubkeyIndexMap(),
112
110
  index2pubkey: [],
113
111
  });
114
- this.shufflingCache.processState(cachedState, cachedState.epochCtx.previousShuffling.epoch);
115
- this.shufflingCache.processState(cachedState, cachedState.epochCtx.currentShuffling.epoch);
116
- this.shufflingCache.processState(cachedState, cachedState.epochCtx.nextShuffling.epoch);
112
+ this.shufflingCache = cachedState.epochCtx.shufflingCache = new ShufflingCache(metrics, logger, this.opts, [
113
+ {
114
+ shuffling: cachedState.epochCtx.previousShuffling,
115
+ decisionRoot: cachedState.epochCtx.previousDecisionRoot,
116
+ },
117
+ {
118
+ shuffling: cachedState.epochCtx.currentShuffling,
119
+ decisionRoot: cachedState.epochCtx.currentDecisionRoot,
120
+ },
121
+ {
122
+ shuffling: cachedState.epochCtx.nextShuffling,
123
+ decisionRoot: cachedState.epochCtx.nextDecisionRoot,
124
+ },
125
+ ]);
117
126
  // Persist single global instance of state caches
118
127
  this.pubkey2index = cachedState.epochCtx.pubkey2index;
119
128
  this.index2pubkey = cachedState.epochCtx.index2pubkey;
@@ -165,7 +174,7 @@ export class BeaconChain {
165
174
  this.regen = regen;
166
175
  this.bls = bls;
167
176
  this.emitter = emitter;
168
- this.archiver = new Archiver(db, this, logger, signal, opts);
177
+ this.archiver = new Archiver(db, this, logger, signal, opts, metrics);
169
178
  // always run PrepareNextSlotScheduler except for fork_choice spec tests
170
179
  if (!opts?.disablePrepareNextSlot) {
171
180
  new PrepareNextSlotScheduler(this, this.config, metrics, this.logger, signal);
@@ -260,20 +269,18 @@ export class BeaconChain {
260
269
  finalized: slot === finalizedBlock.slot && finalizedBlock.slot !== GENESIS_SLOT,
261
270
  };
262
271
  }
263
- else {
264
- // Just check if state is already in the cache. If it's not dialed to the correct slot,
265
- // do not bother in advancing the state. restApiCanTriggerRegen == false means do no work
266
- const block = this.forkChoice.getCanonicalBlockAtSlot(slot);
267
- if (!block) {
268
- return null;
269
- }
270
- const state = this.regen.getStateSync(block.stateRoot);
271
- return (state && {
272
- state,
273
- executionOptimistic: isOptimisticBlock(block),
274
- finalized: slot === finalizedBlock.slot && finalizedBlock.slot !== GENESIS_SLOT,
275
- });
272
+ // Just check if state is already in the cache. If it's not dialed to the correct slot,
273
+ // do not bother in advancing the state. restApiCanTriggerRegen == false means do no work
274
+ const block = this.forkChoice.getCanonicalBlockAtSlot(slot);
275
+ if (!block) {
276
+ return null;
276
277
  }
278
+ const state = this.regen.getStateSync(block.stateRoot);
279
+ return (state && {
280
+ state,
281
+ executionOptimistic: isOptimisticBlock(block),
282
+ finalized: slot === finalizedBlock.slot && finalizedBlock.slot !== GENESIS_SLOT,
283
+ });
277
284
  }
278
285
  async getHistoricalStateBySlot(slot) {
279
286
  const finalizedBlock = this.forkChoice.getFinalizedBlock();
@@ -312,7 +319,7 @@ export class BeaconChain {
312
319
  finalized: cachedStateCtx.epochCtx.epoch <= finalizedEpoch && finalizedEpoch !== GENESIS_EPOCH,
313
320
  };
314
321
  }
315
- const data = await this.db.stateArchive.getByRoot(fromHexString(stateRoot));
322
+ const data = await this.db.stateArchive.getByRoot(fromHex(stateRoot));
316
323
  return data && { state: data, executionOptimistic: false, finalized: true };
317
324
  }
318
325
  getStateByCheckpoint(checkpoint) {
@@ -348,7 +355,7 @@ export class BeaconChain {
348
355
  // Unfinalized slot, attempt to find in fork-choice
349
356
  const block = this.forkChoice.getCanonicalBlockAtSlot(slot);
350
357
  if (block) {
351
- const data = await this.db.block.get(fromHexString(block.blockRoot));
358
+ const data = await this.db.block.get(fromHex(block.blockRoot));
352
359
  if (data) {
353
360
  return { block: data, executionOptimistic: isOptimisticBlock(block), finalized: false };
354
361
  }
@@ -363,14 +370,14 @@ export class BeaconChain {
363
370
  async getBlockByRoot(root) {
364
371
  const block = this.forkChoice.getBlockHex(root);
365
372
  if (block) {
366
- const data = await this.db.block.get(fromHexString(root));
373
+ const data = await this.db.block.get(fromHex(root));
367
374
  if (data) {
368
375
  return { block: data, executionOptimistic: isOptimisticBlock(block), finalized: false };
369
376
  }
370
377
  // If block is not found in hot db, try cold db since there could be an archive cycle happening
371
378
  // TODO: Add a lock to the archiver to have deterministic behavior on where are blocks
372
379
  }
373
- const data = await this.db.blockArchive.getByRoot(fromHexString(root));
380
+ const data = await this.db.blockArchive.getByRoot(fromHex(root));
374
381
  return data && { block: data, executionOptimistic: false, finalized: true };
375
382
  }
376
383
  async produceCommonBlockBody(blockAttributes) {
@@ -485,13 +492,13 @@ export class BeaconChain {
485
492
  finalizedRoot: finalizedCheckpoint.epoch === GENESIS_EPOCH ? ZERO_HASH : finalizedCheckpoint.root,
486
493
  finalizedEpoch: finalizedCheckpoint.epoch,
487
494
  // TODO: PERFORMANCE: Memoize to prevent re-computing every time
488
- headRoot: fromHexString(head.blockRoot),
495
+ headRoot: fromHex(head.blockRoot),
489
496
  headSlot: head.slot,
490
497
  };
491
498
  }
492
- recomputeForkChoiceHead() {
499
+ recomputeForkChoiceHead(caller) {
493
500
  this.metrics?.forkChoice.requests.inc();
494
- const timer = this.metrics?.forkChoice.findHead.startTimer({ entrypoint: FindHeadFnName.recomputeForkChoiceHead });
501
+ const timer = this.metrics?.forkChoice.findHead.startTimer({ caller });
495
502
  try {
496
503
  return this.forkChoice.updateAndGetHead({ mode: UpdateHeadOpt.GetCanonicialHead }).head;
497
504
  }
@@ -505,7 +512,7 @@ export class BeaconChain {
505
512
  }
506
513
  predictProposerHead(slot) {
507
514
  this.metrics?.forkChoice.requests.inc();
508
- const timer = this.metrics?.forkChoice.findHead.startTimer({ entrypoint: FindHeadFnName.predictProposerHead });
515
+ const timer = this.metrics?.forkChoice.findHead.startTimer({ caller: FindHeadFnName.predictProposerHead });
509
516
  try {
510
517
  return this.forkChoice.updateAndGetHead({ mode: UpdateHeadOpt.GetPredictedProposerHead, slot }).head;
511
518
  }
@@ -519,7 +526,7 @@ export class BeaconChain {
519
526
  }
520
527
  getProposerHead(slot) {
521
528
  this.metrics?.forkChoice.requests.inc();
522
- const timer = this.metrics?.forkChoice.findHead.startTimer({ entrypoint: FindHeadFnName.getProposerHead });
529
+ const timer = this.metrics?.forkChoice.findHead.startTimer({ caller: FindHeadFnName.getProposerHead });
523
530
  const secFromSlot = this.clock.secFromSlot(slot);
524
531
  try {
525
532
  const { head, isHeadTimely, notReorgedReason } = this.forkChoice.updateAndGetHead({
@@ -603,8 +610,8 @@ export class BeaconChain {
603
610
  this.metrics?.gossipAttestation.useHeadBlockState.inc({ caller: regenCaller });
604
611
  state = await this.regen.getState(attHeadBlock.stateRoot, regenCaller);
605
612
  }
606
- // resolve the promise to unblock other calls of the same epoch and dependent root
607
- return this.shufflingCache.processState(state, attEpoch);
613
+ // should always be the current epoch of the active context so no need to await a result from the ShufflingCache
614
+ return state.epochCtx.getShufflingAtEpoch(attEpoch);
608
615
  }
609
616
  /**
610
617
  * `ForkChoice.onBlock` must never throw for a block that is valid with respect to the network
@@ -617,26 +624,24 @@ export class BeaconChain {
617
624
  if (effectiveBalances) {
618
625
  return effectiveBalances;
619
626
  }
620
- else {
621
- // not expected, need metrics
622
- this.metrics?.balancesCache.misses.inc();
623
- this.logger.debug("checkpointBalances cache miss", {
624
- epoch: checkpoint.epoch,
625
- root: checkpoint.rootHex,
627
+ // not expected, need metrics
628
+ this.metrics?.balancesCache.misses.inc();
629
+ this.logger.debug("checkpointBalances cache miss", {
630
+ epoch: checkpoint.epoch,
631
+ root: checkpoint.rootHex,
632
+ });
633
+ const { state, stateId, shouldWarn } = this.closestJustifiedBalancesStateToCheckpoint(checkpoint, blockState);
634
+ this.metrics?.balancesCache.closestStateResult.inc({ stateId });
635
+ if (shouldWarn) {
636
+ this.logger.warn("currentJustifiedCheckpoint state not avail, using closest state", {
637
+ checkpointEpoch: checkpoint.epoch,
638
+ checkpointRoot: checkpoint.rootHex,
639
+ stateId,
640
+ stateSlot: state.slot,
641
+ stateRoot: toRootHex(state.hashTreeRoot()),
626
642
  });
627
- const { state, stateId, shouldWarn } = this.closestJustifiedBalancesStateToCheckpoint(checkpoint, blockState);
628
- this.metrics?.balancesCache.closestStateResult.inc({ stateId });
629
- if (shouldWarn) {
630
- this.logger.warn("currentJustifiedCheckpoint state not avail, using closest state", {
631
- checkpointEpoch: checkpoint.epoch,
632
- checkpointRoot: checkpoint.rootHex,
633
- stateId,
634
- stateSlot: state.slot,
635
- stateRoot: toRootHex(state.hashTreeRoot()),
636
- });
637
- }
638
- return getEffectiveBalanceIncrementsZeroInactive(state);
639
643
  }
644
+ return getEffectiveBalanceIncrementsZeroInactive(state);
640
645
  }
641
646
  /**
642
647
  * - Assumptions + invariant this function is based on:
@@ -779,7 +784,7 @@ export class BeaconChain {
779
784
  // TODO: Improve using regen here
780
785
  const { blockRoot, stateRoot, slot } = this.forkChoice.getHead();
781
786
  const headState = this.regen.getStateSync(stateRoot);
782
- const headBlock = await this.db.block.get(fromHexString(blockRoot));
787
+ const headBlock = await this.db.block.get(fromHex(blockRoot));
783
788
  if (headBlock == null) {
784
789
  throw Error(`Head block ${slot} ${headBlock} is not available in database`);
785
790
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain/chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain/chain.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  /// <reference types="node" />
2
- import { EventEmitter } from "events";
2
+ import { EventEmitter } from "node:events";
3
3
  import { StrictEventEmitter } from "strict-event-emitter-types";
4
4
  import { routes } from "@lodestar/api";
5
- import { phase0 } from "@lodestar/types";
6
5
  import { CheckpointWithHex } from "@lodestar/fork-choice";
7
6
  import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
7
+ import { phase0 } from "@lodestar/types";
8
8
  /**
9
9
  * Important chain events that occur during normal chain operation.
10
10
  *
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from "events";
1
+ import { EventEmitter } from "node:events";
2
2
  /**
3
3
  * Important chain events that occur during normal chain operation.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/chain/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAQpC;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,UAoBX;AApBD,WAAY,UAAU;IACpB;;;;;OAKG;IACH,uCAAyB,CAAA;IACzB;;;;OAIG;IACH,0DAA4C,CAAA;IAC5C;;;;OAIG;IACH,0DAA4C,CAAA;AAC9C,CAAC,EApBW,UAAU,KAAV,UAAU,QAoBrB;AAeD;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAkB,SAAS,YAAyE;CAAG"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/chain/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAQzC;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,UAoBX;AApBD,WAAY,UAAU;IACpB;;;;;OAKG;IACH,uCAAyB,CAAA;IACzB;;;;OAIG;IACH,0DAA4C,CAAA;IAC5C;;;;OAIG;IACH,0DAA4C,CAAA;AAC9C,CAAC,EApBW,UAAU,KAAV,UAAU,QAoBrB;AAeD;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAkB,SAAS,YAAyE;CAAG"}
@@ -1,4 +1,4 @@
1
- import { Epoch, Slot, ValidatorIndex, RootHex } from "@lodestar/types";
1
+ import { Epoch, RootHex, Slot, ValidatorIndex } from "@lodestar/types";
2
2
  import { GossipActionError } from "./gossipValidation.js";
3
3
  export declare enum AttestationErrorCode {
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { Slot, RootHex, ValidatorIndex } from "@lodestar/types";
1
+ import { RootHex, Slot, ValidatorIndex } from "@lodestar/types";
2
2
  import { GossipActionError } from "./gossipValidation.js";
3
3
  export declare enum BlobSidecarErrorCode {
4
4
  INVALID_INDEX = "BLOB_SIDECAR_ERROR_INVALID_INDEX",
@@ -1,6 +1,6 @@
1
+ import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
1
2
  import { RootHex, SignedBeaconBlock, Slot, ValidatorIndex } from "@lodestar/types";
2
3
  import { LodestarError } from "@lodestar/utils";
3
- import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
4
4
  import { ExecutionPayloadStatus } from "../../execution/engine/interface.js";
5
5
  import { GossipActionError } from "./gossipValidation.js";
6
6
  export declare enum BlockErrorCode {
@@ -1 +1 @@
1
- {"version":3,"file":"blockError.js","sourceRoot":"","sources":["../../../src/chain/errors/blockError.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockError.js","sourceRoot":"","sources":["../../../src/chain/errors/blockError.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ValidatorIndex, Slot, RootHex } from "@lodestar/types";
1
+ import { RootHex, Slot, ValidatorIndex } from "@lodestar/types";
2
2
  import { GossipActionError } from "./gossipValidation.js";
3
3
  export declare enum SyncCommitteeErrorCode {
4
4
  NOT_CURRENT_SLOT = "SYNC_COMMITTEE_ERROR_NOT_CURRENT_SLOT",
@@ -1,12 +1,16 @@
1
- import { Slot } from "@lodestar/types";
2
1
  import { ChainForkConfig } from "@lodestar/config";
3
2
  import { ForkChoice, JustifiedBalancesGetter, ForkChoiceOpts as RawForkChoiceOpts } from "@lodestar/fork-choice";
4
3
  import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
4
+ import { Slot } from "@lodestar/types";
5
5
  import { Logger } from "@lodestar/utils";
6
6
  import { ChainEventEmitter } from "../emitter.js";
7
7
  export type ForkChoiceOpts = RawForkChoiceOpts & {
8
8
  forkchoiceConstructor?: typeof ForkChoice;
9
9
  };
10
+ export declare enum ForkchoiceCaller {
11
+ prepareNextSlot = "prepare_next_slot",
12
+ importBlock = "import_block"
13
+ }
10
14
  /**
11
15
  * Fork Choice extended with a ChainEventEmitter
12
16
  */
@@ -1,9 +1,13 @@
1
- import { ForkChoice, ProtoArray, ForkChoiceStore, ExecutionStatus, DataAvailabilityStatus, } from "@lodestar/fork-choice";
2
- import { getEffectiveBalanceIncrementsZeroInactive, isExecutionStateType, isMergeTransitionComplete, } from "@lodestar/state-transition";
1
+ import { DataAvailabilityStatus, ExecutionStatus, ForkChoice, ForkChoiceStore, ProtoArray, } from "@lodestar/fork-choice";
2
+ import { computeAnchorCheckpoint, getEffectiveBalanceIncrementsZeroInactive, isExecutionStateType, isMergeTransitionComplete, } from "@lodestar/state-transition";
3
3
  import { toRootHex } from "@lodestar/utils";
4
- import { computeAnchorCheckpoint } from "../initState.js";
5
- import { ChainEvent } from "../emitter.js";
6
4
  import { GENESIS_SLOT } from "../../constants/index.js";
5
+ import { ChainEvent } from "../emitter.js";
6
+ export var ForkchoiceCaller;
7
+ (function (ForkchoiceCaller) {
8
+ ForkchoiceCaller["prepareNextSlot"] = "prepare_next_slot";
9
+ ForkchoiceCaller["importBlock"] = "import_block";
10
+ })(ForkchoiceCaller || (ForkchoiceCaller = {}));
7
11
  /**
8
12
  * Fork Choice extended with a ChainEventEmitter
9
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/forkChoice/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/forkChoice/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
- import { CachedBeaconStateAllForks, BeaconStateAllForks } from "@lodestar/state-transition";
2
+ import { BeaconStateAllForks, CachedBeaconStateAllForks } from "@lodestar/state-transition";
3
3
  import { Logger } from "@lodestar/utils";
4
- import { IEth1Provider } from "../../eth1/index.js";
5
4
  import { DepositTree } from "../../db/repositories/depositDataRoot.js";
6
- import { IGenesisBuilder, GenesisResult } from "./interface.js";
5
+ import { IEth1Provider } from "../../eth1/index.js";
6
+ import { GenesisResult, IGenesisBuilder } from "./interface.js";
7
7
  export type GenesisBuilderKwargs = {
8
8
  config: ChainForkConfig;
9
9
  eth1Provider: IEth1Provider;
@@ -1,7 +1,7 @@
1
- import { toGindex, Tree } from "@chainsafe/persistent-merkle-tree";
1
+ import { Tree, toGindex } from "@chainsafe/persistent-merkle-tree";
2
2
  import { GENESIS_EPOCH, GENESIS_SLOT } from "@lodestar/params";
3
+ import { applyDeposits, applyEth1BlockHash, applyTimestamp, createCachedBeaconState, createEmptyEpochCacheImmutableData, getActiveValidatorIndices, getGenesisBeaconState, getTemporaryBlockHeader, } from "@lodestar/state-transition";
3
4
  import { ssz } from "@lodestar/types";
4
- import { getTemporaryBlockHeader, getGenesisBeaconState, applyDeposits, applyTimestamp, applyEth1BlockHash, createCachedBeaconState, createEmptyEpochCacheImmutableData, getActiveValidatorIndices, } from "@lodestar/state-transition";
5
5
  import { getDepositsAndBlockStreamForGenesis, getDepositsStream } from "../../eth1/stream.js";
6
6
  export class GenesisBuilder {
7
7
  constructor({ config, eth1Provider, logger, signal, pendingStatus, maxBlocksPerPoll }) {
@@ -60,9 +60,7 @@ export class GenesisBuilder {
60
60
  block,
61
61
  };
62
62
  }
63
- else {
64
- this.throttledLog(`Waiting for min genesis time ${block.timestamp} / ${this.config.MIN_GENESIS_TIME}`);
65
- }
63
+ this.throttledLog(`Waiting for min genesis time ${block.timestamp} / ${this.config.MIN_GENESIS_TIME}`);
66
64
  }
67
65
  throw Error("depositsStream stopped without a valid genesis state");
68
66
  }
@@ -80,9 +78,7 @@ export class GenesisBuilder {
80
78
  this.logger.info("Found enough genesis validators", { blockNumber });
81
79
  return blockNumber;
82
80
  }
83
- else {
84
- this.throttledLog(`Found ${this.state.validators.length} / ${this.config.MIN_GENESIS_ACTIVE_VALIDATOR_COUNT} validators to genesis`);
85
- }
81
+ this.throttledLog(`Found ${this.state.validators.length} / ${this.config.MIN_GENESIS_ACTIVE_VALIDATOR_COUNT} validators to genesis`);
86
82
  }
87
83
  throw Error("depositsStream stopped without a valid genesis state");
88
84
  }