@lodestar/beacon-node 1.35.0-dev.549f58dd39 → 1.35.0-dev.56313c7299

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 (1366) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +46 -58
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/config/constants.d.ts +0 -5
  4. package/lib/api/impl/config/constants.js +1 -6
  5. package/lib/api/impl/config/constants.js.map +1 -1
  6. package/lib/api/impl/debug/index.js +1 -1
  7. package/lib/api/impl/debug/index.js.map +1 -1
  8. package/lib/api/impl/errors.js +0 -2
  9. package/lib/api/impl/errors.js.map +1 -1
  10. package/lib/api/impl/index.d.ts +3 -3
  11. package/lib/api/impl/index.js +3 -3
  12. package/lib/api/impl/index.js.map +1 -1
  13. package/lib/api/impl/lodestar/index.js +1 -1
  14. package/lib/api/impl/lodestar/index.js.map +1 -1
  15. package/lib/api/impl/validator/index.js +4 -7
  16. package/lib/api/impl/validator/index.js.map +1 -1
  17. package/lib/api/rest/activeSockets.js +2 -3
  18. package/lib/api/rest/activeSockets.js.map +1 -1
  19. package/lib/api/rest/base.d.ts +1 -1
  20. package/lib/api/rest/base.js +2 -6
  21. package/lib/api/rest/base.js.map +1 -1
  22. package/lib/api/rest/index.js +0 -2
  23. package/lib/api/rest/index.js.map +1 -1
  24. package/lib/api/rest/swaggerUI.js +2 -4
  25. package/lib/api/rest/swaggerUI.js.map +1 -1
  26. package/lib/chain/archiveStore/archiveStore.js +38 -49
  27. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  28. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -3
  29. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  30. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  31. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  32. package/lib/chain/archiveStore/index.d.ts +1 -1
  33. package/lib/chain/archiveStore/index.js +1 -1
  34. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +0 -5
  35. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  36. package/lib/chain/balancesCache.js +3 -1
  37. package/lib/chain/balancesCache.js.map +1 -1
  38. package/lib/chain/beaconProposerCache.js +0 -1
  39. package/lib/chain/beaconProposerCache.js.map +1 -1
  40. package/lib/chain/blocks/blockInput/blockInput.d.ts +7 -19
  41. package/lib/chain/blocks/blockInput/blockInput.js +89 -133
  42. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  43. package/lib/chain/blocks/blockInput/index.d.ts +1 -1
  44. package/lib/chain/blocks/blockInput/index.js +1 -1
  45. package/lib/chain/blocks/blockInput/types.d.ts +10 -19
  46. package/lib/chain/blocks/blockInput/types.js +0 -1
  47. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  48. package/lib/chain/blocks/blockInput/utils.d.ts +4 -0
  49. package/lib/chain/blocks/blockInput/utils.js +29 -6
  50. package/lib/chain/blocks/blockInput/utils.js.map +1 -1
  51. package/lib/chain/blocks/importBlock.js +14 -19
  52. package/lib/chain/blocks/importBlock.js.map +1 -1
  53. package/lib/chain/blocks/index.d.ts +5 -6
  54. package/lib/chain/blocks/index.js +4 -5
  55. package/lib/chain/blocks/index.js.map +1 -1
  56. package/lib/chain/blocks/types.d.ts +106 -3
  57. package/lib/chain/blocks/types.js +119 -0
  58. package/lib/chain/blocks/types.js.map +1 -1
  59. package/lib/chain/blocks/utils/chainSegment.d.ts +2 -2
  60. package/lib/chain/blocks/utils/chainSegment.js +2 -2
  61. package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
  62. package/lib/chain/blocks/verifyBlock.d.ts +3 -3
  63. package/lib/chain/blocks/verifyBlock.js +14 -15
  64. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  65. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts +22 -7
  66. package/lib/chain/blocks/verifyBlocksDataAvailability.js +108 -23
  67. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  68. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +3 -4
  69. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +22 -24
  70. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  71. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts +3 -4
  72. package/lib/chain/blocks/verifyBlocksSanityChecks.js +2 -2
  73. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  74. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +2 -3
  75. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +2 -2
  76. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  77. package/lib/chain/blocks/writeBlockInputToDb.d.ts +3 -3
  78. package/lib/chain/blocks/writeBlockInputToDb.js +67 -56
  79. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  80. package/lib/chain/bls/multithread/index.js +163 -168
  81. package/lib/chain/bls/multithread/index.js.map +1 -1
  82. package/lib/chain/bls/singleThread.js +0 -1
  83. package/lib/chain/bls/singleThread.js.map +1 -1
  84. package/lib/chain/chain.d.ts +11 -13
  85. package/lib/chain/chain.js +23 -81
  86. package/lib/chain/chain.js.map +1 -1
  87. package/lib/chain/emitter.d.ts +2 -43
  88. package/lib/chain/emitter.js +0 -18
  89. package/lib/chain/emitter.js.map +1 -1
  90. package/lib/chain/errors/blobSidecarError.d.ts +0 -24
  91. package/lib/chain/errors/blobSidecarError.js +0 -10
  92. package/lib/chain/errors/blobSidecarError.js.map +1 -1
  93. package/lib/chain/errors/blockError.js +0 -1
  94. package/lib/chain/errors/blockError.js.map +1 -1
  95. package/lib/chain/errors/dataColumnSidecarError.d.ts +0 -42
  96. package/lib/chain/errors/dataColumnSidecarError.js +0 -14
  97. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
  98. package/lib/chain/errors/gossipValidation.js +0 -1
  99. package/lib/chain/errors/gossipValidation.js.map +1 -1
  100. package/lib/chain/errors/index.d.ts +2 -2
  101. package/lib/chain/errors/index.js +2 -2
  102. package/lib/chain/errors/index.js.map +1 -1
  103. package/lib/chain/forkChoice/index.js.map +1 -1
  104. package/lib/chain/genesis/genesis.js +5 -16
  105. package/lib/chain/genesis/genesis.js.map +1 -1
  106. package/lib/chain/index.d.ts +2 -2
  107. package/lib/chain/index.js +2 -2
  108. package/lib/chain/index.js.map +1 -1
  109. package/lib/chain/interface.d.ts +9 -12
  110. package/lib/chain/interface.js.map +1 -1
  111. package/lib/chain/lightClient/index.js +9 -16
  112. package/lib/chain/lightClient/index.js.map +1 -1
  113. package/lib/chain/lightClient/proofs.js.map +1 -1
  114. package/lib/chain/opPools/aggregatedAttestationPool.js +9 -14
  115. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  116. package/lib/chain/opPools/attestationPool.d.ts +3 -2
  117. package/lib/chain/opPools/attestationPool.js +7 -10
  118. package/lib/chain/opPools/attestationPool.js.map +1 -1
  119. package/lib/chain/opPools/index.d.ts +1 -1
  120. package/lib/chain/opPools/index.js +1 -1
  121. package/lib/chain/opPools/index.js.map +1 -1
  122. package/lib/chain/opPools/opPool.js +12 -10
  123. package/lib/chain/opPools/opPool.js.map +1 -1
  124. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +2 -3
  125. package/lib/chain/opPools/syncCommitteeMessagePool.js +10 -14
  126. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  127. package/lib/chain/opPools/syncContributionAndProofPool.js +2 -5
  128. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  129. package/lib/chain/opPools/types.d.ts +1 -1
  130. package/lib/chain/opPools/types.js +1 -1
  131. package/lib/chain/opPools/types.js.map +1 -1
  132. package/lib/chain/options.js +1 -1
  133. package/lib/chain/options.js.map +1 -1
  134. package/lib/chain/prepareNextSlot.d.ts +3 -3
  135. package/lib/chain/prepareNextSlot.js +140 -145
  136. package/lib/chain/prepareNextSlot.js.map +1 -1
  137. package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -1
  138. package/lib/chain/produceBlock/produceBlockBody.js +10 -3
  139. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  140. package/lib/chain/regen/errors.js +0 -1
  141. package/lib/chain/regen/errors.js.map +1 -1
  142. package/lib/chain/regen/index.d.ts +1 -1
  143. package/lib/chain/regen/index.js +1 -1
  144. package/lib/chain/regen/index.js.map +1 -1
  145. package/lib/chain/regen/queued.js +28 -35
  146. package/lib/chain/regen/queued.js.map +1 -1
  147. package/lib/chain/regen/regen.js +0 -1
  148. package/lib/chain/regen/regen.js.map +1 -1
  149. package/lib/chain/reprocess.js +1 -3
  150. package/lib/chain/reprocess.js.map +1 -1
  151. package/lib/chain/seenCache/index.d.ts +1 -1
  152. package/lib/chain/seenCache/index.js +1 -1
  153. package/lib/chain/seenCache/index.js.map +1 -1
  154. package/lib/chain/seenCache/seenAggregateAndProof.js +6 -7
  155. package/lib/chain/seenCache/seenAggregateAndProof.js.map +1 -1
  156. package/lib/chain/seenCache/seenAttestationData.js +2 -5
  157. package/lib/chain/seenCache/seenAttestationData.js.map +1 -1
  158. package/lib/chain/seenCache/seenAttesters.js +4 -2
  159. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  160. package/lib/chain/seenCache/seenBlockInput.d.ts +84 -0
  161. package/lib/chain/seenCache/seenBlockInput.js +225 -0
  162. package/lib/chain/seenCache/seenBlockInput.js.map +1 -0
  163. package/lib/chain/seenCache/seenBlockProposers.js +4 -2
  164. package/lib/chain/seenCache/seenBlockProposers.js.map +1 -1
  165. package/lib/chain/seenCache/seenCommittee.js +3 -1
  166. package/lib/chain/seenCache/seenCommittee.js.map +1 -1
  167. package/lib/chain/seenCache/seenCommitteeContribution.js +2 -3
  168. package/lib/chain/seenCache/seenCommitteeContribution.js.map +1 -1
  169. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +78 -74
  170. package/lib/chain/seenCache/seenGossipBlockInput.js +369 -235
  171. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  172. package/lib/chain/shufflingCache.js +2 -5
  173. package/lib/chain/shufflingCache.js.map +1 -1
  174. package/lib/chain/stateCache/blockStateCacheImpl.js +7 -13
  175. package/lib/chain/stateCache/blockStateCacheImpl.js.map +1 -1
  176. package/lib/chain/stateCache/datastore/db.js +0 -1
  177. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  178. package/lib/chain/stateCache/datastore/file.js +0 -1
  179. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  180. package/lib/chain/stateCache/datastore/index.d.ts +1 -1
  181. package/lib/chain/stateCache/datastore/index.js +1 -1
  182. package/lib/chain/stateCache/datastore/index.js.map +1 -1
  183. package/lib/chain/stateCache/fifoBlockStateCache.js +0 -10
  184. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  185. package/lib/chain/stateCache/inMemoryCheckpointsCache.js +4 -10
  186. package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
  187. package/lib/chain/stateCache/index.d.ts +1 -1
  188. package/lib/chain/stateCache/index.js +1 -1
  189. package/lib/chain/stateCache/index.js.map +1 -1
  190. package/lib/chain/stateCache/mapMetrics.js +4 -4
  191. package/lib/chain/stateCache/mapMetrics.js.map +1 -1
  192. package/lib/chain/stateCache/persistentCheckpointsCache.js +14 -23
  193. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  194. package/lib/chain/validation/blobSidecar.d.ts +3 -8
  195. package/lib/chain/validation/blobSidecar.js +31 -73
  196. package/lib/chain/validation/blobSidecar.js.map +1 -1
  197. package/lib/chain/validation/dataColumnSidecar.d.ts +9 -7
  198. package/lib/chain/validation/dataColumnSidecar.js +57 -95
  199. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  200. package/lib/chain/validation/index.d.ts +1 -1
  201. package/lib/chain/validation/index.js +1 -1
  202. package/lib/chain/validation/index.js.map +1 -1
  203. package/lib/chain/validation/lightClientFinalityUpdate.js +3 -4
  204. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  205. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +4 -6
  206. package/lib/chain/validation/lightClientOptimisticUpdate.js +11 -11
  207. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  208. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +2 -1
  209. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  210. package/lib/chain/validatorMonitor.d.ts +3 -1
  211. package/lib/chain/validatorMonitor.js +15 -22
  212. package/lib/chain/validatorMonitor.js.map +1 -1
  213. package/lib/db/beacon.js +0 -24
  214. package/lib/db/beacon.js.map +1 -1
  215. package/lib/db/buckets.d.ts +4 -4
  216. package/lib/db/buckets.js +4 -4
  217. package/lib/db/buckets.js.map +1 -1
  218. package/lib/db/index.d.ts +1 -1
  219. package/lib/db/index.js.map +1 -1
  220. package/lib/db/repositories/blobSidecars.js +1 -1
  221. package/lib/db/repositories/blobSidecars.js.map +1 -1
  222. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  223. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  224. package/lib/db/repositories/blockArchive.js +3 -2
  225. package/lib/db/repositories/blockArchive.js.map +1 -1
  226. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  227. package/lib/db/repositories/dataColumnSidecar.js +2 -2
  228. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  229. package/lib/db/repositories/dataColumnSidecarArchive.js +2 -2
  230. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  231. package/lib/db/repositories/depositDataRoot.js +0 -1
  232. package/lib/db/repositories/depositDataRoot.js.map +1 -1
  233. package/lib/db/repositories/index.d.ts +10 -10
  234. package/lib/db/repositories/index.js +9 -9
  235. package/lib/db/repositories/index.js.map +1 -1
  236. package/lib/db/single/preGenesisState.js +0 -6
  237. package/lib/db/single/preGenesisState.js.map +1 -1
  238. package/lib/db/single/preGenesisStateLastProcessedBlock.js +0 -5
  239. package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -1
  240. package/lib/eth1/eth1DataCache.js +0 -2
  241. package/lib/eth1/eth1DataCache.js.map +1 -1
  242. package/lib/eth1/eth1DepositDataTracker.js +5 -18
  243. package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
  244. package/lib/eth1/eth1DepositsCache.js +0 -3
  245. package/lib/eth1/eth1DepositsCache.js.map +1 -1
  246. package/lib/eth1/eth1MergeBlockTracker.js +4 -10
  247. package/lib/eth1/eth1MergeBlockTracker.js.map +1 -1
  248. package/lib/eth1/index.js +0 -2
  249. package/lib/eth1/index.js.map +1 -1
  250. package/lib/eth1/provider/eth1Provider.d.ts +2 -1
  251. package/lib/eth1/provider/eth1Provider.js +2 -6
  252. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  253. package/lib/eth1/provider/jsonRpcHttpClient.d.ts +1 -1
  254. package/lib/eth1/provider/jsonRpcHttpClient.js +2 -16
  255. package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
  256. package/lib/eth1/provider/jwt.js.map +1 -1
  257. package/lib/eth1/provider/utils.d.ts +0 -5
  258. package/lib/eth1/provider/utils.js +1 -9
  259. package/lib/eth1/provider/utils.js.map +1 -1
  260. package/lib/eth1/utils/deposits.js.map +1 -1
  261. package/lib/execution/builder/cache.js +0 -6
  262. package/lib/execution/builder/cache.js.map +1 -1
  263. package/lib/execution/builder/http.js +8 -14
  264. package/lib/execution/builder/http.js.map +1 -1
  265. package/lib/execution/builder/index.js.map +1 -1
  266. package/lib/execution/engine/disabled.js +4 -2
  267. package/lib/execution/engine/disabled.js.map +1 -1
  268. package/lib/execution/engine/http.d.ts +2 -2
  269. package/lib/execution/engine/http.js +11 -43
  270. package/lib/execution/engine/http.js.map +1 -1
  271. package/lib/execution/engine/interface.d.ts +2 -2
  272. package/lib/execution/engine/interface.js.map +1 -1
  273. package/lib/execution/engine/mock.d.ts +0 -1
  274. package/lib/execution/engine/mock.js +12 -16
  275. package/lib/execution/engine/mock.js.map +1 -1
  276. package/lib/execution/engine/payloadIdCache.js +3 -1
  277. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  278. package/lib/execution/engine/types.d.ts +1 -5
  279. package/lib/execution/engine/types.js +8 -37
  280. package/lib/execution/engine/types.js.map +1 -1
  281. package/lib/execution/engine/utils.js +3 -3
  282. package/lib/execution/engine/utils.js.map +1 -1
  283. package/lib/execution/index.d.ts +2 -2
  284. package/lib/execution/index.js +2 -2
  285. package/lib/execution/index.js.map +1 -1
  286. package/lib/index.d.ts +6 -6
  287. package/lib/index.js +5 -5
  288. package/lib/index.js.map +1 -1
  289. package/lib/metrics/index.d.ts +1 -1
  290. package/lib/metrics/index.js +1 -1
  291. package/lib/metrics/index.js.map +1 -1
  292. package/lib/metrics/metrics/beacon.d.ts +5 -11
  293. package/lib/metrics/metrics/beacon.js +20 -40
  294. package/lib/metrics/metrics/beacon.js.map +1 -1
  295. package/lib/metrics/metrics/lodestar.d.ts +14 -56
  296. package/lib/metrics/metrics/lodestar.js +10 -87
  297. package/lib/metrics/metrics/lodestar.js.map +1 -1
  298. package/lib/metrics/metrics.d.ts +1 -1
  299. package/lib/metrics/metrics.js.map +1 -1
  300. package/lib/metrics/nodeJsMetrics.js +1 -1
  301. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  302. package/lib/metrics/server/http.d.ts +1 -1
  303. package/lib/metrics/utils/avgMinMax.d.ts +1 -1
  304. package/lib/metrics/utils/avgMinMax.js +6 -10
  305. package/lib/metrics/utils/avgMinMax.js.map +1 -1
  306. package/lib/metrics/utils/gauge.d.ts +1 -1
  307. package/lib/metrics/utils/gauge.js +4 -1
  308. package/lib/metrics/utils/gauge.js.map +1 -1
  309. package/lib/metrics/utils/registryMetricCreator.d.ts +1 -1
  310. package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
  311. package/lib/monitoring/properties.js +0 -4
  312. package/lib/monitoring/properties.js.map +1 -1
  313. package/lib/monitoring/service.js +1 -13
  314. package/lib/monitoring/service.js.map +1 -1
  315. package/lib/monitoring/system.js +27 -25
  316. package/lib/monitoring/system.js.map +1 -1
  317. package/lib/network/core/networkCore.d.ts +2 -2
  318. package/lib/network/core/networkCore.js +50 -67
  319. package/lib/network/core/networkCore.js.map +1 -1
  320. package/lib/network/core/networkCoreWorker.js +1 -1
  321. package/lib/network/core/networkCoreWorker.js.map +1 -1
  322. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -2
  323. package/lib/network/core/networkCoreWorkerHandler.js +5 -14
  324. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  325. package/lib/network/discv5/index.d.ts +2 -2
  326. package/lib/network/discv5/index.js +3 -9
  327. package/lib/network/discv5/index.js.map +1 -1
  328. package/lib/network/discv5/worker.js +3 -3
  329. package/lib/network/discv5/worker.js.map +1 -1
  330. package/lib/network/events.d.ts +18 -2
  331. package/lib/network/events.js +7 -0
  332. package/lib/network/events.js.map +1 -1
  333. package/lib/network/gossip/encoding.d.ts +1 -1
  334. package/lib/network/gossip/encoding.js +2 -4
  335. package/lib/network/gossip/encoding.js.map +1 -1
  336. package/lib/network/gossip/errors.js +0 -1
  337. package/lib/network/gossip/errors.js.map +1 -1
  338. package/lib/network/gossip/gossipsub.d.ts +1 -2
  339. package/lib/network/gossip/gossipsub.js +17 -43
  340. package/lib/network/gossip/gossipsub.js.map +1 -1
  341. package/lib/network/gossip/index.d.ts +2 -2
  342. package/lib/network/gossip/index.js +2 -2
  343. package/lib/network/gossip/index.js.map +1 -1
  344. package/lib/network/gossip/interface.d.ts +2 -2
  345. package/lib/network/gossip/metrics.d.ts +7 -15
  346. package/lib/network/gossip/metrics.js +6 -16
  347. package/lib/network/gossip/metrics.js.map +1 -1
  348. package/lib/network/gossip/topic.d.ts +105 -125
  349. package/lib/network/gossip/topic.js +1 -2
  350. package/lib/network/gossip/topic.js.map +1 -1
  351. package/lib/network/index.d.ts +3 -3
  352. package/lib/network/index.js +3 -3
  353. package/lib/network/index.js.map +1 -1
  354. package/lib/network/interface.d.ts +2 -3
  355. package/lib/network/libp2p/index.js +3 -11
  356. package/lib/network/libp2p/index.js.map +1 -1
  357. package/lib/network/metadata.js +1 -6
  358. package/lib/network/metadata.js.map +1 -1
  359. package/lib/network/network.d.ts +3 -5
  360. package/lib/network/network.js +76 -92
  361. package/lib/network/network.js.map +1 -1
  362. package/lib/network/options.js +1 -1
  363. package/lib/network/options.js.map +1 -1
  364. package/lib/network/peers/datastore.d.ts +2 -2
  365. package/lib/network/peers/datastore.js +4 -10
  366. package/lib/network/peers/datastore.js.map +1 -1
  367. package/lib/network/peers/discover.js +66 -75
  368. package/lib/network/peers/discover.js.map +1 -1
  369. package/lib/network/peers/peerManager.js +130 -154
  370. package/lib/network/peers/peerManager.js.map +1 -1
  371. package/lib/network/peers/peersData.d.ts +1 -1
  372. package/lib/network/peers/peersData.js +3 -1
  373. package/lib/network/peers/peersData.js.map +1 -1
  374. package/lib/network/peers/score/index.d.ts +1 -1
  375. package/lib/network/peers/score/index.js +1 -1
  376. package/lib/network/peers/score/index.js.map +1 -1
  377. package/lib/network/peers/score/score.js +0 -6
  378. package/lib/network/peers/score/score.js.map +1 -1
  379. package/lib/network/peers/score/store.js +0 -3
  380. package/lib/network/peers/score/store.js.map +1 -1
  381. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  382. package/lib/network/peers/utils/subnetMap.js +4 -2
  383. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  384. package/lib/network/processor/aggregatorTracker.js +3 -1
  385. package/lib/network/processor/aggregatorTracker.js.map +1 -1
  386. package/lib/network/processor/gossipHandlers.js +164 -145
  387. package/lib/network/processor/gossipHandlers.js.map +1 -1
  388. package/lib/network/processor/gossipQueues/indexed.js +9 -11
  389. package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
  390. package/lib/network/processor/gossipQueues/linear.js +8 -9
  391. package/lib/network/processor/gossipQueues/linear.js.map +1 -1
  392. package/lib/network/processor/index.d.ts +1 -2
  393. package/lib/network/processor/index.js +8 -21
  394. package/lib/network/processor/index.js.map +1 -1
  395. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +1 -1
  396. package/lib/network/reqresp/ReqRespBeaconNode.js +2 -11
  397. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  398. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +28 -0
  399. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +328 -0
  400. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -0
  401. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +49 -0
  402. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +499 -0
  403. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -0
  404. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  405. package/lib/network/reqresp/index.d.ts +3 -1
  406. package/lib/network/reqresp/index.js +3 -1
  407. package/lib/network/reqresp/index.js.map +1 -1
  408. package/lib/network/reqresp/rateLimit.js +2 -2
  409. package/lib/network/reqresp/rateLimit.js.map +1 -1
  410. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  411. package/lib/network/statusCache.js +0 -1
  412. package/lib/network/statusCache.js.map +1 -1
  413. package/lib/network/subnets/attnetsService.js +65 -73
  414. package/lib/network/subnets/attnetsService.js.map +1 -1
  415. package/lib/network/subnets/interface.js +1 -1
  416. package/lib/network/subnets/interface.js.map +1 -1
  417. package/lib/network/subnets/syncnetsService.js +22 -29
  418. package/lib/network/subnets/syncnetsService.js.map +1 -1
  419. package/lib/network/subnets/util.js +2 -1
  420. package/lib/network/subnets/util.js.map +1 -1
  421. package/lib/node/nodejs.d.ts +1 -1
  422. package/lib/node/nodejs.js +0 -15
  423. package/lib/node/nodejs.js.map +1 -1
  424. package/lib/node/notifier.js +2 -1
  425. package/lib/node/notifier.js.map +1 -1
  426. package/lib/node/options.js.map +1 -1
  427. package/lib/node/utils/interop/state.js +2 -1
  428. package/lib/node/utils/interop/state.js.map +1 -1
  429. package/lib/sync/backfill/backfill.d.ts +1 -1
  430. package/lib/sync/backfill/backfill.js +16 -58
  431. package/lib/sync/backfill/backfill.js.map +1 -1
  432. package/lib/sync/constants.d.ts +1 -2
  433. package/lib/sync/constants.js +1 -2
  434. package/lib/sync/constants.js.map +1 -1
  435. package/lib/sync/interface.d.ts +59 -1
  436. package/lib/sync/interface.js +20 -0
  437. package/lib/sync/interface.js.map +1 -1
  438. package/lib/sync/options.d.ts +1 -1
  439. package/lib/sync/range/batch.d.ts +32 -48
  440. package/lib/sync/range/batch.js +55 -201
  441. package/lib/sync/range/batch.js.map +1 -1
  442. package/lib/sync/range/chain.d.ts +10 -15
  443. package/lib/sync/range/chain.js +70 -141
  444. package/lib/sync/range/chain.js.map +1 -1
  445. package/lib/sync/range/range.d.ts +3 -3
  446. package/lib/sync/range/range.js +54 -86
  447. package/lib/sync/range/range.js.map +1 -1
  448. package/lib/sync/range/utils/hashBlocks.d.ts +2 -2
  449. package/lib/sync/range/utils/hashBlocks.js +4 -6
  450. package/lib/sync/range/utils/hashBlocks.js.map +1 -1
  451. package/lib/sync/range/utils/peerBalancer.js +13 -18
  452. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  453. package/lib/sync/sync.d.ts +2 -1
  454. package/lib/sync/sync.js +87 -95
  455. package/lib/sync/sync.js.map +1 -1
  456. package/lib/sync/unknownBlock.d.ts +29 -42
  457. package/lib/sync/unknownBlock.js +461 -405
  458. package/lib/sync/unknownBlock.js.map +1 -1
  459. package/lib/sync/utils/pendingBlocksTree.d.ts +6 -14
  460. package/lib/sync/utils/pendingBlocksTree.js +18 -24
  461. package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
  462. package/lib/util/array.js +3 -7
  463. package/lib/util/array.js.map +1 -1
  464. package/lib/util/asyncIterableToEvents.js +3 -6
  465. package/lib/util/asyncIterableToEvents.js.map +1 -1
  466. package/lib/util/binarySearch.js +0 -2
  467. package/lib/util/binarySearch.js.map +1 -1
  468. package/lib/util/blobs.d.ts +2 -2
  469. package/lib/util/blobs.js +7 -9
  470. package/lib/util/blobs.js.map +1 -1
  471. package/lib/util/bufferPool.js +2 -7
  472. package/lib/util/bufferPool.js.map +1 -1
  473. package/lib/util/clock.d.ts +1 -6
  474. package/lib/util/clock.js +18 -26
  475. package/lib/util/clock.js.map +1 -1
  476. package/lib/util/dataColumns.d.ts +10 -13
  477. package/lib/util/dataColumns.js +132 -90
  478. package/lib/util/dataColumns.js.map +1 -1
  479. package/lib/util/itTrigger.js +4 -4
  480. package/lib/util/itTrigger.js.map +1 -1
  481. package/lib/util/map.js +0 -2
  482. package/lib/util/map.js.map +1 -1
  483. package/lib/util/queue/index.d.ts +1 -1
  484. package/lib/util/queue/index.js +1 -1
  485. package/lib/util/queue/index.js.map +1 -1
  486. package/lib/util/queue/itemQueue.js +49 -52
  487. package/lib/util/queue/itemQueue.js.map +1 -1
  488. package/lib/util/serializedCache.js +3 -1
  489. package/lib/util/serializedCache.js.map +1 -1
  490. package/lib/util/set.js +0 -2
  491. package/lib/util/set.js.map +1 -1
  492. package/lib/util/sszBytes.d.ts +0 -1
  493. package/lib/util/sszBytes.js +1 -1
  494. package/lib/util/sszBytes.js.map +1 -1
  495. package/lib/util/timeSeries.js +1 -3
  496. package/lib/util/timeSeries.js.map +1 -1
  497. package/lib/util/types.d.ts +1 -1
  498. package/lib/util/wrapError.d.ts +0 -7
  499. package/package.json +23 -39
  500. package/lib/api/impl/api.d.ts.map +0 -1
  501. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  502. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  503. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  504. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  505. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  506. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  507. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  508. package/lib/api/impl/config/constants.d.ts.map +0 -1
  509. package/lib/api/impl/config/index.d.ts.map +0 -1
  510. package/lib/api/impl/debug/index.d.ts.map +0 -1
  511. package/lib/api/impl/errors.d.ts.map +0 -1
  512. package/lib/api/impl/events/index.d.ts.map +0 -1
  513. package/lib/api/impl/index.d.ts.map +0 -1
  514. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  515. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  516. package/lib/api/impl/node/index.d.ts.map +0 -1
  517. package/lib/api/impl/node/utils.d.ts.map +0 -1
  518. package/lib/api/impl/proof/index.d.ts.map +0 -1
  519. package/lib/api/impl/types.d.ts.map +0 -1
  520. package/lib/api/impl/utils.d.ts.map +0 -1
  521. package/lib/api/impl/validator/index.d.ts.map +0 -1
  522. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  523. package/lib/api/index.d.ts.map +0 -1
  524. package/lib/api/options.d.ts.map +0 -1
  525. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  526. package/lib/api/rest/base.d.ts.map +0 -1
  527. package/lib/api/rest/index.d.ts.map +0 -1
  528. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  529. package/lib/bun-wrappers/prometheus-gc-stats.d.ts +0 -2
  530. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  531. package/lib/bun-wrappers/prometheus-gc-stats.js +0 -8
  532. package/lib/bun-wrappers/prometheus-gc-stats.js.map +0 -1
  533. package/lib/chain/ColumnReconstructionTracker.d.ts +0 -32
  534. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  535. package/lib/chain/ColumnReconstructionTracker.js +0 -71
  536. package/lib/chain/ColumnReconstructionTracker.js.map +0 -1
  537. package/lib/chain/GetBlobsTracker.d.ts +0 -31
  538. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  539. package/lib/chain/GetBlobsTracker.js +0 -82
  540. package/lib/chain/GetBlobsTracker.js.map +0 -1
  541. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  542. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  543. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  544. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  545. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  546. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  547. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  548. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  549. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  550. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  551. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  552. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  553. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  554. package/lib/chain/balancesCache.d.ts.map +0 -1
  555. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  556. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  557. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  558. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  559. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  560. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  561. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  562. package/lib/chain/blocks/index.d.ts.map +0 -1
  563. package/lib/chain/blocks/types.d.ts.map +0 -1
  564. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  565. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  566. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  567. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  568. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  569. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  570. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  571. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  572. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  573. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  574. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  575. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  576. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  577. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  578. package/lib/chain/bls/index.d.ts.map +0 -1
  579. package/lib/chain/bls/interface.d.ts.map +0 -1
  580. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  581. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  582. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  583. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  584. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  585. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  586. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  587. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  588. package/lib/chain/bls/utils.d.ts.map +0 -1
  589. package/lib/chain/chain.d.ts.map +0 -1
  590. package/lib/chain/emitter.d.ts.map +0 -1
  591. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  592. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  593. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  594. package/lib/chain/errors/blockError.d.ts.map +0 -1
  595. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  596. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  597. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  598. package/lib/chain/errors/index.d.ts.map +0 -1
  599. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  600. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  601. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  602. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  603. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  604. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  605. package/lib/chain/genesis/interface.d.ts.map +0 -1
  606. package/lib/chain/index.d.ts.map +0 -1
  607. package/lib/chain/initState.d.ts.map +0 -1
  608. package/lib/chain/interface.d.ts.map +0 -1
  609. package/lib/chain/lightClient/index.d.ts.map +0 -1
  610. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  611. package/lib/chain/lightClient/types.d.ts.map +0 -1
  612. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  613. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  614. package/lib/chain/opPools/index.d.ts.map +0 -1
  615. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  616. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  617. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  618. package/lib/chain/opPools/types.d.ts.map +0 -1
  619. package/lib/chain/opPools/utils.d.ts.map +0 -1
  620. package/lib/chain/options.d.ts.map +0 -1
  621. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  622. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  623. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  624. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  625. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  626. package/lib/chain/regen/errors.d.ts.map +0 -1
  627. package/lib/chain/regen/index.d.ts.map +0 -1
  628. package/lib/chain/regen/interface.d.ts.map +0 -1
  629. package/lib/chain/regen/queued.d.ts.map +0 -1
  630. package/lib/chain/regen/regen.d.ts.map +0 -1
  631. package/lib/chain/reprocess.d.ts.map +0 -1
  632. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  633. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  634. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  635. package/lib/chain/seenCache/index.d.ts.map +0 -1
  636. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  637. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  638. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  639. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  640. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  641. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  642. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  643. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  644. package/lib/chain/serializeState.d.ts.map +0 -1
  645. package/lib/chain/shufflingCache.d.ts.map +0 -1
  646. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  647. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  648. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  649. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  650. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  651. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  652. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  653. package/lib/chain/stateCache/index.d.ts.map +0 -1
  654. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  655. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  656. package/lib/chain/stateCache/types.d.ts.map +0 -1
  657. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  658. package/lib/chain/validation/attestation.d.ts.map +0 -1
  659. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  660. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  661. package/lib/chain/validation/block.d.ts.map +0 -1
  662. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  663. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  664. package/lib/chain/validation/index.d.ts.map +0 -1
  665. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  666. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  667. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  668. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  669. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  670. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  671. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  672. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  673. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  674. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  675. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  676. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  677. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  678. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  679. package/lib/constants/constants.d.ts.map +0 -1
  680. package/lib/constants/index.d.ts.map +0 -1
  681. package/lib/constants/network.d.ts.map +0 -1
  682. package/lib/db/beacon.d.ts.map +0 -1
  683. package/lib/db/buckets.d.ts.map +0 -1
  684. package/lib/db/index.d.ts.map +0 -1
  685. package/lib/db/interface.d.ts.map +0 -1
  686. package/lib/db/options.d.ts.map +0 -1
  687. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  688. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  689. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  690. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  691. package/lib/db/repositories/block.d.ts.map +0 -1
  692. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  693. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  694. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  695. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  696. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  697. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  698. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  699. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  700. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  701. package/lib/db/repositories/index.d.ts.map +0 -1
  702. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  703. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  704. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  705. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  706. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  707. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  708. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  709. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  710. package/lib/db/single/index.d.ts.map +0 -1
  711. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  712. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  713. package/lib/eth1/errors.d.ts.map +0 -1
  714. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  715. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  716. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  717. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  718. package/lib/eth1/index.d.ts.map +0 -1
  719. package/lib/eth1/interface.d.ts.map +0 -1
  720. package/lib/eth1/options.d.ts.map +0 -1
  721. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  722. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  723. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  724. package/lib/eth1/provider/utils.d.ts.map +0 -1
  725. package/lib/eth1/stream.d.ts.map +0 -1
  726. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  727. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  728. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  729. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  730. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  731. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  732. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  733. package/lib/execution/builder/cache.d.ts.map +0 -1
  734. package/lib/execution/builder/http.d.ts.map +0 -1
  735. package/lib/execution/builder/index.d.ts.map +0 -1
  736. package/lib/execution/builder/interface.d.ts.map +0 -1
  737. package/lib/execution/builder/utils.d.ts.map +0 -1
  738. package/lib/execution/engine/disabled.d.ts.map +0 -1
  739. package/lib/execution/engine/http.d.ts.map +0 -1
  740. package/lib/execution/engine/index.d.ts.map +0 -1
  741. package/lib/execution/engine/interface.d.ts.map +0 -1
  742. package/lib/execution/engine/mock.d.ts.map +0 -1
  743. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  744. package/lib/execution/engine/types.d.ts.map +0 -1
  745. package/lib/execution/engine/utils.d.ts.map +0 -1
  746. package/lib/execution/index.d.ts.map +0 -1
  747. package/lib/index.d.ts.map +0 -1
  748. package/lib/metrics/index.d.ts.map +0 -1
  749. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  750. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  751. package/lib/metrics/metrics.d.ts.map +0 -1
  752. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  753. package/lib/metrics/options.d.ts.map +0 -1
  754. package/lib/metrics/server/http.d.ts.map +0 -1
  755. package/lib/metrics/server/index.d.ts.map +0 -1
  756. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  757. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  758. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  759. package/lib/monitoring/clientStats.d.ts.map +0 -1
  760. package/lib/monitoring/index.d.ts.map +0 -1
  761. package/lib/monitoring/options.d.ts.map +0 -1
  762. package/lib/monitoring/properties.d.ts.map +0 -1
  763. package/lib/monitoring/service.d.ts.map +0 -1
  764. package/lib/monitoring/system.d.ts.map +0 -1
  765. package/lib/monitoring/types.d.ts.map +0 -1
  766. package/lib/network/core/events.d.ts.map +0 -1
  767. package/lib/network/core/index.d.ts.map +0 -1
  768. package/lib/network/core/metrics.d.ts.map +0 -1
  769. package/lib/network/core/networkCore.d.ts.map +0 -1
  770. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  771. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  772. package/lib/network/core/types.d.ts.map +0 -1
  773. package/lib/network/discv5/index.d.ts.map +0 -1
  774. package/lib/network/discv5/types.d.ts.map +0 -1
  775. package/lib/network/discv5/utils.d.ts.map +0 -1
  776. package/lib/network/discv5/worker.d.ts.map +0 -1
  777. package/lib/network/events.d.ts.map +0 -1
  778. package/lib/network/forks.d.ts.map +0 -1
  779. package/lib/network/gossip/constants.d.ts.map +0 -1
  780. package/lib/network/gossip/encoding.d.ts.map +0 -1
  781. package/lib/network/gossip/errors.d.ts.map +0 -1
  782. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  783. package/lib/network/gossip/index.d.ts.map +0 -1
  784. package/lib/network/gossip/interface.d.ts.map +0 -1
  785. package/lib/network/gossip/metrics.d.ts.map +0 -1
  786. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  787. package/lib/network/gossip/topic.d.ts.map +0 -1
  788. package/lib/network/index.d.ts.map +0 -1
  789. package/lib/network/interface.d.ts.map +0 -1
  790. package/lib/network/libp2p/error.d.ts.map +0 -1
  791. package/lib/network/libp2p/index.d.ts.map +0 -1
  792. package/lib/network/metadata.d.ts.map +0 -1
  793. package/lib/network/network.d.ts.map +0 -1
  794. package/lib/network/networkConfig.d.ts.map +0 -1
  795. package/lib/network/options.d.ts.map +0 -1
  796. package/lib/network/peers/client.d.ts.map +0 -1
  797. package/lib/network/peers/datastore.d.ts.map +0 -1
  798. package/lib/network/peers/discover.d.ts.map +0 -1
  799. package/lib/network/peers/index.d.ts.map +0 -1
  800. package/lib/network/peers/peerManager.d.ts.map +0 -1
  801. package/lib/network/peers/peersData.d.ts.map +0 -1
  802. package/lib/network/peers/score/constants.d.ts.map +0 -1
  803. package/lib/network/peers/score/index.d.ts.map +0 -1
  804. package/lib/network/peers/score/interface.d.ts.map +0 -1
  805. package/lib/network/peers/score/score.d.ts.map +0 -1
  806. package/lib/network/peers/score/store.d.ts.map +0 -1
  807. package/lib/network/peers/score/utils.d.ts.map +0 -1
  808. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  809. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  810. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  811. package/lib/network/peers/utils/index.d.ts.map +0 -1
  812. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  813. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  814. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  815. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  816. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  817. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  818. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  819. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  820. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  821. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  822. package/lib/network/processor/index.d.ts.map +0 -1
  823. package/lib/network/processor/types.d.ts.map +0 -1
  824. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  825. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  826. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  827. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  828. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  829. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  830. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  831. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  832. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  833. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  834. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  835. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  836. package/lib/network/reqresp/index.d.ts.map +0 -1
  837. package/lib/network/reqresp/interface.d.ts.map +0 -1
  838. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  839. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  840. package/lib/network/reqresp/score.d.ts.map +0 -1
  841. package/lib/network/reqresp/types.d.ts.map +0 -1
  842. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  843. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  844. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  845. package/lib/network/statusCache.d.ts.map +0 -1
  846. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  847. package/lib/network/subnets/index.d.ts.map +0 -1
  848. package/lib/network/subnets/interface.d.ts.map +0 -1
  849. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  850. package/lib/network/subnets/util.d.ts.map +0 -1
  851. package/lib/network/util.d.ts.map +0 -1
  852. package/lib/node/index.d.ts.map +0 -1
  853. package/lib/node/nodejs.d.ts.map +0 -1
  854. package/lib/node/notifier.d.ts.map +0 -1
  855. package/lib/node/options.d.ts.map +0 -1
  856. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  857. package/lib/node/utils/interop/state.d.ts.map +0 -1
  858. package/lib/node/utils/lightclient.d.ts.map +0 -1
  859. package/lib/node/utils/state.d.ts.map +0 -1
  860. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  861. package/lib/sync/backfill/errors.d.ts.map +0 -1
  862. package/lib/sync/backfill/index.d.ts.map +0 -1
  863. package/lib/sync/backfill/verify.d.ts.map +0 -1
  864. package/lib/sync/constants.d.ts.map +0 -1
  865. package/lib/sync/index.d.ts.map +0 -1
  866. package/lib/sync/interface.d.ts.map +0 -1
  867. package/lib/sync/options.d.ts.map +0 -1
  868. package/lib/sync/range/batch.d.ts.map +0 -1
  869. package/lib/sync/range/chain.d.ts.map +0 -1
  870. package/lib/sync/range/range.d.ts.map +0 -1
  871. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  872. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  873. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  874. package/lib/sync/range/utils/index.d.ts.map +0 -1
  875. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  876. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  877. package/lib/sync/sync.d.ts.map +0 -1
  878. package/lib/sync/types.d.ts +0 -43
  879. package/lib/sync/types.d.ts.map +0 -1
  880. package/lib/sync/types.js +0 -34
  881. package/lib/sync/types.js.map +0 -1
  882. package/lib/sync/unknownBlock.d.ts.map +0 -1
  883. package/lib/sync/utils/downloadByRange.d.ts +0 -186
  884. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  885. package/lib/sync/utils/downloadByRange.js +0 -457
  886. package/lib/sync/utils/downloadByRange.js.map +0 -1
  887. package/lib/sync/utils/downloadByRoot.d.ts +0 -121
  888. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  889. package/lib/sync/utils/downloadByRoot.js +0 -346
  890. package/lib/sync/utils/downloadByRoot.js.map +0 -1
  891. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  892. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  893. package/lib/util/address.d.ts.map +0 -1
  894. package/lib/util/array.d.ts.map +0 -1
  895. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  896. package/lib/util/binarySearch.d.ts.map +0 -1
  897. package/lib/util/bitArray.d.ts.map +0 -1
  898. package/lib/util/blobs.d.ts.map +0 -1
  899. package/lib/util/bufferPool.d.ts.map +0 -1
  900. package/lib/util/bytes.d.ts.map +0 -1
  901. package/lib/util/chunkify.d.ts.map +0 -1
  902. package/lib/util/clock.d.ts.map +0 -1
  903. package/lib/util/dataColumns.d.ts.map +0 -1
  904. package/lib/util/dependentRoot.d.ts.map +0 -1
  905. package/lib/util/enum.d.ts.map +0 -1
  906. package/lib/util/error.d.ts.map +0 -1
  907. package/lib/util/eventLoop.d.ts.map +0 -1
  908. package/lib/util/execution.d.ts +0 -20
  909. package/lib/util/execution.d.ts.map +0 -1
  910. package/lib/util/execution.js +0 -165
  911. package/lib/util/execution.js.map +0 -1
  912. package/lib/util/file.d.ts.map +0 -1
  913. package/lib/util/forkChoice.d.ts.map +0 -1
  914. package/lib/util/forkName.d.ts.map +0 -1
  915. package/lib/util/graffiti.d.ts.map +0 -1
  916. package/lib/util/hex.d.ts.map +0 -1
  917. package/lib/util/index.d.ts.map +0 -1
  918. package/lib/util/ip.d.ts.map +0 -1
  919. package/lib/util/itTrigger.d.ts.map +0 -1
  920. package/lib/util/kzg.d.ts.map +0 -1
  921. package/lib/util/map.d.ts.map +0 -1
  922. package/lib/util/metadata.d.ts.map +0 -1
  923. package/lib/util/multifork.d.ts.map +0 -1
  924. package/lib/util/numpy.d.ts.map +0 -1
  925. package/lib/util/peerId.d.ts.map +0 -1
  926. package/lib/util/profile.d.ts.map +0 -1
  927. package/lib/util/promises.d.ts.map +0 -1
  928. package/lib/util/queue/errors.d.ts.map +0 -1
  929. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  930. package/lib/util/queue/index.d.ts.map +0 -1
  931. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  932. package/lib/util/queue/options.d.ts.map +0 -1
  933. package/lib/util/serializedCache.d.ts.map +0 -1
  934. package/lib/util/set.d.ts.map +0 -1
  935. package/lib/util/shuffle.d.ts.map +0 -1
  936. package/lib/util/sortBy.d.ts.map +0 -1
  937. package/lib/util/sszBytes.d.ts.map +0 -1
  938. package/lib/util/strictEvents.d.ts.map +0 -1
  939. package/lib/util/time.d.ts.map +0 -1
  940. package/lib/util/timeSeries.d.ts.map +0 -1
  941. package/lib/util/types.d.ts.map +0 -1
  942. package/lib/util/workerEvents.d.ts.map +0 -1
  943. package/lib/util/wrapError.d.ts.map +0 -1
  944. package/src/api/impl/api.ts +0 -26
  945. package/src/api/impl/beacon/blocks/index.ts +0 -744
  946. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  947. package/src/api/impl/beacon/index.ts +0 -35
  948. package/src/api/impl/beacon/pool/index.ts +0 -314
  949. package/src/api/impl/beacon/rewards/index.ts +0 -30
  950. package/src/api/impl/beacon/state/index.ts +0 -406
  951. package/src/api/impl/beacon/state/utils.ts +0 -189
  952. package/src/api/impl/config/constants.ts +0 -127
  953. package/src/api/impl/config/index.ts +0 -59
  954. package/src/api/impl/debug/index.ts +0 -131
  955. package/src/api/impl/errors.ts +0 -50
  956. package/src/api/impl/events/index.ts +0 -33
  957. package/src/api/impl/index.ts +0 -6
  958. package/src/api/impl/lightclient/index.ts +0 -64
  959. package/src/api/impl/lodestar/index.ts +0 -257
  960. package/src/api/impl/node/index.ts +0 -88
  961. package/src/api/impl/node/utils.ts +0 -51
  962. package/src/api/impl/proof/index.ts +0 -60
  963. package/src/api/impl/types.ts +0 -17
  964. package/src/api/impl/utils.ts +0 -25
  965. package/src/api/impl/validator/index.ts +0 -1540
  966. package/src/api/impl/validator/utils.ts +0 -85
  967. package/src/api/index.ts +0 -2
  968. package/src/api/options.ts +0 -16
  969. package/src/api/rest/activeSockets.ts +0 -109
  970. package/src/api/rest/base.ts +0 -216
  971. package/src/api/rest/index.ts +0 -63
  972. package/src/api/rest/swaggerUI.ts +0 -80
  973. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  974. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  975. package/src/chain/GetBlobsTracker.ts +0 -115
  976. package/src/chain/archiveStore/archiveStore.ts +0 -222
  977. package/src/chain/archiveStore/constants.ts +0 -5
  978. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  979. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  980. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  981. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  982. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  983. package/src/chain/archiveStore/index.ts +0 -3
  984. package/src/chain/archiveStore/interface.ts +0 -75
  985. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  986. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  987. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  988. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  989. package/src/chain/balancesCache.ts +0 -52
  990. package/src/chain/beaconProposerCache.ts +0 -43
  991. package/src/chain/blocks/blockInput/blockInput.ts +0 -852
  992. package/src/chain/blocks/blockInput/errors.ts +0 -48
  993. package/src/chain/blocks/blockInput/index.ts +0 -4
  994. package/src/chain/blocks/blockInput/types.ts +0 -145
  995. package/src/chain/blocks/blockInput/utils.ts +0 -21
  996. package/src/chain/blocks/importBlock.ts +0 -597
  997. package/src/chain/blocks/index.ts +0 -179
  998. package/src/chain/blocks/types.ts +0 -101
  999. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  1000. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  1001. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  1002. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  1003. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  1004. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  1005. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  1006. package/src/chain/blocks/verifyBlock.ts +0 -242
  1007. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -42
  1008. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  1009. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  1010. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  1011. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  1012. package/src/chain/blocks/writeBlockInputToDb.ts +0 -120
  1013. package/src/chain/bls/index.ts +0 -4
  1014. package/src/chain/bls/interface.ts +0 -68
  1015. package/src/chain/bls/maybeBatch.ts +0 -45
  1016. package/src/chain/bls/multithread/index.ts +0 -582
  1017. package/src/chain/bls/multithread/jobItem.ts +0 -119
  1018. package/src/chain/bls/multithread/poolSize.ts +0 -16
  1019. package/src/chain/bls/multithread/types.ts +0 -38
  1020. package/src/chain/bls/multithread/utils.ts +0 -19
  1021. package/src/chain/bls/multithread/worker.ts +0 -114
  1022. package/src/chain/bls/singleThread.ts +0 -87
  1023. package/src/chain/bls/utils.ts +0 -30
  1024. package/src/chain/chain.ts +0 -1354
  1025. package/src/chain/emitter.ts +0 -113
  1026. package/src/chain/errors/attestationError.ts +0 -194
  1027. package/src/chain/errors/attesterSlashingError.ts +0 -11
  1028. package/src/chain/errors/blobSidecarError.ts +0 -60
  1029. package/src/chain/errors/blockError.ts +0 -166
  1030. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  1031. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  1032. package/src/chain/errors/gossipValidation.ts +0 -20
  1033. package/src/chain/errors/index.ts +0 -10
  1034. package/src/chain/errors/lightClientError.ts +0 -30
  1035. package/src/chain/errors/proposerSlashingError.ts +0 -11
  1036. package/src/chain/errors/syncCommitteeError.ts +0 -36
  1037. package/src/chain/errors/voluntaryExitError.ts +0 -13
  1038. package/src/chain/forkChoice/index.ts +0 -112
  1039. package/src/chain/genesis/genesis.ts +0 -190
  1040. package/src/chain/genesis/interface.ts +0 -14
  1041. package/src/chain/index.ts +0 -6
  1042. package/src/chain/initState.ts +0 -221
  1043. package/src/chain/interface.ts +0 -280
  1044. package/src/chain/lightClient/index.ts +0 -764
  1045. package/src/chain/lightClient/proofs.ts +0 -85
  1046. package/src/chain/lightClient/types.ts +0 -33
  1047. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  1048. package/src/chain/opPools/attestationPool.ts +0 -282
  1049. package/src/chain/opPools/index.ts +0 -5
  1050. package/src/chain/opPools/opPool.ts +0 -462
  1051. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -169
  1052. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  1053. package/src/chain/opPools/types.ts +0 -35
  1054. package/src/chain/opPools/utils.ts +0 -65
  1055. package/src/chain/options.ts +0 -138
  1056. package/src/chain/prepareNextSlot.ts +0 -277
  1057. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  1058. package/src/chain/produceBlock/index.ts +0 -2
  1059. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  1060. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  1061. package/src/chain/regen/errors.ts +0 -30
  1062. package/src/chain/regen/index.ts +0 -4
  1063. package/src/chain/regen/interface.ts +0 -93
  1064. package/src/chain/regen/queued.ts +0 -317
  1065. package/src/chain/regen/regen.ts +0 -424
  1066. package/src/chain/reprocess.ts +0 -161
  1067. package/src/chain/rewards/attestationsRewards.ts +0 -196
  1068. package/src/chain/rewards/blockRewards.ts +0 -150
  1069. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  1070. package/src/chain/seenCache/index.ts +0 -5
  1071. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  1072. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  1073. package/src/chain/seenCache/seenAttesters.ts +0 -58
  1074. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  1075. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  1076. package/src/chain/seenCache/seenCommittee.ts +0 -43
  1077. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  1078. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  1079. package/src/chain/serializeState.ts +0 -32
  1080. package/src/chain/shufflingCache.ts +0 -238
  1081. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  1082. package/src/chain/stateCache/datastore/db.ts +0 -36
  1083. package/src/chain/stateCache/datastore/file.ts +0 -53
  1084. package/src/chain/stateCache/datastore/index.ts +0 -2
  1085. package/src/chain/stateCache/datastore/types.ts +0 -13
  1086. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  1087. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  1088. package/src/chain/stateCache/index.ts +0 -3
  1089. package/src/chain/stateCache/mapMetrics.ts +0 -52
  1090. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -837
  1091. package/src/chain/stateCache/types.ts +0 -86
  1092. package/src/chain/validation/aggregateAndProof.ts +0 -258
  1093. package/src/chain/validation/attestation.ts +0 -885
  1094. package/src/chain/validation/attesterSlashing.ts +0 -61
  1095. package/src/chain/validation/blobSidecar.ts +0 -301
  1096. package/src/chain/validation/block.ts +0 -188
  1097. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  1098. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  1099. package/src/chain/validation/index.ts +0 -9
  1100. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -46
  1101. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -68
  1102. package/src/chain/validation/proposerSlashing.ts +0 -54
  1103. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  1104. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  1105. package/src/chain/validation/signatureSets/index.ts +0 -6
  1106. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  1107. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  1108. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  1109. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  1110. package/src/chain/validation/syncCommittee.ts +0 -165
  1111. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  1112. package/src/chain/validation/voluntaryExit.ts +0 -58
  1113. package/src/chain/validatorMonitor.ts +0 -1309
  1114. package/src/constants/constants.ts +0 -15
  1115. package/src/constants/index.ts +0 -2
  1116. package/src/constants/network.ts +0 -52
  1117. package/src/db/beacon.ts +0 -113
  1118. package/src/db/buckets.ts +0 -80
  1119. package/src/db/index.ts +0 -2
  1120. package/src/db/interface.ts +0 -76
  1121. package/src/db/options.ts +0 -7
  1122. package/src/db/repositories/attesterSlashing.ts +0 -38
  1123. package/src/db/repositories/backfilledRanges.ts +0 -29
  1124. package/src/db/repositories/blobSidecars.ts +0 -37
  1125. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  1126. package/src/db/repositories/block.ts +0 -33
  1127. package/src/db/repositories/blockArchive.ts +0 -170
  1128. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  1129. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  1130. package/src/db/repositories/checkpointState.ts +0 -31
  1131. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  1132. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  1133. package/src/db/repositories/depositDataRoot.ts +0 -80
  1134. package/src/db/repositories/depositEvent.ts +0 -32
  1135. package/src/db/repositories/eth1Data.ts +0 -33
  1136. package/src/db/repositories/index.ts +0 -20
  1137. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  1138. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  1139. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  1140. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  1141. package/src/db/repositories/proposerSlashing.ts +0 -15
  1142. package/src/db/repositories/stateArchive.ts +0 -69
  1143. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  1144. package/src/db/repositories/voluntaryExit.ts +0 -15
  1145. package/src/db/single/index.ts +0 -2
  1146. package/src/db/single/preGenesisState.ts +0 -37
  1147. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  1148. package/src/eth1/errors.ts +0 -40
  1149. package/src/eth1/eth1DataCache.ts +0 -26
  1150. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  1151. package/src/eth1/eth1DepositsCache.ts +0 -141
  1152. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  1153. package/src/eth1/index.ts +0 -157
  1154. package/src/eth1/interface.ts +0 -131
  1155. package/src/eth1/options.ts +0 -28
  1156. package/src/eth1/provider/eth1Provider.ts +0 -229
  1157. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  1158. package/src/eth1/provider/jwt.ts +0 -36
  1159. package/src/eth1/provider/utils.ts +0 -136
  1160. package/src/eth1/stream.ts +0 -75
  1161. package/src/eth1/utils/depositContract.ts +0 -37
  1162. package/src/eth1/utils/deposits.ts +0 -70
  1163. package/src/eth1/utils/eth1Data.ts +0 -100
  1164. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  1165. package/src/eth1/utils/eth1Vote.ts +0 -142
  1166. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  1167. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  1168. package/src/execution/builder/cache.ts +0 -39
  1169. package/src/execution/builder/http.ts +0 -229
  1170. package/src/execution/builder/index.ts +0 -27
  1171. package/src/execution/builder/interface.ts +0 -49
  1172. package/src/execution/builder/utils.ts +0 -19
  1173. package/src/execution/engine/disabled.ts +0 -35
  1174. package/src/execution/engine/http.ts +0 -644
  1175. package/src/execution/engine/index.ts +0 -63
  1176. package/src/execution/engine/interface.ts +0 -199
  1177. package/src/execution/engine/mock.ts +0 -493
  1178. package/src/execution/engine/payloadIdCache.ts +0 -54
  1179. package/src/execution/engine/types.ts +0 -640
  1180. package/src/execution/engine/utils.ts +0 -136
  1181. package/src/execution/index.ts +0 -4
  1182. package/src/index.ts +0 -20
  1183. package/src/metrics/index.ts +0 -4
  1184. package/src/metrics/metrics/beacon.ts +0 -390
  1185. package/src/metrics/metrics/lodestar.ts +0 -1870
  1186. package/src/metrics/metrics.ts +0 -43
  1187. package/src/metrics/nodeJsMetrics.ts +0 -19
  1188. package/src/metrics/options.ts +0 -22
  1189. package/src/metrics/server/http.ts +0 -114
  1190. package/src/metrics/server/index.ts +0 -1
  1191. package/src/metrics/utils/avgMinMax.ts +0 -87
  1192. package/src/metrics/utils/gauge.ts +0 -22
  1193. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  1194. package/src/monitoring/clientStats.ts +0 -297
  1195. package/src/monitoring/index.ts +0 -2
  1196. package/src/monitoring/options.ts +0 -19
  1197. package/src/monitoring/properties.ts +0 -152
  1198. package/src/monitoring/service.ts +0 -235
  1199. package/src/monitoring/system.ts +0 -146
  1200. package/src/monitoring/types.ts +0 -21
  1201. package/src/network/core/events.ts +0 -59
  1202. package/src/network/core/index.ts +0 -3
  1203. package/src/network/core/metrics.ts +0 -304
  1204. package/src/network/core/networkCore.ts +0 -599
  1205. package/src/network/core/networkCoreWorker.ts +0 -176
  1206. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  1207. package/src/network/core/types.ts +0 -119
  1208. package/src/network/discv5/index.ts +0 -132
  1209. package/src/network/discv5/types.ts +0 -74
  1210. package/src/network/discv5/utils.ts +0 -50
  1211. package/src/network/discv5/worker.ts +0 -137
  1212. package/src/network/events.ts +0 -51
  1213. package/src/network/forks.ts +0 -94
  1214. package/src/network/gossip/constants.ts +0 -15
  1215. package/src/network/gossip/encoding.ts +0 -111
  1216. package/src/network/gossip/errors.ts +0 -7
  1217. package/src/network/gossip/gossipsub.ts +0 -384
  1218. package/src/network/gossip/index.ts +0 -4
  1219. package/src/network/gossip/interface.ts +0 -215
  1220. package/src/network/gossip/metrics.ts +0 -71
  1221. package/src/network/gossip/scoringParameters.ts +0 -333
  1222. package/src/network/gossip/topic.ts +0 -332
  1223. package/src/network/index.ts +0 -8
  1224. package/src/network/interface.ts +0 -134
  1225. package/src/network/libp2p/error.ts +0 -55
  1226. package/src/network/libp2p/index.ts +0 -153
  1227. package/src/network/metadata.ts +0 -162
  1228. package/src/network/network.ts +0 -767
  1229. package/src/network/networkConfig.ts +0 -12
  1230. package/src/network/options.ts +0 -70
  1231. package/src/network/peers/client.ts +0 -29
  1232. package/src/network/peers/datastore.ts +0 -188
  1233. package/src/network/peers/discover.ts +0 -647
  1234. package/src/network/peers/index.ts +0 -2
  1235. package/src/network/peers/peerManager.ts +0 -899
  1236. package/src/network/peers/peersData.ts +0 -65
  1237. package/src/network/peers/score/constants.ts +0 -34
  1238. package/src/network/peers/score/index.ts +0 -4
  1239. package/src/network/peers/score/interface.ts +0 -74
  1240. package/src/network/peers/score/score.ts +0 -200
  1241. package/src/network/peers/score/store.ts +0 -95
  1242. package/src/network/peers/score/utils.ts +0 -37
  1243. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  1244. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  1245. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  1246. package/src/network/peers/utils/index.ts +0 -4
  1247. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  1248. package/src/network/peers/utils/subnetMap.ts +0 -88
  1249. package/src/network/processor/aggregatorTracker.ts +0 -38
  1250. package/src/network/processor/extractSlotRootFns.ts +0 -64
  1251. package/src/network/processor/gossipHandlers.ts +0 -951
  1252. package/src/network/processor/gossipQueues/index.ts +0 -114
  1253. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  1254. package/src/network/processor/gossipQueues/linear.ts +0 -162
  1255. package/src/network/processor/gossipQueues/types.ts +0 -57
  1256. package/src/network/processor/gossipValidatorFn.ts +0 -142
  1257. package/src/network/processor/index.ts +0 -496
  1258. package/src/network/processor/types.ts +0 -27
  1259. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  1260. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  1261. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  1262. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  1263. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  1264. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  1265. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  1266. package/src/network/reqresp/handlers/index.ts +0 -78
  1267. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  1268. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  1269. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  1270. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  1271. package/src/network/reqresp/index.ts +0 -2
  1272. package/src/network/reqresp/interface.ts +0 -45
  1273. package/src/network/reqresp/protocols.ts +0 -146
  1274. package/src/network/reqresp/rateLimit.ts +0 -112
  1275. package/src/network/reqresp/score.ts +0 -70
  1276. package/src/network/reqresp/types.ts +0 -174
  1277. package/src/network/reqresp/utils/collect.ts +0 -84
  1278. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  1279. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  1280. package/src/network/statusCache.ts +0 -17
  1281. package/src/network/subnets/attnetsService.ts +0 -385
  1282. package/src/network/subnets/index.ts +0 -2
  1283. package/src/network/subnets/interface.ts +0 -66
  1284. package/src/network/subnets/syncnetsService.ts +0 -147
  1285. package/src/network/subnets/util.ts +0 -63
  1286. package/src/network/util.ts +0 -29
  1287. package/src/node/index.ts +0 -2
  1288. package/src/node/nodejs.ts +0 -349
  1289. package/src/node/notifier.ts +0 -206
  1290. package/src/node/options.ts +0 -51
  1291. package/src/node/utils/interop/deposits.ts +0 -53
  1292. package/src/node/utils/interop/state.ts +0 -59
  1293. package/src/node/utils/lightclient.ts +0 -7
  1294. package/src/node/utils/state.ts +0 -37
  1295. package/src/sync/backfill/backfill.ts +0 -893
  1296. package/src/sync/backfill/errors.ts +0 -23
  1297. package/src/sync/backfill/index.ts +0 -1
  1298. package/src/sync/backfill/verify.ts +0 -58
  1299. package/src/sync/constants.ts +0 -71
  1300. package/src/sync/index.ts +0 -2
  1301. package/src/sync/interface.ts +0 -55
  1302. package/src/sync/options.ts +0 -45
  1303. package/src/sync/range/batch.ts +0 -455
  1304. package/src/sync/range/chain.ts +0 -715
  1305. package/src/sync/range/range.ts +0 -354
  1306. package/src/sync/range/utils/batches.ts +0 -119
  1307. package/src/sync/range/utils/chainTarget.ts +0 -62
  1308. package/src/sync/range/utils/hashBlocks.ts +0 -27
  1309. package/src/sync/range/utils/index.ts +0 -5
  1310. package/src/sync/range/utils/peerBalancer.ts +0 -184
  1311. package/src/sync/range/utils/updateChains.ts +0 -66
  1312. package/src/sync/sync.ts +0 -290
  1313. package/src/sync/types.ts +0 -57
  1314. package/src/sync/unknownBlock.ts +0 -859
  1315. package/src/sync/utils/downloadByRange.ts +0 -808
  1316. package/src/sync/utils/downloadByRoot.ts +0 -560
  1317. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  1318. package/src/sync/utils/remoteSyncType.ts +0 -144
  1319. package/src/util/address.ts +0 -3
  1320. package/src/util/array.ts +0 -311
  1321. package/src/util/asyncIterableToEvents.ts +0 -164
  1322. package/src/util/binarySearch.ts +0 -48
  1323. package/src/util/bitArray.ts +0 -84
  1324. package/src/util/blobs.ts +0 -210
  1325. package/src/util/bufferPool.ts +0 -95
  1326. package/src/util/bytes.ts +0 -11
  1327. package/src/util/chunkify.ts +0 -27
  1328. package/src/util/clock.ts +0 -212
  1329. package/src/util/dataColumns.ts +0 -415
  1330. package/src/util/dependentRoot.ts +0 -47
  1331. package/src/util/enum.ts +0 -17
  1332. package/src/util/error.ts +0 -56
  1333. package/src/util/eventLoop.ts +0 -22
  1334. package/src/util/execution.ts +0 -223
  1335. package/src/util/file.ts +0 -52
  1336. package/src/util/forkChoice.ts +0 -5
  1337. package/src/util/forkName.ts +0 -20
  1338. package/src/util/graffiti.ts +0 -39
  1339. package/src/util/hex.ts +0 -9
  1340. package/src/util/index.ts +0 -2
  1341. package/src/util/ip.ts +0 -6
  1342. package/src/util/itTrigger.ts +0 -49
  1343. package/src/util/kzg.ts +0 -3
  1344. package/src/util/map.ts +0 -77
  1345. package/src/util/metadata.ts +0 -22
  1346. package/src/util/multifork.ts +0 -69
  1347. package/src/util/numpy.ts +0 -8
  1348. package/src/util/peerId.ts +0 -16
  1349. package/src/util/profile.ts +0 -54
  1350. package/src/util/promises.ts +0 -14
  1351. package/src/util/queue/errors.ts +0 -14
  1352. package/src/util/queue/fnQueue.ts +0 -16
  1353. package/src/util/queue/index.ts +0 -4
  1354. package/src/util/queue/itemQueue.ts +0 -128
  1355. package/src/util/queue/options.ts +0 -37
  1356. package/src/util/serializedCache.ts +0 -20
  1357. package/src/util/set.ts +0 -62
  1358. package/src/util/shuffle.ts +0 -21
  1359. package/src/util/sortBy.ts +0 -19
  1360. package/src/util/sszBytes.ts +0 -481
  1361. package/src/util/strictEvents.ts +0 -8
  1362. package/src/util/time.ts +0 -13
  1363. package/src/util/timeSeries.ts +0 -118
  1364. package/src/util/types.ts +0 -31
  1365. package/src/util/workerEvents.ts +0 -142
  1366. package/src/util/wrapError.ts +0 -27
