@lodestar/beacon-node 1.35.0-dev.91dadf81de → 1.35.0-dev.955e9f89ed

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 (1276) hide show
  1. package/lib/api/impl/config/constants.d.ts +0 -5
  2. package/lib/api/impl/config/constants.js +1 -6
  3. package/lib/api/impl/config/constants.js.map +1 -1
  4. package/lib/api/impl/debug/index.js +1 -1
  5. package/lib/api/impl/debug/index.js.map +1 -1
  6. package/lib/api/impl/errors.js +0 -2
  7. package/lib/api/impl/errors.js.map +1 -1
  8. package/lib/api/impl/index.d.ts +3 -3
  9. package/lib/api/impl/index.js +3 -3
  10. package/lib/api/impl/index.js.map +1 -1
  11. package/lib/api/impl/validator/index.js +3 -5
  12. package/lib/api/impl/validator/index.js.map +1 -1
  13. package/lib/api/rest/activeSockets.js +2 -3
  14. package/lib/api/rest/activeSockets.js.map +1 -1
  15. package/lib/api/rest/base.d.ts +1 -1
  16. package/lib/api/rest/base.js +2 -6
  17. package/lib/api/rest/base.js.map +1 -1
  18. package/lib/api/rest/index.js +0 -2
  19. package/lib/api/rest/index.js.map +1 -1
  20. package/lib/api/rest/swaggerUI.js +2 -4
  21. package/lib/api/rest/swaggerUI.js.map +1 -1
  22. package/lib/chain/ColumnReconstructionTracker.d.ts +2 -2
  23. package/lib/chain/ColumnReconstructionTracker.js +12 -34
  24. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  25. package/lib/chain/GetBlobsTracker.d.ts +2 -2
  26. package/lib/chain/GetBlobsTracker.js +8 -28
  27. package/lib/chain/GetBlobsTracker.js.map +1 -1
  28. package/lib/chain/archiveStore/archiveStore.js +38 -49
  29. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  30. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -3
  31. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  32. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  33. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  34. package/lib/chain/archiveStore/index.d.ts +1 -1
  35. package/lib/chain/archiveStore/index.js +1 -1
  36. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +0 -5
  37. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  38. package/lib/chain/balancesCache.js +3 -1
  39. package/lib/chain/balancesCache.js.map +1 -1
  40. package/lib/chain/beaconProposerCache.js +0 -1
  41. package/lib/chain/beaconProposerCache.js.map +1 -1
  42. package/lib/chain/blocks/blockInput/blockInput.js +8 -19
  43. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  44. package/lib/chain/blocks/blockInput/index.d.ts +1 -1
  45. package/lib/chain/blocks/blockInput/index.js +1 -1
  46. package/lib/chain/blocks/importBlock.js +3 -4
  47. package/lib/chain/blocks/importBlock.js.map +1 -1
  48. package/lib/chain/blocks/index.d.ts +1 -1
  49. package/lib/chain/blocks/index.js +0 -1
  50. package/lib/chain/blocks/index.js.map +1 -1
  51. package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -8
  52. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  53. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
  54. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  55. package/lib/chain/bls/multithread/index.js +163 -168
  56. package/lib/chain/bls/multithread/index.js.map +1 -1
  57. package/lib/chain/bls/singleThread.js +0 -1
  58. package/lib/chain/bls/singleThread.js.map +1 -1
  59. package/lib/chain/chain.d.ts +6 -6
  60. package/lib/chain/chain.js +20 -64
  61. package/lib/chain/chain.js.map +1 -1
  62. package/lib/chain/emitter.d.ts +2 -2
  63. package/lib/chain/emitter.js.map +1 -1
  64. package/lib/chain/errors/blockError.js +0 -1
  65. package/lib/chain/errors/blockError.js.map +1 -1
  66. package/lib/chain/errors/gossipValidation.js +0 -1
  67. package/lib/chain/errors/gossipValidation.js.map +1 -1
  68. package/lib/chain/errors/index.d.ts +2 -2
  69. package/lib/chain/errors/index.js +2 -2
  70. package/lib/chain/errors/index.js.map +1 -1
  71. package/lib/chain/forkChoice/index.js.map +1 -1
  72. package/lib/chain/genesis/genesis.js +5 -16
  73. package/lib/chain/genesis/genesis.js.map +1 -1
  74. package/lib/chain/index.d.ts +2 -2
  75. package/lib/chain/index.js +2 -2
  76. package/lib/chain/index.js.map +1 -1
  77. package/lib/chain/interface.d.ts +4 -4
  78. package/lib/chain/interface.js.map +1 -1
  79. package/lib/chain/lightClient/index.js +9 -16
  80. package/lib/chain/lightClient/index.js.map +1 -1
  81. package/lib/chain/lightClient/proofs.js.map +1 -1
  82. package/lib/chain/opPools/aggregatedAttestationPool.js +9 -14
  83. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  84. package/lib/chain/opPools/attestationPool.d.ts +3 -2
  85. package/lib/chain/opPools/attestationPool.js +7 -10
  86. package/lib/chain/opPools/attestationPool.js.map +1 -1
  87. package/lib/chain/opPools/index.d.ts +1 -1
  88. package/lib/chain/opPools/index.js +1 -1
  89. package/lib/chain/opPools/index.js.map +1 -1
  90. package/lib/chain/opPools/opPool.js +12 -10
  91. package/lib/chain/opPools/opPool.js.map +1 -1
  92. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +2 -3
  93. package/lib/chain/opPools/syncCommitteeMessagePool.js +10 -14
  94. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  95. package/lib/chain/opPools/syncContributionAndProofPool.js +2 -5
  96. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  97. package/lib/chain/opPools/types.d.ts +1 -1
  98. package/lib/chain/opPools/types.js +1 -1
  99. package/lib/chain/opPools/types.js.map +1 -1
  100. package/lib/chain/options.js +1 -1
  101. package/lib/chain/options.js.map +1 -1
  102. package/lib/chain/prepareNextSlot.d.ts +3 -3
  103. package/lib/chain/prepareNextSlot.js +140 -145
  104. package/lib/chain/prepareNextSlot.js.map +1 -1
  105. package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -1
  106. package/lib/chain/produceBlock/produceBlockBody.js +10 -3
  107. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  108. package/lib/chain/regen/errors.js +0 -1
  109. package/lib/chain/regen/errors.js.map +1 -1
  110. package/lib/chain/regen/index.d.ts +1 -1
  111. package/lib/chain/regen/index.js +1 -1
  112. package/lib/chain/regen/index.js.map +1 -1
  113. package/lib/chain/regen/queued.js +28 -35
  114. package/lib/chain/regen/queued.js.map +1 -1
  115. package/lib/chain/regen/regen.js +0 -1
  116. package/lib/chain/regen/regen.js.map +1 -1
  117. package/lib/chain/reprocess.js +1 -3
  118. package/lib/chain/reprocess.js.map +1 -1
  119. package/lib/chain/seenCache/seenAggregateAndProof.js +6 -7
  120. package/lib/chain/seenCache/seenAggregateAndProof.js.map +1 -1
  121. package/lib/chain/seenCache/seenAttestationData.js +2 -5
  122. package/lib/chain/seenCache/seenAttestationData.js.map +1 -1
  123. package/lib/chain/seenCache/seenAttesters.js +4 -2
  124. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  125. package/lib/chain/seenCache/seenBlockProposers.js +4 -2
  126. package/lib/chain/seenCache/seenBlockProposers.js.map +1 -1
  127. package/lib/chain/seenCache/seenCommittee.js +3 -1
  128. package/lib/chain/seenCache/seenCommittee.js.map +1 -1
  129. package/lib/chain/seenCache/seenCommitteeContribution.js +2 -3
  130. package/lib/chain/seenCache/seenCommitteeContribution.js.map +1 -1
  131. package/lib/chain/seenCache/seenGossipBlockInput.js +13 -20
  132. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  133. package/lib/chain/shufflingCache.js +2 -5
  134. package/lib/chain/shufflingCache.js.map +1 -1
  135. package/lib/chain/stateCache/blockStateCacheImpl.js +7 -13
  136. package/lib/chain/stateCache/blockStateCacheImpl.js.map +1 -1
  137. package/lib/chain/stateCache/datastore/db.js +0 -1
  138. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  139. package/lib/chain/stateCache/datastore/file.js +0 -1
  140. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  141. package/lib/chain/stateCache/datastore/index.d.ts +1 -1
  142. package/lib/chain/stateCache/datastore/index.js +1 -1
  143. package/lib/chain/stateCache/datastore/index.js.map +1 -1
  144. package/lib/chain/stateCache/fifoBlockStateCache.js +0 -10
  145. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  146. package/lib/chain/stateCache/inMemoryCheckpointsCache.js +4 -10
  147. package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
  148. package/lib/chain/stateCache/index.d.ts +1 -1
  149. package/lib/chain/stateCache/index.js +1 -1
  150. package/lib/chain/stateCache/index.js.map +1 -1
  151. package/lib/chain/stateCache/mapMetrics.js +4 -4
  152. package/lib/chain/stateCache/mapMetrics.js.map +1 -1
  153. package/lib/chain/stateCache/persistentCheckpointsCache.js +14 -23
  154. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  155. package/lib/chain/validation/blobSidecar.js.map +1 -1
  156. package/lib/chain/validation/dataColumnSidecar.js +1 -1
  157. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  158. package/lib/chain/validation/index.d.ts +1 -1
  159. package/lib/chain/validation/index.js +1 -1
  160. package/lib/chain/validation/index.js.map +1 -1
  161. package/lib/chain/validation/lightClientFinalityUpdate.js +3 -4
  162. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  163. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +4 -6
  164. package/lib/chain/validation/lightClientOptimisticUpdate.js +11 -11
  165. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  166. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +2 -1
  167. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  168. package/lib/chain/validatorMonitor.d.ts +3 -1
  169. package/lib/chain/validatorMonitor.js +15 -22
  170. package/lib/chain/validatorMonitor.js.map +1 -1
  171. package/lib/db/beacon.js +0 -24
  172. package/lib/db/beacon.js.map +1 -1
  173. package/lib/db/buckets.d.ts +4 -4
  174. package/lib/db/buckets.js +4 -4
  175. package/lib/db/buckets.js.map +1 -1
  176. package/lib/db/index.d.ts +1 -1
  177. package/lib/db/index.js.map +1 -1
  178. package/lib/db/repositories/blobSidecars.js +1 -1
  179. package/lib/db/repositories/blobSidecars.js.map +1 -1
  180. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  181. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  182. package/lib/db/repositories/blockArchive.js +3 -2
  183. package/lib/db/repositories/blockArchive.js.map +1 -1
  184. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  185. package/lib/db/repositories/dataColumnSidecar.js +2 -2
  186. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  187. package/lib/db/repositories/dataColumnSidecarArchive.js +2 -2
  188. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  189. package/lib/db/repositories/depositDataRoot.js +0 -1
  190. package/lib/db/repositories/depositDataRoot.js.map +1 -1
  191. package/lib/db/repositories/index.d.ts +10 -10
  192. package/lib/db/repositories/index.js +9 -9
  193. package/lib/db/repositories/index.js.map +1 -1
  194. package/lib/db/single/preGenesisState.js +0 -6
  195. package/lib/db/single/preGenesisState.js.map +1 -1
  196. package/lib/db/single/preGenesisStateLastProcessedBlock.js +0 -5
  197. package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -1
  198. package/lib/eth1/eth1DataCache.js +0 -2
  199. package/lib/eth1/eth1DataCache.js.map +1 -1
  200. package/lib/eth1/eth1DepositDataTracker.js +5 -18
  201. package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
  202. package/lib/eth1/eth1DepositsCache.js +0 -3
  203. package/lib/eth1/eth1DepositsCache.js.map +1 -1
  204. package/lib/eth1/eth1MergeBlockTracker.js +4 -10
  205. package/lib/eth1/eth1MergeBlockTracker.js.map +1 -1
  206. package/lib/eth1/index.js +0 -2
  207. package/lib/eth1/index.js.map +1 -1
  208. package/lib/eth1/provider/eth1Provider.d.ts +2 -1
  209. package/lib/eth1/provider/eth1Provider.js +2 -6
  210. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  211. package/lib/eth1/provider/jsonRpcHttpClient.d.ts +1 -1
  212. package/lib/eth1/provider/jsonRpcHttpClient.js +2 -16
  213. package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
  214. package/lib/eth1/provider/jwt.js.map +1 -1
  215. package/lib/eth1/utils/deposits.js.map +1 -1
  216. package/lib/execution/builder/cache.js +0 -6
  217. package/lib/execution/builder/cache.js.map +1 -1
  218. package/lib/execution/builder/http.js +8 -14
  219. package/lib/execution/builder/http.js.map +1 -1
  220. package/lib/execution/builder/index.js.map +1 -1
  221. package/lib/execution/engine/disabled.js +4 -2
  222. package/lib/execution/engine/disabled.js.map +1 -1
  223. package/lib/execution/engine/http.js +8 -23
  224. package/lib/execution/engine/http.js.map +1 -1
  225. package/lib/execution/engine/interface.js.map +1 -1
  226. package/lib/execution/engine/mock.d.ts +0 -1
  227. package/lib/execution/engine/mock.js +12 -16
  228. package/lib/execution/engine/mock.js.map +1 -1
  229. package/lib/execution/engine/payloadIdCache.js +3 -1
  230. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  231. package/lib/execution/engine/types.d.ts +1 -0
  232. package/lib/execution/engine/types.js.map +1 -1
  233. package/lib/execution/engine/utils.js +3 -3
  234. package/lib/execution/engine/utils.js.map +1 -1
  235. package/lib/execution/index.d.ts +2 -2
  236. package/lib/execution/index.js +2 -2
  237. package/lib/execution/index.js.map +1 -1
  238. package/lib/index.d.ts +6 -6
  239. package/lib/index.js +5 -5
  240. package/lib/index.js.map +1 -1
  241. package/lib/metrics/index.d.ts +1 -1
  242. package/lib/metrics/index.js +1 -1
  243. package/lib/metrics/index.js.map +1 -1
  244. package/lib/metrics/metrics/lodestar.d.ts +2 -7
  245. package/lib/metrics/metrics/lodestar.js +4 -13
  246. package/lib/metrics/metrics/lodestar.js.map +1 -1
  247. package/lib/metrics/metrics.d.ts +1 -1
  248. package/lib/metrics/metrics.js.map +1 -1
  249. package/lib/metrics/nodeJsMetrics.js +1 -1
  250. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  251. package/lib/metrics/server/http.d.ts +1 -1
  252. package/lib/metrics/utils/avgMinMax.d.ts +1 -1
  253. package/lib/metrics/utils/avgMinMax.js +6 -10
  254. package/lib/metrics/utils/avgMinMax.js.map +1 -1
  255. package/lib/metrics/utils/gauge.d.ts +1 -1
  256. package/lib/metrics/utils/gauge.js +4 -1
  257. package/lib/metrics/utils/gauge.js.map +1 -1
  258. package/lib/metrics/utils/registryMetricCreator.d.ts +1 -1
  259. package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
  260. package/lib/monitoring/properties.js +0 -4
  261. package/lib/monitoring/properties.js.map +1 -1
  262. package/lib/monitoring/service.js +1 -13
  263. package/lib/monitoring/service.js.map +1 -1
  264. package/lib/monitoring/system.js +27 -25
  265. package/lib/monitoring/system.js.map +1 -1
  266. package/lib/network/core/networkCore.d.ts +2 -2
  267. package/lib/network/core/networkCore.js +50 -67
  268. package/lib/network/core/networkCore.js.map +1 -1
  269. package/lib/network/core/networkCoreWorker.js +1 -1
  270. package/lib/network/core/networkCoreWorker.js.map +1 -1
  271. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -2
  272. package/lib/network/core/networkCoreWorkerHandler.js +5 -14
  273. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  274. package/lib/network/discv5/index.d.ts +2 -2
  275. package/lib/network/discv5/index.js +3 -9
  276. package/lib/network/discv5/index.js.map +1 -1
  277. package/lib/network/discv5/worker.js +3 -3
  278. package/lib/network/discv5/worker.js.map +1 -1
  279. package/lib/network/gossip/encoding.d.ts +1 -1
  280. package/lib/network/gossip/encoding.js +2 -4
  281. package/lib/network/gossip/encoding.js.map +1 -1
  282. package/lib/network/gossip/errors.js +0 -1
  283. package/lib/network/gossip/errors.js.map +1 -1
  284. package/lib/network/gossip/gossipsub.d.ts +1 -2
  285. package/lib/network/gossip/gossipsub.js +17 -43
  286. package/lib/network/gossip/gossipsub.js.map +1 -1
  287. package/lib/network/gossip/index.d.ts +2 -2
  288. package/lib/network/gossip/index.js +2 -2
  289. package/lib/network/gossip/index.js.map +1 -1
  290. package/lib/network/gossip/interface.d.ts +2 -2
  291. package/lib/network/gossip/metrics.d.ts +7 -15
  292. package/lib/network/gossip/metrics.js +6 -16
  293. package/lib/network/gossip/metrics.js.map +1 -1
  294. package/lib/network/gossip/topic.d.ts +105 -125
  295. package/lib/network/gossip/topic.js +1 -2
  296. package/lib/network/gossip/topic.js.map +1 -1
  297. package/lib/network/index.d.ts +3 -3
  298. package/lib/network/index.js +3 -3
  299. package/lib/network/index.js.map +1 -1
  300. package/lib/network/interface.d.ts +1 -1
  301. package/lib/network/libp2p/index.js +3 -11
  302. package/lib/network/libp2p/index.js.map +1 -1
  303. package/lib/network/metadata.js +1 -6
  304. package/lib/network/metadata.js.map +1 -1
  305. package/lib/network/network.d.ts +2 -2
  306. package/lib/network/network.js +77 -89
  307. package/lib/network/network.js.map +1 -1
  308. package/lib/network/peers/datastore.d.ts +2 -2
  309. package/lib/network/peers/datastore.js +4 -10
  310. package/lib/network/peers/datastore.js.map +1 -1
  311. package/lib/network/peers/discover.js +66 -75
  312. package/lib/network/peers/discover.js.map +1 -1
  313. package/lib/network/peers/peerManager.js +125 -145
  314. package/lib/network/peers/peerManager.js.map +1 -1
  315. package/lib/network/peers/peersData.js +3 -1
  316. package/lib/network/peers/peersData.js.map +1 -1
  317. package/lib/network/peers/score/index.d.ts +1 -1
  318. package/lib/network/peers/score/index.js +1 -1
  319. package/lib/network/peers/score/index.js.map +1 -1
  320. package/lib/network/peers/score/score.js +0 -6
  321. package/lib/network/peers/score/score.js.map +1 -1
  322. package/lib/network/peers/score/store.js +0 -3
  323. package/lib/network/peers/score/store.js.map +1 -1
  324. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  325. package/lib/network/peers/utils/subnetMap.js +4 -2
  326. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  327. package/lib/network/processor/aggregatorTracker.js +3 -1
  328. package/lib/network/processor/aggregatorTracker.js.map +1 -1
  329. package/lib/network/processor/gossipHandlers.js +7 -3
  330. package/lib/network/processor/gossipHandlers.js.map +1 -1
  331. package/lib/network/processor/gossipQueues/indexed.js +9 -11
  332. package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
  333. package/lib/network/processor/gossipQueues/linear.js +8 -9
  334. package/lib/network/processor/gossipQueues/linear.js.map +1 -1
  335. package/lib/network/processor/index.d.ts +1 -1
  336. package/lib/network/processor/index.js +8 -18
  337. package/lib/network/processor/index.js.map +1 -1
  338. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +1 -1
  339. package/lib/network/reqresp/ReqRespBeaconNode.js +2 -11
  340. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  341. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  342. package/lib/network/reqresp/index.d.ts +1 -1
  343. package/lib/network/reqresp/index.js +1 -1
  344. package/lib/network/reqresp/index.js.map +1 -1
  345. package/lib/network/reqresp/rateLimit.js +2 -2
  346. package/lib/network/reqresp/rateLimit.js.map +1 -1
  347. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  348. package/lib/network/statusCache.js +0 -1
  349. package/lib/network/statusCache.js.map +1 -1
  350. package/lib/network/subnets/attnetsService.js +65 -73
  351. package/lib/network/subnets/attnetsService.js.map +1 -1
  352. package/lib/network/subnets/interface.js +1 -1
  353. package/lib/network/subnets/interface.js.map +1 -1
  354. package/lib/network/subnets/syncnetsService.js +22 -29
  355. package/lib/network/subnets/syncnetsService.js.map +1 -1
  356. package/lib/network/subnets/util.js +2 -1
  357. package/lib/network/subnets/util.js.map +1 -1
  358. package/lib/node/nodejs.d.ts +1 -1
  359. package/lib/node/nodejs.js +0 -15
  360. package/lib/node/nodejs.js.map +1 -1
  361. package/lib/node/notifier.js +2 -1
  362. package/lib/node/notifier.js.map +1 -1
  363. package/lib/node/options.js.map +1 -1
  364. package/lib/node/utils/interop/state.js +2 -1
  365. package/lib/node/utils/interop/state.js.map +1 -1
  366. package/lib/sync/backfill/backfill.d.ts +1 -1
  367. package/lib/sync/backfill/backfill.js +16 -58
  368. package/lib/sync/backfill/backfill.js.map +1 -1
  369. package/lib/sync/range/batch.d.ts +2 -2
  370. package/lib/sync/range/batch.js +11 -20
  371. package/lib/sync/range/batch.js.map +1 -1
  372. package/lib/sync/range/chain.d.ts +1 -1
  373. package/lib/sync/range/chain.js +8 -33
  374. package/lib/sync/range/chain.js.map +1 -1
  375. package/lib/sync/range/range.d.ts +1 -1
  376. package/lib/sync/range/range.js +70 -76
  377. package/lib/sync/range/range.js.map +1 -1
  378. package/lib/sync/range/utils/peerBalancer.js +1 -5
  379. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  380. package/lib/sync/sync.d.ts +2 -1
  381. package/lib/sync/sync.js +85 -93
  382. package/lib/sync/sync.js.map +1 -1
  383. package/lib/sync/types.d.ts +1 -0
  384. package/lib/sync/types.js.map +1 -1
  385. package/lib/sync/unknownBlock.d.ts +1 -0
  386. package/lib/sync/unknownBlock.js +172 -181
  387. package/lib/sync/unknownBlock.js.map +1 -1
  388. package/lib/sync/utils/downloadByRange.d.ts +1 -1
  389. package/lib/sync/utils/downloadByRoot.d.ts +2 -4
  390. package/lib/sync/utils/downloadByRoot.js +9 -36
  391. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  392. package/lib/util/array.js +3 -7
  393. package/lib/util/array.js.map +1 -1
  394. package/lib/util/asyncIterableToEvents.js +3 -6
  395. package/lib/util/asyncIterableToEvents.js.map +1 -1
  396. package/lib/util/binarySearch.js +0 -2
  397. package/lib/util/binarySearch.js.map +1 -1
  398. package/lib/util/blobs.js +3 -5
  399. package/lib/util/blobs.js.map +1 -1
  400. package/lib/util/bufferPool.js +2 -7
  401. package/lib/util/bufferPool.js.map +1 -1
  402. package/lib/util/clock.d.ts +1 -6
  403. package/lib/util/clock.js +18 -26
  404. package/lib/util/clock.js.map +1 -1
  405. package/lib/util/dataColumns.d.ts +15 -9
  406. package/lib/util/dataColumns.js +29 -50
  407. package/lib/util/dataColumns.js.map +1 -1
  408. package/lib/util/execution.d.ts +3 -12
  409. package/lib/util/execution.js +13 -47
  410. package/lib/util/execution.js.map +1 -1
  411. package/lib/util/itTrigger.js +4 -4
  412. package/lib/util/itTrigger.js.map +1 -1
  413. package/lib/util/map.js +0 -2
  414. package/lib/util/map.js.map +1 -1
  415. package/lib/util/queue/index.d.ts +1 -1
  416. package/lib/util/queue/index.js +1 -1
  417. package/lib/util/queue/index.js.map +1 -1
  418. package/lib/util/queue/itemQueue.js +49 -52
  419. package/lib/util/queue/itemQueue.js.map +1 -1
  420. package/lib/util/serializedCache.js +3 -1
  421. package/lib/util/serializedCache.js.map +1 -1
  422. package/lib/util/set.js +0 -2
  423. package/lib/util/set.js.map +1 -1
  424. package/lib/util/timeSeries.js +1 -3
  425. package/lib/util/timeSeries.js.map +1 -1
  426. package/lib/util/types.d.ts +1 -1
  427. package/package.json +23 -39
  428. package/lib/api/impl/api.d.ts.map +0 -1
  429. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  430. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  431. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  432. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  433. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  434. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  435. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  436. package/lib/api/impl/config/constants.d.ts.map +0 -1
  437. package/lib/api/impl/config/index.d.ts.map +0 -1
  438. package/lib/api/impl/debug/index.d.ts.map +0 -1
  439. package/lib/api/impl/errors.d.ts.map +0 -1
  440. package/lib/api/impl/events/index.d.ts.map +0 -1
  441. package/lib/api/impl/index.d.ts.map +0 -1
  442. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  443. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  444. package/lib/api/impl/node/index.d.ts.map +0 -1
  445. package/lib/api/impl/node/utils.d.ts.map +0 -1
  446. package/lib/api/impl/proof/index.d.ts.map +0 -1
  447. package/lib/api/impl/types.d.ts.map +0 -1
  448. package/lib/api/impl/utils.d.ts.map +0 -1
  449. package/lib/api/impl/validator/index.d.ts.map +0 -1
  450. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  451. package/lib/api/index.d.ts.map +0 -1
  452. package/lib/api/options.d.ts.map +0 -1
  453. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  454. package/lib/api/rest/base.d.ts.map +0 -1
  455. package/lib/api/rest/index.d.ts.map +0 -1
  456. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  457. package/lib/bun-wrappers/prometheus-gc-stats.d.ts +0 -2
  458. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  459. package/lib/bun-wrappers/prometheus-gc-stats.js +0 -8
  460. package/lib/bun-wrappers/prometheus-gc-stats.js.map +0 -1
  461. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  462. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  463. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  464. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  465. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  466. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  467. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  468. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  469. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  470. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  471. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  472. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  473. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  474. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  475. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  476. package/lib/chain/balancesCache.d.ts.map +0 -1
  477. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  478. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  479. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  480. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  481. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  482. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  483. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  484. package/lib/chain/blocks/index.d.ts.map +0 -1
  485. package/lib/chain/blocks/types.d.ts.map +0 -1
  486. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  487. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  488. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  489. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  490. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  491. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  492. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  493. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  494. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  495. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  496. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  497. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  498. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  499. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  500. package/lib/chain/bls/index.d.ts.map +0 -1
  501. package/lib/chain/bls/interface.d.ts.map +0 -1
  502. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  503. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  504. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  505. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  506. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  507. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  508. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  509. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  510. package/lib/chain/bls/utils.d.ts.map +0 -1
  511. package/lib/chain/chain.d.ts.map +0 -1
  512. package/lib/chain/emitter.d.ts.map +0 -1
  513. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  514. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  515. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  516. package/lib/chain/errors/blockError.d.ts.map +0 -1
  517. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  518. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  519. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  520. package/lib/chain/errors/index.d.ts.map +0 -1
  521. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  522. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  523. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  524. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  525. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  526. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  527. package/lib/chain/genesis/interface.d.ts.map +0 -1
  528. package/lib/chain/index.d.ts.map +0 -1
  529. package/lib/chain/initState.d.ts.map +0 -1
  530. package/lib/chain/interface.d.ts.map +0 -1
  531. package/lib/chain/lightClient/index.d.ts.map +0 -1
  532. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  533. package/lib/chain/lightClient/types.d.ts.map +0 -1
  534. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  535. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  536. package/lib/chain/opPools/index.d.ts.map +0 -1
  537. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  538. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  539. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  540. package/lib/chain/opPools/types.d.ts.map +0 -1
  541. package/lib/chain/opPools/utils.d.ts.map +0 -1
  542. package/lib/chain/options.d.ts.map +0 -1
  543. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  544. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  545. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  546. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  547. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  548. package/lib/chain/regen/errors.d.ts.map +0 -1
  549. package/lib/chain/regen/index.d.ts.map +0 -1
  550. package/lib/chain/regen/interface.d.ts.map +0 -1
  551. package/lib/chain/regen/queued.d.ts.map +0 -1
  552. package/lib/chain/regen/regen.d.ts.map +0 -1
  553. package/lib/chain/reprocess.d.ts.map +0 -1
  554. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  555. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  556. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  557. package/lib/chain/seenCache/index.d.ts.map +0 -1
  558. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  559. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  560. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  561. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  562. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  563. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  564. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  565. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  566. package/lib/chain/serializeState.d.ts.map +0 -1
  567. package/lib/chain/shufflingCache.d.ts.map +0 -1
  568. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  569. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  570. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  571. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  572. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  573. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  574. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  575. package/lib/chain/stateCache/index.d.ts.map +0 -1
  576. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  577. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  578. package/lib/chain/stateCache/types.d.ts.map +0 -1
  579. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  580. package/lib/chain/validation/attestation.d.ts.map +0 -1
  581. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  582. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  583. package/lib/chain/validation/block.d.ts.map +0 -1
  584. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  585. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  586. package/lib/chain/validation/index.d.ts.map +0 -1
  587. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  588. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  589. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  590. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  591. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  592. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  593. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  594. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  595. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  596. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  597. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  598. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  599. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  600. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  601. package/lib/constants/constants.d.ts.map +0 -1
  602. package/lib/constants/index.d.ts.map +0 -1
  603. package/lib/constants/network.d.ts.map +0 -1
  604. package/lib/db/beacon.d.ts.map +0 -1
  605. package/lib/db/buckets.d.ts.map +0 -1
  606. package/lib/db/index.d.ts.map +0 -1
  607. package/lib/db/interface.d.ts.map +0 -1
  608. package/lib/db/options.d.ts.map +0 -1
  609. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  610. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  611. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  612. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  613. package/lib/db/repositories/block.d.ts.map +0 -1
  614. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  615. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  616. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  617. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  618. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  619. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  620. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  621. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  622. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  623. package/lib/db/repositories/index.d.ts.map +0 -1
  624. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  625. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  626. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  627. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  628. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  629. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  630. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  631. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  632. package/lib/db/single/index.d.ts.map +0 -1
  633. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  634. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  635. package/lib/eth1/errors.d.ts.map +0 -1
  636. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  637. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  638. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  639. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  640. package/lib/eth1/index.d.ts.map +0 -1
  641. package/lib/eth1/interface.d.ts.map +0 -1
  642. package/lib/eth1/options.d.ts.map +0 -1
  643. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  644. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  645. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  646. package/lib/eth1/provider/utils.d.ts.map +0 -1
  647. package/lib/eth1/stream.d.ts.map +0 -1
  648. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  649. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  650. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  651. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  652. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  653. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  654. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  655. package/lib/execution/builder/cache.d.ts.map +0 -1
  656. package/lib/execution/builder/http.d.ts.map +0 -1
  657. package/lib/execution/builder/index.d.ts.map +0 -1
  658. package/lib/execution/builder/interface.d.ts.map +0 -1
  659. package/lib/execution/builder/utils.d.ts.map +0 -1
  660. package/lib/execution/engine/disabled.d.ts.map +0 -1
  661. package/lib/execution/engine/http.d.ts.map +0 -1
  662. package/lib/execution/engine/index.d.ts.map +0 -1
  663. package/lib/execution/engine/interface.d.ts.map +0 -1
  664. package/lib/execution/engine/mock.d.ts.map +0 -1
  665. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  666. package/lib/execution/engine/types.d.ts.map +0 -1
  667. package/lib/execution/engine/utils.d.ts.map +0 -1
  668. package/lib/execution/index.d.ts.map +0 -1
  669. package/lib/index.d.ts.map +0 -1
  670. package/lib/metrics/index.d.ts.map +0 -1
  671. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  672. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  673. package/lib/metrics/metrics.d.ts.map +0 -1
  674. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  675. package/lib/metrics/options.d.ts.map +0 -1
  676. package/lib/metrics/server/http.d.ts.map +0 -1
  677. package/lib/metrics/server/index.d.ts.map +0 -1
  678. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  679. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  680. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  681. package/lib/monitoring/clientStats.d.ts.map +0 -1
  682. package/lib/monitoring/index.d.ts.map +0 -1
  683. package/lib/monitoring/options.d.ts.map +0 -1
  684. package/lib/monitoring/properties.d.ts.map +0 -1
  685. package/lib/monitoring/service.d.ts.map +0 -1
  686. package/lib/monitoring/system.d.ts.map +0 -1
  687. package/lib/monitoring/types.d.ts.map +0 -1
  688. package/lib/network/core/events.d.ts.map +0 -1
  689. package/lib/network/core/index.d.ts.map +0 -1
  690. package/lib/network/core/metrics.d.ts.map +0 -1
  691. package/lib/network/core/networkCore.d.ts.map +0 -1
  692. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  693. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  694. package/lib/network/core/types.d.ts.map +0 -1
  695. package/lib/network/discv5/index.d.ts.map +0 -1
  696. package/lib/network/discv5/types.d.ts.map +0 -1
  697. package/lib/network/discv5/utils.d.ts.map +0 -1
  698. package/lib/network/discv5/worker.d.ts.map +0 -1
  699. package/lib/network/events.d.ts.map +0 -1
  700. package/lib/network/forks.d.ts.map +0 -1
  701. package/lib/network/gossip/constants.d.ts.map +0 -1
  702. package/lib/network/gossip/encoding.d.ts.map +0 -1
  703. package/lib/network/gossip/errors.d.ts.map +0 -1
  704. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  705. package/lib/network/gossip/index.d.ts.map +0 -1
  706. package/lib/network/gossip/interface.d.ts.map +0 -1
  707. package/lib/network/gossip/metrics.d.ts.map +0 -1
  708. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  709. package/lib/network/gossip/topic.d.ts.map +0 -1
  710. package/lib/network/index.d.ts.map +0 -1
  711. package/lib/network/interface.d.ts.map +0 -1
  712. package/lib/network/libp2p/error.d.ts.map +0 -1
  713. package/lib/network/libp2p/index.d.ts.map +0 -1
  714. package/lib/network/metadata.d.ts.map +0 -1
  715. package/lib/network/network.d.ts.map +0 -1
  716. package/lib/network/networkConfig.d.ts.map +0 -1
  717. package/lib/network/options.d.ts.map +0 -1
  718. package/lib/network/peers/client.d.ts.map +0 -1
  719. package/lib/network/peers/datastore.d.ts.map +0 -1
  720. package/lib/network/peers/discover.d.ts.map +0 -1
  721. package/lib/network/peers/index.d.ts.map +0 -1
  722. package/lib/network/peers/peerManager.d.ts.map +0 -1
  723. package/lib/network/peers/peersData.d.ts.map +0 -1
  724. package/lib/network/peers/score/constants.d.ts.map +0 -1
  725. package/lib/network/peers/score/index.d.ts.map +0 -1
  726. package/lib/network/peers/score/interface.d.ts.map +0 -1
  727. package/lib/network/peers/score/score.d.ts.map +0 -1
  728. package/lib/network/peers/score/store.d.ts.map +0 -1
  729. package/lib/network/peers/score/utils.d.ts.map +0 -1
  730. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  731. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  732. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  733. package/lib/network/peers/utils/index.d.ts.map +0 -1
  734. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  735. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  736. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  737. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  738. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  739. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  740. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  741. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  742. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  743. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  744. package/lib/network/processor/index.d.ts.map +0 -1
  745. package/lib/network/processor/types.d.ts.map +0 -1
  746. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  747. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  748. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  749. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  750. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  751. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  752. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  753. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  754. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  755. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  756. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  757. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  758. package/lib/network/reqresp/index.d.ts.map +0 -1
  759. package/lib/network/reqresp/interface.d.ts.map +0 -1
  760. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  761. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  762. package/lib/network/reqresp/score.d.ts.map +0 -1
  763. package/lib/network/reqresp/types.d.ts.map +0 -1
  764. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  765. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  766. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  767. package/lib/network/statusCache.d.ts.map +0 -1
  768. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  769. package/lib/network/subnets/index.d.ts.map +0 -1
  770. package/lib/network/subnets/interface.d.ts.map +0 -1
  771. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  772. package/lib/network/subnets/util.d.ts.map +0 -1
  773. package/lib/network/util.d.ts.map +0 -1
  774. package/lib/node/index.d.ts.map +0 -1
  775. package/lib/node/nodejs.d.ts.map +0 -1
  776. package/lib/node/notifier.d.ts.map +0 -1
  777. package/lib/node/options.d.ts.map +0 -1
  778. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  779. package/lib/node/utils/interop/state.d.ts.map +0 -1
  780. package/lib/node/utils/lightclient.d.ts.map +0 -1
  781. package/lib/node/utils/state.d.ts.map +0 -1
  782. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  783. package/lib/sync/backfill/errors.d.ts.map +0 -1
  784. package/lib/sync/backfill/index.d.ts.map +0 -1
  785. package/lib/sync/backfill/verify.d.ts.map +0 -1
  786. package/lib/sync/constants.d.ts.map +0 -1
  787. package/lib/sync/index.d.ts.map +0 -1
  788. package/lib/sync/interface.d.ts.map +0 -1
  789. package/lib/sync/options.d.ts.map +0 -1
  790. package/lib/sync/range/batch.d.ts.map +0 -1
  791. package/lib/sync/range/chain.d.ts.map +0 -1
  792. package/lib/sync/range/range.d.ts.map +0 -1
  793. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  794. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  795. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  796. package/lib/sync/range/utils/index.d.ts.map +0 -1
  797. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  798. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  799. package/lib/sync/sync.d.ts.map +0 -1
  800. package/lib/sync/types.d.ts.map +0 -1
  801. package/lib/sync/unknownBlock.d.ts.map +0 -1
  802. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  803. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  804. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  805. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  806. package/lib/util/address.d.ts.map +0 -1
  807. package/lib/util/array.d.ts.map +0 -1
  808. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  809. package/lib/util/binarySearch.d.ts.map +0 -1
  810. package/lib/util/bitArray.d.ts.map +0 -1
  811. package/lib/util/blobs.d.ts.map +0 -1
  812. package/lib/util/bufferPool.d.ts.map +0 -1
  813. package/lib/util/bytes.d.ts.map +0 -1
  814. package/lib/util/chunkify.d.ts.map +0 -1
  815. package/lib/util/clock.d.ts.map +0 -1
  816. package/lib/util/dataColumns.d.ts.map +0 -1
  817. package/lib/util/dependentRoot.d.ts.map +0 -1
  818. package/lib/util/enum.d.ts.map +0 -1
  819. package/lib/util/error.d.ts.map +0 -1
  820. package/lib/util/eventLoop.d.ts.map +0 -1
  821. package/lib/util/execution.d.ts.map +0 -1
  822. package/lib/util/file.d.ts.map +0 -1
  823. package/lib/util/forkChoice.d.ts.map +0 -1
  824. package/lib/util/forkName.d.ts.map +0 -1
  825. package/lib/util/graffiti.d.ts.map +0 -1
  826. package/lib/util/hex.d.ts.map +0 -1
  827. package/lib/util/index.d.ts.map +0 -1
  828. package/lib/util/ip.d.ts.map +0 -1
  829. package/lib/util/itTrigger.d.ts.map +0 -1
  830. package/lib/util/kzg.d.ts.map +0 -1
  831. package/lib/util/map.d.ts.map +0 -1
  832. package/lib/util/metadata.d.ts.map +0 -1
  833. package/lib/util/multifork.d.ts.map +0 -1
  834. package/lib/util/numpy.d.ts.map +0 -1
  835. package/lib/util/peerId.d.ts.map +0 -1
  836. package/lib/util/profile.d.ts.map +0 -1
  837. package/lib/util/promises.d.ts.map +0 -1
  838. package/lib/util/queue/errors.d.ts.map +0 -1
  839. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  840. package/lib/util/queue/index.d.ts.map +0 -1
  841. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  842. package/lib/util/queue/options.d.ts.map +0 -1
  843. package/lib/util/serializedCache.d.ts.map +0 -1
  844. package/lib/util/set.d.ts.map +0 -1
  845. package/lib/util/shuffle.d.ts.map +0 -1
  846. package/lib/util/sortBy.d.ts.map +0 -1
  847. package/lib/util/sszBytes.d.ts.map +0 -1
  848. package/lib/util/strictEvents.d.ts.map +0 -1
  849. package/lib/util/time.d.ts.map +0 -1
  850. package/lib/util/timeSeries.d.ts.map +0 -1
  851. package/lib/util/types.d.ts.map +0 -1
  852. package/lib/util/workerEvents.d.ts.map +0 -1
  853. package/lib/util/wrapError.d.ts.map +0 -1
  854. package/src/api/impl/api.ts +0 -26
  855. package/src/api/impl/beacon/blocks/index.ts +0 -744
  856. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  857. package/src/api/impl/beacon/index.ts +0 -35
  858. package/src/api/impl/beacon/pool/index.ts +0 -314
  859. package/src/api/impl/beacon/rewards/index.ts +0 -30
  860. package/src/api/impl/beacon/state/index.ts +0 -406
  861. package/src/api/impl/beacon/state/utils.ts +0 -189
  862. package/src/api/impl/config/constants.ts +0 -127
  863. package/src/api/impl/config/index.ts +0 -59
  864. package/src/api/impl/debug/index.ts +0 -131
  865. package/src/api/impl/errors.ts +0 -50
  866. package/src/api/impl/events/index.ts +0 -33
  867. package/src/api/impl/index.ts +0 -6
  868. package/src/api/impl/lightclient/index.ts +0 -64
  869. package/src/api/impl/lodestar/index.ts +0 -257
  870. package/src/api/impl/node/index.ts +0 -88
  871. package/src/api/impl/node/utils.ts +0 -51
  872. package/src/api/impl/proof/index.ts +0 -60
  873. package/src/api/impl/types.ts +0 -17
  874. package/src/api/impl/utils.ts +0 -25
  875. package/src/api/impl/validator/index.ts +0 -1540
  876. package/src/api/impl/validator/utils.ts +0 -85
  877. package/src/api/index.ts +0 -2
  878. package/src/api/options.ts +0 -16
  879. package/src/api/rest/activeSockets.ts +0 -109
  880. package/src/api/rest/base.ts +0 -216
  881. package/src/api/rest/index.ts +0 -63
  882. package/src/api/rest/swaggerUI.ts +0 -80
  883. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  884. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  885. package/src/chain/GetBlobsTracker.ts +0 -115
  886. package/src/chain/archiveStore/archiveStore.ts +0 -222
  887. package/src/chain/archiveStore/constants.ts +0 -5
  888. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  889. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  890. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  891. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  892. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  893. package/src/chain/archiveStore/index.ts +0 -3
  894. package/src/chain/archiveStore/interface.ts +0 -75
  895. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  896. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  897. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  898. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  899. package/src/chain/balancesCache.ts +0 -52
  900. package/src/chain/beaconProposerCache.ts +0 -43
  901. package/src/chain/blocks/blockInput/blockInput.ts +0 -852
  902. package/src/chain/blocks/blockInput/errors.ts +0 -48
  903. package/src/chain/blocks/blockInput/index.ts +0 -4
  904. package/src/chain/blocks/blockInput/types.ts +0 -145
  905. package/src/chain/blocks/blockInput/utils.ts +0 -21
  906. package/src/chain/blocks/importBlock.ts +0 -597
  907. package/src/chain/blocks/index.ts +0 -179
  908. package/src/chain/blocks/types.ts +0 -101
  909. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  910. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  911. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  912. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  913. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  914. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  915. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  916. package/src/chain/blocks/verifyBlock.ts +0 -242
  917. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -42
  918. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  919. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  920. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  921. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  922. package/src/chain/blocks/writeBlockInputToDb.ts +0 -128
  923. package/src/chain/bls/index.ts +0 -4
  924. package/src/chain/bls/interface.ts +0 -68
  925. package/src/chain/bls/maybeBatch.ts +0 -45
  926. package/src/chain/bls/multithread/index.ts +0 -582
  927. package/src/chain/bls/multithread/jobItem.ts +0 -119
  928. package/src/chain/bls/multithread/poolSize.ts +0 -16
  929. package/src/chain/bls/multithread/types.ts +0 -38
  930. package/src/chain/bls/multithread/utils.ts +0 -19
  931. package/src/chain/bls/multithread/worker.ts +0 -114
  932. package/src/chain/bls/singleThread.ts +0 -87
  933. package/src/chain/bls/utils.ts +0 -30
  934. package/src/chain/chain.ts +0 -1354
  935. package/src/chain/emitter.ts +0 -113
  936. package/src/chain/errors/attestationError.ts +0 -194
  937. package/src/chain/errors/attesterSlashingError.ts +0 -11
  938. package/src/chain/errors/blobSidecarError.ts +0 -60
  939. package/src/chain/errors/blockError.ts +0 -166
  940. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  941. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  942. package/src/chain/errors/gossipValidation.ts +0 -20
  943. package/src/chain/errors/index.ts +0 -10
  944. package/src/chain/errors/lightClientError.ts +0 -30
  945. package/src/chain/errors/proposerSlashingError.ts +0 -11
  946. package/src/chain/errors/syncCommitteeError.ts +0 -36
  947. package/src/chain/errors/voluntaryExitError.ts +0 -13
  948. package/src/chain/forkChoice/index.ts +0 -112
  949. package/src/chain/genesis/genesis.ts +0 -190
  950. package/src/chain/genesis/interface.ts +0 -14
  951. package/src/chain/index.ts +0 -6
  952. package/src/chain/initState.ts +0 -221
  953. package/src/chain/interface.ts +0 -280
  954. package/src/chain/lightClient/index.ts +0 -764
  955. package/src/chain/lightClient/proofs.ts +0 -85
  956. package/src/chain/lightClient/types.ts +0 -33
  957. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  958. package/src/chain/opPools/attestationPool.ts +0 -282
  959. package/src/chain/opPools/index.ts +0 -5
  960. package/src/chain/opPools/opPool.ts +0 -462
  961. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -169
  962. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  963. package/src/chain/opPools/types.ts +0 -35
  964. package/src/chain/opPools/utils.ts +0 -65
  965. package/src/chain/options.ts +0 -138
  966. package/src/chain/prepareNextSlot.ts +0 -277
  967. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  968. package/src/chain/produceBlock/index.ts +0 -2
  969. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  970. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  971. package/src/chain/regen/errors.ts +0 -30
  972. package/src/chain/regen/index.ts +0 -4
  973. package/src/chain/regen/interface.ts +0 -93
  974. package/src/chain/regen/queued.ts +0 -317
  975. package/src/chain/regen/regen.ts +0 -424
  976. package/src/chain/reprocess.ts +0 -161
  977. package/src/chain/rewards/attestationsRewards.ts +0 -196
  978. package/src/chain/rewards/blockRewards.ts +0 -150
  979. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  980. package/src/chain/seenCache/index.ts +0 -5
  981. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  982. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  983. package/src/chain/seenCache/seenAttesters.ts +0 -58
  984. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  985. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  986. package/src/chain/seenCache/seenCommittee.ts +0 -43
  987. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  988. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  989. package/src/chain/serializeState.ts +0 -32
  990. package/src/chain/shufflingCache.ts +0 -238
  991. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  992. package/src/chain/stateCache/datastore/db.ts +0 -36
  993. package/src/chain/stateCache/datastore/file.ts +0 -53
  994. package/src/chain/stateCache/datastore/index.ts +0 -2
  995. package/src/chain/stateCache/datastore/types.ts +0 -13
  996. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  997. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  998. package/src/chain/stateCache/index.ts +0 -3
  999. package/src/chain/stateCache/mapMetrics.ts +0 -52
  1000. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -837
  1001. package/src/chain/stateCache/types.ts +0 -86
  1002. package/src/chain/validation/aggregateAndProof.ts +0 -258
  1003. package/src/chain/validation/attestation.ts +0 -885
  1004. package/src/chain/validation/attesterSlashing.ts +0 -61
  1005. package/src/chain/validation/blobSidecar.ts +0 -301
  1006. package/src/chain/validation/block.ts +0 -188
  1007. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  1008. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  1009. package/src/chain/validation/index.ts +0 -9
  1010. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -46
  1011. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -68
  1012. package/src/chain/validation/proposerSlashing.ts +0 -54
  1013. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  1014. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  1015. package/src/chain/validation/signatureSets/index.ts +0 -6
  1016. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  1017. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  1018. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  1019. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  1020. package/src/chain/validation/syncCommittee.ts +0 -165
  1021. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  1022. package/src/chain/validation/voluntaryExit.ts +0 -58
  1023. package/src/chain/validatorMonitor.ts +0 -1309
  1024. package/src/constants/constants.ts +0 -15
  1025. package/src/constants/index.ts +0 -2
  1026. package/src/constants/network.ts +0 -52
  1027. package/src/db/beacon.ts +0 -113
  1028. package/src/db/buckets.ts +0 -80
  1029. package/src/db/index.ts +0 -2
  1030. package/src/db/interface.ts +0 -76
  1031. package/src/db/options.ts +0 -7
  1032. package/src/db/repositories/attesterSlashing.ts +0 -38
  1033. package/src/db/repositories/backfilledRanges.ts +0 -29
  1034. package/src/db/repositories/blobSidecars.ts +0 -37
  1035. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  1036. package/src/db/repositories/block.ts +0 -33
  1037. package/src/db/repositories/blockArchive.ts +0 -170
  1038. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  1039. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  1040. package/src/db/repositories/checkpointState.ts +0 -31
  1041. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  1042. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  1043. package/src/db/repositories/depositDataRoot.ts +0 -80
  1044. package/src/db/repositories/depositEvent.ts +0 -32
  1045. package/src/db/repositories/eth1Data.ts +0 -33
  1046. package/src/db/repositories/index.ts +0 -20
  1047. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  1048. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  1049. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  1050. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  1051. package/src/db/repositories/proposerSlashing.ts +0 -15
  1052. package/src/db/repositories/stateArchive.ts +0 -69
  1053. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  1054. package/src/db/repositories/voluntaryExit.ts +0 -15
  1055. package/src/db/single/index.ts +0 -2
  1056. package/src/db/single/preGenesisState.ts +0 -37
  1057. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  1058. package/src/eth1/errors.ts +0 -40
  1059. package/src/eth1/eth1DataCache.ts +0 -26
  1060. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  1061. package/src/eth1/eth1DepositsCache.ts +0 -141
  1062. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  1063. package/src/eth1/index.ts +0 -157
  1064. package/src/eth1/interface.ts +0 -131
  1065. package/src/eth1/options.ts +0 -28
  1066. package/src/eth1/provider/eth1Provider.ts +0 -229
  1067. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  1068. package/src/eth1/provider/jwt.ts +0 -36
  1069. package/src/eth1/provider/utils.ts +0 -136
  1070. package/src/eth1/stream.ts +0 -75
  1071. package/src/eth1/utils/depositContract.ts +0 -37
  1072. package/src/eth1/utils/deposits.ts +0 -70
  1073. package/src/eth1/utils/eth1Data.ts +0 -100
  1074. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  1075. package/src/eth1/utils/eth1Vote.ts +0 -142
  1076. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  1077. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  1078. package/src/execution/builder/cache.ts +0 -39
  1079. package/src/execution/builder/http.ts +0 -229
  1080. package/src/execution/builder/index.ts +0 -27
  1081. package/src/execution/builder/interface.ts +0 -49
  1082. package/src/execution/builder/utils.ts +0 -19
  1083. package/src/execution/engine/disabled.ts +0 -35
  1084. package/src/execution/engine/http.ts +0 -644
  1085. package/src/execution/engine/index.ts +0 -63
  1086. package/src/execution/engine/interface.ts +0 -199
  1087. package/src/execution/engine/mock.ts +0 -493
  1088. package/src/execution/engine/payloadIdCache.ts +0 -54
  1089. package/src/execution/engine/types.ts +0 -640
  1090. package/src/execution/engine/utils.ts +0 -136
  1091. package/src/execution/index.ts +0 -4
  1092. package/src/index.ts +0 -20
  1093. package/src/metrics/index.ts +0 -4
  1094. package/src/metrics/metrics/beacon.ts +0 -390
  1095. package/src/metrics/metrics/lodestar.ts +0 -1870
  1096. package/src/metrics/metrics.ts +0 -43
  1097. package/src/metrics/nodeJsMetrics.ts +0 -19
  1098. package/src/metrics/options.ts +0 -22
  1099. package/src/metrics/server/http.ts +0 -114
  1100. package/src/metrics/server/index.ts +0 -1
  1101. package/src/metrics/utils/avgMinMax.ts +0 -87
  1102. package/src/metrics/utils/gauge.ts +0 -22
  1103. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  1104. package/src/monitoring/clientStats.ts +0 -297
  1105. package/src/monitoring/index.ts +0 -2
  1106. package/src/monitoring/options.ts +0 -19
  1107. package/src/monitoring/properties.ts +0 -152
  1108. package/src/monitoring/service.ts +0 -235
  1109. package/src/monitoring/system.ts +0 -146
  1110. package/src/monitoring/types.ts +0 -21
  1111. package/src/network/core/events.ts +0 -59
  1112. package/src/network/core/index.ts +0 -3
  1113. package/src/network/core/metrics.ts +0 -304
  1114. package/src/network/core/networkCore.ts +0 -599
  1115. package/src/network/core/networkCoreWorker.ts +0 -176
  1116. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  1117. package/src/network/core/types.ts +0 -119
  1118. package/src/network/discv5/index.ts +0 -132
  1119. package/src/network/discv5/types.ts +0 -74
  1120. package/src/network/discv5/utils.ts +0 -50
  1121. package/src/network/discv5/worker.ts +0 -137
  1122. package/src/network/events.ts +0 -51
  1123. package/src/network/forks.ts +0 -94
  1124. package/src/network/gossip/constants.ts +0 -15
  1125. package/src/network/gossip/encoding.ts +0 -111
  1126. package/src/network/gossip/errors.ts +0 -7
  1127. package/src/network/gossip/gossipsub.ts +0 -384
  1128. package/src/network/gossip/index.ts +0 -4
  1129. package/src/network/gossip/interface.ts +0 -215
  1130. package/src/network/gossip/metrics.ts +0 -71
  1131. package/src/network/gossip/scoringParameters.ts +0 -333
  1132. package/src/network/gossip/topic.ts +0 -332
  1133. package/src/network/index.ts +0 -8
  1134. package/src/network/interface.ts +0 -134
  1135. package/src/network/libp2p/error.ts +0 -55
  1136. package/src/network/libp2p/index.ts +0 -153
  1137. package/src/network/metadata.ts +0 -162
  1138. package/src/network/network.ts +0 -767
  1139. package/src/network/networkConfig.ts +0 -12
  1140. package/src/network/options.ts +0 -70
  1141. package/src/network/peers/client.ts +0 -29
  1142. package/src/network/peers/datastore.ts +0 -188
  1143. package/src/network/peers/discover.ts +0 -647
  1144. package/src/network/peers/index.ts +0 -2
  1145. package/src/network/peers/peerManager.ts +0 -899
  1146. package/src/network/peers/peersData.ts +0 -65
  1147. package/src/network/peers/score/constants.ts +0 -34
  1148. package/src/network/peers/score/index.ts +0 -4
  1149. package/src/network/peers/score/interface.ts +0 -74
  1150. package/src/network/peers/score/score.ts +0 -200
  1151. package/src/network/peers/score/store.ts +0 -95
  1152. package/src/network/peers/score/utils.ts +0 -37
  1153. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  1154. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  1155. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  1156. package/src/network/peers/utils/index.ts +0 -4
  1157. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  1158. package/src/network/peers/utils/subnetMap.ts +0 -88
  1159. package/src/network/processor/aggregatorTracker.ts +0 -38
  1160. package/src/network/processor/extractSlotRootFns.ts +0 -64
  1161. package/src/network/processor/gossipHandlers.ts +0 -951
  1162. package/src/network/processor/gossipQueues/index.ts +0 -114
  1163. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  1164. package/src/network/processor/gossipQueues/linear.ts +0 -162
  1165. package/src/network/processor/gossipQueues/types.ts +0 -57
  1166. package/src/network/processor/gossipValidatorFn.ts +0 -142
  1167. package/src/network/processor/index.ts +0 -496
  1168. package/src/network/processor/types.ts +0 -27
  1169. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  1170. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  1171. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  1172. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  1173. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  1174. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  1175. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  1176. package/src/network/reqresp/handlers/index.ts +0 -78
  1177. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  1178. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  1179. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  1180. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  1181. package/src/network/reqresp/index.ts +0 -2
  1182. package/src/network/reqresp/interface.ts +0 -45
  1183. package/src/network/reqresp/protocols.ts +0 -146
  1184. package/src/network/reqresp/rateLimit.ts +0 -112
  1185. package/src/network/reqresp/score.ts +0 -70
  1186. package/src/network/reqresp/types.ts +0 -174
  1187. package/src/network/reqresp/utils/collect.ts +0 -84
  1188. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  1189. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  1190. package/src/network/statusCache.ts +0 -17
  1191. package/src/network/subnets/attnetsService.ts +0 -385
  1192. package/src/network/subnets/index.ts +0 -2
  1193. package/src/network/subnets/interface.ts +0 -66
  1194. package/src/network/subnets/syncnetsService.ts +0 -147
  1195. package/src/network/subnets/util.ts +0 -63
  1196. package/src/network/util.ts +0 -29
  1197. package/src/node/index.ts +0 -2
  1198. package/src/node/nodejs.ts +0 -349
  1199. package/src/node/notifier.ts +0 -206
  1200. package/src/node/options.ts +0 -51
  1201. package/src/node/utils/interop/deposits.ts +0 -53
  1202. package/src/node/utils/interop/state.ts +0 -59
  1203. package/src/node/utils/lightclient.ts +0 -7
  1204. package/src/node/utils/state.ts +0 -37
  1205. package/src/sync/backfill/backfill.ts +0 -893
  1206. package/src/sync/backfill/errors.ts +0 -23
  1207. package/src/sync/backfill/index.ts +0 -1
  1208. package/src/sync/backfill/verify.ts +0 -58
  1209. package/src/sync/constants.ts +0 -71
  1210. package/src/sync/index.ts +0 -2
  1211. package/src/sync/interface.ts +0 -55
  1212. package/src/sync/options.ts +0 -45
  1213. package/src/sync/range/batch.ts +0 -455
  1214. package/src/sync/range/chain.ts +0 -715
  1215. package/src/sync/range/range.ts +0 -354
  1216. package/src/sync/range/utils/batches.ts +0 -119
  1217. package/src/sync/range/utils/chainTarget.ts +0 -62
  1218. package/src/sync/range/utils/hashBlocks.ts +0 -27
  1219. package/src/sync/range/utils/index.ts +0 -5
  1220. package/src/sync/range/utils/peerBalancer.ts +0 -184
  1221. package/src/sync/range/utils/updateChains.ts +0 -66
  1222. package/src/sync/sync.ts +0 -290
  1223. package/src/sync/types.ts +0 -57
  1224. package/src/sync/unknownBlock.ts +0 -859
  1225. package/src/sync/utils/downloadByRange.ts +0 -808
  1226. package/src/sync/utils/downloadByRoot.ts +0 -560
  1227. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  1228. package/src/sync/utils/remoteSyncType.ts +0 -144
  1229. package/src/util/address.ts +0 -3
  1230. package/src/util/array.ts +0 -311
  1231. package/src/util/asyncIterableToEvents.ts +0 -164
  1232. package/src/util/binarySearch.ts +0 -48
  1233. package/src/util/bitArray.ts +0 -84
  1234. package/src/util/blobs.ts +0 -210
  1235. package/src/util/bufferPool.ts +0 -95
  1236. package/src/util/bytes.ts +0 -11
  1237. package/src/util/chunkify.ts +0 -27
  1238. package/src/util/clock.ts +0 -212
  1239. package/src/util/dataColumns.ts +0 -415
  1240. package/src/util/dependentRoot.ts +0 -47
  1241. package/src/util/enum.ts +0 -17
  1242. package/src/util/error.ts +0 -56
  1243. package/src/util/eventLoop.ts +0 -22
  1244. package/src/util/execution.ts +0 -223
  1245. package/src/util/file.ts +0 -52
  1246. package/src/util/forkChoice.ts +0 -5
  1247. package/src/util/forkName.ts +0 -20
  1248. package/src/util/graffiti.ts +0 -39
  1249. package/src/util/hex.ts +0 -9
  1250. package/src/util/index.ts +0 -2
  1251. package/src/util/ip.ts +0 -6
  1252. package/src/util/itTrigger.ts +0 -49
  1253. package/src/util/kzg.ts +0 -3
  1254. package/src/util/map.ts +0 -77
  1255. package/src/util/metadata.ts +0 -22
  1256. package/src/util/multifork.ts +0 -69
  1257. package/src/util/numpy.ts +0 -8
  1258. package/src/util/peerId.ts +0 -16
  1259. package/src/util/profile.ts +0 -54
  1260. package/src/util/promises.ts +0 -14
  1261. package/src/util/queue/errors.ts +0 -14
  1262. package/src/util/queue/fnQueue.ts +0 -16
  1263. package/src/util/queue/index.ts +0 -4
  1264. package/src/util/queue/itemQueue.ts +0 -128
  1265. package/src/util/queue/options.ts +0 -37
  1266. package/src/util/serializedCache.ts +0 -20
  1267. package/src/util/set.ts +0 -62
  1268. package/src/util/shuffle.ts +0 -21
  1269. package/src/util/sortBy.ts +0 -19
  1270. package/src/util/sszBytes.ts +0 -481
  1271. package/src/util/strictEvents.ts +0 -8
  1272. package/src/util/time.ts +0 -13
  1273. package/src/util/timeSeries.ts +0 -118
  1274. package/src/util/types.ts +0 -31
  1275. package/src/util/workerEvents.ts +0 -142
  1276. package/src/util/wrapError.ts +0 -27
