@lodestar/beacon-node 1.35.0-dev.8689cc3545 → 1.35.0-dev.8b45b1e978

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 (863) hide show
  1. package/lib/db/buckets.d.ts +4 -4
  2. package/lib/db/buckets.js +4 -4
  3. package/lib/db/buckets.js.map +1 -1
  4. package/lib/db/repositories/blobSidecars.js +1 -1
  5. package/lib/db/repositories/blobSidecars.js.map +1 -1
  6. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  7. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  8. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  9. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  10. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  11. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  12. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  13. package/lib/network/network.js +4 -2
  14. package/lib/network/network.js.map +1 -1
  15. package/lib/util/blobs.js +3 -5
  16. package/lib/util/blobs.js.map +1 -1
  17. package/package.json +20 -18
  18. package/lib/api/impl/api.d.ts.map +0 -1
  19. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  20. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  21. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  22. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  23. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  24. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  25. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  26. package/lib/api/impl/config/constants.d.ts.map +0 -1
  27. package/lib/api/impl/config/index.d.ts.map +0 -1
  28. package/lib/api/impl/debug/index.d.ts.map +0 -1
  29. package/lib/api/impl/errors.d.ts.map +0 -1
  30. package/lib/api/impl/events/index.d.ts.map +0 -1
  31. package/lib/api/impl/index.d.ts.map +0 -1
  32. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  33. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  34. package/lib/api/impl/node/index.d.ts.map +0 -1
  35. package/lib/api/impl/node/utils.d.ts.map +0 -1
  36. package/lib/api/impl/proof/index.d.ts.map +0 -1
  37. package/lib/api/impl/types.d.ts.map +0 -1
  38. package/lib/api/impl/utils.d.ts.map +0 -1
  39. package/lib/api/impl/validator/index.d.ts.map +0 -1
  40. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  41. package/lib/api/index.d.ts.map +0 -1
  42. package/lib/api/options.d.ts.map +0 -1
  43. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  44. package/lib/api/rest/base.d.ts.map +0 -1
  45. package/lib/api/rest/index.d.ts.map +0 -1
  46. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  47. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  48. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  49. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  50. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  51. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  52. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  53. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  54. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  55. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  56. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  57. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  58. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  59. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  60. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  61. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  62. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  63. package/lib/chain/balancesCache.d.ts.map +0 -1
  64. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  65. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  66. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  67. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  68. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  69. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  70. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  71. package/lib/chain/blocks/index.d.ts.map +0 -1
  72. package/lib/chain/blocks/types.d.ts.map +0 -1
  73. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  74. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  75. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  76. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  77. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  78. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  79. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  80. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  81. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  82. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  83. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  84. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  85. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  86. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  87. package/lib/chain/bls/index.d.ts.map +0 -1
  88. package/lib/chain/bls/interface.d.ts.map +0 -1
  89. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  90. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  91. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  92. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  93. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  94. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  95. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  96. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  97. package/lib/chain/bls/utils.d.ts.map +0 -1
  98. package/lib/chain/chain.d.ts.map +0 -1
  99. package/lib/chain/emitter.d.ts.map +0 -1
  100. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  101. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  102. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  103. package/lib/chain/errors/blockError.d.ts.map +0 -1
  104. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  105. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  106. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  107. package/lib/chain/errors/index.d.ts.map +0 -1
  108. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  109. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  110. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  111. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  112. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  113. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  114. package/lib/chain/genesis/interface.d.ts.map +0 -1
  115. package/lib/chain/index.d.ts.map +0 -1
  116. package/lib/chain/initState.d.ts.map +0 -1
  117. package/lib/chain/interface.d.ts.map +0 -1
  118. package/lib/chain/lightClient/index.d.ts.map +0 -1
  119. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  120. package/lib/chain/lightClient/types.d.ts.map +0 -1
  121. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  122. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  123. package/lib/chain/opPools/index.d.ts.map +0 -1
  124. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  125. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  126. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  127. package/lib/chain/opPools/types.d.ts.map +0 -1
  128. package/lib/chain/opPools/utils.d.ts.map +0 -1
  129. package/lib/chain/options.d.ts.map +0 -1
  130. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  131. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  132. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  133. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  134. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  135. package/lib/chain/regen/errors.d.ts.map +0 -1
  136. package/lib/chain/regen/index.d.ts.map +0 -1
  137. package/lib/chain/regen/interface.d.ts.map +0 -1
  138. package/lib/chain/regen/queued.d.ts.map +0 -1
  139. package/lib/chain/regen/regen.d.ts.map +0 -1
  140. package/lib/chain/reprocess.d.ts.map +0 -1
  141. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  142. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  143. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  144. package/lib/chain/seenCache/index.d.ts.map +0 -1
  145. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  146. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  147. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  148. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  149. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  150. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  151. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  152. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  153. package/lib/chain/serializeState.d.ts.map +0 -1
  154. package/lib/chain/shufflingCache.d.ts.map +0 -1
  155. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  156. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  157. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  158. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  159. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  160. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  161. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  162. package/lib/chain/stateCache/index.d.ts.map +0 -1
  163. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  164. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  165. package/lib/chain/stateCache/types.d.ts.map +0 -1
  166. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  167. package/lib/chain/validation/attestation.d.ts.map +0 -1
  168. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  169. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  170. package/lib/chain/validation/block.d.ts.map +0 -1
  171. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  172. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  173. package/lib/chain/validation/index.d.ts.map +0 -1
  174. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  175. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  176. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  177. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  178. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  179. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  180. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  181. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  182. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  183. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  184. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  185. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  186. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  187. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  188. package/lib/constants/constants.d.ts.map +0 -1
  189. package/lib/constants/index.d.ts.map +0 -1
  190. package/lib/constants/network.d.ts.map +0 -1
  191. package/lib/db/beacon.d.ts.map +0 -1
  192. package/lib/db/buckets.d.ts.map +0 -1
  193. package/lib/db/index.d.ts.map +0 -1
  194. package/lib/db/interface.d.ts.map +0 -1
  195. package/lib/db/options.d.ts.map +0 -1
  196. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  197. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  198. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  199. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  200. package/lib/db/repositories/block.d.ts.map +0 -1
  201. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  202. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  203. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  204. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  205. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  206. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  207. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  208. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  209. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  210. package/lib/db/repositories/index.d.ts.map +0 -1
  211. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  212. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  213. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  214. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  215. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  216. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  217. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  218. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  219. package/lib/db/single/index.d.ts.map +0 -1
  220. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  221. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  222. package/lib/eth1/errors.d.ts.map +0 -1
  223. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  224. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  225. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  226. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  227. package/lib/eth1/index.d.ts.map +0 -1
  228. package/lib/eth1/interface.d.ts.map +0 -1
  229. package/lib/eth1/options.d.ts.map +0 -1
  230. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  231. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  232. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  233. package/lib/eth1/provider/utils.d.ts.map +0 -1
  234. package/lib/eth1/stream.d.ts.map +0 -1
  235. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  236. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  237. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  238. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  239. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  240. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  241. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  242. package/lib/execution/builder/cache.d.ts.map +0 -1
  243. package/lib/execution/builder/http.d.ts.map +0 -1
  244. package/lib/execution/builder/index.d.ts.map +0 -1
  245. package/lib/execution/builder/interface.d.ts.map +0 -1
  246. package/lib/execution/builder/utils.d.ts.map +0 -1
  247. package/lib/execution/engine/disabled.d.ts.map +0 -1
  248. package/lib/execution/engine/http.d.ts.map +0 -1
  249. package/lib/execution/engine/index.d.ts.map +0 -1
  250. package/lib/execution/engine/interface.d.ts.map +0 -1
  251. package/lib/execution/engine/mock.d.ts.map +0 -1
  252. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  253. package/lib/execution/engine/types.d.ts.map +0 -1
  254. package/lib/execution/engine/utils.d.ts.map +0 -1
  255. package/lib/execution/index.d.ts.map +0 -1
  256. package/lib/index.d.ts.map +0 -1
  257. package/lib/metrics/index.d.ts.map +0 -1
  258. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  259. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  260. package/lib/metrics/metrics.d.ts.map +0 -1
  261. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  262. package/lib/metrics/options.d.ts.map +0 -1
  263. package/lib/metrics/server/http.d.ts.map +0 -1
  264. package/lib/metrics/server/index.d.ts.map +0 -1
  265. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  266. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  267. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  268. package/lib/monitoring/clientStats.d.ts.map +0 -1
  269. package/lib/monitoring/index.d.ts.map +0 -1
  270. package/lib/monitoring/options.d.ts.map +0 -1
  271. package/lib/monitoring/properties.d.ts.map +0 -1
  272. package/lib/monitoring/service.d.ts.map +0 -1
  273. package/lib/monitoring/system.d.ts.map +0 -1
  274. package/lib/monitoring/types.d.ts.map +0 -1
  275. package/lib/network/core/events.d.ts.map +0 -1
  276. package/lib/network/core/index.d.ts.map +0 -1
  277. package/lib/network/core/metrics.d.ts.map +0 -1
  278. package/lib/network/core/networkCore.d.ts.map +0 -1
  279. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  280. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  281. package/lib/network/core/types.d.ts.map +0 -1
  282. package/lib/network/discv5/index.d.ts.map +0 -1
  283. package/lib/network/discv5/types.d.ts.map +0 -1
  284. package/lib/network/discv5/utils.d.ts.map +0 -1
  285. package/lib/network/discv5/worker.d.ts.map +0 -1
  286. package/lib/network/events.d.ts.map +0 -1
  287. package/lib/network/forks.d.ts.map +0 -1
  288. package/lib/network/gossip/constants.d.ts.map +0 -1
  289. package/lib/network/gossip/encoding.d.ts.map +0 -1
  290. package/lib/network/gossip/errors.d.ts.map +0 -1
  291. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  292. package/lib/network/gossip/index.d.ts.map +0 -1
  293. package/lib/network/gossip/interface.d.ts.map +0 -1
  294. package/lib/network/gossip/metrics.d.ts.map +0 -1
  295. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  296. package/lib/network/gossip/topic.d.ts.map +0 -1
  297. package/lib/network/index.d.ts.map +0 -1
  298. package/lib/network/interface.d.ts.map +0 -1
  299. package/lib/network/libp2p/error.d.ts.map +0 -1
  300. package/lib/network/libp2p/index.d.ts.map +0 -1
  301. package/lib/network/metadata.d.ts.map +0 -1
  302. package/lib/network/network.d.ts.map +0 -1
  303. package/lib/network/networkConfig.d.ts.map +0 -1
  304. package/lib/network/options.d.ts.map +0 -1
  305. package/lib/network/peers/client.d.ts.map +0 -1
  306. package/lib/network/peers/datastore.d.ts.map +0 -1
  307. package/lib/network/peers/discover.d.ts.map +0 -1
  308. package/lib/network/peers/index.d.ts.map +0 -1
  309. package/lib/network/peers/peerManager.d.ts.map +0 -1
  310. package/lib/network/peers/peersData.d.ts.map +0 -1
  311. package/lib/network/peers/score/constants.d.ts.map +0 -1
  312. package/lib/network/peers/score/index.d.ts.map +0 -1
  313. package/lib/network/peers/score/interface.d.ts.map +0 -1
  314. package/lib/network/peers/score/score.d.ts.map +0 -1
  315. package/lib/network/peers/score/store.d.ts.map +0 -1
  316. package/lib/network/peers/score/utils.d.ts.map +0 -1
  317. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  318. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  319. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  320. package/lib/network/peers/utils/index.d.ts.map +0 -1
  321. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  322. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  323. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  324. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  325. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  326. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  327. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  328. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  329. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  330. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  331. package/lib/network/processor/index.d.ts.map +0 -1
  332. package/lib/network/processor/types.d.ts.map +0 -1
  333. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  334. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  335. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  336. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  337. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  338. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  339. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  340. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  341. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  342. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  343. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  344. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  345. package/lib/network/reqresp/index.d.ts.map +0 -1
  346. package/lib/network/reqresp/interface.d.ts.map +0 -1
  347. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  348. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  349. package/lib/network/reqresp/score.d.ts.map +0 -1
  350. package/lib/network/reqresp/types.d.ts.map +0 -1
  351. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  352. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  353. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  354. package/lib/network/statusCache.d.ts.map +0 -1
  355. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  356. package/lib/network/subnets/index.d.ts.map +0 -1
  357. package/lib/network/subnets/interface.d.ts.map +0 -1
  358. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  359. package/lib/network/subnets/util.d.ts.map +0 -1
  360. package/lib/network/util.d.ts.map +0 -1
  361. package/lib/node/index.d.ts.map +0 -1
  362. package/lib/node/nodejs.d.ts.map +0 -1
  363. package/lib/node/notifier.d.ts.map +0 -1
  364. package/lib/node/options.d.ts.map +0 -1
  365. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  366. package/lib/node/utils/interop/state.d.ts.map +0 -1
  367. package/lib/node/utils/lightclient.d.ts.map +0 -1
  368. package/lib/node/utils/state.d.ts.map +0 -1
  369. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  370. package/lib/sync/backfill/errors.d.ts.map +0 -1
  371. package/lib/sync/backfill/index.d.ts.map +0 -1
  372. package/lib/sync/backfill/verify.d.ts.map +0 -1
  373. package/lib/sync/constants.d.ts.map +0 -1
  374. package/lib/sync/index.d.ts.map +0 -1
  375. package/lib/sync/interface.d.ts.map +0 -1
  376. package/lib/sync/options.d.ts.map +0 -1
  377. package/lib/sync/range/batch.d.ts.map +0 -1
  378. package/lib/sync/range/chain.d.ts.map +0 -1
  379. package/lib/sync/range/range.d.ts.map +0 -1
  380. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  381. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  382. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  383. package/lib/sync/range/utils/index.d.ts.map +0 -1
  384. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  385. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  386. package/lib/sync/sync.d.ts.map +0 -1
  387. package/lib/sync/types.d.ts.map +0 -1
  388. package/lib/sync/unknownBlock.d.ts.map +0 -1
  389. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  390. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  391. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  392. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  393. package/lib/util/address.d.ts.map +0 -1
  394. package/lib/util/array.d.ts.map +0 -1
  395. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  396. package/lib/util/binarySearch.d.ts.map +0 -1
  397. package/lib/util/bitArray.d.ts.map +0 -1
  398. package/lib/util/blobs.d.ts.map +0 -1
  399. package/lib/util/bufferPool.d.ts.map +0 -1
  400. package/lib/util/bytes.d.ts.map +0 -1
  401. package/lib/util/chunkify.d.ts.map +0 -1
  402. package/lib/util/clock.d.ts.map +0 -1
  403. package/lib/util/dataColumns.d.ts.map +0 -1
  404. package/lib/util/dependentRoot.d.ts.map +0 -1
  405. package/lib/util/enum.d.ts.map +0 -1
  406. package/lib/util/error.d.ts.map +0 -1
  407. package/lib/util/eventLoop.d.ts.map +0 -1
  408. package/lib/util/execution.d.ts.map +0 -1
  409. package/lib/util/file.d.ts.map +0 -1
  410. package/lib/util/forkChoice.d.ts.map +0 -1
  411. package/lib/util/forkName.d.ts.map +0 -1
  412. package/lib/util/graffiti.d.ts.map +0 -1
  413. package/lib/util/hex.d.ts.map +0 -1
  414. package/lib/util/index.d.ts.map +0 -1
  415. package/lib/util/ip.d.ts.map +0 -1
  416. package/lib/util/itTrigger.d.ts.map +0 -1
  417. package/lib/util/kzg.d.ts.map +0 -1
  418. package/lib/util/map.d.ts.map +0 -1
  419. package/lib/util/metadata.d.ts.map +0 -1
  420. package/lib/util/multifork.d.ts.map +0 -1
  421. package/lib/util/numpy.d.ts.map +0 -1
  422. package/lib/util/peerId.d.ts.map +0 -1
  423. package/lib/util/profile.d.ts.map +0 -1
  424. package/lib/util/promises.d.ts.map +0 -1
  425. package/lib/util/queue/errors.d.ts.map +0 -1
  426. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  427. package/lib/util/queue/index.d.ts.map +0 -1
  428. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  429. package/lib/util/queue/options.d.ts.map +0 -1
  430. package/lib/util/serializedCache.d.ts.map +0 -1
  431. package/lib/util/set.d.ts.map +0 -1
  432. package/lib/util/shuffle.d.ts.map +0 -1
  433. package/lib/util/sortBy.d.ts.map +0 -1
  434. package/lib/util/sszBytes.d.ts.map +0 -1
  435. package/lib/util/strictEvents.d.ts.map +0 -1
  436. package/lib/util/time.d.ts.map +0 -1
  437. package/lib/util/timeSeries.d.ts.map +0 -1
  438. package/lib/util/types.d.ts.map +0 -1
  439. package/lib/util/workerEvents.d.ts.map +0 -1
  440. package/lib/util/wrapError.d.ts.map +0 -1
  441. package/src/api/impl/api.ts +0 -26
  442. package/src/api/impl/beacon/blocks/index.ts +0 -744
  443. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  444. package/src/api/impl/beacon/index.ts +0 -35
  445. package/src/api/impl/beacon/pool/index.ts +0 -314
  446. package/src/api/impl/beacon/rewards/index.ts +0 -30
  447. package/src/api/impl/beacon/state/index.ts +0 -406
  448. package/src/api/impl/beacon/state/utils.ts +0 -189
  449. package/src/api/impl/config/constants.ts +0 -127
  450. package/src/api/impl/config/index.ts +0 -59
  451. package/src/api/impl/debug/index.ts +0 -131
  452. package/src/api/impl/errors.ts +0 -50
  453. package/src/api/impl/events/index.ts +0 -33
  454. package/src/api/impl/index.ts +0 -6
  455. package/src/api/impl/lightclient/index.ts +0 -64
  456. package/src/api/impl/lodestar/index.ts +0 -257
  457. package/src/api/impl/node/index.ts +0 -88
  458. package/src/api/impl/node/utils.ts +0 -51
  459. package/src/api/impl/proof/index.ts +0 -60
  460. package/src/api/impl/types.ts +0 -17
  461. package/src/api/impl/utils.ts +0 -25
  462. package/src/api/impl/validator/index.ts +0 -1538
  463. package/src/api/impl/validator/utils.ts +0 -85
  464. package/src/api/index.ts +0 -2
  465. package/src/api/options.ts +0 -16
  466. package/src/api/rest/activeSockets.ts +0 -109
  467. package/src/api/rest/base.ts +0 -216
  468. package/src/api/rest/index.ts +0 -63
  469. package/src/api/rest/swaggerUI.ts +0 -80
  470. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  471. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  472. package/src/chain/GetBlobsTracker.ts +0 -115
  473. package/src/chain/archiveStore/archiveStore.ts +0 -222
  474. package/src/chain/archiveStore/constants.ts +0 -5
  475. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  476. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  477. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  478. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  479. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  480. package/src/chain/archiveStore/index.ts +0 -3
  481. package/src/chain/archiveStore/interface.ts +0 -75
  482. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  483. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  484. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  485. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  486. package/src/chain/balancesCache.ts +0 -52
  487. package/src/chain/beaconProposerCache.ts +0 -43
  488. package/src/chain/blocks/blockInput/blockInput.ts +0 -851
  489. package/src/chain/blocks/blockInput/errors.ts +0 -48
  490. package/src/chain/blocks/blockInput/index.ts +0 -4
  491. package/src/chain/blocks/blockInput/types.ts +0 -145
  492. package/src/chain/blocks/blockInput/utils.ts +0 -21
  493. package/src/chain/blocks/importBlock.ts +0 -603
  494. package/src/chain/blocks/index.ts +0 -179
  495. package/src/chain/blocks/types.ts +0 -101
  496. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  497. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  498. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  499. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  500. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  501. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  502. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  503. package/src/chain/blocks/verifyBlock.ts +0 -242
  504. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -34
  505. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  506. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  507. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  508. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  509. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  510. package/src/chain/bls/index.ts +0 -4
  511. package/src/chain/bls/interface.ts +0 -68
  512. package/src/chain/bls/maybeBatch.ts +0 -45
  513. package/src/chain/bls/multithread/index.ts +0 -582
  514. package/src/chain/bls/multithread/jobItem.ts +0 -119
  515. package/src/chain/bls/multithread/poolSize.ts +0 -16
  516. package/src/chain/bls/multithread/types.ts +0 -38
  517. package/src/chain/bls/multithread/utils.ts +0 -19
  518. package/src/chain/bls/multithread/worker.ts +0 -114
  519. package/src/chain/bls/singleThread.ts +0 -87
  520. package/src/chain/bls/utils.ts +0 -30
  521. package/src/chain/chain.ts +0 -1365
  522. package/src/chain/emitter.ts +0 -113
  523. package/src/chain/errors/attestationError.ts +0 -194
  524. package/src/chain/errors/attesterSlashingError.ts +0 -11
  525. package/src/chain/errors/blobSidecarError.ts +0 -60
  526. package/src/chain/errors/blockError.ts +0 -166
  527. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  528. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  529. package/src/chain/errors/gossipValidation.ts +0 -20
  530. package/src/chain/errors/index.ts +0 -10
  531. package/src/chain/errors/lightClientError.ts +0 -30
  532. package/src/chain/errors/proposerSlashingError.ts +0 -11
  533. package/src/chain/errors/syncCommitteeError.ts +0 -36
  534. package/src/chain/errors/voluntaryExitError.ts +0 -13
  535. package/src/chain/forkChoice/index.ts +0 -112
  536. package/src/chain/genesis/genesis.ts +0 -190
  537. package/src/chain/genesis/interface.ts +0 -14
  538. package/src/chain/index.ts +0 -6
  539. package/src/chain/initState.ts +0 -221
  540. package/src/chain/interface.ts +0 -280
  541. package/src/chain/lightClient/index.ts +0 -764
  542. package/src/chain/lightClient/proofs.ts +0 -85
  543. package/src/chain/lightClient/types.ts +0 -33
  544. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  545. package/src/chain/opPools/attestationPool.ts +0 -283
  546. package/src/chain/opPools/index.ts +0 -5
  547. package/src/chain/opPools/opPool.ts +0 -462
  548. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -167
  549. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  550. package/src/chain/opPools/types.ts +0 -35
  551. package/src/chain/opPools/utils.ts +0 -65
  552. package/src/chain/options.ts +0 -138
  553. package/src/chain/prepareNextSlot.ts +0 -277
  554. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  555. package/src/chain/produceBlock/index.ts +0 -2
  556. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  557. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  558. package/src/chain/regen/errors.ts +0 -30
  559. package/src/chain/regen/index.ts +0 -4
  560. package/src/chain/regen/interface.ts +0 -93
  561. package/src/chain/regen/queued.ts +0 -317
  562. package/src/chain/regen/regen.ts +0 -424
  563. package/src/chain/reprocess.ts +0 -161
  564. package/src/chain/rewards/attestationsRewards.ts +0 -196
  565. package/src/chain/rewards/blockRewards.ts +0 -150
  566. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  567. package/src/chain/seenCache/index.ts +0 -5
  568. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  569. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  570. package/src/chain/seenCache/seenAttesters.ts +0 -58
  571. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  572. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  573. package/src/chain/seenCache/seenCommittee.ts +0 -43
  574. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  575. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  576. package/src/chain/serializeState.ts +0 -32
  577. package/src/chain/shufflingCache.ts +0 -238
  578. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  579. package/src/chain/stateCache/datastore/db.ts +0 -36
  580. package/src/chain/stateCache/datastore/file.ts +0 -53
  581. package/src/chain/stateCache/datastore/index.ts +0 -2
  582. package/src/chain/stateCache/datastore/types.ts +0 -13
  583. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  584. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  585. package/src/chain/stateCache/index.ts +0 -3
  586. package/src/chain/stateCache/mapMetrics.ts +0 -52
  587. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -835
  588. package/src/chain/stateCache/types.ts +0 -86
  589. package/src/chain/validation/aggregateAndProof.ts +0 -258
  590. package/src/chain/validation/attestation.ts +0 -885
  591. package/src/chain/validation/attesterSlashing.ts +0 -61
  592. package/src/chain/validation/blobSidecar.ts +0 -301
  593. package/src/chain/validation/block.ts +0 -188
  594. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  595. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  596. package/src/chain/validation/index.ts +0 -9
  597. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -45
  598. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -67
  599. package/src/chain/validation/proposerSlashing.ts +0 -54
  600. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  601. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  602. package/src/chain/validation/signatureSets/index.ts +0 -6
  603. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  604. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  605. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  606. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  607. package/src/chain/validation/syncCommittee.ts +0 -165
  608. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  609. package/src/chain/validation/voluntaryExit.ts +0 -58
  610. package/src/chain/validatorMonitor.ts +0 -1299
  611. package/src/constants/constants.ts +0 -15
  612. package/src/constants/index.ts +0 -2
  613. package/src/constants/network.ts +0 -52
  614. package/src/db/beacon.ts +0 -113
  615. package/src/db/buckets.ts +0 -80
  616. package/src/db/index.ts +0 -2
  617. package/src/db/interface.ts +0 -76
  618. package/src/db/options.ts +0 -7
  619. package/src/db/repositories/attesterSlashing.ts +0 -38
  620. package/src/db/repositories/backfilledRanges.ts +0 -29
  621. package/src/db/repositories/blobSidecars.ts +0 -37
  622. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  623. package/src/db/repositories/block.ts +0 -33
  624. package/src/db/repositories/blockArchive.ts +0 -170
  625. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  626. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  627. package/src/db/repositories/checkpointState.ts +0 -31
  628. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  629. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  630. package/src/db/repositories/depositDataRoot.ts +0 -80
  631. package/src/db/repositories/depositEvent.ts +0 -32
  632. package/src/db/repositories/eth1Data.ts +0 -33
  633. package/src/db/repositories/index.ts +0 -20
  634. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  635. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  636. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  637. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  638. package/src/db/repositories/proposerSlashing.ts +0 -15
  639. package/src/db/repositories/stateArchive.ts +0 -69
  640. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  641. package/src/db/repositories/voluntaryExit.ts +0 -15
  642. package/src/db/single/index.ts +0 -2
  643. package/src/db/single/preGenesisState.ts +0 -37
  644. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  645. package/src/eth1/errors.ts +0 -40
  646. package/src/eth1/eth1DataCache.ts +0 -26
  647. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  648. package/src/eth1/eth1DepositsCache.ts +0 -141
  649. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  650. package/src/eth1/index.ts +0 -157
  651. package/src/eth1/interface.ts +0 -131
  652. package/src/eth1/options.ts +0 -28
  653. package/src/eth1/provider/eth1Provider.ts +0 -229
  654. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  655. package/src/eth1/provider/jwt.ts +0 -36
  656. package/src/eth1/provider/utils.ts +0 -136
  657. package/src/eth1/stream.ts +0 -75
  658. package/src/eth1/utils/depositContract.ts +0 -37
  659. package/src/eth1/utils/deposits.ts +0 -70
  660. package/src/eth1/utils/eth1Data.ts +0 -100
  661. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  662. package/src/eth1/utils/eth1Vote.ts +0 -142
  663. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  664. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  665. package/src/execution/builder/cache.ts +0 -39
  666. package/src/execution/builder/http.ts +0 -229
  667. package/src/execution/builder/index.ts +0 -27
  668. package/src/execution/builder/interface.ts +0 -49
  669. package/src/execution/builder/utils.ts +0 -19
  670. package/src/execution/engine/disabled.ts +0 -35
  671. package/src/execution/engine/http.ts +0 -644
  672. package/src/execution/engine/index.ts +0 -63
  673. package/src/execution/engine/interface.ts +0 -199
  674. package/src/execution/engine/mock.ts +0 -493
  675. package/src/execution/engine/payloadIdCache.ts +0 -54
  676. package/src/execution/engine/types.ts +0 -640
  677. package/src/execution/engine/utils.ts +0 -136
  678. package/src/execution/index.ts +0 -4
  679. package/src/index.ts +0 -20
  680. package/src/metrics/index.ts +0 -4
  681. package/src/metrics/metrics/beacon.ts +0 -390
  682. package/src/metrics/metrics/lodestar.ts +0 -1870
  683. package/src/metrics/metrics.ts +0 -43
  684. package/src/metrics/nodeJsMetrics.ts +0 -19
  685. package/src/metrics/options.ts +0 -22
  686. package/src/metrics/server/http.ts +0 -114
  687. package/src/metrics/server/index.ts +0 -1
  688. package/src/metrics/utils/avgMinMax.ts +0 -87
  689. package/src/metrics/utils/gauge.ts +0 -22
  690. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  691. package/src/monitoring/clientStats.ts +0 -297
  692. package/src/monitoring/index.ts +0 -2
  693. package/src/monitoring/options.ts +0 -19
  694. package/src/monitoring/properties.ts +0 -152
  695. package/src/monitoring/service.ts +0 -235
  696. package/src/monitoring/system.ts +0 -146
  697. package/src/monitoring/types.ts +0 -21
  698. package/src/network/core/events.ts +0 -59
  699. package/src/network/core/index.ts +0 -3
  700. package/src/network/core/metrics.ts +0 -304
  701. package/src/network/core/networkCore.ts +0 -599
  702. package/src/network/core/networkCoreWorker.ts +0 -176
  703. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  704. package/src/network/core/types.ts +0 -119
  705. package/src/network/discv5/index.ts +0 -132
  706. package/src/network/discv5/types.ts +0 -74
  707. package/src/network/discv5/utils.ts +0 -50
  708. package/src/network/discv5/worker.ts +0 -137
  709. package/src/network/events.ts +0 -51
  710. package/src/network/forks.ts +0 -94
  711. package/src/network/gossip/constants.ts +0 -15
  712. package/src/network/gossip/encoding.ts +0 -111
  713. package/src/network/gossip/errors.ts +0 -7
  714. package/src/network/gossip/gossipsub.ts +0 -384
  715. package/src/network/gossip/index.ts +0 -4
  716. package/src/network/gossip/interface.ts +0 -215
  717. package/src/network/gossip/metrics.ts +0 -71
  718. package/src/network/gossip/scoringParameters.ts +0 -333
  719. package/src/network/gossip/topic.ts +0 -332
  720. package/src/network/index.ts +0 -8
  721. package/src/network/interface.ts +0 -134
  722. package/src/network/libp2p/error.ts +0 -55
  723. package/src/network/libp2p/index.ts +0 -153
  724. package/src/network/metadata.ts +0 -162
  725. package/src/network/network.ts +0 -767
  726. package/src/network/networkConfig.ts +0 -12
  727. package/src/network/options.ts +0 -70
  728. package/src/network/peers/client.ts +0 -29
  729. package/src/network/peers/datastore.ts +0 -188
  730. package/src/network/peers/discover.ts +0 -647
  731. package/src/network/peers/index.ts +0 -2
  732. package/src/network/peers/peerManager.ts +0 -899
  733. package/src/network/peers/peersData.ts +0 -65
  734. package/src/network/peers/score/constants.ts +0 -34
  735. package/src/network/peers/score/index.ts +0 -4
  736. package/src/network/peers/score/interface.ts +0 -74
  737. package/src/network/peers/score/score.ts +0 -200
  738. package/src/network/peers/score/store.ts +0 -95
  739. package/src/network/peers/score/utils.ts +0 -37
  740. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  741. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  742. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  743. package/src/network/peers/utils/index.ts +0 -4
  744. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  745. package/src/network/peers/utils/subnetMap.ts +0 -88
  746. package/src/network/processor/aggregatorTracker.ts +0 -38
  747. package/src/network/processor/extractSlotRootFns.ts +0 -64
  748. package/src/network/processor/gossipHandlers.ts +0 -951
  749. package/src/network/processor/gossipQueues/index.ts +0 -114
  750. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  751. package/src/network/processor/gossipQueues/linear.ts +0 -162
  752. package/src/network/processor/gossipQueues/types.ts +0 -57
  753. package/src/network/processor/gossipValidatorFn.ts +0 -142
  754. package/src/network/processor/index.ts +0 -497
  755. package/src/network/processor/types.ts +0 -27
  756. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  757. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  758. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  759. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  760. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  761. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  762. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  763. package/src/network/reqresp/handlers/index.ts +0 -78
  764. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  765. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  766. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  767. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  768. package/src/network/reqresp/index.ts +0 -2
  769. package/src/network/reqresp/interface.ts +0 -45
  770. package/src/network/reqresp/protocols.ts +0 -146
  771. package/src/network/reqresp/rateLimit.ts +0 -112
  772. package/src/network/reqresp/score.ts +0 -70
  773. package/src/network/reqresp/types.ts +0 -174
  774. package/src/network/reqresp/utils/collect.ts +0 -84
  775. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  776. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  777. package/src/network/statusCache.ts +0 -17
  778. package/src/network/subnets/attnetsService.ts +0 -385
  779. package/src/network/subnets/index.ts +0 -2
  780. package/src/network/subnets/interface.ts +0 -66
  781. package/src/network/subnets/syncnetsService.ts +0 -147
  782. package/src/network/subnets/util.ts +0 -63
  783. package/src/network/util.ts +0 -29
  784. package/src/node/index.ts +0 -2
  785. package/src/node/nodejs.ts +0 -349
  786. package/src/node/notifier.ts +0 -206
  787. package/src/node/options.ts +0 -51
  788. package/src/node/utils/interop/deposits.ts +0 -53
  789. package/src/node/utils/interop/state.ts +0 -59
  790. package/src/node/utils/lightclient.ts +0 -7
  791. package/src/node/utils/state.ts +0 -37
  792. package/src/sync/backfill/backfill.ts +0 -893
  793. package/src/sync/backfill/errors.ts +0 -23
  794. package/src/sync/backfill/index.ts +0 -1
  795. package/src/sync/backfill/verify.ts +0 -58
  796. package/src/sync/constants.ts +0 -71
  797. package/src/sync/index.ts +0 -2
  798. package/src/sync/interface.ts +0 -55
  799. package/src/sync/options.ts +0 -45
  800. package/src/sync/range/batch.ts +0 -455
  801. package/src/sync/range/chain.ts +0 -715
  802. package/src/sync/range/range.ts +0 -354
  803. package/src/sync/range/utils/batches.ts +0 -119
  804. package/src/sync/range/utils/chainTarget.ts +0 -62
  805. package/src/sync/range/utils/hashBlocks.ts +0 -27
  806. package/src/sync/range/utils/index.ts +0 -5
  807. package/src/sync/range/utils/peerBalancer.ts +0 -184
  808. package/src/sync/range/utils/updateChains.ts +0 -66
  809. package/src/sync/sync.ts +0 -290
  810. package/src/sync/types.ts +0 -59
  811. package/src/sync/unknownBlock.ts +0 -862
  812. package/src/sync/utils/downloadByRange.ts +0 -808
  813. package/src/sync/utils/downloadByRoot.ts +0 -560
  814. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  815. package/src/sync/utils/remoteSyncType.ts +0 -144
  816. package/src/util/address.ts +0 -3
  817. package/src/util/array.ts +0 -311
  818. package/src/util/asyncIterableToEvents.ts +0 -164
  819. package/src/util/binarySearch.ts +0 -48
  820. package/src/util/bitArray.ts +0 -84
  821. package/src/util/blobs.ts +0 -210
  822. package/src/util/bufferPool.ts +0 -95
  823. package/src/util/bytes.ts +0 -11
  824. package/src/util/chunkify.ts +0 -27
  825. package/src/util/clock.ts +0 -204
  826. package/src/util/dataColumns.ts +0 -415
  827. package/src/util/dependentRoot.ts +0 -47
  828. package/src/util/enum.ts +0 -17
  829. package/src/util/error.ts +0 -56
  830. package/src/util/eventLoop.ts +0 -22
  831. package/src/util/execution.ts +0 -223
  832. package/src/util/file.ts +0 -52
  833. package/src/util/forkChoice.ts +0 -5
  834. package/src/util/forkName.ts +0 -20
  835. package/src/util/graffiti.ts +0 -39
  836. package/src/util/hex.ts +0 -9
  837. package/src/util/index.ts +0 -2
  838. package/src/util/ip.ts +0 -6
  839. package/src/util/itTrigger.ts +0 -49
  840. package/src/util/kzg.ts +0 -3
  841. package/src/util/map.ts +0 -77
  842. package/src/util/metadata.ts +0 -22
  843. package/src/util/multifork.ts +0 -69
  844. package/src/util/numpy.ts +0 -8
  845. package/src/util/peerId.ts +0 -16
  846. package/src/util/profile.ts +0 -54
  847. package/src/util/promises.ts +0 -14
  848. package/src/util/queue/errors.ts +0 -14
  849. package/src/util/queue/fnQueue.ts +0 -16
  850. package/src/util/queue/index.ts +0 -4
  851. package/src/util/queue/itemQueue.ts +0 -128
  852. package/src/util/queue/options.ts +0 -37
  853. package/src/util/serializedCache.ts +0 -20
  854. package/src/util/set.ts +0 -62
  855. package/src/util/shuffle.ts +0 -21
  856. package/src/util/sortBy.ts +0 -19
  857. package/src/util/sszBytes.ts +0 -481
  858. package/src/util/strictEvents.ts +0 -8
  859. package/src/util/time.ts +0 -13
  860. package/src/util/timeSeries.ts +0 -118
  861. package/src/util/types.ts +0 -31
  862. package/src/util/workerEvents.ts +0 -142
  863. 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
- }