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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (902) hide show
  1. package/lib/api/impl/config/constants.d.ts +0 -5
  2. package/lib/api/impl/config/constants.js +1 -6
  3. package/lib/api/impl/config/constants.js.map +1 -1
  4. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
  5. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  6. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  7. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  8. package/lib/chain/bls/multithread/index.js +0 -1
  9. package/lib/chain/bls/multithread/index.js.map +1 -1
  10. package/lib/chain/emitter.d.ts +2 -2
  11. package/lib/db/buckets.d.ts +4 -4
  12. package/lib/db/buckets.js +4 -4
  13. package/lib/db/buckets.js.map +1 -1
  14. package/lib/db/repositories/blobSidecars.js +1 -1
  15. package/lib/db/repositories/blobSidecars.js.map +1 -1
  16. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  17. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  18. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  19. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  20. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  21. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  22. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  23. package/lib/network/core/networkCoreWorkerHandler.js +3 -9
  24. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  25. package/lib/network/discv5/index.js +1 -4
  26. package/lib/network/discv5/index.js.map +1 -1
  27. package/lib/network/gossip/gossipsub.d.ts +0 -1
  28. package/lib/network/gossip/gossipsub.js +16 -35
  29. package/lib/network/gossip/gossipsub.js.map +1 -1
  30. package/lib/network/gossip/metrics.d.ts +7 -15
  31. package/lib/network/gossip/metrics.js +6 -16
  32. package/lib/network/gossip/metrics.js.map +1 -1
  33. package/lib/network/libp2p/index.js +1 -9
  34. package/lib/network/libp2p/index.js.map +1 -1
  35. package/lib/network/metadata.js +1 -2
  36. package/lib/network/metadata.js.map +1 -1
  37. package/lib/network/network.js +4 -2
  38. package/lib/network/network.js.map +1 -1
  39. package/lib/network/peers/datastore.d.ts +2 -2
  40. package/lib/network/peers/datastore.js +2 -2
  41. package/lib/network/peers/datastore.js.map +1 -1
  42. package/lib/network/processor/index.d.ts +1 -1
  43. package/lib/network/processor/index.js +3 -2
  44. package/lib/network/processor/index.js.map +1 -1
  45. package/lib/sync/types.d.ts +1 -0
  46. package/lib/sync/types.js.map +1 -1
  47. package/lib/sync/unknownBlock.js +14 -12
  48. package/lib/sync/unknownBlock.js.map +1 -1
  49. package/lib/sync/utils/downloadByRoot.d.ts +1 -3
  50. package/lib/sync/utils/downloadByRoot.js +5 -32
  51. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  52. package/lib/util/blobs.js +3 -5
  53. package/lib/util/blobs.js.map +1 -1
  54. package/lib/util/execution.js +2 -19
  55. package/lib/util/execution.js.map +1 -1
  56. package/package.json +22 -32
  57. package/lib/api/impl/api.d.ts.map +0 -1
  58. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  59. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  60. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  61. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  62. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  63. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  64. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  65. package/lib/api/impl/config/constants.d.ts.map +0 -1
  66. package/lib/api/impl/config/index.d.ts.map +0 -1
  67. package/lib/api/impl/debug/index.d.ts.map +0 -1
  68. package/lib/api/impl/errors.d.ts.map +0 -1
  69. package/lib/api/impl/events/index.d.ts.map +0 -1
  70. package/lib/api/impl/index.d.ts.map +0 -1
  71. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  72. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  73. package/lib/api/impl/node/index.d.ts.map +0 -1
  74. package/lib/api/impl/node/utils.d.ts.map +0 -1
  75. package/lib/api/impl/proof/index.d.ts.map +0 -1
  76. package/lib/api/impl/types.d.ts.map +0 -1
  77. package/lib/api/impl/utils.d.ts.map +0 -1
  78. package/lib/api/impl/validator/index.d.ts.map +0 -1
  79. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  80. package/lib/api/index.d.ts.map +0 -1
  81. package/lib/api/options.d.ts.map +0 -1
  82. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  83. package/lib/api/rest/base.d.ts.map +0 -1
  84. package/lib/api/rest/index.d.ts.map +0 -1
  85. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  86. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  87. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  88. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  89. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  90. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  91. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  92. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  93. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  94. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  95. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  96. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  97. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  98. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  99. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  100. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  101. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  102. package/lib/chain/balancesCache.d.ts.map +0 -1
  103. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  104. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  105. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  106. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  107. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  108. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  109. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  110. package/lib/chain/blocks/index.d.ts.map +0 -1
  111. package/lib/chain/blocks/types.d.ts.map +0 -1
  112. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  113. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  114. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  115. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  116. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  117. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  118. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  119. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  120. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  121. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  122. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  123. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  124. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  125. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  126. package/lib/chain/bls/index.d.ts.map +0 -1
  127. package/lib/chain/bls/interface.d.ts.map +0 -1
  128. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  129. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  130. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  131. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  132. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  133. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  134. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  135. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  136. package/lib/chain/bls/utils.d.ts.map +0 -1
  137. package/lib/chain/chain.d.ts.map +0 -1
  138. package/lib/chain/emitter.d.ts.map +0 -1
  139. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  140. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  141. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  142. package/lib/chain/errors/blockError.d.ts.map +0 -1
  143. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  144. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  145. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  146. package/lib/chain/errors/index.d.ts.map +0 -1
  147. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  148. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  149. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  150. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  151. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  152. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  153. package/lib/chain/genesis/interface.d.ts.map +0 -1
  154. package/lib/chain/index.d.ts.map +0 -1
  155. package/lib/chain/initState.d.ts.map +0 -1
  156. package/lib/chain/interface.d.ts.map +0 -1
  157. package/lib/chain/lightClient/index.d.ts.map +0 -1
  158. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  159. package/lib/chain/lightClient/types.d.ts.map +0 -1
  160. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  161. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  162. package/lib/chain/opPools/index.d.ts.map +0 -1
  163. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  164. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  165. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  166. package/lib/chain/opPools/types.d.ts.map +0 -1
  167. package/lib/chain/opPools/utils.d.ts.map +0 -1
  168. package/lib/chain/options.d.ts.map +0 -1
  169. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  170. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  171. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  172. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  173. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  174. package/lib/chain/regen/errors.d.ts.map +0 -1
  175. package/lib/chain/regen/index.d.ts.map +0 -1
  176. package/lib/chain/regen/interface.d.ts.map +0 -1
  177. package/lib/chain/regen/queued.d.ts.map +0 -1
  178. package/lib/chain/regen/regen.d.ts.map +0 -1
  179. package/lib/chain/reprocess.d.ts.map +0 -1
  180. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  181. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  182. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  183. package/lib/chain/seenCache/index.d.ts.map +0 -1
  184. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  185. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  186. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  187. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  188. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  189. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  190. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  191. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  192. package/lib/chain/serializeState.d.ts.map +0 -1
  193. package/lib/chain/shufflingCache.d.ts.map +0 -1
  194. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  195. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  196. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  197. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  198. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  199. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  200. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  201. package/lib/chain/stateCache/index.d.ts.map +0 -1
  202. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  203. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  204. package/lib/chain/stateCache/types.d.ts.map +0 -1
  205. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  206. package/lib/chain/validation/attestation.d.ts.map +0 -1
  207. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  208. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  209. package/lib/chain/validation/block.d.ts.map +0 -1
  210. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  211. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  212. package/lib/chain/validation/index.d.ts.map +0 -1
  213. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  214. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  215. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  216. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  217. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  218. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  219. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  220. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  221. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  222. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  223. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  224. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  225. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  226. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  227. package/lib/constants/constants.d.ts.map +0 -1
  228. package/lib/constants/index.d.ts.map +0 -1
  229. package/lib/constants/network.d.ts.map +0 -1
  230. package/lib/db/beacon.d.ts.map +0 -1
  231. package/lib/db/buckets.d.ts.map +0 -1
  232. package/lib/db/index.d.ts.map +0 -1
  233. package/lib/db/interface.d.ts.map +0 -1
  234. package/lib/db/options.d.ts.map +0 -1
  235. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  236. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  237. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  238. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  239. package/lib/db/repositories/block.d.ts.map +0 -1
  240. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  241. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  242. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  243. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  244. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  245. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  246. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  247. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  248. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  249. package/lib/db/repositories/index.d.ts.map +0 -1
  250. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  251. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  252. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  253. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  254. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  255. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  256. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  257. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  258. package/lib/db/single/index.d.ts.map +0 -1
  259. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  260. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  261. package/lib/eth1/errors.d.ts.map +0 -1
  262. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  263. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  264. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  265. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  266. package/lib/eth1/index.d.ts.map +0 -1
  267. package/lib/eth1/interface.d.ts.map +0 -1
  268. package/lib/eth1/options.d.ts.map +0 -1
  269. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  270. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  271. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  272. package/lib/eth1/provider/utils.d.ts.map +0 -1
  273. package/lib/eth1/stream.d.ts.map +0 -1
  274. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  275. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  276. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  277. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  278. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  279. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  280. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  281. package/lib/execution/builder/cache.d.ts.map +0 -1
  282. package/lib/execution/builder/http.d.ts.map +0 -1
  283. package/lib/execution/builder/index.d.ts.map +0 -1
  284. package/lib/execution/builder/interface.d.ts.map +0 -1
  285. package/lib/execution/builder/utils.d.ts.map +0 -1
  286. package/lib/execution/engine/disabled.d.ts.map +0 -1
  287. package/lib/execution/engine/http.d.ts.map +0 -1
  288. package/lib/execution/engine/index.d.ts.map +0 -1
  289. package/lib/execution/engine/interface.d.ts.map +0 -1
  290. package/lib/execution/engine/mock.d.ts.map +0 -1
  291. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  292. package/lib/execution/engine/types.d.ts.map +0 -1
  293. package/lib/execution/engine/utils.d.ts.map +0 -1
  294. package/lib/execution/index.d.ts.map +0 -1
  295. package/lib/index.d.ts.map +0 -1
  296. package/lib/metrics/index.d.ts.map +0 -1
  297. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  298. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  299. package/lib/metrics/metrics.d.ts.map +0 -1
  300. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  301. package/lib/metrics/options.d.ts.map +0 -1
  302. package/lib/metrics/server/http.d.ts.map +0 -1
  303. package/lib/metrics/server/index.d.ts.map +0 -1
  304. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  305. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  306. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  307. package/lib/monitoring/clientStats.d.ts.map +0 -1
  308. package/lib/monitoring/index.d.ts.map +0 -1
  309. package/lib/monitoring/options.d.ts.map +0 -1
  310. package/lib/monitoring/properties.d.ts.map +0 -1
  311. package/lib/monitoring/service.d.ts.map +0 -1
  312. package/lib/monitoring/system.d.ts.map +0 -1
  313. package/lib/monitoring/types.d.ts.map +0 -1
  314. package/lib/network/core/events.d.ts.map +0 -1
  315. package/lib/network/core/index.d.ts.map +0 -1
  316. package/lib/network/core/metrics.d.ts.map +0 -1
  317. package/lib/network/core/networkCore.d.ts.map +0 -1
  318. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  319. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  320. package/lib/network/core/types.d.ts.map +0 -1
  321. package/lib/network/discv5/index.d.ts.map +0 -1
  322. package/lib/network/discv5/types.d.ts.map +0 -1
  323. package/lib/network/discv5/utils.d.ts.map +0 -1
  324. package/lib/network/discv5/worker.d.ts.map +0 -1
  325. package/lib/network/events.d.ts.map +0 -1
  326. package/lib/network/forks.d.ts.map +0 -1
  327. package/lib/network/gossip/constants.d.ts.map +0 -1
  328. package/lib/network/gossip/encoding.d.ts.map +0 -1
  329. package/lib/network/gossip/errors.d.ts.map +0 -1
  330. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  331. package/lib/network/gossip/index.d.ts.map +0 -1
  332. package/lib/network/gossip/interface.d.ts.map +0 -1
  333. package/lib/network/gossip/metrics.d.ts.map +0 -1
  334. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  335. package/lib/network/gossip/topic.d.ts.map +0 -1
  336. package/lib/network/index.d.ts.map +0 -1
  337. package/lib/network/interface.d.ts.map +0 -1
  338. package/lib/network/libp2p/error.d.ts.map +0 -1
  339. package/lib/network/libp2p/index.d.ts.map +0 -1
  340. package/lib/network/metadata.d.ts.map +0 -1
  341. package/lib/network/network.d.ts.map +0 -1
  342. package/lib/network/networkConfig.d.ts.map +0 -1
  343. package/lib/network/options.d.ts.map +0 -1
  344. package/lib/network/peers/client.d.ts.map +0 -1
  345. package/lib/network/peers/datastore.d.ts.map +0 -1
  346. package/lib/network/peers/discover.d.ts.map +0 -1
  347. package/lib/network/peers/index.d.ts.map +0 -1
  348. package/lib/network/peers/peerManager.d.ts.map +0 -1
  349. package/lib/network/peers/peersData.d.ts.map +0 -1
  350. package/lib/network/peers/score/constants.d.ts.map +0 -1
  351. package/lib/network/peers/score/index.d.ts.map +0 -1
  352. package/lib/network/peers/score/interface.d.ts.map +0 -1
  353. package/lib/network/peers/score/score.d.ts.map +0 -1
  354. package/lib/network/peers/score/store.d.ts.map +0 -1
  355. package/lib/network/peers/score/utils.d.ts.map +0 -1
  356. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  357. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  358. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  359. package/lib/network/peers/utils/index.d.ts.map +0 -1
  360. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  361. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  362. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  363. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  364. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  365. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  366. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  367. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  368. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  369. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  370. package/lib/network/processor/index.d.ts.map +0 -1
  371. package/lib/network/processor/types.d.ts.map +0 -1
  372. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  373. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  374. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  375. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  376. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  377. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  378. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  379. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  380. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  381. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  382. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  383. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  384. package/lib/network/reqresp/index.d.ts.map +0 -1
  385. package/lib/network/reqresp/interface.d.ts.map +0 -1
  386. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  387. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  388. package/lib/network/reqresp/score.d.ts.map +0 -1
  389. package/lib/network/reqresp/types.d.ts.map +0 -1
  390. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  391. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  392. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  393. package/lib/network/statusCache.d.ts.map +0 -1
  394. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  395. package/lib/network/subnets/index.d.ts.map +0 -1
  396. package/lib/network/subnets/interface.d.ts.map +0 -1
  397. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  398. package/lib/network/subnets/util.d.ts.map +0 -1
  399. package/lib/network/util.d.ts.map +0 -1
  400. package/lib/node/index.d.ts.map +0 -1
  401. package/lib/node/nodejs.d.ts.map +0 -1
  402. package/lib/node/notifier.d.ts.map +0 -1
  403. package/lib/node/options.d.ts.map +0 -1
  404. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  405. package/lib/node/utils/interop/state.d.ts.map +0 -1
  406. package/lib/node/utils/lightclient.d.ts.map +0 -1
  407. package/lib/node/utils/state.d.ts.map +0 -1
  408. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  409. package/lib/sync/backfill/errors.d.ts.map +0 -1
  410. package/lib/sync/backfill/index.d.ts.map +0 -1
  411. package/lib/sync/backfill/verify.d.ts.map +0 -1
  412. package/lib/sync/constants.d.ts.map +0 -1
  413. package/lib/sync/index.d.ts.map +0 -1
  414. package/lib/sync/interface.d.ts.map +0 -1
  415. package/lib/sync/options.d.ts.map +0 -1
  416. package/lib/sync/range/batch.d.ts.map +0 -1
  417. package/lib/sync/range/chain.d.ts.map +0 -1
  418. package/lib/sync/range/range.d.ts.map +0 -1
  419. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  420. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  421. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  422. package/lib/sync/range/utils/index.d.ts.map +0 -1
  423. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  424. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  425. package/lib/sync/sync.d.ts.map +0 -1
  426. package/lib/sync/types.d.ts.map +0 -1
  427. package/lib/sync/unknownBlock.d.ts.map +0 -1
  428. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  429. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  430. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  431. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  432. package/lib/util/address.d.ts.map +0 -1
  433. package/lib/util/array.d.ts.map +0 -1
  434. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  435. package/lib/util/binarySearch.d.ts.map +0 -1
  436. package/lib/util/bitArray.d.ts.map +0 -1
  437. package/lib/util/blobs.d.ts.map +0 -1
  438. package/lib/util/bufferPool.d.ts.map +0 -1
  439. package/lib/util/bytes.d.ts.map +0 -1
  440. package/lib/util/chunkify.d.ts.map +0 -1
  441. package/lib/util/clock.d.ts.map +0 -1
  442. package/lib/util/dataColumns.d.ts.map +0 -1
  443. package/lib/util/dependentRoot.d.ts.map +0 -1
  444. package/lib/util/enum.d.ts.map +0 -1
  445. package/lib/util/error.d.ts.map +0 -1
  446. package/lib/util/eventLoop.d.ts.map +0 -1
  447. package/lib/util/execution.d.ts.map +0 -1
  448. package/lib/util/file.d.ts.map +0 -1
  449. package/lib/util/forkChoice.d.ts.map +0 -1
  450. package/lib/util/forkName.d.ts.map +0 -1
  451. package/lib/util/graffiti.d.ts.map +0 -1
  452. package/lib/util/hex.d.ts.map +0 -1
  453. package/lib/util/index.d.ts.map +0 -1
  454. package/lib/util/ip.d.ts.map +0 -1
  455. package/lib/util/itTrigger.d.ts.map +0 -1
  456. package/lib/util/kzg.d.ts.map +0 -1
  457. package/lib/util/map.d.ts.map +0 -1
  458. package/lib/util/metadata.d.ts.map +0 -1
  459. package/lib/util/multifork.d.ts.map +0 -1
  460. package/lib/util/numpy.d.ts.map +0 -1
  461. package/lib/util/peerId.d.ts.map +0 -1
  462. package/lib/util/profile.d.ts.map +0 -1
  463. package/lib/util/promises.d.ts.map +0 -1
  464. package/lib/util/queue/errors.d.ts.map +0 -1
  465. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  466. package/lib/util/queue/index.d.ts.map +0 -1
  467. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  468. package/lib/util/queue/options.d.ts.map +0 -1
  469. package/lib/util/serializedCache.d.ts.map +0 -1
  470. package/lib/util/set.d.ts.map +0 -1
  471. package/lib/util/shuffle.d.ts.map +0 -1
  472. package/lib/util/sortBy.d.ts.map +0 -1
  473. package/lib/util/sszBytes.d.ts.map +0 -1
  474. package/lib/util/strictEvents.d.ts.map +0 -1
  475. package/lib/util/time.d.ts.map +0 -1
  476. package/lib/util/timeSeries.d.ts.map +0 -1
  477. package/lib/util/types.d.ts.map +0 -1
  478. package/lib/util/workerEvents.d.ts.map +0 -1
  479. package/lib/util/wrapError.d.ts.map +0 -1
  480. package/src/api/impl/api.ts +0 -26
  481. package/src/api/impl/beacon/blocks/index.ts +0 -744
  482. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  483. package/src/api/impl/beacon/index.ts +0 -35
  484. package/src/api/impl/beacon/pool/index.ts +0 -314
  485. package/src/api/impl/beacon/rewards/index.ts +0 -30
  486. package/src/api/impl/beacon/state/index.ts +0 -406
  487. package/src/api/impl/beacon/state/utils.ts +0 -189
  488. package/src/api/impl/config/constants.ts +0 -127
  489. package/src/api/impl/config/index.ts +0 -59
  490. package/src/api/impl/debug/index.ts +0 -131
  491. package/src/api/impl/errors.ts +0 -50
  492. package/src/api/impl/events/index.ts +0 -33
  493. package/src/api/impl/index.ts +0 -6
  494. package/src/api/impl/lightclient/index.ts +0 -64
  495. package/src/api/impl/lodestar/index.ts +0 -257
  496. package/src/api/impl/node/index.ts +0 -88
  497. package/src/api/impl/node/utils.ts +0 -51
  498. package/src/api/impl/proof/index.ts +0 -60
  499. package/src/api/impl/types.ts +0 -17
  500. package/src/api/impl/utils.ts +0 -25
  501. package/src/api/impl/validator/index.ts +0 -1538
  502. package/src/api/impl/validator/utils.ts +0 -85
  503. package/src/api/index.ts +0 -2
  504. package/src/api/options.ts +0 -16
  505. package/src/api/rest/activeSockets.ts +0 -109
  506. package/src/api/rest/base.ts +0 -216
  507. package/src/api/rest/index.ts +0 -63
  508. package/src/api/rest/swaggerUI.ts +0 -80
  509. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  510. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  511. package/src/chain/GetBlobsTracker.ts +0 -115
  512. package/src/chain/archiveStore/archiveStore.ts +0 -222
  513. package/src/chain/archiveStore/constants.ts +0 -5
  514. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  515. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  516. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  517. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  518. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  519. package/src/chain/archiveStore/index.ts +0 -3
  520. package/src/chain/archiveStore/interface.ts +0 -75
  521. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  522. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  523. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  524. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  525. package/src/chain/balancesCache.ts +0 -52
  526. package/src/chain/beaconProposerCache.ts +0 -43
  527. package/src/chain/blocks/blockInput/blockInput.ts +0 -851
  528. package/src/chain/blocks/blockInput/errors.ts +0 -48
  529. package/src/chain/blocks/blockInput/index.ts +0 -4
  530. package/src/chain/blocks/blockInput/types.ts +0 -145
  531. package/src/chain/blocks/blockInput/utils.ts +0 -21
  532. package/src/chain/blocks/importBlock.ts +0 -603
  533. package/src/chain/blocks/index.ts +0 -179
  534. package/src/chain/blocks/types.ts +0 -101
  535. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  536. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  537. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  538. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  539. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  540. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  541. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  542. package/src/chain/blocks/verifyBlock.ts +0 -242
  543. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -34
  544. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  545. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  546. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  547. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  548. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  549. package/src/chain/bls/index.ts +0 -4
  550. package/src/chain/bls/interface.ts +0 -68
  551. package/src/chain/bls/maybeBatch.ts +0 -45
  552. package/src/chain/bls/multithread/index.ts +0 -582
  553. package/src/chain/bls/multithread/jobItem.ts +0 -119
  554. package/src/chain/bls/multithread/poolSize.ts +0 -16
  555. package/src/chain/bls/multithread/types.ts +0 -38
  556. package/src/chain/bls/multithread/utils.ts +0 -19
  557. package/src/chain/bls/multithread/worker.ts +0 -114
  558. package/src/chain/bls/singleThread.ts +0 -87
  559. package/src/chain/bls/utils.ts +0 -30
  560. package/src/chain/chain.ts +0 -1365
  561. package/src/chain/emitter.ts +0 -113
  562. package/src/chain/errors/attestationError.ts +0 -194
  563. package/src/chain/errors/attesterSlashingError.ts +0 -11
  564. package/src/chain/errors/blobSidecarError.ts +0 -60
  565. package/src/chain/errors/blockError.ts +0 -166
  566. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  567. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  568. package/src/chain/errors/gossipValidation.ts +0 -20
  569. package/src/chain/errors/index.ts +0 -10
  570. package/src/chain/errors/lightClientError.ts +0 -30
  571. package/src/chain/errors/proposerSlashingError.ts +0 -11
  572. package/src/chain/errors/syncCommitteeError.ts +0 -36
  573. package/src/chain/errors/voluntaryExitError.ts +0 -13
  574. package/src/chain/forkChoice/index.ts +0 -112
  575. package/src/chain/genesis/genesis.ts +0 -190
  576. package/src/chain/genesis/interface.ts +0 -14
  577. package/src/chain/index.ts +0 -6
  578. package/src/chain/initState.ts +0 -221
  579. package/src/chain/interface.ts +0 -280
  580. package/src/chain/lightClient/index.ts +0 -764
  581. package/src/chain/lightClient/proofs.ts +0 -85
  582. package/src/chain/lightClient/types.ts +0 -33
  583. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  584. package/src/chain/opPools/attestationPool.ts +0 -283
  585. package/src/chain/opPools/index.ts +0 -5
  586. package/src/chain/opPools/opPool.ts +0 -462
  587. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -167
  588. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  589. package/src/chain/opPools/types.ts +0 -35
  590. package/src/chain/opPools/utils.ts +0 -65
  591. package/src/chain/options.ts +0 -138
  592. package/src/chain/prepareNextSlot.ts +0 -277
  593. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  594. package/src/chain/produceBlock/index.ts +0 -2
  595. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  596. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  597. package/src/chain/regen/errors.ts +0 -30
  598. package/src/chain/regen/index.ts +0 -4
  599. package/src/chain/regen/interface.ts +0 -93
  600. package/src/chain/regen/queued.ts +0 -317
  601. package/src/chain/regen/regen.ts +0 -424
  602. package/src/chain/reprocess.ts +0 -161
  603. package/src/chain/rewards/attestationsRewards.ts +0 -196
  604. package/src/chain/rewards/blockRewards.ts +0 -150
  605. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  606. package/src/chain/seenCache/index.ts +0 -5
  607. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  608. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  609. package/src/chain/seenCache/seenAttesters.ts +0 -58
  610. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  611. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  612. package/src/chain/seenCache/seenCommittee.ts +0 -43
  613. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  614. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  615. package/src/chain/serializeState.ts +0 -32
  616. package/src/chain/shufflingCache.ts +0 -238
  617. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  618. package/src/chain/stateCache/datastore/db.ts +0 -36
  619. package/src/chain/stateCache/datastore/file.ts +0 -53
  620. package/src/chain/stateCache/datastore/index.ts +0 -2
  621. package/src/chain/stateCache/datastore/types.ts +0 -13
  622. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  623. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  624. package/src/chain/stateCache/index.ts +0 -3
  625. package/src/chain/stateCache/mapMetrics.ts +0 -52
  626. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -835
  627. package/src/chain/stateCache/types.ts +0 -86
  628. package/src/chain/validation/aggregateAndProof.ts +0 -258
  629. package/src/chain/validation/attestation.ts +0 -885
  630. package/src/chain/validation/attesterSlashing.ts +0 -61
  631. package/src/chain/validation/blobSidecar.ts +0 -301
  632. package/src/chain/validation/block.ts +0 -188
  633. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  634. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  635. package/src/chain/validation/index.ts +0 -9
  636. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -45
  637. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -67
  638. package/src/chain/validation/proposerSlashing.ts +0 -54
  639. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  640. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  641. package/src/chain/validation/signatureSets/index.ts +0 -6
  642. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  643. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  644. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  645. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  646. package/src/chain/validation/syncCommittee.ts +0 -165
  647. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  648. package/src/chain/validation/voluntaryExit.ts +0 -58
  649. package/src/chain/validatorMonitor.ts +0 -1299
  650. package/src/constants/constants.ts +0 -15
  651. package/src/constants/index.ts +0 -2
  652. package/src/constants/network.ts +0 -52
  653. package/src/db/beacon.ts +0 -113
  654. package/src/db/buckets.ts +0 -80
  655. package/src/db/index.ts +0 -2
  656. package/src/db/interface.ts +0 -76
  657. package/src/db/options.ts +0 -7
  658. package/src/db/repositories/attesterSlashing.ts +0 -38
  659. package/src/db/repositories/backfilledRanges.ts +0 -29
  660. package/src/db/repositories/blobSidecars.ts +0 -37
  661. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  662. package/src/db/repositories/block.ts +0 -33
  663. package/src/db/repositories/blockArchive.ts +0 -170
  664. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  665. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  666. package/src/db/repositories/checkpointState.ts +0 -31
  667. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  668. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  669. package/src/db/repositories/depositDataRoot.ts +0 -80
  670. package/src/db/repositories/depositEvent.ts +0 -32
  671. package/src/db/repositories/eth1Data.ts +0 -33
  672. package/src/db/repositories/index.ts +0 -20
  673. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  674. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  675. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  676. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  677. package/src/db/repositories/proposerSlashing.ts +0 -15
  678. package/src/db/repositories/stateArchive.ts +0 -69
  679. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  680. package/src/db/repositories/voluntaryExit.ts +0 -15
  681. package/src/db/single/index.ts +0 -2
  682. package/src/db/single/preGenesisState.ts +0 -37
  683. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  684. package/src/eth1/errors.ts +0 -40
  685. package/src/eth1/eth1DataCache.ts +0 -26
  686. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  687. package/src/eth1/eth1DepositsCache.ts +0 -141
  688. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  689. package/src/eth1/index.ts +0 -157
  690. package/src/eth1/interface.ts +0 -131
  691. package/src/eth1/options.ts +0 -28
  692. package/src/eth1/provider/eth1Provider.ts +0 -229
  693. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  694. package/src/eth1/provider/jwt.ts +0 -36
  695. package/src/eth1/provider/utils.ts +0 -136
  696. package/src/eth1/stream.ts +0 -75
  697. package/src/eth1/utils/depositContract.ts +0 -37
  698. package/src/eth1/utils/deposits.ts +0 -70
  699. package/src/eth1/utils/eth1Data.ts +0 -100
  700. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  701. package/src/eth1/utils/eth1Vote.ts +0 -142
  702. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  703. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  704. package/src/execution/builder/cache.ts +0 -39
  705. package/src/execution/builder/http.ts +0 -229
  706. package/src/execution/builder/index.ts +0 -27
  707. package/src/execution/builder/interface.ts +0 -49
  708. package/src/execution/builder/utils.ts +0 -19
  709. package/src/execution/engine/disabled.ts +0 -35
  710. package/src/execution/engine/http.ts +0 -644
  711. package/src/execution/engine/index.ts +0 -63
  712. package/src/execution/engine/interface.ts +0 -199
  713. package/src/execution/engine/mock.ts +0 -493
  714. package/src/execution/engine/payloadIdCache.ts +0 -54
  715. package/src/execution/engine/types.ts +0 -640
  716. package/src/execution/engine/utils.ts +0 -136
  717. package/src/execution/index.ts +0 -4
  718. package/src/index.ts +0 -20
  719. package/src/metrics/index.ts +0 -4
  720. package/src/metrics/metrics/beacon.ts +0 -390
  721. package/src/metrics/metrics/lodestar.ts +0 -1870
  722. package/src/metrics/metrics.ts +0 -43
  723. package/src/metrics/nodeJsMetrics.ts +0 -19
  724. package/src/metrics/options.ts +0 -22
  725. package/src/metrics/server/http.ts +0 -114
  726. package/src/metrics/server/index.ts +0 -1
  727. package/src/metrics/utils/avgMinMax.ts +0 -87
  728. package/src/metrics/utils/gauge.ts +0 -22
  729. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  730. package/src/monitoring/clientStats.ts +0 -297
  731. package/src/monitoring/index.ts +0 -2
  732. package/src/monitoring/options.ts +0 -19
  733. package/src/monitoring/properties.ts +0 -152
  734. package/src/monitoring/service.ts +0 -235
  735. package/src/monitoring/system.ts +0 -146
  736. package/src/monitoring/types.ts +0 -21
  737. package/src/network/core/events.ts +0 -59
  738. package/src/network/core/index.ts +0 -3
  739. package/src/network/core/metrics.ts +0 -304
  740. package/src/network/core/networkCore.ts +0 -599
  741. package/src/network/core/networkCoreWorker.ts +0 -176
  742. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  743. package/src/network/core/types.ts +0 -119
  744. package/src/network/discv5/index.ts +0 -132
  745. package/src/network/discv5/types.ts +0 -74
  746. package/src/network/discv5/utils.ts +0 -50
  747. package/src/network/discv5/worker.ts +0 -137
  748. package/src/network/events.ts +0 -51
  749. package/src/network/forks.ts +0 -94
  750. package/src/network/gossip/constants.ts +0 -15
  751. package/src/network/gossip/encoding.ts +0 -111
  752. package/src/network/gossip/errors.ts +0 -7
  753. package/src/network/gossip/gossipsub.ts +0 -384
  754. package/src/network/gossip/index.ts +0 -4
  755. package/src/network/gossip/interface.ts +0 -215
  756. package/src/network/gossip/metrics.ts +0 -71
  757. package/src/network/gossip/scoringParameters.ts +0 -333
  758. package/src/network/gossip/topic.ts +0 -332
  759. package/src/network/index.ts +0 -8
  760. package/src/network/interface.ts +0 -134
  761. package/src/network/libp2p/error.ts +0 -55
  762. package/src/network/libp2p/index.ts +0 -153
  763. package/src/network/metadata.ts +0 -162
  764. package/src/network/network.ts +0 -767
  765. package/src/network/networkConfig.ts +0 -12
  766. package/src/network/options.ts +0 -70
  767. package/src/network/peers/client.ts +0 -29
  768. package/src/network/peers/datastore.ts +0 -188
  769. package/src/network/peers/discover.ts +0 -647
  770. package/src/network/peers/index.ts +0 -2
  771. package/src/network/peers/peerManager.ts +0 -899
  772. package/src/network/peers/peersData.ts +0 -65
  773. package/src/network/peers/score/constants.ts +0 -34
  774. package/src/network/peers/score/index.ts +0 -4
  775. package/src/network/peers/score/interface.ts +0 -74
  776. package/src/network/peers/score/score.ts +0 -200
  777. package/src/network/peers/score/store.ts +0 -95
  778. package/src/network/peers/score/utils.ts +0 -37
  779. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  780. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  781. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  782. package/src/network/peers/utils/index.ts +0 -4
  783. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  784. package/src/network/peers/utils/subnetMap.ts +0 -88
  785. package/src/network/processor/aggregatorTracker.ts +0 -38
  786. package/src/network/processor/extractSlotRootFns.ts +0 -64
  787. package/src/network/processor/gossipHandlers.ts +0 -951
  788. package/src/network/processor/gossipQueues/index.ts +0 -114
  789. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  790. package/src/network/processor/gossipQueues/linear.ts +0 -162
  791. package/src/network/processor/gossipQueues/types.ts +0 -57
  792. package/src/network/processor/gossipValidatorFn.ts +0 -142
  793. package/src/network/processor/index.ts +0 -496
  794. package/src/network/processor/types.ts +0 -27
  795. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  796. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  797. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  798. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  799. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  800. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  801. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  802. package/src/network/reqresp/handlers/index.ts +0 -78
  803. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  804. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  805. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  806. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  807. package/src/network/reqresp/index.ts +0 -2
  808. package/src/network/reqresp/interface.ts +0 -45
  809. package/src/network/reqresp/protocols.ts +0 -146
  810. package/src/network/reqresp/rateLimit.ts +0 -112
  811. package/src/network/reqresp/score.ts +0 -70
  812. package/src/network/reqresp/types.ts +0 -174
  813. package/src/network/reqresp/utils/collect.ts +0 -84
  814. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  815. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  816. package/src/network/statusCache.ts +0 -17
  817. package/src/network/subnets/attnetsService.ts +0 -385
  818. package/src/network/subnets/index.ts +0 -2
  819. package/src/network/subnets/interface.ts +0 -66
  820. package/src/network/subnets/syncnetsService.ts +0 -147
  821. package/src/network/subnets/util.ts +0 -63
  822. package/src/network/util.ts +0 -29
  823. package/src/node/index.ts +0 -2
  824. package/src/node/nodejs.ts +0 -349
  825. package/src/node/notifier.ts +0 -206
  826. package/src/node/options.ts +0 -51
  827. package/src/node/utils/interop/deposits.ts +0 -53
  828. package/src/node/utils/interop/state.ts +0 -59
  829. package/src/node/utils/lightclient.ts +0 -7
  830. package/src/node/utils/state.ts +0 -37
  831. package/src/sync/backfill/backfill.ts +0 -893
  832. package/src/sync/backfill/errors.ts +0 -23
  833. package/src/sync/backfill/index.ts +0 -1
  834. package/src/sync/backfill/verify.ts +0 -58
  835. package/src/sync/constants.ts +0 -71
  836. package/src/sync/index.ts +0 -2
  837. package/src/sync/interface.ts +0 -55
  838. package/src/sync/options.ts +0 -45
  839. package/src/sync/range/batch.ts +0 -455
  840. package/src/sync/range/chain.ts +0 -715
  841. package/src/sync/range/range.ts +0 -354
  842. package/src/sync/range/utils/batches.ts +0 -119
  843. package/src/sync/range/utils/chainTarget.ts +0 -62
  844. package/src/sync/range/utils/hashBlocks.ts +0 -27
  845. package/src/sync/range/utils/index.ts +0 -5
  846. package/src/sync/range/utils/peerBalancer.ts +0 -184
  847. package/src/sync/range/utils/updateChains.ts +0 -66
  848. package/src/sync/sync.ts +0 -290
  849. package/src/sync/types.ts +0 -57
  850. package/src/sync/unknownBlock.ts +0 -859
  851. package/src/sync/utils/downloadByRange.ts +0 -808
  852. package/src/sync/utils/downloadByRoot.ts +0 -560
  853. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  854. package/src/sync/utils/remoteSyncType.ts +0 -144
  855. package/src/util/address.ts +0 -3
  856. package/src/util/array.ts +0 -311
  857. package/src/util/asyncIterableToEvents.ts +0 -164
  858. package/src/util/binarySearch.ts +0 -48
  859. package/src/util/bitArray.ts +0 -84
  860. package/src/util/blobs.ts +0 -210
  861. package/src/util/bufferPool.ts +0 -95
  862. package/src/util/bytes.ts +0 -11
  863. package/src/util/chunkify.ts +0 -27
  864. package/src/util/clock.ts +0 -204
  865. package/src/util/dataColumns.ts +0 -415
  866. package/src/util/dependentRoot.ts +0 -47
  867. package/src/util/enum.ts +0 -17
  868. package/src/util/error.ts +0 -56
  869. package/src/util/eventLoop.ts +0 -22
  870. package/src/util/execution.ts +0 -223
  871. package/src/util/file.ts +0 -52
  872. package/src/util/forkChoice.ts +0 -5
  873. package/src/util/forkName.ts +0 -20
  874. package/src/util/graffiti.ts +0 -39
  875. package/src/util/hex.ts +0 -9
  876. package/src/util/index.ts +0 -2
  877. package/src/util/ip.ts +0 -6
  878. package/src/util/itTrigger.ts +0 -49
  879. package/src/util/kzg.ts +0 -3
  880. package/src/util/map.ts +0 -77
  881. package/src/util/metadata.ts +0 -22
  882. package/src/util/multifork.ts +0 -69
  883. package/src/util/numpy.ts +0 -8
  884. package/src/util/peerId.ts +0 -16
  885. package/src/util/profile.ts +0 -54
  886. package/src/util/promises.ts +0 -14
  887. package/src/util/queue/errors.ts +0 -14
  888. package/src/util/queue/fnQueue.ts +0 -16
  889. package/src/util/queue/index.ts +0 -4
  890. package/src/util/queue/itemQueue.ts +0 -128
  891. package/src/util/queue/options.ts +0 -37
  892. package/src/util/serializedCache.ts +0 -20
  893. package/src/util/set.ts +0 -62
  894. package/src/util/shuffle.ts +0 -21
  895. package/src/util/sortBy.ts +0 -19
  896. package/src/util/sszBytes.ts +0 -481
  897. package/src/util/strictEvents.ts +0 -8
  898. package/src/util/time.ts +0 -13
  899. package/src/util/timeSeries.ts +0 -118
  900. package/src/util/types.ts +0 -31
  901. package/src/util/workerEvents.ts +0 -142
  902. package/src/util/wrapError.ts +0 -27
