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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (930) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/lodestar/index.js +1 -1
  4. package/lib/api/impl/lodestar/index.js.map +1 -1
  5. package/lib/api/impl/validator/index.js +8 -9
  6. package/lib/api/impl/validator/index.js.map +1 -1
  7. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  8. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  9. package/lib/chain/blocks/blockInput/blockInput.js +1 -1
  10. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  11. package/lib/chain/blocks/importBlock.js +6 -7
  12. package/lib/chain/blocks/importBlock.js.map +1 -1
  13. package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -8
  14. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  15. package/lib/chain/blocks/writeBlockInputToDb.js +7 -1
  16. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  17. package/lib/chain/chain.js +4 -3
  18. package/lib/chain/chain.js.map +1 -1
  19. package/lib/chain/emitter.d.ts +2 -2
  20. package/lib/chain/opPools/attestationPool.d.ts +3 -2
  21. package/lib/chain/opPools/attestationPool.js +5 -3
  22. package/lib/chain/opPools/attestationPool.js.map +1 -1
  23. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +2 -3
  24. package/lib/chain/opPools/syncCommitteeMessagePool.js +5 -6
  25. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  26. package/lib/chain/opPools/types.d.ts +1 -1
  27. package/lib/chain/opPools/types.js +1 -1
  28. package/lib/chain/opPools/types.js.map +1 -1
  29. package/lib/chain/prepareNextSlot.d.ts +3 -3
  30. package/lib/chain/prepareNextSlot.js +8 -8
  31. package/lib/chain/prepareNextSlot.js.map +1 -1
  32. package/lib/chain/stateCache/persistentCheckpointsCache.js +8 -9
  33. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  34. package/lib/chain/validation/lightClientFinalityUpdate.js +3 -4
  35. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  36. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +4 -6
  37. package/lib/chain/validation/lightClientOptimisticUpdate.js +11 -11
  38. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  39. package/lib/chain/validatorMonitor.js +15 -21
  40. package/lib/chain/validatorMonitor.js.map +1 -1
  41. package/lib/db/buckets.d.ts +4 -4
  42. package/lib/db/buckets.js +4 -4
  43. package/lib/db/buckets.js.map +1 -1
  44. package/lib/db/repositories/blobSidecars.js +1 -1
  45. package/lib/db/repositories/blobSidecars.js.map +1 -1
  46. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  47. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  48. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  49. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  50. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  51. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  52. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  53. package/lib/metrics/metrics/lodestar.d.ts +1 -1
  54. package/lib/metrics/metrics/lodestar.js +3 -3
  55. package/lib/metrics/metrics/lodestar.js.map +1 -1
  56. package/lib/network/gossip/gossipsub.js +1 -1
  57. package/lib/network/gossip/gossipsub.js.map +1 -1
  58. package/lib/network/gossip/scoringParameters.js +4 -4
  59. package/lib/network/gossip/scoringParameters.js.map +1 -1
  60. package/lib/network/network.d.ts +1 -1
  61. package/lib/network/network.js +13 -11
  62. package/lib/network/network.js.map +1 -1
  63. package/lib/network/peers/peerManager.js +1 -2
  64. package/lib/network/peers/peerManager.js.map +1 -1
  65. package/lib/network/processor/gossipHandlers.js +1 -1
  66. package/lib/network/processor/gossipHandlers.js.map +1 -1
  67. package/lib/network/processor/index.d.ts +1 -1
  68. package/lib/network/processor/index.js +3 -2
  69. package/lib/network/processor/index.js.map +1 -1
  70. package/lib/network/subnets/attnetsService.js +1 -1
  71. package/lib/network/subnets/attnetsService.js.map +1 -1
  72. package/lib/node/notifier.js +1 -1
  73. package/lib/node/notifier.js.map +1 -1
  74. package/lib/sync/types.d.ts +1 -0
  75. package/lib/sync/types.js.map +1 -1
  76. package/lib/sync/unknownBlock.d.ts +1 -0
  77. package/lib/sync/unknownBlock.js +20 -18
  78. package/lib/sync/unknownBlock.js.map +1 -1
  79. package/lib/util/blobs.js +3 -5
  80. package/lib/util/blobs.js.map +1 -1
  81. package/lib/util/clock.d.ts +3 -8
  82. package/lib/util/clock.js +5 -8
  83. package/lib/util/clock.js.map +1 -1
  84. package/package.json +20 -18
  85. package/lib/api/impl/api.d.ts.map +0 -1
  86. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  87. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  88. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  89. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  90. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  91. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  92. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  93. package/lib/api/impl/config/constants.d.ts.map +0 -1
  94. package/lib/api/impl/config/index.d.ts.map +0 -1
  95. package/lib/api/impl/debug/index.d.ts.map +0 -1
  96. package/lib/api/impl/errors.d.ts.map +0 -1
  97. package/lib/api/impl/events/index.d.ts.map +0 -1
  98. package/lib/api/impl/index.d.ts.map +0 -1
  99. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  100. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  101. package/lib/api/impl/node/index.d.ts.map +0 -1
  102. package/lib/api/impl/node/utils.d.ts.map +0 -1
  103. package/lib/api/impl/proof/index.d.ts.map +0 -1
  104. package/lib/api/impl/types.d.ts.map +0 -1
  105. package/lib/api/impl/utils.d.ts.map +0 -1
  106. package/lib/api/impl/validator/index.d.ts.map +0 -1
  107. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  108. package/lib/api/index.d.ts.map +0 -1
  109. package/lib/api/options.d.ts.map +0 -1
  110. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  111. package/lib/api/rest/base.d.ts.map +0 -1
  112. package/lib/api/rest/index.d.ts.map +0 -1
  113. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  114. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  115. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  116. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  117. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  118. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  119. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  120. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  121. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  122. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  123. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  124. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  125. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  126. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  127. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  128. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  129. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  130. package/lib/chain/balancesCache.d.ts.map +0 -1
  131. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  132. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  133. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  134. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  135. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  136. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  137. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  138. package/lib/chain/blocks/index.d.ts.map +0 -1
  139. package/lib/chain/blocks/types.d.ts.map +0 -1
  140. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  141. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  142. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  143. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  144. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  145. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  146. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  147. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  148. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  149. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  150. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  151. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  152. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  153. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  154. package/lib/chain/bls/index.d.ts.map +0 -1
  155. package/lib/chain/bls/interface.d.ts.map +0 -1
  156. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  157. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  158. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  159. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  160. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  161. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  162. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  163. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  164. package/lib/chain/bls/utils.d.ts.map +0 -1
  165. package/lib/chain/chain.d.ts.map +0 -1
  166. package/lib/chain/emitter.d.ts.map +0 -1
  167. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  168. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  169. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  170. package/lib/chain/errors/blockError.d.ts.map +0 -1
  171. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  172. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  173. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  174. package/lib/chain/errors/index.d.ts.map +0 -1
  175. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  176. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  177. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  178. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  179. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  180. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  181. package/lib/chain/genesis/interface.d.ts.map +0 -1
  182. package/lib/chain/index.d.ts.map +0 -1
  183. package/lib/chain/initState.d.ts.map +0 -1
  184. package/lib/chain/interface.d.ts.map +0 -1
  185. package/lib/chain/lightClient/index.d.ts.map +0 -1
  186. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  187. package/lib/chain/lightClient/types.d.ts.map +0 -1
  188. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  189. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  190. package/lib/chain/opPools/index.d.ts.map +0 -1
  191. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  192. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  193. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  194. package/lib/chain/opPools/types.d.ts.map +0 -1
  195. package/lib/chain/opPools/utils.d.ts.map +0 -1
  196. package/lib/chain/options.d.ts.map +0 -1
  197. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  198. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  199. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  200. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  201. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  202. package/lib/chain/regen/errors.d.ts.map +0 -1
  203. package/lib/chain/regen/index.d.ts.map +0 -1
  204. package/lib/chain/regen/interface.d.ts.map +0 -1
  205. package/lib/chain/regen/queued.d.ts.map +0 -1
  206. package/lib/chain/regen/regen.d.ts.map +0 -1
  207. package/lib/chain/reprocess.d.ts.map +0 -1
  208. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  209. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  210. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  211. package/lib/chain/seenCache/index.d.ts.map +0 -1
  212. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  213. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  214. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  215. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  216. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  217. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  218. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  219. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  220. package/lib/chain/serializeState.d.ts.map +0 -1
  221. package/lib/chain/shufflingCache.d.ts.map +0 -1
  222. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  223. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  224. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  225. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  226. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  227. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  228. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  229. package/lib/chain/stateCache/index.d.ts.map +0 -1
  230. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  231. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  232. package/lib/chain/stateCache/types.d.ts.map +0 -1
  233. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  234. package/lib/chain/validation/attestation.d.ts.map +0 -1
  235. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  236. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  237. package/lib/chain/validation/block.d.ts.map +0 -1
  238. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  239. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  240. package/lib/chain/validation/index.d.ts.map +0 -1
  241. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  242. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  243. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  244. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  245. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  246. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  247. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  248. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  249. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  250. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  251. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  252. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  253. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  254. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  255. package/lib/constants/constants.d.ts.map +0 -1
  256. package/lib/constants/index.d.ts.map +0 -1
  257. package/lib/constants/network.d.ts.map +0 -1
  258. package/lib/db/beacon.d.ts.map +0 -1
  259. package/lib/db/buckets.d.ts.map +0 -1
  260. package/lib/db/index.d.ts.map +0 -1
  261. package/lib/db/interface.d.ts.map +0 -1
  262. package/lib/db/options.d.ts.map +0 -1
  263. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  264. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  265. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  266. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  267. package/lib/db/repositories/block.d.ts.map +0 -1
  268. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  269. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  270. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  271. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  272. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  273. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  274. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  275. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  276. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  277. package/lib/db/repositories/index.d.ts.map +0 -1
  278. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  279. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  280. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  281. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  282. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  283. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  284. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  285. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  286. package/lib/db/single/index.d.ts.map +0 -1
  287. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  288. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  289. package/lib/eth1/errors.d.ts.map +0 -1
  290. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  291. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  292. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  293. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  294. package/lib/eth1/index.d.ts.map +0 -1
  295. package/lib/eth1/interface.d.ts.map +0 -1
  296. package/lib/eth1/options.d.ts.map +0 -1
  297. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  298. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  299. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  300. package/lib/eth1/provider/utils.d.ts.map +0 -1
  301. package/lib/eth1/stream.d.ts.map +0 -1
  302. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  303. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  304. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  305. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  306. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  307. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  308. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  309. package/lib/execution/builder/cache.d.ts.map +0 -1
  310. package/lib/execution/builder/http.d.ts.map +0 -1
  311. package/lib/execution/builder/index.d.ts.map +0 -1
  312. package/lib/execution/builder/interface.d.ts.map +0 -1
  313. package/lib/execution/builder/utils.d.ts.map +0 -1
  314. package/lib/execution/engine/disabled.d.ts.map +0 -1
  315. package/lib/execution/engine/http.d.ts.map +0 -1
  316. package/lib/execution/engine/index.d.ts.map +0 -1
  317. package/lib/execution/engine/interface.d.ts.map +0 -1
  318. package/lib/execution/engine/mock.d.ts.map +0 -1
  319. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  320. package/lib/execution/engine/types.d.ts.map +0 -1
  321. package/lib/execution/engine/utils.d.ts.map +0 -1
  322. package/lib/execution/index.d.ts.map +0 -1
  323. package/lib/index.d.ts.map +0 -1
  324. package/lib/metrics/index.d.ts.map +0 -1
  325. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  326. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  327. package/lib/metrics/metrics.d.ts.map +0 -1
  328. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  329. package/lib/metrics/options.d.ts.map +0 -1
  330. package/lib/metrics/server/http.d.ts.map +0 -1
  331. package/lib/metrics/server/index.d.ts.map +0 -1
  332. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  333. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  334. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  335. package/lib/monitoring/clientStats.d.ts.map +0 -1
  336. package/lib/monitoring/index.d.ts.map +0 -1
  337. package/lib/monitoring/options.d.ts.map +0 -1
  338. package/lib/monitoring/properties.d.ts.map +0 -1
  339. package/lib/monitoring/service.d.ts.map +0 -1
  340. package/lib/monitoring/system.d.ts.map +0 -1
  341. package/lib/monitoring/types.d.ts.map +0 -1
  342. package/lib/network/core/events.d.ts.map +0 -1
  343. package/lib/network/core/index.d.ts.map +0 -1
  344. package/lib/network/core/metrics.d.ts.map +0 -1
  345. package/lib/network/core/networkCore.d.ts.map +0 -1
  346. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  347. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  348. package/lib/network/core/types.d.ts.map +0 -1
  349. package/lib/network/discv5/index.d.ts.map +0 -1
  350. package/lib/network/discv5/types.d.ts.map +0 -1
  351. package/lib/network/discv5/utils.d.ts.map +0 -1
  352. package/lib/network/discv5/worker.d.ts.map +0 -1
  353. package/lib/network/events.d.ts.map +0 -1
  354. package/lib/network/forks.d.ts.map +0 -1
  355. package/lib/network/gossip/constants.d.ts.map +0 -1
  356. package/lib/network/gossip/encoding.d.ts.map +0 -1
  357. package/lib/network/gossip/errors.d.ts.map +0 -1
  358. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  359. package/lib/network/gossip/index.d.ts.map +0 -1
  360. package/lib/network/gossip/interface.d.ts.map +0 -1
  361. package/lib/network/gossip/metrics.d.ts.map +0 -1
  362. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  363. package/lib/network/gossip/topic.d.ts.map +0 -1
  364. package/lib/network/index.d.ts.map +0 -1
  365. package/lib/network/interface.d.ts.map +0 -1
  366. package/lib/network/libp2p/error.d.ts.map +0 -1
  367. package/lib/network/libp2p/index.d.ts.map +0 -1
  368. package/lib/network/metadata.d.ts.map +0 -1
  369. package/lib/network/network.d.ts.map +0 -1
  370. package/lib/network/networkConfig.d.ts.map +0 -1
  371. package/lib/network/options.d.ts.map +0 -1
  372. package/lib/network/peers/client.d.ts.map +0 -1
  373. package/lib/network/peers/datastore.d.ts.map +0 -1
  374. package/lib/network/peers/discover.d.ts.map +0 -1
  375. package/lib/network/peers/index.d.ts.map +0 -1
  376. package/lib/network/peers/peerManager.d.ts.map +0 -1
  377. package/lib/network/peers/peersData.d.ts.map +0 -1
  378. package/lib/network/peers/score/constants.d.ts.map +0 -1
  379. package/lib/network/peers/score/index.d.ts.map +0 -1
  380. package/lib/network/peers/score/interface.d.ts.map +0 -1
  381. package/lib/network/peers/score/score.d.ts.map +0 -1
  382. package/lib/network/peers/score/store.d.ts.map +0 -1
  383. package/lib/network/peers/score/utils.d.ts.map +0 -1
  384. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  385. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  386. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  387. package/lib/network/peers/utils/index.d.ts.map +0 -1
  388. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  389. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  390. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  391. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  392. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  393. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  394. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  395. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  396. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  397. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  398. package/lib/network/processor/index.d.ts.map +0 -1
  399. package/lib/network/processor/types.d.ts.map +0 -1
  400. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  401. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  402. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  403. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  404. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  405. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  406. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  407. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  408. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  409. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  410. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  411. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  412. package/lib/network/reqresp/index.d.ts.map +0 -1
  413. package/lib/network/reqresp/interface.d.ts.map +0 -1
  414. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  415. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  416. package/lib/network/reqresp/score.d.ts.map +0 -1
  417. package/lib/network/reqresp/types.d.ts.map +0 -1
  418. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  419. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  420. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  421. package/lib/network/statusCache.d.ts.map +0 -1
  422. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  423. package/lib/network/subnets/index.d.ts.map +0 -1
  424. package/lib/network/subnets/interface.d.ts.map +0 -1
  425. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  426. package/lib/network/subnets/util.d.ts.map +0 -1
  427. package/lib/network/util.d.ts.map +0 -1
  428. package/lib/node/index.d.ts.map +0 -1
  429. package/lib/node/nodejs.d.ts.map +0 -1
  430. package/lib/node/notifier.d.ts.map +0 -1
  431. package/lib/node/options.d.ts.map +0 -1
  432. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  433. package/lib/node/utils/interop/state.d.ts.map +0 -1
  434. package/lib/node/utils/lightclient.d.ts.map +0 -1
  435. package/lib/node/utils/state.d.ts.map +0 -1
  436. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  437. package/lib/sync/backfill/errors.d.ts.map +0 -1
  438. package/lib/sync/backfill/index.d.ts.map +0 -1
  439. package/lib/sync/backfill/verify.d.ts.map +0 -1
  440. package/lib/sync/constants.d.ts.map +0 -1
  441. package/lib/sync/index.d.ts.map +0 -1
  442. package/lib/sync/interface.d.ts.map +0 -1
  443. package/lib/sync/options.d.ts.map +0 -1
  444. package/lib/sync/range/batch.d.ts.map +0 -1
  445. package/lib/sync/range/chain.d.ts.map +0 -1
  446. package/lib/sync/range/range.d.ts.map +0 -1
  447. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  448. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  449. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  450. package/lib/sync/range/utils/index.d.ts.map +0 -1
  451. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  452. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  453. package/lib/sync/sync.d.ts.map +0 -1
  454. package/lib/sync/types.d.ts.map +0 -1
  455. package/lib/sync/unknownBlock.d.ts.map +0 -1
  456. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  457. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  458. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  459. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  460. package/lib/util/address.d.ts.map +0 -1
  461. package/lib/util/array.d.ts.map +0 -1
  462. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  463. package/lib/util/binarySearch.d.ts.map +0 -1
  464. package/lib/util/bitArray.d.ts.map +0 -1
  465. package/lib/util/blobs.d.ts.map +0 -1
  466. package/lib/util/bufferPool.d.ts.map +0 -1
  467. package/lib/util/bytes.d.ts.map +0 -1
  468. package/lib/util/chunkify.d.ts.map +0 -1
  469. package/lib/util/clock.d.ts.map +0 -1
  470. package/lib/util/dataColumns.d.ts.map +0 -1
  471. package/lib/util/dependentRoot.d.ts.map +0 -1
  472. package/lib/util/enum.d.ts.map +0 -1
  473. package/lib/util/error.d.ts.map +0 -1
  474. package/lib/util/eventLoop.d.ts.map +0 -1
  475. package/lib/util/execution.d.ts.map +0 -1
  476. package/lib/util/file.d.ts.map +0 -1
  477. package/lib/util/forkChoice.d.ts.map +0 -1
  478. package/lib/util/forkName.d.ts.map +0 -1
  479. package/lib/util/graffiti.d.ts.map +0 -1
  480. package/lib/util/hex.d.ts.map +0 -1
  481. package/lib/util/index.d.ts.map +0 -1
  482. package/lib/util/ip.d.ts.map +0 -1
  483. package/lib/util/itTrigger.d.ts.map +0 -1
  484. package/lib/util/kzg.d.ts.map +0 -1
  485. package/lib/util/map.d.ts.map +0 -1
  486. package/lib/util/metadata.d.ts.map +0 -1
  487. package/lib/util/multifork.d.ts.map +0 -1
  488. package/lib/util/numpy.d.ts.map +0 -1
  489. package/lib/util/peerId.d.ts.map +0 -1
  490. package/lib/util/profile.d.ts.map +0 -1
  491. package/lib/util/promises.d.ts.map +0 -1
  492. package/lib/util/queue/errors.d.ts.map +0 -1
  493. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  494. package/lib/util/queue/index.d.ts.map +0 -1
  495. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  496. package/lib/util/queue/options.d.ts.map +0 -1
  497. package/lib/util/serializedCache.d.ts.map +0 -1
  498. package/lib/util/set.d.ts.map +0 -1
  499. package/lib/util/shuffle.d.ts.map +0 -1
  500. package/lib/util/sortBy.d.ts.map +0 -1
  501. package/lib/util/sszBytes.d.ts.map +0 -1
  502. package/lib/util/strictEvents.d.ts.map +0 -1
  503. package/lib/util/time.d.ts.map +0 -1
  504. package/lib/util/timeSeries.d.ts.map +0 -1
  505. package/lib/util/types.d.ts.map +0 -1
  506. package/lib/util/workerEvents.d.ts.map +0 -1
  507. package/lib/util/wrapError.d.ts.map +0 -1
  508. package/src/api/impl/api.ts +0 -26
  509. package/src/api/impl/beacon/blocks/index.ts +0 -744
  510. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  511. package/src/api/impl/beacon/index.ts +0 -35
  512. package/src/api/impl/beacon/pool/index.ts +0 -314
  513. package/src/api/impl/beacon/rewards/index.ts +0 -30
  514. package/src/api/impl/beacon/state/index.ts +0 -406
  515. package/src/api/impl/beacon/state/utils.ts +0 -189
  516. package/src/api/impl/config/constants.ts +0 -127
  517. package/src/api/impl/config/index.ts +0 -59
  518. package/src/api/impl/debug/index.ts +0 -131
  519. package/src/api/impl/errors.ts +0 -50
  520. package/src/api/impl/events/index.ts +0 -33
  521. package/src/api/impl/index.ts +0 -6
  522. package/src/api/impl/lightclient/index.ts +0 -64
  523. package/src/api/impl/lodestar/index.ts +0 -257
  524. package/src/api/impl/node/index.ts +0 -88
  525. package/src/api/impl/node/utils.ts +0 -51
  526. package/src/api/impl/proof/index.ts +0 -60
  527. package/src/api/impl/types.ts +0 -17
  528. package/src/api/impl/utils.ts +0 -25
  529. package/src/api/impl/validator/index.ts +0 -1541
  530. package/src/api/impl/validator/utils.ts +0 -85
  531. package/src/api/index.ts +0 -2
  532. package/src/api/options.ts +0 -16
  533. package/src/api/rest/activeSockets.ts +0 -109
  534. package/src/api/rest/base.ts +0 -216
  535. package/src/api/rest/index.ts +0 -63
  536. package/src/api/rest/swaggerUI.ts +0 -80
  537. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  538. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  539. package/src/chain/GetBlobsTracker.ts +0 -115
  540. package/src/chain/archiveStore/archiveStore.ts +0 -222
  541. package/src/chain/archiveStore/constants.ts +0 -5
  542. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  543. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  544. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  545. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  546. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  547. package/src/chain/archiveStore/index.ts +0 -3
  548. package/src/chain/archiveStore/interface.ts +0 -75
  549. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  550. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  551. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  552. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  553. package/src/chain/balancesCache.ts +0 -52
  554. package/src/chain/beaconProposerCache.ts +0 -43
  555. package/src/chain/blocks/blockInput/blockInput.ts +0 -852
  556. package/src/chain/blocks/blockInput/errors.ts +0 -48
  557. package/src/chain/blocks/blockInput/index.ts +0 -4
  558. package/src/chain/blocks/blockInput/types.ts +0 -145
  559. package/src/chain/blocks/blockInput/utils.ts +0 -21
  560. package/src/chain/blocks/importBlock.ts +0 -599
  561. package/src/chain/blocks/index.ts +0 -179
  562. package/src/chain/blocks/types.ts +0 -101
  563. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  564. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  565. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  566. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  567. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  568. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  569. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  570. package/src/chain/blocks/verifyBlock.ts +0 -242
  571. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -42
  572. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  573. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  574. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  575. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  576. package/src/chain/blocks/writeBlockInputToDb.ts +0 -120
  577. package/src/chain/bls/index.ts +0 -4
  578. package/src/chain/bls/interface.ts +0 -68
  579. package/src/chain/bls/maybeBatch.ts +0 -45
  580. package/src/chain/bls/multithread/index.ts +0 -582
  581. package/src/chain/bls/multithread/jobItem.ts +0 -119
  582. package/src/chain/bls/multithread/poolSize.ts +0 -16
  583. package/src/chain/bls/multithread/types.ts +0 -38
  584. package/src/chain/bls/multithread/utils.ts +0 -19
  585. package/src/chain/bls/multithread/worker.ts +0 -114
  586. package/src/chain/bls/singleThread.ts +0 -87
  587. package/src/chain/bls/utils.ts +0 -30
  588. package/src/chain/chain.ts +0 -1354
  589. package/src/chain/emitter.ts +0 -113
  590. package/src/chain/errors/attestationError.ts +0 -194
  591. package/src/chain/errors/attesterSlashingError.ts +0 -11
  592. package/src/chain/errors/blobSidecarError.ts +0 -60
  593. package/src/chain/errors/blockError.ts +0 -166
  594. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  595. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  596. package/src/chain/errors/gossipValidation.ts +0 -20
  597. package/src/chain/errors/index.ts +0 -10
  598. package/src/chain/errors/lightClientError.ts +0 -30
  599. package/src/chain/errors/proposerSlashingError.ts +0 -11
  600. package/src/chain/errors/syncCommitteeError.ts +0 -36
  601. package/src/chain/errors/voluntaryExitError.ts +0 -13
  602. package/src/chain/forkChoice/index.ts +0 -112
  603. package/src/chain/genesis/genesis.ts +0 -190
  604. package/src/chain/genesis/interface.ts +0 -14
  605. package/src/chain/index.ts +0 -6
  606. package/src/chain/initState.ts +0 -221
  607. package/src/chain/interface.ts +0 -280
  608. package/src/chain/lightClient/index.ts +0 -764
  609. package/src/chain/lightClient/proofs.ts +0 -85
  610. package/src/chain/lightClient/types.ts +0 -33
  611. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  612. package/src/chain/opPools/attestationPool.ts +0 -282
  613. package/src/chain/opPools/index.ts +0 -5
  614. package/src/chain/opPools/opPool.ts +0 -462
  615. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -169
  616. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  617. package/src/chain/opPools/types.ts +0 -35
  618. package/src/chain/opPools/utils.ts +0 -65
  619. package/src/chain/options.ts +0 -138
  620. package/src/chain/prepareNextSlot.ts +0 -277
  621. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  622. package/src/chain/produceBlock/index.ts +0 -2
  623. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  624. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  625. package/src/chain/regen/errors.ts +0 -30
  626. package/src/chain/regen/index.ts +0 -4
  627. package/src/chain/regen/interface.ts +0 -93
  628. package/src/chain/regen/queued.ts +0 -317
  629. package/src/chain/regen/regen.ts +0 -424
  630. package/src/chain/reprocess.ts +0 -161
  631. package/src/chain/rewards/attestationsRewards.ts +0 -196
  632. package/src/chain/rewards/blockRewards.ts +0 -150
  633. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  634. package/src/chain/seenCache/index.ts +0 -5
  635. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  636. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  637. package/src/chain/seenCache/seenAttesters.ts +0 -58
  638. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  639. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  640. package/src/chain/seenCache/seenCommittee.ts +0 -43
  641. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  642. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  643. package/src/chain/serializeState.ts +0 -32
  644. package/src/chain/shufflingCache.ts +0 -238
  645. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  646. package/src/chain/stateCache/datastore/db.ts +0 -36
  647. package/src/chain/stateCache/datastore/file.ts +0 -53
  648. package/src/chain/stateCache/datastore/index.ts +0 -2
  649. package/src/chain/stateCache/datastore/types.ts +0 -13
  650. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  651. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  652. package/src/chain/stateCache/index.ts +0 -3
  653. package/src/chain/stateCache/mapMetrics.ts +0 -52
  654. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -837
  655. package/src/chain/stateCache/types.ts +0 -86
  656. package/src/chain/validation/aggregateAndProof.ts +0 -258
  657. package/src/chain/validation/attestation.ts +0 -885
  658. package/src/chain/validation/attesterSlashing.ts +0 -61
  659. package/src/chain/validation/blobSidecar.ts +0 -301
  660. package/src/chain/validation/block.ts +0 -188
  661. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  662. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  663. package/src/chain/validation/index.ts +0 -9
  664. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -46
  665. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -68
  666. package/src/chain/validation/proposerSlashing.ts +0 -54
  667. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  668. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  669. package/src/chain/validation/signatureSets/index.ts +0 -6
  670. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  671. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  672. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  673. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  674. package/src/chain/validation/syncCommittee.ts +0 -165
  675. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  676. package/src/chain/validation/voluntaryExit.ts +0 -58
  677. package/src/chain/validatorMonitor.ts +0 -1310
  678. package/src/constants/constants.ts +0 -15
  679. package/src/constants/index.ts +0 -2
  680. package/src/constants/network.ts +0 -52
  681. package/src/db/beacon.ts +0 -113
  682. package/src/db/buckets.ts +0 -80
  683. package/src/db/index.ts +0 -2
  684. package/src/db/interface.ts +0 -76
  685. package/src/db/options.ts +0 -7
  686. package/src/db/repositories/attesterSlashing.ts +0 -38
  687. package/src/db/repositories/backfilledRanges.ts +0 -29
  688. package/src/db/repositories/blobSidecars.ts +0 -37
  689. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  690. package/src/db/repositories/block.ts +0 -33
  691. package/src/db/repositories/blockArchive.ts +0 -170
  692. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  693. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  694. package/src/db/repositories/checkpointState.ts +0 -31
  695. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  696. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  697. package/src/db/repositories/depositDataRoot.ts +0 -80
  698. package/src/db/repositories/depositEvent.ts +0 -32
  699. package/src/db/repositories/eth1Data.ts +0 -33
  700. package/src/db/repositories/index.ts +0 -20
  701. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  702. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  703. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  704. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  705. package/src/db/repositories/proposerSlashing.ts +0 -15
  706. package/src/db/repositories/stateArchive.ts +0 -69
  707. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  708. package/src/db/repositories/voluntaryExit.ts +0 -15
  709. package/src/db/single/index.ts +0 -2
  710. package/src/db/single/preGenesisState.ts +0 -37
  711. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  712. package/src/eth1/errors.ts +0 -40
  713. package/src/eth1/eth1DataCache.ts +0 -26
  714. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  715. package/src/eth1/eth1DepositsCache.ts +0 -141
  716. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  717. package/src/eth1/index.ts +0 -157
  718. package/src/eth1/interface.ts +0 -131
  719. package/src/eth1/options.ts +0 -28
  720. package/src/eth1/provider/eth1Provider.ts +0 -229
  721. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  722. package/src/eth1/provider/jwt.ts +0 -36
  723. package/src/eth1/provider/utils.ts +0 -136
  724. package/src/eth1/stream.ts +0 -75
  725. package/src/eth1/utils/depositContract.ts +0 -37
  726. package/src/eth1/utils/deposits.ts +0 -70
  727. package/src/eth1/utils/eth1Data.ts +0 -100
  728. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  729. package/src/eth1/utils/eth1Vote.ts +0 -142
  730. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  731. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  732. package/src/execution/builder/cache.ts +0 -39
  733. package/src/execution/builder/http.ts +0 -229
  734. package/src/execution/builder/index.ts +0 -27
  735. package/src/execution/builder/interface.ts +0 -49
  736. package/src/execution/builder/utils.ts +0 -19
  737. package/src/execution/engine/disabled.ts +0 -35
  738. package/src/execution/engine/http.ts +0 -644
  739. package/src/execution/engine/index.ts +0 -63
  740. package/src/execution/engine/interface.ts +0 -199
  741. package/src/execution/engine/mock.ts +0 -493
  742. package/src/execution/engine/payloadIdCache.ts +0 -54
  743. package/src/execution/engine/types.ts +0 -640
  744. package/src/execution/engine/utils.ts +0 -136
  745. package/src/execution/index.ts +0 -4
  746. package/src/index.ts +0 -20
  747. package/src/metrics/index.ts +0 -4
  748. package/src/metrics/metrics/beacon.ts +0 -390
  749. package/src/metrics/metrics/lodestar.ts +0 -1870
  750. package/src/metrics/metrics.ts +0 -43
  751. package/src/metrics/nodeJsMetrics.ts +0 -19
  752. package/src/metrics/options.ts +0 -22
  753. package/src/metrics/server/http.ts +0 -114
  754. package/src/metrics/server/index.ts +0 -1
  755. package/src/metrics/utils/avgMinMax.ts +0 -87
  756. package/src/metrics/utils/gauge.ts +0 -22
  757. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  758. package/src/monitoring/clientStats.ts +0 -297
  759. package/src/monitoring/index.ts +0 -2
  760. package/src/monitoring/options.ts +0 -19
  761. package/src/monitoring/properties.ts +0 -152
  762. package/src/monitoring/service.ts +0 -235
  763. package/src/monitoring/system.ts +0 -146
  764. package/src/monitoring/types.ts +0 -21
  765. package/src/network/core/events.ts +0 -59
  766. package/src/network/core/index.ts +0 -3
  767. package/src/network/core/metrics.ts +0 -304
  768. package/src/network/core/networkCore.ts +0 -599
  769. package/src/network/core/networkCoreWorker.ts +0 -176
  770. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  771. package/src/network/core/types.ts +0 -119
  772. package/src/network/discv5/index.ts +0 -132
  773. package/src/network/discv5/types.ts +0 -74
  774. package/src/network/discv5/utils.ts +0 -50
  775. package/src/network/discv5/worker.ts +0 -137
  776. package/src/network/events.ts +0 -51
  777. package/src/network/forks.ts +0 -94
  778. package/src/network/gossip/constants.ts +0 -15
  779. package/src/network/gossip/encoding.ts +0 -111
  780. package/src/network/gossip/errors.ts +0 -7
  781. package/src/network/gossip/gossipsub.ts +0 -384
  782. package/src/network/gossip/index.ts +0 -4
  783. package/src/network/gossip/interface.ts +0 -215
  784. package/src/network/gossip/metrics.ts +0 -71
  785. package/src/network/gossip/scoringParameters.ts +0 -333
  786. package/src/network/gossip/topic.ts +0 -332
  787. package/src/network/index.ts +0 -8
  788. package/src/network/interface.ts +0 -134
  789. package/src/network/libp2p/error.ts +0 -55
  790. package/src/network/libp2p/index.ts +0 -153
  791. package/src/network/metadata.ts +0 -162
  792. package/src/network/network.ts +0 -767
  793. package/src/network/networkConfig.ts +0 -12
  794. package/src/network/options.ts +0 -70
  795. package/src/network/peers/client.ts +0 -29
  796. package/src/network/peers/datastore.ts +0 -188
  797. package/src/network/peers/discover.ts +0 -647
  798. package/src/network/peers/index.ts +0 -2
  799. package/src/network/peers/peerManager.ts +0 -900
  800. package/src/network/peers/peersData.ts +0 -65
  801. package/src/network/peers/score/constants.ts +0 -34
  802. package/src/network/peers/score/index.ts +0 -4
  803. package/src/network/peers/score/interface.ts +0 -74
  804. package/src/network/peers/score/score.ts +0 -200
  805. package/src/network/peers/score/store.ts +0 -95
  806. package/src/network/peers/score/utils.ts +0 -37
  807. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  808. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  809. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  810. package/src/network/peers/utils/index.ts +0 -4
  811. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  812. package/src/network/peers/utils/subnetMap.ts +0 -88
  813. package/src/network/processor/aggregatorTracker.ts +0 -38
  814. package/src/network/processor/extractSlotRootFns.ts +0 -64
  815. package/src/network/processor/gossipHandlers.ts +0 -951
  816. package/src/network/processor/gossipQueues/index.ts +0 -114
  817. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  818. package/src/network/processor/gossipQueues/linear.ts +0 -162
  819. package/src/network/processor/gossipQueues/types.ts +0 -57
  820. package/src/network/processor/gossipValidatorFn.ts +0 -142
  821. package/src/network/processor/index.ts +0 -496
  822. package/src/network/processor/types.ts +0 -27
  823. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  824. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  825. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  826. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  827. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  828. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  829. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  830. package/src/network/reqresp/handlers/index.ts +0 -78
  831. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  832. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  833. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  834. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  835. package/src/network/reqresp/index.ts +0 -2
  836. package/src/network/reqresp/interface.ts +0 -45
  837. package/src/network/reqresp/protocols.ts +0 -146
  838. package/src/network/reqresp/rateLimit.ts +0 -112
  839. package/src/network/reqresp/score.ts +0 -70
  840. package/src/network/reqresp/types.ts +0 -174
  841. package/src/network/reqresp/utils/collect.ts +0 -84
  842. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  843. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  844. package/src/network/statusCache.ts +0 -17
  845. package/src/network/subnets/attnetsService.ts +0 -382
  846. package/src/network/subnets/index.ts +0 -2
  847. package/src/network/subnets/interface.ts +0 -66
  848. package/src/network/subnets/syncnetsService.ts +0 -147
  849. package/src/network/subnets/util.ts +0 -63
  850. package/src/network/util.ts +0 -29
  851. package/src/node/index.ts +0 -2
  852. package/src/node/nodejs.ts +0 -349
  853. package/src/node/notifier.ts +0 -206
  854. package/src/node/options.ts +0 -51
  855. package/src/node/utils/interop/deposits.ts +0 -53
  856. package/src/node/utils/interop/state.ts +0 -59
  857. package/src/node/utils/lightclient.ts +0 -7
  858. package/src/node/utils/state.ts +0 -37
  859. package/src/sync/backfill/backfill.ts +0 -893
  860. package/src/sync/backfill/errors.ts +0 -23
  861. package/src/sync/backfill/index.ts +0 -1
  862. package/src/sync/backfill/verify.ts +0 -58
  863. package/src/sync/constants.ts +0 -71
  864. package/src/sync/index.ts +0 -2
  865. package/src/sync/interface.ts +0 -55
  866. package/src/sync/options.ts +0 -45
  867. package/src/sync/range/batch.ts +0 -455
  868. package/src/sync/range/chain.ts +0 -715
  869. package/src/sync/range/range.ts +0 -354
  870. package/src/sync/range/utils/batches.ts +0 -119
  871. package/src/sync/range/utils/chainTarget.ts +0 -62
  872. package/src/sync/range/utils/hashBlocks.ts +0 -27
  873. package/src/sync/range/utils/index.ts +0 -5
  874. package/src/sync/range/utils/peerBalancer.ts +0 -184
  875. package/src/sync/range/utils/updateChains.ts +0 -66
  876. package/src/sync/sync.ts +0 -290
  877. package/src/sync/types.ts +0 -57
  878. package/src/sync/unknownBlock.ts +0 -860
  879. package/src/sync/utils/downloadByRange.ts +0 -808
  880. package/src/sync/utils/downloadByRoot.ts +0 -560
  881. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  882. package/src/sync/utils/remoteSyncType.ts +0 -144
  883. package/src/util/address.ts +0 -3
  884. package/src/util/array.ts +0 -311
  885. package/src/util/asyncIterableToEvents.ts +0 -164
  886. package/src/util/binarySearch.ts +0 -48
  887. package/src/util/bitArray.ts +0 -84
  888. package/src/util/blobs.ts +0 -210
  889. package/src/util/bufferPool.ts +0 -95
  890. package/src/util/bytes.ts +0 -11
  891. package/src/util/chunkify.ts +0 -27
  892. package/src/util/clock.ts +0 -212
  893. package/src/util/dataColumns.ts +0 -415
  894. package/src/util/dependentRoot.ts +0 -47
  895. package/src/util/enum.ts +0 -17
  896. package/src/util/error.ts +0 -56
  897. package/src/util/eventLoop.ts +0 -22
  898. package/src/util/execution.ts +0 -223
  899. package/src/util/file.ts +0 -52
  900. package/src/util/forkChoice.ts +0 -5
  901. package/src/util/forkName.ts +0 -20
  902. package/src/util/graffiti.ts +0 -39
  903. package/src/util/hex.ts +0 -9
  904. package/src/util/index.ts +0 -2
  905. package/src/util/ip.ts +0 -6
  906. package/src/util/itTrigger.ts +0 -49
  907. package/src/util/kzg.ts +0 -3
  908. package/src/util/map.ts +0 -77
  909. package/src/util/metadata.ts +0 -22
  910. package/src/util/multifork.ts +0 -69
  911. package/src/util/numpy.ts +0 -8
  912. package/src/util/peerId.ts +0 -16
  913. package/src/util/profile.ts +0 -54
  914. package/src/util/promises.ts +0 -14
  915. package/src/util/queue/errors.ts +0 -14
  916. package/src/util/queue/fnQueue.ts +0 -16
  917. package/src/util/queue/index.ts +0 -4
  918. package/src/util/queue/itemQueue.ts +0 -128
  919. package/src/util/queue/options.ts +0 -37
  920. package/src/util/serializedCache.ts +0 -20
  921. package/src/util/set.ts +0 -62
  922. package/src/util/shuffle.ts +0 -21
  923. package/src/util/sortBy.ts +0 -19
  924. package/src/util/sszBytes.ts +0 -481
  925. package/src/util/strictEvents.ts +0 -8
  926. package/src/util/time.ts +0 -13
  927. package/src/util/timeSeries.ts +0 -118
  928. package/src/util/types.ts +0 -31
  929. package/src/util/workerEvents.ts +0 -142
  930. package/src/util/wrapError.ts +0 -27
