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

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 (1258) 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/rest/activeSockets.js +2 -3
  12. package/lib/api/rest/activeSockets.js.map +1 -1
  13. package/lib/api/rest/base.d.ts +1 -1
  14. package/lib/api/rest/base.js +2 -6
  15. package/lib/api/rest/base.js.map +1 -1
  16. package/lib/api/rest/index.js +0 -2
  17. package/lib/api/rest/index.js.map +1 -1
  18. package/lib/api/rest/swaggerUI.js +2 -4
  19. package/lib/api/rest/swaggerUI.js.map +1 -1
  20. package/lib/chain/ColumnReconstructionTracker.d.ts +2 -2
  21. package/lib/chain/ColumnReconstructionTracker.js +12 -34
  22. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  23. package/lib/chain/GetBlobsTracker.d.ts +2 -2
  24. package/lib/chain/GetBlobsTracker.js +8 -28
  25. package/lib/chain/GetBlobsTracker.js.map +1 -1
  26. package/lib/chain/archiveStore/archiveStore.js +38 -49
  27. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  28. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -3
  29. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  30. package/lib/chain/archiveStore/index.d.ts +1 -1
  31. package/lib/chain/archiveStore/index.js +1 -1
  32. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +0 -5
  33. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  34. package/lib/chain/balancesCache.js +3 -1
  35. package/lib/chain/balancesCache.js.map +1 -1
  36. package/lib/chain/beaconProposerCache.js +0 -1
  37. package/lib/chain/beaconProposerCache.js.map +1 -1
  38. package/lib/chain/blocks/blockInput/blockInput.js +7 -18
  39. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  40. package/lib/chain/blocks/blockInput/index.d.ts +1 -1
  41. package/lib/chain/blocks/blockInput/index.js +1 -1
  42. package/lib/chain/blocks/index.d.ts +1 -1
  43. package/lib/chain/blocks/index.js +0 -1
  44. package/lib/chain/blocks/index.js.map +1 -1
  45. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
  46. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  47. package/lib/chain/bls/multithread/index.js +163 -168
  48. package/lib/chain/bls/multithread/index.js.map +1 -1
  49. package/lib/chain/bls/singleThread.js +0 -1
  50. package/lib/chain/bls/singleThread.js.map +1 -1
  51. package/lib/chain/chain.d.ts +6 -6
  52. package/lib/chain/chain.js +17 -62
  53. package/lib/chain/chain.js.map +1 -1
  54. package/lib/chain/emitter.d.ts +2 -2
  55. package/lib/chain/emitter.js.map +1 -1
  56. package/lib/chain/errors/blockError.js +0 -1
  57. package/lib/chain/errors/blockError.js.map +1 -1
  58. package/lib/chain/errors/gossipValidation.js +0 -1
  59. package/lib/chain/errors/gossipValidation.js.map +1 -1
  60. package/lib/chain/errors/index.d.ts +2 -2
  61. package/lib/chain/errors/index.js +2 -2
  62. package/lib/chain/errors/index.js.map +1 -1
  63. package/lib/chain/forkChoice/index.js.map +1 -1
  64. package/lib/chain/genesis/genesis.js +5 -16
  65. package/lib/chain/genesis/genesis.js.map +1 -1
  66. package/lib/chain/index.d.ts +2 -2
  67. package/lib/chain/index.js +2 -2
  68. package/lib/chain/index.js.map +1 -1
  69. package/lib/chain/interface.d.ts +4 -4
  70. package/lib/chain/interface.js.map +1 -1
  71. package/lib/chain/lightClient/index.js +9 -16
  72. package/lib/chain/lightClient/index.js.map +1 -1
  73. package/lib/chain/lightClient/proofs.js.map +1 -1
  74. package/lib/chain/opPools/aggregatedAttestationPool.js +9 -14
  75. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  76. package/lib/chain/opPools/attestationPool.js +3 -8
  77. package/lib/chain/opPools/attestationPool.js.map +1 -1
  78. package/lib/chain/opPools/index.d.ts +1 -1
  79. package/lib/chain/opPools/index.js +1 -1
  80. package/lib/chain/opPools/index.js.map +1 -1
  81. package/lib/chain/opPools/opPool.js +12 -10
  82. package/lib/chain/opPools/opPool.js.map +1 -1
  83. package/lib/chain/opPools/syncCommitteeMessagePool.js +6 -9
  84. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  85. package/lib/chain/opPools/syncContributionAndProofPool.js +2 -5
  86. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  87. package/lib/chain/options.js +1 -1
  88. package/lib/chain/options.js.map +1 -1
  89. package/lib/chain/prepareNextSlot.js +136 -141
  90. package/lib/chain/prepareNextSlot.js.map +1 -1
  91. package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -1
  92. package/lib/chain/produceBlock/produceBlockBody.js +10 -3
  93. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  94. package/lib/chain/regen/errors.js +0 -1
  95. package/lib/chain/regen/errors.js.map +1 -1
  96. package/lib/chain/regen/index.d.ts +1 -1
  97. package/lib/chain/regen/index.js +1 -1
  98. package/lib/chain/regen/index.js.map +1 -1
  99. package/lib/chain/regen/queued.js +28 -35
  100. package/lib/chain/regen/queued.js.map +1 -1
  101. package/lib/chain/regen/regen.js +0 -1
  102. package/lib/chain/regen/regen.js.map +1 -1
  103. package/lib/chain/reprocess.js +1 -3
  104. package/lib/chain/reprocess.js.map +1 -1
  105. package/lib/chain/seenCache/seenAggregateAndProof.js +6 -7
  106. package/lib/chain/seenCache/seenAggregateAndProof.js.map +1 -1
  107. package/lib/chain/seenCache/seenAttestationData.js +2 -5
  108. package/lib/chain/seenCache/seenAttestationData.js.map +1 -1
  109. package/lib/chain/seenCache/seenAttesters.js +4 -2
  110. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  111. package/lib/chain/seenCache/seenBlockProposers.js +4 -2
  112. package/lib/chain/seenCache/seenBlockProposers.js.map +1 -1
  113. package/lib/chain/seenCache/seenCommittee.js +3 -1
  114. package/lib/chain/seenCache/seenCommittee.js.map +1 -1
  115. package/lib/chain/seenCache/seenCommitteeContribution.js +2 -3
  116. package/lib/chain/seenCache/seenCommitteeContribution.js.map +1 -1
  117. package/lib/chain/seenCache/seenGossipBlockInput.js +13 -20
  118. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  119. package/lib/chain/shufflingCache.js +2 -5
  120. package/lib/chain/shufflingCache.js.map +1 -1
  121. package/lib/chain/stateCache/blockStateCacheImpl.js +7 -13
  122. package/lib/chain/stateCache/blockStateCacheImpl.js.map +1 -1
  123. package/lib/chain/stateCache/datastore/db.js +0 -1
  124. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  125. package/lib/chain/stateCache/datastore/file.js +0 -1
  126. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  127. package/lib/chain/stateCache/datastore/index.d.ts +1 -1
  128. package/lib/chain/stateCache/datastore/index.js +1 -1
  129. package/lib/chain/stateCache/datastore/index.js.map +1 -1
  130. package/lib/chain/stateCache/fifoBlockStateCache.js +0 -10
  131. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  132. package/lib/chain/stateCache/inMemoryCheckpointsCache.js +4 -10
  133. package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
  134. package/lib/chain/stateCache/index.d.ts +1 -1
  135. package/lib/chain/stateCache/index.js +1 -1
  136. package/lib/chain/stateCache/index.js.map +1 -1
  137. package/lib/chain/stateCache/mapMetrics.js +4 -4
  138. package/lib/chain/stateCache/mapMetrics.js.map +1 -1
  139. package/lib/chain/stateCache/persistentCheckpointsCache.js +6 -14
  140. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  141. package/lib/chain/validation/blobSidecar.js.map +1 -1
  142. package/lib/chain/validation/dataColumnSidecar.js +1 -1
  143. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  144. package/lib/chain/validation/index.d.ts +1 -1
  145. package/lib/chain/validation/index.js +1 -1
  146. package/lib/chain/validation/index.js.map +1 -1
  147. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +2 -1
  148. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  149. package/lib/chain/validatorMonitor.d.ts +3 -1
  150. package/lib/chain/validatorMonitor.js +1 -2
  151. package/lib/chain/validatorMonitor.js.map +1 -1
  152. package/lib/db/beacon.js +0 -24
  153. package/lib/db/beacon.js.map +1 -1
  154. package/lib/db/buckets.d.ts +4 -4
  155. package/lib/db/buckets.js +4 -4
  156. package/lib/db/buckets.js.map +1 -1
  157. package/lib/db/index.d.ts +1 -1
  158. package/lib/db/index.js.map +1 -1
  159. package/lib/db/repositories/blobSidecars.js +1 -1
  160. package/lib/db/repositories/blobSidecars.js.map +1 -1
  161. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  162. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  163. package/lib/db/repositories/blockArchive.js +3 -2
  164. package/lib/db/repositories/blockArchive.js.map +1 -1
  165. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  166. package/lib/db/repositories/dataColumnSidecar.js +2 -2
  167. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  168. package/lib/db/repositories/dataColumnSidecarArchive.js +2 -2
  169. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  170. package/lib/db/repositories/depositDataRoot.js +0 -1
  171. package/lib/db/repositories/depositDataRoot.js.map +1 -1
  172. package/lib/db/repositories/index.d.ts +10 -10
  173. package/lib/db/repositories/index.js +9 -9
  174. package/lib/db/repositories/index.js.map +1 -1
  175. package/lib/db/single/preGenesisState.js +0 -6
  176. package/lib/db/single/preGenesisState.js.map +1 -1
  177. package/lib/db/single/preGenesisStateLastProcessedBlock.js +0 -5
  178. package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -1
  179. package/lib/eth1/eth1DataCache.js +0 -2
  180. package/lib/eth1/eth1DataCache.js.map +1 -1
  181. package/lib/eth1/eth1DepositDataTracker.js +5 -18
  182. package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
  183. package/lib/eth1/eth1DepositsCache.js +0 -3
  184. package/lib/eth1/eth1DepositsCache.js.map +1 -1
  185. package/lib/eth1/eth1MergeBlockTracker.js +4 -10
  186. package/lib/eth1/eth1MergeBlockTracker.js.map +1 -1
  187. package/lib/eth1/index.js +0 -2
  188. package/lib/eth1/index.js.map +1 -1
  189. package/lib/eth1/provider/eth1Provider.d.ts +2 -1
  190. package/lib/eth1/provider/eth1Provider.js +2 -6
  191. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  192. package/lib/eth1/provider/jsonRpcHttpClient.d.ts +1 -1
  193. package/lib/eth1/provider/jsonRpcHttpClient.js +2 -16
  194. package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
  195. package/lib/eth1/provider/jwt.js.map +1 -1
  196. package/lib/eth1/utils/deposits.js.map +1 -1
  197. package/lib/execution/builder/cache.js +0 -6
  198. package/lib/execution/builder/cache.js.map +1 -1
  199. package/lib/execution/builder/http.js +8 -14
  200. package/lib/execution/builder/http.js.map +1 -1
  201. package/lib/execution/builder/index.js.map +1 -1
  202. package/lib/execution/engine/disabled.js +4 -2
  203. package/lib/execution/engine/disabled.js.map +1 -1
  204. package/lib/execution/engine/http.js +8 -23
  205. package/lib/execution/engine/http.js.map +1 -1
  206. package/lib/execution/engine/interface.js.map +1 -1
  207. package/lib/execution/engine/mock.d.ts +0 -1
  208. package/lib/execution/engine/mock.js +12 -16
  209. package/lib/execution/engine/mock.js.map +1 -1
  210. package/lib/execution/engine/payloadIdCache.js +3 -1
  211. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  212. package/lib/execution/engine/types.d.ts +1 -0
  213. package/lib/execution/engine/types.js.map +1 -1
  214. package/lib/execution/engine/utils.js +3 -3
  215. package/lib/execution/engine/utils.js.map +1 -1
  216. package/lib/execution/index.d.ts +2 -2
  217. package/lib/execution/index.js +2 -2
  218. package/lib/execution/index.js.map +1 -1
  219. package/lib/index.d.ts +6 -6
  220. package/lib/index.js +5 -5
  221. package/lib/index.js.map +1 -1
  222. package/lib/metrics/index.d.ts +1 -1
  223. package/lib/metrics/index.js +1 -1
  224. package/lib/metrics/index.js.map +1 -1
  225. package/lib/metrics/metrics/lodestar.d.ts +1 -6
  226. package/lib/metrics/metrics/lodestar.js +1 -10
  227. package/lib/metrics/metrics/lodestar.js.map +1 -1
  228. package/lib/metrics/metrics.d.ts +1 -1
  229. package/lib/metrics/metrics.js.map +1 -1
  230. package/lib/metrics/nodeJsMetrics.js +1 -1
  231. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  232. package/lib/metrics/server/http.d.ts +1 -1
  233. package/lib/metrics/utils/avgMinMax.d.ts +1 -1
  234. package/lib/metrics/utils/avgMinMax.js +6 -10
  235. package/lib/metrics/utils/avgMinMax.js.map +1 -1
  236. package/lib/metrics/utils/gauge.d.ts +1 -1
  237. package/lib/metrics/utils/gauge.js +4 -1
  238. package/lib/metrics/utils/gauge.js.map +1 -1
  239. package/lib/metrics/utils/registryMetricCreator.d.ts +1 -1
  240. package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
  241. package/lib/monitoring/properties.js +0 -4
  242. package/lib/monitoring/properties.js.map +1 -1
  243. package/lib/monitoring/service.js +1 -13
  244. package/lib/monitoring/service.js.map +1 -1
  245. package/lib/monitoring/system.js +27 -25
  246. package/lib/monitoring/system.js.map +1 -1
  247. package/lib/network/core/networkCore.d.ts +2 -2
  248. package/lib/network/core/networkCore.js +50 -67
  249. package/lib/network/core/networkCore.js.map +1 -1
  250. package/lib/network/core/networkCoreWorker.js +1 -1
  251. package/lib/network/core/networkCoreWorker.js.map +1 -1
  252. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -2
  253. package/lib/network/core/networkCoreWorkerHandler.js +5 -14
  254. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  255. package/lib/network/discv5/index.d.ts +2 -2
  256. package/lib/network/discv5/index.js +3 -9
  257. package/lib/network/discv5/index.js.map +1 -1
  258. package/lib/network/discv5/worker.js +3 -3
  259. package/lib/network/discv5/worker.js.map +1 -1
  260. package/lib/network/gossip/encoding.d.ts +1 -1
  261. package/lib/network/gossip/encoding.js +2 -4
  262. package/lib/network/gossip/encoding.js.map +1 -1
  263. package/lib/network/gossip/errors.js +0 -1
  264. package/lib/network/gossip/errors.js.map +1 -1
  265. package/lib/network/gossip/gossipsub.d.ts +1 -2
  266. package/lib/network/gossip/gossipsub.js +17 -43
  267. package/lib/network/gossip/gossipsub.js.map +1 -1
  268. package/lib/network/gossip/index.d.ts +2 -2
  269. package/lib/network/gossip/index.js +2 -2
  270. package/lib/network/gossip/index.js.map +1 -1
  271. package/lib/network/gossip/interface.d.ts +2 -2
  272. package/lib/network/gossip/metrics.d.ts +7 -15
  273. package/lib/network/gossip/metrics.js +6 -16
  274. package/lib/network/gossip/metrics.js.map +1 -1
  275. package/lib/network/gossip/topic.d.ts +105 -125
  276. package/lib/network/gossip/topic.js +1 -2
  277. package/lib/network/gossip/topic.js.map +1 -1
  278. package/lib/network/index.d.ts +3 -3
  279. package/lib/network/index.js +3 -3
  280. package/lib/network/index.js.map +1 -1
  281. package/lib/network/interface.d.ts +1 -1
  282. package/lib/network/libp2p/index.js +3 -11
  283. package/lib/network/libp2p/index.js.map +1 -1
  284. package/lib/network/metadata.js +1 -6
  285. package/lib/network/metadata.js.map +1 -1
  286. package/lib/network/network.d.ts +1 -1
  287. package/lib/network/network.js +76 -88
  288. package/lib/network/network.js.map +1 -1
  289. package/lib/network/options.js +1 -1
  290. package/lib/network/options.js.map +1 -1
  291. package/lib/network/peers/datastore.d.ts +2 -2
  292. package/lib/network/peers/datastore.js +4 -10
  293. package/lib/network/peers/datastore.js.map +1 -1
  294. package/lib/network/peers/discover.js +66 -75
  295. package/lib/network/peers/discover.js.map +1 -1
  296. package/lib/network/peers/peerManager.js +125 -145
  297. package/lib/network/peers/peerManager.js.map +1 -1
  298. package/lib/network/peers/peersData.js +3 -1
  299. package/lib/network/peers/peersData.js.map +1 -1
  300. package/lib/network/peers/score/index.d.ts +1 -1
  301. package/lib/network/peers/score/index.js +1 -1
  302. package/lib/network/peers/score/index.js.map +1 -1
  303. package/lib/network/peers/score/score.js +0 -6
  304. package/lib/network/peers/score/score.js.map +1 -1
  305. package/lib/network/peers/score/store.js +0 -3
  306. package/lib/network/peers/score/store.js.map +1 -1
  307. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  308. package/lib/network/peers/utils/subnetMap.js +4 -2
  309. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  310. package/lib/network/processor/aggregatorTracker.js +3 -1
  311. package/lib/network/processor/aggregatorTracker.js.map +1 -1
  312. package/lib/network/processor/gossipHandlers.js +7 -3
  313. package/lib/network/processor/gossipHandlers.js.map +1 -1
  314. package/lib/network/processor/gossipQueues/indexed.js +9 -11
  315. package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
  316. package/lib/network/processor/gossipQueues/linear.js +8 -9
  317. package/lib/network/processor/gossipQueues/linear.js.map +1 -1
  318. package/lib/network/processor/index.d.ts +1 -1
  319. package/lib/network/processor/index.js +8 -18
  320. package/lib/network/processor/index.js.map +1 -1
  321. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +1 -1
  322. package/lib/network/reqresp/ReqRespBeaconNode.js +2 -11
  323. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  324. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  325. package/lib/network/reqresp/index.d.ts +1 -1
  326. package/lib/network/reqresp/index.js +1 -1
  327. package/lib/network/reqresp/index.js.map +1 -1
  328. package/lib/network/reqresp/rateLimit.js +2 -2
  329. package/lib/network/reqresp/rateLimit.js.map +1 -1
  330. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  331. package/lib/network/statusCache.js +0 -1
  332. package/lib/network/statusCache.js.map +1 -1
  333. package/lib/network/subnets/attnetsService.js +65 -73
  334. package/lib/network/subnets/attnetsService.js.map +1 -1
  335. package/lib/network/subnets/interface.js +1 -1
  336. package/lib/network/subnets/interface.js.map +1 -1
  337. package/lib/network/subnets/syncnetsService.js +22 -29
  338. package/lib/network/subnets/syncnetsService.js.map +1 -1
  339. package/lib/network/subnets/util.js +2 -1
  340. package/lib/network/subnets/util.js.map +1 -1
  341. package/lib/node/nodejs.d.ts +1 -1
  342. package/lib/node/nodejs.js +0 -15
  343. package/lib/node/nodejs.js.map +1 -1
  344. package/lib/node/notifier.js +2 -1
  345. package/lib/node/notifier.js.map +1 -1
  346. package/lib/node/options.js.map +1 -1
  347. package/lib/node/utils/interop/state.js +2 -1
  348. package/lib/node/utils/interop/state.js.map +1 -1
  349. package/lib/sync/backfill/backfill.d.ts +1 -1
  350. package/lib/sync/backfill/backfill.js +16 -58
  351. package/lib/sync/backfill/backfill.js.map +1 -1
  352. package/lib/sync/range/batch.d.ts +2 -2
  353. package/lib/sync/range/batch.js +11 -20
  354. package/lib/sync/range/batch.js.map +1 -1
  355. package/lib/sync/range/chain.d.ts +1 -1
  356. package/lib/sync/range/chain.js +8 -33
  357. package/lib/sync/range/chain.js.map +1 -1
  358. package/lib/sync/range/range.d.ts +1 -1
  359. package/lib/sync/range/range.js +70 -76
  360. package/lib/sync/range/range.js.map +1 -1
  361. package/lib/sync/range/utils/peerBalancer.js +1 -5
  362. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  363. package/lib/sync/sync.d.ts +2 -1
  364. package/lib/sync/sync.js +85 -93
  365. package/lib/sync/sync.js.map +1 -1
  366. package/lib/sync/types.d.ts +1 -0
  367. package/lib/sync/types.js.map +1 -1
  368. package/lib/sync/unknownBlock.js +168 -177
  369. package/lib/sync/unknownBlock.js.map +1 -1
  370. package/lib/sync/utils/downloadByRange.d.ts +1 -1
  371. package/lib/sync/utils/downloadByRoot.d.ts +2 -4
  372. package/lib/sync/utils/downloadByRoot.js +9 -36
  373. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  374. package/lib/util/array.js +3 -7
  375. package/lib/util/array.js.map +1 -1
  376. package/lib/util/asyncIterableToEvents.js +3 -6
  377. package/lib/util/asyncIterableToEvents.js.map +1 -1
  378. package/lib/util/binarySearch.js +0 -2
  379. package/lib/util/binarySearch.js.map +1 -1
  380. package/lib/util/blobs.js +3 -5
  381. package/lib/util/blobs.js.map +1 -1
  382. package/lib/util/bufferPool.js +2 -7
  383. package/lib/util/bufferPool.js.map +1 -1
  384. package/lib/util/clock.d.ts +1 -1
  385. package/lib/util/clock.js +18 -23
  386. package/lib/util/clock.js.map +1 -1
  387. package/lib/util/dataColumns.d.ts +15 -9
  388. package/lib/util/dataColumns.js +29 -50
  389. package/lib/util/dataColumns.js.map +1 -1
  390. package/lib/util/execution.d.ts +3 -12
  391. package/lib/util/execution.js +13 -47
  392. package/lib/util/execution.js.map +1 -1
  393. package/lib/util/itTrigger.js +4 -4
  394. package/lib/util/itTrigger.js.map +1 -1
  395. package/lib/util/map.js +0 -2
  396. package/lib/util/map.js.map +1 -1
  397. package/lib/util/queue/index.d.ts +1 -1
  398. package/lib/util/queue/index.js +1 -1
  399. package/lib/util/queue/index.js.map +1 -1
  400. package/lib/util/queue/itemQueue.js +49 -52
  401. package/lib/util/queue/itemQueue.js.map +1 -1
  402. package/lib/util/serializedCache.js +3 -1
  403. package/lib/util/serializedCache.js.map +1 -1
  404. package/lib/util/set.js +0 -2
  405. package/lib/util/set.js.map +1 -1
  406. package/lib/util/timeSeries.js +1 -3
  407. package/lib/util/timeSeries.js.map +1 -1
  408. package/lib/util/types.d.ts +1 -1
  409. package/package.json +23 -39
  410. package/lib/api/impl/api.d.ts.map +0 -1
  411. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  412. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  413. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  414. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  415. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  416. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  417. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  418. package/lib/api/impl/config/constants.d.ts.map +0 -1
  419. package/lib/api/impl/config/index.d.ts.map +0 -1
  420. package/lib/api/impl/debug/index.d.ts.map +0 -1
  421. package/lib/api/impl/errors.d.ts.map +0 -1
  422. package/lib/api/impl/events/index.d.ts.map +0 -1
  423. package/lib/api/impl/index.d.ts.map +0 -1
  424. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  425. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  426. package/lib/api/impl/node/index.d.ts.map +0 -1
  427. package/lib/api/impl/node/utils.d.ts.map +0 -1
  428. package/lib/api/impl/proof/index.d.ts.map +0 -1
  429. package/lib/api/impl/types.d.ts.map +0 -1
  430. package/lib/api/impl/utils.d.ts.map +0 -1
  431. package/lib/api/impl/validator/index.d.ts.map +0 -1
  432. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  433. package/lib/api/index.d.ts.map +0 -1
  434. package/lib/api/options.d.ts.map +0 -1
  435. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  436. package/lib/api/rest/base.d.ts.map +0 -1
  437. package/lib/api/rest/index.d.ts.map +0 -1
  438. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  439. package/lib/bun-wrappers/prometheus-gc-stats.d.ts +0 -2
  440. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  441. package/lib/bun-wrappers/prometheus-gc-stats.js +0 -8
  442. package/lib/bun-wrappers/prometheus-gc-stats.js.map +0 -1
  443. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  444. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  445. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  446. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  447. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  448. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  449. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  450. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  451. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  452. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  453. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  454. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  455. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  456. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  457. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  458. package/lib/chain/balancesCache.d.ts.map +0 -1
  459. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  460. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  461. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  462. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  463. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  464. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  465. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  466. package/lib/chain/blocks/index.d.ts.map +0 -1
  467. package/lib/chain/blocks/types.d.ts.map +0 -1
  468. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  469. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  470. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  471. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  472. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  473. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  474. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  475. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  476. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  477. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  478. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  479. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  480. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  481. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  482. package/lib/chain/bls/index.d.ts.map +0 -1
  483. package/lib/chain/bls/interface.d.ts.map +0 -1
  484. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  485. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  486. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  487. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  488. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  489. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  490. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  491. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  492. package/lib/chain/bls/utils.d.ts.map +0 -1
  493. package/lib/chain/chain.d.ts.map +0 -1
  494. package/lib/chain/emitter.d.ts.map +0 -1
  495. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  496. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  497. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  498. package/lib/chain/errors/blockError.d.ts.map +0 -1
  499. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  500. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  501. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  502. package/lib/chain/errors/index.d.ts.map +0 -1
  503. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  504. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  505. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  506. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  507. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  508. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  509. package/lib/chain/genesis/interface.d.ts.map +0 -1
  510. package/lib/chain/index.d.ts.map +0 -1
  511. package/lib/chain/initState.d.ts.map +0 -1
  512. package/lib/chain/interface.d.ts.map +0 -1
  513. package/lib/chain/lightClient/index.d.ts.map +0 -1
  514. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  515. package/lib/chain/lightClient/types.d.ts.map +0 -1
  516. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  517. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  518. package/lib/chain/opPools/index.d.ts.map +0 -1
  519. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  520. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  521. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  522. package/lib/chain/opPools/types.d.ts.map +0 -1
  523. package/lib/chain/opPools/utils.d.ts.map +0 -1
  524. package/lib/chain/options.d.ts.map +0 -1
  525. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  526. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  527. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  528. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  529. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  530. package/lib/chain/regen/errors.d.ts.map +0 -1
  531. package/lib/chain/regen/index.d.ts.map +0 -1
  532. package/lib/chain/regen/interface.d.ts.map +0 -1
  533. package/lib/chain/regen/queued.d.ts.map +0 -1
  534. package/lib/chain/regen/regen.d.ts.map +0 -1
  535. package/lib/chain/reprocess.d.ts.map +0 -1
  536. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  537. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  538. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  539. package/lib/chain/seenCache/index.d.ts.map +0 -1
  540. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  541. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  542. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  543. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  544. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  545. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  546. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  547. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  548. package/lib/chain/serializeState.d.ts.map +0 -1
  549. package/lib/chain/shufflingCache.d.ts.map +0 -1
  550. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  551. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  552. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  553. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  554. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  555. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  556. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  557. package/lib/chain/stateCache/index.d.ts.map +0 -1
  558. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  559. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  560. package/lib/chain/stateCache/types.d.ts.map +0 -1
  561. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  562. package/lib/chain/validation/attestation.d.ts.map +0 -1
  563. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  564. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  565. package/lib/chain/validation/block.d.ts.map +0 -1
  566. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  567. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  568. package/lib/chain/validation/index.d.ts.map +0 -1
  569. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  570. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  571. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  572. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  573. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  574. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  575. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  576. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  577. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  578. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  579. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  580. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  581. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  582. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  583. package/lib/constants/constants.d.ts.map +0 -1
  584. package/lib/constants/index.d.ts.map +0 -1
  585. package/lib/constants/network.d.ts.map +0 -1
  586. package/lib/db/beacon.d.ts.map +0 -1
  587. package/lib/db/buckets.d.ts.map +0 -1
  588. package/lib/db/index.d.ts.map +0 -1
  589. package/lib/db/interface.d.ts.map +0 -1
  590. package/lib/db/options.d.ts.map +0 -1
  591. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  592. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  593. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  594. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  595. package/lib/db/repositories/block.d.ts.map +0 -1
  596. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  597. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  598. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  599. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  600. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  601. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  602. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  603. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  604. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  605. package/lib/db/repositories/index.d.ts.map +0 -1
  606. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  607. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  608. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  609. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  610. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  611. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  612. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  613. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  614. package/lib/db/single/index.d.ts.map +0 -1
  615. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  616. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  617. package/lib/eth1/errors.d.ts.map +0 -1
  618. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  619. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  620. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  621. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  622. package/lib/eth1/index.d.ts.map +0 -1
  623. package/lib/eth1/interface.d.ts.map +0 -1
  624. package/lib/eth1/options.d.ts.map +0 -1
  625. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  626. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  627. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  628. package/lib/eth1/provider/utils.d.ts.map +0 -1
  629. package/lib/eth1/stream.d.ts.map +0 -1
  630. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  631. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  632. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  633. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  634. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  635. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  636. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  637. package/lib/execution/builder/cache.d.ts.map +0 -1
  638. package/lib/execution/builder/http.d.ts.map +0 -1
  639. package/lib/execution/builder/index.d.ts.map +0 -1
  640. package/lib/execution/builder/interface.d.ts.map +0 -1
  641. package/lib/execution/builder/utils.d.ts.map +0 -1
  642. package/lib/execution/engine/disabled.d.ts.map +0 -1
  643. package/lib/execution/engine/http.d.ts.map +0 -1
  644. package/lib/execution/engine/index.d.ts.map +0 -1
  645. package/lib/execution/engine/interface.d.ts.map +0 -1
  646. package/lib/execution/engine/mock.d.ts.map +0 -1
  647. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  648. package/lib/execution/engine/types.d.ts.map +0 -1
  649. package/lib/execution/engine/utils.d.ts.map +0 -1
  650. package/lib/execution/index.d.ts.map +0 -1
  651. package/lib/index.d.ts.map +0 -1
  652. package/lib/metrics/index.d.ts.map +0 -1
  653. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  654. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  655. package/lib/metrics/metrics.d.ts.map +0 -1
  656. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  657. package/lib/metrics/options.d.ts.map +0 -1
  658. package/lib/metrics/server/http.d.ts.map +0 -1
  659. package/lib/metrics/server/index.d.ts.map +0 -1
  660. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  661. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  662. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  663. package/lib/monitoring/clientStats.d.ts.map +0 -1
  664. package/lib/monitoring/index.d.ts.map +0 -1
  665. package/lib/monitoring/options.d.ts.map +0 -1
  666. package/lib/monitoring/properties.d.ts.map +0 -1
  667. package/lib/monitoring/service.d.ts.map +0 -1
  668. package/lib/monitoring/system.d.ts.map +0 -1
  669. package/lib/monitoring/types.d.ts.map +0 -1
  670. package/lib/network/core/events.d.ts.map +0 -1
  671. package/lib/network/core/index.d.ts.map +0 -1
  672. package/lib/network/core/metrics.d.ts.map +0 -1
  673. package/lib/network/core/networkCore.d.ts.map +0 -1
  674. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  675. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  676. package/lib/network/core/types.d.ts.map +0 -1
  677. package/lib/network/discv5/index.d.ts.map +0 -1
  678. package/lib/network/discv5/types.d.ts.map +0 -1
  679. package/lib/network/discv5/utils.d.ts.map +0 -1
  680. package/lib/network/discv5/worker.d.ts.map +0 -1
  681. package/lib/network/events.d.ts.map +0 -1
  682. package/lib/network/forks.d.ts.map +0 -1
  683. package/lib/network/gossip/constants.d.ts.map +0 -1
  684. package/lib/network/gossip/encoding.d.ts.map +0 -1
  685. package/lib/network/gossip/errors.d.ts.map +0 -1
  686. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  687. package/lib/network/gossip/index.d.ts.map +0 -1
  688. package/lib/network/gossip/interface.d.ts.map +0 -1
  689. package/lib/network/gossip/metrics.d.ts.map +0 -1
  690. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  691. package/lib/network/gossip/topic.d.ts.map +0 -1
  692. package/lib/network/index.d.ts.map +0 -1
  693. package/lib/network/interface.d.ts.map +0 -1
  694. package/lib/network/libp2p/error.d.ts.map +0 -1
  695. package/lib/network/libp2p/index.d.ts.map +0 -1
  696. package/lib/network/metadata.d.ts.map +0 -1
  697. package/lib/network/network.d.ts.map +0 -1
  698. package/lib/network/networkConfig.d.ts.map +0 -1
  699. package/lib/network/options.d.ts.map +0 -1
  700. package/lib/network/peers/client.d.ts.map +0 -1
  701. package/lib/network/peers/datastore.d.ts.map +0 -1
  702. package/lib/network/peers/discover.d.ts.map +0 -1
  703. package/lib/network/peers/index.d.ts.map +0 -1
  704. package/lib/network/peers/peerManager.d.ts.map +0 -1
  705. package/lib/network/peers/peersData.d.ts.map +0 -1
  706. package/lib/network/peers/score/constants.d.ts.map +0 -1
  707. package/lib/network/peers/score/index.d.ts.map +0 -1
  708. package/lib/network/peers/score/interface.d.ts.map +0 -1
  709. package/lib/network/peers/score/score.d.ts.map +0 -1
  710. package/lib/network/peers/score/store.d.ts.map +0 -1
  711. package/lib/network/peers/score/utils.d.ts.map +0 -1
  712. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  713. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  714. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  715. package/lib/network/peers/utils/index.d.ts.map +0 -1
  716. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  717. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  718. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  719. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  720. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  721. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  722. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  723. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  724. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  725. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  726. package/lib/network/processor/index.d.ts.map +0 -1
  727. package/lib/network/processor/types.d.ts.map +0 -1
  728. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  729. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  730. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  731. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  732. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  733. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  734. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  735. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  736. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  737. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  738. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  739. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  740. package/lib/network/reqresp/index.d.ts.map +0 -1
  741. package/lib/network/reqresp/interface.d.ts.map +0 -1
  742. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  743. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  744. package/lib/network/reqresp/score.d.ts.map +0 -1
  745. package/lib/network/reqresp/types.d.ts.map +0 -1
  746. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  747. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  748. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  749. package/lib/network/statusCache.d.ts.map +0 -1
  750. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  751. package/lib/network/subnets/index.d.ts.map +0 -1
  752. package/lib/network/subnets/interface.d.ts.map +0 -1
  753. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  754. package/lib/network/subnets/util.d.ts.map +0 -1
  755. package/lib/network/util.d.ts.map +0 -1
  756. package/lib/node/index.d.ts.map +0 -1
  757. package/lib/node/nodejs.d.ts.map +0 -1
  758. package/lib/node/notifier.d.ts.map +0 -1
  759. package/lib/node/options.d.ts.map +0 -1
  760. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  761. package/lib/node/utils/interop/state.d.ts.map +0 -1
  762. package/lib/node/utils/lightclient.d.ts.map +0 -1
  763. package/lib/node/utils/state.d.ts.map +0 -1
  764. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  765. package/lib/sync/backfill/errors.d.ts.map +0 -1
  766. package/lib/sync/backfill/index.d.ts.map +0 -1
  767. package/lib/sync/backfill/verify.d.ts.map +0 -1
  768. package/lib/sync/constants.d.ts.map +0 -1
  769. package/lib/sync/index.d.ts.map +0 -1
  770. package/lib/sync/interface.d.ts.map +0 -1
  771. package/lib/sync/options.d.ts.map +0 -1
  772. package/lib/sync/range/batch.d.ts.map +0 -1
  773. package/lib/sync/range/chain.d.ts.map +0 -1
  774. package/lib/sync/range/range.d.ts.map +0 -1
  775. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  776. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  777. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  778. package/lib/sync/range/utils/index.d.ts.map +0 -1
  779. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  780. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  781. package/lib/sync/sync.d.ts.map +0 -1
  782. package/lib/sync/types.d.ts.map +0 -1
  783. package/lib/sync/unknownBlock.d.ts.map +0 -1
  784. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  785. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  786. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  787. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  788. package/lib/util/address.d.ts.map +0 -1
  789. package/lib/util/array.d.ts.map +0 -1
  790. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  791. package/lib/util/binarySearch.d.ts.map +0 -1
  792. package/lib/util/bitArray.d.ts.map +0 -1
  793. package/lib/util/blobs.d.ts.map +0 -1
  794. package/lib/util/bufferPool.d.ts.map +0 -1
  795. package/lib/util/bytes.d.ts.map +0 -1
  796. package/lib/util/chunkify.d.ts.map +0 -1
  797. package/lib/util/clock.d.ts.map +0 -1
  798. package/lib/util/dataColumns.d.ts.map +0 -1
  799. package/lib/util/dependentRoot.d.ts.map +0 -1
  800. package/lib/util/enum.d.ts.map +0 -1
  801. package/lib/util/error.d.ts.map +0 -1
  802. package/lib/util/eventLoop.d.ts.map +0 -1
  803. package/lib/util/execution.d.ts.map +0 -1
  804. package/lib/util/file.d.ts.map +0 -1
  805. package/lib/util/forkChoice.d.ts.map +0 -1
  806. package/lib/util/forkName.d.ts.map +0 -1
  807. package/lib/util/graffiti.d.ts.map +0 -1
  808. package/lib/util/hex.d.ts.map +0 -1
  809. package/lib/util/index.d.ts.map +0 -1
  810. package/lib/util/ip.d.ts.map +0 -1
  811. package/lib/util/itTrigger.d.ts.map +0 -1
  812. package/lib/util/kzg.d.ts.map +0 -1
  813. package/lib/util/map.d.ts.map +0 -1
  814. package/lib/util/metadata.d.ts.map +0 -1
  815. package/lib/util/multifork.d.ts.map +0 -1
  816. package/lib/util/numpy.d.ts.map +0 -1
  817. package/lib/util/peerId.d.ts.map +0 -1
  818. package/lib/util/profile.d.ts.map +0 -1
  819. package/lib/util/promises.d.ts.map +0 -1
  820. package/lib/util/queue/errors.d.ts.map +0 -1
  821. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  822. package/lib/util/queue/index.d.ts.map +0 -1
  823. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  824. package/lib/util/queue/options.d.ts.map +0 -1
  825. package/lib/util/serializedCache.d.ts.map +0 -1
  826. package/lib/util/set.d.ts.map +0 -1
  827. package/lib/util/shuffle.d.ts.map +0 -1
  828. package/lib/util/sortBy.d.ts.map +0 -1
  829. package/lib/util/sszBytes.d.ts.map +0 -1
  830. package/lib/util/strictEvents.d.ts.map +0 -1
  831. package/lib/util/time.d.ts.map +0 -1
  832. package/lib/util/timeSeries.d.ts.map +0 -1
  833. package/lib/util/types.d.ts.map +0 -1
  834. package/lib/util/workerEvents.d.ts.map +0 -1
  835. package/lib/util/wrapError.d.ts.map +0 -1
  836. package/src/api/impl/api.ts +0 -26
  837. package/src/api/impl/beacon/blocks/index.ts +0 -744
  838. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  839. package/src/api/impl/beacon/index.ts +0 -35
  840. package/src/api/impl/beacon/pool/index.ts +0 -314
  841. package/src/api/impl/beacon/rewards/index.ts +0 -30
  842. package/src/api/impl/beacon/state/index.ts +0 -406
  843. package/src/api/impl/beacon/state/utils.ts +0 -189
  844. package/src/api/impl/config/constants.ts +0 -127
  845. package/src/api/impl/config/index.ts +0 -59
  846. package/src/api/impl/debug/index.ts +0 -131
  847. package/src/api/impl/errors.ts +0 -50
  848. package/src/api/impl/events/index.ts +0 -33
  849. package/src/api/impl/index.ts +0 -6
  850. package/src/api/impl/lightclient/index.ts +0 -64
  851. package/src/api/impl/lodestar/index.ts +0 -257
  852. package/src/api/impl/node/index.ts +0 -88
  853. package/src/api/impl/node/utils.ts +0 -51
  854. package/src/api/impl/proof/index.ts +0 -60
  855. package/src/api/impl/types.ts +0 -17
  856. package/src/api/impl/utils.ts +0 -25
  857. package/src/api/impl/validator/index.ts +0 -1538
  858. package/src/api/impl/validator/utils.ts +0 -85
  859. package/src/api/index.ts +0 -2
  860. package/src/api/options.ts +0 -16
  861. package/src/api/rest/activeSockets.ts +0 -109
  862. package/src/api/rest/base.ts +0 -216
  863. package/src/api/rest/index.ts +0 -63
  864. package/src/api/rest/swaggerUI.ts +0 -80
  865. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  866. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  867. package/src/chain/GetBlobsTracker.ts +0 -115
  868. package/src/chain/archiveStore/archiveStore.ts +0 -222
  869. package/src/chain/archiveStore/constants.ts +0 -5
  870. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  871. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  872. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  873. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  874. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  875. package/src/chain/archiveStore/index.ts +0 -3
  876. package/src/chain/archiveStore/interface.ts +0 -75
  877. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  878. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  879. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  880. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  881. package/src/chain/balancesCache.ts +0 -52
  882. package/src/chain/beaconProposerCache.ts +0 -43
  883. package/src/chain/blocks/blockInput/blockInput.ts +0 -851
  884. package/src/chain/blocks/blockInput/errors.ts +0 -48
  885. package/src/chain/blocks/blockInput/index.ts +0 -4
  886. package/src/chain/blocks/blockInput/types.ts +0 -145
  887. package/src/chain/blocks/blockInput/utils.ts +0 -21
  888. package/src/chain/blocks/importBlock.ts +0 -603
  889. package/src/chain/blocks/index.ts +0 -179
  890. package/src/chain/blocks/types.ts +0 -101
  891. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  892. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  893. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  894. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  895. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  896. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  897. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  898. package/src/chain/blocks/verifyBlock.ts +0 -242
  899. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -34
  900. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  901. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  902. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  903. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  904. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  905. package/src/chain/bls/index.ts +0 -4
  906. package/src/chain/bls/interface.ts +0 -68
  907. package/src/chain/bls/maybeBatch.ts +0 -45
  908. package/src/chain/bls/multithread/index.ts +0 -582
  909. package/src/chain/bls/multithread/jobItem.ts +0 -119
  910. package/src/chain/bls/multithread/poolSize.ts +0 -16
  911. package/src/chain/bls/multithread/types.ts +0 -38
  912. package/src/chain/bls/multithread/utils.ts +0 -19
  913. package/src/chain/bls/multithread/worker.ts +0 -114
  914. package/src/chain/bls/singleThread.ts +0 -87
  915. package/src/chain/bls/utils.ts +0 -30
  916. package/src/chain/chain.ts +0 -1365
  917. package/src/chain/emitter.ts +0 -113
  918. package/src/chain/errors/attestationError.ts +0 -194
  919. package/src/chain/errors/attesterSlashingError.ts +0 -11
  920. package/src/chain/errors/blobSidecarError.ts +0 -60
  921. package/src/chain/errors/blockError.ts +0 -166
  922. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  923. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  924. package/src/chain/errors/gossipValidation.ts +0 -20
  925. package/src/chain/errors/index.ts +0 -10
  926. package/src/chain/errors/lightClientError.ts +0 -30
  927. package/src/chain/errors/proposerSlashingError.ts +0 -11
  928. package/src/chain/errors/syncCommitteeError.ts +0 -36
  929. package/src/chain/errors/voluntaryExitError.ts +0 -13
  930. package/src/chain/forkChoice/index.ts +0 -112
  931. package/src/chain/genesis/genesis.ts +0 -190
  932. package/src/chain/genesis/interface.ts +0 -14
  933. package/src/chain/index.ts +0 -6
  934. package/src/chain/initState.ts +0 -221
  935. package/src/chain/interface.ts +0 -280
  936. package/src/chain/lightClient/index.ts +0 -764
  937. package/src/chain/lightClient/proofs.ts +0 -85
  938. package/src/chain/lightClient/types.ts +0 -33
  939. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  940. package/src/chain/opPools/attestationPool.ts +0 -283
  941. package/src/chain/opPools/index.ts +0 -5
  942. package/src/chain/opPools/opPool.ts +0 -462
  943. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -167
  944. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  945. package/src/chain/opPools/types.ts +0 -35
  946. package/src/chain/opPools/utils.ts +0 -65
  947. package/src/chain/options.ts +0 -138
  948. package/src/chain/prepareNextSlot.ts +0 -277
  949. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  950. package/src/chain/produceBlock/index.ts +0 -2
  951. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  952. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  953. package/src/chain/regen/errors.ts +0 -30
  954. package/src/chain/regen/index.ts +0 -4
  955. package/src/chain/regen/interface.ts +0 -93
  956. package/src/chain/regen/queued.ts +0 -317
  957. package/src/chain/regen/regen.ts +0 -424
  958. package/src/chain/reprocess.ts +0 -161
  959. package/src/chain/rewards/attestationsRewards.ts +0 -196
  960. package/src/chain/rewards/blockRewards.ts +0 -150
  961. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  962. package/src/chain/seenCache/index.ts +0 -5
  963. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  964. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  965. package/src/chain/seenCache/seenAttesters.ts +0 -58
  966. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  967. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  968. package/src/chain/seenCache/seenCommittee.ts +0 -43
  969. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  970. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  971. package/src/chain/serializeState.ts +0 -32
  972. package/src/chain/shufflingCache.ts +0 -238
  973. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  974. package/src/chain/stateCache/datastore/db.ts +0 -36
  975. package/src/chain/stateCache/datastore/file.ts +0 -53
  976. package/src/chain/stateCache/datastore/index.ts +0 -2
  977. package/src/chain/stateCache/datastore/types.ts +0 -13
  978. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  979. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  980. package/src/chain/stateCache/index.ts +0 -3
  981. package/src/chain/stateCache/mapMetrics.ts +0 -52
  982. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -835
  983. package/src/chain/stateCache/types.ts +0 -86
  984. package/src/chain/validation/aggregateAndProof.ts +0 -258
  985. package/src/chain/validation/attestation.ts +0 -885
  986. package/src/chain/validation/attesterSlashing.ts +0 -61
  987. package/src/chain/validation/blobSidecar.ts +0 -301
  988. package/src/chain/validation/block.ts +0 -188
  989. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  990. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  991. package/src/chain/validation/index.ts +0 -9
  992. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -45
  993. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -67
  994. package/src/chain/validation/proposerSlashing.ts +0 -54
  995. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  996. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  997. package/src/chain/validation/signatureSets/index.ts +0 -6
  998. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  999. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  1000. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  1001. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  1002. package/src/chain/validation/syncCommittee.ts +0 -165
  1003. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  1004. package/src/chain/validation/voluntaryExit.ts +0 -58
  1005. package/src/chain/validatorMonitor.ts +0 -1299
  1006. package/src/constants/constants.ts +0 -15
  1007. package/src/constants/index.ts +0 -2
  1008. package/src/constants/network.ts +0 -52
  1009. package/src/db/beacon.ts +0 -113
  1010. package/src/db/buckets.ts +0 -80
  1011. package/src/db/index.ts +0 -2
  1012. package/src/db/interface.ts +0 -76
  1013. package/src/db/options.ts +0 -7
  1014. package/src/db/repositories/attesterSlashing.ts +0 -38
  1015. package/src/db/repositories/backfilledRanges.ts +0 -29
  1016. package/src/db/repositories/blobSidecars.ts +0 -37
  1017. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  1018. package/src/db/repositories/block.ts +0 -33
  1019. package/src/db/repositories/blockArchive.ts +0 -170
  1020. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  1021. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  1022. package/src/db/repositories/checkpointState.ts +0 -31
  1023. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  1024. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  1025. package/src/db/repositories/depositDataRoot.ts +0 -80
  1026. package/src/db/repositories/depositEvent.ts +0 -32
  1027. package/src/db/repositories/eth1Data.ts +0 -33
  1028. package/src/db/repositories/index.ts +0 -20
  1029. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  1030. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  1031. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  1032. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  1033. package/src/db/repositories/proposerSlashing.ts +0 -15
  1034. package/src/db/repositories/stateArchive.ts +0 -69
  1035. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  1036. package/src/db/repositories/voluntaryExit.ts +0 -15
  1037. package/src/db/single/index.ts +0 -2
  1038. package/src/db/single/preGenesisState.ts +0 -37
  1039. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  1040. package/src/eth1/errors.ts +0 -40
  1041. package/src/eth1/eth1DataCache.ts +0 -26
  1042. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  1043. package/src/eth1/eth1DepositsCache.ts +0 -141
  1044. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  1045. package/src/eth1/index.ts +0 -157
  1046. package/src/eth1/interface.ts +0 -131
  1047. package/src/eth1/options.ts +0 -28
  1048. package/src/eth1/provider/eth1Provider.ts +0 -229
  1049. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  1050. package/src/eth1/provider/jwt.ts +0 -36
  1051. package/src/eth1/provider/utils.ts +0 -136
  1052. package/src/eth1/stream.ts +0 -75
  1053. package/src/eth1/utils/depositContract.ts +0 -37
  1054. package/src/eth1/utils/deposits.ts +0 -70
  1055. package/src/eth1/utils/eth1Data.ts +0 -100
  1056. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  1057. package/src/eth1/utils/eth1Vote.ts +0 -142
  1058. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  1059. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  1060. package/src/execution/builder/cache.ts +0 -39
  1061. package/src/execution/builder/http.ts +0 -229
  1062. package/src/execution/builder/index.ts +0 -27
  1063. package/src/execution/builder/interface.ts +0 -49
  1064. package/src/execution/builder/utils.ts +0 -19
  1065. package/src/execution/engine/disabled.ts +0 -35
  1066. package/src/execution/engine/http.ts +0 -644
  1067. package/src/execution/engine/index.ts +0 -63
  1068. package/src/execution/engine/interface.ts +0 -199
  1069. package/src/execution/engine/mock.ts +0 -493
  1070. package/src/execution/engine/payloadIdCache.ts +0 -54
  1071. package/src/execution/engine/types.ts +0 -640
  1072. package/src/execution/engine/utils.ts +0 -136
  1073. package/src/execution/index.ts +0 -4
  1074. package/src/index.ts +0 -20
  1075. package/src/metrics/index.ts +0 -4
  1076. package/src/metrics/metrics/beacon.ts +0 -390
  1077. package/src/metrics/metrics/lodestar.ts +0 -1870
  1078. package/src/metrics/metrics.ts +0 -43
  1079. package/src/metrics/nodeJsMetrics.ts +0 -19
  1080. package/src/metrics/options.ts +0 -22
  1081. package/src/metrics/server/http.ts +0 -114
  1082. package/src/metrics/server/index.ts +0 -1
  1083. package/src/metrics/utils/avgMinMax.ts +0 -87
  1084. package/src/metrics/utils/gauge.ts +0 -22
  1085. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  1086. package/src/monitoring/clientStats.ts +0 -297
  1087. package/src/monitoring/index.ts +0 -2
  1088. package/src/monitoring/options.ts +0 -19
  1089. package/src/monitoring/properties.ts +0 -152
  1090. package/src/monitoring/service.ts +0 -235
  1091. package/src/monitoring/system.ts +0 -146
  1092. package/src/monitoring/types.ts +0 -21
  1093. package/src/network/core/events.ts +0 -59
  1094. package/src/network/core/index.ts +0 -3
  1095. package/src/network/core/metrics.ts +0 -304
  1096. package/src/network/core/networkCore.ts +0 -599
  1097. package/src/network/core/networkCoreWorker.ts +0 -176
  1098. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  1099. package/src/network/core/types.ts +0 -119
  1100. package/src/network/discv5/index.ts +0 -132
  1101. package/src/network/discv5/types.ts +0 -74
  1102. package/src/network/discv5/utils.ts +0 -50
  1103. package/src/network/discv5/worker.ts +0 -137
  1104. package/src/network/events.ts +0 -51
  1105. package/src/network/forks.ts +0 -94
  1106. package/src/network/gossip/constants.ts +0 -15
  1107. package/src/network/gossip/encoding.ts +0 -111
  1108. package/src/network/gossip/errors.ts +0 -7
  1109. package/src/network/gossip/gossipsub.ts +0 -384
  1110. package/src/network/gossip/index.ts +0 -4
  1111. package/src/network/gossip/interface.ts +0 -215
  1112. package/src/network/gossip/metrics.ts +0 -71
  1113. package/src/network/gossip/scoringParameters.ts +0 -333
  1114. package/src/network/gossip/topic.ts +0 -332
  1115. package/src/network/index.ts +0 -8
  1116. package/src/network/interface.ts +0 -134
  1117. package/src/network/libp2p/error.ts +0 -55
  1118. package/src/network/libp2p/index.ts +0 -153
  1119. package/src/network/metadata.ts +0 -162
  1120. package/src/network/network.ts +0 -767
  1121. package/src/network/networkConfig.ts +0 -12
  1122. package/src/network/options.ts +0 -70
  1123. package/src/network/peers/client.ts +0 -29
  1124. package/src/network/peers/datastore.ts +0 -188
  1125. package/src/network/peers/discover.ts +0 -647
  1126. package/src/network/peers/index.ts +0 -2
  1127. package/src/network/peers/peerManager.ts +0 -899
  1128. package/src/network/peers/peersData.ts +0 -65
  1129. package/src/network/peers/score/constants.ts +0 -34
  1130. package/src/network/peers/score/index.ts +0 -4
  1131. package/src/network/peers/score/interface.ts +0 -74
  1132. package/src/network/peers/score/score.ts +0 -200
  1133. package/src/network/peers/score/store.ts +0 -95
  1134. package/src/network/peers/score/utils.ts +0 -37
  1135. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  1136. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  1137. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  1138. package/src/network/peers/utils/index.ts +0 -4
  1139. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  1140. package/src/network/peers/utils/subnetMap.ts +0 -88
  1141. package/src/network/processor/aggregatorTracker.ts +0 -38
  1142. package/src/network/processor/extractSlotRootFns.ts +0 -64
  1143. package/src/network/processor/gossipHandlers.ts +0 -951
  1144. package/src/network/processor/gossipQueues/index.ts +0 -114
  1145. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  1146. package/src/network/processor/gossipQueues/linear.ts +0 -162
  1147. package/src/network/processor/gossipQueues/types.ts +0 -57
  1148. package/src/network/processor/gossipValidatorFn.ts +0 -142
  1149. package/src/network/processor/index.ts +0 -496
  1150. package/src/network/processor/types.ts +0 -27
  1151. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  1152. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  1153. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  1154. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  1155. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  1156. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  1157. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  1158. package/src/network/reqresp/handlers/index.ts +0 -78
  1159. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  1160. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  1161. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  1162. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  1163. package/src/network/reqresp/index.ts +0 -2
  1164. package/src/network/reqresp/interface.ts +0 -45
  1165. package/src/network/reqresp/protocols.ts +0 -146
  1166. package/src/network/reqresp/rateLimit.ts +0 -112
  1167. package/src/network/reqresp/score.ts +0 -70
  1168. package/src/network/reqresp/types.ts +0 -174
  1169. package/src/network/reqresp/utils/collect.ts +0 -84
  1170. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  1171. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  1172. package/src/network/statusCache.ts +0 -17
  1173. package/src/network/subnets/attnetsService.ts +0 -385
  1174. package/src/network/subnets/index.ts +0 -2
  1175. package/src/network/subnets/interface.ts +0 -66
  1176. package/src/network/subnets/syncnetsService.ts +0 -147
  1177. package/src/network/subnets/util.ts +0 -63
  1178. package/src/network/util.ts +0 -29
  1179. package/src/node/index.ts +0 -2
  1180. package/src/node/nodejs.ts +0 -349
  1181. package/src/node/notifier.ts +0 -206
  1182. package/src/node/options.ts +0 -51
  1183. package/src/node/utils/interop/deposits.ts +0 -53
  1184. package/src/node/utils/interop/state.ts +0 -59
  1185. package/src/node/utils/lightclient.ts +0 -7
  1186. package/src/node/utils/state.ts +0 -37
  1187. package/src/sync/backfill/backfill.ts +0 -893
  1188. package/src/sync/backfill/errors.ts +0 -23
  1189. package/src/sync/backfill/index.ts +0 -1
  1190. package/src/sync/backfill/verify.ts +0 -58
  1191. package/src/sync/constants.ts +0 -71
  1192. package/src/sync/index.ts +0 -2
  1193. package/src/sync/interface.ts +0 -55
  1194. package/src/sync/options.ts +0 -45
  1195. package/src/sync/range/batch.ts +0 -455
  1196. package/src/sync/range/chain.ts +0 -715
  1197. package/src/sync/range/range.ts +0 -354
  1198. package/src/sync/range/utils/batches.ts +0 -119
  1199. package/src/sync/range/utils/chainTarget.ts +0 -62
  1200. package/src/sync/range/utils/hashBlocks.ts +0 -27
  1201. package/src/sync/range/utils/index.ts +0 -5
  1202. package/src/sync/range/utils/peerBalancer.ts +0 -184
  1203. package/src/sync/range/utils/updateChains.ts +0 -66
  1204. package/src/sync/sync.ts +0 -290
  1205. package/src/sync/types.ts +0 -57
  1206. package/src/sync/unknownBlock.ts +0 -859
  1207. package/src/sync/utils/downloadByRange.ts +0 -808
  1208. package/src/sync/utils/downloadByRoot.ts +0 -560
  1209. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  1210. package/src/sync/utils/remoteSyncType.ts +0 -144
  1211. package/src/util/address.ts +0 -3
  1212. package/src/util/array.ts +0 -311
  1213. package/src/util/asyncIterableToEvents.ts +0 -164
  1214. package/src/util/binarySearch.ts +0 -48
  1215. package/src/util/bitArray.ts +0 -84
  1216. package/src/util/blobs.ts +0 -210
  1217. package/src/util/bufferPool.ts +0 -95
  1218. package/src/util/bytes.ts +0 -11
  1219. package/src/util/chunkify.ts +0 -27
  1220. package/src/util/clock.ts +0 -204
  1221. package/src/util/dataColumns.ts +0 -415
  1222. package/src/util/dependentRoot.ts +0 -47
  1223. package/src/util/enum.ts +0 -17
  1224. package/src/util/error.ts +0 -56
  1225. package/src/util/eventLoop.ts +0 -22
  1226. package/src/util/execution.ts +0 -223
  1227. package/src/util/file.ts +0 -52
  1228. package/src/util/forkChoice.ts +0 -5
  1229. package/src/util/forkName.ts +0 -20
  1230. package/src/util/graffiti.ts +0 -39
  1231. package/src/util/hex.ts +0 -9
  1232. package/src/util/index.ts +0 -2
  1233. package/src/util/ip.ts +0 -6
  1234. package/src/util/itTrigger.ts +0 -49
  1235. package/src/util/kzg.ts +0 -3
  1236. package/src/util/map.ts +0 -77
  1237. package/src/util/metadata.ts +0 -22
  1238. package/src/util/multifork.ts +0 -69
  1239. package/src/util/numpy.ts +0 -8
  1240. package/src/util/peerId.ts +0 -16
  1241. package/src/util/profile.ts +0 -54
  1242. package/src/util/promises.ts +0 -14
  1243. package/src/util/queue/errors.ts +0 -14
  1244. package/src/util/queue/fnQueue.ts +0 -16
  1245. package/src/util/queue/index.ts +0 -4
  1246. package/src/util/queue/itemQueue.ts +0 -128
  1247. package/src/util/queue/options.ts +0 -37
  1248. package/src/util/serializedCache.ts +0 -20
  1249. package/src/util/set.ts +0 -62
  1250. package/src/util/shuffle.ts +0 -21
  1251. package/src/util/sortBy.ts +0 -19
  1252. package/src/util/sszBytes.ts +0 -481
  1253. package/src/util/strictEvents.ts +0 -8
  1254. package/src/util/time.ts +0 -13
  1255. package/src/util/timeSeries.ts +0 -118
  1256. package/src/util/types.ts +0 -31
  1257. package/src/util/workerEvents.ts +0 -142
  1258. package/src/util/wrapError.ts +0 -27
