@lodestar/beacon-node 1.35.0-dev.ba92bd8a88 → 1.35.0-dev.c0078a16b5

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 (902) 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/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
  5. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  6. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  7. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  8. package/lib/chain/bls/multithread/index.js +0 -1
  9. package/lib/chain/bls/multithread/index.js.map +1 -1
  10. package/lib/chain/emitter.d.ts +2 -2
  11. package/lib/db/buckets.d.ts +4 -4
  12. package/lib/db/buckets.js +4 -4
  13. package/lib/db/buckets.js.map +1 -1
  14. package/lib/db/repositories/blobSidecars.js +1 -1
  15. package/lib/db/repositories/blobSidecars.js.map +1 -1
  16. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  17. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  18. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  19. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  20. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  21. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  22. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  23. package/lib/network/core/networkCoreWorkerHandler.js +3 -9
  24. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  25. package/lib/network/discv5/index.js +1 -4
  26. package/lib/network/discv5/index.js.map +1 -1
  27. package/lib/network/gossip/gossipsub.d.ts +0 -1
  28. package/lib/network/gossip/gossipsub.js +16 -35
  29. package/lib/network/gossip/gossipsub.js.map +1 -1
  30. package/lib/network/gossip/metrics.d.ts +7 -15
  31. package/lib/network/gossip/metrics.js +6 -16
  32. package/lib/network/gossip/metrics.js.map +1 -1
  33. package/lib/network/libp2p/index.js +1 -9
  34. package/lib/network/libp2p/index.js.map +1 -1
  35. package/lib/network/metadata.js +1 -2
  36. package/lib/network/metadata.js.map +1 -1
  37. package/lib/network/network.js +4 -2
  38. package/lib/network/network.js.map +1 -1
  39. package/lib/network/peers/datastore.d.ts +2 -2
  40. package/lib/network/peers/datastore.js +2 -2
  41. package/lib/network/peers/datastore.js.map +1 -1
  42. package/lib/network/processor/index.d.ts +1 -1
  43. package/lib/network/processor/index.js +3 -2
  44. package/lib/network/processor/index.js.map +1 -1
  45. package/lib/sync/types.d.ts +1 -0
  46. package/lib/sync/types.js.map +1 -1
  47. package/lib/sync/unknownBlock.js +14 -12
  48. package/lib/sync/unknownBlock.js.map +1 -1
  49. package/lib/sync/utils/downloadByRoot.d.ts +1 -3
  50. package/lib/sync/utils/downloadByRoot.js +5 -32
  51. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  52. package/lib/util/blobs.js +3 -5
  53. package/lib/util/blobs.js.map +1 -1
  54. package/lib/util/execution.js +2 -19
  55. package/lib/util/execution.js.map +1 -1
  56. package/package.json +22 -32
  57. package/lib/api/impl/api.d.ts.map +0 -1
  58. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  59. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  60. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  61. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  62. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  63. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  64. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  65. package/lib/api/impl/config/constants.d.ts.map +0 -1
  66. package/lib/api/impl/config/index.d.ts.map +0 -1
  67. package/lib/api/impl/debug/index.d.ts.map +0 -1
  68. package/lib/api/impl/errors.d.ts.map +0 -1
  69. package/lib/api/impl/events/index.d.ts.map +0 -1
  70. package/lib/api/impl/index.d.ts.map +0 -1
  71. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  72. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  73. package/lib/api/impl/node/index.d.ts.map +0 -1
  74. package/lib/api/impl/node/utils.d.ts.map +0 -1
  75. package/lib/api/impl/proof/index.d.ts.map +0 -1
  76. package/lib/api/impl/types.d.ts.map +0 -1
  77. package/lib/api/impl/utils.d.ts.map +0 -1
  78. package/lib/api/impl/validator/index.d.ts.map +0 -1
  79. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  80. package/lib/api/index.d.ts.map +0 -1
  81. package/lib/api/options.d.ts.map +0 -1
  82. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  83. package/lib/api/rest/base.d.ts.map +0 -1
  84. package/lib/api/rest/index.d.ts.map +0 -1
  85. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  86. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  87. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  88. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  89. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  90. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  91. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  92. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  93. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  94. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  95. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  96. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  97. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  98. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  99. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  100. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  101. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  102. package/lib/chain/balancesCache.d.ts.map +0 -1
  103. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  104. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  105. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  106. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  107. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  108. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  109. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  110. package/lib/chain/blocks/index.d.ts.map +0 -1
  111. package/lib/chain/blocks/types.d.ts.map +0 -1
  112. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  113. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  114. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  115. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  116. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  117. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  118. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  119. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  120. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  121. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  122. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  123. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  124. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  125. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  126. package/lib/chain/bls/index.d.ts.map +0 -1
  127. package/lib/chain/bls/interface.d.ts.map +0 -1
  128. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  129. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  130. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  131. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  132. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  133. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  134. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  135. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  136. package/lib/chain/bls/utils.d.ts.map +0 -1
  137. package/lib/chain/chain.d.ts.map +0 -1
  138. package/lib/chain/emitter.d.ts.map +0 -1
  139. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  140. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  141. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  142. package/lib/chain/errors/blockError.d.ts.map +0 -1
  143. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  144. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  145. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  146. package/lib/chain/errors/index.d.ts.map +0 -1
  147. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  148. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  149. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  150. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  151. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  152. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  153. package/lib/chain/genesis/interface.d.ts.map +0 -1
  154. package/lib/chain/index.d.ts.map +0 -1
  155. package/lib/chain/initState.d.ts.map +0 -1
  156. package/lib/chain/interface.d.ts.map +0 -1
  157. package/lib/chain/lightClient/index.d.ts.map +0 -1
  158. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  159. package/lib/chain/lightClient/types.d.ts.map +0 -1
  160. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  161. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  162. package/lib/chain/opPools/index.d.ts.map +0 -1
  163. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  164. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  165. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  166. package/lib/chain/opPools/types.d.ts.map +0 -1
  167. package/lib/chain/opPools/utils.d.ts.map +0 -1
  168. package/lib/chain/options.d.ts.map +0 -1
  169. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  170. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  171. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  172. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  173. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  174. package/lib/chain/regen/errors.d.ts.map +0 -1
  175. package/lib/chain/regen/index.d.ts.map +0 -1
  176. package/lib/chain/regen/interface.d.ts.map +0 -1
  177. package/lib/chain/regen/queued.d.ts.map +0 -1
  178. package/lib/chain/regen/regen.d.ts.map +0 -1
  179. package/lib/chain/reprocess.d.ts.map +0 -1
  180. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  181. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  182. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  183. package/lib/chain/seenCache/index.d.ts.map +0 -1
  184. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  185. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  186. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  187. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  188. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  189. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  190. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  191. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  192. package/lib/chain/serializeState.d.ts.map +0 -1
  193. package/lib/chain/shufflingCache.d.ts.map +0 -1
  194. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  195. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  196. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  197. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  198. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  199. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  200. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  201. package/lib/chain/stateCache/index.d.ts.map +0 -1
  202. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  203. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  204. package/lib/chain/stateCache/types.d.ts.map +0 -1
  205. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  206. package/lib/chain/validation/attestation.d.ts.map +0 -1
  207. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  208. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  209. package/lib/chain/validation/block.d.ts.map +0 -1
  210. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  211. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  212. package/lib/chain/validation/index.d.ts.map +0 -1
  213. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  214. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  215. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  216. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  217. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  218. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  219. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  220. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  221. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  222. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  223. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  224. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  225. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  226. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  227. package/lib/constants/constants.d.ts.map +0 -1
  228. package/lib/constants/index.d.ts.map +0 -1
  229. package/lib/constants/network.d.ts.map +0 -1
  230. package/lib/db/beacon.d.ts.map +0 -1
  231. package/lib/db/buckets.d.ts.map +0 -1
  232. package/lib/db/index.d.ts.map +0 -1
  233. package/lib/db/interface.d.ts.map +0 -1
  234. package/lib/db/options.d.ts.map +0 -1
  235. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  236. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  237. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  238. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  239. package/lib/db/repositories/block.d.ts.map +0 -1
  240. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  241. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  242. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  243. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  244. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  245. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  246. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  247. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  248. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  249. package/lib/db/repositories/index.d.ts.map +0 -1
  250. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  251. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  252. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  253. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  254. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  255. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  256. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  257. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  258. package/lib/db/single/index.d.ts.map +0 -1
  259. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  260. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  261. package/lib/eth1/errors.d.ts.map +0 -1
  262. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  263. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  264. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  265. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  266. package/lib/eth1/index.d.ts.map +0 -1
  267. package/lib/eth1/interface.d.ts.map +0 -1
  268. package/lib/eth1/options.d.ts.map +0 -1
  269. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  270. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  271. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  272. package/lib/eth1/provider/utils.d.ts.map +0 -1
  273. package/lib/eth1/stream.d.ts.map +0 -1
  274. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  275. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  276. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  277. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  278. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  279. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  280. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  281. package/lib/execution/builder/cache.d.ts.map +0 -1
  282. package/lib/execution/builder/http.d.ts.map +0 -1
  283. package/lib/execution/builder/index.d.ts.map +0 -1
  284. package/lib/execution/builder/interface.d.ts.map +0 -1
  285. package/lib/execution/builder/utils.d.ts.map +0 -1
  286. package/lib/execution/engine/disabled.d.ts.map +0 -1
  287. package/lib/execution/engine/http.d.ts.map +0 -1
  288. package/lib/execution/engine/index.d.ts.map +0 -1
  289. package/lib/execution/engine/interface.d.ts.map +0 -1
  290. package/lib/execution/engine/mock.d.ts.map +0 -1
  291. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  292. package/lib/execution/engine/types.d.ts.map +0 -1
  293. package/lib/execution/engine/utils.d.ts.map +0 -1
  294. package/lib/execution/index.d.ts.map +0 -1
  295. package/lib/index.d.ts.map +0 -1
  296. package/lib/metrics/index.d.ts.map +0 -1
  297. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  298. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  299. package/lib/metrics/metrics.d.ts.map +0 -1
  300. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  301. package/lib/metrics/options.d.ts.map +0 -1
  302. package/lib/metrics/server/http.d.ts.map +0 -1
  303. package/lib/metrics/server/index.d.ts.map +0 -1
  304. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  305. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  306. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  307. package/lib/monitoring/clientStats.d.ts.map +0 -1
  308. package/lib/monitoring/index.d.ts.map +0 -1
  309. package/lib/monitoring/options.d.ts.map +0 -1
  310. package/lib/monitoring/properties.d.ts.map +0 -1
  311. package/lib/monitoring/service.d.ts.map +0 -1
  312. package/lib/monitoring/system.d.ts.map +0 -1
  313. package/lib/monitoring/types.d.ts.map +0 -1
  314. package/lib/network/core/events.d.ts.map +0 -1
  315. package/lib/network/core/index.d.ts.map +0 -1
  316. package/lib/network/core/metrics.d.ts.map +0 -1
  317. package/lib/network/core/networkCore.d.ts.map +0 -1
  318. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  319. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  320. package/lib/network/core/types.d.ts.map +0 -1
  321. package/lib/network/discv5/index.d.ts.map +0 -1
  322. package/lib/network/discv5/types.d.ts.map +0 -1
  323. package/lib/network/discv5/utils.d.ts.map +0 -1
  324. package/lib/network/discv5/worker.d.ts.map +0 -1
  325. package/lib/network/events.d.ts.map +0 -1
  326. package/lib/network/forks.d.ts.map +0 -1
  327. package/lib/network/gossip/constants.d.ts.map +0 -1
  328. package/lib/network/gossip/encoding.d.ts.map +0 -1
  329. package/lib/network/gossip/errors.d.ts.map +0 -1
  330. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  331. package/lib/network/gossip/index.d.ts.map +0 -1
  332. package/lib/network/gossip/interface.d.ts.map +0 -1
  333. package/lib/network/gossip/metrics.d.ts.map +0 -1
  334. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  335. package/lib/network/gossip/topic.d.ts.map +0 -1
  336. package/lib/network/index.d.ts.map +0 -1
  337. package/lib/network/interface.d.ts.map +0 -1
  338. package/lib/network/libp2p/error.d.ts.map +0 -1
  339. package/lib/network/libp2p/index.d.ts.map +0 -1
  340. package/lib/network/metadata.d.ts.map +0 -1
  341. package/lib/network/network.d.ts.map +0 -1
  342. package/lib/network/networkConfig.d.ts.map +0 -1
  343. package/lib/network/options.d.ts.map +0 -1
  344. package/lib/network/peers/client.d.ts.map +0 -1
  345. package/lib/network/peers/datastore.d.ts.map +0 -1
  346. package/lib/network/peers/discover.d.ts.map +0 -1
  347. package/lib/network/peers/index.d.ts.map +0 -1
  348. package/lib/network/peers/peerManager.d.ts.map +0 -1
  349. package/lib/network/peers/peersData.d.ts.map +0 -1
  350. package/lib/network/peers/score/constants.d.ts.map +0 -1
  351. package/lib/network/peers/score/index.d.ts.map +0 -1
  352. package/lib/network/peers/score/interface.d.ts.map +0 -1
  353. package/lib/network/peers/score/score.d.ts.map +0 -1
  354. package/lib/network/peers/score/store.d.ts.map +0 -1
  355. package/lib/network/peers/score/utils.d.ts.map +0 -1
  356. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  357. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  358. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  359. package/lib/network/peers/utils/index.d.ts.map +0 -1
  360. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  361. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  362. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  363. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  364. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  365. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  366. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  367. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  368. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  369. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  370. package/lib/network/processor/index.d.ts.map +0 -1
  371. package/lib/network/processor/types.d.ts.map +0 -1
  372. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  373. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  374. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  375. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  376. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  377. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  378. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  379. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  380. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  381. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  382. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  383. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  384. package/lib/network/reqresp/index.d.ts.map +0 -1
  385. package/lib/network/reqresp/interface.d.ts.map +0 -1
  386. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  387. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  388. package/lib/network/reqresp/score.d.ts.map +0 -1
  389. package/lib/network/reqresp/types.d.ts.map +0 -1
  390. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  391. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  392. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  393. package/lib/network/statusCache.d.ts.map +0 -1
  394. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  395. package/lib/network/subnets/index.d.ts.map +0 -1
  396. package/lib/network/subnets/interface.d.ts.map +0 -1
  397. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  398. package/lib/network/subnets/util.d.ts.map +0 -1
  399. package/lib/network/util.d.ts.map +0 -1
  400. package/lib/node/index.d.ts.map +0 -1
  401. package/lib/node/nodejs.d.ts.map +0 -1
  402. package/lib/node/notifier.d.ts.map +0 -1
  403. package/lib/node/options.d.ts.map +0 -1
  404. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  405. package/lib/node/utils/interop/state.d.ts.map +0 -1
  406. package/lib/node/utils/lightclient.d.ts.map +0 -1
  407. package/lib/node/utils/state.d.ts.map +0 -1
  408. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  409. package/lib/sync/backfill/errors.d.ts.map +0 -1
  410. package/lib/sync/backfill/index.d.ts.map +0 -1
  411. package/lib/sync/backfill/verify.d.ts.map +0 -1
  412. package/lib/sync/constants.d.ts.map +0 -1
  413. package/lib/sync/index.d.ts.map +0 -1
  414. package/lib/sync/interface.d.ts.map +0 -1
  415. package/lib/sync/options.d.ts.map +0 -1
  416. package/lib/sync/range/batch.d.ts.map +0 -1
  417. package/lib/sync/range/chain.d.ts.map +0 -1
  418. package/lib/sync/range/range.d.ts.map +0 -1
  419. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  420. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  421. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  422. package/lib/sync/range/utils/index.d.ts.map +0 -1
  423. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  424. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  425. package/lib/sync/sync.d.ts.map +0 -1
  426. package/lib/sync/types.d.ts.map +0 -1
  427. package/lib/sync/unknownBlock.d.ts.map +0 -1
  428. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  429. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  430. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  431. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  432. package/lib/util/address.d.ts.map +0 -1
  433. package/lib/util/array.d.ts.map +0 -1
  434. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  435. package/lib/util/binarySearch.d.ts.map +0 -1
  436. package/lib/util/bitArray.d.ts.map +0 -1
  437. package/lib/util/blobs.d.ts.map +0 -1
  438. package/lib/util/bufferPool.d.ts.map +0 -1
  439. package/lib/util/bytes.d.ts.map +0 -1
  440. package/lib/util/chunkify.d.ts.map +0 -1
  441. package/lib/util/clock.d.ts.map +0 -1
  442. package/lib/util/dataColumns.d.ts.map +0 -1
  443. package/lib/util/dependentRoot.d.ts.map +0 -1
  444. package/lib/util/enum.d.ts.map +0 -1
  445. package/lib/util/error.d.ts.map +0 -1
  446. package/lib/util/eventLoop.d.ts.map +0 -1
  447. package/lib/util/execution.d.ts.map +0 -1
  448. package/lib/util/file.d.ts.map +0 -1
  449. package/lib/util/forkChoice.d.ts.map +0 -1
  450. package/lib/util/forkName.d.ts.map +0 -1
  451. package/lib/util/graffiti.d.ts.map +0 -1
  452. package/lib/util/hex.d.ts.map +0 -1
  453. package/lib/util/index.d.ts.map +0 -1
  454. package/lib/util/ip.d.ts.map +0 -1
  455. package/lib/util/itTrigger.d.ts.map +0 -1
  456. package/lib/util/kzg.d.ts.map +0 -1
  457. package/lib/util/map.d.ts.map +0 -1
  458. package/lib/util/metadata.d.ts.map +0 -1
  459. package/lib/util/multifork.d.ts.map +0 -1
  460. package/lib/util/numpy.d.ts.map +0 -1
  461. package/lib/util/peerId.d.ts.map +0 -1
  462. package/lib/util/profile.d.ts.map +0 -1
  463. package/lib/util/promises.d.ts.map +0 -1
  464. package/lib/util/queue/errors.d.ts.map +0 -1
  465. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  466. package/lib/util/queue/index.d.ts.map +0 -1
  467. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  468. package/lib/util/queue/options.d.ts.map +0 -1
  469. package/lib/util/serializedCache.d.ts.map +0 -1
  470. package/lib/util/set.d.ts.map +0 -1
  471. package/lib/util/shuffle.d.ts.map +0 -1
  472. package/lib/util/sortBy.d.ts.map +0 -1
  473. package/lib/util/sszBytes.d.ts.map +0 -1
  474. package/lib/util/strictEvents.d.ts.map +0 -1
  475. package/lib/util/time.d.ts.map +0 -1
  476. package/lib/util/timeSeries.d.ts.map +0 -1
  477. package/lib/util/types.d.ts.map +0 -1
  478. package/lib/util/workerEvents.d.ts.map +0 -1
  479. package/lib/util/wrapError.d.ts.map +0 -1
  480. package/src/api/impl/api.ts +0 -26
  481. package/src/api/impl/beacon/blocks/index.ts +0 -744
  482. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  483. package/src/api/impl/beacon/index.ts +0 -35
  484. package/src/api/impl/beacon/pool/index.ts +0 -314
  485. package/src/api/impl/beacon/rewards/index.ts +0 -30
  486. package/src/api/impl/beacon/state/index.ts +0 -406
  487. package/src/api/impl/beacon/state/utils.ts +0 -189
  488. package/src/api/impl/config/constants.ts +0 -127
  489. package/src/api/impl/config/index.ts +0 -59
  490. package/src/api/impl/debug/index.ts +0 -131
  491. package/src/api/impl/errors.ts +0 -50
  492. package/src/api/impl/events/index.ts +0 -33
  493. package/src/api/impl/index.ts +0 -6
  494. package/src/api/impl/lightclient/index.ts +0 -64
  495. package/src/api/impl/lodestar/index.ts +0 -257
  496. package/src/api/impl/node/index.ts +0 -88
  497. package/src/api/impl/node/utils.ts +0 -51
  498. package/src/api/impl/proof/index.ts +0 -60
  499. package/src/api/impl/types.ts +0 -17
  500. package/src/api/impl/utils.ts +0 -25
  501. package/src/api/impl/validator/index.ts +0 -1538
  502. package/src/api/impl/validator/utils.ts +0 -85
  503. package/src/api/index.ts +0 -2
  504. package/src/api/options.ts +0 -16
  505. package/src/api/rest/activeSockets.ts +0 -109
  506. package/src/api/rest/base.ts +0 -216
  507. package/src/api/rest/index.ts +0 -63
  508. package/src/api/rest/swaggerUI.ts +0 -80
  509. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  510. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  511. package/src/chain/GetBlobsTracker.ts +0 -115
  512. package/src/chain/archiveStore/archiveStore.ts +0 -222
  513. package/src/chain/archiveStore/constants.ts +0 -5
  514. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  515. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  516. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  517. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  518. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  519. package/src/chain/archiveStore/index.ts +0 -3
  520. package/src/chain/archiveStore/interface.ts +0 -75
  521. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  522. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  523. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  524. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  525. package/src/chain/balancesCache.ts +0 -52
  526. package/src/chain/beaconProposerCache.ts +0 -43
  527. package/src/chain/blocks/blockInput/blockInput.ts +0 -851
  528. package/src/chain/blocks/blockInput/errors.ts +0 -48
  529. package/src/chain/blocks/blockInput/index.ts +0 -4
  530. package/src/chain/blocks/blockInput/types.ts +0 -145
  531. package/src/chain/blocks/blockInput/utils.ts +0 -21
  532. package/src/chain/blocks/importBlock.ts +0 -603
  533. package/src/chain/blocks/index.ts +0 -179
  534. package/src/chain/blocks/types.ts +0 -101
  535. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  536. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  537. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  538. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  539. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  540. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  541. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  542. package/src/chain/blocks/verifyBlock.ts +0 -242
  543. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -34
  544. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  545. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  546. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  547. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  548. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  549. package/src/chain/bls/index.ts +0 -4
  550. package/src/chain/bls/interface.ts +0 -68
  551. package/src/chain/bls/maybeBatch.ts +0 -45
  552. package/src/chain/bls/multithread/index.ts +0 -582
  553. package/src/chain/bls/multithread/jobItem.ts +0 -119
  554. package/src/chain/bls/multithread/poolSize.ts +0 -16
  555. package/src/chain/bls/multithread/types.ts +0 -38
  556. package/src/chain/bls/multithread/utils.ts +0 -19
  557. package/src/chain/bls/multithread/worker.ts +0 -114
  558. package/src/chain/bls/singleThread.ts +0 -87
  559. package/src/chain/bls/utils.ts +0 -30
  560. package/src/chain/chain.ts +0 -1365
  561. package/src/chain/emitter.ts +0 -113
  562. package/src/chain/errors/attestationError.ts +0 -194
  563. package/src/chain/errors/attesterSlashingError.ts +0 -11
  564. package/src/chain/errors/blobSidecarError.ts +0 -60
  565. package/src/chain/errors/blockError.ts +0 -166
  566. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  567. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  568. package/src/chain/errors/gossipValidation.ts +0 -20
  569. package/src/chain/errors/index.ts +0 -10
  570. package/src/chain/errors/lightClientError.ts +0 -30
  571. package/src/chain/errors/proposerSlashingError.ts +0 -11
  572. package/src/chain/errors/syncCommitteeError.ts +0 -36
  573. package/src/chain/errors/voluntaryExitError.ts +0 -13
  574. package/src/chain/forkChoice/index.ts +0 -112
  575. package/src/chain/genesis/genesis.ts +0 -190
  576. package/src/chain/genesis/interface.ts +0 -14
  577. package/src/chain/index.ts +0 -6
  578. package/src/chain/initState.ts +0 -221
  579. package/src/chain/interface.ts +0 -280
  580. package/src/chain/lightClient/index.ts +0 -764
  581. package/src/chain/lightClient/proofs.ts +0 -85
  582. package/src/chain/lightClient/types.ts +0 -33
  583. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  584. package/src/chain/opPools/attestationPool.ts +0 -283
  585. package/src/chain/opPools/index.ts +0 -5
  586. package/src/chain/opPools/opPool.ts +0 -462
  587. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -167
  588. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  589. package/src/chain/opPools/types.ts +0 -35
  590. package/src/chain/opPools/utils.ts +0 -65
  591. package/src/chain/options.ts +0 -138
  592. package/src/chain/prepareNextSlot.ts +0 -277
  593. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  594. package/src/chain/produceBlock/index.ts +0 -2
  595. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  596. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  597. package/src/chain/regen/errors.ts +0 -30
  598. package/src/chain/regen/index.ts +0 -4
  599. package/src/chain/regen/interface.ts +0 -93
  600. package/src/chain/regen/queued.ts +0 -317
  601. package/src/chain/regen/regen.ts +0 -424
  602. package/src/chain/reprocess.ts +0 -161
  603. package/src/chain/rewards/attestationsRewards.ts +0 -196
  604. package/src/chain/rewards/blockRewards.ts +0 -150
  605. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  606. package/src/chain/seenCache/index.ts +0 -5
  607. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  608. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  609. package/src/chain/seenCache/seenAttesters.ts +0 -58
  610. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  611. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  612. package/src/chain/seenCache/seenCommittee.ts +0 -43
  613. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  614. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  615. package/src/chain/serializeState.ts +0 -32
  616. package/src/chain/shufflingCache.ts +0 -238
  617. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  618. package/src/chain/stateCache/datastore/db.ts +0 -36
  619. package/src/chain/stateCache/datastore/file.ts +0 -53
  620. package/src/chain/stateCache/datastore/index.ts +0 -2
  621. package/src/chain/stateCache/datastore/types.ts +0 -13
  622. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  623. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  624. package/src/chain/stateCache/index.ts +0 -3
  625. package/src/chain/stateCache/mapMetrics.ts +0 -52
  626. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -835
  627. package/src/chain/stateCache/types.ts +0 -86
  628. package/src/chain/validation/aggregateAndProof.ts +0 -258
  629. package/src/chain/validation/attestation.ts +0 -885
  630. package/src/chain/validation/attesterSlashing.ts +0 -61
  631. package/src/chain/validation/blobSidecar.ts +0 -301
  632. package/src/chain/validation/block.ts +0 -188
  633. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  634. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  635. package/src/chain/validation/index.ts +0 -9
  636. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -45
  637. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -67
  638. package/src/chain/validation/proposerSlashing.ts +0 -54
  639. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  640. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  641. package/src/chain/validation/signatureSets/index.ts +0 -6
  642. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  643. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  644. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  645. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  646. package/src/chain/validation/syncCommittee.ts +0 -165
  647. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  648. package/src/chain/validation/voluntaryExit.ts +0 -58
  649. package/src/chain/validatorMonitor.ts +0 -1299
  650. package/src/constants/constants.ts +0 -15
  651. package/src/constants/index.ts +0 -2
  652. package/src/constants/network.ts +0 -52
  653. package/src/db/beacon.ts +0 -113
  654. package/src/db/buckets.ts +0 -80
  655. package/src/db/index.ts +0 -2
  656. package/src/db/interface.ts +0 -76
  657. package/src/db/options.ts +0 -7
  658. package/src/db/repositories/attesterSlashing.ts +0 -38
  659. package/src/db/repositories/backfilledRanges.ts +0 -29
  660. package/src/db/repositories/blobSidecars.ts +0 -37
  661. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  662. package/src/db/repositories/block.ts +0 -33
  663. package/src/db/repositories/blockArchive.ts +0 -170
  664. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  665. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  666. package/src/db/repositories/checkpointState.ts +0 -31
  667. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  668. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  669. package/src/db/repositories/depositDataRoot.ts +0 -80
  670. package/src/db/repositories/depositEvent.ts +0 -32
  671. package/src/db/repositories/eth1Data.ts +0 -33
  672. package/src/db/repositories/index.ts +0 -20
  673. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  674. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  675. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  676. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  677. package/src/db/repositories/proposerSlashing.ts +0 -15
  678. package/src/db/repositories/stateArchive.ts +0 -69
  679. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  680. package/src/db/repositories/voluntaryExit.ts +0 -15
  681. package/src/db/single/index.ts +0 -2
  682. package/src/db/single/preGenesisState.ts +0 -37
  683. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  684. package/src/eth1/errors.ts +0 -40
  685. package/src/eth1/eth1DataCache.ts +0 -26
  686. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  687. package/src/eth1/eth1DepositsCache.ts +0 -141
  688. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  689. package/src/eth1/index.ts +0 -157
  690. package/src/eth1/interface.ts +0 -131
  691. package/src/eth1/options.ts +0 -28
  692. package/src/eth1/provider/eth1Provider.ts +0 -229
  693. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  694. package/src/eth1/provider/jwt.ts +0 -36
  695. package/src/eth1/provider/utils.ts +0 -136
  696. package/src/eth1/stream.ts +0 -75
  697. package/src/eth1/utils/depositContract.ts +0 -37
  698. package/src/eth1/utils/deposits.ts +0 -70
  699. package/src/eth1/utils/eth1Data.ts +0 -100
  700. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  701. package/src/eth1/utils/eth1Vote.ts +0 -142
  702. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  703. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  704. package/src/execution/builder/cache.ts +0 -39
  705. package/src/execution/builder/http.ts +0 -229
  706. package/src/execution/builder/index.ts +0 -27
  707. package/src/execution/builder/interface.ts +0 -49
  708. package/src/execution/builder/utils.ts +0 -19
  709. package/src/execution/engine/disabled.ts +0 -35
  710. package/src/execution/engine/http.ts +0 -644
  711. package/src/execution/engine/index.ts +0 -63
  712. package/src/execution/engine/interface.ts +0 -199
  713. package/src/execution/engine/mock.ts +0 -493
  714. package/src/execution/engine/payloadIdCache.ts +0 -54
  715. package/src/execution/engine/types.ts +0 -640
  716. package/src/execution/engine/utils.ts +0 -136
  717. package/src/execution/index.ts +0 -4
  718. package/src/index.ts +0 -20
  719. package/src/metrics/index.ts +0 -4
  720. package/src/metrics/metrics/beacon.ts +0 -390
  721. package/src/metrics/metrics/lodestar.ts +0 -1870
  722. package/src/metrics/metrics.ts +0 -43
  723. package/src/metrics/nodeJsMetrics.ts +0 -19
  724. package/src/metrics/options.ts +0 -22
  725. package/src/metrics/server/http.ts +0 -114
  726. package/src/metrics/server/index.ts +0 -1
  727. package/src/metrics/utils/avgMinMax.ts +0 -87
  728. package/src/metrics/utils/gauge.ts +0 -22
  729. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  730. package/src/monitoring/clientStats.ts +0 -297
  731. package/src/monitoring/index.ts +0 -2
  732. package/src/monitoring/options.ts +0 -19
  733. package/src/monitoring/properties.ts +0 -152
  734. package/src/monitoring/service.ts +0 -235
  735. package/src/monitoring/system.ts +0 -146
  736. package/src/monitoring/types.ts +0 -21
  737. package/src/network/core/events.ts +0 -59
  738. package/src/network/core/index.ts +0 -3
  739. package/src/network/core/metrics.ts +0 -304
  740. package/src/network/core/networkCore.ts +0 -599
  741. package/src/network/core/networkCoreWorker.ts +0 -176
  742. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  743. package/src/network/core/types.ts +0 -119
  744. package/src/network/discv5/index.ts +0 -132
  745. package/src/network/discv5/types.ts +0 -74
  746. package/src/network/discv5/utils.ts +0 -50
  747. package/src/network/discv5/worker.ts +0 -137
  748. package/src/network/events.ts +0 -51
  749. package/src/network/forks.ts +0 -94
  750. package/src/network/gossip/constants.ts +0 -15
  751. package/src/network/gossip/encoding.ts +0 -111
  752. package/src/network/gossip/errors.ts +0 -7
  753. package/src/network/gossip/gossipsub.ts +0 -384
  754. package/src/network/gossip/index.ts +0 -4
  755. package/src/network/gossip/interface.ts +0 -215
  756. package/src/network/gossip/metrics.ts +0 -71
  757. package/src/network/gossip/scoringParameters.ts +0 -333
  758. package/src/network/gossip/topic.ts +0 -332
  759. package/src/network/index.ts +0 -8
  760. package/src/network/interface.ts +0 -134
  761. package/src/network/libp2p/error.ts +0 -55
  762. package/src/network/libp2p/index.ts +0 -153
  763. package/src/network/metadata.ts +0 -162
  764. package/src/network/network.ts +0 -767
  765. package/src/network/networkConfig.ts +0 -12
  766. package/src/network/options.ts +0 -70
  767. package/src/network/peers/client.ts +0 -29
  768. package/src/network/peers/datastore.ts +0 -188
  769. package/src/network/peers/discover.ts +0 -647
  770. package/src/network/peers/index.ts +0 -2
  771. package/src/network/peers/peerManager.ts +0 -899
  772. package/src/network/peers/peersData.ts +0 -65
  773. package/src/network/peers/score/constants.ts +0 -34
  774. package/src/network/peers/score/index.ts +0 -4
  775. package/src/network/peers/score/interface.ts +0 -74
  776. package/src/network/peers/score/score.ts +0 -200
  777. package/src/network/peers/score/store.ts +0 -95
  778. package/src/network/peers/score/utils.ts +0 -37
  779. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  780. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  781. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  782. package/src/network/peers/utils/index.ts +0 -4
  783. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  784. package/src/network/peers/utils/subnetMap.ts +0 -88
  785. package/src/network/processor/aggregatorTracker.ts +0 -38
  786. package/src/network/processor/extractSlotRootFns.ts +0 -64
  787. package/src/network/processor/gossipHandlers.ts +0 -951
  788. package/src/network/processor/gossipQueues/index.ts +0 -114
  789. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  790. package/src/network/processor/gossipQueues/linear.ts +0 -162
  791. package/src/network/processor/gossipQueues/types.ts +0 -57
  792. package/src/network/processor/gossipValidatorFn.ts +0 -142
  793. package/src/network/processor/index.ts +0 -496
  794. package/src/network/processor/types.ts +0 -27
  795. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  796. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  797. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  798. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  799. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  800. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  801. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  802. package/src/network/reqresp/handlers/index.ts +0 -78
  803. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  804. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  805. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  806. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  807. package/src/network/reqresp/index.ts +0 -2
  808. package/src/network/reqresp/interface.ts +0 -45
  809. package/src/network/reqresp/protocols.ts +0 -146
  810. package/src/network/reqresp/rateLimit.ts +0 -112
  811. package/src/network/reqresp/score.ts +0 -70
  812. package/src/network/reqresp/types.ts +0 -174
  813. package/src/network/reqresp/utils/collect.ts +0 -84
  814. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  815. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  816. package/src/network/statusCache.ts +0 -17
  817. package/src/network/subnets/attnetsService.ts +0 -385
  818. package/src/network/subnets/index.ts +0 -2
  819. package/src/network/subnets/interface.ts +0 -66
  820. package/src/network/subnets/syncnetsService.ts +0 -147
  821. package/src/network/subnets/util.ts +0 -63
  822. package/src/network/util.ts +0 -29
  823. package/src/node/index.ts +0 -2
  824. package/src/node/nodejs.ts +0 -349
  825. package/src/node/notifier.ts +0 -206
  826. package/src/node/options.ts +0 -51
  827. package/src/node/utils/interop/deposits.ts +0 -53
  828. package/src/node/utils/interop/state.ts +0 -59
  829. package/src/node/utils/lightclient.ts +0 -7
  830. package/src/node/utils/state.ts +0 -37
  831. package/src/sync/backfill/backfill.ts +0 -893
  832. package/src/sync/backfill/errors.ts +0 -23
  833. package/src/sync/backfill/index.ts +0 -1
  834. package/src/sync/backfill/verify.ts +0 -58
  835. package/src/sync/constants.ts +0 -71
  836. package/src/sync/index.ts +0 -2
  837. package/src/sync/interface.ts +0 -55
  838. package/src/sync/options.ts +0 -45
  839. package/src/sync/range/batch.ts +0 -455
  840. package/src/sync/range/chain.ts +0 -715
  841. package/src/sync/range/range.ts +0 -354
  842. package/src/sync/range/utils/batches.ts +0 -119
  843. package/src/sync/range/utils/chainTarget.ts +0 -62
  844. package/src/sync/range/utils/hashBlocks.ts +0 -27
  845. package/src/sync/range/utils/index.ts +0 -5
  846. package/src/sync/range/utils/peerBalancer.ts +0 -184
  847. package/src/sync/range/utils/updateChains.ts +0 -66
  848. package/src/sync/sync.ts +0 -290
  849. package/src/sync/types.ts +0 -57
  850. package/src/sync/unknownBlock.ts +0 -859
  851. package/src/sync/utils/downloadByRange.ts +0 -808
  852. package/src/sync/utils/downloadByRoot.ts +0 -560
  853. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  854. package/src/sync/utils/remoteSyncType.ts +0 -144
  855. package/src/util/address.ts +0 -3
  856. package/src/util/array.ts +0 -311
  857. package/src/util/asyncIterableToEvents.ts +0 -164
  858. package/src/util/binarySearch.ts +0 -48
  859. package/src/util/bitArray.ts +0 -84
  860. package/src/util/blobs.ts +0 -210
  861. package/src/util/bufferPool.ts +0 -95
  862. package/src/util/bytes.ts +0 -11
  863. package/src/util/chunkify.ts +0 -27
  864. package/src/util/clock.ts +0 -204
  865. package/src/util/dataColumns.ts +0 -415
  866. package/src/util/dependentRoot.ts +0 -47
  867. package/src/util/enum.ts +0 -17
  868. package/src/util/error.ts +0 -56
  869. package/src/util/eventLoop.ts +0 -22
  870. package/src/util/execution.ts +0 -223
  871. package/src/util/file.ts +0 -52
  872. package/src/util/forkChoice.ts +0 -5
  873. package/src/util/forkName.ts +0 -20
  874. package/src/util/graffiti.ts +0 -39
  875. package/src/util/hex.ts +0 -9
  876. package/src/util/index.ts +0 -2
  877. package/src/util/ip.ts +0 -6
  878. package/src/util/itTrigger.ts +0 -49
  879. package/src/util/kzg.ts +0 -3
  880. package/src/util/map.ts +0 -77
  881. package/src/util/metadata.ts +0 -22
  882. package/src/util/multifork.ts +0 -69
  883. package/src/util/numpy.ts +0 -8
  884. package/src/util/peerId.ts +0 -16
  885. package/src/util/profile.ts +0 -54
  886. package/src/util/promises.ts +0 -14
  887. package/src/util/queue/errors.ts +0 -14
  888. package/src/util/queue/fnQueue.ts +0 -16
  889. package/src/util/queue/index.ts +0 -4
  890. package/src/util/queue/itemQueue.ts +0 -128
  891. package/src/util/queue/options.ts +0 -37
  892. package/src/util/serializedCache.ts +0 -20
  893. package/src/util/set.ts +0 -62
  894. package/src/util/shuffle.ts +0 -21
  895. package/src/util/sortBy.ts +0 -19
  896. package/src/util/sszBytes.ts +0 -481
  897. package/src/util/strictEvents.ts +0 -8
  898. package/src/util/time.ts +0 -13
  899. package/src/util/timeSeries.ts +0 -118
  900. package/src/util/types.ts +0 -31
  901. package/src/util/workerEvents.ts +0 -142
  902. package/src/util/wrapError.ts +0 -27
