@lodestar/beacon-node 1.50.0-dev.ebecebb9ba → 1.50.0-dev.f0a5c36612

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 (296) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +6 -1
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/index.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/index.js +13 -0
  6. package/lib/api/impl/beacon/index.js.map +1 -1
  7. package/lib/api/impl/beacon/pool/index.js +4 -4
  8. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  9. package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
  10. package/lib/api/impl/beacon/state/index.js +23 -3
  11. package/lib/api/impl/beacon/state/index.js.map +1 -1
  12. package/lib/api/impl/debug/index.d.ts.map +1 -1
  13. package/lib/api/impl/debug/index.js +26 -18
  14. package/lib/api/impl/debug/index.js.map +1 -1
  15. package/lib/api/impl/validator/index.d.ts +1 -0
  16. package/lib/api/impl/validator/index.d.ts.map +1 -1
  17. package/lib/api/impl/validator/index.js +23 -1
  18. package/lib/api/impl/validator/index.js.map +1 -1
  19. package/lib/chain/archiveStore/archiveStore.d.ts +6 -0
  20. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  21. package/lib/chain/archiveStore/archiveStore.js +18 -24
  22. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  23. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts +2 -2
  24. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
  25. package/lib/chain/archiveStore/historicalState/getHistoricalState.js +5 -7
  26. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  27. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +1 -1
  28. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  29. package/lib/chain/archiveStore/historicalState/types.d.ts +2 -2
  30. package/lib/chain/archiveStore/historicalState/types.d.ts.map +1 -1
  31. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  32. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  33. package/lib/chain/archiveStore/interface.d.ts +1 -1
  34. package/lib/chain/archiveStore/interface.d.ts.map +1 -1
  35. package/lib/chain/archiveStore/utils/pruneHistory.d.ts +4 -1
  36. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +1 -1
  37. package/lib/chain/archiveStore/utils/pruneHistory.js +5 -3
  38. package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
  39. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  40. package/lib/chain/blocks/importBlock.js +11 -3
  41. package/lib/chain/blocks/importBlock.js.map +1 -1
  42. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +2 -1
  43. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
  44. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  45. package/lib/chain/blocks/verifyBlock.js +1 -1
  46. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  47. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +2 -1
  48. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
  49. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +5 -4
  50. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  51. package/lib/chain/chain.d.ts +9 -5
  52. package/lib/chain/chain.d.ts.map +1 -1
  53. package/lib/chain/chain.js +56 -21
  54. package/lib/chain/chain.js.map +1 -1
  55. package/lib/chain/emitter.d.ts +7 -1
  56. package/lib/chain/emitter.d.ts.map +1 -1
  57. package/lib/chain/emitter.js +5 -0
  58. package/lib/chain/emitter.js.map +1 -1
  59. package/lib/chain/errors/envelopeReconstructionError.d.ts +5 -0
  60. package/lib/chain/errors/envelopeReconstructionError.d.ts.map +1 -1
  61. package/lib/chain/errors/envelopeReconstructionError.js +2 -0
  62. package/lib/chain/errors/envelopeReconstructionError.js.map +1 -1
  63. package/lib/chain/errors/gossipValidation.d.ts +3 -1
  64. package/lib/chain/errors/gossipValidation.d.ts.map +1 -1
  65. package/lib/chain/errors/gossipValidation.js +2 -0
  66. package/lib/chain/errors/gossipValidation.js.map +1 -1
  67. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  68. package/lib/chain/forkChoice/index.js +2 -0
  69. package/lib/chain/forkChoice/index.js.map +1 -1
  70. package/lib/chain/initState.d.ts +2 -9
  71. package/lib/chain/initState.d.ts.map +1 -1
  72. package/lib/chain/initState.js +5 -38
  73. package/lib/chain/initState.js.map +1 -1
  74. package/lib/chain/interface.d.ts +3 -2
  75. package/lib/chain/interface.d.ts.map +1 -1
  76. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +4 -2
  77. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  78. package/lib/chain/opPools/aggregatedAttestationPool.js +30 -8
  79. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  80. package/lib/chain/opPools/opPool.d.ts +5 -4
  81. package/lib/chain/opPools/opPool.d.ts.map +1 -1
  82. package/lib/chain/opPools/opPool.js +62 -18
  83. package/lib/chain/opPools/opPool.js.map +1 -1
  84. package/lib/chain/opPools/proposerPreferencesPool.d.ts +4 -4
  85. package/lib/chain/opPools/proposerPreferencesPool.d.ts.map +1 -1
  86. package/lib/chain/opPools/proposerPreferencesPool.js +14 -11
  87. package/lib/chain/opPools/proposerPreferencesPool.js.map +1 -1
  88. package/lib/chain/opPools/utils.d.ts +4 -1
  89. package/lib/chain/opPools/utils.d.ts.map +1 -1
  90. package/lib/chain/opPools/utils.js +11 -1
  91. package/lib/chain/opPools/utils.js.map +1 -1
  92. package/lib/chain/options.d.ts +2 -1
  93. package/lib/chain/options.d.ts.map +1 -1
  94. package/lib/chain/options.js +1 -1
  95. package/lib/chain/options.js.map +1 -1
  96. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  97. package/lib/chain/prepareNextSlot.js +5 -2
  98. package/lib/chain/prepareNextSlot.js.map +1 -1
  99. package/lib/chain/produceBlock/computeNewStateRoot.js +1 -1
  100. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  101. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -1
  102. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  103. package/lib/chain/produceBlock/produceBlockBody.js +6 -2
  104. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  105. package/lib/chain/regen/regen.d.ts +2 -0
  106. package/lib/chain/regen/regen.d.ts.map +1 -1
  107. package/lib/chain/regen/regen.js +10 -4
  108. package/lib/chain/regen/regen.js.map +1 -1
  109. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -0
  110. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  111. package/lib/chain/seenCache/seenGossipBlockInput.js +21 -0
  112. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  113. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +9 -2
  114. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
  115. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +23 -13
  116. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
  117. package/lib/chain/shufflingCache.d.ts +1 -0
  118. package/lib/chain/shufflingCache.d.ts.map +1 -1
  119. package/lib/chain/shufflingCache.js +4 -0
  120. package/lib/chain/shufflingCache.js.map +1 -1
  121. package/lib/chain/validation/attesterSlashing.d.ts +4 -4
  122. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  123. package/lib/chain/validation/attesterSlashing.js +3 -0
  124. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  125. package/lib/chain/validation/proposerSlashing.d.ts +3 -3
  126. package/lib/chain/validation/proposerSlashing.d.ts.map +1 -1
  127. package/lib/chain/validation/proposerSlashing.js +3 -0
  128. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  129. package/lib/chain/validatorMonitor.d.ts +5 -1
  130. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  131. package/lib/chain/validatorMonitor.js +64 -54
  132. package/lib/chain/validatorMonitor.js.map +1 -1
  133. package/lib/db/beacon.d.ts +2 -0
  134. package/lib/db/beacon.d.ts.map +1 -1
  135. package/lib/db/beacon.js +5 -0
  136. package/lib/db/beacon.js.map +1 -1
  137. package/lib/db/buckets.d.ts +2 -1
  138. package/lib/db/buckets.d.ts.map +1 -1
  139. package/lib/db/buckets.js +1 -0
  140. package/lib/db/buckets.js.map +1 -1
  141. package/lib/db/interface.d.ts +2 -0
  142. package/lib/db/interface.d.ts.map +1 -1
  143. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  144. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  145. package/lib/db/repositories/earliestAvailableSlot.d.ts +11 -0
  146. package/lib/db/repositories/earliestAvailableSlot.d.ts.map +1 -0
  147. package/lib/db/repositories/earliestAvailableSlot.js +19 -0
  148. package/lib/db/repositories/earliestAvailableSlot.js.map +1 -0
  149. package/lib/db/repositories/proposerSlashing.d.ts +1 -0
  150. package/lib/db/repositories/proposerSlashing.d.ts.map +1 -1
  151. package/lib/db/repositories/proposerSlashing.js +5 -1
  152. package/lib/db/repositories/proposerSlashing.js.map +1 -1
  153. package/lib/execution/engine/disabled.d.ts +0 -2
  154. package/lib/execution/engine/disabled.d.ts.map +1 -1
  155. package/lib/execution/engine/disabled.js +0 -6
  156. package/lib/execution/engine/disabled.js.map +1 -1
  157. package/lib/execution/engine/http.d.ts +1 -3
  158. package/lib/execution/engine/http.d.ts.map +1 -1
  159. package/lib/execution/engine/http.js +2 -17
  160. package/lib/execution/engine/http.js.map +1 -1
  161. package/lib/execution/engine/interface.d.ts +2 -4
  162. package/lib/execution/engine/interface.d.ts.map +1 -1
  163. package/lib/execution/engine/mock.d.ts +0 -2
  164. package/lib/execution/engine/mock.d.ts.map +1 -1
  165. package/lib/execution/engine/mock.js +0 -8
  166. package/lib/execution/engine/mock.js.map +1 -1
  167. package/lib/execution/engine/types.d.ts +0 -8
  168. package/lib/execution/engine/types.d.ts.map +1 -1
  169. package/lib/execution/engine/types.js.map +1 -1
  170. package/lib/index.d.ts +1 -1
  171. package/lib/index.d.ts.map +1 -1
  172. package/lib/index.js +1 -1
  173. package/lib/index.js.map +1 -1
  174. package/lib/metrics/metrics/lodestar.d.ts +1 -0
  175. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  176. package/lib/metrics/metrics/lodestar.js +4 -0
  177. package/lib/metrics/metrics/lodestar.js.map +1 -1
  178. package/lib/metrics/metrics.d.ts +7 -3
  179. package/lib/metrics/metrics.d.ts.map +1 -1
  180. package/lib/metrics/metrics.js +4 -4
  181. package/lib/metrics/metrics.js.map +1 -1
  182. package/lib/network/metadata.d.ts +1 -1
  183. package/lib/network/metadata.d.ts.map +1 -1
  184. package/lib/network/metadata.js +17 -17
  185. package/lib/network/metadata.js.map +1 -1
  186. package/lib/network/peers/datastore.d.ts +9 -9
  187. package/lib/network/peers/datastore.d.ts.map +1 -1
  188. package/lib/network/peers/datastore.js +36 -36
  189. package/lib/network/peers/datastore.js.map +1 -1
  190. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  191. package/lib/network/processor/gossipHandlers.js +66 -67
  192. package/lib/network/processor/gossipHandlers.js.map +1 -1
  193. package/lib/network/processor/gossipValidatorFn.d.ts +7 -3
  194. package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
  195. package/lib/network/processor/gossipValidatorFn.js +7 -3
  196. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  197. package/lib/network/processor/index.d.ts +9 -0
  198. package/lib/network/processor/index.d.ts.map +1 -1
  199. package/lib/network/processor/index.js +77 -10
  200. package/lib/network/processor/index.js.map +1 -1
  201. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts.map +1 -1
  202. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js +41 -26
  203. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js.map +1 -1
  204. package/lib/node/nodejs.d.ts +3 -1
  205. package/lib/node/nodejs.d.ts.map +1 -1
  206. package/lib/node/nodejs.js +27 -4
  207. package/lib/node/nodejs.js.map +1 -1
  208. package/lib/sync/range/batch.d.ts +11 -5
  209. package/lib/sync/range/batch.d.ts.map +1 -1
  210. package/lib/sync/range/batch.js +21 -17
  211. package/lib/sync/range/batch.js.map +1 -1
  212. package/lib/sync/range/chain.d.ts +4 -4
  213. package/lib/sync/range/chain.d.ts.map +1 -1
  214. package/lib/sync/range/chain.js +12 -6
  215. package/lib/sync/range/chain.js.map +1 -1
  216. package/lib/sync/range/range.d.ts.map +1 -1
  217. package/lib/sync/range/range.js +75 -29
  218. package/lib/sync/range/range.js.map +1 -1
  219. package/lib/sync/unknownBlock.d.ts +14 -7
  220. package/lib/sync/unknownBlock.d.ts.map +1 -1
  221. package/lib/sync/unknownBlock.js +132 -66
  222. package/lib/sync/unknownBlock.js.map +1 -1
  223. package/lib/sync/utils/downloadByRange.d.ts +38 -14
  224. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  225. package/lib/sync/utils/downloadByRange.js +84 -39
  226. package/lib/sync/utils/downloadByRange.js.map +1 -1
  227. package/lib/util/execution.d.ts +11 -11
  228. package/lib/util/execution.d.ts.map +1 -1
  229. package/lib/util/execution.js +6 -2
  230. package/lib/util/execution.js.map +1 -1
  231. package/package.json +17 -17
  232. package/src/api/impl/beacon/blocks/index.ts +7 -4
  233. package/src/api/impl/beacon/index.ts +15 -0
  234. package/src/api/impl/beacon/pool/index.ts +4 -4
  235. package/src/api/impl/beacon/state/index.ts +31 -3
  236. package/src/api/impl/debug/index.ts +28 -19
  237. package/src/api/impl/validator/index.ts +24 -2
  238. package/src/chain/archiveStore/archiveStore.ts +26 -26
  239. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +5 -7
  240. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +1 -1
  241. package/src/chain/archiveStore/historicalState/types.ts +2 -2
  242. package/src/chain/archiveStore/historicalState/worker.ts +1 -2
  243. package/src/chain/archiveStore/interface.ts +1 -1
  244. package/src/chain/archiveStore/utils/pruneHistory.ts +9 -4
  245. package/src/chain/blocks/importBlock.ts +13 -3
  246. package/src/chain/blocks/payloadEnvelopeInput/types.ts +2 -1
  247. package/src/chain/blocks/verifyBlock.ts +1 -0
  248. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +6 -3
  249. package/src/chain/chain.ts +76 -23
  250. package/src/chain/emitter.ts +7 -1
  251. package/src/chain/errors/envelopeReconstructionError.ts +3 -0
  252. package/src/chain/errors/gossipValidation.ts +2 -0
  253. package/src/chain/forkChoice/index.ts +2 -0
  254. package/src/chain/initState.ts +8 -60
  255. package/src/chain/interface.ts +3 -2
  256. package/src/chain/opPools/aggregatedAttestationPool.ts +34 -10
  257. package/src/chain/opPools/opPool.ts +91 -18
  258. package/src/chain/opPools/proposerPreferencesPool.ts +14 -10
  259. package/src/chain/opPools/utils.ts +31 -3
  260. package/src/chain/options.ts +3 -3
  261. package/src/chain/prepareNextSlot.ts +6 -3
  262. package/src/chain/produceBlock/computeNewStateRoot.ts +1 -1
  263. package/src/chain/produceBlock/produceBlockBody.ts +8 -1
  264. package/src/chain/regen/regen.ts +12 -4
  265. package/src/chain/seenCache/seenGossipBlockInput.ts +23 -0
  266. package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +31 -13
  267. package/src/chain/shufflingCache.ts +5 -0
  268. package/src/chain/validation/attesterSlashing.ts +7 -4
  269. package/src/chain/validation/proposerSlashing.ts +7 -4
  270. package/src/chain/validatorMonitor.ts +75 -57
  271. package/src/db/beacon.ts +5 -0
  272. package/src/db/buckets.ts +1 -0
  273. package/src/db/interface.ts +2 -0
  274. package/src/db/repositories/earliestAvailableSlot.ts +19 -0
  275. package/src/db/repositories/proposerSlashing.ts +6 -1
  276. package/src/execution/engine/disabled.ts +0 -8
  277. package/src/execution/engine/http.ts +1 -30
  278. package/src/execution/engine/interface.ts +2 -6
  279. package/src/execution/engine/mock.ts +1 -19
  280. package/src/execution/engine/types.ts +0 -10
  281. package/src/index.ts +1 -1
  282. package/src/metrics/metrics/lodestar.ts +4 -0
  283. package/src/metrics/metrics.ts +21 -6
  284. package/src/network/metadata.ts +17 -17
  285. package/src/network/peers/datastore.ts +36 -36
  286. package/src/network/processor/gossipHandlers.ts +97 -80
  287. package/src/network/processor/gossipValidatorFn.ts +13 -3
  288. package/src/network/processor/index.ts +89 -10
  289. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts +42 -28
  290. package/src/node/nodejs.ts +35 -3
  291. package/src/sync/range/batch.ts +25 -19
  292. package/src/sync/range/chain.ts +15 -8
  293. package/src/sync/range/range.ts +76 -30
  294. package/src/sync/unknownBlock.ts +156 -71
  295. package/src/sync/utils/downloadByRange.ts +123 -58
  296. package/src/util/execution.ts +17 -9
