@lodestar/beacon-node 1.35.0-dev.39be8f0882 → 1.35.0-dev.3d8b04e1a0

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 (1105) 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/impl/validator/index.js +3 -5
  10. package/lib/api/impl/validator/index.js.map +1 -1
  11. package/lib/api/rest/base.d.ts +1 -1
  12. package/lib/api/rest/base.js +2 -2
  13. package/lib/api/rest/base.js.map +1 -1
  14. package/lib/api/rest/index.js.map +1 -1
  15. package/lib/chain/ColumnReconstructionTracker.d.ts +2 -2
  16. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  17. package/lib/chain/GetBlobsTracker.d.ts +2 -2
  18. package/lib/chain/GetBlobsTracker.js +3 -3
  19. package/lib/chain/GetBlobsTracker.js.map +1 -1
  20. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
  21. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  22. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  23. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  24. package/lib/chain/archiveStore/index.d.ts +1 -1
  25. package/lib/chain/archiveStore/index.js +1 -1
  26. package/lib/chain/blocks/blockInput/index.d.ts +1 -1
  27. package/lib/chain/blocks/blockInput/index.js +1 -1
  28. package/lib/chain/blocks/importBlock.js +3 -4
  29. package/lib/chain/blocks/importBlock.js.map +1 -1
  30. package/lib/chain/blocks/index.d.ts +1 -1
  31. package/lib/chain/blocks/index.js.map +1 -1
  32. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
  33. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  34. package/lib/chain/bls/multithread/index.js +0 -1
  35. package/lib/chain/bls/multithread/index.js.map +1 -1
  36. package/lib/chain/chain.d.ts +3 -3
  37. package/lib/chain/chain.js +5 -4
  38. package/lib/chain/chain.js.map +1 -1
  39. package/lib/chain/emitter.d.ts +2 -2
  40. package/lib/chain/emitter.js.map +1 -1
  41. package/lib/chain/errors/index.d.ts +2 -2
  42. package/lib/chain/errors/index.js +2 -2
  43. package/lib/chain/errors/index.js.map +1 -1
  44. package/lib/chain/forkChoice/index.js.map +1 -1
  45. package/lib/chain/index.d.ts +2 -2
  46. package/lib/chain/index.js +2 -2
  47. package/lib/chain/index.js.map +1 -1
  48. package/lib/chain/interface.d.ts +2 -2
  49. package/lib/chain/interface.js.map +1 -1
  50. package/lib/chain/lightClient/index.js.map +1 -1
  51. package/lib/chain/lightClient/proofs.js.map +1 -1
  52. package/lib/chain/opPools/aggregatedAttestationPool.js +1 -1
  53. package/lib/chain/opPools/attestationPool.d.ts +3 -2
  54. package/lib/chain/opPools/attestationPool.js +6 -4
  55. package/lib/chain/opPools/attestationPool.js.map +1 -1
  56. package/lib/chain/opPools/index.d.ts +1 -1
  57. package/lib/chain/opPools/index.js +1 -1
  58. package/lib/chain/opPools/index.js.map +1 -1
  59. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +2 -3
  60. package/lib/chain/opPools/syncCommitteeMessagePool.js +5 -6
  61. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  62. package/lib/chain/opPools/types.d.ts +1 -1
  63. package/lib/chain/opPools/types.js +1 -1
  64. package/lib/chain/opPools/types.js.map +1 -1
  65. package/lib/chain/options.js +1 -1
  66. package/lib/chain/options.js.map +1 -1
  67. package/lib/chain/prepareNextSlot.d.ts +3 -3
  68. package/lib/chain/prepareNextSlot.js +8 -8
  69. package/lib/chain/prepareNextSlot.js.map +1 -1
  70. package/lib/chain/regen/index.d.ts +1 -1
  71. package/lib/chain/regen/index.js +1 -1
  72. package/lib/chain/regen/index.js.map +1 -1
  73. package/lib/chain/stateCache/datastore/index.d.ts +1 -1
  74. package/lib/chain/stateCache/datastore/index.js +1 -1
  75. package/lib/chain/stateCache/datastore/index.js.map +1 -1
  76. package/lib/chain/stateCache/index.d.ts +1 -1
  77. package/lib/chain/stateCache/index.js +1 -1
  78. package/lib/chain/stateCache/index.js.map +1 -1
  79. package/lib/chain/stateCache/persistentCheckpointsCache.js +10 -10
  80. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  81. package/lib/chain/validation/blobSidecar.js.map +1 -1
  82. package/lib/chain/validation/dataColumnSidecar.js +1 -1
  83. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  84. package/lib/chain/validation/index.d.ts +1 -1
  85. package/lib/chain/validation/index.js +1 -1
  86. package/lib/chain/validation/index.js.map +1 -1
  87. package/lib/chain/validation/lightClientFinalityUpdate.js +3 -4
  88. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  89. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +4 -6
  90. package/lib/chain/validation/lightClientOptimisticUpdate.js +11 -11
  91. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  92. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +2 -1
  93. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  94. package/lib/chain/validatorMonitor.d.ts +3 -1
  95. package/lib/chain/validatorMonitor.js +14 -20
  96. package/lib/chain/validatorMonitor.js.map +1 -1
  97. package/lib/db/buckets.d.ts +4 -4
  98. package/lib/db/buckets.js +4 -4
  99. package/lib/db/buckets.js.map +1 -1
  100. package/lib/db/index.d.ts +1 -1
  101. package/lib/db/index.js.map +1 -1
  102. package/lib/db/repositories/blobSidecars.js +1 -1
  103. package/lib/db/repositories/blobSidecars.js.map +1 -1
  104. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  105. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  106. package/lib/db/repositories/blockArchive.js +3 -2
  107. package/lib/db/repositories/blockArchive.js.map +1 -1
  108. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  109. package/lib/db/repositories/dataColumnSidecar.js +2 -2
  110. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  111. package/lib/db/repositories/dataColumnSidecarArchive.js +2 -2
  112. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  113. package/lib/db/repositories/index.d.ts +10 -10
  114. package/lib/db/repositories/index.js +9 -9
  115. package/lib/db/repositories/index.js.map +1 -1
  116. package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
  117. package/lib/eth1/eth1DepositsCache.js.map +1 -1
  118. package/lib/eth1/provider/eth1Provider.d.ts +2 -1
  119. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  120. package/lib/eth1/provider/jsonRpcHttpClient.d.ts +1 -1
  121. package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
  122. package/lib/eth1/provider/jwt.js.map +1 -1
  123. package/lib/eth1/utils/deposits.js.map +1 -1
  124. package/lib/execution/builder/index.js.map +1 -1
  125. package/lib/execution/engine/interface.js.map +1 -1
  126. package/lib/execution/engine/types.js.map +1 -1
  127. package/lib/execution/engine/utils.js +2 -1
  128. package/lib/execution/engine/utils.js.map +1 -1
  129. package/lib/execution/index.d.ts +2 -2
  130. package/lib/execution/index.js +2 -2
  131. package/lib/execution/index.js.map +1 -1
  132. package/lib/index.d.ts +6 -6
  133. package/lib/index.js +5 -5
  134. package/lib/index.js.map +1 -1
  135. package/lib/metrics/index.d.ts +1 -1
  136. package/lib/metrics/index.js +1 -1
  137. package/lib/metrics/index.js.map +1 -1
  138. package/lib/metrics/metrics/lodestar.d.ts +2 -2
  139. package/lib/metrics/metrics/lodestar.js +3 -3
  140. package/lib/metrics/metrics/lodestar.js.map +1 -1
  141. package/lib/metrics/metrics.d.ts +1 -1
  142. package/lib/metrics/metrics.js.map +1 -1
  143. package/lib/metrics/nodeJsMetrics.js +1 -1
  144. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  145. package/lib/metrics/server/http.d.ts +1 -1
  146. package/lib/metrics/utils/avgMinMax.d.ts +1 -1
  147. package/lib/metrics/utils/gauge.d.ts +1 -1
  148. package/lib/metrics/utils/gauge.js.map +1 -1
  149. package/lib/metrics/utils/registryMetricCreator.d.ts +1 -1
  150. package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
  151. package/lib/monitoring/service.js.map +1 -1
  152. package/lib/monitoring/system.js.map +1 -1
  153. package/lib/network/core/networkCore.d.ts +1 -1
  154. package/lib/network/core/networkCore.js +1 -1
  155. package/lib/network/core/networkCore.js.map +1 -1
  156. package/lib/network/core/networkCoreWorker.js +1 -1
  157. package/lib/network/core/networkCoreWorker.js.map +1 -1
  158. package/lib/network/core/networkCoreWorkerHandler.d.ts +1 -1
  159. package/lib/network/core/networkCoreWorkerHandler.js +4 -10
  160. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  161. package/lib/network/discv5/index.d.ts +2 -2
  162. package/lib/network/discv5/index.js +2 -5
  163. package/lib/network/discv5/index.js.map +1 -1
  164. package/lib/network/discv5/worker.js +3 -3
  165. package/lib/network/discv5/worker.js.map +1 -1
  166. package/lib/network/gossip/encoding.d.ts +1 -1
  167. package/lib/network/gossip/encoding.js +2 -2
  168. package/lib/network/gossip/encoding.js.map +1 -1
  169. package/lib/network/gossip/gossipsub.d.ts +1 -2
  170. package/lib/network/gossip/gossipsub.js +17 -36
  171. package/lib/network/gossip/gossipsub.js.map +1 -1
  172. package/lib/network/gossip/index.d.ts +2 -2
  173. package/lib/network/gossip/index.js +2 -2
  174. package/lib/network/gossip/index.js.map +1 -1
  175. package/lib/network/gossip/interface.d.ts +2 -2
  176. package/lib/network/gossip/metrics.d.ts +7 -15
  177. package/lib/network/gossip/metrics.js +6 -16
  178. package/lib/network/gossip/metrics.js.map +1 -1
  179. package/lib/network/gossip/topic.d.ts +60 -80
  180. package/lib/network/gossip/topic.js.map +1 -1
  181. package/lib/network/index.d.ts +3 -3
  182. package/lib/network/index.js +3 -3
  183. package/lib/network/index.js.map +1 -1
  184. package/lib/network/interface.d.ts +1 -1
  185. package/lib/network/libp2p/index.js +3 -11
  186. package/lib/network/libp2p/index.js.map +1 -1
  187. package/lib/network/metadata.js +1 -2
  188. package/lib/network/metadata.js.map +1 -1
  189. package/lib/network/network.d.ts +2 -2
  190. package/lib/network/network.js +13 -11
  191. package/lib/network/network.js.map +1 -1
  192. package/lib/network/peers/datastore.d.ts +2 -2
  193. package/lib/network/peers/datastore.js +2 -2
  194. package/lib/network/peers/datastore.js.map +1 -1
  195. package/lib/network/peers/discover.js +2 -1
  196. package/lib/network/peers/discover.js.map +1 -1
  197. package/lib/network/peers/peerManager.js.map +1 -1
  198. package/lib/network/peers/score/index.d.ts +1 -1
  199. package/lib/network/peers/score/index.js +1 -1
  200. package/lib/network/peers/score/index.js.map +1 -1
  201. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  202. package/lib/network/processor/gossipHandlers.js +1 -1
  203. package/lib/network/processor/index.d.ts +1 -1
  204. package/lib/network/processor/index.js +5 -3
  205. package/lib/network/processor/index.js.map +1 -1
  206. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +1 -1
  207. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  208. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  209. package/lib/network/reqresp/index.d.ts +1 -1
  210. package/lib/network/reqresp/index.js +1 -1
  211. package/lib/network/reqresp/index.js.map +1 -1
  212. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  213. package/lib/network/subnets/interface.js +1 -1
  214. package/lib/network/subnets/interface.js.map +1 -1
  215. package/lib/network/subnets/util.js +2 -1
  216. package/lib/network/subnets/util.js.map +1 -1
  217. package/lib/node/nodejs.d.ts +1 -1
  218. package/lib/node/nodejs.js.map +1 -1
  219. package/lib/node/notifier.js +2 -1
  220. package/lib/node/notifier.js.map +1 -1
  221. package/lib/node/options.js.map +1 -1
  222. package/lib/node/utils/interop/state.js +2 -1
  223. package/lib/node/utils/interop/state.js.map +1 -1
  224. package/lib/sync/backfill/backfill.d.ts +1 -1
  225. package/lib/sync/backfill/backfill.js +1 -1
  226. package/lib/sync/backfill/backfill.js.map +1 -1
  227. package/lib/sync/range/batch.d.ts +2 -2
  228. package/lib/sync/range/batch.js +1 -1
  229. package/lib/sync/range/batch.js.map +1 -1
  230. package/lib/sync/range/chain.d.ts +1 -1
  231. package/lib/sync/range/chain.js.map +1 -1
  232. package/lib/sync/range/range.d.ts +1 -1
  233. package/lib/sync/range/range.js.map +1 -1
  234. package/lib/sync/sync.d.ts +2 -1
  235. package/lib/sync/sync.js.map +1 -1
  236. package/lib/sync/types.d.ts +1 -0
  237. package/lib/sync/types.js.map +1 -1
  238. package/lib/sync/unknownBlock.d.ts +1 -0
  239. package/lib/sync/unknownBlock.js +20 -18
  240. package/lib/sync/unknownBlock.js.map +1 -1
  241. package/lib/sync/utils/downloadByRange.d.ts +1 -1
  242. package/lib/sync/utils/downloadByRoot.d.ts +2 -4
  243. package/lib/sync/utils/downloadByRoot.js +9 -36
  244. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  245. package/lib/util/blobs.js +3 -5
  246. package/lib/util/blobs.js.map +1 -1
  247. package/lib/util/clock.d.ts +1 -6
  248. package/lib/util/clock.js +0 -3
  249. package/lib/util/clock.js.map +1 -1
  250. package/lib/util/dataColumns.d.ts +2 -2
  251. package/lib/util/dataColumns.js +4 -4
  252. package/lib/util/dataColumns.js.map +1 -1
  253. package/lib/util/execution.d.ts +2 -2
  254. package/lib/util/execution.js +8 -25
  255. package/lib/util/execution.js.map +1 -1
  256. package/lib/util/queue/index.d.ts +1 -1
  257. package/lib/util/queue/index.js +1 -1
  258. package/lib/util/queue/index.js.map +1 -1
  259. package/package.json +22 -32
  260. package/lib/api/impl/api.d.ts.map +0 -1
  261. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  262. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  263. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  264. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  265. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  266. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  267. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  268. package/lib/api/impl/config/constants.d.ts.map +0 -1
  269. package/lib/api/impl/config/index.d.ts.map +0 -1
  270. package/lib/api/impl/debug/index.d.ts.map +0 -1
  271. package/lib/api/impl/errors.d.ts.map +0 -1
  272. package/lib/api/impl/events/index.d.ts.map +0 -1
  273. package/lib/api/impl/index.d.ts.map +0 -1
  274. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  275. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  276. package/lib/api/impl/node/index.d.ts.map +0 -1
  277. package/lib/api/impl/node/utils.d.ts.map +0 -1
  278. package/lib/api/impl/proof/index.d.ts.map +0 -1
  279. package/lib/api/impl/types.d.ts.map +0 -1
  280. package/lib/api/impl/utils.d.ts.map +0 -1
  281. package/lib/api/impl/validator/index.d.ts.map +0 -1
  282. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  283. package/lib/api/index.d.ts.map +0 -1
  284. package/lib/api/options.d.ts.map +0 -1
  285. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  286. package/lib/api/rest/base.d.ts.map +0 -1
  287. package/lib/api/rest/index.d.ts.map +0 -1
  288. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  289. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  290. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  291. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  292. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  293. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  294. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  295. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  296. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  297. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  298. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  299. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  300. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  301. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  302. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  303. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  304. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  305. package/lib/chain/balancesCache.d.ts.map +0 -1
  306. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  307. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  308. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  309. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  310. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  311. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  312. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  313. package/lib/chain/blocks/index.d.ts.map +0 -1
  314. package/lib/chain/blocks/types.d.ts.map +0 -1
  315. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  316. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  317. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  318. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  319. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  320. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  321. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  322. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  323. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  324. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  325. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  326. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  327. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  328. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  329. package/lib/chain/bls/index.d.ts.map +0 -1
  330. package/lib/chain/bls/interface.d.ts.map +0 -1
  331. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  332. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  333. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  334. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  335. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  336. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  337. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  338. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  339. package/lib/chain/bls/utils.d.ts.map +0 -1
  340. package/lib/chain/chain.d.ts.map +0 -1
  341. package/lib/chain/emitter.d.ts.map +0 -1
  342. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  343. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  344. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  345. package/lib/chain/errors/blockError.d.ts.map +0 -1
  346. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  347. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  348. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  349. package/lib/chain/errors/index.d.ts.map +0 -1
  350. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  351. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  352. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  353. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  354. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  355. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  356. package/lib/chain/genesis/interface.d.ts.map +0 -1
  357. package/lib/chain/index.d.ts.map +0 -1
  358. package/lib/chain/initState.d.ts.map +0 -1
  359. package/lib/chain/interface.d.ts.map +0 -1
  360. package/lib/chain/lightClient/index.d.ts.map +0 -1
  361. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  362. package/lib/chain/lightClient/types.d.ts.map +0 -1
  363. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  364. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  365. package/lib/chain/opPools/index.d.ts.map +0 -1
  366. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  367. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  368. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  369. package/lib/chain/opPools/types.d.ts.map +0 -1
  370. package/lib/chain/opPools/utils.d.ts.map +0 -1
  371. package/lib/chain/options.d.ts.map +0 -1
  372. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  373. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  374. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  375. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  376. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  377. package/lib/chain/regen/errors.d.ts.map +0 -1
  378. package/lib/chain/regen/index.d.ts.map +0 -1
  379. package/lib/chain/regen/interface.d.ts.map +0 -1
  380. package/lib/chain/regen/queued.d.ts.map +0 -1
  381. package/lib/chain/regen/regen.d.ts.map +0 -1
  382. package/lib/chain/reprocess.d.ts.map +0 -1
  383. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  384. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  385. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  386. package/lib/chain/seenCache/index.d.ts.map +0 -1
  387. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  388. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  389. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  390. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  391. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  392. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  393. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  394. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  395. package/lib/chain/serializeState.d.ts.map +0 -1
  396. package/lib/chain/shufflingCache.d.ts.map +0 -1
  397. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  398. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  399. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  400. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  401. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  402. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  403. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  404. package/lib/chain/stateCache/index.d.ts.map +0 -1
  405. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  406. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  407. package/lib/chain/stateCache/types.d.ts.map +0 -1
  408. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  409. package/lib/chain/validation/attestation.d.ts.map +0 -1
  410. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  411. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  412. package/lib/chain/validation/block.d.ts.map +0 -1
  413. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  414. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  415. package/lib/chain/validation/index.d.ts.map +0 -1
  416. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  417. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  418. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  419. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  420. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  421. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  422. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  423. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  424. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  425. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  426. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  427. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  428. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  429. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  430. package/lib/constants/constants.d.ts.map +0 -1
  431. package/lib/constants/index.d.ts.map +0 -1
  432. package/lib/constants/network.d.ts.map +0 -1
  433. package/lib/db/beacon.d.ts.map +0 -1
  434. package/lib/db/buckets.d.ts.map +0 -1
  435. package/lib/db/index.d.ts.map +0 -1
  436. package/lib/db/interface.d.ts.map +0 -1
  437. package/lib/db/options.d.ts.map +0 -1
  438. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  439. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  440. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  441. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  442. package/lib/db/repositories/block.d.ts.map +0 -1
  443. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  444. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  445. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  446. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  447. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  448. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  449. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  450. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  451. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  452. package/lib/db/repositories/index.d.ts.map +0 -1
  453. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  454. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  455. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  456. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  457. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  458. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  459. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  460. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  461. package/lib/db/single/index.d.ts.map +0 -1
  462. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  463. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  464. package/lib/eth1/errors.d.ts.map +0 -1
  465. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  466. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  467. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  468. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  469. package/lib/eth1/index.d.ts.map +0 -1
  470. package/lib/eth1/interface.d.ts.map +0 -1
  471. package/lib/eth1/options.d.ts.map +0 -1
  472. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  473. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  474. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  475. package/lib/eth1/provider/utils.d.ts.map +0 -1
  476. package/lib/eth1/stream.d.ts.map +0 -1
  477. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  478. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  479. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  480. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  481. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  482. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  483. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  484. package/lib/execution/builder/cache.d.ts.map +0 -1
  485. package/lib/execution/builder/http.d.ts.map +0 -1
  486. package/lib/execution/builder/index.d.ts.map +0 -1
  487. package/lib/execution/builder/interface.d.ts.map +0 -1
  488. package/lib/execution/builder/utils.d.ts.map +0 -1
  489. package/lib/execution/engine/disabled.d.ts.map +0 -1
  490. package/lib/execution/engine/http.d.ts.map +0 -1
  491. package/lib/execution/engine/index.d.ts.map +0 -1
  492. package/lib/execution/engine/interface.d.ts.map +0 -1
  493. package/lib/execution/engine/mock.d.ts.map +0 -1
  494. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  495. package/lib/execution/engine/types.d.ts.map +0 -1
  496. package/lib/execution/engine/utils.d.ts.map +0 -1
  497. package/lib/execution/index.d.ts.map +0 -1
  498. package/lib/index.d.ts.map +0 -1
  499. package/lib/metrics/index.d.ts.map +0 -1
  500. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  501. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  502. package/lib/metrics/metrics.d.ts.map +0 -1
  503. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  504. package/lib/metrics/options.d.ts.map +0 -1
  505. package/lib/metrics/server/http.d.ts.map +0 -1
  506. package/lib/metrics/server/index.d.ts.map +0 -1
  507. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  508. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  509. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  510. package/lib/monitoring/clientStats.d.ts.map +0 -1
  511. package/lib/monitoring/index.d.ts.map +0 -1
  512. package/lib/monitoring/options.d.ts.map +0 -1
  513. package/lib/monitoring/properties.d.ts.map +0 -1
  514. package/lib/monitoring/service.d.ts.map +0 -1
  515. package/lib/monitoring/system.d.ts.map +0 -1
  516. package/lib/monitoring/types.d.ts.map +0 -1
  517. package/lib/network/core/events.d.ts.map +0 -1
  518. package/lib/network/core/index.d.ts.map +0 -1
  519. package/lib/network/core/metrics.d.ts.map +0 -1
  520. package/lib/network/core/networkCore.d.ts.map +0 -1
  521. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  522. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  523. package/lib/network/core/types.d.ts.map +0 -1
  524. package/lib/network/discv5/index.d.ts.map +0 -1
  525. package/lib/network/discv5/types.d.ts.map +0 -1
  526. package/lib/network/discv5/utils.d.ts.map +0 -1
  527. package/lib/network/discv5/worker.d.ts.map +0 -1
  528. package/lib/network/events.d.ts.map +0 -1
  529. package/lib/network/forks.d.ts.map +0 -1
  530. package/lib/network/gossip/constants.d.ts.map +0 -1
  531. package/lib/network/gossip/encoding.d.ts.map +0 -1
  532. package/lib/network/gossip/errors.d.ts.map +0 -1
  533. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  534. package/lib/network/gossip/index.d.ts.map +0 -1
  535. package/lib/network/gossip/interface.d.ts.map +0 -1
  536. package/lib/network/gossip/metrics.d.ts.map +0 -1
  537. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  538. package/lib/network/gossip/topic.d.ts.map +0 -1
  539. package/lib/network/index.d.ts.map +0 -1
  540. package/lib/network/interface.d.ts.map +0 -1
  541. package/lib/network/libp2p/error.d.ts.map +0 -1
  542. package/lib/network/libp2p/index.d.ts.map +0 -1
  543. package/lib/network/metadata.d.ts.map +0 -1
  544. package/lib/network/network.d.ts.map +0 -1
  545. package/lib/network/networkConfig.d.ts.map +0 -1
  546. package/lib/network/options.d.ts.map +0 -1
  547. package/lib/network/peers/client.d.ts.map +0 -1
  548. package/lib/network/peers/datastore.d.ts.map +0 -1
  549. package/lib/network/peers/discover.d.ts.map +0 -1
  550. package/lib/network/peers/index.d.ts.map +0 -1
  551. package/lib/network/peers/peerManager.d.ts.map +0 -1
  552. package/lib/network/peers/peersData.d.ts.map +0 -1
  553. package/lib/network/peers/score/constants.d.ts.map +0 -1
  554. package/lib/network/peers/score/index.d.ts.map +0 -1
  555. package/lib/network/peers/score/interface.d.ts.map +0 -1
  556. package/lib/network/peers/score/score.d.ts.map +0 -1
  557. package/lib/network/peers/score/store.d.ts.map +0 -1
  558. package/lib/network/peers/score/utils.d.ts.map +0 -1
  559. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  560. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  561. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  562. package/lib/network/peers/utils/index.d.ts.map +0 -1
  563. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  564. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  565. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  566. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  567. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  568. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  569. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  570. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  571. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  572. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  573. package/lib/network/processor/index.d.ts.map +0 -1
  574. package/lib/network/processor/types.d.ts.map +0 -1
  575. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  576. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  577. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  578. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  579. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  580. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  581. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  582. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  583. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  584. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  585. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  586. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  587. package/lib/network/reqresp/index.d.ts.map +0 -1
  588. package/lib/network/reqresp/interface.d.ts.map +0 -1
  589. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  590. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  591. package/lib/network/reqresp/score.d.ts.map +0 -1
  592. package/lib/network/reqresp/types.d.ts.map +0 -1
  593. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  594. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  595. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  596. package/lib/network/statusCache.d.ts.map +0 -1
  597. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  598. package/lib/network/subnets/index.d.ts.map +0 -1
  599. package/lib/network/subnets/interface.d.ts.map +0 -1
  600. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  601. package/lib/network/subnets/util.d.ts.map +0 -1
  602. package/lib/network/util.d.ts.map +0 -1
  603. package/lib/node/index.d.ts.map +0 -1
  604. package/lib/node/nodejs.d.ts.map +0 -1
  605. package/lib/node/notifier.d.ts.map +0 -1
  606. package/lib/node/options.d.ts.map +0 -1
  607. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  608. package/lib/node/utils/interop/state.d.ts.map +0 -1
  609. package/lib/node/utils/lightclient.d.ts.map +0 -1
  610. package/lib/node/utils/state.d.ts.map +0 -1
  611. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  612. package/lib/sync/backfill/errors.d.ts.map +0 -1
  613. package/lib/sync/backfill/index.d.ts.map +0 -1
  614. package/lib/sync/backfill/verify.d.ts.map +0 -1
  615. package/lib/sync/constants.d.ts.map +0 -1
  616. package/lib/sync/index.d.ts.map +0 -1
  617. package/lib/sync/interface.d.ts.map +0 -1
  618. package/lib/sync/options.d.ts.map +0 -1
  619. package/lib/sync/range/batch.d.ts.map +0 -1
  620. package/lib/sync/range/chain.d.ts.map +0 -1
  621. package/lib/sync/range/range.d.ts.map +0 -1
  622. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  623. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  624. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  625. package/lib/sync/range/utils/index.d.ts.map +0 -1
  626. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  627. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  628. package/lib/sync/sync.d.ts.map +0 -1
  629. package/lib/sync/types.d.ts.map +0 -1
  630. package/lib/sync/unknownBlock.d.ts.map +0 -1
  631. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  632. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  633. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  634. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  635. package/lib/util/address.d.ts.map +0 -1
  636. package/lib/util/array.d.ts.map +0 -1
  637. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  638. package/lib/util/binarySearch.d.ts.map +0 -1
  639. package/lib/util/bitArray.d.ts.map +0 -1
  640. package/lib/util/blobs.d.ts.map +0 -1
  641. package/lib/util/bufferPool.d.ts.map +0 -1
  642. package/lib/util/bytes.d.ts.map +0 -1
  643. package/lib/util/chunkify.d.ts.map +0 -1
  644. package/lib/util/clock.d.ts.map +0 -1
  645. package/lib/util/dataColumns.d.ts.map +0 -1
  646. package/lib/util/dependentRoot.d.ts.map +0 -1
  647. package/lib/util/enum.d.ts.map +0 -1
  648. package/lib/util/error.d.ts.map +0 -1
  649. package/lib/util/eventLoop.d.ts.map +0 -1
  650. package/lib/util/execution.d.ts.map +0 -1
  651. package/lib/util/file.d.ts.map +0 -1
  652. package/lib/util/forkChoice.d.ts.map +0 -1
  653. package/lib/util/forkName.d.ts.map +0 -1
  654. package/lib/util/graffiti.d.ts.map +0 -1
  655. package/lib/util/hex.d.ts.map +0 -1
  656. package/lib/util/index.d.ts.map +0 -1
  657. package/lib/util/ip.d.ts.map +0 -1
  658. package/lib/util/itTrigger.d.ts.map +0 -1
  659. package/lib/util/kzg.d.ts.map +0 -1
  660. package/lib/util/map.d.ts.map +0 -1
  661. package/lib/util/metadata.d.ts.map +0 -1
  662. package/lib/util/multifork.d.ts.map +0 -1
  663. package/lib/util/numpy.d.ts.map +0 -1
  664. package/lib/util/peerId.d.ts.map +0 -1
  665. package/lib/util/profile.d.ts.map +0 -1
  666. package/lib/util/promises.d.ts.map +0 -1
  667. package/lib/util/queue/errors.d.ts.map +0 -1
  668. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  669. package/lib/util/queue/index.d.ts.map +0 -1
  670. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  671. package/lib/util/queue/options.d.ts.map +0 -1
  672. package/lib/util/serializedCache.d.ts.map +0 -1
  673. package/lib/util/set.d.ts.map +0 -1
  674. package/lib/util/shuffle.d.ts.map +0 -1
  675. package/lib/util/sortBy.d.ts.map +0 -1
  676. package/lib/util/sszBytes.d.ts.map +0 -1
  677. package/lib/util/strictEvents.d.ts.map +0 -1
  678. package/lib/util/time.d.ts.map +0 -1
  679. package/lib/util/timeSeries.d.ts.map +0 -1
  680. package/lib/util/types.d.ts.map +0 -1
  681. package/lib/util/workerEvents.d.ts.map +0 -1
  682. package/lib/util/wrapError.d.ts.map +0 -1
  683. package/src/api/impl/api.ts +0 -26
  684. package/src/api/impl/beacon/blocks/index.ts +0 -744
  685. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  686. package/src/api/impl/beacon/index.ts +0 -35
  687. package/src/api/impl/beacon/pool/index.ts +0 -314
  688. package/src/api/impl/beacon/rewards/index.ts +0 -30
  689. package/src/api/impl/beacon/state/index.ts +0 -406
  690. package/src/api/impl/beacon/state/utils.ts +0 -189
  691. package/src/api/impl/config/constants.ts +0 -127
  692. package/src/api/impl/config/index.ts +0 -59
  693. package/src/api/impl/debug/index.ts +0 -131
  694. package/src/api/impl/errors.ts +0 -50
  695. package/src/api/impl/events/index.ts +0 -33
  696. package/src/api/impl/index.ts +0 -6
  697. package/src/api/impl/lightclient/index.ts +0 -64
  698. package/src/api/impl/lodestar/index.ts +0 -257
  699. package/src/api/impl/node/index.ts +0 -88
  700. package/src/api/impl/node/utils.ts +0 -51
  701. package/src/api/impl/proof/index.ts +0 -60
  702. package/src/api/impl/types.ts +0 -17
  703. package/src/api/impl/utils.ts +0 -25
  704. package/src/api/impl/validator/index.ts +0 -1540
  705. package/src/api/impl/validator/utils.ts +0 -85
  706. package/src/api/index.ts +0 -2
  707. package/src/api/options.ts +0 -16
  708. package/src/api/rest/activeSockets.ts +0 -109
  709. package/src/api/rest/base.ts +0 -216
  710. package/src/api/rest/index.ts +0 -63
  711. package/src/api/rest/swaggerUI.ts +0 -80
  712. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  713. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  714. package/src/chain/GetBlobsTracker.ts +0 -115
  715. package/src/chain/archiveStore/archiveStore.ts +0 -222
  716. package/src/chain/archiveStore/constants.ts +0 -5
  717. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  718. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  719. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  720. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  721. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  722. package/src/chain/archiveStore/index.ts +0 -3
  723. package/src/chain/archiveStore/interface.ts +0 -75
  724. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  725. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  726. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  727. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  728. package/src/chain/balancesCache.ts +0 -52
  729. package/src/chain/beaconProposerCache.ts +0 -43
  730. package/src/chain/blocks/blockInput/blockInput.ts +0 -851
  731. package/src/chain/blocks/blockInput/errors.ts +0 -48
  732. package/src/chain/blocks/blockInput/index.ts +0 -4
  733. package/src/chain/blocks/blockInput/types.ts +0 -145
  734. package/src/chain/blocks/blockInput/utils.ts +0 -21
  735. package/src/chain/blocks/importBlock.ts +0 -597
  736. package/src/chain/blocks/index.ts +0 -179
  737. package/src/chain/blocks/types.ts +0 -101
  738. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  739. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  740. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  741. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  742. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  743. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  744. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  745. package/src/chain/blocks/verifyBlock.ts +0 -242
  746. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -34
  747. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  748. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  749. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  750. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  751. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  752. package/src/chain/bls/index.ts +0 -4
  753. package/src/chain/bls/interface.ts +0 -68
  754. package/src/chain/bls/maybeBatch.ts +0 -45
  755. package/src/chain/bls/multithread/index.ts +0 -582
  756. package/src/chain/bls/multithread/jobItem.ts +0 -119
  757. package/src/chain/bls/multithread/poolSize.ts +0 -16
  758. package/src/chain/bls/multithread/types.ts +0 -38
  759. package/src/chain/bls/multithread/utils.ts +0 -19
  760. package/src/chain/bls/multithread/worker.ts +0 -114
  761. package/src/chain/bls/singleThread.ts +0 -87
  762. package/src/chain/bls/utils.ts +0 -30
  763. package/src/chain/chain.ts +0 -1354
  764. package/src/chain/emitter.ts +0 -113
  765. package/src/chain/errors/attestationError.ts +0 -194
  766. package/src/chain/errors/attesterSlashingError.ts +0 -11
  767. package/src/chain/errors/blobSidecarError.ts +0 -60
  768. package/src/chain/errors/blockError.ts +0 -166
  769. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  770. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  771. package/src/chain/errors/gossipValidation.ts +0 -20
  772. package/src/chain/errors/index.ts +0 -10
  773. package/src/chain/errors/lightClientError.ts +0 -30
  774. package/src/chain/errors/proposerSlashingError.ts +0 -11
  775. package/src/chain/errors/syncCommitteeError.ts +0 -36
  776. package/src/chain/errors/voluntaryExitError.ts +0 -13
  777. package/src/chain/forkChoice/index.ts +0 -112
  778. package/src/chain/genesis/genesis.ts +0 -190
  779. package/src/chain/genesis/interface.ts +0 -14
  780. package/src/chain/index.ts +0 -6
  781. package/src/chain/initState.ts +0 -221
  782. package/src/chain/interface.ts +0 -280
  783. package/src/chain/lightClient/index.ts +0 -764
  784. package/src/chain/lightClient/proofs.ts +0 -85
  785. package/src/chain/lightClient/types.ts +0 -33
  786. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  787. package/src/chain/opPools/attestationPool.ts +0 -282
  788. package/src/chain/opPools/index.ts +0 -5
  789. package/src/chain/opPools/opPool.ts +0 -462
  790. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -169
  791. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  792. package/src/chain/opPools/types.ts +0 -35
  793. package/src/chain/opPools/utils.ts +0 -65
  794. package/src/chain/options.ts +0 -138
  795. package/src/chain/prepareNextSlot.ts +0 -277
  796. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  797. package/src/chain/produceBlock/index.ts +0 -2
  798. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  799. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  800. package/src/chain/regen/errors.ts +0 -30
  801. package/src/chain/regen/index.ts +0 -4
  802. package/src/chain/regen/interface.ts +0 -93
  803. package/src/chain/regen/queued.ts +0 -317
  804. package/src/chain/regen/regen.ts +0 -424
  805. package/src/chain/reprocess.ts +0 -161
  806. package/src/chain/rewards/attestationsRewards.ts +0 -196
  807. package/src/chain/rewards/blockRewards.ts +0 -150
  808. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  809. package/src/chain/seenCache/index.ts +0 -5
  810. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  811. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  812. package/src/chain/seenCache/seenAttesters.ts +0 -58
  813. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  814. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  815. package/src/chain/seenCache/seenCommittee.ts +0 -43
  816. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  817. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  818. package/src/chain/serializeState.ts +0 -32
  819. package/src/chain/shufflingCache.ts +0 -238
  820. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  821. package/src/chain/stateCache/datastore/db.ts +0 -36
  822. package/src/chain/stateCache/datastore/file.ts +0 -53
  823. package/src/chain/stateCache/datastore/index.ts +0 -2
  824. package/src/chain/stateCache/datastore/types.ts +0 -13
  825. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  826. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  827. package/src/chain/stateCache/index.ts +0 -3
  828. package/src/chain/stateCache/mapMetrics.ts +0 -52
  829. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -837
  830. package/src/chain/stateCache/types.ts +0 -86
  831. package/src/chain/validation/aggregateAndProof.ts +0 -258
  832. package/src/chain/validation/attestation.ts +0 -885
  833. package/src/chain/validation/attesterSlashing.ts +0 -61
  834. package/src/chain/validation/blobSidecar.ts +0 -301
  835. package/src/chain/validation/block.ts +0 -188
  836. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  837. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  838. package/src/chain/validation/index.ts +0 -9
  839. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -46
  840. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -68
  841. package/src/chain/validation/proposerSlashing.ts +0 -54
  842. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  843. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  844. package/src/chain/validation/signatureSets/index.ts +0 -6
  845. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  846. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  847. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  848. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  849. package/src/chain/validation/syncCommittee.ts +0 -165
  850. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  851. package/src/chain/validation/voluntaryExit.ts +0 -58
  852. package/src/chain/validatorMonitor.ts +0 -1309
  853. package/src/constants/constants.ts +0 -15
  854. package/src/constants/index.ts +0 -2
  855. package/src/constants/network.ts +0 -52
  856. package/src/db/beacon.ts +0 -113
  857. package/src/db/buckets.ts +0 -80
  858. package/src/db/index.ts +0 -2
  859. package/src/db/interface.ts +0 -76
  860. package/src/db/options.ts +0 -7
  861. package/src/db/repositories/attesterSlashing.ts +0 -38
  862. package/src/db/repositories/backfilledRanges.ts +0 -29
  863. package/src/db/repositories/blobSidecars.ts +0 -37
  864. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  865. package/src/db/repositories/block.ts +0 -33
  866. package/src/db/repositories/blockArchive.ts +0 -170
  867. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  868. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  869. package/src/db/repositories/checkpointState.ts +0 -31
  870. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  871. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  872. package/src/db/repositories/depositDataRoot.ts +0 -80
  873. package/src/db/repositories/depositEvent.ts +0 -32
  874. package/src/db/repositories/eth1Data.ts +0 -33
  875. package/src/db/repositories/index.ts +0 -20
  876. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  877. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  878. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  879. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  880. package/src/db/repositories/proposerSlashing.ts +0 -15
  881. package/src/db/repositories/stateArchive.ts +0 -69
  882. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  883. package/src/db/repositories/voluntaryExit.ts +0 -15
  884. package/src/db/single/index.ts +0 -2
  885. package/src/db/single/preGenesisState.ts +0 -37
  886. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  887. package/src/eth1/errors.ts +0 -40
  888. package/src/eth1/eth1DataCache.ts +0 -26
  889. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  890. package/src/eth1/eth1DepositsCache.ts +0 -141
  891. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  892. package/src/eth1/index.ts +0 -157
  893. package/src/eth1/interface.ts +0 -131
  894. package/src/eth1/options.ts +0 -28
  895. package/src/eth1/provider/eth1Provider.ts +0 -229
  896. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  897. package/src/eth1/provider/jwt.ts +0 -36
  898. package/src/eth1/provider/utils.ts +0 -136
  899. package/src/eth1/stream.ts +0 -75
  900. package/src/eth1/utils/depositContract.ts +0 -37
  901. package/src/eth1/utils/deposits.ts +0 -70
  902. package/src/eth1/utils/eth1Data.ts +0 -100
  903. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  904. package/src/eth1/utils/eth1Vote.ts +0 -142
  905. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  906. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  907. package/src/execution/builder/cache.ts +0 -39
  908. package/src/execution/builder/http.ts +0 -229
  909. package/src/execution/builder/index.ts +0 -27
  910. package/src/execution/builder/interface.ts +0 -49
  911. package/src/execution/builder/utils.ts +0 -19
  912. package/src/execution/engine/disabled.ts +0 -35
  913. package/src/execution/engine/http.ts +0 -644
  914. package/src/execution/engine/index.ts +0 -63
  915. package/src/execution/engine/interface.ts +0 -199
  916. package/src/execution/engine/mock.ts +0 -493
  917. package/src/execution/engine/payloadIdCache.ts +0 -54
  918. package/src/execution/engine/types.ts +0 -640
  919. package/src/execution/engine/utils.ts +0 -136
  920. package/src/execution/index.ts +0 -4
  921. package/src/index.ts +0 -20
  922. package/src/metrics/index.ts +0 -4
  923. package/src/metrics/metrics/beacon.ts +0 -390
  924. package/src/metrics/metrics/lodestar.ts +0 -1870
  925. package/src/metrics/metrics.ts +0 -43
  926. package/src/metrics/nodeJsMetrics.ts +0 -19
  927. package/src/metrics/options.ts +0 -22
  928. package/src/metrics/server/http.ts +0 -114
  929. package/src/metrics/server/index.ts +0 -1
  930. package/src/metrics/utils/avgMinMax.ts +0 -87
  931. package/src/metrics/utils/gauge.ts +0 -22
  932. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  933. package/src/monitoring/clientStats.ts +0 -297
  934. package/src/monitoring/index.ts +0 -2
  935. package/src/monitoring/options.ts +0 -19
  936. package/src/monitoring/properties.ts +0 -152
  937. package/src/monitoring/service.ts +0 -235
  938. package/src/monitoring/system.ts +0 -146
  939. package/src/monitoring/types.ts +0 -21
  940. package/src/network/core/events.ts +0 -59
  941. package/src/network/core/index.ts +0 -3
  942. package/src/network/core/metrics.ts +0 -304
  943. package/src/network/core/networkCore.ts +0 -599
  944. package/src/network/core/networkCoreWorker.ts +0 -176
  945. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  946. package/src/network/core/types.ts +0 -119
  947. package/src/network/discv5/index.ts +0 -132
  948. package/src/network/discv5/types.ts +0 -74
  949. package/src/network/discv5/utils.ts +0 -50
  950. package/src/network/discv5/worker.ts +0 -137
  951. package/src/network/events.ts +0 -51
  952. package/src/network/forks.ts +0 -94
  953. package/src/network/gossip/constants.ts +0 -15
  954. package/src/network/gossip/encoding.ts +0 -111
  955. package/src/network/gossip/errors.ts +0 -7
  956. package/src/network/gossip/gossipsub.ts +0 -384
  957. package/src/network/gossip/index.ts +0 -4
  958. package/src/network/gossip/interface.ts +0 -215
  959. package/src/network/gossip/metrics.ts +0 -71
  960. package/src/network/gossip/scoringParameters.ts +0 -333
  961. package/src/network/gossip/topic.ts +0 -332
  962. package/src/network/index.ts +0 -8
  963. package/src/network/interface.ts +0 -134
  964. package/src/network/libp2p/error.ts +0 -55
  965. package/src/network/libp2p/index.ts +0 -153
  966. package/src/network/metadata.ts +0 -162
  967. package/src/network/network.ts +0 -767
  968. package/src/network/networkConfig.ts +0 -12
  969. package/src/network/options.ts +0 -70
  970. package/src/network/peers/client.ts +0 -29
  971. package/src/network/peers/datastore.ts +0 -188
  972. package/src/network/peers/discover.ts +0 -647
  973. package/src/network/peers/index.ts +0 -2
  974. package/src/network/peers/peerManager.ts +0 -899
  975. package/src/network/peers/peersData.ts +0 -65
  976. package/src/network/peers/score/constants.ts +0 -34
  977. package/src/network/peers/score/index.ts +0 -4
  978. package/src/network/peers/score/interface.ts +0 -74
  979. package/src/network/peers/score/score.ts +0 -200
  980. package/src/network/peers/score/store.ts +0 -95
  981. package/src/network/peers/score/utils.ts +0 -37
  982. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  983. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  984. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  985. package/src/network/peers/utils/index.ts +0 -4
  986. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  987. package/src/network/peers/utils/subnetMap.ts +0 -88
  988. package/src/network/processor/aggregatorTracker.ts +0 -38
  989. package/src/network/processor/extractSlotRootFns.ts +0 -64
  990. package/src/network/processor/gossipHandlers.ts +0 -951
  991. package/src/network/processor/gossipQueues/index.ts +0 -114
  992. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  993. package/src/network/processor/gossipQueues/linear.ts +0 -162
  994. package/src/network/processor/gossipQueues/types.ts +0 -57
  995. package/src/network/processor/gossipValidatorFn.ts +0 -142
  996. package/src/network/processor/index.ts +0 -496
  997. package/src/network/processor/types.ts +0 -27
  998. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  999. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  1000. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  1001. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  1002. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  1003. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  1004. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  1005. package/src/network/reqresp/handlers/index.ts +0 -78
  1006. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  1007. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  1008. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  1009. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  1010. package/src/network/reqresp/index.ts +0 -2
  1011. package/src/network/reqresp/interface.ts +0 -45
  1012. package/src/network/reqresp/protocols.ts +0 -146
  1013. package/src/network/reqresp/rateLimit.ts +0 -112
  1014. package/src/network/reqresp/score.ts +0 -70
  1015. package/src/network/reqresp/types.ts +0 -174
  1016. package/src/network/reqresp/utils/collect.ts +0 -84
  1017. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  1018. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  1019. package/src/network/statusCache.ts +0 -17
  1020. package/src/network/subnets/attnetsService.ts +0 -385
  1021. package/src/network/subnets/index.ts +0 -2
  1022. package/src/network/subnets/interface.ts +0 -66
  1023. package/src/network/subnets/syncnetsService.ts +0 -147
  1024. package/src/network/subnets/util.ts +0 -63
  1025. package/src/network/util.ts +0 -29
  1026. package/src/node/index.ts +0 -2
  1027. package/src/node/nodejs.ts +0 -349
  1028. package/src/node/notifier.ts +0 -206
  1029. package/src/node/options.ts +0 -51
  1030. package/src/node/utils/interop/deposits.ts +0 -53
  1031. package/src/node/utils/interop/state.ts +0 -59
  1032. package/src/node/utils/lightclient.ts +0 -7
  1033. package/src/node/utils/state.ts +0 -37
  1034. package/src/sync/backfill/backfill.ts +0 -893
  1035. package/src/sync/backfill/errors.ts +0 -23
  1036. package/src/sync/backfill/index.ts +0 -1
  1037. package/src/sync/backfill/verify.ts +0 -58
  1038. package/src/sync/constants.ts +0 -71
  1039. package/src/sync/index.ts +0 -2
  1040. package/src/sync/interface.ts +0 -55
  1041. package/src/sync/options.ts +0 -45
  1042. package/src/sync/range/batch.ts +0 -455
  1043. package/src/sync/range/chain.ts +0 -715
  1044. package/src/sync/range/range.ts +0 -354
  1045. package/src/sync/range/utils/batches.ts +0 -119
  1046. package/src/sync/range/utils/chainTarget.ts +0 -62
  1047. package/src/sync/range/utils/hashBlocks.ts +0 -27
  1048. package/src/sync/range/utils/index.ts +0 -5
  1049. package/src/sync/range/utils/peerBalancer.ts +0 -184
  1050. package/src/sync/range/utils/updateChains.ts +0 -66
  1051. package/src/sync/sync.ts +0 -290
  1052. package/src/sync/types.ts +0 -57
  1053. package/src/sync/unknownBlock.ts +0 -859
  1054. package/src/sync/utils/downloadByRange.ts +0 -808
  1055. package/src/sync/utils/downloadByRoot.ts +0 -560
  1056. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  1057. package/src/sync/utils/remoteSyncType.ts +0 -144
  1058. package/src/util/address.ts +0 -3
  1059. package/src/util/array.ts +0 -311
  1060. package/src/util/asyncIterableToEvents.ts +0 -164
  1061. package/src/util/binarySearch.ts +0 -48
  1062. package/src/util/bitArray.ts +0 -84
  1063. package/src/util/blobs.ts +0 -210
  1064. package/src/util/bufferPool.ts +0 -95
  1065. package/src/util/bytes.ts +0 -11
  1066. package/src/util/chunkify.ts +0 -27
  1067. package/src/util/clock.ts +0 -212
  1068. package/src/util/dataColumns.ts +0 -415
  1069. package/src/util/dependentRoot.ts +0 -47
  1070. package/src/util/enum.ts +0 -17
  1071. package/src/util/error.ts +0 -56
  1072. package/src/util/eventLoop.ts +0 -22
  1073. package/src/util/execution.ts +0 -223
  1074. package/src/util/file.ts +0 -52
  1075. package/src/util/forkChoice.ts +0 -5
  1076. package/src/util/forkName.ts +0 -20
  1077. package/src/util/graffiti.ts +0 -39
  1078. package/src/util/hex.ts +0 -9
  1079. package/src/util/index.ts +0 -2
  1080. package/src/util/ip.ts +0 -6
  1081. package/src/util/itTrigger.ts +0 -49
  1082. package/src/util/kzg.ts +0 -3
  1083. package/src/util/map.ts +0 -77
  1084. package/src/util/metadata.ts +0 -22
  1085. package/src/util/multifork.ts +0 -69
  1086. package/src/util/numpy.ts +0 -8
  1087. package/src/util/peerId.ts +0 -16
  1088. package/src/util/profile.ts +0 -54
  1089. package/src/util/promises.ts +0 -14
  1090. package/src/util/queue/errors.ts +0 -14
  1091. package/src/util/queue/fnQueue.ts +0 -16
  1092. package/src/util/queue/index.ts +0 -4
  1093. package/src/util/queue/itemQueue.ts +0 -128
  1094. package/src/util/queue/options.ts +0 -37
  1095. package/src/util/serializedCache.ts +0 -20
  1096. package/src/util/set.ts +0 -62
  1097. package/src/util/shuffle.ts +0 -21
  1098. package/src/util/sortBy.ts +0 -19
  1099. package/src/util/sszBytes.ts +0 -481
  1100. package/src/util/strictEvents.ts +0 -8
  1101. package/src/util/time.ts +0 -13
  1102. package/src/util/timeSeries.ts +0 -118
  1103. package/src/util/types.ts +0 -31
  1104. package/src/util/workerEvents.ts +0 -142
  1105. package/src/util/wrapError.ts +0 -27
