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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (930) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/lodestar/index.js +1 -1
  4. package/lib/api/impl/lodestar/index.js.map +1 -1
  5. package/lib/api/impl/validator/index.js +8 -9
  6. package/lib/api/impl/validator/index.js.map +1 -1
  7. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  8. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  9. package/lib/chain/blocks/blockInput/blockInput.js +1 -1
  10. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  11. package/lib/chain/blocks/importBlock.js +6 -7
  12. package/lib/chain/blocks/importBlock.js.map +1 -1
  13. package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -8
  14. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  15. package/lib/chain/blocks/writeBlockInputToDb.js +7 -1
  16. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  17. package/lib/chain/chain.js +4 -3
  18. package/lib/chain/chain.js.map +1 -1
  19. package/lib/chain/emitter.d.ts +2 -2
  20. package/lib/chain/opPools/attestationPool.d.ts +3 -2
  21. package/lib/chain/opPools/attestationPool.js +5 -3
  22. package/lib/chain/opPools/attestationPool.js.map +1 -1
  23. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +2 -3
  24. package/lib/chain/opPools/syncCommitteeMessagePool.js +5 -6
  25. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  26. package/lib/chain/opPools/types.d.ts +1 -1
  27. package/lib/chain/opPools/types.js +1 -1
  28. package/lib/chain/opPools/types.js.map +1 -1
  29. package/lib/chain/prepareNextSlot.d.ts +3 -3
  30. package/lib/chain/prepareNextSlot.js +8 -8
  31. package/lib/chain/prepareNextSlot.js.map +1 -1
  32. package/lib/chain/stateCache/persistentCheckpointsCache.js +8 -9
  33. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  34. package/lib/chain/validation/lightClientFinalityUpdate.js +3 -4
  35. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  36. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +4 -6
  37. package/lib/chain/validation/lightClientOptimisticUpdate.js +11 -11
  38. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  39. package/lib/chain/validatorMonitor.js +15 -21
  40. package/lib/chain/validatorMonitor.js.map +1 -1
  41. package/lib/db/buckets.d.ts +4 -4
  42. package/lib/db/buckets.js +4 -4
  43. package/lib/db/buckets.js.map +1 -1
  44. package/lib/db/repositories/blobSidecars.js +1 -1
  45. package/lib/db/repositories/blobSidecars.js.map +1 -1
  46. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  47. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  48. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  49. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  50. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  51. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  52. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  53. package/lib/metrics/metrics/lodestar.d.ts +1 -1
  54. package/lib/metrics/metrics/lodestar.js +3 -3
  55. package/lib/metrics/metrics/lodestar.js.map +1 -1
  56. package/lib/network/gossip/gossipsub.js +1 -1
  57. package/lib/network/gossip/gossipsub.js.map +1 -1
  58. package/lib/network/gossip/scoringParameters.js +4 -4
  59. package/lib/network/gossip/scoringParameters.js.map +1 -1
  60. package/lib/network/network.d.ts +1 -1
  61. package/lib/network/network.js +13 -11
  62. package/lib/network/network.js.map +1 -1
  63. package/lib/network/peers/peerManager.js +1 -2
  64. package/lib/network/peers/peerManager.js.map +1 -1
  65. package/lib/network/processor/gossipHandlers.js +1 -1
  66. package/lib/network/processor/gossipHandlers.js.map +1 -1
  67. package/lib/network/processor/index.d.ts +1 -1
  68. package/lib/network/processor/index.js +3 -2
  69. package/lib/network/processor/index.js.map +1 -1
  70. package/lib/network/subnets/attnetsService.js +1 -1
  71. package/lib/network/subnets/attnetsService.js.map +1 -1
  72. package/lib/node/notifier.js +1 -1
  73. package/lib/node/notifier.js.map +1 -1
  74. package/lib/sync/types.d.ts +1 -0
  75. package/lib/sync/types.js.map +1 -1
  76. package/lib/sync/unknownBlock.d.ts +1 -0
  77. package/lib/sync/unknownBlock.js +20 -18
  78. package/lib/sync/unknownBlock.js.map +1 -1
  79. package/lib/util/blobs.js +3 -5
  80. package/lib/util/blobs.js.map +1 -1
  81. package/lib/util/clock.d.ts +3 -8
  82. package/lib/util/clock.js +5 -8
  83. package/lib/util/clock.js.map +1 -1
  84. package/package.json +20 -18
  85. package/lib/api/impl/api.d.ts.map +0 -1
  86. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  87. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  88. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  89. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  90. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  91. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  92. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  93. package/lib/api/impl/config/constants.d.ts.map +0 -1
  94. package/lib/api/impl/config/index.d.ts.map +0 -1
  95. package/lib/api/impl/debug/index.d.ts.map +0 -1
  96. package/lib/api/impl/errors.d.ts.map +0 -1
  97. package/lib/api/impl/events/index.d.ts.map +0 -1
  98. package/lib/api/impl/index.d.ts.map +0 -1
  99. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  100. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  101. package/lib/api/impl/node/index.d.ts.map +0 -1
  102. package/lib/api/impl/node/utils.d.ts.map +0 -1
  103. package/lib/api/impl/proof/index.d.ts.map +0 -1
  104. package/lib/api/impl/types.d.ts.map +0 -1
  105. package/lib/api/impl/utils.d.ts.map +0 -1
  106. package/lib/api/impl/validator/index.d.ts.map +0 -1
  107. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  108. package/lib/api/index.d.ts.map +0 -1
  109. package/lib/api/options.d.ts.map +0 -1
  110. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  111. package/lib/api/rest/base.d.ts.map +0 -1
  112. package/lib/api/rest/index.d.ts.map +0 -1
  113. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  114. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  115. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  116. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  117. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  118. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  119. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  120. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  121. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  122. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  123. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  124. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  125. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  126. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  127. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  128. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  129. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  130. package/lib/chain/balancesCache.d.ts.map +0 -1
  131. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  132. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  133. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  134. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  135. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  136. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  137. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  138. package/lib/chain/blocks/index.d.ts.map +0 -1
  139. package/lib/chain/blocks/types.d.ts.map +0 -1
  140. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  141. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  142. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  143. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  144. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  145. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  146. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  147. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  148. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  149. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  150. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  151. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  152. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  153. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  154. package/lib/chain/bls/index.d.ts.map +0 -1
  155. package/lib/chain/bls/interface.d.ts.map +0 -1
  156. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  157. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  158. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  159. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  160. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  161. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  162. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  163. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  164. package/lib/chain/bls/utils.d.ts.map +0 -1
  165. package/lib/chain/chain.d.ts.map +0 -1
  166. package/lib/chain/emitter.d.ts.map +0 -1
  167. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  168. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  169. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  170. package/lib/chain/errors/blockError.d.ts.map +0 -1
  171. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  172. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  173. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  174. package/lib/chain/errors/index.d.ts.map +0 -1
  175. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  176. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  177. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  178. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  179. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  180. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  181. package/lib/chain/genesis/interface.d.ts.map +0 -1
  182. package/lib/chain/index.d.ts.map +0 -1
  183. package/lib/chain/initState.d.ts.map +0 -1
  184. package/lib/chain/interface.d.ts.map +0 -1
  185. package/lib/chain/lightClient/index.d.ts.map +0 -1
  186. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  187. package/lib/chain/lightClient/types.d.ts.map +0 -1
  188. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  189. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  190. package/lib/chain/opPools/index.d.ts.map +0 -1
  191. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  192. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  193. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  194. package/lib/chain/opPools/types.d.ts.map +0 -1
  195. package/lib/chain/opPools/utils.d.ts.map +0 -1
  196. package/lib/chain/options.d.ts.map +0 -1
  197. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  198. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  199. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  200. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  201. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  202. package/lib/chain/regen/errors.d.ts.map +0 -1
  203. package/lib/chain/regen/index.d.ts.map +0 -1
  204. package/lib/chain/regen/interface.d.ts.map +0 -1
  205. package/lib/chain/regen/queued.d.ts.map +0 -1
  206. package/lib/chain/regen/regen.d.ts.map +0 -1
  207. package/lib/chain/reprocess.d.ts.map +0 -1
  208. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  209. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  210. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  211. package/lib/chain/seenCache/index.d.ts.map +0 -1
  212. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  213. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  214. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  215. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  216. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  217. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  218. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  219. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  220. package/lib/chain/serializeState.d.ts.map +0 -1
  221. package/lib/chain/shufflingCache.d.ts.map +0 -1
  222. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  223. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  224. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  225. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  226. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  227. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  228. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  229. package/lib/chain/stateCache/index.d.ts.map +0 -1
  230. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  231. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  232. package/lib/chain/stateCache/types.d.ts.map +0 -1
  233. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  234. package/lib/chain/validation/attestation.d.ts.map +0 -1
  235. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  236. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  237. package/lib/chain/validation/block.d.ts.map +0 -1
  238. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  239. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  240. package/lib/chain/validation/index.d.ts.map +0 -1
  241. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  242. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  243. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  244. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  245. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  246. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  247. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  248. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  249. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  250. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  251. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  252. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  253. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  254. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  255. package/lib/constants/constants.d.ts.map +0 -1
  256. package/lib/constants/index.d.ts.map +0 -1
  257. package/lib/constants/network.d.ts.map +0 -1
  258. package/lib/db/beacon.d.ts.map +0 -1
  259. package/lib/db/buckets.d.ts.map +0 -1
  260. package/lib/db/index.d.ts.map +0 -1
  261. package/lib/db/interface.d.ts.map +0 -1
  262. package/lib/db/options.d.ts.map +0 -1
  263. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  264. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  265. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  266. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  267. package/lib/db/repositories/block.d.ts.map +0 -1
  268. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  269. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  270. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  271. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  272. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  273. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  274. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  275. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  276. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  277. package/lib/db/repositories/index.d.ts.map +0 -1
  278. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  279. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  280. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  281. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  282. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  283. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  284. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  285. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  286. package/lib/db/single/index.d.ts.map +0 -1
  287. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  288. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  289. package/lib/eth1/errors.d.ts.map +0 -1
  290. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  291. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  292. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  293. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  294. package/lib/eth1/index.d.ts.map +0 -1
  295. package/lib/eth1/interface.d.ts.map +0 -1
  296. package/lib/eth1/options.d.ts.map +0 -1
  297. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  298. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  299. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  300. package/lib/eth1/provider/utils.d.ts.map +0 -1
  301. package/lib/eth1/stream.d.ts.map +0 -1
  302. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  303. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  304. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  305. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  306. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  307. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  308. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  309. package/lib/execution/builder/cache.d.ts.map +0 -1
  310. package/lib/execution/builder/http.d.ts.map +0 -1
  311. package/lib/execution/builder/index.d.ts.map +0 -1
  312. package/lib/execution/builder/interface.d.ts.map +0 -1
  313. package/lib/execution/builder/utils.d.ts.map +0 -1
  314. package/lib/execution/engine/disabled.d.ts.map +0 -1
  315. package/lib/execution/engine/http.d.ts.map +0 -1
  316. package/lib/execution/engine/index.d.ts.map +0 -1
  317. package/lib/execution/engine/interface.d.ts.map +0 -1
  318. package/lib/execution/engine/mock.d.ts.map +0 -1
  319. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  320. package/lib/execution/engine/types.d.ts.map +0 -1
  321. package/lib/execution/engine/utils.d.ts.map +0 -1
  322. package/lib/execution/index.d.ts.map +0 -1
  323. package/lib/index.d.ts.map +0 -1
  324. package/lib/metrics/index.d.ts.map +0 -1
  325. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  326. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  327. package/lib/metrics/metrics.d.ts.map +0 -1
  328. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  329. package/lib/metrics/options.d.ts.map +0 -1
  330. package/lib/metrics/server/http.d.ts.map +0 -1
  331. package/lib/metrics/server/index.d.ts.map +0 -1
  332. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  333. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  334. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  335. package/lib/monitoring/clientStats.d.ts.map +0 -1
  336. package/lib/monitoring/index.d.ts.map +0 -1
  337. package/lib/monitoring/options.d.ts.map +0 -1
  338. package/lib/monitoring/properties.d.ts.map +0 -1
  339. package/lib/monitoring/service.d.ts.map +0 -1
  340. package/lib/monitoring/system.d.ts.map +0 -1
  341. package/lib/monitoring/types.d.ts.map +0 -1
  342. package/lib/network/core/events.d.ts.map +0 -1
  343. package/lib/network/core/index.d.ts.map +0 -1
  344. package/lib/network/core/metrics.d.ts.map +0 -1
  345. package/lib/network/core/networkCore.d.ts.map +0 -1
  346. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  347. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  348. package/lib/network/core/types.d.ts.map +0 -1
  349. package/lib/network/discv5/index.d.ts.map +0 -1
  350. package/lib/network/discv5/types.d.ts.map +0 -1
  351. package/lib/network/discv5/utils.d.ts.map +0 -1
  352. package/lib/network/discv5/worker.d.ts.map +0 -1
  353. package/lib/network/events.d.ts.map +0 -1
  354. package/lib/network/forks.d.ts.map +0 -1
  355. package/lib/network/gossip/constants.d.ts.map +0 -1
  356. package/lib/network/gossip/encoding.d.ts.map +0 -1
  357. package/lib/network/gossip/errors.d.ts.map +0 -1
  358. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  359. package/lib/network/gossip/index.d.ts.map +0 -1
  360. package/lib/network/gossip/interface.d.ts.map +0 -1
  361. package/lib/network/gossip/metrics.d.ts.map +0 -1
  362. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  363. package/lib/network/gossip/topic.d.ts.map +0 -1
  364. package/lib/network/index.d.ts.map +0 -1
  365. package/lib/network/interface.d.ts.map +0 -1
  366. package/lib/network/libp2p/error.d.ts.map +0 -1
  367. package/lib/network/libp2p/index.d.ts.map +0 -1
  368. package/lib/network/metadata.d.ts.map +0 -1
  369. package/lib/network/network.d.ts.map +0 -1
  370. package/lib/network/networkConfig.d.ts.map +0 -1
  371. package/lib/network/options.d.ts.map +0 -1
  372. package/lib/network/peers/client.d.ts.map +0 -1
  373. package/lib/network/peers/datastore.d.ts.map +0 -1
  374. package/lib/network/peers/discover.d.ts.map +0 -1
  375. package/lib/network/peers/index.d.ts.map +0 -1
  376. package/lib/network/peers/peerManager.d.ts.map +0 -1
  377. package/lib/network/peers/peersData.d.ts.map +0 -1
  378. package/lib/network/peers/score/constants.d.ts.map +0 -1
  379. package/lib/network/peers/score/index.d.ts.map +0 -1
  380. package/lib/network/peers/score/interface.d.ts.map +0 -1
  381. package/lib/network/peers/score/score.d.ts.map +0 -1
  382. package/lib/network/peers/score/store.d.ts.map +0 -1
  383. package/lib/network/peers/score/utils.d.ts.map +0 -1
  384. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  385. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  386. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  387. package/lib/network/peers/utils/index.d.ts.map +0 -1
  388. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  389. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  390. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  391. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  392. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  393. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  394. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  395. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  396. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  397. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  398. package/lib/network/processor/index.d.ts.map +0 -1
  399. package/lib/network/processor/types.d.ts.map +0 -1
  400. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  401. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  402. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  403. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  404. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  405. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  406. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  407. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  408. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  409. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  410. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  411. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  412. package/lib/network/reqresp/index.d.ts.map +0 -1
  413. package/lib/network/reqresp/interface.d.ts.map +0 -1
  414. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  415. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  416. package/lib/network/reqresp/score.d.ts.map +0 -1
  417. package/lib/network/reqresp/types.d.ts.map +0 -1
  418. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  419. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  420. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  421. package/lib/network/statusCache.d.ts.map +0 -1
  422. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  423. package/lib/network/subnets/index.d.ts.map +0 -1
  424. package/lib/network/subnets/interface.d.ts.map +0 -1
  425. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  426. package/lib/network/subnets/util.d.ts.map +0 -1
  427. package/lib/network/util.d.ts.map +0 -1
  428. package/lib/node/index.d.ts.map +0 -1
  429. package/lib/node/nodejs.d.ts.map +0 -1
  430. package/lib/node/notifier.d.ts.map +0 -1
  431. package/lib/node/options.d.ts.map +0 -1
  432. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  433. package/lib/node/utils/interop/state.d.ts.map +0 -1
  434. package/lib/node/utils/lightclient.d.ts.map +0 -1
  435. package/lib/node/utils/state.d.ts.map +0 -1
  436. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  437. package/lib/sync/backfill/errors.d.ts.map +0 -1
  438. package/lib/sync/backfill/index.d.ts.map +0 -1
  439. package/lib/sync/backfill/verify.d.ts.map +0 -1
  440. package/lib/sync/constants.d.ts.map +0 -1
  441. package/lib/sync/index.d.ts.map +0 -1
  442. package/lib/sync/interface.d.ts.map +0 -1
  443. package/lib/sync/options.d.ts.map +0 -1
  444. package/lib/sync/range/batch.d.ts.map +0 -1
  445. package/lib/sync/range/chain.d.ts.map +0 -1
  446. package/lib/sync/range/range.d.ts.map +0 -1
  447. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  448. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  449. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  450. package/lib/sync/range/utils/index.d.ts.map +0 -1
  451. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  452. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  453. package/lib/sync/sync.d.ts.map +0 -1
  454. package/lib/sync/types.d.ts.map +0 -1
  455. package/lib/sync/unknownBlock.d.ts.map +0 -1
  456. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  457. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  458. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  459. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  460. package/lib/util/address.d.ts.map +0 -1
  461. package/lib/util/array.d.ts.map +0 -1
  462. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  463. package/lib/util/binarySearch.d.ts.map +0 -1
  464. package/lib/util/bitArray.d.ts.map +0 -1
  465. package/lib/util/blobs.d.ts.map +0 -1
  466. package/lib/util/bufferPool.d.ts.map +0 -1
  467. package/lib/util/bytes.d.ts.map +0 -1
  468. package/lib/util/chunkify.d.ts.map +0 -1
  469. package/lib/util/clock.d.ts.map +0 -1
  470. package/lib/util/dataColumns.d.ts.map +0 -1
  471. package/lib/util/dependentRoot.d.ts.map +0 -1
  472. package/lib/util/enum.d.ts.map +0 -1
  473. package/lib/util/error.d.ts.map +0 -1
  474. package/lib/util/eventLoop.d.ts.map +0 -1
  475. package/lib/util/execution.d.ts.map +0 -1
  476. package/lib/util/file.d.ts.map +0 -1
  477. package/lib/util/forkChoice.d.ts.map +0 -1
  478. package/lib/util/forkName.d.ts.map +0 -1
  479. package/lib/util/graffiti.d.ts.map +0 -1
  480. package/lib/util/hex.d.ts.map +0 -1
  481. package/lib/util/index.d.ts.map +0 -1
  482. package/lib/util/ip.d.ts.map +0 -1
  483. package/lib/util/itTrigger.d.ts.map +0 -1
  484. package/lib/util/kzg.d.ts.map +0 -1
  485. package/lib/util/map.d.ts.map +0 -1
  486. package/lib/util/metadata.d.ts.map +0 -1
  487. package/lib/util/multifork.d.ts.map +0 -1
  488. package/lib/util/numpy.d.ts.map +0 -1
  489. package/lib/util/peerId.d.ts.map +0 -1
  490. package/lib/util/profile.d.ts.map +0 -1
  491. package/lib/util/promises.d.ts.map +0 -1
  492. package/lib/util/queue/errors.d.ts.map +0 -1
  493. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  494. package/lib/util/queue/index.d.ts.map +0 -1
  495. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  496. package/lib/util/queue/options.d.ts.map +0 -1
  497. package/lib/util/serializedCache.d.ts.map +0 -1
  498. package/lib/util/set.d.ts.map +0 -1
  499. package/lib/util/shuffle.d.ts.map +0 -1
  500. package/lib/util/sortBy.d.ts.map +0 -1
  501. package/lib/util/sszBytes.d.ts.map +0 -1
  502. package/lib/util/strictEvents.d.ts.map +0 -1
  503. package/lib/util/time.d.ts.map +0 -1
  504. package/lib/util/timeSeries.d.ts.map +0 -1
  505. package/lib/util/types.d.ts.map +0 -1
  506. package/lib/util/workerEvents.d.ts.map +0 -1
  507. package/lib/util/wrapError.d.ts.map +0 -1
  508. package/src/api/impl/api.ts +0 -26
  509. package/src/api/impl/beacon/blocks/index.ts +0 -744
  510. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  511. package/src/api/impl/beacon/index.ts +0 -35
  512. package/src/api/impl/beacon/pool/index.ts +0 -314
  513. package/src/api/impl/beacon/rewards/index.ts +0 -30
  514. package/src/api/impl/beacon/state/index.ts +0 -406
  515. package/src/api/impl/beacon/state/utils.ts +0 -189
  516. package/src/api/impl/config/constants.ts +0 -127
  517. package/src/api/impl/config/index.ts +0 -59
  518. package/src/api/impl/debug/index.ts +0 -131
  519. package/src/api/impl/errors.ts +0 -50
  520. package/src/api/impl/events/index.ts +0 -33
  521. package/src/api/impl/index.ts +0 -6
  522. package/src/api/impl/lightclient/index.ts +0 -64
  523. package/src/api/impl/lodestar/index.ts +0 -257
  524. package/src/api/impl/node/index.ts +0 -88
  525. package/src/api/impl/node/utils.ts +0 -51
  526. package/src/api/impl/proof/index.ts +0 -60
  527. package/src/api/impl/types.ts +0 -17
  528. package/src/api/impl/utils.ts +0 -25
  529. package/src/api/impl/validator/index.ts +0 -1541
  530. package/src/api/impl/validator/utils.ts +0 -85
  531. package/src/api/index.ts +0 -2
  532. package/src/api/options.ts +0 -16
  533. package/src/api/rest/activeSockets.ts +0 -109
  534. package/src/api/rest/base.ts +0 -216
  535. package/src/api/rest/index.ts +0 -63
  536. package/src/api/rest/swaggerUI.ts +0 -80
  537. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  538. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  539. package/src/chain/GetBlobsTracker.ts +0 -115
  540. package/src/chain/archiveStore/archiveStore.ts +0 -222
  541. package/src/chain/archiveStore/constants.ts +0 -5
  542. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  543. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  544. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  545. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  546. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  547. package/src/chain/archiveStore/index.ts +0 -3
  548. package/src/chain/archiveStore/interface.ts +0 -75
  549. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  550. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  551. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  552. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  553. package/src/chain/balancesCache.ts +0 -52
  554. package/src/chain/beaconProposerCache.ts +0 -43
  555. package/src/chain/blocks/blockInput/blockInput.ts +0 -852
  556. package/src/chain/blocks/blockInput/errors.ts +0 -48
  557. package/src/chain/blocks/blockInput/index.ts +0 -4
  558. package/src/chain/blocks/blockInput/types.ts +0 -145
  559. package/src/chain/blocks/blockInput/utils.ts +0 -21
  560. package/src/chain/blocks/importBlock.ts +0 -599
  561. package/src/chain/blocks/index.ts +0 -179
  562. package/src/chain/blocks/types.ts +0 -101
  563. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  564. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  565. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  566. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  567. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  568. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  569. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  570. package/src/chain/blocks/verifyBlock.ts +0 -242
  571. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -42
  572. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  573. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  574. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  575. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  576. package/src/chain/blocks/writeBlockInputToDb.ts +0 -120
  577. package/src/chain/bls/index.ts +0 -4
  578. package/src/chain/bls/interface.ts +0 -68
  579. package/src/chain/bls/maybeBatch.ts +0 -45
  580. package/src/chain/bls/multithread/index.ts +0 -582
  581. package/src/chain/bls/multithread/jobItem.ts +0 -119
  582. package/src/chain/bls/multithread/poolSize.ts +0 -16
  583. package/src/chain/bls/multithread/types.ts +0 -38
  584. package/src/chain/bls/multithread/utils.ts +0 -19
  585. package/src/chain/bls/multithread/worker.ts +0 -114
  586. package/src/chain/bls/singleThread.ts +0 -87
  587. package/src/chain/bls/utils.ts +0 -30
  588. package/src/chain/chain.ts +0 -1354
  589. package/src/chain/emitter.ts +0 -113
  590. package/src/chain/errors/attestationError.ts +0 -194
  591. package/src/chain/errors/attesterSlashingError.ts +0 -11
  592. package/src/chain/errors/blobSidecarError.ts +0 -60
  593. package/src/chain/errors/blockError.ts +0 -166
  594. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  595. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  596. package/src/chain/errors/gossipValidation.ts +0 -20
  597. package/src/chain/errors/index.ts +0 -10
  598. package/src/chain/errors/lightClientError.ts +0 -30
  599. package/src/chain/errors/proposerSlashingError.ts +0 -11
  600. package/src/chain/errors/syncCommitteeError.ts +0 -36
  601. package/src/chain/errors/voluntaryExitError.ts +0 -13
  602. package/src/chain/forkChoice/index.ts +0 -112
  603. package/src/chain/genesis/genesis.ts +0 -190
  604. package/src/chain/genesis/interface.ts +0 -14
  605. package/src/chain/index.ts +0 -6
  606. package/src/chain/initState.ts +0 -221
  607. package/src/chain/interface.ts +0 -280
  608. package/src/chain/lightClient/index.ts +0 -764
  609. package/src/chain/lightClient/proofs.ts +0 -85
  610. package/src/chain/lightClient/types.ts +0 -33
  611. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  612. package/src/chain/opPools/attestationPool.ts +0 -282
  613. package/src/chain/opPools/index.ts +0 -5
  614. package/src/chain/opPools/opPool.ts +0 -462
  615. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -169
  616. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  617. package/src/chain/opPools/types.ts +0 -35
  618. package/src/chain/opPools/utils.ts +0 -65
  619. package/src/chain/options.ts +0 -138
  620. package/src/chain/prepareNextSlot.ts +0 -277
  621. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  622. package/src/chain/produceBlock/index.ts +0 -2
  623. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  624. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  625. package/src/chain/regen/errors.ts +0 -30
  626. package/src/chain/regen/index.ts +0 -4
  627. package/src/chain/regen/interface.ts +0 -93
  628. package/src/chain/regen/queued.ts +0 -317
  629. package/src/chain/regen/regen.ts +0 -424
  630. package/src/chain/reprocess.ts +0 -161
  631. package/src/chain/rewards/attestationsRewards.ts +0 -196
  632. package/src/chain/rewards/blockRewards.ts +0 -150
  633. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  634. package/src/chain/seenCache/index.ts +0 -5
  635. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  636. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  637. package/src/chain/seenCache/seenAttesters.ts +0 -58
  638. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  639. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  640. package/src/chain/seenCache/seenCommittee.ts +0 -43
  641. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  642. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  643. package/src/chain/serializeState.ts +0 -32
  644. package/src/chain/shufflingCache.ts +0 -238
  645. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  646. package/src/chain/stateCache/datastore/db.ts +0 -36
  647. package/src/chain/stateCache/datastore/file.ts +0 -53
  648. package/src/chain/stateCache/datastore/index.ts +0 -2
  649. package/src/chain/stateCache/datastore/types.ts +0 -13
  650. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  651. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  652. package/src/chain/stateCache/index.ts +0 -3
  653. package/src/chain/stateCache/mapMetrics.ts +0 -52
  654. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -837
  655. package/src/chain/stateCache/types.ts +0 -86
  656. package/src/chain/validation/aggregateAndProof.ts +0 -258
  657. package/src/chain/validation/attestation.ts +0 -885
  658. package/src/chain/validation/attesterSlashing.ts +0 -61
  659. package/src/chain/validation/blobSidecar.ts +0 -301
  660. package/src/chain/validation/block.ts +0 -188
  661. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  662. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  663. package/src/chain/validation/index.ts +0 -9
  664. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -46
  665. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -68
  666. package/src/chain/validation/proposerSlashing.ts +0 -54
  667. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  668. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  669. package/src/chain/validation/signatureSets/index.ts +0 -6
  670. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  671. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  672. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  673. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  674. package/src/chain/validation/syncCommittee.ts +0 -165
  675. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  676. package/src/chain/validation/voluntaryExit.ts +0 -58
  677. package/src/chain/validatorMonitor.ts +0 -1310
  678. package/src/constants/constants.ts +0 -15
  679. package/src/constants/index.ts +0 -2
  680. package/src/constants/network.ts +0 -52
  681. package/src/db/beacon.ts +0 -113
  682. package/src/db/buckets.ts +0 -80
  683. package/src/db/index.ts +0 -2
  684. package/src/db/interface.ts +0 -76
  685. package/src/db/options.ts +0 -7
  686. package/src/db/repositories/attesterSlashing.ts +0 -38
  687. package/src/db/repositories/backfilledRanges.ts +0 -29
  688. package/src/db/repositories/blobSidecars.ts +0 -37
  689. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  690. package/src/db/repositories/block.ts +0 -33
  691. package/src/db/repositories/blockArchive.ts +0 -170
  692. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  693. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  694. package/src/db/repositories/checkpointState.ts +0 -31
  695. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  696. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  697. package/src/db/repositories/depositDataRoot.ts +0 -80
  698. package/src/db/repositories/depositEvent.ts +0 -32
  699. package/src/db/repositories/eth1Data.ts +0 -33
  700. package/src/db/repositories/index.ts +0 -20
  701. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  702. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  703. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  704. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  705. package/src/db/repositories/proposerSlashing.ts +0 -15
  706. package/src/db/repositories/stateArchive.ts +0 -69
  707. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  708. package/src/db/repositories/voluntaryExit.ts +0 -15
  709. package/src/db/single/index.ts +0 -2
  710. package/src/db/single/preGenesisState.ts +0 -37
  711. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  712. package/src/eth1/errors.ts +0 -40
  713. package/src/eth1/eth1DataCache.ts +0 -26
  714. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  715. package/src/eth1/eth1DepositsCache.ts +0 -141
  716. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  717. package/src/eth1/index.ts +0 -157
  718. package/src/eth1/interface.ts +0 -131
  719. package/src/eth1/options.ts +0 -28
  720. package/src/eth1/provider/eth1Provider.ts +0 -229
  721. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  722. package/src/eth1/provider/jwt.ts +0 -36
  723. package/src/eth1/provider/utils.ts +0 -136
  724. package/src/eth1/stream.ts +0 -75
  725. package/src/eth1/utils/depositContract.ts +0 -37
  726. package/src/eth1/utils/deposits.ts +0 -70
  727. package/src/eth1/utils/eth1Data.ts +0 -100
  728. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  729. package/src/eth1/utils/eth1Vote.ts +0 -142
  730. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  731. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  732. package/src/execution/builder/cache.ts +0 -39
  733. package/src/execution/builder/http.ts +0 -229
  734. package/src/execution/builder/index.ts +0 -27
  735. package/src/execution/builder/interface.ts +0 -49
  736. package/src/execution/builder/utils.ts +0 -19
  737. package/src/execution/engine/disabled.ts +0 -35
  738. package/src/execution/engine/http.ts +0 -644
  739. package/src/execution/engine/index.ts +0 -63
  740. package/src/execution/engine/interface.ts +0 -199
  741. package/src/execution/engine/mock.ts +0 -493
  742. package/src/execution/engine/payloadIdCache.ts +0 -54
  743. package/src/execution/engine/types.ts +0 -640
  744. package/src/execution/engine/utils.ts +0 -136
  745. package/src/execution/index.ts +0 -4
  746. package/src/index.ts +0 -20
  747. package/src/metrics/index.ts +0 -4
  748. package/src/metrics/metrics/beacon.ts +0 -390
  749. package/src/metrics/metrics/lodestar.ts +0 -1870
  750. package/src/metrics/metrics.ts +0 -43
  751. package/src/metrics/nodeJsMetrics.ts +0 -19
  752. package/src/metrics/options.ts +0 -22
  753. package/src/metrics/server/http.ts +0 -114
  754. package/src/metrics/server/index.ts +0 -1
  755. package/src/metrics/utils/avgMinMax.ts +0 -87
  756. package/src/metrics/utils/gauge.ts +0 -22
  757. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  758. package/src/monitoring/clientStats.ts +0 -297
  759. package/src/monitoring/index.ts +0 -2
  760. package/src/monitoring/options.ts +0 -19
  761. package/src/monitoring/properties.ts +0 -152
  762. package/src/monitoring/service.ts +0 -235
  763. package/src/monitoring/system.ts +0 -146
  764. package/src/monitoring/types.ts +0 -21
  765. package/src/network/core/events.ts +0 -59
  766. package/src/network/core/index.ts +0 -3
  767. package/src/network/core/metrics.ts +0 -304
  768. package/src/network/core/networkCore.ts +0 -599
  769. package/src/network/core/networkCoreWorker.ts +0 -176
  770. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  771. package/src/network/core/types.ts +0 -119
  772. package/src/network/discv5/index.ts +0 -132
  773. package/src/network/discv5/types.ts +0 -74
  774. package/src/network/discv5/utils.ts +0 -50
  775. package/src/network/discv5/worker.ts +0 -137
  776. package/src/network/events.ts +0 -51
  777. package/src/network/forks.ts +0 -94
  778. package/src/network/gossip/constants.ts +0 -15
  779. package/src/network/gossip/encoding.ts +0 -111
  780. package/src/network/gossip/errors.ts +0 -7
  781. package/src/network/gossip/gossipsub.ts +0 -384
  782. package/src/network/gossip/index.ts +0 -4
  783. package/src/network/gossip/interface.ts +0 -215
  784. package/src/network/gossip/metrics.ts +0 -71
  785. package/src/network/gossip/scoringParameters.ts +0 -333
  786. package/src/network/gossip/topic.ts +0 -332
  787. package/src/network/index.ts +0 -8
  788. package/src/network/interface.ts +0 -134
  789. package/src/network/libp2p/error.ts +0 -55
  790. package/src/network/libp2p/index.ts +0 -153
  791. package/src/network/metadata.ts +0 -162
  792. package/src/network/network.ts +0 -767
  793. package/src/network/networkConfig.ts +0 -12
  794. package/src/network/options.ts +0 -70
  795. package/src/network/peers/client.ts +0 -29
  796. package/src/network/peers/datastore.ts +0 -188
  797. package/src/network/peers/discover.ts +0 -647
  798. package/src/network/peers/index.ts +0 -2
  799. package/src/network/peers/peerManager.ts +0 -900
  800. package/src/network/peers/peersData.ts +0 -65
  801. package/src/network/peers/score/constants.ts +0 -34
  802. package/src/network/peers/score/index.ts +0 -4
  803. package/src/network/peers/score/interface.ts +0 -74
  804. package/src/network/peers/score/score.ts +0 -200
  805. package/src/network/peers/score/store.ts +0 -95
  806. package/src/network/peers/score/utils.ts +0 -37
  807. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  808. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  809. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  810. package/src/network/peers/utils/index.ts +0 -4
  811. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  812. package/src/network/peers/utils/subnetMap.ts +0 -88
  813. package/src/network/processor/aggregatorTracker.ts +0 -38
  814. package/src/network/processor/extractSlotRootFns.ts +0 -64
  815. package/src/network/processor/gossipHandlers.ts +0 -951
  816. package/src/network/processor/gossipQueues/index.ts +0 -114
  817. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  818. package/src/network/processor/gossipQueues/linear.ts +0 -162
  819. package/src/network/processor/gossipQueues/types.ts +0 -57
  820. package/src/network/processor/gossipValidatorFn.ts +0 -142
  821. package/src/network/processor/index.ts +0 -496
  822. package/src/network/processor/types.ts +0 -27
  823. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  824. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  825. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  826. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  827. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  828. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  829. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  830. package/src/network/reqresp/handlers/index.ts +0 -78
  831. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  832. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  833. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  834. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  835. package/src/network/reqresp/index.ts +0 -2
  836. package/src/network/reqresp/interface.ts +0 -45
  837. package/src/network/reqresp/protocols.ts +0 -146
  838. package/src/network/reqresp/rateLimit.ts +0 -112
  839. package/src/network/reqresp/score.ts +0 -70
  840. package/src/network/reqresp/types.ts +0 -174
  841. package/src/network/reqresp/utils/collect.ts +0 -84
  842. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  843. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  844. package/src/network/statusCache.ts +0 -17
  845. package/src/network/subnets/attnetsService.ts +0 -382
  846. package/src/network/subnets/index.ts +0 -2
  847. package/src/network/subnets/interface.ts +0 -66
  848. package/src/network/subnets/syncnetsService.ts +0 -147
  849. package/src/network/subnets/util.ts +0 -63
  850. package/src/network/util.ts +0 -29
  851. package/src/node/index.ts +0 -2
  852. package/src/node/nodejs.ts +0 -349
  853. package/src/node/notifier.ts +0 -206
  854. package/src/node/options.ts +0 -51
  855. package/src/node/utils/interop/deposits.ts +0 -53
  856. package/src/node/utils/interop/state.ts +0 -59
  857. package/src/node/utils/lightclient.ts +0 -7
  858. package/src/node/utils/state.ts +0 -37
  859. package/src/sync/backfill/backfill.ts +0 -893
  860. package/src/sync/backfill/errors.ts +0 -23
  861. package/src/sync/backfill/index.ts +0 -1
  862. package/src/sync/backfill/verify.ts +0 -58
  863. package/src/sync/constants.ts +0 -71
  864. package/src/sync/index.ts +0 -2
  865. package/src/sync/interface.ts +0 -55
  866. package/src/sync/options.ts +0 -45
  867. package/src/sync/range/batch.ts +0 -455
  868. package/src/sync/range/chain.ts +0 -715
  869. package/src/sync/range/range.ts +0 -354
  870. package/src/sync/range/utils/batches.ts +0 -119
  871. package/src/sync/range/utils/chainTarget.ts +0 -62
  872. package/src/sync/range/utils/hashBlocks.ts +0 -27
  873. package/src/sync/range/utils/index.ts +0 -5
  874. package/src/sync/range/utils/peerBalancer.ts +0 -184
  875. package/src/sync/range/utils/updateChains.ts +0 -66
  876. package/src/sync/sync.ts +0 -290
  877. package/src/sync/types.ts +0 -57
  878. package/src/sync/unknownBlock.ts +0 -860
  879. package/src/sync/utils/downloadByRange.ts +0 -808
  880. package/src/sync/utils/downloadByRoot.ts +0 -560
  881. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  882. package/src/sync/utils/remoteSyncType.ts +0 -144
  883. package/src/util/address.ts +0 -3
  884. package/src/util/array.ts +0 -311
  885. package/src/util/asyncIterableToEvents.ts +0 -164
  886. package/src/util/binarySearch.ts +0 -48
  887. package/src/util/bitArray.ts +0 -84
  888. package/src/util/blobs.ts +0 -210
  889. package/src/util/bufferPool.ts +0 -95
  890. package/src/util/bytes.ts +0 -11
  891. package/src/util/chunkify.ts +0 -27
  892. package/src/util/clock.ts +0 -212
  893. package/src/util/dataColumns.ts +0 -415
  894. package/src/util/dependentRoot.ts +0 -47
  895. package/src/util/enum.ts +0 -17
  896. package/src/util/error.ts +0 -56
  897. package/src/util/eventLoop.ts +0 -22
  898. package/src/util/execution.ts +0 -223
  899. package/src/util/file.ts +0 -52
  900. package/src/util/forkChoice.ts +0 -5
  901. package/src/util/forkName.ts +0 -20
  902. package/src/util/graffiti.ts +0 -39
  903. package/src/util/hex.ts +0 -9
  904. package/src/util/index.ts +0 -2
  905. package/src/util/ip.ts +0 -6
  906. package/src/util/itTrigger.ts +0 -49
  907. package/src/util/kzg.ts +0 -3
  908. package/src/util/map.ts +0 -77
  909. package/src/util/metadata.ts +0 -22
  910. package/src/util/multifork.ts +0 -69
  911. package/src/util/numpy.ts +0 -8
  912. package/src/util/peerId.ts +0 -16
  913. package/src/util/profile.ts +0 -54
  914. package/src/util/promises.ts +0 -14
  915. package/src/util/queue/errors.ts +0 -14
  916. package/src/util/queue/fnQueue.ts +0 -16
  917. package/src/util/queue/index.ts +0 -4
  918. package/src/util/queue/itemQueue.ts +0 -128
  919. package/src/util/queue/options.ts +0 -37
  920. package/src/util/serializedCache.ts +0 -20
  921. package/src/util/set.ts +0 -62
  922. package/src/util/shuffle.ts +0 -21
  923. package/src/util/sortBy.ts +0 -19
  924. package/src/util/sszBytes.ts +0 -481
  925. package/src/util/strictEvents.ts +0 -8
  926. package/src/util/time.ts +0 -13
  927. package/src/util/timeSeries.ts +0 -118
  928. package/src/util/types.ts +0 -31
  929. package/src/util/workerEvents.ts +0 -142
  930. package/src/util/wrapError.ts +0 -27
