@lodestar/beacon-node 1.35.0-dev.ba92bd8a88 → 1.35.0-dev.c0078a16b5

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 (902) hide show
  1. package/lib/api/impl/config/constants.d.ts +0 -5
  2. package/lib/api/impl/config/constants.js +1 -6
  3. package/lib/api/impl/config/constants.js.map +1 -1
  4. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
  5. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  6. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  7. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  8. package/lib/chain/bls/multithread/index.js +0 -1
  9. package/lib/chain/bls/multithread/index.js.map +1 -1
  10. package/lib/chain/emitter.d.ts +2 -2
  11. package/lib/db/buckets.d.ts +4 -4
  12. package/lib/db/buckets.js +4 -4
  13. package/lib/db/buckets.js.map +1 -1
  14. package/lib/db/repositories/blobSidecars.js +1 -1
  15. package/lib/db/repositories/blobSidecars.js.map +1 -1
  16. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  17. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  18. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  19. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  20. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  21. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  22. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  23. package/lib/network/core/networkCoreWorkerHandler.js +3 -9
  24. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  25. package/lib/network/discv5/index.js +1 -4
  26. package/lib/network/discv5/index.js.map +1 -1
  27. package/lib/network/gossip/gossipsub.d.ts +0 -1
  28. package/lib/network/gossip/gossipsub.js +16 -35
  29. package/lib/network/gossip/gossipsub.js.map +1 -1
  30. package/lib/network/gossip/metrics.d.ts +7 -15
  31. package/lib/network/gossip/metrics.js +6 -16
  32. package/lib/network/gossip/metrics.js.map +1 -1
  33. package/lib/network/libp2p/index.js +1 -9
  34. package/lib/network/libp2p/index.js.map +1 -1
  35. package/lib/network/metadata.js +1 -2
  36. package/lib/network/metadata.js.map +1 -1
  37. package/lib/network/network.js +4 -2
  38. package/lib/network/network.js.map +1 -1
  39. package/lib/network/peers/datastore.d.ts +2 -2
  40. package/lib/network/peers/datastore.js +2 -2
  41. package/lib/network/peers/datastore.js.map +1 -1
  42. package/lib/network/processor/index.d.ts +1 -1
  43. package/lib/network/processor/index.js +3 -2
  44. package/lib/network/processor/index.js.map +1 -1
  45. package/lib/sync/types.d.ts +1 -0
  46. package/lib/sync/types.js.map +1 -1
  47. package/lib/sync/unknownBlock.js +14 -12
  48. package/lib/sync/unknownBlock.js.map +1 -1
  49. package/lib/sync/utils/downloadByRoot.d.ts +1 -3
  50. package/lib/sync/utils/downloadByRoot.js +5 -32
  51. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  52. package/lib/util/blobs.js +3 -5
  53. package/lib/util/blobs.js.map +1 -1
  54. package/lib/util/execution.js +2 -19
  55. package/lib/util/execution.js.map +1 -1
  56. package/package.json +22 -32
  57. package/lib/api/impl/api.d.ts.map +0 -1
  58. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  59. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  60. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  61. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  62. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  63. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  64. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  65. package/lib/api/impl/config/constants.d.ts.map +0 -1
  66. package/lib/api/impl/config/index.d.ts.map +0 -1
  67. package/lib/api/impl/debug/index.d.ts.map +0 -1
  68. package/lib/api/impl/errors.d.ts.map +0 -1
  69. package/lib/api/impl/events/index.d.ts.map +0 -1
  70. package/lib/api/impl/index.d.ts.map +0 -1
  71. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  72. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  73. package/lib/api/impl/node/index.d.ts.map +0 -1
  74. package/lib/api/impl/node/utils.d.ts.map +0 -1
  75. package/lib/api/impl/proof/index.d.ts.map +0 -1
  76. package/lib/api/impl/types.d.ts.map +0 -1
  77. package/lib/api/impl/utils.d.ts.map +0 -1
  78. package/lib/api/impl/validator/index.d.ts.map +0 -1
  79. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  80. package/lib/api/index.d.ts.map +0 -1
  81. package/lib/api/options.d.ts.map +0 -1
  82. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  83. package/lib/api/rest/base.d.ts.map +0 -1
  84. package/lib/api/rest/index.d.ts.map +0 -1
  85. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  86. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  87. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  88. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  89. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  90. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  91. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  92. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  93. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  94. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  95. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  96. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  97. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  98. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  99. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  100. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  101. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  102. package/lib/chain/balancesCache.d.ts.map +0 -1
  103. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  104. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  105. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  106. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  107. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  108. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  109. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  110. package/lib/chain/blocks/index.d.ts.map +0 -1
  111. package/lib/chain/blocks/types.d.ts.map +0 -1
  112. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  113. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  114. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  115. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  116. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  117. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  118. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  119. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  120. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  121. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  122. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  123. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  124. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  125. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  126. package/lib/chain/bls/index.d.ts.map +0 -1
  127. package/lib/chain/bls/interface.d.ts.map +0 -1
  128. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  129. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  130. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  131. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  132. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  133. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  134. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  135. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  136. package/lib/chain/bls/utils.d.ts.map +0 -1
  137. package/lib/chain/chain.d.ts.map +0 -1
  138. package/lib/chain/emitter.d.ts.map +0 -1
  139. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  140. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  141. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  142. package/lib/chain/errors/blockError.d.ts.map +0 -1
  143. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  144. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  145. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  146. package/lib/chain/errors/index.d.ts.map +0 -1
  147. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  148. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  149. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  150. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  151. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  152. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  153. package/lib/chain/genesis/interface.d.ts.map +0 -1
  154. package/lib/chain/index.d.ts.map +0 -1
  155. package/lib/chain/initState.d.ts.map +0 -1
  156. package/lib/chain/interface.d.ts.map +0 -1
  157. package/lib/chain/lightClient/index.d.ts.map +0 -1
  158. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  159. package/lib/chain/lightClient/types.d.ts.map +0 -1
  160. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  161. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  162. package/lib/chain/opPools/index.d.ts.map +0 -1
  163. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  164. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  165. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  166. package/lib/chain/opPools/types.d.ts.map +0 -1
  167. package/lib/chain/opPools/utils.d.ts.map +0 -1
  168. package/lib/chain/options.d.ts.map +0 -1
  169. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  170. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  171. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  172. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  173. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  174. package/lib/chain/regen/errors.d.ts.map +0 -1
  175. package/lib/chain/regen/index.d.ts.map +0 -1
  176. package/lib/chain/regen/interface.d.ts.map +0 -1
  177. package/lib/chain/regen/queued.d.ts.map +0 -1
  178. package/lib/chain/regen/regen.d.ts.map +0 -1
  179. package/lib/chain/reprocess.d.ts.map +0 -1
  180. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  181. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  182. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  183. package/lib/chain/seenCache/index.d.ts.map +0 -1
  184. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  185. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  186. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  187. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  188. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  189. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  190. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  191. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  192. package/lib/chain/serializeState.d.ts.map +0 -1
  193. package/lib/chain/shufflingCache.d.ts.map +0 -1
  194. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  195. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  196. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  197. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  198. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  199. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  200. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  201. package/lib/chain/stateCache/index.d.ts.map +0 -1
  202. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  203. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  204. package/lib/chain/stateCache/types.d.ts.map +0 -1
  205. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  206. package/lib/chain/validation/attestation.d.ts.map +0 -1
  207. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  208. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  209. package/lib/chain/validation/block.d.ts.map +0 -1
  210. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  211. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  212. package/lib/chain/validation/index.d.ts.map +0 -1
  213. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  214. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  215. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  216. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  217. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  218. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  219. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  220. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  221. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  222. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  223. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  224. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  225. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  226. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  227. package/lib/constants/constants.d.ts.map +0 -1
  228. package/lib/constants/index.d.ts.map +0 -1
  229. package/lib/constants/network.d.ts.map +0 -1
  230. package/lib/db/beacon.d.ts.map +0 -1
  231. package/lib/db/buckets.d.ts.map +0 -1
  232. package/lib/db/index.d.ts.map +0 -1
  233. package/lib/db/interface.d.ts.map +0 -1
  234. package/lib/db/options.d.ts.map +0 -1
  235. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  236. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  237. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  238. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  239. package/lib/db/repositories/block.d.ts.map +0 -1
  240. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  241. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  242. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  243. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  244. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  245. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  246. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  247. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  248. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  249. package/lib/db/repositories/index.d.ts.map +0 -1
  250. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  251. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  252. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  253. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  254. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  255. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  256. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  257. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  258. package/lib/db/single/index.d.ts.map +0 -1
  259. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  260. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  261. package/lib/eth1/errors.d.ts.map +0 -1
  262. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  263. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  264. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  265. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  266. package/lib/eth1/index.d.ts.map +0 -1
  267. package/lib/eth1/interface.d.ts.map +0 -1
  268. package/lib/eth1/options.d.ts.map +0 -1
  269. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  270. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  271. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  272. package/lib/eth1/provider/utils.d.ts.map +0 -1
  273. package/lib/eth1/stream.d.ts.map +0 -1
  274. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  275. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  276. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  277. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  278. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  279. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  280. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  281. package/lib/execution/builder/cache.d.ts.map +0 -1
  282. package/lib/execution/builder/http.d.ts.map +0 -1
  283. package/lib/execution/builder/index.d.ts.map +0 -1
  284. package/lib/execution/builder/interface.d.ts.map +0 -1
  285. package/lib/execution/builder/utils.d.ts.map +0 -1
  286. package/lib/execution/engine/disabled.d.ts.map +0 -1
  287. package/lib/execution/engine/http.d.ts.map +0 -1
  288. package/lib/execution/engine/index.d.ts.map +0 -1
  289. package/lib/execution/engine/interface.d.ts.map +0 -1
  290. package/lib/execution/engine/mock.d.ts.map +0 -1
  291. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  292. package/lib/execution/engine/types.d.ts.map +0 -1
  293. package/lib/execution/engine/utils.d.ts.map +0 -1
  294. package/lib/execution/index.d.ts.map +0 -1
  295. package/lib/index.d.ts.map +0 -1
  296. package/lib/metrics/index.d.ts.map +0 -1
  297. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  298. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  299. package/lib/metrics/metrics.d.ts.map +0 -1
  300. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  301. package/lib/metrics/options.d.ts.map +0 -1
  302. package/lib/metrics/server/http.d.ts.map +0 -1
  303. package/lib/metrics/server/index.d.ts.map +0 -1
  304. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  305. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  306. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  307. package/lib/monitoring/clientStats.d.ts.map +0 -1
  308. package/lib/monitoring/index.d.ts.map +0 -1
  309. package/lib/monitoring/options.d.ts.map +0 -1
  310. package/lib/monitoring/properties.d.ts.map +0 -1
  311. package/lib/monitoring/service.d.ts.map +0 -1
  312. package/lib/monitoring/system.d.ts.map +0 -1
  313. package/lib/monitoring/types.d.ts.map +0 -1
  314. package/lib/network/core/events.d.ts.map +0 -1
  315. package/lib/network/core/index.d.ts.map +0 -1
  316. package/lib/network/core/metrics.d.ts.map +0 -1
  317. package/lib/network/core/networkCore.d.ts.map +0 -1
  318. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  319. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  320. package/lib/network/core/types.d.ts.map +0 -1
  321. package/lib/network/discv5/index.d.ts.map +0 -1
  322. package/lib/network/discv5/types.d.ts.map +0 -1
  323. package/lib/network/discv5/utils.d.ts.map +0 -1
  324. package/lib/network/discv5/worker.d.ts.map +0 -1
  325. package/lib/network/events.d.ts.map +0 -1
  326. package/lib/network/forks.d.ts.map +0 -1
  327. package/lib/network/gossip/constants.d.ts.map +0 -1
  328. package/lib/network/gossip/encoding.d.ts.map +0 -1
  329. package/lib/network/gossip/errors.d.ts.map +0 -1
  330. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  331. package/lib/network/gossip/index.d.ts.map +0 -1
  332. package/lib/network/gossip/interface.d.ts.map +0 -1
  333. package/lib/network/gossip/metrics.d.ts.map +0 -1
  334. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  335. package/lib/network/gossip/topic.d.ts.map +0 -1
  336. package/lib/network/index.d.ts.map +0 -1
  337. package/lib/network/interface.d.ts.map +0 -1
  338. package/lib/network/libp2p/error.d.ts.map +0 -1
  339. package/lib/network/libp2p/index.d.ts.map +0 -1
  340. package/lib/network/metadata.d.ts.map +0 -1
  341. package/lib/network/network.d.ts.map +0 -1
  342. package/lib/network/networkConfig.d.ts.map +0 -1
  343. package/lib/network/options.d.ts.map +0 -1
  344. package/lib/network/peers/client.d.ts.map +0 -1
  345. package/lib/network/peers/datastore.d.ts.map +0 -1
  346. package/lib/network/peers/discover.d.ts.map +0 -1
  347. package/lib/network/peers/index.d.ts.map +0 -1
  348. package/lib/network/peers/peerManager.d.ts.map +0 -1
  349. package/lib/network/peers/peersData.d.ts.map +0 -1
  350. package/lib/network/peers/score/constants.d.ts.map +0 -1
  351. package/lib/network/peers/score/index.d.ts.map +0 -1
  352. package/lib/network/peers/score/interface.d.ts.map +0 -1
  353. package/lib/network/peers/score/score.d.ts.map +0 -1
  354. package/lib/network/peers/score/store.d.ts.map +0 -1
  355. package/lib/network/peers/score/utils.d.ts.map +0 -1
  356. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  357. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  358. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  359. package/lib/network/peers/utils/index.d.ts.map +0 -1
  360. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  361. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  362. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  363. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  364. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  365. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  366. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  367. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  368. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  369. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  370. package/lib/network/processor/index.d.ts.map +0 -1
  371. package/lib/network/processor/types.d.ts.map +0 -1
  372. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  373. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  374. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  375. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  376. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  377. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  378. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  379. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  380. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  381. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  382. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  383. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  384. package/lib/network/reqresp/index.d.ts.map +0 -1
  385. package/lib/network/reqresp/interface.d.ts.map +0 -1
  386. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  387. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  388. package/lib/network/reqresp/score.d.ts.map +0 -1
  389. package/lib/network/reqresp/types.d.ts.map +0 -1
  390. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  391. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  392. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  393. package/lib/network/statusCache.d.ts.map +0 -1
  394. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  395. package/lib/network/subnets/index.d.ts.map +0 -1
  396. package/lib/network/subnets/interface.d.ts.map +0 -1
  397. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  398. package/lib/network/subnets/util.d.ts.map +0 -1
  399. package/lib/network/util.d.ts.map +0 -1
  400. package/lib/node/index.d.ts.map +0 -1
  401. package/lib/node/nodejs.d.ts.map +0 -1
  402. package/lib/node/notifier.d.ts.map +0 -1
  403. package/lib/node/options.d.ts.map +0 -1
  404. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  405. package/lib/node/utils/interop/state.d.ts.map +0 -1
  406. package/lib/node/utils/lightclient.d.ts.map +0 -1
  407. package/lib/node/utils/state.d.ts.map +0 -1
  408. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  409. package/lib/sync/backfill/errors.d.ts.map +0 -1
  410. package/lib/sync/backfill/index.d.ts.map +0 -1
  411. package/lib/sync/backfill/verify.d.ts.map +0 -1
  412. package/lib/sync/constants.d.ts.map +0 -1
  413. package/lib/sync/index.d.ts.map +0 -1
  414. package/lib/sync/interface.d.ts.map +0 -1
  415. package/lib/sync/options.d.ts.map +0 -1
  416. package/lib/sync/range/batch.d.ts.map +0 -1
  417. package/lib/sync/range/chain.d.ts.map +0 -1
  418. package/lib/sync/range/range.d.ts.map +0 -1
  419. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  420. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  421. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  422. package/lib/sync/range/utils/index.d.ts.map +0 -1
  423. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  424. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  425. package/lib/sync/sync.d.ts.map +0 -1
  426. package/lib/sync/types.d.ts.map +0 -1
  427. package/lib/sync/unknownBlock.d.ts.map +0 -1
  428. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  429. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  430. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  431. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  432. package/lib/util/address.d.ts.map +0 -1
  433. package/lib/util/array.d.ts.map +0 -1
  434. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  435. package/lib/util/binarySearch.d.ts.map +0 -1
  436. package/lib/util/bitArray.d.ts.map +0 -1
  437. package/lib/util/blobs.d.ts.map +0 -1
  438. package/lib/util/bufferPool.d.ts.map +0 -1
  439. package/lib/util/bytes.d.ts.map +0 -1
  440. package/lib/util/chunkify.d.ts.map +0 -1
  441. package/lib/util/clock.d.ts.map +0 -1
  442. package/lib/util/dataColumns.d.ts.map +0 -1
  443. package/lib/util/dependentRoot.d.ts.map +0 -1
  444. package/lib/util/enum.d.ts.map +0 -1
  445. package/lib/util/error.d.ts.map +0 -1
  446. package/lib/util/eventLoop.d.ts.map +0 -1
  447. package/lib/util/execution.d.ts.map +0 -1
  448. package/lib/util/file.d.ts.map +0 -1
  449. package/lib/util/forkChoice.d.ts.map +0 -1
  450. package/lib/util/forkName.d.ts.map +0 -1
  451. package/lib/util/graffiti.d.ts.map +0 -1
  452. package/lib/util/hex.d.ts.map +0 -1
  453. package/lib/util/index.d.ts.map +0 -1
  454. package/lib/util/ip.d.ts.map +0 -1
  455. package/lib/util/itTrigger.d.ts.map +0 -1
  456. package/lib/util/kzg.d.ts.map +0 -1
  457. package/lib/util/map.d.ts.map +0 -1
  458. package/lib/util/metadata.d.ts.map +0 -1
  459. package/lib/util/multifork.d.ts.map +0 -1
  460. package/lib/util/numpy.d.ts.map +0 -1
  461. package/lib/util/peerId.d.ts.map +0 -1
  462. package/lib/util/profile.d.ts.map +0 -1
  463. package/lib/util/promises.d.ts.map +0 -1
  464. package/lib/util/queue/errors.d.ts.map +0 -1
  465. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  466. package/lib/util/queue/index.d.ts.map +0 -1
  467. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  468. package/lib/util/queue/options.d.ts.map +0 -1
  469. package/lib/util/serializedCache.d.ts.map +0 -1
  470. package/lib/util/set.d.ts.map +0 -1
  471. package/lib/util/shuffle.d.ts.map +0 -1
  472. package/lib/util/sortBy.d.ts.map +0 -1
  473. package/lib/util/sszBytes.d.ts.map +0 -1
  474. package/lib/util/strictEvents.d.ts.map +0 -1
  475. package/lib/util/time.d.ts.map +0 -1
  476. package/lib/util/timeSeries.d.ts.map +0 -1
  477. package/lib/util/types.d.ts.map +0 -1
  478. package/lib/util/workerEvents.d.ts.map +0 -1
  479. package/lib/util/wrapError.d.ts.map +0 -1
  480. package/src/api/impl/api.ts +0 -26
  481. package/src/api/impl/beacon/blocks/index.ts +0 -744
  482. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  483. package/src/api/impl/beacon/index.ts +0 -35
  484. package/src/api/impl/beacon/pool/index.ts +0 -314
  485. package/src/api/impl/beacon/rewards/index.ts +0 -30
  486. package/src/api/impl/beacon/state/index.ts +0 -406
  487. package/src/api/impl/beacon/state/utils.ts +0 -189
  488. package/src/api/impl/config/constants.ts +0 -127
  489. package/src/api/impl/config/index.ts +0 -59
  490. package/src/api/impl/debug/index.ts +0 -131
  491. package/src/api/impl/errors.ts +0 -50
  492. package/src/api/impl/events/index.ts +0 -33
  493. package/src/api/impl/index.ts +0 -6
  494. package/src/api/impl/lightclient/index.ts +0 -64
  495. package/src/api/impl/lodestar/index.ts +0 -257
  496. package/src/api/impl/node/index.ts +0 -88
  497. package/src/api/impl/node/utils.ts +0 -51
  498. package/src/api/impl/proof/index.ts +0 -60
  499. package/src/api/impl/types.ts +0 -17
  500. package/src/api/impl/utils.ts +0 -25
  501. package/src/api/impl/validator/index.ts +0 -1538
  502. package/src/api/impl/validator/utils.ts +0 -85
  503. package/src/api/index.ts +0 -2
  504. package/src/api/options.ts +0 -16
  505. package/src/api/rest/activeSockets.ts +0 -109
  506. package/src/api/rest/base.ts +0 -216
  507. package/src/api/rest/index.ts +0 -63
  508. package/src/api/rest/swaggerUI.ts +0 -80
  509. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  510. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  511. package/src/chain/GetBlobsTracker.ts +0 -115
  512. package/src/chain/archiveStore/archiveStore.ts +0 -222
  513. package/src/chain/archiveStore/constants.ts +0 -5
  514. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  515. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  516. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  517. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  518. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  519. package/src/chain/archiveStore/index.ts +0 -3
  520. package/src/chain/archiveStore/interface.ts +0 -75
  521. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  522. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  523. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  524. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  525. package/src/chain/balancesCache.ts +0 -52
  526. package/src/chain/beaconProposerCache.ts +0 -43
  527. package/src/chain/blocks/blockInput/blockInput.ts +0 -851
  528. package/src/chain/blocks/blockInput/errors.ts +0 -48
  529. package/src/chain/blocks/blockInput/index.ts +0 -4
  530. package/src/chain/blocks/blockInput/types.ts +0 -145
  531. package/src/chain/blocks/blockInput/utils.ts +0 -21
  532. package/src/chain/blocks/importBlock.ts +0 -603
  533. package/src/chain/blocks/index.ts +0 -179
  534. package/src/chain/blocks/types.ts +0 -101
  535. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  536. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  537. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  538. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  539. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  540. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  541. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  542. package/src/chain/blocks/verifyBlock.ts +0 -242
  543. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -34
  544. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  545. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  546. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  547. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  548. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  549. package/src/chain/bls/index.ts +0 -4
  550. package/src/chain/bls/interface.ts +0 -68
  551. package/src/chain/bls/maybeBatch.ts +0 -45
  552. package/src/chain/bls/multithread/index.ts +0 -582
  553. package/src/chain/bls/multithread/jobItem.ts +0 -119
  554. package/src/chain/bls/multithread/poolSize.ts +0 -16
  555. package/src/chain/bls/multithread/types.ts +0 -38
  556. package/src/chain/bls/multithread/utils.ts +0 -19
  557. package/src/chain/bls/multithread/worker.ts +0 -114
  558. package/src/chain/bls/singleThread.ts +0 -87
  559. package/src/chain/bls/utils.ts +0 -30
  560. package/src/chain/chain.ts +0 -1365
  561. package/src/chain/emitter.ts +0 -113
  562. package/src/chain/errors/attestationError.ts +0 -194
  563. package/src/chain/errors/attesterSlashingError.ts +0 -11
  564. package/src/chain/errors/blobSidecarError.ts +0 -60
  565. package/src/chain/errors/blockError.ts +0 -166
  566. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  567. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  568. package/src/chain/errors/gossipValidation.ts +0 -20
  569. package/src/chain/errors/index.ts +0 -10
  570. package/src/chain/errors/lightClientError.ts +0 -30
  571. package/src/chain/errors/proposerSlashingError.ts +0 -11
  572. package/src/chain/errors/syncCommitteeError.ts +0 -36
  573. package/src/chain/errors/voluntaryExitError.ts +0 -13
  574. package/src/chain/forkChoice/index.ts +0 -112
  575. package/src/chain/genesis/genesis.ts +0 -190
  576. package/src/chain/genesis/interface.ts +0 -14
  577. package/src/chain/index.ts +0 -6
  578. package/src/chain/initState.ts +0 -221
  579. package/src/chain/interface.ts +0 -280
  580. package/src/chain/lightClient/index.ts +0 -764
  581. package/src/chain/lightClient/proofs.ts +0 -85
  582. package/src/chain/lightClient/types.ts +0 -33
  583. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  584. package/src/chain/opPools/attestationPool.ts +0 -283
  585. package/src/chain/opPools/index.ts +0 -5
  586. package/src/chain/opPools/opPool.ts +0 -462
  587. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -167
  588. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  589. package/src/chain/opPools/types.ts +0 -35
  590. package/src/chain/opPools/utils.ts +0 -65
  591. package/src/chain/options.ts +0 -138
  592. package/src/chain/prepareNextSlot.ts +0 -277
  593. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  594. package/src/chain/produceBlock/index.ts +0 -2
  595. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  596. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  597. package/src/chain/regen/errors.ts +0 -30
  598. package/src/chain/regen/index.ts +0 -4
  599. package/src/chain/regen/interface.ts +0 -93
  600. package/src/chain/regen/queued.ts +0 -317
  601. package/src/chain/regen/regen.ts +0 -424
  602. package/src/chain/reprocess.ts +0 -161
  603. package/src/chain/rewards/attestationsRewards.ts +0 -196
  604. package/src/chain/rewards/blockRewards.ts +0 -150
  605. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  606. package/src/chain/seenCache/index.ts +0 -5
  607. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  608. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  609. package/src/chain/seenCache/seenAttesters.ts +0 -58
  610. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  611. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  612. package/src/chain/seenCache/seenCommittee.ts +0 -43
  613. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  614. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  615. package/src/chain/serializeState.ts +0 -32
  616. package/src/chain/shufflingCache.ts +0 -238
  617. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  618. package/src/chain/stateCache/datastore/db.ts +0 -36
  619. package/src/chain/stateCache/datastore/file.ts +0 -53
  620. package/src/chain/stateCache/datastore/index.ts +0 -2
  621. package/src/chain/stateCache/datastore/types.ts +0 -13
  622. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  623. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  624. package/src/chain/stateCache/index.ts +0 -3
  625. package/src/chain/stateCache/mapMetrics.ts +0 -52
  626. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -835
  627. package/src/chain/stateCache/types.ts +0 -86
  628. package/src/chain/validation/aggregateAndProof.ts +0 -258
  629. package/src/chain/validation/attestation.ts +0 -885
  630. package/src/chain/validation/attesterSlashing.ts +0 -61
  631. package/src/chain/validation/blobSidecar.ts +0 -301
  632. package/src/chain/validation/block.ts +0 -188
  633. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  634. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  635. package/src/chain/validation/index.ts +0 -9
  636. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -45
  637. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -67
  638. package/src/chain/validation/proposerSlashing.ts +0 -54
  639. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  640. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  641. package/src/chain/validation/signatureSets/index.ts +0 -6
  642. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  643. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  644. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  645. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  646. package/src/chain/validation/syncCommittee.ts +0 -165
  647. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  648. package/src/chain/validation/voluntaryExit.ts +0 -58
  649. package/src/chain/validatorMonitor.ts +0 -1299
  650. package/src/constants/constants.ts +0 -15
  651. package/src/constants/index.ts +0 -2
  652. package/src/constants/network.ts +0 -52
  653. package/src/db/beacon.ts +0 -113
  654. package/src/db/buckets.ts +0 -80
  655. package/src/db/index.ts +0 -2
  656. package/src/db/interface.ts +0 -76
  657. package/src/db/options.ts +0 -7
  658. package/src/db/repositories/attesterSlashing.ts +0 -38
  659. package/src/db/repositories/backfilledRanges.ts +0 -29
  660. package/src/db/repositories/blobSidecars.ts +0 -37
  661. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  662. package/src/db/repositories/block.ts +0 -33
  663. package/src/db/repositories/blockArchive.ts +0 -170
  664. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  665. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  666. package/src/db/repositories/checkpointState.ts +0 -31
  667. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  668. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  669. package/src/db/repositories/depositDataRoot.ts +0 -80
  670. package/src/db/repositories/depositEvent.ts +0 -32
  671. package/src/db/repositories/eth1Data.ts +0 -33
  672. package/src/db/repositories/index.ts +0 -20
  673. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  674. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  675. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  676. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  677. package/src/db/repositories/proposerSlashing.ts +0 -15
  678. package/src/db/repositories/stateArchive.ts +0 -69
  679. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  680. package/src/db/repositories/voluntaryExit.ts +0 -15
  681. package/src/db/single/index.ts +0 -2
  682. package/src/db/single/preGenesisState.ts +0 -37
  683. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  684. package/src/eth1/errors.ts +0 -40
  685. package/src/eth1/eth1DataCache.ts +0 -26
  686. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  687. package/src/eth1/eth1DepositsCache.ts +0 -141
  688. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  689. package/src/eth1/index.ts +0 -157
  690. package/src/eth1/interface.ts +0 -131
  691. package/src/eth1/options.ts +0 -28
  692. package/src/eth1/provider/eth1Provider.ts +0 -229
  693. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  694. package/src/eth1/provider/jwt.ts +0 -36
  695. package/src/eth1/provider/utils.ts +0 -136
  696. package/src/eth1/stream.ts +0 -75
  697. package/src/eth1/utils/depositContract.ts +0 -37
  698. package/src/eth1/utils/deposits.ts +0 -70
  699. package/src/eth1/utils/eth1Data.ts +0 -100
  700. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  701. package/src/eth1/utils/eth1Vote.ts +0 -142
  702. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  703. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  704. package/src/execution/builder/cache.ts +0 -39
  705. package/src/execution/builder/http.ts +0 -229
  706. package/src/execution/builder/index.ts +0 -27
  707. package/src/execution/builder/interface.ts +0 -49
  708. package/src/execution/builder/utils.ts +0 -19
  709. package/src/execution/engine/disabled.ts +0 -35
  710. package/src/execution/engine/http.ts +0 -644
  711. package/src/execution/engine/index.ts +0 -63
  712. package/src/execution/engine/interface.ts +0 -199
  713. package/src/execution/engine/mock.ts +0 -493
  714. package/src/execution/engine/payloadIdCache.ts +0 -54
  715. package/src/execution/engine/types.ts +0 -640
  716. package/src/execution/engine/utils.ts +0 -136
  717. package/src/execution/index.ts +0 -4
  718. package/src/index.ts +0 -20
  719. package/src/metrics/index.ts +0 -4
  720. package/src/metrics/metrics/beacon.ts +0 -390
  721. package/src/metrics/metrics/lodestar.ts +0 -1870
  722. package/src/metrics/metrics.ts +0 -43
  723. package/src/metrics/nodeJsMetrics.ts +0 -19
  724. package/src/metrics/options.ts +0 -22
  725. package/src/metrics/server/http.ts +0 -114
  726. package/src/metrics/server/index.ts +0 -1
  727. package/src/metrics/utils/avgMinMax.ts +0 -87
  728. package/src/metrics/utils/gauge.ts +0 -22
  729. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  730. package/src/monitoring/clientStats.ts +0 -297
  731. package/src/monitoring/index.ts +0 -2
  732. package/src/monitoring/options.ts +0 -19
  733. package/src/monitoring/properties.ts +0 -152
  734. package/src/monitoring/service.ts +0 -235
  735. package/src/monitoring/system.ts +0 -146
  736. package/src/monitoring/types.ts +0 -21
  737. package/src/network/core/events.ts +0 -59
  738. package/src/network/core/index.ts +0 -3
  739. package/src/network/core/metrics.ts +0 -304
  740. package/src/network/core/networkCore.ts +0 -599
  741. package/src/network/core/networkCoreWorker.ts +0 -176
  742. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  743. package/src/network/core/types.ts +0 -119
  744. package/src/network/discv5/index.ts +0 -132
  745. package/src/network/discv5/types.ts +0 -74
  746. package/src/network/discv5/utils.ts +0 -50
  747. package/src/network/discv5/worker.ts +0 -137
  748. package/src/network/events.ts +0 -51
  749. package/src/network/forks.ts +0 -94
  750. package/src/network/gossip/constants.ts +0 -15
  751. package/src/network/gossip/encoding.ts +0 -111
  752. package/src/network/gossip/errors.ts +0 -7
  753. package/src/network/gossip/gossipsub.ts +0 -384
  754. package/src/network/gossip/index.ts +0 -4
  755. package/src/network/gossip/interface.ts +0 -215
  756. package/src/network/gossip/metrics.ts +0 -71
  757. package/src/network/gossip/scoringParameters.ts +0 -333
  758. package/src/network/gossip/topic.ts +0 -332
  759. package/src/network/index.ts +0 -8
  760. package/src/network/interface.ts +0 -134
  761. package/src/network/libp2p/error.ts +0 -55
  762. package/src/network/libp2p/index.ts +0 -153
  763. package/src/network/metadata.ts +0 -162
  764. package/src/network/network.ts +0 -767
  765. package/src/network/networkConfig.ts +0 -12
  766. package/src/network/options.ts +0 -70
  767. package/src/network/peers/client.ts +0 -29
  768. package/src/network/peers/datastore.ts +0 -188
  769. package/src/network/peers/discover.ts +0 -647
  770. package/src/network/peers/index.ts +0 -2
  771. package/src/network/peers/peerManager.ts +0 -899
  772. package/src/network/peers/peersData.ts +0 -65
  773. package/src/network/peers/score/constants.ts +0 -34
  774. package/src/network/peers/score/index.ts +0 -4
  775. package/src/network/peers/score/interface.ts +0 -74
  776. package/src/network/peers/score/score.ts +0 -200
  777. package/src/network/peers/score/store.ts +0 -95
  778. package/src/network/peers/score/utils.ts +0 -37
  779. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  780. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  781. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  782. package/src/network/peers/utils/index.ts +0 -4
  783. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  784. package/src/network/peers/utils/subnetMap.ts +0 -88
  785. package/src/network/processor/aggregatorTracker.ts +0 -38
  786. package/src/network/processor/extractSlotRootFns.ts +0 -64
  787. package/src/network/processor/gossipHandlers.ts +0 -951
  788. package/src/network/processor/gossipQueues/index.ts +0 -114
  789. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  790. package/src/network/processor/gossipQueues/linear.ts +0 -162
  791. package/src/network/processor/gossipQueues/types.ts +0 -57
  792. package/src/network/processor/gossipValidatorFn.ts +0 -142
  793. package/src/network/processor/index.ts +0 -496
  794. package/src/network/processor/types.ts +0 -27
  795. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  796. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  797. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  798. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  799. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  800. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  801. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  802. package/src/network/reqresp/handlers/index.ts +0 -78
  803. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  804. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  805. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  806. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  807. package/src/network/reqresp/index.ts +0 -2
  808. package/src/network/reqresp/interface.ts +0 -45
  809. package/src/network/reqresp/protocols.ts +0 -146
  810. package/src/network/reqresp/rateLimit.ts +0 -112
  811. package/src/network/reqresp/score.ts +0 -70
  812. package/src/network/reqresp/types.ts +0 -174
  813. package/src/network/reqresp/utils/collect.ts +0 -84
  814. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  815. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  816. package/src/network/statusCache.ts +0 -17
  817. package/src/network/subnets/attnetsService.ts +0 -385
  818. package/src/network/subnets/index.ts +0 -2
  819. package/src/network/subnets/interface.ts +0 -66
  820. package/src/network/subnets/syncnetsService.ts +0 -147
  821. package/src/network/subnets/util.ts +0 -63
  822. package/src/network/util.ts +0 -29
  823. package/src/node/index.ts +0 -2
  824. package/src/node/nodejs.ts +0 -349
  825. package/src/node/notifier.ts +0 -206
  826. package/src/node/options.ts +0 -51
  827. package/src/node/utils/interop/deposits.ts +0 -53
  828. package/src/node/utils/interop/state.ts +0 -59
  829. package/src/node/utils/lightclient.ts +0 -7
  830. package/src/node/utils/state.ts +0 -37
  831. package/src/sync/backfill/backfill.ts +0 -893
  832. package/src/sync/backfill/errors.ts +0 -23
  833. package/src/sync/backfill/index.ts +0 -1
  834. package/src/sync/backfill/verify.ts +0 -58
  835. package/src/sync/constants.ts +0 -71
  836. package/src/sync/index.ts +0 -2
  837. package/src/sync/interface.ts +0 -55
  838. package/src/sync/options.ts +0 -45
  839. package/src/sync/range/batch.ts +0 -455
  840. package/src/sync/range/chain.ts +0 -715
  841. package/src/sync/range/range.ts +0 -354
  842. package/src/sync/range/utils/batches.ts +0 -119
  843. package/src/sync/range/utils/chainTarget.ts +0 -62
  844. package/src/sync/range/utils/hashBlocks.ts +0 -27
  845. package/src/sync/range/utils/index.ts +0 -5
  846. package/src/sync/range/utils/peerBalancer.ts +0 -184
  847. package/src/sync/range/utils/updateChains.ts +0 -66
  848. package/src/sync/sync.ts +0 -290
  849. package/src/sync/types.ts +0 -57
  850. package/src/sync/unknownBlock.ts +0 -859
  851. package/src/sync/utils/downloadByRange.ts +0 -808
  852. package/src/sync/utils/downloadByRoot.ts +0 -560
  853. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  854. package/src/sync/utils/remoteSyncType.ts +0 -144
  855. package/src/util/address.ts +0 -3
  856. package/src/util/array.ts +0 -311
  857. package/src/util/asyncIterableToEvents.ts +0 -164
  858. package/src/util/binarySearch.ts +0 -48
  859. package/src/util/bitArray.ts +0 -84
  860. package/src/util/blobs.ts +0 -210
  861. package/src/util/bufferPool.ts +0 -95
  862. package/src/util/bytes.ts +0 -11
  863. package/src/util/chunkify.ts +0 -27
  864. package/src/util/clock.ts +0 -204
  865. package/src/util/dataColumns.ts +0 -415
  866. package/src/util/dependentRoot.ts +0 -47
  867. package/src/util/enum.ts +0 -17
  868. package/src/util/error.ts +0 -56
  869. package/src/util/eventLoop.ts +0 -22
  870. package/src/util/execution.ts +0 -223
  871. package/src/util/file.ts +0 -52
  872. package/src/util/forkChoice.ts +0 -5
  873. package/src/util/forkName.ts +0 -20
  874. package/src/util/graffiti.ts +0 -39
  875. package/src/util/hex.ts +0 -9
  876. package/src/util/index.ts +0 -2
  877. package/src/util/ip.ts +0 -6
  878. package/src/util/itTrigger.ts +0 -49
  879. package/src/util/kzg.ts +0 -3
  880. package/src/util/map.ts +0 -77
  881. package/src/util/metadata.ts +0 -22
  882. package/src/util/multifork.ts +0 -69
  883. package/src/util/numpy.ts +0 -8
  884. package/src/util/peerId.ts +0 -16
  885. package/src/util/profile.ts +0 -54
  886. package/src/util/promises.ts +0 -14
  887. package/src/util/queue/errors.ts +0 -14
  888. package/src/util/queue/fnQueue.ts +0 -16
  889. package/src/util/queue/index.ts +0 -4
  890. package/src/util/queue/itemQueue.ts +0 -128
  891. package/src/util/queue/options.ts +0 -37
  892. package/src/util/serializedCache.ts +0 -20
  893. package/src/util/set.ts +0 -62
  894. package/src/util/shuffle.ts +0 -21
  895. package/src/util/sortBy.ts +0 -19
  896. package/src/util/sszBytes.ts +0 -481
  897. package/src/util/strictEvents.ts +0 -8
  898. package/src/util/time.ts +0 -13
  899. package/src/util/timeSeries.ts +0 -118
  900. package/src/util/types.ts +0 -31
  901. package/src/util/workerEvents.ts +0 -142
  902. package/src/util/wrapError.ts +0 -27
