@lodestar/beacon-node 1.35.0-dev.8689cc3545 → 1.35.0-dev.8b45b1e978

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 (863) hide show
  1. package/lib/db/buckets.d.ts +4 -4
  2. package/lib/db/buckets.js +4 -4
  3. package/lib/db/buckets.js.map +1 -1
  4. package/lib/db/repositories/blobSidecars.js +1 -1
  5. package/lib/db/repositories/blobSidecars.js.map +1 -1
  6. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  7. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  8. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  9. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  10. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  11. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  12. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  13. package/lib/network/network.js +4 -2
  14. package/lib/network/network.js.map +1 -1
  15. package/lib/util/blobs.js +3 -5
  16. package/lib/util/blobs.js.map +1 -1
  17. package/package.json +20 -18
  18. package/lib/api/impl/api.d.ts.map +0 -1
  19. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  20. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  21. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  22. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  23. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  24. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  25. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  26. package/lib/api/impl/config/constants.d.ts.map +0 -1
  27. package/lib/api/impl/config/index.d.ts.map +0 -1
  28. package/lib/api/impl/debug/index.d.ts.map +0 -1
  29. package/lib/api/impl/errors.d.ts.map +0 -1
  30. package/lib/api/impl/events/index.d.ts.map +0 -1
  31. package/lib/api/impl/index.d.ts.map +0 -1
  32. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  33. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  34. package/lib/api/impl/node/index.d.ts.map +0 -1
  35. package/lib/api/impl/node/utils.d.ts.map +0 -1
  36. package/lib/api/impl/proof/index.d.ts.map +0 -1
  37. package/lib/api/impl/types.d.ts.map +0 -1
  38. package/lib/api/impl/utils.d.ts.map +0 -1
  39. package/lib/api/impl/validator/index.d.ts.map +0 -1
  40. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  41. package/lib/api/index.d.ts.map +0 -1
  42. package/lib/api/options.d.ts.map +0 -1
  43. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  44. package/lib/api/rest/base.d.ts.map +0 -1
  45. package/lib/api/rest/index.d.ts.map +0 -1
  46. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  47. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  48. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  49. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  50. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  51. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  52. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  53. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  54. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  55. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  56. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  57. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  58. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  59. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  60. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  61. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  62. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  63. package/lib/chain/balancesCache.d.ts.map +0 -1
  64. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  65. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  66. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  67. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  68. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  69. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  70. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  71. package/lib/chain/blocks/index.d.ts.map +0 -1
  72. package/lib/chain/blocks/types.d.ts.map +0 -1
  73. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  74. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  75. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  76. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  77. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  78. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  79. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  80. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  81. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  82. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  83. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  84. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  85. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  86. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  87. package/lib/chain/bls/index.d.ts.map +0 -1
  88. package/lib/chain/bls/interface.d.ts.map +0 -1
  89. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  90. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  91. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  92. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  93. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  94. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  95. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  96. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  97. package/lib/chain/bls/utils.d.ts.map +0 -1
  98. package/lib/chain/chain.d.ts.map +0 -1
  99. package/lib/chain/emitter.d.ts.map +0 -1
  100. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  101. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  102. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  103. package/lib/chain/errors/blockError.d.ts.map +0 -1
  104. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  105. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  106. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  107. package/lib/chain/errors/index.d.ts.map +0 -1
  108. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  109. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  110. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  111. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  112. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  113. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  114. package/lib/chain/genesis/interface.d.ts.map +0 -1
  115. package/lib/chain/index.d.ts.map +0 -1
  116. package/lib/chain/initState.d.ts.map +0 -1
  117. package/lib/chain/interface.d.ts.map +0 -1
  118. package/lib/chain/lightClient/index.d.ts.map +0 -1
  119. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  120. package/lib/chain/lightClient/types.d.ts.map +0 -1
  121. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  122. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  123. package/lib/chain/opPools/index.d.ts.map +0 -1
  124. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  125. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  126. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  127. package/lib/chain/opPools/types.d.ts.map +0 -1
  128. package/lib/chain/opPools/utils.d.ts.map +0 -1
  129. package/lib/chain/options.d.ts.map +0 -1
  130. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  131. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  132. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  133. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  134. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  135. package/lib/chain/regen/errors.d.ts.map +0 -1
  136. package/lib/chain/regen/index.d.ts.map +0 -1
  137. package/lib/chain/regen/interface.d.ts.map +0 -1
  138. package/lib/chain/regen/queued.d.ts.map +0 -1
  139. package/lib/chain/regen/regen.d.ts.map +0 -1
  140. package/lib/chain/reprocess.d.ts.map +0 -1
  141. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  142. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  143. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  144. package/lib/chain/seenCache/index.d.ts.map +0 -1
  145. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  146. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  147. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  148. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  149. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  150. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  151. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  152. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  153. package/lib/chain/serializeState.d.ts.map +0 -1
  154. package/lib/chain/shufflingCache.d.ts.map +0 -1
  155. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  156. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  157. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  158. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  159. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  160. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  161. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  162. package/lib/chain/stateCache/index.d.ts.map +0 -1
  163. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  164. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  165. package/lib/chain/stateCache/types.d.ts.map +0 -1
  166. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  167. package/lib/chain/validation/attestation.d.ts.map +0 -1
  168. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  169. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  170. package/lib/chain/validation/block.d.ts.map +0 -1
  171. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  172. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  173. package/lib/chain/validation/index.d.ts.map +0 -1
  174. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  175. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  176. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  177. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  178. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  179. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  180. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  181. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  182. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  183. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  184. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  185. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  186. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  187. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  188. package/lib/constants/constants.d.ts.map +0 -1
  189. package/lib/constants/index.d.ts.map +0 -1
  190. package/lib/constants/network.d.ts.map +0 -1
  191. package/lib/db/beacon.d.ts.map +0 -1
  192. package/lib/db/buckets.d.ts.map +0 -1
  193. package/lib/db/index.d.ts.map +0 -1
  194. package/lib/db/interface.d.ts.map +0 -1
  195. package/lib/db/options.d.ts.map +0 -1
  196. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  197. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  198. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  199. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  200. package/lib/db/repositories/block.d.ts.map +0 -1
  201. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  202. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  203. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  204. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  205. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  206. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  207. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  208. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  209. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  210. package/lib/db/repositories/index.d.ts.map +0 -1
  211. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  212. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  213. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  214. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  215. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  216. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  217. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  218. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  219. package/lib/db/single/index.d.ts.map +0 -1
  220. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  221. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  222. package/lib/eth1/errors.d.ts.map +0 -1
  223. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  224. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  225. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  226. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  227. package/lib/eth1/index.d.ts.map +0 -1
  228. package/lib/eth1/interface.d.ts.map +0 -1
  229. package/lib/eth1/options.d.ts.map +0 -1
  230. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  231. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  232. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  233. package/lib/eth1/provider/utils.d.ts.map +0 -1
  234. package/lib/eth1/stream.d.ts.map +0 -1
  235. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  236. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  237. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  238. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  239. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  240. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  241. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  242. package/lib/execution/builder/cache.d.ts.map +0 -1
  243. package/lib/execution/builder/http.d.ts.map +0 -1
  244. package/lib/execution/builder/index.d.ts.map +0 -1
  245. package/lib/execution/builder/interface.d.ts.map +0 -1
  246. package/lib/execution/builder/utils.d.ts.map +0 -1
  247. package/lib/execution/engine/disabled.d.ts.map +0 -1
  248. package/lib/execution/engine/http.d.ts.map +0 -1
  249. package/lib/execution/engine/index.d.ts.map +0 -1
  250. package/lib/execution/engine/interface.d.ts.map +0 -1
  251. package/lib/execution/engine/mock.d.ts.map +0 -1
  252. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  253. package/lib/execution/engine/types.d.ts.map +0 -1
  254. package/lib/execution/engine/utils.d.ts.map +0 -1
  255. package/lib/execution/index.d.ts.map +0 -1
  256. package/lib/index.d.ts.map +0 -1
  257. package/lib/metrics/index.d.ts.map +0 -1
  258. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  259. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  260. package/lib/metrics/metrics.d.ts.map +0 -1
  261. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  262. package/lib/metrics/options.d.ts.map +0 -1
  263. package/lib/metrics/server/http.d.ts.map +0 -1
  264. package/lib/metrics/server/index.d.ts.map +0 -1
  265. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  266. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  267. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  268. package/lib/monitoring/clientStats.d.ts.map +0 -1
  269. package/lib/monitoring/index.d.ts.map +0 -1
  270. package/lib/monitoring/options.d.ts.map +0 -1
  271. package/lib/monitoring/properties.d.ts.map +0 -1
  272. package/lib/monitoring/service.d.ts.map +0 -1
  273. package/lib/monitoring/system.d.ts.map +0 -1
  274. package/lib/monitoring/types.d.ts.map +0 -1
  275. package/lib/network/core/events.d.ts.map +0 -1
  276. package/lib/network/core/index.d.ts.map +0 -1
  277. package/lib/network/core/metrics.d.ts.map +0 -1
  278. package/lib/network/core/networkCore.d.ts.map +0 -1
  279. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  280. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  281. package/lib/network/core/types.d.ts.map +0 -1
  282. package/lib/network/discv5/index.d.ts.map +0 -1
  283. package/lib/network/discv5/types.d.ts.map +0 -1
  284. package/lib/network/discv5/utils.d.ts.map +0 -1
  285. package/lib/network/discv5/worker.d.ts.map +0 -1
  286. package/lib/network/events.d.ts.map +0 -1
  287. package/lib/network/forks.d.ts.map +0 -1
  288. package/lib/network/gossip/constants.d.ts.map +0 -1
  289. package/lib/network/gossip/encoding.d.ts.map +0 -1
  290. package/lib/network/gossip/errors.d.ts.map +0 -1
  291. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  292. package/lib/network/gossip/index.d.ts.map +0 -1
  293. package/lib/network/gossip/interface.d.ts.map +0 -1
  294. package/lib/network/gossip/metrics.d.ts.map +0 -1
  295. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  296. package/lib/network/gossip/topic.d.ts.map +0 -1
  297. package/lib/network/index.d.ts.map +0 -1
  298. package/lib/network/interface.d.ts.map +0 -1
  299. package/lib/network/libp2p/error.d.ts.map +0 -1
  300. package/lib/network/libp2p/index.d.ts.map +0 -1
  301. package/lib/network/metadata.d.ts.map +0 -1
  302. package/lib/network/network.d.ts.map +0 -1
  303. package/lib/network/networkConfig.d.ts.map +0 -1
  304. package/lib/network/options.d.ts.map +0 -1
  305. package/lib/network/peers/client.d.ts.map +0 -1
  306. package/lib/network/peers/datastore.d.ts.map +0 -1
  307. package/lib/network/peers/discover.d.ts.map +0 -1
  308. package/lib/network/peers/index.d.ts.map +0 -1
  309. package/lib/network/peers/peerManager.d.ts.map +0 -1
  310. package/lib/network/peers/peersData.d.ts.map +0 -1
  311. package/lib/network/peers/score/constants.d.ts.map +0 -1
  312. package/lib/network/peers/score/index.d.ts.map +0 -1
  313. package/lib/network/peers/score/interface.d.ts.map +0 -1
  314. package/lib/network/peers/score/score.d.ts.map +0 -1
  315. package/lib/network/peers/score/store.d.ts.map +0 -1
  316. package/lib/network/peers/score/utils.d.ts.map +0 -1
  317. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  318. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  319. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  320. package/lib/network/peers/utils/index.d.ts.map +0 -1
  321. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  322. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  323. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  324. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  325. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  326. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  327. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  328. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  329. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  330. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  331. package/lib/network/processor/index.d.ts.map +0 -1
  332. package/lib/network/processor/types.d.ts.map +0 -1
  333. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  334. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  335. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  336. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  337. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  338. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  339. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  340. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  341. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  342. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  343. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  344. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  345. package/lib/network/reqresp/index.d.ts.map +0 -1
  346. package/lib/network/reqresp/interface.d.ts.map +0 -1
  347. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  348. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  349. package/lib/network/reqresp/score.d.ts.map +0 -1
  350. package/lib/network/reqresp/types.d.ts.map +0 -1
  351. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  352. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  353. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  354. package/lib/network/statusCache.d.ts.map +0 -1
  355. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  356. package/lib/network/subnets/index.d.ts.map +0 -1
  357. package/lib/network/subnets/interface.d.ts.map +0 -1
  358. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  359. package/lib/network/subnets/util.d.ts.map +0 -1
  360. package/lib/network/util.d.ts.map +0 -1
  361. package/lib/node/index.d.ts.map +0 -1
  362. package/lib/node/nodejs.d.ts.map +0 -1
  363. package/lib/node/notifier.d.ts.map +0 -1
  364. package/lib/node/options.d.ts.map +0 -1
  365. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  366. package/lib/node/utils/interop/state.d.ts.map +0 -1
  367. package/lib/node/utils/lightclient.d.ts.map +0 -1
  368. package/lib/node/utils/state.d.ts.map +0 -1
  369. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  370. package/lib/sync/backfill/errors.d.ts.map +0 -1
  371. package/lib/sync/backfill/index.d.ts.map +0 -1
  372. package/lib/sync/backfill/verify.d.ts.map +0 -1
  373. package/lib/sync/constants.d.ts.map +0 -1
  374. package/lib/sync/index.d.ts.map +0 -1
  375. package/lib/sync/interface.d.ts.map +0 -1
  376. package/lib/sync/options.d.ts.map +0 -1
  377. package/lib/sync/range/batch.d.ts.map +0 -1
  378. package/lib/sync/range/chain.d.ts.map +0 -1
  379. package/lib/sync/range/range.d.ts.map +0 -1
  380. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  381. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  382. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  383. package/lib/sync/range/utils/index.d.ts.map +0 -1
  384. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  385. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  386. package/lib/sync/sync.d.ts.map +0 -1
  387. package/lib/sync/types.d.ts.map +0 -1
  388. package/lib/sync/unknownBlock.d.ts.map +0 -1
  389. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  390. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  391. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  392. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  393. package/lib/util/address.d.ts.map +0 -1
  394. package/lib/util/array.d.ts.map +0 -1
  395. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  396. package/lib/util/binarySearch.d.ts.map +0 -1
  397. package/lib/util/bitArray.d.ts.map +0 -1
  398. package/lib/util/blobs.d.ts.map +0 -1
  399. package/lib/util/bufferPool.d.ts.map +0 -1
  400. package/lib/util/bytes.d.ts.map +0 -1
  401. package/lib/util/chunkify.d.ts.map +0 -1
  402. package/lib/util/clock.d.ts.map +0 -1
  403. package/lib/util/dataColumns.d.ts.map +0 -1
  404. package/lib/util/dependentRoot.d.ts.map +0 -1
  405. package/lib/util/enum.d.ts.map +0 -1
  406. package/lib/util/error.d.ts.map +0 -1
  407. package/lib/util/eventLoop.d.ts.map +0 -1
  408. package/lib/util/execution.d.ts.map +0 -1
  409. package/lib/util/file.d.ts.map +0 -1
  410. package/lib/util/forkChoice.d.ts.map +0 -1
  411. package/lib/util/forkName.d.ts.map +0 -1
  412. package/lib/util/graffiti.d.ts.map +0 -1
  413. package/lib/util/hex.d.ts.map +0 -1
  414. package/lib/util/index.d.ts.map +0 -1
  415. package/lib/util/ip.d.ts.map +0 -1
  416. package/lib/util/itTrigger.d.ts.map +0 -1
  417. package/lib/util/kzg.d.ts.map +0 -1
  418. package/lib/util/map.d.ts.map +0 -1
  419. package/lib/util/metadata.d.ts.map +0 -1
  420. package/lib/util/multifork.d.ts.map +0 -1
  421. package/lib/util/numpy.d.ts.map +0 -1
  422. package/lib/util/peerId.d.ts.map +0 -1
  423. package/lib/util/profile.d.ts.map +0 -1
  424. package/lib/util/promises.d.ts.map +0 -1
  425. package/lib/util/queue/errors.d.ts.map +0 -1
  426. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  427. package/lib/util/queue/index.d.ts.map +0 -1
  428. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  429. package/lib/util/queue/options.d.ts.map +0 -1
  430. package/lib/util/serializedCache.d.ts.map +0 -1
  431. package/lib/util/set.d.ts.map +0 -1
  432. package/lib/util/shuffle.d.ts.map +0 -1
  433. package/lib/util/sortBy.d.ts.map +0 -1
  434. package/lib/util/sszBytes.d.ts.map +0 -1
  435. package/lib/util/strictEvents.d.ts.map +0 -1
  436. package/lib/util/time.d.ts.map +0 -1
  437. package/lib/util/timeSeries.d.ts.map +0 -1
  438. package/lib/util/types.d.ts.map +0 -1
  439. package/lib/util/workerEvents.d.ts.map +0 -1
  440. package/lib/util/wrapError.d.ts.map +0 -1
  441. package/src/api/impl/api.ts +0 -26
  442. package/src/api/impl/beacon/blocks/index.ts +0 -744
  443. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  444. package/src/api/impl/beacon/index.ts +0 -35
  445. package/src/api/impl/beacon/pool/index.ts +0 -314
  446. package/src/api/impl/beacon/rewards/index.ts +0 -30
  447. package/src/api/impl/beacon/state/index.ts +0 -406
  448. package/src/api/impl/beacon/state/utils.ts +0 -189
  449. package/src/api/impl/config/constants.ts +0 -127
  450. package/src/api/impl/config/index.ts +0 -59
  451. package/src/api/impl/debug/index.ts +0 -131
  452. package/src/api/impl/errors.ts +0 -50
  453. package/src/api/impl/events/index.ts +0 -33
  454. package/src/api/impl/index.ts +0 -6
  455. package/src/api/impl/lightclient/index.ts +0 -64
  456. package/src/api/impl/lodestar/index.ts +0 -257
  457. package/src/api/impl/node/index.ts +0 -88
  458. package/src/api/impl/node/utils.ts +0 -51
  459. package/src/api/impl/proof/index.ts +0 -60
  460. package/src/api/impl/types.ts +0 -17
  461. package/src/api/impl/utils.ts +0 -25
  462. package/src/api/impl/validator/index.ts +0 -1538
  463. package/src/api/impl/validator/utils.ts +0 -85
  464. package/src/api/index.ts +0 -2
  465. package/src/api/options.ts +0 -16
  466. package/src/api/rest/activeSockets.ts +0 -109
  467. package/src/api/rest/base.ts +0 -216
  468. package/src/api/rest/index.ts +0 -63
  469. package/src/api/rest/swaggerUI.ts +0 -80
  470. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  471. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  472. package/src/chain/GetBlobsTracker.ts +0 -115
  473. package/src/chain/archiveStore/archiveStore.ts +0 -222
  474. package/src/chain/archiveStore/constants.ts +0 -5
  475. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  476. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  477. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  478. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  479. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  480. package/src/chain/archiveStore/index.ts +0 -3
  481. package/src/chain/archiveStore/interface.ts +0 -75
  482. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  483. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  484. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  485. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  486. package/src/chain/balancesCache.ts +0 -52
  487. package/src/chain/beaconProposerCache.ts +0 -43
  488. package/src/chain/blocks/blockInput/blockInput.ts +0 -851
  489. package/src/chain/blocks/blockInput/errors.ts +0 -48
  490. package/src/chain/blocks/blockInput/index.ts +0 -4
  491. package/src/chain/blocks/blockInput/types.ts +0 -145
  492. package/src/chain/blocks/blockInput/utils.ts +0 -21
  493. package/src/chain/blocks/importBlock.ts +0 -603
  494. package/src/chain/blocks/index.ts +0 -179
  495. package/src/chain/blocks/types.ts +0 -101
  496. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  497. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  498. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  499. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  500. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  501. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  502. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  503. package/src/chain/blocks/verifyBlock.ts +0 -242
  504. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -34
  505. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  506. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  507. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  508. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  509. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  510. package/src/chain/bls/index.ts +0 -4
  511. package/src/chain/bls/interface.ts +0 -68
  512. package/src/chain/bls/maybeBatch.ts +0 -45
  513. package/src/chain/bls/multithread/index.ts +0 -582
  514. package/src/chain/bls/multithread/jobItem.ts +0 -119
  515. package/src/chain/bls/multithread/poolSize.ts +0 -16
  516. package/src/chain/bls/multithread/types.ts +0 -38
  517. package/src/chain/bls/multithread/utils.ts +0 -19
  518. package/src/chain/bls/multithread/worker.ts +0 -114
  519. package/src/chain/bls/singleThread.ts +0 -87
  520. package/src/chain/bls/utils.ts +0 -30
  521. package/src/chain/chain.ts +0 -1365
  522. package/src/chain/emitter.ts +0 -113
  523. package/src/chain/errors/attestationError.ts +0 -194
  524. package/src/chain/errors/attesterSlashingError.ts +0 -11
  525. package/src/chain/errors/blobSidecarError.ts +0 -60
  526. package/src/chain/errors/blockError.ts +0 -166
  527. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  528. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  529. package/src/chain/errors/gossipValidation.ts +0 -20
  530. package/src/chain/errors/index.ts +0 -10
  531. package/src/chain/errors/lightClientError.ts +0 -30
  532. package/src/chain/errors/proposerSlashingError.ts +0 -11
  533. package/src/chain/errors/syncCommitteeError.ts +0 -36
  534. package/src/chain/errors/voluntaryExitError.ts +0 -13
  535. package/src/chain/forkChoice/index.ts +0 -112
  536. package/src/chain/genesis/genesis.ts +0 -190
  537. package/src/chain/genesis/interface.ts +0 -14
  538. package/src/chain/index.ts +0 -6
  539. package/src/chain/initState.ts +0 -221
  540. package/src/chain/interface.ts +0 -280
  541. package/src/chain/lightClient/index.ts +0 -764
  542. package/src/chain/lightClient/proofs.ts +0 -85
  543. package/src/chain/lightClient/types.ts +0 -33
  544. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  545. package/src/chain/opPools/attestationPool.ts +0 -283
  546. package/src/chain/opPools/index.ts +0 -5
  547. package/src/chain/opPools/opPool.ts +0 -462
  548. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -167
  549. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  550. package/src/chain/opPools/types.ts +0 -35
  551. package/src/chain/opPools/utils.ts +0 -65
  552. package/src/chain/options.ts +0 -138
  553. package/src/chain/prepareNextSlot.ts +0 -277
  554. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  555. package/src/chain/produceBlock/index.ts +0 -2
  556. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  557. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  558. package/src/chain/regen/errors.ts +0 -30
  559. package/src/chain/regen/index.ts +0 -4
  560. package/src/chain/regen/interface.ts +0 -93
  561. package/src/chain/regen/queued.ts +0 -317
  562. package/src/chain/regen/regen.ts +0 -424
  563. package/src/chain/reprocess.ts +0 -161
  564. package/src/chain/rewards/attestationsRewards.ts +0 -196
  565. package/src/chain/rewards/blockRewards.ts +0 -150
  566. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  567. package/src/chain/seenCache/index.ts +0 -5
  568. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  569. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  570. package/src/chain/seenCache/seenAttesters.ts +0 -58
  571. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  572. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  573. package/src/chain/seenCache/seenCommittee.ts +0 -43
  574. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  575. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  576. package/src/chain/serializeState.ts +0 -32
  577. package/src/chain/shufflingCache.ts +0 -238
  578. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  579. package/src/chain/stateCache/datastore/db.ts +0 -36
  580. package/src/chain/stateCache/datastore/file.ts +0 -53
  581. package/src/chain/stateCache/datastore/index.ts +0 -2
  582. package/src/chain/stateCache/datastore/types.ts +0 -13
  583. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  584. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  585. package/src/chain/stateCache/index.ts +0 -3
  586. package/src/chain/stateCache/mapMetrics.ts +0 -52
  587. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -835
  588. package/src/chain/stateCache/types.ts +0 -86
  589. package/src/chain/validation/aggregateAndProof.ts +0 -258
  590. package/src/chain/validation/attestation.ts +0 -885
  591. package/src/chain/validation/attesterSlashing.ts +0 -61
  592. package/src/chain/validation/blobSidecar.ts +0 -301
  593. package/src/chain/validation/block.ts +0 -188
  594. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  595. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  596. package/src/chain/validation/index.ts +0 -9
  597. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -45
  598. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -67
  599. package/src/chain/validation/proposerSlashing.ts +0 -54
  600. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  601. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  602. package/src/chain/validation/signatureSets/index.ts +0 -6
  603. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  604. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  605. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  606. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  607. package/src/chain/validation/syncCommittee.ts +0 -165
  608. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  609. package/src/chain/validation/voluntaryExit.ts +0 -58
  610. package/src/chain/validatorMonitor.ts +0 -1299
  611. package/src/constants/constants.ts +0 -15
  612. package/src/constants/index.ts +0 -2
  613. package/src/constants/network.ts +0 -52
  614. package/src/db/beacon.ts +0 -113
  615. package/src/db/buckets.ts +0 -80
  616. package/src/db/index.ts +0 -2
  617. package/src/db/interface.ts +0 -76
  618. package/src/db/options.ts +0 -7
  619. package/src/db/repositories/attesterSlashing.ts +0 -38
  620. package/src/db/repositories/backfilledRanges.ts +0 -29
  621. package/src/db/repositories/blobSidecars.ts +0 -37
  622. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  623. package/src/db/repositories/block.ts +0 -33
  624. package/src/db/repositories/blockArchive.ts +0 -170
  625. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  626. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  627. package/src/db/repositories/checkpointState.ts +0 -31
  628. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  629. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  630. package/src/db/repositories/depositDataRoot.ts +0 -80
  631. package/src/db/repositories/depositEvent.ts +0 -32
  632. package/src/db/repositories/eth1Data.ts +0 -33
  633. package/src/db/repositories/index.ts +0 -20
  634. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  635. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  636. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  637. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  638. package/src/db/repositories/proposerSlashing.ts +0 -15
  639. package/src/db/repositories/stateArchive.ts +0 -69
  640. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  641. package/src/db/repositories/voluntaryExit.ts +0 -15
  642. package/src/db/single/index.ts +0 -2
  643. package/src/db/single/preGenesisState.ts +0 -37
  644. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  645. package/src/eth1/errors.ts +0 -40
  646. package/src/eth1/eth1DataCache.ts +0 -26
  647. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  648. package/src/eth1/eth1DepositsCache.ts +0 -141
  649. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  650. package/src/eth1/index.ts +0 -157
  651. package/src/eth1/interface.ts +0 -131
  652. package/src/eth1/options.ts +0 -28
  653. package/src/eth1/provider/eth1Provider.ts +0 -229
  654. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  655. package/src/eth1/provider/jwt.ts +0 -36
  656. package/src/eth1/provider/utils.ts +0 -136
  657. package/src/eth1/stream.ts +0 -75
  658. package/src/eth1/utils/depositContract.ts +0 -37
  659. package/src/eth1/utils/deposits.ts +0 -70
  660. package/src/eth1/utils/eth1Data.ts +0 -100
  661. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  662. package/src/eth1/utils/eth1Vote.ts +0 -142
  663. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  664. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  665. package/src/execution/builder/cache.ts +0 -39
  666. package/src/execution/builder/http.ts +0 -229
  667. package/src/execution/builder/index.ts +0 -27
  668. package/src/execution/builder/interface.ts +0 -49
  669. package/src/execution/builder/utils.ts +0 -19
  670. package/src/execution/engine/disabled.ts +0 -35
  671. package/src/execution/engine/http.ts +0 -644
  672. package/src/execution/engine/index.ts +0 -63
  673. package/src/execution/engine/interface.ts +0 -199
  674. package/src/execution/engine/mock.ts +0 -493
  675. package/src/execution/engine/payloadIdCache.ts +0 -54
  676. package/src/execution/engine/types.ts +0 -640
  677. package/src/execution/engine/utils.ts +0 -136
  678. package/src/execution/index.ts +0 -4
  679. package/src/index.ts +0 -20
  680. package/src/metrics/index.ts +0 -4
  681. package/src/metrics/metrics/beacon.ts +0 -390
  682. package/src/metrics/metrics/lodestar.ts +0 -1870
  683. package/src/metrics/metrics.ts +0 -43
  684. package/src/metrics/nodeJsMetrics.ts +0 -19
  685. package/src/metrics/options.ts +0 -22
  686. package/src/metrics/server/http.ts +0 -114
  687. package/src/metrics/server/index.ts +0 -1
  688. package/src/metrics/utils/avgMinMax.ts +0 -87
  689. package/src/metrics/utils/gauge.ts +0 -22
  690. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  691. package/src/monitoring/clientStats.ts +0 -297
  692. package/src/monitoring/index.ts +0 -2
  693. package/src/monitoring/options.ts +0 -19
  694. package/src/monitoring/properties.ts +0 -152
  695. package/src/monitoring/service.ts +0 -235
  696. package/src/monitoring/system.ts +0 -146
  697. package/src/monitoring/types.ts +0 -21
  698. package/src/network/core/events.ts +0 -59
  699. package/src/network/core/index.ts +0 -3
  700. package/src/network/core/metrics.ts +0 -304
  701. package/src/network/core/networkCore.ts +0 -599
  702. package/src/network/core/networkCoreWorker.ts +0 -176
  703. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  704. package/src/network/core/types.ts +0 -119
  705. package/src/network/discv5/index.ts +0 -132
  706. package/src/network/discv5/types.ts +0 -74
  707. package/src/network/discv5/utils.ts +0 -50
  708. package/src/network/discv5/worker.ts +0 -137
  709. package/src/network/events.ts +0 -51
  710. package/src/network/forks.ts +0 -94
  711. package/src/network/gossip/constants.ts +0 -15
  712. package/src/network/gossip/encoding.ts +0 -111
  713. package/src/network/gossip/errors.ts +0 -7
  714. package/src/network/gossip/gossipsub.ts +0 -384
  715. package/src/network/gossip/index.ts +0 -4
  716. package/src/network/gossip/interface.ts +0 -215
  717. package/src/network/gossip/metrics.ts +0 -71
  718. package/src/network/gossip/scoringParameters.ts +0 -333
  719. package/src/network/gossip/topic.ts +0 -332
  720. package/src/network/index.ts +0 -8
  721. package/src/network/interface.ts +0 -134
  722. package/src/network/libp2p/error.ts +0 -55
  723. package/src/network/libp2p/index.ts +0 -153
  724. package/src/network/metadata.ts +0 -162
  725. package/src/network/network.ts +0 -767
  726. package/src/network/networkConfig.ts +0 -12
  727. package/src/network/options.ts +0 -70
  728. package/src/network/peers/client.ts +0 -29
  729. package/src/network/peers/datastore.ts +0 -188
  730. package/src/network/peers/discover.ts +0 -647
  731. package/src/network/peers/index.ts +0 -2
  732. package/src/network/peers/peerManager.ts +0 -899
  733. package/src/network/peers/peersData.ts +0 -65
  734. package/src/network/peers/score/constants.ts +0 -34
  735. package/src/network/peers/score/index.ts +0 -4
  736. package/src/network/peers/score/interface.ts +0 -74
  737. package/src/network/peers/score/score.ts +0 -200
  738. package/src/network/peers/score/store.ts +0 -95
  739. package/src/network/peers/score/utils.ts +0 -37
  740. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  741. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  742. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  743. package/src/network/peers/utils/index.ts +0 -4
  744. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  745. package/src/network/peers/utils/subnetMap.ts +0 -88
  746. package/src/network/processor/aggregatorTracker.ts +0 -38
  747. package/src/network/processor/extractSlotRootFns.ts +0 -64
  748. package/src/network/processor/gossipHandlers.ts +0 -951
  749. package/src/network/processor/gossipQueues/index.ts +0 -114
  750. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  751. package/src/network/processor/gossipQueues/linear.ts +0 -162
  752. package/src/network/processor/gossipQueues/types.ts +0 -57
  753. package/src/network/processor/gossipValidatorFn.ts +0 -142
  754. package/src/network/processor/index.ts +0 -497
  755. package/src/network/processor/types.ts +0 -27
  756. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  757. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  758. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  759. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  760. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  761. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  762. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  763. package/src/network/reqresp/handlers/index.ts +0 -78
  764. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  765. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  766. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  767. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  768. package/src/network/reqresp/index.ts +0 -2
  769. package/src/network/reqresp/interface.ts +0 -45
  770. package/src/network/reqresp/protocols.ts +0 -146
  771. package/src/network/reqresp/rateLimit.ts +0 -112
  772. package/src/network/reqresp/score.ts +0 -70
  773. package/src/network/reqresp/types.ts +0 -174
  774. package/src/network/reqresp/utils/collect.ts +0 -84
  775. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  776. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  777. package/src/network/statusCache.ts +0 -17
  778. package/src/network/subnets/attnetsService.ts +0 -385
  779. package/src/network/subnets/index.ts +0 -2
  780. package/src/network/subnets/interface.ts +0 -66
  781. package/src/network/subnets/syncnetsService.ts +0 -147
  782. package/src/network/subnets/util.ts +0 -63
  783. package/src/network/util.ts +0 -29
  784. package/src/node/index.ts +0 -2
  785. package/src/node/nodejs.ts +0 -349
  786. package/src/node/notifier.ts +0 -206
  787. package/src/node/options.ts +0 -51
  788. package/src/node/utils/interop/deposits.ts +0 -53
  789. package/src/node/utils/interop/state.ts +0 -59
  790. package/src/node/utils/lightclient.ts +0 -7
  791. package/src/node/utils/state.ts +0 -37
  792. package/src/sync/backfill/backfill.ts +0 -893
  793. package/src/sync/backfill/errors.ts +0 -23
  794. package/src/sync/backfill/index.ts +0 -1
  795. package/src/sync/backfill/verify.ts +0 -58
  796. package/src/sync/constants.ts +0 -71
  797. package/src/sync/index.ts +0 -2
  798. package/src/sync/interface.ts +0 -55
  799. package/src/sync/options.ts +0 -45
  800. package/src/sync/range/batch.ts +0 -455
  801. package/src/sync/range/chain.ts +0 -715
  802. package/src/sync/range/range.ts +0 -354
  803. package/src/sync/range/utils/batches.ts +0 -119
  804. package/src/sync/range/utils/chainTarget.ts +0 -62
  805. package/src/sync/range/utils/hashBlocks.ts +0 -27
  806. package/src/sync/range/utils/index.ts +0 -5
  807. package/src/sync/range/utils/peerBalancer.ts +0 -184
  808. package/src/sync/range/utils/updateChains.ts +0 -66
  809. package/src/sync/sync.ts +0 -290
  810. package/src/sync/types.ts +0 -59
  811. package/src/sync/unknownBlock.ts +0 -862
  812. package/src/sync/utils/downloadByRange.ts +0 -808
  813. package/src/sync/utils/downloadByRoot.ts +0 -560
  814. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  815. package/src/sync/utils/remoteSyncType.ts +0 -144
  816. package/src/util/address.ts +0 -3
  817. package/src/util/array.ts +0 -311
  818. package/src/util/asyncIterableToEvents.ts +0 -164
  819. package/src/util/binarySearch.ts +0 -48
  820. package/src/util/bitArray.ts +0 -84
  821. package/src/util/blobs.ts +0 -210
  822. package/src/util/bufferPool.ts +0 -95
  823. package/src/util/bytes.ts +0 -11
  824. package/src/util/chunkify.ts +0 -27
  825. package/src/util/clock.ts +0 -204
  826. package/src/util/dataColumns.ts +0 -415
  827. package/src/util/dependentRoot.ts +0 -47
  828. package/src/util/enum.ts +0 -17
  829. package/src/util/error.ts +0 -56
  830. package/src/util/eventLoop.ts +0 -22
  831. package/src/util/execution.ts +0 -223
  832. package/src/util/file.ts +0 -52
  833. package/src/util/forkChoice.ts +0 -5
  834. package/src/util/forkName.ts +0 -20
  835. package/src/util/graffiti.ts +0 -39
  836. package/src/util/hex.ts +0 -9
  837. package/src/util/index.ts +0 -2
  838. package/src/util/ip.ts +0 -6
  839. package/src/util/itTrigger.ts +0 -49
  840. package/src/util/kzg.ts +0 -3
  841. package/src/util/map.ts +0 -77
  842. package/src/util/metadata.ts +0 -22
  843. package/src/util/multifork.ts +0 -69
  844. package/src/util/numpy.ts +0 -8
  845. package/src/util/peerId.ts +0 -16
  846. package/src/util/profile.ts +0 -54
  847. package/src/util/promises.ts +0 -14
  848. package/src/util/queue/errors.ts +0 -14
  849. package/src/util/queue/fnQueue.ts +0 -16
  850. package/src/util/queue/index.ts +0 -4
  851. package/src/util/queue/itemQueue.ts +0 -128
  852. package/src/util/queue/options.ts +0 -37
  853. package/src/util/serializedCache.ts +0 -20
  854. package/src/util/set.ts +0 -62
  855. package/src/util/shuffle.ts +0 -21
  856. package/src/util/sortBy.ts +0 -19
  857. package/src/util/sszBytes.ts +0 -481
  858. package/src/util/strictEvents.ts +0 -8
  859. package/src/util/time.ts +0 -13
  860. package/src/util/timeSeries.ts +0 -118
  861. package/src/util/types.ts +0 -31
  862. package/src/util/workerEvents.ts +0 -142
  863. 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.SECONDS_PER_SLOT * SLOTS_PER_EPOCH * 2 * 1000,
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
- }