@@ -1,5 +1,6 @@
1
1
  import { assertValidAttesterSlashing, getAttesterSlashableIndices, getAttesterSlashingSignatureSets, isSlashableValidator, } from "@lodestar/state-transition";
2
2
  import { AttesterSlashingError, AttesterSlashingErrorCode, GossipAction } from "../errors/index.js";
3
+ import { getAttesterSlashingSignatureDomains } from "../opPools/utils.js";
3
4
  export async function validateApiAttesterSlashing(chain, attesterSlashing) {
4
5
  const prioritizeBls = true;
5
6
  return validateAttesterSlashing(chain, attesterSlashing, prioritizeBls);
@@ -38,10 +39,12 @@ export async function validateAttesterSlashing(chain, attesterSlashing, prioriti
38
39
  });
39
40
  }
40
41
  const signatureSets = getAttesterSlashingSignatureSets(chain.config, state.slot, attesterSlashing);
42
+ const verifiedDomains = getAttesterSlashingSignatureDomains(chain.config, state.slot, attesterSlashing);
41
43
  if (!(await chain.bls.verifySignatureSets(signatureSets, { batchable: true, priority: prioritizeBls }))) {
42
44
  throw new AttesterSlashingError(GossipAction.REJECT, {
43
45
  code: AttesterSlashingErrorCode.INVALID_SIGNATURE,
44
46
  });
45
47
  }
