@lodestar/beacon-node 1.35.0-dev.21ba2777a9 → 1.35.0-dev.365e071d8c

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 (1089) 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/index.d.ts +3 -3
  7. package/lib/api/impl/index.js +3 -3
  8. package/lib/api/impl/index.js.map +1 -1
  9. package/lib/api/rest/base.d.ts +1 -1
  10. package/lib/api/rest/base.js +2 -2
  11. package/lib/api/rest/base.js.map +1 -1
  12. package/lib/api/rest/index.js.map +1 -1
  13. package/lib/chain/ColumnReconstructionTracker.d.ts +2 -2
  14. package/lib/chain/ColumnReconstructionTracker.js +3 -21
  15. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  16. package/lib/chain/GetBlobsTracker.d.ts +2 -2
  17. package/lib/chain/GetBlobsTracker.js +4 -19
  18. package/lib/chain/GetBlobsTracker.js.map +1 -1
  19. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
  20. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  21. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  22. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  23. package/lib/chain/archiveStore/index.d.ts +1 -1
  24. package/lib/chain/archiveStore/index.js +1 -1
  25. package/lib/chain/blocks/blockInput/index.d.ts +1 -1
  26. package/lib/chain/blocks/blockInput/index.js +1 -1
  27. package/lib/chain/blocks/index.d.ts +1 -1
  28. package/lib/chain/blocks/index.js.map +1 -1
  29. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
  30. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  31. package/lib/chain/bls/multithread/index.js +0 -1
  32. package/lib/chain/bls/multithread/index.js.map +1 -1
  33. package/lib/chain/chain.d.ts +3 -3
  34. package/lib/chain/chain.js +2 -2
  35. package/lib/chain/chain.js.map +1 -1
  36. package/lib/chain/emitter.d.ts +2 -2
  37. package/lib/chain/emitter.js.map +1 -1
  38. package/lib/chain/errors/index.d.ts +2 -2
  39. package/lib/chain/errors/index.js +2 -2
  40. package/lib/chain/errors/index.js.map +1 -1
  41. package/lib/chain/forkChoice/index.js.map +1 -1
  42. package/lib/chain/index.d.ts +2 -2
  43. package/lib/chain/index.js +2 -2
  44. package/lib/chain/index.js.map +1 -1
  45. package/lib/chain/interface.d.ts +2 -2
  46. package/lib/chain/interface.js.map +1 -1
  47. package/lib/chain/lightClient/index.js.map +1 -1
  48. package/lib/chain/lightClient/proofs.js.map +1 -1
  49. package/lib/chain/opPools/aggregatedAttestationPool.js +1 -1
  50. package/lib/chain/opPools/attestationPool.js +1 -1
  51. package/lib/chain/opPools/index.d.ts +1 -1
  52. package/lib/chain/opPools/index.js +1 -1
  53. package/lib/chain/opPools/index.js.map +1 -1
  54. package/lib/chain/options.js +1 -1
  55. package/lib/chain/options.js.map +1 -1
  56. package/lib/chain/regen/index.d.ts +1 -1
  57. package/lib/chain/regen/index.js +1 -1
  58. package/lib/chain/regen/index.js.map +1 -1
  59. package/lib/chain/stateCache/datastore/index.d.ts +1 -1
  60. package/lib/chain/stateCache/datastore/index.js +1 -1
  61. package/lib/chain/stateCache/datastore/index.js.map +1 -1
  62. package/lib/chain/stateCache/index.d.ts +1 -1
  63. package/lib/chain/stateCache/index.js +1 -1
  64. package/lib/chain/stateCache/index.js.map +1 -1
  65. package/lib/chain/stateCache/persistentCheckpointsCache.js +2 -1
  66. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  67. package/lib/chain/validation/blobSidecar.js.map +1 -1
  68. package/lib/chain/validation/dataColumnSidecar.js +1 -1
  69. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  70. package/lib/chain/validation/index.d.ts +1 -1
  71. package/lib/chain/validation/index.js +1 -1
  72. package/lib/chain/validation/index.js.map +1 -1
  73. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +2 -1
  74. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  75. package/lib/chain/validatorMonitor.d.ts +3 -1
  76. package/lib/chain/validatorMonitor.js.map +1 -1
  77. package/lib/db/buckets.d.ts +4 -4
  78. package/lib/db/buckets.js +4 -4
  79. package/lib/db/buckets.js.map +1 -1
  80. package/lib/db/index.d.ts +1 -1
  81. package/lib/db/index.js.map +1 -1
  82. package/lib/db/repositories/blobSidecars.js +1 -1
  83. package/lib/db/repositories/blobSidecars.js.map +1 -1
  84. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  85. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  86. package/lib/db/repositories/blockArchive.js +3 -2
  87. package/lib/db/repositories/blockArchive.js.map +1 -1
  88. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  89. package/lib/db/repositories/dataColumnSidecar.js +2 -2
  90. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  91. package/lib/db/repositories/dataColumnSidecarArchive.js +2 -2
  92. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  93. package/lib/db/repositories/index.d.ts +10 -10
  94. package/lib/db/repositories/index.js +9 -9
  95. package/lib/db/repositories/index.js.map +1 -1
  96. package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
  97. package/lib/eth1/eth1DepositsCache.js.map +1 -1
  98. package/lib/eth1/provider/eth1Provider.d.ts +2 -1
  99. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  100. package/lib/eth1/provider/jsonRpcHttpClient.d.ts +1 -1
  101. package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
  102. package/lib/eth1/provider/jwt.js.map +1 -1
  103. package/lib/eth1/utils/deposits.js.map +1 -1
  104. package/lib/execution/builder/index.js.map +1 -1
  105. package/lib/execution/engine/interface.js.map +1 -1
  106. package/lib/execution/engine/types.js.map +1 -1
  107. package/lib/execution/engine/utils.js +2 -1
  108. package/lib/execution/engine/utils.js.map +1 -1
  109. package/lib/execution/index.d.ts +2 -2
  110. package/lib/execution/index.js +2 -2
  111. package/lib/execution/index.js.map +1 -1
  112. package/lib/index.d.ts +6 -6
  113. package/lib/index.js +5 -5
  114. package/lib/index.js.map +1 -1
  115. package/lib/metrics/index.d.ts +1 -1
  116. package/lib/metrics/index.js +1 -1
  117. package/lib/metrics/index.js.map +1 -1
  118. package/lib/metrics/metrics/lodestar.d.ts +1 -5
  119. package/lib/metrics/metrics/lodestar.js +1 -6
  120. package/lib/metrics/metrics/lodestar.js.map +1 -1
  121. package/lib/metrics/metrics.d.ts +1 -1
  122. package/lib/metrics/metrics.js.map +1 -1
  123. package/lib/metrics/nodeJsMetrics.js +1 -1
  124. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  125. package/lib/metrics/server/http.d.ts +1 -1
  126. package/lib/metrics/utils/avgMinMax.d.ts +1 -1
  127. package/lib/metrics/utils/gauge.d.ts +1 -1
  128. package/lib/metrics/utils/gauge.js.map +1 -1
  129. package/lib/metrics/utils/registryMetricCreator.d.ts +1 -1
  130. package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
  131. package/lib/monitoring/service.js.map +1 -1
  132. package/lib/monitoring/system.js.map +1 -1
  133. package/lib/network/core/networkCore.d.ts +1 -1
  134. package/lib/network/core/networkCore.js +1 -1
  135. package/lib/network/core/networkCore.js.map +1 -1
  136. package/lib/network/core/networkCoreWorker.js +1 -1
  137. package/lib/network/core/networkCoreWorker.js.map +1 -1
  138. package/lib/network/core/networkCoreWorkerHandler.d.ts +1 -1
  139. package/lib/network/core/networkCoreWorkerHandler.js +4 -10
  140. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  141. package/lib/network/discv5/index.d.ts +2 -2
  142. package/lib/network/discv5/index.js +2 -5
  143. package/lib/network/discv5/index.js.map +1 -1
  144. package/lib/network/discv5/worker.js +3 -3
  145. package/lib/network/discv5/worker.js.map +1 -1
  146. package/lib/network/gossip/encoding.d.ts +1 -1
  147. package/lib/network/gossip/encoding.js +2 -2
  148. package/lib/network/gossip/encoding.js.map +1 -1
  149. package/lib/network/gossip/gossipsub.d.ts +1 -2
  150. package/lib/network/gossip/gossipsub.js +17 -36
  151. package/lib/network/gossip/gossipsub.js.map +1 -1
  152. package/lib/network/gossip/index.d.ts +2 -2
  153. package/lib/network/gossip/index.js +2 -2
  154. package/lib/network/gossip/index.js.map +1 -1
  155. package/lib/network/gossip/interface.d.ts +2 -2
  156. package/lib/network/gossip/metrics.d.ts +7 -15
  157. package/lib/network/gossip/metrics.js +6 -16
  158. package/lib/network/gossip/metrics.js.map +1 -1
  159. package/lib/network/gossip/topic.d.ts +60 -80
  160. package/lib/network/gossip/topic.js.map +1 -1
  161. package/lib/network/index.d.ts +3 -3
  162. package/lib/network/index.js +3 -3
  163. package/lib/network/index.js.map +1 -1
  164. package/lib/network/interface.d.ts +1 -1
  165. package/lib/network/libp2p/index.js +3 -11
  166. package/lib/network/libp2p/index.js.map +1 -1
  167. package/lib/network/metadata.js +1 -2
  168. package/lib/network/metadata.js.map +1 -1
  169. package/lib/network/network.d.ts +1 -1
  170. package/lib/network/network.js +4 -2
  171. package/lib/network/network.js.map +1 -1
  172. package/lib/network/peers/datastore.d.ts +2 -2
  173. package/lib/network/peers/datastore.js +2 -2
  174. package/lib/network/peers/datastore.js.map +1 -1
  175. package/lib/network/peers/discover.js +2 -1
  176. package/lib/network/peers/discover.js.map +1 -1
  177. package/lib/network/peers/peerManager.js.map +1 -1
  178. package/lib/network/peers/score/index.d.ts +1 -1
  179. package/lib/network/peers/score/index.js +1 -1
  180. package/lib/network/peers/score/index.js.map +1 -1
  181. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  182. package/lib/network/processor/gossipHandlers.js +7 -3
  183. package/lib/network/processor/gossipHandlers.js.map +1 -1
  184. package/lib/network/processor/index.d.ts +1 -1
  185. package/lib/network/processor/index.js +5 -3
  186. package/lib/network/processor/index.js.map +1 -1
  187. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +1 -1
  188. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  189. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  190. package/lib/network/reqresp/index.d.ts +1 -1
  191. package/lib/network/reqresp/index.js +1 -1
  192. package/lib/network/reqresp/index.js.map +1 -1
  193. package/lib/network/reqresp/rateLimit.js +2 -2
  194. package/lib/network/reqresp/rateLimit.js.map +1 -1
  195. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  196. package/lib/network/subnets/interface.js +1 -1
  197. package/lib/network/subnets/interface.js.map +1 -1
  198. package/lib/network/subnets/util.js +2 -1
  199. package/lib/network/subnets/util.js.map +1 -1
  200. package/lib/node/nodejs.d.ts +1 -1
  201. package/lib/node/nodejs.js.map +1 -1
  202. package/lib/node/notifier.js +2 -1
  203. package/lib/node/notifier.js.map +1 -1
  204. package/lib/node/options.js.map +1 -1
  205. package/lib/node/utils/interop/state.js +2 -1
  206. package/lib/node/utils/interop/state.js.map +1 -1
  207. package/lib/sync/backfill/backfill.d.ts +1 -1
  208. package/lib/sync/backfill/backfill.js +1 -1
  209. package/lib/sync/backfill/backfill.js.map +1 -1
  210. package/lib/sync/range/batch.d.ts +2 -2
  211. package/lib/sync/range/batch.js +1 -1
  212. package/lib/sync/range/batch.js.map +1 -1
  213. package/lib/sync/range/chain.d.ts +1 -1
  214. package/lib/sync/range/chain.js.map +1 -1
  215. package/lib/sync/range/range.d.ts +1 -1
  216. package/lib/sync/range/range.js.map +1 -1
  217. package/lib/sync/sync.d.ts +2 -1
  218. package/lib/sync/sync.js.map +1 -1
  219. package/lib/sync/types.d.ts +1 -0
  220. package/lib/sync/types.js.map +1 -1
  221. package/lib/sync/unknownBlock.js +15 -13
  222. package/lib/sync/unknownBlock.js.map +1 -1
  223. package/lib/sync/utils/downloadByRange.d.ts +1 -1
  224. package/lib/sync/utils/downloadByRoot.d.ts +2 -4
  225. package/lib/sync/utils/downloadByRoot.js +9 -36
  226. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  227. package/lib/util/blobs.js +3 -5
  228. package/lib/util/blobs.js.map +1 -1
  229. package/lib/util/clock.d.ts +1 -1
  230. package/lib/util/clock.js.map +1 -1
  231. package/lib/util/dataColumns.d.ts +15 -9
  232. package/lib/util/dataColumns.js +29 -16
  233. package/lib/util/dataColumns.js.map +1 -1
  234. package/lib/util/execution.d.ts +3 -12
  235. package/lib/util/execution.js +13 -46
  236. package/lib/util/execution.js.map +1 -1
  237. package/lib/util/queue/index.d.ts +1 -1
  238. package/lib/util/queue/index.js +1 -1
  239. package/lib/util/queue/index.js.map +1 -1
  240. package/package.json +21 -37
  241. package/lib/api/impl/api.d.ts.map +0 -1
  242. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  243. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  244. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  245. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  246. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  247. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  248. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  249. package/lib/api/impl/config/constants.d.ts.map +0 -1
  250. package/lib/api/impl/config/index.d.ts.map +0 -1
  251. package/lib/api/impl/debug/index.d.ts.map +0 -1
  252. package/lib/api/impl/errors.d.ts.map +0 -1
  253. package/lib/api/impl/events/index.d.ts.map +0 -1
  254. package/lib/api/impl/index.d.ts.map +0 -1
  255. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  256. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  257. package/lib/api/impl/node/index.d.ts.map +0 -1
  258. package/lib/api/impl/node/utils.d.ts.map +0 -1
  259. package/lib/api/impl/proof/index.d.ts.map +0 -1
  260. package/lib/api/impl/types.d.ts.map +0 -1
  261. package/lib/api/impl/utils.d.ts.map +0 -1
  262. package/lib/api/impl/validator/index.d.ts.map +0 -1
  263. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  264. package/lib/api/index.d.ts.map +0 -1
  265. package/lib/api/options.d.ts.map +0 -1
  266. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  267. package/lib/api/rest/base.d.ts.map +0 -1
  268. package/lib/api/rest/index.d.ts.map +0 -1
  269. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  270. package/lib/bun-wrappers/prometheus-gc-stats.d.ts +0 -2
  271. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  272. package/lib/bun-wrappers/prometheus-gc-stats.js +0 -8
  273. package/lib/bun-wrappers/prometheus-gc-stats.js.map +0 -1
  274. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  275. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  276. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  277. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  278. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  279. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  280. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  281. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  282. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  283. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  284. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  285. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  286. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  287. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  288. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  289. package/lib/chain/balancesCache.d.ts.map +0 -1
  290. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  291. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  292. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  293. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  294. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  295. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  296. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  297. package/lib/chain/blocks/index.d.ts.map +0 -1
  298. package/lib/chain/blocks/types.d.ts.map +0 -1
  299. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  300. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  301. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  302. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  303. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  304. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  305. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  306. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  307. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  308. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  309. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  310. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  311. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  312. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  313. package/lib/chain/bls/index.d.ts.map +0 -1
  314. package/lib/chain/bls/interface.d.ts.map +0 -1
  315. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  316. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  317. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  318. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  319. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  320. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  321. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  322. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  323. package/lib/chain/bls/utils.d.ts.map +0 -1
  324. package/lib/chain/chain.d.ts.map +0 -1
  325. package/lib/chain/emitter.d.ts.map +0 -1
  326. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  327. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  328. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  329. package/lib/chain/errors/blockError.d.ts.map +0 -1
  330. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  331. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  332. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  333. package/lib/chain/errors/index.d.ts.map +0 -1
  334. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  335. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  336. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  337. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  338. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  339. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  340. package/lib/chain/genesis/interface.d.ts.map +0 -1
  341. package/lib/chain/index.d.ts.map +0 -1
  342. package/lib/chain/initState.d.ts.map +0 -1
  343. package/lib/chain/interface.d.ts.map +0 -1
  344. package/lib/chain/lightClient/index.d.ts.map +0 -1
  345. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  346. package/lib/chain/lightClient/types.d.ts.map +0 -1
  347. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  348. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  349. package/lib/chain/opPools/index.d.ts.map +0 -1
  350. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  351. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  352. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  353. package/lib/chain/opPools/types.d.ts.map +0 -1
  354. package/lib/chain/opPools/utils.d.ts.map +0 -1
  355. package/lib/chain/options.d.ts.map +0 -1
  356. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  357. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  358. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  359. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  360. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  361. package/lib/chain/regen/errors.d.ts.map +0 -1
  362. package/lib/chain/regen/index.d.ts.map +0 -1
  363. package/lib/chain/regen/interface.d.ts.map +0 -1
  364. package/lib/chain/regen/queued.d.ts.map +0 -1
  365. package/lib/chain/regen/regen.d.ts.map +0 -1
  366. package/lib/chain/reprocess.d.ts.map +0 -1
  367. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  368. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  369. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  370. package/lib/chain/seenCache/index.d.ts.map +0 -1
  371. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  372. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  373. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  374. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  375. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  376. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  377. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  378. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  379. package/lib/chain/serializeState.d.ts.map +0 -1
  380. package/lib/chain/shufflingCache.d.ts.map +0 -1
  381. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  382. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  383. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  384. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  385. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  386. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  387. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  388. package/lib/chain/stateCache/index.d.ts.map +0 -1
  389. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  390. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  391. package/lib/chain/stateCache/types.d.ts.map +0 -1
  392. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  393. package/lib/chain/validation/attestation.d.ts.map +0 -1
  394. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  395. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  396. package/lib/chain/validation/block.d.ts.map +0 -1
  397. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  398. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  399. package/lib/chain/validation/index.d.ts.map +0 -1
  400. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  401. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  402. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  403. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  404. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  405. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  406. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  407. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  408. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  409. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  410. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  411. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  412. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  413. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  414. package/lib/constants/constants.d.ts.map +0 -1
  415. package/lib/constants/index.d.ts.map +0 -1
  416. package/lib/constants/network.d.ts.map +0 -1
  417. package/lib/db/beacon.d.ts.map +0 -1
  418. package/lib/db/buckets.d.ts.map +0 -1
  419. package/lib/db/index.d.ts.map +0 -1
  420. package/lib/db/interface.d.ts.map +0 -1
  421. package/lib/db/options.d.ts.map +0 -1
  422. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  423. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  424. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  425. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  426. package/lib/db/repositories/block.d.ts.map +0 -1
  427. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  428. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  429. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  430. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  431. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  432. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  433. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  434. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  435. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  436. package/lib/db/repositories/index.d.ts.map +0 -1
  437. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  438. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  439. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  440. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  441. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  442. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  443. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  444. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  445. package/lib/db/single/index.d.ts.map +0 -1
  446. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  447. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  448. package/lib/eth1/errors.d.ts.map +0 -1
  449. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  450. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  451. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  452. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  453. package/lib/eth1/index.d.ts.map +0 -1
  454. package/lib/eth1/interface.d.ts.map +0 -1
  455. package/lib/eth1/options.d.ts.map +0 -1
  456. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  457. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  458. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  459. package/lib/eth1/provider/utils.d.ts.map +0 -1
  460. package/lib/eth1/stream.d.ts.map +0 -1
  461. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  462. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  463. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  464. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  465. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  466. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  467. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  468. package/lib/execution/builder/cache.d.ts.map +0 -1
  469. package/lib/execution/builder/http.d.ts.map +0 -1
  470. package/lib/execution/builder/index.d.ts.map +0 -1
  471. package/lib/execution/builder/interface.d.ts.map +0 -1
  472. package/lib/execution/builder/utils.d.ts.map +0 -1
  473. package/lib/execution/engine/disabled.d.ts.map +0 -1
  474. package/lib/execution/engine/http.d.ts.map +0 -1
  475. package/lib/execution/engine/index.d.ts.map +0 -1
  476. package/lib/execution/engine/interface.d.ts.map +0 -1
  477. package/lib/execution/engine/mock.d.ts.map +0 -1
  478. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  479. package/lib/execution/engine/types.d.ts.map +0 -1
  480. package/lib/execution/engine/utils.d.ts.map +0 -1
  481. package/lib/execution/index.d.ts.map +0 -1
  482. package/lib/index.d.ts.map +0 -1
  483. package/lib/metrics/index.d.ts.map +0 -1
  484. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  485. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  486. package/lib/metrics/metrics.d.ts.map +0 -1
  487. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  488. package/lib/metrics/options.d.ts.map +0 -1
  489. package/lib/metrics/server/http.d.ts.map +0 -1
  490. package/lib/metrics/server/index.d.ts.map +0 -1
  491. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  492. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  493. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  494. package/lib/monitoring/clientStats.d.ts.map +0 -1
  495. package/lib/monitoring/index.d.ts.map +0 -1
  496. package/lib/monitoring/options.d.ts.map +0 -1
  497. package/lib/monitoring/properties.d.ts.map +0 -1
  498. package/lib/monitoring/service.d.ts.map +0 -1
  499. package/lib/monitoring/system.d.ts.map +0 -1
  500. package/lib/monitoring/types.d.ts.map +0 -1
  501. package/lib/network/core/events.d.ts.map +0 -1
  502. package/lib/network/core/index.d.ts.map +0 -1
  503. package/lib/network/core/metrics.d.ts.map +0 -1
  504. package/lib/network/core/networkCore.d.ts.map +0 -1
  505. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  506. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  507. package/lib/network/core/types.d.ts.map +0 -1
  508. package/lib/network/discv5/index.d.ts.map +0 -1
  509. package/lib/network/discv5/types.d.ts.map +0 -1
  510. package/lib/network/discv5/utils.d.ts.map +0 -1
  511. package/lib/network/discv5/worker.d.ts.map +0 -1
  512. package/lib/network/events.d.ts.map +0 -1
  513. package/lib/network/forks.d.ts.map +0 -1
  514. package/lib/network/gossip/constants.d.ts.map +0 -1
  515. package/lib/network/gossip/encoding.d.ts.map +0 -1
  516. package/lib/network/gossip/errors.d.ts.map +0 -1
  517. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  518. package/lib/network/gossip/index.d.ts.map +0 -1
  519. package/lib/network/gossip/interface.d.ts.map +0 -1
  520. package/lib/network/gossip/metrics.d.ts.map +0 -1
  521. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  522. package/lib/network/gossip/topic.d.ts.map +0 -1
  523. package/lib/network/index.d.ts.map +0 -1
  524. package/lib/network/interface.d.ts.map +0 -1
  525. package/lib/network/libp2p/error.d.ts.map +0 -1
  526. package/lib/network/libp2p/index.d.ts.map +0 -1
  527. package/lib/network/metadata.d.ts.map +0 -1
  528. package/lib/network/network.d.ts.map +0 -1
  529. package/lib/network/networkConfig.d.ts.map +0 -1
  530. package/lib/network/options.d.ts.map +0 -1
  531. package/lib/network/peers/client.d.ts.map +0 -1
  532. package/lib/network/peers/datastore.d.ts.map +0 -1
  533. package/lib/network/peers/discover.d.ts.map +0 -1
  534. package/lib/network/peers/index.d.ts.map +0 -1
  535. package/lib/network/peers/peerManager.d.ts.map +0 -1
  536. package/lib/network/peers/peersData.d.ts.map +0 -1
  537. package/lib/network/peers/score/constants.d.ts.map +0 -1
  538. package/lib/network/peers/score/index.d.ts.map +0 -1
  539. package/lib/network/peers/score/interface.d.ts.map +0 -1
  540. package/lib/network/peers/score/score.d.ts.map +0 -1
  541. package/lib/network/peers/score/store.d.ts.map +0 -1
  542. package/lib/network/peers/score/utils.d.ts.map +0 -1
  543. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  544. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  545. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  546. package/lib/network/peers/utils/index.d.ts.map +0 -1
  547. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  548. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  549. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  550. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  551. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  552. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  553. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  554. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  555. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  556. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  557. package/lib/network/processor/index.d.ts.map +0 -1
  558. package/lib/network/processor/types.d.ts.map +0 -1
  559. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  560. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  561. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  562. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  563. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  564. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  565. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  566. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  567. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  568. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  569. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  570. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  571. package/lib/network/reqresp/index.d.ts.map +0 -1
  572. package/lib/network/reqresp/interface.d.ts.map +0 -1
  573. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  574. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  575. package/lib/network/reqresp/score.d.ts.map +0 -1
  576. package/lib/network/reqresp/types.d.ts.map +0 -1
  577. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  578. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  579. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  580. package/lib/network/statusCache.d.ts.map +0 -1
  581. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  582. package/lib/network/subnets/index.d.ts.map +0 -1
  583. package/lib/network/subnets/interface.d.ts.map +0 -1
  584. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  585. package/lib/network/subnets/util.d.ts.map +0 -1
  586. package/lib/network/util.d.ts.map +0 -1
  587. package/lib/node/index.d.ts.map +0 -1
  588. package/lib/node/nodejs.d.ts.map +0 -1
  589. package/lib/node/notifier.d.ts.map +0 -1
  590. package/lib/node/options.d.ts.map +0 -1
  591. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  592. package/lib/node/utils/interop/state.d.ts.map +0 -1
  593. package/lib/node/utils/lightclient.d.ts.map +0 -1
  594. package/lib/node/utils/state.d.ts.map +0 -1
  595. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  596. package/lib/sync/backfill/errors.d.ts.map +0 -1
  597. package/lib/sync/backfill/index.d.ts.map +0 -1
  598. package/lib/sync/backfill/verify.d.ts.map +0 -1
  599. package/lib/sync/constants.d.ts.map +0 -1
  600. package/lib/sync/index.d.ts.map +0 -1
  601. package/lib/sync/interface.d.ts.map +0 -1
  602. package/lib/sync/options.d.ts.map +0 -1
  603. package/lib/sync/range/batch.d.ts.map +0 -1
  604. package/lib/sync/range/chain.d.ts.map +0 -1
  605. package/lib/sync/range/range.d.ts.map +0 -1
  606. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  607. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  608. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  609. package/lib/sync/range/utils/index.d.ts.map +0 -1
  610. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  611. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  612. package/lib/sync/sync.d.ts.map +0 -1
  613. package/lib/sync/types.d.ts.map +0 -1
  614. package/lib/sync/unknownBlock.d.ts.map +0 -1
  615. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  616. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  617. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  618. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  619. package/lib/util/address.d.ts.map +0 -1
  620. package/lib/util/array.d.ts.map +0 -1
  621. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  622. package/lib/util/binarySearch.d.ts.map +0 -1
  623. package/lib/util/bitArray.d.ts.map +0 -1
  624. package/lib/util/blobs.d.ts.map +0 -1
  625. package/lib/util/bufferPool.d.ts.map +0 -1
  626. package/lib/util/bytes.d.ts.map +0 -1
  627. package/lib/util/chunkify.d.ts.map +0 -1
  628. package/lib/util/clock.d.ts.map +0 -1
  629. package/lib/util/dataColumns.d.ts.map +0 -1
  630. package/lib/util/dependentRoot.d.ts.map +0 -1
  631. package/lib/util/enum.d.ts.map +0 -1
  632. package/lib/util/error.d.ts.map +0 -1
  633. package/lib/util/eventLoop.d.ts.map +0 -1
  634. package/lib/util/execution.d.ts.map +0 -1
  635. package/lib/util/file.d.ts.map +0 -1
  636. package/lib/util/forkChoice.d.ts.map +0 -1
  637. package/lib/util/forkName.d.ts.map +0 -1
  638. package/lib/util/graffiti.d.ts.map +0 -1
  639. package/lib/util/hex.d.ts.map +0 -1
  640. package/lib/util/index.d.ts.map +0 -1
  641. package/lib/util/ip.d.ts.map +0 -1
  642. package/lib/util/itTrigger.d.ts.map +0 -1
  643. package/lib/util/kzg.d.ts.map +0 -1
  644. package/lib/util/map.d.ts.map +0 -1
  645. package/lib/util/metadata.d.ts.map +0 -1
  646. package/lib/util/multifork.d.ts.map +0 -1
  647. package/lib/util/numpy.d.ts.map +0 -1
  648. package/lib/util/peerId.d.ts.map +0 -1
  649. package/lib/util/profile.d.ts.map +0 -1
  650. package/lib/util/promises.d.ts.map +0 -1
  651. package/lib/util/queue/errors.d.ts.map +0 -1
  652. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  653. package/lib/util/queue/index.d.ts.map +0 -1
  654. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  655. package/lib/util/queue/options.d.ts.map +0 -1
  656. package/lib/util/serializedCache.d.ts.map +0 -1
  657. package/lib/util/set.d.ts.map +0 -1
  658. package/lib/util/shuffle.d.ts.map +0 -1
  659. package/lib/util/sortBy.d.ts.map +0 -1
  660. package/lib/util/sszBytes.d.ts.map +0 -1
  661. package/lib/util/strictEvents.d.ts.map +0 -1
  662. package/lib/util/time.d.ts.map +0 -1
  663. package/lib/util/timeSeries.d.ts.map +0 -1
  664. package/lib/util/types.d.ts.map +0 -1
  665. package/lib/util/workerEvents.d.ts.map +0 -1
  666. package/lib/util/wrapError.d.ts.map +0 -1
  667. package/src/api/impl/api.ts +0 -26
  668. package/src/api/impl/beacon/blocks/index.ts +0 -744
  669. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  670. package/src/api/impl/beacon/index.ts +0 -35
  671. package/src/api/impl/beacon/pool/index.ts +0 -314
  672. package/src/api/impl/beacon/rewards/index.ts +0 -30
  673. package/src/api/impl/beacon/state/index.ts +0 -406
  674. package/src/api/impl/beacon/state/utils.ts +0 -189
  675. package/src/api/impl/config/constants.ts +0 -127
  676. package/src/api/impl/config/index.ts +0 -59
  677. package/src/api/impl/debug/index.ts +0 -131
  678. package/src/api/impl/errors.ts +0 -50
  679. package/src/api/impl/events/index.ts +0 -33
  680. package/src/api/impl/index.ts +0 -6
  681. package/src/api/impl/lightclient/index.ts +0 -64
  682. package/src/api/impl/lodestar/index.ts +0 -257
  683. package/src/api/impl/node/index.ts +0 -88
  684. package/src/api/impl/node/utils.ts +0 -51
  685. package/src/api/impl/proof/index.ts +0 -60
  686. package/src/api/impl/types.ts +0 -17
  687. package/src/api/impl/utils.ts +0 -25
  688. package/src/api/impl/validator/index.ts +0 -1538
  689. package/src/api/impl/validator/utils.ts +0 -85
  690. package/src/api/index.ts +0 -2
  691. package/src/api/options.ts +0 -16
  692. package/src/api/rest/activeSockets.ts +0 -109
  693. package/src/api/rest/base.ts +0 -216
  694. package/src/api/rest/index.ts +0 -63
  695. package/src/api/rest/swaggerUI.ts +0 -80
  696. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  697. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  698. package/src/chain/GetBlobsTracker.ts +0 -115
  699. package/src/chain/archiveStore/archiveStore.ts +0 -222
  700. package/src/chain/archiveStore/constants.ts +0 -5
  701. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  702. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  703. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  704. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  705. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  706. package/src/chain/archiveStore/index.ts +0 -3
  707. package/src/chain/archiveStore/interface.ts +0 -75
  708. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  709. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  710. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  711. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  712. package/src/chain/balancesCache.ts +0 -52
  713. package/src/chain/beaconProposerCache.ts +0 -43
  714. package/src/chain/blocks/blockInput/blockInput.ts +0 -851
  715. package/src/chain/blocks/blockInput/errors.ts +0 -48
  716. package/src/chain/blocks/blockInput/index.ts +0 -4
  717. package/src/chain/blocks/blockInput/types.ts +0 -145
  718. package/src/chain/blocks/blockInput/utils.ts +0 -21
  719. package/src/chain/blocks/importBlock.ts +0 -603
  720. package/src/chain/blocks/index.ts +0 -179
  721. package/src/chain/blocks/types.ts +0 -101
  722. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  723. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  724. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  725. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  726. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  727. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  728. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  729. package/src/chain/blocks/verifyBlock.ts +0 -242
  730. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -34
  731. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  732. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  733. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  734. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  735. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  736. package/src/chain/bls/index.ts +0 -4
  737. package/src/chain/bls/interface.ts +0 -68
  738. package/src/chain/bls/maybeBatch.ts +0 -45
  739. package/src/chain/bls/multithread/index.ts +0 -582
  740. package/src/chain/bls/multithread/jobItem.ts +0 -119
  741. package/src/chain/bls/multithread/poolSize.ts +0 -16
  742. package/src/chain/bls/multithread/types.ts +0 -38
  743. package/src/chain/bls/multithread/utils.ts +0 -19
  744. package/src/chain/bls/multithread/worker.ts +0 -114
  745. package/src/chain/bls/singleThread.ts +0 -87
  746. package/src/chain/bls/utils.ts +0 -30
  747. package/src/chain/chain.ts +0 -1365
  748. package/src/chain/emitter.ts +0 -113
  749. package/src/chain/errors/attestationError.ts +0 -194
  750. package/src/chain/errors/attesterSlashingError.ts +0 -11
  751. package/src/chain/errors/blobSidecarError.ts +0 -60
  752. package/src/chain/errors/blockError.ts +0 -166
  753. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  754. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  755. package/src/chain/errors/gossipValidation.ts +0 -20
  756. package/src/chain/errors/index.ts +0 -10
  757. package/src/chain/errors/lightClientError.ts +0 -30
  758. package/src/chain/errors/proposerSlashingError.ts +0 -11
  759. package/src/chain/errors/syncCommitteeError.ts +0 -36
  760. package/src/chain/errors/voluntaryExitError.ts +0 -13
  761. package/src/chain/forkChoice/index.ts +0 -112
  762. package/src/chain/genesis/genesis.ts +0 -190
  763. package/src/chain/genesis/interface.ts +0 -14
  764. package/src/chain/index.ts +0 -6
  765. package/src/chain/initState.ts +0 -221
  766. package/src/chain/interface.ts +0 -280
  767. package/src/chain/lightClient/index.ts +0 -764
  768. package/src/chain/lightClient/proofs.ts +0 -85
  769. package/src/chain/lightClient/types.ts +0 -33
  770. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  771. package/src/chain/opPools/attestationPool.ts +0 -283
  772. package/src/chain/opPools/index.ts +0 -5
  773. package/src/chain/opPools/opPool.ts +0 -462
  774. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -167
  775. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  776. package/src/chain/opPools/types.ts +0 -35
  777. package/src/chain/opPools/utils.ts +0 -65
  778. package/src/chain/options.ts +0 -138
  779. package/src/chain/prepareNextSlot.ts +0 -277
  780. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  781. package/src/chain/produceBlock/index.ts +0 -2
  782. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  783. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  784. package/src/chain/regen/errors.ts +0 -30
  785. package/src/chain/regen/index.ts +0 -4
  786. package/src/chain/regen/interface.ts +0 -93
  787. package/src/chain/regen/queued.ts +0 -317
  788. package/src/chain/regen/regen.ts +0 -424
  789. package/src/chain/reprocess.ts +0 -161
  790. package/src/chain/rewards/attestationsRewards.ts +0 -196
  791. package/src/chain/rewards/blockRewards.ts +0 -150
  792. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  793. package/src/chain/seenCache/index.ts +0 -5
  794. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  795. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  796. package/src/chain/seenCache/seenAttesters.ts +0 -58
  797. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  798. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  799. package/src/chain/seenCache/seenCommittee.ts +0 -43
  800. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  801. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  802. package/src/chain/serializeState.ts +0 -32
  803. package/src/chain/shufflingCache.ts +0 -238
  804. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  805. package/src/chain/stateCache/datastore/db.ts +0 -36
  806. package/src/chain/stateCache/datastore/file.ts +0 -53
  807. package/src/chain/stateCache/datastore/index.ts +0 -2
  808. package/src/chain/stateCache/datastore/types.ts +0 -13
  809. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  810. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  811. package/src/chain/stateCache/index.ts +0 -3
  812. package/src/chain/stateCache/mapMetrics.ts +0 -52
  813. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -835
  814. package/src/chain/stateCache/types.ts +0 -86
  815. package/src/chain/validation/aggregateAndProof.ts +0 -258
  816. package/src/chain/validation/attestation.ts +0 -885
  817. package/src/chain/validation/attesterSlashing.ts +0 -61
  818. package/src/chain/validation/blobSidecar.ts +0 -301
  819. package/src/chain/validation/block.ts +0 -188
  820. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  821. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  822. package/src/chain/validation/index.ts +0 -9
  823. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -45
  824. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -67
  825. package/src/chain/validation/proposerSlashing.ts +0 -54
  826. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  827. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  828. package/src/chain/validation/signatureSets/index.ts +0 -6
  829. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  830. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  831. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  832. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  833. package/src/chain/validation/syncCommittee.ts +0 -165
  834. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  835. package/src/chain/validation/voluntaryExit.ts +0 -58
  836. package/src/chain/validatorMonitor.ts +0 -1299
  837. package/src/constants/constants.ts +0 -15
  838. package/src/constants/index.ts +0 -2
  839. package/src/constants/network.ts +0 -52
  840. package/src/db/beacon.ts +0 -113
  841. package/src/db/buckets.ts +0 -80
  842. package/src/db/index.ts +0 -2
  843. package/src/db/interface.ts +0 -76
  844. package/src/db/options.ts +0 -7
  845. package/src/db/repositories/attesterSlashing.ts +0 -38
  846. package/src/db/repositories/backfilledRanges.ts +0 -29
  847. package/src/db/repositories/blobSidecars.ts +0 -37
  848. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  849. package/src/db/repositories/block.ts +0 -33
  850. package/src/db/repositories/blockArchive.ts +0 -170
  851. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  852. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  853. package/src/db/repositories/checkpointState.ts +0 -31
  854. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  855. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  856. package/src/db/repositories/depositDataRoot.ts +0 -80
  857. package/src/db/repositories/depositEvent.ts +0 -32
  858. package/src/db/repositories/eth1Data.ts +0 -33
  859. package/src/db/repositories/index.ts +0 -20
  860. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  861. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  862. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  863. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  864. package/src/db/repositories/proposerSlashing.ts +0 -15
  865. package/src/db/repositories/stateArchive.ts +0 -69
  866. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  867. package/src/db/repositories/voluntaryExit.ts +0 -15
  868. package/src/db/single/index.ts +0 -2
  869. package/src/db/single/preGenesisState.ts +0 -37
  870. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  871. package/src/eth1/errors.ts +0 -40
  872. package/src/eth1/eth1DataCache.ts +0 -26
  873. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  874. package/src/eth1/eth1DepositsCache.ts +0 -141
  875. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  876. package/src/eth1/index.ts +0 -157
  877. package/src/eth1/interface.ts +0 -131
  878. package/src/eth1/options.ts +0 -28
  879. package/src/eth1/provider/eth1Provider.ts +0 -229
  880. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  881. package/src/eth1/provider/jwt.ts +0 -36
  882. package/src/eth1/provider/utils.ts +0 -136
  883. package/src/eth1/stream.ts +0 -75
  884. package/src/eth1/utils/depositContract.ts +0 -37
  885. package/src/eth1/utils/deposits.ts +0 -70
  886. package/src/eth1/utils/eth1Data.ts +0 -100
  887. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  888. package/src/eth1/utils/eth1Vote.ts +0 -142
  889. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  890. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  891. package/src/execution/builder/cache.ts +0 -39
  892. package/src/execution/builder/http.ts +0 -229
  893. package/src/execution/builder/index.ts +0 -27
  894. package/src/execution/builder/interface.ts +0 -49
  895. package/src/execution/builder/utils.ts +0 -19
  896. package/src/execution/engine/disabled.ts +0 -35
  897. package/src/execution/engine/http.ts +0 -644
  898. package/src/execution/engine/index.ts +0 -63
  899. package/src/execution/engine/interface.ts +0 -199
  900. package/src/execution/engine/mock.ts +0 -493
  901. package/src/execution/engine/payloadIdCache.ts +0 -54
  902. package/src/execution/engine/types.ts +0 -640
  903. package/src/execution/engine/utils.ts +0 -136
  904. package/src/execution/index.ts +0 -4
  905. package/src/index.ts +0 -20
  906. package/src/metrics/index.ts +0 -4
  907. package/src/metrics/metrics/beacon.ts +0 -390
  908. package/src/metrics/metrics/lodestar.ts +0 -1870
  909. package/src/metrics/metrics.ts +0 -43
  910. package/src/metrics/nodeJsMetrics.ts +0 -19
  911. package/src/metrics/options.ts +0 -22
  912. package/src/metrics/server/http.ts +0 -114
  913. package/src/metrics/server/index.ts +0 -1
  914. package/src/metrics/utils/avgMinMax.ts +0 -87
  915. package/src/metrics/utils/gauge.ts +0 -22
  916. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  917. package/src/monitoring/clientStats.ts +0 -297
  918. package/src/monitoring/index.ts +0 -2
  919. package/src/monitoring/options.ts +0 -19
  920. package/src/monitoring/properties.ts +0 -152
  921. package/src/monitoring/service.ts +0 -235
  922. package/src/monitoring/system.ts +0 -146
  923. package/src/monitoring/types.ts +0 -21
  924. package/src/network/core/events.ts +0 -59
  925. package/src/network/core/index.ts +0 -3
  926. package/src/network/core/metrics.ts +0 -304
  927. package/src/network/core/networkCore.ts +0 -599
  928. package/src/network/core/networkCoreWorker.ts +0 -176
  929. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  930. package/src/network/core/types.ts +0 -119
  931. package/src/network/discv5/index.ts +0 -132
  932. package/src/network/discv5/types.ts +0 -74
  933. package/src/network/discv5/utils.ts +0 -50
  934. package/src/network/discv5/worker.ts +0 -137
  935. package/src/network/events.ts +0 -51
  936. package/src/network/forks.ts +0 -94
  937. package/src/network/gossip/constants.ts +0 -15
  938. package/src/network/gossip/encoding.ts +0 -111
  939. package/src/network/gossip/errors.ts +0 -7
  940. package/src/network/gossip/gossipsub.ts +0 -384
  941. package/src/network/gossip/index.ts +0 -4
  942. package/src/network/gossip/interface.ts +0 -215
  943. package/src/network/gossip/metrics.ts +0 -71
  944. package/src/network/gossip/scoringParameters.ts +0 -333
  945. package/src/network/gossip/topic.ts +0 -332
  946. package/src/network/index.ts +0 -8
  947. package/src/network/interface.ts +0 -134
  948. package/src/network/libp2p/error.ts +0 -55
  949. package/src/network/libp2p/index.ts +0 -153
  950. package/src/network/metadata.ts +0 -162
  951. package/src/network/network.ts +0 -767
  952. package/src/network/networkConfig.ts +0 -12
  953. package/src/network/options.ts +0 -70
  954. package/src/network/peers/client.ts +0 -29
  955. package/src/network/peers/datastore.ts +0 -188
  956. package/src/network/peers/discover.ts +0 -647
  957. package/src/network/peers/index.ts +0 -2
  958. package/src/network/peers/peerManager.ts +0 -899
  959. package/src/network/peers/peersData.ts +0 -65
  960. package/src/network/peers/score/constants.ts +0 -34
  961. package/src/network/peers/score/index.ts +0 -4
  962. package/src/network/peers/score/interface.ts +0 -74
  963. package/src/network/peers/score/score.ts +0 -200
  964. package/src/network/peers/score/store.ts +0 -95
  965. package/src/network/peers/score/utils.ts +0 -37
  966. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  967. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  968. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  969. package/src/network/peers/utils/index.ts +0 -4
  970. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  971. package/src/network/peers/utils/subnetMap.ts +0 -88
  972. package/src/network/processor/aggregatorTracker.ts +0 -38
  973. package/src/network/processor/extractSlotRootFns.ts +0 -64
  974. package/src/network/processor/gossipHandlers.ts +0 -951
  975. package/src/network/processor/gossipQueues/index.ts +0 -114
  976. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  977. package/src/network/processor/gossipQueues/linear.ts +0 -162
  978. package/src/network/processor/gossipQueues/types.ts +0 -57
  979. package/src/network/processor/gossipValidatorFn.ts +0 -142
  980. package/src/network/processor/index.ts +0 -496
  981. package/src/network/processor/types.ts +0 -27
  982. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  983. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  984. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  985. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  986. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  987. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  988. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  989. package/src/network/reqresp/handlers/index.ts +0 -78
  990. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  991. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  992. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  993. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  994. package/src/network/reqresp/index.ts +0 -2
  995. package/src/network/reqresp/interface.ts +0 -45
  996. package/src/network/reqresp/protocols.ts +0 -146
  997. package/src/network/reqresp/rateLimit.ts +0 -112
  998. package/src/network/reqresp/score.ts +0 -70
  999. package/src/network/reqresp/types.ts +0 -174
  1000. package/src/network/reqresp/utils/collect.ts +0 -84
  1001. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  1002. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  1003. package/src/network/statusCache.ts +0 -17
  1004. package/src/network/subnets/attnetsService.ts +0 -385
  1005. package/src/network/subnets/index.ts +0 -2
  1006. package/src/network/subnets/interface.ts +0 -66
  1007. package/src/network/subnets/syncnetsService.ts +0 -147
  1008. package/src/network/subnets/util.ts +0 -63
  1009. package/src/network/util.ts +0 -29
  1010. package/src/node/index.ts +0 -2
  1011. package/src/node/nodejs.ts +0 -349
  1012. package/src/node/notifier.ts +0 -206
  1013. package/src/node/options.ts +0 -51
  1014. package/src/node/utils/interop/deposits.ts +0 -53
  1015. package/src/node/utils/interop/state.ts +0 -59
  1016. package/src/node/utils/lightclient.ts +0 -7
  1017. package/src/node/utils/state.ts +0 -37
  1018. package/src/sync/backfill/backfill.ts +0 -893
  1019. package/src/sync/backfill/errors.ts +0 -23
  1020. package/src/sync/backfill/index.ts +0 -1
  1021. package/src/sync/backfill/verify.ts +0 -58
  1022. package/src/sync/constants.ts +0 -71
  1023. package/src/sync/index.ts +0 -2
  1024. package/src/sync/interface.ts +0 -55
  1025. package/src/sync/options.ts +0 -45
  1026. package/src/sync/range/batch.ts +0 -455
  1027. package/src/sync/range/chain.ts +0 -715
  1028. package/src/sync/range/range.ts +0 -354
  1029. package/src/sync/range/utils/batches.ts +0 -119
  1030. package/src/sync/range/utils/chainTarget.ts +0 -62
  1031. package/src/sync/range/utils/hashBlocks.ts +0 -27
  1032. package/src/sync/range/utils/index.ts +0 -5
  1033. package/src/sync/range/utils/peerBalancer.ts +0 -184
  1034. package/src/sync/range/utils/updateChains.ts +0 -66
  1035. package/src/sync/sync.ts +0 -290
  1036. package/src/sync/types.ts +0 -57
  1037. package/src/sync/unknownBlock.ts +0 -859
  1038. package/src/sync/utils/downloadByRange.ts +0 -808
  1039. package/src/sync/utils/downloadByRoot.ts +0 -560
  1040. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  1041. package/src/sync/utils/remoteSyncType.ts +0 -144
  1042. package/src/util/address.ts +0 -3
  1043. package/src/util/array.ts +0 -311
  1044. package/src/util/asyncIterableToEvents.ts +0 -164
  1045. package/src/util/binarySearch.ts +0 -48
  1046. package/src/util/bitArray.ts +0 -84
  1047. package/src/util/blobs.ts +0 -210
  1048. package/src/util/bufferPool.ts +0 -95
  1049. package/src/util/bytes.ts +0 -11
  1050. package/src/util/chunkify.ts +0 -27
  1051. package/src/util/clock.ts +0 -204
  1052. package/src/util/dataColumns.ts +0 -415
  1053. package/src/util/dependentRoot.ts +0 -47
  1054. package/src/util/enum.ts +0 -17
  1055. package/src/util/error.ts +0 -56
  1056. package/src/util/eventLoop.ts +0 -22
  1057. package/src/util/execution.ts +0 -223
  1058. package/src/util/file.ts +0 -52
  1059. package/src/util/forkChoice.ts +0 -5
  1060. package/src/util/forkName.ts +0 -20
  1061. package/src/util/graffiti.ts +0 -39
  1062. package/src/util/hex.ts +0 -9
  1063. package/src/util/index.ts +0 -2
  1064. package/src/util/ip.ts +0 -6
  1065. package/src/util/itTrigger.ts +0 -49
  1066. package/src/util/kzg.ts +0 -3
  1067. package/src/util/map.ts +0 -77
  1068. package/src/util/metadata.ts +0 -22
  1069. package/src/util/multifork.ts +0 -69
  1070. package/src/util/numpy.ts +0 -8
  1071. package/src/util/peerId.ts +0 -16
  1072. package/src/util/profile.ts +0 -54
  1073. package/src/util/promises.ts +0 -14
  1074. package/src/util/queue/errors.ts +0 -14
  1075. package/src/util/queue/fnQueue.ts +0 -16
  1076. package/src/util/queue/index.ts +0 -4
  1077. package/src/util/queue/itemQueue.ts +0 -128
  1078. package/src/util/queue/options.ts +0 -37
  1079. package/src/util/serializedCache.ts +0 -20
  1080. package/src/util/set.ts +0 -62
  1081. package/src/util/shuffle.ts +0 -21
  1082. package/src/util/sortBy.ts +0 -19
  1083. package/src/util/sszBytes.ts +0 -481
  1084. package/src/util/strictEvents.ts +0 -8
  1085. package/src/util/time.ts +0 -13
  1086. package/src/util/timeSeries.ts +0 -118
  1087. package/src/util/types.ts +0 -31
  1088. package/src/util/workerEvents.ts +0 -142
  1089. package/src/util/wrapError.ts +0 -27
