@lodestar/beacon-node 1.35.0-dev.47470aab65 → 1.35.0-dev.47c570ab76

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 (930) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/lodestar/index.js +1 -1
  4. package/lib/api/impl/lodestar/index.js.map +1 -1
  5. package/lib/api/impl/validator/index.js +8 -9
  6. package/lib/api/impl/validator/index.js.map +1 -1
  7. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  8. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  9. package/lib/chain/blocks/blockInput/blockInput.js +1 -1
  10. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  11. package/lib/chain/blocks/importBlock.js +6 -7
  12. package/lib/chain/blocks/importBlock.js.map +1 -1
  13. package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -8
  14. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  15. package/lib/chain/blocks/writeBlockInputToDb.js +7 -1
  16. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  17. package/lib/chain/chain.js +4 -3
  18. package/lib/chain/chain.js.map +1 -1
  19. package/lib/chain/emitter.d.ts +2 -2
  20. package/lib/chain/opPools/attestationPool.d.ts +3 -2
  21. package/lib/chain/opPools/attestationPool.js +5 -3
  22. package/lib/chain/opPools/attestationPool.js.map +1 -1
  23. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +2 -3
  24. package/lib/chain/opPools/syncCommitteeMessagePool.js +5 -6
  25. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  26. package/lib/chain/opPools/types.d.ts +1 -1
  27. package/lib/chain/opPools/types.js +1 -1
  28. package/lib/chain/opPools/types.js.map +1 -1
  29. package/lib/chain/prepareNextSlot.d.ts +3 -3
  30. package/lib/chain/prepareNextSlot.js +8 -8
  31. package/lib/chain/prepareNextSlot.js.map +1 -1
  32. package/lib/chain/stateCache/persistentCheckpointsCache.js +8 -9
  33. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  34. package/lib/chain/validation/lightClientFinalityUpdate.js +3 -4
  35. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  36. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +4 -6
  37. package/lib/chain/validation/lightClientOptimisticUpdate.js +11 -11
  38. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  39. package/lib/chain/validatorMonitor.js +15 -21
  40. package/lib/chain/validatorMonitor.js.map +1 -1
  41. package/lib/db/buckets.d.ts +4 -4
  42. package/lib/db/buckets.js +4 -4
  43. package/lib/db/buckets.js.map +1 -1
  44. package/lib/db/repositories/blobSidecars.js +1 -1
  45. package/lib/db/repositories/blobSidecars.js.map +1 -1
  46. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  47. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  48. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  49. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  50. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  51. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  52. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  53. package/lib/metrics/metrics/lodestar.d.ts +1 -1
  54. package/lib/metrics/metrics/lodestar.js +3 -3
  55. package/lib/metrics/metrics/lodestar.js.map +1 -1
  56. package/lib/network/gossip/gossipsub.js +1 -1
  57. package/lib/network/gossip/gossipsub.js.map +1 -1
  58. package/lib/network/gossip/scoringParameters.js +4 -4
  59. package/lib/network/gossip/scoringParameters.js.map +1 -1
  60. package/lib/network/network.d.ts +1 -1
  61. package/lib/network/network.js +13 -11
  62. package/lib/network/network.js.map +1 -1
  63. package/lib/network/peers/peerManager.js +1 -2
  64. package/lib/network/peers/peerManager.js.map +1 -1
  65. package/lib/network/processor/gossipHandlers.js +1 -1
  66. package/lib/network/processor/gossipHandlers.js.map +1 -1
  67. package/lib/network/processor/index.d.ts +1 -1
  68. package/lib/network/processor/index.js +3 -2
  69. package/lib/network/processor/index.js.map +1 -1
  70. package/lib/network/subnets/attnetsService.js +1 -1
  71. package/lib/network/subnets/attnetsService.js.map +1 -1
  72. package/lib/node/notifier.js +1 -1
  73. package/lib/node/notifier.js.map +1 -1
  74. package/lib/sync/types.d.ts +1 -0
  75. package/lib/sync/types.js.map +1 -1
  76. package/lib/sync/unknownBlock.d.ts +1 -0
  77. package/lib/sync/unknownBlock.js +20 -18
  78. package/lib/sync/unknownBlock.js.map +1 -1
  79. package/lib/util/blobs.js +3 -5
  80. package/lib/util/blobs.js.map +1 -1
  81. package/lib/util/clock.d.ts +3 -8
  82. package/lib/util/clock.js +5 -8
  83. package/lib/util/clock.js.map +1 -1
  84. package/package.json +20 -18
  85. package/lib/api/impl/api.d.ts.map +0 -1
  86. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  87. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  88. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  89. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  90. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  91. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  92. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  93. package/lib/api/impl/config/constants.d.ts.map +0 -1
  94. package/lib/api/impl/config/index.d.ts.map +0 -1
  95. package/lib/api/impl/debug/index.d.ts.map +0 -1
  96. package/lib/api/impl/errors.d.ts.map +0 -1
  97. package/lib/api/impl/events/index.d.ts.map +0 -1
  98. package/lib/api/impl/index.d.ts.map +0 -1
  99. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  100. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  101. package/lib/api/impl/node/index.d.ts.map +0 -1
  102. package/lib/api/impl/node/utils.d.ts.map +0 -1
  103. package/lib/api/impl/proof/index.d.ts.map +0 -1
  104. package/lib/api/impl/types.d.ts.map +0 -1
  105. package/lib/api/impl/utils.d.ts.map +0 -1
  106. package/lib/api/impl/validator/index.d.ts.map +0 -1
  107. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  108. package/lib/api/index.d.ts.map +0 -1
  109. package/lib/api/options.d.ts.map +0 -1
  110. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  111. package/lib/api/rest/base.d.ts.map +0 -1
  112. package/lib/api/rest/index.d.ts.map +0 -1
  113. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  114. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  115. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  116. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  117. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  118. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  119. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  120. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  121. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  122. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  123. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  124. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  125. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  126. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  127. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  128. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  129. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  130. package/lib/chain/balancesCache.d.ts.map +0 -1
  131. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  132. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  133. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  134. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  135. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  136. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  137. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  138. package/lib/chain/blocks/index.d.ts.map +0 -1
  139. package/lib/chain/blocks/types.d.ts.map +0 -1
  140. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  141. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  142. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  143. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  144. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  145. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  146. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  147. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  148. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  149. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  150. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  151. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  152. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  153. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  154. package/lib/chain/bls/index.d.ts.map +0 -1
  155. package/lib/chain/bls/interface.d.ts.map +0 -1
  156. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  157. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  158. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  159. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  160. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  161. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  162. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  163. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  164. package/lib/chain/bls/utils.d.ts.map +0 -1
  165. package/lib/chain/chain.d.ts.map +0 -1
  166. package/lib/chain/emitter.d.ts.map +0 -1
  167. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  168. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  169. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  170. package/lib/chain/errors/blockError.d.ts.map +0 -1
  171. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  172. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  173. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  174. package/lib/chain/errors/index.d.ts.map +0 -1
  175. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  176. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  177. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  178. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  179. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  180. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  181. package/lib/chain/genesis/interface.d.ts.map +0 -1
  182. package/lib/chain/index.d.ts.map +0 -1
  183. package/lib/chain/initState.d.ts.map +0 -1
  184. package/lib/chain/interface.d.ts.map +0 -1
  185. package/lib/chain/lightClient/index.d.ts.map +0 -1
  186. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  187. package/lib/chain/lightClient/types.d.ts.map +0 -1
  188. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  189. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  190. package/lib/chain/opPools/index.d.ts.map +0 -1
  191. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  192. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  193. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  194. package/lib/chain/opPools/types.d.ts.map +0 -1
  195. package/lib/chain/opPools/utils.d.ts.map +0 -1
  196. package/lib/chain/options.d.ts.map +0 -1
  197. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  198. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  199. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  200. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  201. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  202. package/lib/chain/regen/errors.d.ts.map +0 -1
  203. package/lib/chain/regen/index.d.ts.map +0 -1
  204. package/lib/chain/regen/interface.d.ts.map +0 -1
  205. package/lib/chain/regen/queued.d.ts.map +0 -1
  206. package/lib/chain/regen/regen.d.ts.map +0 -1
  207. package/lib/chain/reprocess.d.ts.map +0 -1
  208. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  209. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  210. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  211. package/lib/chain/seenCache/index.d.ts.map +0 -1
  212. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  213. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  214. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  215. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  216. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  217. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  218. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  219. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  220. package/lib/chain/serializeState.d.ts.map +0 -1
  221. package/lib/chain/shufflingCache.d.ts.map +0 -1
  222. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  223. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  224. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  225. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  226. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  227. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  228. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  229. package/lib/chain/stateCache/index.d.ts.map +0 -1
  230. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  231. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  232. package/lib/chain/stateCache/types.d.ts.map +0 -1
  233. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  234. package/lib/chain/validation/attestation.d.ts.map +0 -1
  235. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  236. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  237. package/lib/chain/validation/block.d.ts.map +0 -1
  238. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  239. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  240. package/lib/chain/validation/index.d.ts.map +0 -1
  241. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  242. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  243. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  244. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  245. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  246. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  247. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  248. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  249. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  250. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  251. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  252. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  253. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  254. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  255. package/lib/constants/constants.d.ts.map +0 -1
  256. package/lib/constants/index.d.ts.map +0 -1
  257. package/lib/constants/network.d.ts.map +0 -1
  258. package/lib/db/beacon.d.ts.map +0 -1
  259. package/lib/db/buckets.d.ts.map +0 -1
  260. package/lib/db/index.d.ts.map +0 -1
  261. package/lib/db/interface.d.ts.map +0 -1
  262. package/lib/db/options.d.ts.map +0 -1
  263. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  264. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  265. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  266. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  267. package/lib/db/repositories/block.d.ts.map +0 -1
  268. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  269. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  270. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  271. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  272. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  273. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  274. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  275. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  276. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  277. package/lib/db/repositories/index.d.ts.map +0 -1
  278. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  279. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  280. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  281. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  282. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  283. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  284. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  285. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  286. package/lib/db/single/index.d.ts.map +0 -1
  287. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  288. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  289. package/lib/eth1/errors.d.ts.map +0 -1
  290. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  291. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  292. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  293. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  294. package/lib/eth1/index.d.ts.map +0 -1
  295. package/lib/eth1/interface.d.ts.map +0 -1
  296. package/lib/eth1/options.d.ts.map +0 -1
  297. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  298. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  299. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  300. package/lib/eth1/provider/utils.d.ts.map +0 -1
  301. package/lib/eth1/stream.d.ts.map +0 -1
  302. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  303. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  304. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  305. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  306. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  307. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  308. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  309. package/lib/execution/builder/cache.d.ts.map +0 -1
  310. package/lib/execution/builder/http.d.ts.map +0 -1
  311. package/lib/execution/builder/index.d.ts.map +0 -1
  312. package/lib/execution/builder/interface.d.ts.map +0 -1
  313. package/lib/execution/builder/utils.d.ts.map +0 -1
  314. package/lib/execution/engine/disabled.d.ts.map +0 -1
  315. package/lib/execution/engine/http.d.ts.map +0 -1
  316. package/lib/execution/engine/index.d.ts.map +0 -1
  317. package/lib/execution/engine/interface.d.ts.map +0 -1
  318. package/lib/execution/engine/mock.d.ts.map +0 -1
  319. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  320. package/lib/execution/engine/types.d.ts.map +0 -1
  321. package/lib/execution/engine/utils.d.ts.map +0 -1
  322. package/lib/execution/index.d.ts.map +0 -1
  323. package/lib/index.d.ts.map +0 -1
  324. package/lib/metrics/index.d.ts.map +0 -1
  325. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  326. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  327. package/lib/metrics/metrics.d.ts.map +0 -1
  328. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  329. package/lib/metrics/options.d.ts.map +0 -1
  330. package/lib/metrics/server/http.d.ts.map +0 -1
  331. package/lib/metrics/server/index.d.ts.map +0 -1
  332. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  333. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  334. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  335. package/lib/monitoring/clientStats.d.ts.map +0 -1
  336. package/lib/monitoring/index.d.ts.map +0 -1
  337. package/lib/monitoring/options.d.ts.map +0 -1
  338. package/lib/monitoring/properties.d.ts.map +0 -1
  339. package/lib/monitoring/service.d.ts.map +0 -1
  340. package/lib/monitoring/system.d.ts.map +0 -1
  341. package/lib/monitoring/types.d.ts.map +0 -1
  342. package/lib/network/core/events.d.ts.map +0 -1
  343. package/lib/network/core/index.d.ts.map +0 -1
  344. package/lib/network/core/metrics.d.ts.map +0 -1
  345. package/lib/network/core/networkCore.d.ts.map +0 -1
  346. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  347. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  348. package/lib/network/core/types.d.ts.map +0 -1
  349. package/lib/network/discv5/index.d.ts.map +0 -1
  350. package/lib/network/discv5/types.d.ts.map +0 -1
  351. package/lib/network/discv5/utils.d.ts.map +0 -1
  352. package/lib/network/discv5/worker.d.ts.map +0 -1
  353. package/lib/network/events.d.ts.map +0 -1
  354. package/lib/network/forks.d.ts.map +0 -1
  355. package/lib/network/gossip/constants.d.ts.map +0 -1
  356. package/lib/network/gossip/encoding.d.ts.map +0 -1
  357. package/lib/network/gossip/errors.d.ts.map +0 -1
  358. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  359. package/lib/network/gossip/index.d.ts.map +0 -1
  360. package/lib/network/gossip/interface.d.ts.map +0 -1
  361. package/lib/network/gossip/metrics.d.ts.map +0 -1
  362. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  363. package/lib/network/gossip/topic.d.ts.map +0 -1
  364. package/lib/network/index.d.ts.map +0 -1
  365. package/lib/network/interface.d.ts.map +0 -1
  366. package/lib/network/libp2p/error.d.ts.map +0 -1
  367. package/lib/network/libp2p/index.d.ts.map +0 -1
  368. package/lib/network/metadata.d.ts.map +0 -1
  369. package/lib/network/network.d.ts.map +0 -1
  370. package/lib/network/networkConfig.d.ts.map +0 -1
  371. package/lib/network/options.d.ts.map +0 -1
  372. package/lib/network/peers/client.d.ts.map +0 -1
  373. package/lib/network/peers/datastore.d.ts.map +0 -1
  374. package/lib/network/peers/discover.d.ts.map +0 -1
  375. package/lib/network/peers/index.d.ts.map +0 -1
  376. package/lib/network/peers/peerManager.d.ts.map +0 -1
  377. package/lib/network/peers/peersData.d.ts.map +0 -1
  378. package/lib/network/peers/score/constants.d.ts.map +0 -1
  379. package/lib/network/peers/score/index.d.ts.map +0 -1
  380. package/lib/network/peers/score/interface.d.ts.map +0 -1
  381. package/lib/network/peers/score/score.d.ts.map +0 -1
  382. package/lib/network/peers/score/store.d.ts.map +0 -1
  383. package/lib/network/peers/score/utils.d.ts.map +0 -1
  384. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  385. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  386. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  387. package/lib/network/peers/utils/index.d.ts.map +0 -1
  388. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  389. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  390. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  391. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  392. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  393. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  394. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  395. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  396. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  397. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  398. package/lib/network/processor/index.d.ts.map +0 -1
  399. package/lib/network/processor/types.d.ts.map +0 -1
  400. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  401. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  402. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  403. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  404. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  405. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  406. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  407. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  408. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  409. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  410. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  411. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  412. package/lib/network/reqresp/index.d.ts.map +0 -1
  413. package/lib/network/reqresp/interface.d.ts.map +0 -1
  414. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  415. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  416. package/lib/network/reqresp/score.d.ts.map +0 -1
  417. package/lib/network/reqresp/types.d.ts.map +0 -1
  418. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  419. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  420. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  421. package/lib/network/statusCache.d.ts.map +0 -1
  422. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  423. package/lib/network/subnets/index.d.ts.map +0 -1
  424. package/lib/network/subnets/interface.d.ts.map +0 -1
  425. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  426. package/lib/network/subnets/util.d.ts.map +0 -1
  427. package/lib/network/util.d.ts.map +0 -1
  428. package/lib/node/index.d.ts.map +0 -1
  429. package/lib/node/nodejs.d.ts.map +0 -1
  430. package/lib/node/notifier.d.ts.map +0 -1
  431. package/lib/node/options.d.ts.map +0 -1
  432. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  433. package/lib/node/utils/interop/state.d.ts.map +0 -1
  434. package/lib/node/utils/lightclient.d.ts.map +0 -1
  435. package/lib/node/utils/state.d.ts.map +0 -1
  436. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  437. package/lib/sync/backfill/errors.d.ts.map +0 -1
  438. package/lib/sync/backfill/index.d.ts.map +0 -1
  439. package/lib/sync/backfill/verify.d.ts.map +0 -1
  440. package/lib/sync/constants.d.ts.map +0 -1
  441. package/lib/sync/index.d.ts.map +0 -1
  442. package/lib/sync/interface.d.ts.map +0 -1
  443. package/lib/sync/options.d.ts.map +0 -1
  444. package/lib/sync/range/batch.d.ts.map +0 -1
  445. package/lib/sync/range/chain.d.ts.map +0 -1
  446. package/lib/sync/range/range.d.ts.map +0 -1
  447. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  448. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  449. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  450. package/lib/sync/range/utils/index.d.ts.map +0 -1
  451. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  452. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  453. package/lib/sync/sync.d.ts.map +0 -1
  454. package/lib/sync/types.d.ts.map +0 -1
  455. package/lib/sync/unknownBlock.d.ts.map +0 -1
  456. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  457. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  458. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  459. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  460. package/lib/util/address.d.ts.map +0 -1
  461. package/lib/util/array.d.ts.map +0 -1
  462. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  463. package/lib/util/binarySearch.d.ts.map +0 -1
  464. package/lib/util/bitArray.d.ts.map +0 -1
  465. package/lib/util/blobs.d.ts.map +0 -1
  466. package/lib/util/bufferPool.d.ts.map +0 -1
  467. package/lib/util/bytes.d.ts.map +0 -1
  468. package/lib/util/chunkify.d.ts.map +0 -1
  469. package/lib/util/clock.d.ts.map +0 -1
  470. package/lib/util/dataColumns.d.ts.map +0 -1
  471. package/lib/util/dependentRoot.d.ts.map +0 -1
  472. package/lib/util/enum.d.ts.map +0 -1
  473. package/lib/util/error.d.ts.map +0 -1
  474. package/lib/util/eventLoop.d.ts.map +0 -1
  475. package/lib/util/execution.d.ts.map +0 -1
  476. package/lib/util/file.d.ts.map +0 -1
  477. package/lib/util/forkChoice.d.ts.map +0 -1
  478. package/lib/util/forkName.d.ts.map +0 -1
  479. package/lib/util/graffiti.d.ts.map +0 -1
  480. package/lib/util/hex.d.ts.map +0 -1
  481. package/lib/util/index.d.ts.map +0 -1
  482. package/lib/util/ip.d.ts.map +0 -1
  483. package/lib/util/itTrigger.d.ts.map +0 -1
  484. package/lib/util/kzg.d.ts.map +0 -1
  485. package/lib/util/map.d.ts.map +0 -1
  486. package/lib/util/metadata.d.ts.map +0 -1
  487. package/lib/util/multifork.d.ts.map +0 -1
  488. package/lib/util/numpy.d.ts.map +0 -1
  489. package/lib/util/peerId.d.ts.map +0 -1
  490. package/lib/util/profile.d.ts.map +0 -1
  491. package/lib/util/promises.d.ts.map +0 -1
  492. package/lib/util/queue/errors.d.ts.map +0 -1
  493. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  494. package/lib/util/queue/index.d.ts.map +0 -1
  495. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  496. package/lib/util/queue/options.d.ts.map +0 -1
  497. package/lib/util/serializedCache.d.ts.map +0 -1
  498. package/lib/util/set.d.ts.map +0 -1
  499. package/lib/util/shuffle.d.ts.map +0 -1
  500. package/lib/util/sortBy.d.ts.map +0 -1
  501. package/lib/util/sszBytes.d.ts.map +0 -1
  502. package/lib/util/strictEvents.d.ts.map +0 -1
  503. package/lib/util/time.d.ts.map +0 -1
  504. package/lib/util/timeSeries.d.ts.map +0 -1
  505. package/lib/util/types.d.ts.map +0 -1
  506. package/lib/util/workerEvents.d.ts.map +0 -1
  507. package/lib/util/wrapError.d.ts.map +0 -1
  508. package/src/api/impl/api.ts +0 -26
  509. package/src/api/impl/beacon/blocks/index.ts +0 -744
  510. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  511. package/src/api/impl/beacon/index.ts +0 -35
  512. package/src/api/impl/beacon/pool/index.ts +0 -314
  513. package/src/api/impl/beacon/rewards/index.ts +0 -30
  514. package/src/api/impl/beacon/state/index.ts +0 -406
  515. package/src/api/impl/beacon/state/utils.ts +0 -189
  516. package/src/api/impl/config/constants.ts +0 -127
  517. package/src/api/impl/config/index.ts +0 -59
  518. package/src/api/impl/debug/index.ts +0 -131
  519. package/src/api/impl/errors.ts +0 -50
  520. package/src/api/impl/events/index.ts +0 -33
  521. package/src/api/impl/index.ts +0 -6
  522. package/src/api/impl/lightclient/index.ts +0 -64
  523. package/src/api/impl/lodestar/index.ts +0 -257
  524. package/src/api/impl/node/index.ts +0 -88
  525. package/src/api/impl/node/utils.ts +0 -51
  526. package/src/api/impl/proof/index.ts +0 -60
  527. package/src/api/impl/types.ts +0 -17
  528. package/src/api/impl/utils.ts +0 -25
  529. package/src/api/impl/validator/index.ts +0 -1541
  530. package/src/api/impl/validator/utils.ts +0 -85
  531. package/src/api/index.ts +0 -2
  532. package/src/api/options.ts +0 -16
  533. package/src/api/rest/activeSockets.ts +0 -109
  534. package/src/api/rest/base.ts +0 -216
  535. package/src/api/rest/index.ts +0 -63
  536. package/src/api/rest/swaggerUI.ts +0 -80
  537. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  538. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  539. package/src/chain/GetBlobsTracker.ts +0 -115
  540. package/src/chain/archiveStore/archiveStore.ts +0 -222
  541. package/src/chain/archiveStore/constants.ts +0 -5
  542. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  543. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  544. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  545. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  546. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  547. package/src/chain/archiveStore/index.ts +0 -3
  548. package/src/chain/archiveStore/interface.ts +0 -75
  549. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  550. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  551. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  552. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  553. package/src/chain/balancesCache.ts +0 -52
  554. package/src/chain/beaconProposerCache.ts +0 -43
  555. package/src/chain/blocks/blockInput/blockInput.ts +0 -852
  556. package/src/chain/blocks/blockInput/errors.ts +0 -48
  557. package/src/chain/blocks/blockInput/index.ts +0 -4
  558. package/src/chain/blocks/blockInput/types.ts +0 -145
  559. package/src/chain/blocks/blockInput/utils.ts +0 -21
  560. package/src/chain/blocks/importBlock.ts +0 -599
  561. package/src/chain/blocks/index.ts +0 -179
  562. package/src/chain/blocks/types.ts +0 -101
  563. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  564. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  565. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  566. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  567. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  568. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  569. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  570. package/src/chain/blocks/verifyBlock.ts +0 -242
  571. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -42
  572. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  573. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  574. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  575. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  576. package/src/chain/blocks/writeBlockInputToDb.ts +0 -120
  577. package/src/chain/bls/index.ts +0 -4
  578. package/src/chain/bls/interface.ts +0 -68
  579. package/src/chain/bls/maybeBatch.ts +0 -45
  580. package/src/chain/bls/multithread/index.ts +0 -582
  581. package/src/chain/bls/multithread/jobItem.ts +0 -119
  582. package/src/chain/bls/multithread/poolSize.ts +0 -16
  583. package/src/chain/bls/multithread/types.ts +0 -38
  584. package/src/chain/bls/multithread/utils.ts +0 -19
  585. package/src/chain/bls/multithread/worker.ts +0 -114
  586. package/src/chain/bls/singleThread.ts +0 -87
  587. package/src/chain/bls/utils.ts +0 -30
  588. package/src/chain/chain.ts +0 -1354
  589. package/src/chain/emitter.ts +0 -113
  590. package/src/chain/errors/attestationError.ts +0 -194
  591. package/src/chain/errors/attesterSlashingError.ts +0 -11
  592. package/src/chain/errors/blobSidecarError.ts +0 -60
  593. package/src/chain/errors/blockError.ts +0 -166
  594. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  595. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  596. package/src/chain/errors/gossipValidation.ts +0 -20
  597. package/src/chain/errors/index.ts +0 -10
  598. package/src/chain/errors/lightClientError.ts +0 -30
  599. package/src/chain/errors/proposerSlashingError.ts +0 -11
  600. package/src/chain/errors/syncCommitteeError.ts +0 -36
  601. package/src/chain/errors/voluntaryExitError.ts +0 -13
  602. package/src/chain/forkChoice/index.ts +0 -112
  603. package/src/chain/genesis/genesis.ts +0 -190
  604. package/src/chain/genesis/interface.ts +0 -14
  605. package/src/chain/index.ts +0 -6
  606. package/src/chain/initState.ts +0 -221
  607. package/src/chain/interface.ts +0 -280
  608. package/src/chain/lightClient/index.ts +0 -764
  609. package/src/chain/lightClient/proofs.ts +0 -85
  610. package/src/chain/lightClient/types.ts +0 -33
  611. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  612. package/src/chain/opPools/attestationPool.ts +0 -282
  613. package/src/chain/opPools/index.ts +0 -5
  614. package/src/chain/opPools/opPool.ts +0 -462
  615. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -169
  616. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  617. package/src/chain/opPools/types.ts +0 -35
  618. package/src/chain/opPools/utils.ts +0 -65
  619. package/src/chain/options.ts +0 -138
  620. package/src/chain/prepareNextSlot.ts +0 -277
  621. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  622. package/src/chain/produceBlock/index.ts +0 -2
  623. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  624. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  625. package/src/chain/regen/errors.ts +0 -30
  626. package/src/chain/regen/index.ts +0 -4
  627. package/src/chain/regen/interface.ts +0 -93
  628. package/src/chain/regen/queued.ts +0 -317
  629. package/src/chain/regen/regen.ts +0 -424
  630. package/src/chain/reprocess.ts +0 -161
  631. package/src/chain/rewards/attestationsRewards.ts +0 -196
  632. package/src/chain/rewards/blockRewards.ts +0 -150
  633. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  634. package/src/chain/seenCache/index.ts +0 -5
  635. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  636. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  637. package/src/chain/seenCache/seenAttesters.ts +0 -58
  638. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  639. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  640. package/src/chain/seenCache/seenCommittee.ts +0 -43
  641. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  642. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  643. package/src/chain/serializeState.ts +0 -32
  644. package/src/chain/shufflingCache.ts +0 -238
  645. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  646. package/src/chain/stateCache/datastore/db.ts +0 -36
  647. package/src/chain/stateCache/datastore/file.ts +0 -53
  648. package/src/chain/stateCache/datastore/index.ts +0 -2
  649. package/src/chain/stateCache/datastore/types.ts +0 -13
  650. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  651. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  652. package/src/chain/stateCache/index.ts +0 -3
  653. package/src/chain/stateCache/mapMetrics.ts +0 -52
  654. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -837
  655. package/src/chain/stateCache/types.ts +0 -86
  656. package/src/chain/validation/aggregateAndProof.ts +0 -258
  657. package/src/chain/validation/attestation.ts +0 -885
  658. package/src/chain/validation/attesterSlashing.ts +0 -61
  659. package/src/chain/validation/blobSidecar.ts +0 -301
  660. package/src/chain/validation/block.ts +0 -188
  661. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  662. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  663. package/src/chain/validation/index.ts +0 -9
  664. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -46
  665. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -68
  666. package/src/chain/validation/proposerSlashing.ts +0 -54
  667. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  668. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  669. package/src/chain/validation/signatureSets/index.ts +0 -6
  670. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  671. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  672. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  673. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  674. package/src/chain/validation/syncCommittee.ts +0 -165
  675. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  676. package/src/chain/validation/voluntaryExit.ts +0 -58
  677. package/src/chain/validatorMonitor.ts +0 -1310
  678. package/src/constants/constants.ts +0 -15
  679. package/src/constants/index.ts +0 -2
  680. package/src/constants/network.ts +0 -52
  681. package/src/db/beacon.ts +0 -113
  682. package/src/db/buckets.ts +0 -80
  683. package/src/db/index.ts +0 -2
  684. package/src/db/interface.ts +0 -76
  685. package/src/db/options.ts +0 -7
  686. package/src/db/repositories/attesterSlashing.ts +0 -38
  687. package/src/db/repositories/backfilledRanges.ts +0 -29
  688. package/src/db/repositories/blobSidecars.ts +0 -37
  689. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  690. package/src/db/repositories/block.ts +0 -33
  691. package/src/db/repositories/blockArchive.ts +0 -170
  692. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  693. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  694. package/src/db/repositories/checkpointState.ts +0 -31
  695. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  696. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  697. package/src/db/repositories/depositDataRoot.ts +0 -80
  698. package/src/db/repositories/depositEvent.ts +0 -32
  699. package/src/db/repositories/eth1Data.ts +0 -33
  700. package/src/db/repositories/index.ts +0 -20
  701. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  702. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  703. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  704. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  705. package/src/db/repositories/proposerSlashing.ts +0 -15
  706. package/src/db/repositories/stateArchive.ts +0 -69
  707. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  708. package/src/db/repositories/voluntaryExit.ts +0 -15
  709. package/src/db/single/index.ts +0 -2
  710. package/src/db/single/preGenesisState.ts +0 -37
  711. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  712. package/src/eth1/errors.ts +0 -40
  713. package/src/eth1/eth1DataCache.ts +0 -26
  714. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  715. package/src/eth1/eth1DepositsCache.ts +0 -141
  716. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  717. package/src/eth1/index.ts +0 -157
  718. package/src/eth1/interface.ts +0 -131
  719. package/src/eth1/options.ts +0 -28
  720. package/src/eth1/provider/eth1Provider.ts +0 -229
  721. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  722. package/src/eth1/provider/jwt.ts +0 -36
  723. package/src/eth1/provider/utils.ts +0 -136
  724. package/src/eth1/stream.ts +0 -75
  725. package/src/eth1/utils/depositContract.ts +0 -37
  726. package/src/eth1/utils/deposits.ts +0 -70
  727. package/src/eth1/utils/eth1Data.ts +0 -100
  728. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  729. package/src/eth1/utils/eth1Vote.ts +0 -142
  730. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  731. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  732. package/src/execution/builder/cache.ts +0 -39
  733. package/src/execution/builder/http.ts +0 -229
  734. package/src/execution/builder/index.ts +0 -27
  735. package/src/execution/builder/interface.ts +0 -49
  736. package/src/execution/builder/utils.ts +0 -19
  737. package/src/execution/engine/disabled.ts +0 -35
  738. package/src/execution/engine/http.ts +0 -644
  739. package/src/execution/engine/index.ts +0 -63
  740. package/src/execution/engine/interface.ts +0 -199
  741. package/src/execution/engine/mock.ts +0 -493
  742. package/src/execution/engine/payloadIdCache.ts +0 -54
  743. package/src/execution/engine/types.ts +0 -640
  744. package/src/execution/engine/utils.ts +0 -136
  745. package/src/execution/index.ts +0 -4
  746. package/src/index.ts +0 -20
  747. package/src/metrics/index.ts +0 -4
  748. package/src/metrics/metrics/beacon.ts +0 -390
  749. package/src/metrics/metrics/lodestar.ts +0 -1870
  750. package/src/metrics/metrics.ts +0 -43
  751. package/src/metrics/nodeJsMetrics.ts +0 -19
  752. package/src/metrics/options.ts +0 -22
  753. package/src/metrics/server/http.ts +0 -114
  754. package/src/metrics/server/index.ts +0 -1
  755. package/src/metrics/utils/avgMinMax.ts +0 -87
  756. package/src/metrics/utils/gauge.ts +0 -22
  757. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  758. package/src/monitoring/clientStats.ts +0 -297
  759. package/src/monitoring/index.ts +0 -2
  760. package/src/monitoring/options.ts +0 -19
  761. package/src/monitoring/properties.ts +0 -152
  762. package/src/monitoring/service.ts +0 -235
  763. package/src/monitoring/system.ts +0 -146
  764. package/src/monitoring/types.ts +0 -21
  765. package/src/network/core/events.ts +0 -59
  766. package/src/network/core/index.ts +0 -3
  767. package/src/network/core/metrics.ts +0 -304
  768. package/src/network/core/networkCore.ts +0 -599
  769. package/src/network/core/networkCoreWorker.ts +0 -176
  770. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  771. package/src/network/core/types.ts +0 -119
  772. package/src/network/discv5/index.ts +0 -132
  773. package/src/network/discv5/types.ts +0 -74
  774. package/src/network/discv5/utils.ts +0 -50
  775. package/src/network/discv5/worker.ts +0 -137
  776. package/src/network/events.ts +0 -51
  777. package/src/network/forks.ts +0 -94
  778. package/src/network/gossip/constants.ts +0 -15
  779. package/src/network/gossip/encoding.ts +0 -111
  780. package/src/network/gossip/errors.ts +0 -7
  781. package/src/network/gossip/gossipsub.ts +0 -384
  782. package/src/network/gossip/index.ts +0 -4
  783. package/src/network/gossip/interface.ts +0 -215
  784. package/src/network/gossip/metrics.ts +0 -71
  785. package/src/network/gossip/scoringParameters.ts +0 -333
  786. package/src/network/gossip/topic.ts +0 -332
  787. package/src/network/index.ts +0 -8
  788. package/src/network/interface.ts +0 -134
  789. package/src/network/libp2p/error.ts +0 -55
  790. package/src/network/libp2p/index.ts +0 -153
  791. package/src/network/metadata.ts +0 -162
  792. package/src/network/network.ts +0 -767
  793. package/src/network/networkConfig.ts +0 -12
  794. package/src/network/options.ts +0 -70
  795. package/src/network/peers/client.ts +0 -29
  796. package/src/network/peers/datastore.ts +0 -188
  797. package/src/network/peers/discover.ts +0 -647
  798. package/src/network/peers/index.ts +0 -2
  799. package/src/network/peers/peerManager.ts +0 -900
  800. package/src/network/peers/peersData.ts +0 -65
  801. package/src/network/peers/score/constants.ts +0 -34
  802. package/src/network/peers/score/index.ts +0 -4
  803. package/src/network/peers/score/interface.ts +0 -74
  804. package/src/network/peers/score/score.ts +0 -200
  805. package/src/network/peers/score/store.ts +0 -95
  806. package/src/network/peers/score/utils.ts +0 -37
  807. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  808. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  809. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  810. package/src/network/peers/utils/index.ts +0 -4
  811. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  812. package/src/network/peers/utils/subnetMap.ts +0 -88
  813. package/src/network/processor/aggregatorTracker.ts +0 -38
  814. package/src/network/processor/extractSlotRootFns.ts +0 -64
  815. package/src/network/processor/gossipHandlers.ts +0 -951
  816. package/src/network/processor/gossipQueues/index.ts +0 -114
  817. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  818. package/src/network/processor/gossipQueues/linear.ts +0 -162
  819. package/src/network/processor/gossipQueues/types.ts +0 -57
  820. package/src/network/processor/gossipValidatorFn.ts +0 -142
  821. package/src/network/processor/index.ts +0 -496
  822. package/src/network/processor/types.ts +0 -27
  823. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  824. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  825. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  826. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  827. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  828. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  829. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  830. package/src/network/reqresp/handlers/index.ts +0 -78
  831. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  832. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  833. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  834. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  835. package/src/network/reqresp/index.ts +0 -2
  836. package/src/network/reqresp/interface.ts +0 -45
  837. package/src/network/reqresp/protocols.ts +0 -146
  838. package/src/network/reqresp/rateLimit.ts +0 -112
  839. package/src/network/reqresp/score.ts +0 -70
  840. package/src/network/reqresp/types.ts +0 -174
  841. package/src/network/reqresp/utils/collect.ts +0 -84
  842. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  843. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  844. package/src/network/statusCache.ts +0 -17
  845. package/src/network/subnets/attnetsService.ts +0 -382
  846. package/src/network/subnets/index.ts +0 -2
  847. package/src/network/subnets/interface.ts +0 -66
  848. package/src/network/subnets/syncnetsService.ts +0 -147
  849. package/src/network/subnets/util.ts +0 -63
  850. package/src/network/util.ts +0 -29
  851. package/src/node/index.ts +0 -2
  852. package/src/node/nodejs.ts +0 -349
  853. package/src/node/notifier.ts +0 -206
  854. package/src/node/options.ts +0 -51
  855. package/src/node/utils/interop/deposits.ts +0 -53
  856. package/src/node/utils/interop/state.ts +0 -59
  857. package/src/node/utils/lightclient.ts +0 -7
  858. package/src/node/utils/state.ts +0 -37
  859. package/src/sync/backfill/backfill.ts +0 -893
  860. package/src/sync/backfill/errors.ts +0 -23
  861. package/src/sync/backfill/index.ts +0 -1
  862. package/src/sync/backfill/verify.ts +0 -58
  863. package/src/sync/constants.ts +0 -71
  864. package/src/sync/index.ts +0 -2
  865. package/src/sync/interface.ts +0 -55
  866. package/src/sync/options.ts +0 -45
  867. package/src/sync/range/batch.ts +0 -455
  868. package/src/sync/range/chain.ts +0 -715
  869. package/src/sync/range/range.ts +0 -354
  870. package/src/sync/range/utils/batches.ts +0 -119
  871. package/src/sync/range/utils/chainTarget.ts +0 -62
  872. package/src/sync/range/utils/hashBlocks.ts +0 -27
  873. package/src/sync/range/utils/index.ts +0 -5
  874. package/src/sync/range/utils/peerBalancer.ts +0 -184
  875. package/src/sync/range/utils/updateChains.ts +0 -66
  876. package/src/sync/sync.ts +0 -290
  877. package/src/sync/types.ts +0 -57
  878. package/src/sync/unknownBlock.ts +0 -860
  879. package/src/sync/utils/downloadByRange.ts +0 -808
  880. package/src/sync/utils/downloadByRoot.ts +0 -560
  881. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  882. package/src/sync/utils/remoteSyncType.ts +0 -144
  883. package/src/util/address.ts +0 -3
  884. package/src/util/array.ts +0 -311
  885. package/src/util/asyncIterableToEvents.ts +0 -164
  886. package/src/util/binarySearch.ts +0 -48
  887. package/src/util/bitArray.ts +0 -84
  888. package/src/util/blobs.ts +0 -210
  889. package/src/util/bufferPool.ts +0 -95
  890. package/src/util/bytes.ts +0 -11
  891. package/src/util/chunkify.ts +0 -27
  892. package/src/util/clock.ts +0 -212
  893. package/src/util/dataColumns.ts +0 -415
  894. package/src/util/dependentRoot.ts +0 -47
  895. package/src/util/enum.ts +0 -17
  896. package/src/util/error.ts +0 -56
  897. package/src/util/eventLoop.ts +0 -22
  898. package/src/util/execution.ts +0 -223
  899. package/src/util/file.ts +0 -52
  900. package/src/util/forkChoice.ts +0 -5
  901. package/src/util/forkName.ts +0 -20
  902. package/src/util/graffiti.ts +0 -39
  903. package/src/util/hex.ts +0 -9
  904. package/src/util/index.ts +0 -2
  905. package/src/util/ip.ts +0 -6
  906. package/src/util/itTrigger.ts +0 -49
  907. package/src/util/kzg.ts +0 -3
  908. package/src/util/map.ts +0 -77
  909. package/src/util/metadata.ts +0 -22
  910. package/src/util/multifork.ts +0 -69
  911. package/src/util/numpy.ts +0 -8
  912. package/src/util/peerId.ts +0 -16
  913. package/src/util/profile.ts +0 -54
  914. package/src/util/promises.ts +0 -14
  915. package/src/util/queue/errors.ts +0 -14
  916. package/src/util/queue/fnQueue.ts +0 -16
  917. package/src/util/queue/index.ts +0 -4
  918. package/src/util/queue/itemQueue.ts +0 -128
  919. package/src/util/queue/options.ts +0 -37
  920. package/src/util/serializedCache.ts +0 -20
  921. package/src/util/set.ts +0 -62
  922. package/src/util/shuffle.ts +0 -21
  923. package/src/util/sortBy.ts +0 -19
  924. package/src/util/sszBytes.ts +0 -481
  925. package/src/util/strictEvents.ts +0 -8
  926. package/src/util/time.ts +0 -13
  927. package/src/util/timeSeries.ts +0 -118
  928. package/src/util/types.ts +0 -31
  929. package/src/util/workerEvents.ts +0 -142
  930. package/src/util/wrapError.ts +0 -27