48
+ return verifiedDomains;
46
49
  }
47
50
  //# sourceMappingURL=attesterSlashing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attesterSlashing.js","sourceRoot":"","sources":["../../../src/chain/validation/attesterSlashing.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,EAChC,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,qBAAqB,EAAE,yBAAyB,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGlG,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAmB,EACnB,gBAAkC;IAElC,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,OAAO,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAAmB,EACnB,gBAAkC;IAElC,OAAO,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAmB,EACnB,gBAAkC,EAClC,aAAa,GAAG,KAAK;IAErB,qHAAqH;IACrH,uCAAuC;IACvC,iHAAiH;IACjH,+FAA+F;IAC/F,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IAC1E,IAAI,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,cAAc;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IAEnC,mFAAmF;IACnF,IAAI,CAAC;QACH,mDAAmD;QACnD,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACvG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,OAAO;YACvC,KAAK,EAAE,CAAU;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QACxG,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,OAAO;YACvC,KAAK,EAAE,KAAK,CAAC,8CAA8C,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,gCAAgC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACnG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAC,CAAC,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,iBAAiB;SAClD,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"attesterSlashing.js","sourceRoot":"","sources":["../../../src/chain/validation/attesterSlashing.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,EAChC,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,qBAAqB,EAAE,yBAAyB,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAElG,OAAO,EAAC,mCAAmC,EAAC,MAAM,qBAAqB,CAAC;AAExE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAmB,EACnB,gBAAkC;IAElC,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,OAAO,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAAmB,EACnB,gBAAkC;IAElC,OAAO,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAmB,EACnB,gBAAkC,EAClC,aAAa,GAAG,KAAK;IAErB,qHAAqH;IACrH,uCAAuC;IACvC,iHAAiH;IACjH,+FAA+F;IAC/F,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IAC1E,IAAI,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,cAAc;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IAEnC,mFAAmF;IACnF,IAAI,CAAC;QACH,mDAAmD;QACnD,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACvG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,OAAO;YACvC,KAAK,EAAE,CAAU;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QACxG,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,OAAO;YACvC,KAAK,EAAE,KAAK,CAAC,8CAA8C,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,gCAAgC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACnG,MAAM,eAAe,GAAG,mCAAmC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACxG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAC,CAAC,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,iBAAiB;SAClD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { phase0 } from "@lodestar/types";
