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

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