@lodestar/beacon-node 1.39.0 → 1.40.0-dev.313caaeef7

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 (177) hide show
  1. package/lib/api/impl/beacon/state/utils.d.ts +2 -7
  2. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  3. package/lib/api/impl/beacon/state/utils.js +0 -12
  4. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  5. package/lib/api/impl/config/constants.d.ts +3 -0
  6. package/lib/api/impl/config/constants.d.ts.map +1 -1
  7. package/lib/api/impl/config/constants.js +5 -1
  8. package/lib/api/impl/config/constants.js.map +1 -1
  9. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  10. package/lib/api/impl/lodestar/index.js +6 -1
  11. package/lib/api/impl/lodestar/index.js.map +1 -1
  12. package/lib/api/impl/proof/index.d.ts.map +1 -1
  13. package/lib/api/impl/proof/index.js +1 -2
  14. package/lib/api/impl/proof/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 +1 -3
  17. package/lib/api/impl/validator/index.js.map +1 -1
  18. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
  19. package/lib/chain/archiveStore/historicalState/getHistoricalState.js +5 -3
  20. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  21. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  22. package/lib/chain/archiveStore/utils/archiveBlocks.js +19 -14
  23. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  24. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  25. package/lib/chain/blocks/importBlock.js +12 -3
  26. package/lib/chain/blocks/importBlock.js.map +1 -1
  27. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  28. package/lib/chain/blocks/verifyBlock.js +8 -1
  29. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  30. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
  31. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +1 -0
  32. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  33. package/lib/chain/chain.d.ts +3 -2
  34. package/lib/chain/chain.d.ts.map +1 -1
  35. package/lib/chain/chain.js +16 -6
  36. package/lib/chain/chain.js.map +1 -1
  37. package/lib/chain/initState.d.ts +1 -1
  38. package/lib/chain/initState.d.ts.map +1 -1
  39. package/lib/chain/initState.js +5 -3
  40. package/lib/chain/initState.js.map +1 -1
  41. package/lib/chain/interface.d.ts +2 -2
  42. package/lib/chain/interface.d.ts.map +1 -1
  43. package/lib/chain/lightClient/proofs.d.ts.map +1 -1
  44. package/lib/chain/lightClient/proofs.js +0 -2
  45. package/lib/chain/lightClient/proofs.js.map +1 -1
  46. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +5 -9
  47. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  48. package/lib/chain/opPools/aggregatedAttestationPool.js +12 -141
  49. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  50. package/lib/chain/opPools/opPool.js +5 -8
  51. package/lib/chain/opPools/opPool.js.map +1 -1
  52. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  53. package/lib/chain/prepareNextSlot.js +4 -7
  54. package/lib/chain/prepareNextSlot.js.map +1 -1
  55. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  56. package/lib/chain/produceBlock/produceBlockBody.js +1 -1
  57. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  58. package/lib/chain/regen/interface.d.ts +1 -5
  59. package/lib/chain/regen/interface.d.ts.map +1 -1
  60. package/lib/chain/regen/queued.d.ts +4 -7
  61. package/lib/chain/regen/queued.d.ts.map +1 -1
  62. package/lib/chain/regen/queued.js +15 -25
  63. package/lib/chain/regen/queued.js.map +1 -1
  64. package/lib/chain/regen/regen.d.ts +1 -1
  65. package/lib/chain/regen/regen.d.ts.map +1 -1
  66. package/lib/chain/regen/regen.js +13 -17
  67. package/lib/chain/regen/regen.js.map +1 -1
  68. package/lib/chain/shufflingCache.d.ts +16 -11
  69. package/lib/chain/shufflingCache.d.ts.map +1 -1
  70. package/lib/chain/shufflingCache.js +47 -41
  71. package/lib/chain/shufflingCache.js.map +1 -1
  72. package/lib/chain/stateCache/blockStateCacheImpl.d.ts +1 -2
  73. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +1 -1
  74. package/lib/chain/stateCache/blockStateCacheImpl.js +2 -2
  75. package/lib/chain/stateCache/blockStateCacheImpl.js.map +1 -1
  76. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +1 -2
  77. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  78. package/lib/chain/stateCache/fifoBlockStateCache.js +4 -4
  79. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  80. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts +4 -5
  81. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +1 -1
  82. package/lib/chain/stateCache/inMemoryCheckpointsCache.js +9 -10
  83. package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
  84. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +5 -6
  85. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  86. package/lib/chain/stateCache/persistentCheckpointsCache.js +17 -17
  87. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  88. package/lib/chain/stateCache/types.d.ts +5 -6
  89. package/lib/chain/stateCache/types.d.ts.map +1 -1
  90. package/lib/chain/stateCache/types.js.map +1 -1
  91. package/lib/chain/validation/attestation.d.ts.map +1 -1
  92. package/lib/chain/validation/attestation.js +2 -2
  93. package/lib/chain/validation/attestation.js.map +1 -1
  94. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  95. package/lib/chain/validation/attesterSlashing.js +1 -1
  96. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  97. package/lib/chain/validation/block.d.ts.map +1 -1
  98. package/lib/chain/validation/block.js +2 -0
  99. package/lib/chain/validation/block.js.map +1 -1
  100. package/lib/chain/validation/blsToExecutionChange.d.ts.map +1 -1
  101. package/lib/chain/validation/blsToExecutionChange.js +9 -2
  102. package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
  103. package/lib/chain/validation/proposerSlashing.js +2 -1
  104. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  105. package/lib/chain/validatorMonitor.d.ts +2 -0
  106. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  107. package/lib/chain/validatorMonitor.js +42 -3
  108. package/lib/chain/validatorMonitor.js.map +1 -1
  109. package/lib/db/repositories/checkpointState.d.ts +2 -6
  110. package/lib/db/repositories/checkpointState.d.ts.map +1 -1
  111. package/lib/db/repositories/checkpointState.js +3 -15
  112. package/lib/db/repositories/checkpointState.js.map +1 -1
  113. package/lib/db/repositories/stateArchive.d.ts +9 -9
  114. package/lib/db/repositories/stateArchive.d.ts.map +1 -1
  115. package/lib/db/repositories/stateArchive.js +6 -21
  116. package/lib/db/repositories/stateArchive.js.map +1 -1
  117. package/lib/execution/engine/mock.d.ts +9 -6
  118. package/lib/execution/engine/mock.d.ts.map +1 -1
  119. package/lib/execution/engine/mock.js +34 -7
  120. package/lib/execution/engine/mock.js.map +1 -1
  121. package/lib/index.d.ts +1 -1
  122. package/lib/index.d.ts.map +1 -1
  123. package/lib/index.js +1 -1
  124. package/lib/index.js.map +1 -1
  125. package/lib/metrics/metrics/lodestar.d.ts +1 -6
  126. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  127. package/lib/metrics/metrics/lodestar.js +3 -17
  128. package/lib/metrics/metrics/lodestar.js.map +1 -1
  129. package/lib/network/reqresp/utils/dataColumnResponseValidation.js +1 -1
  130. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  131. package/lib/node/nodejs.d.ts.map +1 -1
  132. package/lib/node/nodejs.js +17 -2
  133. package/lib/node/nodejs.js.map +1 -1
  134. package/lib/util/sszBytes.js +1 -1
  135. package/lib/util/sszBytes.js.map +1 -1
  136. package/package.json +15 -15
  137. package/src/api/impl/beacon/state/utils.ts +2 -22
  138. package/src/api/impl/config/constants.ts +8 -0
  139. package/src/api/impl/lodestar/index.ts +7 -1
  140. package/src/api/impl/proof/index.ts +1 -2
  141. package/src/api/impl/validator/index.ts +1 -3
  142. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +5 -3
  143. package/src/chain/archiveStore/utils/archiveBlocks.ts +21 -14
  144. package/src/chain/blocks/importBlock.ts +13 -3
  145. package/src/chain/blocks/verifyBlock.ts +9 -3
  146. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +1 -0
  147. package/src/chain/chain.ts +20 -9
  148. package/src/chain/initState.ts +5 -3
  149. package/src/chain/interface.ts +2 -2
  150. package/src/chain/lightClient/proofs.ts +0 -2
  151. package/src/chain/opPools/aggregatedAttestationPool.ts +19 -191
  152. package/src/chain/opPools/opPool.ts +5 -7
  153. package/src/chain/prepareNextSlot.ts +2 -6
  154. package/src/chain/produceBlock/produceBlockBody.ts +6 -1
  155. package/src/chain/regen/interface.ts +1 -5
  156. package/src/chain/regen/queued.ts +15 -34
  157. package/src/chain/regen/regen.ts +12 -18
  158. package/src/chain/shufflingCache.ts +67 -50
  159. package/src/chain/stateCache/blockStateCacheImpl.ts +2 -3
  160. package/src/chain/stateCache/fifoBlockStateCache.ts +4 -5
  161. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +9 -15
  162. package/src/chain/stateCache/persistentCheckpointsCache.ts +17 -25
  163. package/src/chain/stateCache/types.ts +5 -10
  164. package/src/chain/validation/attestation.ts +3 -3
  165. package/src/chain/validation/attesterSlashing.ts +8 -1
  166. package/src/chain/validation/block.ts +3 -0
  167. package/src/chain/validation/blsToExecutionChange.ts +9 -7
  168. package/src/chain/validation/proposerSlashing.ts +2 -1
  169. package/src/chain/validatorMonitor.ts +52 -3
  170. package/src/db/repositories/checkpointState.ts +3 -19
  171. package/src/db/repositories/stateArchive.ts +13 -27
  172. package/src/execution/engine/mock.ts +40 -13
  173. package/src/index.ts +1 -1
  174. package/src/metrics/metrics/lodestar.ts +3 -17
  175. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +1 -1
  176. package/src/node/nodejs.ts +18 -3
  177. package/src/util/sszBytes.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"blsToExecutionChange.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/blsToExecutionChange.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,wBAAsB,+BAA+B,CACnD,KAAK,EAAE,YAAY,EACnB,oBAAoB,EAAE,OAAO,CAAC,0BAA0B,GACvD,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,kCAAkC,CACtD,KAAK,EAAE,YAAY,EACnB,oBAAoB,EAAE,OAAO,CAAC,0BAA0B,GACvD,OAAO,CAAC,IAAI,CAAC,CAEf"}