1
+ import { Domain, phase0 } from "@lodestar/types";
2
2
  import { IBeaconChain } from "../index.js";
3
- export declare function validateApiProposerSlashing(chain: IBeaconChain, proposerSlashing: phase0.ProposerSlashing): Promise<void>;
4
- export declare function validateGossipProposerSlashing(chain: IBeaconChain, proposerSlashing: phase0.ProposerSlashing): Promise<void>;
3
+ export declare function validateApiProposerSlashing(chain: IBeaconChain, proposerSlashing: phase0.ProposerSlashing): Promise<Domain>;
4
+ export declare function validateGossipProposerSlashing(chain: IBeaconChain, proposerSlashing: phase0.ProposerSlashing): Promise<Domain>;
5
5
  //# sourceMappingURL=proposerSlashing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposerSlashing.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/proposerSlashing.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,GACxC,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,GACxC,OAAO,CAAC,IAAI,CAAC,CAEf"}
1
+ {"version":3,"file":"proposerSlashing.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/proposerSlashing.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAGzC,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,GACxC,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,GACxC,OAAO,CAAC,MAAM,CAAC,CAEjB"}
@@ -1,5 +1,6 @@
1
1
  import { assertValidProposerSlashing, getProposerSlashingSignatureSets } from "@lodestar/state-transition";
2
2
  import { GossipAction, ProposerSlashingError, ProposerSlashingErrorCode } from "../errors/index.js";
3
+ import { getProposerSlashingSignatureDomain } from "../opPools/utils.js";
3
4
  export async function validateApiProposerSlashing(chain, proposerSlashing) {
4
5
  const prioritizeBls = true;
5
6
  return validateProposerSlashing(chain, proposerSlashing, prioritizeBls);
@@ -29,10 +30,12 @@ async function validateProposerSlashing(chain, proposerSlashing, prioritizeBls =
29
30
  });
30
31
  }
31
32
  const signatureSets = getProposerSlashingSignatureSets(chain.config, state.slot, proposerSlashing);
33
+ const verifiedDomain = getProposerSlashingSignatureDomain(chain.config, state.slot, proposerSlashing);
32
34
  if (!(await chain.bls.verifySignatureSets(signatureSets, { batchable: true, priority: prioritizeBls }))) {
33
35
  throw new ProposerSlashingError(GossipAction.REJECT, {
34
36
  code: ProposerSlashingErrorCode.INVALID_SIGNATURE,
35
37
  });
36
38
  }
39
+ return verifiedDomain;
37
40
  }
38
41
  //# sourceMappingURL=proposerSlashing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposerSlashing.js","sourceRoot":"","sources":["../../../src/chain/validation/proposerSlashing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,2BAA2B,EAAE,gCAAgC,EAAC,MAAM,4BAA4B,CAAC;AAEzG,OAAO,EAAC,YAAY,EAAE,qBAAqB,EAAE,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AAGlG,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAmB,EACnB,gBAAyC;IAEzC,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,OAAO,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAAmB,EACnB,gBAAyC;IAEzC,OAAO,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,KAAmB,EACnB,gBAAyC,EACzC,aAAa,GAAG,KAAK;IAErB,2GAA2G;IAC3G,4DAA4D;IAC5D,IAAI,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,cAAc;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IAEnC,mFAAmF;IACnF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1F,mDAAmD;QACnD,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,OAAO;YACvC,KAAK,EAAE,CAAU;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,gCAAgC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACnG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAC,CAAC,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,iBAAiB;SAClD,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"proposerSlashing.js","sourceRoot":"","sources":["../../../src/chain/validation/proposerSlashing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,2BAA2B,EAAE,gCAAgC,EAAC,MAAM,4BAA4B,CAAC;AAEzG,OAAO,EAAC,YAAY,EAAE,qBAAqB,EAAE,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AAElG,OAAO,EAAC,kCAAkC,EAAC,MAAM,qBAAqB,CAAC;AAEvE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAmB,EACnB,gBAAyC;IAEzC,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,OAAO,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAAmB,EACnB,gBAAyC;IAEzC,OAAO,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,KAAmB,EACnB,gBAAyC,EACzC,aAAa,GAAG,KAAK;IAErB,2GAA2G;IAC3G,4DAA4D;IAC5D,IAAI,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,cAAc;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IAEnC,mFAAmF;IACnF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1F,mDAAmD;QACnD,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,OAAO;YACvC,KAAK,EAAE,CAAU;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,gCAAgC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACnG,MAAM,cAAc,GAAG,kCAAkC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACtG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAC,CAAC,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE;YACnD,IAAI,EAAE,yBAAyB,CAAC,iBAAiB;SAClD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -35,8 +35,12 @@ export type ValidatorMonitorOpts = {
35
35
  /** Log validator monitor events as info */
36
36
  validatorMonitorLogs?: boolean;
37
37
  };
38
+ export type NativeValidatorMonitor = {
39
+ registerLocalValidator(index: ValidatorIndex): void;
40
+ unregisterLocalValidator(index: ValidatorIndex): void;
41
+ };
38
42
  export declare const defaultValidatorMonitorOpts: ValidatorMonitorOpts;