@@ -1,885 +0,0 @@
1
- import {BitArray} from "@chainsafe/ssz";
2
- import {BeaconConfig} from "@lodestar/config";
3
- import {ProtoBlock} from "@lodestar/fork-choice";
4
- import {
5
- ATTESTATION_SUBNET_COUNT,
6
- DOMAIN_BEACON_ATTESTER,
7
- ForkName,
8
- ForkPostElectra,
9
- ForkPreElectra,
10
- ForkSeq,
11
- SLOTS_PER_EPOCH,
12
- isForkPostElectra,
13
- } from "@lodestar/params";
14
- import {
15
- EpochCacheError,
16
- EpochCacheErrorCode,
17
- EpochShuffling,
18
- SingleSignatureSet,
19
- computeEpochAtSlot,
20
- computeSigningRoot,
21
- computeStartSlotAtEpoch,
22
- createSingleSignatureSetFromComponents,
23
- } from "@lodestar/state-transition";
24
- import {
25
- CommitteeIndex,
26
- Epoch,
27
- IndexedAttestation,
28
- Root,
29
- RootHex,
30
- SingleAttestation,
31
- Slot,
32
- SubnetID,
33
- ValidatorIndex,
34
- isElectraSingleAttestation,
35
- phase0,
36
- ssz,
37
- } from "@lodestar/types";
38
- import {assert, toRootHex} from "@lodestar/utils";
39
- import {MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC} from "../../constants/index.js";
40
- import {sszDeserializeSingleAttestation} from "../../network/gossip/topic.js";
41
- import {getShufflingDependentRoot} from "../../util/dependentRoot.js";
42
- import {
43
- getAggregationBitsFromAttestationSerialized,
44
- getAttDataFromSignedAggregateAndProofElectra,
45
- getAttDataFromSignedAggregateAndProofPhase0,
46
- getAttesterIndexFromSingleAttestationSerialized,
47
- getCommitteeIndexFromSingleAttestationSerialized,
48
- getSignatureFromAttestationSerialized,
49
- getSignatureFromSingleAttestationSerialized,
50
- } from "../../util/sszBytes.js";
51
- import {Result, wrapError} from "../../util/wrapError.js";
52
- import {AttestationError, AttestationErrorCode, GossipAction} from "../errors/index.js";
53
- import {IBeaconChain} from "../interface.js";
54
- import {RegenCaller} from "../regen/index.js";
55
- import {
56
- AttestationDataCacheEntry,
57
- PRE_ELECTRA_SINGLE_ATTESTATION_COMMITTEE_INDEX,
58
- SeenAttDataKey,
59
- } from "../seenCache/seenAttestationData.js";
60
-
61
- export type BatchResult = {
62
- results: Result<AttestationValidationResult>[];
63
- batchableBls: boolean;
64
- };
65
-
66
- export type AttestationValidationResult = {
67
- attestation: SingleAttestation;
68
- indexedAttestation: IndexedAttestation;
69
- subnet: SubnetID;
70
- attDataRootHex: RootHex;
71
- committeeIndex: CommitteeIndex;
72
- validatorCommitteeIndex: number;
73
- committeeSize: number;
74
- };
75
-
76
- export type AttestationOrBytes = ApiAttestation | GossipAttestation;
77
-
78
- /** attestation from api */
79
- export type ApiAttestation = {attestation: SingleAttestation; serializedData: null};
80
-
81
- /** attestation from gossip */
82
- export type GossipAttestation = {
83
- attestation: null;
84
- serializedData: Uint8Array;
85
- // available in NetworkProcessor since we check for unknown block root attestations
86
- attSlot: Slot;
87
- // for indexed gossip queue we have attDataBase64
88
- attDataBase64: SeenAttDataKey;
89
- subnet: SubnetID;
90
- };
91
-
92
- export type Step0Result = AttestationValidationResult & {
93
- signatureSet: SingleSignatureSet;
94
- validatorIndex: number;
95
- };
96
-
97
- /**
98
- * Verify gossip attestations of the same attestation data. The main advantage is we can batch verify bls signatures
99
- * through verifySignatureSetsSameMessage bls api to improve performance.
100
- * - If there are less than 2 signatures (minSameMessageSignatureSetsToBatch), verify each signature individually with batchable = true
101
- * - do not prioritize bls signature set
102
- */
103
- export async function validateGossipAttestationsSameAttData(
104
- fork: ForkName,
105
- chain: IBeaconChain,
106
- attestationOrBytesArr: GossipAttestation[],
107
- // for unit test, consumers do not need to pass this
108
- step0ValidationFn = validateAttestationNoSignatureCheck
109
- ): Promise<BatchResult> {
110
- if (attestationOrBytesArr.length === 0) {
111
- return {results: [], batchableBls: false};
112
- }
113
-
114
- // step0: do all verifications except for signature verification
115
- // this for await pattern below seems to be bad but it's not
116
- // for seen AttestationData, it's the same to await Promise.all() pattern
117
- // for unseen AttestationData, the 1st call will be cached and the rest will be fast
118
- const step0ResultOrErrors: Result<Step0Result>[] = [];
119
- for (const attestationOrBytes of attestationOrBytesArr) {
120
- const {subnet} = attestationOrBytes;
121
- const resultOrError = await wrapError(step0ValidationFn(fork, chain, attestationOrBytes, subnet));
122
- step0ResultOrErrors.push(resultOrError);
123
- }
124
-
125
- // step1: verify signatures of all valid attestations
126
- // map new index to index in resultOrErrors
127
- const newIndexToOldIndex = new Map<number, number>();
128
- const signatureSets: SingleSignatureSet[] = [];
129
- let newIndex = 0;
130
- const step0Results: Step0Result[] = [];
131
- for (const [i, resultOrError] of step0ResultOrErrors.entries()) {
132
- if (resultOrError.err) {
133
- continue;
134
- }
135
- step0Results.push(resultOrError.result);
136
- newIndexToOldIndex.set(newIndex, i);
137
- signatureSets.push(resultOrError.result.signatureSet);
138
- newIndex++;
139
- }
140
-
141
- let signatureValids: boolean[];
142
- const batchableBls = signatureSets.length >= chain.opts.minSameMessageSignatureSetsToBatch;
143
- if (batchableBls) {
144
- // all signature sets should have same signing root since we filtered in network processor
145
- signatureValids = await chain.bls.verifySignatureSetsSameMessage(
146
- signatureSets.map((set) => ({publicKey: set.pubkey, signature: set.signature})),
147
- signatureSets[0].signingRoot
148
- );
149
- } else {
150
- // don't want to block the main thread if there are too few signatures
151
- signatureValids = await Promise.all(
152
- signatureSets.map((set) => chain.bls.verifySignatureSets([set], {batchable: true}))
153
- );
154
- }
155
-
156
- // phase0 post validation
157
- for (const [i, sigValid] of signatureValids.entries()) {
158
- const oldIndex = newIndexToOldIndex.get(i);
159
- if (oldIndex == null) {
160
- // should not happen
161
- throw Error(`Cannot get old index for index ${i}`);
162
- }
163
-
164
- const {validatorIndex, attestation} = step0Results[i];
165
- const targetEpoch = attestation.data.target.epoch;
166
- if (sigValid) {
167
- // Now that the attestation has been fully verified, store that we have received a valid attestation from this validator.
168
- //
169
- // It's important to double check that the attestation still hasn't been observed, since
170
- // there can be a race-condition if we receive two attestations at the same time and
171
- // process them in different threads.
172
- if (chain.seenAttesters.isKnown(targetEpoch, validatorIndex)) {
173
- step0ResultOrErrors[oldIndex] = {
174
- err: new AttestationError(GossipAction.IGNORE, {
175
- code: AttestationErrorCode.ATTESTATION_ALREADY_KNOWN,
176
- targetEpoch,
177
- validatorIndex,
178
- }),
179
- };
180
- }
181
-
182
- // valid
183
- chain.seenAttesters.add(targetEpoch, validatorIndex);
184
- } else {
185
- step0ResultOrErrors[oldIndex] = {
186
- err: new AttestationError(GossipAction.IGNORE, {
187
- code: AttestationErrorCode.INVALID_SIGNATURE,
188
- }),
189
- };
190
- }
191
- }
192
-
193
- return {
194
- results: step0ResultOrErrors,
195
- batchableBls,
196
- };
197
- }
198
-
199
- /**
200
- * Validate attestations from api
201
- * - no need to deserialize attestation
202
- * - no subnet
203
- * - prioritize bls signature set
204
- */
205
- export async function validateApiAttestation(
206
- fork: ForkName,
207
- chain: IBeaconChain,
208
- attestationOrBytes: ApiAttestation
209
- ): Promise<AttestationValidationResult> {
210
- const prioritizeBls = true;
211
- const subnet = null;
212
-
213
- try {
214
- const step0Result = await validateAttestationNoSignatureCheck(fork, chain, attestationOrBytes, subnet);
215
- const {attestation, signatureSet, validatorIndex} = step0Result;
216
- const isValid = await chain.bls.verifySignatureSets([signatureSet], {batchable: true, priority: prioritizeBls});
217
-
218
- if (isValid) {
219
- const targetEpoch = attestation.data.target.epoch;
220
- chain.seenAttesters.add(targetEpoch, validatorIndex);
221
- return step0Result;
222
- }
223
-
224
- throw new AttestationError(GossipAction.IGNORE, {
225
- code: AttestationErrorCode.INVALID_SIGNATURE,
226
- });
227
- } catch (err) {
228
- if (err instanceof EpochCacheError && err.type.code === EpochCacheErrorCode.COMMITTEE_INDEX_OUT_OF_RANGE) {
229
- throw new AttestationError(GossipAction.IGNORE, {
230
- code: AttestationErrorCode.BAD_TARGET_EPOCH,
231
- });
232
- }
233
- throw err;
234
- }
235
- }
236
-
237
- /**
238
- * Only deserialize the single attestation if needed, use the cached AttestationData instead
239
- * This is to avoid deserializing similar attestation multiple times which could help the gc
240
- */
241
- async function validateAttestationNoSignatureCheck(
242
- fork: ForkName,
243
- chain: IBeaconChain,
244
- attestationOrBytes: AttestationOrBytes,
245
- /** Optional, to allow verifying attestations through API with unknown subnet */
246
- subnet: SubnetID | null
247
- ): Promise<Step0Result> {
248
- // Do checks in this order:
249
- // - do early checks (w/o indexed attestation)
250
- // - > obtain indexed attestation and committes per slot
251
- // - do middle checks w/ indexed attestation
252
- // - > verify signature
253
- // - do late checks w/ a valid signature
254
-
255
- // verify_early_checks
256
- // Run the checks that happen before an indexed attestation is constructed.
257
-
258
- let attestationOrCache:
259
- | {attestation: SingleAttestation; cache: null}
260
- | {attestation: null; cache: AttestationDataCacheEntry; serializedData: Uint8Array};
261
- let attDataKey: SeenAttDataKey | null = null;
262
- if (attestationOrBytes.serializedData) {
263
- // gossip
264
- const attSlot = attestationOrBytes.attSlot;
265
- attDataKey = getSeenAttDataKeyFromGossipAttestation(attestationOrBytes);
266
- const committeeIndexForLookup = isForkPostElectra(fork)
267
- ? (getCommitteeIndexFromAttestationOrBytes(fork, attestationOrBytes) ?? 0)
268
- : PRE_ELECTRA_SINGLE_ATTESTATION_COMMITTEE_INDEX;
269
- const cachedAttData =
270
- attDataKey !== null ? chain.seenAttestationDatas.get(attSlot, committeeIndexForLookup, attDataKey) : null;
271
- if (cachedAttData === null) {
272
- const attestation = sszDeserializeSingleAttestation(fork, attestationOrBytes.serializedData);
273
- // only deserialize on the first AttestationData that's not cached
274
- attestationOrCache = {attestation, cache: null};
275
- } else {
276
- attestationOrCache = {attestation: null, cache: cachedAttData, serializedData: attestationOrBytes.serializedData};
277
- }
278
- } else {
279
- // api
280
- attDataKey = null;
281
- attestationOrCache = {attestation: attestationOrBytes.attestation, cache: null};
282
- }
283
-
284
- const attData: phase0.AttestationData = attestationOrCache.attestation
285
- ? attestationOrCache.attestation.data
286
- : attestationOrCache.cache.attestationData;
287
- const attSlot = attData.slot;
288
- const attEpoch = computeEpochAtSlot(attSlot);
289
- const attTarget = attData.target;
290
- const targetEpoch = attTarget.epoch;
291
- let committeeIndex: number | null;
292
- if (attestationOrCache.attestation) {
293
- if (isElectraSingleAttestation(attestationOrCache.attestation)) {
294
- // api or first time validation of a gossip attestation
295
- committeeIndex = attestationOrCache.attestation.committeeIndex;
296
-
297
- // [REJECT] attestation.data.index == 0
298
- if (attData.index !== 0) {
299
- throw new AttestationError(GossipAction.REJECT, {code: AttestationErrorCode.NON_ZERO_ATTESTATION_DATA_INDEX});
300
- }
301
- } else {
302
- // phase0 attestation
303
- committeeIndex = attData.index;
304
- }
305
- } else {
306
- // found a seen AttestationData
307
- committeeIndex = attestationOrCache.cache.committeeIndex;
308
- }
309
-
310
- chain.metrics?.gossipAttestation.attestationSlotToClockSlot.observe(
311
- {caller: RegenCaller.validateGossipAttestation},
312
- chain.clock.currentSlot - attSlot
313
- );
314
-
315
- if (!attestationOrCache.cache) {
316
- // [REJECT] The attestation's epoch matches its target -- i.e. attestation.data.target.epoch == compute_epoch_at_slot(attestation.data.slot)
317
- if (targetEpoch !== attEpoch) {
318
- throw new AttestationError(GossipAction.REJECT, {
319
- code: AttestationErrorCode.BAD_TARGET_EPOCH,
320
- });
321
- }
322
-
323
- // Pre-deneb:
324
- // [IGNORE] attestation.data.slot is within the last ATTESTATION_PROPAGATION_SLOT_RANGE slots (within a MAXIMUM_GOSSIP_CLOCK_DISPARITY allowance)
325
- // -- i.e. attestation.data.slot + ATTESTATION_PROPAGATION_SLOT_RANGE >= current_slot >= attestation.data.slot
326
- // (a client MAY queue future attestations for processing at the appropriate slot).
327
- // Post-deneb:
328
- // [IGNORE] `attestation.data.slot` is equal to or earlier than the `current_slot` (with a `MAXIMUM_GOSSIP_CLOCK_DISPARITY` allowance)
329
- // -- i.e. `attestation.data.slot <= current_slot`
330
- // (a client MAY queue future attestation for processing at the appropriate slot).
331
- // [IGNORE] the epoch of `attestation.data.slot` is either the current or previous epoch
332
- // (with a `MAXIMUM_GOSSIP_CLOCK_DISPARITY` allowance)
333
- // -- i.e. `compute_epoch_at_slot(attestation.data.slot) in (get_previous_epoch(state), get_current_epoch(state))`
334
- verifyPropagationSlotRange(fork, chain, attestationOrCache.attestation.data.slot);
335
- }
336
-
337
- let aggregationBits: BitArray | null = null;
338
- let validatorCommitteeIndex: number | null = null;
339
- if (!isForkPostElectra(fork)) {
340
- // [REJECT] The attestation is unaggregated -- that is, it has exactly one participating validator
341
- // (len([bit for bit in attestation.aggregation_bits if bit]) == 1, i.e. exactly 1 bit is set).
342
- // > TODO: Do this check **before** getting the target state but don't recompute zipIndexes
343
- aggregationBits = attestationOrCache.attestation
344
- ? (attestationOrCache.attestation as SingleAttestation<ForkPreElectra>).aggregationBits
345
- : getAggregationBitsFromAttestationSerialized(attestationOrCache.serializedData);
346
- if (aggregationBits === null) {
347
- throw new AttestationError(GossipAction.REJECT, {
348
- code: AttestationErrorCode.INVALID_SERIALIZED_BYTES,
349
- });
350
- }
351
-
352
- const bitIndex = aggregationBits.getSingleTrueBit();
353
- if (bitIndex === null) {
354
- throw new AttestationError(GossipAction.REJECT, {
355
- code: AttestationErrorCode.NOT_EXACTLY_ONE_AGGREGATION_BIT_SET,
356
- });
357
- }
358
- validatorCommitteeIndex = bitIndex;
359
- }
360
-
361
- let committeeValidatorIndices: Uint32Array;
362
- let getSigningRoot: () => Uint8Array;
363
- let expectedSubnet: SubnetID;
364
- if (attestationOrCache.cache) {
365
- committeeValidatorIndices = attestationOrCache.cache.committeeValidatorIndices;
366
- const signingRoot = attestationOrCache.cache.signingRoot;
367
- getSigningRoot = () => signingRoot;
368
- expectedSubnet = attestationOrCache.cache.subnet;
369
- } else {
370
- // Attestations must be for a known block. If the block is unknown, we simply drop the
371
- // attestation and do not delay consideration for later.
372
- //
373
- // TODO (LH): Enforce a maximum skip distance for unaggregated attestations.
374
-
375
- // [IGNORE] The block being voted for (attestation.data.beacon_block_root) has been seen (via both gossip
376
- // and non-gossip sources) (a client MAY queue attestations for processing once block is retrieved).
377
- const attHeadBlock = verifyHeadBlockAndTargetRoot(
378
- chain,
379
- attestationOrCache.attestation.data.beaconBlockRoot,
380
- attestationOrCache.attestation.data.target.root,
381
- attSlot,
382
- attEpoch,
383
- RegenCaller.validateGossipAttestation,
384
- chain.opts.maxSkipSlots
385
- );
386
-
387
- // [REJECT] The block being voted for (attestation.data.beacon_block_root) passes validation.
388
- // > Altready check in `verifyHeadBlockAndTargetRoot()`
389
-
390
- // [IGNORE] The current finalized_checkpoint is an ancestor of the block defined by attestation.data.beacon_block_root
391
- // -- i.e. get_ancestor(store, attestation.data.beacon_block_root, compute_start_slot_at_epoch(store.finalized_checkpoint.epoch)) == store.finalized_checkpoint.root
392
- // > Altready check in `verifyHeadBlockAndTargetRoot()`
393
-
394
- // [REJECT] The attestation's target block is an ancestor of the block named in the LMD vote
395
- // --i.e. get_ancestor(store, attestation.data.beacon_block_root, compute_start_slot_at_epoch(attestation.data.target.epoch)) == attestation.data.target.root
396
- // > Altready check in `verifyHeadBlockAndTargetRoot()`
397
-
398
- const shuffling = await getShufflingForAttestationVerification(
399
- chain,
400
- attEpoch,
401
- attHeadBlock,
402
- RegenCaller.validateGossipAttestation
403
- );
404
-
405
- // [REJECT] The committee index is within the expected range
406
- // -- i.e. data.index < get_committee_count_per_slot(state, data.target.epoch)
407
- committeeValidatorIndices = getCommitteeValidatorIndices(shuffling, attSlot, committeeIndex);
408
- getSigningRoot = () => getAttestationDataSigningRoot(chain.config, attData);
409
- expectedSubnet = computeSubnetForSlot(shuffling, attSlot, committeeIndex);
410
- }
411
-
412
- let validatorIndex: number;
413
-
414
- if (!isForkPostElectra(fork)) {
415
- // The validity of aggregation bits are already checked above
416
- assert.notNull(aggregationBits);
417
- assert.notNull(validatorCommitteeIndex);
418
-
419
- validatorIndex = committeeValidatorIndices[validatorCommitteeIndex];
420
- // [REJECT] The number of aggregation bits matches the committee size
421
- // -- i.e. len(attestation.aggregation_bits) == len(get_beacon_committee(state, data.slot, data.index)).
422
- // > TODO: Is this necessary? Lighthouse does not do this check.
423
- if (aggregationBits.bitLen !== committeeValidatorIndices.length) {
424
- throw new AttestationError(GossipAction.REJECT, {
425
- code: AttestationErrorCode.WRONG_NUMBER_OF_AGGREGATION_BITS,
426
- });
427
- }
428
- } else {
429
- if (attestationOrCache.attestation) {
430
- validatorIndex = (attestationOrCache.attestation as SingleAttestation<ForkPostElectra>).attesterIndex;
431
- } else {
432
- const attesterIndex = getAttesterIndexFromSingleAttestationSerialized(attestationOrCache.serializedData);
433
- if (attesterIndex === null) {
434
- throw new AttestationError(GossipAction.REJECT, {
435
- code: AttestationErrorCode.INVALID_SERIALIZED_BYTES,
436
- });
437
- }
438
- validatorIndex = attesterIndex;
439
- }
440
-
441
- // [REJECT] The attester is a member of the committee -- i.e.
442
- // `attestation.attester_index in get_beacon_committee(state, attestation.data.slot, index)`.
443
- // Position of the validator in its committee
444
- validatorCommitteeIndex = committeeValidatorIndices.indexOf(validatorIndex);
445
- if (validatorCommitteeIndex === -1) {
446
- throw new AttestationError(GossipAction.REJECT, {
447
- code: AttestationErrorCode.ATTESTER_NOT_IN_COMMITTEE,
448
- });
449
- }
450
- }
451
-
452
- // LH > verify_middle_checks
453
- // Run the checks that apply to the indexed attestation before the signature is checked.
454
- // Check correct subnet
455
- // The attestation is the first valid attestation received for the participating validator for the slot, attestation.data.slot.
456
-
457
- // [REJECT] The attestation is for the correct subnet
458
- // -- i.e. compute_subnet_for_attestation(committees_per_slot, attestation.data.slot, attestation.data.index) == subnet_id,
459
- // where committees_per_slot = get_committee_count_per_slot(state, attestation.data.target.epoch),
460
- // which may be pre-computed along with the committee information for the signature check.
461
- if (subnet !== null && subnet !== expectedSubnet) {
462
- throw new AttestationError(GossipAction.REJECT, {
463
- code: AttestationErrorCode.INVALID_SUBNET_ID,
464
- received: subnet,
465
- expected: expectedSubnet,
466
- });
467
- }
468
-
469
- // [IGNORE] There has been no other valid attestation seen on an attestation subnet that has an
470
- // identical attestation.data.target.epoch and participating validator index.
471
- if (chain.seenAttesters.isKnown(targetEpoch, validatorIndex)) {
472
- throw new AttestationError(GossipAction.IGNORE, {
473
- code: AttestationErrorCode.ATTESTATION_ALREADY_KNOWN,
474
- targetEpoch,
475
- validatorIndex,
476
- });
477
- }
478
-
479
- // [REJECT] The signature of attestation is valid.
480
- const attestingIndices = [validatorIndex];
481
- let signatureSet: SingleSignatureSet;
482
- let attDataRootHex: RootHex;
483
- const signature = attestationOrCache.attestation
484
- ? attestationOrCache.attestation.signature
485
- : !isForkPostElectra(fork)
486
- ? getSignatureFromAttestationSerialized(attestationOrCache.serializedData)
487
- : getSignatureFromSingleAttestationSerialized(attestationOrCache.serializedData);
488
- if (signature === null) {
489
- throw new AttestationError(GossipAction.REJECT, {
490
- code: AttestationErrorCode.INVALID_SERIALIZED_BYTES,
491
- });
492
- }
493
-
494
- if (attestationOrCache.cache) {
495
- // there could be up to 6% of cpu time to compute signing root if we don't clone the signature set
496
- signatureSet = createSingleSignatureSetFromComponents(
497
- chain.index2pubkey[validatorIndex],
498
- attestationOrCache.cache.signingRoot,
499
- signature
500
- );
501
- attDataRootHex = attestationOrCache.cache.attDataRootHex;
502
- } else {
503
- signatureSet = createSingleSignatureSetFromComponents(
504
- chain.index2pubkey[validatorIndex],
505
- getSigningRoot(),
506
- signature
507
- );
508
-
509
- // add cached attestation data before verifying signature
510
- attDataRootHex = toRootHex(ssz.phase0.AttestationData.hashTreeRoot(attData));
511
- if (attDataKey) {
512
- // for pre-electra, committee index key is 0. See SeenAttestationDatas.add() documentation
513
- const committeeIndexKey = isForkPostElectra(fork)
514
- ? committeeIndex
515
- : PRE_ELECTRA_SINGLE_ATTESTATION_COMMITTEE_INDEX;
516
- chain.seenAttestationDatas.add(attSlot, committeeIndexKey, attDataKey, {
517
- committeeValidatorIndices,
518
- committeeIndex,
519
- signingRoot: signatureSet.signingRoot,
520
- subnet: expectedSubnet,
521
- // precompute this to be used in forkchoice
522
- // root of AttestationData was already cached during getIndexedAttestationSignatureSet
523
- attDataRootHex,
524
- attestationData: attData,
525
- });
526
- }
527
- }
528
-
529
- // no signature check, leave that for step1
530
- const indexedAttestation: IndexedAttestation = {
531
- attestingIndices,
532
- data: attData,
533
- signature,
534
- };
535
-
536
- const attestation: SingleAttestation = attestationOrCache.attestation
537
- ? attestationOrCache.attestation
538
- : !isForkPostElectra(fork)
539
- ? {
540
- // Aggregation bits are already asserted above to not be null
541
- aggregationBits: aggregationBits as BitArray,
542
- data: attData,
543
- signature,
544
- }
545
- : {
546
- committeeIndex,
547
- attesterIndex: validatorIndex,
548
- data: attData,
549
- signature,
550
- };
551
-
552
- return {
553
- attestation,
554
- indexedAttestation,
555
- subnet: expectedSubnet,
556
- attDataRootHex,
557
- signatureSet,
558
- validatorIndex,
559
- committeeIndex,
560
- validatorCommitteeIndex,
561
- committeeSize: committeeValidatorIndices.length,
562
- };
563
- }
564
-
565
- /**
566
- * Verify that the `attestation` is within the acceptable gossip propagation range, with reference
567
- * to the current slot of the `chain`.
568
- *
569
- * Accounts for `MAXIMUM_GOSSIP_CLOCK_DISPARITY`.
570
- * Note: We do not queue future attestations for later processing
571
- */
572
- export function verifyPropagationSlotRange(fork: ForkName, chain: IBeaconChain, attestationSlot: Slot): void {
573
- // slot with future tolerance of MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC
574
- const latestPermissibleSlot = chain.clock.slotWithFutureTolerance(MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC);
575
- if (attestationSlot > latestPermissibleSlot) {
576
- throw new AttestationError(GossipAction.IGNORE, {
577
- code: AttestationErrorCode.FUTURE_SLOT,
578
- latestPermissibleSlot,
579
- attestationSlot,
580
- });
581
- }
582
-
583
- // Post deneb the attestations are valid for current as well as previous epoch
584
- // while pre deneb they are valid for ATTESTATION_PROPAGATION_SLOT_RANGE
585
- //
586
- // see: https://github.com/ethereum/consensus-specs/pull/3360
587
- if (ForkSeq[fork] < ForkSeq.deneb) {
588
- const earliestPermissibleSlot = Math.max(
589
- // slot with past tolerance of MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC
590
- // ATTESTATION_PROPAGATION_SLOT_RANGE = SLOTS_PER_EPOCH
591
- chain.clock.slotWithPastTolerance(MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC) - SLOTS_PER_EPOCH,
592
- 0
593
- );
594
-
595
- if (attestationSlot < earliestPermissibleSlot) {
596
- throw new AttestationError(GossipAction.IGNORE, {
597
- code: AttestationErrorCode.PAST_SLOT,
598
- earliestPermissibleSlot,
599
- attestationSlot,
600
- });
601
- }
602
- } else {
603
- const attestationEpoch = computeEpochAtSlot(attestationSlot);
604
-
605
- // upper bound for current epoch is same as epoch of latestPermissibleSlot
606
- const latestPermissibleCurrentEpoch = computeEpochAtSlot(latestPermissibleSlot);
607
- if (attestationEpoch > latestPermissibleCurrentEpoch) {
608
- throw new AttestationError(GossipAction.IGNORE, {
609
- code: AttestationErrorCode.FUTURE_EPOCH,
610
- currentEpoch: latestPermissibleCurrentEpoch,
611
- attestationEpoch,
612
- });
613
- }
614
-
615
- // lower bound for previous epoch is same as epoch of earliestPermissibleSlot
616
- const currentEpochWithPastTolerance = computeEpochAtSlot(
617
- chain.clock.slotWithPastTolerance(MAXIMUM_GOSSIP_CLOCK_DISPARITY_SEC)
618
- );
619
-
620
- const earliestPermissiblePreviousEpoch = Math.max(currentEpochWithPastTolerance - 1, 0);
621
- if (attestationEpoch < earliestPermissiblePreviousEpoch) {
622
- throw new AttestationError(GossipAction.IGNORE, {
623
- code: AttestationErrorCode.PAST_EPOCH,
624
- previousEpoch: earliestPermissiblePreviousEpoch,
625
- attestationEpoch,
626
- });
627
- }
628
- }
629
- }
630
-
631
- /**
632
- * Verify:
633
- * 1. head block is known
634
- * 2. attestation's target block is an ancestor of the block named in the LMD vote
635
- */
636
- export function verifyHeadBlockAndTargetRoot(
637
- chain: IBeaconChain,
638
- beaconBlockRoot: Root,
639
- targetRoot: Root,
640
- attestationSlot: Slot,
641
- attestationEpoch: Epoch,
642
- caller: RegenCaller,
643
- maxSkipSlots?: number
644
- ): ProtoBlock {
645
- const headBlock = verifyHeadBlockIsKnown(chain, beaconBlockRoot);
646
- // Lighthouse rejects the attestation, however Lodestar only ignores considering it's not against the spec
647
- // it's more about a DOS protection to us
648
- // With verifyPropagationSlotRange() and maxSkipSlots = 32, it's unlikely we have to regenerate states in queue
649
- // to validate beacon_attestation and aggregate_and_proof
650
- const slotDistance = attestationSlot - headBlock.slot;
651
- chain.metrics?.gossipAttestation.headSlotToAttestationSlot.observe({caller}, slotDistance);
652
-
653
- if (maxSkipSlots !== undefined && slotDistance > maxSkipSlots) {
654
- throw new AttestationError(GossipAction.IGNORE, {
655
- code: AttestationErrorCode.TOO_MANY_SKIPPED_SLOTS,
656
- attestationSlot,
657
- headBlockSlot: headBlock.slot,
658
- });
659
- }
660
- verifyAttestationTargetRoot(headBlock, targetRoot, attestationEpoch);
661
- return headBlock;
662
- }
663
-
664
- /**
665
- * Get a shuffling for attestation verification from the ShufflingCache.
666
- * - if blockEpoch is attEpoch, use current shuffling of head state
667
- * - if blockEpoch is attEpoch - 1, use next shuffling of head state
668
- * - if blockEpoch is less than attEpoch - 1, dial head state to attEpoch - 1, and add to ShufflingCache
669
- *
670
- * This implementation does not require to dial head state to attSlot at fork boundary because we always get domain of attSlot
671
- * in consumer context.
672
- *
673
- * This is similar to the old getStateForAttestationVerification
674
- * see https://github.com/ChainSafe/lodestar/blob/v1.11.3/packages/beacon-node/src/chain/validation/attestation.ts#L566
675
- */
676
- export async function getShufflingForAttestationVerification(
677
- chain: IBeaconChain,
678
- attEpoch: Epoch,
679
- attHeadBlock: ProtoBlock,
680
- regenCaller: RegenCaller
681
- ): Promise<EpochShuffling> {
682
- const blockEpoch = computeEpochAtSlot(attHeadBlock.slot);
683
- const shufflingDependentRoot = getShufflingDependentRoot(chain.forkChoice, attEpoch, blockEpoch, attHeadBlock);
684
-
685
- const shuffling = await chain.shufflingCache.get(attEpoch, shufflingDependentRoot);
686
- if (shuffling) {
687
- // most of the time, we should get the shuffling from cache
688
- chain.metrics?.gossipAttestation.shufflingCacheHit.inc({caller: regenCaller});
689
- return shuffling;
690
- }
691
-
692
- chain.metrics?.gossipAttestation.shufflingCacheMiss.inc({caller: regenCaller});
693
- try {
694
- // for the 1st time of the same epoch and dependent root, it awaits for the regen state
695
- // from the 2nd time, it should use the same cached promise and it should reach the above code
696
- chain.metrics?.gossipAttestation.shufflingCacheRegenHit.inc({caller: regenCaller});
697
- return await chain.regenStateForAttestationVerification(
698
- attEpoch,
699
- shufflingDependentRoot,
700
- attHeadBlock,
701
- regenCaller
702
- );
703
- } catch (e) {
704
- chain.metrics?.gossipAttestation.shufflingCacheRegenMiss.inc({caller: regenCaller});
705
- throw new AttestationError(GossipAction.IGNORE, {
706
- code: AttestationErrorCode.MISSING_STATE_TO_VERIFY_ATTESTATION,
707
- error: e as Error,
708
- });
709
- }
710
- }
711
-
712
- /**
713
- * Different version of getAttestationDataSigningRoot in state-transition which doesn't require a state.
714
- */
715
- export function getAttestationDataSigningRoot(config: BeaconConfig, data: phase0.AttestationData): Uint8Array {
716
- const slot = computeStartSlotAtEpoch(data.target.epoch);
717
- // previously, we call `domain = config.getDomain(state.slot, DOMAIN_BEACON_ATTESTER, slot)`
718
- // at fork boundary, it's required to dial to target epoch https://github.com/ChainSafe/lodestar/blob/v1.11.3/packages/beacon-node/src/chain/validation/attestation.ts#L573
719
- // instead of that, just use the fork at slot in the attestation data
720
- const fork = config.getForkName(slot);
721
- const domain = config.getDomainAtFork(fork, DOMAIN_BEACON_ATTESTER);
722
- return computeSigningRoot(ssz.phase0.AttestationData, data, domain);
723
- }
724
-
725
- /**
726
- * Checks if the `attestation.data.beaconBlockRoot` is known to this chain.
727
- *
728
- * The block root may not be known for two reasons:
729
- *
730
- * 1. The block has never been verified by our application.
731
- * 2. The block is prior to the latest finalized block.
732
- *
733
- * Case (1) is the exact thing we're trying to detect. However case (2) is a little different, but
734
- * it's still fine to ignore here because there's no need for us to handle attestations that are
735
- * already finalized.
736
- */
737
- function verifyHeadBlockIsKnown(chain: IBeaconChain, beaconBlockRoot: Root): ProtoBlock {
738
- // TODO (LH): Enforce a maximum skip distance for unaggregated attestations.
739
-
740
- const headBlock = chain.forkChoice.getBlock(beaconBlockRoot);
741
- if (headBlock === null) {
742
- throw new AttestationError(GossipAction.IGNORE, {
743
- code: AttestationErrorCode.UNKNOWN_OR_PREFINALIZED_BEACON_BLOCK_ROOT,
744
- root: toRootHex(beaconBlockRoot),
745
- });
746
- }
747
-
748
- return headBlock;
749
- }
750
-
751
- /**
752
- * Verifies that the `attestation.data.target.root` is indeed the target root of the block at
753
- * `attestation.data.beacon_block_root`.
754
- */
755
- function verifyAttestationTargetRoot(headBlock: ProtoBlock, targetRoot: Root, attestationEpoch: Epoch): void {
756
- // Check the attestation target root.
757
- const headBlockEpoch = computeEpochAtSlot(headBlock.slot);
758
-
759
- if (headBlockEpoch > attestationEpoch) {
760
- // The epoch references an invalid head block from a future epoch.
761
- //
762
- // This check is not in the specification, however we guard against it since it opens us up
763
- // to weird edge cases during verification.
764
- //
765
- // Whilst this attestation *technically* could be used to add value to a block, it is
766
- // invalid in the spirit of the protocol. Here we choose safety over profit.
767
- //
768
- // Reference:
769
- // https://github.com/ethereum/consensus-specs/pull/2001#issuecomment-699246659
770
- throw new AttestationError(GossipAction.REJECT, {
771
- code: AttestationErrorCode.INVALID_TARGET_ROOT,
772
- targetRoot: toRootHex(targetRoot),
773
- expected: null,
774
- });
775
- }
776
-
777
- const expectedTargetRoot =
778
- headBlockEpoch === attestationEpoch
779
- ? // If the block is in the same epoch as the attestation, then use the target root
780
- // from the block.
781
- headBlock.targetRoot
782
- : // If the head block is from a previous epoch then skip slots will cause the head block
783
- // root to become the target block root.
784
- //
785
- // We know the head block is from a previous epoch due to a previous check.
786
- headBlock.blockRoot;
787
-
788
- // TODO: Do a fast comparision to convert and compare byte by byte
789
- if (expectedTargetRoot !== toRootHex(targetRoot)) {
790
- // Reject any attestation with an invalid target root.
791
- throw new AttestationError(GossipAction.REJECT, {
792
- code: AttestationErrorCode.INVALID_TARGET_ROOT,
793
- targetRoot: toRootHex(targetRoot),
794
- expected: expectedTargetRoot,
795
- });
796
- }
797
- }
798
-
799
- /**
800
- * Get a list of validator indices in the given committee
801
- * attestationIndex - Index of the committee in shuffling.committees
802
- */
803
- export function getCommitteeValidatorIndices(
804
- shuffling: EpochShuffling,
805
- attestationSlot: Slot,
806
- attestationIndex: number
807
- ): Uint32Array {
808
- const {committees} = shuffling;
809
- const slotCommittees = committees[attestationSlot % SLOTS_PER_EPOCH];
810
-
811
- if (attestationIndex >= slotCommittees.length) {
812
- throw new AttestationError(GossipAction.REJECT, {
813
- code: AttestationErrorCode.COMMITTEE_INDEX_OUT_OF_RANGE,
814
- index: attestationIndex,
815
- });
816
- }
817
- return slotCommittees[attestationIndex];
818
- }
819
-
820
- /**
821
- * Compute the correct subnet for a slot/committee index
822
- */
823
- export function computeSubnetForSlot(shuffling: EpochShuffling, slot: number, committeeIndex: number): SubnetID {
824
- const slotsSinceEpochStart = slot % SLOTS_PER_EPOCH;
825
- const committeesSinceEpochStart = shuffling.committeesPerSlot * slotsSinceEpochStart;
826
- return (committeesSinceEpochStart + committeeIndex) % ATTESTATION_SUBNET_COUNT;
827
- }
828
-
829
- /**
830
- * Return fork-dependent seen attestation key
831
- * - for pre-electra, it's the AttestationData base64 from Attestation
832
- * - for electra and later, it's the AttestationData base64 from SingleAttestation
833
- * - consumers need to also pass slot + committeeIndex to get the correct SeenAttestationData
834
- */
835
- export function getSeenAttDataKeyFromGossipAttestation(attestation: GossipAttestation): SeenAttDataKey | null {
836
- // SeenAttDataKey is the same as gossip index
837
- return attestation.attDataBase64;
838
- }
839
-
840
- /**
841
- * Extract attestation data key from SignedAggregateAndProof Uint8Array to use cached data from SeenAttestationDatas
842
- * - for both electra + pre-electra, it's the AttestationData base64
843
- * - consumers need to also pass slot + committeeIndex to get the correct SeenAttestationData
844
- */
845
- export function getSeenAttDataKeyFromSignedAggregateAndProof(
846
- fork: ForkName,
847
- aggregateAndProof: Uint8Array
848
- ): SeenAttDataKey | null {
849
- return isForkPostElectra(fork)
850
- ? getAttDataFromSignedAggregateAndProofElectra(aggregateAndProof)
851
- : getAttDataFromSignedAggregateAndProofPhase0(aggregateAndProof);
852
- }
853
-
854
- export function getCommitteeIndexFromAttestationOrBytes(
855
- fork: ForkName,
856
- attestationOrBytes: AttestationOrBytes
857
- ): CommitteeIndex | null {
858
- const isGossipAttestation = attestationOrBytes.serializedData !== null;
859
-
860
- if (isForkPostElectra(fork)) {
861
- if (isGossipAttestation) {
862
- return getCommitteeIndexFromSingleAttestationSerialized(ForkName.electra, attestationOrBytes.serializedData);
863
- }
864
- return (attestationOrBytes.attestation as SingleAttestation<ForkPostElectra>).committeeIndex;
865
- }
866
- if (isGossipAttestation) {
867
- return getCommitteeIndexFromSingleAttestationSerialized(ForkName.phase0, attestationOrBytes.serializedData);
868
- }
869
- return (attestationOrBytes.attestation as SingleAttestation<ForkPreElectra>).data.index;
870
- }
871
-
872
- /**
873
- * Convert pre-electra single attestation (`phase0.Attestation`) to post-electra `SingleAttestation`
874
- */
875
- export function toElectraSingleAttestation(
876
- attestation: SingleAttestation<ForkPreElectra>,
877
- attesterIndex: ValidatorIndex
878
- ): SingleAttestation<ForkPostElectra> {
879
- return {
880
- committeeIndex: attestation.data.index,
881
- attesterIndex,
882
- data: attestation.data,
883
- signature: attestation.signature,
884
- };
885
- }