@lodestar/beacon-node 1.35.0-dev.fcf8d024ea → 1.35.0-dev.feed916580

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 (945) 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/validator/index.js +3 -5
  5. package/lib/api/impl/validator/index.js.map +1 -1
  6. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
  7. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  8. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  9. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  10. package/lib/chain/blocks/blockInput/blockInput.js +1 -1
  11. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  12. package/lib/chain/blocks/importBlock.js +3 -4
  13. package/lib/chain/blocks/importBlock.js.map +1 -1
  14. package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -8
  15. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  16. package/lib/chain/blocks/writeBlockInputToDb.js +7 -1
  17. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  18. package/lib/chain/bls/multithread/index.js +0 -1
  19. package/lib/chain/bls/multithread/index.js.map +1 -1
  20. package/lib/chain/chain.js +3 -2
  21. package/lib/chain/chain.js.map +1 -1
  22. package/lib/chain/emitter.d.ts +2 -2
  23. package/lib/chain/opPools/attestationPool.d.ts +3 -2
  24. package/lib/chain/opPools/attestationPool.js +5 -3
  25. package/lib/chain/opPools/attestationPool.js.map +1 -1
  26. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +2 -3
  27. package/lib/chain/opPools/syncCommitteeMessagePool.js +5 -6
  28. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  29. package/lib/chain/opPools/types.d.ts +1 -1
  30. package/lib/chain/opPools/types.js +1 -1
  31. package/lib/chain/opPools/types.js.map +1 -1
  32. package/lib/chain/prepareNextSlot.d.ts +3 -3
  33. package/lib/chain/prepareNextSlot.js +8 -8
  34. package/lib/chain/prepareNextSlot.js.map +1 -1
  35. package/lib/chain/stateCache/persistentCheckpointsCache.js +8 -9
  36. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  37. package/lib/chain/validation/lightClientFinalityUpdate.js +3 -4
  38. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  39. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +4 -6
  40. package/lib/chain/validation/lightClientOptimisticUpdate.js +11 -11
  41. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  42. package/lib/chain/validatorMonitor.js +14 -20
  43. package/lib/chain/validatorMonitor.js.map +1 -1
  44. package/lib/db/buckets.d.ts +4 -4
  45. package/lib/db/buckets.js +4 -4
  46. package/lib/db/buckets.js.map +1 -1
  47. package/lib/db/repositories/blobSidecars.js +1 -1
  48. package/lib/db/repositories/blobSidecars.js.map +1 -1
  49. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  50. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  51. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  52. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  53. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  54. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  55. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  56. package/lib/metrics/metrics/lodestar.d.ts +1 -1
  57. package/lib/metrics/metrics/lodestar.js +3 -3
  58. package/lib/metrics/metrics/lodestar.js.map +1 -1
  59. package/lib/network/core/networkCoreWorkerHandler.js +3 -9
  60. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  61. package/lib/network/discv5/index.js +1 -4
  62. package/lib/network/discv5/index.js.map +1 -1
  63. package/lib/network/gossip/gossipsub.d.ts +0 -1
  64. package/lib/network/gossip/gossipsub.js +16 -35
  65. package/lib/network/gossip/gossipsub.js.map +1 -1
  66. package/lib/network/gossip/metrics.d.ts +7 -15
  67. package/lib/network/gossip/metrics.js +6 -16
  68. package/lib/network/gossip/metrics.js.map +1 -1
  69. package/lib/network/libp2p/index.js +1 -9
  70. package/lib/network/libp2p/index.js.map +1 -1
  71. package/lib/network/metadata.js +1 -2
  72. package/lib/network/metadata.js.map +1 -1
  73. package/lib/network/network.d.ts +1 -1
  74. package/lib/network/network.js +13 -11
  75. package/lib/network/network.js.map +1 -1
  76. package/lib/network/peers/datastore.d.ts +2 -2
  77. package/lib/network/peers/datastore.js +2 -2
  78. package/lib/network/peers/datastore.js.map +1 -1
  79. package/lib/network/processor/index.d.ts +1 -1
  80. package/lib/network/processor/index.js +3 -2
  81. package/lib/network/processor/index.js.map +1 -1
  82. package/lib/sync/types.d.ts +1 -0
  83. package/lib/sync/types.js.map +1 -1
  84. package/lib/sync/unknownBlock.d.ts +1 -0
  85. package/lib/sync/unknownBlock.js +19 -17
  86. package/lib/sync/unknownBlock.js.map +1 -1
  87. package/lib/sync/utils/downloadByRoot.d.ts +1 -3
  88. package/lib/sync/utils/downloadByRoot.js +9 -36
  89. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  90. package/lib/util/blobs.js +3 -5
  91. package/lib/util/blobs.js.map +1 -1
  92. package/lib/util/clock.d.ts +0 -5
  93. package/lib/util/clock.js +0 -3
  94. package/lib/util/clock.js.map +1 -1
  95. package/lib/util/dataColumns.js +1 -1
  96. package/lib/util/dataColumns.js.map +1 -1
  97. package/lib/util/execution.js +2 -19
  98. package/lib/util/execution.js.map +1 -1
  99. package/package.json +22 -32
  100. package/lib/api/impl/api.d.ts.map +0 -1
  101. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  102. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  103. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  104. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  105. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  106. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  107. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  108. package/lib/api/impl/config/constants.d.ts.map +0 -1
  109. package/lib/api/impl/config/index.d.ts.map +0 -1
  110. package/lib/api/impl/debug/index.d.ts.map +0 -1
  111. package/lib/api/impl/errors.d.ts.map +0 -1
  112. package/lib/api/impl/events/index.d.ts.map +0 -1
  113. package/lib/api/impl/index.d.ts.map +0 -1
  114. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  115. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  116. package/lib/api/impl/node/index.d.ts.map +0 -1
  117. package/lib/api/impl/node/utils.d.ts.map +0 -1
  118. package/lib/api/impl/proof/index.d.ts.map +0 -1
  119. package/lib/api/impl/types.d.ts.map +0 -1
  120. package/lib/api/impl/utils.d.ts.map +0 -1
  121. package/lib/api/impl/validator/index.d.ts.map +0 -1
  122. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  123. package/lib/api/index.d.ts.map +0 -1
  124. package/lib/api/options.d.ts.map +0 -1
  125. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  126. package/lib/api/rest/base.d.ts.map +0 -1
  127. package/lib/api/rest/index.d.ts.map +0 -1
  128. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  129. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  130. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  131. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  132. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  133. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  134. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  135. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  136. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  137. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  138. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  139. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  140. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  141. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  142. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  143. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  144. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  145. package/lib/chain/balancesCache.d.ts.map +0 -1
  146. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  147. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  148. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  149. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  150. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  151. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  152. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  153. package/lib/chain/blocks/index.d.ts.map +0 -1
  154. package/lib/chain/blocks/types.d.ts.map +0 -1
  155. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  156. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  157. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  158. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  159. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  160. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  161. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  162. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  163. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  164. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  165. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  166. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  167. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  168. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  169. package/lib/chain/bls/index.d.ts.map +0 -1
  170. package/lib/chain/bls/interface.d.ts.map +0 -1
  171. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  172. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  173. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  174. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  175. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  176. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  177. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  178. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  179. package/lib/chain/bls/utils.d.ts.map +0 -1
  180. package/lib/chain/chain.d.ts.map +0 -1
  181. package/lib/chain/emitter.d.ts.map +0 -1
  182. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  183. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  184. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  185. package/lib/chain/errors/blockError.d.ts.map +0 -1
  186. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  187. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  188. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  189. package/lib/chain/errors/index.d.ts.map +0 -1
  190. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  191. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  192. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  193. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  194. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  195. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  196. package/lib/chain/genesis/interface.d.ts.map +0 -1
  197. package/lib/chain/index.d.ts.map +0 -1
  198. package/lib/chain/initState.d.ts.map +0 -1
  199. package/lib/chain/interface.d.ts.map +0 -1
  200. package/lib/chain/lightClient/index.d.ts.map +0 -1
  201. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  202. package/lib/chain/lightClient/types.d.ts.map +0 -1
  203. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  204. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  205. package/lib/chain/opPools/index.d.ts.map +0 -1
  206. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  207. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  208. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  209. package/lib/chain/opPools/types.d.ts.map +0 -1
  210. package/lib/chain/opPools/utils.d.ts.map +0 -1
  211. package/lib/chain/options.d.ts.map +0 -1
  212. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  213. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  214. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  215. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  216. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  217. package/lib/chain/regen/errors.d.ts.map +0 -1
  218. package/lib/chain/regen/index.d.ts.map +0 -1
  219. package/lib/chain/regen/interface.d.ts.map +0 -1
  220. package/lib/chain/regen/queued.d.ts.map +0 -1
  221. package/lib/chain/regen/regen.d.ts.map +0 -1
  222. package/lib/chain/reprocess.d.ts.map +0 -1
  223. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  224. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  225. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  226. package/lib/chain/seenCache/index.d.ts.map +0 -1
  227. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  228. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  229. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  230. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  231. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  232. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  233. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  234. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  235. package/lib/chain/serializeState.d.ts.map +0 -1
  236. package/lib/chain/shufflingCache.d.ts.map +0 -1
  237. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  238. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  239. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  240. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  241. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  242. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  243. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  244. package/lib/chain/stateCache/index.d.ts.map +0 -1
  245. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  246. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  247. package/lib/chain/stateCache/types.d.ts.map +0 -1
  248. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  249. package/lib/chain/validation/attestation.d.ts.map +0 -1
  250. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  251. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  252. package/lib/chain/validation/block.d.ts.map +0 -1
  253. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  254. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  255. package/lib/chain/validation/index.d.ts.map +0 -1
  256. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  257. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  258. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  259. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  260. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  261. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  262. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  263. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  264. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  265. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  266. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  267. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  268. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  269. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  270. package/lib/constants/constants.d.ts.map +0 -1
  271. package/lib/constants/index.d.ts.map +0 -1
  272. package/lib/constants/network.d.ts.map +0 -1
  273. package/lib/db/beacon.d.ts.map +0 -1
  274. package/lib/db/buckets.d.ts.map +0 -1
  275. package/lib/db/index.d.ts.map +0 -1
  276. package/lib/db/interface.d.ts.map +0 -1
  277. package/lib/db/options.d.ts.map +0 -1
  278. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  279. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  280. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  281. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  282. package/lib/db/repositories/block.d.ts.map +0 -1
  283. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  284. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  285. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  286. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  287. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  288. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  289. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  290. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  291. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  292. package/lib/db/repositories/index.d.ts.map +0 -1
  293. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  294. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  295. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  296. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  297. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  298. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  299. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  300. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  301. package/lib/db/single/index.d.ts.map +0 -1
  302. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  303. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  304. package/lib/eth1/errors.d.ts.map +0 -1
  305. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  306. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  307. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  308. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  309. package/lib/eth1/index.d.ts.map +0 -1
  310. package/lib/eth1/interface.d.ts.map +0 -1
  311. package/lib/eth1/options.d.ts.map +0 -1
  312. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  313. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  314. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  315. package/lib/eth1/provider/utils.d.ts.map +0 -1
  316. package/lib/eth1/stream.d.ts.map +0 -1
  317. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  318. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  319. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  320. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  321. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  322. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  323. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  324. package/lib/execution/builder/cache.d.ts.map +0 -1
  325. package/lib/execution/builder/http.d.ts.map +0 -1
  326. package/lib/execution/builder/index.d.ts.map +0 -1
  327. package/lib/execution/builder/interface.d.ts.map +0 -1
  328. package/lib/execution/builder/utils.d.ts.map +0 -1
  329. package/lib/execution/engine/disabled.d.ts.map +0 -1
  330. package/lib/execution/engine/http.d.ts.map +0 -1
  331. package/lib/execution/engine/index.d.ts.map +0 -1
  332. package/lib/execution/engine/interface.d.ts.map +0 -1
  333. package/lib/execution/engine/mock.d.ts.map +0 -1
  334. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  335. package/lib/execution/engine/types.d.ts.map +0 -1
  336. package/lib/execution/engine/utils.d.ts.map +0 -1
  337. package/lib/execution/index.d.ts.map +0 -1
  338. package/lib/index.d.ts.map +0 -1
  339. package/lib/metrics/index.d.ts.map +0 -1
  340. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  341. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  342. package/lib/metrics/metrics.d.ts.map +0 -1
  343. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  344. package/lib/metrics/options.d.ts.map +0 -1
  345. package/lib/metrics/server/http.d.ts.map +0 -1
  346. package/lib/metrics/server/index.d.ts.map +0 -1
  347. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  348. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  349. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  350. package/lib/monitoring/clientStats.d.ts.map +0 -1
  351. package/lib/monitoring/index.d.ts.map +0 -1
  352. package/lib/monitoring/options.d.ts.map +0 -1
  353. package/lib/monitoring/properties.d.ts.map +0 -1
  354. package/lib/monitoring/service.d.ts.map +0 -1
  355. package/lib/monitoring/system.d.ts.map +0 -1
  356. package/lib/monitoring/types.d.ts.map +0 -1
  357. package/lib/network/core/events.d.ts.map +0 -1
  358. package/lib/network/core/index.d.ts.map +0 -1
  359. package/lib/network/core/metrics.d.ts.map +0 -1
  360. package/lib/network/core/networkCore.d.ts.map +0 -1
  361. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  362. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  363. package/lib/network/core/types.d.ts.map +0 -1
  364. package/lib/network/discv5/index.d.ts.map +0 -1
  365. package/lib/network/discv5/types.d.ts.map +0 -1
  366. package/lib/network/discv5/utils.d.ts.map +0 -1
  367. package/lib/network/discv5/worker.d.ts.map +0 -1
  368. package/lib/network/events.d.ts.map +0 -1
  369. package/lib/network/forks.d.ts.map +0 -1
  370. package/lib/network/gossip/constants.d.ts.map +0 -1
  371. package/lib/network/gossip/encoding.d.ts.map +0 -1
  372. package/lib/network/gossip/errors.d.ts.map +0 -1
  373. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  374. package/lib/network/gossip/index.d.ts.map +0 -1
  375. package/lib/network/gossip/interface.d.ts.map +0 -1
  376. package/lib/network/gossip/metrics.d.ts.map +0 -1
  377. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  378. package/lib/network/gossip/topic.d.ts.map +0 -1
  379. package/lib/network/index.d.ts.map +0 -1
  380. package/lib/network/interface.d.ts.map +0 -1
  381. package/lib/network/libp2p/error.d.ts.map +0 -1
  382. package/lib/network/libp2p/index.d.ts.map +0 -1
  383. package/lib/network/metadata.d.ts.map +0 -1
  384. package/lib/network/network.d.ts.map +0 -1
  385. package/lib/network/networkConfig.d.ts.map +0 -1
  386. package/lib/network/options.d.ts.map +0 -1
  387. package/lib/network/peers/client.d.ts.map +0 -1
  388. package/lib/network/peers/datastore.d.ts.map +0 -1
  389. package/lib/network/peers/discover.d.ts.map +0 -1
  390. package/lib/network/peers/index.d.ts.map +0 -1
  391. package/lib/network/peers/peerManager.d.ts.map +0 -1
  392. package/lib/network/peers/peersData.d.ts.map +0 -1
  393. package/lib/network/peers/score/constants.d.ts.map +0 -1
  394. package/lib/network/peers/score/index.d.ts.map +0 -1
  395. package/lib/network/peers/score/interface.d.ts.map +0 -1
  396. package/lib/network/peers/score/score.d.ts.map +0 -1
  397. package/lib/network/peers/score/store.d.ts.map +0 -1
  398. package/lib/network/peers/score/utils.d.ts.map +0 -1
  399. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  400. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  401. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  402. package/lib/network/peers/utils/index.d.ts.map +0 -1
  403. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  404. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  405. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  406. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  407. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  408. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  409. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  410. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  411. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  412. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  413. package/lib/network/processor/index.d.ts.map +0 -1
  414. package/lib/network/processor/types.d.ts.map +0 -1
  415. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  416. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  417. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  418. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  419. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  420. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  421. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  422. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  423. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  424. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  425. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  426. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  427. package/lib/network/reqresp/index.d.ts.map +0 -1
  428. package/lib/network/reqresp/interface.d.ts.map +0 -1
  429. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  430. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  431. package/lib/network/reqresp/score.d.ts.map +0 -1
  432. package/lib/network/reqresp/types.d.ts.map +0 -1
  433. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  434. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  435. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  436. package/lib/network/statusCache.d.ts.map +0 -1
  437. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  438. package/lib/network/subnets/index.d.ts.map +0 -1
  439. package/lib/network/subnets/interface.d.ts.map +0 -1
  440. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  441. package/lib/network/subnets/util.d.ts.map +0 -1
  442. package/lib/network/util.d.ts.map +0 -1
  443. package/lib/node/index.d.ts.map +0 -1
  444. package/lib/node/nodejs.d.ts.map +0 -1
  445. package/lib/node/notifier.d.ts.map +0 -1
  446. package/lib/node/options.d.ts.map +0 -1
  447. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  448. package/lib/node/utils/interop/state.d.ts.map +0 -1
  449. package/lib/node/utils/lightclient.d.ts.map +0 -1
  450. package/lib/node/utils/state.d.ts.map +0 -1
  451. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  452. package/lib/sync/backfill/errors.d.ts.map +0 -1
  453. package/lib/sync/backfill/index.d.ts.map +0 -1
  454. package/lib/sync/backfill/verify.d.ts.map +0 -1
  455. package/lib/sync/constants.d.ts.map +0 -1
  456. package/lib/sync/index.d.ts.map +0 -1
  457. package/lib/sync/interface.d.ts.map +0 -1
  458. package/lib/sync/options.d.ts.map +0 -1
  459. package/lib/sync/range/batch.d.ts.map +0 -1
  460. package/lib/sync/range/chain.d.ts.map +0 -1
  461. package/lib/sync/range/range.d.ts.map +0 -1
  462. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  463. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  464. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  465. package/lib/sync/range/utils/index.d.ts.map +0 -1
  466. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  467. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  468. package/lib/sync/sync.d.ts.map +0 -1
  469. package/lib/sync/types.d.ts.map +0 -1
  470. package/lib/sync/unknownBlock.d.ts.map +0 -1
  471. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  472. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  473. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  474. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  475. package/lib/util/address.d.ts.map +0 -1
  476. package/lib/util/array.d.ts.map +0 -1
  477. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  478. package/lib/util/binarySearch.d.ts.map +0 -1
  479. package/lib/util/bitArray.d.ts.map +0 -1
  480. package/lib/util/blobs.d.ts.map +0 -1
  481. package/lib/util/bufferPool.d.ts.map +0 -1
  482. package/lib/util/bytes.d.ts.map +0 -1
  483. package/lib/util/chunkify.d.ts.map +0 -1
  484. package/lib/util/clock.d.ts.map +0 -1
  485. package/lib/util/dataColumns.d.ts.map +0 -1
  486. package/lib/util/dependentRoot.d.ts.map +0 -1
  487. package/lib/util/enum.d.ts.map +0 -1
  488. package/lib/util/error.d.ts.map +0 -1
  489. package/lib/util/eventLoop.d.ts.map +0 -1
  490. package/lib/util/execution.d.ts.map +0 -1
  491. package/lib/util/file.d.ts.map +0 -1
  492. package/lib/util/forkChoice.d.ts.map +0 -1
  493. package/lib/util/forkName.d.ts.map +0 -1
  494. package/lib/util/graffiti.d.ts.map +0 -1
  495. package/lib/util/hex.d.ts.map +0 -1
  496. package/lib/util/index.d.ts.map +0 -1
  497. package/lib/util/ip.d.ts.map +0 -1
  498. package/lib/util/itTrigger.d.ts.map +0 -1
  499. package/lib/util/kzg.d.ts.map +0 -1
  500. package/lib/util/map.d.ts.map +0 -1
  501. package/lib/util/metadata.d.ts.map +0 -1
  502. package/lib/util/multifork.d.ts.map +0 -1
  503. package/lib/util/numpy.d.ts.map +0 -1
  504. package/lib/util/peerId.d.ts.map +0 -1
  505. package/lib/util/profile.d.ts.map +0 -1
  506. package/lib/util/promises.d.ts.map +0 -1
  507. package/lib/util/queue/errors.d.ts.map +0 -1
  508. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  509. package/lib/util/queue/index.d.ts.map +0 -1
  510. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  511. package/lib/util/queue/options.d.ts.map +0 -1
  512. package/lib/util/serializedCache.d.ts.map +0 -1
  513. package/lib/util/set.d.ts.map +0 -1
  514. package/lib/util/shuffle.d.ts.map +0 -1
  515. package/lib/util/sortBy.d.ts.map +0 -1
  516. package/lib/util/sszBytes.d.ts.map +0 -1
  517. package/lib/util/strictEvents.d.ts.map +0 -1
  518. package/lib/util/time.d.ts.map +0 -1
  519. package/lib/util/timeSeries.d.ts.map +0 -1
  520. package/lib/util/types.d.ts.map +0 -1
  521. package/lib/util/workerEvents.d.ts.map +0 -1
  522. package/lib/util/wrapError.d.ts.map +0 -1
  523. package/src/api/impl/api.ts +0 -26
  524. package/src/api/impl/beacon/blocks/index.ts +0 -744
  525. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  526. package/src/api/impl/beacon/index.ts +0 -35
  527. package/src/api/impl/beacon/pool/index.ts +0 -314
  528. package/src/api/impl/beacon/rewards/index.ts +0 -30
  529. package/src/api/impl/beacon/state/index.ts +0 -406
  530. package/src/api/impl/beacon/state/utils.ts +0 -189
  531. package/src/api/impl/config/constants.ts +0 -127
  532. package/src/api/impl/config/index.ts +0 -59
  533. package/src/api/impl/debug/index.ts +0 -131
  534. package/src/api/impl/errors.ts +0 -50
  535. package/src/api/impl/events/index.ts +0 -33
  536. package/src/api/impl/index.ts +0 -6
  537. package/src/api/impl/lightclient/index.ts +0 -64
  538. package/src/api/impl/lodestar/index.ts +0 -257
  539. package/src/api/impl/node/index.ts +0 -88
  540. package/src/api/impl/node/utils.ts +0 -51
  541. package/src/api/impl/proof/index.ts +0 -60
  542. package/src/api/impl/types.ts +0 -17
  543. package/src/api/impl/utils.ts +0 -25
  544. package/src/api/impl/validator/index.ts +0 -1540
  545. package/src/api/impl/validator/utils.ts +0 -85
  546. package/src/api/index.ts +0 -2
  547. package/src/api/options.ts +0 -16
  548. package/src/api/rest/activeSockets.ts +0 -109
  549. package/src/api/rest/base.ts +0 -216
  550. package/src/api/rest/index.ts +0 -63
  551. package/src/api/rest/swaggerUI.ts +0 -80
  552. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  553. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  554. package/src/chain/GetBlobsTracker.ts +0 -115
  555. package/src/chain/archiveStore/archiveStore.ts +0 -222
  556. package/src/chain/archiveStore/constants.ts +0 -5
  557. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  558. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  559. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  560. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  561. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  562. package/src/chain/archiveStore/index.ts +0 -3
  563. package/src/chain/archiveStore/interface.ts +0 -75
  564. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  565. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  566. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  567. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  568. package/src/chain/balancesCache.ts +0 -52
  569. package/src/chain/beaconProposerCache.ts +0 -43
  570. package/src/chain/blocks/blockInput/blockInput.ts +0 -852
  571. package/src/chain/blocks/blockInput/errors.ts +0 -48
  572. package/src/chain/blocks/blockInput/index.ts +0 -4
  573. package/src/chain/blocks/blockInput/types.ts +0 -145
  574. package/src/chain/blocks/blockInput/utils.ts +0 -21
  575. package/src/chain/blocks/importBlock.ts +0 -597
  576. package/src/chain/blocks/index.ts +0 -179
  577. package/src/chain/blocks/types.ts +0 -101
  578. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  579. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  580. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  581. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  582. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  583. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  584. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  585. package/src/chain/blocks/verifyBlock.ts +0 -242
  586. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -42
  587. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  588. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  589. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  590. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  591. package/src/chain/blocks/writeBlockInputToDb.ts +0 -120
  592. package/src/chain/bls/index.ts +0 -4
  593. package/src/chain/bls/interface.ts +0 -68
  594. package/src/chain/bls/maybeBatch.ts +0 -45
  595. package/src/chain/bls/multithread/index.ts +0 -582
  596. package/src/chain/bls/multithread/jobItem.ts +0 -119
  597. package/src/chain/bls/multithread/poolSize.ts +0 -16
  598. package/src/chain/bls/multithread/types.ts +0 -38
  599. package/src/chain/bls/multithread/utils.ts +0 -19
  600. package/src/chain/bls/multithread/worker.ts +0 -114
  601. package/src/chain/bls/singleThread.ts +0 -87
  602. package/src/chain/bls/utils.ts +0 -30
  603. package/src/chain/chain.ts +0 -1354
  604. package/src/chain/emitter.ts +0 -113
  605. package/src/chain/errors/attestationError.ts +0 -194
  606. package/src/chain/errors/attesterSlashingError.ts +0 -11
  607. package/src/chain/errors/blobSidecarError.ts +0 -60
  608. package/src/chain/errors/blockError.ts +0 -166
  609. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  610. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  611. package/src/chain/errors/gossipValidation.ts +0 -20
  612. package/src/chain/errors/index.ts +0 -10
  613. package/src/chain/errors/lightClientError.ts +0 -30
  614. package/src/chain/errors/proposerSlashingError.ts +0 -11
  615. package/src/chain/errors/syncCommitteeError.ts +0 -36
  616. package/src/chain/errors/voluntaryExitError.ts +0 -13
  617. package/src/chain/forkChoice/index.ts +0 -112
  618. package/src/chain/genesis/genesis.ts +0 -190
  619. package/src/chain/genesis/interface.ts +0 -14
  620. package/src/chain/index.ts +0 -6
  621. package/src/chain/initState.ts +0 -221
  622. package/src/chain/interface.ts +0 -280
  623. package/src/chain/lightClient/index.ts +0 -764
  624. package/src/chain/lightClient/proofs.ts +0 -85
  625. package/src/chain/lightClient/types.ts +0 -33
  626. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  627. package/src/chain/opPools/attestationPool.ts +0 -282
  628. package/src/chain/opPools/index.ts +0 -5
  629. package/src/chain/opPools/opPool.ts +0 -462
  630. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -169
  631. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  632. package/src/chain/opPools/types.ts +0 -35
  633. package/src/chain/opPools/utils.ts +0 -65
  634. package/src/chain/options.ts +0 -138
  635. package/src/chain/prepareNextSlot.ts +0 -277
  636. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  637. package/src/chain/produceBlock/index.ts +0 -2
  638. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  639. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  640. package/src/chain/regen/errors.ts +0 -30
  641. package/src/chain/regen/index.ts +0 -4
  642. package/src/chain/regen/interface.ts +0 -93
  643. package/src/chain/regen/queued.ts +0 -317
  644. package/src/chain/regen/regen.ts +0 -424
  645. package/src/chain/reprocess.ts +0 -161
  646. package/src/chain/rewards/attestationsRewards.ts +0 -196
  647. package/src/chain/rewards/blockRewards.ts +0 -150
  648. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  649. package/src/chain/seenCache/index.ts +0 -5
  650. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  651. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  652. package/src/chain/seenCache/seenAttesters.ts +0 -58
  653. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  654. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  655. package/src/chain/seenCache/seenCommittee.ts +0 -43
  656. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  657. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  658. package/src/chain/serializeState.ts +0 -32
  659. package/src/chain/shufflingCache.ts +0 -238
  660. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  661. package/src/chain/stateCache/datastore/db.ts +0 -36
  662. package/src/chain/stateCache/datastore/file.ts +0 -53
  663. package/src/chain/stateCache/datastore/index.ts +0 -2
  664. package/src/chain/stateCache/datastore/types.ts +0 -13
  665. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  666. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  667. package/src/chain/stateCache/index.ts +0 -3
  668. package/src/chain/stateCache/mapMetrics.ts +0 -52
  669. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -837
  670. package/src/chain/stateCache/types.ts +0 -86
  671. package/src/chain/validation/aggregateAndProof.ts +0 -258
  672. package/src/chain/validation/attestation.ts +0 -885
  673. package/src/chain/validation/attesterSlashing.ts +0 -61
  674. package/src/chain/validation/blobSidecar.ts +0 -301
  675. package/src/chain/validation/block.ts +0 -188
  676. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  677. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  678. package/src/chain/validation/index.ts +0 -9
  679. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -46
  680. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -68
  681. package/src/chain/validation/proposerSlashing.ts +0 -54
  682. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  683. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  684. package/src/chain/validation/signatureSets/index.ts +0 -6
  685. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  686. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  687. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  688. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  689. package/src/chain/validation/syncCommittee.ts +0 -165
  690. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  691. package/src/chain/validation/voluntaryExit.ts +0 -58
  692. package/src/chain/validatorMonitor.ts +0 -1309
  693. package/src/constants/constants.ts +0 -15
  694. package/src/constants/index.ts +0 -2
  695. package/src/constants/network.ts +0 -52
  696. package/src/db/beacon.ts +0 -113
  697. package/src/db/buckets.ts +0 -80
  698. package/src/db/index.ts +0 -2
  699. package/src/db/interface.ts +0 -76
  700. package/src/db/options.ts +0 -7
  701. package/src/db/repositories/attesterSlashing.ts +0 -38
  702. package/src/db/repositories/backfilledRanges.ts +0 -29
  703. package/src/db/repositories/blobSidecars.ts +0 -37
  704. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  705. package/src/db/repositories/block.ts +0 -33
  706. package/src/db/repositories/blockArchive.ts +0 -170
  707. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  708. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  709. package/src/db/repositories/checkpointState.ts +0 -31
  710. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  711. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  712. package/src/db/repositories/depositDataRoot.ts +0 -80
  713. package/src/db/repositories/depositEvent.ts +0 -32
  714. package/src/db/repositories/eth1Data.ts +0 -33
  715. package/src/db/repositories/index.ts +0 -20
  716. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  717. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  718. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  719. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  720. package/src/db/repositories/proposerSlashing.ts +0 -15
  721. package/src/db/repositories/stateArchive.ts +0 -69
  722. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  723. package/src/db/repositories/voluntaryExit.ts +0 -15
  724. package/src/db/single/index.ts +0 -2
  725. package/src/db/single/preGenesisState.ts +0 -37
  726. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  727. package/src/eth1/errors.ts +0 -40
  728. package/src/eth1/eth1DataCache.ts +0 -26
  729. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  730. package/src/eth1/eth1DepositsCache.ts +0 -141
  731. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  732. package/src/eth1/index.ts +0 -157
  733. package/src/eth1/interface.ts +0 -131
  734. package/src/eth1/options.ts +0 -28
  735. package/src/eth1/provider/eth1Provider.ts +0 -229
  736. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  737. package/src/eth1/provider/jwt.ts +0 -36
  738. package/src/eth1/provider/utils.ts +0 -136
  739. package/src/eth1/stream.ts +0 -75
  740. package/src/eth1/utils/depositContract.ts +0 -37
  741. package/src/eth1/utils/deposits.ts +0 -70
  742. package/src/eth1/utils/eth1Data.ts +0 -100
  743. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  744. package/src/eth1/utils/eth1Vote.ts +0 -142
  745. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  746. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  747. package/src/execution/builder/cache.ts +0 -39
  748. package/src/execution/builder/http.ts +0 -229
  749. package/src/execution/builder/index.ts +0 -27
  750. package/src/execution/builder/interface.ts +0 -49
  751. package/src/execution/builder/utils.ts +0 -19
  752. package/src/execution/engine/disabled.ts +0 -35
  753. package/src/execution/engine/http.ts +0 -644
  754. package/src/execution/engine/index.ts +0 -63
  755. package/src/execution/engine/interface.ts +0 -199
  756. package/src/execution/engine/mock.ts +0 -493
  757. package/src/execution/engine/payloadIdCache.ts +0 -54
  758. package/src/execution/engine/types.ts +0 -640
  759. package/src/execution/engine/utils.ts +0 -136
  760. package/src/execution/index.ts +0 -4
  761. package/src/index.ts +0 -20
  762. package/src/metrics/index.ts +0 -4
  763. package/src/metrics/metrics/beacon.ts +0 -390
  764. package/src/metrics/metrics/lodestar.ts +0 -1870
  765. package/src/metrics/metrics.ts +0 -43
  766. package/src/metrics/nodeJsMetrics.ts +0 -19
  767. package/src/metrics/options.ts +0 -22
  768. package/src/metrics/server/http.ts +0 -114
  769. package/src/metrics/server/index.ts +0 -1
  770. package/src/metrics/utils/avgMinMax.ts +0 -87
  771. package/src/metrics/utils/gauge.ts +0 -22
  772. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  773. package/src/monitoring/clientStats.ts +0 -297
  774. package/src/monitoring/index.ts +0 -2
  775. package/src/monitoring/options.ts +0 -19
  776. package/src/monitoring/properties.ts +0 -152
  777. package/src/monitoring/service.ts +0 -235
  778. package/src/monitoring/system.ts +0 -146
  779. package/src/monitoring/types.ts +0 -21
  780. package/src/network/core/events.ts +0 -59
  781. package/src/network/core/index.ts +0 -3
  782. package/src/network/core/metrics.ts +0 -304
  783. package/src/network/core/networkCore.ts +0 -599
  784. package/src/network/core/networkCoreWorker.ts +0 -176
  785. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  786. package/src/network/core/types.ts +0 -119
  787. package/src/network/discv5/index.ts +0 -132
  788. package/src/network/discv5/types.ts +0 -74
  789. package/src/network/discv5/utils.ts +0 -50
  790. package/src/network/discv5/worker.ts +0 -137
  791. package/src/network/events.ts +0 -51
  792. package/src/network/forks.ts +0 -94
  793. package/src/network/gossip/constants.ts +0 -15
  794. package/src/network/gossip/encoding.ts +0 -111
  795. package/src/network/gossip/errors.ts +0 -7
  796. package/src/network/gossip/gossipsub.ts +0 -384
  797. package/src/network/gossip/index.ts +0 -4
  798. package/src/network/gossip/interface.ts +0 -215
  799. package/src/network/gossip/metrics.ts +0 -71
  800. package/src/network/gossip/scoringParameters.ts +0 -333
  801. package/src/network/gossip/topic.ts +0 -332
  802. package/src/network/index.ts +0 -8
  803. package/src/network/interface.ts +0 -134
  804. package/src/network/libp2p/error.ts +0 -55
  805. package/src/network/libp2p/index.ts +0 -153
  806. package/src/network/metadata.ts +0 -162
  807. package/src/network/network.ts +0 -767
  808. package/src/network/networkConfig.ts +0 -12
  809. package/src/network/options.ts +0 -70
  810. package/src/network/peers/client.ts +0 -29
  811. package/src/network/peers/datastore.ts +0 -188
  812. package/src/network/peers/discover.ts +0 -647
  813. package/src/network/peers/index.ts +0 -2
  814. package/src/network/peers/peerManager.ts +0 -899
  815. package/src/network/peers/peersData.ts +0 -65
  816. package/src/network/peers/score/constants.ts +0 -34
  817. package/src/network/peers/score/index.ts +0 -4
  818. package/src/network/peers/score/interface.ts +0 -74
  819. package/src/network/peers/score/score.ts +0 -200
  820. package/src/network/peers/score/store.ts +0 -95
  821. package/src/network/peers/score/utils.ts +0 -37
  822. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  823. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  824. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  825. package/src/network/peers/utils/index.ts +0 -4
  826. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  827. package/src/network/peers/utils/subnetMap.ts +0 -88
  828. package/src/network/processor/aggregatorTracker.ts +0 -38
  829. package/src/network/processor/extractSlotRootFns.ts +0 -64
  830. package/src/network/processor/gossipHandlers.ts +0 -951
  831. package/src/network/processor/gossipQueues/index.ts +0 -114
  832. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  833. package/src/network/processor/gossipQueues/linear.ts +0 -162
  834. package/src/network/processor/gossipQueues/types.ts +0 -57
  835. package/src/network/processor/gossipValidatorFn.ts +0 -142
  836. package/src/network/processor/index.ts +0 -496
  837. package/src/network/processor/types.ts +0 -27
  838. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  839. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  840. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  841. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  842. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  843. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  844. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  845. package/src/network/reqresp/handlers/index.ts +0 -78
  846. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  847. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  848. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  849. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  850. package/src/network/reqresp/index.ts +0 -2
  851. package/src/network/reqresp/interface.ts +0 -45
  852. package/src/network/reqresp/protocols.ts +0 -146
  853. package/src/network/reqresp/rateLimit.ts +0 -112
  854. package/src/network/reqresp/score.ts +0 -70
  855. package/src/network/reqresp/types.ts +0 -174
  856. package/src/network/reqresp/utils/collect.ts +0 -84
  857. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  858. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  859. package/src/network/statusCache.ts +0 -17
  860. package/src/network/subnets/attnetsService.ts +0 -385
  861. package/src/network/subnets/index.ts +0 -2
  862. package/src/network/subnets/interface.ts +0 -66
  863. package/src/network/subnets/syncnetsService.ts +0 -147
  864. package/src/network/subnets/util.ts +0 -63
  865. package/src/network/util.ts +0 -29
  866. package/src/node/index.ts +0 -2
  867. package/src/node/nodejs.ts +0 -349
  868. package/src/node/notifier.ts +0 -206
  869. package/src/node/options.ts +0 -51
  870. package/src/node/utils/interop/deposits.ts +0 -53
  871. package/src/node/utils/interop/state.ts +0 -59
  872. package/src/node/utils/lightclient.ts +0 -7
  873. package/src/node/utils/state.ts +0 -37
  874. package/src/sync/backfill/backfill.ts +0 -893
  875. package/src/sync/backfill/errors.ts +0 -23
  876. package/src/sync/backfill/index.ts +0 -1
  877. package/src/sync/backfill/verify.ts +0 -58
  878. package/src/sync/constants.ts +0 -71
  879. package/src/sync/index.ts +0 -2
  880. package/src/sync/interface.ts +0 -55
  881. package/src/sync/options.ts +0 -45
  882. package/src/sync/range/batch.ts +0 -455
  883. package/src/sync/range/chain.ts +0 -715
  884. package/src/sync/range/range.ts +0 -354
  885. package/src/sync/range/utils/batches.ts +0 -119
  886. package/src/sync/range/utils/chainTarget.ts +0 -62
  887. package/src/sync/range/utils/hashBlocks.ts +0 -27
  888. package/src/sync/range/utils/index.ts +0 -5
  889. package/src/sync/range/utils/peerBalancer.ts +0 -184
  890. package/src/sync/range/utils/updateChains.ts +0 -66
  891. package/src/sync/sync.ts +0 -290
  892. package/src/sync/types.ts +0 -57
  893. package/src/sync/unknownBlock.ts +0 -859
  894. package/src/sync/utils/downloadByRange.ts +0 -808
  895. package/src/sync/utils/downloadByRoot.ts +0 -560
  896. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  897. package/src/sync/utils/remoteSyncType.ts +0 -144
  898. package/src/util/address.ts +0 -3
  899. package/src/util/array.ts +0 -311
  900. package/src/util/asyncIterableToEvents.ts +0 -164
  901. package/src/util/binarySearch.ts +0 -48
  902. package/src/util/bitArray.ts +0 -84
  903. package/src/util/blobs.ts +0 -210
  904. package/src/util/bufferPool.ts +0 -95
  905. package/src/util/bytes.ts +0 -11
  906. package/src/util/chunkify.ts +0 -27
  907. package/src/util/clock.ts +0 -212
  908. package/src/util/dataColumns.ts +0 -415
  909. package/src/util/dependentRoot.ts +0 -47
  910. package/src/util/enum.ts +0 -17
  911. package/src/util/error.ts +0 -56
  912. package/src/util/eventLoop.ts +0 -22
  913. package/src/util/execution.ts +0 -223
  914. package/src/util/file.ts +0 -52
  915. package/src/util/forkChoice.ts +0 -5
  916. package/src/util/forkName.ts +0 -20
  917. package/src/util/graffiti.ts +0 -39
  918. package/src/util/hex.ts +0 -9
  919. package/src/util/index.ts +0 -2
  920. package/src/util/ip.ts +0 -6
  921. package/src/util/itTrigger.ts +0 -49
  922. package/src/util/kzg.ts +0 -3
  923. package/src/util/map.ts +0 -77
  924. package/src/util/metadata.ts +0 -22
  925. package/src/util/multifork.ts +0 -69
  926. package/src/util/numpy.ts +0 -8
  927. package/src/util/peerId.ts +0 -16
  928. package/src/util/profile.ts +0 -54
  929. package/src/util/promises.ts +0 -14
  930. package/src/util/queue/errors.ts +0 -14
  931. package/src/util/queue/fnQueue.ts +0 -16
  932. package/src/util/queue/index.ts +0 -4
  933. package/src/util/queue/itemQueue.ts +0 -128
  934. package/src/util/queue/options.ts +0 -37
  935. package/src/util/serializedCache.ts +0 -20
  936. package/src/util/set.ts +0 -62
  937. package/src/util/shuffle.ts +0 -21
  938. package/src/util/sortBy.ts +0 -19
  939. package/src/util/sszBytes.ts +0 -481
  940. package/src/util/strictEvents.ts +0 -8
  941. package/src/util/time.ts +0 -13
  942. package/src/util/timeSeries.ts +0 -118
  943. package/src/util/types.ts +0 -31
  944. package/src/util/workerEvents.ts +0 -142
  945. package/src/util/wrapError.ts +0 -27
