@lodestar/beacon-node 1.35.0-dev.91dadf81de → 1.35.0-dev.955e9f89ed

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 (1276) hide show
  1. package/lib/api/impl/config/constants.d.ts +0 -5
  2. package/lib/api/impl/config/constants.js +1 -6
  3. package/lib/api/impl/config/constants.js.map +1 -1
  4. package/lib/api/impl/debug/index.js +1 -1
  5. package/lib/api/impl/debug/index.js.map +1 -1
  6. package/lib/api/impl/errors.js +0 -2
  7. package/lib/api/impl/errors.js.map +1 -1
  8. package/lib/api/impl/index.d.ts +3 -3
  9. package/lib/api/impl/index.js +3 -3
  10. package/lib/api/impl/index.js.map +1 -1
  11. package/lib/api/impl/validator/index.js +3 -5
  12. package/lib/api/impl/validator/index.js.map +1 -1
  13. package/lib/api/rest/activeSockets.js +2 -3
  14. package/lib/api/rest/activeSockets.js.map +1 -1
  15. package/lib/api/rest/base.d.ts +1 -1
  16. package/lib/api/rest/base.js +2 -6
  17. package/lib/api/rest/base.js.map +1 -1
  18. package/lib/api/rest/index.js +0 -2
  19. package/lib/api/rest/index.js.map +1 -1
  20. package/lib/api/rest/swaggerUI.js +2 -4
  21. package/lib/api/rest/swaggerUI.js.map +1 -1
  22. package/lib/chain/ColumnReconstructionTracker.d.ts +2 -2
  23. package/lib/chain/ColumnReconstructionTracker.js +12 -34
  24. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  25. package/lib/chain/GetBlobsTracker.d.ts +2 -2
  26. package/lib/chain/GetBlobsTracker.js +8 -28
  27. package/lib/chain/GetBlobsTracker.js.map +1 -1
  28. package/lib/chain/archiveStore/archiveStore.js +38 -49
  29. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  30. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -3
  31. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  32. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  33. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  34. package/lib/chain/archiveStore/index.d.ts +1 -1
  35. package/lib/chain/archiveStore/index.js +1 -1
  36. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +0 -5
  37. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  38. package/lib/chain/balancesCache.js +3 -1
  39. package/lib/chain/balancesCache.js.map +1 -1
  40. package/lib/chain/beaconProposerCache.js +0 -1
  41. package/lib/chain/beaconProposerCache.js.map +1 -1
  42. package/lib/chain/blocks/blockInput/blockInput.js +8 -19
  43. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  44. package/lib/chain/blocks/blockInput/index.d.ts +1 -1
  45. package/lib/chain/blocks/blockInput/index.js +1 -1
  46. package/lib/chain/blocks/importBlock.js +3 -4
  47. package/lib/chain/blocks/importBlock.js.map +1 -1
  48. package/lib/chain/blocks/index.d.ts +1 -1
  49. package/lib/chain/blocks/index.js +0 -1
  50. package/lib/chain/blocks/index.js.map +1 -1
  51. package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -8
  52. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  53. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
  54. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  55. package/lib/chain/bls/multithread/index.js +163 -168
  56. package/lib/chain/bls/multithread/index.js.map +1 -1
  57. package/lib/chain/bls/singleThread.js +0 -1
  58. package/lib/chain/bls/singleThread.js.map +1 -1
  59. package/lib/chain/chain.d.ts +6 -6
  60. package/lib/chain/chain.js +20 -64
  61. package/lib/chain/chain.js.map +1 -1
  62. package/lib/chain/emitter.d.ts +2 -2
  63. package/lib/chain/emitter.js.map +1 -1
  64. package/lib/chain/errors/blockError.js +0 -1
  65. package/lib/chain/errors/blockError.js.map +1 -1
  66. package/lib/chain/errors/gossipValidation.js +0 -1
  67. package/lib/chain/errors/gossipValidation.js.map +1 -1
  68. package/lib/chain/errors/index.d.ts +2 -2
  69. package/lib/chain/errors/index.js +2 -2
  70. package/lib/chain/errors/index.js.map +1 -1
  71. package/lib/chain/forkChoice/index.js.map +1 -1
  72. package/lib/chain/genesis/genesis.js +5 -16
  73. package/lib/chain/genesis/genesis.js.map +1 -1
  74. package/lib/chain/index.d.ts +2 -2
  75. package/lib/chain/index.js +2 -2
  76. package/lib/chain/index.js.map +1 -1
  77. package/lib/chain/interface.d.ts +4 -4
  78. package/lib/chain/interface.js.map +1 -1
  79. package/lib/chain/lightClient/index.js +9 -16
  80. package/lib/chain/lightClient/index.js.map +1 -1
  81. package/lib/chain/lightClient/proofs.js.map +1 -1
  82. package/lib/chain/opPools/aggregatedAttestationPool.js +9 -14
  83. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  84. package/lib/chain/opPools/attestationPool.d.ts +3 -2
  85. package/lib/chain/opPools/attestationPool.js +7 -10
  86. package/lib/chain/opPools/attestationPool.js.map +1 -1
  87. package/lib/chain/opPools/index.d.ts +1 -1
  88. package/lib/chain/opPools/index.js +1 -1
  89. package/lib/chain/opPools/index.js.map +1 -1
  90. package/lib/chain/opPools/opPool.js +12 -10
  91. package/lib/chain/opPools/opPool.js.map +1 -1
  92. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +2 -3
  93. package/lib/chain/opPools/syncCommitteeMessagePool.js +10 -14
  94. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  95. package/lib/chain/opPools/syncContributionAndProofPool.js +2 -5
  96. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  97. package/lib/chain/opPools/types.d.ts +1 -1
  98. package/lib/chain/opPools/types.js +1 -1
  99. package/lib/chain/opPools/types.js.map +1 -1
  100. package/lib/chain/options.js +1 -1
  101. package/lib/chain/options.js.map +1 -1
  102. package/lib/chain/prepareNextSlot.d.ts +3 -3
  103. package/lib/chain/prepareNextSlot.js +140 -145
  104. package/lib/chain/prepareNextSlot.js.map +1 -1
  105. package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -1
  106. package/lib/chain/produceBlock/produceBlockBody.js +10 -3
  107. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  108. package/lib/chain/regen/errors.js +0 -1
  109. package/lib/chain/regen/errors.js.map +1 -1
  110. package/lib/chain/regen/index.d.ts +1 -1
  111. package/lib/chain/regen/index.js +1 -1
  112. package/lib/chain/regen/index.js.map +1 -1
  113. package/lib/chain/regen/queued.js +28 -35
  114. package/lib/chain/regen/queued.js.map +1 -1
  115. package/lib/chain/regen/regen.js +0 -1
  116. package/lib/chain/regen/regen.js.map +1 -1
  117. package/lib/chain/reprocess.js +1 -3
  118. package/lib/chain/reprocess.js.map +1 -1
  119. package/lib/chain/seenCache/seenAggregateAndProof.js +6 -7
  120. package/lib/chain/seenCache/seenAggregateAndProof.js.map +1 -1
  121. package/lib/chain/seenCache/seenAttestationData.js +2 -5
  122. package/lib/chain/seenCache/seenAttestationData.js.map +1 -1
  123. package/lib/chain/seenCache/seenAttesters.js +4 -2
  124. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  125. package/lib/chain/seenCache/seenBlockProposers.js +4 -2
  126. package/lib/chain/seenCache/seenBlockProposers.js.map +1 -1
  127. package/lib/chain/seenCache/seenCommittee.js +3 -1
  128. package/lib/chain/seenCache/seenCommittee.js.map +1 -1
  129. package/lib/chain/seenCache/seenCommitteeContribution.js +2 -3
  130. package/lib/chain/seenCache/seenCommitteeContribution.js.map +1 -1
  131. package/lib/chain/seenCache/seenGossipBlockInput.js +13 -20
  132. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  133. package/lib/chain/shufflingCache.js +2 -5
  134. package/lib/chain/shufflingCache.js.map +1 -1
  135. package/lib/chain/stateCache/blockStateCacheImpl.js +7 -13
  136. package/lib/chain/stateCache/blockStateCacheImpl.js.map +1 -1
  137. package/lib/chain/stateCache/datastore/db.js +0 -1
  138. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  139. package/lib/chain/stateCache/datastore/file.js +0 -1
  140. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  141. package/lib/chain/stateCache/datastore/index.d.ts +1 -1
  142. package/lib/chain/stateCache/datastore/index.js +1 -1
  143. package/lib/chain/stateCache/datastore/index.js.map +1 -1
  144. package/lib/chain/stateCache/fifoBlockStateCache.js +0 -10
  145. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  146. package/lib/chain/stateCache/inMemoryCheckpointsCache.js +4 -10
  147. package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
  148. package/lib/chain/stateCache/index.d.ts +1 -1
  149. package/lib/chain/stateCache/index.js +1 -1
  150. package/lib/chain/stateCache/index.js.map +1 -1
  151. package/lib/chain/stateCache/mapMetrics.js +4 -4
  152. package/lib/chain/stateCache/mapMetrics.js.map +1 -1
  153. package/lib/chain/stateCache/persistentCheckpointsCache.js +14 -23
  154. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  155. package/lib/chain/validation/blobSidecar.js.map +1 -1
  156. package/lib/chain/validation/dataColumnSidecar.js +1 -1
  157. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  158. package/lib/chain/validation/index.d.ts +1 -1
  159. package/lib/chain/validation/index.js +1 -1
  160. package/lib/chain/validation/index.js.map +1 -1
  161. package/lib/chain/validation/lightClientFinalityUpdate.js +3 -4
  162. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  163. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +4 -6
  164. package/lib/chain/validation/lightClientOptimisticUpdate.js +11 -11
  165. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  166. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +2 -1
  167. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  168. package/lib/chain/validatorMonitor.d.ts +3 -1
  169. package/lib/chain/validatorMonitor.js +15 -22
  170. package/lib/chain/validatorMonitor.js.map +1 -1
  171. package/lib/db/beacon.js +0 -24
  172. package/lib/db/beacon.js.map +1 -1
  173. package/lib/db/buckets.d.ts +4 -4
  174. package/lib/db/buckets.js +4 -4
  175. package/lib/db/buckets.js.map +1 -1
  176. package/lib/db/index.d.ts +1 -1
  177. package/lib/db/index.js.map +1 -1
  178. package/lib/db/repositories/blobSidecars.js +1 -1
  179. package/lib/db/repositories/blobSidecars.js.map +1 -1
  180. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  181. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  182. package/lib/db/repositories/blockArchive.js +3 -2
  183. package/lib/db/repositories/blockArchive.js.map +1 -1
  184. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  185. package/lib/db/repositories/dataColumnSidecar.js +2 -2
  186. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  187. package/lib/db/repositories/dataColumnSidecarArchive.js +2 -2
  188. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  189. package/lib/db/repositories/depositDataRoot.js +0 -1
  190. package/lib/db/repositories/depositDataRoot.js.map +1 -1
  191. package/lib/db/repositories/index.d.ts +10 -10
  192. package/lib/db/repositories/index.js +9 -9
  193. package/lib/db/repositories/index.js.map +1 -1
  194. package/lib/db/single/preGenesisState.js +0 -6
  195. package/lib/db/single/preGenesisState.js.map +1 -1
  196. package/lib/db/single/preGenesisStateLastProcessedBlock.js +0 -5
  197. package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -1
  198. package/lib/eth1/eth1DataCache.js +0 -2
  199. package/lib/eth1/eth1DataCache.js.map +1 -1
  200. package/lib/eth1/eth1DepositDataTracker.js +5 -18
  201. package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
  202. package/lib/eth1/eth1DepositsCache.js +0 -3
  203. package/lib/eth1/eth1DepositsCache.js.map +1 -1
  204. package/lib/eth1/eth1MergeBlockTracker.js +4 -10
  205. package/lib/eth1/eth1MergeBlockTracker.js.map +1 -1
  206. package/lib/eth1/index.js +0 -2
  207. package/lib/eth1/index.js.map +1 -1
  208. package/lib/eth1/provider/eth1Provider.d.ts +2 -1
  209. package/lib/eth1/provider/eth1Provider.js +2 -6
  210. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  211. package/lib/eth1/provider/jsonRpcHttpClient.d.ts +1 -1
  212. package/lib/eth1/provider/jsonRpcHttpClient.js +2 -16
  213. package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
  214. package/lib/eth1/provider/jwt.js.map +1 -1
  215. package/lib/eth1/utils/deposits.js.map +1 -1
  216. package/lib/execution/builder/cache.js +0 -6
  217. package/lib/execution/builder/cache.js.map +1 -1
  218. package/lib/execution/builder/http.js +8 -14
  219. package/lib/execution/builder/http.js.map +1 -1
  220. package/lib/execution/builder/index.js.map +1 -1
  221. package/lib/execution/engine/disabled.js +4 -2
  222. package/lib/execution/engine/disabled.js.map +1 -1
  223. package/lib/execution/engine/http.js +8 -23
  224. package/lib/execution/engine/http.js.map +1 -1
  225. package/lib/execution/engine/interface.js.map +1 -1
  226. package/lib/execution/engine/mock.d.ts +0 -1
  227. package/lib/execution/engine/mock.js +12 -16
  228. package/lib/execution/engine/mock.js.map +1 -1
  229. package/lib/execution/engine/payloadIdCache.js +3 -1
  230. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  231. package/lib/execution/engine/types.d.ts +1 -0
  232. package/lib/execution/engine/types.js.map +1 -1
  233. package/lib/execution/engine/utils.js +3 -3
  234. package/lib/execution/engine/utils.js.map +1 -1
  235. package/lib/execution/index.d.ts +2 -2
  236. package/lib/execution/index.js +2 -2
  237. package/lib/execution/index.js.map +1 -1
  238. package/lib/index.d.ts +6 -6
  239. package/lib/index.js +5 -5
  240. package/lib/index.js.map +1 -1
  241. package/lib/metrics/index.d.ts +1 -1
  242. package/lib/metrics/index.js +1 -1
  243. package/lib/metrics/index.js.map +1 -1
  244. package/lib/metrics/metrics/lodestar.d.ts +2 -7
  245. package/lib/metrics/metrics/lodestar.js +4 -13
  246. package/lib/metrics/metrics/lodestar.js.map +1 -1
  247. package/lib/metrics/metrics.d.ts +1 -1
  248. package/lib/metrics/metrics.js.map +1 -1
  249. package/lib/metrics/nodeJsMetrics.js +1 -1
  250. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  251. package/lib/metrics/server/http.d.ts +1 -1
  252. package/lib/metrics/utils/avgMinMax.d.ts +1 -1
  253. package/lib/metrics/utils/avgMinMax.js +6 -10
  254. package/lib/metrics/utils/avgMinMax.js.map +1 -1
  255. package/lib/metrics/utils/gauge.d.ts +1 -1
  256. package/lib/metrics/utils/gauge.js +4 -1
  257. package/lib/metrics/utils/gauge.js.map +1 -1
  258. package/lib/metrics/utils/registryMetricCreator.d.ts +1 -1
  259. package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
  260. package/lib/monitoring/properties.js +0 -4
  261. package/lib/monitoring/properties.js.map +1 -1
  262. package/lib/monitoring/service.js +1 -13
  263. package/lib/monitoring/service.js.map +1 -1
  264. package/lib/monitoring/system.js +27 -25
  265. package/lib/monitoring/system.js.map +1 -1
  266. package/lib/network/core/networkCore.d.ts +2 -2
  267. package/lib/network/core/networkCore.js +50 -67
  268. package/lib/network/core/networkCore.js.map +1 -1
  269. package/lib/network/core/networkCoreWorker.js +1 -1
  270. package/lib/network/core/networkCoreWorker.js.map +1 -1
  271. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -2
  272. package/lib/network/core/networkCoreWorkerHandler.js +5 -14
  273. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  274. package/lib/network/discv5/index.d.ts +2 -2
  275. package/lib/network/discv5/index.js +3 -9
  276. package/lib/network/discv5/index.js.map +1 -1
  277. package/lib/network/discv5/worker.js +3 -3
  278. package/lib/network/discv5/worker.js.map +1 -1
  279. package/lib/network/gossip/encoding.d.ts +1 -1
  280. package/lib/network/gossip/encoding.js +2 -4
  281. package/lib/network/gossip/encoding.js.map +1 -1
  282. package/lib/network/gossip/errors.js +0 -1
  283. package/lib/network/gossip/errors.js.map +1 -1
  284. package/lib/network/gossip/gossipsub.d.ts +1 -2
  285. package/lib/network/gossip/gossipsub.js +17 -43
  286. package/lib/network/gossip/gossipsub.js.map +1 -1
  287. package/lib/network/gossip/index.d.ts +2 -2
  288. package/lib/network/gossip/index.js +2 -2
  289. package/lib/network/gossip/index.js.map +1 -1
  290. package/lib/network/gossip/interface.d.ts +2 -2
  291. package/lib/network/gossip/metrics.d.ts +7 -15
  292. package/lib/network/gossip/metrics.js +6 -16
  293. package/lib/network/gossip/metrics.js.map +1 -1
  294. package/lib/network/gossip/topic.d.ts +105 -125
  295. package/lib/network/gossip/topic.js +1 -2
  296. package/lib/network/gossip/topic.js.map +1 -1
  297. package/lib/network/index.d.ts +3 -3
  298. package/lib/network/index.js +3 -3
  299. package/lib/network/index.js.map +1 -1
  300. package/lib/network/interface.d.ts +1 -1
  301. package/lib/network/libp2p/index.js +3 -11
  302. package/lib/network/libp2p/index.js.map +1 -1
  303. package/lib/network/metadata.js +1 -6
  304. package/lib/network/metadata.js.map +1 -1
  305. package/lib/network/network.d.ts +2 -2
  306. package/lib/network/network.js +77 -89
  307. package/lib/network/network.js.map +1 -1
  308. package/lib/network/peers/datastore.d.ts +2 -2
  309. package/lib/network/peers/datastore.js +4 -10
  310. package/lib/network/peers/datastore.js.map +1 -1
  311. package/lib/network/peers/discover.js +66 -75
  312. package/lib/network/peers/discover.js.map +1 -1
  313. package/lib/network/peers/peerManager.js +125 -145
  314. package/lib/network/peers/peerManager.js.map +1 -1
  315. package/lib/network/peers/peersData.js +3 -1
  316. package/lib/network/peers/peersData.js.map +1 -1
  317. package/lib/network/peers/score/index.d.ts +1 -1
  318. package/lib/network/peers/score/index.js +1 -1
  319. package/lib/network/peers/score/index.js.map +1 -1
  320. package/lib/network/peers/score/score.js +0 -6
  321. package/lib/network/peers/score/score.js.map +1 -1
  322. package/lib/network/peers/score/store.js +0 -3
  323. package/lib/network/peers/score/store.js.map +1 -1
  324. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  325. package/lib/network/peers/utils/subnetMap.js +4 -2
  326. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  327. package/lib/network/processor/aggregatorTracker.js +3 -1
  328. package/lib/network/processor/aggregatorTracker.js.map +1 -1
  329. package/lib/network/processor/gossipHandlers.js +7 -3
  330. package/lib/network/processor/gossipHandlers.js.map +1 -1
  331. package/lib/network/processor/gossipQueues/indexed.js +9 -11
  332. package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
  333. package/lib/network/processor/gossipQueues/linear.js +8 -9
  334. package/lib/network/processor/gossipQueues/linear.js.map +1 -1
  335. package/lib/network/processor/index.d.ts +1 -1
  336. package/lib/network/processor/index.js +8 -18
  337. package/lib/network/processor/index.js.map +1 -1
  338. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +1 -1
  339. package/lib/network/reqresp/ReqRespBeaconNode.js +2 -11
  340. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  341. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  342. package/lib/network/reqresp/index.d.ts +1 -1
  343. package/lib/network/reqresp/index.js +1 -1
  344. package/lib/network/reqresp/index.js.map +1 -1
  345. package/lib/network/reqresp/rateLimit.js +2 -2
  346. package/lib/network/reqresp/rateLimit.js.map +1 -1
  347. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  348. package/lib/network/statusCache.js +0 -1
  349. package/lib/network/statusCache.js.map +1 -1
  350. package/lib/network/subnets/attnetsService.js +65 -73
  351. package/lib/network/subnets/attnetsService.js.map +1 -1
  352. package/lib/network/subnets/interface.js +1 -1
  353. package/lib/network/subnets/interface.js.map +1 -1
  354. package/lib/network/subnets/syncnetsService.js +22 -29
  355. package/lib/network/subnets/syncnetsService.js.map +1 -1
  356. package/lib/network/subnets/util.js +2 -1
  357. package/lib/network/subnets/util.js.map +1 -1
  358. package/lib/node/nodejs.d.ts +1 -1
  359. package/lib/node/nodejs.js +0 -15
  360. package/lib/node/nodejs.js.map +1 -1
  361. package/lib/node/notifier.js +2 -1
  362. package/lib/node/notifier.js.map +1 -1
  363. package/lib/node/options.js.map +1 -1
  364. package/lib/node/utils/interop/state.js +2 -1
  365. package/lib/node/utils/interop/state.js.map +1 -1
  366. package/lib/sync/backfill/backfill.d.ts +1 -1
  367. package/lib/sync/backfill/backfill.js +16 -58
  368. package/lib/sync/backfill/backfill.js.map +1 -1
  369. package/lib/sync/range/batch.d.ts +2 -2
  370. package/lib/sync/range/batch.js +11 -20
  371. package/lib/sync/range/batch.js.map +1 -1
  372. package/lib/sync/range/chain.d.ts +1 -1
  373. package/lib/sync/range/chain.js +8 -33
  374. package/lib/sync/range/chain.js.map +1 -1
  375. package/lib/sync/range/range.d.ts +1 -1
  376. package/lib/sync/range/range.js +70 -76
  377. package/lib/sync/range/range.js.map +1 -1
  378. package/lib/sync/range/utils/peerBalancer.js +1 -5
  379. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  380. package/lib/sync/sync.d.ts +2 -1
  381. package/lib/sync/sync.js +85 -93
  382. package/lib/sync/sync.js.map +1 -1
  383. package/lib/sync/types.d.ts +1 -0
  384. package/lib/sync/types.js.map +1 -1
  385. package/lib/sync/unknownBlock.d.ts +1 -0
  386. package/lib/sync/unknownBlock.js +172 -181
  387. package/lib/sync/unknownBlock.js.map +1 -1
  388. package/lib/sync/utils/downloadByRange.d.ts +1 -1
  389. package/lib/sync/utils/downloadByRoot.d.ts +2 -4
  390. package/lib/sync/utils/downloadByRoot.js +9 -36
  391. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  392. package/lib/util/array.js +3 -7
  393. package/lib/util/array.js.map +1 -1
  394. package/lib/util/asyncIterableToEvents.js +3 -6
  395. package/lib/util/asyncIterableToEvents.js.map +1 -1
  396. package/lib/util/binarySearch.js +0 -2
  397. package/lib/util/binarySearch.js.map +1 -1
  398. package/lib/util/blobs.js +3 -5
  399. package/lib/util/blobs.js.map +1 -1
  400. package/lib/util/bufferPool.js +2 -7
  401. package/lib/util/bufferPool.js.map +1 -1
  402. package/lib/util/clock.d.ts +1 -6
  403. package/lib/util/clock.js +18 -26
  404. package/lib/util/clock.js.map +1 -1
  405. package/lib/util/dataColumns.d.ts +15 -9
  406. package/lib/util/dataColumns.js +29 -50
  407. package/lib/util/dataColumns.js.map +1 -1
  408. package/lib/util/execution.d.ts +3 -12
  409. package/lib/util/execution.js +13 -47
  410. package/lib/util/execution.js.map +1 -1
  411. package/lib/util/itTrigger.js +4 -4
  412. package/lib/util/itTrigger.js.map +1 -1
  413. package/lib/util/map.js +0 -2
  414. package/lib/util/map.js.map +1 -1
  415. package/lib/util/queue/index.d.ts +1 -1
  416. package/lib/util/queue/index.js +1 -1
  417. package/lib/util/queue/index.js.map +1 -1
  418. package/lib/util/queue/itemQueue.js +49 -52
  419. package/lib/util/queue/itemQueue.js.map +1 -1
  420. package/lib/util/serializedCache.js +3 -1
  421. package/lib/util/serializedCache.js.map +1 -1
  422. package/lib/util/set.js +0 -2
  423. package/lib/util/set.js.map +1 -1
  424. package/lib/util/timeSeries.js +1 -3
  425. package/lib/util/timeSeries.js.map +1 -1
  426. package/lib/util/types.d.ts +1 -1
  427. package/package.json +23 -39
  428. package/lib/api/impl/api.d.ts.map +0 -1
  429. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  430. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  431. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  432. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  433. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  434. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  435. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  436. package/lib/api/impl/config/constants.d.ts.map +0 -1
  437. package/lib/api/impl/config/index.d.ts.map +0 -1
  438. package/lib/api/impl/debug/index.d.ts.map +0 -1
  439. package/lib/api/impl/errors.d.ts.map +0 -1
  440. package/lib/api/impl/events/index.d.ts.map +0 -1
  441. package/lib/api/impl/index.d.ts.map +0 -1
  442. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  443. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  444. package/lib/api/impl/node/index.d.ts.map +0 -1
  445. package/lib/api/impl/node/utils.d.ts.map +0 -1
  446. package/lib/api/impl/proof/index.d.ts.map +0 -1
  447. package/lib/api/impl/types.d.ts.map +0 -1
  448. package/lib/api/impl/utils.d.ts.map +0 -1
  449. package/lib/api/impl/validator/index.d.ts.map +0 -1
  450. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  451. package/lib/api/index.d.ts.map +0 -1
  452. package/lib/api/options.d.ts.map +0 -1
  453. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  454. package/lib/api/rest/base.d.ts.map +0 -1
  455. package/lib/api/rest/index.d.ts.map +0 -1
  456. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  457. package/lib/bun-wrappers/prometheus-gc-stats.d.ts +0 -2
  458. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  459. package/lib/bun-wrappers/prometheus-gc-stats.js +0 -8
  460. package/lib/bun-wrappers/prometheus-gc-stats.js.map +0 -1
  461. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  462. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  463. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  464. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  465. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  466. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  467. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  468. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  469. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  470. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  471. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  472. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  473. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  474. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  475. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  476. package/lib/chain/balancesCache.d.ts.map +0 -1
  477. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  478. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  479. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  480. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  481. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  482. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  483. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  484. package/lib/chain/blocks/index.d.ts.map +0 -1
  485. package/lib/chain/blocks/types.d.ts.map +0 -1
  486. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  487. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  488. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  489. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  490. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  491. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  492. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  493. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  494. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  495. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  496. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  497. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  498. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  499. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  500. package/lib/chain/bls/index.d.ts.map +0 -1
  501. package/lib/chain/bls/interface.d.ts.map +0 -1
  502. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  503. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  504. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  505. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  506. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  507. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  508. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  509. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  510. package/lib/chain/bls/utils.d.ts.map +0 -1
  511. package/lib/chain/chain.d.ts.map +0 -1
  512. package/lib/chain/emitter.d.ts.map +0 -1
  513. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  514. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  515. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  516. package/lib/chain/errors/blockError.d.ts.map +0 -1
  517. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  518. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  519. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  520. package/lib/chain/errors/index.d.ts.map +0 -1
  521. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  522. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  523. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  524. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  525. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  526. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  527. package/lib/chain/genesis/interface.d.ts.map +0 -1
  528. package/lib/chain/index.d.ts.map +0 -1
  529. package/lib/chain/initState.d.ts.map +0 -1
  530. package/lib/chain/interface.d.ts.map +0 -1
  531. package/lib/chain/lightClient/index.d.ts.map +0 -1
  532. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  533. package/lib/chain/lightClient/types.d.ts.map +0 -1
  534. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  535. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  536. package/lib/chain/opPools/index.d.ts.map +0 -1
  537. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  538. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  539. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  540. package/lib/chain/opPools/types.d.ts.map +0 -1
  541. package/lib/chain/opPools/utils.d.ts.map +0 -1
  542. package/lib/chain/options.d.ts.map +0 -1
  543. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  544. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  545. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  546. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  547. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  548. package/lib/chain/regen/errors.d.ts.map +0 -1
  549. package/lib/chain/regen/index.d.ts.map +0 -1
  550. package/lib/chain/regen/interface.d.ts.map +0 -1
  551. package/lib/chain/regen/queued.d.ts.map +0 -1
  552. package/lib/chain/regen/regen.d.ts.map +0 -1
  553. package/lib/chain/reprocess.d.ts.map +0 -1
  554. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  555. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  556. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  557. package/lib/chain/seenCache/index.d.ts.map +0 -1
  558. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  559. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  560. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  561. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  562. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  563. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  564. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  565. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  566. package/lib/chain/serializeState.d.ts.map +0 -1
  567. package/lib/chain/shufflingCache.d.ts.map +0 -1
  568. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  569. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  570. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  571. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  572. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  573. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  574. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  575. package/lib/chain/stateCache/index.d.ts.map +0 -1
  576. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  577. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  578. package/lib/chain/stateCache/types.d.ts.map +0 -1
  579. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  580. package/lib/chain/validation/attestation.d.ts.map +0 -1
  581. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  582. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  583. package/lib/chain/validation/block.d.ts.map +0 -1
  584. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  585. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  586. package/lib/chain/validation/index.d.ts.map +0 -1
  587. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  588. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  589. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  590. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  591. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  592. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  593. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  594. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  595. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  596. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  597. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  598. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  599. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  600. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  601. package/lib/constants/constants.d.ts.map +0 -1
  602. package/lib/constants/index.d.ts.map +0 -1
  603. package/lib/constants/network.d.ts.map +0 -1
  604. package/lib/db/beacon.d.ts.map +0 -1
  605. package/lib/db/buckets.d.ts.map +0 -1
  606. package/lib/db/index.d.ts.map +0 -1
  607. package/lib/db/interface.d.ts.map +0 -1
  608. package/lib/db/options.d.ts.map +0 -1
  609. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  610. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  611. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  612. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  613. package/lib/db/repositories/block.d.ts.map +0 -1
  614. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  615. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  616. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  617. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  618. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  619. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  620. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  621. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  622. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  623. package/lib/db/repositories/index.d.ts.map +0 -1
  624. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  625. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  626. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  627. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  628. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  629. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  630. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  631. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  632. package/lib/db/single/index.d.ts.map +0 -1
  633. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  634. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  635. package/lib/eth1/errors.d.ts.map +0 -1
  636. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  637. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  638. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  639. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  640. package/lib/eth1/index.d.ts.map +0 -1
  641. package/lib/eth1/interface.d.ts.map +0 -1
  642. package/lib/eth1/options.d.ts.map +0 -1
  643. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  644. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  645. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  646. package/lib/eth1/provider/utils.d.ts.map +0 -1
  647. package/lib/eth1/stream.d.ts.map +0 -1
  648. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  649. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  650. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  651. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  652. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  653. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  654. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  655. package/lib/execution/builder/cache.d.ts.map +0 -1
  656. package/lib/execution/builder/http.d.ts.map +0 -1
  657. package/lib/execution/builder/index.d.ts.map +0 -1
  658. package/lib/execution/builder/interface.d.ts.map +0 -1
  659. package/lib/execution/builder/utils.d.ts.map +0 -1
  660. package/lib/execution/engine/disabled.d.ts.map +0 -1
  661. package/lib/execution/engine/http.d.ts.map +0 -1
  662. package/lib/execution/engine/index.d.ts.map +0 -1
  663. package/lib/execution/engine/interface.d.ts.map +0 -1
  664. package/lib/execution/engine/mock.d.ts.map +0 -1
  665. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  666. package/lib/execution/engine/types.d.ts.map +0 -1
  667. package/lib/execution/engine/utils.d.ts.map +0 -1
  668. package/lib/execution/index.d.ts.map +0 -1
  669. package/lib/index.d.ts.map +0 -1
  670. package/lib/metrics/index.d.ts.map +0 -1
  671. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  672. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  673. package/lib/metrics/metrics.d.ts.map +0 -1
  674. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  675. package/lib/metrics/options.d.ts.map +0 -1
  676. package/lib/metrics/server/http.d.ts.map +0 -1
  677. package/lib/metrics/server/index.d.ts.map +0 -1
  678. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  679. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  680. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  681. package/lib/monitoring/clientStats.d.ts.map +0 -1
  682. package/lib/monitoring/index.d.ts.map +0 -1
  683. package/lib/monitoring/options.d.ts.map +0 -1
  684. package/lib/monitoring/properties.d.ts.map +0 -1
  685. package/lib/monitoring/service.d.ts.map +0 -1
  686. package/lib/monitoring/system.d.ts.map +0 -1
  687. package/lib/monitoring/types.d.ts.map +0 -1
  688. package/lib/network/core/events.d.ts.map +0 -1
  689. package/lib/network/core/index.d.ts.map +0 -1
  690. package/lib/network/core/metrics.d.ts.map +0 -1
  691. package/lib/network/core/networkCore.d.ts.map +0 -1
  692. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  693. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  694. package/lib/network/core/types.d.ts.map +0 -1
  695. package/lib/network/discv5/index.d.ts.map +0 -1
  696. package/lib/network/discv5/types.d.ts.map +0 -1
  697. package/lib/network/discv5/utils.d.ts.map +0 -1
  698. package/lib/network/discv5/worker.d.ts.map +0 -1
  699. package/lib/network/events.d.ts.map +0 -1
  700. package/lib/network/forks.d.ts.map +0 -1
  701. package/lib/network/gossip/constants.d.ts.map +0 -1
  702. package/lib/network/gossip/encoding.d.ts.map +0 -1
  703. package/lib/network/gossip/errors.d.ts.map +0 -1
  704. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  705. package/lib/network/gossip/index.d.ts.map +0 -1
  706. package/lib/network/gossip/interface.d.ts.map +0 -1
  707. package/lib/network/gossip/metrics.d.ts.map +0 -1
  708. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  709. package/lib/network/gossip/topic.d.ts.map +0 -1
  710. package/lib/network/index.d.ts.map +0 -1
  711. package/lib/network/interface.d.ts.map +0 -1
  712. package/lib/network/libp2p/error.d.ts.map +0 -1
  713. package/lib/network/libp2p/index.d.ts.map +0 -1
  714. package/lib/network/metadata.d.ts.map +0 -1
  715. package/lib/network/network.d.ts.map +0 -1
  716. package/lib/network/networkConfig.d.ts.map +0 -1
  717. package/lib/network/options.d.ts.map +0 -1
  718. package/lib/network/peers/client.d.ts.map +0 -1
  719. package/lib/network/peers/datastore.d.ts.map +0 -1
  720. package/lib/network/peers/discover.d.ts.map +0 -1
  721. package/lib/network/peers/index.d.ts.map +0 -1
  722. package/lib/network/peers/peerManager.d.ts.map +0 -1
  723. package/lib/network/peers/peersData.d.ts.map +0 -1
  724. package/lib/network/peers/score/constants.d.ts.map +0 -1
  725. package/lib/network/peers/score/index.d.ts.map +0 -1
  726. package/lib/network/peers/score/interface.d.ts.map +0 -1
  727. package/lib/network/peers/score/score.d.ts.map +0 -1
  728. package/lib/network/peers/score/store.d.ts.map +0 -1
  729. package/lib/network/peers/score/utils.d.ts.map +0 -1
  730. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  731. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  732. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  733. package/lib/network/peers/utils/index.d.ts.map +0 -1
  734. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  735. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  736. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  737. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  738. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  739. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  740. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  741. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  742. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  743. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  744. package/lib/network/processor/index.d.ts.map +0 -1
  745. package/lib/network/processor/types.d.ts.map +0 -1
  746. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  747. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  748. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  749. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  750. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  751. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  752. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  753. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  754. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  755. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  756. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  757. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  758. package/lib/network/reqresp/index.d.ts.map +0 -1
  759. package/lib/network/reqresp/interface.d.ts.map +0 -1
  760. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  761. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  762. package/lib/network/reqresp/score.d.ts.map +0 -1
  763. package/lib/network/reqresp/types.d.ts.map +0 -1
  764. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  765. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  766. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  767. package/lib/network/statusCache.d.ts.map +0 -1
  768. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  769. package/lib/network/subnets/index.d.ts.map +0 -1
  770. package/lib/network/subnets/interface.d.ts.map +0 -1
  771. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  772. package/lib/network/subnets/util.d.ts.map +0 -1
  773. package/lib/network/util.d.ts.map +0 -1
  774. package/lib/node/index.d.ts.map +0 -1
  775. package/lib/node/nodejs.d.ts.map +0 -1
  776. package/lib/node/notifier.d.ts.map +0 -1
  777. package/lib/node/options.d.ts.map +0 -1
  778. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  779. package/lib/node/utils/interop/state.d.ts.map +0 -1
  780. package/lib/node/utils/lightclient.d.ts.map +0 -1
  781. package/lib/node/utils/state.d.ts.map +0 -1
  782. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  783. package/lib/sync/backfill/errors.d.ts.map +0 -1
  784. package/lib/sync/backfill/index.d.ts.map +0 -1
  785. package/lib/sync/backfill/verify.d.ts.map +0 -1
  786. package/lib/sync/constants.d.ts.map +0 -1
  787. package/lib/sync/index.d.ts.map +0 -1
  788. package/lib/sync/interface.d.ts.map +0 -1
  789. package/lib/sync/options.d.ts.map +0 -1
  790. package/lib/sync/range/batch.d.ts.map +0 -1
  791. package/lib/sync/range/chain.d.ts.map +0 -1
  792. package/lib/sync/range/range.d.ts.map +0 -1
  793. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  794. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  795. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  796. package/lib/sync/range/utils/index.d.ts.map +0 -1
  797. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  798. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  799. package/lib/sync/sync.d.ts.map +0 -1
  800. package/lib/sync/types.d.ts.map +0 -1
  801. package/lib/sync/unknownBlock.d.ts.map +0 -1
  802. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  803. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  804. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  805. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  806. package/lib/util/address.d.ts.map +0 -1
  807. package/lib/util/array.d.ts.map +0 -1
  808. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  809. package/lib/util/binarySearch.d.ts.map +0 -1
  810. package/lib/util/bitArray.d.ts.map +0 -1
  811. package/lib/util/blobs.d.ts.map +0 -1
  812. package/lib/util/bufferPool.d.ts.map +0 -1
  813. package/lib/util/bytes.d.ts.map +0 -1
  814. package/lib/util/chunkify.d.ts.map +0 -1
  815. package/lib/util/clock.d.ts.map +0 -1
  816. package/lib/util/dataColumns.d.ts.map +0 -1
  817. package/lib/util/dependentRoot.d.ts.map +0 -1
  818. package/lib/util/enum.d.ts.map +0 -1
  819. package/lib/util/error.d.ts.map +0 -1
  820. package/lib/util/eventLoop.d.ts.map +0 -1
  821. package/lib/util/execution.d.ts.map +0 -1
  822. package/lib/util/file.d.ts.map +0 -1
  823. package/lib/util/forkChoice.d.ts.map +0 -1
  824. package/lib/util/forkName.d.ts.map +0 -1
  825. package/lib/util/graffiti.d.ts.map +0 -1
  826. package/lib/util/hex.d.ts.map +0 -1
  827. package/lib/util/index.d.ts.map +0 -1
  828. package/lib/util/ip.d.ts.map +0 -1
  829. package/lib/util/itTrigger.d.ts.map +0 -1
  830. package/lib/util/kzg.d.ts.map +0 -1
  831. package/lib/util/map.d.ts.map +0 -1
  832. package/lib/util/metadata.d.ts.map +0 -1
  833. package/lib/util/multifork.d.ts.map +0 -1
  834. package/lib/util/numpy.d.ts.map +0 -1
  835. package/lib/util/peerId.d.ts.map +0 -1
  836. package/lib/util/profile.d.ts.map +0 -1
  837. package/lib/util/promises.d.ts.map +0 -1
  838. package/lib/util/queue/errors.d.ts.map +0 -1
  839. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  840. package/lib/util/queue/index.d.ts.map +0 -1
  841. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  842. package/lib/util/queue/options.d.ts.map +0 -1
  843. package/lib/util/serializedCache.d.ts.map +0 -1
  844. package/lib/util/set.d.ts.map +0 -1
  845. package/lib/util/shuffle.d.ts.map +0 -1
  846. package/lib/util/sortBy.d.ts.map +0 -1
  847. package/lib/util/sszBytes.d.ts.map +0 -1
  848. package/lib/util/strictEvents.d.ts.map +0 -1
  849. package/lib/util/time.d.ts.map +0 -1
  850. package/lib/util/timeSeries.d.ts.map +0 -1
  851. package/lib/util/types.d.ts.map +0 -1
  852. package/lib/util/workerEvents.d.ts.map +0 -1
  853. package/lib/util/wrapError.d.ts.map +0 -1
  854. package/src/api/impl/api.ts +0 -26
  855. package/src/api/impl/beacon/blocks/index.ts +0 -744
  856. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  857. package/src/api/impl/beacon/index.ts +0 -35
  858. package/src/api/impl/beacon/pool/index.ts +0 -314
  859. package/src/api/impl/beacon/rewards/index.ts +0 -30
  860. package/src/api/impl/beacon/state/index.ts +0 -406
  861. package/src/api/impl/beacon/state/utils.ts +0 -189
  862. package/src/api/impl/config/constants.ts +0 -127
  863. package/src/api/impl/config/index.ts +0 -59
  864. package/src/api/impl/debug/index.ts +0 -131
  865. package/src/api/impl/errors.ts +0 -50
  866. package/src/api/impl/events/index.ts +0 -33
  867. package/src/api/impl/index.ts +0 -6
  868. package/src/api/impl/lightclient/index.ts +0 -64
  869. package/src/api/impl/lodestar/index.ts +0 -257
  870. package/src/api/impl/node/index.ts +0 -88
  871. package/src/api/impl/node/utils.ts +0 -51
  872. package/src/api/impl/proof/index.ts +0 -60
  873. package/src/api/impl/types.ts +0 -17
  874. package/src/api/impl/utils.ts +0 -25
  875. package/src/api/impl/validator/index.ts +0 -1540
  876. package/src/api/impl/validator/utils.ts +0 -85
  877. package/src/api/index.ts +0 -2
  878. package/src/api/options.ts +0 -16
  879. package/src/api/rest/activeSockets.ts +0 -109
  880. package/src/api/rest/base.ts +0 -216
  881. package/src/api/rest/index.ts +0 -63
  882. package/src/api/rest/swaggerUI.ts +0 -80
  883. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  884. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  885. package/src/chain/GetBlobsTracker.ts +0 -115
  886. package/src/chain/archiveStore/archiveStore.ts +0 -222
  887. package/src/chain/archiveStore/constants.ts +0 -5
  888. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  889. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  890. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  891. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  892. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  893. package/src/chain/archiveStore/index.ts +0 -3
  894. package/src/chain/archiveStore/interface.ts +0 -75
  895. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  896. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  897. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  898. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  899. package/src/chain/balancesCache.ts +0 -52
  900. package/src/chain/beaconProposerCache.ts +0 -43
  901. package/src/chain/blocks/blockInput/blockInput.ts +0 -852
  902. package/src/chain/blocks/blockInput/errors.ts +0 -48
  903. package/src/chain/blocks/blockInput/index.ts +0 -4
  904. package/src/chain/blocks/blockInput/types.ts +0 -145
  905. package/src/chain/blocks/blockInput/utils.ts +0 -21
  906. package/src/chain/blocks/importBlock.ts +0 -597
  907. package/src/chain/blocks/index.ts +0 -179
  908. package/src/chain/blocks/types.ts +0 -101
  909. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  910. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  911. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  912. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  913. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  914. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  915. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  916. package/src/chain/blocks/verifyBlock.ts +0 -242
  917. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -42
  918. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  919. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  920. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  921. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  922. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  923. package/src/chain/bls/index.ts +0 -4
  924. package/src/chain/bls/interface.ts +0 -68
  925. package/src/chain/bls/maybeBatch.ts +0 -45
  926. package/src/chain/bls/multithread/index.ts +0 -582
  927. package/src/chain/bls/multithread/jobItem.ts +0 -119
  928. package/src/chain/bls/multithread/poolSize.ts +0 -16
  929. package/src/chain/bls/multithread/types.ts +0 -38
  930. package/src/chain/bls/multithread/utils.ts +0 -19
  931. package/src/chain/bls/multithread/worker.ts +0 -114
  932. package/src/chain/bls/singleThread.ts +0 -87
  933. package/src/chain/bls/utils.ts +0 -30
  934. package/src/chain/chain.ts +0 -1354
  935. package/src/chain/emitter.ts +0 -113
  936. package/src/chain/errors/attestationError.ts +0 -194
  937. package/src/chain/errors/attesterSlashingError.ts +0 -11
  938. package/src/chain/errors/blobSidecarError.ts +0 -60
  939. package/src/chain/errors/blockError.ts +0 -166
  940. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  941. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  942. package/src/chain/errors/gossipValidation.ts +0 -20
  943. package/src/chain/errors/index.ts +0 -10
  944. package/src/chain/errors/lightClientError.ts +0 -30
  945. package/src/chain/errors/proposerSlashingError.ts +0 -11
  946. package/src/chain/errors/syncCommitteeError.ts +0 -36
  947. package/src/chain/errors/voluntaryExitError.ts +0 -13
  948. package/src/chain/forkChoice/index.ts +0 -112
  949. package/src/chain/genesis/genesis.ts +0 -190
  950. package/src/chain/genesis/interface.ts +0 -14
  951. package/src/chain/index.ts +0 -6
  952. package/src/chain/initState.ts +0 -221
  953. package/src/chain/interface.ts +0 -280
  954. package/src/chain/lightClient/index.ts +0 -764
  955. package/src/chain/lightClient/proofs.ts +0 -85
  956. package/src/chain/lightClient/types.ts +0 -33
  957. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  958. package/src/chain/opPools/attestationPool.ts +0 -282
  959. package/src/chain/opPools/index.ts +0 -5
  960. package/src/chain/opPools/opPool.ts +0 -462
  961. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -169
  962. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  963. package/src/chain/opPools/types.ts +0 -35
  964. package/src/chain/opPools/utils.ts +0 -65
  965. package/src/chain/options.ts +0 -138
  966. package/src/chain/prepareNextSlot.ts +0 -277
  967. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  968. package/src/chain/produceBlock/index.ts +0 -2
  969. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  970. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  971. package/src/chain/regen/errors.ts +0 -30
  972. package/src/chain/regen/index.ts +0 -4
  973. package/src/chain/regen/interface.ts +0 -93
  974. package/src/chain/regen/queued.ts +0 -317
  975. package/src/chain/regen/regen.ts +0 -424
  976. package/src/chain/reprocess.ts +0 -161
  977. package/src/chain/rewards/attestationsRewards.ts +0 -196
  978. package/src/chain/rewards/blockRewards.ts +0 -150
  979. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  980. package/src/chain/seenCache/index.ts +0 -5
  981. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  982. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  983. package/src/chain/seenCache/seenAttesters.ts +0 -58
  984. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  985. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  986. package/src/chain/seenCache/seenCommittee.ts +0 -43
  987. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  988. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  989. package/src/chain/serializeState.ts +0 -32
  990. package/src/chain/shufflingCache.ts +0 -238
  991. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  992. package/src/chain/stateCache/datastore/db.ts +0 -36
  993. package/src/chain/stateCache/datastore/file.ts +0 -53
  994. package/src/chain/stateCache/datastore/index.ts +0 -2
  995. package/src/chain/stateCache/datastore/types.ts +0 -13
  996. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  997. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  998. package/src/chain/stateCache/index.ts +0 -3
  999. package/src/chain/stateCache/mapMetrics.ts +0 -52
  1000. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -837
  1001. package/src/chain/stateCache/types.ts +0 -86
  1002. package/src/chain/validation/aggregateAndProof.ts +0 -258
  1003. package/src/chain/validation/attestation.ts +0 -885
  1004. package/src/chain/validation/attesterSlashing.ts +0 -61
  1005. package/src/chain/validation/blobSidecar.ts +0 -301
  1006. package/src/chain/validation/block.ts +0 -188
  1007. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  1008. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  1009. package/src/chain/validation/index.ts +0 -9
  1010. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -46
  1011. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -68
  1012. package/src/chain/validation/proposerSlashing.ts +0 -54
  1013. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  1014. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  1015. package/src/chain/validation/signatureSets/index.ts +0 -6
  1016. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  1017. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  1018. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  1019. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  1020. package/src/chain/validation/syncCommittee.ts +0 -165
  1021. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  1022. package/src/chain/validation/voluntaryExit.ts +0 -58
  1023. package/src/chain/validatorMonitor.ts +0 -1309
  1024. package/src/constants/constants.ts +0 -15
  1025. package/src/constants/index.ts +0 -2
  1026. package/src/constants/network.ts +0 -52
  1027. package/src/db/beacon.ts +0 -113
  1028. package/src/db/buckets.ts +0 -80
  1029. package/src/db/index.ts +0 -2
  1030. package/src/db/interface.ts +0 -76
  1031. package/src/db/options.ts +0 -7
  1032. package/src/db/repositories/attesterSlashing.ts +0 -38
  1033. package/src/db/repositories/backfilledRanges.ts +0 -29
  1034. package/src/db/repositories/blobSidecars.ts +0 -37
  1035. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  1036. package/src/db/repositories/block.ts +0 -33
  1037. package/src/db/repositories/blockArchive.ts +0 -170
  1038. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  1039. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  1040. package/src/db/repositories/checkpointState.ts +0 -31
  1041. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  1042. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  1043. package/src/db/repositories/depositDataRoot.ts +0 -80
  1044. package/src/db/repositories/depositEvent.ts +0 -32
  1045. package/src/db/repositories/eth1Data.ts +0 -33
  1046. package/src/db/repositories/index.ts +0 -20
  1047. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  1048. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  1049. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  1050. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  1051. package/src/db/repositories/proposerSlashing.ts +0 -15
  1052. package/src/db/repositories/stateArchive.ts +0 -69
  1053. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  1054. package/src/db/repositories/voluntaryExit.ts +0 -15
  1055. package/src/db/single/index.ts +0 -2
  1056. package/src/db/single/preGenesisState.ts +0 -37
  1057. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  1058. package/src/eth1/errors.ts +0 -40
  1059. package/src/eth1/eth1DataCache.ts +0 -26
  1060. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  1061. package/src/eth1/eth1DepositsCache.ts +0 -141
  1062. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  1063. package/src/eth1/index.ts +0 -157
  1064. package/src/eth1/interface.ts +0 -131
  1065. package/src/eth1/options.ts +0 -28
  1066. package/src/eth1/provider/eth1Provider.ts +0 -229
  1067. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  1068. package/src/eth1/provider/jwt.ts +0 -36
  1069. package/src/eth1/provider/utils.ts +0 -136
  1070. package/src/eth1/stream.ts +0 -75
  1071. package/src/eth1/utils/depositContract.ts +0 -37
  1072. package/src/eth1/utils/deposits.ts +0 -70
  1073. package/src/eth1/utils/eth1Data.ts +0 -100
  1074. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  1075. package/src/eth1/utils/eth1Vote.ts +0 -142
  1076. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  1077. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  1078. package/src/execution/builder/cache.ts +0 -39
  1079. package/src/execution/builder/http.ts +0 -229
  1080. package/src/execution/builder/index.ts +0 -27
  1081. package/src/execution/builder/interface.ts +0 -49
  1082. package/src/execution/builder/utils.ts +0 -19
  1083. package/src/execution/engine/disabled.ts +0 -35
  1084. package/src/execution/engine/http.ts +0 -644
  1085. package/src/execution/engine/index.ts +0 -63
  1086. package/src/execution/engine/interface.ts +0 -199
  1087. package/src/execution/engine/mock.ts +0 -493
  1088. package/src/execution/engine/payloadIdCache.ts +0 -54
  1089. package/src/execution/engine/types.ts +0 -640
  1090. package/src/execution/engine/utils.ts +0 -136
  1091. package/src/execution/index.ts +0 -4
  1092. package/src/index.ts +0 -20
  1093. package/src/metrics/index.ts +0 -4
  1094. package/src/metrics/metrics/beacon.ts +0 -390
  1095. package/src/metrics/metrics/lodestar.ts +0 -1870
  1096. package/src/metrics/metrics.ts +0 -43
  1097. package/src/metrics/nodeJsMetrics.ts +0 -19
  1098. package/src/metrics/options.ts +0 -22
  1099. package/src/metrics/server/http.ts +0 -114
  1100. package/src/metrics/server/index.ts +0 -1
  1101. package/src/metrics/utils/avgMinMax.ts +0 -87
  1102. package/src/metrics/utils/gauge.ts +0 -22
  1103. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  1104. package/src/monitoring/clientStats.ts +0 -297
  1105. package/src/monitoring/index.ts +0 -2
  1106. package/src/monitoring/options.ts +0 -19
  1107. package/src/monitoring/properties.ts +0 -152
  1108. package/src/monitoring/service.ts +0 -235
  1109. package/src/monitoring/system.ts +0 -146
  1110. package/src/monitoring/types.ts +0 -21
  1111. package/src/network/core/events.ts +0 -59
  1112. package/src/network/core/index.ts +0 -3
  1113. package/src/network/core/metrics.ts +0 -304
  1114. package/src/network/core/networkCore.ts +0 -599
  1115. package/src/network/core/networkCoreWorker.ts +0 -176
  1116. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  1117. package/src/network/core/types.ts +0 -119
  1118. package/src/network/discv5/index.ts +0 -132
  1119. package/src/network/discv5/types.ts +0 -74
  1120. package/src/network/discv5/utils.ts +0 -50
  1121. package/src/network/discv5/worker.ts +0 -137
  1122. package/src/network/events.ts +0 -51
  1123. package/src/network/forks.ts +0 -94
  1124. package/src/network/gossip/constants.ts +0 -15
  1125. package/src/network/gossip/encoding.ts +0 -111
  1126. package/src/network/gossip/errors.ts +0 -7
  1127. package/src/network/gossip/gossipsub.ts +0 -384
  1128. package/src/network/gossip/index.ts +0 -4
  1129. package/src/network/gossip/interface.ts +0 -215
  1130. package/src/network/gossip/metrics.ts +0 -71
  1131. package/src/network/gossip/scoringParameters.ts +0 -333
  1132. package/src/network/gossip/topic.ts +0 -332
  1133. package/src/network/index.ts +0 -8
  1134. package/src/network/interface.ts +0 -134
  1135. package/src/network/libp2p/error.ts +0 -55
  1136. package/src/network/libp2p/index.ts +0 -153
  1137. package/src/network/metadata.ts +0 -162
  1138. package/src/network/network.ts +0 -767
  1139. package/src/network/networkConfig.ts +0 -12
  1140. package/src/network/options.ts +0 -70
  1141. package/src/network/peers/client.ts +0 -29
  1142. package/src/network/peers/datastore.ts +0 -188
  1143. package/src/network/peers/discover.ts +0 -647
  1144. package/src/network/peers/index.ts +0 -2
  1145. package/src/network/peers/peerManager.ts +0 -899
  1146. package/src/network/peers/peersData.ts +0 -65
  1147. package/src/network/peers/score/constants.ts +0 -34
  1148. package/src/network/peers/score/index.ts +0 -4
  1149. package/src/network/peers/score/interface.ts +0 -74
  1150. package/src/network/peers/score/score.ts +0 -200
  1151. package/src/network/peers/score/store.ts +0 -95
  1152. package/src/network/peers/score/utils.ts +0 -37
  1153. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  1154. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  1155. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  1156. package/src/network/peers/utils/index.ts +0 -4
  1157. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  1158. package/src/network/peers/utils/subnetMap.ts +0 -88
  1159. package/src/network/processor/aggregatorTracker.ts +0 -38
  1160. package/src/network/processor/extractSlotRootFns.ts +0 -64
  1161. package/src/network/processor/gossipHandlers.ts +0 -951
  1162. package/src/network/processor/gossipQueues/index.ts +0 -114
  1163. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  1164. package/src/network/processor/gossipQueues/linear.ts +0 -162
  1165. package/src/network/processor/gossipQueues/types.ts +0 -57
  1166. package/src/network/processor/gossipValidatorFn.ts +0 -142
  1167. package/src/network/processor/index.ts +0 -496
  1168. package/src/network/processor/types.ts +0 -27
  1169. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  1170. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  1171. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  1172. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  1173. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  1174. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  1175. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  1176. package/src/network/reqresp/handlers/index.ts +0 -78
  1177. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  1178. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  1179. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  1180. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  1181. package/src/network/reqresp/index.ts +0 -2
  1182. package/src/network/reqresp/interface.ts +0 -45
  1183. package/src/network/reqresp/protocols.ts +0 -146
  1184. package/src/network/reqresp/rateLimit.ts +0 -112
  1185. package/src/network/reqresp/score.ts +0 -70
  1186. package/src/network/reqresp/types.ts +0 -174
  1187. package/src/network/reqresp/utils/collect.ts +0 -84
  1188. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  1189. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  1190. package/src/network/statusCache.ts +0 -17
  1191. package/src/network/subnets/attnetsService.ts +0 -385
  1192. package/src/network/subnets/index.ts +0 -2
  1193. package/src/network/subnets/interface.ts +0 -66
  1194. package/src/network/subnets/syncnetsService.ts +0 -147
  1195. package/src/network/subnets/util.ts +0 -63
  1196. package/src/network/util.ts +0 -29
  1197. package/src/node/index.ts +0 -2
  1198. package/src/node/nodejs.ts +0 -349
  1199. package/src/node/notifier.ts +0 -206
  1200. package/src/node/options.ts +0 -51
  1201. package/src/node/utils/interop/deposits.ts +0 -53
  1202. package/src/node/utils/interop/state.ts +0 -59
  1203. package/src/node/utils/lightclient.ts +0 -7
  1204. package/src/node/utils/state.ts +0 -37
  1205. package/src/sync/backfill/backfill.ts +0 -893
  1206. package/src/sync/backfill/errors.ts +0 -23
  1207. package/src/sync/backfill/index.ts +0 -1
  1208. package/src/sync/backfill/verify.ts +0 -58
  1209. package/src/sync/constants.ts +0 -71
  1210. package/src/sync/index.ts +0 -2
  1211. package/src/sync/interface.ts +0 -55
  1212. package/src/sync/options.ts +0 -45
  1213. package/src/sync/range/batch.ts +0 -455
  1214. package/src/sync/range/chain.ts +0 -715
  1215. package/src/sync/range/range.ts +0 -354
  1216. package/src/sync/range/utils/batches.ts +0 -119
  1217. package/src/sync/range/utils/chainTarget.ts +0 -62
  1218. package/src/sync/range/utils/hashBlocks.ts +0 -27
  1219. package/src/sync/range/utils/index.ts +0 -5
  1220. package/src/sync/range/utils/peerBalancer.ts +0 -184
  1221. package/src/sync/range/utils/updateChains.ts +0 -66
  1222. package/src/sync/sync.ts +0 -290
  1223. package/src/sync/types.ts +0 -57
  1224. package/src/sync/unknownBlock.ts +0 -859
  1225. package/src/sync/utils/downloadByRange.ts +0 -808
  1226. package/src/sync/utils/downloadByRoot.ts +0 -560
  1227. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  1228. package/src/sync/utils/remoteSyncType.ts +0 -144
  1229. package/src/util/address.ts +0 -3
  1230. package/src/util/array.ts +0 -311
  1231. package/src/util/asyncIterableToEvents.ts +0 -164
  1232. package/src/util/binarySearch.ts +0 -48
  1233. package/src/util/bitArray.ts +0 -84
  1234. package/src/util/blobs.ts +0 -210
  1235. package/src/util/bufferPool.ts +0 -95
  1236. package/src/util/bytes.ts +0 -11
  1237. package/src/util/chunkify.ts +0 -27
  1238. package/src/util/clock.ts +0 -212
  1239. package/src/util/dataColumns.ts +0 -415
  1240. package/src/util/dependentRoot.ts +0 -47
  1241. package/src/util/enum.ts +0 -17
  1242. package/src/util/error.ts +0 -56
  1243. package/src/util/eventLoop.ts +0 -22
  1244. package/src/util/execution.ts +0 -223
  1245. package/src/util/file.ts +0 -52
  1246. package/src/util/forkChoice.ts +0 -5
  1247. package/src/util/forkName.ts +0 -20
  1248. package/src/util/graffiti.ts +0 -39
  1249. package/src/util/hex.ts +0 -9
  1250. package/src/util/index.ts +0 -2
  1251. package/src/util/ip.ts +0 -6
  1252. package/src/util/itTrigger.ts +0 -49
  1253. package/src/util/kzg.ts +0 -3
  1254. package/src/util/map.ts +0 -77
  1255. package/src/util/metadata.ts +0 -22
  1256. package/src/util/multifork.ts +0 -69
  1257. package/src/util/numpy.ts +0 -8
  1258. package/src/util/peerId.ts +0 -16
  1259. package/src/util/profile.ts +0 -54
  1260. package/src/util/promises.ts +0 -14
  1261. package/src/util/queue/errors.ts +0 -14
  1262. package/src/util/queue/fnQueue.ts +0 -16
  1263. package/src/util/queue/index.ts +0 -4
  1264. package/src/util/queue/itemQueue.ts +0 -128
  1265. package/src/util/queue/options.ts +0 -37
  1266. package/src/util/serializedCache.ts +0 -20
  1267. package/src/util/set.ts +0 -62
  1268. package/src/util/shuffle.ts +0 -21
  1269. package/src/util/sortBy.ts +0 -19
  1270. package/src/util/sszBytes.ts +0 -481
  1271. package/src/util/strictEvents.ts +0 -8
  1272. package/src/util/time.ts +0 -13
  1273. package/src/util/timeSeries.ts +0 -118
  1274. package/src/util/types.ts +0 -31
  1275. package/src/util/workerEvents.ts +0 -142
  1276. package/src/util/wrapError.ts +0 -27