@@ -1,384 +0,0 @@
1
- import {GossipSub, GossipsubEvents} from "@chainsafe/libp2p-gossipsub";
2
- import {MetricsRegister, TopicLabel, TopicStrToLabel} from "@chainsafe/libp2p-gossipsub/metrics";
3
- import {PeerScoreParams} from "@chainsafe/libp2p-gossipsub/score";
4
- import {SignaturePolicy, TopicStr} from "@chainsafe/libp2p-gossipsub/types";
5
- import {BeaconConfig, ForkBoundary} from "@lodestar/config";
6
- import {ATTESTATION_SUBNET_COUNT, SLOTS_PER_EPOCH, SYNC_COMMITTEE_SUBNET_COUNT} from "@lodestar/params";
7
- import {SubnetID} from "@lodestar/types";
8
- import {Logger, Map2d, Map2dArr} from "@lodestar/utils";
9
- import {GOSSIP_MAX_SIZE, GOSSIP_MAX_SIZE_BELLATRIX} from "../../constants/network.js";
10
- import {RegistryMetricCreator} from "../../metrics/index.js";
11
- import {callInNextEventLoop} from "../../util/eventLoop.js";
12
- import {NetworkEvent, NetworkEventBus, NetworkEventData} from "../events.js";
13
- import {Libp2p} from "../interface.js";
14
- import {NetworkConfig} from "../networkConfig.js";
15
- import {ClientKind} from "../peers/client.js";
16
- import {PeersData} from "../peers/peersData.js";
17
- import {DataTransformSnappy, fastMsgIdFn, msgIdFn, msgIdToStrFn} from "./encoding.js";
18
- import {GossipTopic, GossipType} from "./interface.js";
19
- import {Eth2GossipsubMetrics, createEth2GossipsubMetrics} from "./metrics.js";
20
- import {
21
- GOSSIP_D,
22
- GOSSIP_D_HIGH,
23
- GOSSIP_D_LOW,
24
- computeGossipPeerScoreParams,
25
- gossipScoreThresholds,
26
- } from "./scoringParameters.js";
27
- import {GossipTopicCache, getCoreTopicsAtFork, stringifyGossipTopic} from "./topic.js";
28
-
29
- /** As specified in https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md */
30
- const GOSSIPSUB_HEARTBEAT_INTERVAL = 0.7 * 1000;
31
-
32
- const MAX_OUTBOUND_BUFFER_SIZE = 2 ** 24; // 16MB
33
-
34
- export type Eth2Context = {
35
- activeValidatorCount: number;
36
- currentSlot: number;
37
- currentEpoch: number;
38
- };
39
-
40
- export type Eth2GossipsubModules = {
41
- networkConfig: NetworkConfig;
42
- libp2p: Libp2p;
43
- logger: Logger;
44
- metricsRegister: RegistryMetricCreator | null;
45
- eth2Context: Eth2Context;
46
- peersData: PeersData;
47
- events: NetworkEventBus;
48
- };
49
-
50
- export type Eth2GossipsubOpts = {
51
- allowPublishToZeroPeers?: boolean;
52
- gossipsubD?: number;
53
- gossipsubDLow?: number;
54
- gossipsubDHigh?: number;
55
- gossipsubAwaitHandler?: boolean;
56
- disableFloodPublish?: boolean;
57
- skipParamsLog?: boolean;
58
- disableLightClientServer?: boolean;
59
- };
60
-
61
- export type ForkBoundaryLabel = string;
62
-
63
- /**
64
- * Wrapper around js-libp2p-gossipsub with the following extensions:
65
- * - Eth2 message id
66
- * - Emits `GossipObject`, not `InMessage`
67
- * - Provides convenience interface:
68
- * - `publishObject`
69
- * - `subscribeTopic`
70
- * - `unsubscribeTopic`
71
- * - `handleTopic`
72
- * - `unhandleTopic`
73
- *
74
- * See https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub
75
- */
76
- export class Eth2Gossipsub extends GossipSub {
77
- readonly scoreParams: Partial<PeerScoreParams>;
78
- private readonly config: BeaconConfig;
79
- private readonly logger: Logger;
80
- private readonly peersData: PeersData;
81
- private readonly events: NetworkEventBus;
82
-
83
- // Internal caches
84
- private readonly gossipTopicCache: GossipTopicCache;
85
-
86
- constructor(opts: Eth2GossipsubOpts, modules: Eth2GossipsubModules) {
87
- const {allowPublishToZeroPeers, gossipsubD, gossipsubDLow, gossipsubDHigh} = opts;
88
- const {networkConfig, logger, metricsRegister, peersData, events} = modules;
89
- const {config} = networkConfig;
90
- const gossipTopicCache = new GossipTopicCache(config);
91
-
92
- const scoreParams = computeGossipPeerScoreParams({config, eth2Context: modules.eth2Context});
93
-
94
- // Gossipsub parameters defined here:
95
- // https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub
96
- super(modules.libp2p.services.components, {
97
- globalSignaturePolicy: SignaturePolicy.StrictNoSign,
98
- allowPublishToZeroTopicPeers: allowPublishToZeroPeers,
99
- D: gossipsubD ?? GOSSIP_D,
100
- Dlo: gossipsubDLow ?? GOSSIP_D_LOW,
101
- Dhi: gossipsubDHigh ?? GOSSIP_D_HIGH,
102
- Dlazy: 6,
103
- heartbeatInterval: GOSSIPSUB_HEARTBEAT_INTERVAL,
104
- fanoutTTL: 60 * 1000,
105
- mcacheLength: 6,
106
- mcacheGossip: 3,
107
- // this should be in ms
108
- seenTTL: config.SLOT_DURATION_MS * SLOTS_PER_EPOCH * 2,
109
- scoreParams,
110
- scoreThresholds: gossipScoreThresholds,
111
- // For a single stream, await processing each RPC before processing the next
112
- awaitRpcHandler: opts.gossipsubAwaitHandler,
113
- // For a single RPC, await processing each message before processing the next
114
- awaitRpcMessageHandler: opts.gossipsubAwaitHandler,
115
- // the default in gossipsub is 3s is not enough since lodestar suffers from I/O lag
116
- gossipsubIWantFollowupMs: 12 * 1000, // 12s
117
- fastMsgIdFn: fastMsgIdFn,
118
- msgIdFn: msgIdFn.bind(msgIdFn, gossipTopicCache),
119
- msgIdToStrFn: msgIdToStrFn,
120
- // Use the bellatrix max size if the merge is configured. pre-merge using this size
121
- // could only be an issue on outgoing payloads, its highly unlikely we will send out
122
- // a chunk bigger than GOSSIP_MAX_SIZE pre merge even on mainnet network.
123
- //
124
- // TODO: figure out a way to dynamically transition to the size
125
- dataTransform: new DataTransformSnappy(
126
- gossipTopicCache,
127
- Number.isFinite(config.BELLATRIX_FORK_EPOCH) ? GOSSIP_MAX_SIZE_BELLATRIX : GOSSIP_MAX_SIZE
128
- ),
129
- metricsRegister: metricsRegister as MetricsRegister | null,
130
- metricsTopicStrToLabel: metricsRegister
131
- ? getMetricsTopicStrToLabel(networkConfig, {disableLightClientServer: opts.disableLightClientServer ?? false})
132
- : undefined,
133
- asyncValidation: true,
134
-
135
- maxOutboundBufferSize: MAX_OUTBOUND_BUFFER_SIZE,
136
- // serialize message once and send to all peers when publishing
137
- batchPublish: true,
138
- // if this is false, only publish to mesh peers. If there is not enough GOSSIP_D mesh peers,
139
- // publish to some more topic peers to make sure we always publish to at least GOSSIP_D peers
140
- floodPublish: !opts?.disableFloodPublish,
141
- // Only send IDONTWANT messages if the message size is larger than this
142
- // This should be large enough to not send IDONTWANT for "small" messages
143
- // See https://github.com/ChainSafe/lodestar/pull/7077#issuecomment-2383679472
144
- idontwantMinDataSize: 16829,
145
- });
146
- this.scoreParams = scoreParams;
147
- this.config = config;
148
- this.logger = logger;
149
- this.peersData = peersData;
150
- this.events = events;
151
- this.gossipTopicCache = gossipTopicCache;
152
-
153
- if (metricsRegister) {
154
- const metrics = createEth2GossipsubMetrics(metricsRegister);
155
- metrics.gossipMesh.peersByType.addCollect(() => this.onScrapeLodestarMetrics(metrics, networkConfig));
156
- }
157
-
158
- this.addEventListener("gossipsub:message", this.onGossipsubMessage.bind(this));
159
- this.events.on(NetworkEvent.gossipMessageValidationResult, this.onValidationResult.bind(this));
160
-
161
- // Having access to this data is CRUCIAL for debugging. While this is a massive log, it must not be deleted.
162
- // Scoring issues require this dump + current peer score stats to re-calculate scores.
163
- if (!opts.skipParamsLog) {
164
- this.logger.debug("Gossipsub score params", {params: JSON.stringify(scoreParams)});
165
- }
166
- }
167
-
168
- /**
169
- * Subscribe to a `GossipTopic`
170
- */
171
- subscribeTopic(topic: GossipTopic): void {
172
- const topicStr = stringifyGossipTopic(this.config, topic);
173
- // Register known topicStr
174
- this.gossipTopicCache.setTopic(topicStr, topic);
175
-
176
- this.logger.verbose("Subscribe to gossipsub topic", {topic: topicStr});
177
- this.subscribe(topicStr);
178
- }
179
-
180
- /**
181
- * Unsubscribe to a `GossipTopic`
182
- */
183
- unsubscribeTopic(topic: GossipTopic): void {
184
- const topicStr = stringifyGossipTopic(this.config, topic);
185
- this.logger.verbose("Unsubscribe to gossipsub topic", {topic: topicStr});
186
- this.unsubscribe(topicStr);
187
- }
188
-
189
- private onScrapeLodestarMetrics(metrics: Eth2GossipsubMetrics, networkConfig: NetworkConfig): void {
190
- const mesh = this.mesh;
191
- // biome-ignore lint/complexity/useLiteralKeys: `topics` is a private attribute
192
- const topics = this["topics"] as Map<string, Set<string>>;
193
- const peers = this.peers;
194
- const score = this.score;
195
- const meshPeersByClient = new Map<string, number>();
196
- const meshPeerIdStrs = new Set<string>();
197
-
198
- for (const {peersMap, metricsGossip, type} of [
199
- {peersMap: mesh, metricsGossip: metrics.gossipMesh, type: "mesh"},
200
- {peersMap: topics, metricsGossip: metrics.gossipTopic, type: "topics"},
201
- ]) {
202
- // Pre-aggregate results by fork so we can fill the remaining metrics with 0
203
- const peersByTypeByBoundary = new Map2d<ForkBoundaryLabel, GossipType, number>();
204
- const peersByBeaconAttSubnetByBoundary = new Map2dArr<ForkBoundaryLabel, number>();
205
- const peersByBeaconSyncSubnetByBoundary = new Map2dArr<ForkBoundaryLabel, number>();
206
- const peersByDataColumnSubnetByBoundary = new Map2dArr<ForkBoundaryLabel, number>();
207
-
208
- // loop through all mesh entries, count each set size
209
- for (const [topicString, peers] of peersMap) {
210
- // Ignore topics with 0 peers. May prevent overriding after a fork
211
- if (peers.size === 0) continue;
212
-
213
- // there are some new topics in the network so `getKnownTopic()` returns undefined
214
- // for example in prater: /eth2/82f4a72b/optimistic_light_client_update_v0/ssz_snappy
215
- const topic = this.gossipTopicCache.getKnownTopic(topicString);
216
- if (topic !== undefined) {
217
- const boundary = getForkBoundaryLabel(topic.boundary);
218
- if (topic.type === GossipType.beacon_attestation) {
219
- peersByBeaconAttSubnetByBoundary.set(boundary, topic.subnet, peers.size);
220
- } else if (topic.type === GossipType.sync_committee) {
221
- peersByBeaconSyncSubnetByBoundary.set(boundary, topic.subnet, peers.size);
222
- } else if (topic.type === GossipType.data_column_sidecar) {
223
- peersByDataColumnSubnetByBoundary.set(boundary, topic.subnet, peers.size);
224
- } else {
225
- peersByTypeByBoundary.set(boundary, topic.type, peers.size);
226
- }
227
- }
228
-
229
- if (type === "mesh") {
230
- for (const peer of peers) {
231
- if (!meshPeerIdStrs.has(peer)) {
232
- meshPeerIdStrs.add(peer);
233
- const client = this.peersData.connectedPeers.get(peer)?.agentClient?.toString() ?? ClientKind.Unknown;
234
- meshPeersByClient.set(client, (meshPeersByClient.get(client) ?? 0) + 1);
235
- }
236
- }
237
- }
238
- }
239
-
240
- // beacon attestation mesh gets counted separately so we can track mesh peers by subnet
241
- // zero out all gossip type & subnet choices, so the dashboard will register them
242
- for (const [boundary, peersByType] of peersByTypeByBoundary.map) {
243
- for (const type of Object.values(GossipType)) {
244
- metricsGossip.peersByType.set({boundary, type}, peersByType.get(type) ?? 0);
245
- }
246
- }
247
- for (const [boundary, peersByBeaconAttSubnet] of peersByBeaconAttSubnetByBoundary.map) {
248
- for (let subnet = 0; subnet < ATTESTATION_SUBNET_COUNT; subnet++) {
249
- metricsGossip.peersByBeaconAttestationSubnet.set(
250
- {boundary, subnet: attSubnetLabel(subnet)},
251
- peersByBeaconAttSubnet[subnet] ?? 0
252
- );
253
- }
254
- }
255
- for (const [boundary, peersByBeaconSyncSubnet] of peersByBeaconSyncSubnetByBoundary.map) {
256
- for (let subnet = 0; subnet < SYNC_COMMITTEE_SUBNET_COUNT; subnet++) {
257
- // SYNC_COMMITTEE_SUBNET_COUNT is < 9, no need to prepend a 0 to the label
258
- metricsGossip.peersBySyncCommitteeSubnet.set({boundary, subnet}, peersByBeaconSyncSubnet[subnet] ?? 0);
259
- }
260
- }
261
- for (const [boundary, peersByDataColumnSubnet] of peersByDataColumnSubnetByBoundary.map) {
262
- for (const subnet of networkConfig.custodyConfig.sampleGroups) {
263
- metricsGossip.peersByDataColumnSubnet.set({boundary, subnet}, peersByDataColumnSubnet[subnet] ?? 0);
264
- }
265
- }
266
- }
267
-
268
- for (const [client, peers] of meshPeersByClient.entries()) {
269
- metrics.gossipPeer.meshPeersByClient.set({client}, peers);
270
- }
271
-
272
- // track gossip peer score
273
- let peerCountScoreGraylist = 0;
274
- let peerCountScorePublish = 0;
275
- let peerCountScoreGossip = 0;
276
- let peerCountScoreMesh = 0;
277
- const {graylistThreshold, publishThreshold, gossipThreshold} = gossipScoreThresholds;
278
- const gossipScores: number[] = [];
279
-
280
- for (const peerIdStr of peers.keys()) {
281
- const s = score.score(peerIdStr);
282
- if (s >= graylistThreshold) peerCountScoreGraylist++;
283
- if (s >= publishThreshold) peerCountScorePublish++;
284
- if (s >= gossipThreshold) peerCountScoreGossip++;
285
- if (s >= 0) peerCountScoreMesh++;
286
- gossipScores.push(s);
287
- }
288
-
289
- // Access once for all calls below
290
- metrics.gossipPeer.scoreByThreshold.set({threshold: "graylist"}, peerCountScoreGraylist);
291
- metrics.gossipPeer.scoreByThreshold.set({threshold: "publish"}, peerCountScorePublish);
292
- metrics.gossipPeer.scoreByThreshold.set({threshold: "gossip"}, peerCountScoreGossip);
293
- metrics.gossipPeer.scoreByThreshold.set({threshold: "mesh"}, peerCountScoreMesh);
294
-
295
- // Register full score too
296
- metrics.gossipPeer.score.set(gossipScores);
297
- }
298
-
299
- private onGossipsubMessage(event: GossipsubEvents["gossipsub:message"]): void {
300
- const {propagationSource, msgId, msg} = event.detail;
301
-
302
- // Also validates that the topicStr is known
303
- const topic = this.gossipTopicCache.getTopic(msg.topic);
304
-
305
- // Get seenTimestamp before adding the message to the queue or add async delays
306
- const seenTimestampSec = Date.now() / 1000;
307
-
308
- // Use setTimeout to yield to the macro queue
309
- // Without this we'll have huge event loop lag
310
- // See https://github.com/ChainSafe/lodestar/issues/5604
311
- callInNextEventLoop(() => {
312
- this.events.emit(NetworkEvent.pendingGossipsubMessage, {
313
- topic,
314
- msg,
315
- msgId,
316
- // Hot path, use cached .toString() version
317
- propagationSource: propagationSource.toString(),
318
- seenTimestampSec,
319
- startProcessUnixSec: null,
320
- });
321
- });
322
- }
323
-
324
- private onValidationResult(data: NetworkEventData[NetworkEvent.gossipMessageValidationResult]): void {
325
- // Use setTimeout to yield to the macro queue
326
- // Without this we'll have huge event loop lag
327
- // See https://github.com/ChainSafe/lodestar/issues/5604
328
- callInNextEventLoop(() => {
329
- this.reportMessageValidationResult(data.msgId, data.propagationSource, data.acceptance);
330
- });
331
- }
332
- }
333
-
334
- /**
335
- * Left pad subnets to two characters. Assumes ATTESTATION_SUBNET_COUNT < 99
336
- * Otherwise grafana sorts the mesh peers chart as: [1,11,12,13,...]
337
- */
338
- function attSubnetLabel(subnet: SubnetID): string {
339
- if (subnet > 9) return String(subnet);
340
-
341
- return `0${subnet}`;
342
- }
343
-
344
- function getMetricsTopicStrToLabel(
345
- networkConfig: NetworkConfig,
346
- opts: {disableLightClientServer: boolean}
347
- ): TopicStrToLabel {
348
- const {config} = networkConfig;
349
- const metricsTopicStrToLabel = new Map<TopicStr, TopicLabel>();
350
- const {forkBoundariesAscendingEpochOrder} = config;
351
-
352
- for (let i = 0; i < forkBoundariesAscendingEpochOrder.length; i++) {
353
- const currentForkBoundary = forkBoundariesAscendingEpochOrder[i];
354
- const nextForkBoundary = forkBoundariesAscendingEpochOrder[i + 1];
355
-
356
- // Edge case: If multiple fork boundaries start at the same epoch, only consider the latest one
357
- if (nextForkBoundary && currentForkBoundary.epoch === nextForkBoundary.epoch) {
358
- continue;
359
- }
360
-
361
- const topics = getCoreTopicsAtFork(networkConfig, currentForkBoundary.fork, {
362
- subscribeAllSubnets: true,
363
- disableLightClientServer: opts.disableLightClientServer,
364
- });
365
- for (const topic of topics) {
366
- metricsTopicStrToLabel.set(stringifyGossipTopic(config, {...topic, boundary: currentForkBoundary}), topic.type);
367
- }
368
- }
369
-
370
- return metricsTopicStrToLabel;
371
- }
372
-
373
- // Topics of the same ForkBoundary should have the same ForkBoundary object
374
- // we don't want to create a new string for every topic
375
- const boundaryLabelMap = new Map<ForkBoundary, ForkBoundaryLabel>();
376
- function getForkBoundaryLabel(boundary: ForkBoundary): ForkBoundaryLabel {
377
- let label = boundaryLabelMap.get(boundary);
378
- if (label === undefined) {
379
- label = `${boundary.fork}_${boundary.epoch}`;
380
- boundaryLabelMap.set(boundary, label);
381
- }
382
-
383
- return label;
384
- }
@@ -1,4 +0,0 @@
1
- export {getGossipHandlers} from "../processor/gossipHandlers.js";
2
- export * from "./gossipsub.js";
3
- export * from "./interface.js";
4
- export {getCoreTopicsAtFork} from "./topic.js";
@@ -1,215 +0,0 @@
1
- import {Message, TopicValidatorResult} from "@libp2p/interface";
2
- import {Libp2p} from "libp2p";
3
- import {PeerIdStr} from "@chainsafe/libp2p-gossipsub/types";
4
- import {BeaconConfig, ForkBoundary} from "@lodestar/config";
5
- import {
6
- AttesterSlashing,
7
- LightClientFinalityUpdate,
8
- LightClientOptimisticUpdate,
9
- SignedAggregateAndProof,
10
- SignedBeaconBlock,
11
- SingleAttestation,
12
- Slot,
13
- SubnetID,
14
- altair,
15
- capella,
16
- deneb,
17
- fulu,
18
- phase0,
19
- } from "@lodestar/types";
20
- import {Logger} from "@lodestar/utils";
21
- import {AttestationError, AttestationErrorType} from "../../chain/errors/attestationError.js";
22
- import {GossipActionError} from "../../chain/errors/gossipValidation.js";
23
- import {IBeaconChain} from "../../chain/index.js";
24
- import {JobItemQueue} from "../../util/queue/index.js";
25
-
26
- export enum GossipType {
27
- beacon_block = "beacon_block",
28
- blob_sidecar = "blob_sidecar",
29
- data_column_sidecar = "data_column_sidecar",
30
- beacon_aggregate_and_proof = "beacon_aggregate_and_proof",
31
- beacon_attestation = "beacon_attestation",
32
- voluntary_exit = "voluntary_exit",
33
- proposer_slashing = "proposer_slashing",
34
- attester_slashing = "attester_slashing",
35
- sync_committee_contribution_and_proof = "sync_committee_contribution_and_proof",
36
- sync_committee = "sync_committee",
37
- light_client_finality_update = "light_client_finality_update",
38
- light_client_optimistic_update = "light_client_optimistic_update",
39
- bls_to_execution_change = "bls_to_execution_change",
40
- }
41
-
42
- export type SequentialGossipType = Exclude<GossipType, GossipType.beacon_attestation>;
43
- export type BatchGossipType = GossipType.beacon_attestation;
44
-
45
- export enum GossipEncoding {
46
- ssz_snappy = "ssz_snappy",
47
- }
48
-
49
- /**
50
- * Note: `IGossipTopic`s are all relative to the local `genesisValidatorsRoot`
51
- */
52
- export interface IGossipTopic {
53
- type: GossipType;
54
- boundary: ForkBoundary;
55
- encoding?: GossipEncoding;
56
- }
57
-
58
- export type GossipTopicTypeMap = {
59
- [GossipType.beacon_block]: {type: GossipType.beacon_block};
60
- [GossipType.blob_sidecar]: {type: GossipType.blob_sidecar; subnet: SubnetID};
61
- [GossipType.data_column_sidecar]: {type: GossipType.data_column_sidecar; subnet: SubnetID};
62
- [GossipType.beacon_aggregate_and_proof]: {type: GossipType.beacon_aggregate_and_proof};
63
- [GossipType.beacon_attestation]: {type: GossipType.beacon_attestation; subnet: SubnetID};
64
- [GossipType.voluntary_exit]: {type: GossipType.voluntary_exit};
65
- [GossipType.proposer_slashing]: {type: GossipType.proposer_slashing};
66
- [GossipType.attester_slashing]: {type: GossipType.attester_slashing};
67
- [GossipType.sync_committee_contribution_and_proof]: {
68
- type: GossipType.sync_committee_contribution_and_proof;
69
- };
70
- [GossipType.sync_committee]: {type: GossipType.sync_committee; subnet: SubnetID};
71
- [GossipType.light_client_finality_update]: {type: GossipType.light_client_finality_update};
72
- [GossipType.light_client_optimistic_update]: {type: GossipType.light_client_optimistic_update};
73
- [GossipType.bls_to_execution_change]: {type: GossipType.bls_to_execution_change};
74
- };
75
-
76
- export type GossipTopicMap = {
77
- [K in keyof GossipTopicTypeMap]: GossipTopicTypeMap[K] & IGossipTopic;
78
- };
79
-
80
- /**
81
- * Gossip topic split into a struct
82
- */
83
- export type GossipTopic = GossipTopicMap[keyof GossipTopicMap];
84
-
85
- export type SSZTypeOfGossipTopic<T extends GossipTopic> = T extends {type: infer K extends GossipType}
86
- ? GossipTypeMap[K]
87
- : never;
88
-
89
- export type GossipTypeMap = {
90
- [GossipType.beacon_block]: SignedBeaconBlock;
91
- [GossipType.blob_sidecar]: deneb.BlobSidecar;
92
- [GossipType.beacon_aggregate_and_proof]: SignedAggregateAndProof;
93
- [GossipType.beacon_attestation]: SingleAttestation;
94
- [GossipType.data_column_sidecar]: fulu.DataColumnSidecar;
95
- [GossipType.voluntary_exit]: phase0.SignedVoluntaryExit;
96
- [GossipType.proposer_slashing]: phase0.ProposerSlashing;
97
- [GossipType.attester_slashing]: AttesterSlashing;
98
- [GossipType.sync_committee_contribution_and_proof]: altair.SignedContributionAndProof;
99
- [GossipType.sync_committee]: altair.SyncCommitteeMessage;
100
- [GossipType.light_client_finality_update]: LightClientFinalityUpdate;
101
- [GossipType.light_client_optimistic_update]: LightClientOptimisticUpdate;
102
- [GossipType.bls_to_execution_change]: capella.SignedBLSToExecutionChange;
103
- };
104
-
105
- export type GossipFnByType = {
106
- [GossipType.beacon_block]: (signedBlock: SignedBeaconBlock) => Promise<void> | void;
107
- [GossipType.blob_sidecar]: (blobSidecar: deneb.BlobSidecar) => Promise<void> | void;
108
- [GossipType.beacon_aggregate_and_proof]: (aggregateAndProof: SignedAggregateAndProof) => Promise<void> | void;
109
- [GossipType.beacon_attestation]: (attestation: SingleAttestation) => Promise<void> | void;
110
- [GossipType.data_column_sidecar]: (dataColumnSidecar: fulu.DataColumnSidecar) => Promise<void> | void;
111
- [GossipType.voluntary_exit]: (voluntaryExit: phase0.SignedVoluntaryExit) => Promise<void> | void;
112
- [GossipType.proposer_slashing]: (proposerSlashing: phase0.ProposerSlashing) => Promise<void> | void;
113
- [GossipType.attester_slashing]: (attesterSlashing: AttesterSlashing) => Promise<void> | void;
114
- [GossipType.sync_committee_contribution_and_proof]: (
115
- signedContributionAndProof: altair.SignedContributionAndProof
116
- ) => Promise<void> | void;
117
- [GossipType.sync_committee]: (syncCommittee: altair.SyncCommitteeMessage) => Promise<void> | void;
118
- [GossipType.light_client_finality_update]: (
119
- lightClientFinalityUpdate: LightClientFinalityUpdate
120
- ) => Promise<void> | void;
121
- [GossipType.light_client_optimistic_update]: (
122
- lightClientOptimisticUpdate: LightClientOptimisticUpdate
123
- ) => Promise<void> | void;
124
- [GossipType.bls_to_execution_change]: (
125
- blsToExecutionChange: capella.SignedBLSToExecutionChange
126
- ) => Promise<void> | void;
127
- };
128
-
129
- export type GossipFn = GossipFnByType[keyof GossipFnByType];
130
-
131
- export type GossipModules = {
132
- config: BeaconConfig;
133
- libp2p: Libp2p;
134
- logger: Logger;
135
- chain: IBeaconChain;
136
- };
137
-
138
- /**
139
- * Contains various methods for validation of incoming gossip topic data.
140
- * The conditions for valid gossip topics and how they are handled are specified here:
141
- * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#global-topics
142
- */
143
-
144
- /**
145
- * Top-level type for gossip validation functions
146
- *
147
- * js-libp2p-gossipsub expects validation functions that look like this
148
- */
149
- export type GossipMessageInfo = {
150
- topic: GossipTopic;
151
- msg: Message;
152
- propagationSource: PeerIdStr;
153
- seenTimestampSec: number;
154
- msgSlot: Slot | null;
155
- indexed?: string;
156
- };
157
-
158
- export type GossipValidatorFn = (messageInfo: GossipMessageInfo) => Promise<TopicValidatorResult>;
159
-
160
- export type GossipValidatorBatchFn = (messageInfos: GossipMessageInfo[]) => Promise<TopicValidatorResult[]>;
161
-
162
- export type ValidatorFnsByType = {[K in GossipType]: GossipValidatorFn};
163
-
164
- export type GossipJobQueues = {
165
- [K in GossipType]: JobItemQueue<Parameters<GossipValidatorFn>, ResolvedType<GossipValidatorFn>>;
166
- };
167
-
168
- export type GossipData = {
169
- serializedData: Uint8Array;
170
- msgSlot?: Slot | null;
171
- indexed?: string;
172
- };
173
-
174
- export type GossipHandlerParam = {
175
- gossipData: GossipData;
176
- topic: GossipTopicMap[GossipType];
177
- peerIdStr: string;
178
- seenTimestampSec: number;
179
- };
180
-
181
- export type GossipHandlerFn = (gossipHandlerParam: GossipHandlerParam) => Promise<void>;
182
-
183
- export type BatchGossipHandlerFn = (gossipHandlerParam: GossipHandlerParam[]) => Promise<(null | AttestationError)[]>;
184
-
185
- export type GossipHandlerParamGeneric<T extends GossipType> = {
186
- gossipData: GossipData;
187
- topic: GossipTopicMap[T];
188
- peerIdStr: string;
189
- seenTimestampSec: number;
190
- };
191
-
192
- export type GossipHandlers = {
193
- [K in GossipType]: SequentialGossipHandler<K> | BatchGossipHandler<K>;
194
- };
195
-
196
- export type SequentialGossipHandler<K extends GossipType> = (
197
- gossipHandlerParam: GossipHandlerParamGeneric<K>
198
- ) => Promise<void>;
199
-
200
- export type SequentialGossipHandlers = {
201
- [K in SequentialGossipType]: SequentialGossipHandler<K>;
202
- };
203
-
204
- export type BatchGossipHandlers = {
205
- [K in BatchGossipType]: BatchGossipHandler<K>;
206
- };
207
-
208
- export type BatchGossipHandler<K extends GossipType> = (
209
- gossipHandlerParams: GossipHandlerParamGeneric<K>[]
210
- ) => Promise<(null | GossipActionError<AttestationErrorType>)[]>;
211
-
212
- // biome-ignore lint/suspicious/noExplicitAny: Need the usage of `any` here to infer any type
213
- export type ResolvedType<F extends (...args: any) => Promise<any>> = F extends (...args: any) => Promise<infer T>
214
- ? T
215
- : never;
@@ -1,71 +0,0 @@
1
- import {SubnetID} from "@lodestar/types";
2
- import {RegistryMetricCreator} from "../../metrics/index.js";
3
- import {ForkBoundaryLabel} from "./gossipsub.js";
4
- import {GossipType} from "./interface.js";
5
-
6
- export type Eth2GossipsubMetrics = ReturnType<typeof createEth2GossipsubMetrics>;
7
-
8
- export function createEth2GossipsubMetrics(register: RegistryMetricCreator) {
9
- return {
10
- gossipPeer: {
11
- scoreByThreshold: register.gauge<{threshold: string}>({
12
- name: "lodestar_gossip_peer_score_by_threshold_count",
13
- help: "Gossip peer score by threshold",
14
- labelNames: ["threshold"],
15
- }),
16
- meshPeersByClient: register.gauge<{client: string}>({
17
- name: "lodestar_gossip_mesh_peers_by_client_count",
18
- help: "number of mesh peers, labeled by client",
19
- labelNames: ["client"],
20
- }),
21
- score: register.avgMinMax({
22
- name: "lodestar_gossip_score_avg_min_max",
23
- help: "Avg min max of all gossip peer scores",
24
- }),
25
- },
26
- gossipMesh: {
27
- peersByType: register.gauge<{type: GossipType; boundary: ForkBoundaryLabel}>({
28
- name: "lodestar_gossip_mesh_peers_by_type_count",
29
- help: "Number of connected mesh peers per gossip type",
30
- labelNames: ["type", "boundary"],
31
- }),
32
- peersByBeaconAttestationSubnet: register.gauge<{subnet: string; boundary: ForkBoundaryLabel}>({
33
- name: "lodestar_gossip_mesh_peers_by_beacon_attestation_subnet_count",
34
- help: "Number of connected mesh peers per beacon attestation subnet",
35
- labelNames: ["subnet", "boundary"],
36
- }),
37
- peersBySyncCommitteeSubnet: register.gauge<{subnet: SubnetID; boundary: ForkBoundaryLabel}>({
38
- name: "lodestar_gossip_mesh_peers_by_sync_committee_subnet_count",
39
- help: "Number of connected mesh peers per sync committee subnet",
40
- labelNames: ["subnet", "boundary"],
41
- }),
42
- peersByDataColumnSubnet: register.gauge<{subnet: SubnetID; boundary: ForkBoundaryLabel}>({
43
- name: "lodestar_gossip_mesh_peers_by_data_column_subnet_count",
44
- help: "Number of connected mesh peers per data column subnet",
45
- labelNames: ["subnet", "boundary"],
46
- }),
47
- },
48
- gossipTopic: {
49
- peersByType: register.gauge<{type: GossipType; boundary: ForkBoundaryLabel}>({
50
- name: "lodestar_gossip_topic_peers_by_type_count",
51
- help: "Number of connected topic peers per gossip type",
52
- labelNames: ["type", "boundary"],
53
- }),
54
- peersByBeaconAttestationSubnet: register.gauge<{subnet: string; boundary: ForkBoundaryLabel}>({
55
- name: "lodestar_gossip_topic_peers_by_beacon_attestation_subnet_count",
56
- help: "Number of connected topic peers per beacon attestation subnet",
57
- labelNames: ["subnet", "boundary"],
58
- }),
59
- peersBySyncCommitteeSubnet: register.gauge<{subnet: SubnetID; boundary: ForkBoundaryLabel}>({
60
- name: "lodestar_gossip_topic_peers_by_sync_committee_subnet_count",
61
- help: "Number of connected topic peers per sync committee subnet",
62
- labelNames: ["subnet", "boundary"],
63
- }),
64
- peersByDataColumnSubnet: register.gauge<{subnet: SubnetID; boundary: ForkBoundaryLabel}>({
65
- name: "lodestar_gossip_topic_peers_by_data_column_subnet_count",
66
- help: "Number of connected topic peers per data column subnet",
67
- labelNames: ["subnet", "boundary"],
68
- }),
69
- },
70
- };
71
- }