@lodestar/beacon-node 1.40.0-dev.0ae7a89ead → 1.40.0-dev.193b2e2047

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 (339) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +8 -18
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/config/constants.d.ts +3 -0
  5. package/lib/api/impl/config/constants.d.ts.map +1 -1
  6. package/lib/api/impl/config/constants.js +5 -1
  7. package/lib/api/impl/config/constants.js.map +1 -1
  8. package/lib/api/impl/debug/index.d.ts +1 -1
  9. package/lib/api/impl/debug/index.d.ts.map +1 -1
  10. package/lib/api/impl/debug/index.js +3 -6
  11. package/lib/api/impl/debug/index.js.map +1 -1
  12. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  13. package/lib/api/impl/lodestar/index.js +5 -2
  14. package/lib/api/impl/lodestar/index.js.map +1 -1
  15. package/lib/api/impl/validator/index.d.ts.map +1 -1
  16. package/lib/api/impl/validator/index.js +9 -8
  17. package/lib/api/impl/validator/index.js.map +1 -1
  18. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  19. package/lib/chain/archiveStore/utils/archiveBlocks.js +4 -0
  20. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  21. package/lib/chain/blocks/blockInput/blockInput.d.ts +2 -0
  22. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  23. package/lib/chain/blocks/blockInput/blockInput.js +6 -0
  24. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  25. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  26. package/lib/chain/blocks/importBlock.js +2 -6
  27. package/lib/chain/blocks/importBlock.js.map +1 -1
  28. package/lib/chain/blocks/index.d.ts.map +1 -1
  29. package/lib/chain/blocks/index.js +0 -14
  30. package/lib/chain/blocks/index.js.map +1 -1
  31. package/lib/chain/blocks/types.d.ts +0 -2
  32. package/lib/chain/blocks/types.d.ts.map +1 -1
  33. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  34. package/lib/chain/blocks/verifyBlock.js +1 -8
  35. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  36. package/lib/chain/blocks/verifyBlocksSignatures.d.ts +2 -2
  37. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  38. package/lib/chain/blocks/verifyBlocksSignatures.js +2 -2
  39. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  40. package/lib/chain/blocks/writeBlockInputToDb.d.ts +1 -4
  41. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  42. package/lib/chain/blocks/writeBlockInputToDb.js +20 -28
  43. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  44. package/lib/chain/bls/multithread/index.d.ts +3 -1
  45. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  46. package/lib/chain/bls/multithread/index.js +5 -3
  47. package/lib/chain/bls/multithread/index.js.map +1 -1
  48. package/lib/chain/bls/multithread/jobItem.d.ts +2 -2
  49. package/lib/chain/bls/multithread/jobItem.d.ts.map +1 -1
  50. package/lib/chain/bls/multithread/jobItem.js +2 -2
  51. package/lib/chain/bls/multithread/jobItem.js.map +1 -1
  52. package/lib/chain/bls/singleThread.d.ts +4 -2
  53. package/lib/chain/bls/singleThread.d.ts.map +1 -1
  54. package/lib/chain/bls/singleThread.js +4 -2
  55. package/lib/chain/bls/singleThread.js.map +1 -1
  56. package/lib/chain/bls/utils.d.ts +2 -2
  57. package/lib/chain/bls/utils.d.ts.map +1 -1
  58. package/lib/chain/bls/utils.js +9 -6
  59. package/lib/chain/bls/utils.js.map +1 -1
  60. package/lib/chain/chain.d.ts +21 -4
  61. package/lib/chain/chain.d.ts.map +1 -1
  62. package/lib/chain/chain.js +180 -15
  63. package/lib/chain/chain.js.map +1 -1
  64. package/lib/chain/errors/attestationError.d.ts +14 -1
  65. package/lib/chain/errors/attestationError.d.ts.map +1 -1
  66. package/lib/chain/errors/attestationError.js +8 -0
  67. package/lib/chain/errors/attestationError.js.map +1 -1
  68. package/lib/chain/errors/executionPayloadBid.d.ts +48 -0
  69. package/lib/chain/errors/executionPayloadBid.d.ts.map +1 -0
  70. package/lib/chain/errors/executionPayloadBid.js +15 -0
  71. package/lib/chain/errors/executionPayloadBid.js.map +1 -0
  72. package/lib/chain/errors/executionPayloadEnvelope.d.ts +48 -0
  73. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -0
  74. package/lib/chain/errors/executionPayloadEnvelope.js +16 -0
  75. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -0
  76. package/lib/chain/errors/index.d.ts +3 -0
  77. package/lib/chain/errors/index.d.ts.map +1 -1
  78. package/lib/chain/errors/index.js +3 -0
  79. package/lib/chain/errors/index.js.map +1 -1
  80. package/lib/chain/errors/payloadAttestation.d.ts +34 -0
  81. package/lib/chain/errors/payloadAttestation.d.ts.map +1 -0
  82. package/lib/chain/errors/payloadAttestation.js +13 -0
  83. package/lib/chain/errors/payloadAttestation.js.map +1 -0
  84. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  85. package/lib/chain/forkChoice/index.js +18 -0
  86. package/lib/chain/forkChoice/index.js.map +1 -1
  87. package/lib/chain/interface.d.ts +21 -3
  88. package/lib/chain/interface.d.ts.map +1 -1
  89. package/lib/chain/interface.js.map +1 -1
  90. package/lib/chain/opPools/executionPayloadBidPool.d.ts +21 -0
  91. package/lib/chain/opPools/executionPayloadBidPool.d.ts.map +1 -0
  92. package/lib/chain/opPools/executionPayloadBidPool.js +57 -0
  93. package/lib/chain/opPools/executionPayloadBidPool.js.map +1 -0
  94. package/lib/chain/opPools/index.d.ts +2 -0
  95. package/lib/chain/opPools/index.d.ts.map +1 -1
  96. package/lib/chain/opPools/index.js +2 -0
  97. package/lib/chain/opPools/index.js.map +1 -1
  98. package/lib/chain/opPools/payloadAttestationPool.d.ts +24 -0
  99. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -0
  100. package/lib/chain/opPools/payloadAttestationPool.js +109 -0
  101. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -0
  102. package/lib/chain/prepareNextSlot.js +6 -4
  103. package/lib/chain/prepareNextSlot.js.map +1 -1
  104. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -2
  105. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  106. package/lib/chain/produceBlock/produceBlockBody.js +5 -3
  107. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  108. package/lib/chain/regen/interface.d.ts +3 -8
  109. package/lib/chain/regen/interface.d.ts.map +1 -1
  110. package/lib/chain/regen/interface.js +1 -1
  111. package/lib/chain/regen/interface.js.map +1 -1
  112. package/lib/chain/regen/queued.d.ts +1 -2
  113. package/lib/chain/regen/queued.d.ts.map +1 -1
  114. package/lib/chain/regen/queued.js +2 -16
  115. package/lib/chain/regen/queued.js.map +1 -1
  116. package/lib/chain/regen/regen.d.ts +3 -7
  117. package/lib/chain/regen/regen.d.ts.map +1 -1
  118. package/lib/chain/regen/regen.js +3 -16
  119. package/lib/chain/regen/regen.js.map +1 -1
  120. package/lib/chain/seenCache/index.d.ts +3 -1
  121. package/lib/chain/seenCache/index.d.ts.map +1 -1
  122. package/lib/chain/seenCache/index.js +3 -1
  123. package/lib/chain/seenCache/index.js.map +1 -1
  124. package/lib/chain/seenCache/seenAttesters.d.ts +5 -0
  125. package/lib/chain/seenCache/seenAttesters.d.ts.map +1 -1
  126. package/lib/chain/seenCache/seenAttesters.js +5 -0
  127. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  128. package/lib/chain/seenCache/seenExecutionPayloadBids.d.ts +12 -0
  129. package/lib/chain/seenCache/seenExecutionPayloadBids.d.ts.map +1 -0
  130. package/lib/chain/seenCache/seenExecutionPayloadBids.js +30 -0
  131. package/lib/chain/seenCache/seenExecutionPayloadBids.js.map +1 -0
  132. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts +15 -0
  133. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts.map +1 -0
  134. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js +28 -0
  135. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js.map +1 -0
  136. package/lib/chain/validation/aggregateAndProof.js +35 -14
  137. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  138. package/lib/chain/validation/attestation.d.ts +2 -2
  139. package/lib/chain/validation/attestation.d.ts.map +1 -1
  140. package/lib/chain/validation/attestation.js +27 -8
  141. package/lib/chain/validation/attestation.js.map +1 -1
  142. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  143. package/lib/chain/validation/attesterSlashing.js +1 -1
  144. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  145. package/lib/chain/validation/blobSidecar.d.ts.map +1 -1
  146. package/lib/chain/validation/blobSidecar.js +3 -3
  147. package/lib/chain/validation/blobSidecar.js.map +1 -1
  148. package/lib/chain/validation/block.d.ts.map +1 -1
  149. package/lib/chain/validation/block.js +5 -4
  150. package/lib/chain/validation/block.js.map +1 -1
  151. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  152. package/lib/chain/validation/dataColumnSidecar.js +3 -3
  153. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  154. package/lib/chain/validation/executionPayloadBid.d.ts +5 -0
  155. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -0
  156. package/lib/chain/validation/executionPayloadBid.js +104 -0
  157. package/lib/chain/validation/executionPayloadBid.js.map +1 -0
  158. package/lib/chain/validation/executionPayloadEnvelope.d.ts +5 -0
  159. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -0
  160. package/lib/chain/validation/executionPayloadEnvelope.js +89 -0
  161. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -0
  162. package/lib/chain/validation/payloadAttestationMessage.d.ts +9 -0
  163. package/lib/chain/validation/payloadAttestationMessage.d.ts.map +1 -0
  164. package/lib/chain/validation/payloadAttestationMessage.js +72 -0
  165. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -0
  166. package/lib/chain/validation/proposerSlashing.js +1 -1
  167. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  168. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +2 -3
  169. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +1 -1
  170. package/lib/chain/validation/signatureSets/aggregateAndProof.js +8 -3
  171. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  172. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts +2 -2
  173. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +1 -1
  174. package/lib/chain/validation/signatureSets/contributionAndProof.js +3 -3
  175. package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
  176. package/lib/chain/validation/signatureSets/selectionProof.d.ts +2 -3
  177. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +1 -1
  178. package/lib/chain/validation/signatureSets/selectionProof.js +8 -3
  179. package/lib/chain/validation/signatureSets/selectionProof.js.map +1 -1
  180. package/lib/chain/validation/signatureSets/syncCommittee.d.ts +2 -2
  181. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +1 -1
  182. package/lib/chain/validation/signatureSets/syncCommittee.js +3 -3
  183. package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
  184. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +1 -2
  185. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +1 -1
  186. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js +2 -2
  187. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
  188. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +2 -2
  189. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +1 -1
  190. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +3 -3
  191. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
  192. package/lib/chain/validation/syncCommittee.js +1 -1
  193. package/lib/chain/validation/syncCommittee.js.map +1 -1
  194. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
  195. package/lib/chain/validation/syncCommitteeContributionAndProof.js +3 -5
  196. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  197. package/lib/chain/validation/voluntaryExit.js +1 -1
  198. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  199. package/lib/chain/validatorMonitor.d.ts +2 -0
  200. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  201. package/lib/chain/validatorMonitor.js +42 -3
  202. package/lib/chain/validatorMonitor.js.map +1 -1
  203. package/lib/db/repositories/checkpointState.js +0 -1
  204. package/lib/db/repositories/checkpointState.js.map +1 -1
  205. package/lib/metrics/metrics/lodestar.d.ts +27 -0
  206. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  207. package/lib/metrics/metrics/lodestar.js +64 -0
  208. package/lib/metrics/metrics/lodestar.js.map +1 -1
  209. package/lib/network/gossip/interface.d.ts +20 -2
  210. package/lib/network/gossip/interface.d.ts.map +1 -1
  211. package/lib/network/gossip/interface.js +3 -0
  212. package/lib/network/gossip/interface.js.map +1 -1
  213. package/lib/network/gossip/scoringParameters.d.ts.map +1 -1
  214. package/lib/network/gossip/scoringParameters.js +38 -2
  215. package/lib/network/gossip/scoringParameters.js.map +1 -1
  216. package/lib/network/gossip/topic.d.ts +77 -1
  217. package/lib/network/gossip/topic.d.ts.map +1 -1
  218. package/lib/network/gossip/topic.js +20 -0
  219. package/lib/network/gossip/topic.js.map +1 -1
  220. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  221. package/lib/network/processor/gossipHandlers.js +34 -3
  222. package/lib/network/processor/gossipHandlers.js.map +1 -1
  223. package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
  224. package/lib/network/processor/gossipQueues/index.js +16 -0
  225. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  226. package/lib/network/processor/index.d.ts.map +1 -1
  227. package/lib/network/processor/index.js +3 -0
  228. package/lib/network/processor/index.js.map +1 -1
  229. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  230. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +2 -4
  231. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  232. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts +1 -2
  233. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +1 -1
  234. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js +5 -26
  235. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  236. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts +1 -2
  237. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +1 -1
  238. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +5 -7
  239. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  240. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  241. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +1 -2
  242. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  243. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +1 -1
  244. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +1 -5
  245. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  246. package/lib/network/reqresp/handlers/index.js +2 -2
  247. package/lib/network/reqresp/handlers/index.js.map +1 -1
  248. package/lib/sync/backfill/backfill.js +2 -2
  249. package/lib/sync/backfill/backfill.js.map +1 -1
  250. package/lib/sync/backfill/verify.d.ts +1 -2
  251. package/lib/sync/backfill/verify.d.ts.map +1 -1
  252. package/lib/sync/backfill/verify.js +2 -2
  253. package/lib/sync/backfill/verify.js.map +1 -1
  254. package/lib/sync/range/chain.d.ts.map +1 -1
  255. package/lib/sync/range/chain.js +0 -1
  256. package/lib/sync/range/chain.js.map +1 -1
  257. package/lib/sync/range/range.d.ts.map +1 -1
  258. package/lib/sync/range/range.js +0 -3
  259. package/lib/sync/range/range.js.map +1 -1
  260. package/lib/sync/unknownBlock.d.ts.map +1 -1
  261. package/lib/sync/unknownBlock.js +0 -3
  262. package/lib/sync/unknownBlock.js.map +1 -1
  263. package/package.json +15 -15
  264. package/src/api/impl/beacon/blocks/index.ts +8 -18
  265. package/src/api/impl/config/constants.ts +8 -0
  266. package/src/api/impl/debug/index.ts +2 -6
  267. package/src/api/impl/lodestar/index.ts +6 -3
  268. package/src/api/impl/validator/index.ts +12 -11
  269. package/src/chain/archiveStore/utils/archiveBlocks.ts +4 -0
  270. package/src/chain/blocks/blockInput/blockInput.ts +8 -0
  271. package/src/chain/blocks/importBlock.ts +2 -6
  272. package/src/chain/blocks/index.ts +0 -19
  273. package/src/chain/blocks/types.ts +0 -2
  274. package/src/chain/blocks/verifyBlock.ts +0 -9
  275. package/src/chain/blocks/verifyBlocksSignatures.ts +4 -12
  276. package/src/chain/blocks/writeBlockInputToDb.ts +24 -30
  277. package/src/chain/bls/multithread/index.ts +7 -4
  278. package/src/chain/bls/multithread/jobItem.ts +7 -3
  279. package/src/chain/bls/singleThread.ts +5 -3
  280. package/src/chain/bls/utils.ts +15 -7
  281. package/src/chain/chain.ts +205 -23
  282. package/src/chain/errors/attestationError.ts +11 -1
  283. package/src/chain/errors/executionPayloadBid.ts +35 -0
  284. package/src/chain/errors/executionPayloadEnvelope.ts +34 -0
  285. package/src/chain/errors/index.ts +3 -0
  286. package/src/chain/errors/payloadAttestation.ts +25 -0
  287. package/src/chain/forkChoice/index.ts +19 -0
  288. package/src/chain/interface.ts +32 -1
  289. package/src/chain/opPools/executionPayloadBidPool.ts +77 -0
  290. package/src/chain/opPools/index.ts +2 -0
  291. package/src/chain/opPools/payloadAttestationPool.ts +157 -0
  292. package/src/chain/prepareNextSlot.ts +6 -6
  293. package/src/chain/produceBlock/produceBlockBody.ts +7 -5
  294. package/src/chain/regen/interface.ts +2 -12
  295. package/src/chain/regen/queued.ts +3 -23
  296. package/src/chain/regen/regen.ts +4 -24
  297. package/src/chain/seenCache/index.ts +3 -1
  298. package/src/chain/seenCache/seenAttesters.ts +5 -0
  299. package/src/chain/seenCache/seenExecutionPayloadBids.ts +35 -0
  300. package/src/chain/seenCache/seenExecutionPayloadEnvelope.ts +34 -0
  301. package/src/chain/validation/aggregateAndProof.ts +36 -14
  302. package/src/chain/validation/attestation.ts +33 -16
  303. package/src/chain/validation/attesterSlashing.ts +1 -6
  304. package/src/chain/validation/blobSidecar.ts +2 -7
  305. package/src/chain/validation/block.ts +5 -4
  306. package/src/chain/validation/dataColumnSidecar.ts +2 -7
  307. package/src/chain/validation/executionPayloadBid.ts +141 -0
  308. package/src/chain/validation/executionPayloadEnvelope.ts +122 -0
  309. package/src/chain/validation/payloadAttestationMessage.ts +109 -0
  310. package/src/chain/validation/proposerSlashing.ts +1 -6
  311. package/src/chain/validation/signatureSets/aggregateAndProof.ts +9 -14
  312. package/src/chain/validation/signatureSets/contributionAndProof.ts +2 -4
  313. package/src/chain/validation/signatureSets/selectionProof.ts +9 -9
  314. package/src/chain/validation/signatureSets/syncCommittee.ts +2 -4
  315. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +2 -3
  316. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +2 -4
  317. package/src/chain/validation/syncCommittee.ts +1 -1
  318. package/src/chain/validation/syncCommitteeContributionAndProof.ts +3 -5
  319. package/src/chain/validation/voluntaryExit.ts +1 -1
  320. package/src/chain/validatorMonitor.ts +52 -3
  321. package/src/db/repositories/checkpointState.ts +1 -1
  322. package/src/metrics/metrics/lodestar.ts +65 -0
  323. package/src/network/gossip/interface.ts +17 -0
  324. package/src/network/gossip/scoringParameters.ts +44 -2
  325. package/src/network/gossip/topic.ts +21 -0
  326. package/src/network/processor/gossipHandlers.ts +48 -3
  327. package/src/network/processor/gossipQueues/index.ts +16 -0
  328. package/src/network/processor/index.ts +3 -0
  329. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +2 -4
  330. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +5 -32
  331. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +5 -9
  332. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +5 -2
  333. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +1 -5
  334. package/src/network/reqresp/handlers/index.ts +2 -2
  335. package/src/sync/backfill/backfill.ts +2 -2
  336. package/src/sync/backfill/verify.ts +2 -3
  337. package/src/sync/range/chain.ts +0 -1
  338. package/src/sync/range/range.ts +0 -3
  339. package/src/sync/unknownBlock.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"syncCommitteeContribution.d.ts","sourceRoot":"","sources":["../../../../src/chain/validation/signatureSets/syncCommitteeContribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,uBAAuB,EAAE,aAAa,EAAuC,MAAM,4BAA4B,CAAC;AACxH,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAE5C,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,uBAAuB,EAC9B,YAAY,EAAE,MAAM,CAAC,yBAAyB,EAC9C,OAAO,EAAE,SAAS,EAAE,GACnB,aAAa,CAQf"}