39
- export declare function createValidatorMonitor(metricsRegister: RegistryMetricCreator | null, config: ChainForkConfig, genesisTime: number, logger: Logger, opts: ValidatorMonitorOpts): ValidatorMonitor;
43
+ export declare function createValidatorMonitor(metricsRegister: RegistryMetricCreator | null, config: ChainForkConfig, genesisTime: number, logger: Logger, opts: ValidatorMonitorOpts, nativeValidatorMonitor?: NativeValidatorMonitor | null): ValidatorMonitor;
40
44
  /**
41
45
  * Cache to prevent accessing the state tree to fetch block roots repeteadly.
42
46
  * In normal network conditions the same root is read multiple times, specially the target.
@@ -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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"}
@@ -70,7 +70,7 @@ function getEpochSummary(validator, epoch) {
70
70
  }
71
71
  return summary;
72
72
  }
73
- export function createValidatorMonitor(metricsRegister, config, genesisTime, logger, opts) {
73
+ export function createValidatorMonitor(metricsRegister, config, genesisTime, logger, opts, nativeValidatorMonitor = null) {
74
74
  const logLevel = opts.validatorMonitorLogs ? LogLevel.info : LogLevel.debug;
75
75
  const log = (message, context) => {
76
76
  logger[logLevel](message, context);
@@ -90,15 +90,20 @@ export function createValidatorMonitor(metricsRegister, config, genesisTime, log
90
90
  lastRegisteredTimeMs: 0,
91
91
  }));
92
92
  let lastRegisteredStatusEpoch = -1;
93
+ let lastAttestationSummaryEpoch = -1;
93
94
  // Track validator additions/removals per epoch for logging
94
95
  const addedValidatorsInEpoch = new Set();
95
96
  const removedValidatorsInEpoch = new Set();
96
- const validatorMonitorMetrics = metricsRegister ? createValidatorMonitorMetrics(metricsRegister) : null;
97
+ const shouldRegisterStateDerivedMetrics = nativeValidatorMonitor === null;
98
+ const validatorMonitorMetrics = metricsRegister
99
+ ? createValidatorMonitorMetrics(metricsRegister, shouldRegisterStateDerivedMetrics)
100
+ : null;
97
101
  const validatorMonitor = {
98
102
  registerLocalValidator(index) {
99
103
  const isNewValidator = !validators.has(index);
100
104
  validators.getOrDefault(index).lastRegisteredTimeMs = Date.now();
101
105
  if (isNewValidator) {
106
+ nativeValidatorMonitor?.registerLocalValidator(index);
102
107
  addedValidatorsInEpoch.add(index);
103
108
  }
104
109
  },
@@ -121,7 +126,7 @@ export function createValidatorMonitor(metricsRegister, config, genesisTime, log
121
126
  }
122
127
  // Track total balance instead of per-validator balance to reduce metric cardinality
123
128
  let totalBalance = 0;
124
- for (const [index, monitoredValidator] of validators.entries()) {
129
+ for (const index of validators.keys()) {
125
130
  // We subtract two from the state of the epoch that generated these summaries.
126
131
  //
127
132
  // - One to account for it being the previous epoch.
@@ -129,66 +134,30 @@ export function createValidatorMonitor(metricsRegister, config, genesisTime, log
129
134
  // statuses.
130
135
  const summary = statusToSummary(inclusionDelays[index], flags[index], isActiveCurrEpoch[index], isActiveInPrevEpoch[index]);
131
136
  if (summary.isPrevSourceAttester) {
132
- validatorMonitorMetrics?.prevEpochOnChainSourceAttesterHit.inc();
137
+ validatorMonitorMetrics?.prevEpochOnChainSourceAttesterHit?.inc();
133
138
  }
134
139
  else {
135
- validatorMonitorMetrics?.prevEpochOnChainSourceAttesterMiss.inc();
140
+ validatorMonitorMetrics?.prevEpochOnChainSourceAttesterMiss?.inc();
136
141
  }
137
142
  if (summary.isPrevHeadAttester) {
138
- validatorMonitorMetrics?.prevEpochOnChainHeadAttesterHit.inc();
143
+ validatorMonitorMetrics?.prevEpochOnChainHeadAttesterHit?.inc();
139
144
  }
140
145
  else {
141
- validatorMonitorMetrics?.prevEpochOnChainHeadAttesterMiss.inc();
146
+ validatorMonitorMetrics?.prevEpochOnChainHeadAttesterMiss?.inc();
142
147
  }
143
148
  if (summary.isPrevTargetAttester) {
144
- validatorMonitorMetrics?.prevEpochOnChainTargetAttesterHit.inc();
149
+ validatorMonitorMetrics?.prevEpochOnChainTargetAttesterHit?.inc();
145
150
  }
146
151
  else {
147
- validatorMonitorMetrics?.prevEpochOnChainTargetAttesterMiss.inc();
148
- }
149
- const prevEpochSummary = monitoredValidator.summaries.get(previousEpoch);
150
- const attestationCorrectHead = prevEpochSummary?.attestationCorrectHead;
151
- if (attestationCorrectHead !== null && attestationCorrectHead !== undefined) {
152
- if (attestationCorrectHead) {
153
- validatorMonitorMetrics?.prevOnChainAttesterCorrectHead.inc();
154
- }
155
- else {
156
- validatorMonitorMetrics?.prevOnChainAttesterIncorrectHead.inc();
157
- }
158
- }
159
- const attestationMinBlockInclusionDistance = prevEpochSummary?.attestationMinBlockInclusionDistance;
160
- const inclusionDistance = attestationMinBlockInclusionDistance != null && attestationMinBlockInclusionDistance > 0
161
- ? // altair, attestation is not missed
162
- attestationMinBlockInclusionDistance
163
- : summary.inclusionDistance
164
- ? // phase0, this is from the state transition
165
- summary.inclusionDistance
166
- : null;
167
- if (inclusionDistance !== null) {
168
- validatorMonitorMetrics?.prevEpochOnChainInclusionDistance.observe(inclusionDistance);
169
- validatorMonitorMetrics?.prevEpochOnChainAttesterHit.inc();
170
- }
171
- else {
172
- validatorMonitorMetrics?.prevEpochOnChainAttesterMiss.inc();
152
+ validatorMonitorMetrics?.prevEpochOnChainTargetAttesterMiss?.inc();
173
153
  }
174
154
  const balance = balances?.[index];
175
155
  if (balance !== undefined) {
176
156
  totalBalance += balance;
177
157
  }
178
- if (!summary.isPrevSourceAttester || !summary.isPrevTargetAttester || !summary.isPrevHeadAttester) {
179
- log("Failed attestation in previous epoch", {
180
- validator: index,
181
- prevEpoch: currentEpoch - 1,
182
- isPrevSourceAttester: summary.isPrevSourceAttester,
183
- isPrevHeadAttester: summary.isPrevHeadAttester,
184
- isPrevTargetAttester: summary.isPrevTargetAttester,
185
- // inclusionDistance is not available in summary since altair
186
- inclusionDistance,
187
- });
188
- }
189
158
  }
190
159
  if (balances !== undefined) {
191
- validatorMonitorMetrics?.prevEpochOnChainBalance.set(totalBalance);
160
+ validatorMonitorMetrics?.prevEpochOnChainBalance?.set(totalBalance);
192
161
  }
193
162
  },
194
163
  registerBeaconBlock(src, delaySec, block) {
@@ -436,6 +405,7 @@ export function createValidatorMonitor(metricsRegister, config, genesisTime, log
436
405
  // Prune validators not seen in a while
437
406
  for (const [index, validator] of validators.entries()) {
438
407
  if (Date.now() - validator.lastRegisteredTimeMs > retainRegisteredValidatorsMs) {
408
+ nativeValidatorMonitor?.unregisterLocalValidator(index);
439
409
  validators.delete(index);
440
410
  removedValidatorsInEpoch.add(index);
441
411
  }
@@ -464,6 +434,35 @@ export function createValidatorMonitor(metricsRegister, config, genesisTime, log
464
434
  if (validators.size === 0) {
465
435
  return;
466
436
  }
437
+ // On-chain attestation summary of prevEpoch. Reads only the epoch summaries filled by
438
+ // registerAttestationInBlock(), so it works with both TS and native state transition.
439
+ if (prevEpoch > lastAttestationSummaryEpoch) {
440
+ lastAttestationSummaryEpoch = prevEpoch;
441
+ for (const monitoredValidator of validators.values()) {
442
+ const prevEpochSummary = monitoredValidator.summaries.get(prevEpoch);
443
+ const attestationCorrectHead = prevEpochSummary?.attestationCorrectHead;
444
+ if (attestationCorrectHead !== null && attestationCorrectHead !== undefined) {
445
+ if (attestationCorrectHead) {
446
+ validatorMonitorMetrics?.prevOnChainAttesterCorrectHead.inc();
447
+ }
448
+ else {
449
+ validatorMonitorMetrics?.prevOnChainAttesterIncorrectHead.inc();
450
+ }
451
+ }
452
+ const attestationMinBlockInclusionDistance = prevEpochSummary?.attestationMinBlockInclusionDistance;
453
+ const inclusionDistance = attestationMinBlockInclusionDistance != null && attestationMinBlockInclusionDistance > 0
454
+ ? // altair, attestation is not missed
455
+ attestationMinBlockInclusionDistance
456
+ : null;
457
+ if (inclusionDistance !== null) {
458
+ validatorMonitorMetrics?.prevEpochOnChainInclusionDistance.observe(inclusionDistance);
459
+ validatorMonitorMetrics?.prevEpochOnChainAttesterHit.inc();
460
+ }
461
+ else {
462
+ validatorMonitorMetrics?.prevEpochOnChainAttesterMiss.inc();
463
+ }
464
+ }
465
+ }
467
466
  const rootCache = new RootHexCache(headState);
468
467
  if (isStatePostAltair(headState)) {
469
468
  const prevEpochStartSlot = computeStartSlotAtEpoch(prevEpoch);
@@ -479,6 +478,16 @@ export function createValidatorMonitor(metricsRegister, config, genesisTime, log
479
478
  epoch: prevEpoch,
480
479
  summary,
481
480
  });
481
+ if (!flags.timelySource || !flags.timelyTarget || !flags.timelyHead) {
482
+ log("Failed attestation in previous epoch", {
483
+ validator: index,
484
+ prevEpoch,
485
+ isPrevSourceAttester: flags.timelySource,
486
+ isPrevHeadAttester: flags.timelyHead,
487
+ isPrevTargetAttester: flags.timelyTarget,
488
+ inclusionDistance: validator.summaries.get(prevEpoch)?.attestationMinBlockInclusionDistance ?? null,
489
+ });
490
+ }
482
491
  }
483
492
  }
484
493
  if (headState.previousProposers !== null) {
@@ -813,7 +822,8 @@ export class RootHexCache {
813
822
  return root;
814
823
  }
815
824
  }
816
- function createValidatorMonitorMetrics(register) {
825
+ function createValidatorMonitorMetrics(register, registerStateDerivedMetrics = true) {
826
+ const stateDerivedRegister = registerStateDerivedMetrics ? register : null;
817
827
  return {
818
828
  validatorsConnected: register.gauge({
819
829
  name: "validator_monitor_validators",
@@ -829,7 +839,7 @@ function createValidatorMonitorMetrics(register) {
829
839
  help: "Count of validators monitored by this beacon node that are part of sync committee",
830
840
  }),
831
841
  // Validator Monitor Metrics (per-epoch summaries)
832
- prevEpochOnChainBalance: register.gauge({
842
+ prevEpochOnChainBalance: stateDerivedRegister?.gauge({
833
843
  name: "validator_monitor_prev_epoch_on_chain_balance",
834
844
  help: "Total balance of all monitored validators after an epoch",
835
845
  }),
@@ -841,19 +851,19 @@ function createValidatorMonitorMetrics(register) {
841
851
  name: "validator_monitor_prev_epoch_on_chain_attester_miss_total",
842
852
  help: "Incremented if validator's submitted attestation is not included in any blocks",
843
853
  }),
844
- prevEpochOnChainSourceAttesterHit: register.gauge({
854
+ prevEpochOnChainSourceAttesterHit: stateDerivedRegister?.gauge({
845
855
  name: "validator_monitor_prev_epoch_on_chain_source_attester_hit_total",
846
856
  help: "Incremented if the validator is flagged as a previous epoch source attester during per epoch processing",
847
857
  }),
848
- prevEpochOnChainSourceAttesterMiss: register.gauge({
858
+ prevEpochOnChainSourceAttesterMiss: stateDerivedRegister?.gauge({
849
859
  name: "validator_monitor_prev_epoch_on_chain_source_attester_miss_total",
850
860
  help: "Incremented if the validator is not flagged as a previous epoch source attester during per epoch processing",
851
861
  }),
852
- prevEpochOnChainHeadAttesterHit: register.gauge({
862
+ prevEpochOnChainHeadAttesterHit: stateDerivedRegister?.gauge({
853
863
  name: "validator_monitor_prev_epoch_on_chain_head_attester_hit_total",
854
864
  help: "Incremented if the validator is flagged as a previous epoch head attester during per epoch processing",
855
865
  }),
856
- prevEpochOnChainHeadAttesterMiss: register.gauge({
866
+ prevEpochOnChainHeadAttesterMiss: stateDerivedRegister?.gauge({
857
867
  name: "validator_monitor_prev_epoch_on_chain_head_attester_miss_total",
858
868
  help: "Incremented if the validator is not flagged as a previous epoch head attester during per epoch processing",
859
869
  }),
@@ -865,11 +875,11 @@ function createValidatorMonitorMetrics(register) {
865
875
  name: "validator_monitor_prev_epoch_on_chain_attester_incorrect_head_total",
866
876
  help: "Total count of times a validator votes incorrect head",
867
877
  }),
868
- prevEpochOnChainTargetAttesterHit: register.gauge({
878
+ prevEpochOnChainTargetAttesterHit: stateDerivedRegister?.gauge({
869
879
  name: "validator_monitor_prev_epoch_on_chain_target_attester_hit_total",
870
880
  help: "Incremented if the validator is flagged as a previous epoch target attester during per epoch processing",
871
881
  }),
872
- prevEpochOnChainTargetAttesterMiss: register.gauge({
882
+ prevEpochOnChainTargetAttesterMiss: stateDerivedRegister?.gauge({
873
883
  name: "validator_monitor_prev_epoch_on_chain_target_attester_miss_total",
874
884
  help: "Incremented if the validator is not flagged as a previous epoch target attester during per epoch processing",
875
885
  }),
@@ -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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"}
@@ -6,6 +6,7 @@ import { type IDataColumnStore } from "./dataColumnStore.js";
6
6
  import type { FlatFileStoreMetrics } from "./flatFileStore/metrics.js";
7
7
  import { IBeaconDb } from "./interface.js";
8
8
  import { CheckpointStateRepository } from "./repositories/checkpointState.js";
9
+ import { EarliestAvailableSlotRepository } from "./repositories/earliestAvailableSlot.js";
9
10
  import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
10
11
  export type BeaconDbOpts = {
11
12
  dataColumnDir: string;
@@ -24,6 +25,7 @@ export declare class BeaconDb implements IBeaconDb {
24
25
  executionPayloadEnvelopeArchive: ExecutionPayloadEnvelopeArchiveRepository;
25
26
  stateArchive: StateArchiveRepository;
26
27
  checkpointState: CheckpointStateRepository;
28
+ earliestAvailableSlot: EarliestAvailableSlotRepository;
27
29
  voluntaryExit: VoluntaryExitRepository;
28
30
  proposerSlashing: ProposerSlashingRepository;
29
31
  attesterSlashing: AttesterSlashingRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"beacon.d.ts","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,wBAAwB,EAAY,MAAM,cAAc,CAAC;AACrE,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,KAAK,gBAAgB,EAAwB,MAAM,sBAAsB,CAAC;AAElF,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,yCAAyC,EACzC,kCAAkC,EAClC,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,qBAAa,QAAS,YAAW,SAAS;IAgCtC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;IA/B3B,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,sBAAsB,CAAC;IAErC,YAAY,EAAE,sBAAsB,CAAC;IACrC,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,wBAAwB,EAAE,kCAAkC,CAAC;IAE7D,wBAAwB,EAAE,kCAAkC,CAAC;IAC7D,+BAA+B,EAAE,yCAAyC,CAAC;IAE3E,YAAY,EAAE,sBAAsB,CAAC;IACrC,eAAe,EAAE,yBAAyB,CAAC;IAE3C,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,oBAAoB,EAAE,8BAA8B,CAAC;IAGrD,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,uBAAuB,CAAC;IACvC,oBAAoB,EAAE,8BAA8B,CAAC;IAErD,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,qBAAqB,EAAE,IAAI,GAAG,IAAI,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAE9C,YACE,MAAM,EAAE,eAAe,EACJ,EAAE,EAAE,EAAE,EACzB,IAAI,EAAE,YAAY,EAkCnB;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;IAED,UAAU,CAAC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,GAAE,oBAAoB,GAAG,IAAW,GAAG,IAAI,CAG5G;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAMhC;IAEK,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAa9C;YAEa,gBAAgB;CAoB/B"}
1
+ {"version":3,"file":"beacon.d.ts","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,wBAAwB,EAAY,MAAM,cAAc,CAAC;AACrE,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,KAAK,gBAAgB,EAAwB,MAAM,sBAAsB,CAAC;AAElF,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAC,+BAA+B,EAAC,MAAM,yCAAyC,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,yCAAyC,EACzC,kCAAkC,EAClC,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,qBAAa,QAAS,YAAW,SAAS;IAiCtC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;IAhC3B,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,sBAAsB,CAAC;IAErC,YAAY,EAAE,sBAAsB,CAAC;IACrC,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,wBAAwB,EAAE,kCAAkC,CAAC;IAE7D,wBAAwB,EAAE,kCAAkC,CAAC;IAC7D,+BAA+B,EAAE,yCAAyC,CAAC;IAE3E,YAAY,EAAE,sBAAsB,CAAC;IACrC,eAAe,EAAE,yBAAyB,CAAC;IAC3C,qBAAqB,EAAE,+BAA+B,CAAC;IAEvD,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,oBAAoB,EAAE,8BAA8B,CAAC;IAGrD,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,uBAAuB,CAAC;IACvC,oBAAoB,EAAE,8BAA8B,CAAC;IAErD,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,qBAAqB,EAAE,IAAI,GAAG,IAAI,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAE9C,YACE,MAAM,EAAE,eAAe,EACJ,EAAE,EAAE,EAAE,EACzB,IAAI,EAAE,YAAY,EAmCnB;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;IAED,UAAU,CAAC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,GAAE,oBAAoB,GAAG,IAAW,GAAG,IAAI,CAG5G;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAQhC;IAEK,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAa9C;YAEa,gBAAgB;CAoB/B"}
package/lib/db/beacon.js CHANGED
@@ -3,6 +3,7 @@ import { Bucket } from "./buckets.js";
3
3
  import { LegacyDataColumnStore } from "./dataColumnStore.js";
4
4
  import { FlatFileStore } from "./flatFileStore/flatFileStore.js";
5
5
  import { CheckpointStateRepository } from "./repositories/checkpointState.js";
6
+ import { EarliestAvailableSlotRepository } from "./repositories/earliestAvailableSlot.js";
6
7
  import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository, } from "./repositories/index.js";
7
8
  export class BeaconDb {
8
9
  db;
@@ -16,6 +17,7 @@ export class BeaconDb {
16
17
  executionPayloadEnvelopeArchive;
17
18
  stateArchive;
18
19
  checkpointState;
20
+ earliestAvailableSlot;
19
21
  voluntaryExit;
20
22
  proposerSlashing;
21
23
  attesterSlashing;
@@ -41,6 +43,7 @@ export class BeaconDb {
41
43
  this.executionPayloadEnvelopeArchive = new ExecutionPayloadEnvelopeArchiveRepository(config, db);
42
44
  this.stateArchive = new StateArchiveRepository(config, db);
43
45
  this.checkpointState = new CheckpointStateRepository(config, db);
46
+ this.earliestAvailableSlot = new EarliestAvailableSlotRepository(db);
44
47
  this.voluntaryExit = new VoluntaryExitRepository(config, db);
45
48
  this.blsToExecutionChange = new BLSToExecutionChangeRepository(config, db);
46
49
  this.proposerSlashing = new ProposerSlashingRepository(config, db);
@@ -69,6 +72,8 @@ export class BeaconDb {
69
72
  async pruneHotDb() {
70
73
  // Prune all hot blobs
71
74
  await this.blobSidecars.batchDelete(await this.blobSidecars.keys());
75
+ // New columns are persisted in flat files, so this bucket only contains legacy hot data.
76
+ await this.deleteBucketData(Bucket.allForks_dataColumnSidecars);
72
77
  // Prune all hot blocks
73
78
  // TODO: Enable once it's deemed safe
74
79
  // await this.block.batchDelete(await this.block.keys());
@@ -1 +1 @@
1
- {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,8 @@ export declare enum Bucket {
33
33
  allForks_dataColumnSidecars = 57,// BeaconBlockRoot -> DataColumnSidecars
34
34
  allForks_dataColumnSidecarsArchive = 58,// BeaconBlockSlot -> DataColumnSidecars
35
35
  gloas_executionPayloadEnvelope = 59,// GLOAS BeaconBlockRoot -> SignedExecutionPayloadEnvelope
36
- gloas_executionPayloadEnvelopeArchive = 60
36
+ gloas_executionPayloadEnvelopeArchive = 60,// GLOAS Slot -> SignedExecutionPayloadEnvelope, or 0x00 + SignedExecutionPayloadHeaderEnvelope
37
+ earliestAvailableSlot = 61
37
38
  }
38
39
  export declare function getBucketNameByValue<T extends Bucket>(enumValue: T): keyof typeof Bucket;
39
40
  //# sourceMappingURL=buckets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buckets.d.ts","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AACA,oBAAY,MAAM;IAGhB,qBAAqB,IAAI,CAAE,6BAA6B;IAExD,cAAc,IAAI,CAAE,mCAAmC;IAEvD,qBAAqB,IAAI,CAAE,mCAAmC;IAE9D,iCAAiC,IAAI,CAAE,sBAAsB;IAC7D,2BAA2B,IAAI,CAAE,eAAe;IAIhD,eAAe,IAAI,CAAE,4BAA4B;IAEjD,eAAe,IAAI,CAAE,0CAA0C;IAC/D,+HAA+H;IAC/H,eAAe,IAAI;IACnB,+HAA+H;IAC/H,qBAAqB,IAAI;IAKzB,+HAA+H;IAC/H,kBAAkB,KAAK;IACvB,WAAW,KAAK,CAAE,kCAAkC;IACpD,uBAAuB,KAAK,CAAE,qCAAqC;IACnE,yBAAyB,KAAK,CAAE,2BAA2B;IAC3D,4BAA4B,KAAK,CAAE,+CAA+C;IAElF,wBAAwB,KAAK,CAAE,sBAAsB;IAGrD,+HAA+H;IAC/H,mBAAmB,KAAK;IAExB,2BAA2B,KAAK,CAAE,qBAAqB;IAEvD,kBAAkB,KAAK,CAAE,wCAAwC;IACjE,yBAAyB,KAAK,CAAE,wCAAwC;IAExE,oHAAoH;IACpH,sBAAsB,KAAK;IAC3B,oHAAoH;IACpH,wCAAwC,KAAK;IAc7C,gCAAgC,KAAK,CAAE,oCAAoC;IAC3E,yBAAyB,KAAK,CAAE,qDAAqD;IAErF,4BAA4B,KAAK,CAAE,wCAAwC;IAG3E,iCAAiC,KAAK,CAAE,0CAA0C;IAElF,2BAA2B,KAAK,CAAE,wCAAwC;IAC1E,kCAAkC,KAAK,CAAE,wCAAwC;IAEjF,8BAA8B,KAAK,CAAE,0DAA0D;IAC/F,qCAAqC,KAAK;CAC3C;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,OAAO,MAAM,CAWxF"}
1
+ {"version":3,"file":"buckets.d.ts","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AACA,oBAAY,MAAM;IAGhB,qBAAqB,IAAI,CAAE,6BAA6B;IAExD,cAAc,IAAI,CAAE,mCAAmC;IAEvD,qBAAqB,IAAI,CAAE,mCAAmC;IAE9D,iCAAiC,IAAI,CAAE,sBAAsB;IAC7D,2BAA2B,IAAI,CAAE,eAAe;IAIhD,eAAe,IAAI,CAAE,4BAA4B;IAEjD,eAAe,IAAI,CAAE,0CAA0C;IAC/D,+HAA+H;IAC/H,eAAe,IAAI;IACnB,+HAA+H;IAC/H,qBAAqB,IAAI;IAKzB,+HAA+H;IAC/H,kBAAkB,KAAK;IACvB,WAAW,KAAK,CAAE,kCAAkC;IACpD,uBAAuB,KAAK,CAAE,qCAAqC;IACnE,yBAAyB,KAAK,CAAE,2BAA2B;IAC3D,4BAA4B,KAAK,CAAE,+CAA+C;IAElF,wBAAwB,KAAK,CAAE,sBAAsB;IAGrD,+HAA+H;IAC/H,mBAAmB,KAAK;IAExB,2BAA2B,KAAK,CAAE,qBAAqB;IAEvD,kBAAkB,KAAK,CAAE,wCAAwC;IACjE,yBAAyB,KAAK,CAAE,wCAAwC;IAExE,oHAAoH;IACpH,sBAAsB,KAAK;IAC3B,oHAAoH;IACpH,wCAAwC,KAAK;IAc7C,gCAAgC,KAAK,CAAE,oCAAoC;IAC3E,yBAAyB,KAAK,CAAE,qDAAqD;IAErF,4BAA4B,KAAK,CAAE,wCAAwC;IAG3E,iCAAiC,KAAK,CAAE,0CAA0C;IAElF,2BAA2B,KAAK,CAAE,wCAAwC;IAC1E,kCAAkC,KAAK,CAAE,wCAAwC;IAEjF,8BAA8B,KAAK,CAAE,0DAA0D;IAC/F,qCAAqC,KAAK,CAAE,+FAA+F;IAC3I,qBAAqB,KAAK;CAC3B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,OAAO,MAAM,CAWxF"}