@@ -1,437 +0,0 @@
1
- import path from "node:path";
2
- import {ChainForkConfig} from "@lodestar/config";
3
- import {KeyValue} from "@lodestar/db";
4
- import {IForkChoice} from "@lodestar/fork-choice";
5
- import {ForkSeq, SLOTS_PER_EPOCH} from "@lodestar/params";
6
- import {computeEpochAtSlot, computeStartSlotAtEpoch} from "@lodestar/state-transition";
7
- import {Epoch, RootHex, Slot} from "@lodestar/types";
8
- import {Logger, fromAsync, fromHex, prettyPrintIndices, toRootHex} from "@lodestar/utils";
9
- import {IBeaconDb} from "../../../db/index.js";
10
- import {BlockArchiveBatchPutBinaryItem} from "../../../db/repositories/index.js";
11
- import {ensureDir, writeIfNotExist} from "../../../util/file.js";
12
- import {BlockRootHex} from "../../../util/sszBytes.js";
13
- import {LightClientServer} from "../../lightClient/index.js";
14
-
15
- // Process in chunks to avoid OOM
16
- // this number of blocks per chunk is tested in e2e test blockArchive.test.ts
17
- // TODO: Review after merge since the size of blocks will increase significantly
18
- const BLOCK_BATCH_SIZE = 256;
19
- const BLOB_SIDECAR_BATCH_SIZE = 32;
20
-
21
- type BlockRootSlot = {slot: Slot; root: Uint8Array};
22
- type CheckpointHex = {epoch: Epoch; rootHex: RootHex};
23
-
24
- /**
25
- * Persist orphaned block to disk
26
- */
27
- async function persistOrphanedBlock(
28
- slot: Slot,
29
- blockRoot: BlockRootHex,
30
- bytes: Uint8Array,
31
- opts: {
32
- persistOrphanedBlocksDir: string;
33
- }
34
- ) {
35
- const dirpath = path.join(opts.persistOrphanedBlocksDir ?? "orphaned_blocks");
36
- const filepath = path.join(dirpath, `${slot}_${blockRoot}.ssz`);
37
- await ensureDir(dirpath);
38
- await writeIfNotExist(filepath, bytes);
39
- }
40
-
41
- /**
42
- * Archives finalized blocks from active bucket to archive bucket.
43
- *
44
- * Only archive blocks on the same chain to the finalized checkpoint.
45
- * Each run should move all finalized blocks to blockArhive db to make it consistent
46
- * to stateArchive, so that the node always work well when we restart.
47
- * Note that the finalized block still stay in forkchoice to check finalize checkpoint of next onBlock calls,
48
- * the next run should not reprocess finalzied block of this run.
49
- */
50
- export async function archiveBlocks(
51
- config: ChainForkConfig,
52
- db: IBeaconDb,
53
- forkChoice: IForkChoice,
54
- lightclientServer: LightClientServer | undefined,
55
- logger: Logger,
56
- finalizedCheckpoint: CheckpointHex,
57
- currentEpoch: Epoch,
58
- archiveDataEpochs?: number,
59
- persistOrphanedBlocks?: boolean,
60
- persistOrphanedBlocksDir?: string
61
- ): Promise<void> {
62
- // Use fork choice to determine the blocks to archive and delete
63
- // getAllAncestorBlocks response includes the finalized block, so it's also moved to the cold db
64
- const {ancestors: finalizedCanonicalBlocks, nonAncestors: finalizedNonCanonicalBlocks} =
65
- forkChoice.getAllAncestorAndNonAncestorBlocks(finalizedCheckpoint.rootHex);
66
-
67
- // NOTE: The finalized block will be exactly the first block of `epoch` or previous
68
- const finalizedPostDeneb = finalizedCheckpoint.epoch >= config.DENEB_FORK_EPOCH;
69
- const finalizedPostFulu = finalizedCheckpoint.epoch >= config.FULU_FORK_EPOCH;
70
-
71
- const finalizedCanonicalBlockRoots: BlockRootSlot[] = finalizedCanonicalBlocks.map((block) => ({
72
- slot: block.slot,
73
- root: fromHex(block.blockRoot),
74
- }));
75
-
76
- if (finalizedCanonicalBlockRoots.length > 0) {
77
- await migrateBlocksFromHotToColdDb(db, finalizedCanonicalBlockRoots);
78
- logger.verbose("Migrated blocks from hot DB to cold DB", {
79
- fromSlot: finalizedCanonicalBlockRoots[0].slot,
80
- toSlot: finalizedCanonicalBlockRoots.at(-1)?.slot,
81
- size: finalizedCanonicalBlockRoots.length,
82
- });
83
-
84
- if (finalizedPostDeneb) {
85
- const migratedEntries = await migrateBlobSidecarsFromHotToColdDb(
86
- config,
87
- db,
88
- finalizedCanonicalBlockRoots,
89
- currentEpoch
90
- );
91
- logger.verbose("Migrated blobSidecars from hot DB to cold DB", {migratedEntries});
92
- }
93
-
94
- if (finalizedPostFulu) {
95
- const migratedEntries = await migrateDataColumnSidecarsFromHotToColdDb(
96
- config,
97
- db,
98
- logger,
99
- finalizedCanonicalBlockRoots,
100
- currentEpoch
101
- );
102
- logger.verbose("Migrated dataColumnSidecars from hot DB to cold DB", {migratedEntries});
103
- }
104
- }
105
-
106
- // deleteNonCanonicalBlocks
107
- // loop through forkchoice single time
108
-
109
- const nonCanonicalBlockRoots = finalizedNonCanonicalBlocks.map((summary) => fromHex(summary.blockRoot));
110
- if (nonCanonicalBlockRoots.length > 0) {
111
- if (persistOrphanedBlocks) {
112
- // Persist orphaned blocks to disk before deleting them from hot db
113
- await Promise.all(
114
- nonCanonicalBlockRoots.map(async (root, index) => {
115
- const block = finalizedNonCanonicalBlocks[index];
116
- const blockBytes = await db.block.getBinary(root);
117
- const logCtx = {slot: block.slot, root: block.blockRoot};
118
- if (blockBytes) {
119
- await persistOrphanedBlock(block.slot, block.blockRoot, blockBytes, {
120
- persistOrphanedBlocksDir: persistOrphanedBlocksDir ?? "orphaned_blocks",
121
- });
122
- logger.verbose("Persisted orphaned block", logCtx);
123
- } else {
124
- logger.warn("Tried to persist orphaned block but no block found", logCtx);
125
- }
126
- })
127
- );
128
- }
129
-
130
- await db.block.batchDelete(nonCanonicalBlockRoots);
131
- logger.verbose("Deleted non canonical blocks from hot DB", {
132
- slots: finalizedNonCanonicalBlocks.map((summary) => summary.slot).join(","),
133
- });
134
-
135
- if (finalizedPostDeneb) {
136
- await db.blobSidecars.batchDelete(nonCanonicalBlockRoots);
137
- logger.verbose("Deleted non canonical blobSidecars from hot DB");
138
- }
139
-
140
- if (finalizedPostFulu) {
141
- await db.dataColumnSidecar.deleteMany(nonCanonicalBlockRoots);
142
- logger.verbose("Deleted non canonical dataColumnSidecars from hot DB");
143
- }
144
- }
145
-
146
- // Delete expired blobs
147
- // Keep only `[current_epoch - max(MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS, archiveDataEpochs)]`
148
- // if archiveDataEpochs set to Infinity do not prune`
149
- if (finalizedPostDeneb) {
150
- if (archiveDataEpochs !== Infinity) {
151
- const blobsArchiveWindow = Math.max(config.MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS, archiveDataEpochs ?? 0);
152
- const blobSidecarsMinEpoch = currentEpoch - blobsArchiveWindow;
153
- if (blobSidecarsMinEpoch >= config.DENEB_FORK_EPOCH) {
154
- const slotsToDelete = await db.blobSidecarsArchive.keys({lt: computeStartSlotAtEpoch(blobSidecarsMinEpoch)});
155
- if (slotsToDelete.length > 0) {
156
- await db.blobSidecarsArchive.batchDelete(slotsToDelete);
157
- logger.verbose(`blobSidecars prune: batchDelete range ${slotsToDelete[0]}..${slotsToDelete.at(-1)}`);
158
- } else {
159
- logger.verbose(`blobSidecars prune: no entries before epoch ${blobSidecarsMinEpoch}`);
160
- }
161
- }
162
- } else {
163
- logger.verbose("blobSidecars pruning skipped: archiveDataEpochs set to Infinity");
164
- }
165
- }
166
-
167
- // Delete expired data column sidecars
168
- // Keep only `[current_epoch - max(MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS, archiveDataEpochs)]`
169
- if (finalizedPostFulu) {
170
- if (archiveDataEpochs !== Infinity) {
171
- const dataColumnSidecarsArchiveWindow = Math.max(
172
- config.MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS,
173
- archiveDataEpochs ?? 0
174
- );
175
- const dataColumnSidecarsMinEpoch = currentEpoch - dataColumnSidecarsArchiveWindow;
176
- if (dataColumnSidecarsMinEpoch >= config.FULU_FORK_EPOCH) {
177
- const prefixedKeys = await db.dataColumnSidecarArchive.keys({
178
- // The `id` value `0` refers to the column index. So we want to fetch all sidecars less than zero column of `dataColumnSidecarsMinEpoch`
179
- lt: {prefix: computeStartSlotAtEpoch(dataColumnSidecarsMinEpoch), id: 0},
180
- });
181
- // for each slot there could be multiple dataColumnSidecar, so we need to deduplicate it
182
- const slotsToDelete = [...new Set(prefixedKeys.map(({prefix}) => prefix))].sort((a, b) => a - b);
183
-
184
- if (slotsToDelete.length > 0) {
185
- await db.dataColumnSidecarArchive.deleteMany(slotsToDelete);
186
- logger.verbose("dataColumnSidecars prune", {
187
- slotRange: prettyPrintIndices(slotsToDelete),
188
- numOfSlots: slotsToDelete.length,
189
- totalNumOfSidecars: prefixedKeys.length,
190
- });
191
- } else {
192
- logger.verbose(`dataColumnSidecars prune: no entries before epoch ${dataColumnSidecarsMinEpoch}`);
193
- }
194
- } else {
195
- logger.verbose(
196
- `dataColumnSidecars pruning skipped: ${dataColumnSidecarsMinEpoch} is before fulu fork epoch ${config.FULU_FORK_EPOCH}`
197
- );
198
- }
199
- } else {
200
- logger.verbose("dataColumnSidecars pruning skipped: archiveDataEpochs set to Infinity");
201
- }
202
- }
203
-
204
- // Prunning potential checkpoint data
205
- const finalizedCanonicalNonCheckpointBlocks = getNonCheckpointBlocks(finalizedCanonicalBlockRoots);
206
- const nonCheckpointBlockRoots: Uint8Array[] = [...nonCanonicalBlockRoots];
207
- for (const block of finalizedCanonicalNonCheckpointBlocks) {
208
- nonCheckpointBlockRoots.push(block.root);
209
- }
210
-
211
- if (lightclientServer) {
212
- await lightclientServer.pruneNonCheckpointData(nonCheckpointBlockRoots);
213
- }
214
-
215
- logger.verbose("Archiving of finalized blocks complete", {
216
- totalArchived: finalizedCanonicalBlocks.length,
217
- finalizedEpoch: finalizedCheckpoint.epoch,
218
- });
219
- }
220
-
221
- async function migrateBlocksFromHotToColdDb(db: IBeaconDb, blocks: BlockRootSlot[]): Promise<void> {
222
- // Start from `i=0`: 1st block in iterateAncestorBlocks() is the finalized block itself
223
- // we move it to blockArchive but forkchoice still have it to check next onBlock calls
224
- // the next iterateAncestorBlocks call does not return this block
225
- for (let i = 0; i < blocks.length; i += BLOCK_BATCH_SIZE) {
226
- const toIdx = Math.min(i + BLOCK_BATCH_SIZE, blocks.length);
227
- const canonicalBlocks = blocks.slice(i, toIdx);
228
-
229
- // processCanonicalBlocks
230
- if (canonicalBlocks.length === 0) return;
231
-
232
- // load Buffer instead of SignedBeaconBlock to improve performance
233
- const canonicalBlockEntries: BlockArchiveBatchPutBinaryItem[] = await Promise.all(
234
- canonicalBlocks.map(async (block) => {
235
- const blockBuffer = await db.block.getBinary(block.root);
236
- if (!blockBuffer) {
237
- throw Error(`Block not found for slot ${block.slot} root ${toRootHex(block.root)}`);
238
- }
239
- return {
240
- key: block.slot,
241
- value: blockBuffer,
242
- slot: block.slot,
243
- blockRoot: block.root,
244
- // TODO: Benchmark if faster to slice Buffer or fromHex()
245
- parentRoot: getParentRootFromSignedBlock(blockBuffer),
246
- };
247
- })
248
- );
249
-
250
- // put to blockArchive db and delete block db
251
- await Promise.all([
252
- db.blockArchive.batchPutBinary(canonicalBlockEntries),
253
- db.block.batchDelete(canonicalBlocks.map((block) => block.root)),
254
- ]);
255
- }
256
- }
257
-
258
- /**
259
- * Migrate blobSidecars from hot db to cold db.
260
- * @returns true if we do that, false if block is out of range data.
261
- */
262
- async function migrateBlobSidecarsFromHotToColdDb(
263
- config: ChainForkConfig,
264
- db: IBeaconDb,
265
- blocks: BlockRootSlot[],
266
- currentEpoch: Epoch
267
- ): Promise<number> {
268
- let migratedWrappedBlobSidecars = 0;
269
- for (let i = 0; i < blocks.length; i += BLOB_SIDECAR_BATCH_SIZE) {
270
- const toIdx = Math.min(i + BLOB_SIDECAR_BATCH_SIZE, blocks.length);
271
- const canonicalBlocks = blocks.slice(i, toIdx);
272
-
273
- // processCanonicalBlocks
274
- if (canonicalBlocks.length === 0) break;
275
-
276
- // load Buffer instead of ssz deserialized to improve performance
277
- const canonicalBlobSidecarsEntries: KeyValue<Slot, Uint8Array>[] = await Promise.all(
278
- canonicalBlocks
279
- .filter((block) => {
280
- const blockSlot = block.slot;
281
- const blockEpoch = computeEpochAtSlot(blockSlot);
282
- const forkSeq = config.getForkSeq(blockSlot);
283
- return (
284
- forkSeq >= ForkSeq.deneb &&
285
- forkSeq < ForkSeq.fulu &&
286
- // if block is out of ${config.MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS}, skip this step
287
- blockEpoch >= currentEpoch - config.MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS
288
- );
289
- })
290
- .map(async (block) => {
291
- const bytes = await db.blobSidecars.getBinary(block.root);
292
- if (!bytes) {
293
- throw Error(`No blobSidecars found for slot ${block.slot} root ${toRootHex(block.root)}`);
294
- }
295
- return {key: block.slot, value: bytes};
296
- })
297
- );
298
-
299
- // put to blockArchive db and delete block db
300
- await Promise.all([
301
- db.blobSidecarsArchive.batchPutBinary(canonicalBlobSidecarsEntries),
302
- db.blobSidecars.batchDelete(canonicalBlocks.map((block) => block.root)),
303
- ]);
304
- migratedWrappedBlobSidecars += canonicalBlobSidecarsEntries.length;
305
- }
306
-
307
- return migratedWrappedBlobSidecars;
308
- }
309
-
310
- // TODO: This function can be simplified further by reducing layers of promises in a loop
311
- async function migrateDataColumnSidecarsFromHotToColdDb(
312
- config: ChainForkConfig,
313
- db: IBeaconDb,
314
- logger: Logger,
315
- blocks: BlockRootSlot[],
316
- currentEpoch: Epoch
317
- ): Promise<number> {
318
- let migratedWrappedDataColumns = 0;
319
- for (let i = 0; i < blocks.length; i += BLOB_SIDECAR_BATCH_SIZE) {
320
- const toIdx = Math.min(i + BLOB_SIDECAR_BATCH_SIZE, blocks.length);
321
- const canonicalBlocks = blocks.slice(i, toIdx);
322
-
323
- // processCanonicalBlocks
324
- if (canonicalBlocks.length === 0) break;
325
- const promises = [];
326
-
327
- // load Buffer instead of ssz deserialized to improve performance
328
- for (const block of canonicalBlocks) {
329
- const blockSlot = block.slot;
330
- const blockEpoch = computeEpochAtSlot(blockSlot);
331
-
332
- if (
333
- config.getForkSeq(blockSlot) < ForkSeq.fulu ||
334
- // if block is out of ${config.MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS}, skip this step
335
- blockEpoch < currentEpoch - config.MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS
336
- ) {
337
- continue;
338
- }
339
-
340
- const dataColumnSidecarBytes = await fromAsync(db.dataColumnSidecar.valuesStreamBinary(block.root));
341
- // there could be 0 dataColumnSidecarBytes if block has no blob
342
- logger.verbose("migrateDataColumnSidecarsFromHotToColdDb", {
343
- slot: block.slot,
344
- root: toRootHex(block.root),
345
- numSidecars: dataColumnSidecarBytes.length,
346
- });
347
- promises.push(
348
- db.dataColumnSidecarArchive.putManyBinary(
349
- block.slot,
350
- dataColumnSidecarBytes.map((p) => ({key: p.id, value: p.value}))
351
- )
352
- );
353
- migratedWrappedDataColumns += dataColumnSidecarBytes.length;
354
- }
355
-
356
- promises.push(db.dataColumnSidecar.deleteMany(canonicalBlocks.map((block) => block.root)));
357
-
358
- // put to blockArchive db and delete block db
359
- await Promise.all(promises);
360
- }
361
-
362
- return migratedWrappedDataColumns;
363
- }
364
-
365
- /**
366
- * ```
367
- * class SignedBeaconBlock(Container):
368
- * message: BeaconBlock [offset - 4 bytes]
369
- * signature: BLSSignature [fixed - 96 bytes]
370
- *
371
- * class BeaconBlock(Container):
372
- * slot: Slot [fixed - 8 bytes]
373
- * proposer_index: ValidatorIndex [fixed - 8 bytes]
374
- * parent_root: Root [fixed - 32 bytes]
375
- * state_root: Root
376
- * body: BeaconBlockBody
377
- * ```
378
- * From byte: `4 + 96 + 8 + 8 = 116`
379
- * To byte: `116 + 32 = 148`
380
- */
381
- export function getParentRootFromSignedBlock(bytes: Uint8Array): Uint8Array {
382
- return bytes.slice(116, 148);
383
- }
384
-
385
- /**
386
- *
387
- * @param blocks sequence of linear blocks, from child to ancestor.
388
- * In ProtoArray.getAllAncestorNodes child nodes are pushed first to the returned array.
389
- */
390
- export function getNonCheckpointBlocks<T extends {slot: Slot}>(blocks: T[]): T[] {
391
- // Iterate from lowest child to highest ancestor
392
- // Look for the checkpoint of the lowest epoch
393
- // If block at `epoch * SLOTS_PER_EPOCH`, it's a checkpoint.
394
- // - Then for the previous epoch all blocks but the 0 are NOT checkpoints
395
- // - Otherwise for the previous epoch the last block is a checkpoint
396
-
397
- if (blocks.length < 1) {
398
- return [];
399
- }
400
-
401
- const nonCheckpointBlocks: T[] = [];
402
- // Start with Infinity to always trigger `blockEpoch < epochPtr` in the first loop
403
- let epochPtr = Infinity;
404
- // Assume worst case, since it's unknown if a future epoch will skip the first slot or not.
405
- // This function must return only blocks that are guaranteed to never become checkpoints.
406
- let epochPtrHasFirstSlot = false;
407
-
408
- // blocks order: from child to ancestor, decreasing slot
409
- for (let i = 0; i < blocks.length; i++) {
410
- let isCheckpoint = false;
411
- const block = blocks[i];
412
- const blockEpoch = computeEpochAtSlot(block.slot);
413
-
414
- if (blockEpoch < epochPtr) {
415
- // If future epoch has skipped the first slot, the last block in the previous epoch is a checkpoint
416
- if (!epochPtrHasFirstSlot) {
417
- isCheckpoint = true;
418
- }
419
-
420
- // Reset epoch pointer
421
- epochPtr = blockEpoch;
422
- epochPtrHasFirstSlot = false;
423
- }
424
-
425
- // The block in the first slot of an epoch is always a checkpoint slot
426
- if (block.slot % SLOTS_PER_EPOCH === 0) {
427
- epochPtrHasFirstSlot = true;
428
- isCheckpoint = true;
429
- }
430
-
431
- if (!isCheckpoint) {
432
- nonCheckpointBlocks.push(block);
433
- }
434
- }
435
-
436
- return nonCheckpointBlocks;
437
- }
@@ -1,56 +0,0 @@
1
- import {ChainConfig} from "@lodestar/config";
2
- import {computeStartSlotAtEpoch} from "@lodestar/state-transition";
3
- import {Epoch} from "@lodestar/types";
4
- import {Logger} from "@lodestar/utils";
5
- import {IBeaconDb} from "../../../db/interface.js";
6
- import {Metrics} from "../../../metrics/index.js";
7
-
8
- export async function pruneHistory(
9
- config: ChainConfig,
10
- db: IBeaconDb,
11
- logger: Logger,
12
- metrics: Metrics | null | undefined,
13
- finalizedEpoch: Epoch,
14
- currentEpoch: Epoch
15
- ): Promise<void> {
16
- const blockCutoffEpoch = Math.min(
17
- // set by config, with underflow protection
18
- Math.max(currentEpoch - config.MIN_EPOCHS_FOR_BLOCK_REQUESTS, 0),
19
- // ensure that during (extremely lol) long periods of non-finality we don't delete unfinalized epoch data
20
- finalizedEpoch
21
- );
22
- const blockCutoffSlot = computeStartSlotAtEpoch(blockCutoffEpoch);
23
-
24
- logger.debug("Preparing to prune history", {
25
- currentEpoch,
26
- finalizedEpoch,
27
- blockCutoffEpoch,
28
- });
29
-
30
- const step0 = metrics?.pruneHistory.fetchKeys.startTimer();
31
- const [blocks, states] = await Promise.all([
32
- db.blockArchive.keys({gte: 0, lt: blockCutoffSlot}),
33
- db.stateArchive.keys({gte: 0, lt: finalizedEpoch}),
34
- ]);
35
- step0?.();
36
-
37
- logger.debug("Pruning history", {
38
- currentEpoch,
39
- blocksToPrune: blocks.length,
40
- statesToPrune: states.length,
41
- });
42
-
43
- const step1 = metrics?.pruneHistory.pruneKeys.startTimer();
44
- await Promise.all([
45
- // ->
46
- db.blockArchive.batchDelete(blocks),
47
- db.stateArchive.batchDelete(states),
48
- ]);
49
- step1?.();
50
-
51
- logger.debug("Pruned history", {
52
- currentEpoch,
53
- });
54
-
55
- metrics?.pruneHistory.pruneCount.inc();
56
- }
@@ -1,50 +0,0 @@
1
- import {CheckpointWithHex} from "@lodestar/fork-choice";
2
- import {Logger} from "@lodestar/logger";
3
- import {IBeaconDb} from "../../../db/interface.js";
4
- import {IBeaconChain} from "../../interface.js";
5
-
6
- /**
7
- * Backfill sync relies on verified connected ranges (which are represented as key,value
8
- * with a verified jump from a key back to value). Since the node could have progressed
9
- * ahead from, we need to save the forward progress of this node as another backfill
10
- * range entry, that backfill sync will use to jump back if this node is restarted
11
- * for any reason.
12
- * The current backfill has its own backfill entry from anchor slot to last backfilled
13
- * slot. And this would create the entry from the current finalized slot to the anchor
14
- * slot.
15
- */
16
- export async function updateBackfillRange(
17
- {chain, db, logger}: {chain: IBeaconChain; db: IBeaconDb; logger: Logger},
18
- finalized: CheckpointWithHex
19
- ): Promise<void> {
20
- try {
21
- // Mark the sequence in backfill db from finalized block's slot till anchor slot as
22
- // filled.
23
- const finalizedBlockFC = chain.forkChoice.getBlockHex(finalized.rootHex);
24
- if (finalizedBlockFC && finalizedBlockFC.slot > chain.anchorStateLatestBlockSlot) {
25
- await db.backfilledRanges.put(finalizedBlockFC.slot, chain.anchorStateLatestBlockSlot);
26
-
27
- // Clear previously marked sequence till anchorStateLatestBlockSlot, without
28
- // touching backfill sync process sequence which are at
29
- // <=anchorStateLatestBlockSlot i.e. clear >anchorStateLatestBlockSlot
30
- // and < currentSlot
31
- const filteredSeqs = await db.backfilledRanges.entries({
32
- gt: chain.anchorStateLatestBlockSlot,
33
- lt: finalizedBlockFC.slot,
34
- });
35
- logger.debug("updated backfilledRanges", {
36
- key: finalizedBlockFC.slot,
37
- value: chain.anchorStateLatestBlockSlot,
38
- });
39
- if (filteredSeqs.length > 0) {
40
- await db.backfilledRanges.batchDelete(filteredSeqs.map((entry) => entry.key));
41
- logger.debug(
42
- `Forward Sync - cleaned up backfilledRanges between ${finalizedBlockFC.slot},${chain.anchorStateLatestBlockSlot}`,
43
- {seqs: JSON.stringify(filteredSeqs)}
44
- );
45
- }
46
- }
47
- } catch (e) {
48
- logger.error("Error updating backfilledRanges on finalization", {epoch: finalized.epoch}, e as Error);
49
- }
50
- }
@@ -1,52 +0,0 @@
1
- import {CheckpointWithHex} from "@lodestar/fork-choice";
2
- import {
3
- CachedBeaconStateAllForks,
4
- EffectiveBalanceIncrements,
5
- computeStartSlotAtEpoch,
6
- getBlockRootAtSlot,
7
- getEffectiveBalanceIncrementsZeroInactive,
8
- } from "@lodestar/state-transition";
9
- import {Epoch, RootHex} from "@lodestar/types";
10
- import {toRootHex} from "@lodestar/utils";
11
-
12
- /** The number of validator balance sets that are cached within `CheckpointBalancesCache`. */
13
- const MAX_BALANCE_CACHE_SIZE = 4;
14
-
15
- type BalancesCacheItem = {
16
- rootHex: RootHex;
17
- epoch: Epoch;
18
- balances: EffectiveBalanceIncrements;
19
- };
20
-
21
- /**
22
- * Cache EffectiveBalanceIncrements of checkpoint blocks
23
- */
24
- export class CheckpointBalancesCache {
25
- private readonly items: BalancesCacheItem[] = [];
26
-
27
- /**
28
- * Inspect the given `state` and determine the root of the block at the first slot of
29
- * `state.current_epoch`. If there is not already some entry for the given block root, then
30
- * add the effective balances from the `state` to the cache.
31
- */
32
- processState(blockRootHex: RootHex, state: CachedBeaconStateAllForks): void {
33
- const epoch = state.epochCtx.epoch;
34
- const epochBoundarySlot = computeStartSlotAtEpoch(epoch);
35
- const epochBoundaryRoot =
36
- epochBoundarySlot === state.slot ? blockRootHex : toRootHex(getBlockRootAtSlot(state, epochBoundarySlot));
37
-
38
- const index = this.items.findIndex((item) => item.epoch === epoch && item.rootHex === epochBoundaryRoot);
39
- if (index === -1) {
40
- if (this.items.length === MAX_BALANCE_CACHE_SIZE) {
41
- this.items.shift();
42
- }
43
- // expect to reach this once per epoch
44
- this.items.push({epoch, rootHex: epochBoundaryRoot, balances: getEffectiveBalanceIncrementsZeroInactive(state)});
45
- }
46
- }
47
-
48
- get(checkpoint: CheckpointWithHex): EffectiveBalanceIncrements | undefined {
49
- const {rootHex, epoch} = checkpoint;
50
- return this.items.find((item) => item.epoch === epoch && item.rootHex === rootHex)?.balances;
51
- }
52
- }
@@ -1,43 +0,0 @@
1
- import {routes} from "@lodestar/api";
2
- import {Epoch} from "@lodestar/types";
3
- import {MapDef} from "@lodestar/utils";
4
-
5
- const PROPOSER_PRESERVE_EPOCHS = 2;
6
-
7
- export type ProposerPreparationData = routes.validator.ProposerPreparationData;
8
-
9
- export class BeaconProposerCache {
10
- private readonly feeRecipientByValidatorIndex: MapDef<number, {epoch: Epoch; feeRecipient: string}>;
11
- constructor(opts: {suggestedFeeRecipient: string}) {
12
- this.feeRecipientByValidatorIndex = new MapDef(() => ({
13
- epoch: 0,
14
- feeRecipient: opts.suggestedFeeRecipient,
15
- }));
16
- }
17
-
18
- add(epoch: Epoch, {validatorIndex, feeRecipient}: ProposerPreparationData): void {
19
- this.feeRecipientByValidatorIndex.set(validatorIndex, {epoch, feeRecipient});
20
- }
21
-
22
- prune(epoch: Epoch): void {
23
- // This is not so optimized function, but could maintain a 2d array may be?
24
- for (const [validatorIndex, feeRecipientEntry] of this.feeRecipientByValidatorIndex.entries()) {
25
- // We only retain an entry for PROPOSER_PRESERVE_EPOCHS epochs
26
- if (feeRecipientEntry.epoch + PROPOSER_PRESERVE_EPOCHS < epoch) {
27
- this.feeRecipientByValidatorIndex.delete(validatorIndex);
28
- }
29
- }
30
- }
31
-
32
- getOrDefault(proposerIndex: number): string {
33
- return this.feeRecipientByValidatorIndex.getOrDefault(proposerIndex).feeRecipient;
34
- }
35
-
36
- get(proposerIndex: number): string | undefined {
37
- return this.feeRecipientByValidatorIndex.get(proposerIndex)?.feeRecipient;
38
- }
39
-
40
- getValidatorIndices(): number[] {
41
- return Array.from(this.feeRecipientByValidatorIndex.keys());
42
- }
43
- }