@@ -1,797 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {
3
- ForkName,
4
- ForkPostBellatrix,
5
- ForkPostDeneb,
6
- ForkPostFulu,
7
- ForkSeq,
8
- isForkPostAltair,
9
- isForkPostBellatrix,
10
- } from "@lodestar/params";
11
- import {
12
- CachedBeaconStateAllForks,
13
- CachedBeaconStateBellatrix,
14
- CachedBeaconStateCapella,
15
- CachedBeaconStateExecutions,
16
- computeTimeAtSlot,
17
- getCurrentEpoch,
18
- getExpectedWithdrawals,
19
- getRandaoMix,
20
- isMergeTransitionComplete,
21
- } from "@lodestar/state-transition";
22
- import {
23
- BLSPubkey,
24
- BLSSignature,
25
- BeaconBlock,
26
- BeaconBlockBody,
27
- BlindedBeaconBlock,
28
- BlindedBeaconBlockBody,
29
- BlobsBundle,
30
- Bytes32,
31
- ExecutionPayload,
32
- ExecutionPayloadHeader,
33
- Root,
34
- RootHex,
35
- SSEPayloadAttributes,
36
- Slot,
37
- ValidatorIndex,
38
- Wei,
39
- altair,
40
- capella,
41
- deneb,
42
- electra,
43
- fulu,
44
- ssz,
45
- sszTypesFor,
46
- } from "@lodestar/types";
47
- import {Logger, sleep, toHex, toPubkeyHex, toRootHex} from "@lodestar/utils";
48
- import {ZERO_HASH, ZERO_HASH_HEX} from "../../constants/index.js";
49
- import {IEth1ForBlockProduction} from "../../eth1/index.js";
50
- import {numToQuantity} from "../../eth1/provider/utils.js";
51
- import {
52
- IExecutionBuilder,
53
- IExecutionEngine,
54
- PayloadAttributes,
55
- PayloadId,
56
- getExpectedGasLimit,
57
- } from "../../execution/index.js";
58
- import {fromGraffitiBytes} from "../../util/graffiti.js";
59
- import {kzg} from "../../util/kzg.js";
60
- import type {BeaconChain} from "../chain.js";
61
- import {CommonBlockBody} from "../interface.js";
62
- import {validateBlobsAndKzgCommitments, validateCellsAndKzgCommitments} from "./validateBlobsAndKzgCommitments.js";
63
-
64
- // Time to provide the EL to generate a payload from new payload id
65
- const PAYLOAD_GENERATION_TIME_MS = 500;
66
-
67
- export enum PayloadPreparationType {
68
- Fresh = "Fresh",
69
- Cached = "Cached",
70
- Reorged = "Reorged",
71
- Blinded = "Blinded",
72
- }
73
-
74
- /**
75
- * Block production steps tracked in metrics
76
- */
77
- export enum BlockProductionStep {
78
- proposerSlashing = "proposerSlashing",
79
- attesterSlashings = "attesterSlashings",
80
- voluntaryExits = "voluntaryExits",
81
- blsToExecutionChanges = "blsToExecutionChanges",
82
- attestations = "attestations",
83
- eth1DataAndDeposits = "eth1DataAndDeposits",
84
- syncAggregate = "syncAggregate",
85
- executionPayload = "executionPayload",
86
- }
87
-
88
- export type BlockAttributes = {
89
- randaoReveal: BLSSignature;
90
- graffiti: Bytes32;
91
- slot: Slot;
92
- parentBlockRoot: Root;
93
- parentSlot: Slot;
94
- feeRecipient?: string;
95
- };
96
-
97
- export enum BlockType {
98
- Full = "Full",
99
- Blinded = "Blinded",
100
- }
101
- export type AssembledBodyType<T extends BlockType> = T extends BlockType.Full
102
- ? BeaconBlockBody
103
- : BlindedBeaconBlockBody;
104
- export type AssembledBlockType<T extends BlockType> = T extends BlockType.Full ? BeaconBlock : BlindedBeaconBlock;
105
-
106
- export type ProduceFullFulu = {
107
- type: BlockType.Full;
108
- fork: ForkPostFulu;
109
- executionPayload: ExecutionPayload<ForkPostFulu>;
110
- blobsBundle: BlobsBundle<ForkPostFulu>;
111
- cells: fulu.Cell[][];
112
- };
113
- export type ProduceFullDeneb = {
114
- type: BlockType.Full;
115
- fork: ForkName.deneb | ForkName.electra;
116
- executionPayload: ExecutionPayload<ForkPostDeneb>;
117
- blobsBundle: BlobsBundle<ForkPostDeneb>;
118
- };
119
- export type ProduceFullBellatrix = {
120
- type: BlockType.Full;
121
- fork: ForkName.bellatrix | ForkName.capella;
122
- executionPayload: ExecutionPayload<ForkPostBellatrix>;
123
- };
124
- export type ProduceFullPhase0 = {
125
- type: BlockType.Full;
126
- fork: ForkName.phase0 | ForkName.altair;
127
- };
128
- export type ProduceBlinded = {
129
- type: BlockType.Blinded;
130
- fork: ForkName;
131
- };
132
-
133
- // The results of block production returned by `produceBlockBody`
134
- // The types are defined separately so typecasting can be used
135
-
136
- /** The result of local block production, everything that's not the block itself */
137
- export type ProduceResult =
138
- | ProduceFullFulu
139
- | ProduceFullDeneb
140
- | ProduceFullBellatrix
141
- | ProduceFullPhase0
142
- | ProduceBlinded;
143
-
144
- export async function produceBlockBody<T extends BlockType>(
145
- this: BeaconChain,
146
- blockType: T,
147
- currentState: CachedBeaconStateAllForks,
148
- blockAttr: BlockAttributes & {
149
- proposerIndex: ValidatorIndex;
150
- proposerPubKey: BLSPubkey;
151
- commonBlockBodyPromise: Promise<CommonBlockBody>;
152
- }
153
- ): Promise<{
154
- body: AssembledBodyType<T>;
155
- produceResult: ProduceResult;
156
- executionPayloadValue: Wei;
157
- shouldOverrideBuilder?: boolean;
158
- }> {
159
- const {
160
- slot: blockSlot,
161
- feeRecipient: requestedFeeRecipient,
162
- parentBlockRoot,
163
- proposerIndex,
164
- proposerPubKey,
165
- commonBlockBodyPromise,
166
- } = blockAttr;
167
- let executionPayloadValue: Wei;
168
- let blockBody: AssembledBodyType<T>;
169
- // even though shouldOverrideBuilder is relevant for the engine response, for simplicity of typing
170
- // we just return it undefined for the builder which anyway doesn't get consumed downstream
171
- let shouldOverrideBuilder: boolean | undefined;
172
- const fork = currentState.config.getForkName(blockSlot);
173
- const produceResult = {
174
- type: blockType,
175
- fork,
176
- } as ProduceResult;
177
-
178
- const logMeta: Record<string, string | number | bigint> = {
179
- fork,
180
- blockType,
181
- slot: blockSlot,
182
- };
183
- this.logger.verbose("Producing beacon block body", logMeta);
184
-
185
- if (isForkPostBellatrix(fork)) {
186
- const safeBlockHash = this.forkChoice.getJustifiedBlock().executionPayloadBlockHash ?? ZERO_HASH_HEX;
187
- const finalizedBlockHash = this.forkChoice.getFinalizedBlock().executionPayloadBlockHash ?? ZERO_HASH_HEX;
188
- const feeRecipient = requestedFeeRecipient ?? this.beaconProposerCache.getOrDefault(proposerIndex);
189
- const feeRecipientType = requestedFeeRecipient
190
- ? "requested"
191
- : this.beaconProposerCache.get(proposerIndex)
192
- ? "cached"
193
- : "default";
194
-
195
- Object.assign(logMeta, {feeRecipientType, feeRecipient});
196
-
197
- if (blockType === BlockType.Blinded) {
198
- if (!this.executionBuilder) throw Error("External builder not configured");
199
- const executionBuilder = this.executionBuilder;
200
-
201
- const builderPromise = (async () => {
202
- const endExecutionPayloadHeader = this.metrics?.builderBlockProductionTimeSteps.startTimer();
203
- // This path will not be used in the production, but is here just for merge mock
204
- // tests because merge-mock requires an fcU to be issued prior to fetch payload
205
- // header.
206
- if (executionBuilder.issueLocalFcUWithFeeRecipient !== undefined) {
207
- await prepareExecutionPayload(
208
- this,
209
- this.logger,
210
- fork,
211
- parentBlockRoot,
212
- safeBlockHash,
213
- finalizedBlockHash ?? ZERO_HASH_HEX,
214
- currentState as CachedBeaconStateBellatrix,
215
- executionBuilder.issueLocalFcUWithFeeRecipient
216
- );
217
- }
218
-
219
- // For MeV boost integration, this is where the execution header will be
220
- // fetched from the payload id and a blinded block will be produced instead of
221
- // fullblock for the validator to sign
222
- this.logger.verbose("Fetching execution payload header from builder", {
223
- slot: blockSlot,
224
- proposerPubKey: toHex(proposerPubKey),
225
- });
226
- const headerRes = await prepareExecutionPayloadHeader(
227
- this,
228
- fork,
229
- currentState as CachedBeaconStateBellatrix,
230
- proposerPubKey
231
- );
232
-
233
- endExecutionPayloadHeader?.({
234
- step: BlockProductionStep.executionPayload,
235
- });
236
-
237
- return headerRes;
238
- })();
239
-
240
- const [builderRes, commonBlockBody] = await Promise.all([builderPromise, commonBlockBodyPromise]);
241
- blockBody = Object.assign({}, commonBlockBody) as AssembledBodyType<BlockType.Blinded>;
242
-
243
- (blockBody as BlindedBeaconBlockBody).executionPayloadHeader = builderRes.header;
244
- executionPayloadValue = builderRes.executionPayloadValue;
245
-
246
- const fetchedTime = Date.now() / 1000 - computeTimeAtSlot(this.config, blockSlot, this.genesisTime);
247
- const prepType = PayloadPreparationType.Blinded;
248
- this.metrics?.blockPayload.payloadFetchedTime.observe({prepType}, fetchedTime);
249
- this.logger.verbose("Fetched execution payload header from builder", {
250
- slot: blockSlot,
251
- executionPayloadValue,
252
- prepType,
253
- fetchedTime,
254
- });
255
-
256
- const targetGasLimit = executionBuilder.getValidatorRegistration(proposerPubKey)?.gasLimit;
257
- if (!targetGasLimit) {
258
- // This should only happen if cache was cleared due to restart of beacon node
259
- this.logger.warn("Failed to get validator registration, could not check header gas limit", {
260
- slot: blockSlot,
261
- proposerIndex,
262
- proposerPubKey: toPubkeyHex(proposerPubKey),
263
- });
264
- } else {
265
- const headerGasLimit = builderRes.header.gasLimit;
266
- const parentGasLimit = (currentState as CachedBeaconStateBellatrix).latestExecutionPayloadHeader.gasLimit;
267
- const expectedGasLimit = getExpectedGasLimit(parentGasLimit, targetGasLimit);
268
-
269
- const lowerBound = Math.min(parentGasLimit, expectedGasLimit);
270
- const upperBound = Math.max(parentGasLimit, expectedGasLimit);
271
-
272
- if (headerGasLimit < lowerBound || headerGasLimit > upperBound) {
273
- throw Error(
274
- `Header gas limit ${headerGasLimit} is outside of acceptable range [${lowerBound}, ${upperBound}]`
275
- );
276
- }
277
-
278
- if (headerGasLimit !== expectedGasLimit) {
279
- this.logger.warn("Header gas limit does not match expected value", {
280
- slot: blockSlot,
281
- headerGasLimit,
282
- expectedGasLimit,
283
- parentGasLimit,
284
- targetGasLimit,
285
- });
286
- }
287
- }
288
-
289
- if (ForkSeq[fork] >= ForkSeq.deneb) {
290
- const {blobKzgCommitments} = builderRes;
291
- if (blobKzgCommitments === undefined) {
292
- throw Error(`Invalid builder getHeader response for fork=${fork}, missing blobKzgCommitments`);
293
- }
294
-
295
- (blockBody as deneb.BlindedBeaconBlockBody).blobKzgCommitments = blobKzgCommitments;
296
- Object.assign(logMeta, {blobs: blobKzgCommitments.length});
297
- }
298
-
299
- if (ForkSeq[fork] >= ForkSeq.electra) {
300
- const {executionRequests} = builderRes;
301
- if (executionRequests === undefined) {
302
- throw Error(`Invalid builder getHeader response for fork=${fork}, missing executionRequests`);
303
- }
304
- (blockBody as electra.BlindedBeaconBlockBody).executionRequests = executionRequests;
305
- }
306
- }
307
-
308
- // blockType === BlockType.Full
309
- else {
310
- const enginePromise = (async () => {
311
- const endExecutionPayload = this.metrics?.executionBlockProductionTimeSteps.startTimer();
312
-
313
- this.logger.verbose("Preparing execution payload from engine", {
314
- slot: blockSlot,
315
- parentBlockRoot: toRootHex(parentBlockRoot),
316
- feeRecipient,
317
- });
318
- // https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/validator.md#constructing-the-beaconblockbody
319
- const prepareRes = await prepareExecutionPayload(
320
- this,
321
- this.logger,
322
- fork,
323
- parentBlockRoot,
324
- safeBlockHash,
325
- finalizedBlockHash ?? ZERO_HASH_HEX,
326
- currentState as CachedBeaconStateExecutions,
327
- feeRecipient
328
- );
329
-
330
- if (prepareRes.isPremerge) {
331
- return {
332
- ...prepareRes,
333
- executionPayload: sszTypesFor(fork).ExecutionPayload.defaultValue(),
334
- executionPayloadValue: BigInt(0),
335
- };
336
- }
337
-
338
- const {prepType, payloadId} = prepareRes;
339
- Object.assign(logMeta, {executionPayloadPrepType: prepType});
340
-
341
- if (prepType !== PayloadPreparationType.Cached) {
342
- // Wait for 500ms to allow EL to add some txs to the payload
343
- // the pitfalls of this have been put forward here, but 500ms delay for block proposal
344
- // seems marginal even with unhealthy network
345
- //
346
- // See: https://discord.com/channels/595666850260713488/892088344438255616/1009882079632314469
347
- await sleep(PAYLOAD_GENERATION_TIME_MS);
348
- }
349
-
350
- this.logger.verbose("Fetching execution payload from engine", {slot: blockSlot, payloadId});
351
- const payloadRes = await this.executionEngine.getPayload(fork, payloadId);
352
-
353
- endExecutionPayload?.({
354
- step: BlockProductionStep.executionPayload,
355
- });
356
-
357
- return {...prepareRes, ...payloadRes};
358
- })().catch((e) => {
359
- // catch payload fetch here, because there is still a recovery path possible if we
360
- // are pre-merge. We don't care the same for builder segment as the execution block
361
- // will takeover if the builder flow was activated and errors
362
- this.metrics?.blockPayload.payloadFetchErrors.inc();
363
-
364
- if (!isMergeTransitionComplete(currentState as CachedBeaconStateBellatrix)) {
365
- this.logger?.warn(
366
- "Fetch payload from the execution failed, however since we are still pre-merge proceeding with an empty one.",
367
- {},
368
- e as Error
369
- );
370
- // ok we don't have an execution payload here, so we can assign an empty one
371
- // if pre-merge
372
- return {
373
- isPremerge: true as const,
374
- executionPayload: sszTypesFor(fork).ExecutionPayload.defaultValue(),
375
- executionPayloadValue: BigInt(0),
376
- };
377
- }
378
- // since merge transition is complete, we need a valid payload even if with an
379
- // empty (transactions) one. defaultValue isn't gonna cut it!
380
- throw e;
381
- });
382
-
383
- const [engineRes, commonBlockBody] = await Promise.all([enginePromise, commonBlockBodyPromise]);
384
- blockBody = Object.assign({}, commonBlockBody) as AssembledBodyType<BlockType.Blinded>;
385
-
386
- if (engineRes.isPremerge) {
387
- (blockBody as BeaconBlockBody<ForkPostBellatrix>).executionPayload = engineRes.executionPayload;
388
- executionPayloadValue = engineRes.executionPayloadValue;
389
- } else {
390
- const {prepType, payloadId, executionPayload, blobsBundle, executionRequests} = engineRes;
391
- shouldOverrideBuilder = engineRes.shouldOverrideBuilder;
392
-
393
- (blockBody as BeaconBlockBody<ForkPostBellatrix>).executionPayload = executionPayload;
394
- (produceResult as ProduceFullBellatrix).executionPayload = executionPayload;
395
- executionPayloadValue = engineRes.executionPayloadValue;
396
- Object.assign(logMeta, {transactions: executionPayload.transactions.length, shouldOverrideBuilder});
397
-
398
- const fetchedTime = Date.now() / 1000 - computeTimeAtSlot(this.config, blockSlot, this.genesisTime);
399
- this.metrics?.blockPayload.payloadFetchedTime.observe({prepType}, fetchedTime);
400
- this.logger.verbose("Fetched execution payload from engine", {
401
- slot: blockSlot,
402
- executionPayloadValue,
403
- prepType,
404
- payloadId,
405
- fetchedTime,
406
- executionHeadBlockHash: toRootHex(engineRes.executionPayload.blockHash),
407
- });
408
- if (executionPayload.transactions.length === 0) {
409
- this.metrics?.blockPayload.emptyPayloads.inc({prepType});
410
- }
411
-
412
- if (ForkSeq[fork] >= ForkSeq.fulu) {
413
- if (blobsBundle === undefined) {
414
- throw Error(`Missing blobsBundle response from getPayload at fork=${fork}`);
415
- }
416
- // NOTE: Even though the fulu.BlobsBundle type is superficially the same as deneb.BlobsBundle, it is NOT.
417
- // In fulu, proofs are _cell_ proofs, vs in deneb they are _blob_ proofs.
418
-
419
- const cells = blobsBundle.blobs.map((blob) => kzg.computeCells(blob));
420
- if (this.opts.sanityCheckExecutionEngineBlobs) {
421
- await validateCellsAndKzgCommitments(blobsBundle.commitments, blobsBundle.proofs, cells);
422
- }
423
-
424
- (blockBody as deneb.BeaconBlockBody).blobKzgCommitments = blobsBundle.commitments;
425
- (produceResult as ProduceFullFulu).blobsBundle = blobsBundle;
426
- (produceResult as ProduceFullFulu).cells = cells;
427
-
428
- Object.assign(logMeta, {blobs: blobsBundle.commitments.length});
429
- } else if (ForkSeq[fork] >= ForkSeq.deneb) {
430
- if (blobsBundle === undefined) {
431
- throw Error(`Missing blobsBundle response from getPayload at fork=${fork}`);
432
- }
433
-
434
- if (this.opts.sanityCheckExecutionEngineBlobs) {
435
- await validateBlobsAndKzgCommitments(blobsBundle.commitments, blobsBundle.proofs, blobsBundle.blobs);
436
- }
437
-
438
- (blockBody as deneb.BeaconBlockBody).blobKzgCommitments = blobsBundle.commitments;
439
- (produceResult as ProduceFullDeneb).blobsBundle = blobsBundle;
440
-
441
- Object.assign(logMeta, {blobs: blobsBundle.commitments.length});
442
- }
443
-
444
- if (ForkSeq[fork] >= ForkSeq.electra) {
445
- if (executionRequests === undefined) {
446
- throw Error(`Missing executionRequests response from getPayload at fork=${fork}`);
447
- }
448
- (blockBody as electra.BeaconBlockBody).executionRequests = executionRequests;
449
- }
450
- }
451
- }
452
- } else {
453
- const commonBlockBody = await commonBlockBodyPromise;
454
- blockBody = Object.assign({}, commonBlockBody) as AssembledBodyType<T>;
455
- executionPayloadValue = BigInt(0);
456
- }
457
-
458
- const {graffiti, attestations, deposits, voluntaryExits, attesterSlashings, proposerSlashings} = blockBody;
459
-
460
- Object.assign(logMeta, {
461
- graffiti: fromGraffitiBytes(graffiti),
462
- attestations: attestations.length,
463
- deposits: deposits.length,
464
- voluntaryExits: voluntaryExits.length,
465
- attesterSlashings: attesterSlashings.length,
466
- proposerSlashings: proposerSlashings.length,
467
- });
468
-
469
- if (isForkPostAltair(fork)) {
470
- const {syncAggregate} = blockBody as altair.BeaconBlockBody;
471
- Object.assign(logMeta, {
472
- syncAggregateParticipants: syncAggregate.syncCommitteeBits.getTrueBitIndexes().length,
473
- });
474
- }
475
-
476
- if (ForkSeq[fork] >= ForkSeq.capella) {
477
- const {blsToExecutionChanges, executionPayload} = blockBody as capella.BeaconBlockBody;
478
- Object.assign(logMeta, {
479
- blsToExecutionChanges: blsToExecutionChanges.length,
480
- });
481
-
482
- // withdrawals are only available in full body
483
- if (blockType === BlockType.Full) {
484
- Object.assign(logMeta, {
485
- withdrawals: executionPayload.withdrawals.length,
486
- });
487
- }
488
- }
489
-
490
- Object.assign(logMeta, {executionPayloadValue});
491
- this.logger.verbose("Produced beacon block body", logMeta);
492
-
493
- return {body: blockBody as AssembledBodyType<T>, produceResult, executionPayloadValue, shouldOverrideBuilder};
494
- }
495
-
496
- /**
497
- * Produce ExecutionPayload for pre-merge, merge, and post-merge.
498
- *
499
- * Expects `eth1MergeBlockFinder` to be actively searching for blocks well in advance to being called.
500
- *
501
- * @returns PayloadId = pow block found, null = pow NOT found
502
- */
503
- export async function prepareExecutionPayload(
504
- chain: {
505
- eth1: IEth1ForBlockProduction;
506
- executionEngine: IExecutionEngine;
507
- config: ChainForkConfig;
508
- },
509
- logger: Logger,
510
- fork: ForkPostBellatrix,
511
- parentBlockRoot: Root,
512
- safeBlockHash: RootHex,
513
- finalizedBlockHash: RootHex,
514
- state: CachedBeaconStateExecutions,
515
- suggestedFeeRecipient: string
516
- ): Promise<{isPremerge: true} | {isPremerge: false; prepType: PayloadPreparationType; payloadId: PayloadId}> {
517
- const parentHashRes = await getExecutionPayloadParentHash(chain, state);
518
- if (parentHashRes.isPremerge) {
519
- // Return null only if the execution is pre-merge
520
- return {isPremerge: true};
521
- }
522
-
523
- const {parentHash} = parentHashRes;
524
- const timestamp = computeTimeAtSlot(chain.config, state.slot, state.genesisTime);
525
- const prevRandao = getRandaoMix(state, state.epochCtx.epoch);
526
-
527
- const payloadIdCached = chain.executionEngine.payloadIdCache.get({
528
- headBlockHash: toRootHex(parentHash),
529
- finalizedBlockHash,
530
- timestamp: numToQuantity(timestamp),
531
- prevRandao: toHex(prevRandao),
532
- suggestedFeeRecipient,
533
- });
534
-
535
- // prepareExecutionPayload will throw error via notifyForkchoiceUpdate if
536
- // the EL returns Syncing on this request to prepare a payload
537
- // TODO: Handle only this case, DO NOT put a generic try / catch that discards all errors
538
- let payloadId: PayloadId | null;
539
- let prepType: PayloadPreparationType;
540
-
541
- if (payloadIdCached) {
542
- payloadId = payloadIdCached;
543
- prepType = PayloadPreparationType.Cached;
544
- } else {
545
- // If there was a payload assigned to this timestamp, it would imply that there some sort
546
- // of payload reorg, i.e. head, fee recipient or any other fcu param changed
547
- if (chain.executionEngine.payloadIdCache.hasPayload({timestamp: numToQuantity(timestamp)})) {
548
- prepType = PayloadPreparationType.Reorged;
549
- } else {
550
- prepType = PayloadPreparationType.Fresh;
551
- }
552
-
553
- const attributes: PayloadAttributes = preparePayloadAttributes(fork, chain, {
554
- prepareState: state,
555
- prepareSlot: state.slot,
556
- parentBlockRoot,
557
- feeRecipient: suggestedFeeRecipient,
558
- });
559
-
560
- payloadId = await chain.executionEngine.notifyForkchoiceUpdate(
561
- fork,
562
- toRootHex(parentHash),
563
- safeBlockHash,
564
- finalizedBlockHash,
565
- attributes
566
- );
567
- logger.verbose("Prepared payload id from execution engine", {payloadId});
568
- }
569
-
570
- // Should never happen, notifyForkchoiceUpdate() with payload attributes always
571
- // returns payloadId
572
- if (payloadId === null) {
573
- throw Error("notifyForkchoiceUpdate returned payloadId null");
574
- }
575
-
576
- // We are only returning payloadId here because prepareExecutionPayload is also called from
577
- // prepareNextSlot, which is an advance call to execution engine to start building payload
578
- // Actual payload isn't produced till getPayload is called.
579
- return {isPremerge: false, payloadId, prepType};
580
- }
581
-
582
- async function prepareExecutionPayloadHeader(
583
- chain: {
584
- eth1: IEth1ForBlockProduction;
585
- executionBuilder?: IExecutionBuilder;
586
- config: ChainForkConfig;
587
- },
588
- fork: ForkPostBellatrix,
589
- state: CachedBeaconStateBellatrix,
590
- proposerPubKey: BLSPubkey
591
- ): Promise<{
592
- header: ExecutionPayloadHeader;
593
- executionPayloadValue: Wei;
594
- blobKzgCommitments?: deneb.BlobKzgCommitments;
595
- executionRequests?: electra.ExecutionRequests;
596
- }> {
597
- if (!chain.executionBuilder) {
598
- throw Error("executionBuilder required");
599
- }
600
-
601
- const parentHashRes = await getExecutionPayloadParentHash(chain, state);
602
- if (parentHashRes.isPremerge) {
603
- throw Error("External builder disabled pre-merge");
604
- }
605
-
606
- const {parentHash} = parentHashRes;
607
- return chain.executionBuilder.getHeader(fork, state.slot, parentHash, proposerPubKey);
608
- }
609
-
610
- export async function getExecutionPayloadParentHash(
611
- chain: {
612
- eth1: IEth1ForBlockProduction;
613
- config: ChainForkConfig;
614
- },
615
- state: CachedBeaconStateExecutions
616
- ): Promise<{isPremerge: true} | {isPremerge: false; parentHash: Root}> {
617
- // Use different POW block hash parent for block production based on merge status.
618
- // Returned value of null == using an empty ExecutionPayload value
619
- if (isMergeTransitionComplete(state)) {
620
- // Post-merge, normal payload
621
- return {isPremerge: false, parentHash: state.latestExecutionPayloadHeader.blockHash};
622
- }
623
-
624
- if (
625
- !ssz.Root.equals(chain.config.TERMINAL_BLOCK_HASH, ZERO_HASH) &&
626
- getCurrentEpoch(state) < chain.config.TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH
627
- ) {
628
- throw new Error(
629
- `InvalidMergeTBH epoch: expected >= ${
630
- chain.config.TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH
631
- }, actual: ${getCurrentEpoch(state)}`
632
- );
633
- }
634
-
635
- const terminalPowBlockHash = await chain.eth1.getTerminalPowBlock();
636
- if (terminalPowBlockHash === null) {
637
- // Pre-merge, no prepare payload call is needed
638
- return {isPremerge: true};
639
- }
640
- // Signify merge via producing on top of the last PoW block
641
- return {isPremerge: false, parentHash: terminalPowBlockHash};
642
- }
643
-
644
- export async function getPayloadAttributesForSSE(
645
- fork: ForkPostBellatrix,
646
- chain: {
647
- eth1: IEth1ForBlockProduction;
648
- config: ChainForkConfig;
649
- },
650
- {
651
- prepareState,
652
- prepareSlot,
653
- parentBlockRoot,
654
- feeRecipient,
655
- }: {prepareState: CachedBeaconStateExecutions; prepareSlot: Slot; parentBlockRoot: Root; feeRecipient: string}
656
- ): Promise<SSEPayloadAttributes> {
657
- const parentHashRes = await getExecutionPayloadParentHash(chain, prepareState);
658
-
659
- if (!parentHashRes.isPremerge) {
660
- const {parentHash} = parentHashRes;
661
- const payloadAttributes = preparePayloadAttributes(fork, chain, {
662
- prepareState,
663
- prepareSlot,
664
- parentBlockRoot,
665
- feeRecipient,
666
- });
667
-
668
- const ssePayloadAttributes: SSEPayloadAttributes = {
669
- proposerIndex: prepareState.epochCtx.getBeaconProposer(prepareSlot),
670
- proposalSlot: prepareSlot,
671
- parentBlockNumber: prepareState.latestExecutionPayloadHeader.blockNumber,
672
- parentBlockRoot,
673
- parentBlockHash: parentHash,
674
- payloadAttributes,
675
- };
676
- return ssePayloadAttributes;
677
- }
678
-
679
- throw Error("The execution is still pre-merge");
680
- }
681
-
682
- function preparePayloadAttributes(
683
- fork: ForkPostBellatrix,
684
- chain: {
685
- config: ChainForkConfig;
686
- },
687
- {
688
- prepareState,
689
- prepareSlot,
690
- parentBlockRoot,
691
- feeRecipient,
692
- }: {
693
- prepareState: CachedBeaconStateExecutions;
694
- prepareSlot: Slot;
695
- parentBlockRoot: Root;
696
- feeRecipient: string;
697
- }
698
- ): SSEPayloadAttributes["payloadAttributes"] {
699
- const timestamp = computeTimeAtSlot(chain.config, prepareSlot, prepareState.genesisTime);
700
- const prevRandao = getRandaoMix(prepareState, prepareState.epochCtx.epoch);
701
- const payloadAttributes = {
702
- timestamp,
703
- prevRandao,
704
- suggestedFeeRecipient: feeRecipient,
705
- };
706
-
707
- if (ForkSeq[fork] >= ForkSeq.capella) {
708
- // withdrawals logic is now fork aware as it changes on electra fork post capella
709
- (payloadAttributes as capella.SSEPayloadAttributes["payloadAttributes"]).withdrawals = getExpectedWithdrawals(
710
- ForkSeq[fork],
711
- prepareState as CachedBeaconStateCapella
712
- ).withdrawals;
713
- }
714
-
715
- if (ForkSeq[fork] >= ForkSeq.deneb) {
716
- (payloadAttributes as deneb.SSEPayloadAttributes["payloadAttributes"]).parentBeaconBlockRoot = parentBlockRoot;
717
- }
718
-
719
- return payloadAttributes;
720
- }
721
-
722
- export async function produceCommonBlockBody<T extends BlockType>(
723
- this: BeaconChain,
724
- blockType: T,
725
- currentState: CachedBeaconStateAllForks,
726
- {
727
- randaoReveal,
728
- graffiti,
729
- slot,
730
- parentSlot,
731
- parentBlockRoot,
732
- }: BlockAttributes & {
733
- parentSlot: Slot;
734
- }
735
- ): Promise<CommonBlockBody> {
736
- const stepsMetrics =
737
- blockType === BlockType.Full
738
- ? this.metrics?.executionBlockProductionTimeSteps
739
- : this.metrics?.builderBlockProductionTimeSteps;
740
-
741
- const fork = currentState.config.getForkName(slot);
742
-
743
- // TODO:
744
- // Iterate through the naive aggregation pool and ensure all the attestations from there
745
- // are included in the operation pool.
746
- // for (const attestation of db.attestationPool.getAll()) {
747
- // try {
748
- // opPool.insertAttestation(attestation);
749
- // } catch (e) {
750
- // // Don't stop block production if there's an error, just create a log.
751
- // logger.error("Attestation did not transfer to op pool", {}, e);
752
- // }
753
- // }
754
- const [attesterSlashings, proposerSlashings, voluntaryExits, blsToExecutionChanges] =
755
- this.opPool.getSlashingsAndExits(currentState, blockType, this.metrics);
756
-
757
- const endAttestations = stepsMetrics?.startTimer();
758
- const attestations = this.aggregatedAttestationPool.getAttestationsForBlock(fork, this.forkChoice, currentState);
759
- endAttestations?.({
760
- step: BlockProductionStep.attestations,
761
- });
762
-
763
- const endEth1DataAndDeposits = stepsMetrics?.startTimer();
764
- const {eth1Data, deposits} = await this.eth1.getEth1DataAndDeposits(currentState);
765
- endEth1DataAndDeposits?.({
766
- step: BlockProductionStep.eth1DataAndDeposits,
767
- });
768
-
769
- const blockBody: Omit<CommonBlockBody, "blsToExecutionChanges" | "syncAggregate"> = {
770
- randaoReveal,
771
- graffiti,
772
- eth1Data,
773
- proposerSlashings,
774
- attesterSlashings,
775
- attestations,
776
- deposits,
777
- voluntaryExits,
778
- };
779
-
780
- if (ForkSeq[fork] >= ForkSeq.capella) {
781
- (blockBody as CommonBlockBody).blsToExecutionChanges = blsToExecutionChanges;
782
- }
783
-
784
- const endSyncAggregate = stepsMetrics?.startTimer();
785
- if (ForkSeq[fork] >= ForkSeq.altair) {
786
- const syncAggregate = this.syncContributionAndProofPool.getAggregate(parentSlot, parentBlockRoot);
787
- this.metrics?.production.producedSyncAggregateParticipants.observe(
788
- syncAggregate.syncCommitteeBits.getTrueBitIndexes().length
789
- );
790
- (blockBody as CommonBlockBody).syncAggregate = syncAggregate;
791
- }
792
- endSyncAggregate?.({
793
- step: BlockProductionStep.syncAggregate,
794
- });
795
-
796
- return blockBody as CommonBlockBody;
797
- }