@@ -1,808 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {ForkPostDeneb, ForkPostFulu} from "@lodestar/params";
3
- import {SignedBeaconBlock, Slot, deneb, fulu, phase0} from "@lodestar/types";
4
- import {LodestarError, Logger, fromHex, prettyBytes, prettyPrintIndices, toRootHex} from "@lodestar/utils";
5
- import {
6
- BlockInputSource,
7
- DAType,
8
- IBlockInput,
9
- isBlockInputBlobs,
10
- isBlockInputColumns,
11
- } from "../../chain/blocks/blockInput/index.js";
12
- import {SeenBlockInput} from "../../chain/seenCache/seenGossipBlockInput.js";
13
- import {validateBlockBlobSidecars} from "../../chain/validation/blobSidecar.js";
14
- import {validateBlockDataColumnSidecars} from "../../chain/validation/dataColumnSidecar.js";
15
- import {INetwork} from "../../network/index.js";
16
- import {PeerIdStr} from "../../util/peerId.js";
17
- import {WarnResult} from "../../util/wrapError.js";
18
- import {DownloadByRootErrorCode} from "./downloadByRoot.js";
19
-
20
- export type DownloadByRangeRequests = {
21
- blocksRequest?: phase0.BeaconBlocksByRangeRequest;
22
- blobsRequest?: deneb.BlobSidecarsByRangeRequest;
23
- columnsRequest?: fulu.DataColumnSidecarsByRangeRequest;
24
- };
25
-
26
- export type DownloadByRangeResponses = {
27
- blocks?: SignedBeaconBlock[];
28
- blobSidecars?: deneb.BlobSidecars;
29
- columnSidecars?: fulu.DataColumnSidecars;
30
- };
31
-
32
- export type DownloadAndCacheByRangeProps = DownloadByRangeRequests & {
33
- config: ChainForkConfig;
34
- cache: SeenBlockInput;
35
- network: INetwork;
36
- logger: Logger;
37
- peerIdStr: string;
38
- batchBlocks?: IBlockInput[];
39
- };
40
-
41
- export type CacheByRangeResponsesProps = {
42
- cache: SeenBlockInput;
43
- peerIdStr: string;
44
- responses: ValidatedResponses;
45
- batchBlocks: IBlockInput[];
46
- };
47
-
48
- export type ValidatedBlock = {
49
- blockRoot: Uint8Array;
50
- block: SignedBeaconBlock;
51
- };
52
-
53
- export type ValidatedBlobSidecars = {
54
- blockRoot: Uint8Array;
55
- blobSidecars: deneb.BlobSidecars;
56
- };
57
-
58
- export type ValidatedColumnSidecars = {
59
- blockRoot: Uint8Array;
60
- columnSidecars: fulu.DataColumnSidecars;
61
- };
62
-
63
- export type ValidatedResponses = {
64
- validatedBlocks?: ValidatedBlock[];
65
- validatedBlobSidecars?: ValidatedBlobSidecars[];
66
- validatedColumnSidecars?: ValidatedColumnSidecars[];
67
- };
68
-
69
- /**
70
- * Given existing cached batch block inputs and newly validated responses, update the cache with the new data
71
- */
72
- export function cacheByRangeResponses({
73
- cache,
74
- peerIdStr,
75
- responses,
76
- batchBlocks,
77
- }: CacheByRangeResponsesProps): IBlockInput[] {
78
- const source = BlockInputSource.byRange;
79
- const seenTimestampSec = Date.now() / 1000;
80
- const updatedBatchBlocks = new Map<Slot, IBlockInput>(batchBlocks.map((block) => [block.slot, block]));
81
-
82
- const blocks = responses.validatedBlocks ?? [];
83
- for (let i = 0; i < blocks.length; i++) {
84
- const {block, blockRoot} = blocks[i];
85
- const blockRootHex = toRootHex(blockRoot);
86
-
87
- const existing = updatedBatchBlocks.get(block.message.slot);
88
- if (existing) {
89
- // In practice this code block shouldn't be reached because we shouldn't be refetching a block we already have, see Batch#getRequests.
90
- // Will throw if root hex does not match (meaning we are following the wrong chain)
91
- existing.addBlock(
92
- {
93
- block,
94
- blockRootHex,
95
- source,
96
- peerIdStr,
97
- seenTimestampSec,
98
- },
99
- {throwOnDuplicateAdd: false}
100
- );
101
- } else {
102
- const blockInput = cache.getByBlock({
103
- block,
104
- blockRootHex,
105
- source,
106
- peerIdStr,
107
- seenTimestampSec,
108
- });
109
- updatedBatchBlocks.set(blockInput.slot, blockInput);
110
- }
111
- }
112
-
113
- for (const {blockRoot, blobSidecars} of responses.validatedBlobSidecars ?? []) {
114
- const existing = updatedBatchBlocks.get(blobSidecars[0].signedBlockHeader.message.slot);
115
- const blockRootHex = toRootHex(blockRoot);
116
-
117
- if (!existing) {
118
- throw new Error("Coding error: blockInput must exist when adding blobs");
119
- }
120
-
121
- if (!isBlockInputBlobs(existing)) {
122
- throw new DownloadByRangeError({
123
- code: DownloadByRangeErrorCode.MISMATCH_BLOCK_INPUT_TYPE,
124
- slot: existing.slot,
125
- blockRoot: prettyBytes(existing.blockRootHex),
126
- expected: DAType.Blobs,
127
- actual: existing.type,
128
- });
129
- }
130
- for (const blobSidecar of blobSidecars) {
131
- // will throw if root hex does not match (meaning we are following the wrong chain)
132
- existing.addBlob(
133
- {
134
- blobSidecar,
135
- blockRootHex,
136
- seenTimestampSec,
137
- peerIdStr,
138
- source,
139
- },
140
- {throwOnDuplicateAdd: false}
141
- );
142
- }
143
- }
144
-
145
- for (const {blockRoot, columnSidecars} of responses.validatedColumnSidecars ?? []) {
146
- const existing = updatedBatchBlocks.get(columnSidecars[0].signedBlockHeader.message.slot);
147
- const blockRootHex = toRootHex(blockRoot);
148
-
149
- if (!existing) {
150
- throw new Error("Coding error: blockInput must exist when adding blobs");
151
- }
152
-
153
- if (!isBlockInputColumns(existing)) {
154
- throw new DownloadByRangeError({
155
- code: DownloadByRangeErrorCode.MISMATCH_BLOCK_INPUT_TYPE,
156
- slot: existing.slot,
157
- blockRoot: prettyBytes(existing.blockRootHex),
158
- expected: DAType.Columns,
159
- actual: existing.type,
160
- });
161
- }
162
- for (const columnSidecar of columnSidecars) {
163
- // will throw if root hex does not match (meaning we are following the wrong chain)
164
- existing.addColumn(
165
- {
166
- columnSidecar,
167
- blockRootHex,
168
- seenTimestampSec,
169
- peerIdStr,
170
- source,
171
- },
172
- {throwOnDuplicateAdd: false}
173
- );
174
- }
175
- }
176
-
177
- return Array.from(updatedBatchBlocks.values());
178
- }
179
-
180
- export async function downloadByRange({
181
- config,
182
- network,
183
- peerIdStr,
184
- batchBlocks,
185
- blocksRequest,
186
- blobsRequest,
187
- columnsRequest,
188
- }: Omit<DownloadAndCacheByRangeProps, "cache">): Promise<WarnResult<ValidatedResponses, DownloadByRangeError>> {
189
- let response: DownloadByRangeResponses;
190
- try {
191
- response = await requestByRange({
192
- network,
193
- peerIdStr,
194
- blocksRequest,
195
- blobsRequest,
196
- columnsRequest,
197
- });
198
- } catch (err) {
199
- throw new DownloadByRangeError({
200
- code: DownloadByRangeErrorCode.REQ_RESP_ERROR,
201
- reason: (err as Error).message,
202
- ...requestsLogMeta({blocksRequest, blobsRequest, columnsRequest}),
203
- });
204
- }
205
-
206
- const validated = await validateResponses({
207
- config,
208
- batchBlocks,
209
- blocksRequest,
210
- blobsRequest,
211
- columnsRequest,
212
- ...response,
213
- });
214
-
215
- return validated;
216
- }
217
-
218
- /**
219
- * Should not be called directly. Only exported for unit testing purposes
220
- */
221
- export async function requestByRange({
222
- network,
223
- peerIdStr,
224
- blocksRequest,
225
- blobsRequest,
226
- columnsRequest,
227
- }: DownloadByRangeRequests & {
228
- network: INetwork;
229
- peerIdStr: PeerIdStr;
230
- }): Promise<DownloadByRangeResponses> {
231
- let blocks: undefined | SignedBeaconBlock[];
232
- let blobSidecars: undefined | deneb.BlobSidecars;
233
- let columnSidecars: undefined | fulu.DataColumnSidecars;
234
-
235
- const requests: Promise<unknown>[] = [];
236
-
237
- if (blocksRequest) {
238
- requests.push(
239
- network.sendBeaconBlocksByRange(peerIdStr, blocksRequest).then((blockResponse) => {
240
- blocks = blockResponse.map(({data}) => data);
241
- })
242
- );
243
- }
244
-
245
- if (blobsRequest) {
246
- requests.push(
247
- network.sendBlobSidecarsByRange(peerIdStr, blobsRequest).then((blobResponse) => {
248
- blobSidecars = blobResponse;
249
- })
250
- );
251
- }
252
-
253
- if (columnsRequest) {
254
- requests.push(
255
- network.sendDataColumnSidecarsByRange(peerIdStr, columnsRequest).then((columnResponse) => {
256
- columnSidecars = columnResponse;
257
- })
258
- );
259
- }
260
-
261
- await Promise.all(requests);
262
-
263
- return {
264
- blocks,
265
- blobSidecars,
266
- columnSidecars,
267
- };
268
- }
269
-
270
- /**
271
- * Should not be called directly. Only exported for unit testing purposes
272
- */
273
- export async function validateResponses({
274
- config,
275
- batchBlocks,
276
- blocksRequest,
277
- blobsRequest,
278
- columnsRequest,
279
- blocks,
280
- blobSidecars,
281
- columnSidecars,
282
- }: DownloadByRangeRequests &
283
- DownloadByRangeResponses & {
284
- config: ChainForkConfig;
285
- batchBlocks?: IBlockInput[];
286
- }): Promise<WarnResult<ValidatedResponses, DownloadByRangeError>> {
287
- // Blocks are always required for blob/column validation
288
- // If a blocksRequest is provided, blocks have just been downloaded
289
- // If no blocksRequest is provided, batchBlocks must have been provided from cache
290
- if ((blobsRequest || columnsRequest) && !(blocks || batchBlocks)) {
291
- throw new DownloadByRangeError(
292
- {
293
- code: DownloadByRangeErrorCode.MISSING_BLOCKS,
294
- ...requestsLogMeta({blobsRequest, columnsRequest}),
295
- },
296
- "No blocks to validate data requests against"
297
- );
298
- }
299
-
300
- const validatedResponses: ValidatedResponses = {};
301
- let warnings: DownloadByRangeError[] | null = null;
302
-
303
- if (blocksRequest) {
304
- validatedResponses.validatedBlocks = validateBlockByRangeResponse(config, blocksRequest, blocks ?? []);
305
- }
306
-
307
- const dataRequest = blobsRequest ?? columnsRequest;
308
- if (!dataRequest) {
309
- return {result: validatedResponses, warnings: null};
310
- }
311
-
312
- const dataRequestBlocks = getBlocksForDataValidation(
313
- dataRequest,
314
- batchBlocks,
315
- blocksRequest ? validatedResponses.validatedBlocks : undefined
316
- );
317
-
318
- if (!dataRequestBlocks.length) {
319
- throw new DownloadByRangeError(
320
- {
321
- code: DownloadByRangeErrorCode.MISSING_BLOCKS,
322
- ...requestsLogMeta({blobsRequest, columnsRequest}),
323
- },
324
- "No blocks in data request slot range to validate data response against"
325
- );
326
- }
327
-
328
- if (blobsRequest) {
329
- if (!blobSidecars) {
330
- throw new DownloadByRangeError(
331
- {
332
- code: DownloadByRangeErrorCode.MISSING_BLOBS_RESPONSE,
333
- ...requestsLogMeta({blobsRequest, columnsRequest}),
334
- },
335
- "No blobSidecars to validate against blobsRequest"
336
- );
337
- }
338
-
339
- validatedResponses.validatedBlobSidecars = await validateBlobsByRangeResponse(dataRequestBlocks, blobSidecars);
340
- }
341
-
342
- if (columnsRequest) {
343
- if (!columnSidecars) {
344
- throw new DownloadByRangeError(
345
- {
346
- code: DownloadByRangeErrorCode.MISSING_COLUMNS_RESPONSE,
347
- ...requestsLogMeta({blobsRequest, columnsRequest}),
348
- },
349
- "No columnSidecars to check columnRequest against"
350
- );
351
- }
352
-
353
- const validatedColumnSidecarsResult = await validateColumnsByRangeResponse(
354
- columnsRequest,
355
- dataRequestBlocks,
356
- columnSidecars
357
- );
358
- validatedResponses.validatedColumnSidecars = validatedColumnSidecarsResult.result;
359
- warnings = validatedColumnSidecarsResult.warnings;
360
- }
361
-
362
- return {result: validatedResponses, warnings};
363
- }
364
-
365
- /**
366
- * Should not be called directly. Only exported for unit testing purposes
367
- *
368
- * - check all slots are within range of startSlot (inclusive) through startSlot + count (exclusive)
369
- * - don't have more than count number of blocks
370
- * - slots are in ascending order
371
- * - must allow for skip slots
372
- * - check is a chain of blocks where via parentRoot matches hashTreeRoot of block before
373
- */
374
- export function validateBlockByRangeResponse(
375
- config: ChainForkConfig,
376
- blocksRequest: phase0.BeaconBlocksByRangeRequest,
377
- blocks: SignedBeaconBlock[]
378
- ): ValidatedBlock[] {
379
- const {startSlot, count} = blocksRequest;
380
-
381
- // TODO(fulu): This was added by @twoeths in #8150 but it breaks for epochs with 0 blocks during chain
382
- // liveness issues. See comment https://github.com/ChainSafe/lodestar/issues/8147#issuecomment-3246434697
383
- // if (!blocks.length) {
384
- // throw new DownloadByRangeError(
385
- // {
386
- // code: DownloadByRangeErrorCode.MISSING_BLOCKS_RESPONSE,
387
- // expectedCount: blocksRequest.count,
388
- // },
389
- // "Zero blocks in response"
390
- // );
391
- // }
392
-
393
- if (blocks.length > count) {
394
- throw new DownloadByRangeError(
395
- {
396
- code: DownloadByRangeErrorCode.EXTRA_BLOCKS,
397
- expected: count,
398
- actual: blocks.length - count,
399
- },
400
- "Extra blocks received in BeaconBlocksByRange response"
401
- );
402
- }
403
-
404
- const lastValidSlot = startSlot + count - 1;
405
- for (let i = 0; i < blocks.length; i++) {
406
- const slot = blocks[i].message.slot;
407
-
408
- if (slot < startSlot || slot > lastValidSlot) {
409
- throw new DownloadByRangeError(
410
- {
411
- code: DownloadByRangeErrorCode.OUT_OF_RANGE_BLOCKS,
412
- slot,
413
- },
414
- "Blocks in response outside of requested slot range"
415
- );
416
- }
417
-
418
- // do not check for out of order on first block, and for subsequent blocks make sure that
419
- // the current block in a later slot than the one prior
420
- if (i !== 0 && slot <= blocks[i - 1].message.slot) {
421
- throw new DownloadByRangeError(
422
- {
423
- code: DownloadByRangeErrorCode.OUT_OF_ORDER_BLOCKS,
424
- },
425
- "Blocks out of order in BeaconBlocksByRange response"
426
- );
427
- }
428
- }
429
-
430
- // assumes all blocks are from the same fork. Batch only generated epoch-wise requests starting at slot
431
- // 0 of the epoch
432
- const type = config.getForkTypes(blocks[0].message.slot).BeaconBlock;
433
- const response: {block: SignedBeaconBlock; blockRoot: Uint8Array}[] = [];
434
-
435
- for (let i = 0; i < blocks.length; i++) {
436
- const block = blocks[i];
437
- const blockRoot = type.hashTreeRoot(block.message);
438
- response.push({block, blockRoot});
439
-
440
- if (i < blocks.length - 1) {
441
- // compare the block root against the next block's parent root
442
- const parentRoot = blocks[i + 1].message.parentRoot;
443
- if (Buffer.compare(blockRoot, parentRoot) !== 0) {
444
- throw new DownloadByRangeError(
445
- {
446
- code: DownloadByRangeErrorCode.PARENT_ROOT_MISMATCH,
447
- slot: blocks[i].message.slot,
448
- expected: prettyBytes(blockRoot),
449
- actual: prettyBytes(parentRoot),
450
- },
451
- `Block parent root does not match the previous block's root in BeaconBlocksByRange response`
452
- );
453
- }
454
- }
455
- }
456
-
457
- return response;
458
- }
459
-
460
- /**
461
- * Should not be called directly. Only exported for unit testing purposes
462
- */
463
- export async function validateBlobsByRangeResponse(
464
- dataRequestBlocks: ValidatedBlock[],
465
- blobSidecars: deneb.BlobSidecars
466
- ): Promise<ValidatedBlobSidecars[]> {
467
- const expectedBlobCount = dataRequestBlocks.reduce(
468
- (acc, {block}) => (block as SignedBeaconBlock<ForkPostDeneb>).message.body.blobKzgCommitments.length + acc,
469
- 0
470
- );
471
- if (blobSidecars.length > expectedBlobCount) {
472
- throw new DownloadByRangeError(
473
- {
474
- code: DownloadByRangeErrorCode.EXTRA_BLOBS,
475
- expected: expectedBlobCount,
476
- actual: blobSidecars.length,
477
- },
478
- "Extra blobs received in BlobSidecarsByRange response"
479
- );
480
- }
481
- if (blobSidecars.length < expectedBlobCount) {
482
- throw new DownloadByRangeError(
483
- {
484
- code: DownloadByRangeErrorCode.MISSING_BLOBS,
485
- expected: expectedBlobCount,
486
- actual: blobSidecars.length,
487
- },
488
- "Missing blobs in BlobSidecarsByRange response"
489
- );
490
- }
491
-
492
- const validateSidecarsPromises: Promise<ValidatedBlobSidecars>[] = [];
493
- for (let blockIndex = 0, blobSidecarIndex = 0; blockIndex < dataRequestBlocks.length; blockIndex++) {
494
- const {block, blockRoot} = dataRequestBlocks[blockIndex];
495
- const blockKzgCommitments = (block as SignedBeaconBlock<ForkPostDeneb>).message.body.blobKzgCommitments;
496
- if (blockKzgCommitments.length === 0) {
497
- continue;
498
- }
499
-
500
- const blockBlobSidecars = blobSidecars.slice(blobSidecarIndex, blobSidecarIndex + blockKzgCommitments.length);
501
- blobSidecarIndex += blockKzgCommitments.length;
502
-
503
- for (let i = 0; i < blockBlobSidecars.length; i++) {
504
- if (blockBlobSidecars[i].index !== i) {
505
- throw new DownloadByRangeError(
506
- {
507
- code: DownloadByRangeErrorCode.OUT_OF_ORDER_BLOBS,
508
- slot: block.message.slot,
509
- },
510
- "Blob sidecars not in order or do not match expected indexes in BlobSidecarsByRange response"
511
- );
512
- }
513
- }
514
-
515
- validateSidecarsPromises.push(
516
- validateBlockBlobSidecars(block.message.slot, blockRoot, blockKzgCommitments.length, blockBlobSidecars).then(
517
- () => ({blockRoot, blobSidecars: blockBlobSidecars})
518
- )
519
- );
520
- }
521
-
522
- // Await all sidecar validations in parallel
523
- return Promise.all(validateSidecarsPromises);
524
- }
525
-
526
- /**
527
- * Should not be called directly. Only exported for unit testing purposes
528
- */
529
- export async function validateColumnsByRangeResponse(
530
- request: fulu.DataColumnSidecarsByRangeRequest,
531
- dataRequestBlocks: ValidatedBlock[],
532
- columnSidecars: fulu.DataColumnSidecars
533
- ): Promise<WarnResult<ValidatedColumnSidecars[], DownloadByRangeError>> {
534
- // Expected column count considering currently-validated batch blocks
535
- const expectedColumnCount = dataRequestBlocks.reduce((acc, {block}) => {
536
- return (block as SignedBeaconBlock<ForkPostDeneb>).message.body.blobKzgCommitments.length > 0
537
- ? request.columns.length + acc
538
- : acc;
539
- }, 0);
540
- const nextSlot = dataRequestBlocks.length
541
- ? (dataRequestBlocks.at(-1) as ValidatedBlock).block.message.slot + 1
542
- : request.startSlot;
543
- const possiblyMissingBlocks = nextSlot - request.startSlot + request.count;
544
-
545
- // Allow for extra columns if some blocks are missing from the end of a batch
546
- // Eg: If we requested 10 blocks but only 8 were returned, allow for up to 2 * columns.length extra columns
547
- const maxColumnCount = expectedColumnCount + possiblyMissingBlocks * request.columns.length;
548
-
549
- if (columnSidecars.length > maxColumnCount) {
550
- // this never happens on devnet, so throw error for now
551
- throw new DownloadByRangeError(
552
- {
553
- code: DownloadByRangeErrorCode.OVER_COLUMNS,
554
- max: maxColumnCount,
555
- actual: columnSidecars.length,
556
- },
557
- "Extra data columns received in DataColumnSidecarsByRange response"
558
- );
559
- }
560
-
561
- const warnings: DownloadByRangeError[] = [];
562
- // no need to check for columnSidecars.length vs expectedColumnCount here, will be checked per-block below
563
- const requestedColumns = new Set(request.columns);
564
- const validateSidecarsPromises: Promise<ValidatedColumnSidecars>[] = [];
565
- for (let blockIndex = 0, columnSidecarIndex = 0; blockIndex < dataRequestBlocks.length; blockIndex++) {
566
- const {block, blockRoot} = dataRequestBlocks[blockIndex];
567
- const slot = block.message.slot;
568
- const blockRootHex = toRootHex(blockRoot);
569
- const blockKzgCommitments = (block as SignedBeaconBlock<ForkPostFulu>).message.body.blobKzgCommitments;
570
- const expectedColumns = blockKzgCommitments.length ? request.columns.length : 0;
571
-
572
- if (expectedColumns === 0) {
573
- continue;
574
- }
575
- const blockColumnSidecars: fulu.DataColumnSidecar[] = [];
576
- while (columnSidecarIndex < columnSidecars.length) {
577
- const columnSidecar = columnSidecars[columnSidecarIndex];
578
- if (columnSidecar.signedBlockHeader.message.slot !== block.message.slot) {
579
- // We've reached columns for the next block
580
- break;
581
- }
582
- blockColumnSidecars.push(columnSidecar);
583
- columnSidecarIndex++;
584
- }
585
-
586
- const returnedColumns = new Set(blockColumnSidecars.map((c) => c.index));
587
- const missingIndices = request.columns.filter((i) => !returnedColumns.has(i));
588
- if (missingIndices.length > 0) {
589
- warnings.push(
590
- new DownloadByRangeError(
591
- {
592
- code: DownloadByRangeErrorCode.MISSING_COLUMNS,
593
- slot,
594
- blockRoot: blockRootHex,
595
- missingIndices: prettyPrintIndices(missingIndices),
596
- },
597
- "Missing data columns in DataColumnSidecarsByRange response"
598
- )
599
- );
600
- }
601
-
602
- const extraIndices = [...returnedColumns].filter((i) => !requestedColumns.has(i));
603
- if (extraIndices.length > 0) {
604
- warnings.push(
605
- new DownloadByRangeError(
606
- {
607
- code: DownloadByRangeErrorCode.EXTRA_COLUMNS,
608
- slot,
609
- blockRoot: blockRootHex,
610
- invalidIndices: prettyPrintIndices(extraIndices),
611
- },
612
- "Data column in not in requested columns in DataColumnSidecarsByRange response"
613
- )
614
- );
615
- }
616
-
617
- validateSidecarsPromises.push(
618
- validateBlockDataColumnSidecars(slot, blockRoot, blockKzgCommitments.length, blockColumnSidecars).then(() => ({
619
- blockRoot,
620
- columnSidecars: blockColumnSidecars,
621
- }))
622
- );
623
- }
624
-
625
- // Await all sidecar validations in parallel
626
- const result = await Promise.all(validateSidecarsPromises);
627
- return {result, warnings: warnings.length ? warnings : null};
628
- }
629
-
630
- /**
631
- * Given a data request, return only the blocks and roots that correspond to the data request (sorted). Assumes that
632
- * cached have slots that are all before the current batch of downloaded blocks
633
- */
634
- export function getBlocksForDataValidation(
635
- dataRequest: {startSlot: Slot; count: number},
636
- cached: IBlockInput[] | undefined,
637
- current: ValidatedBlock[] | undefined
638
- ): ValidatedBlock[] {
639
- const startSlot = dataRequest.startSlot;
640
- const endSlot = startSlot + dataRequest.count;
641
-
642
- // Organize cached blocks and current blocks, only including those in the requested slot range
643
- const dataRequestBlocks: ValidatedBlock[] = [];
644
- let lastSlot = startSlot - 1;
645
-
646
- if (cached) {
647
- for (let i = 0; i < cached.length; i++) {
648
- const blockInput = cached[i];
649
- if (blockInput.slot >= startSlot && blockInput.slot < endSlot && blockInput.slot > lastSlot) {
650
- dataRequestBlocks.push({block: blockInput.getBlock(), blockRoot: fromHex(blockInput.blockRootHex)});
651
- lastSlot = blockInput.slot;
652
- }
653
- }
654
- }
655
-
656
- if (current) {
657
- for (let i = 0; i < current.length; i++) {
658
- const block = current[i].block;
659
- if (block.message.slot >= startSlot && block.message.slot < endSlot && block.message.slot > lastSlot) {
660
- dataRequestBlocks.push(current[i]);
661
- lastSlot = block.message.slot;
662
- }
663
- }
664
- }
665
-
666
- return dataRequestBlocks;
667
- }
668
-
669
- function requestsLogMeta({blocksRequest, blobsRequest, columnsRequest}: DownloadByRangeRequests) {
670
- const logMeta: {
671
- blockStartSlot?: number;
672
- blockCount?: number;
673
- blobStartSlot?: number;
674
- blobCount?: number;
675
- columnStartSlot?: number;
676
- columnCount?: number;
677
- } = {};
678
- if (blocksRequest) {
679
- logMeta.blockStartSlot = blocksRequest.startSlot;
680
- logMeta.blockCount = blocksRequest.count;
681
- }
682
- if (blobsRequest) {
683
- logMeta.blobStartSlot = blobsRequest.startSlot;
684
- logMeta.blobCount = blobsRequest.count;
685
- }
686
- if (columnsRequest) {
687
- logMeta.columnStartSlot = columnsRequest.startSlot;
688
- logMeta.columnCount = columnsRequest.count;
689
- }
690
- return logMeta;
691
- }
692
-
693
- export enum DownloadByRangeErrorCode {
694
- MISSING_BLOCKS = "DOWNLOAD_BY_RANGE_ERROR_MISSING_BLOCKS",
695
- MISSING_BLOBS_RESPONSE = "DOWNLOAD_BY_RANGE_ERROR_MISSING_BLOBS_RESPONSE",
696
- MISSING_COLUMNS_RESPONSE = "DOWNLOAD_BY_RANGE_ERROR_MISSING_COLUMNS_RESPONSE",
697
-
698
- /** Error at the reqresp layer */
699
- REQ_RESP_ERROR = "DOWNLOAD_BY_RANGE_ERROR_REQ_RESP_ERROR",
700
-
701
- // Errors validating a chain of blocks (not considering associated data)
702
-
703
- PARENT_ROOT_MISMATCH = "DOWNLOAD_BY_RANGE_ERROR_PARENT_ROOT_MISMATCH",
704
- EXTRA_BLOCKS = "DOWNLOAD_BY_RANGE_ERROR_EXTRA_BLOCKS",
705
- OUT_OF_RANGE_BLOCKS = "DOWNLOAD_BY_RANGE_OUT_OF_RANGE_BLOCKS",
706
- OUT_OF_ORDER_BLOCKS = "DOWNLOAD_BY_RANGE_OUT_OF_ORDER_BLOCKS",
707
-
708
- MISSING_BLOBS = "DOWNLOAD_BY_RANGE_ERROR_MISSING_BLOBS",
709
- OUT_OF_ORDER_BLOBS = "DOWNLOAD_BY_RANGE_ERROR_OUT_OF_ORDER_BLOBS",
710
- EXTRA_BLOBS = "DOWNLOAD_BY_RANGE_ERROR_EXTRA_BLOBS",
711
-
712
- MISSING_COLUMNS = "DOWNLOAD_BY_RANGE_ERROR_MISSING_COLUMNS",
713
- OVER_COLUMNS = "DOWNLOAD_BY_RANGE_ERROR_OVER_COLUMNS",
714
- EXTRA_COLUMNS = "DOWNLOAD_BY_RANGE_ERROR_EXTRA_COLUMNS",
715
-
716
- /** Cached block input type mismatches new data */
717
- MISMATCH_BLOCK_INPUT_TYPE = "DOWNLOAD_BY_RANGE_ERROR_MISMATCH_BLOCK_INPUT_TYPE",
718
- }
719
-
720
- export type DownloadByRangeErrorType =
721
- | {
722
- code: DownloadByRootErrorCode.MISSING_BLOCK_RESPONSE;
723
- expectedCount: number;
724
- }
725
- | {
726
- code:
727
- | DownloadByRangeErrorCode.MISSING_BLOCKS
728
- | DownloadByRangeErrorCode.MISSING_BLOBS_RESPONSE
729
- | DownloadByRangeErrorCode.MISSING_COLUMNS_RESPONSE;
730
- blockStartSlot?: number;
731
- blockCount?: number;
732
- blobStartSlot?: number;
733
- blobCount?: number;
734
- columnStartSlot?: number;
735
- columnCount?: number;
736
- }
737
- | {
738
- code: DownloadByRootErrorCode.MISSING_BLOCK_RESPONSE;
739
- expectedCount: number;
740
- }
741
- | {
742
- code: DownloadByRangeErrorCode.OUT_OF_RANGE_BLOCKS;
743
- slot: number;
744
- }
745
- | {
746
- code: DownloadByRangeErrorCode.OUT_OF_ORDER_BLOCKS;
747
- }
748
- | {
749
- code: DownloadByRangeErrorCode.REQ_RESP_ERROR;
750
- blockStartSlot?: number;
751
- blockCount?: number;
752
- blobStartSlot?: number;
753
- blobCount?: number;
754
- columnStartSlot?: number;
755
- columnCount?: number;
756
- reason: string;
757
- }
758
- | {
759
- code: DownloadByRangeErrorCode.PARENT_ROOT_MISMATCH;
760
- slot: number;
761
- expected: string;
762
- actual: string;
763
- }
764
- | {
765
- code: DownloadByRangeErrorCode.EXTRA_BLOCKS;
766
- expected: number;
767
- actual: number;
768
- }
769
- | {
770
- code: DownloadByRangeErrorCode.MISSING_BLOBS;
771
- expected: number;
772
- actual: number;
773
- }
774
- | {
775
- code: DownloadByRangeErrorCode.OUT_OF_ORDER_BLOBS;
776
- slot: number;
777
- }
778
- | {
779
- code: DownloadByRangeErrorCode.EXTRA_BLOBS;
780
- expected: number;
781
- actual: number;
782
- }
783
- | {
784
- code: DownloadByRangeErrorCode.OVER_COLUMNS;
785
- max: number;
786
- actual: number;
787
- }
788
- | {
789
- code: DownloadByRangeErrorCode.MISSING_COLUMNS;
790
- slot: Slot;
791
- blockRoot: string;
792
- missingIndices: string;
793
- }
794
- | {
795
- code: DownloadByRangeErrorCode.EXTRA_COLUMNS;
796
- slot: Slot;
797
- blockRoot: string;
798
- invalidIndices: string;
799
- }
800
- | {
801
- code: DownloadByRangeErrorCode.MISMATCH_BLOCK_INPUT_TYPE;
802
- slot: number;
803
- blockRoot: string;
804
- expected: DAType;
805
- actual: DAType;
806
- };
807
-
808
- export class DownloadByRangeError extends LodestarError<DownloadByRangeErrorType> {}