@lodestar/beacon-node 1.35.0-dev.ba92bd8a88 → 1.35.0-dev.c0078a16b5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (902) hide show
  1. package/lib/api/impl/config/constants.d.ts +0 -5
  2. package/lib/api/impl/config/constants.js +1 -6
  3. package/lib/api/impl/config/constants.js.map +1 -1
  4. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
  5. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  6. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  7. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  8. package/lib/chain/bls/multithread/index.js +0 -1
  9. package/lib/chain/bls/multithread/index.js.map +1 -1
  10. package/lib/chain/emitter.d.ts +2 -2
  11. package/lib/db/buckets.d.ts +4 -4
  12. package/lib/db/buckets.js +4 -4
  13. package/lib/db/buckets.js.map +1 -1
  14. package/lib/db/repositories/blobSidecars.js +1 -1
  15. package/lib/db/repositories/blobSidecars.js.map +1 -1
  16. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  17. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  18. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  19. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  20. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  21. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  22. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  23. package/lib/network/core/networkCoreWorkerHandler.js +3 -9
  24. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  25. package/lib/network/discv5/index.js +1 -4
  26. package/lib/network/discv5/index.js.map +1 -1
  27. package/lib/network/gossip/gossipsub.d.ts +0 -1
  28. package/lib/network/gossip/gossipsub.js +16 -35
  29. package/lib/network/gossip/gossipsub.js.map +1 -1
  30. package/lib/network/gossip/metrics.d.ts +7 -15
  31. package/lib/network/gossip/metrics.js +6 -16
  32. package/lib/network/gossip/metrics.js.map +1 -1
  33. package/lib/network/libp2p/index.js +1 -9
  34. package/lib/network/libp2p/index.js.map +1 -1
  35. package/lib/network/metadata.js +1 -2
  36. package/lib/network/metadata.js.map +1 -1
  37. package/lib/network/network.js +4 -2
  38. package/lib/network/network.js.map +1 -1
  39. package/lib/network/peers/datastore.d.ts +2 -2
  40. package/lib/network/peers/datastore.js +2 -2
  41. package/lib/network/peers/datastore.js.map +1 -1
  42. package/lib/network/processor/index.d.ts +1 -1
  43. package/lib/network/processor/index.js +3 -2
  44. package/lib/network/processor/index.js.map +1 -1
  45. package/lib/sync/types.d.ts +1 -0
  46. package/lib/sync/types.js.map +1 -1
  47. package/lib/sync/unknownBlock.js +14 -12
  48. package/lib/sync/unknownBlock.js.map +1 -1
  49. package/lib/sync/utils/downloadByRoot.d.ts +1 -3
  50. package/lib/sync/utils/downloadByRoot.js +5 -32
  51. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  52. package/lib/util/blobs.js +3 -5
  53. package/lib/util/blobs.js.map +1 -1
  54. package/lib/util/execution.js +2 -19
  55. package/lib/util/execution.js.map +1 -1
  56. package/package.json +22 -32
  57. package/lib/api/impl/api.d.ts.map +0 -1
  58. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  59. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  60. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  61. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  62. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  63. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  64. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  65. package/lib/api/impl/config/constants.d.ts.map +0 -1
  66. package/lib/api/impl/config/index.d.ts.map +0 -1
  67. package/lib/api/impl/debug/index.d.ts.map +0 -1
  68. package/lib/api/impl/errors.d.ts.map +0 -1
  69. package/lib/api/impl/events/index.d.ts.map +0 -1
  70. package/lib/api/impl/index.d.ts.map +0 -1
  71. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  72. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  73. package/lib/api/impl/node/index.d.ts.map +0 -1
  74. package/lib/api/impl/node/utils.d.ts.map +0 -1
  75. package/lib/api/impl/proof/index.d.ts.map +0 -1
  76. package/lib/api/impl/types.d.ts.map +0 -1
  77. package/lib/api/impl/utils.d.ts.map +0 -1
  78. package/lib/api/impl/validator/index.d.ts.map +0 -1
  79. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  80. package/lib/api/index.d.ts.map +0 -1
  81. package/lib/api/options.d.ts.map +0 -1
  82. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  83. package/lib/api/rest/base.d.ts.map +0 -1
  84. package/lib/api/rest/index.d.ts.map +0 -1
  85. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  86. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  87. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  88. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  89. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  90. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  91. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  92. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  93. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  94. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  95. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  96. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  97. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  98. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  99. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  100. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  101. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  102. package/lib/chain/balancesCache.d.ts.map +0 -1
  103. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  104. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  105. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  106. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  107. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  108. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  109. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  110. package/lib/chain/blocks/index.d.ts.map +0 -1
  111. package/lib/chain/blocks/types.d.ts.map +0 -1
  112. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  113. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  114. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  115. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  116. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  117. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  118. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  119. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  120. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  121. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  122. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  123. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  124. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  125. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  126. package/lib/chain/bls/index.d.ts.map +0 -1
  127. package/lib/chain/bls/interface.d.ts.map +0 -1
  128. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  129. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  130. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  131. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  132. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  133. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  134. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  135. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  136. package/lib/chain/bls/utils.d.ts.map +0 -1
  137. package/lib/chain/chain.d.ts.map +0 -1
  138. package/lib/chain/emitter.d.ts.map +0 -1
  139. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  140. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  141. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  142. package/lib/chain/errors/blockError.d.ts.map +0 -1
  143. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  144. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  145. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  146. package/lib/chain/errors/index.d.ts.map +0 -1
  147. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  148. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  149. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  150. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  151. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  152. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  153. package/lib/chain/genesis/interface.d.ts.map +0 -1
  154. package/lib/chain/index.d.ts.map +0 -1
  155. package/lib/chain/initState.d.ts.map +0 -1
  156. package/lib/chain/interface.d.ts.map +0 -1
  157. package/lib/chain/lightClient/index.d.ts.map +0 -1
  158. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  159. package/lib/chain/lightClient/types.d.ts.map +0 -1
  160. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  161. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  162. package/lib/chain/opPools/index.d.ts.map +0 -1
  163. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  164. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  165. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  166. package/lib/chain/opPools/types.d.ts.map +0 -1
  167. package/lib/chain/opPools/utils.d.ts.map +0 -1
  168. package/lib/chain/options.d.ts.map +0 -1
  169. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  170. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  171. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  172. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  173. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  174. package/lib/chain/regen/errors.d.ts.map +0 -1
  175. package/lib/chain/regen/index.d.ts.map +0 -1
  176. package/lib/chain/regen/interface.d.ts.map +0 -1
  177. package/lib/chain/regen/queued.d.ts.map +0 -1
  178. package/lib/chain/regen/regen.d.ts.map +0 -1
  179. package/lib/chain/reprocess.d.ts.map +0 -1
  180. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  181. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  182. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  183. package/lib/chain/seenCache/index.d.ts.map +0 -1
  184. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  185. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  186. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  187. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  188. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  189. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  190. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  191. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  192. package/lib/chain/serializeState.d.ts.map +0 -1
  193. package/lib/chain/shufflingCache.d.ts.map +0 -1
  194. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  195. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  196. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  197. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  198. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  199. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  200. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  201. package/lib/chain/stateCache/index.d.ts.map +0 -1
  202. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  203. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  204. package/lib/chain/stateCache/types.d.ts.map +0 -1
  205. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  206. package/lib/chain/validation/attestation.d.ts.map +0 -1
  207. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  208. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  209. package/lib/chain/validation/block.d.ts.map +0 -1
  210. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  211. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  212. package/lib/chain/validation/index.d.ts.map +0 -1
  213. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  214. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  215. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  216. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  217. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  218. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  219. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  220. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  221. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  222. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  223. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  224. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  225. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  226. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  227. package/lib/constants/constants.d.ts.map +0 -1
  228. package/lib/constants/index.d.ts.map +0 -1
  229. package/lib/constants/network.d.ts.map +0 -1
  230. package/lib/db/beacon.d.ts.map +0 -1
  231. package/lib/db/buckets.d.ts.map +0 -1
  232. package/lib/db/index.d.ts.map +0 -1
  233. package/lib/db/interface.d.ts.map +0 -1
  234. package/lib/db/options.d.ts.map +0 -1
  235. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  236. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  237. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  238. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  239. package/lib/db/repositories/block.d.ts.map +0 -1
  240. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  241. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  242. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  243. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  244. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  245. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  246. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  247. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  248. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  249. package/lib/db/repositories/index.d.ts.map +0 -1
  250. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  251. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  252. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  253. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  254. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  255. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  256. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  257. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  258. package/lib/db/single/index.d.ts.map +0 -1
  259. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  260. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  261. package/lib/eth1/errors.d.ts.map +0 -1
  262. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  263. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  264. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  265. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  266. package/lib/eth1/index.d.ts.map +0 -1
  267. package/lib/eth1/interface.d.ts.map +0 -1
  268. package/lib/eth1/options.d.ts.map +0 -1
  269. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  270. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  271. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  272. package/lib/eth1/provider/utils.d.ts.map +0 -1
  273. package/lib/eth1/stream.d.ts.map +0 -1
  274. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  275. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  276. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  277. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  278. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  279. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  280. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  281. package/lib/execution/builder/cache.d.ts.map +0 -1
  282. package/lib/execution/builder/http.d.ts.map +0 -1
  283. package/lib/execution/builder/index.d.ts.map +0 -1
  284. package/lib/execution/builder/interface.d.ts.map +0 -1
  285. package/lib/execution/builder/utils.d.ts.map +0 -1
  286. package/lib/execution/engine/disabled.d.ts.map +0 -1
  287. package/lib/execution/engine/http.d.ts.map +0 -1
  288. package/lib/execution/engine/index.d.ts.map +0 -1
  289. package/lib/execution/engine/interface.d.ts.map +0 -1
  290. package/lib/execution/engine/mock.d.ts.map +0 -1
  291. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  292. package/lib/execution/engine/types.d.ts.map +0 -1
  293. package/lib/execution/engine/utils.d.ts.map +0 -1
  294. package/lib/execution/index.d.ts.map +0 -1
  295. package/lib/index.d.ts.map +0 -1
  296. package/lib/metrics/index.d.ts.map +0 -1
  297. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  298. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  299. package/lib/metrics/metrics.d.ts.map +0 -1
  300. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  301. package/lib/metrics/options.d.ts.map +0 -1
  302. package/lib/metrics/server/http.d.ts.map +0 -1
  303. package/lib/metrics/server/index.d.ts.map +0 -1
  304. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  305. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  306. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  307. package/lib/monitoring/clientStats.d.ts.map +0 -1
  308. package/lib/monitoring/index.d.ts.map +0 -1
  309. package/lib/monitoring/options.d.ts.map +0 -1
  310. package/lib/monitoring/properties.d.ts.map +0 -1
  311. package/lib/monitoring/service.d.ts.map +0 -1
  312. package/lib/monitoring/system.d.ts.map +0 -1
  313. package/lib/monitoring/types.d.ts.map +0 -1
  314. package/lib/network/core/events.d.ts.map +0 -1
  315. package/lib/network/core/index.d.ts.map +0 -1
  316. package/lib/network/core/metrics.d.ts.map +0 -1
  317. package/lib/network/core/networkCore.d.ts.map +0 -1
  318. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  319. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  320. package/lib/network/core/types.d.ts.map +0 -1
  321. package/lib/network/discv5/index.d.ts.map +0 -1
  322. package/lib/network/discv5/types.d.ts.map +0 -1
  323. package/lib/network/discv5/utils.d.ts.map +0 -1
  324. package/lib/network/discv5/worker.d.ts.map +0 -1
  325. package/lib/network/events.d.ts.map +0 -1
  326. package/lib/network/forks.d.ts.map +0 -1
  327. package/lib/network/gossip/constants.d.ts.map +0 -1
  328. package/lib/network/gossip/encoding.d.ts.map +0 -1
  329. package/lib/network/gossip/errors.d.ts.map +0 -1
  330. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  331. package/lib/network/gossip/index.d.ts.map +0 -1
  332. package/lib/network/gossip/interface.d.ts.map +0 -1
  333. package/lib/network/gossip/metrics.d.ts.map +0 -1
  334. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  335. package/lib/network/gossip/topic.d.ts.map +0 -1
  336. package/lib/network/index.d.ts.map +0 -1
  337. package/lib/network/interface.d.ts.map +0 -1
  338. package/lib/network/libp2p/error.d.ts.map +0 -1
  339. package/lib/network/libp2p/index.d.ts.map +0 -1
  340. package/lib/network/metadata.d.ts.map +0 -1
  341. package/lib/network/network.d.ts.map +0 -1
  342. package/lib/network/networkConfig.d.ts.map +0 -1
  343. package/lib/network/options.d.ts.map +0 -1
  344. package/lib/network/peers/client.d.ts.map +0 -1
  345. package/lib/network/peers/datastore.d.ts.map +0 -1
  346. package/lib/network/peers/discover.d.ts.map +0 -1
  347. package/lib/network/peers/index.d.ts.map +0 -1
  348. package/lib/network/peers/peerManager.d.ts.map +0 -1
  349. package/lib/network/peers/peersData.d.ts.map +0 -1
  350. package/lib/network/peers/score/constants.d.ts.map +0 -1
  351. package/lib/network/peers/score/index.d.ts.map +0 -1
  352. package/lib/network/peers/score/interface.d.ts.map +0 -1
  353. package/lib/network/peers/score/score.d.ts.map +0 -1
  354. package/lib/network/peers/score/store.d.ts.map +0 -1
  355. package/lib/network/peers/score/utils.d.ts.map +0 -1
  356. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  357. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  358. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  359. package/lib/network/peers/utils/index.d.ts.map +0 -1
  360. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  361. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  362. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  363. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  364. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  365. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  366. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  367. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  368. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  369. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  370. package/lib/network/processor/index.d.ts.map +0 -1
  371. package/lib/network/processor/types.d.ts.map +0 -1
  372. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  373. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  374. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  375. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  376. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  377. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  378. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  379. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  380. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  381. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  382. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  383. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  384. package/lib/network/reqresp/index.d.ts.map +0 -1
  385. package/lib/network/reqresp/interface.d.ts.map +0 -1
  386. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  387. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  388. package/lib/network/reqresp/score.d.ts.map +0 -1
  389. package/lib/network/reqresp/types.d.ts.map +0 -1
  390. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  391. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  392. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  393. package/lib/network/statusCache.d.ts.map +0 -1
  394. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  395. package/lib/network/subnets/index.d.ts.map +0 -1
  396. package/lib/network/subnets/interface.d.ts.map +0 -1
  397. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  398. package/lib/network/subnets/util.d.ts.map +0 -1
  399. package/lib/network/util.d.ts.map +0 -1
  400. package/lib/node/index.d.ts.map +0 -1
  401. package/lib/node/nodejs.d.ts.map +0 -1
  402. package/lib/node/notifier.d.ts.map +0 -1
  403. package/lib/node/options.d.ts.map +0 -1
  404. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  405. package/lib/node/utils/interop/state.d.ts.map +0 -1
  406. package/lib/node/utils/lightclient.d.ts.map +0 -1
  407. package/lib/node/utils/state.d.ts.map +0 -1
  408. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  409. package/lib/sync/backfill/errors.d.ts.map +0 -1
  410. package/lib/sync/backfill/index.d.ts.map +0 -1
  411. package/lib/sync/backfill/verify.d.ts.map +0 -1
  412. package/lib/sync/constants.d.ts.map +0 -1
  413. package/lib/sync/index.d.ts.map +0 -1
  414. package/lib/sync/interface.d.ts.map +0 -1
  415. package/lib/sync/options.d.ts.map +0 -1
  416. package/lib/sync/range/batch.d.ts.map +0 -1
  417. package/lib/sync/range/chain.d.ts.map +0 -1
  418. package/lib/sync/range/range.d.ts.map +0 -1
  419. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  420. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  421. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  422. package/lib/sync/range/utils/index.d.ts.map +0 -1
  423. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  424. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  425. package/lib/sync/sync.d.ts.map +0 -1
  426. package/lib/sync/types.d.ts.map +0 -1
  427. package/lib/sync/unknownBlock.d.ts.map +0 -1
  428. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  429. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  430. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  431. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  432. package/lib/util/address.d.ts.map +0 -1
  433. package/lib/util/array.d.ts.map +0 -1
  434. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  435. package/lib/util/binarySearch.d.ts.map +0 -1
  436. package/lib/util/bitArray.d.ts.map +0 -1
  437. package/lib/util/blobs.d.ts.map +0 -1
  438. package/lib/util/bufferPool.d.ts.map +0 -1
  439. package/lib/util/bytes.d.ts.map +0 -1
  440. package/lib/util/chunkify.d.ts.map +0 -1
  441. package/lib/util/clock.d.ts.map +0 -1
  442. package/lib/util/dataColumns.d.ts.map +0 -1
  443. package/lib/util/dependentRoot.d.ts.map +0 -1
  444. package/lib/util/enum.d.ts.map +0 -1
  445. package/lib/util/error.d.ts.map +0 -1
  446. package/lib/util/eventLoop.d.ts.map +0 -1
  447. package/lib/util/execution.d.ts.map +0 -1
  448. package/lib/util/file.d.ts.map +0 -1
  449. package/lib/util/forkChoice.d.ts.map +0 -1
  450. package/lib/util/forkName.d.ts.map +0 -1
  451. package/lib/util/graffiti.d.ts.map +0 -1
  452. package/lib/util/hex.d.ts.map +0 -1
  453. package/lib/util/index.d.ts.map +0 -1
  454. package/lib/util/ip.d.ts.map +0 -1
  455. package/lib/util/itTrigger.d.ts.map +0 -1
  456. package/lib/util/kzg.d.ts.map +0 -1
  457. package/lib/util/map.d.ts.map +0 -1
  458. package/lib/util/metadata.d.ts.map +0 -1
  459. package/lib/util/multifork.d.ts.map +0 -1
  460. package/lib/util/numpy.d.ts.map +0 -1
  461. package/lib/util/peerId.d.ts.map +0 -1
  462. package/lib/util/profile.d.ts.map +0 -1
  463. package/lib/util/promises.d.ts.map +0 -1
  464. package/lib/util/queue/errors.d.ts.map +0 -1
  465. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  466. package/lib/util/queue/index.d.ts.map +0 -1
  467. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  468. package/lib/util/queue/options.d.ts.map +0 -1
  469. package/lib/util/serializedCache.d.ts.map +0 -1
  470. package/lib/util/set.d.ts.map +0 -1
  471. package/lib/util/shuffle.d.ts.map +0 -1
  472. package/lib/util/sortBy.d.ts.map +0 -1
  473. package/lib/util/sszBytes.d.ts.map +0 -1
  474. package/lib/util/strictEvents.d.ts.map +0 -1
  475. package/lib/util/time.d.ts.map +0 -1
  476. package/lib/util/timeSeries.d.ts.map +0 -1
  477. package/lib/util/types.d.ts.map +0 -1
  478. package/lib/util/workerEvents.d.ts.map +0 -1
  479. package/lib/util/wrapError.d.ts.map +0 -1
  480. package/src/api/impl/api.ts +0 -26
  481. package/src/api/impl/beacon/blocks/index.ts +0 -744
  482. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  483. package/src/api/impl/beacon/index.ts +0 -35
  484. package/src/api/impl/beacon/pool/index.ts +0 -314
  485. package/src/api/impl/beacon/rewards/index.ts +0 -30
  486. package/src/api/impl/beacon/state/index.ts +0 -406
  487. package/src/api/impl/beacon/state/utils.ts +0 -189
  488. package/src/api/impl/config/constants.ts +0 -127
  489. package/src/api/impl/config/index.ts +0 -59
  490. package/src/api/impl/debug/index.ts +0 -131
  491. package/src/api/impl/errors.ts +0 -50
  492. package/src/api/impl/events/index.ts +0 -33
  493. package/src/api/impl/index.ts +0 -6
  494. package/src/api/impl/lightclient/index.ts +0 -64
  495. package/src/api/impl/lodestar/index.ts +0 -257
  496. package/src/api/impl/node/index.ts +0 -88
  497. package/src/api/impl/node/utils.ts +0 -51
  498. package/src/api/impl/proof/index.ts +0 -60
  499. package/src/api/impl/types.ts +0 -17
  500. package/src/api/impl/utils.ts +0 -25
  501. package/src/api/impl/validator/index.ts +0 -1538
  502. package/src/api/impl/validator/utils.ts +0 -85
  503. package/src/api/index.ts +0 -2
  504. package/src/api/options.ts +0 -16
  505. package/src/api/rest/activeSockets.ts +0 -109
  506. package/src/api/rest/base.ts +0 -216
  507. package/src/api/rest/index.ts +0 -63
  508. package/src/api/rest/swaggerUI.ts +0 -80
  509. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  510. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  511. package/src/chain/GetBlobsTracker.ts +0 -115
  512. package/src/chain/archiveStore/archiveStore.ts +0 -222
  513. package/src/chain/archiveStore/constants.ts +0 -5
  514. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  515. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  516. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  517. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  518. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  519. package/src/chain/archiveStore/index.ts +0 -3
  520. package/src/chain/archiveStore/interface.ts +0 -75
  521. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  522. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  523. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  524. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  525. package/src/chain/balancesCache.ts +0 -52
  526. package/src/chain/beaconProposerCache.ts +0 -43
  527. package/src/chain/blocks/blockInput/blockInput.ts +0 -851
  528. package/src/chain/blocks/blockInput/errors.ts +0 -48
  529. package/src/chain/blocks/blockInput/index.ts +0 -4
  530. package/src/chain/blocks/blockInput/types.ts +0 -145
  531. package/src/chain/blocks/blockInput/utils.ts +0 -21
  532. package/src/chain/blocks/importBlock.ts +0 -603
  533. package/src/chain/blocks/index.ts +0 -179
  534. package/src/chain/blocks/types.ts +0 -101
  535. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  536. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  537. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  538. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  539. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  540. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  541. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  542. package/src/chain/blocks/verifyBlock.ts +0 -242
  543. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -34
  544. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  545. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  546. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  547. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  548. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  549. package/src/chain/bls/index.ts +0 -4
  550. package/src/chain/bls/interface.ts +0 -68
  551. package/src/chain/bls/maybeBatch.ts +0 -45
  552. package/src/chain/bls/multithread/index.ts +0 -582
  553. package/src/chain/bls/multithread/jobItem.ts +0 -119
  554. package/src/chain/bls/multithread/poolSize.ts +0 -16
  555. package/src/chain/bls/multithread/types.ts +0 -38
  556. package/src/chain/bls/multithread/utils.ts +0 -19
  557. package/src/chain/bls/multithread/worker.ts +0 -114
  558. package/src/chain/bls/singleThread.ts +0 -87
  559. package/src/chain/bls/utils.ts +0 -30
  560. package/src/chain/chain.ts +0 -1365
  561. package/src/chain/emitter.ts +0 -113
  562. package/src/chain/errors/attestationError.ts +0 -194
  563. package/src/chain/errors/attesterSlashingError.ts +0 -11
  564. package/src/chain/errors/blobSidecarError.ts +0 -60
  565. package/src/chain/errors/blockError.ts +0 -166
  566. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  567. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  568. package/src/chain/errors/gossipValidation.ts +0 -20
  569. package/src/chain/errors/index.ts +0 -10
  570. package/src/chain/errors/lightClientError.ts +0 -30
  571. package/src/chain/errors/proposerSlashingError.ts +0 -11
  572. package/src/chain/errors/syncCommitteeError.ts +0 -36
  573. package/src/chain/errors/voluntaryExitError.ts +0 -13
  574. package/src/chain/forkChoice/index.ts +0 -112
  575. package/src/chain/genesis/genesis.ts +0 -190
  576. package/src/chain/genesis/interface.ts +0 -14
  577. package/src/chain/index.ts +0 -6
  578. package/src/chain/initState.ts +0 -221
  579. package/src/chain/interface.ts +0 -280
  580. package/src/chain/lightClient/index.ts +0 -764
  581. package/src/chain/lightClient/proofs.ts +0 -85
  582. package/src/chain/lightClient/types.ts +0 -33
  583. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  584. package/src/chain/opPools/attestationPool.ts +0 -283
  585. package/src/chain/opPools/index.ts +0 -5
  586. package/src/chain/opPools/opPool.ts +0 -462
  587. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -167
  588. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  589. package/src/chain/opPools/types.ts +0 -35
  590. package/src/chain/opPools/utils.ts +0 -65
  591. package/src/chain/options.ts +0 -138
  592. package/src/chain/prepareNextSlot.ts +0 -277
  593. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  594. package/src/chain/produceBlock/index.ts +0 -2
  595. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  596. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  597. package/src/chain/regen/errors.ts +0 -30
  598. package/src/chain/regen/index.ts +0 -4
  599. package/src/chain/regen/interface.ts +0 -93
  600. package/src/chain/regen/queued.ts +0 -317
  601. package/src/chain/regen/regen.ts +0 -424
  602. package/src/chain/reprocess.ts +0 -161
  603. package/src/chain/rewards/attestationsRewards.ts +0 -196
  604. package/src/chain/rewards/blockRewards.ts +0 -150
  605. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  606. package/src/chain/seenCache/index.ts +0 -5
  607. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  608. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  609. package/src/chain/seenCache/seenAttesters.ts +0 -58
  610. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  611. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  612. package/src/chain/seenCache/seenCommittee.ts +0 -43
  613. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  614. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  615. package/src/chain/serializeState.ts +0 -32
  616. package/src/chain/shufflingCache.ts +0 -238
  617. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  618. package/src/chain/stateCache/datastore/db.ts +0 -36
  619. package/src/chain/stateCache/datastore/file.ts +0 -53
  620. package/src/chain/stateCache/datastore/index.ts +0 -2
  621. package/src/chain/stateCache/datastore/types.ts +0 -13
  622. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  623. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  624. package/src/chain/stateCache/index.ts +0 -3
  625. package/src/chain/stateCache/mapMetrics.ts +0 -52
  626. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -835
  627. package/src/chain/stateCache/types.ts +0 -86
  628. package/src/chain/validation/aggregateAndProof.ts +0 -258
  629. package/src/chain/validation/attestation.ts +0 -885
  630. package/src/chain/validation/attesterSlashing.ts +0 -61
  631. package/src/chain/validation/blobSidecar.ts +0 -301
  632. package/src/chain/validation/block.ts +0 -188
  633. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  634. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  635. package/src/chain/validation/index.ts +0 -9
  636. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -45
  637. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -67
  638. package/src/chain/validation/proposerSlashing.ts +0 -54
  639. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  640. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  641. package/src/chain/validation/signatureSets/index.ts +0 -6
  642. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  643. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  644. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  645. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  646. package/src/chain/validation/syncCommittee.ts +0 -165
  647. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  648. package/src/chain/validation/voluntaryExit.ts +0 -58
  649. package/src/chain/validatorMonitor.ts +0 -1299
  650. package/src/constants/constants.ts +0 -15
  651. package/src/constants/index.ts +0 -2
  652. package/src/constants/network.ts +0 -52
  653. package/src/db/beacon.ts +0 -113
  654. package/src/db/buckets.ts +0 -80
  655. package/src/db/index.ts +0 -2
  656. package/src/db/interface.ts +0 -76
  657. package/src/db/options.ts +0 -7
  658. package/src/db/repositories/attesterSlashing.ts +0 -38
  659. package/src/db/repositories/backfilledRanges.ts +0 -29
  660. package/src/db/repositories/blobSidecars.ts +0 -37
  661. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  662. package/src/db/repositories/block.ts +0 -33
  663. package/src/db/repositories/blockArchive.ts +0 -170
  664. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  665. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  666. package/src/db/repositories/checkpointState.ts +0 -31
  667. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  668. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  669. package/src/db/repositories/depositDataRoot.ts +0 -80
  670. package/src/db/repositories/depositEvent.ts +0 -32
  671. package/src/db/repositories/eth1Data.ts +0 -33
  672. package/src/db/repositories/index.ts +0 -20
  673. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  674. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  675. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  676. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  677. package/src/db/repositories/proposerSlashing.ts +0 -15
  678. package/src/db/repositories/stateArchive.ts +0 -69
  679. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  680. package/src/db/repositories/voluntaryExit.ts +0 -15
  681. package/src/db/single/index.ts +0 -2
  682. package/src/db/single/preGenesisState.ts +0 -37
  683. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  684. package/src/eth1/errors.ts +0 -40
  685. package/src/eth1/eth1DataCache.ts +0 -26
  686. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  687. package/src/eth1/eth1DepositsCache.ts +0 -141
  688. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  689. package/src/eth1/index.ts +0 -157
  690. package/src/eth1/interface.ts +0 -131
  691. package/src/eth1/options.ts +0 -28
  692. package/src/eth1/provider/eth1Provider.ts +0 -229
  693. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  694. package/src/eth1/provider/jwt.ts +0 -36
  695. package/src/eth1/provider/utils.ts +0 -136
  696. package/src/eth1/stream.ts +0 -75
  697. package/src/eth1/utils/depositContract.ts +0 -37
  698. package/src/eth1/utils/deposits.ts +0 -70
  699. package/src/eth1/utils/eth1Data.ts +0 -100
  700. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  701. package/src/eth1/utils/eth1Vote.ts +0 -142
  702. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  703. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  704. package/src/execution/builder/cache.ts +0 -39
  705. package/src/execution/builder/http.ts +0 -229
  706. package/src/execution/builder/index.ts +0 -27
  707. package/src/execution/builder/interface.ts +0 -49
  708. package/src/execution/builder/utils.ts +0 -19
  709. package/src/execution/engine/disabled.ts +0 -35
  710. package/src/execution/engine/http.ts +0 -644
  711. package/src/execution/engine/index.ts +0 -63
  712. package/src/execution/engine/interface.ts +0 -199
  713. package/src/execution/engine/mock.ts +0 -493
  714. package/src/execution/engine/payloadIdCache.ts +0 -54
  715. package/src/execution/engine/types.ts +0 -640
  716. package/src/execution/engine/utils.ts +0 -136
  717. package/src/execution/index.ts +0 -4
  718. package/src/index.ts +0 -20
  719. package/src/metrics/index.ts +0 -4
  720. package/src/metrics/metrics/beacon.ts +0 -390
  721. package/src/metrics/metrics/lodestar.ts +0 -1870
  722. package/src/metrics/metrics.ts +0 -43
  723. package/src/metrics/nodeJsMetrics.ts +0 -19
  724. package/src/metrics/options.ts +0 -22
  725. package/src/metrics/server/http.ts +0 -114
  726. package/src/metrics/server/index.ts +0 -1
  727. package/src/metrics/utils/avgMinMax.ts +0 -87
  728. package/src/metrics/utils/gauge.ts +0 -22
  729. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  730. package/src/monitoring/clientStats.ts +0 -297
  731. package/src/monitoring/index.ts +0 -2
  732. package/src/monitoring/options.ts +0 -19
  733. package/src/monitoring/properties.ts +0 -152
  734. package/src/monitoring/service.ts +0 -235
  735. package/src/monitoring/system.ts +0 -146
  736. package/src/monitoring/types.ts +0 -21
  737. package/src/network/core/events.ts +0 -59
  738. package/src/network/core/index.ts +0 -3
  739. package/src/network/core/metrics.ts +0 -304
  740. package/src/network/core/networkCore.ts +0 -599
  741. package/src/network/core/networkCoreWorker.ts +0 -176
  742. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  743. package/src/network/core/types.ts +0 -119
  744. package/src/network/discv5/index.ts +0 -132
  745. package/src/network/discv5/types.ts +0 -74
  746. package/src/network/discv5/utils.ts +0 -50
  747. package/src/network/discv5/worker.ts +0 -137
  748. package/src/network/events.ts +0 -51
  749. package/src/network/forks.ts +0 -94
  750. package/src/network/gossip/constants.ts +0 -15
  751. package/src/network/gossip/encoding.ts +0 -111
  752. package/src/network/gossip/errors.ts +0 -7
  753. package/src/network/gossip/gossipsub.ts +0 -384
  754. package/src/network/gossip/index.ts +0 -4
  755. package/src/network/gossip/interface.ts +0 -215
  756. package/src/network/gossip/metrics.ts +0 -71
  757. package/src/network/gossip/scoringParameters.ts +0 -333
  758. package/src/network/gossip/topic.ts +0 -332
  759. package/src/network/index.ts +0 -8
  760. package/src/network/interface.ts +0 -134
  761. package/src/network/libp2p/error.ts +0 -55
  762. package/src/network/libp2p/index.ts +0 -153
  763. package/src/network/metadata.ts +0 -162
  764. package/src/network/network.ts +0 -767
  765. package/src/network/networkConfig.ts +0 -12
  766. package/src/network/options.ts +0 -70
  767. package/src/network/peers/client.ts +0 -29
  768. package/src/network/peers/datastore.ts +0 -188
  769. package/src/network/peers/discover.ts +0 -647
  770. package/src/network/peers/index.ts +0 -2
  771. package/src/network/peers/peerManager.ts +0 -899
  772. package/src/network/peers/peersData.ts +0 -65
  773. package/src/network/peers/score/constants.ts +0 -34
  774. package/src/network/peers/score/index.ts +0 -4
  775. package/src/network/peers/score/interface.ts +0 -74
  776. package/src/network/peers/score/score.ts +0 -200
  777. package/src/network/peers/score/store.ts +0 -95
  778. package/src/network/peers/score/utils.ts +0 -37
  779. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  780. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  781. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  782. package/src/network/peers/utils/index.ts +0 -4
  783. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  784. package/src/network/peers/utils/subnetMap.ts +0 -88
  785. package/src/network/processor/aggregatorTracker.ts +0 -38
  786. package/src/network/processor/extractSlotRootFns.ts +0 -64
  787. package/src/network/processor/gossipHandlers.ts +0 -951
  788. package/src/network/processor/gossipQueues/index.ts +0 -114
  789. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  790. package/src/network/processor/gossipQueues/linear.ts +0 -162
  791. package/src/network/processor/gossipQueues/types.ts +0 -57
  792. package/src/network/processor/gossipValidatorFn.ts +0 -142
  793. package/src/network/processor/index.ts +0 -496
  794. package/src/network/processor/types.ts +0 -27
  795. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  796. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  797. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  798. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  799. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  800. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  801. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  802. package/src/network/reqresp/handlers/index.ts +0 -78
  803. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  804. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  805. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  806. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  807. package/src/network/reqresp/index.ts +0 -2
  808. package/src/network/reqresp/interface.ts +0 -45
  809. package/src/network/reqresp/protocols.ts +0 -146
  810. package/src/network/reqresp/rateLimit.ts +0 -112
  811. package/src/network/reqresp/score.ts +0 -70
  812. package/src/network/reqresp/types.ts +0 -174
  813. package/src/network/reqresp/utils/collect.ts +0 -84
  814. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  815. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  816. package/src/network/statusCache.ts +0 -17
  817. package/src/network/subnets/attnetsService.ts +0 -385
  818. package/src/network/subnets/index.ts +0 -2
  819. package/src/network/subnets/interface.ts +0 -66
  820. package/src/network/subnets/syncnetsService.ts +0 -147
  821. package/src/network/subnets/util.ts +0 -63
  822. package/src/network/util.ts +0 -29
  823. package/src/node/index.ts +0 -2
  824. package/src/node/nodejs.ts +0 -349
  825. package/src/node/notifier.ts +0 -206
  826. package/src/node/options.ts +0 -51
  827. package/src/node/utils/interop/deposits.ts +0 -53
  828. package/src/node/utils/interop/state.ts +0 -59
  829. package/src/node/utils/lightclient.ts +0 -7
  830. package/src/node/utils/state.ts +0 -37
  831. package/src/sync/backfill/backfill.ts +0 -893
  832. package/src/sync/backfill/errors.ts +0 -23
  833. package/src/sync/backfill/index.ts +0 -1
  834. package/src/sync/backfill/verify.ts +0 -58
  835. package/src/sync/constants.ts +0 -71
  836. package/src/sync/index.ts +0 -2
  837. package/src/sync/interface.ts +0 -55
  838. package/src/sync/options.ts +0 -45
  839. package/src/sync/range/batch.ts +0 -455
  840. package/src/sync/range/chain.ts +0 -715
  841. package/src/sync/range/range.ts +0 -354
  842. package/src/sync/range/utils/batches.ts +0 -119
  843. package/src/sync/range/utils/chainTarget.ts +0 -62
  844. package/src/sync/range/utils/hashBlocks.ts +0 -27
  845. package/src/sync/range/utils/index.ts +0 -5
  846. package/src/sync/range/utils/peerBalancer.ts +0 -184
  847. package/src/sync/range/utils/updateChains.ts +0 -66
  848. package/src/sync/sync.ts +0 -290
  849. package/src/sync/types.ts +0 -57
  850. package/src/sync/unknownBlock.ts +0 -859
  851. package/src/sync/utils/downloadByRange.ts +0 -808
  852. package/src/sync/utils/downloadByRoot.ts +0 -560
  853. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  854. package/src/sync/utils/remoteSyncType.ts +0 -144
  855. package/src/util/address.ts +0 -3
  856. package/src/util/array.ts +0 -311
  857. package/src/util/asyncIterableToEvents.ts +0 -164
  858. package/src/util/binarySearch.ts +0 -48
  859. package/src/util/bitArray.ts +0 -84
  860. package/src/util/blobs.ts +0 -210
  861. package/src/util/bufferPool.ts +0 -95
  862. package/src/util/bytes.ts +0 -11
  863. package/src/util/chunkify.ts +0 -27
  864. package/src/util/clock.ts +0 -204
  865. package/src/util/dataColumns.ts +0 -415
  866. package/src/util/dependentRoot.ts +0 -47
  867. package/src/util/enum.ts +0 -17
  868. package/src/util/error.ts +0 -56
  869. package/src/util/eventLoop.ts +0 -22
  870. package/src/util/execution.ts +0 -223
  871. package/src/util/file.ts +0 -52
  872. package/src/util/forkChoice.ts +0 -5
  873. package/src/util/forkName.ts +0 -20
  874. package/src/util/graffiti.ts +0 -39
  875. package/src/util/hex.ts +0 -9
  876. package/src/util/index.ts +0 -2
  877. package/src/util/ip.ts +0 -6
  878. package/src/util/itTrigger.ts +0 -49
  879. package/src/util/kzg.ts +0 -3
  880. package/src/util/map.ts +0 -77
  881. package/src/util/metadata.ts +0 -22
  882. package/src/util/multifork.ts +0 -69
  883. package/src/util/numpy.ts +0 -8
  884. package/src/util/peerId.ts +0 -16
  885. package/src/util/profile.ts +0 -54
  886. package/src/util/promises.ts +0 -14
  887. package/src/util/queue/errors.ts +0 -14
  888. package/src/util/queue/fnQueue.ts +0 -16
  889. package/src/util/queue/index.ts +0 -4
  890. package/src/util/queue/itemQueue.ts +0 -128
  891. package/src/util/queue/options.ts +0 -37
  892. package/src/util/serializedCache.ts +0 -20
  893. package/src/util/set.ts +0 -62
  894. package/src/util/shuffle.ts +0 -21
  895. package/src/util/sortBy.ts +0 -19
  896. package/src/util/sszBytes.ts +0 -481
  897. package/src/util/strictEvents.ts +0 -8
  898. package/src/util/time.ts +0 -13
  899. package/src/util/timeSeries.ts +0 -118
  900. package/src/util/types.ts +0 -31
  901. package/src/util/workerEvents.ts +0 -142
  902. package/src/util/wrapError.ts +0 -27
