@lodestar/beacon-node 1.35.0-dev.98d359db41 → 1.35.0-dev.b42a298a7c

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 (882) hide show
  1. package/lib/chain/emitter.d.ts +2 -2
  2. package/lib/db/buckets.d.ts +4 -4
  3. package/lib/db/buckets.js +4 -4
  4. package/lib/db/buckets.js.map +1 -1
  5. package/lib/db/repositories/blobSidecars.js +1 -1
  6. package/lib/db/repositories/blobSidecars.js.map +1 -1
  7. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  8. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  9. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  10. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  11. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  12. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  13. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  14. package/lib/network/gossip/gossipsub.d.ts +0 -1
  15. package/lib/network/gossip/gossipsub.js +16 -35
  16. package/lib/network/gossip/gossipsub.js.map +1 -1
  17. package/lib/network/gossip/metrics.d.ts +7 -15
  18. package/lib/network/gossip/metrics.js +6 -16
  19. package/lib/network/gossip/metrics.js.map +1 -1
  20. package/lib/network/metadata.js +1 -2
  21. package/lib/network/metadata.js.map +1 -1
  22. package/lib/network/network.js +4 -2
  23. package/lib/network/network.js.map +1 -1
  24. package/lib/network/processor/index.d.ts +1 -1
  25. package/lib/network/processor/index.js +3 -2
  26. package/lib/network/processor/index.js.map +1 -1
  27. package/lib/sync/types.d.ts +1 -0
  28. package/lib/sync/types.js.map +1 -1
  29. package/lib/sync/unknownBlock.js +14 -12
  30. package/lib/sync/unknownBlock.js.map +1 -1
  31. package/lib/sync/utils/downloadByRoot.d.ts +1 -3
  32. package/lib/sync/utils/downloadByRoot.js +5 -32
  33. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  34. package/lib/util/blobs.js +3 -5
  35. package/lib/util/blobs.js.map +1 -1
  36. package/package.json +20 -18
  37. package/lib/api/impl/api.d.ts.map +0 -1
  38. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  39. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  40. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  41. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  42. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  43. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  44. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  45. package/lib/api/impl/config/constants.d.ts.map +0 -1
  46. package/lib/api/impl/config/index.d.ts.map +0 -1
  47. package/lib/api/impl/debug/index.d.ts.map +0 -1
  48. package/lib/api/impl/errors.d.ts.map +0 -1
  49. package/lib/api/impl/events/index.d.ts.map +0 -1
  50. package/lib/api/impl/index.d.ts.map +0 -1
  51. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  52. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  53. package/lib/api/impl/node/index.d.ts.map +0 -1
  54. package/lib/api/impl/node/utils.d.ts.map +0 -1
  55. package/lib/api/impl/proof/index.d.ts.map +0 -1
  56. package/lib/api/impl/types.d.ts.map +0 -1
  57. package/lib/api/impl/utils.d.ts.map +0 -1
  58. package/lib/api/impl/validator/index.d.ts.map +0 -1
  59. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  60. package/lib/api/index.d.ts.map +0 -1
  61. package/lib/api/options.d.ts.map +0 -1
  62. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  63. package/lib/api/rest/base.d.ts.map +0 -1
  64. package/lib/api/rest/index.d.ts.map +0 -1
  65. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  66. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  67. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  68. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  69. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  70. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  71. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  72. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  73. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  74. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  75. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  76. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  77. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  78. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  79. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  80. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  81. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  82. package/lib/chain/balancesCache.d.ts.map +0 -1
  83. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  84. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  85. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  86. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  87. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  88. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  89. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  90. package/lib/chain/blocks/index.d.ts.map +0 -1
  91. package/lib/chain/blocks/types.d.ts.map +0 -1
  92. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  93. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  94. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  95. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  96. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  97. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  98. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  99. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  100. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  101. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  102. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  103. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  104. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  105. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  106. package/lib/chain/bls/index.d.ts.map +0 -1
  107. package/lib/chain/bls/interface.d.ts.map +0 -1
  108. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  109. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  110. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  111. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  112. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  113. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  114. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  115. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  116. package/lib/chain/bls/utils.d.ts.map +0 -1
  117. package/lib/chain/chain.d.ts.map +0 -1
  118. package/lib/chain/emitter.d.ts.map +0 -1
  119. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  120. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  121. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  122. package/lib/chain/errors/blockError.d.ts.map +0 -1
  123. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  124. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  125. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  126. package/lib/chain/errors/index.d.ts.map +0 -1
  127. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  128. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  129. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  130. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  131. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  132. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  133. package/lib/chain/genesis/interface.d.ts.map +0 -1
  134. package/lib/chain/index.d.ts.map +0 -1
  135. package/lib/chain/initState.d.ts.map +0 -1
  136. package/lib/chain/interface.d.ts.map +0 -1
  137. package/lib/chain/lightClient/index.d.ts.map +0 -1
  138. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  139. package/lib/chain/lightClient/types.d.ts.map +0 -1
  140. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  141. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  142. package/lib/chain/opPools/index.d.ts.map +0 -1
  143. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  144. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  145. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  146. package/lib/chain/opPools/types.d.ts.map +0 -1
  147. package/lib/chain/opPools/utils.d.ts.map +0 -1
  148. package/lib/chain/options.d.ts.map +0 -1
  149. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  150. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  151. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  152. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  153. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  154. package/lib/chain/regen/errors.d.ts.map +0 -1
  155. package/lib/chain/regen/index.d.ts.map +0 -1
  156. package/lib/chain/regen/interface.d.ts.map +0 -1
  157. package/lib/chain/regen/queued.d.ts.map +0 -1
  158. package/lib/chain/regen/regen.d.ts.map +0 -1
  159. package/lib/chain/reprocess.d.ts.map +0 -1
  160. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  161. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  162. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  163. package/lib/chain/seenCache/index.d.ts.map +0 -1
  164. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  165. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  166. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  167. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  168. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  169. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  170. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  171. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  172. package/lib/chain/serializeState.d.ts.map +0 -1
  173. package/lib/chain/shufflingCache.d.ts.map +0 -1
  174. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  175. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  176. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  177. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  178. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  179. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  180. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  181. package/lib/chain/stateCache/index.d.ts.map +0 -1
  182. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  183. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  184. package/lib/chain/stateCache/types.d.ts.map +0 -1
  185. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  186. package/lib/chain/validation/attestation.d.ts.map +0 -1
  187. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  188. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  189. package/lib/chain/validation/block.d.ts.map +0 -1
  190. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  191. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  192. package/lib/chain/validation/index.d.ts.map +0 -1
  193. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  194. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  195. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  196. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  197. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  198. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  199. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  200. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  201. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  202. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  203. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  204. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  205. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  206. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  207. package/lib/constants/constants.d.ts.map +0 -1
  208. package/lib/constants/index.d.ts.map +0 -1
  209. package/lib/constants/network.d.ts.map +0 -1
  210. package/lib/db/beacon.d.ts.map +0 -1
  211. package/lib/db/buckets.d.ts.map +0 -1
  212. package/lib/db/index.d.ts.map +0 -1
  213. package/lib/db/interface.d.ts.map +0 -1
  214. package/lib/db/options.d.ts.map +0 -1
  215. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  216. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  217. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  218. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  219. package/lib/db/repositories/block.d.ts.map +0 -1
  220. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  221. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  222. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  223. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  224. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  225. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  226. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  227. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  228. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  229. package/lib/db/repositories/index.d.ts.map +0 -1
  230. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  231. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  232. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  233. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  234. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  235. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  236. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  237. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  238. package/lib/db/single/index.d.ts.map +0 -1
  239. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  240. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  241. package/lib/eth1/errors.d.ts.map +0 -1
  242. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  243. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  244. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  245. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  246. package/lib/eth1/index.d.ts.map +0 -1
  247. package/lib/eth1/interface.d.ts.map +0 -1
  248. package/lib/eth1/options.d.ts.map +0 -1
  249. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  250. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  251. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  252. package/lib/eth1/provider/utils.d.ts.map +0 -1
  253. package/lib/eth1/stream.d.ts.map +0 -1
  254. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  255. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  256. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  257. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  258. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  259. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  260. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  261. package/lib/execution/builder/cache.d.ts.map +0 -1
  262. package/lib/execution/builder/http.d.ts.map +0 -1
  263. package/lib/execution/builder/index.d.ts.map +0 -1
  264. package/lib/execution/builder/interface.d.ts.map +0 -1
  265. package/lib/execution/builder/utils.d.ts.map +0 -1
  266. package/lib/execution/engine/disabled.d.ts.map +0 -1
  267. package/lib/execution/engine/http.d.ts.map +0 -1
  268. package/lib/execution/engine/index.d.ts.map +0 -1
  269. package/lib/execution/engine/interface.d.ts.map +0 -1
  270. package/lib/execution/engine/mock.d.ts.map +0 -1
  271. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  272. package/lib/execution/engine/types.d.ts.map +0 -1
  273. package/lib/execution/engine/utils.d.ts.map +0 -1
  274. package/lib/execution/index.d.ts.map +0 -1
  275. package/lib/index.d.ts.map +0 -1
  276. package/lib/metrics/index.d.ts.map +0 -1
  277. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  278. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  279. package/lib/metrics/metrics.d.ts.map +0 -1
  280. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  281. package/lib/metrics/options.d.ts.map +0 -1
  282. package/lib/metrics/server/http.d.ts.map +0 -1
  283. package/lib/metrics/server/index.d.ts.map +0 -1
  284. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  285. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  286. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  287. package/lib/monitoring/clientStats.d.ts.map +0 -1
  288. package/lib/monitoring/index.d.ts.map +0 -1
  289. package/lib/monitoring/options.d.ts.map +0 -1
  290. package/lib/monitoring/properties.d.ts.map +0 -1
  291. package/lib/monitoring/service.d.ts.map +0 -1
  292. package/lib/monitoring/system.d.ts.map +0 -1
  293. package/lib/monitoring/types.d.ts.map +0 -1
  294. package/lib/network/core/events.d.ts.map +0 -1
  295. package/lib/network/core/index.d.ts.map +0 -1
  296. package/lib/network/core/metrics.d.ts.map +0 -1
  297. package/lib/network/core/networkCore.d.ts.map +0 -1
  298. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  299. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  300. package/lib/network/core/types.d.ts.map +0 -1
  301. package/lib/network/discv5/index.d.ts.map +0 -1
  302. package/lib/network/discv5/types.d.ts.map +0 -1
  303. package/lib/network/discv5/utils.d.ts.map +0 -1
  304. package/lib/network/discv5/worker.d.ts.map +0 -1
  305. package/lib/network/events.d.ts.map +0 -1
  306. package/lib/network/forks.d.ts.map +0 -1
  307. package/lib/network/gossip/constants.d.ts.map +0 -1
  308. package/lib/network/gossip/encoding.d.ts.map +0 -1
  309. package/lib/network/gossip/errors.d.ts.map +0 -1
  310. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  311. package/lib/network/gossip/index.d.ts.map +0 -1
  312. package/lib/network/gossip/interface.d.ts.map +0 -1
  313. package/lib/network/gossip/metrics.d.ts.map +0 -1
  314. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  315. package/lib/network/gossip/topic.d.ts.map +0 -1
  316. package/lib/network/index.d.ts.map +0 -1
  317. package/lib/network/interface.d.ts.map +0 -1
  318. package/lib/network/libp2p/error.d.ts.map +0 -1
  319. package/lib/network/libp2p/index.d.ts.map +0 -1
  320. package/lib/network/metadata.d.ts.map +0 -1
  321. package/lib/network/network.d.ts.map +0 -1
  322. package/lib/network/networkConfig.d.ts.map +0 -1
  323. package/lib/network/options.d.ts.map +0 -1
  324. package/lib/network/peers/client.d.ts.map +0 -1
  325. package/lib/network/peers/datastore.d.ts.map +0 -1
  326. package/lib/network/peers/discover.d.ts.map +0 -1
  327. package/lib/network/peers/index.d.ts.map +0 -1
  328. package/lib/network/peers/peerManager.d.ts.map +0 -1
  329. package/lib/network/peers/peersData.d.ts.map +0 -1
  330. package/lib/network/peers/score/constants.d.ts.map +0 -1
  331. package/lib/network/peers/score/index.d.ts.map +0 -1
  332. package/lib/network/peers/score/interface.d.ts.map +0 -1
  333. package/lib/network/peers/score/score.d.ts.map +0 -1
  334. package/lib/network/peers/score/store.d.ts.map +0 -1
  335. package/lib/network/peers/score/utils.d.ts.map +0 -1
  336. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  337. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  338. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  339. package/lib/network/peers/utils/index.d.ts.map +0 -1
  340. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  341. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  342. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  343. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  344. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  345. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  346. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  347. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  348. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  349. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  350. package/lib/network/processor/index.d.ts.map +0 -1
  351. package/lib/network/processor/types.d.ts.map +0 -1
  352. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  353. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  354. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  355. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  356. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  357. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  358. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  359. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  360. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  361. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  362. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  363. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  364. package/lib/network/reqresp/index.d.ts.map +0 -1
  365. package/lib/network/reqresp/interface.d.ts.map +0 -1
  366. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  367. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  368. package/lib/network/reqresp/score.d.ts.map +0 -1
  369. package/lib/network/reqresp/types.d.ts.map +0 -1
  370. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  371. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  372. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  373. package/lib/network/statusCache.d.ts.map +0 -1
  374. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  375. package/lib/network/subnets/index.d.ts.map +0 -1
  376. package/lib/network/subnets/interface.d.ts.map +0 -1
  377. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  378. package/lib/network/subnets/util.d.ts.map +0 -1
  379. package/lib/network/util.d.ts.map +0 -1
  380. package/lib/node/index.d.ts.map +0 -1
  381. package/lib/node/nodejs.d.ts.map +0 -1
  382. package/lib/node/notifier.d.ts.map +0 -1
  383. package/lib/node/options.d.ts.map +0 -1
  384. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  385. package/lib/node/utils/interop/state.d.ts.map +0 -1
  386. package/lib/node/utils/lightclient.d.ts.map +0 -1
  387. package/lib/node/utils/state.d.ts.map +0 -1
  388. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  389. package/lib/sync/backfill/errors.d.ts.map +0 -1
  390. package/lib/sync/backfill/index.d.ts.map +0 -1
  391. package/lib/sync/backfill/verify.d.ts.map +0 -1
  392. package/lib/sync/constants.d.ts.map +0 -1
  393. package/lib/sync/index.d.ts.map +0 -1
  394. package/lib/sync/interface.d.ts.map +0 -1
  395. package/lib/sync/options.d.ts.map +0 -1
  396. package/lib/sync/range/batch.d.ts.map +0 -1
  397. package/lib/sync/range/chain.d.ts.map +0 -1
  398. package/lib/sync/range/range.d.ts.map +0 -1
  399. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  400. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  401. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  402. package/lib/sync/range/utils/index.d.ts.map +0 -1
  403. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  404. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  405. package/lib/sync/sync.d.ts.map +0 -1
  406. package/lib/sync/types.d.ts.map +0 -1
  407. package/lib/sync/unknownBlock.d.ts.map +0 -1
  408. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  409. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  410. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  411. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  412. package/lib/util/address.d.ts.map +0 -1
  413. package/lib/util/array.d.ts.map +0 -1
  414. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  415. package/lib/util/binarySearch.d.ts.map +0 -1
  416. package/lib/util/bitArray.d.ts.map +0 -1
  417. package/lib/util/blobs.d.ts.map +0 -1
  418. package/lib/util/bufferPool.d.ts.map +0 -1
  419. package/lib/util/bytes.d.ts.map +0 -1
  420. package/lib/util/chunkify.d.ts.map +0 -1
  421. package/lib/util/clock.d.ts.map +0 -1
  422. package/lib/util/dataColumns.d.ts.map +0 -1
  423. package/lib/util/dependentRoot.d.ts.map +0 -1
  424. package/lib/util/enum.d.ts.map +0 -1
  425. package/lib/util/error.d.ts.map +0 -1
  426. package/lib/util/eventLoop.d.ts.map +0 -1
  427. package/lib/util/execution.d.ts.map +0 -1
  428. package/lib/util/file.d.ts.map +0 -1
  429. package/lib/util/forkChoice.d.ts.map +0 -1
  430. package/lib/util/forkName.d.ts.map +0 -1
  431. package/lib/util/graffiti.d.ts.map +0 -1
  432. package/lib/util/hex.d.ts.map +0 -1
  433. package/lib/util/index.d.ts.map +0 -1
  434. package/lib/util/ip.d.ts.map +0 -1
  435. package/lib/util/itTrigger.d.ts.map +0 -1
  436. package/lib/util/kzg.d.ts.map +0 -1
  437. package/lib/util/map.d.ts.map +0 -1
  438. package/lib/util/metadata.d.ts.map +0 -1
  439. package/lib/util/multifork.d.ts.map +0 -1
  440. package/lib/util/numpy.d.ts.map +0 -1
  441. package/lib/util/peerId.d.ts.map +0 -1
  442. package/lib/util/profile.d.ts.map +0 -1
  443. package/lib/util/promises.d.ts.map +0 -1
  444. package/lib/util/queue/errors.d.ts.map +0 -1
  445. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  446. package/lib/util/queue/index.d.ts.map +0 -1
  447. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  448. package/lib/util/queue/options.d.ts.map +0 -1
  449. package/lib/util/serializedCache.d.ts.map +0 -1
  450. package/lib/util/set.d.ts.map +0 -1
  451. package/lib/util/shuffle.d.ts.map +0 -1
  452. package/lib/util/sortBy.d.ts.map +0 -1
  453. package/lib/util/sszBytes.d.ts.map +0 -1
  454. package/lib/util/strictEvents.d.ts.map +0 -1
  455. package/lib/util/time.d.ts.map +0 -1
  456. package/lib/util/timeSeries.d.ts.map +0 -1
  457. package/lib/util/types.d.ts.map +0 -1
  458. package/lib/util/workerEvents.d.ts.map +0 -1
  459. package/lib/util/wrapError.d.ts.map +0 -1
  460. package/src/api/impl/api.ts +0 -26
  461. package/src/api/impl/beacon/blocks/index.ts +0 -744
  462. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  463. package/src/api/impl/beacon/index.ts +0 -35
  464. package/src/api/impl/beacon/pool/index.ts +0 -314
  465. package/src/api/impl/beacon/rewards/index.ts +0 -30
  466. package/src/api/impl/beacon/state/index.ts +0 -406
  467. package/src/api/impl/beacon/state/utils.ts +0 -189
  468. package/src/api/impl/config/constants.ts +0 -127
  469. package/src/api/impl/config/index.ts +0 -59
  470. package/src/api/impl/debug/index.ts +0 -131
  471. package/src/api/impl/errors.ts +0 -50
  472. package/src/api/impl/events/index.ts +0 -33
  473. package/src/api/impl/index.ts +0 -6
  474. package/src/api/impl/lightclient/index.ts +0 -64
  475. package/src/api/impl/lodestar/index.ts +0 -257
  476. package/src/api/impl/node/index.ts +0 -88
  477. package/src/api/impl/node/utils.ts +0 -51
  478. package/src/api/impl/proof/index.ts +0 -60
  479. package/src/api/impl/types.ts +0 -17
  480. package/src/api/impl/utils.ts +0 -25
  481. package/src/api/impl/validator/index.ts +0 -1538
  482. package/src/api/impl/validator/utils.ts +0 -85
  483. package/src/api/index.ts +0 -2
  484. package/src/api/options.ts +0 -16
  485. package/src/api/rest/activeSockets.ts +0 -109
  486. package/src/api/rest/base.ts +0 -216
  487. package/src/api/rest/index.ts +0 -63
  488. package/src/api/rest/swaggerUI.ts +0 -80
  489. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  490. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  491. package/src/chain/GetBlobsTracker.ts +0 -115
  492. package/src/chain/archiveStore/archiveStore.ts +0 -222
  493. package/src/chain/archiveStore/constants.ts +0 -5
  494. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  495. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  496. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  497. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  498. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  499. package/src/chain/archiveStore/index.ts +0 -3
  500. package/src/chain/archiveStore/interface.ts +0 -75
  501. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  502. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  503. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  504. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  505. package/src/chain/balancesCache.ts +0 -52
  506. package/src/chain/beaconProposerCache.ts +0 -43
  507. package/src/chain/blocks/blockInput/blockInput.ts +0 -851
  508. package/src/chain/blocks/blockInput/errors.ts +0 -48
  509. package/src/chain/blocks/blockInput/index.ts +0 -4
  510. package/src/chain/blocks/blockInput/types.ts +0 -145
  511. package/src/chain/blocks/blockInput/utils.ts +0 -21
  512. package/src/chain/blocks/importBlock.ts +0 -603
  513. package/src/chain/blocks/index.ts +0 -179
  514. package/src/chain/blocks/types.ts +0 -101
  515. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  516. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  517. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  518. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  519. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  520. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  521. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  522. package/src/chain/blocks/verifyBlock.ts +0 -242
  523. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -34
  524. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  525. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  526. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  527. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  528. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  529. package/src/chain/bls/index.ts +0 -4
  530. package/src/chain/bls/interface.ts +0 -68
  531. package/src/chain/bls/maybeBatch.ts +0 -45
  532. package/src/chain/bls/multithread/index.ts +0 -582
  533. package/src/chain/bls/multithread/jobItem.ts +0 -119
  534. package/src/chain/bls/multithread/poolSize.ts +0 -16
  535. package/src/chain/bls/multithread/types.ts +0 -38
  536. package/src/chain/bls/multithread/utils.ts +0 -19
  537. package/src/chain/bls/multithread/worker.ts +0 -114
  538. package/src/chain/bls/singleThread.ts +0 -87
  539. package/src/chain/bls/utils.ts +0 -30
  540. package/src/chain/chain.ts +0 -1365
  541. package/src/chain/emitter.ts +0 -113
  542. package/src/chain/errors/attestationError.ts +0 -194
  543. package/src/chain/errors/attesterSlashingError.ts +0 -11
  544. package/src/chain/errors/blobSidecarError.ts +0 -60
  545. package/src/chain/errors/blockError.ts +0 -166
  546. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  547. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  548. package/src/chain/errors/gossipValidation.ts +0 -20
  549. package/src/chain/errors/index.ts +0 -10
  550. package/src/chain/errors/lightClientError.ts +0 -30
  551. package/src/chain/errors/proposerSlashingError.ts +0 -11
  552. package/src/chain/errors/syncCommitteeError.ts +0 -36
  553. package/src/chain/errors/voluntaryExitError.ts +0 -13
  554. package/src/chain/forkChoice/index.ts +0 -112
  555. package/src/chain/genesis/genesis.ts +0 -190
  556. package/src/chain/genesis/interface.ts +0 -14
  557. package/src/chain/index.ts +0 -6
  558. package/src/chain/initState.ts +0 -221
  559. package/src/chain/interface.ts +0 -280
  560. package/src/chain/lightClient/index.ts +0 -764
  561. package/src/chain/lightClient/proofs.ts +0 -85
  562. package/src/chain/lightClient/types.ts +0 -33
  563. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  564. package/src/chain/opPools/attestationPool.ts +0 -283
  565. package/src/chain/opPools/index.ts +0 -5
  566. package/src/chain/opPools/opPool.ts +0 -462
  567. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -167
  568. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  569. package/src/chain/opPools/types.ts +0 -35
  570. package/src/chain/opPools/utils.ts +0 -65
  571. package/src/chain/options.ts +0 -138
  572. package/src/chain/prepareNextSlot.ts +0 -277
  573. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  574. package/src/chain/produceBlock/index.ts +0 -2
  575. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  576. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  577. package/src/chain/regen/errors.ts +0 -30
  578. package/src/chain/regen/index.ts +0 -4
  579. package/src/chain/regen/interface.ts +0 -93
  580. package/src/chain/regen/queued.ts +0 -317
  581. package/src/chain/regen/regen.ts +0 -424
  582. package/src/chain/reprocess.ts +0 -161
  583. package/src/chain/rewards/attestationsRewards.ts +0 -196
  584. package/src/chain/rewards/blockRewards.ts +0 -150
  585. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  586. package/src/chain/seenCache/index.ts +0 -5
  587. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  588. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  589. package/src/chain/seenCache/seenAttesters.ts +0 -58
  590. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  591. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  592. package/src/chain/seenCache/seenCommittee.ts +0 -43
  593. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  594. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  595. package/src/chain/serializeState.ts +0 -32
  596. package/src/chain/shufflingCache.ts +0 -238
  597. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  598. package/src/chain/stateCache/datastore/db.ts +0 -36
  599. package/src/chain/stateCache/datastore/file.ts +0 -53
  600. package/src/chain/stateCache/datastore/index.ts +0 -2
  601. package/src/chain/stateCache/datastore/types.ts +0 -13
  602. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  603. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  604. package/src/chain/stateCache/index.ts +0 -3
  605. package/src/chain/stateCache/mapMetrics.ts +0 -52
  606. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -835
  607. package/src/chain/stateCache/types.ts +0 -86
  608. package/src/chain/validation/aggregateAndProof.ts +0 -258
  609. package/src/chain/validation/attestation.ts +0 -885
  610. package/src/chain/validation/attesterSlashing.ts +0 -61
  611. package/src/chain/validation/blobSidecar.ts +0 -301
  612. package/src/chain/validation/block.ts +0 -188
  613. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  614. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  615. package/src/chain/validation/index.ts +0 -9
  616. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -45
  617. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -67
  618. package/src/chain/validation/proposerSlashing.ts +0 -54
  619. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  620. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  621. package/src/chain/validation/signatureSets/index.ts +0 -6
  622. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  623. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  624. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  625. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  626. package/src/chain/validation/syncCommittee.ts +0 -165
  627. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  628. package/src/chain/validation/voluntaryExit.ts +0 -58
  629. package/src/chain/validatorMonitor.ts +0 -1299
  630. package/src/constants/constants.ts +0 -15
  631. package/src/constants/index.ts +0 -2
  632. package/src/constants/network.ts +0 -52
  633. package/src/db/beacon.ts +0 -113
  634. package/src/db/buckets.ts +0 -80
  635. package/src/db/index.ts +0 -2
  636. package/src/db/interface.ts +0 -76
  637. package/src/db/options.ts +0 -7
  638. package/src/db/repositories/attesterSlashing.ts +0 -38
  639. package/src/db/repositories/backfilledRanges.ts +0 -29
  640. package/src/db/repositories/blobSidecars.ts +0 -37
  641. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  642. package/src/db/repositories/block.ts +0 -33
  643. package/src/db/repositories/blockArchive.ts +0 -170
  644. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  645. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  646. package/src/db/repositories/checkpointState.ts +0 -31
  647. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  648. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  649. package/src/db/repositories/depositDataRoot.ts +0 -80
  650. package/src/db/repositories/depositEvent.ts +0 -32
  651. package/src/db/repositories/eth1Data.ts +0 -33
  652. package/src/db/repositories/index.ts +0 -20
  653. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  654. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  655. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  656. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  657. package/src/db/repositories/proposerSlashing.ts +0 -15
  658. package/src/db/repositories/stateArchive.ts +0 -69
  659. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  660. package/src/db/repositories/voluntaryExit.ts +0 -15
  661. package/src/db/single/index.ts +0 -2
  662. package/src/db/single/preGenesisState.ts +0 -37
  663. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  664. package/src/eth1/errors.ts +0 -40
  665. package/src/eth1/eth1DataCache.ts +0 -26
  666. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  667. package/src/eth1/eth1DepositsCache.ts +0 -141
  668. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  669. package/src/eth1/index.ts +0 -157
  670. package/src/eth1/interface.ts +0 -131
  671. package/src/eth1/options.ts +0 -28
  672. package/src/eth1/provider/eth1Provider.ts +0 -229
  673. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  674. package/src/eth1/provider/jwt.ts +0 -36
  675. package/src/eth1/provider/utils.ts +0 -136
  676. package/src/eth1/stream.ts +0 -75
  677. package/src/eth1/utils/depositContract.ts +0 -37
  678. package/src/eth1/utils/deposits.ts +0 -70
  679. package/src/eth1/utils/eth1Data.ts +0 -100
  680. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  681. package/src/eth1/utils/eth1Vote.ts +0 -142
  682. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  683. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  684. package/src/execution/builder/cache.ts +0 -39
  685. package/src/execution/builder/http.ts +0 -229
  686. package/src/execution/builder/index.ts +0 -27
  687. package/src/execution/builder/interface.ts +0 -49
  688. package/src/execution/builder/utils.ts +0 -19
  689. package/src/execution/engine/disabled.ts +0 -35
  690. package/src/execution/engine/http.ts +0 -644
  691. package/src/execution/engine/index.ts +0 -63
  692. package/src/execution/engine/interface.ts +0 -199
  693. package/src/execution/engine/mock.ts +0 -493
  694. package/src/execution/engine/payloadIdCache.ts +0 -54
  695. package/src/execution/engine/types.ts +0 -640
  696. package/src/execution/engine/utils.ts +0 -136
  697. package/src/execution/index.ts +0 -4
  698. package/src/index.ts +0 -20
  699. package/src/metrics/index.ts +0 -4
  700. package/src/metrics/metrics/beacon.ts +0 -390
  701. package/src/metrics/metrics/lodestar.ts +0 -1870
  702. package/src/metrics/metrics.ts +0 -43
  703. package/src/metrics/nodeJsMetrics.ts +0 -19
  704. package/src/metrics/options.ts +0 -22
  705. package/src/metrics/server/http.ts +0 -114
  706. package/src/metrics/server/index.ts +0 -1
  707. package/src/metrics/utils/avgMinMax.ts +0 -87
  708. package/src/metrics/utils/gauge.ts +0 -22
  709. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  710. package/src/monitoring/clientStats.ts +0 -297
  711. package/src/monitoring/index.ts +0 -2
  712. package/src/monitoring/options.ts +0 -19
  713. package/src/monitoring/properties.ts +0 -152
  714. package/src/monitoring/service.ts +0 -235
  715. package/src/monitoring/system.ts +0 -146
  716. package/src/monitoring/types.ts +0 -21
  717. package/src/network/core/events.ts +0 -59
  718. package/src/network/core/index.ts +0 -3
  719. package/src/network/core/metrics.ts +0 -304
  720. package/src/network/core/networkCore.ts +0 -599
  721. package/src/network/core/networkCoreWorker.ts +0 -176
  722. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  723. package/src/network/core/types.ts +0 -119
  724. package/src/network/discv5/index.ts +0 -132
  725. package/src/network/discv5/types.ts +0 -74
  726. package/src/network/discv5/utils.ts +0 -50
  727. package/src/network/discv5/worker.ts +0 -137
  728. package/src/network/events.ts +0 -51
  729. package/src/network/forks.ts +0 -94
  730. package/src/network/gossip/constants.ts +0 -15
  731. package/src/network/gossip/encoding.ts +0 -111
  732. package/src/network/gossip/errors.ts +0 -7
  733. package/src/network/gossip/gossipsub.ts +0 -384
  734. package/src/network/gossip/index.ts +0 -4
  735. package/src/network/gossip/interface.ts +0 -215
  736. package/src/network/gossip/metrics.ts +0 -71
  737. package/src/network/gossip/scoringParameters.ts +0 -333
  738. package/src/network/gossip/topic.ts +0 -332
  739. package/src/network/index.ts +0 -8
  740. package/src/network/interface.ts +0 -134
  741. package/src/network/libp2p/error.ts +0 -55
  742. package/src/network/libp2p/index.ts +0 -153
  743. package/src/network/metadata.ts +0 -162
  744. package/src/network/network.ts +0 -767
  745. package/src/network/networkConfig.ts +0 -12
  746. package/src/network/options.ts +0 -70
  747. package/src/network/peers/client.ts +0 -29
  748. package/src/network/peers/datastore.ts +0 -188
  749. package/src/network/peers/discover.ts +0 -647
  750. package/src/network/peers/index.ts +0 -2
  751. package/src/network/peers/peerManager.ts +0 -899
  752. package/src/network/peers/peersData.ts +0 -65
  753. package/src/network/peers/score/constants.ts +0 -34
  754. package/src/network/peers/score/index.ts +0 -4
  755. package/src/network/peers/score/interface.ts +0 -74
  756. package/src/network/peers/score/score.ts +0 -200
  757. package/src/network/peers/score/store.ts +0 -95
  758. package/src/network/peers/score/utils.ts +0 -37
  759. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  760. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  761. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  762. package/src/network/peers/utils/index.ts +0 -4
  763. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  764. package/src/network/peers/utils/subnetMap.ts +0 -88
  765. package/src/network/processor/aggregatorTracker.ts +0 -38
  766. package/src/network/processor/extractSlotRootFns.ts +0 -64
  767. package/src/network/processor/gossipHandlers.ts +0 -951
  768. package/src/network/processor/gossipQueues/index.ts +0 -114
  769. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  770. package/src/network/processor/gossipQueues/linear.ts +0 -162
  771. package/src/network/processor/gossipQueues/types.ts +0 -57
  772. package/src/network/processor/gossipValidatorFn.ts +0 -142
  773. package/src/network/processor/index.ts +0 -496
  774. package/src/network/processor/types.ts +0 -27
  775. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  776. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  777. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  778. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  779. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  780. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  781. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  782. package/src/network/reqresp/handlers/index.ts +0 -78
  783. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  784. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  785. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  786. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  787. package/src/network/reqresp/index.ts +0 -2
  788. package/src/network/reqresp/interface.ts +0 -45
  789. package/src/network/reqresp/protocols.ts +0 -146
  790. package/src/network/reqresp/rateLimit.ts +0 -112
  791. package/src/network/reqresp/score.ts +0 -70
  792. package/src/network/reqresp/types.ts +0 -174
  793. package/src/network/reqresp/utils/collect.ts +0 -84
  794. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  795. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  796. package/src/network/statusCache.ts +0 -17
  797. package/src/network/subnets/attnetsService.ts +0 -385
  798. package/src/network/subnets/index.ts +0 -2
  799. package/src/network/subnets/interface.ts +0 -66
  800. package/src/network/subnets/syncnetsService.ts +0 -147
  801. package/src/network/subnets/util.ts +0 -63
  802. package/src/network/util.ts +0 -29
  803. package/src/node/index.ts +0 -2
  804. package/src/node/nodejs.ts +0 -349
  805. package/src/node/notifier.ts +0 -206
  806. package/src/node/options.ts +0 -51
  807. package/src/node/utils/interop/deposits.ts +0 -53
  808. package/src/node/utils/interop/state.ts +0 -59
  809. package/src/node/utils/lightclient.ts +0 -7
  810. package/src/node/utils/state.ts +0 -37
  811. package/src/sync/backfill/backfill.ts +0 -893
  812. package/src/sync/backfill/errors.ts +0 -23
  813. package/src/sync/backfill/index.ts +0 -1
  814. package/src/sync/backfill/verify.ts +0 -58
  815. package/src/sync/constants.ts +0 -71
  816. package/src/sync/index.ts +0 -2
  817. package/src/sync/interface.ts +0 -55
  818. package/src/sync/options.ts +0 -45
  819. package/src/sync/range/batch.ts +0 -455
  820. package/src/sync/range/chain.ts +0 -715
  821. package/src/sync/range/range.ts +0 -354
  822. package/src/sync/range/utils/batches.ts +0 -119
  823. package/src/sync/range/utils/chainTarget.ts +0 -62
  824. package/src/sync/range/utils/hashBlocks.ts +0 -27
  825. package/src/sync/range/utils/index.ts +0 -5
  826. package/src/sync/range/utils/peerBalancer.ts +0 -184
  827. package/src/sync/range/utils/updateChains.ts +0 -66
  828. package/src/sync/sync.ts +0 -290
  829. package/src/sync/types.ts +0 -57
  830. package/src/sync/unknownBlock.ts +0 -859
  831. package/src/sync/utils/downloadByRange.ts +0 -808
  832. package/src/sync/utils/downloadByRoot.ts +0 -560
  833. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  834. package/src/sync/utils/remoteSyncType.ts +0 -144
  835. package/src/util/address.ts +0 -3
  836. package/src/util/array.ts +0 -311
  837. package/src/util/asyncIterableToEvents.ts +0 -164
  838. package/src/util/binarySearch.ts +0 -48
  839. package/src/util/bitArray.ts +0 -84
  840. package/src/util/blobs.ts +0 -210
  841. package/src/util/bufferPool.ts +0 -95
  842. package/src/util/bytes.ts +0 -11
  843. package/src/util/chunkify.ts +0 -27
  844. package/src/util/clock.ts +0 -204
  845. package/src/util/dataColumns.ts +0 -415
  846. package/src/util/dependentRoot.ts +0 -47
  847. package/src/util/enum.ts +0 -17
  848. package/src/util/error.ts +0 -56
  849. package/src/util/eventLoop.ts +0 -22
  850. package/src/util/execution.ts +0 -223
  851. package/src/util/file.ts +0 -52
  852. package/src/util/forkChoice.ts +0 -5
  853. package/src/util/forkName.ts +0 -20
  854. package/src/util/graffiti.ts +0 -39
  855. package/src/util/hex.ts +0 -9
  856. package/src/util/index.ts +0 -2
  857. package/src/util/ip.ts +0 -6
  858. package/src/util/itTrigger.ts +0 -49
  859. package/src/util/kzg.ts +0 -3
  860. package/src/util/map.ts +0 -77
  861. package/src/util/metadata.ts +0 -22
  862. package/src/util/multifork.ts +0 -69
  863. package/src/util/numpy.ts +0 -8
  864. package/src/util/peerId.ts +0 -16
  865. package/src/util/profile.ts +0 -54
  866. package/src/util/promises.ts +0 -14
  867. package/src/util/queue/errors.ts +0 -14
  868. package/src/util/queue/fnQueue.ts +0 -16
  869. package/src/util/queue/index.ts +0 -4
  870. package/src/util/queue/itemQueue.ts +0 -128
  871. package/src/util/queue/options.ts +0 -37
  872. package/src/util/serializedCache.ts +0 -20
  873. package/src/util/set.ts +0 -62
  874. package/src/util/shuffle.ts +0 -21
  875. package/src/util/sortBy.ts +0 -19
  876. package/src/util/sszBytes.ts +0 -481
  877. package/src/util/strictEvents.ts +0 -8
  878. package/src/util/time.ts +0 -13
  879. package/src/util/timeSeries.ts +0 -118
  880. package/src/util/types.ts +0 -31
  881. package/src/util/workerEvents.ts +0 -142
  882. package/src/util/wrapError.ts +0 -27
