@lodestar/beacon-node 1.35.0-dev.fcf8d024ea → 1.35.0-dev.feed916580

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 (945) 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/api/impl/validator/index.js +3 -5
  5. package/lib/api/impl/validator/index.js.map +1 -1
  6. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
  7. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  8. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  9. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  10. package/lib/chain/blocks/blockInput/blockInput.js +1 -1
  11. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  12. package/lib/chain/blocks/importBlock.js +3 -4
  13. package/lib/chain/blocks/importBlock.js.map +1 -1
  14. package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -8
  15. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  16. package/lib/chain/blocks/writeBlockInputToDb.js +7 -1
  17. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  18. package/lib/chain/bls/multithread/index.js +0 -1
  19. package/lib/chain/bls/multithread/index.js.map +1 -1
  20. package/lib/chain/chain.js +3 -2
  21. package/lib/chain/chain.js.map +1 -1
  22. package/lib/chain/emitter.d.ts +2 -2
  23. package/lib/chain/opPools/attestationPool.d.ts +3 -2
  24. package/lib/chain/opPools/attestationPool.js +5 -3
  25. package/lib/chain/opPools/attestationPool.js.map +1 -1
  26. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +2 -3
  27. package/lib/chain/opPools/syncCommitteeMessagePool.js +5 -6
  28. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  29. package/lib/chain/opPools/types.d.ts +1 -1
  30. package/lib/chain/opPools/types.js +1 -1
  31. package/lib/chain/opPools/types.js.map +1 -1
  32. package/lib/chain/prepareNextSlot.d.ts +3 -3
  33. package/lib/chain/prepareNextSlot.js +8 -8
  34. package/lib/chain/prepareNextSlot.js.map +1 -1
  35. package/lib/chain/stateCache/persistentCheckpointsCache.js +8 -9
  36. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  37. package/lib/chain/validation/lightClientFinalityUpdate.js +3 -4
  38. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  39. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +4 -6
  40. package/lib/chain/validation/lightClientOptimisticUpdate.js +11 -11
  41. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  42. package/lib/chain/validatorMonitor.js +14 -20
  43. package/lib/chain/validatorMonitor.js.map +1 -1
  44. package/lib/db/buckets.d.ts +4 -4
  45. package/lib/db/buckets.js +4 -4
  46. package/lib/db/buckets.js.map +1 -1
  47. package/lib/db/repositories/blobSidecars.js +1 -1
  48. package/lib/db/repositories/blobSidecars.js.map +1 -1
  49. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  50. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  51. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  52. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  53. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  54. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  55. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  56. package/lib/metrics/metrics/lodestar.d.ts +1 -1
  57. package/lib/metrics/metrics/lodestar.js +3 -3
  58. package/lib/metrics/metrics/lodestar.js.map +1 -1
  59. package/lib/network/core/networkCoreWorkerHandler.js +3 -9
  60. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  61. package/lib/network/discv5/index.js +1 -4
  62. package/lib/network/discv5/index.js.map +1 -1
  63. package/lib/network/gossip/gossipsub.d.ts +0 -1
  64. package/lib/network/gossip/gossipsub.js +16 -35
  65. package/lib/network/gossip/gossipsub.js.map +1 -1
  66. package/lib/network/gossip/metrics.d.ts +7 -15
  67. package/lib/network/gossip/metrics.js +6 -16
  68. package/lib/network/gossip/metrics.js.map +1 -1
  69. package/lib/network/libp2p/index.js +1 -9
  70. package/lib/network/libp2p/index.js.map +1 -1
  71. package/lib/network/metadata.js +1 -2
  72. package/lib/network/metadata.js.map +1 -1
  73. package/lib/network/network.d.ts +1 -1
  74. package/lib/network/network.js +13 -11
  75. package/lib/network/network.js.map +1 -1
  76. package/lib/network/peers/datastore.d.ts +2 -2
  77. package/lib/network/peers/datastore.js +2 -2
  78. package/lib/network/peers/datastore.js.map +1 -1
  79. package/lib/network/processor/index.d.ts +1 -1
  80. package/lib/network/processor/index.js +3 -2
  81. package/lib/network/processor/index.js.map +1 -1
  82. package/lib/sync/types.d.ts +1 -0
  83. package/lib/sync/types.js.map +1 -1
  84. package/lib/sync/unknownBlock.d.ts +1 -0
  85. package/lib/sync/unknownBlock.js +19 -17
  86. package/lib/sync/unknownBlock.js.map +1 -1
  87. package/lib/sync/utils/downloadByRoot.d.ts +1 -3
  88. package/lib/sync/utils/downloadByRoot.js +9 -36
  89. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  90. package/lib/util/blobs.js +3 -5
  91. package/lib/util/blobs.js.map +1 -1
  92. package/lib/util/clock.d.ts +0 -5
  93. package/lib/util/clock.js +0 -3
  94. package/lib/util/clock.js.map +1 -1
  95. package/lib/util/dataColumns.js +1 -1
  96. package/lib/util/dataColumns.js.map +1 -1
  97. package/lib/util/execution.js +2 -19
  98. package/lib/util/execution.js.map +1 -1
  99. package/package.json +22 -32
  100. package/lib/api/impl/api.d.ts.map +0 -1
  101. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  102. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  103. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  104. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  105. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  106. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  107. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  108. package/lib/api/impl/config/constants.d.ts.map +0 -1
  109. package/lib/api/impl/config/index.d.ts.map +0 -1
  110. package/lib/api/impl/debug/index.d.ts.map +0 -1
  111. package/lib/api/impl/errors.d.ts.map +0 -1
  112. package/lib/api/impl/events/index.d.ts.map +0 -1
  113. package/lib/api/impl/index.d.ts.map +0 -1
  114. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  115. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  116. package/lib/api/impl/node/index.d.ts.map +0 -1
  117. package/lib/api/impl/node/utils.d.ts.map +0 -1
  118. package/lib/api/impl/proof/index.d.ts.map +0 -1
  119. package/lib/api/impl/types.d.ts.map +0 -1
  120. package/lib/api/impl/utils.d.ts.map +0 -1
  121. package/lib/api/impl/validator/index.d.ts.map +0 -1
  122. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  123. package/lib/api/index.d.ts.map +0 -1
  124. package/lib/api/options.d.ts.map +0 -1
  125. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  126. package/lib/api/rest/base.d.ts.map +0 -1
  127. package/lib/api/rest/index.d.ts.map +0 -1
  128. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  129. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  130. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  131. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  132. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  133. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  134. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  135. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  136. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  137. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  138. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  139. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  140. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  141. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  142. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  143. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  144. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  145. package/lib/chain/balancesCache.d.ts.map +0 -1
  146. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  147. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  148. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  149. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  150. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  151. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  152. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  153. package/lib/chain/blocks/index.d.ts.map +0 -1
  154. package/lib/chain/blocks/types.d.ts.map +0 -1
  155. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  156. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  157. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  158. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  159. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  160. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  161. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  162. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  163. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  164. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  165. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  166. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  167. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  168. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  169. package/lib/chain/bls/index.d.ts.map +0 -1
  170. package/lib/chain/bls/interface.d.ts.map +0 -1
  171. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  172. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  173. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  174. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  175. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  176. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  177. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  178. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  179. package/lib/chain/bls/utils.d.ts.map +0 -1
  180. package/lib/chain/chain.d.ts.map +0 -1
  181. package/lib/chain/emitter.d.ts.map +0 -1
  182. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  183. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  184. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  185. package/lib/chain/errors/blockError.d.ts.map +0 -1
  186. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  187. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  188. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  189. package/lib/chain/errors/index.d.ts.map +0 -1
  190. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  191. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  192. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  193. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  194. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  195. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  196. package/lib/chain/genesis/interface.d.ts.map +0 -1
  197. package/lib/chain/index.d.ts.map +0 -1
  198. package/lib/chain/initState.d.ts.map +0 -1
  199. package/lib/chain/interface.d.ts.map +0 -1
  200. package/lib/chain/lightClient/index.d.ts.map +0 -1
  201. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  202. package/lib/chain/lightClient/types.d.ts.map +0 -1
  203. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  204. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  205. package/lib/chain/opPools/index.d.ts.map +0 -1
  206. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  207. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  208. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  209. package/lib/chain/opPools/types.d.ts.map +0 -1
  210. package/lib/chain/opPools/utils.d.ts.map +0 -1
  211. package/lib/chain/options.d.ts.map +0 -1
  212. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  213. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  214. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  215. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  216. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  217. package/lib/chain/regen/errors.d.ts.map +0 -1
  218. package/lib/chain/regen/index.d.ts.map +0 -1
  219. package/lib/chain/regen/interface.d.ts.map +0 -1
  220. package/lib/chain/regen/queued.d.ts.map +0 -1
  221. package/lib/chain/regen/regen.d.ts.map +0 -1
  222. package/lib/chain/reprocess.d.ts.map +0 -1
  223. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  224. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  225. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  226. package/lib/chain/seenCache/index.d.ts.map +0 -1
  227. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  228. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  229. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  230. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  231. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  232. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  233. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  234. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  235. package/lib/chain/serializeState.d.ts.map +0 -1
  236. package/lib/chain/shufflingCache.d.ts.map +0 -1
  237. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  238. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  239. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  240. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  241. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  242. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  243. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  244. package/lib/chain/stateCache/index.d.ts.map +0 -1
  245. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  246. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  247. package/lib/chain/stateCache/types.d.ts.map +0 -1
  248. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  249. package/lib/chain/validation/attestation.d.ts.map +0 -1
  250. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  251. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  252. package/lib/chain/validation/block.d.ts.map +0 -1
  253. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  254. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  255. package/lib/chain/validation/index.d.ts.map +0 -1
  256. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  257. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  258. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  259. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  260. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  261. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  262. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  263. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  264. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  265. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  266. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  267. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  268. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  269. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  270. package/lib/constants/constants.d.ts.map +0 -1
  271. package/lib/constants/index.d.ts.map +0 -1
  272. package/lib/constants/network.d.ts.map +0 -1
  273. package/lib/db/beacon.d.ts.map +0 -1
  274. package/lib/db/buckets.d.ts.map +0 -1
  275. package/lib/db/index.d.ts.map +0 -1
  276. package/lib/db/interface.d.ts.map +0 -1
  277. package/lib/db/options.d.ts.map +0 -1
  278. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  279. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  280. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  281. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  282. package/lib/db/repositories/block.d.ts.map +0 -1
  283. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  284. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  285. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  286. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  287. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  288. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  289. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  290. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  291. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  292. package/lib/db/repositories/index.d.ts.map +0 -1
  293. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  294. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  295. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  296. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  297. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  298. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  299. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  300. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  301. package/lib/db/single/index.d.ts.map +0 -1
  302. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  303. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  304. package/lib/eth1/errors.d.ts.map +0 -1
  305. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  306. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  307. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  308. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  309. package/lib/eth1/index.d.ts.map +0 -1
  310. package/lib/eth1/interface.d.ts.map +0 -1
  311. package/lib/eth1/options.d.ts.map +0 -1
  312. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  313. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  314. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  315. package/lib/eth1/provider/utils.d.ts.map +0 -1
  316. package/lib/eth1/stream.d.ts.map +0 -1
  317. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  318. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  319. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  320. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  321. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  322. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  323. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  324. package/lib/execution/builder/cache.d.ts.map +0 -1
  325. package/lib/execution/builder/http.d.ts.map +0 -1
  326. package/lib/execution/builder/index.d.ts.map +0 -1
  327. package/lib/execution/builder/interface.d.ts.map +0 -1
  328. package/lib/execution/builder/utils.d.ts.map +0 -1
  329. package/lib/execution/engine/disabled.d.ts.map +0 -1
  330. package/lib/execution/engine/http.d.ts.map +0 -1
  331. package/lib/execution/engine/index.d.ts.map +0 -1
  332. package/lib/execution/engine/interface.d.ts.map +0 -1
  333. package/lib/execution/engine/mock.d.ts.map +0 -1
  334. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  335. package/lib/execution/engine/types.d.ts.map +0 -1
  336. package/lib/execution/engine/utils.d.ts.map +0 -1
  337. package/lib/execution/index.d.ts.map +0 -1
  338. package/lib/index.d.ts.map +0 -1
  339. package/lib/metrics/index.d.ts.map +0 -1
  340. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  341. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  342. package/lib/metrics/metrics.d.ts.map +0 -1
  343. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  344. package/lib/metrics/options.d.ts.map +0 -1
  345. package/lib/metrics/server/http.d.ts.map +0 -1
  346. package/lib/metrics/server/index.d.ts.map +0 -1
  347. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  348. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  349. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  350. package/lib/monitoring/clientStats.d.ts.map +0 -1
  351. package/lib/monitoring/index.d.ts.map +0 -1
  352. package/lib/monitoring/options.d.ts.map +0 -1
  353. package/lib/monitoring/properties.d.ts.map +0 -1
  354. package/lib/monitoring/service.d.ts.map +0 -1
  355. package/lib/monitoring/system.d.ts.map +0 -1
  356. package/lib/monitoring/types.d.ts.map +0 -1
  357. package/lib/network/core/events.d.ts.map +0 -1
  358. package/lib/network/core/index.d.ts.map +0 -1
  359. package/lib/network/core/metrics.d.ts.map +0 -1
  360. package/lib/network/core/networkCore.d.ts.map +0 -1
  361. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  362. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  363. package/lib/network/core/types.d.ts.map +0 -1
  364. package/lib/network/discv5/index.d.ts.map +0 -1
  365. package/lib/network/discv5/types.d.ts.map +0 -1
  366. package/lib/network/discv5/utils.d.ts.map +0 -1
  367. package/lib/network/discv5/worker.d.ts.map +0 -1
  368. package/lib/network/events.d.ts.map +0 -1
  369. package/lib/network/forks.d.ts.map +0 -1
  370. package/lib/network/gossip/constants.d.ts.map +0 -1
  371. package/lib/network/gossip/encoding.d.ts.map +0 -1
  372. package/lib/network/gossip/errors.d.ts.map +0 -1
  373. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  374. package/lib/network/gossip/index.d.ts.map +0 -1
  375. package/lib/network/gossip/interface.d.ts.map +0 -1
  376. package/lib/network/gossip/metrics.d.ts.map +0 -1
  377. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  378. package/lib/network/gossip/topic.d.ts.map +0 -1
  379. package/lib/network/index.d.ts.map +0 -1
  380. package/lib/network/interface.d.ts.map +0 -1
  381. package/lib/network/libp2p/error.d.ts.map +0 -1
  382. package/lib/network/libp2p/index.d.ts.map +0 -1
  383. package/lib/network/metadata.d.ts.map +0 -1
  384. package/lib/network/network.d.ts.map +0 -1
  385. package/lib/network/networkConfig.d.ts.map +0 -1
  386. package/lib/network/options.d.ts.map +0 -1
  387. package/lib/network/peers/client.d.ts.map +0 -1
  388. package/lib/network/peers/datastore.d.ts.map +0 -1
  389. package/lib/network/peers/discover.d.ts.map +0 -1
  390. package/lib/network/peers/index.d.ts.map +0 -1
  391. package/lib/network/peers/peerManager.d.ts.map +0 -1
  392. package/lib/network/peers/peersData.d.ts.map +0 -1
  393. package/lib/network/peers/score/constants.d.ts.map +0 -1
  394. package/lib/network/peers/score/index.d.ts.map +0 -1
  395. package/lib/network/peers/score/interface.d.ts.map +0 -1
  396. package/lib/network/peers/score/score.d.ts.map +0 -1
  397. package/lib/network/peers/score/store.d.ts.map +0 -1
  398. package/lib/network/peers/score/utils.d.ts.map +0 -1
  399. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  400. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  401. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  402. package/lib/network/peers/utils/index.d.ts.map +0 -1
  403. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  404. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  405. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  406. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  407. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  408. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  409. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  410. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  411. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  412. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  413. package/lib/network/processor/index.d.ts.map +0 -1
  414. package/lib/network/processor/types.d.ts.map +0 -1
  415. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  416. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  417. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  418. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  419. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  420. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  421. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  422. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  423. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  424. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  425. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  426. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  427. package/lib/network/reqresp/index.d.ts.map +0 -1
  428. package/lib/network/reqresp/interface.d.ts.map +0 -1
  429. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  430. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  431. package/lib/network/reqresp/score.d.ts.map +0 -1
  432. package/lib/network/reqresp/types.d.ts.map +0 -1
  433. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  434. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  435. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  436. package/lib/network/statusCache.d.ts.map +0 -1
  437. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  438. package/lib/network/subnets/index.d.ts.map +0 -1
  439. package/lib/network/subnets/interface.d.ts.map +0 -1
  440. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  441. package/lib/network/subnets/util.d.ts.map +0 -1
  442. package/lib/network/util.d.ts.map +0 -1
  443. package/lib/node/index.d.ts.map +0 -1
  444. package/lib/node/nodejs.d.ts.map +0 -1
  445. package/lib/node/notifier.d.ts.map +0 -1
  446. package/lib/node/options.d.ts.map +0 -1
  447. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  448. package/lib/node/utils/interop/state.d.ts.map +0 -1
  449. package/lib/node/utils/lightclient.d.ts.map +0 -1
  450. package/lib/node/utils/state.d.ts.map +0 -1
  451. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  452. package/lib/sync/backfill/errors.d.ts.map +0 -1
  453. package/lib/sync/backfill/index.d.ts.map +0 -1
  454. package/lib/sync/backfill/verify.d.ts.map +0 -1
  455. package/lib/sync/constants.d.ts.map +0 -1
  456. package/lib/sync/index.d.ts.map +0 -1
  457. package/lib/sync/interface.d.ts.map +0 -1
  458. package/lib/sync/options.d.ts.map +0 -1
  459. package/lib/sync/range/batch.d.ts.map +0 -1
  460. package/lib/sync/range/chain.d.ts.map +0 -1
  461. package/lib/sync/range/range.d.ts.map +0 -1
  462. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  463. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  464. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  465. package/lib/sync/range/utils/index.d.ts.map +0 -1
  466. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  467. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  468. package/lib/sync/sync.d.ts.map +0 -1
  469. package/lib/sync/types.d.ts.map +0 -1
  470. package/lib/sync/unknownBlock.d.ts.map +0 -1
  471. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  472. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  473. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  474. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  475. package/lib/util/address.d.ts.map +0 -1
  476. package/lib/util/array.d.ts.map +0 -1
  477. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  478. package/lib/util/binarySearch.d.ts.map +0 -1
  479. package/lib/util/bitArray.d.ts.map +0 -1
  480. package/lib/util/blobs.d.ts.map +0 -1
  481. package/lib/util/bufferPool.d.ts.map +0 -1
  482. package/lib/util/bytes.d.ts.map +0 -1
  483. package/lib/util/chunkify.d.ts.map +0 -1
  484. package/lib/util/clock.d.ts.map +0 -1
  485. package/lib/util/dataColumns.d.ts.map +0 -1
  486. package/lib/util/dependentRoot.d.ts.map +0 -1
  487. package/lib/util/enum.d.ts.map +0 -1
  488. package/lib/util/error.d.ts.map +0 -1
  489. package/lib/util/eventLoop.d.ts.map +0 -1
  490. package/lib/util/execution.d.ts.map +0 -1
  491. package/lib/util/file.d.ts.map +0 -1
  492. package/lib/util/forkChoice.d.ts.map +0 -1
  493. package/lib/util/forkName.d.ts.map +0 -1
  494. package/lib/util/graffiti.d.ts.map +0 -1
  495. package/lib/util/hex.d.ts.map +0 -1
  496. package/lib/util/index.d.ts.map +0 -1
  497. package/lib/util/ip.d.ts.map +0 -1
  498. package/lib/util/itTrigger.d.ts.map +0 -1
  499. package/lib/util/kzg.d.ts.map +0 -1
  500. package/lib/util/map.d.ts.map +0 -1
  501. package/lib/util/metadata.d.ts.map +0 -1
  502. package/lib/util/multifork.d.ts.map +0 -1
  503. package/lib/util/numpy.d.ts.map +0 -1
  504. package/lib/util/peerId.d.ts.map +0 -1
  505. package/lib/util/profile.d.ts.map +0 -1
  506. package/lib/util/promises.d.ts.map +0 -1
  507. package/lib/util/queue/errors.d.ts.map +0 -1
  508. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  509. package/lib/util/queue/index.d.ts.map +0 -1
  510. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  511. package/lib/util/queue/options.d.ts.map +0 -1
  512. package/lib/util/serializedCache.d.ts.map +0 -1
  513. package/lib/util/set.d.ts.map +0 -1
  514. package/lib/util/shuffle.d.ts.map +0 -1
  515. package/lib/util/sortBy.d.ts.map +0 -1
  516. package/lib/util/sszBytes.d.ts.map +0 -1
  517. package/lib/util/strictEvents.d.ts.map +0 -1
  518. package/lib/util/time.d.ts.map +0 -1
  519. package/lib/util/timeSeries.d.ts.map +0 -1
  520. package/lib/util/types.d.ts.map +0 -1
  521. package/lib/util/workerEvents.d.ts.map +0 -1
  522. package/lib/util/wrapError.d.ts.map +0 -1
  523. package/src/api/impl/api.ts +0 -26
  524. package/src/api/impl/beacon/blocks/index.ts +0 -744
  525. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  526. package/src/api/impl/beacon/index.ts +0 -35
  527. package/src/api/impl/beacon/pool/index.ts +0 -314
  528. package/src/api/impl/beacon/rewards/index.ts +0 -30
  529. package/src/api/impl/beacon/state/index.ts +0 -406
  530. package/src/api/impl/beacon/state/utils.ts +0 -189
  531. package/src/api/impl/config/constants.ts +0 -127
  532. package/src/api/impl/config/index.ts +0 -59
  533. package/src/api/impl/debug/index.ts +0 -131
  534. package/src/api/impl/errors.ts +0 -50
  535. package/src/api/impl/events/index.ts +0 -33
  536. package/src/api/impl/index.ts +0 -6
  537. package/src/api/impl/lightclient/index.ts +0 -64
  538. package/src/api/impl/lodestar/index.ts +0 -257
  539. package/src/api/impl/node/index.ts +0 -88
  540. package/src/api/impl/node/utils.ts +0 -51
  541. package/src/api/impl/proof/index.ts +0 -60
  542. package/src/api/impl/types.ts +0 -17
  543. package/src/api/impl/utils.ts +0 -25
  544. package/src/api/impl/validator/index.ts +0 -1540
  545. package/src/api/impl/validator/utils.ts +0 -85
  546. package/src/api/index.ts +0 -2
  547. package/src/api/options.ts +0 -16
  548. package/src/api/rest/activeSockets.ts +0 -109
  549. package/src/api/rest/base.ts +0 -216
  550. package/src/api/rest/index.ts +0 -63
  551. package/src/api/rest/swaggerUI.ts +0 -80
  552. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  553. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  554. package/src/chain/GetBlobsTracker.ts +0 -115
  555. package/src/chain/archiveStore/archiveStore.ts +0 -222
  556. package/src/chain/archiveStore/constants.ts +0 -5
  557. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  558. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  559. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  560. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  561. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  562. package/src/chain/archiveStore/index.ts +0 -3
  563. package/src/chain/archiveStore/interface.ts +0 -75
  564. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  565. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  566. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  567. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  568. package/src/chain/balancesCache.ts +0 -52
  569. package/src/chain/beaconProposerCache.ts +0 -43
  570. package/src/chain/blocks/blockInput/blockInput.ts +0 -852
  571. package/src/chain/blocks/blockInput/errors.ts +0 -48
  572. package/src/chain/blocks/blockInput/index.ts +0 -4
  573. package/src/chain/blocks/blockInput/types.ts +0 -145
  574. package/src/chain/blocks/blockInput/utils.ts +0 -21
  575. package/src/chain/blocks/importBlock.ts +0 -597
  576. package/src/chain/blocks/index.ts +0 -179
  577. package/src/chain/blocks/types.ts +0 -101
  578. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  579. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  580. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  581. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  582. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  583. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  584. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  585. package/src/chain/blocks/verifyBlock.ts +0 -242
  586. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -42
  587. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  588. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  589. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  590. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  591. package/src/chain/blocks/writeBlockInputToDb.ts +0 -120
  592. package/src/chain/bls/index.ts +0 -4
  593. package/src/chain/bls/interface.ts +0 -68
  594. package/src/chain/bls/maybeBatch.ts +0 -45
  595. package/src/chain/bls/multithread/index.ts +0 -582
  596. package/src/chain/bls/multithread/jobItem.ts +0 -119
  597. package/src/chain/bls/multithread/poolSize.ts +0 -16
  598. package/src/chain/bls/multithread/types.ts +0 -38
  599. package/src/chain/bls/multithread/utils.ts +0 -19
  600. package/src/chain/bls/multithread/worker.ts +0 -114
  601. package/src/chain/bls/singleThread.ts +0 -87
  602. package/src/chain/bls/utils.ts +0 -30
  603. package/src/chain/chain.ts +0 -1354
  604. package/src/chain/emitter.ts +0 -113
  605. package/src/chain/errors/attestationError.ts +0 -194
  606. package/src/chain/errors/attesterSlashingError.ts +0 -11
  607. package/src/chain/errors/blobSidecarError.ts +0 -60
  608. package/src/chain/errors/blockError.ts +0 -166
  609. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  610. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  611. package/src/chain/errors/gossipValidation.ts +0 -20
  612. package/src/chain/errors/index.ts +0 -10
  613. package/src/chain/errors/lightClientError.ts +0 -30
  614. package/src/chain/errors/proposerSlashingError.ts +0 -11
  615. package/src/chain/errors/syncCommitteeError.ts +0 -36
  616. package/src/chain/errors/voluntaryExitError.ts +0 -13
  617. package/src/chain/forkChoice/index.ts +0 -112
  618. package/src/chain/genesis/genesis.ts +0 -190
  619. package/src/chain/genesis/interface.ts +0 -14
  620. package/src/chain/index.ts +0 -6
  621. package/src/chain/initState.ts +0 -221
  622. package/src/chain/interface.ts +0 -280
  623. package/src/chain/lightClient/index.ts +0 -764
  624. package/src/chain/lightClient/proofs.ts +0 -85
  625. package/src/chain/lightClient/types.ts +0 -33
  626. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  627. package/src/chain/opPools/attestationPool.ts +0 -282
  628. package/src/chain/opPools/index.ts +0 -5
  629. package/src/chain/opPools/opPool.ts +0 -462
  630. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -169
  631. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  632. package/src/chain/opPools/types.ts +0 -35
  633. package/src/chain/opPools/utils.ts +0 -65
  634. package/src/chain/options.ts +0 -138
  635. package/src/chain/prepareNextSlot.ts +0 -277
  636. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  637. package/src/chain/produceBlock/index.ts +0 -2
  638. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  639. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  640. package/src/chain/regen/errors.ts +0 -30
  641. package/src/chain/regen/index.ts +0 -4
  642. package/src/chain/regen/interface.ts +0 -93
  643. package/src/chain/regen/queued.ts +0 -317
  644. package/src/chain/regen/regen.ts +0 -424
  645. package/src/chain/reprocess.ts +0 -161
  646. package/src/chain/rewards/attestationsRewards.ts +0 -196
  647. package/src/chain/rewards/blockRewards.ts +0 -150
  648. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  649. package/src/chain/seenCache/index.ts +0 -5
  650. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  651. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  652. package/src/chain/seenCache/seenAttesters.ts +0 -58
  653. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  654. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  655. package/src/chain/seenCache/seenCommittee.ts +0 -43
  656. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  657. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  658. package/src/chain/serializeState.ts +0 -32
  659. package/src/chain/shufflingCache.ts +0 -238
  660. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  661. package/src/chain/stateCache/datastore/db.ts +0 -36
  662. package/src/chain/stateCache/datastore/file.ts +0 -53
  663. package/src/chain/stateCache/datastore/index.ts +0 -2
  664. package/src/chain/stateCache/datastore/types.ts +0 -13
  665. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  666. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  667. package/src/chain/stateCache/index.ts +0 -3
  668. package/src/chain/stateCache/mapMetrics.ts +0 -52
  669. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -837
  670. package/src/chain/stateCache/types.ts +0 -86
  671. package/src/chain/validation/aggregateAndProof.ts +0 -258
  672. package/src/chain/validation/attestation.ts +0 -885
  673. package/src/chain/validation/attesterSlashing.ts +0 -61
  674. package/src/chain/validation/blobSidecar.ts +0 -301
  675. package/src/chain/validation/block.ts +0 -188
  676. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  677. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  678. package/src/chain/validation/index.ts +0 -9
  679. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -46
  680. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -68
  681. package/src/chain/validation/proposerSlashing.ts +0 -54
  682. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  683. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  684. package/src/chain/validation/signatureSets/index.ts +0 -6
  685. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  686. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  687. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  688. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  689. package/src/chain/validation/syncCommittee.ts +0 -165
  690. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  691. package/src/chain/validation/voluntaryExit.ts +0 -58
  692. package/src/chain/validatorMonitor.ts +0 -1309
  693. package/src/constants/constants.ts +0 -15
  694. package/src/constants/index.ts +0 -2
  695. package/src/constants/network.ts +0 -52
  696. package/src/db/beacon.ts +0 -113
  697. package/src/db/buckets.ts +0 -80
  698. package/src/db/index.ts +0 -2
  699. package/src/db/interface.ts +0 -76
  700. package/src/db/options.ts +0 -7
  701. package/src/db/repositories/attesterSlashing.ts +0 -38
  702. package/src/db/repositories/backfilledRanges.ts +0 -29
  703. package/src/db/repositories/blobSidecars.ts +0 -37
  704. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  705. package/src/db/repositories/block.ts +0 -33
  706. package/src/db/repositories/blockArchive.ts +0 -170
  707. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  708. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  709. package/src/db/repositories/checkpointState.ts +0 -31
  710. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  711. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  712. package/src/db/repositories/depositDataRoot.ts +0 -80
  713. package/src/db/repositories/depositEvent.ts +0 -32
  714. package/src/db/repositories/eth1Data.ts +0 -33
  715. package/src/db/repositories/index.ts +0 -20
  716. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  717. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  718. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  719. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  720. package/src/db/repositories/proposerSlashing.ts +0 -15
  721. package/src/db/repositories/stateArchive.ts +0 -69
  722. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  723. package/src/db/repositories/voluntaryExit.ts +0 -15
  724. package/src/db/single/index.ts +0 -2
  725. package/src/db/single/preGenesisState.ts +0 -37
  726. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  727. package/src/eth1/errors.ts +0 -40
  728. package/src/eth1/eth1DataCache.ts +0 -26
  729. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  730. package/src/eth1/eth1DepositsCache.ts +0 -141
  731. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  732. package/src/eth1/index.ts +0 -157
  733. package/src/eth1/interface.ts +0 -131
  734. package/src/eth1/options.ts +0 -28
  735. package/src/eth1/provider/eth1Provider.ts +0 -229
  736. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  737. package/src/eth1/provider/jwt.ts +0 -36
  738. package/src/eth1/provider/utils.ts +0 -136
  739. package/src/eth1/stream.ts +0 -75
  740. package/src/eth1/utils/depositContract.ts +0 -37
  741. package/src/eth1/utils/deposits.ts +0 -70
  742. package/src/eth1/utils/eth1Data.ts +0 -100
  743. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  744. package/src/eth1/utils/eth1Vote.ts +0 -142
  745. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  746. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  747. package/src/execution/builder/cache.ts +0 -39
  748. package/src/execution/builder/http.ts +0 -229
  749. package/src/execution/builder/index.ts +0 -27
  750. package/src/execution/builder/interface.ts +0 -49
  751. package/src/execution/builder/utils.ts +0 -19
  752. package/src/execution/engine/disabled.ts +0 -35
  753. package/src/execution/engine/http.ts +0 -644
  754. package/src/execution/engine/index.ts +0 -63
  755. package/src/execution/engine/interface.ts +0 -199
  756. package/src/execution/engine/mock.ts +0 -493
  757. package/src/execution/engine/payloadIdCache.ts +0 -54
  758. package/src/execution/engine/types.ts +0 -640
  759. package/src/execution/engine/utils.ts +0 -136
  760. package/src/execution/index.ts +0 -4
  761. package/src/index.ts +0 -20
  762. package/src/metrics/index.ts +0 -4
  763. package/src/metrics/metrics/beacon.ts +0 -390
  764. package/src/metrics/metrics/lodestar.ts +0 -1870
  765. package/src/metrics/metrics.ts +0 -43
  766. package/src/metrics/nodeJsMetrics.ts +0 -19
  767. package/src/metrics/options.ts +0 -22
  768. package/src/metrics/server/http.ts +0 -114
  769. package/src/metrics/server/index.ts +0 -1
  770. package/src/metrics/utils/avgMinMax.ts +0 -87
  771. package/src/metrics/utils/gauge.ts +0 -22
  772. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  773. package/src/monitoring/clientStats.ts +0 -297
  774. package/src/monitoring/index.ts +0 -2
  775. package/src/monitoring/options.ts +0 -19
  776. package/src/monitoring/properties.ts +0 -152
  777. package/src/monitoring/service.ts +0 -235
  778. package/src/monitoring/system.ts +0 -146
  779. package/src/monitoring/types.ts +0 -21
  780. package/src/network/core/events.ts +0 -59
  781. package/src/network/core/index.ts +0 -3
  782. package/src/network/core/metrics.ts +0 -304
  783. package/src/network/core/networkCore.ts +0 -599
  784. package/src/network/core/networkCoreWorker.ts +0 -176
  785. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  786. package/src/network/core/types.ts +0 -119
  787. package/src/network/discv5/index.ts +0 -132
  788. package/src/network/discv5/types.ts +0 -74
  789. package/src/network/discv5/utils.ts +0 -50
  790. package/src/network/discv5/worker.ts +0 -137
  791. package/src/network/events.ts +0 -51
  792. package/src/network/forks.ts +0 -94
  793. package/src/network/gossip/constants.ts +0 -15
  794. package/src/network/gossip/encoding.ts +0 -111
  795. package/src/network/gossip/errors.ts +0 -7
  796. package/src/network/gossip/gossipsub.ts +0 -384
  797. package/src/network/gossip/index.ts +0 -4
  798. package/src/network/gossip/interface.ts +0 -215
  799. package/src/network/gossip/metrics.ts +0 -71
  800. package/src/network/gossip/scoringParameters.ts +0 -333
  801. package/src/network/gossip/topic.ts +0 -332
  802. package/src/network/index.ts +0 -8
  803. package/src/network/interface.ts +0 -134
  804. package/src/network/libp2p/error.ts +0 -55
  805. package/src/network/libp2p/index.ts +0 -153
  806. package/src/network/metadata.ts +0 -162
  807. package/src/network/network.ts +0 -767
  808. package/src/network/networkConfig.ts +0 -12
  809. package/src/network/options.ts +0 -70
  810. package/src/network/peers/client.ts +0 -29
  811. package/src/network/peers/datastore.ts +0 -188
  812. package/src/network/peers/discover.ts +0 -647
  813. package/src/network/peers/index.ts +0 -2
  814. package/src/network/peers/peerManager.ts +0 -899
  815. package/src/network/peers/peersData.ts +0 -65
  816. package/src/network/peers/score/constants.ts +0 -34
  817. package/src/network/peers/score/index.ts +0 -4
  818. package/src/network/peers/score/interface.ts +0 -74
  819. package/src/network/peers/score/score.ts +0 -200
  820. package/src/network/peers/score/store.ts +0 -95
  821. package/src/network/peers/score/utils.ts +0 -37
  822. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  823. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  824. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  825. package/src/network/peers/utils/index.ts +0 -4
  826. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  827. package/src/network/peers/utils/subnetMap.ts +0 -88
  828. package/src/network/processor/aggregatorTracker.ts +0 -38
  829. package/src/network/processor/extractSlotRootFns.ts +0 -64
  830. package/src/network/processor/gossipHandlers.ts +0 -951
  831. package/src/network/processor/gossipQueues/index.ts +0 -114
  832. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  833. package/src/network/processor/gossipQueues/linear.ts +0 -162
  834. package/src/network/processor/gossipQueues/types.ts +0 -57
  835. package/src/network/processor/gossipValidatorFn.ts +0 -142
  836. package/src/network/processor/index.ts +0 -496
  837. package/src/network/processor/types.ts +0 -27
  838. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  839. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  840. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  841. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  842. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  843. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  844. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  845. package/src/network/reqresp/handlers/index.ts +0 -78
  846. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  847. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  848. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  849. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  850. package/src/network/reqresp/index.ts +0 -2
  851. package/src/network/reqresp/interface.ts +0 -45
  852. package/src/network/reqresp/protocols.ts +0 -146
  853. package/src/network/reqresp/rateLimit.ts +0 -112
  854. package/src/network/reqresp/score.ts +0 -70
  855. package/src/network/reqresp/types.ts +0 -174
  856. package/src/network/reqresp/utils/collect.ts +0 -84
  857. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  858. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  859. package/src/network/statusCache.ts +0 -17
  860. package/src/network/subnets/attnetsService.ts +0 -385
  861. package/src/network/subnets/index.ts +0 -2
  862. package/src/network/subnets/interface.ts +0 -66
  863. package/src/network/subnets/syncnetsService.ts +0 -147
  864. package/src/network/subnets/util.ts +0 -63
  865. package/src/network/util.ts +0 -29
  866. package/src/node/index.ts +0 -2
  867. package/src/node/nodejs.ts +0 -349
  868. package/src/node/notifier.ts +0 -206
  869. package/src/node/options.ts +0 -51
  870. package/src/node/utils/interop/deposits.ts +0 -53
  871. package/src/node/utils/interop/state.ts +0 -59
  872. package/src/node/utils/lightclient.ts +0 -7
  873. package/src/node/utils/state.ts +0 -37
  874. package/src/sync/backfill/backfill.ts +0 -893
  875. package/src/sync/backfill/errors.ts +0 -23
  876. package/src/sync/backfill/index.ts +0 -1
  877. package/src/sync/backfill/verify.ts +0 -58
  878. package/src/sync/constants.ts +0 -71
  879. package/src/sync/index.ts +0 -2
  880. package/src/sync/interface.ts +0 -55
  881. package/src/sync/options.ts +0 -45
  882. package/src/sync/range/batch.ts +0 -455
  883. package/src/sync/range/chain.ts +0 -715
  884. package/src/sync/range/range.ts +0 -354
  885. package/src/sync/range/utils/batches.ts +0 -119
  886. package/src/sync/range/utils/chainTarget.ts +0 -62
  887. package/src/sync/range/utils/hashBlocks.ts +0 -27
  888. package/src/sync/range/utils/index.ts +0 -5
  889. package/src/sync/range/utils/peerBalancer.ts +0 -184
  890. package/src/sync/range/utils/updateChains.ts +0 -66
  891. package/src/sync/sync.ts +0 -290
  892. package/src/sync/types.ts +0 -57
  893. package/src/sync/unknownBlock.ts +0 -859
  894. package/src/sync/utils/downloadByRange.ts +0 -808
  895. package/src/sync/utils/downloadByRoot.ts +0 -560
  896. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  897. package/src/sync/utils/remoteSyncType.ts +0 -144
  898. package/src/util/address.ts +0 -3
  899. package/src/util/array.ts +0 -311
  900. package/src/util/asyncIterableToEvents.ts +0 -164
  901. package/src/util/binarySearch.ts +0 -48
  902. package/src/util/bitArray.ts +0 -84
  903. package/src/util/blobs.ts +0 -210
  904. package/src/util/bufferPool.ts +0 -95
  905. package/src/util/bytes.ts +0 -11
  906. package/src/util/chunkify.ts +0 -27
  907. package/src/util/clock.ts +0 -212
  908. package/src/util/dataColumns.ts +0 -415
  909. package/src/util/dependentRoot.ts +0 -47
  910. package/src/util/enum.ts +0 -17
  911. package/src/util/error.ts +0 -56
  912. package/src/util/eventLoop.ts +0 -22
  913. package/src/util/execution.ts +0 -223
  914. package/src/util/file.ts +0 -52
  915. package/src/util/forkChoice.ts +0 -5
  916. package/src/util/forkName.ts +0 -20
  917. package/src/util/graffiti.ts +0 -39
  918. package/src/util/hex.ts +0 -9
  919. package/src/util/index.ts +0 -2
  920. package/src/util/ip.ts +0 -6
  921. package/src/util/itTrigger.ts +0 -49
  922. package/src/util/kzg.ts +0 -3
  923. package/src/util/map.ts +0 -77
  924. package/src/util/metadata.ts +0 -22
  925. package/src/util/multifork.ts +0 -69
  926. package/src/util/numpy.ts +0 -8
  927. package/src/util/peerId.ts +0 -16
  928. package/src/util/profile.ts +0 -54
  929. package/src/util/promises.ts +0 -14
  930. package/src/util/queue/errors.ts +0 -14
  931. package/src/util/queue/fnQueue.ts +0 -16
  932. package/src/util/queue/index.ts +0 -4
  933. package/src/util/queue/itemQueue.ts +0 -128
  934. package/src/util/queue/options.ts +0 -37
  935. package/src/util/serializedCache.ts +0 -20
  936. package/src/util/set.ts +0 -62
  937. package/src/util/shuffle.ts +0 -21
  938. package/src/util/sortBy.ts +0 -19
  939. package/src/util/sszBytes.ts +0 -481
  940. package/src/util/strictEvents.ts +0 -8
  941. package/src/util/time.ts +0 -13
  942. package/src/util/timeSeries.ts +0 -118
  943. package/src/util/types.ts +0 -31
  944. package/src/util/workerEvents.ts +0 -142
  945. package/src/util/wrapError.ts +0 -27