@@ -1,381 +0,0 @@
1
- import {ChainConfig} from "@lodestar/config";
2
- import {
3
- KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH,
4
- KZG_COMMITMENTS_SUBTREE_INDEX,
5
- NUMBER_OF_COLUMNS,
6
- } from "@lodestar/params";
7
- import {computeStartSlotAtEpoch, getBlockHeaderProposerSignatureSet} from "@lodestar/state-transition";
8
- import {Root, Slot, SubnetID, fulu, ssz} from "@lodestar/types";
9
- import {toRootHex, verifyMerkleBranch} from "@lodestar/utils";
10
- import {Metrics} from "../../metrics/metrics.js";
11
- import {kzg} from "../../util/kzg.js";
12
- import {
13
- DataColumnSidecarErrorCode,
14
- DataColumnSidecarGossipError,
15
- DataColumnSidecarValidationError,
16
- } from "../errors/dataColumnSidecarError.js";
17
- import {GossipAction} from "../errors/gossipValidation.js";
18
- import {IBeaconChain} from "../interface.js";
19
- import {RegenCaller} from "../regen/interface.js";
20
-
21
- // SPEC FUNCTION
22
- // https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#data_column_sidecar_subnet_id
23
- export async function validateGossipDataColumnSidecar(
24
- chain: IBeaconChain,
25
- dataColumnSidecar: fulu.DataColumnSidecar,
26
- gossipSubnet: SubnetID,
27
- metrics: Metrics | null
28
- ): Promise<void> {
29
- const blockHeader = dataColumnSidecar.signedBlockHeader.message;
30
-
31
- // 1) [REJECT] The sidecar is valid as verified by verify_data_column_sidecar
32
- verifyDataColumnSidecar(dataColumnSidecar);
33
-
34
- // 2) [REJECT] The sidecar is for the correct subnet -- i.e. compute_subnet_for_data_column_sidecar(sidecar.index) == subnet_id
35
- if (computeSubnetForDataColumnSidecar(chain.config, dataColumnSidecar) !== gossipSubnet) {
36
- throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
37
- code: DataColumnSidecarErrorCode.INVALID_SUBNET,
38
- columnIdx: dataColumnSidecar.index,
39
- gossipSubnet: gossipSubnet,
40
- });
41
- }
42
-
43
- // 3) [IGNORE] The sidecar is not from a future slot (with a MAXIMUM_GOSSIP_CLOCK_DISPARITY allowance)
44
- // -- i.e. validate that sidecar.slot <= current_slot (a client MAY queue future blocks
45
- // for processing at the appropriate slot).
46
- const currentSlotWithGossipDisparity = chain.clock.currentSlotWithGossipDisparity;
47
- if (currentSlotWithGossipDisparity < blockHeader.slot) {
48
- throw new DataColumnSidecarGossipError(GossipAction.IGNORE, {
49
- code: DataColumnSidecarErrorCode.FUTURE_SLOT,
50
- currentSlot: currentSlotWithGossipDisparity,
51
- blockSlot: blockHeader.slot,
52
- });
53
- }
54
-
55
- // 4) [IGNORE] The sidecar is from a slot greater than the latest finalized slot -- i.e. validate that
56
- // sidecar.slot > compute_start_slot_at_epoch(state.finalized_checkpoint.epoch)
57
- const finalizedCheckpoint = chain.forkChoice.getFinalizedCheckpoint();
58
- const finalizedSlot = computeStartSlotAtEpoch(finalizedCheckpoint.epoch);
59
- if (blockHeader.slot <= finalizedSlot) {
60
- throw new DataColumnSidecarGossipError(GossipAction.IGNORE, {
61
- code: DataColumnSidecarErrorCode.WOULD_REVERT_FINALIZED_SLOT,
62
- blockSlot: blockHeader.slot,
63
- finalizedSlot,
64
- });
65
- }
66
-
67
- // 6) [IGNORE] The sidecar's block's parent (defined by block_header.parent_root) has been seen (via gossip
68
- // or non-gossip sources)
69
- const parentRoot = toRootHex(blockHeader.parentRoot);
70
- const parentBlock = chain.forkChoice.getBlockHex(parentRoot);
71
- if (parentBlock === null) {
72
- // If fork choice does *not* consider the parent to be a descendant of the finalized block,
73
- // then there are two more cases:
74
- //
75
- // 1. We have the parent stored in our database. Because fork-choice has confirmed the
76
- // parent is *not* in our post-finalization DAG, all other blocks must be either
77
- // pre-finalization or conflicting with finalization.
78
- // 2. The parent is unknown to us, we probably want to download it since it might actually
79
- // descend from the finalized root.
80
- // (Non-Lighthouse): Since we prune all blocks non-descendant from finalized checking the `db.block` database won't be useful to guard
81
- // against known bad fork blocks, so we throw PARENT_UNKNOWN for cases (1) and (2)
82
- throw new DataColumnSidecarGossipError(GossipAction.IGNORE, {
83
- code: DataColumnSidecarErrorCode.PARENT_UNKNOWN,
84
- parentRoot,
85
- });
86
- }
87
-
88
- // 8) [REJECT] The sidecar is from a higher slot than the sidecar's block's parent
89
- if (parentBlock.slot >= blockHeader.slot) {
90
- throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
91
- code: DataColumnSidecarErrorCode.NOT_LATER_THAN_PARENT,
92
- parentSlot: parentBlock.slot,
93
- slot: blockHeader.slot,
94
- });
95
- }
96
-
97
- // getBlockSlotState also checks for whether the current finalized checkpoint is an ancestor of the block.
98
- // As a result, we throw an IGNORE (whereas the spec says we should REJECT for this scenario).
99
- // this is something we should change this in the future to make the code airtight to the spec.
100
- // 7) [REJECT] The sidecar's block's parent passes validation.
101
- const blockState = await chain.regen
102
- .getBlockSlotState(parentRoot, blockHeader.slot, {dontTransferCache: true}, RegenCaller.validateGossipBlock)
103
- .catch(() => {
104
- throw new DataColumnSidecarGossipError(GossipAction.IGNORE, {
105
- code: DataColumnSidecarErrorCode.PARENT_UNKNOWN,
106
- parentRoot,
107
- });
108
- });
109
-
110
- // 13) [REJECT] The sidecar is proposed by the expected proposer_index for the block's slot in the context of the current
111
- // shuffling (defined by block_header.parent_root/block_header.slot). If the proposer_index cannot
112
- // immediately be verified against the expected shuffling, the sidecar MAY be queued for later processing
113
- // while proposers for the block's branch are calculated -- in such a case do not REJECT, instead IGNORE
114
- // this message.
115
- const proposerIndex = blockHeader.proposerIndex;
116
- const expectedProposerIndex = blockState.epochCtx.getBeaconProposer(blockHeader.slot);
117
-
118
- if (proposerIndex !== expectedProposerIndex) {
119
- throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
120
- code: DataColumnSidecarErrorCode.INCORRECT_PROPOSER,
121
- actualProposerIndex: proposerIndex,
122
- expectedProposerIndex,
123
- });
124
- }
125
-
126
- // 5) [REJECT] The proposer signature of sidecar.signed_block_header, is valid with respect to the block_header.proposer_index pubkey.
127
- const signatureSet = getBlockHeaderProposerSignatureSet(blockState, dataColumnSidecar.signedBlockHeader);
128
- // Don't batch so verification is not delayed
129
- if (
130
- !(await chain.bls.verifySignatureSets([signatureSet], {
131
- verifyOnMainThread: blockHeader.slot > chain.forkChoice.getHead().slot,
132
- }))
133
- ) {
134
- throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
135
- code: DataColumnSidecarErrorCode.PROPOSAL_SIGNATURE_INVALID,
136
- });
137
- }
138
-
139
- // 9) [REJECT] The current finalized_checkpoint is an ancestor of the sidecar's block
140
- // -- i.e. get_checkpoint_block(store, block_header.parent_root, store.finalized_checkpoint.epoch)
141
- // == store.finalized_checkpoint.root
142
- // Handled by 7)
143
-
144
- // 10) [REJECT] The sidecar's kzg_commitments field inclusion proof is valid as verified by
145
- // verify_data_column_sidecar_inclusion_proof
146
- // TODO: Can cache result on (commitments, proof, header) in the future
147
- const timer = metrics?.peerDas.dataColumnSidecarInclusionProofVerificationTime.startTimer();
148
- const valid = verifyDataColumnSidecarInclusionProof(dataColumnSidecar);
149
- timer?.();
150
-
151
- if (!valid) {
152
- throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
153
- code: DataColumnSidecarErrorCode.INCLUSION_PROOF_INVALID,
154
- slot: dataColumnSidecar.signedBlockHeader.message.slot,
155
- columnIdx: dataColumnSidecar.index,
156
- });
157
- }
158
-
159
- const kzgProofTimer = metrics?.peerDas.dataColumnSidecarKzgProofsVerificationTime.startTimer();
160
- // 11) [REJECT] The sidecar's column data is valid as verified by verify_data_column_sidecar_kzg_proofs
161
- try {
162
- await verifyDataColumnSidecarKzgProofs(
163
- dataColumnSidecar.kzgCommitments,
164
- Array.from({length: dataColumnSidecar.column.length}, () => dataColumnSidecar.index),
165
- dataColumnSidecar.column,
166
- dataColumnSidecar.kzgProofs
167
- );
168
- } catch {
169
- throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
170
- code: DataColumnSidecarErrorCode.INVALID_KZG_PROOF,
171
- slot: blockHeader.slot,
172
- columnIdx: dataColumnSidecar.index,
173
- });
174
- } finally {
175
- kzgProofTimer?.();
176
- }
177
-
178
- // 12) [IGNORE] The sidecar is the first sidecar for the tuple (block_header.slot, block_header.proposer_index,
179
- // sidecar.index) with valid header signature, sidecar inclusion proof, and kzg proof
180
- // -- Handled in seenGossipBlockInput
181
- }
182
-
183
- /**
184
- * SPEC FUNCTION
185
- * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar
186
- */
187
- function verifyDataColumnSidecar(dataColumnSidecar: fulu.DataColumnSidecar): void {
188
- if (dataColumnSidecar.index >= NUMBER_OF_COLUMNS) {
189
- throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
190
- code: DataColumnSidecarErrorCode.INVALID_INDEX,
191
- slot: dataColumnSidecar.signedBlockHeader.message.slot,
192
- columnIdx: dataColumnSidecar.index,
193
- });
194
- }
195
-
196
- if (dataColumnSidecar.kzgCommitments.length === 0) {
197
- throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
198
- code: DataColumnSidecarErrorCode.NO_COMMITMENTS,
199
- slot: dataColumnSidecar.signedBlockHeader.message.slot,
200
- columnIdx: dataColumnSidecar.index,
201
- });
202
- }
203
-
204
- if (
205
- dataColumnSidecar.column.length !== dataColumnSidecar.kzgCommitments.length ||
206
- dataColumnSidecar.column.length !== dataColumnSidecar.kzgProofs.length
207
- ) {
208
- throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
209
- code: DataColumnSidecarErrorCode.MISMATCHED_LENGTHS,
210
- columnLength: dataColumnSidecar.column.length,
211
- commitmentsLength: dataColumnSidecar.kzgCommitments.length,
212
- proofsLength: dataColumnSidecar.kzgProofs.length,
213
- });
214
- }
215
- }
216
-
217
- /**
218
- * SPEC FUNCTION
219
- * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar_kzg_proofs
220
- */
221
- export async function verifyDataColumnSidecarKzgProofs(
222
- commitments: Uint8Array[],
223
- cellIndices: number[],
224
- cells: Uint8Array[],
225
- proofs: Uint8Array[]
226
- ): Promise<void> {
227
- let valid: boolean;
228
- try {
229
- valid = await kzg.asyncVerifyCellKzgProofBatch(commitments, cellIndices, cells, proofs);
230
- } catch (e) {
231
- (e as Error).message = `Error on asyncVerifyCellKzgProofBatch: ${(e as Error).message}`;
232
- throw e;
233
- }
234
- if (!valid) {
235
- throw Error("Invalid verifyCellKzgProofBatch");
236
- }
237
- }
238
-
239
- /**
240
- * SPEC FUNCTION
241
- * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar_inclusion_proof
242
- */
243
- export function verifyDataColumnSidecarInclusionProof(dataColumnSidecar: fulu.DataColumnSidecar): boolean {
244
- return verifyMerkleBranch(
245
- ssz.deneb.BlobKzgCommitments.hashTreeRoot(dataColumnSidecar.kzgCommitments),
246
- dataColumnSidecar.kzgCommitmentsInclusionProof,
247
- KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH,
248
- KZG_COMMITMENTS_SUBTREE_INDEX,
249
- dataColumnSidecar.signedBlockHeader.message.bodyRoot
250
- );
251
- }
252
-
253
- /**
254
- * Validate a subset of data column sidecars in a block
255
- *
256
- * Requires the block to be known to the node
257
- */
258
- export async function validateBlockDataColumnSidecars(
259
- blockSlot: Slot,
260
- blockRoot: Root,
261
- blockBlobCount: number,
262
- dataColumnSidecars: fulu.DataColumnSidecars
263
- ): Promise<void> {
264
- if (dataColumnSidecars.length === 0) {
265
- return;
266
- }
267
-
268
- if (blockBlobCount === 0) {
269
- throw new DataColumnSidecarValidationError(
270
- {
271
- code: DataColumnSidecarErrorCode.INCORRECT_SIDECAR_COUNT,
272
- slot: blockSlot,
273
- expected: 0,
274
- actual: dataColumnSidecars.length,
275
- },
276
- "Block has no blob commitments but data column sidecars were provided"
277
- );
278
- }
279
-
280
- // Hash the first sidecar block header and compare the rest via (cheaper) equality
281
- const firstSidecarBlockHeader = dataColumnSidecars[0].signedBlockHeader.message;
282
- const firstBlockRoot = ssz.phase0.BeaconBlockHeader.hashTreeRoot(firstSidecarBlockHeader);
283
- if (Buffer.compare(blockRoot, firstBlockRoot) !== 0) {
284
- throw new DataColumnSidecarValidationError(
285
- {
286
- code: DataColumnSidecarErrorCode.INCORRECT_BLOCK,
287
- slot: blockSlot,
288
- columnIdx: 0,
289
- expected: toRootHex(blockRoot),
290
- actual: toRootHex(firstBlockRoot),
291
- },
292
- "DataColumnSidecar doesn't match corresponding block"
293
- );
294
- }
295
-
296
- const commitments: Uint8Array[] = [];
297
- const cellIndices: number[] = [];
298
- const cells: Uint8Array[] = [];
299
- const proofs: Uint8Array[] = [];
300
- for (let i = 0; i < dataColumnSidecars.length; i++) {
301
- const columnSidecar = dataColumnSidecars[i];
302
-
303
- if (columnSidecar.index >= NUMBER_OF_COLUMNS) {
304
- throw new DataColumnSidecarValidationError(
305
- {
306
- code: DataColumnSidecarErrorCode.INVALID_INDEX,
307
- slot: blockSlot,
308
- columnIdx: columnSidecar.index,
309
- },
310
- "DataColumnSidecar has invalid index"
311
- );
312
- }
313
-
314
- if (columnSidecar.kzgCommitments.length !== blockBlobCount) {
315
- throw new DataColumnSidecarValidationError({
316
- code: DataColumnSidecarErrorCode.INCORRECT_KZG_COMMITMENTS_COUNT,
317
- slot: blockSlot,
318
- columnIdx: columnSidecar.index,
319
- expected: blockBlobCount,
320
- actual: columnSidecar.kzgCommitments.length,
321
- });
322
- }
323
-
324
- if (columnSidecar.kzgProofs.length !== columnSidecar.kzgCommitments.length) {
325
- throw new DataColumnSidecarValidationError({
326
- code: DataColumnSidecarErrorCode.INCORRECT_KZG_PROOF_COUNT,
327
- slot: blockSlot,
328
- columnIdx: columnSidecar.index,
329
- expected: columnSidecar.kzgCommitments.length,
330
- actual: columnSidecar.kzgProofs.length,
331
- });
332
- }
333
-
334
- if (!verifyDataColumnSidecarInclusionProof(columnSidecar)) {
335
- throw new DataColumnSidecarValidationError(
336
- {
337
- code: DataColumnSidecarErrorCode.INCLUSION_PROOF_INVALID,
338
- slot: blockSlot,
339
- columnIdx: columnSidecar.index,
340
- },
341
- "DataColumnSidecar has invalid inclusion proof"
342
- );
343
- }
344
-
345
- commitments.push(...columnSidecar.kzgCommitments);
346
- cellIndices.push(...Array.from({length: columnSidecar.column.length}, () => columnSidecar.index));
347
- cells.push(...columnSidecar.column);
348
- proofs.push(...columnSidecar.kzgProofs);
349
- }
350
-
351
- let reason: string | undefined;
352
- try {
353
- const valid = await kzg.asyncVerifyCellKzgProofBatch(commitments, cellIndices, cells, proofs);
354
- if (!valid) {
355
- reason = "Invalid KZG proof batch";
356
- }
357
- } catch (e) {
358
- reason = (e as Error).message;
359
- }
360
- if (reason !== undefined) {
361
- throw new DataColumnSidecarValidationError(
362
- {
363
- code: DataColumnSidecarErrorCode.INVALID_KZG_PROOF_BATCH,
364
- slot: blockSlot,
365
- reason,
366
- },
367
- "DataColumnSidecar has invalid KZG proof batch"
368
- );
369
- }
370
- }
371
-
372
- /**
373
- * SPEC FUNCTION
374
- * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#compute_subnet_for_data_column_sidecar
375
- */
376
- export function computeSubnetForDataColumnSidecar(
377
- config: ChainConfig,
378
- columnSidecar: fulu.DataColumnSidecar
379
- ): SubnetID {
380
- return columnSidecar.index % config.DATA_COLUMN_SIDECAR_SUBNET_COUNT;
381
- }
@@ -1,9 +0,0 @@
1
- export * from "./aggregateAndProof.js";
2
- export * from "./attestation.js";
3
- export * from "./attesterSlashing.js";
4
- export * from "./block.js";
5
- export * from "./blsToExecutionChange.js";
6
- export * from "./proposerSlashing.js";
7
- export * from "./syncCommittee.js";
8
- export * from "./syncCommitteeContributionAndProof.js";
9
- export * from "./voluntaryExit.js";
@@ -1,45 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {LightClientFinalityUpdate} from "@lodestar/types";
3
- import {assertLightClientServer} from "../../node/utils/lightclient.js";
4
- import {GossipAction} from "../errors/index.js";
5
- import {LightClientError, LightClientErrorCode} from "../errors/lightClientError.js";
6
- import {IBeaconChain} from "../interface.js";
7
- import {updateReceivedTooEarly} from "./lightClientOptimisticUpdate.js";
8
-
9
- // https://github.com/ethereum/consensus-specs/blob/dev/specs/altair/light-client/p2p-interface.md#light_client_finality_update
10
- export function validateLightClientFinalityUpdate(
11
- config: ChainForkConfig,
12
- chain: IBeaconChain,
13
- gossipedFinalityUpdate: LightClientFinalityUpdate
14
- ): void {
15
- assertLightClientServer(chain.lightClientServer);
16
-
17
- // [IGNORE] No other finality_update with a lower or equal finalized_header.slot was already forwarded on the network
18
- const gossipedFinalitySlot = gossipedFinalityUpdate.finalizedHeader.beacon.slot;
19
- const localFinalityUpdate = chain.lightClientServer.getFinalityUpdate();
20
-
21
- if (localFinalityUpdate && gossipedFinalitySlot <= localFinalityUpdate.finalizedHeader.beacon.slot) {
22
- throw new LightClientError(GossipAction.IGNORE, {
23
- code: LightClientErrorCode.FINALITY_UPDATE_ALREADY_FORWARDED,
24
- });
25
- }
26
-
27
- // [IGNORE] The finality_update is received after the block at signature_slot was given enough time to propagate
28
- // through the network -- i.e. validate that one-third of finality_update.signature_slot has transpired
29
- // (SECONDS_PER_SLOT / INTERVALS_PER_SLOT seconds after the start of the slot, with a MAXIMUM_GOSSIP_CLOCK_DISPARITY allowance)
30
- if (updateReceivedTooEarly(config, chain.genesisTime, gossipedFinalityUpdate)) {
31
- throw new LightClientError(GossipAction.IGNORE, {
32
- code: LightClientErrorCode.FINALITY_UPDATE_RECEIVED_TOO_EARLY,
33
- });
34
- }
35
-
36
- // [IGNORE] The received finality_update matches the locally computed one exactly
37
- const sszType = config.getPostAltairForkTypes(
38
- gossipedFinalityUpdate.attestedHeader.beacon.slot
39
- ).LightClientFinalityUpdate;
40
- if (localFinalityUpdate === null || !sszType.equals(gossipedFinalityUpdate, localFinalityUpdate)) {
41
- throw new LightClientError(GossipAction.IGNORE, {
42
- code: LightClientErrorCode.FINALITY_UPDATE_NOT_MATCHING_LOCAL,
43
- });
44
- }
45
- }
@@ -1,67 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {computeTimeAtSlot} from "@lodestar/state-transition";
3
- import {LightClientOptimisticUpdate} from "@lodestar/types";
4
- import {MAXIMUM_GOSSIP_CLOCK_DISPARITY} from "../../constants/index.js";
5
- import {assertLightClientServer} from "../../node/utils/lightclient.js";
6
- import {GossipAction} from "../errors/index.js";
7
- import {LightClientError, LightClientErrorCode} from "../errors/lightClientError.js";
8
- import {IBeaconChain} from "../interface.js";
9
-
10
- // https://github.com/ethereum/consensus-specs/blob/dev/specs/altair/light-client/p2p-interface.md#light_client_optimistic_update
11
- export function validateLightClientOptimisticUpdate(
12
- config: ChainForkConfig,
13
- chain: IBeaconChain,
14
- gossipedOptimisticUpdate: LightClientOptimisticUpdate
15
- ): void {
16
- assertLightClientServer(chain.lightClientServer);
17
-
18
- // [IGNORE] No other optimistic_update with a lower or equal attested_header.slot was already forwarded on the network
19
- const gossipedAttestedSlot = gossipedOptimisticUpdate.attestedHeader.beacon.slot;
20
- const localOptimisticUpdate = chain.lightClientServer.getOptimisticUpdate();
21
-
22
- if (localOptimisticUpdate && gossipedAttestedSlot <= localOptimisticUpdate.attestedHeader.beacon.slot) {
23
- throw new LightClientError(GossipAction.IGNORE, {
24
- code: LightClientErrorCode.OPTIMISTIC_UPDATE_ALREADY_FORWARDED,
25
- });
26
- }
27
-
28
- // [IGNORE] The optimistic_update is received after the block at signature_slot was given enough time to propagate
29
- // through the network -- i.e. validate that one-third of optimistic_update.signature_slot has transpired
30
- // (SECONDS_PER_SLOT / INTERVALS_PER_SLOT seconds after the start of the slot, with a MAXIMUM_GOSSIP_CLOCK_DISPARITY allowance)
31
- if (updateReceivedTooEarly(config, chain.genesisTime, gossipedOptimisticUpdate)) {
32
- throw new LightClientError(GossipAction.IGNORE, {
33
- code: LightClientErrorCode.OPTIMISTIC_UPDATE_RECEIVED_TOO_EARLY,
34
- });
35
- }
36
-
37
- // [IGNORE] The received optimistic_update matches the locally computed one exactly
38
- const sszType = config.getPostAltairForkTypes(
39
- gossipedOptimisticUpdate.attestedHeader.beacon.slot
40
- ).LightClientOptimisticUpdate;
41
- if (localOptimisticUpdate === null || !sszType.equals(gossipedOptimisticUpdate, localOptimisticUpdate)) {
42
- throw new LightClientError(GossipAction.IGNORE, {
43
- code: LightClientErrorCode.OPTIMISTIC_UPDATE_NOT_MATCHING_LOCAL,
44
- });
45
- }
46
- }
47
-
48
- /**
49
- * Returns true, if the spec condition below triggers an IGNORE.
50
- *
51
- * Sig +1/3 time
52
- * -----|-----
53
- * xxx|------- (x is not okay)
54
- *
55
- * [IGNORE] The *update is received after the block at signature_slot was given enough time to propagate
56
- * through the network -- i.e. validate that one-third of *update.signature_slot has transpired
57
- * (SECONDS_PER_SLOT / INTERVALS_PER_SLOT seconds after the start of the slot, with a MAXIMUM_GOSSIP_CLOCK_DISPARITY allowance)
58
- */
59
- export function updateReceivedTooEarly(
60
- config: ChainForkConfig,
61
- genesisTime: number,
62
- update: Pick<LightClientOptimisticUpdate, "signatureSlot">
63
- ): boolean {
64
- const signatureSlot13TimestampMs = computeTimeAtSlot(config, update.signatureSlot + 1 / 3, genesisTime) * 1000;
65
- const earliestAllowedTimestampMs = signatureSlot13TimestampMs - MAXIMUM_GOSSIP_CLOCK_DISPARITY;
66
- return Date.now() < earliestAllowedTimestampMs;
67
- }
@@ -1,54 +0,0 @@
1
- import {assertValidProposerSlashing, getProposerSlashingSignatureSets} from "@lodestar/state-transition";
2
- import {phase0} from "@lodestar/types";
3
- import {GossipAction, ProposerSlashingError, ProposerSlashingErrorCode} from "../errors/index.js";
4
- import {IBeaconChain} from "../index.js";
5
-
6
- export async function validateApiProposerSlashing(
7
- chain: IBeaconChain,
8
- proposerSlashing: phase0.ProposerSlashing
9
- ): Promise<void> {
10
- const prioritizeBls = true;
11
- return validateProposerSlashing(chain, proposerSlashing, prioritizeBls);
12
- }
13
-
14
- export async function validateGossipProposerSlashing(
15
- chain: IBeaconChain,
16
- proposerSlashing: phase0.ProposerSlashing
17
- ): Promise<void> {
18
- return validateProposerSlashing(chain, proposerSlashing);
19
- }
20
-
21
- async function validateProposerSlashing(
22
- chain: IBeaconChain,
23
- proposerSlashing: phase0.ProposerSlashing,
24
- prioritizeBls = false
25
- ): Promise<void> {
26
- // [IGNORE] The proposer slashing is the first valid proposer slashing received for the proposer with index
27
- // proposer_slashing.signed_header_1.message.proposer_index.
28
- if (chain.opPool.hasSeenProposerSlashing(proposerSlashing.signedHeader1.message.proposerIndex)) {
29
- throw new ProposerSlashingError(GossipAction.IGNORE, {
30
- code: ProposerSlashingErrorCode.ALREADY_EXISTS,
31
- });
32
- }
33
-
34
- const state = chain.getHeadState();
35
-
36
- // [REJECT] All of the conditions within process_proposer_slashing pass validation.
37
- try {
38
- // verifySignature = false, verified in batch below
39
- assertValidProposerSlashing(state, proposerSlashing, false);
40
- } catch (e) {
41
- throw new ProposerSlashingError(GossipAction.REJECT, {
42
- code: ProposerSlashingErrorCode.INVALID,
43
- error: e as Error,
44
- });
45
- }
46
-
47
- const signatureSets = getProposerSlashingSignatureSets(state, proposerSlashing);
48
- if (!(await chain.bls.verifySignatureSets(signatureSets, {batchable: true, priority: prioritizeBls}))) {
49
- throw new ProposerSlashingError(GossipAction.REJECT, {
50
- code: ProposerSlashingErrorCode.INVALID,
51
- error: Error("Invalid signature"),
52
- });
53
- }
54
- }
@@ -1,38 +0,0 @@
1
- import {PublicKey} from "@chainsafe/blst";
2
- import {BeaconConfig} from "@lodestar/config";
3
- import {DOMAIN_AGGREGATE_AND_PROOF, ForkSeq} from "@lodestar/params";
4
- import {
5
- ISignatureSet,
6
- computeSigningRoot,
7
- computeStartSlotAtEpoch,
8
- createSingleSignatureSetFromComponents,
9
- } from "@lodestar/state-transition";
10
- import {Epoch, SignedAggregateAndProof, ssz} from "@lodestar/types";
11
-
12
- export function getAggregateAndProofSigningRoot(
13
- config: BeaconConfig,
14
- epoch: Epoch,
15
- aggregateAndProof: SignedAggregateAndProof
16
- ): Uint8Array {
17
- // previously, we call `const aggregatorDomain = state.config.getDomain(state.slot, DOMAIN_AGGREGATE_AND_PROOF, slot);`
18
- // at fork boundary, it's required to dial to target epoch https://github.com/ChainSafe/lodestar/blob/v1.11.3/packages/beacon-node/src/chain/validation/attestation.ts#L573
19
- // instead of that, just use the fork of slot in the attestation data
20
- const slot = computeStartSlotAtEpoch(epoch);
21
- const fork = config.getForkName(slot);
22
- const aggregatorDomain = config.getDomainAtFork(fork, DOMAIN_AGGREGATE_AND_PROOF);
23
- const sszType = ForkSeq[fork] >= ForkSeq.electra ? ssz.electra.AggregateAndProof : ssz.phase0.AggregateAndProof;
24
- return computeSigningRoot(sszType, aggregateAndProof.message, aggregatorDomain);
25
- }
26
-
27
- export function getAggregateAndProofSignatureSet(
28
- config: BeaconConfig,
29
- epoch: Epoch,
30
- aggregator: PublicKey,
31
- aggregateAndProof: SignedAggregateAndProof
32
- ): ISignatureSet {
33
- return createSingleSignatureSetFromComponents(
34
- aggregator,
35
- getAggregateAndProofSigningRoot(config, epoch, aggregateAndProof),
36
- aggregateAndProof.signature
37
- );
38
- }
@@ -1,27 +0,0 @@
1
- import {DOMAIN_CONTRIBUTION_AND_PROOF} from "@lodestar/params";
2
- import {
3
- CachedBeaconStateAllForks,
4
- ISignatureSet,
5
- SignatureSetType,
6
- computeSigningRoot,
7
- } from "@lodestar/state-transition";
8
- import {altair, ssz} from "@lodestar/types";
9
-
10
- export function getContributionAndProofSignatureSet(
11
- state: CachedBeaconStateAllForks,
12
- signedContributionAndProof: altair.SignedContributionAndProof
13
- ): ISignatureSet {
14
- const {epochCtx} = state;
15
- const domain = state.config.getDomain(
16
- state.slot,
17
- DOMAIN_CONTRIBUTION_AND_PROOF,
18
- signedContributionAndProof.message.contribution.slot
19
- );
20
- const signingData = signedContributionAndProof.message;
21
- return {
22
- type: SignatureSetType.single,
23
- pubkey: epochCtx.index2pubkey[signedContributionAndProof.message.aggregatorIndex],
24
- signingRoot: computeSigningRoot(ssz.altair.ContributionAndProof, signingData, domain),
25
- signature: signedContributionAndProof.signature,
26
- };
27
- }
@@ -1,6 +0,0 @@
1
- export * from "./aggregateAndProof.js";
2
- export * from "./contributionAndProof.js";
3
- export * from "./selectionProof.js";
4
- export * from "./syncCommittee.js";
5
- export * from "./syncCommitteeContribution.js";
6
- export * from "./syncCommitteeSelectionProof.js";
@@ -1,27 +0,0 @@
1
- import {PublicKey} from "@chainsafe/blst";
2
- import {BeaconConfig} from "@lodestar/config";
3
- import {DOMAIN_SELECTION_PROOF} from "@lodestar/params";
4
- import {ISignatureSet, computeSigningRoot, createSingleSignatureSetFromComponents} from "@lodestar/state-transition";
5
- import {Slot, phase0, ssz} from "@lodestar/types";
6
-
7
- export function getSelectionProofSigningRoot(config: BeaconConfig, slot: Slot): Uint8Array {
8
- // previously, we call `const selectionProofDomain = config.getDomain(state.slot, DOMAIN_SELECTION_PROOF, slot)`
9
- // at fork boundary, it's required to dial to target epoch https://github.com/ChainSafe/lodestar/blob/v1.11.3/packages/beacon-node/src/chain/validation/attestation.ts#L573
10
- // instead of that, just use the fork of slot in the attestation data
11
- const fork = config.getForkName(slot);
12
- const selectionProofDomain = config.getDomainAtFork(fork, DOMAIN_SELECTION_PROOF);
13
- return computeSigningRoot(ssz.Slot, slot, selectionProofDomain);
14
- }
15
-
16
- export function getSelectionProofSignatureSet(
17
- config: BeaconConfig,
18
- slot: Slot,
19
- aggregator: PublicKey,
20
- aggregateAndProof: phase0.SignedAggregateAndProof
21
- ): ISignatureSet {
22
- return createSingleSignatureSetFromComponents(
23
- aggregator,
24
- getSelectionProofSigningRoot(config, slot),
25
- aggregateAndProof.message.selectionProof
26
- );
27
- }