@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,462 +0,0 @@
1
- import {Id, Repository} from "@lodestar/db";
2
- import {
3
- BLS_WITHDRAWAL_PREFIX,
4
- ForkName,
5
- ForkSeq,
6
- MAX_ATTESTER_SLASHINGS,
7
- MAX_ATTESTER_SLASHINGS_ELECTRA,
8
- MAX_BLS_TO_EXECUTION_CHANGES,
9
- MAX_PROPOSER_SLASHINGS,
10
- MAX_VOLUNTARY_EXITS,
11
- } from "@lodestar/params";
12
- import {
13
- CachedBeaconStateAllForks,
14
- computeEpochAtSlot,
15
- computeStartSlotAtEpoch,
16
- getAttesterSlashableIndices,
17
- isValidVoluntaryExit,
18
- } from "@lodestar/state-transition";
19
- import {
20
- AttesterSlashing,
21
- Epoch,
22
- SignedBeaconBlock,
23
- ValidatorIndex,
24
- capella,
25
- phase0,
26
- sszTypesFor,
27
- } from "@lodestar/types";
28
- import {fromHex, toHex, toRootHex} from "@lodestar/utils";
29
- import {IBeaconDb} from "../../db/index.js";
30
- import {Metrics} from "../../metrics/metrics.js";
31
- import {SignedBLSToExecutionChangeVersioned} from "../../util/types.js";
32
- import {BlockType} from "../interface.js";
33
- import {BlockProductionStep} from "../produceBlock/produceBlockBody.js";
34
- import {isValidBlsToExecutionChangeForBlockInclusion} from "./utils.js";
35
-
36
- type HexRoot = string;
37
- type AttesterSlashingCached = {
38
- attesterSlashing: AttesterSlashing;
39
- intersectingIndices: number[];
40
- };
41
-
42
- export class OpPool {
43
- /** Map of uniqueId(AttesterSlashing) -> AttesterSlashing */
44
- private readonly attesterSlashings = new Map<HexRoot, AttesterSlashingCached>();
45
- /** Map of to slash validator index -> ProposerSlashing */
46
- private readonly proposerSlashings = new Map<ValidatorIndex, phase0.ProposerSlashing>();
47
- /** Map of to exit validator index -> SignedVoluntaryExit */
48
- private readonly voluntaryExits = new Map<ValidatorIndex, phase0.SignedVoluntaryExit>();
49
- /** Set of seen attester slashing indexes. No need to prune */
50
- private readonly attesterSlashingIndexes = new Set<ValidatorIndex>();
51
- /** Map of validator index -> SignedBLSToExecutionChange */
52
- private readonly blsToExecutionChanges = new Map<ValidatorIndex, SignedBLSToExecutionChangeVersioned>();
53
-
54
- // Getters for metrics
55
-
56
- get attesterSlashingsSize(): number {
57
- return this.attesterSlashings.size;
58
- }
59
- get proposerSlashingsSize(): number {
60
- return this.proposerSlashings.size;
61
- }
62
- get voluntaryExitsSize(): number {
63
- return this.voluntaryExits.size;
64
- }
65
- get blsToExecutionChangeSize(): number {
66
- return this.blsToExecutionChanges.size;
67
- }
68
-
69
- async fromPersisted(db: IBeaconDb): Promise<void> {
70
- const [attesterSlashings, proposerSlashings, voluntaryExits, blsToExecutionChanges] = await Promise.all([
71
- db.attesterSlashing.entries(),
72
- db.proposerSlashing.values(),
73
- db.voluntaryExit.values(),
74
- db.blsToExecutionChange.values(),
75
- ]);
76
-
77
- for (const attesterSlashing of attesterSlashings) {
78
- this.insertAttesterSlashing(ForkName.electra, attesterSlashing.value, attesterSlashing.key);
79
- }
80
- for (const proposerSlashing of proposerSlashings) {
81
- this.insertProposerSlashing(proposerSlashing);
82
- }
83
- for (const voluntaryExit of voluntaryExits) {
84
- this.insertVoluntaryExit(voluntaryExit);
85
- }
86
- for (const item of blsToExecutionChanges) {
87
- this.insertBlsToExecutionChange(item.data, item.preCapella);
88
- }
89
- }
90
-
91
- async toPersisted(db: IBeaconDb): Promise<void> {
92
- await Promise.all([
93
- persistDiff(
94
- db.attesterSlashing,
95
- Array.from(this.attesterSlashings.entries()).map(([key, value]) => ({
96
- key: fromHex(key),
97
- value: value.attesterSlashing,
98
- })),
99
- toHex
100
- ),
101
- persistDiff(
102
- db.proposerSlashing,
103
- Array.from(this.proposerSlashings.entries()).map(([key, value]) => ({key, value})),
104
- (index) => index
105
- ),
106
- persistDiff(
107
- db.voluntaryExit,
108
- Array.from(this.voluntaryExits.entries()).map(([key, value]) => ({key, value})),
109
- (index) => index
110
- ),
111
- persistDiff(
112
- db.blsToExecutionChange,
113
- Array.from(this.blsToExecutionChanges.entries()).map(([key, value]) => ({key, value})),
114
- (index) => index
115
- ),
116
- ]);
117
- }
118
-
119
- // Use the opPool as seen cache for gossip validation
120
-
121
- /** Returns false if at least one intersecting index has not been seen yet */
122
- hasSeenAttesterSlashing(intersectingIndices: ValidatorIndex[]): boolean {
123
- for (const validatorIndex of intersectingIndices) {
124
- if (!this.attesterSlashingIndexes.has(validatorIndex)) {
125
- return false;
126
- }
127
- }
128
- return true;
129
- }
130
-
131
- hasSeenVoluntaryExit(validatorIndex: ValidatorIndex): boolean {
132
- return this.voluntaryExits.has(validatorIndex);
133
- }
134
-
135
- hasSeenBlsToExecutionChange(validatorIndex: ValidatorIndex): boolean {
136
- return this.blsToExecutionChanges.has(validatorIndex);
137
- }
138
-
139
- hasSeenProposerSlashing(validatorIndex: ValidatorIndex): boolean {
140
- return this.proposerSlashings.has(validatorIndex);
141
- }
142
-
143
- /** Must be validated beforehand */
144
- insertAttesterSlashing(fork: ForkName, attesterSlashing: AttesterSlashing, rootHash?: Uint8Array): void {
145
- if (!rootHash) {
146
- rootHash = sszTypesFor(fork).AttesterSlashing.hashTreeRoot(attesterSlashing);
147
- }
148
-
149
- // TODO: Do once and cache attached to the AttesterSlashing object
150
- const intersectingIndices = getAttesterSlashableIndices(attesterSlashing);
151
- this.attesterSlashings.set(toRootHex(rootHash), {
152
- attesterSlashing,
153
- intersectingIndices,
154
- });
155
- for (const index of intersectingIndices) {
156
- this.attesterSlashingIndexes.add(index);
157
- }
158
- }
159
-
160
- /** Must be validated beforehand */
161
- insertProposerSlashing(proposerSlashing: phase0.ProposerSlashing): void {
162
- this.proposerSlashings.set(proposerSlashing.signedHeader1.message.proposerIndex, proposerSlashing);
163
- }
164
-
165
- /** Must be validated beforehand */
166
- insertVoluntaryExit(voluntaryExit: phase0.SignedVoluntaryExit): void {
167
- this.voluntaryExits.set(voluntaryExit.message.validatorIndex, voluntaryExit);
168
- }
169
-
170
- /** Must be validated beforehand */
171
- insertBlsToExecutionChange(blsToExecutionChange: capella.SignedBLSToExecutionChange, preCapella = false): void {
172
- this.blsToExecutionChanges.set(blsToExecutionChange.message.validatorIndex, {
173
- data: blsToExecutionChange,
174
- preCapella,
175
- });
176
- }
177
-
178
- /**
179
- * Get proposer and attester slashings and voluntary exits and bls to execution change for inclusion in a block.
180
- *
181
- * This function computes both types of slashings and exits, because attester slashings and exits may be invalidated by
182
- * slashings included earlier in the block.
183
- */
184
- getSlashingsAndExits(
185
- state: CachedBeaconStateAllForks,
186
- blockType: BlockType,
187
- metrics: Metrics | null
188
- ): [
189
- AttesterSlashing[],
190
- phase0.ProposerSlashing[],
191
- phase0.SignedVoluntaryExit[],
192
- capella.SignedBLSToExecutionChange[],
193
- ] {
194
- const {config} = state;
195
- const stateEpoch = computeEpochAtSlot(state.slot);
196
- const stateFork = config.getForkSeq(state.slot);
197
- const toBeSlashedIndices = new Set<ValidatorIndex>();
198
- const proposerSlashings: phase0.ProposerSlashing[] = [];
199
-
200
- const stepsMetrics =
201
- blockType === BlockType.Full
202
- ? metrics?.executionBlockProductionTimeSteps
203
- : metrics?.builderBlockProductionTimeSteps;
204
-
205
- const endProposerSlashing = stepsMetrics?.startTimer();
206
- for (const proposerSlashing of this.proposerSlashings.values()) {
207
- const index = proposerSlashing.signedHeader1.message.proposerIndex;
208
- const validator = state.validators.getReadonly(index);
209
- if (!validator.slashed && validator.activationEpoch <= stateEpoch && stateEpoch < validator.withdrawableEpoch) {
210
- proposerSlashings.push(proposerSlashing);
211
- // Set of validators to be slashed, so we don't attempt to construct invalid attester slashings.
212
- toBeSlashedIndices.add(index);
213
- if (proposerSlashings.length >= MAX_PROPOSER_SLASHINGS) {
214
- break;
215
- }
216
- }
217
- }
218
- endProposerSlashing?.({
219
- step: BlockProductionStep.proposerSlashing,
220
- });
221
-
222
- const endAttesterSlashings = stepsMetrics?.startTimer();
223
- const attesterSlashings: AttesterSlashing[] = [];
224
- const maxAttesterSlashings = stateFork >= ForkSeq.electra ? MAX_ATTESTER_SLASHINGS_ELECTRA : MAX_ATTESTER_SLASHINGS;
225
- attesterSlashing: for (const attesterSlashing of this.attesterSlashings.values()) {
226
- /** Indices slashable in this attester slashing */
227
- const slashableIndices = new Set<ValidatorIndex>();
228
- for (let i = 0; i < attesterSlashing.intersectingIndices.length; i++) {
229
- const index = attesterSlashing.intersectingIndices[i];
230
- // If we already have a slashing for this index, we can continue on to the next slashing
231
- if (toBeSlashedIndices.has(index)) {
232
- continue attesterSlashing;
233
- }
234
-
235
- const validator = state.validators.getReadonly(index);
236
- if (isSlashableAtEpoch(validator, stateEpoch)) {
237
- slashableIndices.add(index);
238
- }
239
- if (attesterSlashings.length >= maxAttesterSlashings) {
240
- break attesterSlashing;
241
- }
242
- }
243
-
244
- // If there were slashable indices in this slashing
245
- // Then include the slashing and count the slashable indices
246
- if (slashableIndices.size > 0) {
247
- attesterSlashings.push(attesterSlashing.attesterSlashing);
248
- for (const index of slashableIndices) {
249
- toBeSlashedIndices.add(index);
250
- }
251
- }
252
- }
253
- endAttesterSlashings?.({
254
- step: BlockProductionStep.attesterSlashings,
255
- });
256
-
257
- const endVoluntaryExits = stepsMetrics?.startTimer();
258
- const voluntaryExits: phase0.SignedVoluntaryExit[] = [];
259
- for (const voluntaryExit of this.voluntaryExits.values()) {
260
- if (
261
- !toBeSlashedIndices.has(voluntaryExit.message.validatorIndex) &&
262
- isValidVoluntaryExit(stateFork, state, voluntaryExit, false) &&
263
- // Signature validation is skipped in `isValidVoluntaryExit(,,false)` since it was already validated in gossip
264
- // However we must make sure that the signature fork is the same, or it will become invalid if included through
265
- // a future fork.
266
- isVoluntaryExitSignatureIncludable(
267
- stateFork,
268
- config.getForkSeq(computeStartSlotAtEpoch(voluntaryExit.message.epoch))
269
- )
270
- ) {
271
- voluntaryExits.push(voluntaryExit);
272
- if (voluntaryExits.length >= MAX_VOLUNTARY_EXITS) {
273
- break;
274
- }
275
- }
276
- }
277
- endVoluntaryExits?.({
278
- step: BlockProductionStep.voluntaryExits,
279
- });
280
-
281
- const endBlsToExecutionChanges = stepsMetrics?.startTimer();
282
- const blsToExecutionChanges: capella.SignedBLSToExecutionChange[] = [];
283
- for (const blsToExecutionChange of this.blsToExecutionChanges.values()) {
284
- if (isValidBlsToExecutionChangeForBlockInclusion(state, blsToExecutionChange.data)) {
285
- blsToExecutionChanges.push(blsToExecutionChange.data);
286
- if (blsToExecutionChanges.length >= MAX_BLS_TO_EXECUTION_CHANGES) {
287
- break;
288
- }
289
- }
290
- }
291
- endBlsToExecutionChanges?.({
292
- step: BlockProductionStep.blsToExecutionChanges,
293
- });
294
-
295
- return [attesterSlashings, proposerSlashings, voluntaryExits, blsToExecutionChanges];
296
- }
297
-
298
- /** For beacon pool API */
299
- getAllAttesterSlashings(): AttesterSlashing[] {
300
- return Array.from(this.attesterSlashings.values()).map((attesterSlashings) => attesterSlashings.attesterSlashing);
301
- }
302
-
303
- /** For beacon pool API */
304
- getAllProposerSlashings(): phase0.ProposerSlashing[] {
305
- return Array.from(this.proposerSlashings.values());
306
- }
307
-
308
- /** For beacon pool API */
309
- getAllVoluntaryExits(): phase0.SignedVoluntaryExit[] {
310
- return Array.from(this.voluntaryExits.values());
311
- }
312
-
313
- /** For beacon pool API */
314
- getAllBlsToExecutionChanges(): SignedBLSToExecutionChangeVersioned[] {
315
- return Array.from(this.blsToExecutionChanges.values());
316
- }
317
-
318
- /**
319
- * Prune all types of transactions given the latest head state
320
- */
321
- pruneAll(headBlock: SignedBeaconBlock, headState: CachedBeaconStateAllForks): void {
322
- this.pruneAttesterSlashings(headState);
323
- this.pruneProposerSlashings(headState);
324
- this.pruneVoluntaryExits(headState);
325
- this.pruneBlsToExecutionChanges(headBlock, headState);
326
- }
327
-
328
- /**
329
- * Prune attester slashings for all slashed or withdrawn validators.
330
- */
331
- private pruneAttesterSlashings(headState: CachedBeaconStateAllForks): void {
332
- const finalizedEpoch = headState.finalizedCheckpoint.epoch;
333
- attesterSlashing: for (const [key, attesterSlashing] of this.attesterSlashings.entries()) {
334
- // Slashings that don't slash any validators can be dropped
335
- for (let i = 0; i < attesterSlashing.intersectingIndices.length; i++) {
336
- const index = attesterSlashing.intersectingIndices[i];
337
-
338
- // Declare that a validator is still slashable if they have not exited prior
339
- // to the finalized epoch.
340
- //
341
- // We cannot check the `slashed` field since the `head` is not finalized and
342
- // a fork could un-slash someone.
343
- if (headState.validators.getReadonly(index).exitEpoch > finalizedEpoch) {
344
- continue attesterSlashing;
345
- }
346
- }
347
-
348
- // All intersecting indices are not slashable
349
- this.attesterSlashings.delete(key);
350
- }
351
- }
352
-
353
- /**
354
- * Prune proposer slashings for validators which are exited in the finalized epoch.
355
- */
356
- private pruneProposerSlashings(headState: CachedBeaconStateAllForks): void {
357
- const finalizedEpoch = headState.finalizedCheckpoint.epoch;
358
- for (const [key, proposerSlashing] of this.proposerSlashings.entries()) {
359
- const index = proposerSlashing.signedHeader1.message.proposerIndex;
360
- if (headState.validators.getReadonly(index).exitEpoch <= finalizedEpoch) {
361
- this.proposerSlashings.delete(key);
362
- }
363
- }
364
- }
365
-
366
- /**
367
- * Call after finalizing
368
- * Prune if validator has already exited at or before the finalized checkpoint of the head.
369
- */
370
- private pruneVoluntaryExits(headState: CachedBeaconStateAllForks): void {
371
- const {config} = headState;
372
- const headStateFork = config.getForkSeq(headState.slot);
373
- const finalizedEpoch = headState.finalizedCheckpoint.epoch;
374
-
375
- for (const [key, voluntaryExit] of this.voluntaryExits.entries()) {
376
- // VoluntaryExit messages signed in the previous fork become invalid and can never be included in any future
377
- // block, so just drop as the head state advances into the next fork.
378
- if (config.getForkSeq(computeStartSlotAtEpoch(voluntaryExit.message.epoch)) < headStateFork) {
379
- this.voluntaryExits.delete(key);
380
- }
381
-
382
- // TODO: Improve this simplistic condition
383
- if (voluntaryExit.message.epoch <= finalizedEpoch) {
384
- this.voluntaryExits.delete(key);
385
- }
386
- }
387
- }
388
-
389
- /**
390
- * Prune BLS to execution changes that have been applied to the state more than 1 block ago.
391
- * In the worse case where head block is reorged, the same BlsToExecutionChange message can be re-added
392
- * to opPool once gossipsub seen cache TTL passes.
393
- */
394
- private pruneBlsToExecutionChanges(headBlock: SignedBeaconBlock, headState: CachedBeaconStateAllForks): void {
395
- const {config} = headState;
396
- const recentBlsToExecutionChanges =
397
- config.getForkSeq(headBlock.message.slot) >= ForkSeq.capella
398
- ? (headBlock as capella.SignedBeaconBlock).message.body.blsToExecutionChanges
399
- : [];
400
-
401
- const recentBlsToExecutionChangeIndexes = new Set(
402
- recentBlsToExecutionChanges.map((blsToExecutionChange) => blsToExecutionChange.message.validatorIndex)
403
- );
404
-
405
- for (const [key, blsToExecutionChange] of this.blsToExecutionChanges.entries()) {
406
- const {validatorIndex} = blsToExecutionChange.data.message;
407
- if (!recentBlsToExecutionChangeIndexes.has(validatorIndex)) {
408
- const validator = headState.validators.getReadonly(validatorIndex);
409
- if (validator.withdrawalCredentials[0] !== BLS_WITHDRAWAL_PREFIX) {
410
- this.blsToExecutionChanges.delete(key);
411
- }
412
- }
413
- }
414
- }
415
- }
416
-
417
- /**
418
- * Returns true if a pre-validated signature is still valid to be included in a specific block's fork
419
- */
420
- function isVoluntaryExitSignatureIncludable(stateFork: ForkSeq, voluntaryExitFork: ForkSeq): boolean {
421
- if (stateFork >= ForkSeq.deneb) {
422
- // Exists are perpetually valid https://eips.ethereum.org/EIPS/eip-7044
423
- return true;
424
- }
425
- // Can only include exits from the current and previous fork
426
- return voluntaryExitFork === stateFork || voluntaryExitFork === stateFork - 1;
427
- }
428
-
429
- function isSlashableAtEpoch(validator: phase0.Validator, epoch: Epoch): boolean {
430
- return !validator.slashed && validator.activationEpoch <= epoch && epoch < validator.withdrawableEpoch;
431
- }
432
-
433
- /**
434
- * Persist target items `items` in `dbRepo` doing minimum put and delete writes.
435
- * Reads all keys in repository to compute the diff between current persisted data and target data.
436
- */
437
- async function persistDiff<K extends Id, V>(
438
- dbRepo: Repository<K, V>,
439
- items: {key: K; value: V}[],
440
- serializeKey: (key: K) => number | string
441
- ): Promise<void> {
442
- const persistedKeys = await dbRepo.keys();
443
- const itemsToPut: {key: K; value: V}[] = [];
444
- const keysToDelete: K[] = [];
445
-
446
- const persistedKeysSerialized = new Set(persistedKeys.map(serializeKey));
447
- for (const item of items) {
448
- if (!persistedKeysSerialized.has(serializeKey(item.key))) {
449
- itemsToPut.push(item);
450
- }
451
- }
452
-
453
- const targetKeysSerialized = new Set(items.map((item) => serializeKey(item.key)));
454
- for (const persistedKey of persistedKeys) {
455
- if (!targetKeysSerialized.has(serializeKey(persistedKey))) {
456
- keysToDelete.push(persistedKey);
457
- }
458
- }
459
-
460
- if (itemsToPut.length > 0) await dbRepo.batchPut(itemsToPut);
461
- if (keysToDelete.length > 0) await dbRepo.batchDelete(keysToDelete);
462
- }
@@ -1,169 +0,0 @@
1
- import {Signature, aggregateSignatures} from "@chainsafe/blst";
2
- import {BitArray} from "@chainsafe/ssz";
3
- import {ChainForkConfig} from "@lodestar/config";
4
- import {SYNC_COMMITTEE_SIZE, SYNC_COMMITTEE_SUBNET_COUNT} from "@lodestar/params";
5
- import {Root, Slot, SubcommitteeIndex, SubnetID, altair} from "@lodestar/types";
6
- import {MapDef, toRootHex} from "@lodestar/utils";
7
- import {IClock} from "../../util/clock.js";
8
- import {InsertOutcome, OpPoolError, OpPoolErrorCode} from "./types.js";
9
- import {pruneBySlot, signatureFromBytesNoCheck} from "./utils.js";
10
-
11
- /**
12
- * SyncCommittee signatures are only useful during a single slot according to our peer's clocks
13
- */
14
- const SLOTS_RETAINED = 3;
15
-
16
- /**
17
- * The maximum number of distinct `ContributionFast` that will be stored in each slot.
18
- *
19
- * This is a DoS protection measure.
20
- */
21
- const MAX_ITEMS_PER_SLOT = 512;
22
-
23
- type ContributionFast = Omit<altair.SyncCommitteeContribution, "aggregationBits" | "signature"> & {
24
- aggregationBits: BitArray;
25
- signature: Signature;
26
- };
27
-
28
- /** Hex string of `contribution.beaconBlockRoot` */
29
- type BlockRootHex = string;
30
-
31
- /**
32
- * Preaggregate SyncCommitteeMessage into SyncCommitteeContribution
33
- * and cache seen SyncCommitteeMessage by slot + validator index.
34
- * This stays in-memory and should be pruned per slot.
35
- */
36
- export class SyncCommitteeMessagePool {
37
- /**
38
- * Each array item is respective to a subcommitteeIndex.
39
- * Preaggregate into SyncCommitteeContribution.
40
- * */
41
- private readonly contributionsByRootBySubnetBySlot = new MapDef<
42
- Slot,
43
- MapDef<SubnetID, Map<BlockRootHex, ContributionFast>>
44
- >(() => new MapDef<SubnetID, Map<BlockRootHex, ContributionFast>>(() => new Map<BlockRootHex, ContributionFast>()));
45
- private lowestPermissibleSlot = 0;
46
-
47
- constructor(
48
- private readonly config: ChainForkConfig,
49
- private readonly clock: IClock,
50
- private readonly preaggregateSlotDistance = 0
51
- ) {}
52
-
53
- /** Returns current count of unique ContributionFast by block root and subnet */
54
- get size(): number {
55
- let count = 0;
56
- for (const contributionsByRootBySubnet of this.contributionsByRootBySubnetBySlot.values()) {
57
- for (const contributionsByRoot of contributionsByRootBySubnet.values()) {
58
- count += contributionsByRoot.size;
59
- }
60
- }
61
- return count;
62
- }
63
-
64
- // TODO: indexInSubcommittee: number should be indicesInSyncCommittee
65
- add(
66
- subnet: SubnetID,
67
- signature: altair.SyncCommitteeMessage,
68
- indexInSubcommittee: number,
69
- priority?: boolean
70
- ): InsertOutcome {
71
- const {slot, beaconBlockRoot} = signature;
72
- const fork = this.config.getForkName(slot);
73
- const rootHex = toRootHex(beaconBlockRoot);
74
- const lowestPermissibleSlot = this.lowestPermissibleSlot;
75
-
76
- // Reject if too old.
77
- if (slot < lowestPermissibleSlot) {
78
- return InsertOutcome.Old;
79
- }
80
-
81
- // validator gets SyncCommitteeContribution at CONTRIBUTION_DUE_BPS of slot, it's no use to preaggregate later than that time
82
- if (!priority && this.clock.msFromSlot(slot) > this.config.getSyncContributionDueMs(fork)) {
83
- return InsertOutcome.Late;
84
- }
85
-
86
- // Limit object per slot
87
- const contributionsByRoot = this.contributionsByRootBySubnetBySlot.getOrDefault(slot).getOrDefault(subnet);
88
- if (contributionsByRoot.size >= MAX_ITEMS_PER_SLOT) {
89
- throw new OpPoolError({code: OpPoolErrorCode.REACHED_MAX_PER_SLOT});
90
- }
91
-
92
- // Pre-aggregate the contribution with existing items
93
- const contribution = contributionsByRoot.get(rootHex);
94
- if (contribution) {
95
- // Aggregate mutating
96
- return aggregateSignatureInto(contribution, signature, indexInSubcommittee);
97
- }
98
-
99
- // Create new aggregate
100
- contributionsByRoot.set(rootHex, signatureToAggregate(subnet, signature, indexInSubcommittee));
101
- return InsertOutcome.NewData;
102
- }
103
-
104
- /**
105
- * This is for the aggregator to produce ContributionAndProof.
106
- */
107
- getContribution(subnet: SubcommitteeIndex, slot: Slot, prevBlockRoot: Root): altair.SyncCommitteeContribution | null {
108
- const contribution = this.contributionsByRootBySubnetBySlot.get(slot)?.get(subnet)?.get(toRootHex(prevBlockRoot));
109
- if (!contribution) {
110
- return null;
111
- }
112
-
113
- return {
114
- ...contribution,
115
- aggregationBits: contribution.aggregationBits,
116
- signature: contribution.signature.toBytes(),
117
- };
118
- }
119
-
120
- /**
121
- * Prune per clock slot.
122
- * SyncCommittee signatures are only useful during a single slot according to our peer's clocks
123
- */
124
- prune(clockSlot: Slot): void {
125
- pruneBySlot(this.contributionsByRootBySubnetBySlot, clockSlot, SLOTS_RETAINED);
126
- // by default preaggregateSlotDistance is 0, i.e only accept SyncCommitteeMessage in the same clock slot.
127
- this.lowestPermissibleSlot = Math.max(clockSlot - this.preaggregateSlotDistance, 0);
128
- }
129
- }
130
-
131
- /**
132
- * Aggregate a new signature into `contribution` mutating it
133
- */
134
- function aggregateSignatureInto(
135
- contribution: ContributionFast,
136
- signature: altair.SyncCommitteeMessage,
137
- indexInSubcommittee: number
138
- ): InsertOutcome {
139
- if (contribution.aggregationBits.get(indexInSubcommittee) === true) {
140
- return InsertOutcome.AlreadyKnown;
141
- }
142
-
143
- contribution.aggregationBits.set(indexInSubcommittee, true);
144
- contribution.signature = aggregateSignatures([
145
- contribution.signature,
146
- signatureFromBytesNoCheck(signature.signature),
147
- ]);
148
- return InsertOutcome.Aggregated;
149
- }
150
-
151
- /**
152
- * Format `signature` into an efficient `contribution` to add more signatures in with aggregateSignatureInto()
153
- */
154
- function signatureToAggregate(
155
- subnet: SubnetID,
156
- signature: altair.SyncCommitteeMessage,
157
- indexInSubcommittee: number
158
- ): ContributionFast {
159
- const indexesPerSubnet = Math.floor(SYNC_COMMITTEE_SIZE / SYNC_COMMITTEE_SUBNET_COUNT);
160
- const aggregationBits = BitArray.fromSingleBit(indexesPerSubnet, indexInSubcommittee);
161
-
162
- return {
163
- slot: signature.slot,
164
- beaconBlockRoot: signature.beaconBlockRoot,
165
- subcommitteeIndex: subnet,
166
- aggregationBits,
167
- signature: signatureFromBytesNoCheck(signature.signature),
168
- };
169
- }