@@ -1,715 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {Epoch, Root, Slot} from "@lodestar/types";
3
- import {ErrorAborted, LodestarError, Logger, toRootHex} from "@lodestar/utils";
4
- import {isBlockInputBlobs, isBlockInputColumns} from "../../chain/blocks/blockInput/blockInput.js";
5
- import {BlockInputErrorCode} from "../../chain/blocks/blockInput/errors.js";
6
- import {IBlockInput} from "../../chain/blocks/blockInput/types.js";
7
- import {BlobSidecarErrorCode} from "../../chain/errors/blobSidecarError.js";
8
- import {DataColumnSidecarErrorCode} from "../../chain/errors/dataColumnSidecarError.js";
9
- import {Metrics} from "../../metrics/metrics.js";
10
- import {PeerAction, prettyPrintPeerIdStr} from "../../network/index.js";
11
- import {PeerSyncMeta} from "../../network/peers/peersData.js";
12
- import {IClock} from "../../util/clock.js";
13
- import {CustodyConfig} from "../../util/dataColumns.js";
14
- import {ItTrigger} from "../../util/itTrigger.js";
15
- import {PeerIdStr} from "../../util/peerId.js";
16
- import {WarnResult, wrapError} from "../../util/wrapError.js";
17
- import {BATCH_BUFFER_SIZE, EPOCHS_PER_BATCH, MAX_LOOK_AHEAD_EPOCHS} from "../constants.js";
18
- import {DownloadByRangeError, DownloadByRangeErrorCode} from "../utils/downloadByRange.js";
19
- import {RangeSyncType} from "../utils/remoteSyncType.js";
20
- import {Batch, BatchError, BatchErrorCode, BatchMetadata, BatchStatus} from "./batch.js";
21
- import {
22
- ChainPeersBalancer,
23
- PeerSyncInfo,
24
- batchStartEpochIsAfterSlot,
25
- computeHighestTarget,
26
- getBatchSlotRange,
27
- getNextBatchToProcess,
28
- isSyncChainDone,
29
- toArr,
30
- toBeDownloadedStartEpoch,
31
- validateBatchesStatus,
32
- } from "./utils/index.js";
33
-
34
- export type SyncChainModules = {
35
- config: ChainForkConfig;
36
- clock: IClock;
37
- custodyConfig: CustodyConfig;
38
- logger: Logger;
39
- metrics: Metrics | null;
40
- };
41
-
42
- export type SyncChainFns = {
43
- /**
44
- * Must return if ALL blocks are processed successfully
45
- * If SOME blocks are processed must throw BlockProcessorError()
46
- */
47
- processChainSegment: (blocks: IBlockInput[], syncType: RangeSyncType) => Promise<void>;
48
- /** Must download blocks, and validate their range */
49
- downloadByRange: (
50
- peer: PeerSyncMeta,
51
- batch: Batch,
52
- syncType: RangeSyncType
53
- ) => Promise<WarnResult<IBlockInput[], DownloadByRangeError>>;
54
- /** Report peer for negative actions. Decouples from the full network instance */
55
- reportPeer: (peer: PeerIdStr, action: PeerAction, actionName: string) => void;
56
- /** Gets current peer custodyColumns and earliestAvailableSlot */
57
- getConnectedPeerSyncMeta: (peerId: string) => PeerSyncMeta;
58
- /** Hook called when Chain state completes */
59
- onEnd: (err: Error | null, target: ChainTarget | null) => void;
60
- /** Deletes an array of BlockInputs from the BlockInputCache */
61
- pruneBlockInputs: (blockInputs: IBlockInput[]) => void;
62
- };
63
-
64
- /**
65
- * Sync this up to this target. Uses slot instead of epoch to re-use logic for finalized sync
66
- * and head sync. The root is used to uniquely identify this chain on different forks
67
- */
68
- export type ChainTarget = {
69
- slot: Slot;
70
- root: Root;
71
- };
72
-
73
- export class SyncChainStartError extends Error {}
74
-
75
- export type SyncChainDebugState = {
76
- targetRoot: string | null;
77
- targetSlot: number | null;
78
- syncType: RangeSyncType;
79
- status: SyncChainStatus;
80
- startEpoch: number;
81
- peers: number;
82
- batches: BatchMetadata[];
83
- };
84
-
85
- export enum SyncChainStatus {
86
- Stopped = "Stopped",
87
- Syncing = "Syncing",
88
- Done = "Done",
89
- Error = "Error",
90
- }
91
-
92
- // this global chain id is used to identify the chain over time, increase it every time a new chain is created
93
- // a chain type could be Finalized or Head, so it should be appended with this id to make the log unique
94
- let nextChainId = 0;
95
-
96
- /**
97
- * Dynamic target sync chain. Peers with multiple targets but with the same syncType are added
98
- * through the `addPeer()` hook.
99
- *
100
- * A chain of blocks that need to be downloaded. Peers who claim to contain the target head
101
- * root are grouped into the peer pool and queried for batches when downloading the chain.
102
- */
103
- export class SyncChain {
104
- /** Short string id to identify this SyncChain in logs */
105
- readonly logId: string;
106
- readonly syncType: RangeSyncType;
107
- /**
108
- * Should sync up until this slot, then stop.
109
- * Finalized SyncChains have a dynamic target, so if this chain has no peers the target can become null
110
- */
111
- target: ChainTarget;
112
-
113
- /** Number of validated epochs. For the SyncRange to prevent switching chains too fast */
114
- validatedEpochs = 0;
115
-
116
- readonly firstBatchEpoch: Epoch;
117
- /**
118
- * The start of the chain segment. Any epoch previous to this one has been validated.
119
- * Note: lastEpochWithProcessBlocks` signals the epoch at which 1 or more blocks have been processed
120
- * successfully. So that epoch itself may or may not be valid.
121
- */
122
- private lastEpochWithProcessBlocks: Epoch;
123
- private status = SyncChainStatus.Stopped;
124
-
125
- private readonly processChainSegment: SyncChainFns["processChainSegment"];
126
- private readonly downloadByRange: SyncChainFns["downloadByRange"];
127
- private readonly reportPeer: SyncChainFns["reportPeer"];
128
- private readonly getConnectedPeerSyncMeta: SyncChainFns["getConnectedPeerSyncMeta"];
129
- private readonly pruneBlockInputs: SyncChainFns["pruneBlockInputs"];
130
-
131
- /** AsyncIterable that guarantees processChainSegment is run only at once at anytime */
132
- private readonly batchProcessor = new ItTrigger();
133
- /** Sorted map of batches undergoing some kind of processing. */
134
- private readonly batches = new Map<Epoch, Batch>();
135
- private readonly peerset = new Map<PeerIdStr, ChainTarget>();
136
-
137
- private readonly logger: Logger;
138
- private readonly config: ChainForkConfig;
139
- private readonly clock: IClock;
140
- private readonly metrics: Metrics | null;
141
- private readonly custodyConfig: CustodyConfig;
142
-
143
- constructor(
144
- initialBatchEpoch: Epoch,
145
- initialTarget: ChainTarget,
146
- syncType: RangeSyncType,
147
- fns: SyncChainFns,
148
- modules: SyncChainModules
149
- ) {
150
- const {config, clock, custodyConfig, logger, metrics} = modules;
151
- this.firstBatchEpoch = initialBatchEpoch;
152
- this.lastEpochWithProcessBlocks = initialBatchEpoch;
153
- this.target = initialTarget;
154
- this.syncType = syncType;
155
- this.processChainSegment = fns.processChainSegment;
156
- this.downloadByRange = fns.downloadByRange;
157
- this.reportPeer = fns.reportPeer;
158
- this.pruneBlockInputs = fns.pruneBlockInputs;
159
- this.getConnectedPeerSyncMeta = fns.getConnectedPeerSyncMeta;
160
- this.config = config;
161
- this.clock = clock;
162
- this.metrics = metrics;
163
- this.custodyConfig = custodyConfig;
164
- this.logger = logger;
165
- this.logId = `${syncType}-${nextChainId++}`;
166
-
167
- if (metrics) {
168
- metrics.syncRange.headSyncPeers.addCollect(() => this.scrapeMetrics(metrics));
169
- }
170
-
171
- // Trigger event on parent class
172
- this.sync().then(
173
- () => fns.onEnd(null, this.target),
174
- (e) => fns.onEnd(e, null)
175
- );
176
- }
177
-
178
- /**
179
- * Start syncing a new chain or an old one with an existing peer list
180
- * In the same call, advance the chain if localFinalizedEpoch >
181
- */
182
- startSyncing(localFinalizedEpoch: Epoch): void {
183
- switch (this.status) {
184
- case SyncChainStatus.Stopped:
185
- break; // Ok, continue
186
- case SyncChainStatus.Syncing:
187
- return; // Skip, already started
188
- case SyncChainStatus.Error:
189
- case SyncChainStatus.Done:
190
- throw new SyncChainStartError(`Attempted to start an ended SyncChain ${this.status}`);
191
- }
192
-
193
- this.status = SyncChainStatus.Syncing;
194
-
195
- this.logger.debug("SyncChain startSyncing", {
196
- localFinalizedEpoch,
197
- lastEpochWithProcessBlocks: this.lastEpochWithProcessBlocks,
198
- targetSlot: this.target.slot,
199
- });
200
-
201
- // to avoid dropping local progress, we advance the chain with its batch boundaries.
202
- // get the aligned epoch that produces a batch containing the `localFinalizedEpoch`
203
- const lastEpochWithProcessBlocksAligned =
204
- this.lastEpochWithProcessBlocks +
205
- Math.floor((localFinalizedEpoch - this.lastEpochWithProcessBlocks) / EPOCHS_PER_BATCH) * EPOCHS_PER_BATCH;
206
- this.advanceChain(lastEpochWithProcessBlocksAligned);
207
-
208
- // Potentially download new batches and process pending
209
- this.triggerBatchDownloader();
210
- this.triggerBatchProcessor();
211
- }
212
-
213
- /**
214
- * Temporarily stop the chain. Will prevent batches from being processed
215
- */
216
- stopSyncing(): void {
217
- this.status = SyncChainStatus.Stopped;
218
- }
219
-
220
- /**
221
- * Permanently remove this chain. Throws the main AsyncIterable
222
- */
223
- remove(): void {
224
- this.batchProcessor.end(new ErrorAborted("SyncChain"));
225
- }
226
-
227
- /**
228
- * Add peer to the chain and request batches if active
229
- */
230
- addPeer(peer: PeerIdStr, target: ChainTarget): void {
231
- this.peerset.set(peer, target);
232
- this.computeTarget();
233
- this.triggerBatchDownloader();
234
- }
235
-
236
- /**
237
- * Returns true if the peer existed and has been removed
238
- * NOTE: The RangeSync will take care of deleting the SyncChain if peers = 0
239
- */
240
- removePeer(peerId: PeerIdStr): boolean {
241
- const deleted = this.peerset.delete(peerId);
242
- this.computeTarget();
243
- return deleted;
244
- }
245
-
246
- /**
247
- * Helper to print internal state for debugging when chain gets stuck
248
- */
249
- getBatchesState(): BatchMetadata[] {
250
- return toArr(this.batches).map((batch) => batch.getMetadata());
251
- }
252
-
253
- get lastValidatedSlot(): Slot {
254
- // Last epoch of the batch after the last one validated
255
- return getBatchSlotRange(this.lastEpochWithProcessBlocks + EPOCHS_PER_BATCH).startSlot - 1;
256
- }
257
-
258
- get isSyncing(): boolean {
259
- return this.status === SyncChainStatus.Syncing;
260
- }
261
-
262
- get isRemovable(): boolean {
263
- return this.status === SyncChainStatus.Error || this.status === SyncChainStatus.Done;
264
- }
265
-
266
- get peers(): number {
267
- return this.peerset.size;
268
- }
269
-
270
- getPeers(): PeerIdStr[] {
271
- return Array.from(this.peerset.keys());
272
- }
273
-
274
- /** Full debug state for lodestar API */
275
- getDebugState(): SyncChainDebugState {
276
- return {
277
- targetRoot: toRootHex(this.target.root),
278
- targetSlot: this.target.slot,
279
- syncType: this.syncType,
280
- status: this.status,
281
- startEpoch: this.lastEpochWithProcessBlocks,
282
- peers: this.peers,
283
- batches: this.getBatchesState(),
284
- };
285
- }
286
-
287
- private computeTarget(): void {
288
- if (this.peerset.size > 0) {
289
- const targets = Array.from(this.peerset.values());
290
- this.target = computeHighestTarget(targets);
291
- }
292
- }
293
-
294
- /**
295
- * Main Promise that handles the sync process. Will resolve when initial sync completes
296
- * i.e. when it successfully processes a epoch >= than this chain `targetEpoch`
297
- */
298
- private async sync(): Promise<void> {
299
- try {
300
- // Start processing batches on demand in strict sequence
301
- for await (const _ of this.batchProcessor) {
302
- if (this.status !== SyncChainStatus.Syncing) {
303
- continue;
304
- }
305
-
306
- // TODO: Consider running this check less often after the sync is well tested
307
- validateBatchesStatus(toArr(this.batches));
308
-
309
- // Returns true if SyncChain has processed all possible blocks with slot <= target.slot
310
- if (isSyncChainDone(toArr(this.batches), this.lastEpochWithProcessBlocks, this.target.slot)) {
311
- break;
312
- }
313
-
314
- // Processes the next batch if ready
315
- const batch = getNextBatchToProcess(toArr(this.batches));
316
- if (batch) await this.processBatch(batch);
317
- }
318
-
319
- this.status = SyncChainStatus.Done;
320
- this.logger.verbose("SyncChain Done", {id: this.logId});
321
- } catch (e) {
322
- if (e instanceof ErrorAborted) {
323
- return; // Ignore
324
- }
325
-
326
- for (const batch of this.batches.values()) {
327
- this.pruneBlockInputs(batch.getBlocks());
328
- }
329
-
330
- this.status = SyncChainStatus.Error;
331
- this.logger.verbose("SyncChain Error", {id: this.logId}, e as Error);
332
-
333
- // If a batch exceeds it's retry limit, maybe downscore peers.
334
- // shouldDownscoreOnBatchError() functions enforces that all BatchErrorCode values are covered
335
- if (e instanceof BatchError) {
336
- const shouldReportPeer = shouldReportPeerOnBatchError(e.type.code);
337
- if (shouldReportPeer) {
338
- for (const peer of this.peerset.keys()) {
339
- this.reportPeer(peer, shouldReportPeer.action, shouldReportPeer.reason);
340
- }
341
- }
342
- }
343
-
344
- throw e;
345
- }
346
- }
347
-
348
- /**
349
- * Request to process batches if possible
350
- */
351
- private triggerBatchProcessor(): void {
352
- this.batchProcessor.trigger();
353
- }
354
-
355
- /**
356
- * Request to download batches if possible
357
- * Backlogs requests into a single pending request
358
- */
359
- private triggerBatchDownloader(): void {
360
- try {
361
- this.requestBatches();
362
- } catch (e) {
363
- // bubble the error up to the main async iterable loop
364
- this.batchProcessor.end(e as Error);
365
- }
366
- }
367
-
368
- /**
369
- * Attempts to request the next required batches from the peer pool if the chain is syncing.
370
- * It will exhaust the peer pool and left over batches until the batch buffer is reached.
371
- */
372
- private requestBatches(): void {
373
- if (this.status !== SyncChainStatus.Syncing) {
374
- return;
375
- }
376
-
377
- const peersSyncInfo: PeerSyncInfo[] = [];
378
- for (const [peerId, target] of this.peerset.entries()) {
379
- try {
380
- peersSyncInfo.push({...this.getConnectedPeerSyncMeta(peerId), target});
381
- } catch (e) {
382
- this.logger.debug("Failed to get peer sync meta", {peerId}, e as Error);
383
- }
384
- }
385
-
386
- const peerBalancer = new ChainPeersBalancer(peersSyncInfo, toArr(this.batches), this.custodyConfig, this.syncType);
387
-
388
- // Retry download of existing batches
389
- for (const batch of this.batches.values()) {
390
- if (batch.state.status !== BatchStatus.AwaitingDownload) {
391
- continue;
392
- }
393
-
394
- const peer = peerBalancer.bestPeerToRetryBatch(batch);
395
- if (peer) {
396
- void this.sendBatch(batch, peer);
397
- }
398
- }
399
-
400
- // find the next pending batch and request it from the peer
401
- let batch = this.includeNextBatch();
402
- while (batch != null) {
403
- const peer = peerBalancer.idlePeerForBatch(batch);
404
- if (!peer) {
405
- // if there is no peer available, we stop requesting batches because next batches will have greater startEpoch with the same sampling groups
406
- break;
407
- }
408
- void this.sendBatch(batch, peer);
409
- batch = this.includeNextBatch();
410
- }
411
- }
412
-
413
- /**
414
- * Creates the next required batch from the chain. If there are no more batches required, returns `null`.
415
- */
416
- private includeNextBatch(): Batch | null {
417
- const batches = toArr(this.batches);
418
-
419
- // Only request batches up to the buffer size limit
420
- // Note: Don't count batches in the AwaitingValidation state, to prevent stalling sync
421
- // if the current processing window is contained in a long range of skip slots.
422
- const batchesInBuffer = batches.filter((batch) => {
423
- return batch.state.status === BatchStatus.Downloading || batch.state.status === BatchStatus.AwaitingProcessing;
424
- });
425
- if (batchesInBuffer.length > BATCH_BUFFER_SIZE) {
426
- return null;
427
- }
428
-
429
- // if last processed epoch is n, we don't want to request batches with epoch > n + MAX_LOOK_AHEAD_EPOCHS
430
- // we should have enough batches to process in the buffer: n + 1, ..., n + MAX_LOOK_AHEAD_EPOCHS
431
- // let's focus on redownloading these batches first because it may have to reach different peers to get enough sampled columns
432
- if (
433
- batches.length > 0 &&
434
- Math.max(...batches.map((b) => b.startEpoch)) >= this.lastEpochWithProcessBlocks + MAX_LOOK_AHEAD_EPOCHS
435
- ) {
436
- return null;
437
- }
438
-
439
- // This line decides the starting epoch of the next batch. MUST ensure no duplicate batch for the same startEpoch
440
- const startEpoch = toBeDownloadedStartEpoch(batches, this.lastEpochWithProcessBlocks);
441
-
442
- // Don't request batches beyond the target head slot. The to-be-downloaded batch must be strictly after target.slot
443
- if (batchStartEpochIsAfterSlot(startEpoch, this.target.slot)) {
444
- return null;
445
- }
446
-
447
- if (this.batches.has(startEpoch)) {
448
- this.logger.error("Attempting to add existing Batch to SyncChain", {id: this.logId, startEpoch});
449
- return null;
450
- }
451
-
452
- const batch = new Batch(startEpoch, this.config, this.clock, this.custodyConfig);
453
- this.batches.set(startEpoch, batch);
454
- return batch;
455
- }
456
-
457
- /**
458
- * Requests the batch assigned to the given id from a given peer.
459
- */
460
- private async sendBatch(batch: Batch, peer: PeerSyncMeta): Promise<void> {
461
- this.logger.verbose("Downloading batch", {
462
- id: this.logId,
463
- ...batch.getMetadata(),
464
- peer: prettyPrintPeerIdStr(peer.peerId),
465
- });
466
- try {
467
- batch.startDownloading(peer.peerId);
468
-
469
- // wrapError ensures to never call both batch success() and batch error()
470
- const res = await wrapError(this.downloadByRange(peer, batch, this.syncType));
471
-
472
- if (res.err) {
473
- // There's several known error cases where we want to take action on the peer
474
- const errCode = (res.err as LodestarError<{code: string}>).type?.code;
475
- this.metrics?.syncRange.downloadByRange.error.inc({client: peer.client, code: errCode ?? "UNKNOWN"});
476
- if (this.syncType === RangeSyncType.Finalized) {
477
- // For finalized sync, we are stricter with peers as there is no ambiguity about which chain we're syncing.
478
- // The below cases indicate the peer may be on a different chain, so are not penalized during head sync.
479
- switch (errCode) {
480
- case BlockInputErrorCode.MISMATCHED_ROOT_HEX:
481
- case DownloadByRangeErrorCode.MISSING_BLOBS:
482
- case DownloadByRangeErrorCode.EXTRA_BLOBS:
483
- case DownloadByRangeErrorCode.MISSING_COLUMNS:
484
- case DownloadByRangeErrorCode.EXTRA_COLUMNS:
485
- case BlobSidecarErrorCode.INCORRECT_SIDECAR_COUNT:
486
- case BlobSidecarErrorCode.INCORRECT_BLOCK:
487
- case DataColumnSidecarErrorCode.INCORRECT_SIDECAR_COUNT:
488
- case DataColumnSidecarErrorCode.INCORRECT_BLOCK:
489
- this.reportPeer(peer.peerId, PeerAction.LowToleranceError, res.err.message);
490
- }
491
- }
492
- switch (errCode) {
493
- case DownloadByRangeErrorCode.EXTRA_BLOCKS:
494
- case DownloadByRangeErrorCode.OUT_OF_ORDER_BLOCKS:
495
- case DownloadByRangeErrorCode.OUT_OF_RANGE_BLOCKS:
496
- case DownloadByRangeErrorCode.PARENT_ROOT_MISMATCH:
497
- case BlobSidecarErrorCode.INCLUSION_PROOF_INVALID:
498
- case BlobSidecarErrorCode.INVALID_KZG_PROOF_BATCH:
499
- case DataColumnSidecarErrorCode.INCORRECT_KZG_COMMITMENTS_COUNT:
500
- case DataColumnSidecarErrorCode.INCORRECT_KZG_PROOF_COUNT:
501
- case DataColumnSidecarErrorCode.INVALID_KZG_PROOF_BATCH:
502
- case DataColumnSidecarErrorCode.INCLUSION_PROOF_INVALID:
503
- this.reportPeer(peer.peerId, PeerAction.LowToleranceError, res.err.message);
504
- }
505
- this.logger.verbose(
506
- "Batch download error",
507
- {id: this.logId, ...batch.getMetadata(), peer: prettyPrintPeerIdStr(peer.peerId)},
508
- res.err
509
- );
510
- batch.downloadingError(peer.peerId); // Throws after MAX_DOWNLOAD_ATTEMPTS
511
- } else {
512
- this.logger.verbose("Batch download success", {
513
- id: this.logId,
514
- ...batch.getMetadata(),
515
- peer: prettyPrintPeerIdStr(peer.peerId),
516
- });
517
- this.metrics?.syncRange.downloadByRange.success.inc();
518
- const {warnings, result} = res.result;
519
- const downloadSuccessOutput = batch.downloadingSuccess(peer.peerId, result);
520
- const logMeta: Record<string, number> = {
521
- blockCount: downloadSuccessOutput.blocks.length,
522
- };
523
-
524
- if (warnings && warnings.length > 0) {
525
- for (const warning of warnings) {
526
- this.metrics?.syncRange.downloadByRange.warn.inc({client: peer.client, code: warning.type.code});
527
- this.logger.debug(
528
- "Batch downloaded with warning",
529
- {id: this.logId, epoch: batch.startEpoch, ...logMeta, peer: prettyPrintPeerIdStr(peer.peerId)},
530
- warning
531
- );
532
- }
533
- }
534
-
535
- for (const block of downloadSuccessOutput.blocks) {
536
- if (isBlockInputBlobs(block)) {
537
- const blockLogMeta = block.getLogMeta();
538
- const expectedBlobs = typeof blockLogMeta.expectedBlobs === "number" ? blockLogMeta.expectedBlobs : 0;
539
- logMeta.expectedBlobCount = (logMeta.expectedBlobCount ?? 0) + expectedBlobs;
540
- logMeta.receivedBlobCount = (logMeta.receivedBlobCount ?? 0) + blockLogMeta.receivedBlobs;
541
- } else if (isBlockInputColumns(block)) {
542
- logMeta.columnCount = (logMeta.columnCount ?? 0) + block.getLogMeta().receivedColumns;
543
- }
544
- }
545
-
546
- let logMessage: string;
547
- if (downloadSuccessOutput.status === BatchStatus.AwaitingProcessing) {
548
- logMessage = "Finished downloading batch by range";
549
- this.triggerBatchProcessor();
550
- } else {
551
- logMessage = "Partially downloaded batch by range. Attempting another round of downloads";
552
- // the flow will continue to call triggerBatchDownloader() below
553
- }
554
-
555
- this.logger.debug(logMessage, {
556
- id: this.logId,
557
- epoch: batch.startEpoch,
558
- ...logMeta,
559
- peer: prettyPrintPeerIdStr(peer.peerId),
560
- });
561
- }
562
-
563
- // Preemptively request more blocks from peers whilst we process current blocks
564
- //
565
- // TODO(fulu): why is this second call here. should fall through to the one below the catch block. commenting
566
- // for now and will resolve during PR process
567
- // this.triggerBatchDownloader();
568
- } catch (e) {
569
- // bubble the error up to the main async iterable loop
570
- this.batchProcessor.end(e as Error);
571
- }
572
-
573
- // Preemptively request more blocks from peers whilst we process current blocks
574
- this.triggerBatchDownloader();
575
- }
576
-
577
- /**
578
- * Sends `batch` to the processor. Note: batch may be empty
579
- */
580
- private async processBatch(batch: Batch): Promise<void> {
581
- const blocks = batch.startProcessing();
582
-
583
- // wrapError ensures to never call both batch success() and batch error()
584
- const res = await wrapError(this.processChainSegment(blocks, this.syncType));
585
-
586
- if (!res.err) {
587
- batch.processingSuccess();
588
- this.pruneBlockInputs(batch.getBlocks());
589
-
590
- // If the processed batch is not empty, validate previous AwaitingValidation blocks.
591
- if (blocks.length > 0) {
592
- this.advanceChain(batch.startEpoch);
593
- }
594
-
595
- // Potentially process next AwaitingProcessing batch
596
- this.triggerBatchProcessor();
597
- } else {
598
- this.logger.verbose("Batch process error", {id: this.logId, ...batch.getMetadata()}, res.err);
599
- batch.processingError(res.err); // Throws after MAX_BATCH_PROCESSING_ATTEMPTS
600
-
601
- // At least one block was successfully verified and imported, so we can be sure all
602
- // previous batches are valid and we only need to download the current failed batch.
603
- // TODO: Disabled for now
604
- // if (res.err instanceof ChainSegmentError && res.err.importedBlocks > 0) {
605
- // this.advanceChain(batch.startEpoch);
606
- // }
607
-
608
- // The current batch could not be processed, so either this or previous batches are invalid.
609
- // All previous batches (AwaitingValidation) are potentially faulty and marked for retry.
610
- // Progress will be drop back to `this.startEpoch`
611
- for (const pendingBatch of this.batches.values()) {
612
- if (pendingBatch.startEpoch < batch.startEpoch) {
613
- this.logger.verbose("Batch validation error", {id: this.logId, ...pendingBatch.getMetadata()});
614
- pendingBatch.validationError(res.err); // Throws after MAX_BATCH_PROCESSING_ATTEMPTS
615
- }
616
- }
617
- }
618
-
619
- // A batch is no longer in Processing status, queue has an empty spot to download next batch
620
- this.triggerBatchDownloader();
621
- }
622
-
623
- /**
624
- * Drops any batches previous to `newLatestValidatedEpoch` and updates the chain boundaries
625
- */
626
- private advanceChain(newLastEpochWithProcessBlocks: Epoch): void {
627
- // make sure this epoch produces an advancement
628
- if (newLastEpochWithProcessBlocks <= this.lastEpochWithProcessBlocks) {
629
- return;
630
- }
631
-
632
- for (const [batchKey, batch] of this.batches.entries()) {
633
- if (batch.startEpoch < newLastEpochWithProcessBlocks) {
634
- this.batches.delete(batchKey);
635
- this.validatedEpochs += EPOCHS_PER_BATCH;
636
-
637
- // The last batch attempt is right, all others are wrong. Penalize other peers
638
- const attemptOk = batch.validationSuccess();
639
- for (const attempt of batch.failedProcessingAttempts) {
640
- if (attempt.hash !== attemptOk.hash) {
641
- for (const badAttemptPeer of attempt.peers) {
642
- if (attemptOk.peers.find((goodPeer) => goodPeer === badAttemptPeer)) {
643
- // The same peer corrected its previous attempt
644
- this.reportPeer(badAttemptPeer, PeerAction.MidToleranceError, "SyncChainInvalidBatchSelf");
645
- } else {
646
- // A different peer sent an bad batch
647
- this.reportPeer(badAttemptPeer, PeerAction.LowToleranceError, "SyncChainInvalidBatchOther");
648
- }
649
- }
650
- }
651
- }
652
- }
653
- }
654
-
655
- this.lastEpochWithProcessBlocks = newLastEpochWithProcessBlocks;
656
- this.logger.verbose("Advanced chain", {
657
- id: this.logId,
658
- lastEpochWithProcessBlocks: this.lastEpochWithProcessBlocks,
659
- });
660
- }
661
-
662
- private scrapeMetrics(metrics: Metrics): void {
663
- const syncPeersMetric =
664
- this.syncType === RangeSyncType.Finalized
665
- ? metrics.syncRange.finalizedSyncPeers
666
- : metrics.syncRange.headSyncPeers;
667
-
668
- const peersSyncMeta = new Map<PeerIdStr, PeerSyncMeta>();
669
- for (const peerId of this.peerset.keys()) {
670
- try {
671
- peersSyncMeta.set(peerId, this.getConnectedPeerSyncMeta(peerId));
672
- } catch (_) {
673
- // ignore for metric as peer could be disconnected
674
- }
675
- }
676
-
677
- const peersByColumnIndex = new Map<number, number>();
678
- for (const [columnIndex, column] of this.custodyConfig.sampledColumns.entries()) {
679
- for (const {custodyColumns} of peersSyncMeta.values()) {
680
- if (custodyColumns.includes(column)) {
681
- peersByColumnIndex.set(columnIndex, (peersByColumnIndex.get(columnIndex) ?? 0) + 1);
682
- }
683
- }
684
- }
685
-
686
- for (let columnIndex = 0; columnIndex < this.custodyConfig.sampledColumns.length; columnIndex++) {
687
- const peerCount = peersByColumnIndex.get(columnIndex) ?? 0;
688
- syncPeersMetric.set({columnIndex}, peerCount);
689
- }
690
- }
691
- }
692
-
693
- /**
694
- * Enforces that a report peer action is defined for all BatchErrorCode exhaustively.
695
- * If peer should not be downscored, returns null.
696
- */
697
- export function shouldReportPeerOnBatchError(
698
- code: BatchErrorCode
699
- ): {action: PeerAction.LowToleranceError; reason: string} | null {
700
- switch (code) {
701
- // A batch could not be processed after max retry limit. It's likely that all peers
702
- // in this chain are sending invalid batches repeatedly so are either malicious or faulty.
703
- // We drop the chain and report all peers.
704
- // There are some edge cases with forks that could cause this situation, but it's unlikely.
705
- case BatchErrorCode.MAX_PROCESSING_ATTEMPTS:
706
- return {action: PeerAction.LowToleranceError, reason: "SyncChainMaxProcessingAttempts"};
707
-
708
- // TODO: Should peers be reported for MAX_DOWNLOAD_ATTEMPTS?
709
- case BatchErrorCode.MAX_DOWNLOAD_ATTEMPTS:
710
- case BatchErrorCode.INVALID_COUNT:
711
- case BatchErrorCode.WRONG_STATUS:
712
- case BatchErrorCode.MAX_EXECUTION_ENGINE_ERROR_ATTEMPTS:
713
- return null;
714
- }
715
- }