@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,603 +0,0 @@
1
- import {BitArray} from "@chainsafe/ssz";
2
- import {routes} from "@lodestar/api";
3
- import {
4
- AncestorStatus,
5
- EpochDifference,
6
- ForkChoiceError,
7
- ForkChoiceErrorCode,
8
- NotReorgedReason,
9
- } from "@lodestar/fork-choice";
10
- import {
11
- ForkPostAltair,
12
- ForkPostElectra,
13
- ForkSeq,
14
- INTERVALS_PER_SLOT,
15
- MAX_SEED_LOOKAHEAD,
16
- SLOTS_PER_EPOCH,
17
- } from "@lodestar/params";
18
- import {
19
- CachedBeaconStateAltair,
20
- EpochCache,
21
- RootCache,
22
- computeEpochAtSlot,
23
- computeStartSlotAtEpoch,
24
- isExecutionStateType,
25
- isStartSlotOfEpoch,
26
- isStateValidatorsNodesPopulated,
27
- } from "@lodestar/state-transition";
28
- import {Attestation, BeaconBlock, altair, capella, electra, phase0, ssz} from "@lodestar/types";
29
- import {isErrorAborted, toRootHex} from "@lodestar/utils";
30
- import {ZERO_HASH_HEX} from "../../constants/index.js";
31
- import {callInNextEventLoop} from "../../util/eventLoop.js";
32
- import {isOptimisticBlock} from "../../util/forkChoice.js";
33
- import {isQueueErrorAborted} from "../../util/queue/index.js";
34
- import type {BeaconChain} from "../chain.js";
35
- import {ChainEvent, ReorgEventData} from "../emitter.js";
36
- import {ForkchoiceCaller} from "../forkChoice/index.js";
37
- import {REPROCESS_MIN_TIME_TO_NEXT_SLOT_SEC} from "../reprocess.js";
38
- import {toCheckpointHex} from "../stateCache/index.js";
39
- import {isBlockInputBlobs, isBlockInputColumns} from "./blockInput/blockInput.js";
40
- import {AttestationImportOpt, FullyVerifiedBlock, ImportBlockOpts} from "./types.js";
41
- import {getCheckpointFromState} from "./utils/checkpoint.js";
42
- import {writeBlockInputToDb} from "./writeBlockInputToDb.js";
43
-
44
- /**
45
- * Fork-choice allows to import attestations from current (0) or past (1) epoch.
46
- */
47
- const FORK_CHOICE_ATT_EPOCH_LIMIT = 1;
48
- /**
49
- * Emit eventstream events for block contents events only for blocks that are recent enough to clock
50
- */
51
- const EVENTSTREAM_EMIT_RECENT_BLOCK_SLOTS = 64;
52
-
53
- /**
54
- * Imports a fully verified block into the chain state. Produces multiple permanent side-effects.
55
- *
56
- * ImportBlock order of operations must guarantee that BeaconNode does not end in an unknown state:
57
- *
58
- * 1. Persist block to hot DB (pre-emptively)
59
- * - Done before importing block to fork-choice to guarantee that blocks in the fork-choice *always* are persisted
60
- * in the DB. Otherwise the beacon node may end up in an unrecoverable state. If a block is persisted in the hot
61
- * db but is unknown by the fork-choice, then it will just use some extra disk space. On restart is will be
62
- * pruned regardless.
63
- * - Note that doing a disk write first introduces a small delay before setting the head. An improvement where disk
64
- * write happens latter requires the ability to roll back a fork-choice head change if disk write fails
65
- *
66
- * 2. Import block to fork-choice
67
- * 3. Import attestations to fork-choice
68
- * 4. Import attester slashings to fork-choice
69
- * 5. Compute head. If new head, immediately stateCache.setHeadState()
70
- * 6. Queue notifyForkchoiceUpdate to engine api
71
- * 7. Add post state to stateCache
72
- */
73
- export async function importBlock(
74
- this: BeaconChain,
75
- fullyVerifiedBlock: FullyVerifiedBlock,
76
- opts: ImportBlockOpts
77
- ): Promise<void> {
78
- const {blockInput, postState, parentBlockSlot, executionStatus, dataAvailabilityStatus} = fullyVerifiedBlock;
79
- const block = blockInput.getBlock();
80
- const source = blockInput.getBlockSource();
81
- const {slot: blockSlot} = block.message;
82
- const blockRoot = this.config.getForkTypes(blockSlot).BeaconBlock.hashTreeRoot(block.message);
83
- const blockRootHex = toRootHex(blockRoot);
84
- const currentSlot = this.forkChoice.getTime();
85
- const currentEpoch = computeEpochAtSlot(currentSlot);
86
- const blockEpoch = computeEpochAtSlot(blockSlot);
87
- const prevFinalizedEpoch = this.forkChoice.getFinalizedCheckpoint().epoch;
88
- const blockDelaySec = (fullyVerifiedBlock.seenTimestampSec - postState.genesisTime) % this.config.SECONDS_PER_SLOT;
89
- const recvToValLatency = Date.now() / 1000 - (opts.seenTimestampSec ?? Date.now() / 1000);
90
- const fork = this.config.getForkSeq(blockSlot);
91
-
92
- // this is just a type assertion since blockinput with dataPromise type will not end up here
93
- if (!blockInput.hasAllData) {
94
- throw Error("Unavailable block can not be imported in forkchoice");
95
- }
96
-
97
- // 1. Persist block to hot DB (pre-emptively)
98
- // If eagerPersistBlock = true we do that in verifyBlocksInEpoch to batch all I/O operations to save block time to head
99
- if (!opts.eagerPersistBlock) {
100
- await writeBlockInputToDb.call(this, [blockInput]);
101
- }
102
-
103
- // 2. Import block to fork choice
104
-
105
- // Should compute checkpoint balances before forkchoice.onBlock
106
- this.checkpointBalancesCache.processState(blockRootHex, postState);
107
- const blockSummary = this.forkChoice.onBlock(
108
- block.message,
109
- postState,
110
- blockDelaySec,
111
- currentSlot,
112
- executionStatus,
113
- dataAvailabilityStatus
114
- );
115
-
116
- // This adds the state necessary to process the next block
117
- // Some block event handlers require state being in state cache so need to do this before emitting EventType.block
118
- this.regen.processState(blockRootHex, postState);
119
-
120
- this.metrics?.importBlock.bySource.inc({source: source.source});
121
- this.logger.verbose("Added block to forkchoice and state cache", {slot: blockSlot, root: blockRootHex});
122
-
123
- // 3. Import attestations to fork choice
124
- //
125
- // - For each attestation
126
- // - Get indexed attestation
127
- // - Register attestation with fork-choice
128
- // - Register attestation with validator monitor (only after sync)
129
- // Only process attestations of blocks with relevant attestations for the fork-choice:
130
- // If current epoch is N, and block is epoch X, block may include attestations for epoch X or X - 1.
131
- // The latest block that is useful is at epoch N - 1 which may include attestations for epoch N - 1 or N - 2.
132
- if (
133
- opts.importAttestations === AttestationImportOpt.Force ||
134
- (opts.importAttestations !== AttestationImportOpt.Skip && blockEpoch >= currentEpoch - FORK_CHOICE_ATT_EPOCH_LIMIT)
135
- ) {
136
- const attestations = block.message.body.attestations;
137
- const rootCache = new RootCache(postState);
138
- const invalidAttestationErrorsByCode = new Map<string, {error: Error; count: number}>();
139
-
140
- const addAttestation = fork >= ForkSeq.electra ? addAttestationPostElectra : addAttestationPreElectra;
141
-
142
- for (const attestation of attestations) {
143
- try {
144
- // TODO Electra: figure out how to reuse the attesting indices computed from state transition
145
- const indexedAttestation = postState.epochCtx.getIndexedAttestation(fork, attestation);
146
- const {target, beaconBlockRoot} = attestation.data;
147
-
148
- const attDataRoot = toRootHex(ssz.phase0.AttestationData.hashTreeRoot(indexedAttestation.data));
149
- addAttestation.call(
150
- this,
151
- postState.epochCtx,
152
- target,
153
- attDataRoot,
154
- attestation as Attestation<ForkPostElectra>,
155
- indexedAttestation
156
- );
157
- // Duplicated logic from fork-choice onAttestation validation logic.
158
- // Attestations outside of this range will be dropped as Errors, so no need to import
159
- if (
160
- opts.importAttestations === AttestationImportOpt.Force ||
161
- (target.epoch <= currentEpoch && target.epoch >= currentEpoch - FORK_CHOICE_ATT_EPOCH_LIMIT)
162
- ) {
163
- this.forkChoice.onAttestation(
164
- indexedAttestation,
165
- attDataRoot,
166
- opts.importAttestations === AttestationImportOpt.Force
167
- );
168
- }
169
-
170
- // Note: To avoid slowing down sync, only register attestations within FORK_CHOICE_ATT_EPOCH_LIMIT
171
- this.seenBlockAttesters.addIndices(blockEpoch, indexedAttestation.attestingIndices);
172
-
173
- const correctHead = ssz.Root.equals(rootCache.getBlockRootAtSlot(attestation.data.slot), beaconBlockRoot);
174
- const missedSlotVote = ssz.Root.equals(
175
- rootCache.getBlockRootAtSlot(attestation.data.slot - 1),
176
- rootCache.getBlockRootAtSlot(attestation.data.slot)
177
- );
178
- this.validatorMonitor?.registerAttestationInBlock(
179
- indexedAttestation,
180
- parentBlockSlot,
181
- correctHead,
182
- missedSlotVote,
183
- blockRootHex,
184
- blockSlot
185
- );
186
- } catch (e) {
187
- // a block has a lot of attestations and it may has same error, we don't want to log all of them
188
- if (e instanceof ForkChoiceError && e.type.code === ForkChoiceErrorCode.INVALID_ATTESTATION) {
189
- let errWithCount = invalidAttestationErrorsByCode.get(e.type.err.code);
190
- if (errWithCount === undefined) {
191
- errWithCount = {error: e as Error, count: 1};
192
- invalidAttestationErrorsByCode.set(e.type.err.code, errWithCount);
193
- } else {
194
- errWithCount.count++;
195
- }
196
- } else {
197
- // always log other errors
198
- this.logger.warn("Error processing attestation from block", {slot: blockSlot}, e as Error);
199
- }
200
- }
201
- }
202
-
203
- for (const {error, count} of invalidAttestationErrorsByCode.values()) {
204
- this.logger.warn(
205
- "Error processing attestations from block",
206
- {slot: blockSlot, erroredAttestations: count},
207
- error
208
- );
209
- }
210
- }
211
-
212
- // 4. Import attester slashings to fork choice
213
- //
214
- // FORK_CHOICE_ATT_EPOCH_LIMIT is for attestation to become valid
215
- // but AttesterSlashing could be found before that time and still able to submit valid attestations
216
- // until slashed validator become inactive, see computeActivationExitEpoch() function
217
- if (
218
- opts.importAttestations === AttestationImportOpt.Force ||
219
- (opts.importAttestations !== AttestationImportOpt.Skip &&
220
- blockEpoch >= currentEpoch - FORK_CHOICE_ATT_EPOCH_LIMIT - 1 - MAX_SEED_LOOKAHEAD)
221
- ) {
222
- for (const slashing of block.message.body.attesterSlashings) {
223
- try {
224
- // all AttesterSlashings are valid before reaching this
225
- this.forkChoice.onAttesterSlashing(slashing);
226
- } catch (e) {
227
- this.logger.warn("Error processing AttesterSlashing from block", {slot: blockSlot}, e as Error);
228
- }
229
- }
230
- }
231
-
232
- // 5. Compute head. If new head, immediately stateCache.setHeadState()
233
-
234
- const oldHead = this.forkChoice.getHead();
235
- const newHead = this.recomputeForkChoiceHead(ForkchoiceCaller.importBlock);
236
- const currFinalizedEpoch = this.forkChoice.getFinalizedCheckpoint().epoch;
237
-
238
- if (newHead.blockRoot !== oldHead.blockRoot) {
239
- // Set head state as strong reference
240
- this.regen.updateHeadState(newHead, postState);
241
-
242
- try {
243
- this.emitter.emit(routes.events.EventType.head, {
244
- block: newHead.blockRoot,
245
- epochTransition: computeStartSlotAtEpoch(computeEpochAtSlot(newHead.slot)) === newHead.slot,
246
- slot: newHead.slot,
247
- state: newHead.stateRoot,
248
- previousDutyDependentRoot: this.forkChoice.getDependentRoot(newHead, EpochDifference.previous),
249
- currentDutyDependentRoot: this.forkChoice.getDependentRoot(newHead, EpochDifference.current),
250
- executionOptimistic: isOptimisticBlock(newHead),
251
- });
252
- } catch (e) {
253
- // getDependentRoot() may fail with error: "No block for root" as we can see in holesky non-finality issue
254
- this.logger.debug("Error emitting head event", {slot: newHead.slot, root: newHead.blockRoot}, e as Error);
255
- }
256
-
257
- const delaySec = this.clock.secFromSlot(newHead.slot);
258
- this.logger.verbose("New chain head", {
259
- slot: newHead.slot,
260
- root: newHead.blockRoot,
261
- delaySec,
262
- });
263
-
264
- if (this.metrics) {
265
- this.metrics.headSlot.set(newHead.slot);
266
- // Only track "recent" blocks. Otherwise sync can distort this metrics heavily.
267
- // We want to track recent blocks coming from gossip, unknown block sync, and API.
268
- if (delaySec < SLOTS_PER_EPOCH * this.config.SECONDS_PER_SLOT) {
269
- this.metrics.importBlock.elapsedTimeTillBecomeHead.observe(delaySec);
270
- if (delaySec > this.config.SECONDS_PER_SLOT / INTERVALS_PER_SLOT) {
271
- this.metrics.importBlock.setHeadAfterFirstInterval.inc();
272
- }
273
- }
274
- }
275
-
276
- this.onNewHead(newHead);
277
-
278
- this.metrics?.forkChoice.changedHead.inc();
279
-
280
- const ancestorResult = this.forkChoice.getCommonAncestorDepth(oldHead, newHead);
281
- if (ancestorResult.code === AncestorStatus.CommonAncestor) {
282
- // CommonAncestor = chain reorg, old head and new head not direct descendants
283
-
284
- const forkChoiceReorgEventData: ReorgEventData = {
285
- depth: ancestorResult.depth,
286
- epoch: computeEpochAtSlot(newHead.slot),
287
- slot: newHead.slot,
288
- newHeadBlock: newHead.blockRoot,
289
- oldHeadBlock: oldHead.blockRoot,
290
- newHeadState: newHead.stateRoot,
291
- oldHeadState: oldHead.stateRoot,
292
- executionOptimistic: isOptimisticBlock(newHead),
293
- };
294
-
295
- this.emitter.emit(routes.events.EventType.chainReorg, forkChoiceReorgEventData);
296
- this.logger.verbose("Chain reorg", forkChoiceReorgEventData);
297
-
298
- this.metrics?.forkChoice.reorg.inc();
299
- this.metrics?.forkChoice.reorgDistance.observe(ancestorResult.depth);
300
- }
301
-
302
- // Lightclient server support (only after altair)
303
- // - Persist state witness
304
- // - Use block's syncAggregate
305
- if (blockEpoch >= this.config.ALTAIR_FORK_EPOCH) {
306
- // we want to import block asap so do this in the next event loop
307
- callInNextEventLoop(() => {
308
- try {
309
- this.lightClientServer?.onImportBlockHead(
310
- block.message as BeaconBlock<ForkPostAltair>,
311
- postState as CachedBeaconStateAltair,
312
- parentBlockSlot
313
- );
314
- } catch (e) {
315
- this.logger.verbose("Error lightClientServer.onImportBlock", {slot: blockSlot}, e as Error);
316
- }
317
- });
318
- }
319
- }
320
-
321
- // 6. Queue notifyForkchoiceUpdate to engine api
322
- //
323
- // NOTE: forkChoice.fsStore.finalizedCheckpoint MUST only change in response to an onBlock event
324
- // Notifying EL of head and finalized updates as below is usually done within the 1st 4s of the slot.
325
- // If there is an advanced payload generation in the next slot, we'll notify EL again 4s before next
326
- // slot via PrepareNextSlotScheduler. There is no harm updating the ELs with same data, it will just ignore it.
327
-
328
- // Suppress fcu call if shouldOverrideFcu is true. This only happens if we have proposer boost reorg enabled
329
- // and the block is weak and can potentially be reorged out.
330
- let shouldOverrideFcu = false;
331
-
332
- if (blockSlot >= currentSlot && isExecutionStateType(postState)) {
333
- let notOverrideFcuReason = NotReorgedReason.Unknown;
334
- const proposalSlot = blockSlot + 1;
335
- try {
336
- const proposerIndex = postState.epochCtx.getBeaconProposer(proposalSlot);
337
- const feeRecipient = this.beaconProposerCache.get(proposerIndex);
338
-
339
- if (feeRecipient) {
340
- // We would set this to true if
341
- // 1) This is a gossip block
342
- // 2) We are proposer of next slot
343
- // 3) Proposer boost reorg related flag is turned on (this is checked inside the function)
344
- // 4) Block meets the criteria of being re-orged out (this is also checked inside the function)
345
- const result = this.forkChoice.shouldOverrideForkChoiceUpdate(
346
- blockSummary.blockRoot,
347
- this.clock.secFromSlot(currentSlot),
348
- currentSlot
349
- );
350
- shouldOverrideFcu = result.shouldOverrideFcu;
351
- if (!result.shouldOverrideFcu) {
352
- notOverrideFcuReason = result.reason;
353
- }
354
- } else {
355
- notOverrideFcuReason = NotReorgedReason.NotProposerOfNextSlot;
356
- }
357
- } catch (e) {
358
- if (isStartSlotOfEpoch(proposalSlot)) {
359
- notOverrideFcuReason = NotReorgedReason.NotShufflingStable;
360
- } else {
361
- this.logger.warn("Unable to get beacon proposer. Do not override fcu.", {proposalSlot}, e as Error);
362
- }
363
- }
364
-
365
- if (shouldOverrideFcu) {
366
- this.logger.verbose("Weak block detected. Skip fcu call in importBlock", {
367
- blockRoot: blockRootHex,
368
- slot: blockSlot,
369
- });
370
- } else {
371
- this.metrics?.importBlock.notOverrideFcuReason.inc({reason: notOverrideFcuReason});
372
- this.logger.verbose("Strong block detected. Not override fcu call", {
373
- blockRoot: blockRootHex,
374
- slot: blockSlot,
375
- reason: notOverrideFcuReason,
376
- });
377
- }
378
- }
379
-
380
- if (
381
- !this.opts.disableImportExecutionFcU &&
382
- (newHead.blockRoot !== oldHead.blockRoot || currFinalizedEpoch !== prevFinalizedEpoch) &&
383
- !shouldOverrideFcu
384
- ) {
385
- /**
386
- * On post BELLATRIX_EPOCH but pre TTD, blocks include empty execution payload with a zero block hash.
387
- * The consensus clients must not send notifyForkchoiceUpdate before TTD since the execution client will error.
388
- * So we must check that:
389
- * - `headBlockHash !== null` -> Pre BELLATRIX_EPOCH
390
- * - `headBlockHash !== ZERO_HASH` -> Pre TTD
391
- */
392
- const headBlockHash = this.forkChoice.getHead().executionPayloadBlockHash ?? ZERO_HASH_HEX;
393
- /**
394
- * After BELLATRIX_EPOCH and TTD it's okay to send a zero hash block hash for the finalized block. This will happen if
395
- * the current finalized block does not contain any execution payload at all (pre MERGE_EPOCH) or if it contains a
396
- * zero block hash (pre TTD)
397
- */
398
- const safeBlockHash = this.forkChoice.getJustifiedBlock().executionPayloadBlockHash ?? ZERO_HASH_HEX;
399
- const finalizedBlockHash = this.forkChoice.getFinalizedBlock().executionPayloadBlockHash ?? ZERO_HASH_HEX;
400
- if (headBlockHash !== ZERO_HASH_HEX) {
401
- this.executionEngine
402
- .notifyForkchoiceUpdate(
403
- this.config.getForkName(this.forkChoice.getHead().slot),
404
- headBlockHash,
405
- safeBlockHash,
406
- finalizedBlockHash
407
- )
408
- .catch((e) => {
409
- if (!isErrorAborted(e) && !isQueueErrorAborted(e)) {
410
- this.logger.error("Error pushing notifyForkchoiceUpdate()", {headBlockHash, finalizedBlockHash}, e);
411
- }
412
- });
413
- }
414
- }
415
-
416
- if (!isStateValidatorsNodesPopulated(postState)) {
417
- this.logger.verbose("After importBlock caching postState without SSZ cache", {slot: postState.slot});
418
- }
419
-
420
- if (blockSlot % SLOTS_PER_EPOCH === 0) {
421
- // Cache state to preserve epoch transition work
422
- const checkpointState = postState;
423
- const cp = getCheckpointFromState(checkpointState);
424
- this.regen.addCheckpointState(cp, checkpointState);
425
- // consumers should not mutate or get the transfered cache
426
- this.emitter.emit(ChainEvent.checkpoint, cp, checkpointState.clone(true));
427
-
428
- // Note: in-lined code from previos handler of ChainEvent.checkpoint
429
- this.logger.verbose("Checkpoint processed", toCheckpointHex(cp));
430
-
431
- const activeValidatorsCount = checkpointState.epochCtx.currentShuffling.activeIndices.length;
432
- this.metrics?.currentActiveValidators.set(activeValidatorsCount);
433
- this.metrics?.currentValidators.set({status: "active"}, activeValidatorsCount);
434
-
435
- const parentBlockSummary = this.forkChoice.getBlock(checkpointState.latestBlockHeader.parentRoot);
436
-
437
- if (parentBlockSummary) {
438
- const justifiedCheckpoint = checkpointState.currentJustifiedCheckpoint;
439
- const justifiedEpoch = justifiedCheckpoint.epoch;
440
- const preJustifiedEpoch = parentBlockSummary.justifiedEpoch;
441
- if (justifiedEpoch > preJustifiedEpoch) {
442
- this.logger.verbose("Checkpoint justified", toCheckpointHex(justifiedCheckpoint));
443
- this.metrics?.previousJustifiedEpoch.set(checkpointState.previousJustifiedCheckpoint.epoch);
444
- this.metrics?.currentJustifiedEpoch.set(justifiedCheckpoint.epoch);
445
- }
446
- const finalizedCheckpoint = checkpointState.finalizedCheckpoint;
447
- const finalizedEpoch = finalizedCheckpoint.epoch;
448
- const preFinalizedEpoch = parentBlockSummary.finalizedEpoch;
449
- if (finalizedEpoch > preFinalizedEpoch) {
450
- this.emitter.emit(routes.events.EventType.finalizedCheckpoint, {
451
- block: toRootHex(finalizedCheckpoint.root),
452
- epoch: finalizedCheckpoint.epoch,
453
- state: toRootHex(checkpointState.hashTreeRoot()),
454
- executionOptimistic: false,
455
- });
456
- this.logger.verbose("Checkpoint finalized", toCheckpointHex(finalizedCheckpoint));
457
- this.metrics?.finalizedEpoch.set(finalizedCheckpoint.epoch);
458
- }
459
- }
460
- }
461
-
462
- // Send block events, only for recent enough blocks
463
-
464
- if (currentSlot - blockSlot < EVENTSTREAM_EMIT_RECENT_BLOCK_SLOTS) {
465
- // We want to import block asap so call all event handler in the next event loop
466
- callInNextEventLoop(() => {
467
- // NOTE: Skip emitting if there are no listeners from the API
468
- if (this.emitter.listenerCount(routes.events.EventType.block)) {
469
- this.emitter.emit(routes.events.EventType.block, {
470
- block: blockRootHex,
471
- slot: blockSlot,
472
- executionOptimistic: blockSummary != null && isOptimisticBlock(blockSummary),
473
- });
474
- }
475
- if (this.emitter.listenerCount(routes.events.EventType.voluntaryExit)) {
476
- for (const voluntaryExit of block.message.body.voluntaryExits) {
477
- this.emitter.emit(routes.events.EventType.voluntaryExit, voluntaryExit);
478
- }
479
- }
480
- if (this.emitter.listenerCount(routes.events.EventType.blsToExecutionChange)) {
481
- for (const blsToExecutionChange of (block.message as capella.BeaconBlock).body.blsToExecutionChanges ?? []) {
482
- this.emitter.emit(routes.events.EventType.blsToExecutionChange, blsToExecutionChange);
483
- }
484
- }
485
- if (this.emitter.listenerCount(routes.events.EventType.attestation)) {
486
- for (const attestation of block.message.body.attestations) {
487
- this.emitter.emit(routes.events.EventType.attestation, attestation);
488
- }
489
- }
490
- if (this.emitter.listenerCount(routes.events.EventType.attesterSlashing)) {
491
- for (const attesterSlashing of block.message.body.attesterSlashings) {
492
- this.emitter.emit(routes.events.EventType.attesterSlashing, attesterSlashing);
493
- }
494
- }
495
- if (this.emitter.listenerCount(routes.events.EventType.proposerSlashing)) {
496
- for (const proposerSlashing of block.message.body.proposerSlashings) {
497
- this.emitter.emit(routes.events.EventType.proposerSlashing, proposerSlashing);
498
- }
499
- }
500
- });
501
- }
502
-
503
- // Register stat metrics about the block after importing it
504
- this.metrics?.parentBlockDistance.observe(blockSlot - parentBlockSlot);
505
- this.metrics?.proposerBalanceDeltaAny.observe(fullyVerifiedBlock.proposerBalanceDelta);
506
- this.validatorMonitor?.registerImportedBlock(block.message, fullyVerifiedBlock);
507
- if (this.config.getForkSeq(blockSlot) >= ForkSeq.altair) {
508
- this.validatorMonitor?.registerSyncAggregateInBlock(
509
- blockEpoch,
510
- (block as altair.SignedBeaconBlock).message.body.syncAggregate,
511
- fullyVerifiedBlock.postState.epochCtx.currentSyncCommitteeIndexed.validatorIndices
512
- );
513
- }
514
-
515
- if (isBlockInputColumns(blockInput)) {
516
- for (const {source} of blockInput.getSampledColumnsWithSource()) {
517
- this.metrics?.importBlock.columnsBySource.inc({source});
518
- }
519
- } else if (isBlockInputBlobs(blockInput)) {
520
- for (const {source} of blockInput.getAllBlobsWithSource()) {
521
- this.metrics?.importBlock.blobsBySource.inc({blobsSource: source});
522
- }
523
- }
524
-
525
- const advancedSlot = this.clock.slotWithFutureTolerance(REPROCESS_MIN_TIME_TO_NEXT_SLOT_SEC);
526
-
527
- // Gossip blocks need to be imported as soon as possible, waiting attestations could be processed
528
- // in the next event loop. See https://github.com/ChainSafe/lodestar/issues/4789
529
- callInNextEventLoop(() => {
530
- this.reprocessController.onBlockImported({slot: blockSlot, root: blockRootHex}, advancedSlot);
531
- });
532
-
533
- if (opts.seenTimestampSec !== undefined) {
534
- const recvToValidation = Date.now() / 1000 - opts.seenTimestampSec;
535
- const validationTime = recvToValidation - recvToValLatency;
536
-
537
- this.metrics?.gossipBlock.blockImport.recvToValidation.observe(recvToValidation);
538
- this.metrics?.gossipBlock.blockImport.validationTime.observe(validationTime);
539
-
540
- this.logger.debug("Imported block", {slot: blockSlot, recvToValLatency, recvToValidation, validationTime});
541
- }
542
-
543
- this.logger.verbose("Block processed", {
544
- slot: blockSlot,
545
- root: blockRootHex,
546
- delaySec: this.clock.secFromSlot(blockSlot),
547
- });
548
- }
549
-
550
- export function addAttestationPreElectra(
551
- this: BeaconChain,
552
- // added to have the same signature as addAttestationPostElectra
553
- _: EpochCache,
554
- target: phase0.Checkpoint,
555
- attDataRoot: string,
556
- attestation: Attestation,
557
- indexedAttestation: phase0.IndexedAttestation
558
- ): void {
559
- this.seenAggregatedAttestations.add(
560
- target.epoch,
561
- attestation.data.index,
562
- attDataRoot,
563
- {aggregationBits: attestation.aggregationBits, trueBitCount: indexedAttestation.attestingIndices.length},
564
- true
565
- );
566
- }
567
-
568
- export function addAttestationPostElectra(
569
- this: BeaconChain,
570
- epochCtx: EpochCache,
571
- target: phase0.Checkpoint,
572
- attDataRoot: string,
573
- attestation: Attestation<ForkPostElectra>,
574
- indexedAttestation: electra.IndexedAttestation
575
- ): void {
576
- const committeeIndices = attestation.committeeBits.getTrueBitIndexes();
577
- if (committeeIndices.length === 1) {
578
- this.seenAggregatedAttestations.add(
579
- target.epoch,
580
- committeeIndices[0],
581
- attDataRoot,
582
- {aggregationBits: attestation.aggregationBits, trueBitCount: indexedAttestation.attestingIndices.length},
583
- true
584
- );
585
- } else {
586
- const committees = epochCtx.getBeaconCommittees(attestation.data.slot, committeeIndices);
587
- const aggregationBools = attestation.aggregationBits.toBoolArray();
588
- let offset = 0;
589
- for (let i = 0; i < committees.length; i++) {
590
- const committee = committees[i];
591
- const aggregationBits = BitArray.fromBoolArray(aggregationBools.slice(offset, offset + committee.length));
592
- const trueBitCount = aggregationBits.getTrueBitIndexes().length;
593
- offset += committee.length;
594
- this.seenAggregatedAttestations.add(
595
- target.epoch,
596
- committeeIndices[i],
597
- attDataRoot,
598
- {aggregationBits, trueBitCount},
599
- true
600
- );
601
- }
602
- }
603
- }