1
+ {"version":3,"file":"syncCommitteeContribution.d.ts","sourceRoot":"","sources":["../../../../src/chain/validation/signatureSets/syncCommitteeContribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,uBAAuB,EAAE,aAAa,EAAuC,MAAM,4BAA4B,CAAC;AACxH,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAE5C,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,uBAAuB,EAC9B,YAAY,EAAE,MAAM,CAAC,yBAAyB,EAC9C,kBAAkB,EAAE,MAAM,EAAE,GAC3B,aAAa,CAQf"}
@@ -1,11 +1,11 @@
1
1
  import { DOMAIN_SYNC_COMMITTEE } from "@lodestar/params";
2
2
  import { SignatureSetType, computeSigningRoot } from "@lodestar/state-transition";
3
3
  import { ssz } from "@lodestar/types";
4
- export function getSyncCommitteeContributionSignatureSet(config, state, contribution, pubkeys) {
4
+ export function getSyncCommitteeContributionSignatureSet(config, state, contribution, participantIndices) {
5
5
  const domain = config.getDomain(state.slot, DOMAIN_SYNC_COMMITTEE, contribution.slot);
6
6
  return {
7
7
  type: SignatureSetType.aggregate,
8
- pubkeys,
8
+ indices: participantIndices,
9
9
  signingRoot: computeSigningRoot(ssz.Root, contribution.beaconBlockRoot, domain),
10
10
  signature: contribution.signature,
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"syncCommitteeContribution.js","sourceRoot":"","sources":["../../../../src/chain/validation/signatureSets/syncCommitteeContribution.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAyC,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AACxH,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAE5C,MAAM,UAAU,wCAAwC,CACtD,MAAoB,EACpB,KAA8B,EAC9B,YAA8C,EAC9C,OAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,qBAAqB,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACtF,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,SAAS;QAChC,OAAO;QACP,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;QAC/E,SAAS,EAAE,YAAY,CAAC,SAAS;KAClC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"syncCommitteeContribution.js","sourceRoot":"","sources":["../../../../src/chain/validation/signatureSets/syncCommitteeContribution.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAyC,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AACxH,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAE5C,MAAM,UAAU,wCAAwC,CACtD,MAAoB,EACpB,KAA8B,EAC9B,YAA8C,EAC9C,kBAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,qBAAqB,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACtF,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,SAAS;QAChC,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;QAC/E,SAAS,EAAE,YAAY,CAAC,SAAS;KAClC,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { BeaconConfig } from "@lodestar/config";
2
- import { CachedBeaconStateAllForks, ISignatureSet, Index2PubkeyCache } from "@lodestar/state-transition";
2
+ import { CachedBeaconStateAllForks, ISignatureSet } from "@lodestar/state-transition";
3
3
  import { altair } from "@lodestar/types";
4
- export declare function getSyncCommitteeSelectionProofSignatureSet(config: BeaconConfig, index2pubkey: Index2PubkeyCache, state: CachedBeaconStateAllForks, contributionAndProof: altair.ContributionAndProof): ISignatureSet;
4
+ export declare function getSyncCommitteeSelectionProofSignatureSet(config: BeaconConfig, state: CachedBeaconStateAllForks, contributionAndProof: altair.ContributionAndProof): ISignatureSet;
5
5
  //# sourceMappingURL=syncCommitteeSelectionProof.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncCommitteeSelectionProof.d.ts","sourceRoot":"","sources":["../../../../src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,iBAAiB,EAGlB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAE5C,wBAAgB,0CAA0C,CACxD,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,iBAAiB,EAC/B,KAAK,EAAE,yBAAyB,EAChC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,GAChD,aAAa,CAaf"}
1
+ {"version":3,"file":"syncCommitteeSelectionProof.d.ts","sourceRoot":"","sources":["../../../../src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACL,yBAAyB,EACzB,aAAa,EAGd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAE5C,wBAAgB,0CAA0C,CACxD,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,yBAAyB,EAChC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,GAChD,aAAa,CAaf"}
@@ -1,7 +1,7 @@
1
1
  import { DOMAIN_SYNC_COMMITTEE_SELECTION_PROOF } from "@lodestar/params";
2
2
  import { SignatureSetType, computeSigningRoot, } from "@lodestar/state-transition";
3
3
  import { ssz } from "@lodestar/types";
4
- export function getSyncCommitteeSelectionProofSignatureSet(config, index2pubkey, state, contributionAndProof) {
4
+ export function getSyncCommitteeSelectionProofSignatureSet(config, state, contributionAndProof) {
5
5
  const slot = contributionAndProof.contribution.slot;
6
6
  const domain = config.getDomain(state.slot, DOMAIN_SYNC_COMMITTEE_SELECTION_PROOF, slot);
7
7
  const signingData = {
@@ -9,8 +9,8 @@ export function getSyncCommitteeSelectionProofSignatureSet(config, index2pubkey,
9
9
  subcommitteeIndex: contributionAndProof.contribution.subcommitteeIndex,
10
10
  };
11
11
  return {
12
- type: SignatureSetType.single,
13
- pubkey: index2pubkey[contributionAndProof.aggregatorIndex],
12
+ type: SignatureSetType.indexed,
13
+ index: contributionAndProof.aggregatorIndex,
14
14
  signingRoot: computeSigningRoot(ssz.altair.SyncAggregatorSelectionData, signingData, domain),
15
15
  signature: contributionAndProof.selectionProof,
16
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"syncCommitteeSelectionProof.js","sourceRoot":"","sources":["../../../../src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qCAAqC,EAAC,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAIL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAE5C,MAAM,UAAU,0CAA0C,CACxD,MAAoB,EACpB,YAA+B,EAC/B,KAAgC,EAChC,oBAAiD;IAEjD,MAAM,IAAI,GAAG,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,qCAAqC,EAAE,IAAI,CAAC,CAAC;IACzF,MAAM,WAAW,GAAuC;QACtD,IAAI;QACJ,iBAAiB,EAAE,oBAAoB,CAAC,YAAY,CAAC,iBAAiB;KACvE,CAAC;IACF,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;QAC7B,MAAM,EAAE,YAAY,CAAC,oBAAoB,CAAC,eAAe,CAAC;QAC1D,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,2BAA2B,EAAE,WAAW,EAAE,MAAM,CAAC;QAC5F,SAAS,EAAE,oBAAoB,CAAC,cAAc;KAC/C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"syncCommitteeSelectionProof.js","sourceRoot":"","sources":["../../../../src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qCAAqC,EAAC,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAGL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAE5C,MAAM,UAAU,0CAA0C,CACxD,MAAoB,EACpB,KAAgC,EAChC,oBAAiD;IAEjD,MAAM,IAAI,GAAG,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,qCAAqC,EAAE,IAAI,CAAC,CAAC;IACzF,MAAM,WAAW,GAAuC;QACtD,IAAI;QACJ,iBAAiB,EAAE,oBAAoB,CAAC,YAAY,CAAC,iBAAiB;KACvE,CAAC;IACF,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,OAAO;QAC9B,KAAK,EAAE,oBAAoB,CAAC,eAAe;QAC3C,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,2BAA2B,EAAE,WAAW,EAAE,MAAM,CAAC;QAC5F,SAAS,EAAE,oBAAoB,CAAC,cAAc;KAC/C,CAAC;AACJ,CAAC"}
@@ -61,7 +61,7 @@ export async function validateApiSyncCommittee(chain, headState, syncCommittee)
61
61
  * Abstracted so it can be re-used in API validation.
62
62
  */
63
63
  async function validateSyncCommitteeSigOnly(chain, headState, syncCommittee, prioritizeBls = false) {
64
- const signatureSet = getSyncCommitteeSignatureSet(chain.config, chain.index2pubkey, headState, syncCommittee);
64
+ const signatureSet = getSyncCommitteeSignatureSet(chain.config, headState, syncCommittee);
65
65
  if (!(await chain.bls.verifySignatureSets([signatureSet], { batchable: true, priority: prioritizeBls }))) {
66
66
  throw new SyncCommitteeError(GossipAction.REJECT, {
67
67
  code: SyncCommitteeErrorCode.INVALID_SIGNATURE,
@@ -1 +1 @@
1
- {"version":3,"file":"syncCommittee.js","sourceRoot":"","sources":["../../../src/chain/validation/syncCommittee.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncCommittee.js","sourceRoot":"","sources":["../../../src/chain/validation/syncCommittee.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"syncCommitteeContributionAndProof.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/syncCommitteeContributionAndProof.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAQ7C;;GAEG;AACH,wBAAsB,+CAA+C,CACnE,KAAK,EAAE,YAAY,EACnB,0BAA0B,EAAE,MAAM,CAAC,0BAA0B,EAC7D,+BAA+B,UAAQ,GACtC,OAAO,CAAC;IAAC,+BAA+B,EAAE,cAAc,EAAE,CAAA;CAAC,CAAC,CAsF9D"}
1
+ {"version":3,"file":"syncCommitteeContributionAndProof.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/syncCommitteeContributionAndProof.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAQ7C;;GAEG;AACH,wBAAsB,+CAA+C,CACnE,KAAK,EAAE,YAAY,EACnB,0BAA0B,EAAE,MAAM,CAAC,0BAA0B,EAC7D,+BAA+B,UAAQ,GACtC,OAAO,CAAC;IAAC,+BAA+B,EAAE,cAAc,EAAE,CAAA;CAAC,CAAC,CAoF9D"}
@@ -10,7 +10,6 @@ export async function validateSyncCommitteeGossipContributionAndProof(chain, sig
10
10
  const contributionAndProof = signedContributionAndProof.message;
11
11
  const { contribution, aggregatorIndex } = contributionAndProof;
12
12
  const { subcommitteeIndex, slot } = contribution;
13
- const { index2pubkey } = chain;
14
13
  const headState = chain.getHeadState();
15
14
  validateGossipSyncCommitteeExceptSig(chain, headState, subcommitteeIndex, {
16
15
  slot,
@@ -54,16 +53,15 @@ export async function validateSyncCommitteeGossipContributionAndProof(chain, sig
54
53
  // [REJECT] The aggregator's validator index is in the declared subcommittee of the current sync committee --
55
54
  // i.e. state.validators[contribution_and_proof.aggregator_index].pubkey in get_sync_subcommittee_pubkeys(state, contribution.subcommittee_index).
56
55
  // > Checked in validateGossipSyncCommitteeExceptSig()
57
- const participantPubkeys = syncCommitteeParticipantIndices.map((validatorIndex) => index2pubkey[validatorIndex]);
58
56
  const signatureSets = [
59
57
  // [REJECT] The contribution_and_proof.selection_proof is a valid signature of the SyncAggregatorSelectionData
60
58
  // derived from the contribution by the validator with index contribution_and_proof.aggregator_index.
61
- getSyncCommitteeSelectionProofSignatureSet(chain.config, index2pubkey, headState, contributionAndProof),
59
+ getSyncCommitteeSelectionProofSignatureSet(chain.config, headState, contributionAndProof),
62
60
  // [REJECT] The aggregator signature, signed_contribution_and_proof.signature, is valid.
63
- getContributionAndProofSignatureSet(chain.config, index2pubkey, headState, signedContributionAndProof),
61
+ getContributionAndProofSignatureSet(chain.config, headState, signedContributionAndProof),
64
62
  // [REJECT] The aggregate signature is valid for the message beacon_block_root and aggregate pubkey derived from
65
63
  // the participation info in aggregation_bits for the subcommittee specified by the contribution.subcommittee_index.
66
- getSyncCommitteeContributionSignatureSet(chain.config, headState, contribution, participantPubkeys),
64
+ getSyncCommitteeContributionSignatureSet(chain.config, headState, contribution, syncCommitteeParticipantIndices),
67
65
  ];
68
66
  if (!(await chain.bls.verifySignatureSets(signatureSets, { batchable: true }))) {
69
67
  throw new SyncCommitteeError(GossipAction.REJECT, {
@@ -1 +1 @@
1
- {"version":3,"file":"syncCommitteeContributionAndProof.js","sourceRoot":"","sources":["../../../src/chain/validation/syncCommitteeContributionAndProof.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAA0B,yBAAyB,EAAC,MAAM,4BAA4B,CAAC;AAE9F,OAAO,EAAC,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAC,MAAM,oBAAoB,CAAC;AAE5F,OAAO,EACL,mCAAmC,EACnC,wCAAwC,EACxC,0CAA0C,GAC3C,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,oCAAoC,EAAC,MAAM,oBAAoB,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,+CAA+C,CACnE,KAAmB,EACnB,0BAA6D,EAC7D,+BAA+B,GAAG,KAAK;IAEvC,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,OAAO,CAAC;IAChE,MAAM,EAAC,YAAY,EAAE,eAAe,EAAC,GAAG,oBAAoB,CAAC;IAC7D,MAAM,EAAC,iBAAiB,EAAE,IAAI,EAAC,GAAG,YAAY,CAAC;IAC/C,MAAM,EAAC,YAAY,EAAC,GAAG,KAAK,CAAC;IAE7B,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACvC,oCAAoC,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE;QACxE,IAAI;QACJ,cAAc,EAAE,oBAAoB,CAAC,eAAe;KACrD,CAAC,CAAC;IAEH,oGAAoG;IACpG,sDAAsD;IAEtD,0GAA0G;IAC1G,8EAA8E;IAC9E,yEAAyE;IACzE,sDAAsD;IAEtD,uHAAuH;IACvH,yEAAyE;IACzE,IAAI,CAAC,+BAA+B,IAAI,KAAK,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,yCAAyC;SACvE,CAAC,CAAC;IACL,CAAC;IAED,kHAAkH;IAClH,iIAAiI;IACjI,IAAI,KAAK,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,eAAe,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,uCAAuC;SACrE,CAAC,CAAC;IACL,CAAC;IAED,4FAA4F;IAC5F,MAAM,+BAA+B,GAAG,sBAAsB,CAAC,SAAoC,EAAE,YAAY,CAAC,CAAC;IACnH,IAAI,+BAA+B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,cAAc;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,yGAAyG;IACzG,0FAA0F;IAC1F,IAAI,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;YAC/C,eAAe,EAAE,oBAAoB,CAAC,eAAe;SACtD,CAAC,CAAC;IACL,CAAC;IAED,6GAA6G;IAC7G,kJAAkJ;IAClJ,sDAAsD;IAEtD,MAAM,kBAAkB,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IACjH,MAAM,aAAa,GAAG;QACpB,8GAA8G;QAC9G,qGAAqG;QACrG,0CAA0C,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,oBAAoB,CAAC;QAEvG,wFAAwF;QACxF,mCAAmC,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,0BAA0B,CAAC;QAEtG,gHAAgH;QAChH,oHAAoH;QACpH,wCAAwC,CACtC,KAAK,CAAC,MAAM,EACZ,SAAoC,EACpC,YAAY,EACZ,kBAAkB,CACnB;KACF,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,iBAAiB;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,0FAA0F;IAC1F,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,oBAAoB,EAAE,+BAA+B,CAAC,MAAM,CAAC,CAAC;IAEjG,OAAO,EAAC,+BAA+B,EAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAC7B,KAA8B,EAC9B,YAA8C;IAE9C,MAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,GAAG,0BAA0B,CAAC;IAE/E,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAChF,8GAA8G;IAC9G,MAAM,4BAA4B,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,CACvE,UAAU,EACV,UAAU,GAAG,0BAA0B,CACxC,CAAC;IACF,OAAO,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"syncCommitteeContributionAndProof.js","sourceRoot":"","sources":["../../../src/chain/validation/syncCommitteeContributionAndProof.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ async function validateVoluntaryExit(chain, voluntaryExit, prioritizeBls = false
32
32
  code: voluntaryExitValidityToErrorCode(validity),
33
33
  });
34
34
  }
35
- const signatureSet = getVoluntaryExitSignatureSet(chain.config, chain.index2pubkey, state.slot, voluntaryExit);
35
+ const signatureSet = getVoluntaryExitSignatureSet(chain.config, state.slot, voluntaryExit);
36
36
  if (!(await chain.bls.verifySignatureSets([signatureSet], { batchable: true, priority: prioritizeBls }))) {
37
37
  throw new VoluntaryExitError(GossipAction.REJECT, {
38
38
  code: VoluntaryExitErrorCode.INVALID_SIGNATURE,
@@ -1 +1 @@
1
- {"version":3,"file":"voluntaryExit.js","sourceRoot":"","sources":["../../../src/chain/validation/voluntaryExit.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAmB,EACnB,aAAyC;IAEzC,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,OAAO,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAmB,EACnB,aAAyC;IAEzC,OAAO,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,KAAmB,EACnB,aAAyC,EACzC,aAAa,GAAG,KAAK;IAErB,sGAAsG;IACtG,iDAAiD;IACjD,IAAI,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,cAAc;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,EAAE;IACF,gFAAgF;IAChF,6DAA6D;IAC7D,sGAAsG;IACtG,kGAAkG;IAClG,6CAA6C;IAC7C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,0BAA0B,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAE9F,gFAAgF;IAChF,mDAAmD;IACnD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAC5G,IAAI,QAAQ,KAAK,qBAAqB,CAAC,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,gCAAgC,CAAC,QAAQ,CAAC;SACjD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,4BAA4B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC/G,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAC,CAAC,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,iBAAiB;SAC/C,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"voluntaryExit.js","sourceRoot":"","sources":["../../../src/chain/validation/voluntaryExit.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAmB,EACnB,aAAyC;IAEzC,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,OAAO,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAmB,EACnB,aAAyC;IAEzC,OAAO,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,KAAmB,EACnB,aAAyC,EACzC,aAAa,GAAG,KAAK;IAErB,sGAAsG;IACtG,iDAAiD;IACjD,IAAI,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,cAAc;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,EAAE;IACF,gFAAgF;IAChF,6DAA6D;IAC7D,sGAAsG;IACtG,kGAAkG;IAClG,6CAA6C;IAC7C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,0BAA0B,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAE9F,gFAAgF;IAChF,mDAAmD;IACnD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAC5G,IAAI,QAAQ,KAAK,qBAAqB,CAAC,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,gCAAgC,CAAC,QAAQ,CAAC;SACjD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,4BAA4B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC3F,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAC,CAAC,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,sBAAsB,CAAC,iBAAiB;SAC/C,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -26,6 +26,8 @@ export type ValidatorMonitor = {
26
26
  registerSyncAggregateInBlock(epoch: Epoch, syncAggregate: altair.SyncAggregate, syncCommitteeIndices: Uint32Array): void;
27
27
  onceEveryEndOfEpoch(state: CachedBeaconStateAllForks): void;
28
28
  scrapeMetrics(slotClock: Slot): void;
29
+ /** Returns the list of validator indices currently being monitored */
30
+ getMonitoredValidatorIndices(): ValidatorIndex[];
29
31
  };
30
32
  export type ValidatorMonitorOpts = {
31
33
  /** Log validator monitor events as info */
@@ -1 +1 @@
1
- {"version":3,"file":"validatorMonitor.d.ts","sourceRoot":"","sources":["../../src/chain/validatorMonitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validatorMonitor.d.ts","sourceRoot":"","sources":["../../src/chain/validatorMonitor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ForkSeq, MIN_ATTESTATION_INCLUSION_DELAY, SLOTS_PER_EPOCH } from "@lodestar/params";
2
2
  import { computeEpochAtSlot, computeStartSlotAtEpoch, computeTimeAtSlot, getBlockRootAtSlot, getCurrentSlot, parseAttesterFlags, parseParticipationFlags, } from "@lodestar/state-transition";
3
- import { LogLevel, MapDef, MapDefMax, toRootHex } from "@lodestar/utils";
3
+ import { LogLevel, MapDef, MapDefMax, prettyPrintIndices, toRootHex } from "@lodestar/utils";
4
4
  import { GENESIS_SLOT } from "../constants/constants.js";
5
5
  /** The validator monitor collects per-epoch data about each monitored validator.
6
6
  * Historical data will be kept around for `HISTORIC_EPOCHS` before it is pruned.
@@ -10,7 +10,8 @@ const MAX_CACHED_DISTINCT_TARGETS = 4;
10
10
  // TODO GLOAS: re-evaluate these timings
11
11
  const LATE_ATTESTATION_SUBMISSION_BPS = 5000;
12
12
  const LATE_BLOCK_SUBMISSION_BPS = 2500;
13
- const RETAIN_REGISTERED_VALIDATORS_MS = 1 * 3600 * 1000; // 1 hour
13
+ /** Number of epochs to retain registered validators after their last registration */
14
+ const RETAIN_REGISTERED_VALIDATORS_EPOCHS = 2;
14
15
  export var OpSource;
15
16
  (function (OpSource) {
16
17
  OpSource["api"] = "api";
@@ -74,6 +75,8 @@ export function createValidatorMonitor(metricsRegister, config, genesisTime, log
74
75
  const log = (message, context) => {
75
76
  logger[logLevel](message, context);
76
77
  };
78
+ // Calculate retain time dynamically based on slot duration (2 epochs)
79
+ const retainRegisteredValidatorsMs = SLOTS_PER_EPOCH * config.SLOT_DURATION_MS * RETAIN_REGISTERED_VALIDATORS_EPOCHS;
77
80
  /** The validators that require additional monitoring. */
78
81
  const validators = new MapDef(() => ({
79
82
  summaries: new Map(),
@@ -87,10 +90,17 @@ export function createValidatorMonitor(metricsRegister, config, genesisTime, log
87
90
  lastRegisteredTimeMs: 0,
88
91
  }));
89
92
  let lastRegisteredStatusEpoch = -1;
93
+ // Track validator additions/removals per epoch for logging
94
+ const addedValidatorsInEpoch = new Set();
95
+ const removedValidatorsInEpoch = new Set();
90
96
  const validatorMonitorMetrics = metricsRegister ? createValidatorMonitorMetrics(metricsRegister) : null;
91
97
  const validatorMonitor = {
92
98
  registerLocalValidator(index) {
99
+ const isNewValidator = !validators.has(index);
93
100
  validators.getOrDefault(index).lastRegisteredTimeMs = Date.now();
101
+ if (isNewValidator) {
102
+ addedValidatorsInEpoch.add(index);
103
+ }
94
104
  },
95
105
  registerLocalValidatorInSyncCommittee(index, untilEpoch) {
96
106
  const validator = validators.get(index);
@@ -401,10 +411,25 @@ export function createValidatorMonitor(metricsRegister, config, genesisTime, log
401
411
  }
402
412
  // Prune validators not seen in a while
403
413
  for (const [index, validator] of validators.entries()) {
404
- if (Date.now() - validator.lastRegisteredTimeMs > RETAIN_REGISTERED_VALIDATORS_MS) {
414
+ if (Date.now() - validator.lastRegisteredTimeMs > retainRegisteredValidatorsMs) {
405
415
  validators.delete(index);
416
+ removedValidatorsInEpoch.add(index);
406
417
  }
407
418
  }
419
+ // Log validator monitor status every epoch
420
+ const allIndices = Array.from(validators.keys()).sort((a, b) => a - b);
421
+ const addedIndices = Array.from(addedValidatorsInEpoch).sort((a, b) => a - b);
422
+ const removedIndices = Array.from(removedValidatorsInEpoch).sort((a, b) => a - b);
423
+ log("Validator monitor status", {
424
+ epoch: computeEpochAtSlot(headState.slot),
425
+ added: addedIndices.length > 0 ? prettyPrintIndices(addedIndices) : "none",
426
+ removed: removedIndices.length > 0 ? prettyPrintIndices(removedIndices) : "none",
427
+ total: validators.size,
428
+ indices: prettyPrintIndices(allIndices),
429
+ });
430
+ // Clear tracking sets for next epoch
431
+ addedValidatorsInEpoch.clear();
432
+ removedValidatorsInEpoch.clear();
408
433
  // Compute summaries of previous epoch attestation performance
409
434
  const prevEpoch = computeEpochAtSlot(headState.slot) - 1;
410
435
  // During the end of first epoch, the prev epoch with be -1
@@ -456,6 +481,12 @@ export function createValidatorMonitor(metricsRegister, config, genesisTime, log
456
481
  */
457
482
  scrapeMetrics(slotClock) {
458
483
  validatorMonitorMetrics?.validatorsConnected.set(validators.size);
484
+ // Update static metric with connected validator indices
485
+ if (validatorMonitorMetrics?.validatorsConnectedIndices) {
486
+ validatorMonitorMetrics.validatorsConnectedIndices.reset();
487
+ const allIndices = Array.from(validators.keys()).sort((a, b) => a - b);
488
+ validatorMonitorMetrics.validatorsConnectedIndices.set({ indices: prettyPrintIndices(allIndices) }, 1);
489
+ }
459
490
  const epoch = computeEpochAtSlot(slotClock);
460
491
  const slotInEpoch = slotClock % SLOTS_PER_EPOCH;
461
492
  // Only start to report on the current epoch once we've progressed past the point where
@@ -518,6 +549,9 @@ export function createValidatorMonitor(metricsRegister, config, genesisTime, log
518
549
  validatorMonitorMetrics?.prevEpochSyncCommitteeHits.set(prevEpochSyncCommitteeHits);
519
550
  validatorMonitorMetrics?.prevEpochSyncCommitteeMisses.set(prevEpochSyncCommitteeMisses);
520
551
  },
552
+ getMonitoredValidatorIndices() {
553
+ return Array.from(validators.keys()).sort((a, b) => a - b);
554
+ },
521
555
  };
522
556
  // Register a single collect() function to run all validatorMonitor metrics
523
557
  validatorMonitorMetrics?.validatorsConnected.addCollect(() => {
@@ -742,6 +776,11 @@ function createValidatorMonitorMetrics(register) {
742
776
  name: "validator_monitor_validators",
743
777
  help: "Count of validators that are specifically monitored by this beacon node",
744
778
  }),
779
+ validatorsConnectedIndices: register.gauge({
780
+ name: "validator_monitor_indices",
781
+ help: "Static metric with connected validator indices as label, value is always 1",
782
+ labelNames: ["indices"],
783
+ }),
745
784
  validatorsInSyncCommittee: register.gauge({
746
785
  name: "validator_monitor_validators_in_sync_committee",
747
786
  help: "Count of validators monitored by this beacon node that are part of sync committee",
@@ -1 +1 @@
1
- {"version":3,"file":"validatorMonitor.js","sourceRoot":"","sources":["../../src/chain/validatorMonitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validatorMonitor.js","sourceRoot":"","sources":["../../src/chain/validatorMonitor.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@ import { Bucket, getBucketNameByValue } from "../buckets.js";
7
7
  export class CheckpointStateRepository extends BinaryRepository {
8
8
  constructor(config, db) {
9
9
  const bucket = Bucket.allForks_checkpointState;
10
- // biome-ignore lint/suspicious/noExplicitAny: The type is complex to specify a proper override
11
10
  super(config, db, bucket, getBucketNameByValue(bucket));
12
11
  }
13
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkpointState.js","sourceRoot":"","sources":["../../../src/db/repositories/checkpointState.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAK,MAAM,cAAc,CAAC;AAClD,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,gBAA4B;IACzE,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC;QAC/C,+FAA+F;QAC/F,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF"}
1
+ {"version":3,"file":"checkpointState.js","sourceRoot":"","sources":["../../../src/db/repositories/checkpointState.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAK,MAAM,cAAc,CAAC;AAClD,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,gBAA4B;IACzE,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC;QAE/C,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF"}
@@ -96,6 +96,13 @@ export declare function createLodestarMetrics(register: RegistryMetricCreator, m
96
96
  jobWaitTime: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
97
97
  concurrency: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
98
98
  };
99
+ unfinalizedBlockWritesQueue: {
100
+ length: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
101
+ droppedJobs: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
102
+ jobTime: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
103
+ jobWaitTime: import("@lodestar/utils").Histogram<import("@lodestar/utils").NoLabels>;
104
+ concurrency: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
105
+ };
99
106
  engineHttpProcessorQueue: {
100
107
  length: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
101
108
  droppedJobs: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
@@ -464,6 +471,26 @@ export declare function createLodestarMetrics(register: RegistryMetricCreator, m
464
471
  getAggregateParticipants: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
465
472
  getAggregateReturnsEmpty: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
466
473
  };
474
+ payloadAttestationPool: {
475
+ size: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
476
+ payloadAttDataPerSlot: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
477
+ gossipInsertOutcome: import("@lodestar/utils").Counter<{
478
+ insertOutcome: InsertOutcome;
479
+ }>;
480
+ apiInsertOutcome: import("@lodestar/utils").Counter<{
481
+ insertOutcome: InsertOutcome;
482
+ }>;
483
+ getPayloadAttestationsCacheMisses: import("@lodestar/utils").Counter<import("@lodestar/utils").NoLabels>;
484
+ };
485
+ executionPayloadBidPool: {
486
+ size: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
487
+ gossipInsertOutcome: import("@lodestar/utils").Counter<{
488
+ insertOutcome: InsertOutcome;
489
+ }>;
490
+ apiInsertOutcome: import("@lodestar/utils").Counter<{
491
+ insertOutcome: InsertOutcome;
492
+ }>;
493
+ };
467
494
  };
468
495
  chain: {
469
496
  blacklistedBlocks: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
@@ -1 +1 @@
1
- {"version":3,"file":"lodestar.d.ts","sourceRoot":"","sources":["../../../src/metrics/metrics/lodestar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lodestar.d.ts","sourceRoot":"","sources":["../../../src/metrics/metrics/lodestar.ts"],"names":[],"mappings":"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"}