@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,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
- }