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

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 (882) hide show
  1. package/lib/chain/emitter.d.ts +2 -2
  2. package/lib/db/buckets.d.ts +4 -4
  3. package/lib/db/buckets.js +4 -4
  4. package/lib/db/buckets.js.map +1 -1
  5. package/lib/db/repositories/blobSidecars.js +1 -1
  6. package/lib/db/repositories/blobSidecars.js.map +1 -1
  7. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  8. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  9. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  10. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  11. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  12. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  13. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  14. package/lib/network/gossip/gossipsub.d.ts +0 -1
  15. package/lib/network/gossip/gossipsub.js +16 -35
  16. package/lib/network/gossip/gossipsub.js.map +1 -1
  17. package/lib/network/gossip/metrics.d.ts +7 -15
  18. package/lib/network/gossip/metrics.js +6 -16
  19. package/lib/network/gossip/metrics.js.map +1 -1
  20. package/lib/network/metadata.js +1 -2
  21. package/lib/network/metadata.js.map +1 -1
  22. package/lib/network/network.js +4 -2
  23. package/lib/network/network.js.map +1 -1
  24. package/lib/network/processor/index.d.ts +1 -1
  25. package/lib/network/processor/index.js +3 -2
  26. package/lib/network/processor/index.js.map +1 -1
  27. package/lib/sync/types.d.ts +1 -0
  28. package/lib/sync/types.js.map +1 -1
  29. package/lib/sync/unknownBlock.js +14 -12
  30. package/lib/sync/unknownBlock.js.map +1 -1
  31. package/lib/sync/utils/downloadByRoot.d.ts +1 -3
  32. package/lib/sync/utils/downloadByRoot.js +5 -32
  33. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  34. package/lib/util/blobs.js +3 -5
  35. package/lib/util/blobs.js.map +1 -1
  36. package/package.json +20 -18
  37. package/lib/api/impl/api.d.ts.map +0 -1
  38. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  39. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  40. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  41. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  42. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  43. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  44. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  45. package/lib/api/impl/config/constants.d.ts.map +0 -1
  46. package/lib/api/impl/config/index.d.ts.map +0 -1
  47. package/lib/api/impl/debug/index.d.ts.map +0 -1
  48. package/lib/api/impl/errors.d.ts.map +0 -1
  49. package/lib/api/impl/events/index.d.ts.map +0 -1
  50. package/lib/api/impl/index.d.ts.map +0 -1
  51. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  52. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  53. package/lib/api/impl/node/index.d.ts.map +0 -1
  54. package/lib/api/impl/node/utils.d.ts.map +0 -1
  55. package/lib/api/impl/proof/index.d.ts.map +0 -1
  56. package/lib/api/impl/types.d.ts.map +0 -1
  57. package/lib/api/impl/utils.d.ts.map +0 -1
  58. package/lib/api/impl/validator/index.d.ts.map +0 -1
  59. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  60. package/lib/api/index.d.ts.map +0 -1
  61. package/lib/api/options.d.ts.map +0 -1
  62. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  63. package/lib/api/rest/base.d.ts.map +0 -1
  64. package/lib/api/rest/index.d.ts.map +0 -1
  65. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  66. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  67. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  68. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  69. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  70. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  71. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  72. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  73. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  74. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  75. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  76. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  77. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  78. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  79. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  80. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  81. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  82. package/lib/chain/balancesCache.d.ts.map +0 -1
  83. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  84. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  85. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  86. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  87. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  88. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  89. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  90. package/lib/chain/blocks/index.d.ts.map +0 -1
  91. package/lib/chain/blocks/types.d.ts.map +0 -1
  92. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  93. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  94. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  95. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  96. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  97. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  98. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  99. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  100. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  101. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  102. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  103. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  104. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  105. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  106. package/lib/chain/bls/index.d.ts.map +0 -1
  107. package/lib/chain/bls/interface.d.ts.map +0 -1
  108. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  109. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  110. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  111. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  112. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  113. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  114. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  115. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  116. package/lib/chain/bls/utils.d.ts.map +0 -1
  117. package/lib/chain/chain.d.ts.map +0 -1
  118. package/lib/chain/emitter.d.ts.map +0 -1
  119. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  120. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  121. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  122. package/lib/chain/errors/blockError.d.ts.map +0 -1
  123. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  124. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  125. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  126. package/lib/chain/errors/index.d.ts.map +0 -1
  127. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  128. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  129. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  130. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  131. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  132. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  133. package/lib/chain/genesis/interface.d.ts.map +0 -1
  134. package/lib/chain/index.d.ts.map +0 -1
  135. package/lib/chain/initState.d.ts.map +0 -1
  136. package/lib/chain/interface.d.ts.map +0 -1
  137. package/lib/chain/lightClient/index.d.ts.map +0 -1
  138. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  139. package/lib/chain/lightClient/types.d.ts.map +0 -1
  140. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  141. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  142. package/lib/chain/opPools/index.d.ts.map +0 -1
  143. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  144. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  145. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  146. package/lib/chain/opPools/types.d.ts.map +0 -1
  147. package/lib/chain/opPools/utils.d.ts.map +0 -1
  148. package/lib/chain/options.d.ts.map +0 -1
  149. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  150. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  151. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  152. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  153. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  154. package/lib/chain/regen/errors.d.ts.map +0 -1
  155. package/lib/chain/regen/index.d.ts.map +0 -1
  156. package/lib/chain/regen/interface.d.ts.map +0 -1
  157. package/lib/chain/regen/queued.d.ts.map +0 -1
  158. package/lib/chain/regen/regen.d.ts.map +0 -1
  159. package/lib/chain/reprocess.d.ts.map +0 -1
  160. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  161. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  162. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  163. package/lib/chain/seenCache/index.d.ts.map +0 -1
  164. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  165. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  166. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  167. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  168. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  169. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  170. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  171. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  172. package/lib/chain/serializeState.d.ts.map +0 -1
  173. package/lib/chain/shufflingCache.d.ts.map +0 -1
  174. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  175. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  176. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  177. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  178. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  179. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  180. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  181. package/lib/chain/stateCache/index.d.ts.map +0 -1
  182. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  183. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  184. package/lib/chain/stateCache/types.d.ts.map +0 -1
  185. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  186. package/lib/chain/validation/attestation.d.ts.map +0 -1
  187. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  188. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  189. package/lib/chain/validation/block.d.ts.map +0 -1
  190. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  191. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  192. package/lib/chain/validation/index.d.ts.map +0 -1
  193. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  194. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  195. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  196. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  197. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  198. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  199. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  200. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  201. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  202. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  203. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  204. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  205. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  206. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  207. package/lib/constants/constants.d.ts.map +0 -1
  208. package/lib/constants/index.d.ts.map +0 -1
  209. package/lib/constants/network.d.ts.map +0 -1
  210. package/lib/db/beacon.d.ts.map +0 -1
  211. package/lib/db/buckets.d.ts.map +0 -1
  212. package/lib/db/index.d.ts.map +0 -1
  213. package/lib/db/interface.d.ts.map +0 -1
  214. package/lib/db/options.d.ts.map +0 -1
  215. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  216. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  217. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  218. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  219. package/lib/db/repositories/block.d.ts.map +0 -1
  220. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  221. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  222. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  223. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  224. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  225. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  226. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  227. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  228. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  229. package/lib/db/repositories/index.d.ts.map +0 -1
  230. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  231. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  232. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  233. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  234. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  235. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  236. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  237. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  238. package/lib/db/single/index.d.ts.map +0 -1
  239. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  240. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  241. package/lib/eth1/errors.d.ts.map +0 -1
  242. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  243. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  244. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  245. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  246. package/lib/eth1/index.d.ts.map +0 -1
  247. package/lib/eth1/interface.d.ts.map +0 -1
  248. package/lib/eth1/options.d.ts.map +0 -1
  249. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  250. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  251. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  252. package/lib/eth1/provider/utils.d.ts.map +0 -1
  253. package/lib/eth1/stream.d.ts.map +0 -1
  254. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  255. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  256. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  257. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  258. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  259. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  260. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  261. package/lib/execution/builder/cache.d.ts.map +0 -1
  262. package/lib/execution/builder/http.d.ts.map +0 -1
  263. package/lib/execution/builder/index.d.ts.map +0 -1
  264. package/lib/execution/builder/interface.d.ts.map +0 -1
  265. package/lib/execution/builder/utils.d.ts.map +0 -1
  266. package/lib/execution/engine/disabled.d.ts.map +0 -1
  267. package/lib/execution/engine/http.d.ts.map +0 -1
  268. package/lib/execution/engine/index.d.ts.map +0 -1
  269. package/lib/execution/engine/interface.d.ts.map +0 -1
  270. package/lib/execution/engine/mock.d.ts.map +0 -1
  271. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  272. package/lib/execution/engine/types.d.ts.map +0 -1
  273. package/lib/execution/engine/utils.d.ts.map +0 -1
  274. package/lib/execution/index.d.ts.map +0 -1
  275. package/lib/index.d.ts.map +0 -1
  276. package/lib/metrics/index.d.ts.map +0 -1
  277. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  278. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  279. package/lib/metrics/metrics.d.ts.map +0 -1
  280. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  281. package/lib/metrics/options.d.ts.map +0 -1
  282. package/lib/metrics/server/http.d.ts.map +0 -1
  283. package/lib/metrics/server/index.d.ts.map +0 -1
  284. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  285. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  286. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  287. package/lib/monitoring/clientStats.d.ts.map +0 -1
  288. package/lib/monitoring/index.d.ts.map +0 -1
  289. package/lib/monitoring/options.d.ts.map +0 -1
  290. package/lib/monitoring/properties.d.ts.map +0 -1
  291. package/lib/monitoring/service.d.ts.map +0 -1
  292. package/lib/monitoring/system.d.ts.map +0 -1
  293. package/lib/monitoring/types.d.ts.map +0 -1
  294. package/lib/network/core/events.d.ts.map +0 -1
  295. package/lib/network/core/index.d.ts.map +0 -1
  296. package/lib/network/core/metrics.d.ts.map +0 -1
  297. package/lib/network/core/networkCore.d.ts.map +0 -1
  298. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  299. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  300. package/lib/network/core/types.d.ts.map +0 -1
  301. package/lib/network/discv5/index.d.ts.map +0 -1
  302. package/lib/network/discv5/types.d.ts.map +0 -1
  303. package/lib/network/discv5/utils.d.ts.map +0 -1
  304. package/lib/network/discv5/worker.d.ts.map +0 -1
  305. package/lib/network/events.d.ts.map +0 -1
  306. package/lib/network/forks.d.ts.map +0 -1
  307. package/lib/network/gossip/constants.d.ts.map +0 -1
  308. package/lib/network/gossip/encoding.d.ts.map +0 -1
  309. package/lib/network/gossip/errors.d.ts.map +0 -1
  310. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  311. package/lib/network/gossip/index.d.ts.map +0 -1
  312. package/lib/network/gossip/interface.d.ts.map +0 -1
  313. package/lib/network/gossip/metrics.d.ts.map +0 -1
  314. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  315. package/lib/network/gossip/topic.d.ts.map +0 -1
  316. package/lib/network/index.d.ts.map +0 -1
  317. package/lib/network/interface.d.ts.map +0 -1
  318. package/lib/network/libp2p/error.d.ts.map +0 -1
  319. package/lib/network/libp2p/index.d.ts.map +0 -1
  320. package/lib/network/metadata.d.ts.map +0 -1
  321. package/lib/network/network.d.ts.map +0 -1
  322. package/lib/network/networkConfig.d.ts.map +0 -1
  323. package/lib/network/options.d.ts.map +0 -1
  324. package/lib/network/peers/client.d.ts.map +0 -1
  325. package/lib/network/peers/datastore.d.ts.map +0 -1
  326. package/lib/network/peers/discover.d.ts.map +0 -1
  327. package/lib/network/peers/index.d.ts.map +0 -1
  328. package/lib/network/peers/peerManager.d.ts.map +0 -1
  329. package/lib/network/peers/peersData.d.ts.map +0 -1
  330. package/lib/network/peers/score/constants.d.ts.map +0 -1
  331. package/lib/network/peers/score/index.d.ts.map +0 -1
  332. package/lib/network/peers/score/interface.d.ts.map +0 -1
  333. package/lib/network/peers/score/score.d.ts.map +0 -1
  334. package/lib/network/peers/score/store.d.ts.map +0 -1
  335. package/lib/network/peers/score/utils.d.ts.map +0 -1
  336. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  337. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  338. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  339. package/lib/network/peers/utils/index.d.ts.map +0 -1
  340. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  341. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  342. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  343. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  344. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  345. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  346. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  347. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  348. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  349. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  350. package/lib/network/processor/index.d.ts.map +0 -1
  351. package/lib/network/processor/types.d.ts.map +0 -1
  352. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  353. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  354. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  355. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  356. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  357. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  358. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  359. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  360. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  361. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  362. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  363. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  364. package/lib/network/reqresp/index.d.ts.map +0 -1
  365. package/lib/network/reqresp/interface.d.ts.map +0 -1
  366. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  367. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  368. package/lib/network/reqresp/score.d.ts.map +0 -1
  369. package/lib/network/reqresp/types.d.ts.map +0 -1
  370. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  371. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  372. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  373. package/lib/network/statusCache.d.ts.map +0 -1
  374. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  375. package/lib/network/subnets/index.d.ts.map +0 -1
  376. package/lib/network/subnets/interface.d.ts.map +0 -1
  377. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  378. package/lib/network/subnets/util.d.ts.map +0 -1
  379. package/lib/network/util.d.ts.map +0 -1
  380. package/lib/node/index.d.ts.map +0 -1
  381. package/lib/node/nodejs.d.ts.map +0 -1
  382. package/lib/node/notifier.d.ts.map +0 -1
  383. package/lib/node/options.d.ts.map +0 -1
  384. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  385. package/lib/node/utils/interop/state.d.ts.map +0 -1
  386. package/lib/node/utils/lightclient.d.ts.map +0 -1
  387. package/lib/node/utils/state.d.ts.map +0 -1
  388. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  389. package/lib/sync/backfill/errors.d.ts.map +0 -1
  390. package/lib/sync/backfill/index.d.ts.map +0 -1
  391. package/lib/sync/backfill/verify.d.ts.map +0 -1
  392. package/lib/sync/constants.d.ts.map +0 -1
  393. package/lib/sync/index.d.ts.map +0 -1
  394. package/lib/sync/interface.d.ts.map +0 -1
  395. package/lib/sync/options.d.ts.map +0 -1
  396. package/lib/sync/range/batch.d.ts.map +0 -1
  397. package/lib/sync/range/chain.d.ts.map +0 -1
  398. package/lib/sync/range/range.d.ts.map +0 -1
  399. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  400. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  401. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  402. package/lib/sync/range/utils/index.d.ts.map +0 -1
  403. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  404. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  405. package/lib/sync/sync.d.ts.map +0 -1
  406. package/lib/sync/types.d.ts.map +0 -1
  407. package/lib/sync/unknownBlock.d.ts.map +0 -1
  408. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  409. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  410. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  411. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  412. package/lib/util/address.d.ts.map +0 -1
  413. package/lib/util/array.d.ts.map +0 -1
  414. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  415. package/lib/util/binarySearch.d.ts.map +0 -1
  416. package/lib/util/bitArray.d.ts.map +0 -1
  417. package/lib/util/blobs.d.ts.map +0 -1
  418. package/lib/util/bufferPool.d.ts.map +0 -1
  419. package/lib/util/bytes.d.ts.map +0 -1
  420. package/lib/util/chunkify.d.ts.map +0 -1
  421. package/lib/util/clock.d.ts.map +0 -1
  422. package/lib/util/dataColumns.d.ts.map +0 -1
  423. package/lib/util/dependentRoot.d.ts.map +0 -1
  424. package/lib/util/enum.d.ts.map +0 -1
  425. package/lib/util/error.d.ts.map +0 -1
  426. package/lib/util/eventLoop.d.ts.map +0 -1
  427. package/lib/util/execution.d.ts.map +0 -1
  428. package/lib/util/file.d.ts.map +0 -1
  429. package/lib/util/forkChoice.d.ts.map +0 -1
  430. package/lib/util/forkName.d.ts.map +0 -1
  431. package/lib/util/graffiti.d.ts.map +0 -1
  432. package/lib/util/hex.d.ts.map +0 -1
  433. package/lib/util/index.d.ts.map +0 -1
  434. package/lib/util/ip.d.ts.map +0 -1
  435. package/lib/util/itTrigger.d.ts.map +0 -1
  436. package/lib/util/kzg.d.ts.map +0 -1
  437. package/lib/util/map.d.ts.map +0 -1
  438. package/lib/util/metadata.d.ts.map +0 -1
  439. package/lib/util/multifork.d.ts.map +0 -1
  440. package/lib/util/numpy.d.ts.map +0 -1
  441. package/lib/util/peerId.d.ts.map +0 -1
  442. package/lib/util/profile.d.ts.map +0 -1
  443. package/lib/util/promises.d.ts.map +0 -1
  444. package/lib/util/queue/errors.d.ts.map +0 -1
  445. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  446. package/lib/util/queue/index.d.ts.map +0 -1
  447. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  448. package/lib/util/queue/options.d.ts.map +0 -1
  449. package/lib/util/serializedCache.d.ts.map +0 -1
  450. package/lib/util/set.d.ts.map +0 -1
  451. package/lib/util/shuffle.d.ts.map +0 -1
  452. package/lib/util/sortBy.d.ts.map +0 -1
  453. package/lib/util/sszBytes.d.ts.map +0 -1
  454. package/lib/util/strictEvents.d.ts.map +0 -1
  455. package/lib/util/time.d.ts.map +0 -1
  456. package/lib/util/timeSeries.d.ts.map +0 -1
  457. package/lib/util/types.d.ts.map +0 -1
  458. package/lib/util/workerEvents.d.ts.map +0 -1
  459. package/lib/util/wrapError.d.ts.map +0 -1
  460. package/src/api/impl/api.ts +0 -26
  461. package/src/api/impl/beacon/blocks/index.ts +0 -744
  462. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  463. package/src/api/impl/beacon/index.ts +0 -35
  464. package/src/api/impl/beacon/pool/index.ts +0 -314
  465. package/src/api/impl/beacon/rewards/index.ts +0 -30
  466. package/src/api/impl/beacon/state/index.ts +0 -406
  467. package/src/api/impl/beacon/state/utils.ts +0 -189
  468. package/src/api/impl/config/constants.ts +0 -127
  469. package/src/api/impl/config/index.ts +0 -59
  470. package/src/api/impl/debug/index.ts +0 -131
  471. package/src/api/impl/errors.ts +0 -50
  472. package/src/api/impl/events/index.ts +0 -33
  473. package/src/api/impl/index.ts +0 -6
  474. package/src/api/impl/lightclient/index.ts +0 -64
  475. package/src/api/impl/lodestar/index.ts +0 -257
  476. package/src/api/impl/node/index.ts +0 -88
  477. package/src/api/impl/node/utils.ts +0 -51
  478. package/src/api/impl/proof/index.ts +0 -60
  479. package/src/api/impl/types.ts +0 -17
  480. package/src/api/impl/utils.ts +0 -25
  481. package/src/api/impl/validator/index.ts +0 -1538
  482. package/src/api/impl/validator/utils.ts +0 -85
  483. package/src/api/index.ts +0 -2
  484. package/src/api/options.ts +0 -16
  485. package/src/api/rest/activeSockets.ts +0 -109
  486. package/src/api/rest/base.ts +0 -216
  487. package/src/api/rest/index.ts +0 -63
  488. package/src/api/rest/swaggerUI.ts +0 -80
  489. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  490. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  491. package/src/chain/GetBlobsTracker.ts +0 -115
  492. package/src/chain/archiveStore/archiveStore.ts +0 -222
  493. package/src/chain/archiveStore/constants.ts +0 -5
  494. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  495. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  496. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  497. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  498. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  499. package/src/chain/archiveStore/index.ts +0 -3
  500. package/src/chain/archiveStore/interface.ts +0 -75
  501. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  502. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  503. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  504. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  505. package/src/chain/balancesCache.ts +0 -52
  506. package/src/chain/beaconProposerCache.ts +0 -43
  507. package/src/chain/blocks/blockInput/blockInput.ts +0 -851
  508. package/src/chain/blocks/blockInput/errors.ts +0 -48
  509. package/src/chain/blocks/blockInput/index.ts +0 -4
  510. package/src/chain/blocks/blockInput/types.ts +0 -145
  511. package/src/chain/blocks/blockInput/utils.ts +0 -21
  512. package/src/chain/blocks/importBlock.ts +0 -603
  513. package/src/chain/blocks/index.ts +0 -179
  514. package/src/chain/blocks/types.ts +0 -101
  515. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  516. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  517. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  518. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  519. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  520. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  521. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  522. package/src/chain/blocks/verifyBlock.ts +0 -242
  523. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -34
  524. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  525. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  526. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  527. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  528. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  529. package/src/chain/bls/index.ts +0 -4
  530. package/src/chain/bls/interface.ts +0 -68
  531. package/src/chain/bls/maybeBatch.ts +0 -45
  532. package/src/chain/bls/multithread/index.ts +0 -582
  533. package/src/chain/bls/multithread/jobItem.ts +0 -119
  534. package/src/chain/bls/multithread/poolSize.ts +0 -16
  535. package/src/chain/bls/multithread/types.ts +0 -38
  536. package/src/chain/bls/multithread/utils.ts +0 -19
  537. package/src/chain/bls/multithread/worker.ts +0 -114
  538. package/src/chain/bls/singleThread.ts +0 -87
  539. package/src/chain/bls/utils.ts +0 -30
  540. package/src/chain/chain.ts +0 -1365
  541. package/src/chain/emitter.ts +0 -113
  542. package/src/chain/errors/attestationError.ts +0 -194
  543. package/src/chain/errors/attesterSlashingError.ts +0 -11
  544. package/src/chain/errors/blobSidecarError.ts +0 -60
  545. package/src/chain/errors/blockError.ts +0 -166
  546. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  547. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  548. package/src/chain/errors/gossipValidation.ts +0 -20
  549. package/src/chain/errors/index.ts +0 -10
  550. package/src/chain/errors/lightClientError.ts +0 -30
  551. package/src/chain/errors/proposerSlashingError.ts +0 -11
  552. package/src/chain/errors/syncCommitteeError.ts +0 -36
  553. package/src/chain/errors/voluntaryExitError.ts +0 -13
  554. package/src/chain/forkChoice/index.ts +0 -112
  555. package/src/chain/genesis/genesis.ts +0 -190
  556. package/src/chain/genesis/interface.ts +0 -14
  557. package/src/chain/index.ts +0 -6
  558. package/src/chain/initState.ts +0 -221
  559. package/src/chain/interface.ts +0 -280
  560. package/src/chain/lightClient/index.ts +0 -764
  561. package/src/chain/lightClient/proofs.ts +0 -85
  562. package/src/chain/lightClient/types.ts +0 -33
  563. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  564. package/src/chain/opPools/attestationPool.ts +0 -283
  565. package/src/chain/opPools/index.ts +0 -5
  566. package/src/chain/opPools/opPool.ts +0 -462
  567. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -167
  568. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  569. package/src/chain/opPools/types.ts +0 -35
  570. package/src/chain/opPools/utils.ts +0 -65
  571. package/src/chain/options.ts +0 -138
  572. package/src/chain/prepareNextSlot.ts +0 -277
  573. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  574. package/src/chain/produceBlock/index.ts +0 -2
  575. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  576. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  577. package/src/chain/regen/errors.ts +0 -30
  578. package/src/chain/regen/index.ts +0 -4
  579. package/src/chain/regen/interface.ts +0 -93
  580. package/src/chain/regen/queued.ts +0 -317
  581. package/src/chain/regen/regen.ts +0 -424
  582. package/src/chain/reprocess.ts +0 -161
  583. package/src/chain/rewards/attestationsRewards.ts +0 -196
  584. package/src/chain/rewards/blockRewards.ts +0 -150
  585. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  586. package/src/chain/seenCache/index.ts +0 -5
  587. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  588. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  589. package/src/chain/seenCache/seenAttesters.ts +0 -58
  590. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  591. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  592. package/src/chain/seenCache/seenCommittee.ts +0 -43
  593. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  594. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  595. package/src/chain/serializeState.ts +0 -32
  596. package/src/chain/shufflingCache.ts +0 -238
  597. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  598. package/src/chain/stateCache/datastore/db.ts +0 -36
  599. package/src/chain/stateCache/datastore/file.ts +0 -53
  600. package/src/chain/stateCache/datastore/index.ts +0 -2
  601. package/src/chain/stateCache/datastore/types.ts +0 -13
  602. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  603. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  604. package/src/chain/stateCache/index.ts +0 -3
  605. package/src/chain/stateCache/mapMetrics.ts +0 -52
  606. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -835
  607. package/src/chain/stateCache/types.ts +0 -86
  608. package/src/chain/validation/aggregateAndProof.ts +0 -258
  609. package/src/chain/validation/attestation.ts +0 -885
  610. package/src/chain/validation/attesterSlashing.ts +0 -61
  611. package/src/chain/validation/blobSidecar.ts +0 -301
  612. package/src/chain/validation/block.ts +0 -188
  613. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  614. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  615. package/src/chain/validation/index.ts +0 -9
  616. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -45
  617. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -67
  618. package/src/chain/validation/proposerSlashing.ts +0 -54
  619. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  620. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  621. package/src/chain/validation/signatureSets/index.ts +0 -6
  622. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  623. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  624. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  625. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  626. package/src/chain/validation/syncCommittee.ts +0 -165
  627. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  628. package/src/chain/validation/voluntaryExit.ts +0 -58
  629. package/src/chain/validatorMonitor.ts +0 -1299
  630. package/src/constants/constants.ts +0 -15
  631. package/src/constants/index.ts +0 -2
  632. package/src/constants/network.ts +0 -52
  633. package/src/db/beacon.ts +0 -113
  634. package/src/db/buckets.ts +0 -80
  635. package/src/db/index.ts +0 -2
  636. package/src/db/interface.ts +0 -76
  637. package/src/db/options.ts +0 -7
  638. package/src/db/repositories/attesterSlashing.ts +0 -38
  639. package/src/db/repositories/backfilledRanges.ts +0 -29
  640. package/src/db/repositories/blobSidecars.ts +0 -37
  641. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  642. package/src/db/repositories/block.ts +0 -33
  643. package/src/db/repositories/blockArchive.ts +0 -170
  644. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  645. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  646. package/src/db/repositories/checkpointState.ts +0 -31
  647. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  648. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  649. package/src/db/repositories/depositDataRoot.ts +0 -80
  650. package/src/db/repositories/depositEvent.ts +0 -32
  651. package/src/db/repositories/eth1Data.ts +0 -33
  652. package/src/db/repositories/index.ts +0 -20
  653. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  654. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  655. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  656. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  657. package/src/db/repositories/proposerSlashing.ts +0 -15
  658. package/src/db/repositories/stateArchive.ts +0 -69
  659. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  660. package/src/db/repositories/voluntaryExit.ts +0 -15
  661. package/src/db/single/index.ts +0 -2
  662. package/src/db/single/preGenesisState.ts +0 -37
  663. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  664. package/src/eth1/errors.ts +0 -40
  665. package/src/eth1/eth1DataCache.ts +0 -26
  666. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  667. package/src/eth1/eth1DepositsCache.ts +0 -141
  668. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  669. package/src/eth1/index.ts +0 -157
  670. package/src/eth1/interface.ts +0 -131
  671. package/src/eth1/options.ts +0 -28
  672. package/src/eth1/provider/eth1Provider.ts +0 -229
  673. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  674. package/src/eth1/provider/jwt.ts +0 -36
  675. package/src/eth1/provider/utils.ts +0 -136
  676. package/src/eth1/stream.ts +0 -75
  677. package/src/eth1/utils/depositContract.ts +0 -37
  678. package/src/eth1/utils/deposits.ts +0 -70
  679. package/src/eth1/utils/eth1Data.ts +0 -100
  680. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  681. package/src/eth1/utils/eth1Vote.ts +0 -142
  682. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  683. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  684. package/src/execution/builder/cache.ts +0 -39
  685. package/src/execution/builder/http.ts +0 -229
  686. package/src/execution/builder/index.ts +0 -27
  687. package/src/execution/builder/interface.ts +0 -49
  688. package/src/execution/builder/utils.ts +0 -19
  689. package/src/execution/engine/disabled.ts +0 -35
  690. package/src/execution/engine/http.ts +0 -644
  691. package/src/execution/engine/index.ts +0 -63
  692. package/src/execution/engine/interface.ts +0 -199
  693. package/src/execution/engine/mock.ts +0 -493
  694. package/src/execution/engine/payloadIdCache.ts +0 -54
  695. package/src/execution/engine/types.ts +0 -640
  696. package/src/execution/engine/utils.ts +0 -136
  697. package/src/execution/index.ts +0 -4
  698. package/src/index.ts +0 -20
  699. package/src/metrics/index.ts +0 -4
  700. package/src/metrics/metrics/beacon.ts +0 -390
  701. package/src/metrics/metrics/lodestar.ts +0 -1870
  702. package/src/metrics/metrics.ts +0 -43
  703. package/src/metrics/nodeJsMetrics.ts +0 -19
  704. package/src/metrics/options.ts +0 -22
  705. package/src/metrics/server/http.ts +0 -114
  706. package/src/metrics/server/index.ts +0 -1
  707. package/src/metrics/utils/avgMinMax.ts +0 -87
  708. package/src/metrics/utils/gauge.ts +0 -22
  709. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  710. package/src/monitoring/clientStats.ts +0 -297
  711. package/src/monitoring/index.ts +0 -2
  712. package/src/monitoring/options.ts +0 -19
  713. package/src/monitoring/properties.ts +0 -152
  714. package/src/monitoring/service.ts +0 -235
  715. package/src/monitoring/system.ts +0 -146
  716. package/src/monitoring/types.ts +0 -21
  717. package/src/network/core/events.ts +0 -59
  718. package/src/network/core/index.ts +0 -3
  719. package/src/network/core/metrics.ts +0 -304
  720. package/src/network/core/networkCore.ts +0 -599
  721. package/src/network/core/networkCoreWorker.ts +0 -176
  722. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  723. package/src/network/core/types.ts +0 -119
  724. package/src/network/discv5/index.ts +0 -132
  725. package/src/network/discv5/types.ts +0 -74
  726. package/src/network/discv5/utils.ts +0 -50
  727. package/src/network/discv5/worker.ts +0 -137
  728. package/src/network/events.ts +0 -51
  729. package/src/network/forks.ts +0 -94
  730. package/src/network/gossip/constants.ts +0 -15
  731. package/src/network/gossip/encoding.ts +0 -111
  732. package/src/network/gossip/errors.ts +0 -7
  733. package/src/network/gossip/gossipsub.ts +0 -384
  734. package/src/network/gossip/index.ts +0 -4
  735. package/src/network/gossip/interface.ts +0 -215
  736. package/src/network/gossip/metrics.ts +0 -71
  737. package/src/network/gossip/scoringParameters.ts +0 -333
  738. package/src/network/gossip/topic.ts +0 -332
  739. package/src/network/index.ts +0 -8
  740. package/src/network/interface.ts +0 -134
  741. package/src/network/libp2p/error.ts +0 -55
  742. package/src/network/libp2p/index.ts +0 -153
  743. package/src/network/metadata.ts +0 -162
  744. package/src/network/network.ts +0 -767
  745. package/src/network/networkConfig.ts +0 -12
  746. package/src/network/options.ts +0 -70
  747. package/src/network/peers/client.ts +0 -29
  748. package/src/network/peers/datastore.ts +0 -188
  749. package/src/network/peers/discover.ts +0 -647
  750. package/src/network/peers/index.ts +0 -2
  751. package/src/network/peers/peerManager.ts +0 -899
  752. package/src/network/peers/peersData.ts +0 -65
  753. package/src/network/peers/score/constants.ts +0 -34
  754. package/src/network/peers/score/index.ts +0 -4
  755. package/src/network/peers/score/interface.ts +0 -74
  756. package/src/network/peers/score/score.ts +0 -200
  757. package/src/network/peers/score/store.ts +0 -95
  758. package/src/network/peers/score/utils.ts +0 -37
  759. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  760. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  761. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  762. package/src/network/peers/utils/index.ts +0 -4
  763. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  764. package/src/network/peers/utils/subnetMap.ts +0 -88
  765. package/src/network/processor/aggregatorTracker.ts +0 -38
  766. package/src/network/processor/extractSlotRootFns.ts +0 -64
  767. package/src/network/processor/gossipHandlers.ts +0 -951
  768. package/src/network/processor/gossipQueues/index.ts +0 -114
  769. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  770. package/src/network/processor/gossipQueues/linear.ts +0 -162
  771. package/src/network/processor/gossipQueues/types.ts +0 -57
  772. package/src/network/processor/gossipValidatorFn.ts +0 -142
  773. package/src/network/processor/index.ts +0 -496
  774. package/src/network/processor/types.ts +0 -27
  775. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  776. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  777. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  778. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  779. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  780. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  781. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  782. package/src/network/reqresp/handlers/index.ts +0 -78
  783. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  784. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  785. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  786. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  787. package/src/network/reqresp/index.ts +0 -2
  788. package/src/network/reqresp/interface.ts +0 -45
  789. package/src/network/reqresp/protocols.ts +0 -146
  790. package/src/network/reqresp/rateLimit.ts +0 -112
  791. package/src/network/reqresp/score.ts +0 -70
  792. package/src/network/reqresp/types.ts +0 -174
  793. package/src/network/reqresp/utils/collect.ts +0 -84
  794. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  795. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  796. package/src/network/statusCache.ts +0 -17
  797. package/src/network/subnets/attnetsService.ts +0 -385
  798. package/src/network/subnets/index.ts +0 -2
  799. package/src/network/subnets/interface.ts +0 -66
  800. package/src/network/subnets/syncnetsService.ts +0 -147
  801. package/src/network/subnets/util.ts +0 -63
  802. package/src/network/util.ts +0 -29
  803. package/src/node/index.ts +0 -2
  804. package/src/node/nodejs.ts +0 -349
  805. package/src/node/notifier.ts +0 -206
  806. package/src/node/options.ts +0 -51
  807. package/src/node/utils/interop/deposits.ts +0 -53
  808. package/src/node/utils/interop/state.ts +0 -59
  809. package/src/node/utils/lightclient.ts +0 -7
  810. package/src/node/utils/state.ts +0 -37
  811. package/src/sync/backfill/backfill.ts +0 -893
  812. package/src/sync/backfill/errors.ts +0 -23
  813. package/src/sync/backfill/index.ts +0 -1
  814. package/src/sync/backfill/verify.ts +0 -58
  815. package/src/sync/constants.ts +0 -71
  816. package/src/sync/index.ts +0 -2
  817. package/src/sync/interface.ts +0 -55
  818. package/src/sync/options.ts +0 -45
  819. package/src/sync/range/batch.ts +0 -455
  820. package/src/sync/range/chain.ts +0 -715
  821. package/src/sync/range/range.ts +0 -354
  822. package/src/sync/range/utils/batches.ts +0 -119
  823. package/src/sync/range/utils/chainTarget.ts +0 -62
  824. package/src/sync/range/utils/hashBlocks.ts +0 -27
  825. package/src/sync/range/utils/index.ts +0 -5
  826. package/src/sync/range/utils/peerBalancer.ts +0 -184
  827. package/src/sync/range/utils/updateChains.ts +0 -66
  828. package/src/sync/sync.ts +0 -290
  829. package/src/sync/types.ts +0 -57
  830. package/src/sync/unknownBlock.ts +0 -859
  831. package/src/sync/utils/downloadByRange.ts +0 -808
  832. package/src/sync/utils/downloadByRoot.ts +0 -560
  833. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  834. package/src/sync/utils/remoteSyncType.ts +0 -144
  835. package/src/util/address.ts +0 -3
  836. package/src/util/array.ts +0 -311
  837. package/src/util/asyncIterableToEvents.ts +0 -164
  838. package/src/util/binarySearch.ts +0 -48
  839. package/src/util/bitArray.ts +0 -84
  840. package/src/util/blobs.ts +0 -210
  841. package/src/util/bufferPool.ts +0 -95
  842. package/src/util/bytes.ts +0 -11
  843. package/src/util/chunkify.ts +0 -27
  844. package/src/util/clock.ts +0 -204
  845. package/src/util/dataColumns.ts +0 -415
  846. package/src/util/dependentRoot.ts +0 -47
  847. package/src/util/enum.ts +0 -17
  848. package/src/util/error.ts +0 -56
  849. package/src/util/eventLoop.ts +0 -22
  850. package/src/util/execution.ts +0 -223
  851. package/src/util/file.ts +0 -52
  852. package/src/util/forkChoice.ts +0 -5
  853. package/src/util/forkName.ts +0 -20
  854. package/src/util/graffiti.ts +0 -39
  855. package/src/util/hex.ts +0 -9
  856. package/src/util/index.ts +0 -2
  857. package/src/util/ip.ts +0 -6
  858. package/src/util/itTrigger.ts +0 -49
  859. package/src/util/kzg.ts +0 -3
  860. package/src/util/map.ts +0 -77
  861. package/src/util/metadata.ts +0 -22
  862. package/src/util/multifork.ts +0 -69
  863. package/src/util/numpy.ts +0 -8
  864. package/src/util/peerId.ts +0 -16
  865. package/src/util/profile.ts +0 -54
  866. package/src/util/promises.ts +0 -14
  867. package/src/util/queue/errors.ts +0 -14
  868. package/src/util/queue/fnQueue.ts +0 -16
  869. package/src/util/queue/index.ts +0 -4
  870. package/src/util/queue/itemQueue.ts +0 -128
  871. package/src/util/queue/options.ts +0 -37
  872. package/src/util/serializedCache.ts +0 -20
  873. package/src/util/set.ts +0 -62
  874. package/src/util/shuffle.ts +0 -21
  875. package/src/util/sortBy.ts +0 -19
  876. package/src/util/sszBytes.ts +0 -481
  877. package/src/util/strictEvents.ts +0 -8
  878. package/src/util/time.ts +0 -13
  879. package/src/util/timeSeries.ts +0 -118
  880. package/src/util/types.ts +0 -31
  881. package/src/util/workerEvents.ts +0 -142
  882. package/src/util/wrapError.ts +0 -27
