@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,496 +0,0 @@
1
- import {routes} from "@lodestar/api";
2
- import {ForkSeq} from "@lodestar/params";
3
- import {computeStartSlotAtEpoch} from "@lodestar/state-transition";
4
- import {RootHex, Slot, SlotRootHex} from "@lodestar/types";
5
- import {Logger, MapDef, mapValues, pruneSetToMax, sleep} from "@lodestar/utils";
6
- import {BlockInputSource} from "../../chain/blocks/blockInput/types.js";
7
- import {ChainEvent} from "../../chain/emitter.js";
8
- import {GossipErrorCode} from "../../chain/errors/gossipValidation.js";
9
- import {IBeaconChain} from "../../chain/interface.js";
10
- import {IBeaconDb} from "../../db/interface.js";
11
- import {Metrics} from "../../metrics/metrics.js";
12
- import {ClockEvent} from "../../util/clock.js";
13
- import {callInNextEventLoop} from "../../util/eventLoop.js";
14
- import {PeerIdStr} from "../../util/peerId.js";
15
- import {NetworkEvent, NetworkEventBus} from "../events.js";
16
- import {
17
- GossipHandlers,
18
- GossipMessageInfo,
19
- GossipType,
20
- GossipValidatorBatchFn,
21
- GossipValidatorFn,
22
- } from "../gossip/interface.js";
23
- import {createExtractBlockSlotRootFns} from "./extractSlotRootFns.js";
24
- import {GossipHandlerOpts, ValidatorFnsModules, getGossipHandlers} from "./gossipHandlers.js";
25
- import {createGossipQueues} from "./gossipQueues/index.js";
26
- import {ValidatorFnModules, getGossipValidatorBatchFn, getGossipValidatorFn} from "./gossipValidatorFn.js";
27
- import {PendingGossipsubMessage} from "./types.js";
28
-
29
- export * from "./types.js";
30
-
31
- export type NetworkProcessorModules = ValidatorFnsModules &
32
- ValidatorFnModules & {
33
- chain: IBeaconChain;
34
- db: IBeaconDb;
35
- events: NetworkEventBus;
36
- logger: Logger;
37
- metrics: Metrics | null;
38
- // Optionally pass custom GossipHandlers, for testing
39
- gossipHandlers?: GossipHandlers;
40
- };
41
-
42
- export type NetworkProcessorOpts = GossipHandlerOpts & {
43
- maxGossipTopicConcurrency?: number;
44
- };
45
-
46
- /**
47
- * Keep up to 3 slot of unknown roots, so we don't always emit to UnknownBlock sync.
48
- */
49
- const MAX_UNKNOWN_ROOTS_SLOT_CACHE_SIZE = 3;
50
-
51
- /**
52
- * This is respective to gossipsub seenTTL (which is 550 * 0.7 = 385s), also it's respective
53
- * to beacon_attestation ATTESTATION_PROPAGATION_SLOT_RANGE (32 slots).
54
- * If message slots are within this window, it'll likely to be filtered by gossipsub seenCache.
55
- * This is mainly for DOS protection, see https://github.com/ChainSafe/lodestar/issues/5393
56
- */
57
- const DEFAULT_EARLIEST_PERMISSIBLE_SLOT_DISTANCE = 32;
58
-
59
- type WorkOpts = {
60
- bypassQueue?: boolean;
61
- };
62
-
63
- /**
64
- * True if we want to process gossip object immediately, false if we check for bls and regen
65
- * in order to process the gossip object.
66
- */
67
- const executeGossipWorkOrderObj: Record<GossipType, WorkOpts> = {
68
- [GossipType.beacon_block]: {bypassQueue: true},
69
- [GossipType.blob_sidecar]: {bypassQueue: true},
70
- [GossipType.data_column_sidecar]: {bypassQueue: true},
71
- [GossipType.beacon_aggregate_and_proof]: {},
72
- [GossipType.voluntary_exit]: {},
73
- [GossipType.bls_to_execution_change]: {},
74
- [GossipType.beacon_attestation]: {},
75
- [GossipType.proposer_slashing]: {},
76
- [GossipType.attester_slashing]: {},
77
- [GossipType.sync_committee_contribution_and_proof]: {},
78
- [GossipType.sync_committee]: {},
79
- [GossipType.light_client_finality_update]: {},
80
- [GossipType.light_client_optimistic_update]: {},
81
- };
82
- const executeGossipWorkOrder = Object.keys(executeGossipWorkOrderObj) as (keyof typeof executeGossipWorkOrderObj)[];
83
-
84
- // TODO: Arbitrary constant, check metrics
85
- const MAX_JOBS_SUBMITTED_PER_TICK = 128;
86
-
87
- // How many attestations (aggregate + unaggregate) we keep before new ones get dropped.
88
- const MAX_QUEUED_UNKNOWN_BLOCK_GOSSIP_OBJECTS = 16_384;
89
-
90
- // We don't want to process too many attestations in a single tick
91
- // As seen on mainnet, attestation concurrency metric ranges from 1000 to 2000
92
- // so make this constant a little bit conservative
93
- const MAX_UNKNOWN_BLOCK_GOSSIP_OBJECTS_PER_TICK = 1024;
94
-
95
- // Same motivation to JobItemQueue, we don't want to block the event loop
96
- const PROCESS_UNKNOWN_BLOCK_GOSSIP_OBJECTS_YIELD_EVERY_MS = 50;
97
-
98
- /**
99
- * Reprocess reject reason for metrics
100
- */
101
- export enum ReprocessRejectReason {
102
- /**
103
- * There are too many attestations that have unknown block root.
104
- */
105
- reached_limit = "reached_limit",
106
- /**
107
- * The awaiting attestation is pruned per clock slot.
108
- */
109
- expired = "expired",
110
- }
111
-
112
- /**
113
- * Cannot accept work reason for metrics
114
- */
115
- export enum CannotAcceptWorkReason {
116
- /**
117
- * bls is busy.
118
- */
119
- bls = "bls_busy",
120
- /**
121
- * regen is busy.
122
- */
123
- regen = "regen_busy",
124
- }
125
-
126
- /**
127
- * Network processor handles the gossip queues and throtles processing to not overload the main thread
128
- * - Decides when to process work and what to process
129
- *
130
- * What triggers execute work?
131
- *
132
- * - When work is submitted
133
- * - When downstream workers become available
134
- *
135
- * ### PendingGossipsubMessage beacon_attestation example
136
- *
137
- * For attestations, processing the message includes the steps:
138
- * 1. Pre shuffling sync validation
139
- * 2. Retrieve shuffling: async + goes into the regen queue and can be expensive
140
- * 3. Pre sig validation sync validation
141
- * 4. Validate BLS signature: async + goes into workers through another manager
142
- *
143
- * The gossip queues should receive "backpressue" from the regen and BLS workers queues.
144
- * Such that enough work is processed to fill either one of the queue.
145
- */
146
- export class NetworkProcessor {
147
- private readonly chain: IBeaconChain;
148
- private readonly events: NetworkEventBus;
149
- private readonly logger: Logger;
150
- private readonly metrics: Metrics | null;
151
- private readonly gossipValidatorFn: GossipValidatorFn;
152
- private readonly gossipValidatorBatchFn: GossipValidatorBatchFn;
153
- private readonly gossipQueues: ReturnType<typeof createGossipQueues>;
154
- private readonly gossipTopicConcurrency: {[K in GossipType]: number};
155
- private readonly extractBlockSlotRootFns = createExtractBlockSlotRootFns();
156
- // we may not receive the block for Attestation and SignedAggregateAndProof messages, in that case PendingGossipsubMessage needs
157
- // to be stored in this Map and reprocessed once the block comes
158
- private readonly awaitingGossipsubMessagesByRootBySlot: MapDef<Slot, MapDef<RootHex, Set<PendingGossipsubMessage>>>;
159
- private unknownBlockGossipsubMessagesCount = 0;
160
- private unknownRootsBySlot = new MapDef<Slot, Set<RootHex>>(() => new Set());
161
-
162
- constructor(
163
- modules: NetworkProcessorModules,
164
- private readonly opts: NetworkProcessorOpts
165
- ) {
166
- const {chain, events, logger, metrics} = modules;
167
- this.chain = chain;
168
- this.events = events;
169
- this.metrics = metrics;
170
- this.logger = logger;
171
- this.events = events;
172
- this.gossipQueues = createGossipQueues();
173
- this.gossipTopicConcurrency = mapValues(this.gossipQueues, () => 0);
174
- this.gossipValidatorFn = getGossipValidatorFn(modules.gossipHandlers ?? getGossipHandlers(modules, opts), modules);
175
- this.gossipValidatorBatchFn = getGossipValidatorBatchFn(
176
- modules.gossipHandlers ?? getGossipHandlers(modules, opts),
177
- modules
178
- );
179
-
180
- events.on(NetworkEvent.pendingGossipsubMessage, this.onPendingGossipsubMessage.bind(this));
181
- this.chain.emitter.on(routes.events.EventType.block, this.onBlockProcessed.bind(this));
182
- this.chain.clock.on(ClockEvent.slot, this.onClockSlot.bind(this));
183
-
184
- this.awaitingGossipsubMessagesByRootBySlot = new MapDef(
185
- () => new MapDef<RootHex, Set<PendingGossipsubMessage>>(() => new Set())
186
- );
187
-
188
- // TODO: Implement queues and priorization for ReqResp incoming requests
189
- // Listens to NetworkEvent.reqRespIncomingRequest event
190
-
191
- if (metrics) {
192
- metrics.gossipValidationQueue.length.addCollect(() => {
193
- for (const topic of executeGossipWorkOrder) {
194
- metrics.gossipValidationQueue.length.set({topic}, this.gossipQueues[topic].length);
195
- metrics.gossipValidationQueue.keySize.set({topic}, this.gossipQueues[topic].keySize);
196
- metrics.gossipValidationQueue.concurrency.set({topic}, this.gossipTopicConcurrency[topic]);
197
- }
198
- metrics.reprocessGossipAttestations.countPerSlot.set(this.unknownBlockGossipsubMessagesCount);
199
- // specific metric for beacon_attestation topic
200
- metrics.gossipValidationQueue.keyAge.reset();
201
- for (const ageMs of this.gossipQueues.beacon_attestation.getDataAgeMs()) {
202
- metrics.gossipValidationQueue.keyAge.observe(ageMs / 1000);
203
- }
204
- });
205
- }
206
-
207
- // TODO: Pull new work when available
208
- // this.bls.onAvailable(() => this.executeWork());
209
- // this.regen.onAvailable(() => this.executeWork());
210
- }
211
-
212
- async stop(): Promise<void> {
213
- this.events.off(NetworkEvent.pendingGossipsubMessage, this.onPendingGossipsubMessage);
214
- this.chain.emitter.off(routes.events.EventType.block, this.onBlockProcessed);
215
- this.chain.emitter.off(ClockEvent.slot, this.onClockSlot);
216
- }
217
-
218
- dropAllJobs(): void {
219
- for (const topic of executeGossipWorkOrder) {
220
- this.gossipQueues[topic].clear();
221
- }
222
- }
223
-
224
- dumpGossipQueue(topic: GossipType): PendingGossipsubMessage[] {
225
- const queue = this.gossipQueues[topic];
226
- if (queue === undefined) {
227
- throw Error(`Unknown gossipType ${topic}, known values: ${Object.keys(this.gossipQueues).join(", ")}`);
228
- }
229
-
230
- return queue.getAll();
231
- }
232
-
233
- searchUnknownSlotRoot({slot, root}: SlotRootHex, source: BlockInputSource, peer?: PeerIdStr): void {
234
- if (this.chain.seenBlock(root) || this.unknownRootsBySlot.getOrDefault(slot).has(root)) {
235
- return;
236
- }
237
- // Search for the unknown block
238
- this.unknownRootsBySlot.getOrDefault(slot).add(root);
239
- this.chain.emitter.emit(ChainEvent.unknownBlockRoot, {rootHex: root, peer, source});
240
- }
241
-
242
- private onPendingGossipsubMessage(message: PendingGossipsubMessage): void {
243
- const topicType = message.topic.type;
244
- const extractBlockSlotRootFn = this.extractBlockSlotRootFns[topicType];
245
- // check block root of Attestation and SignedAggregateAndProof messages
246
- if (extractBlockSlotRootFn) {
247
- const slotRoot = extractBlockSlotRootFn(message.msg.data, message.topic.boundary.fork);
248
- // if slotRoot is null, it means the msg.data is invalid
249
- // in that case message will be rejected when deserializing data in later phase (gossipValidatorFn)
250
- if (slotRoot) {
251
- // DOS protection: avoid processing messages that are too old
252
- const {slot, root} = slotRoot;
253
- const clockSlot = this.chain.clock.currentSlot;
254
- const {fork} = message.topic.boundary;
255
- let earliestPermissableSlot = clockSlot - DEFAULT_EARLIEST_PERMISSIBLE_SLOT_DISTANCE;
256
- if (ForkSeq[fork] >= ForkSeq.deneb && topicType === GossipType.beacon_attestation) {
257
- // post deneb, the attestations could be in current or previous epoch
258
- earliestPermissableSlot = computeStartSlotAtEpoch(this.chain.clock.currentEpoch - 1);
259
- }
260
- if (slot < earliestPermissableSlot) {
261
- // TODO: Should report the dropped job to gossip? It will be eventually pruned from the mcache
262
- this.metrics?.networkProcessor.gossipValidationError.inc({
263
- topic: topicType,
264
- error: GossipErrorCode.PAST_SLOT,
265
- });
266
- return;
267
- }
268
- message.msgSlot = slot;
269
- // check if we processed a block with this root
270
- // no need to check if root is a descendant of the current finalized block, it will be checked once we validate the message if needed
271
- if (root && !this.chain.forkChoice.hasBlockHexUnsafe(root)) {
272
- this.searchUnknownSlotRoot({slot, root}, BlockInputSource.gossip, message.propagationSource.toString());
273
-
274
- if (this.unknownBlockGossipsubMessagesCount > MAX_QUEUED_UNKNOWN_BLOCK_GOSSIP_OBJECTS) {
275
- // TODO: Should report the dropped job to gossip? It will be eventually pruned from the mcache
276
- this.metrics?.reprocessGossipAttestations.reject.inc({reason: ReprocessRejectReason.reached_limit});
277
- return;
278
- }
279
-
280
- this.metrics?.reprocessGossipAttestations.total.inc();
281
- const awaitingGossipsubMessagesByRoot = this.awaitingGossipsubMessagesByRootBySlot.getOrDefault(slot);
282
- const awaitingGossipsubMessages = awaitingGossipsubMessagesByRoot.getOrDefault(root);
283
- awaitingGossipsubMessages.add(message);
284
- this.unknownBlockGossipsubMessagesCount++;
285
- return;
286
- }
287
- }
288
- }
289
-
290
- // bypass the check for other messages
291
- this.pushPendingGossipsubMessageToQueue(message);
292
- }
293
-
294
- private pushPendingGossipsubMessageToQueue(message: PendingGossipsubMessage): void {
295
- const topicType = message.topic.type;
296
- const droppedCount = this.gossipQueues[topicType].add(message);
297
- if (droppedCount) {
298
- // TODO: Should report the dropped job to gossip? It will be eventually pruned from the mcache
299
- this.metrics?.gossipValidationQueue.droppedJobs.inc({topic: message.topic.type}, droppedCount);
300
- }
301
-
302
- // Tentatively perform work
303
- this.executeWork();
304
- }
305
-
306
- private async onBlockProcessed({
307
- slot,
308
- block: rootHex,
309
- }: {
310
- slot: Slot;
311
- block: string;
312
- executionOptimistic: boolean;
313
- }): Promise<void> {
314
- const byRootGossipsubMessages = this.awaitingGossipsubMessagesByRootBySlot.getOrDefault(slot);
315
- const waitingGossipsubMessages = byRootGossipsubMessages.getOrDefault(rootHex);
316
- if (waitingGossipsubMessages.size === 0) {
317
- return;
318
- }
319
-
320
- this.metrics?.reprocessGossipAttestations.resolve.inc(waitingGossipsubMessages.size);
321
- const nowSec = Date.now() / 1000;
322
- let count = 0;
323
- // TODO: we can group attestations to process in batches but since we have the SeenAttestationDatas
324
- // cache, it may not be necessary at this time
325
- for (const message of waitingGossipsubMessages) {
326
- this.metrics?.reprocessGossipAttestations.waitSecBeforeResolve.set(nowSec - message.seenTimestampSec);
327
- this.pushPendingGossipsubMessageToQueue(message);
328
- count++;
329
- // don't want to block the event loop, worse case it'd wait for 16_084 / 1024 * 50ms = 800ms which is not a big deal
330
- if (count === MAX_UNKNOWN_BLOCK_GOSSIP_OBJECTS_PER_TICK) {
331
- count = 0;
332
- await sleep(PROCESS_UNKNOWN_BLOCK_GOSSIP_OBJECTS_YIELD_EVERY_MS);
333
- }
334
- }
335
-
336
- byRootGossipsubMessages.delete(rootHex);
337
- }
338
-
339
- private onClockSlot(clockSlot: Slot): void {
340
- const nowSec = Date.now() / 1000;
341
- for (const [slot, gossipMessagesByRoot] of this.awaitingGossipsubMessagesByRootBySlot.entries()) {
342
- if (slot < clockSlot) {
343
- for (const gossipMessages of gossipMessagesByRoot.values()) {
344
- for (const message of gossipMessages) {
345
- this.metrics?.reprocessGossipAttestations.reject.inc({reason: ReprocessRejectReason.expired});
346
- this.metrics?.reprocessGossipAttestations.waitSecBeforeReject.set(
347
- {reason: ReprocessRejectReason.expired},
348
- nowSec - message.seenTimestampSec
349
- );
350
- // TODO: Should report the dropped job to gossip? It will be eventually pruned from the mcache
351
- }
352
- }
353
- this.awaitingGossipsubMessagesByRootBySlot.delete(slot);
354
- }
355
- }
356
- pruneSetToMax(this.unknownRootsBySlot, MAX_UNKNOWN_ROOTS_SLOT_CACHE_SIZE);
357
- this.unknownBlockGossipsubMessagesCount = 0;
358
- }
359
-
360
- private executeWork(): void {
361
- // TODO: Maybe de-bounce by timing the last time executeWork was run
362
-
363
- this.metrics?.networkProcessor.executeWorkCalls.inc();
364
- let jobsSubmitted = 0;
365
-
366
- job_loop: while (jobsSubmitted < MAX_JOBS_SUBMITTED_PER_TICK) {
367
- // Check if chain can accept work before calling queue.next() since it consumes the items
368
- const reason = this.checkAcceptWork();
369
-
370
- for (const topic of executeGossipWorkOrder) {
371
- // beacon block is guaranteed to be processed immedately
372
- // reason !== null means cannot accept work
373
- if (reason !== null && !executeGossipWorkOrderObj[topic]?.bypassQueue) {
374
- this.metrics?.networkProcessor.canNotAcceptWork.inc({reason});
375
- break job_loop;
376
- }
377
- if (
378
- this.opts.maxGossipTopicConcurrency !== undefined &&
379
- this.gossipTopicConcurrency[topic] > this.opts.maxGossipTopicConcurrency
380
- ) {
381
- // Reached concurrency limit for topic, continue to next topic
382
- continue;
383
- }
384
-
385
- const item = this.gossipQueues[topic].next();
386
- const numMessages = Array.isArray(item) ? item.length : 1;
387
- if (item) {
388
- this.gossipTopicConcurrency[topic] += numMessages;
389
- this.processPendingGossipsubMessage(item)
390
- .finally(() => {
391
- this.gossipTopicConcurrency[topic] -= numMessages;
392
- })
393
- .catch((e) => this.logger.error("processGossipAttestations must not throw", {}, e));
394
-
395
- jobsSubmitted += numMessages;
396
- // Attempt to find more work, but check canAcceptWork() again and run executeGossipWorkOrder priorization
397
- continue job_loop;
398
- }
399
- }
400
-
401
- // No item of work available on all queues, break off job_loop
402
- break;
403
- }
404
-
405
- if (jobsSubmitted > 0) {
406
- this.metrics?.networkProcessor.jobsSubmitted.observe(jobsSubmitted);
407
- }
408
- }
409
-
410
- private async processPendingGossipsubMessage(
411
- messageOrArray: PendingGossipsubMessage | PendingGossipsubMessage[]
412
- ): Promise<void> {
413
- const nowSec = Date.now() / 1000;
414
- if (Array.isArray(messageOrArray)) {
415
- for (const msg of messageOrArray) {
416
- msg.startProcessUnixSec = nowSec;
417
- if (msg.queueAddedMs !== undefined) {
418
- this.metrics?.gossipValidationQueue.queueTime.observe(nowSec - msg.queueAddedMs / 1000);
419
- }
420
- }
421
- } else {
422
- // indexed queue is not used here
423
- messageOrArray.startProcessUnixSec = nowSec;
424
- }
425
-
426
- const acceptanceArr = Array.isArray(messageOrArray)
427
- ? // for beacon_attestation topic, process attestations with same attestation data
428
- // we always have msgSlot in beaccon_attestation topic so the type conversion is safe
429
- await this.gossipValidatorBatchFn(messageOrArray as GossipMessageInfo[])
430
- : [
431
- // for other topics
432
- await this.gossipValidatorFn({...messageOrArray, msgSlot: messageOrArray.msgSlot ?? null}),
433
- ];
434
-
435
- if (Array.isArray(messageOrArray)) {
436
- for (const msg of messageOrArray) {
437
- this.trackJobTime(msg, messageOrArray.length);
438
- }
439
- } else {
440
- this.trackJobTime(messageOrArray, 1);
441
- }
442
-
443
- // Use setTimeout to yield to the macro queue
444
- // This is mostly due to too many attestation messages, and a gossipsub RPC may
445
- // contain multiple of them. This helps avoid the I/O lag issue.
446
-
447
- if (Array.isArray(messageOrArray)) {
448
- for (const [i, msg] of messageOrArray.entries()) {
449
- callInNextEventLoop(() => {
450
- this.events.emit(NetworkEvent.gossipMessageValidationResult, {
451
- msgId: msg.msgId,
452
- propagationSource: msg.propagationSource,
453
- acceptance: acceptanceArr[i],
454
- });
455
- });
456
- }
457
- } else {
458
- callInNextEventLoop(() => {
459
- this.events.emit(NetworkEvent.gossipMessageValidationResult, {
460
- msgId: messageOrArray.msgId,
461
- propagationSource: messageOrArray.propagationSource,
462
- acceptance: acceptanceArr[0],
463
- });
464
- });
465
- }
466
- }
467
-
468
- private trackJobTime(message: PendingGossipsubMessage, numJob: number): void {
469
- if (message.startProcessUnixSec !== null) {
470
- this.metrics?.gossipValidationQueue.jobWaitTime.observe(
471
- {topic: message.topic.type},
472
- message.startProcessUnixSec - message.seenTimestampSec
473
- );
474
- // if it takes 64ms to process 64 jobs, the average job time is 1ms
475
- this.metrics?.gossipValidationQueue.jobTime.observe(
476
- {topic: message.topic.type},
477
- (Date.now() / 1000 - message.startProcessUnixSec) / numJob
478
- );
479
- }
480
- }
481
-
482
- /**
483
- * Return null if chain can accept work, otherwise return the reason why it cannot accept work
484
- */
485
- private checkAcceptWork(): null | CannotAcceptWorkReason {
486
- if (!this.chain.blsThreadPoolCanAcceptWork()) {
487
- return CannotAcceptWorkReason.bls;
488
- }
489
-
490
- if (!this.chain.regenCanAcceptWork()) {
491
- return CannotAcceptWorkReason.regen;
492
- }
493
-
494
- return null;
495
- }
496
- }
@@ -1,27 +0,0 @@
1
- import {Message} from "@libp2p/interface";
2
- import {ForkName} from "@lodestar/params";
3
- import {Slot, SlotOptionalRoot} from "@lodestar/types";
4
- import {PeerIdStr} from "../../util/peerId.js";
5
- import {GossipTopic, GossipType} from "../gossip/index.js";
6
-
7
- export type GossipAttestationsWork = {
8
- messages: PendingGossipsubMessage[];
9
- };
10
-
11
- export type PendingGossipsubMessage = {
12
- topic: GossipTopic;
13
- msg: Message;
14
- // only available for beacon_attestation and aggregate_and_proof
15
- msgSlot?: Slot;
16
- msgId: string;
17
- propagationSource: PeerIdStr;
18
- seenTimestampSec: number;
19
- startProcessUnixSec: number | null;
20
- // specific properties for IndexedGossipQueueMinSize, for beacon_attestation topic only
21
- indexed?: string;
22
- queueAddedMs?: number;
23
- };
24
-
25
- export type ExtractSlotRootFns = {
26
- [K in GossipType]?: (data: Uint8Array, forkName: ForkName) => SlotOptionalRoot | null;
27
- };