1
+ {"version":3,"file":"blsToExecutionChange.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/blsToExecutionChange.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,wBAAsB,+BAA+B,CACnD,KAAK,EAAE,YAAY,EACnB,oBAAoB,EAAE,OAAO,CAAC,0BAA0B,GACvD,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,kCAAkC,CACtD,KAAK,EAAE,YAAY,EACnB,oBAAoB,EAAE,OAAO,CAAC,0BAA0B,GACvD,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -1,4 +1,4 @@
1
- import { getBlsToExecutionChangeSignatureSet, isValidBlsToExecutionChange, } from "@lodestar/state-transition";
1
+ import { getBlsToExecutionChangeSignatureSet, isValidBlsToExecutionChange } from "@lodestar/state-transition";
2
2
  import { BlsToExecutionChangeError, BlsToExecutionChangeErrorCode, GossipAction } from "../errors/index.js";
3
3
  export async function validateApiBlsToExecutionChange(chain, blsToExecutionChange) {
4
4
  const ignoreExists = true;
@@ -22,9 +22,16 @@ async function validateBlsToExecutionChange(chain, blsToExecutionChange, opts =
22
22
  // and chanes relevant to `isValidBlsToExecutionChange()` happen only on processBlock(), not processEpoch()
23
23
  const state = chain.getHeadState();
24
24
  const { config } = chain;
25
+ const addressChange = blsToExecutionChange.message;
26
+ if (addressChange.validatorIndex >= state.validators.length) {
27
+ throw new BlsToExecutionChangeError(GossipAction.REJECT, {
28
+ code: BlsToExecutionChangeErrorCode.INVALID,
29
+ });
30
+ }
31
+ const validator = state.validators.getReadonly(addressChange.validatorIndex);
25
32
  // [REJECT] All of the conditions within process_bls_to_execution_change pass validation.
26
33
  // verifySignature = false, verified in batch below
27
- const { valid } = isValidBlsToExecutionChange(state, blsToExecutionChange, false);
34
+ const { valid } = isValidBlsToExecutionChange(config, validator, blsToExecutionChange, false);
28
35
  if (!valid) {
29
36
  throw new BlsToExecutionChangeError(GossipAction.REJECT, {
30
37
  code: BlsToExecutionChangeErrorCode.INVALID,
@@ -1 +1 @@
1
- {"version":3,"file":"blsToExecutionChange.js","sourceRoot":"","sources":["../../../src/chain/validation/blsToExecutionChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mCAAmC,EACnC,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,yBAAyB,EAAE,6BAA6B,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAG1G,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,KAAmB,EACnB,oBAAwD;IAExD,MAAM,YAAY,GAAG,IAAI,CAAC;IAC1B,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,OAAO,4BAA4B,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAC,YAAY,EAAE,aAAa,EAAC,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,KAAmB,EACnB,oBAAwD;IAExD,OAAO,4BAA4B,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,KAAmB,EACnB,oBAAwD,EACxD,OAA0D,EAAC,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAC;IAErG,MAAM,EAAC,YAAY,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC;IAC3C,kHAAkH;IAClH,qDAAqD;IACrD,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3G,MAAM,IAAI,yBAAyB,CAAC,YAAY,CAAC,MAAM,EAAE;YACvD,IAAI,EAAE,6BAA6B,CAAC,cAAc;SACnD,CAAC,CAAC;IACL,CAAC;IAED,kCAAkC;IAClC,sGAAsG;IACtG,2GAA2G;IAC3G,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACnC,MAAM,EAAC,MAAM,EAAC,GAAG,KAAK,CAAC;IAEvB,yFAAyF;IACzF,mDAAmD;IACnD,MAAM,EAAC,KAAK,EAAC,GAAG,2BAA2B,CAAC,KAAiC,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAC5G,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,yBAAyB,CAAC,YAAY,CAAC,MAAM,EAAE;YACvD,IAAI,EAAE,6BAA6B,CAAC,OAAO;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,mCAAmC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACvF,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,yBAAyB,CAAC,YAAY,CAAC,MAAM,EAAE;YACvD,IAAI,EAAE,6BAA6B,CAAC,iBAAiB;SACtD,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"blsToExecutionChange.js","sourceRoot":"","sources":["../../../src/chain/validation/blsToExecutionChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mCAAmC,EAAE,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AAE5G,OAAO,EAAC,yBAAyB,EAAE,6BAA6B,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAG1G,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,KAAmB,EACnB,oBAAwD;IAExD,MAAM,YAAY,GAAG,IAAI,CAAC;IAC1B,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,OAAO,4BAA4B,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAC,YAAY,EAAE,aAAa,EAAC,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,KAAmB,EACnB,oBAAwD;IAExD,OAAO,4BAA4B,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,KAAmB,EACnB,oBAAwD,EACxD,OAA0D,EAAC,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAC;IAErG,MAAM,EAAC,YAAY,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC;IAC3C,kHAAkH;IAClH,qDAAqD;IACrD,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3G,MAAM,IAAI,yBAAyB,CAAC,YAAY,CAAC,MAAM,EAAE;YACvD,IAAI,EAAE,6BAA6B,CAAC,cAAc;SACnD,CAAC,CAAC;IACL,CAAC;IAED,kCAAkC;IAClC,sGAAsG;IACtG,2GAA2G;IAC3G,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACnC,MAAM,EAAC,MAAM,EAAC,GAAG,KAAK,CAAC;IACvB,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC;IACnD,IAAI,aAAa,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC5D,MAAM,IAAI,yBAAyB,CAAC,YAAY,CAAC,MAAM,EAAE;YACvD,IAAI,EAAE,6BAA6B,CAAC,OAAO;SAC5C,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7E,yFAAyF;IACzF,mDAAmD;IACnD,MAAM,EAAC,KAAK,EAAC,GAAG,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAC5F,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,yBAAyB,CAAC,YAAY,CAAC,MAAM,EAAE;YACvD,IAAI,EAAE,6BAA6B,CAAC,OAAO;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,mCAAmC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACvF,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,yBAAyB,CAAC,YAAY,CAAC,MAAM,EAAE;YACvD,IAAI,EAAE,6BAA6B,CAAC,iBAAiB;SACtD,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -18,8 +18,9 @@ async function validateProposerSlashing(chain, proposerSlashing, prioritizeBls =
18
18
  const state = chain.getHeadState();
19
19
  // [REJECT] All of the conditions within process_proposer_slashing pass validation.
20
20
  try {
21
+ const proposer = state.validators.getReadonly(proposerSlashing.signedHeader1.message.proposerIndex);
21
22
  // verifySignature = false, verified in batch below
22
- assertValidProposerSlashing(state, proposerSlashing, false);
23
+ assertValidProposerSlashing(chain.config, chain.index2pubkey, state.slot, proposerSlashing, proposer, false);
23
24
  }
24
25
  catch (e) {
25
26
  throw new ProposerSlashingError(GossipAction.REJECT, {
@@ -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,mDAAmD;QACnD,2BAA2B,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC9D,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,CACpD,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,IAAI,EACV,gBAAgB,CACjB,CAAC;IACF,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,OAAO;YACvC,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC;SAClC,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;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,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACpG,mDAAmD;QACnD,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/G,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,CACpD,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,IAAI,EACV,gBAAgB,CACjB,CAAC;IACF,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,OAAO;YACvC,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC;SAClC,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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"}
@@ -1,14 +1,10 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
- import { Db, Repository } from "@lodestar/db";
3
- import { BeaconStateAllForks } from "@lodestar/state-transition";
2
+ import { BinaryRepository, Db } from "@lodestar/db";
4
3
  /**
5
4
  * Store temporary checkpoint states.
6
5
  * We should only put/get binary data from this repository, consumer will load it into an existing state ViewDU object.
7
6
  */
8
- export declare class CheckpointStateRepository extends Repository<Uint8Array, BeaconStateAllForks> {
7
+ export declare class CheckpointStateRepository extends BinaryRepository<Uint8Array> {
9
8
  constructor(config: ChainForkConfig, db: Db);
10
- getId(): Uint8Array;
11
- encodeValue(): Uint8Array;
12
- decodeValue(): BeaconStateAllForks;
13
9
  }
14
10
  //# sourceMappingURL=checkpointState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkpointState.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/checkpointState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAI/D;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,UAAU,CAAC,UAAU,EAAE,mBAAmB,CAAC;gBAC5E,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAQ3C,KAAK,IAAI,UAAU;IAInB,WAAW,IAAI,UAAU;IAIzB,WAAW,IAAI,mBAAmB;CAGnC"}
1
+ {"version":3,"file":"checkpointState.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/checkpointState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,gBAAgB,EAAE,EAAE,EAAC,MAAM,cAAc,CAAC;AAGlD;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,gBAAgB,CAAC,UAAU,CAAC;gBAC7D,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;CAK5C"}
@@ -1,26 +1,14 @@
1
- import { Repository } from "@lodestar/db";
2
- import { ssz } from "@lodestar/types";
1
+ import { BinaryRepository } from "@lodestar/db";
3
2
  import { Bucket, getBucketNameByValue } from "../buckets.js";
4
3
  /**
5
4
  * Store temporary checkpoint states.
6
5
  * We should only put/get binary data from this repository, consumer will load it into an existing state ViewDU object.
7
6
  */
8
- export class CheckpointStateRepository extends Repository {
7
+ export class CheckpointStateRepository extends BinaryRepository {
9
8
  constructor(config, db) {
10
- // Pick some type but won't be used. Casted to any because no type can match `BeaconStateAllForks`
11
- const type = ssz.phase0.BeaconState;
12
9
  const bucket = Bucket.allForks_checkpointState;
13
10
  // biome-ignore lint/suspicious/noExplicitAny: The type is complex to specify a proper override
14
- super(config, db, bucket, type, getBucketNameByValue(bucket));
15
- }
16
- getId() {
17
- throw Error("CheckpointStateRepository does not work with value");
18
- }
19
- encodeValue() {
20
- throw Error("CheckpointStateRepository does not work with value");
21
- }
22
- decodeValue() {
23
- throw Error("CheckpointStateRepository does not work with value");
11
+ super(config, db, bucket, getBucketNameByValue(bucket));
24
12
  }
25
13
  }
26
14
  //# sourceMappingURL=checkpointState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkpointState.js","sourceRoot":"","sources":["../../../src/db/repositories/checkpointState.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,UAAU,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,UAA2C;IACxF,YAAY,MAAuB,EAAE,EAAM;QACzC,kGAAkG;QAClG,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC;QAC/C,+FAA+F;QAC/F,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAW,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,KAAK;QACH,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAED,WAAW;QACT,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAED,WAAW;QACT,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACpE,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;QAC/C,+FAA+F;QAC/F,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF"}
@@ -1,15 +1,15 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
- import { Db, Repository } from "@lodestar/db";
3
- import { BeaconStateAllForks } from "@lodestar/state-transition";
4
- import { Epoch, Root, RootHex, Slot } from "@lodestar/types";
5
- export declare class StateArchiveRepository extends Repository<Slot, BeaconStateAllForks> {
2
+ import { BinaryRepository, Db } from "@lodestar/db";
3
+ import { Root, RootHex, Slot } from "@lodestar/types";
4
+ export type BeaconStateArchive = {
5
+ serialize(): Uint8Array;
6
+ hashTreeRoot(): Root;
7
+ };
8
+ export declare class StateArchiveRepository extends BinaryRepository<Slot> {
6
9
  constructor(config: ChainForkConfig, db: Db);
7
- encodeValue(value: BeaconStateAllForks): Uint8Array;
8
- decodeValue(data: Uint8Array): BeaconStateAllForks;
9
- put(key: Slot, value: BeaconStateAllForks): Promise<void>;
10
- getId(state: BeaconStateAllForks): Epoch;
10
+ put(key: Slot, value: BeaconStateArchive): Promise<void>;
11
11
  decodeKey(data: Uint8Array): number;
12
- getByRoot(stateRoot: Root): Promise<BeaconStateAllForks | null>;
12
+ getBinaryByRoot(stateRoot: Root): Promise<Uint8Array | null>;
13
13
  dumpRootIndexEntries(): Promise<{
14
14
  root: RootHex;
15
15
  slot: Slot;
@@ -1 +1 @@
1
- {"version":3,"file":"stateArchive.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/stateArchive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAMhE,qBAAa,sBAAuB,SAAQ,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC;gBACnE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAU3C,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,UAAU;IAInD,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,mBAAmB;IAM5C,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK;IAIxC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAM7B,SAAS,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAQ/D,oBAAoB,IAAI,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAC,EAAE,CAAC;YAYtD,aAAa;CAI5B"}
1
+ {"version":3,"file":"stateArchive.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/stateArchive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,gBAAgB,EAAE,EAAE,EAAC,MAAM,cAAc,CAAC;AAClD,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAKpD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,IAAI,UAAU,CAAC;IACxB,YAAY,IAAI,IAAI,CAAC;CACtB,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,gBAAgB,CAAC,IAAI,CAAC;gBACpD,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAOrC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAM7B,eAAe,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAQ5D,oBAAoB,IAAI,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAC,EAAE,CAAC;YAYtD,aAAa;CAI5B"}
@@ -1,39 +1,24 @@
1
- import { Repository } from "@lodestar/db";
2
- import { ssz } from "@lodestar/types";
1
+ import { BinaryRepository } from "@lodestar/db";
3
2
  import { bytesToInt, toHex } from "@lodestar/utils";
4
- import { getStateTypeFromBytes } from "../../util/multifork.js";
5
3
  import { Bucket, getBucketNameByValue } from "../buckets.js";
6
4
  import { getRootIndex, getRootIndexKey, storeRootIndex } from "./stateArchiveIndex.js";
7
- export class StateArchiveRepository extends Repository {
5
+ export class StateArchiveRepository extends BinaryRepository {
8
6
  constructor(config, db) {
9
- // Pick some type but won't be used. Casted to any because no type can match `BeaconStateAllForks`
10
- // biome-ignore lint/suspicious/noExplicitAny: We need to use `any` type here
11
- const type = ssz.phase0.BeaconState;
12
7
  const bucket = Bucket.allForks_stateArchive;
13
- super(config, db, bucket, type, getBucketNameByValue(bucket));
14
- }
15
- // Overrides for multi-fork
16
- encodeValue(value) {
17
- return value.serialize();
18
- }
19
- decodeValue(data) {
20
- return getStateTypeFromBytes(this.config, data).deserializeToViewDU(data);
8
+ super(config, db, bucket, getBucketNameByValue(bucket));
21
9
  }
22
10
  // Handle key as slot
23
11
  async put(key, value) {
24
- await Promise.all([super.put(key, value), storeRootIndex(this.db, key, value.hashTreeRoot())]);
25
- }
26
- getId(state) {
27
- return state.slot;
12
+ await Promise.all([super.putBinary(key, value.serialize()), storeRootIndex(this.db, key, value.hashTreeRoot())]);
28
13
  }
29
14
  decodeKey(data) {
30
15
  return bytesToInt(super.decodeKey(data), "be");
31
16
  }
32
17
  // Index Root -> Slot
33
- async getByRoot(stateRoot) {
18
+ async getBinaryByRoot(stateRoot) {
34
19
  const slot = await this.getSlotByRoot(stateRoot);
35
20
  if (slot !== null && Number.isInteger(slot)) {
36
- return this.get(slot);
21
+ return this.getBinary(slot);
37
22
  }
38
23
  return null;
39
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stateArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/stateArchive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stateArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/stateArchive.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAK,MAAM,cAAc,CAAC;AAElD,OAAO,EAAC,UAAU,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAOrF,MAAM,OAAO,sBAAuB,SAAQ,gBAAsB;IAChE,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC5C,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,qBAAqB;IAErB,KAAK,CAAC,GAAG,CAAC,GAAS,EAAE,KAAyB;QAC5C,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IACnH,CAAC;IAED,SAAS,CAAC,IAAgB;QACxB,OAAO,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAA0B,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,qBAAqB;IAErB,KAAK,CAAC,eAAe,CAAC,SAAe;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;YACpC,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5C,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7B,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YACtB,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;SACpC,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAAU;QACpC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF"}
@@ -1,16 +1,14 @@
1
+ import { ChainConfig } from "@lodestar/config";
1
2
  import { RootHex } from "@lodestar/types";
2
3
  import { PayloadIdCache } from "./interface.js";
3
4
  import { EngineApiRpcParamTypes, EngineApiRpcReturnTypes, PayloadStatus } from "./types.js";
4
5
  import { JsonRpcBackend } from "./utils.js";
5
6
  export type ExecutionEngineMockOpts = {
6
- genesisBlockHash: string;
7
+ genesisBlockHash?: string;
7
8
  eth1BlockHash?: string;
8
9
  onlyPredefinedResponses?: boolean;
9
- capellaForkTimestamp?: number;
10
- denebForkTimestamp?: number;
11
- electraForkTimestamp?: number;
12
- fuluForkTimestamp?: number;
13
- gloasForkTimestamp?: number;
10
+ genesisTime?: number;
11
+ config?: ChainConfig;
14
12
  };
15
13
  /**
16
14
  * Mock ExecutionEngine for fast prototyping and unit testing
@@ -28,6 +26,11 @@ export declare class ExecutionEngineMockBackend implements JsonRpcBackend {
28
26
  private readonly payloadsForDeletion;
29
27
  private readonly predefinedPayloadStatuses;
30
28
  private payloadId;
29
+ private capellaForkTimestamp;
30
+ private denebForkTimestamp;
31
+ private electraForkTimestamp;
32
+ private fuluForkTimestamp;
33
+ private gloasForkTimestamp;
31
34
  readonly handlers: {
32
35
  [K in keyof EngineApiRpcParamTypes]: (...args: EngineApiRpcParamTypes[K]) => EngineApiRpcReturnTypes[K];
33
36
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../src/execution/engine/mock.ts"],"names":[],"mappings":"AAUA,OAAO,EAAmB,OAAO,EAAwB,MAAM,iBAAiB,CAAC;AAMjF,OAAO,EAAqC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAEL,sBAAsB,EACtB,uBAAuB,EAIvB,aAAa,EAKd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,cAAc,EAAgB,MAAM,YAAY,CAAC;AAKzD,MAAM,MAAM,uBAAuB,GAAG;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAiBF;;GAEG;AACH,qBAAa,0BAA2B,YAAW,cAAc;IAqBnD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAnBjC,aAAa,SAAiB;IAC9B,aAAa,SAAiB;IAC9B,kBAAkB,SAAiB;IACnC,QAAQ,CAAC,cAAc,iBAAwB;IAE/C,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsC;IACxE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IAEjE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAqC;IAE/E,OAAO,CAAC,SAAS,CAAK;IAEtB,QAAQ,CAAC,QAAQ,EAAE;SAChB,CAAC,IAAI,MAAM,sBAAsB,GAAG,CAAC,GAAG,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC;KACxG,CAAC;gBAE2B,IAAI,EAAE,uBAAuB;IAsC1D,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,uBAAuB;IAO/B;;OAEG;IACH,0BAA0B,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI;IAIlF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6DxB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+K9B;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAiCpB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,eAAe;CAQxB"}
1
+ {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../src/execution/engine/mock.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAY7C,OAAO,EAAmB,OAAO,EAAwB,MAAM,iBAAiB,CAAC;AAMjF,OAAO,EAAqC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAEL,sBAAsB,EACtB,uBAAuB,EAIvB,aAAa,EAKd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,cAAc,EAAgB,MAAM,YAAY,CAAC;AAKzD,MAAM,MAAM,uBAAuB,GAAG;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAiBF;;GAEG;AACH,qBAAa,0BAA2B,YAAW,cAAc;IAyBnD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAvBjC,aAAa,SAAiB;IAC9B,aAAa,SAAiB;IAC9B,kBAAkB,SAAiB;IACnC,QAAQ,CAAC,cAAc,iBAAwB;IAE/C,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsC;IACxE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IACjE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAqC;IAE/E,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,kBAAkB,CAAS;IAEnC,QAAQ,CAAC,QAAQ,EAAE;SAChB,CAAC,IAAI,MAAM,sBAAsB,GAAG,CAAC,GAAG,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC;KACxG,CAAC;gBAE2B,IAAI,EAAE,uBAAuB;IA6D1D,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,uBAAuB;IAO/B;;OAEG;IACH,0BAA0B,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI;IAIlF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6DxB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+K9B;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAiCpB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,eAAe;CAQxB"}