@@ -1,333 +0,0 @@
1
- import {
2
- PeerScoreParams,
3
- PeerScoreThresholds,
4
- TopicScoreParams,
5
- defaultTopicScoreParams,
6
- } from "@chainsafe/libp2p-gossipsub/score";
7
- import {BeaconConfig} from "@lodestar/config";
8
- import {ATTESTATION_SUBNET_COUNT, SLOTS_PER_EPOCH, TARGET_AGGREGATORS_PER_COMMITTEE} from "@lodestar/params";
9
- import {computeCommitteeCount} from "@lodestar/state-transition";
10
- import {getActiveForkBoundaries} from "../forks.js";
11
- import {Eth2Context} from "./gossipsub.js";
12
- import {GossipType} from "./interface.js";
13
- import {stringifyGossipTopic} from "./topic.js";
14
-
15
- export const GOSSIP_D = 8;
16
- export const GOSSIP_D_LOW = 6;
17
- export const GOSSIP_D_HIGH = 12;
18
-
19
- const MAX_IN_MESH_SCORE = 10.0;
20
- const MAX_FIRST_MESSAGE_DELIVERIES_SCORE = 40.0;
21
- const BEACON_BLOCK_WEIGHT = 0.5;
22
- const BEACON_AGGREGATE_PROOF_WEIGHT = 0.5;
23
- const VOLUNTARY_EXIT_WEIGHT = 0.05;
24
- const PROPOSER_SLASHING_WEIGHT = 0.05;
25
- const ATTESTER_SLASHING_WEIGHT = 0.05;
26
- const BLS_TO_EXECUTION_CHANGE_WEIGHT = 0.05;
27
-
28
- const beaconAttestationSubnetWeight = 1 / ATTESTATION_SUBNET_COUNT;
29
- const maxPositiveScore =
30
- (MAX_IN_MESH_SCORE + MAX_FIRST_MESSAGE_DELIVERIES_SCORE) *
31
- (BEACON_BLOCK_WEIGHT +
32
- +BEACON_AGGREGATE_PROOF_WEIGHT +
33
- beaconAttestationSubnetWeight * ATTESTATION_SUBNET_COUNT +
34
- VOLUNTARY_EXIT_WEIGHT +
35
- PROPOSER_SLASHING_WEIGHT +
36
- ATTESTER_SLASHING_WEIGHT +
37
- BLS_TO_EXECUTION_CHANGE_WEIGHT);
38
-
39
- /**
40
- * The following params is implemented by Lighthouse at
41
- * https://github.com/sigp/lighthouse/blob/b0ac3464ca5fb1e9d75060b56c83bfaf990a3d25/beacon_node/eth2_libp2p/src/behaviour/gossipsub_scoring_parameters.rs#L83
42
- */
43
- export const gossipScoreThresholds: PeerScoreThresholds = {
44
- gossipThreshold: -4000,
45
- publishThreshold: -8000,
46
- graylistThreshold: -16000,
47
- acceptPXThreshold: 100,
48
- opportunisticGraftThreshold: 5,
49
- };
50
-
51
- /**
52
- * Peer may sometimes has negative gossipsub score and we give it time to recover, however gossipsub score comes below this we need to take into account.
53
- * Given gossipsubThresold = -4000, it's comfortable to only ignore negative score gossip peer score > -1000
54
- */
55
- export const negativeGossipScoreIgnoreThreshold = -1000;
56
-
57
- type MeshMessageInfo = {
58
- decaySlots: number;
59
- capFactor: number;
60
- activationWindow: number;
61
- currentSlot: number;
62
- };
63
-
64
- type PreComputedParams = {
65
- scoreParameterDecayFn: (decayTimeMs: number) => number;
66
- epochDurationMs: number;
67
- slotDurationMs: number;
68
- };
69
-
70
- type TopicScoreInput = {
71
- topicWeight: number;
72
- expectedMessageRate: number;
73
- firstMessageDecayTime: number;
74
- meshMessageInfo?: MeshMessageInfo;
75
- };
76
-
77
- /**
78
- * Explanation of each param https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/gossipsub-v1.1.md#peer-scoring
79
- */
80
- export function computeGossipPeerScoreParams({
81
- config,
82
- eth2Context,
83
- }: {
84
- config: BeaconConfig;
85
- eth2Context: Eth2Context;
86
- }): Partial<PeerScoreParams> {
87
- const decayIntervalMs = config.SECONDS_PER_SLOT * 1000;
88
- const decayToZero = 0.01;
89
- const epochDurationMs = config.SECONDS_PER_SLOT * SLOTS_PER_EPOCH * 1000;
90
- const slotDurationMs = config.SECONDS_PER_SLOT * 1000;
91
- const scoreParameterDecayFn = (decayTimeMs: number): number => {
92
- return scoreParameterDecayWithBase(decayTimeMs, decayIntervalMs, decayToZero);
93
- };
94
- const behaviourPenaltyDecay = scoreParameterDecayFn(epochDurationMs * 10);
95
- const behaviourPenaltyThreshold = 6;
96
- const targetValue = decayConvergence(behaviourPenaltyDecay, 10 / SLOTS_PER_EPOCH) - behaviourPenaltyThreshold;
97
- const topicScoreCap = maxPositiveScore * 0.5;
98
-
99
- const params = {
100
- topics: getAllTopicsScoreParams(config, eth2Context, {
101
- epochDurationMs,
102
- slotDurationMs,
103
- scoreParameterDecayFn,
104
- }),
105
- decayInterval: decayIntervalMs,
106
- decayToZero,
107
- // time to remember counters for a disconnected peer, should be in ms
108
- retainScore: epochDurationMs * 100,
109
- appSpecificWeight: 1,
110
- IPColocationFactorThreshold: 3,
111
- // js-gossipsub doesn't have behaviourPenaltiesThreshold
112
- behaviourPenaltyDecay,
113
- behaviourPenaltyWeight: gossipScoreThresholds.gossipThreshold / (targetValue * targetValue),
114
- behaviourPenaltyThreshold,
115
- topicScoreCap,
116
- IPColocationFactorWeight: -1 * topicScoreCap,
117
- };
118
- return params;
119
- }
120
-
121
- function getAllTopicsScoreParams(
122
- config: BeaconConfig,
123
- eth2Context: Eth2Context,
124
- precomputedParams: PreComputedParams
125
- ): Record<string, TopicScoreParams> {
126
- const {epochDurationMs, slotDurationMs} = precomputedParams;
127
- const epoch = eth2Context.currentEpoch;
128
- const topicsParams: Record<string, TopicScoreParams> = {};
129
- const boundaries = getActiveForkBoundaries(config, epoch);
130
- const beaconAttestationSubnetWeight = 1 / ATTESTATION_SUBNET_COUNT;
131
- for (const boundary of boundaries) {
132
- //first all fixed topics
133
- topicsParams[
134
- stringifyGossipTopic(config, {
135
- type: GossipType.voluntary_exit,
136
- boundary,
137
- })
138
- ] = getTopicScoreParams(config, precomputedParams, {
139
- topicWeight: VOLUNTARY_EXIT_WEIGHT,
140
- expectedMessageRate: 4 / SLOTS_PER_EPOCH,
141
- firstMessageDecayTime: epochDurationMs * 100,
142
- });
143
-
144
- topicsParams[
145
- stringifyGossipTopic(config, {
146
- type: GossipType.bls_to_execution_change,
147
- boundary,
148
- })
149
- ] = getTopicScoreParams(config, precomputedParams, {
150
- topicWeight: BLS_TO_EXECUTION_CHANGE_WEIGHT,
151
- expectedMessageRate: 4 / SLOTS_PER_EPOCH,
152
- firstMessageDecayTime: epochDurationMs * 100,
153
- });
154
-
155
- topicsParams[
156
- stringifyGossipTopic(config, {
157
- type: GossipType.attester_slashing,
158
- boundary,
159
- })
160
- ] = getTopicScoreParams(config, precomputedParams, {
161
- topicWeight: ATTESTER_SLASHING_WEIGHT,
162
- expectedMessageRate: 1 / 5 / SLOTS_PER_EPOCH,
163
- firstMessageDecayTime: epochDurationMs * 100,
164
- });
165
- topicsParams[
166
- stringifyGossipTopic(config, {
167
- type: GossipType.proposer_slashing,
168
- boundary,
169
- })
170
- ] = getTopicScoreParams(config, precomputedParams, {
171
- topicWeight: PROPOSER_SLASHING_WEIGHT,
172
- expectedMessageRate: 1 / 5 / SLOTS_PER_EPOCH,
173
- firstMessageDecayTime: epochDurationMs * 100,
174
- });
175
-
176
- // other topics
177
- topicsParams[
178
- stringifyGossipTopic(config, {
179
- type: GossipType.beacon_block,
180
- boundary,
181
- })
182
- ] = getTopicScoreParams(config, precomputedParams, {
183
- topicWeight: BEACON_BLOCK_WEIGHT,
184
- expectedMessageRate: 1,
185
- firstMessageDecayTime: epochDurationMs * 20,
186
- meshMessageInfo: {
187
- decaySlots: SLOTS_PER_EPOCH * 5,
188
- capFactor: 3,
189
- activationWindow: epochDurationMs,
190
- currentSlot: eth2Context.currentSlot,
191
- },
192
- });
193
-
194
- const activeValidatorCount = eth2Context.activeValidatorCount;
195
- const {aggregatorsPerslot, committeesPerSlot} = expectedAggregatorCountPerSlot(activeValidatorCount);
196
-
197
- // Checks to prevent unwanted errors in gossipsub
198
- // Error: invalid score parameters for topic /eth2/4a26c58b/beacon_attestation_0/ssz_snappy: invalid FirstMessageDeliveriesCap; must be positive
199
- // at Object.validatePeerScoreParams (/usr/app/node_modules/libp2p-gossipsub/src/score/peer-score-params.js:62:27)
200
- if (activeValidatorCount === 0) throw Error("activeValidatorCount === 0");
201
- if (aggregatorsPerslot === 0) throw Error("aggregatorsPerslot === 0");
202
-
203
- const multipleBurstsPerSubnetPerEpoch = committeesPerSlot >= (2 * ATTESTATION_SUBNET_COUNT) / SLOTS_PER_EPOCH;
204
- topicsParams[
205
- stringifyGossipTopic(config, {
206
- type: GossipType.beacon_aggregate_and_proof,
207
- boundary,
208
- })
209
- ] = getTopicScoreParams(config, precomputedParams, {
210
- topicWeight: BEACON_AGGREGATE_PROOF_WEIGHT,
211
- expectedMessageRate: aggregatorsPerslot,
212
- firstMessageDecayTime: epochDurationMs,
213
- meshMessageInfo: {
214
- decaySlots: SLOTS_PER_EPOCH * 2,
215
- capFactor: 4,
216
- activationWindow: epochDurationMs,
217
- currentSlot: eth2Context.currentSlot,
218
- },
219
- });
220
-
221
- const beaconAttestationParams = getTopicScoreParams(config, precomputedParams, {
222
- topicWeight: beaconAttestationSubnetWeight,
223
- expectedMessageRate: activeValidatorCount / ATTESTATION_SUBNET_COUNT / SLOTS_PER_EPOCH,
224
- firstMessageDecayTime: multipleBurstsPerSubnetPerEpoch ? epochDurationMs : epochDurationMs * 4,
225
- meshMessageInfo: {
226
- decaySlots: multipleBurstsPerSubnetPerEpoch ? SLOTS_PER_EPOCH * 4 : SLOTS_PER_EPOCH * 16,
227
- capFactor: 16,
228
- activationWindow: multipleBurstsPerSubnetPerEpoch
229
- ? slotDurationMs * (SLOTS_PER_EPOCH / 2 + 1)
230
- : epochDurationMs,
231
- currentSlot: eth2Context.currentSlot,
232
- },
233
- });
234
- for (let subnet = 0; subnet < ATTESTATION_SUBNET_COUNT; subnet++) {
235
- const topicStr = stringifyGossipTopic(config, {
236
- type: GossipType.beacon_attestation,
237
- subnet,
238
- boundary,
239
- });
240
- topicsParams[topicStr] = beaconAttestationParams;
241
- }
242
- }
243
- return topicsParams;
244
- }
245
-
246
- function getTopicScoreParams(
247
- config: BeaconConfig,
248
- {epochDurationMs, slotDurationMs, scoreParameterDecayFn}: PreComputedParams,
249
- {topicWeight, expectedMessageRate, firstMessageDecayTime, meshMessageInfo}: TopicScoreInput
250
- ): TopicScoreParams {
251
- const params = {...defaultTopicScoreParams};
252
-
253
- params.topicWeight = topicWeight;
254
-
255
- params.timeInMeshQuantum = slotDurationMs;
256
- params.timeInMeshCap = 3600 / (params.timeInMeshQuantum / 1000);
257
- params.timeInMeshWeight = 10 / params.timeInMeshCap;
258
-
259
- params.firstMessageDeliveriesDecay = scoreParameterDecayFn(firstMessageDecayTime);
260
- params.firstMessageDeliveriesCap = decayConvergence(
261
- params.firstMessageDeliveriesDecay,
262
- (2 * expectedMessageRate) / GOSSIP_D
263
- );
264
- params.firstMessageDeliveriesWeight = 40 / params.firstMessageDeliveriesCap;
265
-
266
- if (meshMessageInfo) {
267
- const {decaySlots, capFactor, activationWindow, currentSlot} = meshMessageInfo;
268
- const decayTimeMs = config.SECONDS_PER_SLOT * decaySlots * 1000;
269
- params.meshMessageDeliveriesDecay = scoreParameterDecayFn(decayTimeMs);
270
- params.meshMessageDeliveriesThreshold = threshold(params.meshMessageDeliveriesDecay, expectedMessageRate / 50);
271
- params.meshMessageDeliveriesCap = Math.max(capFactor * params.meshMessageDeliveriesThreshold, 2);
272
- params.meshMessageDeliveriesActivation = activationWindow;
273
- // the default in gossipsub is 2s is not enough since lodestar suffers from I/O lag
274
- params.meshMessageDeliveriesWindow = 12 * 1000; // 12s
275
- params.meshFailurePenaltyDecay = params.meshMessageDeliveriesDecay;
276
- params.meshMessageDeliveriesWeight =
277
- (-1 * maxPositiveScore) / (params.topicWeight * Math.pow(params.meshMessageDeliveriesThreshold, 2));
278
- params.meshFailurePenaltyWeight = params.meshMessageDeliveriesWeight;
279
- if (decaySlots >= currentSlot) {
280
- params.meshMessageDeliveriesThreshold = 0;
281
- params.meshMessageDeliveriesWeight = 0;
282
- }
283
- } else {
284
- params.meshMessageDeliveriesWeight = 0;
285
- params.meshMessageDeliveriesThreshold = 0;
286
- params.meshMessageDeliveriesDecay = 0;
287
- params.meshMessageDeliveriesCap = 0;
288
- params.meshMessageDeliveriesWindow = 0;
289
- params.meshMessageDeliveriesActivation = 0;
290
- params.meshFailurePenaltyDecay = 0;
291
- params.meshFailurePenaltyWeight = 0;
292
- }
293
- params.invalidMessageDeliveriesWeight = (-1 * maxPositiveScore) / params.topicWeight;
294
- params.invalidMessageDeliveriesDecay = scoreParameterDecayFn(epochDurationMs * 50);
295
- return params;
296
- }
297
-
298
- function scoreParameterDecayWithBase(decayTimeMs: number, decayIntervalMs: number, decayToZero: number): number {
299
- const ticks = decayTimeMs / decayIntervalMs;
300
- return Math.pow(decayToZero, 1 / ticks);
301
- }
302
-
303
- function expectedAggregatorCountPerSlot(activeValidatorCount: number): {
304
- aggregatorsPerslot: number;
305
- committeesPerSlot: number;
306
- } {
307
- const committeesPerSlot = computeCommitteeCount(activeValidatorCount);
308
- const committeesPerEpoch = committeesPerSlot * SLOTS_PER_EPOCH;
309
- const smallerCommitteeSize = Math.floor(activeValidatorCount / committeesPerEpoch);
310
- const largerCommiteeeSize = smallerCommitteeSize + 1;
311
- const largeCommitteesPerEpoch = activeValidatorCount - smallerCommitteeSize * committeesPerEpoch;
312
- const smallCommiteesPerEpoch = committeesPerEpoch - largeCommitteesPerEpoch;
313
- const moduloSmaller = Math.max(1, Math.floor(smallerCommitteeSize / TARGET_AGGREGATORS_PER_COMMITTEE));
314
- const moduloLarger = Math.max(1, Math.floor((smallerCommitteeSize + 1) / TARGET_AGGREGATORS_PER_COMMITTEE));
315
- const smallCommitteeAggregatorPerEpoch = Math.floor((smallerCommitteeSize / moduloSmaller) * smallCommiteesPerEpoch);
316
- const largeCommitteeAggregatorPerEpoch = Math.floor((largerCommiteeeSize / moduloLarger) * largeCommitteesPerEpoch);
317
-
318
- return {
319
- aggregatorsPerslot: Math.max(
320
- 1,
321
- Math.floor((smallCommitteeAggregatorPerEpoch + largeCommitteeAggregatorPerEpoch) / SLOTS_PER_EPOCH)
322
- ),
323
- committeesPerSlot,
324
- };
325
- }
326
-
327
- function threshold(decay: number, rate: number): number {
328
- return decayConvergence(decay, rate) * decay;
329
- }
330
-
331
- function decayConvergence(decay: number, rate: number): number {
332
- return rate / (1 - decay);
333
- }
@@ -1,332 +0,0 @@
1
- import {ForkDigestContext} from "@lodestar/config";
2
- import {
3
- ATTESTATION_SUBNET_COUNT,
4
- ForkName,
5
- ForkSeq,
6
- SYNC_COMMITTEE_SUBNET_COUNT,
7
- isForkPostAltair,
8
- isForkPostElectra,
9
- } from "@lodestar/params";
10
- import {Attestation, SingleAttestation, ssz, sszTypesFor} from "@lodestar/types";
11
- import {GossipAction, GossipActionError, GossipErrorCode} from "../../chain/errors/gossipValidation.js";
12
- import {NetworkConfig} from "../networkConfig.js";
13
- import {DEFAULT_ENCODING} from "./constants.js";
14
- import {GossipEncoding, GossipTopic, GossipTopicTypeMap, GossipType, SSZTypeOfGossipTopic} from "./interface.js";
15
-
16
- export interface IGossipTopicCache {
17
- getTopic(topicStr: string): GossipTopic;
18
- }
19
-
20
- export class GossipTopicCache implements IGossipTopicCache {
21
- private topicsByTopicStr = new Map<string, Required<GossipTopic>>();
22
-
23
- constructor(private readonly forkDigestContext: ForkDigestContext) {}
24
-
25
- /** Returns cached GossipTopic, otherwise attempts to parse it from the str */
26
- getTopic(topicStr: string): GossipTopic {
27
- let topic = this.topicsByTopicStr.get(topicStr);
28
- if (topic === undefined) {
29
- topic = parseGossipTopic(this.forkDigestContext, topicStr);
30
- // TODO: Consider just throwing here. We should only receive messages from known subscribed topics
31
- this.topicsByTopicStr.set(topicStr, topic);
32
- }
33
- return topic;
34
- }
35
-
36
- /** Returns cached GossipTopic, otherwise returns undefined */
37
- getKnownTopic(topicStr: string): GossipTopic | undefined {
38
- return this.topicsByTopicStr.get(topicStr);
39
- }
40
-
41
- setTopic(topicStr: string, topic: GossipTopic): void {
42
- if (!this.topicsByTopicStr.has(topicStr)) {
43
- this.topicsByTopicStr.set(topicStr, {encoding: DEFAULT_ENCODING, ...topic});
44
- }
45
- }
46
- }
47
-
48
- /**
49
- * Stringify a GossipTopic into a spec-ed formated topic string
50
- */
51
- export function stringifyGossipTopic(forkDigestContext: ForkDigestContext, topic: GossipTopic): string {
52
- const forkDigestHexNoPrefix = forkDigestContext.forkBoundary2ForkDigestHex(topic.boundary);
53
- const topicType = stringifyGossipTopicType(topic);
54
- const encoding = topic.encoding ?? DEFAULT_ENCODING;
55
- return `/eth2/${forkDigestHexNoPrefix}/${topicType}/${encoding}`;
56
- }
57
-
58
- /**
59
- * Stringify a GossipTopic into a spec-ed formated partial topic string
60
- */
61
- function stringifyGossipTopicType(topic: GossipTopic): string {
62
- switch (topic.type) {
63
- case GossipType.beacon_block:
64
- case GossipType.beacon_aggregate_and_proof:
65
- case GossipType.voluntary_exit:
66
- case GossipType.proposer_slashing:
67
- case GossipType.attester_slashing:
68
- case GossipType.sync_committee_contribution_and_proof:
69
- case GossipType.light_client_finality_update:
70
- case GossipType.light_client_optimistic_update:
71
- case GossipType.bls_to_execution_change:
72
- return topic.type;
73
- case GossipType.beacon_attestation:
74
- case GossipType.sync_committee:
75
- return `${topic.type}_${topic.subnet}`;
76
- case GossipType.blob_sidecar:
77
- return `${topic.type}_${topic.subnet}`;
78
- case GossipType.data_column_sidecar:
79
- return `${topic.type}_${topic.subnet}`;
80
- }
81
- }
82
-
83
- export function getGossipSSZType(topic: GossipTopic) {
84
- const {fork} = topic.boundary;
85
- switch (topic.type) {
86
- case GossipType.beacon_block:
87
- // beacon_block is updated in altair to support the updated SignedBeaconBlock type
88
- return ssz[fork].SignedBeaconBlock;
89
- case GossipType.blob_sidecar:
90
- return ssz.deneb.BlobSidecar;
91
- case GossipType.data_column_sidecar:
92
- return ssz.fulu.DataColumnSidecar;
93
- case GossipType.beacon_aggregate_and_proof:
94
- return sszTypesFor(fork).SignedAggregateAndProof;
95
- case GossipType.beacon_attestation:
96
- return sszTypesFor(fork).SingleAttestation;
97
- case GossipType.proposer_slashing:
98
- return ssz.phase0.ProposerSlashing;
99
- case GossipType.attester_slashing:
100
- return sszTypesFor(fork).AttesterSlashing;
101
- case GossipType.voluntary_exit:
102
- return ssz.phase0.SignedVoluntaryExit;
103
- case GossipType.sync_committee_contribution_and_proof:
104
- return ssz.altair.SignedContributionAndProof;
105
- case GossipType.sync_committee:
106
- return ssz.altair.SyncCommitteeMessage;
107
- case GossipType.light_client_optimistic_update:
108
- return isForkPostAltair(fork)
109
- ? sszTypesFor(fork).LightClientOptimisticUpdate
110
- : ssz.altair.LightClientOptimisticUpdate;
111
- case GossipType.light_client_finality_update:
112
- return isForkPostAltair(fork)
113
- ? sszTypesFor(fork).LightClientFinalityUpdate
114
- : ssz.altair.LightClientFinalityUpdate;
115
- case GossipType.bls_to_execution_change:
116
- return ssz.capella.SignedBLSToExecutionChange;
117
- }
118
- }
119
-
120
- /**
121
- * Deserialize a gossip serialized data into an ssz object.
122
- */
123
- export function sszDeserialize<T extends GossipTopic>(topic: T, serializedData: Uint8Array): SSZTypeOfGossipTopic<T> {
124
- const sszType = getGossipSSZType(topic);
125
- try {
126
- return sszType.deserialize(serializedData) as SSZTypeOfGossipTopic<T>;
127
- } catch (_e) {
128
- throw new GossipActionError(GossipAction.REJECT, {code: GossipErrorCode.INVALID_SERIALIZED_BYTES_ERROR_CODE});
129
- }
130
- }
131
-
132
- /**
133
- * @deprecated
134
- * Deserialize a gossip serialized data into an Attestation object.
135
- * No longer used post-electra. Use `sszDeserializeSingleAttestation` instead
136
- */
137
- export function sszDeserializeAttestation(fork: ForkName, serializedData: Uint8Array): Attestation {
138
- try {
139
- return sszTypesFor(fork).Attestation.deserialize(serializedData);
140
- } catch (_e) {
141
- throw new GossipActionError(GossipAction.REJECT, {code: GossipErrorCode.INVALID_SERIALIZED_BYTES_ERROR_CODE});
142
- }
143
- }
144
-
145
- /**
146
- * Deserialize a gossip seralized data into an SingleAttestation object.
147
- */
148
- export function sszDeserializeSingleAttestation(fork: ForkName, serializedData: Uint8Array): SingleAttestation {
149
- try {
150
- if (isForkPostElectra(fork)) {
151
- return sszTypesFor(fork).SingleAttestation.deserialize(serializedData);
152
- }
153
- return sszTypesFor(fork).Attestation.deserialize(serializedData) as SingleAttestation;
154
- } catch (_e) {
155
- throw new GossipActionError(GossipAction.REJECT, {code: GossipErrorCode.INVALID_SERIALIZED_BYTES_ERROR_CODE});
156
- }
157
- }
158
-
159
- // Parsing
160
-
161
- const gossipTopicRegex = /^\/eth2\/(\w+)\/(\w+)\/(\w+)/;
162
-
163
- /**
164
- * Parse a `GossipTopic` object from its stringified form.
165
- * A gossip topic has the format
166
- * ```ts
167
- * /eth2/$FORK_DIGEST/$GOSSIP_TYPE/$ENCODING
168
- * ```
169
- */
170
- export function parseGossipTopic(forkDigestContext: ForkDigestContext, topicStr: string): Required<GossipTopic> {
171
- try {
172
- const matches = topicStr.match(gossipTopicRegex);
173
- if (matches === null) {
174
- throw Error(`Must match regex ${gossipTopicRegex}`);
175
- }
176
-
177
- const [, forkDigestHexNoPrefix, gossipTypeStr, encodingStr] = matches;
178
-
179
- const boundary = forkDigestContext.forkDigest2ForkBoundary(forkDigestHexNoPrefix);
180
- const encoding = parseEncodingStr(encodingStr);
181
-
182
- // Inline-d the parseGossipTopicType() function since spreading the resulting object x4 the time to parse a topicStr
183
- switch (gossipTypeStr) {
184
- case GossipType.beacon_block:
185
- case GossipType.beacon_aggregate_and_proof:
186
- case GossipType.voluntary_exit:
187
- case GossipType.proposer_slashing:
188
- case GossipType.attester_slashing:
189
- case GossipType.sync_committee_contribution_and_proof:
190
- case GossipType.light_client_finality_update:
191
- case GossipType.light_client_optimistic_update:
192
- case GossipType.bls_to_execution_change:
193
- return {type: gossipTypeStr, boundary, encoding};
194
- }
195
-
196
- for (const gossipType of [GossipType.beacon_attestation as const, GossipType.sync_committee as const]) {
197
- if (gossipTypeStr.startsWith(gossipType)) {
198
- const subnetStr = gossipTypeStr.slice(gossipType.length + 1); // +1 for '_' concatenating the topic name and the subnet
199
- const subnet = parseInt(subnetStr, 10);
200
- if (Number.isNaN(subnet)) throw Error(`Subnet ${subnetStr} is not a number`);
201
- return {type: gossipType, subnet, boundary, encoding};
202
- }
203
- }
204
-
205
- if (gossipTypeStr.startsWith(GossipType.blob_sidecar)) {
206
- const subnetStr = gossipTypeStr.slice(GossipType.blob_sidecar.length + 1); // +1 for '_' concatenating the topic name and the subnet
207
- const subnet = parseInt(subnetStr, 10);
208
- if (Number.isNaN(subnet)) throw Error(`subnet ${subnetStr} is not a number`);
209
- return {type: GossipType.blob_sidecar, subnet, boundary, encoding};
210
- }
211
-
212
- if (gossipTypeStr.startsWith(GossipType.data_column_sidecar)) {
213
- const subnetStr = gossipTypeStr.slice(GossipType.data_column_sidecar.length + 1); // +1 for '_' concatenating the topic name and the subnet
214
- const subnet = parseInt(subnetStr, 10);
215
- if (Number.isNaN(subnet)) throw Error(`subnet ${subnetStr} is not a number`);
216
- return {type: GossipType.data_column_sidecar, subnet, boundary, encoding};
217
- }
218
-
219
- throw Error(`Unknown gossip type ${gossipTypeStr}`);
220
- } catch (e) {
221
- (e as Error).message = `Invalid gossip topic ${topicStr}: ${(e as Error).message}`;
222
- throw e;
223
- }
224
- }
225
-
226
- /**
227
- * De-duplicate logic to pick fork topics between subscribeCoreTopicsAtFork and unsubscribeCoreTopicsAtFork
228
- */
229
- export function getCoreTopicsAtFork(
230
- networkConfig: NetworkConfig,
231
- fork: ForkName,
232
- opts: {subscribeAllSubnets?: boolean; disableLightClientServer?: boolean}
233
- ): GossipTopicTypeMap[keyof GossipTopicTypeMap][] {
234
- // Common topics for all forks
235
- const topics: GossipTopicTypeMap[keyof GossipTopicTypeMap][] = [
236
- {type: GossipType.beacon_block},
237
- {type: GossipType.beacon_aggregate_and_proof},
238
- {type: GossipType.voluntary_exit},
239
- {type: GossipType.proposer_slashing},
240
- {type: GossipType.attester_slashing},
241
- ];
242
-
243
- // After fulu also track data_column_sidecar_{index}
244
- if (ForkSeq[fork] >= ForkSeq.fulu) {
245
- topics.push(...getDataColumnSidecarTopics(networkConfig));
246
- }
247
-
248
- // After Deneb also track blob_sidecar_{subnet_id}
249
- if (ForkSeq[fork] >= ForkSeq.deneb) {
250
- const {config} = networkConfig;
251
- const subnetCount = isForkPostElectra(fork)
252
- ? config.BLOB_SIDECAR_SUBNET_COUNT_ELECTRA
253
- : config.BLOB_SIDECAR_SUBNET_COUNT;
254
-
255
- for (let subnet = 0; subnet < subnetCount; subnet++) {
256
- topics.push({type: GossipType.blob_sidecar, subnet});
257
- }
258
- }
259
-
260
- // capella
261
- if (ForkSeq[fork] >= ForkSeq.capella) {
262
- topics.push({type: GossipType.bls_to_execution_change});
263
- }
264
-
265
- // Any fork after altair included
266
- if (ForkSeq[fork] >= ForkSeq.altair) {
267
- topics.push({type: GossipType.sync_committee_contribution_and_proof});
268
- if (!opts.disableLightClientServer) {
269
- topics.push({type: GossipType.light_client_optimistic_update});
270
- topics.push({type: GossipType.light_client_finality_update});
271
- }
272
- }
273
-
274
- if (opts.subscribeAllSubnets) {
275
- for (let subnet = 0; subnet < ATTESTATION_SUBNET_COUNT; subnet++) {
276
- topics.push({type: GossipType.beacon_attestation, subnet});
277
- }
278
- if (ForkSeq[fork] >= ForkSeq.altair) {
279
- for (let subnet = 0; subnet < SYNC_COMMITTEE_SUBNET_COUNT; subnet++) {
280
- topics.push({type: GossipType.sync_committee, subnet});
281
- }
282
- }
283
- }
284
-
285
- return topics;
286
- }
287
-
288
- /**
289
- * Pick data column subnets to subscribe to post-fulu.
290
- */
291
- export function getDataColumnSidecarTopics(
292
- networkConfig: NetworkConfig
293
- ): GossipTopicTypeMap[keyof GossipTopicTypeMap][] {
294
- const topics: GossipTopicTypeMap[keyof GossipTopicTypeMap][] = [];
295
-
296
- const subnets = networkConfig.custodyConfig.sampledSubnets;
297
- for (const subnet of subnets) {
298
- topics.push({type: GossipType.data_column_sidecar, subnet});
299
- }
300
-
301
- return topics;
302
- }
303
-
304
- /**
305
- * Validate that a `encodingStr` is a known `GossipEncoding`
306
- */
307
- function parseEncodingStr(encodingStr: string): GossipEncoding {
308
- switch (encodingStr) {
309
- case GossipEncoding.ssz_snappy:
310
- return encodingStr;
311
-
312
- default:
313
- throw Error(`Unknown encoding ${encodingStr}`);
314
- }
315
- }
316
-
317
- // TODO: Review which yes, and which not
318
- export const gossipTopicIgnoreDuplicatePublishError: Record<GossipType, boolean> = {
319
- [GossipType.beacon_block]: true,
320
- [GossipType.blob_sidecar]: true,
321
- [GossipType.data_column_sidecar]: true,
322
- [GossipType.beacon_aggregate_and_proof]: true,
323
- [GossipType.beacon_attestation]: true,
324
- [GossipType.voluntary_exit]: true,
325
- [GossipType.proposer_slashing]: false, // Why not this ones?
326
- [GossipType.attester_slashing]: false,
327
- [GossipType.sync_committee_contribution_and_proof]: true,
328
- [GossipType.sync_committee]: true,
329
- [GossipType.light_client_finality_update]: false,
330
- [GossipType.light_client_optimistic_update]: false,
331
- [GossipType.bls_to_execution_change]: true,
332
- };
@@ -1,8 +0,0 @@
1
- export * from "./events.js";
2
- export * from "./gossip/index.js";
3
- export * from "./interface.js";
4
- export * from "./libp2p/index.js";
5
- export * from "./network.js";
6
- export * from "./peers/index.js";
7
- export * from "./reqresp/ReqRespBeaconNode.js";
8
- export * from "./util.js";