@@ -1,647 +0,0 @@
1
- import type {PeerId, PeerInfo, PrivateKey} from "@libp2p/interface";
2
- import {Multiaddr} from "@multiformats/multiaddr";
3
- import {ENR} from "@chainsafe/enr";
4
- import {BeaconConfig} from "@lodestar/config";
5
- import {LoggerNode} from "@lodestar/logger/node";
6
- import {ATTESTATION_SUBNET_COUNT, ForkSeq, SYNC_COMMITTEE_SUBNET_COUNT} from "@lodestar/params";
7
- import {CustodyIndex, SubnetID} from "@lodestar/types";
8
- import {bytesToInt, pruneSetToMax, sleep, toHex} from "@lodestar/utils";
9
- import {IClock} from "../../util/clock.js";
10
- import {getCustodyGroups} from "../../util/dataColumns.js";
11
- import {NetworkCoreMetrics} from "../core/metrics.js";
12
- import {Discv5Worker} from "../discv5/index.js";
13
- import {LodestarDiscv5Opts} from "../discv5/types.js";
14
- import {Libp2p} from "../interface.js";
15
- import {getLibp2pError} from "../libp2p/error.js";
16
- import {ENRKey, SubnetType} from "../metadata.js";
17
- import {NetworkConfig} from "../networkConfig.js";
18
- import {computeNodeId} from "../subnets/interface.js";
19
- import {getConnectionsMap, prettyPrintPeerId} from "../util.js";
20
- import {IPeerRpcScoreStore, ScoreState} from "./score/index.js";
21
- import {deserializeEnrSubnets, zeroAttnets, zeroSyncnets} from "./utils/enrSubnetsDeserialize.js";
22
- import {type CustodyGroupQueries} from "./utils/prioritizePeers.js";
23
-
24
- /** Max number of cached ENRs after discovering a good peer */
25
- const MAX_CACHED_ENRS = 100;
26
- /** Max age a cached ENR will be considered for dial */
27
- const MAX_CACHED_ENR_AGE_MS = 5 * 60 * 1000;
28
-
29
- export type PeerDiscoveryOpts = {
30
- discv5FirstQueryDelayMs: number;
31
- discv5: LodestarDiscv5Opts;
32
- connectToDiscv5Bootnodes?: boolean;
33
- };
34
-
35
- export type PeerDiscoveryModules = {
36
- privateKey: PrivateKey;
37
- networkConfig: NetworkConfig;
38
- libp2p: Libp2p;
39
- clock: IClock;
40
- peerRpcScores: IPeerRpcScoreStore;
41
- metrics: NetworkCoreMetrics | null;
42
- logger: LoggerNode;
43
- };
44
-
45
- type PeerIdStr = string;
46
-
47
- enum QueryStatusCode {
48
- NotActive,
49
- Active,
50
- }
51
- type QueryStatus = {code: QueryStatusCode.NotActive} | {code: QueryStatusCode.Active; count: number};
52
-
53
- export enum DiscoveredPeerStatus {
54
- bad_score = "bad_score",
55
- already_connected = "already_connected",
56
- already_dialing = "already_dialing",
57
- error = "error",
58
- attempt_dial = "attempt_dial",
59
- cached = "cached",
60
- dropped = "dropped",
61
- no_multiaddrs = "no_multiaddrs",
62
- peer_cooling_down = "peer_cooling_down",
63
- }
64
-
65
- export enum NotDialReason {
66
- not_contain_requested_sampling_groups = "not_contain_requested_sampling_groups",
67
- not_contain_requested_attnet_syncnet_subnets = "not_contain_requested_attnet_syncnet_subnets",
68
- no_multiaddrs = "no_multiaddrs",
69
- }
70
-
71
- type UnixMs = number;
72
- /**
73
- * Maintain peersToConnect to avoid having too many topic peers at some point.
74
- * See https://github.com/ChainSafe/lodestar/issues/5741#issuecomment-1643113577
75
- */
76
- type SubnetRequestInfo = {
77
- toUnixMs: UnixMs;
78
- // when node is stable this should be 0
79
- peersToConnect: number;
80
- };
81
-
82
- export type SubnetDiscvQueryMs = {
83
- subnet: SubnetID;
84
- type: SubnetType;
85
- toUnixMs: UnixMs;
86
- maxPeersToDiscover: number;
87
- };
88
-
89
- type CachedENR = {
90
- peerId: PeerId;
91
- multiaddrTCP: Multiaddr;
92
- subnets: Record<SubnetType, boolean[]>;
93
- addedUnixMs: number;
94
- // custodyGroups is null for pre-fulu
95
- custodyGroups: number[] | null;
96
- };
97
-
98
- /**
99
- * PeerDiscovery discovers and dials new peers, and executes discv5 queries.
100
- * Currently relies on discv5 automatic periodic queries.
101
- */
102
- export class PeerDiscovery {
103
- readonly discv5: Discv5Worker;
104
- private libp2p: Libp2p;
105
- private readonly clock: IClock;
106
- private peerRpcScores: IPeerRpcScoreStore;
107
- private metrics: NetworkCoreMetrics | null;
108
- private logger: LoggerNode;
109
- private config: BeaconConfig;
110
- private cachedENRs = new Map<PeerIdStr, CachedENR>();
111
- private randomNodeQuery: QueryStatus = {code: QueryStatusCode.NotActive};
112
- private peersToConnect = 0;
113
- private subnetRequests: Record<SubnetType, Map<number, SubnetRequestInfo>> = {
114
- attnets: new Map(),
115
- syncnets: new Map(),
116
- };
117
-
118
- private custodyGroupQueries: CustodyGroupQueries;
119
-
120
- private discv5StartMs: number;
121
- private discv5FirstQueryDelayMs: number;
122
-
123
- private connectToDiscv5BootnodesOnStart: boolean | undefined = false;
124
-
125
- constructor(modules: PeerDiscoveryModules, opts: PeerDiscoveryOpts, discv5: Discv5Worker) {
126
- const {libp2p, clock, peerRpcScores, metrics, logger, networkConfig} = modules;
127
- this.libp2p = libp2p;
128
- this.clock = clock;
129
- this.peerRpcScores = peerRpcScores;
130
- this.metrics = metrics;
131
- this.logger = logger;
132
- this.config = networkConfig.config;
133
- this.discv5 = discv5;
134
- this.custodyGroupQueries = new Map();
135
-
136
- this.discv5StartMs = 0;
137
- this.discv5StartMs = Date.now();
138
- this.discv5FirstQueryDelayMs = opts.discv5FirstQueryDelayMs;
139
- this.connectToDiscv5BootnodesOnStart = opts.connectToDiscv5Bootnodes;
140
-
141
- this.libp2p.addEventListener("peer:discovery", this.onDiscoveredPeer);
142
- this.discv5.on("discovered", this.onDiscoveredENR);
143
-
144
- const numBootEnrs = opts.discv5.bootEnrs.length;
145
- if (numBootEnrs === 0) {
146
- this.logger.error("PeerDiscovery: discv5 has no boot enr");
147
- } else {
148
- this.logger.verbose("PeerDiscovery: number of bootEnrs", {bootEnrs: numBootEnrs});
149
- }
150
-
151
- if (this.connectToDiscv5BootnodesOnStart) {
152
- // In devnet scenarios, especially, we want more control over which peers we connect to.
153
- // Only dial the discv5.bootEnrs if the option
154
- // network.connectToDiscv5Bootnodes has been set to true.
155
- for (const bootENR of opts.discv5.bootEnrs) {
156
- this.onDiscoveredENR(ENR.decodeTxt(bootENR)).catch((e) =>
157
- this.logger.error("error onDiscoveredENR bootENR", {}, e)
158
- );
159
- }
160
- }
161
-
162
- if (metrics) {
163
- metrics.discovery.cachedENRsSize.addCollect(() => {
164
- metrics.discovery.cachedENRsSize.set(this.cachedENRs.size);
165
- metrics.discovery.peersToConnect.set(this.peersToConnect);
166
-
167
- // PeerDAS metrics
168
- const groupsToConnect = Array.from(this.custodyGroupQueries.values());
169
- const groupPeersToConnect = groupsToConnect.reduce((acc, elem) => acc + elem, 0);
170
- metrics.discovery.custodyGroupPeersToConnect.set(groupPeersToConnect);
171
- metrics.discovery.custodyGroupsToConnect.set(groupsToConnect.filter((elem) => elem > 0).length);
172
-
173
- for (const type of [SubnetType.attnets, SubnetType.syncnets]) {
174
- const subnetPeersToConnect = Array.from(this.subnetRequests[type].values()).reduce(
175
- (acc, {peersToConnect}) => acc + peersToConnect,
176
- 0
177
- );
178
- metrics.discovery.subnetPeersToConnect.set({type}, subnetPeersToConnect);
179
- metrics.discovery.subnetsToConnect.set({type}, this.subnetRequests[type].size);
180
- }
181
- });
182
- }
183
- }
184
-
185
- static async init(modules: PeerDiscoveryModules, opts: PeerDiscoveryOpts): Promise<PeerDiscovery> {
186
- const discv5 = await Discv5Worker.init({
187
- discv5: opts.discv5,
188
- privateKey: modules.privateKey,
189
- metrics: modules.metrics ?? undefined,
190
- logger: modules.logger,
191
- config: modules.networkConfig.config,
192
- genesisTime: modules.clock.genesisTime,
193
- });
194
-
195
- return new PeerDiscovery(modules, opts, discv5);
196
- }
197
-
198
- async stop(): Promise<void> {
199
- this.libp2p.removeEventListener("peer:discovery", this.onDiscoveredPeer);
200
- this.discv5.off("discovered", this.onDiscoveredENR);
201
- await this.discv5.close();
202
- }
203
-
204
- /**
205
- * Request to find peers, both on specific subnets and in general
206
- * pre-fulu custodyGroupRequests is empty
207
- */
208
- discoverPeers(
209
- peersToConnect: number,
210
- custodyGroupRequests: CustodyGroupQueries,
211
- subnetRequests: SubnetDiscvQueryMs[] = []
212
- ): void {
213
- const subnetsToDiscoverPeers: SubnetDiscvQueryMs[] = [];
214
- const cachedENRsToDial = new Map<PeerIdStr, CachedENR>();
215
- // Iterate in reverse to consider first the most recent ENRs
216
- const cachedENRsReverse: CachedENR[] = [];
217
- const pendingDials = new Set(
218
- this.libp2p.services.components.connectionManager
219
- .getDialQueue()
220
- .map((pendingDial) => pendingDial.peerId?.toString())
221
- );
222
- for (const [id, cachedENR] of this.cachedENRs.entries()) {
223
- if (
224
- // time expired or
225
- Date.now() - cachedENR.addedUnixMs > MAX_CACHED_ENR_AGE_MS ||
226
- // already dialing
227
- pendingDials.has(id)
228
- ) {
229
- this.cachedENRs.delete(id);
230
- } else if (!this.peerRpcScores.isCoolingDown(id)) {
231
- cachedENRsReverse.push(cachedENR);
232
- }
233
- }
234
- cachedENRsReverse.reverse();
235
-
236
- this.peersToConnect += peersToConnect;
237
-
238
- // starting from PeerDAS, we need to prioritize column subnet peers first in order to have stable subnet sampling
239
- const groupsToDiscover = new Set<CustodyIndex>();
240
- let groupPeersToDiscover = 0;
241
-
242
- const forkSeq = this.config.getForkSeq(this.clock.currentSlot);
243
- if (forkSeq >= ForkSeq.fulu) {
244
- group: for (const [group, maxPeersToConnect] of custodyGroupRequests) {
245
- let cachedENRsInGroup = 0;
246
- for (const cachedENR of cachedENRsReverse) {
247
- if (cachedENR.custodyGroups?.includes(group)) {
248
- cachedENRsToDial.set(cachedENR.peerId.toString(), cachedENR);
249
-
250
- if (++cachedENRsInGroup >= maxPeersToConnect) {
251
- continue group;
252
- }
253
- }
254
-
255
- const groupPeersToConnect = Math.max(maxPeersToConnect - cachedENRsInGroup, 0);
256
- this.custodyGroupQueries.set(group, groupPeersToConnect);
257
- groupsToDiscover.add(group);
258
- groupPeersToDiscover += groupPeersToConnect;
259
- }
260
- }
261
- }
262
-
263
- subnet: for (const subnetRequest of subnetRequests) {
264
- // Get cached ENRs from the discovery service that are in the requested `subnetId`, but not connected yet
265
- let cachedENRsInSubnet = 0;
266
-
267
- // only dial attnet/syncnet peers if subnet sampling peers are stable
268
- if (groupPeersToDiscover === 0) {
269
- for (const cachedENR of cachedENRsReverse) {
270
- if (cachedENR.subnets[subnetRequest.type][subnetRequest.subnet]) {
271
- cachedENRsToDial.set(cachedENR.peerId.toString(), cachedENR);
272
-
273
- if (++cachedENRsInSubnet >= subnetRequest.maxPeersToDiscover) {
274
- continue subnet;
275
- }
276
- }
277
- }
278
- }
279
-
280
- const subnetPeersToConnect = Math.max(subnetRequest.maxPeersToDiscover - cachedENRsInSubnet, 0);
281
-
282
- // Extend the toUnixMs for this subnet
283
- const prevUnixMs = this.subnetRequests[subnetRequest.type].get(subnetRequest.subnet)?.toUnixMs;
284
- const newUnixMs =
285
- prevUnixMs !== undefined && prevUnixMs > subnetRequest.toUnixMs ? prevUnixMs : subnetRequest.toUnixMs;
286
- this.subnetRequests[subnetRequest.type].set(subnetRequest.subnet, {
287
- toUnixMs: newUnixMs,
288
- peersToConnect: subnetPeersToConnect,
289
- });
290
-
291
- // Query a discv5 query if more peers are needed
292
- subnetsToDiscoverPeers.push(subnetRequest);
293
- }
294
-
295
- // If subnetRequests won't connect enough peers for peersToConnect, add more
296
- if (cachedENRsToDial.size < peersToConnect) {
297
- for (const cachedENR of cachedENRsReverse) {
298
- cachedENRsToDial.set(cachedENR.peerId.toString(), cachedENR);
299
- if (cachedENRsToDial.size >= peersToConnect) {
300
- break;
301
- }
302
- }
303
- }
304
-
305
- // Queue an outgoing connection request to the cached peers that are on `s.subnet_id`.
306
- // If we connect to the cached peers before the discovery query starts, then we potentially
307
- // save a costly discovery query.
308
- for (const [id, cachedENRToDial] of cachedENRsToDial) {
309
- this.cachedENRs.delete(id);
310
- void this.dialPeer(cachedENRToDial);
311
- }
312
-
313
- // Run a discv5 subnet query to try to discover new peers
314
- const shouldRunFindRandomNodeQuery = subnetsToDiscoverPeers.length > 0 || cachedENRsToDial.size < peersToConnect;
315
- if (shouldRunFindRandomNodeQuery) {
316
- void this.runFindRandomNodeQuery();
317
- }
318
-
319
- this.logger.debug("Discover peers outcome", {
320
- peersToConnect,
321
- peersAvailableToDial: cachedENRsToDial.size,
322
- subnetsToDiscover: subnetsToDiscoverPeers.length,
323
- groupsToDiscover: Array.from(groupsToDiscover).join(","),
324
- groupPeersToDiscover,
325
- shouldRunFindRandomNodeQuery,
326
- });
327
- }
328
-
329
- /**
330
- * Request discv5 to find peers if there is no query in progress
331
- */
332
- private async runFindRandomNodeQuery(): Promise<void> {
333
- // Delay the 1st query after starting discv5
334
- // See https://github.com/ChainSafe/lodestar/issues/3423
335
- const msSinceDiscv5Start = Date.now() - this.discv5StartMs;
336
- if (msSinceDiscv5Start <= this.discv5FirstQueryDelayMs) {
337
- await sleep(this.discv5FirstQueryDelayMs - msSinceDiscv5Start);
338
- }
339
-
340
- // Run a general discv5 query if one is not already in progress
341
- if (this.randomNodeQuery.code === QueryStatusCode.Active) {
342
- this.metrics?.discovery.findNodeQueryRequests.inc({action: "ignore"});
343
- return;
344
- }
345
- this.metrics?.discovery.findNodeQueryRequests.inc({action: "start"});
346
-
347
- // Use async version to prevent blocking the event loop
348
- // Time to completion of this function is not critical, in case this async call add extra lag
349
- this.randomNodeQuery = {code: QueryStatusCode.Active, count: 0};
350
- const timer = this.metrics?.discovery.findNodeQueryTime.startTimer();
351
-
352
- try {
353
- const enrs = await this.discv5.findRandomNode();
354
- this.metrics?.discovery.findNodeQueryEnrCount.inc(enrs.length);
355
- } catch (e) {
356
- this.logger.error("Error on discv5.findNode()", {}, e as Error);
357
- } finally {
358
- this.randomNodeQuery = {code: QueryStatusCode.NotActive};
359
- timer?.();
360
- }
361
- }
362
-
363
- /**
364
- * Progressively called by libp2p as a result of peer discovery or updates to its peer store
365
- */
366
- private onDiscoveredPeer = (evt: CustomEvent<PeerInfo>): void => {
367
- const {id, multiaddrs} = evt.detail;
368
-
369
- // libp2p may send us PeerInfos without multiaddrs https://github.com/libp2p/js-libp2p/issues/1873
370
- if (!multiaddrs || multiaddrs.length === 0) {
371
- this.metrics?.discovery.discoveredStatus.inc({status: DiscoveredPeerStatus.no_multiaddrs});
372
- return;
373
- }
374
-
375
- const attnets = zeroAttnets;
376
- const syncnets = zeroSyncnets;
377
-
378
- const status = this.handleDiscoveredPeer(id, multiaddrs[0], attnets, syncnets, undefined);
379
- this.logger.debug("Discovered peer via libp2p", {peer: prettyPrintPeerId(id), status});
380
- this.metrics?.discovery.discoveredStatus.inc({status});
381
- };
382
-
383
- /**
384
- * Progressively called by discv5 as a result of any query.
385
- */
386
- private onDiscoveredENR = async (enr: ENR): Promise<void> => {
387
- if (this.randomNodeQuery.code === QueryStatusCode.Active) {
388
- this.randomNodeQuery.count++;
389
- }
390
- const peerId = enr.peerId;
391
- // tcp multiaddr is known to be be present, checked inside the worker
392
- const multiaddrTCP = enr.getLocationMultiaddr(ENRKey.tcp);
393
- if (!multiaddrTCP) {
394
- this.logger.error("Discv5 worker sent enr without tcp multiaddr", {enr: enr.encodeTxt()});
395
- this.metrics?.discovery.discoveredStatus.inc({status: DiscoveredPeerStatus.error});
396
- return;
397
- }
398
- // Are this fields mandatory?
399
- const attnetsBytes = enr.kvs.get(ENRKey.attnets); // 64 bits
400
- const syncnetsBytes = enr.kvs.get(ENRKey.syncnets); // 4 bits
401
- const custodyGroupCountBytes = enr.kvs.get(ENRKey.cgc); // not preserialized value, is byte representation of number
402
- if (custodyGroupCountBytes === undefined) {
403
- this.logger.debug("peer discovered with no cgc, using default/miniumn", {
404
- custodyRequirement: this.config.CUSTODY_REQUIREMENT,
405
- peer: prettyPrintPeerId(peerId),
406
- });
407
- }
408
-
409
- // Use faster version than ssz's implementation that leverages pre-cached.
410
- // Some nodes don't serialize the bitfields properly, encoding the syncnets as attnets,
411
- // which cause the ssz implementation to throw on validation. deserializeEnrSubnets() will
412
- // never throw and treat too long or too short bitfields as zero-ed
413
- const attnets = attnetsBytes ? deserializeEnrSubnets(attnetsBytes, ATTESTATION_SUBNET_COUNT) : zeroAttnets;
414
- const syncnets = syncnetsBytes ? deserializeEnrSubnets(syncnetsBytes, SYNC_COMMITTEE_SUBNET_COUNT) : zeroSyncnets;
415
- const custodyGroupCount = custodyGroupCountBytes ? bytesToInt(custodyGroupCountBytes, "be") : undefined;
416
-
417
- const status = this.handleDiscoveredPeer(peerId, multiaddrTCP, attnets, syncnets, custodyGroupCount);
418
- this.logger.debug("Discovered peer via discv5", {
419
- peer: prettyPrintPeerId(peerId),
420
- status,
421
- cgc: custodyGroupCount,
422
- });
423
- this.metrics?.discovery.discoveredStatus.inc({status});
424
- };
425
-
426
- /**
427
- * Progressively called by peer discovery as a result of any query.
428
- */
429
- private handleDiscoveredPeer(
430
- peerId: PeerId,
431
- multiaddrTCP: Multiaddr,
432
- attnets: boolean[],
433
- syncnets: boolean[],
434
- custodySubnetCount?: number
435
- ): DiscoveredPeerStatus {
436
- const nodeId = computeNodeId(peerId);
437
- this.logger.debug("handleDiscoveredPeer", {nodeId: toHex(nodeId), peerId: peerId.toString()});
438
- try {
439
- // Check if peer is not banned or disconnected
440
- if (this.peerRpcScores.getScoreState(peerId) !== ScoreState.Healthy) {
441
- return DiscoveredPeerStatus.bad_score;
442
- }
443
-
444
- const peerIdStr = peerId.toString();
445
- // check if peer has a cool-down period applied for reconnection. Is possible that a peer has a
446
- // "healthy" score but has disconnected us and we are letting the reconnection cool-down before
447
- // they are eligible for reconnection
448
- if (this.peerRpcScores.isCoolingDown(peerIdStr)) {
449
- return DiscoveredPeerStatus.peer_cooling_down;
450
- }
451
-
452
- // Ignore connected peers. TODO: Is this check necessary?
453
- if (this.isPeerConnected(peerIdStr)) {
454
- return DiscoveredPeerStatus.already_connected;
455
- }
456
-
457
- // Ignore dialing peers
458
- if (
459
- this.libp2p.services.components.connectionManager
460
- .getDialQueue()
461
- .find((pendingDial) => pendingDial.peerId?.equals(peerId))
462
- ) {
463
- return DiscoveredPeerStatus.already_dialing;
464
- }
465
-
466
- const forkSeq = this.config.getForkSeq(this.clock.currentSlot);
467
-
468
- // Should dial peer?
469
- const cachedPeer: CachedENR = {
470
- peerId,
471
- multiaddrTCP,
472
- subnets: {attnets, syncnets},
473
- addedUnixMs: Date.now(),
474
- // for pre-fulu, custodyGroups is null
475
- custodyGroups:
476
- forkSeq >= ForkSeq.fulu
477
- ? getCustodyGroups(this.config, nodeId, custodySubnetCount ?? this.config.CUSTODY_REQUIREMENT)
478
- : null,
479
- };
480
-
481
- // Only dial peer if necessary
482
- if (this.shouldDialPeer(cachedPeer)) {
483
- void this.dialPeer(cachedPeer);
484
- return DiscoveredPeerStatus.attempt_dial;
485
- }
486
-
487
- // Add to pending good peers with a last seen time
488
- this.cachedENRs.set(peerId.toString(), cachedPeer);
489
- const dropped = pruneSetToMax(this.cachedENRs, MAX_CACHED_ENRS);
490
- // If the cache was already full, count the peer as dropped
491
- return dropped > 0 ? DiscoveredPeerStatus.dropped : DiscoveredPeerStatus.cached;
492
- } catch (e) {
493
- this.logger.error("Error onDiscovered", {}, e as Error);
494
- return DiscoveredPeerStatus.error;
495
- }
496
- }
497
-
498
- private shouldDialPeer(peer: CachedENR): boolean {
499
- const forkSeq = this.config.getForkSeq(this.clock.currentSlot);
500
- if (forkSeq >= ForkSeq.fulu && peer.custodyGroups !== null) {
501
- // pre-fulu `this.custodyGroupQueries` is empty
502
- // starting from fulu, we need to make sure we have stable subnet sampling peers first
503
- // given SAMPLES_PER_SLOT = 8 and 100 peers, we have 800 custody columns from peers
504
- // with NUMBER_OF_CUSTODY_GROUPS = 128, we have 800 / 128 = 6.25 peers per column in average
505
- // it would not be hard to find TARGET_SUBNET_PEERS(6) peers per sampling columns columns and TARGET_GROUP_PEERS_PER_SUBNET(4) peers per non-sampling columns
506
- // after some first heartbeats, we should have no more column requested, then go with conditions of prior forks
507
- let hasMatchingGroup = false;
508
- let custodyGroupRequestCount = 0;
509
- for (const [group, peersToConnect] of this.custodyGroupQueries.entries()) {
510
- if (peersToConnect <= 0) {
511
- this.custodyGroupQueries.delete(group);
512
- } else if (peer.custodyGroups.includes(group)) {
513
- this.custodyGroupQueries.set(group, Math.max(0, peersToConnect - 1));
514
- hasMatchingGroup = true;
515
- custodyGroupRequestCount += peersToConnect;
516
- }
517
- }
518
-
519
- // if subnet sampling peers are not stable and this peer is not in the requested columns, ignore it
520
- if (custodyGroupRequestCount > 0 && !hasMatchingGroup) {
521
- this.metrics?.discovery.notDialReason.inc({reason: NotDialReason.not_contain_requested_sampling_groups});
522
- return false;
523
- }
524
- }
525
-
526
- // logics up to Deneb fork
527
- for (const type of [SubnetType.attnets, SubnetType.syncnets]) {
528
- for (const [subnet, {toUnixMs, peersToConnect}] of this.subnetRequests[type].entries()) {
529
- if (toUnixMs < Date.now() || peersToConnect === 0) {
530
- // Prune all requests so that we don't have to loop again
531
- // if we have low subnet peers then PeerManager will update us again with subnet + toUnixMs + peersToConnect
532
- this.subnetRequests[type].delete(subnet);
533
- } else {
534
- // not expired and peersToConnect > 0
535
- // if we have enough subnet peers, no need to dial more or we may have performance issues
536
- // see https://github.com/ChainSafe/lodestar/issues/5741#issuecomment-1643113577
537
- if (peer.subnets[type][subnet]) {
538
- this.subnetRequests[type].set(subnet, {toUnixMs, peersToConnect: Math.max(peersToConnect - 1, 0)});
539
- return true;
540
- }
541
- }
542
- }
543
- }
544
-
545
- // ideally we may want to leave this cheap condition at the top of the function
546
- // however we want to also update peersToConnect in this.subnetRequests
547
- // the this.subnetRequests[type] gradually has 0 subnet so this function should be cheap enough
548
- if (this.peersToConnect > 0) {
549
- return true;
550
- }
551
-
552
- this.metrics?.discovery.notDialReason.inc({reason: NotDialReason.not_contain_requested_attnet_syncnet_subnets});
553
- return false;
554
- }
555
-
556
- /**
557
- * Handles DiscoveryEvent::QueryResult
558
- * Peers that have been returned by discovery requests are dialed here if they are suitable.
559
- */
560
- private async dialPeer(cachedPeer: CachedENR): Promise<void> {
561
- // we dial a peer when:
562
- // - this.peersToConnect > 0
563
- // - or the peer subscribes to a subnet that we want
564
- // If this.peersToConnect is 3 while we need to dial 5 subnet peers, in that case we want this.peersToConnect
565
- // to be 0 instead of a negative value. The next heartbeat may increase this.peersToConnect again if some dials
566
- // are not successful.
567
- this.peersToConnect = Math.max(this.peersToConnect - 1, 0);
568
-
569
- const {peerId, multiaddrTCP} = cachedPeer;
570
-
571
- // Must add the multiaddrs array to the address book before dialing
572
- // https://github.com/libp2p/js-libp2p/blob/aec8e3d3bb1b245051b60c2a890550d262d5b062/src/index.js#L638
573
- const peer = await this.libp2p.peerStore.merge(peerId, {multiaddrs: [multiaddrTCP]});
574
- if (peer.addresses.length === 0) {
575
- this.metrics?.discovery.notDialReason.inc({reason: NotDialReason.no_multiaddrs});
576
- return;
577
- }
578
-
579
- // Note: PeerDiscovery adds the multiaddrTCP beforehand
580
- const peerIdShort = prettyPrintPeerId(peerId);
581
- this.logger.debug("Dialing discovered peer", {peer: peerIdShort});
582
-
583
- this.metrics?.discovery.dialAttempts.inc();
584
- const timer = this.metrics?.discovery.dialTime.startTimer();
585
-
586
- // Note: `libp2p.dial()` is what libp2p.connectionManager autoDial calls
587
- // Note: You must listen to the connected events to listen for a successful conn upgrade
588
- try {
589
- await this.libp2p.dial(peerId);
590
- timer?.({status: "success"});
591
- this.logger.debug("Dialed discovered peer", {peer: peerIdShort});
592
- } catch (e) {
593
- timer?.({status: "error"});
594
- formatLibp2pDialError(e as Error);
595
- this.metrics?.discovery.dialError.inc({reason: getLibp2pError(e as Error)});
596
- this.logger.debug("Error dialing discovered peer", {peer: peerIdShort}, e as Error);
597
- }
598
- }
599
-
600
- /** Check if there is 1+ open connection with this peer */
601
- private isPeerConnected(peerIdStr: PeerIdStr): boolean {
602
- const connections = getConnectionsMap(this.libp2p).get(peerIdStr);
603
- return Boolean(connections?.value.some((connection) => connection.status === "open"));
604
- }
605
- }
606
-
607
- /**
608
- * libp2p errors with extremely noisy errors here, which are deeply nested taking 30-50 lines.
609
- * Some known errors:
610
- * ```
611
- * Error: The operation was aborted
612
- * Error: stream ended before 1 bytes became available
613
- * Error: Error occurred during XX handshake: Error occurred while verifying signed payload: Peer ID doesn't match libp2p public key
614
- * ```
615
- *
616
- * Also the error's message is not properly formatted, where the error message is indented and includes the full stack
617
- * ```
618
- * {
619
- * emessage: '\n' +
620
- * ' Error: stream ended before 1 bytes became available\n' +
621
- * ' at /home/lion/Code/eth2.0/lodestar/node_modules/it-reader/index.js:37:9\n' +
622
- * ' at runMicrotasks (<anonymous>)\n' +
623
- * ' at decoder (/home/lion/Code/eth2.0/lodestar/node_modules/it-length-prefixed/src/decode.js:113:22)\n' +
624
- * ' at first (/home/lion/Code/eth2.0/lodestar/node_modules/it-first/index.js:11:20)\n' +
625
- * ' at Object.exports.read (/home/lion/Code/eth2.0/lodestar/node_modules/multistream-select/src/multistream.js:31:15)\n' +
626
- * ' at module.exports (/home/lion/Code/eth2.0/lodestar/node_modules/multistream-select/src/select.js:21:19)\n' +
627
- * ' at Upgrader._encryptOutbound (/home/lion/Code/eth2.0/lodestar/node_modules/libp2p/src/upgrader.js:397:36)\n' +
628
- * ' at Upgrader.upgradeOutbound (/home/lion/Code/eth2.0/lodestar/node_modules/libp2p/src/upgrader.js:176:11)\n' +
629
- * ' at ClassIsWrapper.dial (/home/lion/Code/eth2.0/lodestar/node_modules/libp2p-tcp/src/index.js:49:18)'
630
- * }
631
- * ```
632
- *
633
- * Tracking issue https://github.com/libp2p/js-libp2p/issues/996
634
- */
635
- function formatLibp2pDialError(e: Error): void {
636
- const errorMessage = e.message.trim();
637
- const newlineIndex = errorMessage.indexOf("\n");
638
- e.message = newlineIndex !== -1 ? errorMessage.slice(0, newlineIndex) : errorMessage;
639
-
640
- if (
641
- e.message.includes("The operation was aborted") ||
642
- e.message.includes("stream ended before 1 bytes became available") ||
643
- e.message.includes("The operation was aborted")
644
- ) {
645
- e.stack = undefined;
646
- }
647
- }
@@ -1,2 +0,0 @@
1
- export * from "./peerManager.js";
2
- export * from "./score/index.js";