@@ -1,644 +0,0 @@
1
- import {Logger} from "@lodestar/logger";
2
- import {ForkName, ForkPostFulu, ForkPreFulu, ForkSeq, SLOTS_PER_EPOCH, isForkPostFulu} from "@lodestar/params";
3
- import {BlobsBundle, ExecutionPayload, ExecutionRequests, Root, RootHex, Wei} from "@lodestar/types";
4
- import {BlobAndProof} from "@lodestar/types/deneb";
5
- import {BlobAndProofV2} from "@lodestar/types/fulu";
6
- import {strip0xPrefix} from "@lodestar/utils";
7
- import {
8
- ErrorJsonRpcResponse,
9
- HttpRpcError,
10
- IJsonRpcHttpClient,
11
- JsonRpcHttpClientEvent,
12
- ReqOpts,
13
- } from "../../eth1/provider/jsonRpcHttpClient.js";
14
- import {bytesToData, numToQuantity} from "../../eth1/provider/utils.js";
15
- import {Metrics} from "../../metrics/index.js";
16
- import {EPOCHS_PER_BATCH} from "../../sync/constants.js";
17
- import {getLodestarClientVersion} from "../../util/metadata.js";
18
- import {JobItemQueue} from "../../util/queue/index.js";
19
- import {
20
- ClientCode,
21
- ClientVersion,
22
- ExecutePayloadResponse,
23
- ExecutionEngineState,
24
- ExecutionPayloadStatus,
25
- IExecutionEngine,
26
- PayloadAttributes,
27
- PayloadId,
28
- VersionedHashes,
29
- } from "./interface.js";
30
- import {PayloadIdCache} from "./payloadIdCache.js";
31
- import {
32
- BLOB_AND_PROOF_V2_RPC_BYTES,
33
- EngineApiRpcParamTypes,
34
- EngineApiRpcReturnTypes,
35
- ExecutionPayloadBody,
36
- assertReqSizeLimit,
37
- deserializeBlobAndProofs,
38
- deserializeBlobAndProofsV2,
39
- deserializeBlobAndProofsV2IntoBytes,
40
- deserializeExecutionPayloadBody,
41
- parseExecutionPayload,
42
- serializeBeaconBlockRoot,
43
- serializeExecutionPayload,
44
- serializeExecutionRequests,
45
- serializePayloadAttributes,
46
- serializeVersionedHashes,
47
- } from "./types.js";
48
- import {getExecutionEngineState} from "./utils.js";
49
-
50
- export type ExecutionEngineModules = {
51
- signal: AbortSignal;
52
- metrics?: Metrics | null;
53
- logger: Logger;
54
- };
55
-
56
- export type ExecutionEngineHttpOpts = {
57
- urls: string[];
58
- retries: number;
59
- retryDelay: number;
60
- timeout?: number;
61
- /**
62
- * 256 bit jwt secret in hex format without the leading 0x. If provided, the execution engine
63
- * rpc requests will be bundled by an authorization header having a fresh jwt token on each
64
- * request, as the EL auth specs mandate the fresh of the token (iat) to be checked within
65
- * +-5 seconds interval.
66
- */
67
- jwtSecretHex?: string;
68
- /**
69
- * An identifier string passed as CLI arg that will be set in `id` field of jwt claims
70
- */
71
- jwtId?: string;
72
- /**
73
- * A version string that will be set in `clv` field of jwt claims
74
- */
75
- jwtVersion?: string;
76
- /**
77
- * Lodestar version to be used for `ClientVersion`
78
- */
79
- version?: string;
80
- /**
81
- * Lodestar commit to be used for `ClientVersion`
82
- */
83
- commit?: string;
84
- };
85
-
86
- export const defaultExecutionEngineHttpOpts: ExecutionEngineHttpOpts = {
87
- /**
88
- * By default ELs host engine api on an auth protected 8551 port, would need a jwt secret to be
89
- * specified to bundle jwt tokens if that is the case. In case one has access to an open
90
- * port/url, one can override this and skip providing a jwt secret.
91
- */
92
- urls: ["http://localhost:8551"],
93
- retries: 2,
94
- retryDelay: 2000,
95
- timeout: 12000,
96
- };
97
-
98
- /**
99
- * Size for the serializing queue for fcUs and new payloads, the max length could be equal to
100
- * EPOCHS_PER_BATCH * 2 in case new payloads are also not awaited serially
101
- */
102
- const QUEUE_MAX_LENGTH = EPOCHS_PER_BATCH * SLOTS_PER_EPOCH * 2;
103
-
104
- /**
105
- * Maximum number of version hashes that can be sent in a getBlobs request
106
- * Clients must support at least 128 versionedHashes, so we avoid sending more
107
- * https://github.com/ethereum/execution-apis/blob/main/src/engine/cancun.md#specification-3
108
- */
109
- const MAX_VERSIONED_HASHES = 128;
110
-
111
- // Define static options once to prevent extra allocations
112
- const notifyNewPayloadOpts: ReqOpts = {routeId: "notifyNewPayload"};
113
- const forkchoiceUpdatedV1Opts: ReqOpts = {routeId: "forkchoiceUpdated"};
114
- const getPayloadOpts: ReqOpts = {routeId: "getPayload"};
115
- const getPayloadBodiesByHashOpts: ReqOpts = {routeId: "getPayloadBodiesByHash"};
116
- const getPayloadBodiesByRangeOpts: ReqOpts = {routeId: "getPayloadBodiesByRange"};
117
- const getBlobsV1Opts: ReqOpts = {routeId: "getBlobsV1"};
118
- const getBlobsV2Opts: ReqOpts = {routeId: "getBlobsV2"};
119
- const getClientVersionOpts: ReqOpts = {routeId: "getClientVersion"};
120
-
121
- /**
122
- * based on Ethereum JSON-RPC API and inherits the following properties of this standard:
123
- * - Supported communication protocols (HTTP and WebSocket)
124
- * - Message format and encoding notation
125
- * - Error codes improvement proposal
126
- *
127
- * Client software MUST expose Engine API at a port independent from JSON-RPC API. The default port for the Engine API is 8550 for HTTP and 8551 for WebSocket.
128
- * https://github.com/ethereum/execution-apis/blob/v1.0.0-alpha.1/src/engine/interop/specification.md
129
- */
130
- export class ExecutionEngineHttp implements IExecutionEngine {
131
- private logger: Logger;
132
-
133
- // The default state is ONLINE, it will be updated to SYNCING once we receive the first payload
134
- // This assumption is better than the OFFLINE state, since we can't be sure if the EL is offline and being offline may trigger some notifications
135
- // It's safer to to avoid false positives and assume that the EL is syncing until we receive the first payload
136
- state: ExecutionEngineState = ExecutionEngineState.ONLINE;
137
-
138
- /** Cached EL client version from the latest getClientVersion call */
139
- clientVersion?: ClientVersion | null;
140
-
141
- readonly payloadIdCache = new PayloadIdCache();
142
- /**
143
- * A queue to serialize the fcUs and newPayloads calls:
144
- *
145
- * While syncing, lodestar has a batch processing module which calls new payloads in batch followed by fcUs.
146
- * Even though we await for responses to new payloads serially, we just trigger fcUs consecutively. This
147
- * may lead to the EL receiving the fcUs out of the order and may break the EL's backfill/beacon sync. Since
148
- * the order of new payloads and fcUs is pretty important to EL, this queue will serialize the calls in the
149
- * order with which we make them.
150
- */
151
- private readonly rpcFetchQueue: JobItemQueue<[EngineRequest], EngineResponse>;
152
-
153
- private jobQueueProcessor = async ({method, params, methodOpts}: EngineRequest): Promise<EngineResponse> => {
154
- return this.rpc.fetchWithRetries<EngineApiRpcReturnTypes[typeof method], EngineApiRpcParamTypes[typeof method]>(
155
- {method, params},
156
- methodOpts
157
- );
158
- };
159
-
160
- constructor(
161
- private readonly rpc: IJsonRpcHttpClient,
162
- {metrics, signal, logger}: ExecutionEngineModules,
163
- private readonly opts?: ExecutionEngineHttpOpts
164
- ) {
165
- this.rpcFetchQueue = new JobItemQueue<[EngineRequest], EngineResponse>(
166
- this.jobQueueProcessor,
167
- {maxLength: QUEUE_MAX_LENGTH, maxConcurrency: 1, noYieldIfOneItem: true, signal},
168
- metrics?.engineHttpProcessorQueue
169
- );
170
- this.logger = logger;
171
-
172
- this.rpc.emitter.on(JsonRpcHttpClientEvent.ERROR, ({error}) => {
173
- this.updateEngineState(getExecutionEngineState({payloadError: error, oldState: this.state}));
174
- });
175
-
176
- this.rpc.emitter.on(JsonRpcHttpClientEvent.RESPONSE, () => {
177
- if (this.clientVersion === undefined) {
178
- this.clientVersion = null;
179
- // This statement should only be called first time receiving response after startup
180
- this.getClientVersion(getLodestarClientVersion(this.opts)).catch((e) => {
181
- this.logger.debug("Unable to get execution client version", {}, e);
182
- });
183
- }
184
- this.updateEngineState(getExecutionEngineState({targetState: ExecutionEngineState.ONLINE, oldState: this.state}));
185
- });
186
- }
187
-
188
- /**
189
- * `engine_newPayloadV1`
190
- * From: https://github.com/ethereum/execution-apis/blob/v1.0.0-alpha.6/src/engine/specification.md#engine_newpayloadv1
191
- *
192
- * Client software MUST respond to this method call in the following way:
193
- *
194
- * 1. {status: INVALID_BLOCK_HASH, latestValidHash: null, validationError:
195
- * errorMessage | null} if the blockHash validation has failed
196
- *
197
- * 2. {status: INVALID_TERMINAL_BLOCK, latestValidHash: null, validationError:
198
- * errorMessage | null} if terminal block conditions are not satisfied
199
- *
200
- * 3. {status: SYNCING, latestValidHash: null, validationError: null} if the payload
201
- * extends the canonical chain and requisite data for its validation is missing
202
- * with the payload status obtained from the Payload validation process if the payload
203
- * has been fully validated while processing the call
204
- *
205
- * 4. {status: ACCEPTED, latestValidHash: null, validationError: null} if the
206
- * following conditions are met:
207
- * i) the blockHash of the payload is valid
208
- * ii) the payload doesn't extend the canonical chain
209
- * iii) the payload hasn't been fully validated.
210
- *
211
- * If any of the above fails due to errors unrelated to the normal processing flow of the method, client software MUST respond with an error object.
212
- */
213
- async notifyNewPayload(
214
- fork: ForkName,
215
- executionPayload: ExecutionPayload,
216
- versionedHashes?: VersionedHashes,
217
- parentBlockRoot?: Root,
218
- executionRequests?: ExecutionRequests
219
- ): Promise<ExecutePayloadResponse> {
220
- const method =
221
- ForkSeq[fork] >= ForkSeq.electra
222
- ? "engine_newPayloadV4"
223
- : ForkSeq[fork] >= ForkSeq.deneb
224
- ? "engine_newPayloadV3"
225
- : ForkSeq[fork] >= ForkSeq.capella
226
- ? "engine_newPayloadV2"
227
- : "engine_newPayloadV1";
228
-
229
- const serializedExecutionPayload = serializeExecutionPayload(fork, executionPayload);
230
-
231
- let engineRequest: EngineRequest;
232
- if (ForkSeq[fork] >= ForkSeq.deneb) {
233
- if (versionedHashes === undefined) {
234
- throw Error(`versionedHashes required in notifyNewPayload for fork=${fork}`);
235
- }
236
- if (parentBlockRoot === undefined) {
237
- throw Error(`parentBlockRoot required in notifyNewPayload for fork=${fork}`);
238
- }
239
-
240
- const serializedVersionedHashes = serializeVersionedHashes(versionedHashes);
241
- const parentBeaconBlockRoot = serializeBeaconBlockRoot(parentBlockRoot);
242
-
243
- if (ForkSeq[fork] >= ForkSeq.electra) {
244
- if (executionRequests === undefined) {
245
- throw Error(`executionRequests required in notifyNewPayload for fork=${fork}`);
246
- }
247
- const serializedExecutionRequests = serializeExecutionRequests(executionRequests);
248
- engineRequest = {
249
- method: "engine_newPayloadV4",
250
- params: [
251
- serializedExecutionPayload,
252
- serializedVersionedHashes,
253
- parentBeaconBlockRoot,
254
- serializedExecutionRequests,
255
- ],
256
- methodOpts: notifyNewPayloadOpts,
257
- };
258
- } else {
259
- engineRequest = {
260
- method: "engine_newPayloadV3",
261
- params: [serializedExecutionPayload, serializedVersionedHashes, parentBeaconBlockRoot],
262
- methodOpts: notifyNewPayloadOpts,
263
- };
264
- }
265
- } else {
266
- const method = ForkSeq[fork] >= ForkSeq.capella ? "engine_newPayloadV2" : "engine_newPayloadV1";
267
- engineRequest = {
268
- method,
269
- params: [serializedExecutionPayload],
270
- methodOpts: notifyNewPayloadOpts,
271
- };
272
- }
273
-
274
- const {status, latestValidHash, validationError} = await (
275
- this.rpcFetchQueue.push(engineRequest) as Promise<EngineApiRpcReturnTypes[typeof method]>
276
- ).catch((e: Error) => {
277
- if (e instanceof HttpRpcError || e instanceof ErrorJsonRpcResponse) {
278
- return {status: ExecutionPayloadStatus.ELERROR, latestValidHash: null, validationError: e.message};
279
- }
280
- return {status: ExecutionPayloadStatus.UNAVAILABLE, latestValidHash: null, validationError: e.message};
281
- });
282
-
283
- this.updateEngineState(getExecutionEngineState({payloadStatus: status, oldState: this.state}));
284
-
285
- switch (status) {
286
- case ExecutionPayloadStatus.VALID:
287
- return {status, latestValidHash: latestValidHash ?? "0x0", validationError: null};
288
-
289
- case ExecutionPayloadStatus.INVALID:
290
- // As per latest specs if latestValidHash can be null and it would mean only
291
- // invalidate this block
292
- return {status, latestValidHash, validationError};
293
-
294
- case ExecutionPayloadStatus.SYNCING:
295
- case ExecutionPayloadStatus.ACCEPTED:
296
- return {status, latestValidHash: null, validationError: null};
297
-
298
- case ExecutionPayloadStatus.INVALID_BLOCK_HASH:
299
- return {status, latestValidHash: null, validationError: validationError ?? "Malformed block"};
300
-
301
- case ExecutionPayloadStatus.UNAVAILABLE:
302
- case ExecutionPayloadStatus.ELERROR:
303
- return {
304
- status,
305
- latestValidHash: null,
306
- validationError: validationError ?? "Unknown ELERROR",
307
- };
308
-
309
- default:
310
- return {
311
- status: ExecutionPayloadStatus.ELERROR,
312
- latestValidHash: null,
313
- validationError: `Invalid EL status on executePayload: ${status}`,
314
- };
315
- }
316
- }
317
-
318
- /**
319
- * `engine_forkchoiceUpdatedV1`
320
- * From: https://github.com/ethereum/execution-apis/blob/v1.0.0-alpha.6/src/engine/specification.md#engine_forkchoiceupdatedv1
321
- *
322
- * Client software MUST respond to this method call in the following way:
323
- *
324
- * 1. {payloadStatus: {status: SYNCING, latestValidHash: null, validationError: null}
325
- * , payloadId: null}
326
- * if forkchoiceState.headBlockHash references an unknown payload or a payload that
327
- * can't be validated because requisite data for the validation is missing
328
- *
329
- * 2. {payloadStatus: {status: INVALID, latestValidHash: null, validationError:
330
- * errorMessage | null}, payloadId: null}
331
- * obtained from the Payload validation process if the payload is deemed INVALID
332
- *
333
- * 3. {payloadStatus: {status: INVALID_TERMINAL_BLOCK, latestValidHash: null,
334
- * validationError: errorMessage | null}, payloadId: null}
335
- * either obtained from the Payload validation process or as a result of validating a
336
- * PoW block referenced by forkchoiceState.headBlockHash
337
- *
338
- * 4. {payloadStatus: {status: VALID, latestValidHash: forkchoiceState.headBlockHash,
339
- * validationError: null}, payloadId: null}
340
- * if the payload is deemed VALID and a build process hasn't been started
341
- *
342
- * 5. {payloadStatus: {status: VALID, latestValidHash: forkchoiceState.headBlockHash,
343
- * validationError: null}, payloadId: buildProcessId}
344
- * if the payload is deemed VALID and the build process has begun.
345
- *
346
- * If any of the above fails due to errors unrelated to the normal processing flow of the method, client software MUST respond with an error object.
347
- */
348
- async notifyForkchoiceUpdate(
349
- fork: ForkName,
350
- headBlockHash: RootHex,
351
- safeBlockHash: RootHex,
352
- finalizedBlockHash: RootHex,
353
- payloadAttributes?: PayloadAttributes
354
- ): Promise<PayloadId | null> {
355
- // Once on capella, should this need to be permanently switched to v2 when payload attrs
356
- // not provided
357
- const method =
358
- ForkSeq[fork] >= ForkSeq.deneb
359
- ? "engine_forkchoiceUpdatedV3"
360
- : ForkSeq[fork] >= ForkSeq.capella
361
- ? "engine_forkchoiceUpdatedV2"
362
- : "engine_forkchoiceUpdatedV1";
363
- const payloadAttributesRpc = payloadAttributes ? serializePayloadAttributes(payloadAttributes) : undefined;
364
- // If we are just fcUing and not asking execution for payload, retry is not required
365
- // and we can move on, as the next fcU will be issued soon on the new slot
366
- const fcUReqOpts =
367
- payloadAttributes !== undefined ? forkchoiceUpdatedV1Opts : {...forkchoiceUpdatedV1Opts, retries: 0};
368
-
369
- const request = this.rpcFetchQueue.push({
370
- method,
371
- params: [{headBlockHash, safeBlockHash, finalizedBlockHash}, payloadAttributesRpc],
372
- methodOpts: fcUReqOpts,
373
- }) as Promise<EngineApiRpcReturnTypes[typeof method]>;
374
-
375
- const {
376
- payloadStatus: {status, latestValidHash: _latestValidHash, validationError},
377
- payloadId,
378
- } = await request;
379
-
380
- this.updateEngineState(getExecutionEngineState({payloadStatus: status, oldState: this.state}));
381
-
382
- switch (status) {
383
- case ExecutionPayloadStatus.VALID:
384
- // if payloadAttributes are provided, a valid payloadId is expected
385
- if (payloadAttributesRpc) {
386
- if (!payloadId || payloadId === "0x") {
387
- throw Error(`Received invalid payloadId=${payloadId}`);
388
- }
389
-
390
- this.payloadIdCache.add({headBlockHash, finalizedBlockHash, ...payloadAttributesRpc}, payloadId);
391
- void this.prunePayloadIdCache();
392
- }
393
- return payloadId !== "0x" ? payloadId : null;
394
-
395
- case ExecutionPayloadStatus.SYNCING:
396
- // Throw error on syncing if requested to produce a block, else silently ignore
397
- if (payloadAttributes) {
398
- throw Error("Execution Layer Syncing");
399
- }
400
- return null;
401
-
402
- case ExecutionPayloadStatus.INVALID:
403
- throw Error(
404
- `Invalid ${payloadAttributes ? "prepare payload" : "forkchoice request"}, validationError=${
405
- validationError ?? ""
406
- }`
407
- );
408
-
409
- default:
410
- throw Error(`Unknown status ${status}`);
411
- }
412
- }
413
-
414
- /**
415
- * `engine_getPayloadV1`
416
- *
417
- * 1. Given the payloadId client software MUST respond with the most recent version of the payload that is available in the corresponding building process at the time of receiving the call.
418
- * 2. The call MUST be responded with 5: Unavailable payload error if the building process identified by the payloadId doesn't exist.
419
- * 3. Client software MAY stop the corresponding building process after serving this call.
420
- */
421
- async getPayload(
422
- fork: ForkName,
423
- payloadId: PayloadId
424
- ): Promise<{
425
- executionPayload: ExecutionPayload;
426
- executionPayloadValue: Wei;
427
- blobsBundle?: BlobsBundle;
428
- executionRequests?: ExecutionRequests;
429
- shouldOverrideBuilder?: boolean;
430
- }> {
431
- let method: keyof EngineApiRpcReturnTypes;
432
- switch (fork) {
433
- case ForkName.phase0:
434
- case ForkName.altair:
435
- case ForkName.bellatrix:
436
- method = "engine_getPayloadV1";
437
- break;
438
- case ForkName.capella:
439
- method = "engine_getPayloadV2";
440
- break;
441
- case ForkName.deneb:
442
- method = "engine_getPayloadV3";
443
- break;
444
- case ForkName.electra:
445
- method = "engine_getPayloadV4";
446
- break;
447
- default:
448
- method = "engine_getPayloadV5";
449
- break;
450
- }
451
- const payloadResponse = await this.rpc.fetchWithRetries<
452
- EngineApiRpcReturnTypes[typeof method],
453
- EngineApiRpcParamTypes[typeof method]
454
- >(
455
- {
456
- method,
457
- params: [payloadId],
458
- },
459
- getPayloadOpts
460
- );
461
- return parseExecutionPayload(fork, payloadResponse);
462
- }
463
-
464
- async prunePayloadIdCache(): Promise<void> {
465
- this.payloadIdCache.prune();
466
- }
467
-
468
- async getPayloadBodiesByHash(_fork: ForkName, blockHashes: RootHex[]): Promise<(ExecutionPayloadBody | null)[]> {
469
- const method = "engine_getPayloadBodiesByHashV1";
470
- assertReqSizeLimit(blockHashes.length, 32);
471
- const response = await this.rpc.fetchWithRetries<
472
- EngineApiRpcReturnTypes[typeof method],
473
- EngineApiRpcParamTypes[typeof method]
474
- >({method, params: [blockHashes]}, getPayloadBodiesByHashOpts);
475
- return response.map(deserializeExecutionPayloadBody);
476
- }
477
-
478
- async getPayloadBodiesByRange(
479
- _fork: ForkName,
480
- startBlockNumber: number,
481
- blockCount: number
482
- ): Promise<(ExecutionPayloadBody | null)[]> {
483
- const method = "engine_getPayloadBodiesByRangeV1";
484
- assertReqSizeLimit(blockCount, 32);
485
- const start = numToQuantity(startBlockNumber);
486
- const count = numToQuantity(blockCount);
487
- const response = await this.rpc.fetchWithRetries<
488
- EngineApiRpcReturnTypes[typeof method],
489
- EngineApiRpcParamTypes[typeof method]
490
- >({method, params: [start, count]}, getPayloadBodiesByRangeOpts);
491
- return response.map(deserializeExecutionPayloadBody);
492
- }
493
-
494
- async getBlobs(
495
- fork: ForkPostFulu,
496
- versionedHashes: VersionedHashes,
497
- buffers?: Uint8Array[]
498
- ): Promise<BlobAndProofV2[] | null>;
499
- async getBlobs(
500
- fork: ForkPreFulu,
501
- versionedHashes: VersionedHashes,
502
- buffers?: Uint8Array[]
503
- ): Promise<(BlobAndProof | null)[]>;
504
- async getBlobs(
505
- fork: ForkName,
506
- versionedHashes: VersionedHashes
507
- ): Promise<BlobAndProofV2[] | (BlobAndProof | null)[] | null> {
508
- assertReqSizeLimit(versionedHashes.length, MAX_VERSIONED_HASHES);
509
- const versionedHashesHex = versionedHashes.map(bytesToData);
510
- if (isForkPostFulu(fork)) {
511
- return await this.getBlobsV2(versionedHashesHex);
512
- }
513
- return await this.getBlobsV1(versionedHashesHex);
514
- }
515
-
516
- private async getBlobsV1(versionedHashesHex: string[]) {
517
- const response = await this.rpc.fetchWithRetries<
518
- EngineApiRpcReturnTypes["engine_getBlobsV1"],
519
- EngineApiRpcParamTypes["engine_getBlobsV1"]
520
- >(
521
- {
522
- method: "engine_getBlobsV1",
523
- params: [versionedHashesHex],
524
- },
525
- getBlobsV1Opts
526
- );
527
-
528
- const invalidLength = response.length !== versionedHashesHex.length;
529
-
530
- if (invalidLength) {
531
- const error = `Invalid engine_getBlobsV1 response length=${response.length} versionedHashes=${versionedHashesHex.length}`;
532
- this.logger.error(error);
533
- throw Error(error);
534
- }
535
-
536
- return response.map(deserializeBlobAndProofs);
537
- }
538
-
539
- private async getBlobsV2(versionedHashesHex: string[], buffers?: Uint8Array[]) {
540
- if (buffers) {
541
- if (buffers.length !== versionedHashesHex.length) {
542
- throw Error(`Invalid buffers length=${buffers.length} versionedHashes=${versionedHashesHex.length}`);
543
- }
544
-
545
- for (const [i, buffer] of buffers.entries()) {
546
- if (buffer.length !== BLOB_AND_PROOF_V2_RPC_BYTES) {
547
- throw Error(`Invalid buffer[${i}] length=${buffer.length} expected=${BLOB_AND_PROOF_V2_RPC_BYTES}`);
548
- }
549
- }
550
- }
551
-
552
- const response = await this.rpc.fetchWithRetries<
553
- EngineApiRpcReturnTypes["engine_getBlobsV2"],
554
- EngineApiRpcParamTypes["engine_getBlobsV2"]
555
- >(
556
- {
557
- method: "engine_getBlobsV2",
558
- params: [versionedHashesHex],
559
- },
560
- getBlobsV2Opts
561
- );
562
-
563
- // engine_getBlobsV2 does not return partial responses. It returns null if any blob is not found
564
- const invalidLength = !!response && response.length !== versionedHashesHex.length;
565
-
566
- if (invalidLength) {
567
- const error = `Invalid engine_getBlobsV2 response length=${response?.length ?? "null"} versionedHashes=${versionedHashesHex.length}`;
568
- this.logger.error(error);
569
- throw Error(error);
570
- }
571
-
572
- if (response == null) {
573
- return null;
574
- }
575
-
576
- if (buffers) {
577
- // getBlobsV2() is designed to called once per slot so we expect to have buffers
578
- return response.map((data, i) => deserializeBlobAndProofsV2IntoBytes(data, buffers[i]));
579
- }
580
-
581
- return response.map(deserializeBlobAndProofsV2);
582
- }
583
-
584
- private async getClientVersion(clientVersion: ClientVersion): Promise<ClientVersion[]> {
585
- const method = "engine_getClientVersionV1";
586
-
587
- const response = await this.rpc.fetchWithRetries<
588
- EngineApiRpcReturnTypes[typeof method],
589
- EngineApiRpcParamTypes[typeof method]
590
- >({method, params: [{...clientVersion, commit: `0x${clientVersion.commit}`}]}, getClientVersionOpts);
591
-
592
- const clientVersions = response.map((cv) => {
593
- const code = cv.code in ClientCode ? ClientCode[cv.code as keyof typeof ClientCode] : ClientCode.XX;
594
- return {code, name: cv.name, version: cv.version, commit: strip0xPrefix(cv.commit)};
595
- });
596
-
597
- if (clientVersions.length === 0) {
598
- throw Error("Received empty client versions array");
599
- }
600
-
601
- this.clientVersion = clientVersions[0];
602
- this.logger.debug("Execution client version updated", this.clientVersion);
603
-
604
- return clientVersions;
605
- }
606
-
607
- private updateEngineState(newState: ExecutionEngineState): void {
608
- const oldState = this.state;
609
-
610
- if (oldState === newState) return;
611
-
612
- switch (newState) {
613
- case ExecutionEngineState.ONLINE:
614
- this.logger.info("Execution client became online", {oldState, newState});
615
- this.getClientVersion(getLodestarClientVersion(this.opts)).catch((e) => {
616
- this.logger.debug("Unable to get execution client version", {}, e);
617
- this.clientVersion = null;
618
- });
619
- break;
620
- case ExecutionEngineState.OFFLINE:
621
- this.logger.error("Execution client went offline", {oldState, newState});
622
- break;
623
- case ExecutionEngineState.SYNCED:
624
- this.logger.info("Execution client is synced", {oldState, newState});
625
- break;
626
- case ExecutionEngineState.SYNCING:
627
- this.logger.warn("Execution client is syncing", {oldState, newState});
628
- break;
629
- case ExecutionEngineState.AUTH_FAILED:
630
- this.logger.error("Execution client authentication failed", {oldState, newState});
631
- break;
632
- }
633
-
634
- this.state = newState;
635
- }
636
- }
637
-
638
- type EngineRequestKey = keyof EngineApiRpcParamTypes;
639
- type EngineRequestByKey = {
640
- [K in EngineRequestKey]: {method: K; params: EngineApiRpcParamTypes[K]; methodOpts: ReqOpts};
641
- };
642
- type EngineRequest = EngineRequestByKey[EngineRequestKey];
643
- type EngineResponseByKey = {[K in EngineRequestKey]: EngineApiRpcReturnTypes[K]};
644
- type EngineResponse = EngineResponseByKey[EngineRequestKey];