@@ -1,328 +0,0 @@
1
- import {ChainConfig} from "@lodestar/config";
2
- import {RootHex} from "@lodestar/types";
3
- import {Logger, pruneSetToMax, toRootHex} from "@lodestar/utils";
4
- import {ZERO_HASH_HEX} from "../constants/index.js";
5
- import {Metrics} from "../metrics/index.js";
6
- import {enumToIndexMap} from "../util/enum.js";
7
- import {EthJsonRpcBlockRaw, IEth1Provider, PowMergeBlock, PowMergeBlockTimestamp, TDProgress} from "./interface.js";
8
- import {dataToRootHex, quantityToBigint, quantityToNum} from "./provider/utils.js";
9
-
10
- export enum StatusCode {
11
- STOPPED = "STOPPED",
12
- SEARCHING = "SEARCHING",
13
- FOUND = "FOUND",
14
- }
15
-
16
- type Status =
17
- | {code: StatusCode.STOPPED}
18
- | {code: StatusCode.SEARCHING}
19
- | {code: StatusCode.FOUND; mergeBlock: PowMergeBlock};
20
-
21
- /** For metrics, index order = declaration order of StatusCode */
22
- const statusCodeIdx = enumToIndexMap(StatusCode);
23
-
24
- /**
25
- * Bounds `blocksByHashCache` cache, imposing a max distance between highest and lowest block numbers.
26
- * In case of extreme forking the cache might grow unbounded.
27
- */
28
- const MAX_CACHE_POW_BLOCKS = 1024;
29
-
30
- const MAX_TD_RENDER_VALUE = Number.MAX_SAFE_INTEGER;
31
-
32
- export type Eth1MergeBlockTrackerModules = {
33
- config: ChainConfig;
34
- logger: Logger;
35
- signal: AbortSignal;
36
- metrics: Metrics | null;
37
- };
38
-
39
- // get_pow_block_at_total_difficulty
40
-
41
- /**
42
- * Follows the eth1 chain to find a (or multiple?) merge blocks that cross the threshold of total terminal difficulty
43
- *
44
- * Finding the mergeBlock could be done in demand when proposing pre-merge blocks. However, that would slow block
45
- * production during the weeks between BELLATRIX_EPOCH and TTD.
46
- */
47
- export class Eth1MergeBlockTracker {
48
- private readonly config: ChainConfig;
49
- private readonly logger: Logger;
50
- private readonly metrics: Metrics | null;
51
-
52
- private readonly blocksByHashCache = new Map<RootHex, PowMergeBlock>();
53
- private readonly intervals: NodeJS.Timeout[] = [];
54
-
55
- private status: Status;
56
- private latestEth1Block: PowMergeBlockTimestamp | null = null;
57
- private getTerminalPowBlockFromEth1Promise: Promise<PowMergeBlock | null> | null = null;
58
- private readonly safeTDFactor: bigint;
59
-
60
- constructor(
61
- {config, logger, signal, metrics}: Eth1MergeBlockTrackerModules,
62
- private readonly eth1Provider: IEth1Provider
63
- ) {
64
- this.config = config;
65
- this.logger = logger;
66
- this.metrics = metrics;
67
-
68
- this.status = {code: StatusCode.STOPPED};
69
-
70
- signal.addEventListener("abort", () => this.close(), {once: true});
71
-
72
- this.safeTDFactor = getSafeTDFactor(this.config.TERMINAL_TOTAL_DIFFICULTY);
73
- const scaledTTD = this.config.TERMINAL_TOTAL_DIFFICULTY / this.safeTDFactor;
74
-
75
- // Only run metrics if necessary
76
- if (metrics) {
77
- // TTD can't be dynamically changed during execution, register metric once
78
- metrics.eth1.eth1MergeTTD.set(Number(scaledTTD as bigint));
79
- metrics.eth1.eth1MergeTDFactor.set(Number(this.safeTDFactor as bigint));
80
-
81
- metrics.eth1.eth1MergeStatus.addCollect(() => {
82
- // Set merge ttd, merge status and merge block status
83
- metrics.eth1.eth1MergeStatus.set(statusCodeIdx[this.status.code]);
84
-
85
- if (this.latestEth1Block !== null) {
86
- // Set latestBlock stats
87
- metrics.eth1.eth1LatestBlockNumber.set(this.latestEth1Block.number);
88
- metrics.eth1.eth1LatestBlockTD.set(Number(this.latestEth1Block.totalDifficulty / this.safeTDFactor));
89
- metrics.eth1.eth1LatestBlockTimestamp.set(this.latestEth1Block.timestamp);
90
- }
91
- });
92
- }
93
- }
94
-
95
- /**
96
- * Returns the most recent POW block that satisfies the merge block condition
97
- */
98
- async getTerminalPowBlock(): Promise<PowMergeBlock | null> {
99
- switch (this.status.code) {
100
- case StatusCode.STOPPED:
101
- // If not module is not polling fetch the mergeBlock explicitly
102
- return this.getTerminalPowBlockFromEth1();
103
-
104
- case StatusCode.SEARCHING:
105
- // Assume that polling would have found the block
106
- return null;
107
-
108
- case StatusCode.FOUND:
109
- return this.status.mergeBlock;
110
- }
111
- }
112
-
113
- getTDProgress(): TDProgress | null {
114
- if (this.latestEth1Block === null) {
115
- return this.latestEth1Block;
116
- }
117
-
118
- const tdDiff = this.config.TERMINAL_TOTAL_DIFFICULTY - this.latestEth1Block.totalDifficulty;
119
-
120
- if (tdDiff > BigInt(0)) {
121
- return {
122
- ttdHit: false,
123
- tdFactor: this.safeTDFactor,
124
- tdDiffScaled: Number((tdDiff / this.safeTDFactor) as bigint),
125
- ttd: this.config.TERMINAL_TOTAL_DIFFICULTY,
126
- td: this.latestEth1Block.totalDifficulty,
127
- timestamp: this.latestEth1Block.timestamp,
128
- };
129
- }
130
- return {
131
- ttdHit: true,
132
- };
133
- }
134
-
135
- /**
136
- * Get a POW block by hash checking the local cache first
137
- */
138
- async getPowBlock(powBlockHash: string): Promise<PowMergeBlock | null> {
139
- // Check cache first
140
- const cachedBlock = this.blocksByHashCache.get(powBlockHash);
141
- if (cachedBlock) {
142
- return cachedBlock;
143
- }
144
-
145
- // Fetch from node
146
- const blockRaw = await this.eth1Provider.getBlockByHash(powBlockHash);
147
- if (blockRaw) {
148
- const block = toPowBlock(blockRaw);
149
- this.cacheBlock(block);
150
- return block;
151
- }
152
-
153
- return null;
154
- }
155
-
156
- /**
157
- * Should only start polling for mergeBlock if:
158
- * - after BELLATRIX_FORK_EPOCH
159
- * - Beacon node synced
160
- * - head state not isMergeTransitionComplete
161
- */
162
- startPollingMergeBlock(): void {
163
- if (this.status.code !== StatusCode.STOPPED) {
164
- return;
165
- }
166
-
167
- this.status = {code: StatusCode.SEARCHING};
168
- this.logger.info("Starting search for terminal POW block", {
169
- TERMINAL_TOTAL_DIFFICULTY: this.config.TERMINAL_TOTAL_DIFFICULTY,
170
- });
171
-
172
- const interval = setInterval(() => {
173
- // Preemptively try to find merge block and cache it if found.
174
- // Future callers of getTerminalPowBlock() will re-use the cached found mergeBlock.
175
- this.getTerminalPowBlockFromEth1().catch((e) => {
176
- this.logger.error("Error on findMergeBlock", {}, e as Error);
177
- this.metrics?.eth1.eth1PollMergeBlockErrors.inc();
178
- });
179
- }, this.config.SECONDS_PER_ETH1_BLOCK * 1000);
180
-
181
- this.intervals.push(interval);
182
- }
183
-
184
- private close(): void {
185
- this.intervals.forEach(clearInterval);
186
- }
187
-
188
- private async getTerminalPowBlockFromEth1(): Promise<PowMergeBlock | null> {
189
- if (!this.getTerminalPowBlockFromEth1Promise) {
190
- this.getTerminalPowBlockFromEth1Promise = this.internalGetTerminalPowBlockFromEth1()
191
- .then((mergeBlock) => {
192
- // Persist found merge block here to affect both caller paths:
193
- // - internal searcher
194
- // - external caller if STOPPED
195
- if (mergeBlock && this.status.code !== StatusCode.FOUND) {
196
- if (this.status.code === StatusCode.SEARCHING) {
197
- this.close();
198
- }
199
-
200
- this.logger.info("Terminal POW block found!", {
201
- hash: mergeBlock.blockHash,
202
- number: mergeBlock.number,
203
- totalDifficulty: mergeBlock.totalDifficulty,
204
- });
205
-
206
- this.status = {code: StatusCode.FOUND, mergeBlock};
207
- this.metrics?.eth1.eth1MergeBlockDetails.set(
208
- {
209
- terminalBlockHash: mergeBlock.blockHash,
210
- // Convert all number/bigints to string labels
211
- terminalBlockNumber: mergeBlock.number.toString(10),
212
- terminalBlockTD: mergeBlock.totalDifficulty.toString(10),
213
- },
214
- 1
215
- );
216
- }
217
-
218
- return mergeBlock;
219
- })
220
- .finally(() => {
221
- this.getTerminalPowBlockFromEth1Promise = null;
222
- });
223
- } else {
224
- // This should no happen, since getTerminalPowBlockFromEth1() should resolve faster than SECONDS_PER_ETH1_BLOCK.
225
- // else something is wrong: the el-cl comms are two slow, or the backsearch got stuck in a deep search.
226
- this.metrics?.eth1.getTerminalPowBlockPromiseCacheHit.inc();
227
- }
228
-
229
- return this.getTerminalPowBlockFromEth1Promise;
230
- }
231
-
232
- /**
233
- * **internal** + **unsafe** since it can create multiple backward searches that overload the eth1 client.
234
- * Must be called in a wrapper to ensure that there's only once concurrent call to this fn.
235
- */
236
- private async internalGetTerminalPowBlockFromEth1(): Promise<PowMergeBlock | null> {
237
- // Search merge block by hash
238
- // Terminal block hash override takes precedence over terminal total difficulty
239
- const terminalBlockHash = toRootHex(this.config.TERMINAL_BLOCK_HASH);
240
- if (terminalBlockHash !== ZERO_HASH_HEX) {
241
- const block = await this.getPowBlock(terminalBlockHash);
242
- if (block) {
243
- return block;
244
- }
245
- // if a TERMINAL_BLOCK_HASH other than ZERO_HASH is configured and we can't find it, return NONE
246
- return null;
247
- }
248
-
249
- // Search merge block by TTD
250
- const latestBlockRaw = await this.eth1Provider.getBlockByNumber("latest");
251
- if (!latestBlockRaw) {
252
- throw Error("getBlockByNumber('latest') returned null");
253
- }
254
-
255
- let block = toPowBlock(latestBlockRaw);
256
- this.latestEth1Block = {...block, timestamp: quantityToNum(latestBlockRaw.timestamp)};
257
- this.cacheBlock(block);
258
-
259
- // This code path to look backwards for the merge block is only necessary if:
260
- // - The network has not yet found the merge block
261
- // - There are descendants of the merge block in the eth1 chain
262
- // For the search below to require more than a few hops, multiple block proposers in a row must fail to detect
263
- // an existing merge block. Such situation is extremely unlikely, so this search is left un-optimized. Since
264
- // this class can start eagerly looking for the merge block when not necessary, startPollingMergeBlock() should
265
- // only be called when there is certainty that a mergeBlock search is necessary.
266
-
267
- while (true) {
268
- if (block.totalDifficulty < this.config.TERMINAL_TOTAL_DIFFICULTY) {
269
- // TTD not reached yet
270
- return null;
271
- }
272
-
273
- // else block.totalDifficulty >= this.config.TERMINAL_TOTAL_DIFFICULTY
274
- // Potential mergeBlock! Must find the first block that passes TTD
275
-
276
- // Allow genesis block to reach TTD https://github.com/ethereum/consensus-specs/pull/2719
277
- if (block.parentHash === ZERO_HASH_HEX) {
278
- return block;
279
- }
280
-
281
- const parent = await this.getPowBlock(block.parentHash);
282
- if (!parent) {
283
- throw Error(`Unknown parent of block with TD>TTD ${block.parentHash}`);
284
- }
285
-
286
- this.metrics?.eth1.eth1ParentBlocksFetched.inc();
287
-
288
- // block.td > TTD && parent.td < TTD => block is mergeBlock
289
- if (parent.totalDifficulty < this.config.TERMINAL_TOTAL_DIFFICULTY) {
290
- // Is terminal total difficulty block AND has verified block -> parent relationship
291
- return block;
292
- }
293
- block = parent;
294
- }
295
- }
296
-
297
- private cacheBlock(block: PowMergeBlock): void {
298
- this.blocksByHashCache.set(block.blockHash, block);
299
- pruneSetToMax(this.blocksByHashCache, MAX_CACHE_POW_BLOCKS);
300
- }
301
- }
302
-
303
- export function toPowBlock(block: EthJsonRpcBlockRaw): PowMergeBlock {
304
- // Validate untrusted data from API
305
- return {
306
- number: quantityToNum(block.number),
307
- blockHash: dataToRootHex(block.hash),
308
- parentHash: dataToRootHex(block.parentHash),
309
- totalDifficulty: quantityToBigint(block.totalDifficulty),
310
- };
311
- }
312
-
313
- /**
314
- * TTD values can be very large, for xDAI > 1e45. So scale down.
315
- * To be good, TTD should be rendered as a number < Number.MAX_TD_RENDER_VALUE ~= 9e15
316
- */
317
- export function getSafeTDFactor(ttd: bigint): bigint {
318
- const safeIntegerMult = ttd / BigInt(MAX_TD_RENDER_VALUE);
319
-
320
- // TTD < MAX_TD_RENDER_VALUE, no need to scale down
321
- if (safeIntegerMult === BigInt(0)) {
322
- return BigInt(1);
323
- }
324
-
325
- // Return closest power of 10 to ensure TD < max
326
- const safeIntegerMultDigits = safeIntegerMult.toString(10).length;
327
- return BigInt(10) ** BigInt(safeIntegerMultDigits);
328
- }
package/src/eth1/index.ts DELETED
@@ -1,157 +0,0 @@
1
- import {CachedBeaconStateAllForks} from "@lodestar/state-transition";
2
- import {Root} from "@lodestar/types";
3
- import {fromHex} from "@lodestar/utils";
4
- import {Eth1DepositDataTracker, Eth1DepositDataTrackerModules} from "./eth1DepositDataTracker.js";
5
- import {Eth1MergeBlockTracker, Eth1MergeBlockTrackerModules} from "./eth1MergeBlockTracker.js";
6
- import {Eth1DataAndDeposits, IEth1ForBlockProduction, IEth1Provider, PowMergeBlock, TDProgress} from "./interface.js";
7
- import {Eth1Options} from "./options.js";
8
- import {Eth1Provider} from "./provider/eth1Provider.js";
9
- export {Eth1Provider};
10
- export type {IEth1ForBlockProduction, IEth1Provider};
11
-
12
- // This module encapsulates all consumer functionality to the execution node (formerly eth1). The execution client
13
- // has to:
14
- //
15
- // - For genesis, the beacon node must follow the eth1 chain: get all deposit events + blocks within that range.
16
- // Once the genesis conditions are met, start the POS chain with the resulting state. The logic is similar to the
17
- // two points below, but the implementation is specialized for each scenario.
18
- //
19
- // - Follow the eth1 block chain to validate eth1Data votes. It needs all consecutive blocks within a specific range
20
- // and at a distance from the head.
21
- // ETH1_FOLLOW_DISTANCE uint64(2**11) (= 2,048) Eth1 blocks ~8 hours
22
- // EPOCHS_PER_ETH1_VOTING_PERIOD uint64(2**6) (= 64) epochs ~6.8 hours
23
- //
24
- // - Fetch ALL deposit events from the deposit contract to build the deposit tree and validate future merkle proofs.
25
- // Then it must follow deposit events at a distance roughly similar to the `ETH1_FOLLOW_DISTANCE` parameter above.
26
- //
27
- // - [New bellatrix]: After BELLATRIX_FORK_EPOCH, it must fetch the block with hash
28
- // `state.eth1_data.block_hash` to compute `terminal_total_difficulty`. Note this may change with
29
- // https://github.com/ethereum/consensus-specs/issues/2603.
30
- //
31
- // - [New bellatrix]: On block production post BELLATRIX_FORK_EPOCH, pre merge, the beacon node must find the merge block
32
- // crossing the `terminal_total_difficulty` boundary and include it in the block. After the merge block production
33
- // will just use `execution_engine.assemble_block` without fetching individual blocks.
34
- //
35
- // - [New bellatrix]: Fork-choice must validate the merge block ensuring it crossed the `terminal_total_difficulty`
36
- // boundary, so it must fetch the POW block referenced in the merge block + its POW parent block.
37
- //
38
- // With the merge the beacon node has to follow the eth1 chain at two distances:
39
- // 1. At `ETH1_FOLLOW_DISTANCE` for eth1Data to be re-org safe
40
- // 2. At the head to get the first merge block, tolerating possible re-orgs
41
- //
42
- // Then both streams of blocks should not be merged since it's harder to guard against re-orgs from (2) to (1).
43
-
44
- export function initializeEth1ForBlockProduction(
45
- opts: Eth1Options,
46
- modules: Pick<Eth1DepositDataTrackerModules, "db" | "config" | "metrics" | "logger" | "signal">
47
- ): IEth1ForBlockProduction {
48
- if (opts.enabled) {
49
- return new Eth1ForBlockProduction(opts, {
50
- config: modules.config,
51
- db: modules.db,
52
- metrics: modules.metrics,
53
- logger: modules.logger,
54
- signal: modules.signal,
55
- });
56
- }
57
- return new Eth1ForBlockProductionDisabled();
58
- }
59
-
60
- export class Eth1ForBlockProduction implements IEth1ForBlockProduction {
61
- private readonly eth1DepositDataTracker: Eth1DepositDataTracker | null;
62
- private readonly eth1MergeBlockTracker: Eth1MergeBlockTracker;
63
-
64
- constructor(
65
- opts: Eth1Options,
66
- modules: Eth1DepositDataTrackerModules & Eth1MergeBlockTrackerModules & {eth1Provider?: IEth1Provider}
67
- ) {
68
- const eth1Provider =
69
- modules.eth1Provider ||
70
- new Eth1Provider(
71
- modules.config,
72
- {...opts, logger: modules.logger},
73
- modules.signal,
74
- modules.metrics?.eth1HttpClient
75
- );
76
-
77
- this.eth1DepositDataTracker = opts.disableEth1DepositDataTracker
78
- ? null
79
- : new Eth1DepositDataTracker(opts, modules, eth1Provider);
80
-
81
- this.eth1MergeBlockTracker = new Eth1MergeBlockTracker(modules, eth1Provider);
82
- }
83
-
84
- async getEth1DataAndDeposits(state: CachedBeaconStateAllForks): Promise<Eth1DataAndDeposits> {
85
- if (this.eth1DepositDataTracker === null) {
86
- return {eth1Data: state.eth1Data, deposits: []};
87
- }
88
- return this.eth1DepositDataTracker.getEth1DataAndDeposits(state);
89
- }
90
-
91
- async getTerminalPowBlock(): Promise<Root | null> {
92
- const block = await this.eth1MergeBlockTracker.getTerminalPowBlock();
93
- return block && fromHex(block.blockHash);
94
- }
95
-
96
- getPowBlock(powBlockHash: string): Promise<PowMergeBlock | null> {
97
- return this.eth1MergeBlockTracker.getPowBlock(powBlockHash);
98
- }
99
-
100
- getTDProgress(): TDProgress | null {
101
- return this.eth1MergeBlockTracker.getTDProgress();
102
- }
103
-
104
- startPollingMergeBlock(): void {
105
- this.eth1MergeBlockTracker.startPollingMergeBlock();
106
- }
107
-
108
- isPollingEth1Data(): boolean {
109
- return this.eth1DepositDataTracker?.isPollingEth1Data() ?? false;
110
- }
111
-
112
- stopPollingEth1Data(): void {
113
- this.eth1DepositDataTracker?.stopPollingEth1Data();
114
- }
115
- }
116
-
117
- /**
118
- * Disabled version of Eth1ForBlockProduction
119
- * May produce invalid blocks by not adding new deposits and voting for the same eth1Data
120
- */
121
- export class Eth1ForBlockProductionDisabled implements IEth1ForBlockProduction {
122
- /**
123
- * Returns same eth1Data as in state and no deposits
124
- * May produce invalid blocks if deposits have to be added
125
- */
126
- async getEth1DataAndDeposits(state: CachedBeaconStateAllForks): Promise<Eth1DataAndDeposits> {
127
- return {eth1Data: state.eth1Data, deposits: []};
128
- }
129
-
130
- /**
131
- * Will miss the oportunity to propose the merge block but will still produce valid blocks
132
- */
133
- async getTerminalPowBlock(): Promise<Root | null> {
134
- return null;
135
- }
136
-
137
- /** Will not be able to validate the merge block */
138
- async getPowBlock(_powBlockHash: string): Promise<PowMergeBlock | null> {
139
- throw Error("eth1 must be enabled to verify merge block");
140
- }
141
-
142
- getTDProgress(): TDProgress | null {
143
- return null;
144
- }
145
-
146
- isPollingEth1Data(): boolean {
147
- return false;
148
- }
149
-
150
- startPollingMergeBlock(): void {
151
- // Ignore
152
- }
153
-
154
- stopPollingEth1Data(): void {
155
- // Ignore
156
- }
157
- }
@@ -1,131 +0,0 @@
1
- import {BeaconConfig} from "@lodestar/config";
2
- import {CachedBeaconStateAllForks} from "@lodestar/state-transition";
3
- import {Root, RootHex, phase0} from "@lodestar/types";
4
-
5
- export type EthJsonRpcBlockRaw = {
6
- /** the block number. null when its pending block. `"0x1b4"` */
7
- number: string;
8
- /** 32 Bytes - hash of the block. null when its pending block. `"0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae"` */
9
- hash: string;
10
- /** 32 Bytes - hash of the parent block. `"0xe99e022112df268087ea7eafaf4790497fd21dbeeb6bd7a1721df161a6657a54"` */
11
- parentHash: string;
12
- /**
13
- * integer of the total difficulty of the chain until this block. `"0x78ed983323d"`.
14
- * Current mainnet value is 0x684de10dc5c03f006b6, 75 bits so requires a bigint.
15
- */
16
- totalDifficulty: string;
17
- /** the unix timestamp for when the block was collated. `"0x55ba467c"` */
18
- timestamp: string;
19
- };
20
-
21
- export interface IEth1Provider {
22
- deployBlock: number;
23
- getBlockNumber(): Promise<number>;
24
- /** Returns HTTP code 200 + value=null if block is not found */
25
- getBlockByNumber(blockNumber: number | "latest"): Promise<EthJsonRpcBlockRaw | null>;
26
- /** Returns HTTP code 200 + value=null if block is not found */
27
- getBlockByHash(blockHashHex: string): Promise<EthJsonRpcBlockRaw | null>;
28
- /** null returns are ignored, may return a different number of blocks than expected */
29
- getBlocksByNumber(fromBlock: number, toBlock: number): Promise<EthJsonRpcBlockRaw[]>;
30
- getDepositEvents(fromBlock: number, toBlock: number): Promise<phase0.DepositEvent[]>;
31
- validateContract(): Promise<void>;
32
- getState(): Eth1ProviderState;
33
- }
34
-
35
- export enum Eth1ProviderState {
36
- ONLINE = "ONLINE",
37
- OFFLINE = "OFFLINE",
38
- ERROR = "ERROR",
39
- AUTH_FAILED = "AUTH_FAILED",
40
- }
41
-
42
- export type Eth1DataAndDeposits = {
43
- eth1Data: phase0.Eth1Data;
44
- deposits: phase0.Deposit[];
45
- };
46
-
47
- export interface IEth1ForBlockProduction {
48
- getEth1DataAndDeposits(state: CachedBeaconStateAllForks): Promise<Eth1DataAndDeposits>;
49
-
50
- /** Returns the most recent POW block that satisfies the merge block condition */
51
- getTerminalPowBlock(): Promise<Root | null>;
52
- /** Get a POW block by hash checking the local cache first */
53
- getPowBlock(powBlockHash: string): Promise<PowMergeBlock | null>;
54
-
55
- /** Get current TD progress for log notifier */
56
- getTDProgress(): TDProgress | null;
57
-
58
- /**
59
- * Should only start polling for mergeBlock if:
60
- * - after BELLATRIX_FORK_EPOCH
61
- * - Beacon node synced
62
- * - head state not isMergeTransitionComplete
63
- */
64
- startPollingMergeBlock(): void;
65
-
66
- isPollingEth1Data(): boolean;
67
-
68
- /**
69
- * Should stop polling eth1Data after a Electra block is finalized AND deposit_requests_start_index is reached
70
- */
71
- stopPollingEth1Data(): void;
72
- }
73
-
74
- /** Different Eth1Block from phase0.Eth1Block with blockHash */
75
- export type Eth1Block = {
76
- blockHash: Uint8Array;
77
- blockNumber: number;
78
- timestamp: number;
79
- };
80
-
81
- export type PowMergeBlock = {
82
- number: number;
83
- blockHash: RootHex;
84
- parentHash: RootHex;
85
- totalDifficulty: bigint;
86
- };
87
-
88
- export type PowMergeBlockTimestamp = PowMergeBlock & {
89
- /** in seconds */
90
- timestamp: number;
91
- };
92
-
93
- export type TDProgress =
94
- | {
95
- ttdHit: false;
96
- /** Power of ten by which tdDiffScaled is scaled down */
97
- tdFactor: bigint;
98
- /** (TERMINAL_TOTAL_DIFFICULTY - block.totalDifficulty) / tdFactor */
99
- tdDiffScaled: number;
100
- /** TERMINAL_TOTAL_DIFFICULTY */
101
- ttd: bigint;
102
- /** totalDifficulty of latest fetched eth1 block */
103
- td: bigint;
104
- /** timestamp in sec of latest fetched eth1 block */
105
- timestamp: number;
106
- }
107
- | {ttdHit: true};
108
-
109
- export type BatchDepositEvents = {
110
- depositEvents: phase0.DepositEvent[];
111
- blockNumber: number;
112
- };
113
-
114
- export type Eth1Streamer = {
115
- getDepositsStream(fromBlock: number): AsyncGenerator<BatchDepositEvents>;
116
- getDepositsAndBlockStreamForGenesis(fromBlock: number): AsyncGenerator<[phase0.DepositEvent[], phase0.Eth1Block]>;
117
- };
118
-
119
- export type IEth1StreamParams = Pick<
120
- BeaconConfig,
121
- "ETH1_FOLLOW_DISTANCE" | "MIN_GENESIS_TIME" | "GENESIS_DELAY" | "SECONDS_PER_ETH1_BLOCK"
122
- > & {
123
- maxBlocksPerPoll: number;
124
- };
125
-
126
- export type IJson = string | number | boolean | undefined | IJson[] | {[key: string]: IJson};
127
-
128
- export interface RpcPayload<P = IJson[]> {
129
- method: string;
130
- params: P;
131
- }
@@ -1,28 +0,0 @@
1
- export type Eth1Options = {
2
- enabled?: boolean;
3
- disableEth1DepositDataTracker?: boolean;
4
- providerUrls?: string[];
5
- /**
6
- * jwtSecretHex is the jwt secret if the eth1 modules should ping the jwt auth
7
- * protected engine endpoints.
8
- */
9
- jwtSecretHex?: string;
10
- jwtId?: string;
11
- jwtVersion?: string;
12
- depositContractDeployBlock?: number;
13
- unsafeAllowDepositDataOverwrite?: boolean;
14
- /**
15
- * Vote for a specific eth1_data regardless of validity and existing votes.
16
- * hex encoded ssz serialized Eth1Data type.
17
- */
18
- forcedEth1DataVote?: string;
19
- };
20
-
21
- export const DEFAULT_PROVIDER_URLS = ["http://localhost:8545"];
22
-
23
- export const defaultEth1Options: Eth1Options = {
24
- enabled: true,
25
- providerUrls: DEFAULT_PROVIDER_URLS,
26
- depositContractDeployBlock: 0,
27
- unsafeAllowDepositDataOverwrite: false,
28
- };