@@ -1,493 +0,0 @@
1
- import crypto from "node:crypto";
2
- import {
3
- BLOB_TX_TYPE,
4
- BYTES_PER_FIELD_ELEMENT,
5
- FIELD_ELEMENTS_PER_BLOB,
6
- ForkName,
7
- ForkPostBellatrix,
8
- ForkPostCapella,
9
- ForkSeq,
10
- } from "@lodestar/params";
11
- import {ExecutionPayload, RootHex, bellatrix, deneb, ssz} from "@lodestar/types";
12
- import {fromHex, toHex, toRootHex} from "@lodestar/utils";
13
- import {ZERO_HASH_HEX} from "../../constants/index.js";
14
- import {quantityToNum} from "../../eth1/provider/utils.js";
15
- import {INTEROP_BLOCK_HASH} from "../../node/utils/interop/state.js";
16
- import {kzgCommitmentToVersionedHash} from "../../util/blobs.js";
17
- import {kzg} from "../../util/kzg.js";
18
- import {ClientCode, ExecutionPayloadStatus, PayloadIdCache} from "./interface.js";
19
- import {
20
- BlobsBundleRpc,
21
- EngineApiRpcParamTypes,
22
- EngineApiRpcReturnTypes,
23
- ExecutionPayloadBodyRpc,
24
- ExecutionPayloadRpc,
25
- ExecutionRequestsRpc,
26
- PayloadStatus,
27
- deserializePayloadAttributes,
28
- serializeBlobsBundle,
29
- serializeExecutionPayload,
30
- serializeExecutionRequests,
31
- } from "./types.js";
32
- import {JsonRpcBackend} from "./utils.js";
33
-
34
- const INTEROP_GAS_LIMIT = 30e6;
35
- const PRUNE_PAYLOAD_ID_AFTER_MS = 5000;
36
-
37
- export type ExecutionEngineMockOpts = {
38
- genesisBlockHash: string;
39
- eth1BlockHash?: string;
40
- onlyPredefinedResponses?: boolean;
41
- capellaForkTimestamp?: number;
42
- denebForkTimestamp?: number;
43
- electraForkTimestamp?: number;
44
- fuluForkTimestamp?: number;
45
- gloasForkTimestamp?: number;
46
- };
47
-
48
- type ExecutionBlock = {
49
- parentHash: RootHex;
50
- blockHash: RootHex;
51
- timestamp: number;
52
- blockNumber: number;
53
- };
54
-
55
- const TX_TYPE_EIP1559 = 2;
56
-
57
- type PreparedPayload = {
58
- executionPayload: ExecutionPayloadRpc;
59
- blobsBundle: BlobsBundleRpc;
60
- executionRequests: ExecutionRequestsRpc;
61
- };
62
-
63
- /**
64
- * Mock ExecutionEngine for fast prototyping and unit testing
65
- */
66
- export class ExecutionEngineMockBackend implements JsonRpcBackend {
67
- // Public state to check if notifyForkchoiceUpdate() is called properly
68
- headBlockHash = ZERO_HASH_HEX;
69
- safeBlockHash = ZERO_HASH_HEX;
70
- finalizedBlockHash = ZERO_HASH_HEX;
71
- readonly payloadIdCache = new PayloadIdCache();
72
-
73
- /** Known valid blocks, both pre-merge and post-merge */
74
- private readonly validBlocks = new Map<RootHex, ExecutionBlock>();
75
- /** Preparing payloads to be retrieved via engine_getPayloadV1 */
76
- private readonly preparingPayloads = new Map<number, PreparedPayload>();
77
- private readonly payloadsForDeletion = new Map<number, number>();
78
-
79
- private readonly predefinedPayloadStatuses = new Map<RootHex, PayloadStatus>();
80
-
81
- private payloadId = 0;
82
-
83
- readonly handlers: {
84
- [K in keyof EngineApiRpcParamTypes]: (...args: EngineApiRpcParamTypes[K]) => EngineApiRpcReturnTypes[K];
85
- };
86
-
87
- constructor(private readonly opts: ExecutionEngineMockOpts) {
88
- this.validBlocks.set(opts.genesisBlockHash, {
89
- parentHash: ZERO_HASH_HEX,
90
- blockHash: ZERO_HASH_HEX,
91
- timestamp: 0,
92
- blockNumber: 0,
93
- });
94
-
95
- const eth1BlockHash = opts.eth1BlockHash ?? toRootHex(INTEROP_BLOCK_HASH);
96
-
97
- this.validBlocks.set(eth1BlockHash, {
98
- parentHash: ZERO_HASH_HEX,
99
- blockHash: eth1BlockHash,
100
- timestamp: 0,
101
- blockNumber: 1,
102
- });
103
-
104
- this.handlers = {
105
- engine_newPayloadV1: this.notifyNewPayload.bind(this),
106
- engine_newPayloadV2: this.notifyNewPayload.bind(this),
107
- engine_newPayloadV3: this.notifyNewPayload.bind(this),
108
- engine_newPayloadV4: this.notifyNewPayload.bind(this),
109
- engine_forkchoiceUpdatedV1: this.notifyForkchoiceUpdate.bind(this),
110
- engine_forkchoiceUpdatedV2: this.notifyForkchoiceUpdate.bind(this),
111
- engine_forkchoiceUpdatedV3: this.notifyForkchoiceUpdate.bind(this),
112
- engine_getPayloadV1: this.getPayloadV1.bind(this),
113
- engine_getPayloadV2: this.getPayloadV5.bind(this),
114
- engine_getPayloadV3: this.getPayloadV5.bind(this),
115
- engine_getPayloadV4: this.getPayloadV5.bind(this),
116
- engine_getPayloadV5: this.getPayloadV5.bind(this),
117
- engine_getPayloadBodiesByHashV1: this.getPayloadBodiesByHash.bind(this),
118
- engine_getPayloadBodiesByRangeV1: this.getPayloadBodiesByRange.bind(this),
119
- engine_getClientVersionV1: this.getClientVersionV1.bind(this),
120
- engine_getBlobsV1: this.getBlobs.bind(this),
121
- engine_getBlobsV2: this.getBlobsV2.bind(this),
122
- };
123
- }
124
-
125
- private getPayloadBodiesByHash(
126
- _blockHex: EngineApiRpcParamTypes["engine_getPayloadBodiesByHashV1"][0]
127
- ): EngineApiRpcReturnTypes["engine_getPayloadBodiesByHashV1"] {
128
- return [] as ExecutionPayloadBodyRpc[];
129
- }
130
-
131
- private getPayloadBodiesByRange(
132
- _start: EngineApiRpcParamTypes["engine_getPayloadBodiesByRangeV1"][0],
133
- _count: EngineApiRpcParamTypes["engine_getPayloadBodiesByRangeV1"][1]
134
- ): EngineApiRpcReturnTypes["engine_getPayloadBodiesByRangeV1"] {
135
- return [] as ExecutionPayloadBodyRpc[];
136
- }
137
-
138
- /**
139
- * Mock manipulator to add more known blocks to this mock.
140
- */
141
- addPowBlock(powBlock: bellatrix.PowBlock): void {
142
- this.validBlocks.set(toHex(powBlock.blockHash), {
143
- parentHash: toHex(powBlock.parentHash),
144
- blockHash: toHex(powBlock.blockHash),
145
- timestamp: 0,
146
- blockNumber: 0,
147
- });
148
- }
149
-
150
- /**
151
- * Mock manipulator to add predefined responses before execution engine client calls
152
- */
153
- addPredefinedPayloadStatus(blockHash: RootHex, payloadStatus: PayloadStatus): void {
154
- this.predefinedPayloadStatuses.set(blockHash, payloadStatus);
155
- }
156
-
157
- /**
158
- * `engine_newPayloadV1`
159
- */
160
- private notifyNewPayload(
161
- executionPayloadRpc: EngineApiRpcParamTypes["engine_newPayloadV1"][0],
162
- // add versionedHashes validation later if required
163
- _versionedHashes?: EngineApiRpcParamTypes["engine_newPayloadV3"][1]
164
- ): EngineApiRpcReturnTypes["engine_newPayloadV1"] {
165
- const blockHash = executionPayloadRpc.blockHash;
166
- const parentHash = executionPayloadRpc.parentHash;
167
-
168
- // For optimistic sync spec tests, allow to define responses ahead of time
169
- const predefinedResponse = this.predefinedPayloadStatuses.get(blockHash);
170
- if (predefinedResponse) {
171
- return predefinedResponse;
172
- }
173
-
174
- if (this.opts.onlyPredefinedResponses) {
175
- throw Error(`No predefined response for blockHash ${blockHash}`);
176
- }
177
-
178
- // 1. Client software MUST validate blockHash value as being equivalent to Keccak256(RLP(ExecutionBlockHeader)),
179
- // where ExecutionBlockHeader is the execution layer block header (the former PoW block header structure).
180
- // Fields of this object are set to the corresponding payload values and constant values according to the Block
181
- // structure section of EIP-3675, extended with the corresponding section of EIP-4399. Client software MUST run
182
- // this validation in all cases even if this branch or any other branches of the block tree are in an active sync
183
- // process.
184
- //
185
- // > Mock does not do this validation
186
-
187
- // 2. Client software MAY initiate a sync process if requisite data for payload validation is missing. Sync process
188
- // is specified in the Sync section.
189
- //
190
- // > N/A: Mock can't sync
191
-
192
- // 3. Client software MUST validate the payload if it extends the canonical chain and requisite data for the
193
- // validation is locally available. The validation process is specified in the Payload validation section.
194
- //
195
- // > Mock only validates that parent is known
196
- if (!this.validBlocks.has(parentHash)) {
197
- // if requisite data for the payload's acceptance or validation is missing
198
- // return {status: SYNCING, latestValidHash: null, validationError: null}
199
- return {status: ExecutionPayloadStatus.SYNCING, latestValidHash: null, validationError: null};
200
- }
201
-
202
- // 4. Client software MAY NOT validate the payload if the payload doesn't belong to the canonical chain.
203
- //
204
- // > N/A: Mock does not track the chain dag
205
-
206
- // Mock logic: persist valid payload as part of canonical chain
207
-
208
- this.validBlocks.set(blockHash, {
209
- parentHash,
210
- blockHash,
211
- timestamp: quantityToNum(executionPayloadRpc.timestamp),
212
- blockNumber: quantityToNum(executionPayloadRpc.blockNumber),
213
- });
214
-
215
- // IF the payload has been fully validated while processing the call
216
- // RETURN payload status from the Payload validation process
217
- // If validation succeeds, the response MUST contain {status: VALID, latestValidHash: payload.blockHash}
218
- return {status: ExecutionPayloadStatus.VALID, latestValidHash: blockHash, validationError: null};
219
- }
220
-
221
- /**
222
- * `engine_forkchoiceUpdatedV1`
223
- */
224
- private notifyForkchoiceUpdate(
225
- forkChoiceData: EngineApiRpcParamTypes["engine_forkchoiceUpdatedV1"][0],
226
- payloadAttributesRpc: EngineApiRpcParamTypes["engine_forkchoiceUpdatedV1"][1]
227
- ): EngineApiRpcReturnTypes["engine_forkchoiceUpdatedV1"] {
228
- const {headBlockHash, safeBlockHash, finalizedBlockHash} = forkChoiceData;
229
-
230
- // For optimistic sync spec tests, allow to define responses ahead of time
231
- const predefinedResponse = this.predefinedPayloadStatuses.get(headBlockHash);
232
- if (predefinedResponse) {
233
- return {
234
- payloadStatus: predefinedResponse,
235
- payloadId: null,
236
- };
237
- }
238
-
239
- if (this.opts.onlyPredefinedResponses) {
240
- throw Error(`No predefined response for headBlockHash ${headBlockHash}`);
241
- }
242
-
243
- // 1. Client software MAY initiate a sync process if forkchoiceState.headBlockHash references an unknown payload or
244
- // a payload that can't be validated because data that are requisite for the validation is missing. The sync
245
- // process is specified in the Sync section.
246
- //
247
- // > N/A: Mock can't sync
248
-
249
- // 2. Client software MAY skip an update of the forkchoice state and MUST NOT begin a payload build process if
250
- // forkchoiceState.headBlockHash references an ancestor of the head of canonical chain. In the case of such an
251
- // event, client software MUST return {payloadStatus:
252
- // {status: VALID, latestValidHash: forkchoiceState.headBlockHash, validationError: null}, payloadId: null}.
253
- //
254
- // > TODO
255
-
256
- // 3. If forkchoiceState.headBlockHash references a PoW block, client software MUST validate this block with
257
- // respect to terminal block conditions according to EIP-3675. This check maps to the transition block validity
258
- // section of the EIP. Additionally, if this validation fails, client software MUST NOT update the forkchoice
259
- // state and MUST NOT begin a payload build process.
260
- //
261
- // > TODO
262
-
263
- // 4. Before updating the forkchoice state, client software MUST ensure the validity of the payload referenced by
264
- // forkchoiceState.headBlockHash, and MAY validate the payload while processing the call. The validation process
265
- // is specified in the Payload validation section. If the validation process fails, client software MUST NOT
266
- // update the forkchoice state and MUST NOT begin a payload build process.
267
- //
268
- // > N/A payload already validated
269
- const headBlock = this.validBlocks.get(headBlockHash);
270
- if (!headBlock) {
271
- // IF references an unknown payload or a payload that can't be validated because requisite data is missing
272
- // RETURN {payloadStatus: {status: SYNCING, latestValidHash: null, validationError: null}, payloadId: null}
273
- //
274
- return {
275
- payloadStatus: {status: ExecutionPayloadStatus.SYNCING, latestValidHash: null, validationError: null},
276
- payloadId: null,
277
- };
278
- }
279
-
280
- // 5. Client software MUST update its forkchoice state if payloads referenced by forkchoiceState.headBlockHash and
281
- // forkchoiceState.finalizedBlockHash are VALID.
282
- if (!this.validBlocks.has(finalizedBlockHash)) {
283
- throw Error(`Unknown finalizedBlockHash ${finalizedBlockHash}`);
284
- }
285
- this.headBlockHash = headBlockHash;
286
- this.safeBlockHash = safeBlockHash;
287
- this.finalizedBlockHash = finalizedBlockHash;
288
-
289
- // 6. Client software MUST return -38002: Invalid forkchoice state error if the payload referenced by
290
- // forkchoiceState.headBlockHash is VALID and a payload referenced by either forkchoiceState.finalizedBlockHash
291
- // or forkchoiceState.safeBlockHash does not belong to the chain defined by forkchoiceState.headBlockHash.
292
- //
293
- // > N/A: Mock does not track the chain dag
294
-
295
- if (payloadAttributesRpc) {
296
- const payloadAttributes = deserializePayloadAttributes(payloadAttributesRpc);
297
-
298
- // 7. Client software MUST ensure that payloadAttributes.timestamp is greater than timestamp of a block referenced
299
- // by forkchoiceState.headBlockHash. If this condition isn't held client software MUST respond with
300
- // `-38003: Invalid payload attributes` and MUST NOT begin a payload build process.
301
- // In such an event, the forkchoiceState update MUST NOT be rolled back.
302
- if (headBlock.timestamp > payloadAttributes.timestamp) {
303
- throw Error("Invalid payload attributes");
304
- }
305
-
306
- // 8. Client software MUST begin a payload build process building on top of forkchoiceState.headBlockHash and
307
- // identified via buildProcessId value if payloadAttributes is not null and the forkchoice state has been
308
- // updated successfully. The build process is specified in the Payload building section.
309
- const payloadId = this.payloadId++;
310
-
311
- // Generate empty payload first to be correct with respect to fork
312
- const fork = this.timestampToFork(payloadAttributes.timestamp);
313
- const executionPayload = ssz[fork].ExecutionPayload.defaultValue();
314
-
315
- // Make executionPayload valid
316
- executionPayload.parentHash = fromHex(headBlockHash);
317
- executionPayload.feeRecipient = fromHex(payloadAttributes.suggestedFeeRecipient);
318
- executionPayload.prevRandao = payloadAttributes.prevRandao;
319
- executionPayload.blockNumber = headBlock.blockNumber + 1;
320
- executionPayload.gasLimit = INTEROP_GAS_LIMIT;
321
- executionPayload.gasUsed = Math.floor(0.5 * INTEROP_GAS_LIMIT);
322
- executionPayload.timestamp = payloadAttributes.timestamp;
323
- executionPayload.blockHash = crypto.randomBytes(32);
324
- executionPayload.transactions = [];
325
-
326
- // Between 0 and 4 transactions for all forks
327
- const eip1559TxCount = Math.round(4 * Math.random());
328
- for (let i = 0; i < eip1559TxCount; i++) {
329
- const tx = crypto.randomBytes(512);
330
- tx[0] = TX_TYPE_EIP1559;
331
- executionPayload.transactions.push(tx);
332
- }
333
-
334
- const commitments: deneb.KZGCommitment[] = [];
335
- const blobs: deneb.Blob[] = [];
336
- const proofs: deneb.KZGProof[] = [];
337
-
338
- if (ForkSeq[fork] >= ForkSeq.fulu) {
339
- // if post fulu, add between 0 and 3 data column transactions based on slot with BlobsBundleV2
340
- const fuluTxCount = executionPayload.blockNumber % 4;
341
- for (let i = 0; i < fuluTxCount; i++) {
342
- const blob = generateRandomBlob();
343
- const commitment = kzg.blobToKzgCommitment(blob);
344
- const {proofs: cellProofs} = kzg.computeCellsAndKzgProofs(blob);
345
- executionPayload.transactions.push(transactionForKzgCommitment(commitment));
346
- commitments.push(commitment);
347
- blobs.push(blob);
348
- proofs.push(...cellProofs);
349
- }
350
- } else if (ForkSeq[fork] >= ForkSeq.deneb && ForkSeq[fork] < ForkSeq.fulu) {
351
- // if post deneb, add between 0 and 2 blob transactions
352
- const denebTxCount = executionPayload.blockNumber % 3;
353
- for (let i = 0; i < denebTxCount; i++) {
354
- const blob = generateRandomBlob();
355
- const commitment = kzg.blobToKzgCommitment(blob);
356
- const proof = kzg.computeBlobKzgProof(blob, commitment);
357
- executionPayload.transactions.push(transactionForKzgCommitment(commitment));
358
- commitments.push(commitment);
359
- blobs.push(blob);
360
- proofs.push(proof);
361
- }
362
- }
363
-
364
- if (ForkSeq[fork] >= ForkSeq.capella) {
365
- (executionPayload as ExecutionPayload<ForkPostCapella>).withdrawals = ssz.capella.Withdrawals.defaultValue();
366
- }
367
-
368
- this.preparingPayloads.set(payloadId, {
369
- executionPayload: serializeExecutionPayload(fork, executionPayload),
370
- blobsBundle: serializeBlobsBundle({
371
- commitments,
372
- blobs,
373
- proofs,
374
- }),
375
- executionRequests: serializeExecutionRequests({
376
- deposits: ssz.electra.DepositRequests.defaultValue(),
377
- withdrawals: ssz.electra.WithdrawalRequests.defaultValue(),
378
- consolidations: ssz.electra.ConsolidationRequests.defaultValue(),
379
- }),
380
- });
381
-
382
- // IF the payload is deemed VALID and the build process has begun
383
- // {payloadStatus: {status: VALID, latestValidHash: forkchoiceState.headBlockHash, validationError: null}, payloadId: buildProcessId}
384
- return {
385
- payloadStatus: {status: ExecutionPayloadStatus.VALID, latestValidHash: null, validationError: null},
386
- payloadId: String(payloadId as number),
387
- };
388
- }
389
-
390
- // Don't start build process
391
- // IF the payload is deemed VALID and a build process hasn't been started
392
- // {payloadStatus: {status: VALID, latestValidHash: forkchoiceState.headBlockHash, validationError: null}, payloadId: null}
393
- return {
394
- payloadStatus: {status: ExecutionPayloadStatus.VALID, latestValidHash: null, validationError: null},
395
- payloadId: null,
396
- };
397
- }
398
-
399
- /**
400
- * `engine_getPayloadV1`
401
- *
402
- * 1. Given the payloadId client software MUST respond with the most recent version of the payload that is available in the corresponding building process at the time of receiving the call.
403
- * 2. The call MUST be responded with 5: Unavailable payload error if the building process identified by the payloadId doesn't exist.
404
- * 3. Client software MAY stop the corresponding building process after serving this call.
405
- */
406
- private getPayloadV1(
407
- payloadId: EngineApiRpcParamTypes["engine_getPayloadV1"][0]
408
- ): EngineApiRpcReturnTypes["engine_getPayloadV1"] {
409
- return this.getPayloadV5(payloadId).executionPayload;
410
- }
411
-
412
- private getPayloadV5(
413
- payloadId: EngineApiRpcParamTypes["engine_getPayloadV5"][0]
414
- ): EngineApiRpcReturnTypes["engine_getPayloadV5"] {
415
- // 1. Given the payloadId client software MUST return the most recent version of the payload that is available in
416
- // the corresponding build process at the time of receiving the call.
417
- const payloadIdNbr = Number(payloadId);
418
- const payload = this.preparingPayloads.get(payloadIdNbr);
419
-
420
- // 2. The call MUST return -38001: Unknown payload error if the build process identified by the payloadId does not
421
- // exist.
422
- if (!payload) {
423
- throw Error(`Unknown payloadId ${payloadId}`);
424
- }
425
-
426
- // 3. Client software MAY stop the corresponding build process after serving this call.
427
- // Do after a while to allow getBlobsBundle()
428
- const now = Date.now();
429
- for (const [oldPayloadId, addedTimestampMs] of this.payloadsForDeletion.entries()) {
430
- if (addedTimestampMs < now - PRUNE_PAYLOAD_ID_AFTER_MS) {
431
- this.preparingPayloads.delete(oldPayloadId);
432
- this.payloadsForDeletion.delete(oldPayloadId);
433
- }
434
- }
435
- this.payloadsForDeletion.set(payloadIdNbr, now);
436
-
437
- return {
438
- executionPayload: payload.executionPayload,
439
- blockValue: String(1e9),
440
- blobsBundle: payload.blobsBundle,
441
- executionRequests: payload.executionRequests,
442
- };
443
- }
444
-
445
- private getClientVersionV1(
446
- _clientVersion: EngineApiRpcParamTypes["engine_getClientVersionV1"][0]
447
- ): EngineApiRpcReturnTypes["engine_getClientVersionV1"] {
448
- return [{code: ClientCode.XX, name: "mock", version: "", commit: ""}];
449
- }
450
-
451
- private getBlobs(
452
- versionedHashes: EngineApiRpcParamTypes["engine_getBlobsV1"][0]
453
- ): EngineApiRpcReturnTypes["engine_getBlobsV1"] {
454
- return versionedHashes.map((_vh) => null);
455
- }
456
-
457
- private getBlobsV2(
458
- _versionedHashes: EngineApiRpcParamTypes["engine_getBlobsV2"][0]
459
- ): EngineApiRpcReturnTypes["engine_getBlobsV2"] {
460
- return null;
461
- }
462
-
463
- private timestampToFork(timestamp: number): ForkPostBellatrix {
464
- if (timestamp >= (this.opts.gloasForkTimestamp ?? Infinity)) return ForkName.gloas;
465
- if (timestamp >= (this.opts.fuluForkTimestamp ?? Infinity)) return ForkName.fulu;
466
- if (timestamp >= (this.opts.electraForkTimestamp ?? Infinity)) return ForkName.electra;
467
- if (timestamp >= (this.opts.denebForkTimestamp ?? Infinity)) return ForkName.deneb;
468
- if (timestamp >= (this.opts.capellaForkTimestamp ?? Infinity)) return ForkName.capella;
469
- return ForkName.bellatrix;
470
- }
471
- }
472
-
473
- function transactionForKzgCommitment(kzgCommitment: deneb.KZGCommitment): bellatrix.Transaction {
474
- // Just use versionedHash as the transaction encoding to mock newPayloadV3 verification
475
- // prefixed with BLOB_TX_TYPE
476
- const transaction = new Uint8Array(33);
477
- const versionedHash = kzgCommitmentToVersionedHash(kzgCommitment);
478
- transaction[0] = BLOB_TX_TYPE;
479
- transaction.set(versionedHash, 1);
480
- return transaction;
481
- }
482
-
483
- /**
484
- * Generate random blob of sequential integers such that each element is < BLS_MODULUS
485
- */
486
- function generateRandomBlob(): deneb.Blob {
487
- const blob = new Uint8Array(FIELD_ELEMENTS_PER_BLOB * BYTES_PER_FIELD_ELEMENT);
488
- const dv = new DataView(blob.buffer, blob.byteOffset, blob.byteLength);
489
- for (let i = 0; i < FIELD_ELEMENTS_PER_BLOB; i++) {
490
- dv.setUint32(i * BYTES_PER_FIELD_ELEMENT, i);
491
- }
492
- return blob;
493
- }
@@ -1,54 +0,0 @@
1
- import {SLOTS_PER_EPOCH} from "@lodestar/params";
2
- import {pruneSetToMax} from "@lodestar/utils";
3
- import {DATA, QUANTITY} from "../../eth1/provider/utils.js";
4
- import {PayloadAttributesRpc} from "./types.js";
5
-
6
- // Idealy this only need to be set to the max head reorgs number
7
- const MAX_PAYLOAD_IDS = SLOTS_PER_EPOCH;
8
-
9
- // An execution engine can produce a payload id anywhere the uint64 range
10
- // Since we do no processing with this id, we have no need to deserialize it
11
- export type PayloadId = string;
12
-
13
- export type WithdrawalV1 = {
14
- index: QUANTITY;
15
- validatorIndex: QUANTITY;
16
- address: DATA;
17
- amount: QUANTITY;
18
- };
19
-
20
- type FcuAttributes = {headBlockHash: DATA; finalizedBlockHash: DATA} & Omit<PayloadAttributesRpc, "withdrawals">;
21
-
22
- export class PayloadIdCache {
23
- private readonly payloadIdByFcuAttributes = new Map<string, {payloadId: PayloadId; fullKey: string}>();
24
-
25
- getFullKey({headBlockHash, finalizedBlockHash, timestamp, prevRandao, suggestedFeeRecipient}: FcuAttributes): string {
26
- return `${headBlockHash}-${finalizedBlockHash}-${timestamp}-${prevRandao}-${suggestedFeeRecipient}`;
27
- }
28
- getKey({timestamp}: Pick<FcuAttributes, "timestamp">): string {
29
- return timestamp;
30
- }
31
-
32
- hasPayload(fcuAttributes: Pick<FcuAttributes, "timestamp">): boolean {
33
- const key = this.getKey(fcuAttributes);
34
- return this.payloadIdByFcuAttributes.get(key) !== undefined;
35
- }
36
-
37
- add(fcuAttributes: FcuAttributes, payloadId: PayloadId): void {
38
- const key = this.getKey(fcuAttributes);
39
- const fullKey = this.getFullKey(fcuAttributes);
40
- this.payloadIdByFcuAttributes.set(key, {payloadId, fullKey});
41
- }
42
-
43
- prune(): void {
44
- // This is not so optimized function, but could maintain a 2d array may be?
45
- pruneSetToMax(this.payloadIdByFcuAttributes, MAX_PAYLOAD_IDS);
46
- }
47
-
48
- get(fcuAttributes: FcuAttributes): PayloadId | undefined {
49
- const key = this.getKey(fcuAttributes);
50
- const fullKey = this.getFullKey(fcuAttributes);
51
- const payloadInfo = this.payloadIdByFcuAttributes.get(key);
52
- return payloadInfo?.fullKey === fullKey ? payloadInfo.payloadId : undefined;
53
- }
54
- }