@@ -1,1870 +0,0 @@
1
- /** biome-ignore-all lint/suspicious/noTemplateCurlyInString: The metric templates requires to have `${}` in a normal string */
2
- import {NotReorgedReason} from "@lodestar/fork-choice";
3
- import {BlockInputSource} from "../../chain/blocks/blockInput/index.js";
4
- import {JobQueueItemType} from "../../chain/bls/index.js";
5
- import {AttestationErrorCode, BlockErrorCode} from "../../chain/errors/index.js";
6
- import {
7
- type InvalidAttestationData,
8
- ScannedSlotsTerminationReason,
9
- } from "../../chain/opPools/aggregatedAttestationPool.js";
10
- import {InsertOutcome} from "../../chain/opPools/types.js";
11
- import {RegenCaller, RegenFnName} from "../../chain/regen/interface.js";
12
- import {ReprocessStatus} from "../../chain/reprocess.js";
13
- import {RejectReason} from "../../chain/seenCache/seenAttestationData.js";
14
- import {CacheItemType} from "../../chain/stateCache/types.js";
15
- import {OpSource} from "../../chain/validatorMonitor.js";
16
- import {ExecutionPayloadStatus} from "../../execution/index.js";
17
- import {GossipType} from "../../network/index.js";
18
- import {CannotAcceptWorkReason, ReprocessRejectReason} from "../../network/processor/index.js";
19
- import {BackfillSyncMethod} from "../../sync/backfill/backfill.js";
20
- import {PendingBlockType} from "../../sync/types.js";
21
- import {PeerSyncType, RangeSyncType} from "../../sync/utils/remoteSyncType.js";
22
- import {AllocSource} from "../../util/bufferPool.js";
23
- import {DataColumnReconstructionCode} from "../../util/dataColumns.js";
24
- import {DataColumnEngineResult} from "../../util/execution.js";
25
- import {LodestarMetadata} from "../options.js";
26
- import {RegistryMetricCreator} from "../utils/registryMetricCreator.js";
27
-
28
- export type LodestarMetrics = ReturnType<typeof createLodestarMetrics>;
29
-
30
- /**
31
- * Extra Lodestar custom metrics
32
- */
33
- export function createLodestarMetrics(
34
- register: RegistryMetricCreator,
35
- metadata?: LodestarMetadata,
36
- genesisTime?: number
37
- ) {
38
- if (metadata) {
39
- register.static<LodestarMetadata>({
40
- name: "lodestar_version",
41
- help: "Lodestar version",
42
- value: metadata,
43
- });
44
- }
45
-
46
- // Initial static metrics
47
- if (genesisTime) {
48
- register
49
- .gauge({
50
- name: "lodestar_genesis_time",
51
- help: "Genesis time in seconds",
52
- })
53
- .set(genesisTime);
54
- }
55
-
56
- return {
57
- gossipValidationQueue: {
58
- length: register.gauge<{topic: GossipType}>({
59
- name: "lodestar_gossip_validation_queue_length",
60
- help: "Count of total gossip validation queue length",
61
- labelNames: ["topic"],
62
- }),
63
- keySize: register.gauge<{topic: GossipType}>({
64
- name: "lodestar_gossip_validation_queue_key_size",
65
- help: "Count of total gossip validation queue key size",
66
- labelNames: ["topic"],
67
- }),
68
- droppedJobs: register.gauge<{topic: GossipType}>({
69
- name: "lodestar_gossip_validation_queue_dropped_jobs_total",
70
- help: "Count of total gossip validation queue dropped jobs",
71
- labelNames: ["topic"],
72
- }),
73
- jobTime: register.histogram<{topic: GossipType}>({
74
- name: "lodestar_gossip_validation_queue_job_time_seconds",
75
- help: "Time to process gossip validation queue job in seconds",
76
- labelNames: ["topic"],
77
- buckets: [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10],
78
- }),
79
- jobWaitTime: register.histogram<{topic: GossipType}>({
80
- name: "lodestar_gossip_validation_queue_job_wait_time_seconds",
81
- help: "Time from job added to the queue to starting the job in seconds",
82
- labelNames: ["topic"],
83
- buckets: [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10],
84
- }),
85
- concurrency: register.gauge<{topic: GossipType}>({
86
- name: "lodestar_gossip_validation_queue_concurrency",
87
- help: "Current count of jobs being run on network processor for topic",
88
- labelNames: ["topic"],
89
- }),
90
- // this metric links to the beacon_attestation topic only as this is the only topics that are batch
91
- keyAge: register.histogram({
92
- name: "lodestar_gossip_validation_queue_key_age_seconds",
93
- help: "Age of the first item of each key in the indexed queues in seconds",
94
- buckets: [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 5],
95
- }),
96
- queueTime: register.histogram({
97
- name: "lodestar_gossip_validation_queue_time_seconds",
98
- help: "Total time an item stays in queue until it is processed in seconds",
99
- buckets: [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 5],
100
- }),
101
- },
102
-
103
- networkProcessor: {
104
- gossipValidationAccept: register.gauge<{topic: GossipType}>({
105
- name: "lodestar_gossip_validation_accept_total",
106
- help: "Count of total gossip validation accept",
107
- labelNames: ["topic"],
108
- }),
109
- gossipValidationIgnore: register.gauge<{topic: GossipType}>({
110
- name: "lodestar_gossip_validation_ignore_total",
111
- help: "Count of total gossip validation ignore",
112
- labelNames: ["topic"],
113
- }),
114
- gossipValidationReject: register.gauge<{topic: GossipType}>({
115
- name: "lodestar_gossip_validation_reject_total",
116
- help: "Count of total gossip validation reject",
117
- labelNames: ["topic"],
118
- }),
119
- gossipValidationError: register.gauge<{topic: GossipType; error: string}>({
120
- name: "lodestar_gossip_validation_error_total",
121
- help: "Count of total gossip validation errors detailed",
122
- labelNames: ["topic", "error"],
123
- }),
124
- gossipAttestationIgnoreByReason: register.gauge<{reason: AttestationErrorCode}>({
125
- name: "lodestar_gossip_attestation_ignore_by_reason_total",
126
- help: "Count of total gossip attestation ignore by reason",
127
- labelNames: ["reason"],
128
- }),
129
- gossipAttestationRejectByReason: register.gauge<{reason: AttestationErrorCode}>({
130
- name: "lodestar_gossip_attestation_reject_by_reason_total",
131
- help: "Count of total gossip attestation reject by reason",
132
- labelNames: ["reason"],
133
- }),
134
- executeWorkCalls: register.gauge({
135
- name: "lodestar_network_processor_execute_work_calls_total",
136
- help: "Total calls to network processor execute work fn",
137
- }),
138
- jobsSubmitted: register.histogram({
139
- name: "lodestar_network_processor_execute_jobs_submitted_total",
140
- help: "Total calls to network processor execute work fn",
141
- buckets: [0, 1, 5, 128],
142
- }),
143
- canNotAcceptWork: register.gauge<{reason: CannotAcceptWorkReason}>({
144
- name: "lodestar_network_processor_can_not_accept_work_total",
145
- help: "Total times network processor can not accept work on executeWork",
146
- labelNames: ["reason"],
147
- }),
148
- },
149
-
150
- networkWorkerHandler: {
151
- reqRespBridgeReqCallerPending: register.gauge({
152
- name: "lodestar_network_worker_handler_reqresp_bridge_req_caller_pending_count",
153
- help: "Current count of pending items in reqRespBridgeReqCaller data structure",
154
- }),
155
- },
156
- networkWorkerWireEventsOnMainThreadLatency: register.histogram<{eventName: string}>({
157
- name: "lodestar_network_worker_wire_events_on_main_thread_latency_seconds",
158
- help: "Latency in seconds to transmit network events to main thread across worker port",
159
- labelNames: ["eventName"],
160
- buckets: [0.001, 0.003, 0.01, 0.03, 0.1],
161
- }),
162
-
163
- regenQueue: {
164
- length: register.gauge({
165
- name: "lodestar_regen_queue_length",
166
- help: "Count of total regen queue length",
167
- }),
168
- droppedJobs: register.gauge({
169
- name: "lodestar_regen_queue_dropped_jobs_total",
170
- help: "Count of total regen queue dropped jobs",
171
- }),
172
- jobTime: register.histogram({
173
- name: "lodestar_regen_queue_job_time_seconds",
174
- help: "Time to process regen queue job in seconds",
175
- buckets: [0.01, 0.1, 1, 10, 100],
176
- }),
177
- jobWaitTime: register.histogram({
178
- name: "lodestar_regen_queue_job_wait_time_seconds",
179
- help: "Time from job added to the regen queue to starting in seconds",
180
- buckets: [0.01, 0.1, 1, 10, 100],
181
- }),
182
- concurrency: register.gauge({
183
- name: "lodestar_regen_queue_concurrency",
184
- help: "Current concurrency of regen queue",
185
- }),
186
- },
187
-
188
- blockProcessorQueue: {
189
- length: register.gauge({
190
- name: "lodestar_block_processor_queue_length",
191
- help: "Count of total block processor queue length",
192
- }),
193
- droppedJobs: register.gauge({
194
- name: "lodestar_block_processor_queue_dropped_jobs_total",
195
- help: "Count of total block processor queue dropped jobs",
196
- }),
197
- jobTime: register.histogram({
198
- name: "lodestar_block_processor_queue_job_time_seconds",
199
- help: "Time to process block processor queue job in seconds",
200
- buckets: [0.01, 0.1, 1, 10, 100],
201
- }),
202
- jobWaitTime: register.histogram({
203
- name: "lodestar_block_processor_queue_job_wait_time_seconds",
204
- help: "Time from job added to the block processor queue to starting in seconds",
205
- buckets: [0.01, 0.1, 1, 10, 100],
206
- }),
207
- concurrency: register.gauge({
208
- name: "lodestar_block_processor_queue_concurrency",
209
- help: "Current concurrency of block processor queue",
210
- }),
211
- },
212
-
213
- engineHttpProcessorQueue: {
214
- length: register.gauge({
215
- name: "lodestar_engine_http_processor_queue_length",
216
- help: "Count of total engine http processor queue length",
217
- }),
218
- droppedJobs: register.gauge({
219
- name: "lodestar_engine_http_processor_queue_dropped_jobs_total",
220
- help: "Count of total engine http processor queue dropped jobs",
221
- }),
222
- jobTime: register.histogram({
223
- name: "lodestar_engine_http_processor_queue_job_time_seconds",
224
- help: "Time to process engine http processor queue job in seconds",
225
- // newPayload can vary from 100 of ms to 3-4 seconds and typically 300-400ms
226
- buckets: [0.05, 0.1, 0.2, 0.3, 0.5, 0.75, 1, 2, 5, 10, 25],
227
- }),
228
- jobWaitTime: register.histogram({
229
- name: "lodestar_engine_http_processor_queue_job_wait_time_seconds",
230
- help: "Time from job added to the engine http processor queue to starting in seconds",
231
- // Ideally it should be picked up < 100 of ms and could run upto 100 of secs
232
- buckets: [0.05, 0.1, 0.2, 0.3, 0.5, 0.75, 1, 2, 5, 10, 25, 50, 100],
233
- }),
234
- concurrency: register.gauge({
235
- name: "lodestar_engine_http_processor_queue_concurrency_total",
236
- help: "Current concurrency of engine http processor queue",
237
- }),
238
- },
239
-
240
- apiRest: {
241
- responseTime: register.histogram<{operationId: string}>({
242
- name: "lodestar_api_rest_response_time_seconds",
243
- help: "REST API time to fulfill a request by operationId",
244
- labelNames: ["operationId"],
245
- // Request times range between 1ms to 100ms in normal conditions. Can get to 1-5 seconds if overloaded
246
- buckets: [0.01, 0.1, 1],
247
- }),
248
- requests: register.gauge<{operationId: string}>({
249
- name: "lodestar_api_rest_requests_total",
250
- help: "REST API total count requests by operationId",
251
- labelNames: ["operationId"],
252
- }),
253
- errors: register.gauge<{operationId: string}>({
254
- name: "lodestar_api_rest_errors_total",
255
- help: "REST API total count of errors by operationId",
256
- labelNames: ["operationId"],
257
- }),
258
- // Metrics for HttpActiveSocketsTracker, defined there
259
- activeSockets: register.gauge({
260
- name: "lodestar_api_rest_active_sockets_count",
261
- help: "REST API current count of active sockets",
262
- }),
263
- socketsBytesRead: register.gauge({
264
- name: "lodestar_api_rest_sockets_bytes_read_total",
265
- help: "REST API total count of bytes read on all sockets",
266
- }),
267
- socketsBytesWritten: register.gauge({
268
- name: "lodestar_api_rest_sockets_bytes_written_total",
269
- help: "REST API total count of bytes written on all sockets",
270
- }),
271
- },
272
-
273
- production: {
274
- producedAggregateParticipants: register.histogram({
275
- name: "lodestar_produced_aggregate_participants",
276
- help: "API impl produced aggregates histogram of participants",
277
- // We expect most aggregates to have 400-600 participants depending on the
278
- // validator count of the network, anything lower than that is not acceptable
279
- // Max committee sizes are: 1e6 vc: 488, 1.1e6 vc: 537, 1.4e6 vc: 683
280
- buckets: [1, 25, 50, 100, 250, 400, 500, 600],
281
- }),
282
- producedSyncContributionParticipants: register.histogram({
283
- name: "lodestar_produced_sync_contribution_participants",
284
- help: "API impl produced sync contribution histogram of participants",
285
- // We care more about tracking low quality aggregates with low participation
286
- // Max committee sizes fixed to 512/4 = 128
287
- buckets: [1, 5, 20, 50, 128],
288
- }),
289
- producedSyncAggregateParticipants: register.histogram({
290
- name: "lodestar_produced_sync_aggregate_participants",
291
- help: "API impl produced sync aggregate histogram of participants",
292
- // We care more about tracking low quality aggregates with low participation
293
- // Max committee sizes fixed to 512
294
- buckets: [1, 5, 20, 50, 100, 200, 512],
295
- }),
296
- },
297
-
298
- duties: {
299
- requestNextEpochProposalDutiesHit: register.gauge({
300
- name: "lodestar_duties_request_next_epoch_proposal_duties_hit_total",
301
- help: "Total count of requestNextEpochProposalDuties hit",
302
- }),
303
- requestNextEpochProposalDutiesMiss: register.gauge({
304
- name: "lodestar_duties_request_next_epoch_proposal_duties_miss_total",
305
- help: "Total count of requestNextEpochProposalDuties miss",
306
- }),
307
- },
308
-
309
- // Beacon state transition metrics
310
-
311
- epochTransitionByCaller: register.gauge<{caller: RegenCaller}>({
312
- name: "lodestar_epoch_transition_by_caller_total",
313
- help: "Total count of epoch transition by caller",
314
- labelNames: ["caller"],
315
- }),
316
-
317
- // BLS verifier thread pool and queue
318
-
319
- bls: {
320
- aggregatedPubkeys: register.gauge({
321
- name: "lodestar_bls_aggregated_pubkeys_total",
322
- help: "Total aggregated pubkeys for BLS validation",
323
- }),
324
- },
325
-
326
- blsThreadPool: {
327
- jobsWorkerTime: register.gauge<{workerId: number}>({
328
- name: "lodestar_bls_thread_pool_time_seconds_sum",
329
- help: "Total time spent verifying signature sets measured on the worker",
330
- labelNames: ["workerId"],
331
- }),
332
- successJobsSignatureSetsCount: register.gauge({
333
- name: "lodestar_bls_thread_pool_success_jobs_signature_sets_count",
334
- help: "Count of total verified signature sets",
335
- }),
336
- errorAggregateSignatureSetsCount: register.gauge<{type: JobQueueItemType}>({
337
- name: "lodestar_bls_thread_pool_error_aggregate_signature_sets_count",
338
- help: "Count of error when aggregating pubkeys or signatures",
339
- labelNames: ["type"],
340
- }),
341
- errorJobsSignatureSetsCount: register.gauge({
342
- name: "lodestar_bls_thread_pool_error_jobs_signature_sets_count",
343
- help: "Count of total error-ed signature sets",
344
- }),
345
- jobWaitTime: register.histogram({
346
- name: "lodestar_bls_thread_pool_queue_job_wait_time_seconds",
347
- help: "Time from job added to the queue to starting the job in seconds",
348
- buckets: [0.01, 0.02, 0.5, 0.1, 0.3, 1],
349
- }),
350
- queueLength: register.gauge({
351
- name: "lodestar_bls_thread_pool_queue_length",
352
- help: "Count of total block processor queue length",
353
- }),
354
- workersBusy: register.gauge({
355
- name: "lodestar_bls_thread_pool_workers_busy",
356
- help: "Count of current busy workers",
357
- }),
358
- totalJobsGroupsStarted: register.gauge({
359
- name: "lodestar_bls_thread_pool_job_groups_started_total",
360
- help: "Count of total jobs groups started in bls thread pool, job groups include +1 jobs",
361
- }),
362
- totalJobsStarted: register.gauge<{type: JobQueueItemType}>({
363
- name: "lodestar_bls_thread_pool_jobs_started_total",
364
- help: "Count of total jobs started in bls thread pool, jobs include +1 signature sets",
365
- labelNames: ["type"],
366
- }),
367
- totalSigSetsStarted: register.gauge<{type: JobQueueItemType}>({
368
- name: "lodestar_bls_thread_pool_sig_sets_started_total",
369
- help: "Count of total signature sets started in bls thread pool, sig sets include 1 pk, msg, sig",
370
- labelNames: ["type"],
371
- }),
372
- // Re-verifying a batch means doing double work. This number must be very low or it can be a waste of CPU resources
373
- batchRetries: register.gauge({
374
- name: "lodestar_bls_thread_pool_batch_retries_total",
375
- help: "Count of total batches that failed and had to be verified again.",
376
- }),
377
- // To count how many sigs are being validated with the optimization of batching them
378
- batchSigsSuccess: register.gauge({
379
- name: "lodestar_bls_thread_pool_batch_sigs_success_total",
380
- help: "Count of total batches that failed and had to be verified again.",
381
- }),
382
- sameMessageRetryJobs: register.gauge({
383
- name: "lodestar_bls_thread_pool_same_message_jobs_retries_total",
384
- help: "Count of total same message jobs that failed and had to be verified again.",
385
- }),
386
- sameMessageRetrySets: register.gauge({
387
- name: "lodestar_bls_thread_pool_same_message_sets_retries_total",
388
- help: "Count of total same message sets that failed and had to be verified again.",
389
- }),
390
- // To measure the time cost of main thread <-> worker message passing
391
- latencyToWorker: register.histogram({
392
- name: "lodestar_bls_thread_pool_latency_to_worker",
393
- help: "Time from sending the job to the worker and the worker receiving it",
394
- buckets: [0.001, 0.003, 0.01, 0.03, 0.1],
395
- }),
396
- latencyFromWorker: register.histogram({
397
- name: "lodestar_bls_thread_pool_latency_from_worker",
398
- help: "Time from the worker sending the result and the main thread receiving it",
399
- buckets: [0.001, 0.003, 0.01, 0.03, 0.1],
400
- }),
401
- mainThreadDurationInThreadPool: register.histogram({
402
- name: "lodestar_bls_thread_pool_main_thread_time_seconds",
403
- help: "Time to verify signatures in main thread with thread pool mode",
404
- // Time can vary significantly, so just track usage ratio
405
- buckets: [0],
406
- }),
407
- timePerSigSet: register.histogram({
408
- name: "lodestar_bls_worker_thread_time_per_sigset_seconds",
409
- help: "Time to verify each sigset with worker thread mode",
410
- // Time per sig ~0.9ms on good machines
411
- buckets: [0.5e-3, 0.75e-3, 1e-3, 1.5e-3, 2e-3, 5e-3],
412
- }),
413
- totalSigSets: register.gauge({
414
- name: "lodestar_bls_thread_pool_sig_sets_total",
415
- help: "Count of total signature sets",
416
- }),
417
- prioritizedSigSets: register.gauge({
418
- name: "lodestar_bls_thread_pool_prioritized_sig_sets_total",
419
- help: "Count of total prioritized signature sets",
420
- }),
421
- batchableSigSets: register.gauge({
422
- name: "lodestar_bls_thread_pool_batchable_sig_sets_total",
423
- help: "Count of total batchable signature sets",
424
- }),
425
- aggregateWithRandomnessAsyncDuration: register.histogram({
426
- name: "lodestar_bls_thread_pool_aggregate_with_randomness_async_time_seconds",
427
- help: "Total time performing aggregateWithRandomness async",
428
- buckets: [0.001, 0.005, 0.01, 0.1, 0.3],
429
- }),
430
- pubkeysAggregationMainThreadDuration: register.histogram({
431
- name: "lodestar_bls_thread_pool_pubkeys_aggregation_main_thread_time_seconds",
432
- help: "Total time spent aggregating pubkeys on main thread",
433
- buckets: [0.001, 0.005, 0.01, 0.1],
434
- }),
435
- },
436
-
437
- // BLS time on single thread mode
438
- blsSingleThread: {
439
- singleThreadDuration: register.histogram({
440
- name: "lodestar_bls_single_thread_time_seconds",
441
- help: "Time to verify signatures with single thread mode",
442
- buckets: [0],
443
- }),
444
- timePerSigSet: register.histogram({
445
- name: "lodestar_bls_single_thread_time_per_sigset_seconds",
446
- help: "Time to verify each sigset with single thread mode",
447
- // Time per sig ~0.9ms on good machines
448
- buckets: [0.5e-3, 0.75e-3, 1e-3, 1.5e-3, 2e-3, 5e-3],
449
- }),
450
- },
451
-
452
- // Sync
453
-
454
- syncStatus: register.gauge({
455
- name: "lodestar_sync_status",
456
- help: "Range sync status: [Stalled, SyncingFinalized, SyncingHead, Synced]",
457
- }),
458
- syncPeersBySyncType: register.gauge<{syncType: PeerSyncType}>({
459
- name: "lodestar_sync_range_sync_peers",
460
- help: "Count of peers by sync type [FullySynced, Advanced, Behind]",
461
- labelNames: ["syncType"],
462
- }),
463
- syncSwitchGossipSubscriptions: register.gauge<{action: string}>({
464
- name: "lodestar_sync_switch_gossip_subscriptions",
465
- help: "Sync switched gossip subscriptions on/off",
466
- labelNames: ["action"],
467
- }),
468
-
469
- syncRange: {
470
- syncChainsEvents: register.gauge<{syncType: RangeSyncType; event: string}>({
471
- name: "lodestar_sync_chains_events_total",
472
- help: "Total number of sync chains events events, labeled by syncType",
473
- labelNames: ["syncType", "event"],
474
- }),
475
- syncChains: register.gauge<{syncType: RangeSyncType}>({
476
- name: "lodestar_sync_chains_count",
477
- help: "Count of sync chains by syncType",
478
- labelNames: ["syncType"],
479
- }),
480
- syncChainsPeers: register.histogram<{syncType: RangeSyncType}>({
481
- name: "lodestar_sync_chains_peer_count_by_type",
482
- help: "Count of sync chain peers by syncType",
483
- labelNames: ["syncType"],
484
- buckets: [0, 2, 5, 15, 50],
485
- }),
486
- syncChainHighestTargetSlotCompleted: register.gauge({
487
- name: "lodestar_sync_chain_highest_target_slot_completed",
488
- help: "Highest target slot completed by a sync chain",
489
- }),
490
- headSyncPeers: register.gauge<{columnIndex: number}>({
491
- name: "lodestar_sync_head_sync_peers_count",
492
- help: "Count of head sync peers by group index",
493
- labelNames: ["columnIndex"],
494
- }),
495
- finalizedSyncPeers: register.gauge<{columnIndex: number}>({
496
- name: "lodestar_sync_finalized_sync_peers_count",
497
- help: "Count of finalized sync peers by group index",
498
- labelNames: ["columnIndex"],
499
- }),
500
- downloadByRange: {
501
- success: register.gauge({
502
- name: "lodestar_sync_range_download_by_range_success_total",
503
- help: "Total number of successful downloadByRange calls",
504
- }),
505
- error: register.gauge<{code: string; client: string}>({
506
- name: "lodestar_sync_range_download_by_range_error_total",
507
- help: "Total number of errored downloadByRange calls",
508
- labelNames: ["code", "client"],
509
- }),
510
- warn: register.gauge<{code: string; client: string}>({
511
- name: "lodestar_sync_range_download_by_range_warn_total",
512
- help: "Total number of downloadByRange call warnings",
513
- labelNames: ["code", "client"],
514
- }),
515
- },
516
- },
517
-
518
- blockInputSync: {
519
- switchNetworkSubscriptions: register.gauge<{action: string}>({
520
- name: "lodestar_sync_unknown_block_network_subscriptions_count",
521
- help: "Switch network subscriptions on/off",
522
- labelNames: ["action"],
523
- }),
524
- requests: register.gauge<{type: PendingBlockType}>({
525
- name: "lodestar_sync_unknown_block_requests_total",
526
- help: "Total number of unknown block events or requests",
527
- labelNames: ["type"],
528
- }),
529
- source: register.gauge<{source: BlockInputSource}>({
530
- name: "lodestar_block_input_sync_source_total",
531
- help: "The origination source of one of the BlockInputSync triggers",
532
- labelNames: ["source"],
533
- }),
534
- pendingBlocks: register.gauge({
535
- name: "lodestar_sync_unknown_block_pending_blocks_size",
536
- help: "Current size of UnknownBlockSync pending blocks cache",
537
- }),
538
- knownBadBlocks: register.gauge({
539
- name: "lodestar_sync_unknown_block_known_bad_blocks_size",
540
- help: "Current size of UnknownBlockSync known bad blocks cache",
541
- }),
542
- processedBlocksSuccess: register.gauge({
543
- name: "lodestar_sync_unknown_block_processed_blocks_success_total",
544
- help: "Total number of processed blocks successes in UnknownBlockSync",
545
- }),
546
- processedBlocksError: register.gauge({
547
- name: "lodestar_sync_unknown_block_processed_blocks_error_total",
548
- help: "Total number of processed blocks errors in UnknownBlockSync",
549
- }),
550
- downloadedBlocksSuccess: register.gauge({
551
- name: "lodestar_sync_unknown_block_downloaded_blocks_success_total",
552
- help: "Total number of downloaded blocks successes in UnknownBlockSync",
553
- }),
554
- downloadedBlocksError: register.gauge({
555
- name: "lodestar_sync_unknown_block_downloaded_blocks_error_total",
556
- help: "Total number of downloaded blocks errors in UnknownBlockSync",
557
- }),
558
- removedBlocks: register.gauge({
559
- name: "lodestar_sync_unknown_block_removed_blocks_total",
560
- help: "Total number of removed bad blocks in UnknownBlockSync",
561
- }),
562
- elapsedTimeTillReceived: register.histogram({
563
- name: "lodestar_sync_unknown_block_elapsed_time_till_received",
564
- help: "Time elapsed between block slot time and the time block received via unknown block sync",
565
- buckets: [0.5, 1, 2, 4, 6, 12],
566
- }),
567
- resolveAvailabilitySource: register.gauge<{source: BlockInputSource}>({
568
- name: "lodestar_sync_blockinput_availability_source",
569
- help: "Total number of blocks whose data availability was resolved",
570
- labelNames: ["source"],
571
- }),
572
- fetchBegin: register.histogram({
573
- name: "lodestar_sync_unknown_block_fetch_begin_since_slot_start_seconds",
574
- help: "Time into the slot when the block was fetched",
575
- buckets: [0, 1, 2, 4],
576
- }),
577
- // we may not have slot in case of failure, so track fetch time from start to done (either success or failure)
578
- fetchTimeSec: register.histogram<{result: string}>({
579
- name: "lodestar_sync_unknown_block_fetch_time_seconds",
580
- help: "Fetch time from start to done (either success or failure)",
581
- labelNames: ["result"],
582
- buckets: [0, 1, 2, 4, 8],
583
- }),
584
- fetchPeers: register.gauge<{result: string}>({
585
- name: "lodestar_sync_unknown_block_fetch_peers_count",
586
- help: "Number of peers that node fetched from",
587
- labelNames: ["result"],
588
- }),
589
- downloadByRoot: {
590
- success: register.gauge({
591
- name: "lodestar_sync_unknown_block_download_by_root_success_total",
592
- help: "Total number of successful downloadByRoot calls",
593
- }),
594
- error: register.gauge<{code: string; client: string}>({
595
- name: "lodestar_sync_unknown_block_download_by_root_error_total",
596
- help: "Total number of errored downloadByRoot calls",
597
- labelNames: ["code", "client"],
598
- }),
599
- warn: register.gauge<{code: string; client: string}>({
600
- name: "lodestar_sync_unknown_block_download_by_root_warn_total",
601
- help: "Total number of downloadByRoot call warnings",
602
- labelNames: ["code", "client"],
603
- }),
604
- },
605
- peerBalancer: {
606
- peersMetaCount: register.gauge({
607
- name: "lodestar_sync_unknown_block_peer_balancer_peers_meta_count",
608
- help: "Count of peers meta in UnknownBlockSync peer balancer",
609
- }),
610
- peersActiveRequestCount: register.gauge({
611
- name: "lodestar_sync_unknown_block_peer_balancer_peers_active_request_count",
612
- help: "Count of peers active requests in UnknownBlockSync peer balancer",
613
- }),
614
- totalActiveRequests: register.gauge({
615
- name: "lodestar_sync_unknown_block_peer_balancer_total_active_requests",
616
- help: "Total active requests in UnknownBlockSync peer balancer",
617
- }),
618
- },
619
- },
620
-
621
- // Gossip sync committee
622
- gossipSyncCommittee: {
623
- equivocationCount: register.counter({
624
- name: "lodestar_gossip_sync_committee_equivocation_count",
625
- help: "Count of sync committee messages with same validator index for different block roots",
626
- }),
627
- equivocationToHeadCount: register.counter({
628
- name: "lodestar_gossip_sync_committee_equivocation_to_head_count",
629
- help: "Count of sync committee messages which conflict to a previous message but elect the head",
630
- }),
631
- },
632
-
633
- // Gossip attestation
634
- gossipAttestation: {
635
- useHeadBlockState: register.gauge<{caller: RegenCaller}>({
636
- name: "lodestar_gossip_attestation_use_head_block_state_count",
637
- help: "Count of gossip attestation verification using head block state",
638
- labelNames: ["caller"],
639
- }),
640
- useHeadBlockStateDialedToTargetEpoch: register.gauge<{caller: RegenCaller}>({
641
- name: "lodestar_gossip_attestation_use_head_block_state_dialed_to_target_epoch_count",
642
- help: "Count of gossip attestation verification using head block state and dialed to target epoch",
643
- labelNames: ["caller"],
644
- }),
645
- headSlotToAttestationSlot: register.histogram<{caller: RegenCaller}>({
646
- name: "lodestar_gossip_attestation_head_slot_to_attestation_slot",
647
- help: "Slot distance between attestation slot and head slot",
648
- labelNames: ["caller"],
649
- buckets: [0, 1, 2, 4, 8, 16, 32, 64],
650
- }),
651
- shufflingCacheHit: register.gauge<{caller: RegenCaller}>({
652
- name: "lodestar_gossip_attestation_shuffling_cache_hit_count",
653
- help: "Count of gossip attestation verification shuffling cache hit",
654
- labelNames: ["caller"],
655
- }),
656
- shufflingCacheMiss: register.gauge<{caller: RegenCaller}>({
657
- name: "lodestar_gossip_attestation_shuffling_cache_miss_count",
658
- help: "Count of gossip attestation verification shuffling cache miss",
659
- labelNames: ["caller"],
660
- }),
661
- shufflingCacheRegenHit: register.gauge<{caller: RegenCaller}>({
662
- name: "lodestar_gossip_attestation_shuffling_cache_regen_hit_count",
663
- help: "Count of gossip attestation verification shuffling cache regen hit",
664
- labelNames: ["caller"],
665
- }),
666
- shufflingCacheRegenMiss: register.gauge<{caller: RegenCaller}>({
667
- name: "lodestar_gossip_attestation_shuffling_cache_regen_miss_count",
668
- help: "Count of gossip attestation verification shuffling cache regen miss",
669
- labelNames: ["caller"],
670
- }),
671
- attestationSlotToClockSlot: register.histogram<{caller: RegenCaller}>({
672
- name: "lodestar_gossip_attestation_attestation_slot_to_clock_slot",
673
- help: "Slot distance between clock slot and attestation slot",
674
- labelNames: ["caller"],
675
- buckets: [0, 1, 2, 4, 8, 16, 32, 64],
676
- }),
677
- attestationBatchHistogram: register.histogram({
678
- name: "lodestar_gossip_attestation_verified_in_batch_histogram",
679
- help: "Number of attestations verified in batch",
680
- buckets: [1, 2, 4, 8, 16, 32, 64, 128],
681
- }),
682
- attestationNonBatchCount: register.gauge({
683
- name: "lodestar_gossip_attestation_verified_non_batch_count",
684
- help: "Count of attestations NOT verified in batch",
685
- }),
686
- },
687
-
688
- // Gossip block
689
- gossipBlock: {
690
- elapsedTimeTillReceived: register.histogram<{source: OpSource}>({
691
- name: "lodestar_gossip_block_elapsed_time_till_received",
692
- help: "Time elapsed between block slot time and the time block received via gossip",
693
- labelNames: ["source"],
694
- buckets: [0.5, 1, 2, 4, 6, 12],
695
- }),
696
- elapsedTimeTillProcessed: register.histogram({
697
- name: "lodestar_gossip_block_elapsed_time_till_processed",
698
- help: "Time elapsed between block slot time and the time block processed",
699
- buckets: [0.5, 1, 2, 4, 6, 12],
700
- }),
701
-
702
- gossipValidation: {
703
- recvToValidation: register.histogram({
704
- name: "lodestar_gossip_block_received_to_gossip_validate",
705
- help: "Time elapsed between block received and block validated",
706
- buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
707
- }),
708
- validationTime: register.histogram({
709
- name: "lodestar_gossip_block_gossip_validate_time",
710
- help: "Time to apply gossip validations",
711
- buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
712
- }),
713
- },
714
- stateTransition: {
715
- recvToValidation: register.histogram({
716
- name: "lodestar_gossip_block_received_to_state_transition",
717
- help: "Time elapsed between block received and block state transition",
718
- buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
719
- }),
720
- validationTime: register.histogram({
721
- name: "lodestar_gossip_block_state_transition_time",
722
- help: "Time to validate block state transition",
723
- buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
724
- }),
725
- },
726
- signatureVerification: {
727
- recvToValidation: register.histogram({
728
- name: "lodestar_gossip_block_received_to_signatures_verification",
729
- help: "Time elapsed between block received and block signatures verification",
730
- buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
731
- }),
732
- validationTime: register.histogram({
733
- name: "lodestar_gossip_block_signatures_verification_time",
734
- help: "Time elapsed for block signatures verification",
735
- buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
736
- }),
737
- },
738
- executionPayload: {
739
- recvToValidation: register.histogram({
740
- name: "lodestar_gossip_block_received_to_execution_payload_verification",
741
- help: "Time elapsed between block received and execution payload verification",
742
- buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
743
- }),
744
- validationTime: register.histogram({
745
- name: "lodestar_gossip_execution_payload_verification_time",
746
- help: "Time elapsed for execution payload verification",
747
- buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
748
- }),
749
- },
750
- blockImport: {
751
- recvToValidation: register.histogram({
752
- name: "lodestar_gossip_block_received_to_block_import",
753
- help: "Time elapsed between block received and block import",
754
- buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
755
- }),
756
- validationTime: register.histogram({
757
- name: "lodestar_gossip_block_block_import_time",
758
- help: "Time elapsed for block import",
759
- buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
760
- }),
761
- },
762
-
763
- receivedToBlobsAvailabilityTime: register.histogram<{numBlobs: number}>({
764
- name: "lodestar_gossip_block_received_to_blobs_availability_time",
765
- help: "Time elapsed between block received and blobs became available",
766
- buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
767
- labelNames: ["numBlobs"],
768
- }),
769
- receivedToFullyVerifiedTime: register.histogram({
770
- name: "lodestar_gossip_block_received_to_fully_verified_time",
771
- help: "Time elapsed between block received and fully verified state, signatures and payload",
772
- buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
773
- }),
774
- verifiedToBlobsAvailabiltyTime: register.histogram<{numBlobs: number}>({
775
- name: "lodestar_gossip_block_verified_to_blobs_availability_time",
776
- help: "Time elapsed between block verified and blobs became available",
777
- buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
778
- labelNames: ["numBlobs"],
779
- }),
780
-
781
- processBlockErrors: register.gauge<{error: BlockErrorCode | "NOT_BLOCK_ERROR"}>({
782
- name: "lodestar_gossip_block_process_block_errors",
783
- help: "Count of errors, by error type, while processing blocks",
784
- labelNames: ["error"],
785
- }),
786
- },
787
- gossipBlob: {
788
- recvToValidation: register.histogram({
789
- name: "lodestar_gossip_blob_received_to_gossip_validate",
790
- help: "Time elapsed between blob received and blob validation",
791
- buckets: [0.05, 0.1, 0.2, 0.5, 1, 1.5, 2, 4],
792
- }),
793
- validationTime: register.histogram({
794
- name: "lodestar_gossip_blob_gossip_validate_time",
795
- help: "Time elapsed for blob validation",
796
- buckets: [0.05, 0.1, 0.2, 0.5, 1, 1.5, 2, 4],
797
- }),
798
- publishedFromEngine: register.counter({
799
- name: "lodestar_gossip_blob_published_from_engine_total",
800
- help: "Total number of blobs retrieved from execution engine and published to gossip",
801
- }),
802
- },
803
- recoverDataColumnSidecars: {
804
- recoverTime: register.histogram({
805
- name: "lodestar_recover_data_column_sidecar_recover_time_seconds",
806
- help: "Time elapsed to recover data column sidecar",
807
- buckets: [0.5, 1.0, 1.5, 2],
808
- }),
809
- custodyBeforeReconstruction: register.gauge({
810
- name: "lodestar_data_columns_in_custody_before_reconstruction",
811
- help: "Number of data columns in custody before reconstruction",
812
- }),
813
- numberOfColumnsRecovered: register.gauge({
814
- name: "lodestar_recover_data_column_sidecar_recovered_columns_total",
815
- help: "Total number of columns that were recovered",
816
- }),
817
- reconstructionResult: register.counter<{result: DataColumnReconstructionCode}>({
818
- name: "lodestar_data_column_sidecars_reconstruction_result",
819
- help: "Data column sidecars reconstruction result",
820
- labelNames: ["result"],
821
- }),
822
- },
823
- dataColumns: {
824
- bySource: register.gauge<{source: BlockInputSource}>({
825
- name: "lodestar_data_columns_by_source",
826
- help: "Number of received data columns by source",
827
- labelNames: ["source"],
828
- }),
829
- elapsedTimeTillReceived: register.histogram<{receivedOrder: number}>({
830
- name: "lodestar_data_column_elapsed_time_till_received_seconds",
831
- help: "Time elapsed between block slot time and the time data column received",
832
- labelNames: ["receivedOrder"],
833
- buckets: [1, 2, 3, 4, 6, 12],
834
- }),
835
- sentPeersPerSubnet: register.histogram({
836
- name: "lodestar_data_column_sent_peers_per_subnet",
837
- help: "Number of peers node sent per subnet when publishing DataColumnSidecars",
838
- // given TARGET_GROUP_PEERS_PER_SUBNET = 4, we expect sending to 4 peers per subnet
839
- buckets: [1, 2, 3, 4],
840
- }),
841
- missingCustodyColumns: register.counter({
842
- name: "lodestar_data_columns_missing_custody_columns_count",
843
- help: "Total number of missing columns that should be in the database but were not when requested",
844
- }),
845
- dataColumnEngineResult: register.counter<{result: DataColumnEngineResult}>({
846
- name: "lodestar_data_column_engine_result_total",
847
- help: "The total result of sending data column to execution layer",
848
- labelNames: ["result"],
849
- }),
850
- },
851
- importBlock: {
852
- persistBlockNoSerializedDataCount: register.gauge({
853
- name: "lodestar_import_block_persist_block_no_serialized_data_count",
854
- help: "Count persisting block with no serialized data",
855
- }),
856
- persistBlockWithSerializedDataCount: register.gauge({
857
- name: "lodestar_import_block_persist_block_with_serialized_data_count",
858
- help: "Count persisting block with serialized data",
859
- }),
860
- elapsedTimeTillBecomeHead: register.histogram({
861
- name: "lodestar_gossip_block_elapsed_time_till_become_head",
862
- help: "Time elapsed between block slot time and the time block becomes head",
863
- buckets: [0.5, 1, 2, 4, 6, 12],
864
- }),
865
- setHeadAfterCutoff: register.gauge({
866
- name: "lodestar_import_block_set_head_after_cutoff_total",
867
- help: "Total times an imported block is set as head after ATTESTATION_DUE_BPS of the slot",
868
- }),
869
- bySource: register.gauge<{source: BlockInputSource}>({
870
- name: "lodestar_import_block_by_source_total",
871
- help: "Total number of imported blocks by source",
872
- labelNames: ["source"],
873
- }),
874
- blobsBySource: register.gauge<{blobsSource: BlockInputSource}>({
875
- name: "lodestar_import_blobs_by_source_total",
876
- help: "Total number of imported blobs by source",
877
- labelNames: ["blobsSource"],
878
- }),
879
- columnsBySource: register.gauge<{source: BlockInputSource}>({
880
- name: "lodestar_import_columns_by_source_total",
881
- help: "Total number of imported columns (sampled columns) by source",
882
- labelNames: ["source"],
883
- }),
884
- notOverrideFcuReason: register.counter<{reason: NotReorgedReason}>({
885
- name: "lodestar_import_block_not_override_fcu_reason_total",
886
- help: "Reason why the fcu call is not suppressed during block import",
887
- labelNames: ["reason"],
888
- }),
889
- },
890
- engineNotifyNewPayloadResult: register.gauge<{result: ExecutionPayloadStatus}>({
891
- name: "lodestar_execution_engine_notify_new_payload_result_total",
892
- help: "The total result of calling notifyNewPayload execution engine api",
893
- labelNames: ["result"],
894
- }),
895
- backfillSync: {
896
- backfilledTillSlot: register.gauge({
897
- name: "lodestar_backfill_till_slot",
898
- help: "Current lowest backfilled slot",
899
- }),
900
- prevFinOrWsSlot: register.gauge({
901
- name: "lodestar_backfill_prev_fin_or_ws_slot",
902
- help: "Slot of previous finalized or wsCheckpoint block to be validated",
903
- }),
904
- totalBlocks: register.gauge<{method: BackfillSyncMethod}>({
905
- name: "lodestar_backfill_sync_blocks_total",
906
- help: "Total amount of backfilled blocks",
907
- labelNames: ["method"],
908
- }),
909
- errors: register.gauge({
910
- name: "lodestar_backfill_sync_errors_total",
911
- help: "Total number of errors while backfilling",
912
- }),
913
- status: register.gauge({
914
- name: "lodestar_backfill_sync_status",
915
- help: "Current backfill syncing status: [Aborted, Pending, Syncing, Completed]",
916
- }),
917
- },
918
-
919
- opPool: {
920
- aggregatedAttestationPool: {
921
- size: register.gauge({
922
- name: "lodestar_oppool_aggregated_attestation_pool_size",
923
- help: "Current size of the AggregatedAttestationPool = total attestations",
924
- }),
925
- uniqueData: register.gauge({
926
- name: "lodestar_oppool_aggregated_attestation_pool_unique_data_count",
927
- help: "Current size of the AggregatedAttestationPool = total attestations unique by data",
928
- }),
929
- attDataPerSlot: register.gauge({
930
- name: "lodestar_oppool_aggregated_attestation_pool_attestation_data_per_slot_total",
931
- help: "Total number of attestation data per slot in AggregatedAttestationPool",
932
- }),
933
- committeesPerSlot: register.gauge({
934
- name: "lodestar_oppool_aggregated_attestation_pool_committees_per_slot_total",
935
- help: "Total number of committees per slot in AggregatedAttestationPool",
936
- }),
937
- // max number of attestations per committee will become number of consolidations
938
- maxAttestationsPerCommittee: register.gauge({
939
- name: "lodestar_oppool_aggregated_attestation_pool_max_attestations_per_committee",
940
- help: "Max number of attestations per committee in AggregatedAttestationPool",
941
- }),
942
- attestationsPerCommittee: register.histogram({
943
- name: "lodestar_oppool_aggregated_attestation_pool_attestations_per_committee",
944
- help: "Number of attestations per committee in AggregatedAttestationPool",
945
- buckets: [0, 2, 4, 8],
946
- }),
947
- gossipInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
948
- name: "lodestar_oppool_aggregated_attestation_pool_gossip_insert_outcome_total",
949
- help: "Total number of InsertOutcome as a result of adding an aggregated attestation from gossip in the pool",
950
- labelNames: ["insertOutcome"],
951
- }),
952
- apiInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
953
- name: "lodestar_oppool_aggregated_attestation_pool_api_insert_outcome_total",
954
- help: "Total number of InsertOutcome as a result of adding an aggregated attestation from api in the pool",
955
- labelNames: ["insertOutcome"],
956
- }),
957
- packedAttestations: {
958
- committeeCount: register.gauge<{index: number}>({
959
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_committee_count",
960
- help: "Total number of committees in packed attestation ${index}",
961
- labelNames: ["index"],
962
- }),
963
- totalAttesters: register.gauge<{index: number}>({
964
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_attesters_total",
965
- help: "Total number of attesters in packed attestation ${index}",
966
- labelNames: ["index"],
967
- }),
968
- nonParticipation: register.gauge<{index: number}>({
969
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_non_participation_total",
970
- help: "Total number of not seen attesters in packed attestation ${index}",
971
- labelNames: ["index"],
972
- }),
973
- newSeenAttesters: register.gauge<{index: number}>({
974
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_new_seen_attesters_total",
975
- help: "Total number of new seen attesters in packed attestation ${index}",
976
- labelNames: ["index"],
977
- }),
978
- totalEffectiveBalance: register.gauge<{index: number}>({
979
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_effective_balance_total",
980
- help: "Total effective balance of new seen attesters in packed attestation ${index}",
981
- labelNames: ["index"],
982
- }),
983
- inclusionDistance: register.gauge<{index: number}>({
984
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_inclusion_distance_total",
985
- help: "How far the packed attestation ${index} slot is from the block slot",
986
- labelNames: ["index"],
987
- }),
988
- scannedSlots: register.gauge<{reason: ScannedSlotsTerminationReason}>({
989
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_scanned_slots_total",
990
- help: "Total number of scanned slots to produce packed attestations",
991
- labelNames: ["reason"],
992
- }),
993
- scannedAttestations: register.gauge<{inclusionDistance: number}>({
994
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_scanned_attestations_total",
995
- help: "Total number of scanned attestations per scanned slot to produce packed attestations",
996
- labelNames: ["inclusionDistance"],
997
- }),
998
- returnedAttestations: register.gauge<{inclusionDistance: number}>({
999
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_returned_attestations_total",
1000
- help: "Total number of returned attestations per scanned slot to produce packed attestations",
1001
- labelNames: ["inclusionDistance"],
1002
- }),
1003
- poolSlots: register.gauge({
1004
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_pool_slots_total",
1005
- help: "Total number of slots in pool when producing packed attestations",
1006
- }),
1007
- totalConsolidations: register.gauge({
1008
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_total_consolidations_total",
1009
- help: "Total number of consolidations before truncate",
1010
- }),
1011
- emptyAttestationData: register.gauge({
1012
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_empty_attestation_data_total",
1013
- help: "Total number of attestation data with no group when producing packed attestation",
1014
- }),
1015
- invalidAttestationData: register.gauge<{reason: InvalidAttestationData}>({
1016
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_invalid_attestation_data_total",
1017
- help: "Total number of invalid attestation data when producing packed attestation",
1018
- labelNames: ["reason"],
1019
- }),
1020
- seenCommittees: register.gauge({
1021
- name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_seen_committees_total",
1022
- help: "Total number of committees for which all members are seen when producing packed attestations",
1023
- }),
1024
- },
1025
- },
1026
- attestationPool: {
1027
- size: register.gauge({
1028
- name: "lodestar_oppool_attestation_pool_size",
1029
- help: "Current size of the AttestationPool = total attestations unique by data and slot",
1030
- }),
1031
- gossipInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
1032
- name: "lodestar_oppool_attestation_pool_gossip_insert_outcome_total",
1033
- help: "Total number of InsertOutcome as a result of adding a single attestation from gossip to the pool",
1034
- labelNames: ["insertOutcome"],
1035
- }),
1036
- apiInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
1037
- name: "lodestar_oppool_attestation_pool_api_insert_outcome_total",
1038
- help: "Total number of InsertOutcome as a result of adding a single attestation from api to the pool",
1039
- labelNames: ["insertOutcome"],
1040
- }),
1041
- getAggregateCacheMisses: register.counter({
1042
- name: "lodestar_oppool_attestation_pool_get_aggregate_cache_misses_total",
1043
- help: "Total number of getAggregate calls with no aggregate for slot, attestation data root, and committee index",
1044
- }),
1045
- },
1046
- attesterSlashingPoolSize: register.gauge({
1047
- name: "lodestar_oppool_attester_slashing_pool_size",
1048
- help: "Current size of the AttesterSlashingPool",
1049
- }),
1050
- proposerSlashingPoolSize: register.gauge({
1051
- name: "lodestar_oppool_proposer_slashing_pool_size",
1052
- help: "Current size of the ProposerSlashingPool",
1053
- }),
1054
- voluntaryExitPoolSize: register.gauge({
1055
- name: "lodestar_oppool_voluntary_exit_pool_size",
1056
- help: "Current size of the VoluntaryExitPool",
1057
- }),
1058
- blsToExecutionChangePoolSize: register.gauge({
1059
- name: "lodestar_oppool_bls_to_execution_change_pool_size",
1060
- help: "Current size of the blsToExecutionChangePool",
1061
- }),
1062
- syncCommitteeMessagePoolSize: register.gauge({
1063
- name: "lodestar_oppool_sync_committee_message_pool_size",
1064
- help: "Current size of the SyncCommitteeMessagePool unique by slot subnet and block root",
1065
- }),
1066
- syncCommitteeMessagePoolInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
1067
- name: "lodestar_oppool_sync_committee_message_insert_outcome_total",
1068
- help: "Total number of InsertOutcome as a result of adding a SyncCommitteeMessage to pool",
1069
- labelNames: ["insertOutcome"],
1070
- }),
1071
- syncContributionAndProofPool: {
1072
- size: register.gauge({
1073
- name: "lodestar_oppool_sync_contribution_and_proof_pool_size",
1074
- help: "Current size of the SyncContributionAndProofPool unique by slot subnet and block root",
1075
- }),
1076
- gossipInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
1077
- name: "lodestar_oppool_sync_contribution_and_proof_pool_gossip_insert_outcome_total",
1078
- help: "Total number of InsertOutcome as a result of adding a ContributionAndProof from gossip into the pool",
1079
- labelNames: ["insertOutcome"],
1080
- }),
1081
- apiInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
1082
- name: "lodestar_oppool_sync_contribution_and_proof_pool_api_insert_outcome_total",
1083
- help: "Total number of InsertOutcome as a result of adding a ContributionAndProof from api into the pool",
1084
- labelNames: ["insertOutcome"],
1085
- }),
1086
- blockRootsPerSlot: register.gauge({
1087
- name: "lodestar_oppool_sync_contribution_and_proof_pool_block_roots_per_slot_total",
1088
- help: "Total number of block roots per slot in SyncContributionAndProofPool",
1089
- }),
1090
- subnetsByBlockRoot: register.gauge<{index: number}>({
1091
- name: "lodestar_oppool_sync_contribution_and_proof_pool_subnets_by_block_root_total",
1092
- help: "Total number of subnets per block root in SyncContributionAndProofPool",
1093
- labelNames: ["index"],
1094
- }),
1095
- participantsByBlockRoot: register.gauge<{index: number}>({
1096
- name: "lodestar_oppool_sync_contribution_and_proof_pool_participants_by_block_root_total",
1097
- help: "Total number of participants per block root in SyncContributionAndProofPool",
1098
- labelNames: ["index"],
1099
- }),
1100
- getAggregateRoots: register.gauge({
1101
- name: "lodestar_oppool_sync_contribution_and_proof_pool_get_aggregate_roots_total",
1102
- help: "Total number of block roots in SyncContributionAndProofPool.getAggregate(slot)",
1103
- }),
1104
- getAggregateSubnets: register.gauge({
1105
- name: "lodestar_oppool_sync_contribution_and_proof_pool_get_aggregate_subnets_total",
1106
- help: "Total number of subnets in SyncContributionAndProofPool.getAggregate(slot, root)",
1107
- }),
1108
- getAggregateParticipants: register.gauge({
1109
- name: "lodestar_oppool_sync_contribution_and_proof_pool_get_aggregate_participants_total",
1110
- help: "Total number of participants in SyncContributionAndProofPool.getAggregate(slot, root)",
1111
- }),
1112
- getAggregateReturnsEmpty: register.gauge({
1113
- name: "lodestar_oppool_sync_contribution_and_proof_pool_get_aggregate_returns_empty_total",
1114
- help: "Total number of empty returns in SyncContributionAndProofPool.getAggregate(slot, root)",
1115
- }),
1116
- },
1117
- },
1118
-
1119
- chain: {
1120
- blacklistedBlocks: register.gauge({
1121
- name: "lodestar_blacklisted_blocks_total",
1122
- help: "Total number of blacklisted blocks",
1123
- }),
1124
- },
1125
-
1126
- proposerBalanceDeltaAny: register.histogram({
1127
- name: "lodestar_proposer_balance_delta_any_gwei",
1128
- help: "Balance delta of every block proposer after importing a valid block",
1129
- buckets: [10_000, 100_000, 1e6, 10e6, 20e6, 50e6, 100e6, 1000e6],
1130
- }),
1131
-
1132
- // regen metrics
1133
-
1134
- stateCache: {
1135
- lookups: register.gauge({
1136
- name: "lodestar_state_cache_lookups_total",
1137
- help: "Total number of cache lookup",
1138
- }),
1139
- hits: register.gauge({
1140
- name: "lodestar_state_cache_hits_total",
1141
- help: "Total number of cache hits",
1142
- }),
1143
- adds: register.gauge({
1144
- name: "lodestar_state_cache_adds_total",
1145
- help: "Total number of items added in state cache",
1146
- }),
1147
- size: register.gauge({
1148
- name: "lodestar_state_cache_size",
1149
- help: "State cache size",
1150
- }),
1151
- reads: register.avgMinMax({
1152
- name: "lodestar_state_cache_reads",
1153
- help: "Avg min max of all state cache items total read count",
1154
- }),
1155
- secondsSinceLastRead: register.avgMinMax({
1156
- name: "lodestar_state_cache_seconds_since_last_read",
1157
- help: "Avg min max of all state cache items seconds since last reads",
1158
- }),
1159
- stateClonedCount: register.histogram({
1160
- name: "lodestar_state_cache_state_cloned_count",
1161
- help: "Histogram of cloned count per state every time state.clone() is called",
1162
- buckets: [1, 2, 5, 10, 50, 250],
1163
- }),
1164
- },
1165
-
1166
- bufferPool: {
1167
- length: register.gauge({
1168
- name: "lodestar_buffer_pool_length",
1169
- help: "Buffer pool length",
1170
- }),
1171
- hits: register.counter<{source: AllocSource}>({
1172
- name: "lodestar_buffer_pool_hits_total",
1173
- help: "Total number of buffer pool hits",
1174
- labelNames: ["source"],
1175
- }),
1176
- misses: register.counter<{source: AllocSource}>({
1177
- name: "lodestar_buffer_pool_misses_total",
1178
- help: "Total number of buffer pool misses",
1179
- labelNames: ["source"],
1180
- }),
1181
- grows: register.counter({
1182
- name: "lodestar_buffer_pool_grows_total",
1183
- help: "Total number of buffer pool length increases",
1184
- }),
1185
- },
1186
-
1187
- cpStateCache: {
1188
- lookups: register.gauge({
1189
- name: "lodestar_cp_state_cache_lookups_total",
1190
- help: "Total number of checkpoint cache lookup",
1191
- }),
1192
- hits: register.gauge({
1193
- name: "lodestar_cp_state_cache_hits_total",
1194
- help: "Total number of checkpoint cache hits",
1195
- }),
1196
- adds: register.gauge({
1197
- name: "lodestar_cp_state_cache_adds_total",
1198
- help: "Total number of items added in checkpoint state cache",
1199
- }),
1200
- size: register.gauge<{type: CacheItemType}>({
1201
- name: "lodestar_cp_state_cache_size",
1202
- help: "Checkpoint state cache size",
1203
- labelNames: ["type"],
1204
- }),
1205
- epochSize: register.gauge<{type: CacheItemType}>({
1206
- name: "lodestar_cp_state_epoch_size",
1207
- help: "Checkpoint state cache size",
1208
- labelNames: ["type"],
1209
- }),
1210
- reads: register.avgMinMax({
1211
- name: "lodestar_cp_state_epoch_reads",
1212
- help: "Avg min max of all state cache items total read count",
1213
- }),
1214
- secondsSinceLastRead: register.avgMinMax({
1215
- name: "lodestar_cp_state_epoch_seconds_since_last_read",
1216
- help: "Avg min max of all state cache items seconds since last reads",
1217
- }),
1218
- stateClonedCount: register.histogram({
1219
- name: "lodestar_cp_state_cache_state_cloned_count",
1220
- help: "Histogram of cloned count per state every time state.clone() is called",
1221
- buckets: [1, 2, 5, 10, 50, 250],
1222
- }),
1223
- numStatesUpdated: register.histogram({
1224
- name: "lodestar_cp_state_cache_state_updated_count",
1225
- help: "Histogram of number of state cache items updated every time removing and adding pubkeys to pubkey cache",
1226
- buckets: [1, 2, 5, 10, 50, 250],
1227
- }),
1228
- statePruneFromMemoryCount: register.gauge({
1229
- name: "lodestar_cp_state_cache_state_prune_from_memory_count",
1230
- help: "Total number of states pruned from memory",
1231
- }),
1232
- statePersistSecFromSlot: register.histogram({
1233
- name: "lodestar_cp_state_cache_state_persist_seconds_from_slot",
1234
- help: "Histogram of time to persist state to db since the clock slot",
1235
- buckets: [0, 2, 4, 6, 8, 10, 12],
1236
- }),
1237
- stateReloadValidatorsSerializeDuration: register.histogram({
1238
- name: "lodestar_cp_state_cache_state_reload_validators_serialize_seconds",
1239
- help: "Histogram of time to serialize validators",
1240
- buckets: [0.1, 0.2, 0.5, 1],
1241
- }),
1242
- stateReloadValidatorsSerializeAllocCount: register.counter({
1243
- name: "lodestar_cp_state_cache_state_reload_validators_serialize_alloc_count",
1244
- help: "Total number time to allocate memory for validators serialization",
1245
- }),
1246
- stateReloadShufflingCacheMiss: register.counter({
1247
- name: "lodestar_cp_state_cache_state_reload_shuffling_cache_miss_count",
1248
- help: "Total number of shuffling cache misses when loading a state",
1249
- }),
1250
- stateReloadDuration: register.histogram({
1251
- name: "lodestar_cp_state_cache_state_reload_seconds",
1252
- help: "Histogram of time to load state from db",
1253
- buckets: [0, 2, 4, 6, 8, 10, 12],
1254
- }),
1255
- stateReloadEpochDiff: register.histogram({
1256
- name: "lodestar_cp_state_cache_state_reload_epoch_diff",
1257
- help: "Histogram of epoch difference between seed state epoch and loaded state epoch",
1258
- buckets: [0, 1, 2, 4, 8, 16, 32],
1259
- }),
1260
- stateReloadSecFromSlot: register.histogram({
1261
- name: "lodestar_cp_state_cache_state_reload_seconds_from_slot",
1262
- help: "Histogram of time to load state from db since the clock slot",
1263
- buckets: [0, 2, 4, 6, 8, 10, 12],
1264
- }),
1265
- stateReloadDbReadTime: register.histogram({
1266
- name: "lodestar_cp_state_cache_state_reload_db_read_seconds",
1267
- help: "Histogram of time to load state bytes from db",
1268
- buckets: [0.01, 0.05, 0.1, 0.2, 0.5],
1269
- }),
1270
- persistedStateRemoveCount: register.gauge({
1271
- name: "lodestar_cp_state_cache_persisted_state_remove_count",
1272
- help: "Total number of persisted states removed",
1273
- }),
1274
- },
1275
-
1276
- balancesCache: {
1277
- requests: register.counter({
1278
- name: "lodestar_balances_cache_requests_total",
1279
- help: "Total number of balances cache requests",
1280
- }),
1281
- misses: register.counter({
1282
- name: "lodestar_balances_cache_misses_total",
1283
- help: "Total number of balances cache misses",
1284
- }),
1285
- closestStateResult: register.counter<{stateId: string}>({
1286
- name: "lodestar_balances_cache_closest_state_result_total",
1287
- help: "Total number of stateIds returned as closest justified balances state by id",
1288
- labelNames: ["stateId"],
1289
- }),
1290
- },
1291
-
1292
- shufflingCache: {
1293
- size: register.gauge({
1294
- name: "lodestar_shuffling_cache_size",
1295
- help: "Shuffling cache size",
1296
- }),
1297
- insertPromiseCount: register.gauge({
1298
- name: "lodestar_shuffling_cache_insert_promise_count",
1299
- help: "Total number of times insertPromise is called",
1300
- }),
1301
- hit: register.gauge({
1302
- name: "lodestar_shuffling_cache_hit_count",
1303
- help: "Count of shuffling cache hit",
1304
- }),
1305
- miss: register.gauge({
1306
- name: "lodestar_shuffling_cache_miss_count",
1307
- help: "Count of shuffling cache miss",
1308
- }),
1309
- shufflingBuiltMultipleTimes: register.gauge({
1310
- name: "lodestar_shuffling_cache_recalculated_shuffling_count",
1311
- help: "Count of shuffling that were build multiple times",
1312
- }),
1313
- shufflingPromiseNotResolvedAndThrownAway: register.gauge({
1314
- name: "lodestar_shuffling_cache_promise_not_resolved_and_thrown_away_count",
1315
- help: "Count of shuffling cache promises that were discarded and the shuffling was built synchronously",
1316
- }),
1317
- shufflingPromiseNotResolved: register.gauge({
1318
- name: "lodestar_shuffling_cache_promise_not_resolved_count",
1319
- help: "Count of shuffling cache promises that were requested before the promise was resolved",
1320
- }),
1321
- nextShufflingNotOnEpochCache: register.gauge({
1322
- name: "lodestar_shuffling_cache_next_shuffling_not_on_epoch_cache",
1323
- help: "The next shuffling was not on the epoch cache before the epoch transition",
1324
- }),
1325
- shufflingPromiseResolutionTime: register.histogram({
1326
- name: "lodestar_shuffling_cache_promise_resolution_time_seconds",
1327
- help: "Time from promise insertion until promise resolution when shuffling was ready in seconds",
1328
- buckets: [0.5, 1, 1.5, 2],
1329
- }),
1330
- shufflingCalculationTime: register.histogram<{source: "build" | "getSync"}>({
1331
- name: "lodestar_shuffling_cache_shuffling_calculation_time_seconds",
1332
- help: "Run time of shuffling calculation",
1333
- buckets: [0.5, 0.75, 1, 1.25, 1.5],
1334
- labelNames: ["source"],
1335
- }),
1336
- },
1337
-
1338
- seenCache: {
1339
- aggregatedAttestations: {
1340
- superSetCheckTotal: register.histogram({
1341
- name: "lodestar_seen_cache_aggregated_attestations_super_set_check_total",
1342
- help: "Number of times to call isNonStrictSuperSet in SeenAggregatedAttestations",
1343
- buckets: [1, 4, 10],
1344
- }),
1345
- isKnownCalls: register.gauge({
1346
- name: "lodestar_seen_cache_aggregated_attestations_is_known_call_total",
1347
- help: "Total times calling SeenAggregatedAttestations.isKnown",
1348
- }),
1349
- isKnownHits: register.gauge({
1350
- name: "lodestar_seen_cache_aggregated_attestations_is_known_hit_total",
1351
- help: "Total times SeenAggregatedAttestations.isKnown returning true",
1352
- }),
1353
- },
1354
- committeeContributions: {
1355
- superSetCheckTotal: register.histogram({
1356
- name: "lodestar_seen_cache_committee_contributions_super_set_check_total",
1357
- help: "Number of times to call isNonStrictSuperSet in SeenContributionAndProof",
1358
- buckets: [1, 4, 10],
1359
- }),
1360
- isKnownCalls: register.gauge({
1361
- name: "lodestar_seen_cache_committee_contributions_is_known_call_total",
1362
- help: "Total times calling SeenContributionAndProof.isKnown",
1363
- }),
1364
- isKnownHits: register.gauge({
1365
- name: "lodestar_seen_cache_committee_contributions_is_known_hit_total",
1366
- help: "Total times SeenContributionAndProof.isKnown returning true",
1367
- }),
1368
- },
1369
- attestationData: {
1370
- totalSlot: register.gauge({
1371
- name: "lodestar_seen_cache_attestation_data_slot_total",
1372
- help: "Total number of slots of attestation data in SeenAttestationData",
1373
- }),
1374
- countPerSlot: register.gauge({
1375
- name: "lodestar_seen_cache_attestation_data_per_slot_total",
1376
- help: "Total number of attestation data per slot in SeenAttestationData",
1377
- }),
1378
- hit: register.gauge({
1379
- name: "lodestar_seen_cache_attestation_data_hit_total",
1380
- help: "Total number of attestation data hit in SeenAttestationData",
1381
- }),
1382
- miss: register.gauge({
1383
- name: "lodestar_seen_cache_attestation_data_miss_total",
1384
- help: "Total number of attestation data miss in SeenAttestationData",
1385
- }),
1386
- reject: register.gauge<{reason: RejectReason}>({
1387
- name: "lodestar_seen_cache_attestation_data_reject_total",
1388
- help: "Total number of attestation data rejected in SeenAttestationData",
1389
- labelNames: ["reason"],
1390
- }),
1391
- },
1392
- blockInput: {
1393
- blockInputCount: register.gauge({
1394
- name: "lodestar_seen_block_input_cache_size",
1395
- help: "Number of cached BlockInputs",
1396
- }),
1397
- duplicateBlockCount: register.gauge<{source: BlockInputSource}>({
1398
- name: "lodestar_seen_block_input_cache_duplicate_block_count",
1399
- help: "Total number of duplicate blocks that pass validation and attempt to be cached but are known",
1400
- labelNames: ["source"],
1401
- }),
1402
- duplicateBlobCount: register.gauge<{source: BlockInputSource}>({
1403
- name: "lodestar_seen_block_input_cache_duplicate_blob_count",
1404
- help: "Total number of duplicate blobs that pass validation and attempt to be cached but are known",
1405
- labelNames: ["source"],
1406
- }),
1407
- duplicateColumnCount: register.gauge<{source: BlockInputSource}>({
1408
- name: "lodestar_seen_block_input_cache_duplicate_column_count",
1409
- help: "Total number of duplicate columns that pass validation and attempt to be cached but are known",
1410
- labelNames: ["source"],
1411
- }),
1412
- createdByBlock: register.gauge({
1413
- name: "lodestar_seen_block_input_cache_items_created_by_block",
1414
- help: "Number of BlockInputs created via a block being seen first",
1415
- }),
1416
- createdByBlob: register.gauge({
1417
- name: "lodestar_seen_block_input_cache_items_created_by_blob",
1418
- help: "Number of BlockInputs created via a blob being seen first",
1419
- }),
1420
- },
1421
- },
1422
-
1423
- regenFnCallTotal: register.gauge<{entrypoint: RegenFnName; caller: RegenCaller}>({
1424
- name: "lodestar_regen_fn_call_total",
1425
- help: "Total number of calls for regen functions",
1426
- labelNames: ["entrypoint", "caller"],
1427
- }),
1428
- regenFnQueuedTotal: register.gauge<{entrypoint: RegenFnName; caller: RegenCaller}>({
1429
- name: "lodestar_regen_fn_queued_total",
1430
- help: "Total number of calls queued for regen functions",
1431
- labelNames: ["entrypoint", "caller"],
1432
- }),
1433
- regenFnCallDuration: register.histogram<{entrypoint: RegenFnName; caller: RegenCaller}>({
1434
- name: "lodestar_regen_fn_call_duration",
1435
- help: "regen function duration",
1436
- labelNames: ["entrypoint", "caller"],
1437
- buckets: [0.1, 1, 10, 100],
1438
- }),
1439
- regenFnTotalErrors: register.gauge<{entrypoint: RegenFnName; caller: RegenCaller}>({
1440
- name: "lodestar_regen_fn_errors_total",
1441
- help: "regen function total errors",
1442
- labelNames: ["entrypoint", "caller"],
1443
- }),
1444
- regenFnAddPubkeyTime: register.histogram({
1445
- name: "lodestar_regen_fn_add_pubkey_time_seconds",
1446
- help: "Historgram of time spent on adding pubkeys to all state cache items in seconds",
1447
- buckets: [0.01, 0.1, 0.5, 1, 2, 5],
1448
- }),
1449
- regenFnDeletePubkeyTime: register.histogram({
1450
- name: "lodestar_regen_fn_delete_pubkey_time_seconds",
1451
- help: "Histrogram of time spent on deleting pubkeys from all state cache items in seconds",
1452
- buckets: [0.01, 0.1, 0.5, 1],
1453
- }),
1454
- regenFnNumStatesUpdated: register.histogram({
1455
- name: "lodestar_regen_state_cache_state_updated_count",
1456
- help: "Histogram of number of state cache items updated every time removing pubkeys from unfinalized cache",
1457
- buckets: [1, 2, 5, 10, 50, 250],
1458
- }),
1459
- unhandledPromiseRejections: register.gauge({
1460
- name: "lodestar_unhandled_promise_rejections_total",
1461
- help: "UnhandledPromiseRejection total count",
1462
- }),
1463
- stateSerializeDuration: register.histogram<{source: AllocSource}>({
1464
- name: "lodestar_state_serialize_seconds",
1465
- help: "Histogram of time to serialize state",
1466
- labelNames: ["source"],
1467
- buckets: [0.1, 0.5, 1, 2, 3, 4],
1468
- }),
1469
-
1470
- // regen.getState metrics
1471
- regenGetState: {
1472
- blockCount: register.histogram<{caller: RegenCaller}>({
1473
- name: "lodestar_regen_get_state_block_count",
1474
- help: "Block count in regen.getState",
1475
- labelNames: ["caller"],
1476
- buckets: [4, 8, 16, 32, 64],
1477
- }),
1478
- getSeedState: register.histogram<{caller: RegenCaller}>({
1479
- name: "lodestar_regen_get_state_get_seed_state_seconds",
1480
- help: "Duration of get seed state in regen.getState",
1481
- labelNames: ["caller"],
1482
- buckets: [0.1, 0.5, 1, 2, 3, 4],
1483
- }),
1484
- loadBlocks: register.histogram<{caller: RegenCaller}>({
1485
- name: "lodestar_regen_get_state_load_blocks_seconds",
1486
- help: "Duration of load blocks in regen.getState",
1487
- labelNames: ["caller"],
1488
- buckets: [0.1, 0.5, 1, 2, 3, 4],
1489
- }),
1490
- stateTransition: register.histogram<{caller: RegenCaller}>({
1491
- name: "lodestar_regen_get_state_state_transition_seconds",
1492
- help: "Duration of state transition in regen.getState",
1493
- labelNames: ["caller"],
1494
- buckets: [0.1, 0.5, 1, 2, 3, 4],
1495
- }),
1496
- },
1497
-
1498
- // Precompute next epoch transition
1499
- precomputeNextEpochTransition: {
1500
- count: register.counter<{result: string}>({
1501
- name: "lodestar_precompute_next_epoch_transition_result_total",
1502
- labelNames: ["result"],
1503
- help: "Total number of precomputeNextEpochTransition runs by result",
1504
- }),
1505
- hits: register.gauge({
1506
- name: "lodestar_precompute_next_epoch_transition_hits_total",
1507
- help: "Total number of calls uses precomputed checkpoint state cache",
1508
- }),
1509
- waste: register.counter({
1510
- name: "lodestar_precompute_next_epoch_transition_waste_total",
1511
- help: "Total number of precomputing next epoch transition wasted",
1512
- }),
1513
- duration: register.histogram({
1514
- name: "lodestar_precompute_next_epoch_transition_duration_seconds",
1515
- help: "Duration of precomputeNextEpochTransition, including epoch transition and hashTreeRoot",
1516
- buckets: [0.2, 0.5, 0.75, 1, 1.25, 1.5, 2, 2.5, 3, 10],
1517
- }),
1518
- },
1519
-
1520
- // reprocess attestations
1521
- reprocessApiAttestations: {
1522
- total: register.gauge({
1523
- name: "lodestar_reprocess_attestations_total",
1524
- help: "Total number of attestations waiting to reprocess",
1525
- }),
1526
- resolve: register.gauge({
1527
- name: "lodestar_reprocess_attestations_resolve_total",
1528
- help: "Total number of attestations are reprocessed",
1529
- }),
1530
- waitSecBeforeResolve: register.gauge({
1531
- name: "lodestar_reprocess_attestations_wait_time_resolve_seconds",
1532
- help: "Time to wait for unknown block in seconds",
1533
- }),
1534
- reject: register.gauge<{reason: ReprocessStatus}>({
1535
- name: "lodestar_reprocess_attestations_reject_total",
1536
- help: "Total number of attestations are rejected to reprocess",
1537
- labelNames: ["reason"],
1538
- }),
1539
- waitSecBeforeReject: register.gauge<{reason: ReprocessStatus}>({
1540
- name: "lodestar_reprocess_attestations_wait_time_reject_seconds",
1541
- help: "Time to wait for unknown block before being rejected",
1542
- labelNames: ["reason"],
1543
- }),
1544
- },
1545
-
1546
- // reprocess gossip attestations
1547
- reprocessGossipAttestations: {
1548
- total: register.gauge({
1549
- name: "lodestar_reprocess_gossip_attestations_total",
1550
- help: "Total number of gossip attestations waiting to reprocess",
1551
- }),
1552
- countPerSlot: register.gauge({
1553
- name: "lodestar_reprocess_gossip_attestations_per_slot_total",
1554
- help: "Total number of gossip attestations waiting to reprocess pet slot",
1555
- }),
1556
- resolve: register.gauge({
1557
- name: "lodestar_reprocess_gossip_attestations_resolve_total",
1558
- help: "Total number of gossip attestations are reprocessed",
1559
- }),
1560
- waitSecBeforeResolve: register.gauge({
1561
- name: "lodestar_reprocess_gossip_attestations_wait_time_resolve_seconds",
1562
- help: "Time to wait for unknown block in seconds",
1563
- }),
1564
- reject: register.gauge<{reason: ReprocessRejectReason}>({
1565
- name: "lodestar_reprocess_gossip_attestations_reject_total",
1566
- help: "Total number of attestations are rejected to reprocess",
1567
- labelNames: ["reason"],
1568
- }),
1569
- waitSecBeforeReject: register.gauge<{reason: ReprocessRejectReason}>({
1570
- name: "lodestar_reprocess_gossip_attestations_wait_time_reject_seconds",
1571
- help: "Time to wait for unknown block before being rejected",
1572
- labelNames: ["reason"],
1573
- }),
1574
- },
1575
-
1576
- lightclientServer: {
1577
- onSyncAggregate: register.gauge<{event: string}>({
1578
- name: "lodestar_lightclient_server_on_sync_aggregate_event_total",
1579
- help: "Total number of relevant events onSyncAggregate fn",
1580
- labelNames: ["event"],
1581
- }),
1582
- highestSlot: register.gauge<{item: string}>({
1583
- name: "lodestar_lightclient_server_highest_slot",
1584
- help: "Current highest slot of items stored by LightclientServer",
1585
- labelNames: ["item"],
1586
- }),
1587
- updateNotBetter: register.gauge({
1588
- name: "lodestar_lightclient_server_event_update_not_better_total",
1589
- help: "Total number of cache hits in LightclientServer.prevHeadData",
1590
- }),
1591
- attestedDataCacheMiss: register.gauge({
1592
- name: "lodestar_lightclient_server_attested_cache_miss_total",
1593
- help: "Total number of cache miss in LightclientServer.prevHeadData",
1594
- }),
1595
- attestedDataDiffPeriod: register.gauge({
1596
- name: "lodestar_lightclient_server_attested_data_diff_period_total",
1597
- help: "Total number of times a syncAggregate is a different period than attested data",
1598
- }),
1599
- },
1600
-
1601
- eth1: {
1602
- depositTrackerIsCaughtup: register.gauge({
1603
- name: "lodestar_eth1_deposit_tracker_is_caughtup",
1604
- help: "Eth1 deposit is caught up 0=false 1=true",
1605
- }),
1606
- depositTrackerUpdateErrors: register.gauge({
1607
- name: "lodestar_eth1_deposit_tracker_update_errors_total",
1608
- help: "Eth1 deposit update loop errors total",
1609
- }),
1610
- remoteHighestBlock: register.gauge({
1611
- name: "lodestar_eth1_remote_highest_block",
1612
- help: "Eth1 current highest block number",
1613
- }),
1614
- depositEventsFetched: register.gauge({
1615
- name: "lodestar_eth1_deposit_events_fetched_total",
1616
- help: "Eth1 deposit events fetched total",
1617
- }),
1618
- lastProcessedDepositBlockNumber: register.gauge({
1619
- name: "lodestar_eth1_last_processed_deposit_block_number",
1620
- help: "Eth1 deposit tracker lastProcessedDepositBlockNumber",
1621
- }),
1622
- blocksFetched: register.gauge({
1623
- name: "lodestar_eth1_blocks_fetched_total",
1624
- help: "Eth1 blocks fetched total",
1625
- }),
1626
- lastFetchedBlockBlockNumber: register.gauge({
1627
- name: "lodestar_eth1_last_fetched_block_block_number",
1628
- help: "Eth1 deposit tracker last fetched block's block number",
1629
- }),
1630
- lastFetchedBlockTimestamp: register.gauge({
1631
- name: "lodestar_eth1_last_fetched_block_timestamp",
1632
- help: "Eth1 deposit tracker last fetched block's timestamp",
1633
- }),
1634
- eth1FollowDistanceSecondsConfig: register.gauge({
1635
- name: "lodestar_eth1_follow_distance_seconds_config",
1636
- help: "Constant with value = SECONDS_PER_ETH1_BLOCK * ETH1_FOLLOW_DISTANCE",
1637
- }),
1638
- eth1FollowDistanceDynamic: register.gauge({
1639
- name: "lodestar_eth1_follow_distance_dynamic",
1640
- help: "Eth1 dynamic follow distance changed by the deposit tracker if blocks are slow",
1641
- }),
1642
- eth1GetBlocksBatchSizeDynamic: register.gauge({
1643
- name: "lodestar_eth1_blocks_batch_size_dynamic",
1644
- help: "Dynamic batch size to fetch blocks",
1645
- }),
1646
- eth1GetLogsBatchSizeDynamic: register.gauge({
1647
- name: "lodestar_eth1_logs_batch_size_dynamic",
1648
- help: "Dynamic batch size to fetch deposit logs",
1649
- }),
1650
-
1651
- // Merge Search info
1652
- eth1MergeStatus: register.gauge({
1653
- name: "lodestar_eth1_merge_status",
1654
- help: "Eth1 Merge Status 0 PRE_MERGE 1 SEARCHING 2 FOUND 3 POST_MERGE",
1655
- }),
1656
- eth1MergeTDFactor: register.gauge({
1657
- name: "lodestar_eth1_merge_td_factor",
1658
- help: "TTD set for the merge",
1659
- }),
1660
- eth1MergeTTD: register.gauge({
1661
- name: "lodestar_eth1_merge_ttd",
1662
- help: "TTD set for the merge scaled down by td_factor",
1663
- }),
1664
-
1665
- eth1PollMergeBlockErrors: register.gauge({
1666
- name: "lodestar_eth1_poll_merge_block_errors_total",
1667
- help: "Total count of errors polling merge block",
1668
- }),
1669
- getTerminalPowBlockPromiseCacheHit: register.gauge({
1670
- name: "lodestar_eth1_get_terminal_pow_block_promise_cache_hit_total",
1671
- help: "Total count of skipped runs in poll merge block, because a previous promise existed",
1672
- }),
1673
- eth1ParentBlocksFetched: register.gauge({
1674
- name: "lodestar_eth1_parent_blocks_fetched_total",
1675
- help: "Total count of parent blocks fetched searching for merge block",
1676
- }),
1677
-
1678
- // Latest block details
1679
- eth1LatestBlockTD: register.gauge({
1680
- name: "lodestar_eth1_latest_block_ttd",
1681
- help: "Eth1 latest Block td scaled down by td_factor",
1682
- }),
1683
- eth1LatestBlockNumber: register.gauge({
1684
- name: "lodestar_eth1_latest_block_number",
1685
- help: "Eth1 latest block number",
1686
- }),
1687
- eth1LatestBlockTimestamp: register.gauge({
1688
- name: "lodestar_eth1_latest_block_timestamp",
1689
- help: "Eth1 latest block timestamp",
1690
- }),
1691
-
1692
- // Merge details
1693
- eth1MergeBlockDetails: register.gauge<{
1694
- terminalBlockHash: string;
1695
- terminalBlockNumber: string;
1696
- terminalBlockTD: string;
1697
- }>({
1698
- name: "lodestar_eth1_merge_block_details",
1699
- help: "If found then 1 with terminal block details",
1700
- labelNames: ["terminalBlockHash", "terminalBlockNumber", "terminalBlockTD"],
1701
- }),
1702
- },
1703
-
1704
- eth1HttpClient: {
1705
- requestTime: register.histogram<{routeId: string}>({
1706
- name: "lodestar_eth1_http_client_request_time_seconds",
1707
- help: "eth1 JsonHttpClient - histogram or roundtrip request times",
1708
- labelNames: ["routeId"],
1709
- // Provide max resolution on problematic values around 1 second
1710
- buckets: [0.1, 0.5, 1, 2, 5, 15],
1711
- }),
1712
- streamTime: register.histogram<{routeId: string}>({
1713
- name: "lodestar_eth1_http_client_stream_time_seconds",
1714
- help: "eth1 JsonHttpClient - streaming time by routeId",
1715
- labelNames: ["routeId"],
1716
- // Provide max resolution on problematic values around 1 second
1717
- buckets: [0.1, 0.5, 1, 2, 5, 15],
1718
- }),
1719
- requestErrors: register.gauge<{routeId: string}>({
1720
- name: "lodestar_eth1_http_client_request_errors_total",
1721
- help: "eth1 JsonHttpClient - total count of request errors",
1722
- labelNames: ["routeId"],
1723
- }),
1724
- retryCount: register.gauge<{routeId: string}>({
1725
- name: "lodestar_eth1_http_client_request_retries_total",
1726
- help: "eth1 JsonHttpClient - total count of request retries",
1727
- labelNames: ["routeId"],
1728
- }),
1729
- requestUsedFallbackUrl: register.gauge<{routeId: string}>({
1730
- name: "lodestar_eth1_http_client_request_used_fallback_url_total",
1731
- help: "eth1 JsonHttpClient - total count of requests on fallback url(s)",
1732
- labelNames: ["routeId"],
1733
- }),
1734
- activeRequests: register.gauge<{routeId: string}>({
1735
- name: "lodestar_eth1_http_client_active_requests",
1736
- help: "eth1 JsonHttpClient - current count of active requests",
1737
- labelNames: ["routeId"],
1738
- }),
1739
- configUrlsCount: register.gauge({
1740
- name: "lodestar_eth1_http_client_config_urls_count",
1741
- help: "eth1 JsonHttpClient - static config urls count",
1742
- }),
1743
- },
1744
-
1745
- executionEnginerHttpClient: {
1746
- requestTime: register.histogram<{routeId: string}>({
1747
- name: "lodestar_execution_engine_http_client_request_time_seconds",
1748
- help: "ExecutionEngineHttp client - histogram or roundtrip request times",
1749
- labelNames: ["routeId"],
1750
- // Provide max resolution on problematic values around 1 second
1751
- buckets: [0.1, 0.5, 1, 2, 5, 15],
1752
- }),
1753
- streamTime: register.histogram<{routeId: string}>({
1754
- name: "lodestar_execution_engine_http_client_stream_time_seconds",
1755
- help: "ExecutionEngineHttp client - streaming time by routeId",
1756
- labelNames: ["routeId"],
1757
- // Provide max resolution on problematic values around 1 second
1758
- buckets: [0.1, 0.5, 1, 2, 5, 15],
1759
- }),
1760
- requestErrors: register.gauge<{routeId: string}>({
1761
- name: "lodestar_execution_engine_http_client_request_errors_total",
1762
- help: "ExecutionEngineHttp client - total count of request errors",
1763
- labelNames: ["routeId"],
1764
- }),
1765
- retryCount: register.gauge<{routeId: string}>({
1766
- name: "lodestar_execution_engine_http_client_request_retries_total",
1767
- help: "ExecutionEngineHttp client - total count of request retries",
1768
- labelNames: ["routeId"],
1769
- }),
1770
- requestUsedFallbackUrl: register.gauge<{routeId: string}>({
1771
- name: "lodestar_execution_engine_http_client_request_used_fallback_url_total",
1772
- help: "ExecutionEngineHttp client - total count of requests on fallback url(s)",
1773
- labelNames: ["routeId"],
1774
- }),
1775
- activeRequests: register.gauge<{routeId: string}>({
1776
- name: "lodestar_execution_engine_http_client_active_requests",
1777
- help: "ExecutionEngineHttp client - current count of active requests",
1778
- labelNames: ["routeId"],
1779
- }),
1780
- configUrlsCount: register.gauge({
1781
- name: "lodestar_execution_engine_http_client_config_urls_count",
1782
- help: "ExecutionEngineHttp client - static config urls count",
1783
- }),
1784
- },
1785
-
1786
- builderHttpClient: {
1787
- requestTime: register.histogram<{routeId: string}>({
1788
- name: "lodestar_builder_http_client_request_time_seconds",
1789
- help: "Histogram of builder http client request time by routeId",
1790
- labelNames: ["routeId"],
1791
- // Expected times are ~ 50-500ms, but in an overload NodeJS they can be greater
1792
- buckets: [0.01, 0.1, 1, 5],
1793
- }),
1794
- streamTime: register.histogram<{routeId: string}>({
1795
- name: "lodestar_builder_http_client_stream_time_seconds",
1796
- help: "Builder api - streaming time by routeId",
1797
- labelNames: ["routeId"],
1798
- // Provide max resolution on problematic values around 1 second
1799
- buckets: [0.1, 0.5, 1, 2, 5, 15],
1800
- }),
1801
- requestErrors: register.gauge<{routeId: string; baseUrl: string}>({
1802
- name: "lodestar_builder_http_client_request_errors_total",
1803
- help: "Total count of errors on builder http client requests by routeId",
1804
- labelNames: ["routeId", "baseUrl"],
1805
- }),
1806
- requestToFallbacks: register.gauge<{routeId: string; baseUrl: string}>({
1807
- name: "lodestar_builder_http_client_request_to_fallbacks_total",
1808
- help: "Total count of requests to fallback URLs on builder http API by routeId",
1809
- labelNames: ["routeId", "baseUrl"],
1810
- }),
1811
-
1812
- urlsScore: register.gauge<{urlIndex: number; baseUrl: string}>({
1813
- name: "lodestar_builder_http_client_urls_score",
1814
- help: "Current score of builder http URLs by url index",
1815
- labelNames: ["urlIndex", "baseUrl"],
1816
- }),
1817
- },
1818
-
1819
- db: {
1820
- dbReadReq: register.gauge<{bucket: string}>({
1821
- name: "lodestar_db_read_req_total",
1822
- help: "Total count of db read requests, may read 0 or more items",
1823
- labelNames: ["bucket"],
1824
- }),
1825
- dbReadItems: register.gauge<{bucket: string}>({
1826
- name: "lodestar_db_read_items_total",
1827
- help: "Total count of db read items, item = key | value | entry",
1828
- labelNames: ["bucket"],
1829
- }),
1830
- dbWriteReq: register.gauge<{bucket: string}>({
1831
- name: "lodestar_db_write_req_total",
1832
- help: "Total count of db write requests, may write 0 or more items",
1833
- labelNames: ["bucket"],
1834
- }),
1835
- dbWriteItems: register.gauge<{bucket: string}>({
1836
- name: "lodestar_db_write_items_total",
1837
- help: "Total count of db write items",
1838
- labelNames: ["bucket"],
1839
- }),
1840
- dbSizeTotal: register.gauge({
1841
- name: "lodestar_db_size_bytes_total",
1842
- help: "Approximate number of bytes of file system space used by db",
1843
- }),
1844
- dbApproximateSizeTime: register.histogram({
1845
- name: "lodestar_db_approximate_size_time_seconds",
1846
- help: "Time to approximate db size in seconds",
1847
- buckets: [0.0001, 0.001, 0.01, 0.1, 1],
1848
- }),
1849
- },
1850
-
1851
- pruneHistory: {
1852
- pruneCount: register.gauge({
1853
- name: "lodestar_prune_history_prune_count_total",
1854
- help: "Total count of prune operations",
1855
- }),
1856
-
1857
- fetchKeys: register.histogram({
1858
- name: "lodestar_prune_history_fetch_keys_time_seconds",
1859
- help: "Time to fetch keys in seconds",
1860
- buckets: [0.001, 0.01, 0.1, 1],
1861
- }),
1862
-
1863
- pruneKeys: register.histogram({
1864
- name: "lodestar_prune_history_prune_keys_time_seconds",
1865
- help: "Time to prune keys in seconds",
1866
- buckets: [0.001, 0.01, 0.1, 1],
1867
- }),
1868
- },
1869
- };
1870
- }