@@ -1,767 +0,0 @@
1
- import {PeerId, PrivateKey} from "@libp2p/interface";
2
- import {peerIdFromPrivateKey} from "@libp2p/peer-id";
3
- import {PeerScoreStatsDump} from "@chainsafe/libp2p-gossipsub/score";
4
- import {PublishOpts} from "@chainsafe/libp2p-gossipsub/types";
5
- import {routes} from "@lodestar/api";
6
- import {BeaconConfig} from "@lodestar/config";
7
- import {LoggerNode} from "@lodestar/logger/node";
8
- import {ForkSeq} from "@lodestar/params";
9
- import {ResponseIncoming} from "@lodestar/reqresp";
10
- import {computeEpochAtSlot, computeTimeAtSlot} from "@lodestar/state-transition";
11
- import {
12
- AttesterSlashing,
13
- LightClientBootstrap,
14
- LightClientFinalityUpdate,
15
- LightClientOptimisticUpdate,
16
- LightClientUpdate,
17
- Root,
18
- SignedAggregateAndProof,
19
- SignedBeaconBlock,
20
- SingleAttestation,
21
- SlotRootHex,
22
- SubnetID,
23
- WithBytes,
24
- altair,
25
- capella,
26
- deneb,
27
- fulu,
28
- phase0,
29
- } from "@lodestar/types";
30
- import {prettyPrintIndices, sleep} from "@lodestar/utils";
31
- import {BlockInputSource} from "../chain/blocks/blockInput/types.js";
32
- import {ChainEvent, IBeaconChain} from "../chain/index.js";
33
- import {computeSubnetForDataColumnSidecar} from "../chain/validation/dataColumnSidecar.js";
34
- import {IBeaconDb} from "../db/interface.js";
35
- import {Metrics, RegistryMetricCreator} from "../metrics/index.js";
36
- import {IClock} from "../util/clock.js";
37
- import {CustodyConfig} from "../util/dataColumns.js";
38
- import {PeerIdStr, peerIdToString} from "../util/peerId.js";
39
- import {promiseAllMaybeAsync} from "../util/promises.js";
40
- import {BeaconBlocksByRootRequest, BlobSidecarsByRootRequest, DataColumnSidecarsByRootRequest} from "../util/types.js";
41
- import {INetworkCore, NetworkCore, WorkerNetworkCore} from "./core/index.js";
42
- import {INetworkEventBus, NetworkEvent, NetworkEventBus, NetworkEventData} from "./events.js";
43
- import {getActiveForkBoundaries} from "./forks.js";
44
- import {GossipHandlers, GossipTopicMap, GossipType, GossipTypeMap} from "./gossip/index.js";
45
- import {getGossipSSZType, gossipTopicIgnoreDuplicatePublishError, stringifyGossipTopic} from "./gossip/topic.js";
46
- import {INetwork} from "./interface.js";
47
- import {NetworkOptions} from "./options.js";
48
- import {PeerAction, PeerScoreStats} from "./peers/index.js";
49
- import {PeerSyncMeta} from "./peers/peersData.js";
50
- import {AggregatorTracker} from "./processor/aggregatorTracker.js";
51
- import {NetworkProcessor, PendingGossipsubMessage} from "./processor/index.js";
52
- import {ReqRespMethod} from "./reqresp/index.js";
53
- import {GetReqRespHandlerFn, Version, requestSszTypeByMethod, responseSszTypeByMethod} from "./reqresp/types.js";
54
- import {
55
- collectExactOneTyped,
56
- collectMaxResponseTyped,
57
- collectMaxResponseTypedWithBytes,
58
- } from "./reqresp/utils/collect.js";
59
- import {collectSequentialBlocksInRange} from "./reqresp/utils/collectSequentialBlocksInRange.js";
60
- import {CommitteeSubscription} from "./subnets/index.js";
61
- import {isPublishToZeroPeersError, prettyPrintPeerIdStr} from "./util.js";
62
-
63
- type NetworkModules = {
64
- opts: NetworkOptions;
65
- privateKey: PrivateKey;
66
- config: BeaconConfig;
67
- logger: LoggerNode;
68
- chain: IBeaconChain;
69
- networkEventBus: NetworkEventBus;
70
- aggregatorTracker: AggregatorTracker;
71
- networkProcessor: NetworkProcessor;
72
- core: INetworkCore;
73
- };
74
-
75
- export type NetworkInitModules = {
76
- opts: NetworkOptions;
77
- config: BeaconConfig;
78
- privateKey: PrivateKey;
79
- peerStoreDir?: string;
80
- logger: LoggerNode;
81
- metrics: Metrics | null;
82
- chain: IBeaconChain;
83
- db: IBeaconDb;
84
- getReqRespHandler: GetReqRespHandlerFn;
85
- // Optionally pass custom GossipHandlers, for testing
86
- gossipHandlers?: GossipHandlers;
87
- };
88
-
89
- /**
90
- * Must support running both on worker and on main thread.
91
- *
92
- * Exists a front class that's what consumers interact with.
93
- * This class will multiplex between:
94
- * - libp2p in worker
95
- * - libp2p in main thread
96
- */
97
- export class Network implements INetwork {
98
- readonly peerId: PeerId;
99
- readonly custodyConfig: CustodyConfig;
100
- // TODO: Make private
101
- readonly events: INetworkEventBus;
102
-
103
- private readonly logger: LoggerNode;
104
- private readonly config: BeaconConfig;
105
- private readonly clock: IClock;
106
- private readonly chain: IBeaconChain;
107
- // Used only for sleep() statements
108
- private readonly controller: AbortController;
109
-
110
- // TODO: Review
111
- private readonly networkProcessor: NetworkProcessor;
112
- private readonly core: INetworkCore;
113
- private readonly aggregatorTracker: AggregatorTracker;
114
-
115
- private subscribedToCoreTopics = false;
116
- private connectedPeersSyncMeta = new Map<PeerIdStr, Omit<PeerSyncMeta, "peerId">>();
117
-
118
- constructor(modules: NetworkModules) {
119
- this.peerId = peerIdFromPrivateKey(modules.privateKey);
120
- this.config = modules.config;
121
- this.custodyConfig = modules.chain.custodyConfig;
122
- this.logger = modules.logger;
123
- this.chain = modules.chain;
124
- this.clock = modules.chain.clock;
125
- this.controller = new AbortController();
126
- this.events = modules.networkEventBus;
127
- this.networkProcessor = modules.networkProcessor;
128
- this.core = modules.core;
129
- this.aggregatorTracker = modules.aggregatorTracker;
130
-
131
- this.events.on(NetworkEvent.peerConnected, this.onPeerConnected);
132
- this.events.on(NetworkEvent.peerDisconnected, this.onPeerDisconnected);
133
- this.chain.emitter.on(routes.events.EventType.head, this.onHead);
134
- this.chain.emitter.on(routes.events.EventType.lightClientFinalityUpdate, ({data}) =>
135
- this.onLightClientFinalityUpdate(data)
136
- );
137
- this.chain.emitter.on(routes.events.EventType.lightClientOptimisticUpdate, ({data}) =>
138
- this.onLightClientOptimisticUpdate(data)
139
- );
140
- this.chain.emitter.on(ChainEvent.updateTargetCustodyGroupCount, this.onTargetGroupCountUpdated);
141
- this.chain.emitter.on(ChainEvent.publishDataColumns, this.onPublishDataColumns);
142
- this.chain.emitter.on(ChainEvent.publishBlobSidecars, this.onPublishBlobSidecars);
143
- this.chain.emitter.on(ChainEvent.updateStatus, this.onUpdateStatus);
144
- }
145
-
146
- static async init({
147
- opts,
148
- config,
149
- logger,
150
- metrics,
151
- chain,
152
- db,
153
- gossipHandlers,
154
- privateKey,
155
- peerStoreDir,
156
- getReqRespHandler,
157
- }: NetworkInitModules): Promise<Network> {
158
- const events = new NetworkEventBus();
159
- const aggregatorTracker = new AggregatorTracker();
160
-
161
- const activeValidatorCount = chain.getHeadState().epochCtx.currentShuffling.activeIndices.length;
162
- const initialStatus = chain.getStatus();
163
- const initialCustodyGroupCount = chain.custodyConfig.targetCustodyGroupCount;
164
-
165
- if (opts.useWorker) {
166
- logger.info("running libp2p instance in worker thread");
167
- }
168
-
169
- const core = opts.useWorker
170
- ? await WorkerNetworkCore.init({
171
- opts: {
172
- ...opts,
173
- peerStoreDir,
174
- metricsEnabled: Boolean(metrics),
175
- activeValidatorCount,
176
- genesisTime: chain.genesisTime,
177
- initialStatus,
178
- initialCustodyGroupCount,
179
- },
180
- config,
181
- privateKey,
182
- logger,
183
- events,
184
- metrics,
185
- getReqRespHandler,
186
- })
187
- : await NetworkCore.init({
188
- opts,
189
- config,
190
- privateKey,
191
- peerStoreDir,
192
- logger,
193
- clock: chain.clock,
194
- events,
195
- getReqRespHandler,
196
- metricsRegistry: metrics ? new RegistryMetricCreator() : null,
197
- initialStatus,
198
- initialCustodyGroupCount,
199
- activeValidatorCount,
200
- });
201
-
202
- const networkProcessor = new NetworkProcessor(
203
- {chain, db, config, logger, metrics, events, gossipHandlers, core, aggregatorTracker},
204
- opts
205
- );
206
-
207
- const multiaddresses = opts.localMultiaddrs?.join(",");
208
- const peerId = peerIdFromPrivateKey(privateKey);
209
- logger.info(`PeerId ${peerIdToString(peerId)}, Multiaddrs ${multiaddresses}`);
210
-
211
- return new Network({
212
- opts,
213
- privateKey,
214
- config,
215
- logger,
216
- chain,
217
- networkEventBus: events,
218
- aggregatorTracker,
219
- networkProcessor,
220
- core,
221
- });
222
- }
223
-
224
- get closed(): boolean {
225
- return this.controller.signal.aborted;
226
- }
227
-
228
- /** Destroy this instance. Can only be called once. */
229
- async close(): Promise<void> {
230
- if (this.closed) return;
231
-
232
- this.events.off(NetworkEvent.peerConnected, this.onPeerConnected);
233
- this.events.off(NetworkEvent.peerDisconnected, this.onPeerDisconnected);
234
- this.chain.emitter.off(routes.events.EventType.head, this.onHead);
235
- this.chain.emitter.off(routes.events.EventType.lightClientFinalityUpdate, this.onLightClientFinalityUpdate);
236
- this.chain.emitter.off(routes.events.EventType.lightClientOptimisticUpdate, this.onLightClientOptimisticUpdate);
237
- this.chain.emitter.off(ChainEvent.updateTargetCustodyGroupCount, this.onTargetGroupCountUpdated);
238
- this.chain.emitter.off(ChainEvent.publishDataColumns, this.onPublishDataColumns);
239
- this.chain.emitter.off(ChainEvent.updateStatus, this.onUpdateStatus);
240
- await this.core.close();
241
-
242
- // Used only for sleep() statements
243
- this.controller.abort();
244
- this.logger.debug("network core closed");
245
- }
246
-
247
- async scrapeMetrics(): Promise<string> {
248
- return this.core.scrapeMetrics();
249
- }
250
-
251
- /**
252
- * Request att subnets up `toSlot`. Network will ensure to mantain some peers for each
253
- */
254
- async prepareBeaconCommitteeSubnets(subscriptions: CommitteeSubscription[]): Promise<void> {
255
- for (const subscription of subscriptions) {
256
- if (subscription.isAggregator) {
257
- this.aggregatorTracker.addAggregator(subscription.subnet, subscription.slot);
258
- }
259
- }
260
- this.aggregatorTracker.prune();
261
-
262
- return this.core.prepareBeaconCommitteeSubnets(subscriptions);
263
- }
264
-
265
- async prepareSyncCommitteeSubnets(subscriptions: CommitteeSubscription[]): Promise<void> {
266
- return this.core.prepareSyncCommitteeSubnets(subscriptions);
267
- }
268
-
269
- /**
270
- * The app layer needs to refresh the status of some peers. The sync have reached a target
271
- */
272
- async reStatusPeers(peers: PeerIdStr[]): Promise<void> {
273
- return this.core.reStatusPeers(peers);
274
- }
275
-
276
- searchUnknownSlotRoot(slotRoot: SlotRootHex, source: BlockInputSource, peer?: PeerIdStr): void {
277
- this.networkProcessor.searchUnknownSlotRoot(slotRoot, source, peer);
278
- }
279
-
280
- async reportPeer(peer: PeerIdStr, action: PeerAction, actionName: string): Promise<void> {
281
- return this.core.reportPeer(peer, action, actionName);
282
- }
283
-
284
- // REST API queries
285
- getConnectedPeers(): PeerIdStr[] {
286
- return Array.from(this.connectedPeersSyncMeta.keys());
287
- }
288
-
289
- getConnectedPeerSyncMeta(peerId: PeerIdStr): PeerSyncMeta {
290
- const syncMeta = this.connectedPeersSyncMeta.get(peerId);
291
- if (!syncMeta) {
292
- throw new Error(`peerId=${prettyPrintPeerIdStr(peerId)} not in connectedPeerSyncMeta`);
293
- }
294
- return {peerId, ...syncMeta};
295
- }
296
-
297
- getConnectedPeerCount(): number {
298
- return this.connectedPeersSyncMeta.size;
299
- }
300
-
301
- async getNetworkIdentity(): Promise<routes.node.NetworkIdentity> {
302
- return this.core.getNetworkIdentity();
303
- }
304
-
305
- /**
306
- * Subscribe to all gossip events. Safe to call multiple times
307
- */
308
- async subscribeGossipCoreTopics(): Promise<void> {
309
- if (!this.subscribedToCoreTopics) {
310
- await this.core.subscribeGossipCoreTopics();
311
- // Only mark subscribedToCoreTopics if worker resolved this call
312
- this.subscribedToCoreTopics = true;
313
- }
314
- }
315
-
316
- /**
317
- * Unsubscribe from all gossip events. Safe to call multiple times
318
- */
319
- async unsubscribeGossipCoreTopics(): Promise<void> {
320
- // Drop all the gossip validation queues
321
- this.networkProcessor.dropAllJobs();
322
-
323
- await this.core.unsubscribeGossipCoreTopics();
324
- this.subscribedToCoreTopics = false;
325
- }
326
-
327
- isSubscribedToGossipCoreTopics(): boolean {
328
- return this.subscribedToCoreTopics;
329
- }
330
-
331
- shouldAggregate(subnet: SubnetID, slot: number): boolean {
332
- return this.aggregatorTracker.shouldAggregate(subnet, slot);
333
- }
334
-
335
- // Gossip
336
-
337
- async publishBeaconBlock(signedBlock: SignedBeaconBlock): Promise<number> {
338
- const epoch = computeEpochAtSlot(signedBlock.message.slot);
339
- const boundary = this.config.getForkBoundaryAtEpoch(epoch);
340
-
341
- return this.publishGossip<GossipType.beacon_block>({type: GossipType.beacon_block, boundary}, signedBlock, {
342
- ignoreDuplicatePublishError: true,
343
- });
344
- }
345
-
346
- async publishBlobSidecar(blobSidecar: deneb.BlobSidecar): Promise<number> {
347
- const epoch = computeEpochAtSlot(blobSidecar.signedBlockHeader.message.slot);
348
- const boundary = this.config.getForkBoundaryAtEpoch(epoch);
349
-
350
- const subnet = blobSidecar.index;
351
-
352
- return this.publishGossip<GossipType.blob_sidecar>({type: GossipType.blob_sidecar, boundary, subnet}, blobSidecar, {
353
- ignoreDuplicatePublishError: true,
354
- });
355
- }
356
-
357
- async publishDataColumnSidecar(dataColumnSidecar: fulu.DataColumnSidecar): Promise<number> {
358
- const epoch = computeEpochAtSlot(dataColumnSidecar.signedBlockHeader.message.slot);
359
- const boundary = this.config.getForkBoundaryAtEpoch(epoch);
360
-
361
- const subnet = computeSubnetForDataColumnSidecar(this.config, dataColumnSidecar);
362
- return this.publishGossip<GossipType.data_column_sidecar>(
363
- {type: GossipType.data_column_sidecar, boundary, subnet},
364
- dataColumnSidecar,
365
- {
366
- ignoreDuplicatePublishError: true,
367
- // we ensure having all topic peers via prioritizePeers() function
368
- // in the worse case, if there is 0 peer on the topic, the overall publish operation could be still a success
369
- // because supernode will rebuild and publish missing data column sidecars for us
370
- // hence we want to track sent peers as 0 instead of an error
371
- allowPublishToZeroTopicPeers: true,
372
- }
373
- );
374
- }
375
-
376
- async publishBeaconAggregateAndProof(aggregateAndProof: SignedAggregateAndProof): Promise<number> {
377
- const epoch = computeEpochAtSlot(aggregateAndProof.message.aggregate.data.slot);
378
- const boundary = this.config.getForkBoundaryAtEpoch(epoch);
379
-
380
- return this.publishGossip<GossipType.beacon_aggregate_and_proof>(
381
- {type: GossipType.beacon_aggregate_and_proof, boundary},
382
- aggregateAndProof,
383
- {ignoreDuplicatePublishError: true}
384
- );
385
- }
386
-
387
- async publishBeaconAttestation(attestation: SingleAttestation, subnet: SubnetID): Promise<number> {
388
- const epoch = computeEpochAtSlot(attestation.data.slot);
389
- const boundary = this.config.getForkBoundaryAtEpoch(epoch);
390
-
391
- return this.publishGossip<GossipType.beacon_attestation>(
392
- {type: GossipType.beacon_attestation, boundary, subnet},
393
- attestation,
394
- {ignoreDuplicatePublishError: true}
395
- );
396
- }
397
-
398
- async publishVoluntaryExit(voluntaryExit: phase0.SignedVoluntaryExit): Promise<number> {
399
- const epoch = voluntaryExit.message.epoch;
400
- const boundary = this.config.getForkBoundaryAtEpoch(epoch);
401
-
402
- return this.publishGossip<GossipType.voluntary_exit>({type: GossipType.voluntary_exit, boundary}, voluntaryExit, {
403
- ignoreDuplicatePublishError: true,
404
- });
405
- }
406
-
407
- async publishBlsToExecutionChange(blsToExecutionChange: capella.SignedBLSToExecutionChange): Promise<number> {
408
- const publishChanges = [];
409
- for (const boundary of getActiveForkBoundaries(this.config, this.clock.currentEpoch)) {
410
- const fork = ForkSeq[boundary.fork];
411
-
412
- if (fork >= ForkSeq.capella) {
413
- const publishPromise = this.publishGossip<GossipType.bls_to_execution_change>(
414
- {type: GossipType.bls_to_execution_change, boundary},
415
- blsToExecutionChange,
416
- {ignoreDuplicatePublishError: true}
417
- );
418
- publishChanges.push(publishPromise);
419
- }
420
- }
421
-
422
- if (publishChanges.length === 0) {
423
- throw Error("No capella+ fork active yet to publish blsToExecutionChange");
424
- }
425
- return Promise.any(publishChanges);
426
- }
427
-
428
- async publishProposerSlashing(proposerSlashing: phase0.ProposerSlashing): Promise<number> {
429
- const epoch = computeEpochAtSlot(Number(proposerSlashing.signedHeader1.message.slot as bigint));
430
- const boundary = this.config.getForkBoundaryAtEpoch(epoch);
431
-
432
- return this.publishGossip<GossipType.proposer_slashing>(
433
- {type: GossipType.proposer_slashing, boundary},
434
- proposerSlashing
435
- );
436
- }
437
-
438
- async publishAttesterSlashing(attesterSlashing: AttesterSlashing): Promise<number> {
439
- const epoch = computeEpochAtSlot(Number(attesterSlashing.attestation1.data.slot as bigint));
440
- const boundary = this.config.getForkBoundaryAtEpoch(epoch);
441
-
442
- return this.publishGossip<GossipType.attester_slashing>(
443
- {type: GossipType.attester_slashing, boundary},
444
- attesterSlashing
445
- );
446
- }
447
-
448
- async publishSyncCommitteeSignature(signature: altair.SyncCommitteeMessage, subnet: SubnetID): Promise<number> {
449
- const epoch = computeEpochAtSlot(signature.slot);
450
- const boundary = this.config.getForkBoundaryAtEpoch(epoch);
451
-
452
- return this.publishGossip<GossipType.sync_committee>(
453
- {type: GossipType.sync_committee, boundary, subnet},
454
- signature,
455
- {
456
- ignoreDuplicatePublishError: true,
457
- }
458
- );
459
- }
460
-
461
- async publishContributionAndProof(contributionAndProof: altair.SignedContributionAndProof): Promise<number> {
462
- const epoch = computeEpochAtSlot(contributionAndProof.message.contribution.slot);
463
- const boundary = this.config.getForkBoundaryAtEpoch(epoch);
464
-
465
- return this.publishGossip<GossipType.sync_committee_contribution_and_proof>(
466
- {type: GossipType.sync_committee_contribution_and_proof, boundary},
467
- contributionAndProof,
468
- {ignoreDuplicatePublishError: true}
469
- );
470
- }
471
-
472
- async publishLightClientFinalityUpdate(update: LightClientFinalityUpdate): Promise<number> {
473
- const epoch = computeEpochAtSlot(update.signatureSlot);
474
- const boundary = this.config.getForkBoundaryAtEpoch(epoch);
475
-
476
- return this.publishGossip<GossipType.light_client_finality_update>(
477
- {type: GossipType.light_client_finality_update, boundary},
478
- update
479
- );
480
- }
481
-
482
- async publishLightClientOptimisticUpdate(update: LightClientOptimisticUpdate): Promise<number> {
483
- const epoch = computeEpochAtSlot(update.signatureSlot);
484
- const boundary = this.config.getForkBoundaryAtEpoch(epoch);
485
-
486
- return this.publishGossip<GossipType.light_client_optimistic_update>(
487
- {type: GossipType.light_client_optimistic_update, boundary},
488
- update
489
- );
490
- }
491
-
492
- private async publishGossip<K extends GossipType>(
493
- topic: GossipTopicMap[K],
494
- object: GossipTypeMap[K],
495
- opts?: PublishOpts | undefined
496
- ): Promise<number> {
497
- const topicStr = stringifyGossipTopic(this.config, topic);
498
- const sszType = getGossipSSZType(topic);
499
- const messageData = (sszType.serialize as (object: GossipTypeMap[GossipType]) => Uint8Array)(object);
500
- opts = {
501
- ...opts,
502
- ignoreDuplicatePublishError: gossipTopicIgnoreDuplicatePublishError[topic.type],
503
- };
504
- const sentPeers = await this.core.publishGossip(topicStr, messageData, opts);
505
-
506
- this.logger.verbose("Publish to topic", {topic: topicStr, sentPeers, currentSlot: this.clock.currentSlot});
507
- return sentPeers;
508
- }
509
-
510
- // ReqResp
511
-
512
- async sendBeaconBlocksByRange(
513
- peerId: PeerIdStr,
514
- request: phase0.BeaconBlocksByRangeRequest
515
- ): Promise<WithBytes<SignedBeaconBlock>[]> {
516
- return collectSequentialBlocksInRange(
517
- this.sendReqRespRequest(
518
- peerId,
519
- ReqRespMethod.BeaconBlocksByRange,
520
- // Before altair, prioritize V2. After altair only request V2
521
- this.config.getForkSeq(this.clock.currentSlot) >= ForkSeq.altair ? [Version.V2] : [Version.V2, Version.V1],
522
- request
523
- ),
524
- request
525
- );
526
- }
527
-
528
- async sendBeaconBlocksByRoot(
529
- peerId: PeerIdStr,
530
- request: BeaconBlocksByRootRequest
531
- ): Promise<WithBytes<SignedBeaconBlock>[]> {
532
- return collectMaxResponseTypedWithBytes(
533
- this.sendReqRespRequest(
534
- peerId,
535
- ReqRespMethod.BeaconBlocksByRoot,
536
- // Before altair, prioritize V2. After altair only request V2
537
- this.config.getForkSeq(this.clock.currentSlot) >= ForkSeq.altair ? [Version.V2] : [Version.V2, Version.V1],
538
- request
539
- ),
540
- request.length,
541
- responseSszTypeByMethod[ReqRespMethod.BeaconBlocksByRoot]
542
- );
543
- }
544
-
545
- async sendLightClientBootstrap(peerId: PeerIdStr, request: Root): Promise<LightClientBootstrap> {
546
- return collectExactOneTyped(
547
- this.sendReqRespRequest(peerId, ReqRespMethod.LightClientBootstrap, [Version.V1], request),
548
- responseSszTypeByMethod[ReqRespMethod.LightClientBootstrap]
549
- );
550
- }
551
-
552
- async sendLightClientOptimisticUpdate(peerId: PeerIdStr): Promise<LightClientOptimisticUpdate> {
553
- return collectExactOneTyped(
554
- this.sendReqRespRequest(peerId, ReqRespMethod.LightClientOptimisticUpdate, [Version.V1], null),
555
- responseSszTypeByMethod[ReqRespMethod.LightClientOptimisticUpdate]
556
- );
557
- }
558
-
559
- async sendLightClientFinalityUpdate(peerId: PeerIdStr): Promise<LightClientFinalityUpdate> {
560
- return collectExactOneTyped(
561
- this.sendReqRespRequest(peerId, ReqRespMethod.LightClientFinalityUpdate, [Version.V1], null),
562
- responseSszTypeByMethod[ReqRespMethod.LightClientFinalityUpdate]
563
- );
564
- }
565
-
566
- async sendLightClientUpdatesByRange(
567
- peerId: PeerIdStr,
568
- request: altair.LightClientUpdatesByRange
569
- ): Promise<LightClientUpdate[]> {
570
- return collectMaxResponseTyped(
571
- this.sendReqRespRequest(peerId, ReqRespMethod.LightClientUpdatesByRange, [Version.V1], request),
572
- request.count,
573
- responseSszTypeByMethod[ReqRespMethod.LightClientUpdatesByRange]
574
- );
575
- }
576
-
577
- async sendBlobSidecarsByRange(
578
- peerId: PeerIdStr,
579
- request: deneb.BlobSidecarsByRangeRequest
580
- ): Promise<deneb.BlobSidecar[]> {
581
- const epoch = computeEpochAtSlot(request.startSlot);
582
- return collectMaxResponseTyped(
583
- this.sendReqRespRequest(peerId, ReqRespMethod.BlobSidecarsByRange, [Version.V1], request),
584
- // request's count represent the slots, so the actual max count received could be slots * blobs per slot
585
- request.count * this.config.getMaxBlobsPerBlock(epoch),
586
- responseSszTypeByMethod[ReqRespMethod.BlobSidecarsByRange]
587
- );
588
- }
589
-
590
- async sendBlobSidecarsByRoot(peerId: PeerIdStr, request: BlobSidecarsByRootRequest): Promise<deneb.BlobSidecar[]> {
591
- return collectMaxResponseTyped(
592
- this.sendReqRespRequest(peerId, ReqRespMethod.BlobSidecarsByRoot, [Version.V1], request),
593
- request.length,
594
- responseSszTypeByMethod[ReqRespMethod.BlobSidecarsByRoot]
595
- );
596
- }
597
-
598
- async sendDataColumnSidecarsByRange(
599
- peerId: PeerIdStr,
600
- request: fulu.DataColumnSidecarsByRangeRequest
601
- ): Promise<fulu.DataColumnSidecar[]> {
602
- return collectMaxResponseTyped(
603
- this.sendReqRespRequest(peerId, ReqRespMethod.DataColumnSidecarsByRange, [Version.V1], request),
604
- request.count * request.columns.length,
605
- responseSszTypeByMethod[ReqRespMethod.DataColumnSidecarsByRange]
606
- );
607
- }
608
-
609
- async sendDataColumnSidecarsByRoot(
610
- peerId: PeerIdStr,
611
- request: DataColumnSidecarsByRootRequest
612
- ): Promise<fulu.DataColumnSidecar[]> {
613
- return collectMaxResponseTyped(
614
- this.sendReqRespRequest(peerId, ReqRespMethod.DataColumnSidecarsByRoot, [Version.V1], request),
615
- request.reduce((total, {columns}) => total + columns.length, 0),
616
- responseSszTypeByMethod[ReqRespMethod.DataColumnSidecarsByRoot]
617
- );
618
- }
619
-
620
- private sendReqRespRequest<Req>(
621
- peerId: PeerIdStr,
622
- method: ReqRespMethod,
623
- versions: number[],
624
- request: Req
625
- ): AsyncIterable<ResponseIncoming> {
626
- const fork = this.config.getForkName(this.clock.currentSlot);
627
- const requestType = requestSszTypeByMethod(fork, this.config)[method];
628
- const requestData = requestType ? requestType.serialize(request as never) : new Uint8Array();
629
-
630
- // ReqResp outgoing request, emit from main thread to worker
631
- return this.core.sendReqRespRequest({peerId, method, versions, requestData});
632
- }
633
-
634
- // Debug
635
-
636
- connectToPeer(peer: string, multiaddr: string[]): Promise<void> {
637
- return this.core.connectToPeer(peer, multiaddr);
638
- }
639
-
640
- disconnectPeer(peer: string): Promise<void> {
641
- return this.core.disconnectPeer(peer);
642
- }
643
-
644
- dumpPeer(peerIdStr: string): Promise<routes.lodestar.LodestarNodePeer | undefined> {
645
- return this.core.dumpPeer(peerIdStr);
646
- }
647
-
648
- dumpPeers(): Promise<routes.lodestar.LodestarNodePeer[]> {
649
- return this.core.dumpPeers();
650
- }
651
-
652
- dumpPeerScoreStats(): Promise<PeerScoreStats> {
653
- return this.core.dumpPeerScoreStats();
654
- }
655
-
656
- dumpGossipPeerScoreStats(): Promise<PeerScoreStatsDump> {
657
- return this.core.dumpGossipPeerScoreStats();
658
- }
659
-
660
- dumpDiscv5KadValues(): Promise<string[]> {
661
- return this.core.dumpDiscv5KadValues();
662
- }
663
-
664
- dumpMeshPeers(): Promise<Record<string, string[]>> {
665
- return this.core.dumpMeshPeers();
666
- }
667
-
668
- async dumpGossipQueue(gossipType: GossipType): Promise<PendingGossipsubMessage[]> {
669
- return this.networkProcessor.dumpGossipQueue(gossipType);
670
- }
671
-
672
- async writeNetworkThreadProfile(durationMs: number, dirpath: string): Promise<string> {
673
- return this.core.writeNetworkThreadProfile(durationMs, dirpath);
674
- }
675
-
676
- async writeDiscv5Profile(durationMs: number, dirpath: string): Promise<string> {
677
- return this.core.writeDiscv5Profile(durationMs, dirpath);
678
- }
679
-
680
- async writeNetworkHeapSnapshot(prefix: string, dirpath: string): Promise<string> {
681
- return this.core.writeNetworkHeapSnapshot(prefix, dirpath);
682
- }
683
-
684
- async writeDiscv5HeapSnapshot(prefix: string, dirpath: string): Promise<string> {
685
- return this.core.writeDiscv5HeapSnapshot(prefix, dirpath);
686
- }
687
-
688
- private onLightClientFinalityUpdate = async (finalityUpdate: LightClientFinalityUpdate): Promise<void> => {
689
- // TODO: Review is OK to remove if (this.hasAttachedSyncCommitteeMember())
690
-
691
- try {
692
- // messages SHOULD be broadcast after one-third of slot has transpired
693
- // https://github.com/ethereum/consensus-specs/blob/dev/specs/altair/light-client/p2p-interface.md#sync-committee
694
- await this.waitOneThirdOfSlot(finalityUpdate.signatureSlot);
695
- await this.publishLightClientFinalityUpdate(finalityUpdate);
696
- } catch (e) {
697
- // Non-mandatory route on most of network as of Oct 2022. May not have found any peers on topic yet
698
- // Remove once https://github.com/ChainSafe/js-libp2p-gossipsub/issues/367
699
- if (!isPublishToZeroPeersError(e as Error)) {
700
- this.logger.debug("Error on BeaconGossipHandler.onLightclientFinalityUpdate", {}, e as Error);
701
- }
702
- }
703
- };
704
-
705
- private onLightClientOptimisticUpdate = async (optimisticUpdate: LightClientOptimisticUpdate): Promise<void> => {
706
- // TODO: Review is OK to remove if (this.hasAttachedSyncCommitteeMember())
707
-
708
- try {
709
- // messages SHOULD be broadcast after one-third of slot has transpired
710
- // https://github.com/ethereum/consensus-specs/blob/dev/specs/altair/light-client/p2p-interface.md#sync-committee
711
- await this.waitOneThirdOfSlot(optimisticUpdate.signatureSlot);
712
- await this.publishLightClientOptimisticUpdate(optimisticUpdate);
713
- } catch (e) {
714
- // Non-mandatory route on most of network as of Oct 2022. May not have found any peers on topic yet
715
- // Remove once https://github.com/ChainSafe/js-libp2p-gossipsub/issues/367
716
- if (!isPublishToZeroPeersError(e as Error)) {
717
- this.logger.debug("Error on BeaconGossipHandler.onLightclientOptimisticUpdate", {}, e as Error);
718
- }
719
- }
720
- };
721
-
722
- private waitOneThirdOfSlot = async (slot: number): Promise<void> => {
723
- const secAtSlot = computeTimeAtSlot(this.config, slot + 1 / 3, this.chain.genesisTime);
724
- const msToSlot = secAtSlot * 1000 - Date.now();
725
- await sleep(msToSlot, this.controller.signal);
726
- };
727
-
728
- private onHead = async (): Promise<void> => {
729
- await this.onUpdateStatus();
730
- };
731
-
732
- private onPeerConnected = (data: NetworkEventData[NetworkEvent.peerConnected]): void => {
733
- const {peer, clientAgent, custodyColumns, status} = data;
734
- const earliestAvailableSlot = (status as fulu.Status).earliestAvailableSlot;
735
- this.logger.verbose("onPeerConnected", {
736
- peer,
737
- clientAgent,
738
- custodyColumns: prettyPrintIndices(custodyColumns),
739
- earliestAvailableSlot: earliestAvailableSlot ?? "pre-fulu",
740
- });
741
- this.connectedPeersSyncMeta.set(peer, {
742
- client: clientAgent,
743
- custodyColumns,
744
- earliestAvailableSlot, // can be undefined pre-fulu
745
- });
746
- };
747
-
748
- private onPeerDisconnected = (data: NetworkEventData[NetworkEvent.peerDisconnected]): void => {
749
- this.connectedPeersSyncMeta.delete(data.peer);
750
- };
751
-
752
- private onTargetGroupCountUpdated = (count: number): void => {
753
- this.core.setTargetGroupCount(count);
754
- };
755
-
756
- private onPublishDataColumns = (sidecars: fulu.DataColumnSidecar[]): Promise<number[]> => {
757
- return promiseAllMaybeAsync(sidecars.map((sidecar) => () => this.publishDataColumnSidecar(sidecar)));
758
- };
759
-
760
- private onPublishBlobSidecars = (sidecars: deneb.BlobSidecar[]): Promise<number[]> => {
761
- return promiseAllMaybeAsync(sidecars.map((sidecar) => () => this.publishBlobSidecar(sidecar)));
762
- };
763
-
764
- private onUpdateStatus = async (): Promise<void> => {
765
- await this.core.updateStatus(this.chain.getStatus());
766
- };
767
- }