@@ -1,61 +0,0 @@
1
- import {
2
- assertValidAttesterSlashing,
3
- getAttesterSlashableIndices,
4
- getAttesterSlashingSignatureSets,
5
- } from "@lodestar/state-transition";
6
- import {AttesterSlashing} from "@lodestar/types";
7
- import {AttesterSlashingError, AttesterSlashingErrorCode, GossipAction} from "../errors/index.js";
8
- import {IBeaconChain} from "../index.js";
9
-
10
- export async function validateApiAttesterSlashing(
11
- chain: IBeaconChain,
12
- attesterSlashing: AttesterSlashing
13
- ): Promise<void> {
14
- const prioritizeBls = true;
15
- return validateAttesterSlashing(chain, attesterSlashing, prioritizeBls);
16
- }
17
-
18
- export async function validateGossipAttesterSlashing(
19
- chain: IBeaconChain,
20
- attesterSlashing: AttesterSlashing
21
- ): Promise<void> {
22
- return validateAttesterSlashing(chain, attesterSlashing);
23
- }
24
-
25
- export async function validateAttesterSlashing(
26
- chain: IBeaconChain,
27
- attesterSlashing: AttesterSlashing,
28
- prioritizeBls = false
29
- ): Promise<void> {
30
- // [IGNORE] At least one index in the intersection of the attesting indices of each attestation has not yet been seen
31
- // in any prior attester_slashing (i.e.
32
- // attester_slashed_indices = set(attestation_1.attesting_indices).intersection(attestation_2.attesting_indices
33
- // ), verify if any(attester_slashed_indices.difference(prior_seen_attester_slashed_indices))).
34
- const intersectingIndices = getAttesterSlashableIndices(attesterSlashing);
35
- if (chain.opPool.hasSeenAttesterSlashing(intersectingIndices)) {
36
- throw new AttesterSlashingError(GossipAction.IGNORE, {
37
- code: AttesterSlashingErrorCode.ALREADY_EXISTS,
38
- });
39
- }
40
-
41
- const state = chain.getHeadState();
42
-
43
- // [REJECT] All of the conditions within process_attester_slashing pass validation.
44
- try {
45
- // verifySignature = false, verified in batch below
46
- assertValidAttesterSlashing(state, attesterSlashing, false);
47
- } catch (e) {
48
- throw new AttesterSlashingError(GossipAction.REJECT, {
49
- code: AttesterSlashingErrorCode.INVALID,
50
- error: e as Error,
51
- });
52
- }
53
-
54
- const signatureSets = getAttesterSlashingSignatureSets(state, attesterSlashing);
55
- if (!(await chain.bls.verifySignatureSets(signatureSets, {batchable: true, priority: prioritizeBls}))) {
56
- throw new AttesterSlashingError(GossipAction.REJECT, {
57
- code: AttesterSlashingErrorCode.INVALID,
58
- error: Error("Invalid signature"),
59
- });
60
- }
61
- }
@@ -1,301 +0,0 @@
1
- import {ChainConfig} from "@lodestar/config";
2
- import {
3
- ForkName,
4
- KZG_COMMITMENT_INCLUSION_PROOF_DEPTH,
5
- KZG_COMMITMENT_SUBTREE_INDEX0,
6
- isForkPostElectra,
7
- } from "@lodestar/params";
8
- import {
9
- computeEpochAtSlot,
10
- computeStartSlotAtEpoch,
11
- getBlockHeaderProposerSignatureSet,
12
- } from "@lodestar/state-transition";
13
- import {BlobIndex, Root, Slot, SubnetID, deneb, ssz} from "@lodestar/types";
14
- import {toRootHex, verifyMerkleBranch} from "@lodestar/utils";
15
- import {kzg} from "../../util/kzg.js";
16
- import {BlobSidecarErrorCode, BlobSidecarGossipError, BlobSidecarValidationError} from "../errors/blobSidecarError.js";
17
- import {GossipAction} from "../errors/gossipValidation.js";
18
- import {IBeaconChain} from "../interface.js";
19
- import {RegenCaller} from "../regen/index.js";
20
-
21
- export async function validateGossipBlobSidecar(
22
- fork: ForkName,
23
- chain: IBeaconChain,
24
- blobSidecar: deneb.BlobSidecar,
25
- subnet: SubnetID
26
- ): Promise<void> {
27
- const blobSlot = blobSidecar.signedBlockHeader.message.slot;
28
-
29
- // [REJECT] The sidecar's index is consistent with `MAX_BLOBS_PER_BLOCK` -- i.e. `blob_sidecar.index < MAX_BLOBS_PER_BLOCK`.
30
- const maxBlobsPerBlock = chain.config.getMaxBlobsPerBlock(computeEpochAtSlot(blobSlot));
31
- if (blobSidecar.index >= maxBlobsPerBlock) {
32
- throw new BlobSidecarGossipError(GossipAction.REJECT, {
33
- code: BlobSidecarErrorCode.INDEX_TOO_LARGE,
34
- blobIdx: blobSidecar.index,
35
- maxBlobsPerBlock,
36
- });
37
- }
38
-
39
- // [REJECT] The sidecar is for the correct subnet -- i.e. `compute_subnet_for_blob_sidecar(sidecar.index) == subnet_id`.
40
- if (computeSubnetForBlobSidecar(fork, chain.config, blobSidecar.index) !== subnet) {
41
- throw new BlobSidecarGossipError(GossipAction.REJECT, {
42
- code: BlobSidecarErrorCode.INVALID_INDEX,
43
- blobIdx: blobSidecar.index,
44
- subnet,
45
- });
46
- }
47
-
48
- // [IGNORE] The sidecar is not from a future slot (with a MAXIMUM_GOSSIP_CLOCK_DISPARITY allowance) --
49
- // i.e. validate that sidecar.slot <= current_slot (a client MAY queue future blocks for processing at
50
- // the appropriate slot).
51
- const currentSlotWithGossipDisparity = chain.clock.currentSlotWithGossipDisparity;
52
- if (currentSlotWithGossipDisparity < blobSlot) {
53
- throw new BlobSidecarGossipError(GossipAction.IGNORE, {
54
- code: BlobSidecarErrorCode.FUTURE_SLOT,
55
- currentSlot: currentSlotWithGossipDisparity,
56
- blockSlot: blobSlot,
57
- });
58
- }
59
-
60
- // [IGNORE] The sidecar is from a slot greater than the latest finalized slot -- i.e. validate that
61
- // sidecar.slot > compute_start_slot_at_epoch(state.finalized_checkpoint.epoch)
62
- const finalizedCheckpoint = chain.forkChoice.getFinalizedCheckpoint();
63
- const finalizedSlot = computeStartSlotAtEpoch(finalizedCheckpoint.epoch);
64
- if (blobSlot <= finalizedSlot) {
65
- throw new BlobSidecarGossipError(GossipAction.IGNORE, {
66
- code: BlobSidecarErrorCode.WOULD_REVERT_FINALIZED_SLOT,
67
- blockSlot: blobSlot,
68
- finalizedSlot,
69
- });
70
- }
71
-
72
- // Check if the block is already known. We know it is post-finalization, so it is sufficient to check the fork choice.
73
- //
74
- // In normal operation this isn't necessary, however it is useful immediately after a
75
- // reboot if the `observed_block_producers` cache is empty. In that case, without this
76
- // check, we will load the parent and state from disk only to find out later that we
77
- // already know this block.
78
- const blockRoot = ssz.phase0.BeaconBlockHeader.hashTreeRoot(blobSidecar.signedBlockHeader.message);
79
- const blockHex = toRootHex(blockRoot);
80
- if (chain.forkChoice.getBlockHex(blockHex) !== null) {
81
- throw new BlobSidecarGossipError(GossipAction.IGNORE, {code: BlobSidecarErrorCode.ALREADY_KNOWN, root: blockHex});
82
- }
83
-
84
- // TODO: freetheblobs - check for badblock
85
- // TODO: freetheblobs - check that its first blob with valid signature
86
-
87
- // _[IGNORE]_ The blob's block's parent (defined by `sidecar.block_parent_root`) has been seen (via both
88
- // gossip and non-gossip sources) (a client MAY queue blocks for processing once the parent block is
89
- // retrieved).
90
- const parentRoot = toRootHex(blobSidecar.signedBlockHeader.message.parentRoot);
91
- const parentBlock = chain.forkChoice.getBlockHex(parentRoot);
92
- if (parentBlock === null) {
93
- // If fork choice does *not* consider the parent to be a descendant of the finalized block,
94
- // then there are two more cases:
95
- //
96
- // 1. We have the parent stored in our database. Because fork-choice has confirmed the
97
- // parent is *not* in our post-finalization DAG, all other blocks must be either
98
- // pre-finalization or conflicting with finalization.
99
- // 2. The parent is unknown to us, we probably want to download it since it might actually
100
- // descend from the finalized root.
101
- // (Non-Lighthouse): Since we prune all blocks non-descendant from finalized checking the `db.block` database won't be useful to guard
102
- // against known bad fork blocks, so we throw PARENT_UNKNOWN for cases (1) and (2)
103
- throw new BlobSidecarGossipError(GossipAction.IGNORE, {code: BlobSidecarErrorCode.PARENT_UNKNOWN, parentRoot});
104
- }
105
-
106
- // [REJECT] The blob is from a higher slot than its parent.
107
- if (parentBlock.slot >= blobSlot) {
108
- throw new BlobSidecarGossipError(GossipAction.IGNORE, {
109
- code: BlobSidecarErrorCode.NOT_LATER_THAN_PARENT,
110
- parentSlot: parentBlock.slot,
111
- slot: blobSlot,
112
- });
113
- }
114
-
115
- // getBlockSlotState also checks for whether the current finalized checkpoint is an ancestor of the block.
116
- // As a result, we throw an IGNORE (whereas the spec says we should REJECT for this scenario).
117
- // this is something we should change this in the future to make the code airtight to the spec.
118
- // [IGNORE] The block's parent (defined by block.parent_root) has been seen (via both gossip and non-gossip sources) (a client MAY queue blocks for processing once the parent block is retrieved).
119
- // [REJECT] The block's parent (defined by block.parent_root) passes validation.
120
- const blockState = await chain.regen
121
- .getBlockSlotState(parentRoot, blobSlot, {dontTransferCache: true}, RegenCaller.validateGossipBlock)
122
- .catch(() => {
123
- throw new BlobSidecarGossipError(GossipAction.IGNORE, {code: BlobSidecarErrorCode.PARENT_UNKNOWN, parentRoot});
124
- });
125
-
126
- // [REJECT] The proposer signature, signed_beacon_block.signature, is valid with respect to the proposer_index pubkey.
127
- const signatureSet = getBlockHeaderProposerSignatureSet(blockState, blobSidecar.signedBlockHeader);
128
- // Don't batch so verification is not delayed
129
- if (!(await chain.bls.verifySignatureSets([signatureSet], {verifyOnMainThread: true}))) {
130
- throw new BlobSidecarGossipError(GossipAction.REJECT, {
131
- code: BlobSidecarErrorCode.PROPOSAL_SIGNATURE_INVALID,
132
- });
133
- }
134
-
135
- // verify if the blob inclusion proof is correct
136
- if (!validateBlobSidecarInclusionProof(blobSidecar)) {
137
- throw new BlobSidecarGossipError(GossipAction.REJECT, {
138
- code: BlobSidecarErrorCode.INCLUSION_PROOF_INVALID,
139
- slot: blobSidecar.signedBlockHeader.message.slot,
140
- blobIdx: blobSidecar.index,
141
- });
142
- }
143
-
144
- // _[IGNORE]_ The sidecar is the only sidecar with valid signature received for the tuple
145
- // `(sidecar.block_root, sidecar.index)`
146
- //
147
- // This is already taken care of by the way we group the blobs in getFullBlockInput helper
148
- // but may be an error can be thrown there for this
149
-
150
- // _[REJECT]_ The sidecar is proposed by the expected `proposer_index` for the block's slot in the
151
- // context of the current shuffling (defined by `block_parent_root`/`slot`)
152
- // If the `proposer_index` cannot immediately be verified against the expected shuffling, the sidecar
153
- // MAY be queued for later processing while proposers for the block's branch are calculated -- in such
154
- // a case _do not_ `REJECT`, instead `IGNORE` this message.
155
- const proposerIndex = blobSidecar.signedBlockHeader.message.proposerIndex;
156
- if (blockState.epochCtx.getBeaconProposer(blobSlot) !== proposerIndex) {
157
- throw new BlobSidecarGossipError(GossipAction.REJECT, {
158
- code: BlobSidecarErrorCode.INCORRECT_PROPOSER,
159
- proposerIndex,
160
- });
161
- }
162
-
163
- // blob, proof and commitment as a valid BLS G1 point gets verified in batch validation
164
- try {
165
- await validateBlobsAndBlobProofs([blobSidecar.kzgCommitment], [blobSidecar.blob], [blobSidecar.kzgProof]);
166
- } catch (_e) {
167
- throw new BlobSidecarGossipError(GossipAction.REJECT, {
168
- code: BlobSidecarErrorCode.INVALID_KZG_PROOF,
169
- blobIdx: blobSidecar.index,
170
- });
171
- }
172
- }
173
-
174
- /**
175
- * Validate some blob sidecars in a block
176
- *
177
- * Requires the block to be known to the node
178
- */
179
- export async function validateBlockBlobSidecars(
180
- blockSlot: Slot,
181
- blockRoot: Root,
182
- blockBlobCount: number,
183
- blobSidecars: deneb.BlobSidecars
184
- ): Promise<void> {
185
- if (blobSidecars.length === 0) {
186
- return;
187
- }
188
-
189
- if (blockBlobCount === 0) {
190
- throw new BlobSidecarValidationError({
191
- code: BlobSidecarErrorCode.INCORRECT_SIDECAR_COUNT,
192
- slot: blockSlot,
193
- expected: blockBlobCount,
194
- actual: blobSidecars.length,
195
- });
196
- }
197
-
198
- // Hash the first sidecar block header and compare the rest via (cheaper) equality
199
- const firstSidecarBlockHeader = blobSidecars[0].signedBlockHeader.message;
200
- const firstBlockRoot = ssz.phase0.BeaconBlockHeader.hashTreeRoot(firstSidecarBlockHeader);
201
- if (Buffer.compare(blockRoot, firstBlockRoot) !== 0) {
202
- throw new BlobSidecarValidationError(
203
- {
204
- code: BlobSidecarErrorCode.INCORRECT_BLOCK,
205
- slot: blockSlot,
206
- blobIdx: 0,
207
- expected: toRootHex(blockRoot),
208
- actual: toRootHex(firstBlockRoot),
209
- },
210
- "BlobSidecar doesn't match corresponding block"
211
- );
212
- }
213
-
214
- const commitments = [];
215
- const blobs = [];
216
- const proofs = [];
217
- for (const blobSidecar of blobSidecars) {
218
- const blobIdx = blobSidecar.index;
219
- if (!ssz.phase0.BeaconBlockHeader.equals(blobSidecar.signedBlockHeader.message, firstSidecarBlockHeader)) {
220
- throw new BlobSidecarValidationError(
221
- {
222
- code: BlobSidecarErrorCode.INCORRECT_BLOCK,
223
- slot: blockSlot,
224
- blobIdx,
225
- expected: toRootHex(blockRoot),
226
- actual: "unknown - compared via equality",
227
- },
228
- "BlobSidecar doesn't match corresponding block"
229
- );
230
- }
231
-
232
- if (!validateBlobSidecarInclusionProof(blobSidecar)) {
233
- throw new BlobSidecarValidationError(
234
- {
235
- code: BlobSidecarErrorCode.INCLUSION_PROOF_INVALID,
236
- slot: blockSlot,
237
- blobIdx,
238
- },
239
- "BlobSidecar inclusion proof invalid"
240
- );
241
- }
242
-
243
- commitments.push(blobSidecar.kzgCommitment);
244
- blobs.push(blobSidecar.blob);
245
- proofs.push(blobSidecar.kzgProof);
246
- }
247
-
248
- // Final batch KZG proof verification
249
- let reason: string | undefined = undefined;
250
- try {
251
- if (!(await kzg.asyncVerifyBlobKzgProofBatch(blobs, commitments, proofs))) {
252
- reason = "Invalid verifyBlobKzgProofBatch";
253
- }
254
- } catch (e) {
255
- reason = (e as Error).message;
256
- }
257
- if (reason !== undefined) {
258
- throw new BlobSidecarValidationError(
259
- {
260
- code: BlobSidecarErrorCode.INVALID_KZG_PROOF_BATCH,
261
- slot: blockSlot,
262
- reason,
263
- },
264
- "BlobSidecar has invalid KZG proof batch"
265
- );
266
- }
267
- }
268
-
269
- export async function validateBlobsAndBlobProofs(
270
- expectedKzgCommitments: deneb.BlobKzgCommitments,
271
- blobs: deneb.Blobs,
272
- proofs: deneb.KZGProofs
273
- ): Promise<void> {
274
- // assert verify_aggregate_kzg_proof(blobs, expected_kzg_commitments, kzg_aggregated_proof)
275
- let isProofValid: boolean;
276
- try {
277
- isProofValid = await kzg.asyncVerifyBlobKzgProofBatch(blobs, expectedKzgCommitments, proofs);
278
- } catch (e) {
279
- (e as Error).message = `Error on verifyBlobKzgProofBatch: ${(e as Error).message}`;
280
- throw e;
281
- }
282
- if (!isProofValid) {
283
- throw Error("Invalid verifyBlobKzgProofBatch");
284
- }
285
- }
286
-
287
- export function validateBlobSidecarInclusionProof(blobSidecar: deneb.BlobSidecar): boolean {
288
- return verifyMerkleBranch(
289
- ssz.deneb.KZGCommitment.hashTreeRoot(blobSidecar.kzgCommitment),
290
- blobSidecar.kzgCommitmentInclusionProof,
291
- KZG_COMMITMENT_INCLUSION_PROOF_DEPTH,
292
- KZG_COMMITMENT_SUBTREE_INDEX0 + blobSidecar.index,
293
- blobSidecar.signedBlockHeader.message.bodyRoot
294
- );
295
- }
296
-
297
- function computeSubnetForBlobSidecar(fork: ForkName, config: ChainConfig, blobIndex: BlobIndex): SubnetID {
298
- return (
299
- blobIndex % (isForkPostElectra(fork) ? config.BLOB_SIDECAR_SUBNET_COUNT_ELECTRA : config.BLOB_SIDECAR_SUBNET_COUNT)
300
- );
301
- }
@@ -1,188 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {ForkName, isForkPostDeneb} from "@lodestar/params";
3
- import {
4
- computeEpochAtSlot,
5
- computeStartSlotAtEpoch,
6
- computeTimeAtSlot,
7
- getBlockProposerSignatureSet,
8
- isExecutionBlockBodyType,
9
- isExecutionEnabled,
10
- isExecutionStateType,
11
- } from "@lodestar/state-transition";
12
- import {SignedBeaconBlock, deneb} from "@lodestar/types";
13
- import {sleep, toRootHex} from "@lodestar/utils";
14
- import {MAXIMUM_GOSSIP_CLOCK_DISPARITY} from "../../constants/index.js";
15
- import {BlockErrorCode, BlockGossipError, GossipAction} from "../errors/index.js";
16
- import {IBeaconChain} from "../interface.js";
17
- import {RegenCaller} from "../regen/index.js";
18
-
19
- export async function validateGossipBlock(
20
- config: ChainForkConfig,
21
- chain: IBeaconChain,
22
- signedBlock: SignedBeaconBlock,
23
- fork: ForkName
24
- ): Promise<void> {
25
- const block = signedBlock.message;
26
- const blockSlot = block.slot;
27
-
28
- // [IGNORE] The block is not from a future slot (with a MAXIMUM_GOSSIP_CLOCK_DISPARITY allowance) -- i.e.validate
29
- // that signed_beacon_block.message.slot <= current_slot (a client MAY queue future blocks for processing at the
30
- // appropriate slot).
31
- const currentSlotWithGossipDisparity = chain.clock.currentSlotWithGossipDisparity;
32
- if (currentSlotWithGossipDisparity < blockSlot) {
33
- throw new BlockGossipError(GossipAction.IGNORE, {
34
- code: BlockErrorCode.FUTURE_SLOT,
35
- currentSlot: currentSlotWithGossipDisparity,
36
- blockSlot,
37
- });
38
- }
39
-
40
- // [IGNORE] The block is from a slot greater than the latest finalized slot -- i.e. validate that
41
- // signed_beacon_block.message.slot > compute_start_slot_at_epoch(state.finalized_checkpoint.epoch)
42
- const finalizedCheckpoint = chain.forkChoice.getFinalizedCheckpoint();
43
- const finalizedSlot = computeStartSlotAtEpoch(finalizedCheckpoint.epoch);
44
- if (blockSlot <= finalizedSlot) {
45
- throw new BlockGossipError(GossipAction.IGNORE, {
46
- code: BlockErrorCode.WOULD_REVERT_FINALIZED_SLOT,
47
- blockSlot,
48
- finalizedSlot,
49
- });
50
- }
51
-
52
- // Check if the block is already known. We know it is post-finalization, so it is sufficient to check the fork choice.
53
- //
54
- // In normal operation this isn't necessary, however it is useful immediately after a
55
- // reboot if the `observed_block_producers` cache is empty. In that case, without this
56
- // check, we will load the parent and state from disk only to find out later that we
57
- // already know this block.
58
- const blockRoot = toRootHex(config.getForkTypes(blockSlot).BeaconBlock.hashTreeRoot(block));
59
- if (chain.forkChoice.getBlockHex(blockRoot) !== null) {
60
- throw new BlockGossipError(GossipAction.IGNORE, {code: BlockErrorCode.ALREADY_KNOWN, root: blockRoot});
61
- }
62
-
63
- // No need to check for badBlock
64
- // Gossip de-duplicates messages so we shouldn't be able to receive a bad block twice
65
-
66
- // [IGNORE] The block is the first block with valid signature received for the proposer for the slot, signed_beacon_block.message.slot.
67
- const proposerIndex = block.proposerIndex;
68
- if (chain.seenBlockProposers.isKnown(blockSlot, proposerIndex)) {
69
- throw new BlockGossipError(GossipAction.IGNORE, {code: BlockErrorCode.REPEAT_PROPOSAL, proposerIndex});
70
- }
71
-
72
- // [REJECT] The current finalized_checkpoint is an ancestor of block -- i.e.
73
- // get_ancestor(store, block.parent_root, compute_start_slot_at_epoch(store.finalized_checkpoint.epoch)) == store.finalized_checkpoint.root
74
- const parentRoot = toRootHex(block.parentRoot);
75
- const parentBlock = chain.forkChoice.getBlockHex(parentRoot);
76
- if (parentBlock === null) {
77
- // If fork choice does *not* consider the parent to be a descendant of the finalized block,
78
- // then there are two more cases:
79
- //
80
- // 1. We have the parent stored in our database. Because fork-choice has confirmed the
81
- // parent is *not* in our post-finalization DAG, all other blocks must be either
82
- // pre-finalization or conflicting with finalization.
83
- // 2. The parent is unknown to us, we probably want to download it since it might actually
84
- // descend from the finalized root.
85
- // (Non-Lighthouse): Since we prune all blocks non-descendant from finalized checking the `db.block` database won't be useful to guard
86
- // against known bad fork blocks, so we throw PARENT_UNKNOWN for cases (1) and (2)
87
- throw new BlockGossipError(GossipAction.IGNORE, {code: BlockErrorCode.PARENT_UNKNOWN, parentRoot});
88
- }
89
-
90
- // [IGNORE] The attestation head block is too far behind the attestation slot, causing many skip slots.
91
- // This is deemed a DoS risk because we need to get the proposerShuffling. To get the shuffling we have
92
- // to do a bunch of epoch transitions, the longer the distance between the parent and block,
93
- // the more we have to do. epochTransitions are expensive ~750ms, so we must limit how many a
94
- // single bad block can trigger
95
- // Note: Ensure this check is done before calling chain.regen.getBlockSlotStat as this is the function that does various epoch transitions.
96
- // Note: This validation check is not part of the spec.
97
- if (chain.opts.maxSkipSlots != null && parentBlock.slot + chain.opts.maxSkipSlots < blockSlot) {
98
- throw new BlockGossipError(GossipAction.IGNORE, {
99
- code: BlockErrorCode.TOO_MANY_SKIPPED_SLOTS,
100
- parentSlot: parentBlock.slot,
101
- blockSlot,
102
- });
103
- }
104
-
105
- // [REJECT] The block is from a higher slot than its parent.
106
- if (parentBlock.slot >= blockSlot) {
107
- throw new BlockGossipError(GossipAction.IGNORE, {
108
- code: BlockErrorCode.NOT_LATER_THAN_PARENT,
109
- parentSlot: parentBlock.slot,
110
- slot: blockSlot,
111
- });
112
- }
113
-
114
- // [REJECT] The length of KZG commitments is less than or equal to the limitation defined in Consensus Layer -- i.e. validate that len(body.signed_beacon_block.message.blob_kzg_commitments) <= MAX_BLOBS_PER_BLOCK
115
- if (isForkPostDeneb(fork)) {
116
- const blobKzgCommitmentsLen = (block as deneb.BeaconBlock).body.blobKzgCommitments.length;
117
- const maxBlobsPerBlock = config.getMaxBlobsPerBlock(computeEpochAtSlot(blockSlot));
118
- if (blobKzgCommitmentsLen > maxBlobsPerBlock) {
119
- throw new BlockGossipError(GossipAction.REJECT, {
120
- code: BlockErrorCode.TOO_MANY_KZG_COMMITMENTS,
121
- blobKzgCommitmentsLen,
122
- commitmentLimit: maxBlobsPerBlock,
123
- });
124
- }
125
- }
126
-
127
- // use getPreState to reload state if needed. It also checks for whether the current finalized checkpoint is an ancestor of the block.
128
- // As a result, we throw an IGNORE (whereas the spec says we should REJECT for this scenario).
129
- // this is something we should change this in the future to make the code airtight to the spec.
130
- // [IGNORE] The block's parent (defined by block.parent_root) has been seen (via both gossip and non-gossip sources) (a client MAY queue blocks for processing once the parent block is retrieved).
131
- // [REJECT] The block's parent (defined by block.parent_root) passes validation.
132
- const blockState = await chain.regen
133
- .getPreState(block, {dontTransferCache: true}, RegenCaller.validateGossipBlock)
134
- .catch(() => {
135
- throw new BlockGossipError(GossipAction.IGNORE, {code: BlockErrorCode.PARENT_UNKNOWN, parentRoot});
136
- });
137
-
138
- // Extra conditions for merge fork blocks
139
- // [REJECT] The block's execution payload timestamp is correct with respect to the slot
140
- // -- i.e. execution_payload.timestamp == compute_timestamp_at_slot(state, block.slot).
141
- if (fork === ForkName.bellatrix) {
142
- if (!isExecutionBlockBodyType(block.body)) throw Error("Not merge block type");
143
- const executionPayload = block.body.executionPayload;
144
- if (isExecutionStateType(blockState) && isExecutionEnabled(blockState, block)) {
145
- const expectedTimestamp = computeTimeAtSlot(config, blockSlot, chain.genesisTime);
146
- if (executionPayload.timestamp !== computeTimeAtSlot(config, blockSlot, chain.genesisTime)) {
147
- throw new BlockGossipError(GossipAction.REJECT, {
148
- code: BlockErrorCode.INCORRECT_TIMESTAMP,
149
- timestamp: executionPayload.timestamp,
150
- expectedTimestamp,
151
- });
152
- }
153
- }
154
- }
155
-
156
- // [REJECT] The proposer signature, signed_beacon_block.signature, is valid with respect to the proposer_index pubkey.
157
- const signatureSet = getBlockProposerSignatureSet(blockState, signedBlock);
158
- // Don't batch so verification is not delayed
159
- if (!(await chain.bls.verifySignatureSets([signatureSet], {verifyOnMainThread: true}))) {
160
- throw new BlockGossipError(GossipAction.REJECT, {
161
- code: BlockErrorCode.PROPOSAL_SIGNATURE_INVALID,
162
- });
163
- }
164
-
165
- // [REJECT] The block is proposed by the expected proposer_index for the block's slot in the context of the current
166
- // shuffling (defined by parent_root/slot). If the proposer_index cannot immediately be verified against the expected
167
- // shuffling, the block MAY be queued for later processing while proposers for the block's branch are calculated --
168
- // in such a case do not REJECT, instead IGNORE this message.
169
- if (blockState.epochCtx.getBeaconProposer(blockSlot) !== proposerIndex) {
170
- throw new BlockGossipError(GossipAction.REJECT, {code: BlockErrorCode.INCORRECT_PROPOSER, proposerIndex});
171
- }
172
-
173
- // Check again in case there two blocks are processed concurrently
174
- if (chain.seenBlockProposers.isKnown(blockSlot, proposerIndex)) {
175
- throw new BlockGossipError(GossipAction.IGNORE, {code: BlockErrorCode.REPEAT_PROPOSAL, proposerIndex});
176
- }
177
-
178
- // Simple implementation of a pending block queue. Keeping the block here recycles the queue logic, and keeps the
179
- // gossip validation promise without any extra infrastructure.
180
- // Do the sleep at the end, since regen and signature validation can already take longer than `msToBlockSlot`.
181
- const msToBlockSlot = computeTimeAtSlot(config, blockSlot, chain.genesisTime) * 1000 - Date.now();
182
- if (msToBlockSlot <= MAXIMUM_GOSSIP_CLOCK_DISPARITY && msToBlockSlot > 0) {
183
- // If block is between 0 and 500 ms early, hold it in a promise. Equivalent to a pending queue.
184
- await sleep(msToBlockSlot);
185
- }
186
-
187
- chain.seenBlockProposers.add(blockSlot, proposerIndex);
188
- }
@@ -1,61 +0,0 @@
1
- import {
2
- CachedBeaconStateCapella,
3
- getBlsToExecutionChangeSignatureSet,
4
- isValidBlsToExecutionChange,
5
- } from "@lodestar/state-transition";
6
- import {capella} from "@lodestar/types";
7
- import {BlsToExecutionChangeError, BlsToExecutionChangeErrorCode, GossipAction} from "../errors/index.js";
8
- import {IBeaconChain} from "../index.js";
9
-
10
- export async function validateApiBlsToExecutionChange(
11
- chain: IBeaconChain,
12
- blsToExecutionChange: capella.SignedBLSToExecutionChange
13
- ): Promise<void> {
14
- const ignoreExists = true;
15
- const prioritizeBls = true;
16
- return validateBlsToExecutionChange(chain, blsToExecutionChange, {ignoreExists, prioritizeBls});
17
- }
18
-
19
- export async function validateGossipBlsToExecutionChange(
20
- chain: IBeaconChain,
21
- blsToExecutionChange: capella.SignedBLSToExecutionChange
22
- ): Promise<void> {
23
- return validateBlsToExecutionChange(chain, blsToExecutionChange);
24
- }
25
-
26
- async function validateBlsToExecutionChange(
27
- chain: IBeaconChain,
28
- blsToExecutionChange: capella.SignedBLSToExecutionChange,
29
- opts: {ignoreExists?: boolean; prioritizeBls?: boolean} = {ignoreExists: false, prioritizeBls: false}
30
- ): Promise<void> {
31
- const {ignoreExists, prioritizeBls} = opts;
32
- // [IGNORE] The blsToExecutionChange is the first valid blsToExecutionChange received for the validator with index
33
- // signedBLSToExecutionChange.message.validatorIndex.
34
- if (!ignoreExists && chain.opPool.hasSeenBlsToExecutionChange(blsToExecutionChange.message.validatorIndex)) {
35
- throw new BlsToExecutionChangeError(GossipAction.IGNORE, {
36
- code: BlsToExecutionChangeErrorCode.ALREADY_EXISTS,
37
- });
38
- }
39
-
40
- // validate bls to executionChange
41
- // NOTE: No need to advance head state since the signature's fork is handled with `broadcastedOnFork`,
42
- // and chanes relevant to `isValidBlsToExecutionChange()` happen only on processBlock(), not processEpoch()
43
- const state = chain.getHeadState();
44
- const {config} = state;
45
-
46
- // [REJECT] All of the conditions within process_bls_to_execution_change pass validation.
47
- // verifySignature = false, verified in batch below
48
- const {valid} = isValidBlsToExecutionChange(state as CachedBeaconStateCapella, blsToExecutionChange, false);
49
- if (!valid) {
50
- throw new BlsToExecutionChangeError(GossipAction.REJECT, {
51
- code: BlsToExecutionChangeErrorCode.INVALID,
52
- });
53
- }
54
-
55
- const signatureSet = getBlsToExecutionChangeSignatureSet(config, blsToExecutionChange);
56
- if (!(await chain.bls.verifySignatureSets([signatureSet], {batchable: true, priority: prioritizeBls}))) {
57
- throw new BlsToExecutionChangeError(GossipAction.REJECT, {
58
- code: BlsToExecutionChangeErrorCode.INVALID_SIGNATURE,
59
- });
60
- }
61
- }