@@ -1,65 +0,0 @@
1
- import {PeerId} from "@libp2p/interface";
2
- import {Encoding} from "@lodestar/reqresp";
3
- import {CustodyIndex, Slot, Status, fulu} from "@lodestar/types";
4
- import {NodeId} from "../subnets/interface.js";
5
- import {ClientKind} from "./client.js";
6
-
7
- type PeerIdStr = string;
8
- type Metadata = fulu.Metadata & {custodyGroups: CustodyIndex[]; samplingGroups: CustodyIndex[]};
9
- export type PeerSyncMeta = {
10
- peerId: PeerIdStr;
11
- client: string;
12
- custodyColumns: CustodyIndex[];
13
- earliestAvailableSlot?: Slot;
14
- };
15
-
16
- export enum RelevantPeerStatus {
17
- Unknown = "unknown",
18
- relevant = "relevant",
19
- irrelevant = "irrelevant",
20
- }
21
-
22
- export type PeerData = {
23
- lastReceivedMsgUnixTsMs: number;
24
- lastStatusUnixTsMs: number;
25
- connectedUnixTsMs: number;
26
- relevantStatus: RelevantPeerStatus;
27
- direction: "inbound" | "outbound";
28
- peerId: PeerId;
29
- nodeId: NodeId | null;
30
- metadata: Metadata | null;
31
- status: Status | null;
32
- agentVersion: string | null;
33
- agentClient: ClientKind | null;
34
- encodingPreference: Encoding | null;
35
- };
36
-
37
- /**
38
- * Make data available to multiple components in the network stack.
39
- * Due to class dependencies some modules have circular dependencies, like PeerManager - ReqResp.
40
- * This third party class allows data to be available to both.
41
- *
42
- * The pruning and bounding of this class is handled by the PeerManager
43
- */
44
- export class PeersData {
45
- readonly connectedPeers = new Map<PeerIdStr, PeerData>();
46
-
47
- getAgentVersion(peerIdStr: string): string {
48
- return this.connectedPeers.get(peerIdStr)?.agentVersion ?? "NA";
49
- }
50
-
51
- getPeerKind(peerIdStr: string): ClientKind | null {
52
- return this.connectedPeers.get(peerIdStr)?.agentClient ?? null;
53
- }
54
-
55
- getEncodingPreference(peerIdStr: string): Encoding | null {
56
- return this.connectedPeers.get(peerIdStr)?.encodingPreference ?? null;
57
- }
58
-
59
- setEncodingPreference(peerIdStr: string, encoding: Encoding): void {
60
- const peerData = this.connectedPeers.get(peerIdStr);
61
- if (peerData) {
62
- peerData.encodingPreference = encoding;
63
- }
64
- }
65
- }
@@ -1,34 +0,0 @@
1
- import {gossipScoreThresholds} from "../../gossip/scoringParameters.js";
2
-
3
- /** The default score for new peers */
4
- export const DEFAULT_SCORE = 0;
5
- /** The minimum reputation before a peer is disconnected */
6
- export const MIN_SCORE_BEFORE_DISCONNECT = -20;
7
- /** The minimum reputation before a peer is banned */
8
- export const MIN_SCORE_BEFORE_BAN = -50;
9
- // If a peer has a lodestar score below this constant all other score parts will get ignored and
10
- // the peer will get banned regardless of the other parts.
11
- export const MIN_LODESTAR_SCORE_BEFORE_BAN = -60.0;
12
- /** The maximum score a peer can obtain. Update metrics.peerScore if this changes */
13
- export const MAX_SCORE = 100;
14
- /** The minimum score a peer can obtain. Update metrics.peerScore if this changes */
15
- export const MIN_SCORE = -100;
16
- /** Drop score if absolute value is below this threshold */
17
- export const SCORE_THRESHOLD = 1;
18
- /** The halflife of a peer's score. I.e the number of milliseconds it takes for the score to decay to half its value */
19
- export const SCORE_HALFLIFE_MS = 10 * 60 * 1000;
20
- export const HALFLIFE_DECAY_MS = -Math.log(2) / SCORE_HALFLIFE_MS;
21
- /** The number of milliseconds we ban a peer for before their score begins to decay */
22
- export const COOL_DOWN_BEFORE_DECAY_MS = 30 * 60 * 1000;
23
- /** Limit of entries in the scores map */
24
- export const MAX_ENTRIES = 1000;
25
- /** Const that gets returned when no cool-down is applied */
26
- export const NO_COOL_DOWN_APPLIED = -1;
27
-
28
- /**
29
- * We weight negative gossipsub scores in such a way that they never result in a disconnect by
30
- * themselves. This "solves" the problem of non-decaying gossipsub scores for disconnected peers.
31
- */
32
- export const GOSSIPSUB_NEGATIVE_SCORE_WEIGHT =
33
- (MIN_SCORE_BEFORE_DISCONNECT + 1) / gossipScoreThresholds.graylistThreshold;
34
- export const GOSSIPSUB_POSITIVE_SCORE_WEIGHT = GOSSIPSUB_NEGATIVE_SCORE_WEIGHT;
@@ -1,4 +0,0 @@
1
- export * from "./interface.js";
2
- export * from "./score.js";
3
- export * from "./store.js";
4
- export * from "./utils.js";
@@ -1,74 +0,0 @@
1
- import {PeerId} from "@libp2p/interface";
2
- import {GoodByeReasonCode} from "../../../constants/network.js";
3
- import {PeerIdStr} from "../../../util/peerId.js";
4
- import {NetworkCoreMetrics} from "../../core/metrics.js";
5
-
6
- export type PeerRpcScoreOpts = {
7
- disablePeerScoring?: boolean;
8
- };
9
-
10
- export interface IPeerRpcScoreStore {
11
- getScore(peer: PeerId): number;
12
- getGossipScore(peer: PeerId): number;
13
- getScoreState(peer: PeerId): ScoreState;
14
- isCoolingDown(peer: PeerIdStr): boolean;
15
- dumpPeerScoreStats(): PeerScoreStats;
16
- applyAction(peer: PeerId, action: PeerAction, actionName: string): void;
17
- applyReconnectionCoolDown(peer: PeerIdStr, reason: GoodByeReasonCode): number;
18
- update(): void;
19
- updateGossipsubScore(peerId: PeerIdStr, newScore: number, ignore: boolean): void;
20
- }
21
-
22
- export interface IPeerScore {
23
- getScore(): number;
24
- getGossipScore(): number;
25
- isCoolingDown(): boolean;
26
- add(scoreDelta: number): number;
27
- update(): number;
28
- updateGossipsubScore(newScore: number, ignore: boolean): void;
29
- getStat(): PeerScoreStat;
30
- applyReconnectionCoolDown(reason: GoodByeReasonCode): number;
31
- }
32
-
33
- export enum ScoreState {
34
- /** We are content with the peers performance. We permit connections and messages. */
35
- Healthy = "Healthy",
36
- /** The peer should be disconnected. We allow re-connections if the peer is persistent */
37
- Disconnected = "Disconnected",
38
- /** The peer is banned. We disallow new connections until it's score has decayed into a tolerable threshold */
39
- Banned = "Banned",
40
- }
41
-
42
- export type PeerRpcScoreStoreModules = {
43
- metrics: NetworkCoreMetrics | null;
44
- };
45
-
46
- export type PeerScoreStats = ({peerId: PeerIdStr} & PeerScoreStat)[];
47
-
48
- export type PeerScoreStat = {
49
- lodestarScore: number;
50
- gossipScore: number;
51
- ignoreNegativeGossipScore: boolean;
52
- score: number;
53
- lastUpdate: number;
54
- };
55
-
56
- export enum PeerAction {
57
- /** Immediately ban peer */
58
- Fatal = "Fatal",
59
- /**
60
- * Not malicious action, but it must not be tolerated
61
- * ~5 occurrences will get the peer banned
62
- */
63
- LowToleranceError = "LowToleranceError",
64
- /**
65
- * Negative action that can be tolerated only sometimes
66
- * ~10 occurrences will get the peer banned
67
- */
68
- MidToleranceError = "MidToleranceError",
69
- /**
70
- * Some error that can be tolerated multiple times
71
- * ~50 occurrences will get the peer banned
72
- */
73
- HighToleranceError = "HighToleranceError",
74
- }
@@ -1,200 +0,0 @@
1
- import {GoodByeReasonCode} from "../../../constants/network.js";
2
- import {
3
- COOL_DOWN_BEFORE_DECAY_MS,
4
- DEFAULT_SCORE,
5
- GOSSIPSUB_NEGATIVE_SCORE_WEIGHT,
6
- GOSSIPSUB_POSITIVE_SCORE_WEIGHT,
7
- HALFLIFE_DECAY_MS,
8
- MAX_SCORE,
9
- MIN_LODESTAR_SCORE_BEFORE_BAN,
10
- MIN_SCORE,
11
- NO_COOL_DOWN_APPLIED,
12
- } from "./constants.js";
13
- import {IPeerScore, PeerScoreStat, ScoreState} from "./interface.js";
14
- import {scoreToState} from "./utils.js";
15
-
16
- /**
17
- * Manage score of a peer.
18
- */
19
- export class RealScore implements IPeerScore {
20
- private lodestarScore: number;
21
- private gossipScore: number;
22
- private ignoreNegativeGossipScore: boolean;
23
- /** The final score, computed from the above */
24
- private score: number;
25
- private lastUpdate: number;
26
-
27
- constructor() {
28
- this.lodestarScore = DEFAULT_SCORE;
29
- this.gossipScore = DEFAULT_SCORE;
30
- this.score = DEFAULT_SCORE;
31
- this.ignoreNegativeGossipScore = false;
32
- this.lastUpdate = Date.now();
33
- }
34
-
35
- isCoolingDown(): boolean {
36
- return Date.now() < this.lastUpdate;
37
- }
38
-
39
- getScore(): number {
40
- return this.score;
41
- }
42
-
43
- getGossipScore(): number {
44
- return this.gossipScore;
45
- }
46
-
47
- add(scoreDelta: number): number {
48
- let newScore = this.lodestarScore + scoreDelta;
49
- if (newScore > MAX_SCORE) newScore = MAX_SCORE;
50
- if (newScore < MIN_SCORE) newScore = MIN_SCORE;
51
-
52
- this.setLodestarScore(newScore);
53
- return newScore;
54
- }
55
-
56
- applyReconnectionCoolDown(reason: GoodByeReasonCode): number {
57
- let coolDownMin = NO_COOL_DOWN_APPLIED;
58
- switch (reason) {
59
- // let scoring system handle score decay by itself
60
- case GoodByeReasonCode.BANNED:
61
- case GoodByeReasonCode.SCORE_TOO_LOW:
62
- return coolDownMin;
63
- case GoodByeReasonCode.INBOUND_DISCONNECT:
64
- case GoodByeReasonCode.TOO_MANY_PEERS:
65
- coolDownMin = 5;
66
- break;
67
- case GoodByeReasonCode.ERROR:
68
- case GoodByeReasonCode.CLIENT_SHUTDOWN:
69
- coolDownMin = 60;
70
- break;
71
- case GoodByeReasonCode.IRRELEVANT_NETWORK:
72
- coolDownMin = 240;
73
- break;
74
- }
75
- // set banning period to time in ms in the future from now
76
- this.lastUpdate = Date.now() + coolDownMin * 60 * 1000;
77
- return coolDownMin;
78
- }
79
-
80
- /**
81
- * Applies time-based logic such as decay rates to the score.
82
- * This function should be called periodically.
83
- *
84
- * Return the new score.
85
- */
86
- update(): number {
87
- const nowMs = Date.now();
88
-
89
- // Decay the current score
90
- // Using exponential decay based on a constant half life.
91
- const sinceLastUpdateMs = nowMs - this.lastUpdate;
92
- // If peer was banned, lastUpdate will be in the future
93
- if (sinceLastUpdateMs > 0) {
94
- this.lastUpdate = nowMs;
95
- // e^(-ln(2)/HL*t)
96
- const decayFactor = Math.exp(HALFLIFE_DECAY_MS * sinceLastUpdateMs);
97
- this.setLodestarScore(this.lodestarScore * decayFactor);
98
- }
99
-
100
- return this.lodestarScore;
101
- }
102
-
103
- updateGossipsubScore(newScore: number, ignore: boolean): void {
104
- // we only update gossipsub if last_updated is in the past which means either the peer is
105
- // not banned or the BANNED_BEFORE_DECAY time is over.
106
- if (this.lastUpdate <= Date.now()) {
107
- this.gossipScore = newScore;
108
- this.ignoreNegativeGossipScore = ignore;
109
- }
110
- }
111
-
112
- getStat(): PeerScoreStat {
113
- return {
114
- lodestarScore: this.lodestarScore,
115
- gossipScore: this.gossipScore,
116
- ignoreNegativeGossipScore: this.ignoreNegativeGossipScore,
117
- score: this.score,
118
- lastUpdate: this.lastUpdate,
119
- };
120
- }
121
-
122
- /**
123
- * Updating lodestarScore should always go through this method,
124
- * so that we update this.score accordingly.
125
- */
126
- private setLodestarScore(newScore: number): void {
127
- this.lodestarScore = newScore;
128
- this.updateState();
129
- }
130
-
131
- /**
132
- * Compute the final score, ban peer if needed
133
- */
134
- private updateState(): void {
135
- const prevState = scoreToState(this.score);
136
- this.recomputeScore();
137
- const newState = scoreToState(this.score);
138
-
139
- if (prevState !== ScoreState.Banned && newState === ScoreState.Banned) {
140
- // ban this peer for at least BANNED_BEFORE_DECAY_MS seconds
141
- this.lastUpdate = Date.now() + COOL_DOWN_BEFORE_DECAY_MS;
142
- }
143
- }
144
-
145
- /**
146
- * Compute the final score
147
- */
148
- private recomputeScore(): void {
149
- this.score = this.lodestarScore;
150
- if (this.score <= MIN_LODESTAR_SCORE_BEFORE_BAN) {
151
- // ignore all other scores, i.e. do nothing here
152
- return;
153
- }
154
-
155
- if (this.gossipScore >= 0) {
156
- this.score += this.gossipScore * GOSSIPSUB_POSITIVE_SCORE_WEIGHT;
157
- } else if (!this.ignoreNegativeGossipScore) {
158
- this.score += this.gossipScore * GOSSIPSUB_NEGATIVE_SCORE_WEIGHT;
159
- }
160
- }
161
- }
162
-
163
- /** An implementation of IPeerScore for testing */
164
- export class MaxScore implements IPeerScore {
165
- getScore(): number {
166
- return MAX_SCORE;
167
- }
168
-
169
- getGossipScore(): number {
170
- return DEFAULT_SCORE;
171
- }
172
-
173
- isCoolingDown(): boolean {
174
- return false;
175
- }
176
-
177
- add(): number {
178
- return DEFAULT_SCORE;
179
- }
180
-
181
- update(): number {
182
- return MAX_SCORE;
183
- }
184
-
185
- applyReconnectionCoolDown(_reason: GoodByeReasonCode): number {
186
- return NO_COOL_DOWN_APPLIED;
187
- }
188
-
189
- updateGossipsubScore(): void {}
190
-
191
- getStat(): PeerScoreStat {
192
- return {
193
- lodestarScore: MAX_SCORE,
194
- gossipScore: DEFAULT_SCORE,
195
- ignoreNegativeGossipScore: false,
196
- score: MAX_SCORE,
197
- lastUpdate: Date.now(),
198
- };
199
- }
200
- }
@@ -1,95 +0,0 @@
1
- import {PeerId} from "@libp2p/interface";
2
- import {Logger, MapDef, pruneSetToMax} from "@lodestar/utils";
3
- import {GoodByeReasonCode} from "../../../constants/network.js";
4
- import {PeerIdStr} from "../../../util/peerId.js";
5
- import {NetworkCoreMetrics} from "../../core/metrics.js";
6
- import {prettyPrintPeerId} from "../../util.js";
7
- import {DEFAULT_SCORE, MAX_ENTRIES, MAX_SCORE, MIN_SCORE, SCORE_THRESHOLD} from "./constants.js";
8
- import {IPeerRpcScoreStore, IPeerScore, PeerAction, PeerRpcScoreOpts, PeerScoreStats, ScoreState} from "./interface.js";
9
- import {MaxScore, RealScore} from "./score.js";
10
- import {scoreToState} from "./utils.js";
11
-
12
- const peerActionScore: Record<PeerAction, number> = {
13
- [PeerAction.Fatal]: -(MAX_SCORE - MIN_SCORE),
14
- [PeerAction.LowToleranceError]: -10,
15
- [PeerAction.MidToleranceError]: -5,
16
- [PeerAction.HighToleranceError]: -1,
17
- };
18
-
19
- /**
20
- * A peer's score (perceived potential usefulness).
21
- * This simplistic version consists of a global score per peer which decays to 0 over time.
22
- * The decay rate applies equally to positive and negative scores.
23
- * Peer cool-down period will be checked before dialing and will only be dialed if score is not waiting to decay
24
- */
25
- export class PeerRpcScoreStore implements IPeerRpcScoreStore {
26
- private readonly scores: MapDef<PeerIdStr, IPeerScore>;
27
- private readonly metrics: NetworkCoreMetrics | null;
28
- private readonly logger: Logger | null;
29
-
30
- // TODO: Persist scores, at least BANNED status to disk
31
-
32
- constructor(opts: PeerRpcScoreOpts = {}, metrics: NetworkCoreMetrics | null = null, logger: Logger | null = null) {
33
- this.metrics = metrics;
34
- this.logger = logger;
35
- this.scores = opts.disablePeerScoring ? new MapDef(() => new MaxScore()) : new MapDef(() => new RealScore());
36
- }
37
-
38
- getScore(peer: PeerId): number {
39
- return this.scores.get(peer.toString())?.getScore() ?? DEFAULT_SCORE;
40
- }
41
-
42
- getGossipScore(peer: PeerId): number {
43
- return this.scores.get(peer.toString())?.getGossipScore() ?? DEFAULT_SCORE;
44
- }
45
-
46
- getScoreState(peer: PeerId): ScoreState {
47
- return scoreToState(this.getScore(peer));
48
- }
49
-
50
- isCoolingDown(peerIdStr: PeerIdStr): boolean {
51
- return this.scores.get(peerIdStr)?.isCoolingDown() ?? false;
52
- }
53
-
54
- dumpPeerScoreStats(): PeerScoreStats {
55
- return Array.from(this.scores.entries()).map(([peerId, peerScore]) => ({peerId, ...peerScore.getStat()}));
56
- }
57
-
58
- applyAction(peer: PeerId, action: PeerAction, actionName: string): void {
59
- const peerScore = this.scores.getOrDefault(peer.toString());
60
- const scoreChange = peerActionScore[action];
61
- const newScore = peerScore.add(scoreChange);
62
-
63
- this.logger?.debug("peer score adjusted", {scoreChange, newScore, peerId: prettyPrintPeerId(peer), actionName});
64
- this.metrics?.peersReportPeerCount.inc({reason: actionName});
65
- }
66
-
67
- /**
68
- * Apply a reconnection cool-down period to prevent automatic reconnection. Sets peer
69
- * banning period and updates gossip score to -1 so next update removes the negative
70
- * score
71
- */
72
- applyReconnectionCoolDown(peer: PeerIdStr, reason: GoodByeReasonCode): number {
73
- const peerScore = this.scores.getOrDefault(peer);
74
- return peerScore.applyReconnectionCoolDown(reason);
75
- }
76
-
77
- update(): void {
78
- // Bound size of data structures
79
- pruneSetToMax(this.scores, MAX_ENTRIES);
80
-
81
- for (const [peerIdStr, peerScore] of this.scores) {
82
- const newScore = peerScore.update();
83
-
84
- // Prune scores below threshold
85
- if (Math.abs(newScore) < SCORE_THRESHOLD) {
86
- this.scores.delete(peerIdStr);
87
- }
88
- }
89
- }
90
-
91
- updateGossipsubScore(peerId: PeerIdStr, newScore: number, ignore: boolean): void {
92
- const peerScore = this.scores.getOrDefault(peerId);
93
- peerScore.updateGossipsubScore(newScore, ignore);
94
- }
95
- }
@@ -1,37 +0,0 @@
1
- import {negativeGossipScoreIgnoreThreshold} from "../../gossip/scoringParameters.js";
2
- import {MIN_SCORE_BEFORE_BAN, MIN_SCORE_BEFORE_DISCONNECT} from "./constants.js";
3
- import {IPeerRpcScoreStore, ScoreState} from "./interface.js";
4
-
5
- export function scoreToState(score: number): ScoreState {
6
- if (score <= MIN_SCORE_BEFORE_BAN) return ScoreState.Banned;
7
- if (score <= MIN_SCORE_BEFORE_DISCONNECT) return ScoreState.Disconnected;
8
- return ScoreState.Healthy;
9
- }
10
-
11
- /**
12
- * Utility to update gossipsub score of connected peers
13
- */
14
- export function updateGossipsubScores(
15
- peerRpcScores: IPeerRpcScoreStore,
16
- gossipsubScores: Map<string, number>,
17
- toIgnoreNegativePeers: number
18
- ): void {
19
- // sort by gossipsub score desc
20
- const sortedPeerIds = Array.from(gossipsubScores.keys()).sort(
21
- (a, b) => (gossipsubScores.get(b) ?? 0) - (gossipsubScores.get(a) ?? 0)
22
- );
23
- for (const peerId of sortedPeerIds) {
24
- const gossipsubScore = gossipsubScores.get(peerId);
25
- if (gossipsubScore !== undefined) {
26
- let ignore = false;
27
- if (gossipsubScore < 0 && gossipsubScore > negativeGossipScoreIgnoreThreshold && toIgnoreNegativePeers > 0) {
28
- // We ignore the negative score for the best negative peers so that their
29
- // gossipsub score can recover without getting disconnected.
30
- ignore = true;
31
- toIgnoreNegativePeers -= 1;
32
- }
33
-
34
- peerRpcScores.updateGossipsubScore(peerId, gossipsubScore, ignore);
35
- }
36
- }
37
- }
@@ -1,99 +0,0 @@
1
- import {ForkName, isForkPostFulu} from "@lodestar/params";
2
- import {ForkDigest, Root, Slot, Status, fulu, ssz} from "@lodestar/types";
3
- import {toHex, toRootHex} from "@lodestar/utils";
4
-
5
- // TODO: Why this value? (From Lighthouse)
6
- const FUTURE_SLOT_TOLERANCE = 1;
7
-
8
- export enum IrrelevantPeerCode {
9
- INCOMPATIBLE_FORKS = "IRRELEVANT_PEER_INCOMPATIBLE_FORKS",
10
- DIFFERENT_CLOCKS = "IRRELEVANT_PEER_DIFFERENT_CLOCKS",
11
- DIFFERENT_FINALIZED = "IRRELEVANT_PEER_DIFFERENT_FINALIZED",
12
- NO_EARLIEST_AVAILABLE_SLOT = "NO_EARLIEST_AVAILABLE_SLOT",
13
- }
14
-
15
- type IrrelevantPeerType =
16
- | {code: IrrelevantPeerCode.INCOMPATIBLE_FORKS; ours: ForkDigest; theirs: ForkDigest}
17
- | {code: IrrelevantPeerCode.DIFFERENT_CLOCKS; slotDiff: number}
18
- | {code: IrrelevantPeerCode.NO_EARLIEST_AVAILABLE_SLOT}
19
- | {code: IrrelevantPeerCode.DIFFERENT_FINALIZED; expectedRoot: Root; remoteRoot: Root};
20
-
21
- /**
22
- * Process a `Status` message to determine if a peer is relevant to us. If the peer is
23
- * irrelevant the reason is returned.
24
- */
25
- export function assertPeerRelevance(
26
- forkName: ForkName,
27
- remote: Status,
28
- local: Status,
29
- currentSlot: Slot
30
- ): IrrelevantPeerType | null {
31
- // The node is on a different network/fork
32
- if (!ssz.ForkDigest.equals(local.forkDigest, remote.forkDigest)) {
33
- return {
34
- code: IrrelevantPeerCode.INCOMPATIBLE_FORKS,
35
- ours: local.forkDigest,
36
- theirs: remote.forkDigest,
37
- };
38
- }
39
-
40
- // The remote's head is on a slot that is significantly ahead of what we consider the
41
- // current slot. This could be because they are using a different genesis time, or that
42
- // their or our system's clock is incorrect.
43
- const slotDiff = remote.headSlot - Math.max(currentSlot, 0);
44
- if (slotDiff > FUTURE_SLOT_TOLERANCE) {
45
- return {code: IrrelevantPeerCode.DIFFERENT_CLOCKS, slotDiff};
46
- }
47
-
48
- // The remote's finalized epoch is less than or equal to ours, but the block root is
49
- // different to the one in our chain. Therefore, the node is on a different chain and we
50
- // should not communicate with them.
51
-
52
- if (
53
- remote.finalizedEpoch <= local.finalizedEpoch &&
54
- !isZeroRoot(remote.finalizedRoot) &&
55
- !isZeroRoot(local.finalizedRoot)
56
- ) {
57
- // NOTE: due to preferring to not access chain state here, we can't check the finalized root against our history.
58
- // The impact of not doing check is low: peers that are behind us we can't confirm they are in the same chain as us.
59
- // In the worst case they will attempt to sync from us, fail and disconnect. The ENR fork check should be sufficient
60
- // to differentiate most peers in normal network conditions.
61
- const remoteRoot = remote.finalizedRoot;
62
- const expectedRoot = remote.finalizedEpoch === local.finalizedEpoch ? local.finalizedRoot : null;
63
-
64
- if (expectedRoot !== null && !ssz.Root.equals(remoteRoot, expectedRoot)) {
65
- return {
66
- code: IrrelevantPeerCode.DIFFERENT_FINALIZED,
67
- expectedRoot: expectedRoot, // forkChoice returns Tree BranchNode which the logger prints as {}
68
- remoteRoot: remoteRoot,
69
- };
70
- }
71
- }
72
-
73
- if (isForkPostFulu(forkName) && (remote as fulu.Status).earliestAvailableSlot === undefined) {
74
- return {
75
- code: IrrelevantPeerCode.NO_EARLIEST_AVAILABLE_SLOT,
76
- };
77
- }
78
-
79
- // Note: Accept request status finalized checkpoint in the future, we do not know if it is a true finalized root
80
- return null;
81
- }
82
-
83
- export function isZeroRoot(root: Root): boolean {
84
- const ZERO_ROOT = ssz.Root.defaultValue();
85
- return ssz.Root.equals(root, ZERO_ROOT);
86
- }
87
-
88
- export function renderIrrelevantPeerType(type: IrrelevantPeerType): string {
89
- switch (type.code) {
90
- case IrrelevantPeerCode.INCOMPATIBLE_FORKS:
91
- return `INCOMPATIBLE_FORKS ours: ${toHex(type.ours)} theirs: ${toHex(type.theirs)}`;
92
- case IrrelevantPeerCode.DIFFERENT_CLOCKS:
93
- return `DIFFERENT_CLOCKS slotDiff: ${type.slotDiff}`;
94
- case IrrelevantPeerCode.DIFFERENT_FINALIZED:
95
- return `DIFFERENT_FINALIZED root: ${toRootHex(type.remoteRoot)} expected: ${toRootHex(type.expectedRoot)}`;
96
- case IrrelevantPeerCode.NO_EARLIEST_AVAILABLE_SLOT:
97
- return "No earliestAvailableSlot announced via peer Status";
98
- }
99
- }
@@ -1,27 +0,0 @@
1
- import {getUint8ByteToBitBooleanArray} from "@chainsafe/ssz";
2
- import {ATTESTATION_SUBNET_COUNT, SYNC_COMMITTEE_SUBNET_COUNT} from "@lodestar/params";
3
- import {newFilledArray} from "@lodestar/state-transition";
4
-
5
- export const zeroAttnets = newFilledArray(ATTESTATION_SUBNET_COUNT, false);
6
- export const zeroSyncnets = newFilledArray(SYNC_COMMITTEE_SUBNET_COUNT, false);
7
-
8
- /**
9
- * Fast deserialize a BitVector, with pre-cached bool array in `getUint8ByteToBitBooleanArray()`
10
- *
11
- * Never throw a deserialization error:
12
- * - if bytes is too short, it will pad with zeroes
13
- * - if bytes is too long, it will ignore the extra values
14
- */
15
- export function deserializeEnrSubnets(bytes: Uint8Array, subnetCount: number): boolean[] {
16
- if (subnetCount <= 8) {
17
- return getUint8ByteToBitBooleanArray(bytes[0] ?? 0);
18
- }
19
-
20
- let boolsArr: boolean[] = [];
21
- const byteCount = Math.ceil(subnetCount / 8);
22
- for (let i = 0; i < byteCount; i++) {
23
- boolsArr = boolsArr.concat(getUint8ByteToBitBooleanArray(bytes[i] ?? 0));
24
- }
25
-
26
- return boolsArr;
27
- }
@@ -1,33 +0,0 @@
1
- import {Connection, PeerId} from "@libp2p/interface";
2
- import {Libp2p} from "../../interface.js";
3
- import {getConnectionsMap} from "../../util.js";
4
-
5
- /**
6
- * Return peers with at least one connection in status "open"
7
- */
8
- export function getConnectedPeerIds(libp2p: Libp2p): PeerId[] {
9
- const peerIds: PeerId[] = [];
10
- for (const connections of getConnectionsMap(libp2p).values()) {
11
- const openConnection = connections.value.find(isConnectionOpen);
12
- if (openConnection) {
13
- peerIds.push(openConnection.remotePeer);
14
- }
15
- }
16
- return peerIds;
17
- }
18
-
19
- /**
20
- * Efficiently check if there is at least one peer connected
21
- */
22
- export function hasSomeConnectedPeer(libp2p: Libp2p): boolean {
23
- for (const connections of getConnectionsMap(libp2p).values()) {
24
- if (connections.value.some(isConnectionOpen)) {
25
- return true;
26
- }
27
- }
28
- return false;
29
- }
30
-
31
- function isConnectionOpen(connection: Connection): boolean {
32
- return connection.status === "open";
33
- }
@@ -1,4 +0,0 @@
1
- export * from "./assertPeerRelevance.js";
2
- export * from "./getConnectedPeerIds.js";
3
- export * from "./prioritizePeers.js";
4
- export * from "./subnetMap.js";