@lodestar/beacon-node 1.35.0-dev.98d359db41 → 1.35.0-dev.b42a298a7c

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