@@ -1,744 +0,0 @@
1
- import {routes} from "@lodestar/api";
2
- import {ApiError, ApplicationMethods} from "@lodestar/api/server";
3
- import {
4
- ForkPostBellatrix,
5
- ForkPostFulu,
6
- NUMBER_OF_COLUMNS,
7
- SLOTS_PER_HISTORICAL_ROOT,
8
- isForkPostBellatrix,
9
- isForkPostDeneb,
10
- isForkPostElectra,
11
- isForkPostFulu,
12
- } from "@lodestar/params";
13
- import {
14
- computeEpochAtSlot,
15
- computeTimeAtSlot,
16
- reconstructSignedBlockContents,
17
- signedBeaconBlockToBlinded,
18
- } from "@lodestar/state-transition";
19
- import {
20
- ProducedBlockSource,
21
- SignedBeaconBlock,
22
- SignedBlindedBeaconBlock,
23
- SignedBlockContents,
24
- WithOptionalBytes,
25
- deneb,
26
- fulu,
27
- isDenebBlockContents,
28
- sszTypesFor,
29
- } from "@lodestar/types";
30
- import {fromAsync, fromHex, sleep, toHex, toRootHex} from "@lodestar/utils";
31
- import {BlockInputSource, isBlockInputBlobs, isBlockInputColumns} from "../../../../chain/blocks/blockInput/index.js";
32
- import {ImportBlockOpts} from "../../../../chain/blocks/types.js";
33
- import {verifyBlocksInEpoch} from "../../../../chain/blocks/verifyBlock.js";
34
- import {BeaconChain} from "../../../../chain/chain.js";
35
- import {ChainEvent} from "../../../../chain/emitter.js";
36
- import {BlockError, BlockErrorCode, BlockGossipError} from "../../../../chain/errors/index.js";
37
- import {
38
- BlockType,
39
- ProduceFullBellatrix,
40
- ProduceFullDeneb,
41
- ProduceFullFulu,
42
- } from "../../../../chain/produceBlock/index.js";
43
- import {validateGossipBlock} from "../../../../chain/validation/block.js";
44
- import {OpSource} from "../../../../chain/validatorMonitor.js";
45
- import {getBlobSidecars, kzgCommitmentToVersionedHash, reconstructBlobs} from "../../../../util/blobs.js";
46
- import {getDataColumnSidecarsFromBlock} from "../../../../util/dataColumns.js";
47
- import {isOptimisticBlock} from "../../../../util/forkChoice.js";
48
- import {kzg} from "../../../../util/kzg.js";
49
- import {promiseAllMaybeAsync} from "../../../../util/promises.js";
50
- import {ApiModules} from "../../types.js";
51
- import {assertUniqueItems} from "../../utils.js";
52
- import {getBlockResponse, toBeaconHeaderResponse} from "./utils.js";
53
-
54
- type PublishBlockOpts = ImportBlockOpts;
55
-
56
- /**
57
- * Validator clock may be advanced from beacon's clock. If the validator requests a resource in a
58
- * future slot, wait some time instead of rejecting the request because it's in the future
59
- */
60
- const MAX_API_CLOCK_DISPARITY_MS = 1000;
61
-
62
- /**
63
- * PeerID of identity keypair to signal self for score reporting
64
- */
65
- const IDENTITY_PEER_ID = ""; // TODO: Compute identity keypair
66
-
67
- export function getBeaconBlockApi({
68
- chain,
69
- config,
70
- metrics,
71
- network,
72
- db,
73
- }: Pick<
74
- ApiModules,
75
- "chain" | "config" | "metrics" | "network" | "db"
76
- >): ApplicationMethods<routes.beacon.block.Endpoints> {
77
- const publishBlock: ApplicationMethods<routes.beacon.block.Endpoints>["publishBlockV2"] = async (
78
- {signedBlockContents, broadcastValidation},
79
- _context,
80
- opts: PublishBlockOpts = {}
81
- ) => {
82
- const seenTimestampSec = Date.now() / 1000;
83
- const signedBlock = signedBlockContents.signedBlock;
84
- const slot = signedBlock.message.slot;
85
- const fork = config.getForkName(slot);
86
- const blockRoot = toRootHex(chain.config.getForkTypes(slot).BeaconBlock.hashTreeRoot(signedBlock.message));
87
-
88
- const blockForImport = chain.seenBlockInputCache.getByBlock({
89
- block: signedBlock,
90
- source: BlockInputSource.api,
91
- seenTimestampSec,
92
- blockRootHex: blockRoot,
93
- });
94
- let blobSidecars: deneb.BlobSidecars, dataColumnSidecars: fulu.DataColumnSidecars;
95
-
96
- if (isDenebBlockContents(signedBlockContents)) {
97
- if (isForkPostFulu(fork)) {
98
- const timer = metrics?.peerDas.dataColumnSidecarComputationTime.startTimer();
99
- // If the block was produced by this node, we will already have computed cells
100
- // Otherwise, we will compute them from the blobs in this function
101
- const cells =
102
- (chain.blockProductionCache.get(blockRoot) as ProduceFullFulu)?.cells ??
103
- signedBlockContents.blobs.map((blob) => kzg.computeCells(blob));
104
- const cellsAndProofs = cells.map((rowCells, rowIndex) => ({
105
- cells: rowCells,
106
- proofs: signedBlockContents.kzgProofs.slice(rowIndex * NUMBER_OF_COLUMNS, (rowIndex + 1) * NUMBER_OF_COLUMNS),
107
- }));
108
- dataColumnSidecars = getDataColumnSidecarsFromBlock(
109
- config,
110
- signedBlock as SignedBeaconBlock<ForkPostFulu>,
111
- cellsAndProofs
112
- );
113
- timer?.();
114
- blobSidecars = [];
115
- } else if (isForkPostDeneb(fork)) {
116
- blobSidecars = getBlobSidecars(config, signedBlock, signedBlockContents.blobs, signedBlockContents.kzgProofs);
117
- dataColumnSidecars = [];
118
- } else {
119
- throw Error(`Invalid data fork=${fork} for publish`);
120
- }
121
- } else {
122
- blobSidecars = [];
123
- dataColumnSidecars = [];
124
- }
125
-
126
- if (isBlockInputColumns(blockForImport)) {
127
- for (const dataColumnSidecar of dataColumnSidecars) {
128
- blockForImport.addColumn({
129
- blockRootHex: blockRoot,
130
- columnSidecar: dataColumnSidecar,
131
- source: BlockInputSource.api,
132
- seenTimestampSec,
133
- });
134
- }
135
- } else if (isBlockInputBlobs(blockForImport)) {
136
- for (const blobSidecar of blobSidecars) {
137
- blockForImport.addBlob({
138
- blockRootHex: blockRoot,
139
- blobSidecar,
140
- source: BlockInputSource.api,
141
- seenTimestampSec,
142
- });
143
- }
144
- }
145
-
146
- // check what validations have been requested before broadcasting and publishing the block
147
- // TODO: add validation time to metrics
148
- broadcastValidation = broadcastValidation ?? routes.beacon.BroadcastValidation.gossip;
149
- // if block is locally produced, full or blinded, it already is 'consensus' validated as it went through
150
- // state transition to produce the stateRoot
151
- // bodyRoot should be the same to produced block
152
- const bodyRoot = toRootHex(chain.config.getForkTypes(slot).BeaconBlockBody.hashTreeRoot(signedBlock.message.body));
153
- const blockLocallyProduced = chain.blockProductionCache.has(blockRoot);
154
- const valLogMeta = {slot, blockRoot, bodyRoot, broadcastValidation, blockLocallyProduced};
155
-
156
- switch (broadcastValidation) {
157
- case routes.beacon.BroadcastValidation.gossip: {
158
- if (!blockLocallyProduced) {
159
- try {
160
- await validateGossipBlock(config, chain, signedBlock, fork);
161
- } catch (error) {
162
- if (error instanceof BlockGossipError && error.type.code === BlockErrorCode.ALREADY_KNOWN) {
163
- chain.logger.debug("Ignoring known block during publishing", valLogMeta);
164
- // Blocks might already be published by another node as part of a fallback setup or DVT cluster
165
- // and can reach our node by gossip before the api. The error can be ignored and should not result in a 500 response.
166
- return;
167
- }
168
-
169
- chain.logger.error("Gossip validations failed while publishing the block", valLogMeta, error as Error);
170
- chain.persistInvalidSszValue(
171
- chain.config.getForkTypes(slot).SignedBeaconBlock,
172
- signedBlock,
173
- "api_reject_gossip_failure"
174
- );
175
- throw error;
176
- }
177
- }
178
- chain.logger.debug("Gossip checks validated while publishing the block", valLogMeta);
179
- break;
180
- }
181
-
182
- case routes.beacon.BroadcastValidation.consensusAndEquivocation:
183
- case routes.beacon.BroadcastValidation.consensus: {
184
- // check if this beacon node produced the block else run validations
185
- if (!blockLocallyProduced) {
186
- const parentBlock = chain.forkChoice.getBlock(signedBlock.message.parentRoot);
187
- if (parentBlock === null) {
188
- chain.emitter.emit(ChainEvent.unknownParent, {
189
- blockInput: blockForImport,
190
- peer: IDENTITY_PEER_ID,
191
- source: BlockInputSource.api,
192
- });
193
- chain.persistInvalidSszValue(
194
- chain.config.getForkTypes(slot).SignedBeaconBlock,
195
- signedBlock,
196
- "api_reject_parent_unknown"
197
- );
198
- throw new BlockError(signedBlock, {
199
- code: BlockErrorCode.PARENT_UNKNOWN,
200
- parentRoot: toRootHex(signedBlock.message.parentRoot),
201
- });
202
- }
203
-
204
- try {
205
- await verifyBlocksInEpoch.call(chain as BeaconChain, parentBlock, [blockForImport], {
206
- ...opts,
207
- verifyOnly: true,
208
- skipVerifyBlockSignatures: true,
209
- skipVerifyExecutionPayload: true,
210
- seenTimestampSec,
211
- });
212
- } catch (error) {
213
- chain.logger.error("Consensus checks failed while publishing the block", valLogMeta, error as Error);
214
- chain.persistInvalidSszValue(
215
- chain.config.getForkTypes(slot).SignedBeaconBlock,
216
- signedBlock,
217
- "api_reject_consensus_failure"
218
- );
219
- throw error;
220
- }
221
- }
222
-
223
- chain.logger.debug("Consensus validated while publishing block", valLogMeta);
224
-
225
- if (broadcastValidation === routes.beacon.BroadcastValidation.consensusAndEquivocation) {
226
- const message = `Equivocation checks not yet implemented for broadcastValidation=${broadcastValidation}`;
227
- if (chain.opts.broadcastValidationStrictness === "error") {
228
- throw Error(message);
229
- }
230
- chain.logger.warn(message, valLogMeta);
231
- }
232
- break;
233
- }
234
-
235
- case routes.beacon.BroadcastValidation.none: {
236
- chain.logger.debug("Skipping broadcast validation", valLogMeta);
237
- break;
238
- }
239
-
240
- default: {
241
- // error or log warning we do not support this validation
242
- const message = `Broadcast validation of ${broadcastValidation} type not implemented yet`;
243
- if (chain.opts.broadcastValidationStrictness === "error") {
244
- throw Error(message);
245
- }
246
- chain.logger.warn(message, valLogMeta);
247
- }
248
- }
249
-
250
- // Simple implementation of a pending block queue. Keeping the block here recycles the API logic, and keeps the
251
- // REST request promise without any extra infrastructure.
252
- const msToBlockSlot = computeTimeAtSlot(config, slot, chain.genesisTime) * 1000 - Date.now();
253
- if (msToBlockSlot <= MAX_API_CLOCK_DISPARITY_MS && msToBlockSlot > 0) {
254
- // If block is a bit early, hold it in a promise. Equivalent to a pending queue.
255
- await sleep(msToBlockSlot);
256
- }
257
-
258
- // TODO: Validate block
259
- const delaySec = seenTimestampSec - (chain.genesisTime + slot * config.SECONDS_PER_SLOT);
260
- metrics?.gossipBlock.elapsedTimeTillReceived.observe({source: OpSource.api}, delaySec);
261
- chain.validatorMonitor?.registerBeaconBlock(OpSource.api, delaySec, signedBlock.message);
262
-
263
- chain.logger.info("Publishing block", valLogMeta);
264
- const publishPromises = [
265
- // Send the block, regardless of whether or not it is valid. The API
266
- // specification is very clear that this is the desired behavior.
267
- //
268
- // - Publish blobs and block before importing so that network can see them asap
269
- // - Publish block first because
270
- // a) as soon as node sees block they can start processing it while data is in transit
271
- // b) getting block first allows nodes to use getBlobs from local ELs and save
272
- // import latency and hopefully bandwidth
273
- //
274
- () => network.publishBeaconBlock(signedBlock),
275
- ...dataColumnSidecars.map((dataColumnSidecar) => () => network.publishDataColumnSidecar(dataColumnSidecar)),
276
- ...blobSidecars.map((blobSidecar) => () => network.publishBlobSidecar(blobSidecar)),
277
- () =>
278
- // there is no rush to persist block since we published it to gossip anyway
279
- chain
280
- .processBlock(blockForImport, {...opts, eagerPersistBlock: false})
281
- .catch((e) => {
282
- if (e instanceof BlockError && e.type.code === BlockErrorCode.PARENT_UNKNOWN) {
283
- chain.emitter.emit(ChainEvent.unknownParent, {
284
- blockInput: blockForImport,
285
- peer: IDENTITY_PEER_ID,
286
- source: BlockInputSource.api,
287
- });
288
- }
289
- throw e;
290
- }),
291
- ];
292
- const sentPeersArr = await promiseAllMaybeAsync<number | void>(publishPromises);
293
-
294
- if (isForkPostFulu(fork)) {
295
- let columnsPublishedWithZeroPeers = 0;
296
- // sent peers per topic are logged in network.publishGossip(), here we only track metrics for it
297
- // starting from fulu, we have to push to 128 subnets so need to make sure we have enough sent peers per topic
298
- // + 1 because we publish to beacon_block first
299
- for (let i = 0; i < dataColumnSidecars.length; i++) {
300
- // + 1 because we publish to beacon_block first
301
- const sentPeers = sentPeersArr[i + 1] as number;
302
- // sent peers could be 0 as we set `allowPublishToZeroTopicPeers=true` in network.publishDataColumnSidecar() api
303
- metrics?.dataColumns.sentPeersPerSubnet.observe(sentPeers);
304
- if (sentPeers === 0) {
305
- columnsPublishedWithZeroPeers++;
306
- }
307
- }
308
- if (columnsPublishedWithZeroPeers > 0) {
309
- chain.logger.warn("Published data columns to 0 peers, increased risk of reorg", {
310
- slot,
311
- blockRoot,
312
- columns: columnsPublishedWithZeroPeers,
313
- });
314
- }
315
- }
316
-
317
- chain.emitter.emit(routes.events.EventType.blockGossip, {slot, block: blockRoot});
318
-
319
- if (isBlockInputColumns(blockForImport)) {
320
- const dataColumns = blockForImport.getAllColumns();
321
- metrics?.dataColumns.bySource.inc({source: BlockInputSource.api}, dataColumns.length);
322
-
323
- if (chain.emitter.listenerCount(routes.events.EventType.dataColumnSidecar)) {
324
- for (const dataColumnSidecar of dataColumns) {
325
- chain.emitter.emit(routes.events.EventType.dataColumnSidecar, {
326
- blockRoot,
327
- slot,
328
- index: dataColumnSidecar.index,
329
- kzgCommitments: dataColumnSidecar.kzgCommitments.map(toHex),
330
- });
331
- }
332
- }
333
- } else if (isBlockInputBlobs(blockForImport) && chain.emitter.listenerCount(routes.events.EventType.blobSidecar)) {
334
- const blobSidecars = blockForImport.getBlobs();
335
- const versionedHashes = blockForImport.getVersionedHashes();
336
-
337
- for (const blobSidecar of blobSidecars) {
338
- const {index, kzgCommitment} = blobSidecar;
339
- chain.emitter.emit(routes.events.EventType.blobSidecar, {
340
- blockRoot,
341
- slot,
342
- index,
343
- kzgCommitment: toHex(kzgCommitment),
344
- versionedHash: toHex(versionedHashes[index]),
345
- });
346
- }
347
- }
348
- };
349
-
350
- const publishBlindedBlock: ApplicationMethods<routes.beacon.block.Endpoints>["publishBlindedBlock"] = async (
351
- {signedBlindedBlock},
352
- context,
353
- opts: PublishBlockOpts = {}
354
- ) => {
355
- const slot = signedBlindedBlock.message.slot;
356
- const blockRoot = toRootHex(
357
- chain.config
358
- .getPostBellatrixForkTypes(signedBlindedBlock.message.slot)
359
- .BlindedBeaconBlock.hashTreeRoot(signedBlindedBlock.message)
360
- );
361
- const fork = config.getForkName(slot);
362
-
363
- // Either the payload/blobs are cached from i) engine locally or ii) they are from the builder
364
- const producedResult = chain.blockProductionCache.get(blockRoot);
365
- if (producedResult !== undefined && producedResult.type !== BlockType.Blinded) {
366
- const source = ProducedBlockSource.engine;
367
- chain.logger.debug("Reconstructing the full signed block contents", {slot, blockRoot, source});
368
-
369
- const signedBlockContents = reconstructSignedBlockContents(
370
- fork,
371
- signedBlindedBlock,
372
- (producedResult as ProduceFullBellatrix).executionPayload ?? null,
373
- (producedResult as ProduceFullDeneb).blobsBundle ?? null
374
- );
375
-
376
- chain.logger.info("Publishing assembled block", {slot, blockRoot, source});
377
- return publishBlock({signedBlockContents}, {...context, sszBytes: null}, opts);
378
- }
379
-
380
- const source = ProducedBlockSource.builder;
381
-
382
- if (isForkPostFulu(fork)) {
383
- await submitBlindedBlockToBuilder(chain, {
384
- data: signedBlindedBlock,
385
- bytes: context?.sszBytes,
386
- });
387
- chain.logger.info("Submitted blinded block to builder for publishing", {slot, blockRoot});
388
- } else {
389
- // TODO: After fulu is live and all builders support submitBlindedBlockV2, we can safely remove
390
- // this code block and related functions
391
- chain.logger.debug("Reconstructing full signed block contents", {slot, blockRoot, source});
392
-
393
- const signedBlockContents = await reconstructBuilderSignedBlockContents(chain, {
394
- data: signedBlindedBlock,
395
- bytes: context?.sszBytes,
396
- });
397
-
398
- // the full block is published by relay and it's possible that the block is already known to us
399
- // by gossip
400
- //
401
- // see: https://github.com/ChainSafe/lodestar/issues/5404
402
- chain.logger.info("Publishing assembled block", {slot, blockRoot, source});
403
- return publishBlock({signedBlockContents}, {...context, sszBytes: null}, {...opts, ignoreIfKnown: true});
404
- }
405
- };
406
-
407
- return {
408
- async getBlockHeaders({slot, parentRoot}) {
409
- // TODO - SLOW CODE: This code seems like it could be improved
410
-
411
- // If one block in the response contains an optimistic block, mark the entire response as optimistic
412
- let executionOptimistic = false;
413
- // If one block in the response is non finalized, mark the entire response as unfinalized
414
- let finalized = true;
415
-
416
- const result: routes.beacon.BlockHeaderResponse[] = [];
417
- if (parentRoot) {
418
- const finalizedBlock = await db.blockArchive.getByParentRoot(fromHex(parentRoot));
419
- if (finalizedBlock) {
420
- result.push(toBeaconHeaderResponse(config, finalizedBlock, true));
421
- }
422
- const nonFinalizedBlocks = chain.forkChoice.getBlockSummariesByParentRoot(parentRoot);
423
- await Promise.all(
424
- nonFinalizedBlocks.map(async (summary) => {
425
- const block = await db.block.get(fromHex(summary.blockRoot));
426
- if (block) {
427
- const canonical = chain.forkChoice.getCanonicalBlockAtSlot(block.message.slot);
428
- if (canonical) {
429
- result.push(toBeaconHeaderResponse(config, block, canonical.blockRoot === summary.blockRoot));
430
- if (isOptimisticBlock(canonical)) {
431
- executionOptimistic = true;
432
- }
433
- // Block from hot db which only contains unfinalized blocks
434
- finalized = false;
435
- }
436
- }
437
- })
438
- );
439
- return {
440
- data: result.filter(
441
- (item) =>
442
- // skip if no slot filter
443
- !(slot !== undefined && slot !== 0) || item.header.message.slot === slot
444
- ),
445
- meta: {executionOptimistic, finalized},
446
- };
447
- }
448
-
449
- const headSlot = chain.forkChoice.getHead().slot;
450
- if (!parentRoot && slot === undefined) {
451
- slot = headSlot;
452
- }
453
-
454
- if (slot !== undefined) {
455
- // future slot
456
- if (slot > headSlot) {
457
- return {data: [], meta: {executionOptimistic: false, finalized: false}};
458
- }
459
-
460
- const canonicalBlock = await chain.getCanonicalBlockAtSlot(slot);
461
- // skip slot
462
- if (!canonicalBlock) {
463
- return {data: [], meta: {executionOptimistic: false, finalized: false}};
464
- }
465
- const canonicalRoot = config
466
- .getForkTypes(canonicalBlock.block.message.slot)
467
- .BeaconBlock.hashTreeRoot(canonicalBlock.block.message);
468
- result.push(toBeaconHeaderResponse(config, canonicalBlock.block, true));
469
- if (!canonicalBlock.finalized) {
470
- finalized = false;
471
- }
472
-
473
- // fork blocks
474
- // TODO: What is this logic?
475
- await Promise.all(
476
- chain.forkChoice.getBlockSummariesAtSlot(slot).map(async (summary) => {
477
- if (isOptimisticBlock(summary)) {
478
- executionOptimistic = true;
479
- }
480
- finalized = false;
481
-
482
- if (summary.blockRoot !== toRootHex(canonicalRoot)) {
483
- const block = await db.block.get(fromHex(summary.blockRoot));
484
- if (block) {
485
- result.push(toBeaconHeaderResponse(config, block));
486
- }
487
- }
488
- })
489
- );
490
- }
491
-
492
- return {
493
- data: result,
494
- meta: {executionOptimistic, finalized},
495
- };
496
- },
497
-
498
- async getBlockHeader({blockId}) {
499
- const {block, executionOptimistic, finalized} = await getBlockResponse(chain, blockId);
500
- return {
501
- data: toBeaconHeaderResponse(config, block, true),
502
- meta: {executionOptimistic, finalized},
503
- };
504
- },
505
-
506
- async getBlockV2({blockId}) {
507
- const {block, executionOptimistic, finalized} = await getBlockResponse(chain, blockId);
508
- return {
509
- data: block,
510
- meta: {
511
- executionOptimistic,
512
- finalized,
513
- version: config.getForkName(block.message.slot),
514
- },
515
- };
516
- },
517
-
518
- async getBlindedBlock({blockId}) {
519
- const {block, executionOptimistic, finalized} = await getBlockResponse(chain, blockId);
520
- const fork = config.getForkName(block.message.slot);
521
- return {
522
- data: isForkPostBellatrix(fork)
523
- ? signedBeaconBlockToBlinded(config, block as SignedBeaconBlock<ForkPostBellatrix>)
524
- : block,
525
- meta: {
526
- executionOptimistic,
527
- finalized,
528
- version: fork,
529
- },
530
- };
531
- },
532
-
533
- async getBlockAttestations({blockId}) {
534
- const {block, executionOptimistic, finalized} = await getBlockResponse(chain, blockId);
535
- const fork = config.getForkName(block.message.slot);
536
-
537
- if (isForkPostElectra(fork)) {
538
- throw new ApiError(
539
- 400,
540
- `Use getBlockAttestationsV2 to retrieve block attestations for post-electra fork=${fork}`
541
- );
542
- }
543
-
544
- return {
545
- data: block.message.body.attestations,
546
- meta: {executionOptimistic, finalized},
547
- };
548
- },
549
-
550
- async getBlockAttestationsV2({blockId}) {
551
- const {block, executionOptimistic, finalized} = await getBlockResponse(chain, blockId);
552
- return {
553
- data: block.message.body.attestations,
554
- meta: {executionOptimistic, finalized, version: config.getForkName(block.message.slot)},
555
- };
556
- },
557
-
558
- async getBlockRoot({blockId}) {
559
- // Fast path: From head state already available in memory get historical blockRoot
560
- const slot = typeof blockId === "string" ? parseInt(blockId) : blockId;
561
- if (!Number.isNaN(slot)) {
562
- const head = chain.forkChoice.getHead();
563
-
564
- if (slot === head.slot) {
565
- return {
566
- data: {root: fromHex(head.blockRoot)},
567
- meta: {executionOptimistic: isOptimisticBlock(head), finalized: false},
568
- };
569
- }
570
-
571
- if (slot < head.slot && head.slot <= slot + SLOTS_PER_HISTORICAL_ROOT) {
572
- const state = chain.getHeadState();
573
- return {
574
- data: {root: state.blockRoots.get(slot % SLOTS_PER_HISTORICAL_ROOT)},
575
- meta: {
576
- executionOptimistic: isOptimisticBlock(head),
577
- finalized: computeEpochAtSlot(slot) <= chain.forkChoice.getFinalizedCheckpoint().epoch,
578
- },
579
- };
580
- }
581
- } else if (blockId === "head") {
582
- const head = chain.forkChoice.getHead();
583
- return {
584
- data: {root: fromHex(head.blockRoot)},
585
- meta: {executionOptimistic: isOptimisticBlock(head), finalized: false},
586
- };
587
- }
588
-
589
- // Slow path
590
- const {block, executionOptimistic, finalized} = await getBlockResponse(chain, blockId);
591
- return {
592
- data: {root: config.getForkTypes(block.message.slot).BeaconBlock.hashTreeRoot(block.message)},
593
- meta: {executionOptimistic, finalized},
594
- };
595
- },
596
-
597
- publishBlock,
598
- publishBlindedBlock,
599
-
600
- async publishBlindedBlockV2(args, context, opts) {
601
- await publishBlindedBlock(args, context, opts);
602
- },
603
-
604
- async publishBlockV2(args, context, opts) {
605
- await publishBlock(args, context, opts);
606
- },
607
-
608
- async getBlobSidecars({blockId, indices}) {
609
- assertUniqueItems(indices, "Duplicate indices provided");
610
-
611
- const {block, executionOptimistic, finalized} = await getBlockResponse(chain, blockId);
612
- const fork = config.getForkName(block.message.slot);
613
-
614
- if (isForkPostFulu(fork)) {
615
- throw new ApiError(400, `Use getBlobs to retrieve blobs for post-fulu fork=${fork}`);
616
- }
617
-
618
- const blockRoot = sszTypesFor(fork).BeaconBlock.hashTreeRoot(block.message);
619
-
620
- let {blobSidecars} = (await db.blobSidecars.get(blockRoot)) ?? {};
621
- if (!blobSidecars) {
622
- ({blobSidecars} = (await db.blobSidecarsArchive.get(block.message.slot)) ?? {});
623
- }
624
-
625
- if (!blobSidecars) {
626
- throw Error(`blobSidecars not found in db for slot=${block.message.slot} root=${toRootHex(blockRoot)}`);
627
- }
628
-
629
- return {
630
- data: indices ? blobSidecars.filter(({index}) => indices.includes(index)) : blobSidecars,
631
- meta: {
632
- executionOptimistic,
633
- finalized,
634
- version: config.getForkName(block.message.slot),
635
- },
636
- };
637
- },
638
-
639
- async getBlobs({blockId, versionedHashes}) {
640
- assertUniqueItems(versionedHashes, "Duplicate versioned hashes provided");
641
-
642
- const {block, executionOptimistic, finalized} = await getBlockResponse(chain, blockId);
643
- const fork = config.getForkName(block.message.slot);
644
- const blockRoot = sszTypesFor(fork).BeaconBlock.hashTreeRoot(block.message);
645
-
646
- let blobs: deneb.Blobs;
647
-
648
- if (isForkPostFulu(fork)) {
649
- const {targetCustodyGroupCount} = chain.custodyConfig;
650
- if (targetCustodyGroupCount < NUMBER_OF_COLUMNS / 2) {
651
- throw Error(
652
- `Custody group count of ${targetCustodyGroupCount} is not sufficient to serve blobs, must custody at least ${NUMBER_OF_COLUMNS / 2} data columns`
653
- );
654
- }
655
-
656
- const blobCount = (block.message.body as deneb.BeaconBlockBody).blobKzgCommitments.length;
657
-
658
- if (blobCount > 0) {
659
- let dataColumnSidecars = await fromAsync(db.dataColumnSidecar.valuesStream(blockRoot));
660
- if (dataColumnSidecars.length === 0) {
661
- dataColumnSidecars = await fromAsync(db.dataColumnSidecarArchive.valuesStream(block.message.slot));
662
- }
663
-
664
- if (dataColumnSidecars.length === 0) {
665
- throw new ApiError(
666
- 404,
667
- `dataColumnSidecars not found in db for slot=${block.message.slot} root=${toRootHex(blockRoot)} blobs=${blobCount}`
668
- );
669
- }
670
-
671
- blobs = await reconstructBlobs(dataColumnSidecars);
672
- } else {
673
- blobs = [];
674
- }
675
- } else if (isForkPostDeneb(fork)) {
676
- let {blobSidecars} = (await db.blobSidecars.get(blockRoot)) ?? {};
677
- if (!blobSidecars) {
678
- ({blobSidecars} = (await db.blobSidecarsArchive.get(block.message.slot)) ?? {});
679
- }
680
-
681
- if (!blobSidecars) {
682
- throw new ApiError(
683
- 404,
684
- `blobSidecars not found in db for slot=${block.message.slot} root=${toRootHex(blockRoot)}`
685
- );
686
- }
687
-
688
- blobs = blobSidecars.sort((a, b) => a.index - b.index).map(({blob}) => blob);
689
- } else {
690
- blobs = [];
691
- }
692
-
693
- if (blobs.length && versionedHashes?.length) {
694
- const kzgCommitments = (block as deneb.SignedBeaconBlock).message.body.blobKzgCommitments;
695
-
696
- const blockVersionedHashes = kzgCommitments.map((commitment) =>
697
- toHex(kzgCommitmentToVersionedHash(commitment))
698
- );
699
-
700
- const requestedIndices: number[] = [];
701
- for (const requestedHash of versionedHashes) {
702
- const index = blockVersionedHashes.findIndex((hash) => hash === requestedHash);
703
- if (index === -1) {
704
- throw new ApiError(400, `Versioned hash ${requestedHash} not found in block`);
705
- }
706
- requestedIndices.push(index);
707
- }
708
-
709
- blobs = requestedIndices.sort((a, b) => a - b).map((index) => blobs[index]);
710
- }
711
-
712
- return {
713
- data: blobs,
714
- meta: {
715
- executionOptimistic,
716
- finalized,
717
- },
718
- };
719
- },
720
- };
721
- }
722
-
723
- async function reconstructBuilderSignedBlockContents(
724
- chain: ApiModules["chain"],
725
- signedBlindedBlock: WithOptionalBytes<SignedBlindedBeaconBlock>
726
- ): Promise<SignedBlockContents> {
727
- const executionBuilder = chain.executionBuilder;
728
- if (!executionBuilder) {
729
- throw Error("executionBuilder required to publish SignedBlindedBeaconBlock");
730
- }
731
-
732
- return executionBuilder.submitBlindedBlock(signedBlindedBlock);
733
- }
734
-
735
- async function submitBlindedBlockToBuilder(
736
- chain: ApiModules["chain"],
737
- signedBlindedBlock: WithOptionalBytes<SignedBlindedBeaconBlock>
738
- ): Promise<void> {
739
- const executionBuilder = chain.executionBuilder;
740
- if (!executionBuilder) {
741
- throw Error("executionBuilder required to submit SignedBlindedBeaconBlock to builder");
742
- }
743
- await executionBuilder.submitBlindedBlockNoResponse(signedBlindedBlock);
744
- }