@lodestar/state-transition 1.22.0 → 1.23.0-dev.06b4c2d324

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 (208) hide show
  1. package/lib/block/index.d.ts +3 -3
  2. package/lib/block/index.js +4 -4
  3. package/lib/block/index.js.map +1 -1
  4. package/lib/block/isValidIndexedAttestation.js +3 -7
  5. package/lib/block/isValidIndexedAttestation.js.map +1 -1
  6. package/lib/block/processAttestationPhase0.d.ts +2 -2
  7. package/lib/block/processAttestationPhase0.js +6 -10
  8. package/lib/block/processAttestationPhase0.js.map +1 -1
  9. package/lib/block/processAttestations.d.ts +1 -1
  10. package/lib/block/processAttestations.js.map +1 -1
  11. package/lib/block/processAttestationsAltair.d.ts +1 -1
  12. package/lib/block/processAttestationsAltair.js +1 -1
  13. package/lib/block/processAttestationsAltair.js.map +1 -1
  14. package/lib/block/processAttesterSlashing.d.ts +1 -1
  15. package/lib/block/processAttesterSlashing.js +2 -2
  16. package/lib/block/processAttesterSlashing.js.map +1 -1
  17. package/lib/block/processBlockHeader.js.map +1 -1
  18. package/lib/block/processBlsToExecutionChange.js +3 -2
  19. package/lib/block/processBlsToExecutionChange.js.map +1 -1
  20. package/lib/block/processConsolidationRequest.js +56 -10
  21. package/lib/block/processConsolidationRequest.js.map +1 -1
  22. package/lib/block/processDeposit.d.ts +5 -2
  23. package/lib/block/processDeposit.js +33 -37
  24. package/lib/block/processDeposit.js.map +1 -1
  25. package/lib/block/processDepositRequest.d.ts +1 -2
  26. package/lib/block/processDepositRequest.js +11 -3
  27. package/lib/block/processDepositRequest.js.map +1 -1
  28. package/lib/block/processEth1Data.js +1 -3
  29. package/lib/block/processEth1Data.js.map +1 -1
  30. package/lib/block/processExecutionPayload.d.ts +1 -1
  31. package/lib/block/processExecutionPayload.js +6 -5
  32. package/lib/block/processExecutionPayload.js.map +1 -1
  33. package/lib/block/processOperations.d.ts +5 -5
  34. package/lib/block/processOperations.js +8 -8
  35. package/lib/block/processOperations.js.map +1 -1
  36. package/lib/block/processProposerSlashing.d.ts +1 -1
  37. package/lib/block/processProposerSlashing.js +1 -1
  38. package/lib/block/processProposerSlashing.js.map +1 -1
  39. package/lib/block/processRandao.js +1 -1
  40. package/lib/block/processRandao.js.map +1 -1
  41. package/lib/block/processSyncCommittee.d.ts +1 -1
  42. package/lib/block/processSyncCommittee.js +3 -5
  43. package/lib/block/processSyncCommittee.js.map +1 -1
  44. package/lib/block/processVoluntaryExit.js +1 -1
  45. package/lib/block/processVoluntaryExit.js.map +1 -1
  46. package/lib/block/processWithdrawalRequest.d.ts +1 -1
  47. package/lib/block/processWithdrawalRequest.js +6 -6
  48. package/lib/block/processWithdrawalRequest.js.map +1 -1
  49. package/lib/block/processWithdrawals.d.ts +1 -1
  50. package/lib/block/processWithdrawals.js +4 -3
  51. package/lib/block/processWithdrawals.js.map +1 -1
  52. package/lib/block/slashValidator.d.ts +1 -1
  53. package/lib/block/slashValidator.js.map +1 -1
  54. package/lib/cache/epochCache.d.ts +58 -25
  55. package/lib/cache/epochCache.js +204 -97
  56. package/lib/cache/epochCache.js.map +1 -1
  57. package/lib/cache/epochTransitionCache.d.ts +4 -9
  58. package/lib/cache/epochTransitionCache.js +21 -8
  59. package/lib/cache/epochTransitionCache.js.map +1 -1
  60. package/lib/cache/pubkeyCache.d.ts +2 -10
  61. package/lib/cache/pubkeyCache.js +0 -18
  62. package/lib/cache/pubkeyCache.js.map +1 -1
  63. package/lib/cache/stateCache.d.ts +1 -1
  64. package/lib/cache/stateCache.js +4 -1
  65. package/lib/cache/stateCache.js.map +1 -1
  66. package/lib/cache/syncCommitteeCache.d.ts +2 -2
  67. package/lib/cache/syncCommitteeCache.js +1 -1
  68. package/lib/cache/syncCommitteeCache.js.map +1 -1
  69. package/lib/cache/types.d.ts +1 -1
  70. package/lib/constants/constants.d.ts +3 -4
  71. package/lib/constants/constants.js +4 -4
  72. package/lib/constants/constants.js.map +1 -1
  73. package/lib/epoch/computeUnrealizedCheckpoints.js +1 -1
  74. package/lib/epoch/computeUnrealizedCheckpoints.js.map +1 -1
  75. package/lib/epoch/getAttestationDeltas.d.ts +1 -1
  76. package/lib/epoch/getAttestationDeltas.js +2 -2
  77. package/lib/epoch/getAttestationDeltas.js.map +1 -1
  78. package/lib/epoch/getRewardsAndPenalties.js +1 -1
  79. package/lib/epoch/getRewardsAndPenalties.js.map +1 -1
  80. package/lib/epoch/index.d.ts +5 -5
  81. package/lib/epoch/index.js +6 -6
  82. package/lib/epoch/index.js.map +1 -1
  83. package/lib/epoch/processEffectiveBalanceUpdates.d.ts +1 -1
  84. package/lib/epoch/processEffectiveBalanceUpdates.js +4 -7
  85. package/lib/epoch/processEffectiveBalanceUpdates.js.map +1 -1
  86. package/lib/epoch/processEth1DataReset.d.ts +1 -1
  87. package/lib/epoch/processHistoricalRootsUpdate.d.ts +1 -1
  88. package/lib/epoch/processHistoricalSummariesUpdate.d.ts +1 -1
  89. package/lib/epoch/processJustificationAndFinalization.js.map +1 -1
  90. package/lib/epoch/processPendingConsolidations.js +7 -12
  91. package/lib/epoch/processPendingConsolidations.js.map +1 -1
  92. package/lib/epoch/{processPendingBalanceDeposits.d.ts → processPendingDeposits.d.ts} +4 -4
  93. package/lib/epoch/processPendingDeposits.js +102 -0
  94. package/lib/epoch/processPendingDeposits.js.map +1 -0
  95. package/lib/epoch/processRandaoMixesReset.d.ts +1 -1
  96. package/lib/epoch/processRegistryUpdates.d.ts +1 -1
  97. package/lib/epoch/processRegistryUpdates.js +1 -1
  98. package/lib/epoch/processRegistryUpdates.js.map +1 -1
  99. package/lib/epoch/processSlashings.js +8 -2
  100. package/lib/epoch/processSlashings.js.map +1 -1
  101. package/lib/epoch/processSlashingsReset.d.ts +1 -1
  102. package/lib/epoch/processSyncCommitteeUpdates.js +1 -1
  103. package/lib/epoch/processSyncCommitteeUpdates.js.map +1 -1
  104. package/lib/index.d.ts +2 -1
  105. package/lib/index.js +2 -1
  106. package/lib/index.js.map +1 -1
  107. package/lib/metrics.d.ts +2 -2
  108. package/lib/metrics.js +2 -0
  109. package/lib/metrics.js.map +1 -1
  110. package/lib/signatureSets/attesterSlashings.d.ts +2 -2
  111. package/lib/signatureSets/attesterSlashings.js +3 -5
  112. package/lib/signatureSets/attesterSlashings.js.map +1 -1
  113. package/lib/signatureSets/blsToExecutionChange.d.ts +2 -2
  114. package/lib/signatureSets/blsToExecutionChange.js +1 -1
  115. package/lib/signatureSets/blsToExecutionChange.js.map +1 -1
  116. package/lib/signatureSets/index.d.ts +1 -1
  117. package/lib/signatureSets/index.js +2 -2
  118. package/lib/signatureSets/index.js.map +1 -1
  119. package/lib/signatureSets/indexedAttestation.d.ts +1 -1
  120. package/lib/signatureSets/indexedAttestation.js.map +1 -1
  121. package/lib/signatureSets/proposer.d.ts +1 -1
  122. package/lib/signatureSets/proposer.js.map +1 -1
  123. package/lib/signatureSets/proposerSlashings.d.ts +1 -1
  124. package/lib/signatureSets/proposerSlashings.js +2 -4
  125. package/lib/signatureSets/proposerSlashings.js.map +1 -1
  126. package/lib/signatureSets/randao.d.ts +1 -1
  127. package/lib/signatureSets/randao.js +1 -1
  128. package/lib/signatureSets/randao.js.map +1 -1
  129. package/lib/signatureSets/voluntaryExits.d.ts +1 -1
  130. package/lib/signatureSets/voluntaryExits.js +1 -1
  131. package/lib/signatureSets/voluntaryExits.js.map +1 -1
  132. package/lib/slot/index.js.map +1 -1
  133. package/lib/slot/upgradeStateToAltair.d.ts +1 -1
  134. package/lib/slot/upgradeStateToAltair.js +6 -5
  135. package/lib/slot/upgradeStateToAltair.js.map +1 -1
  136. package/lib/slot/upgradeStateToBellatrix.js.map +1 -1
  137. package/lib/slot/upgradeStateToCapella.js +1 -0
  138. package/lib/slot/upgradeStateToCapella.js.map +1 -1
  139. package/lib/slot/upgradeStateToDeneb.js +1 -0
  140. package/lib/slot/upgradeStateToDeneb.js.map +1 -1
  141. package/lib/slot/upgradeStateToElectra.d.ts +1 -2
  142. package/lib/slot/upgradeStateToElectra.js +20 -44
  143. package/lib/slot/upgradeStateToElectra.js.map +1 -1
  144. package/lib/stateTransition.d.ts +3 -3
  145. package/lib/stateTransition.js +25 -6
  146. package/lib/stateTransition.js.map +1 -1
  147. package/lib/util/aggregator.js +2 -2
  148. package/lib/util/aggregator.js.map +1 -1
  149. package/lib/util/attestation.d.ts +1 -1
  150. package/lib/util/attestation.js.map +1 -1
  151. package/lib/util/balance.d.ts +1 -1
  152. package/lib/util/blindedBlock.d.ts +1 -1
  153. package/lib/util/blindedBlock.js +17 -13
  154. package/lib/util/blindedBlock.js.map +1 -1
  155. package/lib/util/blockRoot.d.ts +1 -1
  156. package/lib/util/blockRoot.js.map +1 -1
  157. package/lib/util/calculateCommitteeAssignments.d.ts +12 -0
  158. package/lib/util/calculateCommitteeAssignments.js +26 -0
  159. package/lib/util/calculateCommitteeAssignments.js.map +1 -0
  160. package/lib/util/computeAnchorCheckpoint.d.ts +8 -0
  161. package/lib/util/computeAnchorCheckpoint.js +32 -0
  162. package/lib/util/computeAnchorCheckpoint.js.map +1 -0
  163. package/lib/util/deposit.js +2 -6
  164. package/lib/util/deposit.js.map +1 -1
  165. package/lib/util/domain.d.ts +1 -1
  166. package/lib/util/electra.d.ts +0 -1
  167. package/lib/util/electra.js +19 -27
  168. package/lib/util/electra.js.map +1 -1
  169. package/lib/util/epoch.d.ts +1 -1
  170. package/lib/util/epochShuffling.d.ts +43 -2
  171. package/lib/util/epochShuffling.js +47 -23
  172. package/lib/util/epochShuffling.js.map +1 -1
  173. package/lib/util/execution.d.ts +2 -2
  174. package/lib/util/execution.js +7 -18
  175. package/lib/util/execution.js.map +1 -1
  176. package/lib/util/genesis.d.ts +2 -2
  177. package/lib/util/genesis.js +12 -7
  178. package/lib/util/genesis.js.map +1 -1
  179. package/lib/util/index.d.ts +2 -1
  180. package/lib/util/index.js +2 -1
  181. package/lib/util/index.js.map +1 -1
  182. package/lib/util/interop.js +1 -1
  183. package/lib/util/interop.js.map +1 -1
  184. package/lib/util/loadState/loadState.js +2 -2
  185. package/lib/util/loadState/loadState.js.map +1 -1
  186. package/lib/util/loadState/loadValidator.js +1 -3
  187. package/lib/util/loadState/loadValidator.js.map +1 -1
  188. package/lib/util/rootCache.d.ts +1 -1
  189. package/lib/util/seed.d.ts +2 -2
  190. package/lib/util/seed.js +2 -2
  191. package/lib/util/seed.js.map +1 -1
  192. package/lib/util/shufflingDecisionRoot.js +5 -11
  193. package/lib/util/shufflingDecisionRoot.js.map +1 -1
  194. package/lib/util/slot.d.ts +1 -1
  195. package/lib/util/slot.js +1 -1
  196. package/lib/util/slot.js.map +1 -1
  197. package/lib/util/syncCommittee.d.ts +2 -2
  198. package/lib/util/validator.d.ts +1 -2
  199. package/lib/util/validator.js +3 -11
  200. package/lib/util/validator.js.map +1 -1
  201. package/lib/util/weakSubjectivity.js +1 -2
  202. package/lib/util/weakSubjectivity.js.map +1 -1
  203. package/package.json +12 -10
  204. package/lib/epoch/processPendingBalanceDeposits.js +0 -68
  205. package/lib/epoch/processPendingBalanceDeposits.js.map +0 -1
  206. package/lib/util/shuffle.d.ts +0 -9
  207. package/lib/util/shuffle.js +0 -197
  208. package/lib/util/shuffle.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"voluntaryExits.js","sourceRoot":"","sources":["../../src/signatureSets/voluntaryExits.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EAEvB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,UAAU,4BAA4B,CAC1C,KAAgC,EAChC,mBAA+C;IAE/C,OAAO,kBAAkB,CAAC,4BAA4B,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACtF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAAgC,EAChC,mBAA+C;IAE/C,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC;IACzB,MAAM,IAAI,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAExE,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;QAC7B,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC;QACzE,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC;QAC9F,SAAS,EAAE,mBAAmB,CAAC,SAAS;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,KAAgC,EAChC,WAA8B;IAE9B,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CACnE,4BAA4B,CAAC,KAAK,EAAE,aAAa,CAAC,CACnD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"voluntaryExits.js","sourceRoot":"","sources":["../../src/signatureSets/voluntaryExits.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAEL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,UAAU,4BAA4B,CAC1C,KAAgC,EAChC,mBAA+C;IAE/C,OAAO,kBAAkB,CAAC,4BAA4B,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACtF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAAgC,EAChC,mBAA+C;IAE/C,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC;IACzB,MAAM,IAAI,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAExE,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;QAC7B,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC;QACzE,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC;QAC9F,SAAS,EAAE,mBAAmB,CAAC,SAAS;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,KAAgC,EAChC,WAA8B;IAE9B,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CACnE,4BAA4B,CAAC,KAAK,EAAE,aAAa,CAAC,CACnD,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/slot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAEjE;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAgC;IAC1D,mBAAmB;IACnB,gEAAgE;IAChE,MAAM,iBAAiB,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IAC/C,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,yBAAyB,EAAE,iBAAiB,CAAC,CAAC;IAEhF,uCAAuC;IACvC,IAAI,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QAClE,KAAK,CAAC,iBAAiB,CAAC,SAAS,GAAG,iBAAiB,CAAC;IACxD,CAAC;IAED,mBAAmB;IACnB,gEAAgE;IAChE,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;IACjE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,yBAAyB,EAAE,iBAAiB,CAAC,CAAC;AAClF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/slot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAGhD,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAEjE;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAgC;IAC1D,mBAAmB;IACnB,gEAAgE;IAChE,MAAM,iBAAiB,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IAC/C,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,yBAAyB,EAAE,iBAAiB,CAAC,CAAC;IAEhF,uCAAuC;IACvC,IAAI,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QAClE,KAAK,CAAC,iBAAiB,CAAC,SAAS,GAAG,iBAAiB,CAAC;IACxD,CAAC;IAED,mBAAmB;IACnB,gEAAgE;IAChE,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;IACjE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,yBAAyB,EAAE,iBAAiB,CAAC,CAAC;AAClF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CachedBeaconStatePhase0, CachedBeaconStateAltair } from "../types.js";
1
+ import { CachedBeaconStateAltair, CachedBeaconStatePhase0 } from "../types.js";
2
2
  /**
3
3
  * Upgrade a state from phase0 to altair.
4
4
  */
@@ -1,10 +1,10 @@
1
- import { ssz } from "@lodestar/types";
2
1
  import { ForkSeq } from "@lodestar/params";
3
- import { newZeroedArray, RootCache } from "../util/index.js";
2
+ import { ssz } from "@lodestar/types";
3
+ import { getAttestationParticipationStatus } from "../block/processAttestationsAltair.js";
4
+ import { getCachedBeaconState } from "../cache/stateCache.js";
5
+ import { RootCache, newZeroedArray } from "../util/index.js";
4
6
  import { getNextSyncCommittee } from "../util/syncCommittee.js";
5
7
  import { sumTargetUnslashedBalanceIncrements } from "../util/targetUnslashedBalance.js";
6
- import { getCachedBeaconState } from "../cache/stateCache.js";
7
- import { getAttestationParticipationStatus } from "../block/processAttestationsAltair.js";
8
8
  /**
9
9
  * Upgrade a state from phase0 to altair.
10
10
  */
@@ -60,7 +60,7 @@ export function upgradeStateToAltair(statePhase0) {
60
60
  // Cloned instance with same immutable Node
61
61
  stateAltair.currentEpochParticipation = ssz.altair.EpochParticipation.getViewDU(emptyEpochParticipationNode);
62
62
  stateAltair.inactivityScores = ssz.altair.InactivityScores.toViewDU(newZeroedArray(validatorCount));
63
- const { syncCommittee, indices } = getNextSyncCommittee(ForkSeq.altair, stateAltair, stateAltair.epochCtx.nextShuffling.activeIndices, stateAltair.epochCtx.effectiveBalanceIncrements);
63
+ const { syncCommittee, indices } = getNextSyncCommittee(ForkSeq.altair, stateAltair, stateAltair.epochCtx.nextActiveIndices, stateAltair.epochCtx.effectiveBalanceIncrements);
64
64
  const syncCommitteeView = ssz.altair.SyncCommittee.toViewDU(syncCommittee);
65
65
  stateAltair.currentSyncCommittee = syncCommitteeView;
66
66
  stateAltair.nextSyncCommittee = syncCommitteeView;
@@ -75,6 +75,7 @@ export function upgradeStateToAltair(statePhase0) {
75
75
  //
76
76
  // TODO: This could only drop the caches of index 15,16. However this would couple this code tightly with SSZ ViewDU
77
77
  // internals. If the cache is not cleared, consuming the ViewDU instance could break in strange ways.
78
+ // biome-ignore lint/complexity/useLiteralKeys: It is a protected attribute
78
79
  stateAltair["clearCache"]();
79
80
  // TODO: describe issue. Compute progressive target balances
80
81
  //
@@ -1 +1 @@
1
- {"version":3,"file":"upgradeStateToAltair.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToAltair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgradeStateToAltair.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToAltair.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,iCAAiC,EAAC,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAC,SAAS,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAC,mCAAmC,EAAC,MAAM,mCAAmC,CAAC;AAEtF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAoC;IACvE,MAAM,EAAC,MAAM,EAAC,GAAG,WAAW,CAAC;IAE7B,0DAA0D;IAC1D,EAAE;IACF,wFAAwF;IACxF,2EAA2E;IAC3E,2CAA2C;IAC3C,EAAE;IACF,iFAAiF;IACjF,EAAE;IACF,gDAAgD;IAChD,sDAAsD;IACtD,sDAAsD;IACtD,iEAAiE;IACjE,8CAA8C;IAC9C,8CAA8C;IAC9C,6DAA6D;IAC7D,qDAAqD;IACrD,qDAAqD;IACrD,0DAA0D;IAC1D,mDAAmD;IACnD,yDAAyD;IACzD,4DAA4D;IAC5D,oDAAoD;IACpD,kDAAkD;IAClD,sDAAsD;IACtD,mDAAmD;IACnD,sEAAsE;IACtE,qEAAqE;IACrE,4DAA4D;IAC5D,uEAAuE;IACvE,sEAAsE;IACtE,8DAA8D;IAC9D,2DAA2D;IAC3D,gEAAgE;IAChE,6DAA6D;IAE7D,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC1E,kFAAkF;IAClF,MAAM,WAAW,GAAG,oBAAoB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAEvE,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1C,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,cAAc;QAChD,cAAc,EAAE,MAAM,CAAC,mBAAmB;QAC1C,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK;KAClC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC;IACrD,MAAM,2BAA2B,GAAG,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IAC3G,MAAM,2BAA2B,GAAG,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC;IAC5G,WAAW,CAAC,0BAA0B,GAAG,2BAA2B,CAAC;IACrE,2CAA2C;IAC3C,WAAW,CAAC,yBAAyB,GAAG,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAE7G,WAAW,CAAC,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IAEpG,MAAM,EAAC,aAAa,EAAE,OAAO,EAAC,GAAG,oBAAoB,CACnD,OAAO,CAAC,MAAM,EACd,WAAW,EACX,WAAW,CAAC,QAAQ,CAAC,iBAAiB,EACtC,WAAW,CAAC,QAAQ,CAAC,0BAA0B,CAChD,CAAC;IACF,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAE3E,WAAW,CAAC,oBAAoB,GAAG,iBAAiB,CAAC;IACrD,WAAW,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAClD,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAEvD,MAAM,kBAAkB,GAAG,WAAW,CAAC,yBAAyB,CAAC;IACjE,sBAAsB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAExD,kDAAkD;IAClD,WAAW,CAAC,MAAM,EAAE,CAAC;IACrB,oFAAoF;IACpF,mEAAmE;IACnE,iEAAiE;IACjE,EAAE;IACF,oHAAoH;IACpH,2GAA2G;IAC3G,2EAA2E;IAC3E,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;IAE5B,4DAA4D;IAC5D,EAAE;IACF,iGAAiG;IACjG,uGAAuG;IACvG,EAAE;IACF,uGAAuG;IACvG,iGAAiG;IACjG,MAAM;IACN,iBAAiB;IACjB,+BAA+B;IAC/B,kCAAkC;IAClC,MAAM;IACN,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;IACrD,WAAW,CAAC,QAAQ,CAAC,wCAAwC,GAAG,mCAAmC,CACjG,WAAW,CAAC,0BAA0B,CAAC,MAAM,EAAE,EAC/C,aAAa,EACb,WAAW,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAC9C,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC7B,KAA8B,EAC9B,kBAAwE;IAExE,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC;IACzB,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,kBAAkB,GAAG,KAAK,CAAC,0BAA0B,CAAC;IAE5D,KAAK,MAAM,WAAW,IAAI,kBAAkB,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC9B,MAAM,gBAAgB,GAAG,iCAAiC,CACxD,OAAO,CAAC,MAAM,EACd,IAAI,EACJ,WAAW,CAAC,cAAc,EAC1B,QAAQ,CAAC,KAAK,EACd,SAAS,CACV,CAAC;QAEF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,gBAAgB,GAAG,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAEvF,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;YACrC,uFAAuF;YACvF,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"upgradeStateToBellatrix.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToBellatrix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAE5D;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAoC;IAC1E,MAAM,EAAC,MAAM,EAAC,GAAG,WAAW,CAAC;IAE7B,6DAA6D;IAC7D,EAAE;IACF,2FAA2F;IAC3F,2CAA2C;IAC3C,EAAE;IACF,kDAAkD;IAClD,qDAAqD;IACrD,qDAAqD;IACrD,gEAAgE;IAChE,6CAA6C;IAC7C,6CAA6C;IAC7C,4DAA4D;IAC5D,oDAAoD;IACpD,oDAAoD;IACpD,yDAAyD;IACzD,kDAAkD;IAClD,wDAAwD;IACxD,2DAA2D;IAC3D,mDAAmD;IACnD,iDAAiD;IACjD,qDAAqD;IACrD,kDAAkD;IAClD,qEAAqE;IACrE,oEAAoE;IACpE,2DAA2D;IAC3D,sEAAsE;IACtE,qEAAqE;IACrE,6DAA6D;IAC7D,0DAA0D;IAC1D,+DAA+D;IAC/D,4DAA4D;IAC5D,wEAAwE;IAExE,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAChF,qFAAqF;IACrF,MAAM,cAAc,GAAG,oBAAoB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAE7E,cAAc,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC7C,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,cAAc;QAChD,cAAc,EAAE,MAAM,CAAC,sBAAsB;QAC7C,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK;KAClC,CAAC,CAAC;IAEH,kBAAkB;IAClB,cAAc,CAAC,4BAA4B,GAAG,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,EAAE,CAAC;IAEnG,kDAAkD;IAClD,cAAc,CAAC,MAAM,EAAE,CAAC;IACxB,8EAA8E;IAE9E,OAAO,cAAc,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"upgradeStateToBellatrix.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToBellatrix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAG5D;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAoC;IAC1E,MAAM,EAAC,MAAM,EAAC,GAAG,WAAW,CAAC;IAE7B,6DAA6D;IAC7D,EAAE;IACF,2FAA2F;IAC3F,2CAA2C;IAC3C,EAAE;IACF,kDAAkD;IAClD,qDAAqD;IACrD,qDAAqD;IACrD,gEAAgE;IAChE,6CAA6C;IAC7C,6CAA6C;IAC7C,4DAA4D;IAC5D,oDAAoD;IACpD,oDAAoD;IACpD,yDAAyD;IACzD,kDAAkD;IAClD,wDAAwD;IACxD,2DAA2D;IAC3D,mDAAmD;IACnD,iDAAiD;IACjD,qDAAqD;IACrD,kDAAkD;IAClD,qEAAqE;IACrE,oEAAoE;IACpE,2DAA2D;IAC3D,sEAAsE;IACtE,qEAAqE;IACrE,6DAA6D;IAC7D,0DAA0D;IAC1D,+DAA+D;IAC/D,4DAA4D;IAC5D,wEAAwE;IAExE,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAChF,qFAAqF;IACrF,MAAM,cAAc,GAAG,oBAAoB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAE7E,cAAc,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC7C,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,cAAc;QAChD,cAAc,EAAE,MAAM,CAAC,sBAAsB;QAC7C,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK;KAClC,CAAC,CAAC;IAEH,kBAAkB;IAClB,cAAc,CAAC,4BAA4B,GAAG,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,EAAE,CAAC;IAEnG,kDAAkD;IAClD,cAAc,CAAC,MAAM,EAAE,CAAC;IACxB,8EAA8E;IAE9E,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -57,6 +57,7 @@ export function upgradeStateToCapella(stateBellatrix) {
57
57
  // Commit new added fields ViewDU to the root node
58
58
  stateCapella.commit();
59
59
  // Clear cache to ensure the cache of bellatrix fields is not used by new capella fields
60
+ // biome-ignore lint/complexity/useLiteralKeys: It is a protected attribute
60
61
  stateCapella["clearCache"]();
61
62
  return stateCapella;
62
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgradeStateToCapella.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToCapella.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAE5D;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,cAA0C;IAC9E,MAAM,EAAC,MAAM,EAAC,GAAG,cAAc,CAAC;IAEhC,8DAA8D;IAC9D,EAAE;IACF,4FAA4F;IAC5F,2EAA2E;IAC3E,2CAA2C;IAC3C,EAAE;IACF,qDAAqD;IACrD,0DAA0D;IAC1D,0DAA0D;IAC1D,qEAAqE;IACrE,kDAAkD;IAClD,kDAAkD;IAClD,iEAAiE;IACjE,yDAAyD;IACzD,yDAAyD;IACzD,8DAA8D;IAC9D,uDAAuD;IACvD,6DAA6D;IAC7D,gEAAgE;IAChE,wDAAwD;IACxD,sDAAsD;IACtD,0DAA0D;IAC1D,uDAAuD;IACvD,0EAA0E;IAC1E,yEAAyE;IACzE,gEAAgE;IAChE,2EAA2E;IAC3E,0EAA0E;IAC1E,kEAAkE;IAClE,+DAA+D;IAC/D,oEAAoE;IACpE,iEAAiE;IACjE,6EAA6E;IAC7E,mEAAmE;IACnE,6EAA6E;IAC7E,kEAAkE;IAElE,MAAM,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAClF,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC/E,sFAAsF;IACtF,MAAM,YAAY,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAE5E,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3C,eAAe,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc;QACnD,cAAc,EAAE,MAAM,CAAC,oBAAoB;QAC3C,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK;KACrC,CAAC,CAAC;IAEH,uFAAuF;IACvF,wEAAwE;IACxE,8FAA8F;IAC9F,YAAY,CAAC,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAC;IAEtG,kDAAkD;IAClD,YAAY,CAAC,MAAM,EAAE,CAAC;IACtB,wFAAwF;IACxF,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;IAE7B,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"upgradeStateToCapella.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToCapella.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAG5D;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,cAA0C;IAC9E,MAAM,EAAC,MAAM,EAAC,GAAG,cAAc,CAAC;IAEhC,8DAA8D;IAC9D,EAAE;IACF,4FAA4F;IAC5F,2EAA2E;IAC3E,2CAA2C;IAC3C,EAAE;IACF,qDAAqD;IACrD,0DAA0D;IAC1D,0DAA0D;IAC1D,qEAAqE;IACrE,kDAAkD;IAClD,kDAAkD;IAClD,iEAAiE;IACjE,yDAAyD;IACzD,yDAAyD;IACzD,8DAA8D;IAC9D,uDAAuD;IACvD,6DAA6D;IAC7D,gEAAgE;IAChE,wDAAwD;IACxD,sDAAsD;IACtD,0DAA0D;IAC1D,uDAAuD;IACvD,0EAA0E;IAC1E,yEAAyE;IACzE,gEAAgE;IAChE,2EAA2E;IAC3E,0EAA0E;IAC1E,kEAAkE;IAClE,+DAA+D;IAC/D,oEAAoE;IACpE,iEAAiE;IACjE,6EAA6E;IAC7E,mEAAmE;IACnE,6EAA6E;IAC7E,kEAAkE;IAElE,MAAM,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAClF,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC/E,sFAAsF;IACtF,MAAM,YAAY,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAE5E,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3C,eAAe,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc;QACnD,cAAc,EAAE,MAAM,CAAC,oBAAoB;QAC3C,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK;KACrC,CAAC,CAAC;IAEH,uFAAuF;IACvF,wEAAwE;IACxE,8FAA8F;IAC9F,YAAY,CAAC,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAC;IAEtG,kDAAkD;IAClD,YAAY,CAAC,MAAM,EAAE,CAAC;IACtB,wFAAwF;IACxF,2EAA2E;IAC3E,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;IAE7B,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -26,6 +26,7 @@ export function upgradeStateToDeneb(stateCapella) {
26
26
  });
27
27
  stateDeneb.commit();
28
28
  // Clear cache to ensure the cache of capella fields is not used by new deneb fields
29
+ // biome-ignore lint/complexity/useLiteralKeys: It is a protected attribute
29
30
  stateDeneb["clearCache"]();
30
31
  return stateDeneb;
31
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgradeStateToDeneb.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToDeneb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAG5D;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAsC;IACxE,MAAM,EAAC,MAAM,EAAC,GAAG,YAAY,CAAC;IAE9B,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAEzE,MAAM,UAAU,GAAG,oBAAoB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAEtE,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzC,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc;QACjD,cAAc,EAAE,MAAM,CAAC,kBAAkB;QACzC,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK;KACnC,CAAC,CAAC;IAEH,4GAA4G;IAC5G,2GAA2G;IAC3G,wGAAwG;IACxG,oBAAoB;IACpB,EAAE;IACF,qDAAqD;IACrD,UAAU,CAAC,4BAA4B,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,4BAA4B,CAAC,QAAQ,CAAC;QAC3G,GAAG,YAAY,CAAC,4BAA4B,CAAC,OAAO,EAAE;QACtD,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;KACvB,CAAC,CAAC;IAEH,UAAU,CAAC,MAAM,EAAE,CAAC;IACpB,oFAAoF;IACpF,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;IAE3B,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"upgradeStateToDeneb.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToDeneb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAI5D;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAsC;IACxE,MAAM,EAAC,MAAM,EAAC,GAAG,YAAY,CAAC;IAE9B,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAEzE,MAAM,UAAU,GAAG,oBAAoB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAEtE,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzC,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc;QACjD,cAAc,EAAE,MAAM,CAAC,kBAAkB;QACzC,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK;KACnC,CAAC,CAAC;IAEH,4GAA4G;IAC5G,2GAA2G;IAC3G,wGAAwG;IACxG,oBAAoB;IACpB,EAAE;IACF,qDAAqD;IACrD,UAAU,CAAC,4BAA4B,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,4BAA4B,CAAC,QAAQ,CAAC;QAC3G,GAAG,YAAY,CAAC,4BAA4B,CAAC,OAAO,EAAE;QACtD,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;KACvB,CAAC,CAAC;IAEH,UAAU,CAAC,MAAM,EAAE,CAAC;IACpB,oFAAoF;IACpF,2EAA2E;IAC3E,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;IAE3B,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,8 +1,7 @@
1
- import { CachedBeaconStateDeneb } from "../types.js";
2
1
  import { CachedBeaconStateElectra } from "../cache/stateCache.js";
2
+ import { CachedBeaconStateDeneb } from "../types.js";
3
3
  /**
4
4
  * Upgrade a state from Deneb to Electra.
5
5
  */
6
6
  export declare function upgradeStateToElectra(stateDeneb: CachedBeaconStateDeneb): CachedBeaconStateElectra;
7
- export declare function upgradeStateToElectraOriginal(stateDeneb: CachedBeaconStateDeneb): CachedBeaconStateElectra;
8
7
  //# sourceMappingURL=upgradeStateToElectra.d.ts.map
@@ -1,7 +1,8 @@
1
+ import { FAR_FUTURE_EPOCH, GENESIS_SLOT, UNSET_DEPOSIT_REQUESTS_START_INDEX } from "@lodestar/params";
1
2
  import { ssz } from "@lodestar/types";
2
- import { FAR_FUTURE_EPOCH, UNSET_DEPOSIT_REQUESTS_START_INDEX } from "@lodestar/params";
3
3
  import { getCachedBeaconState } from "../cache/stateCache.js";
4
- import { hasCompoundingWithdrawalCredential, queueEntireBalanceAndResetValidator, queueExcessActiveBalance, } from "../util/electra.js";
4
+ import { G2_POINT_AT_INFINITY } from "../constants/constants.js";
5
+ import { hasCompoundingWithdrawalCredential, queueExcessActiveBalance } from "../util/electra.js";
5
6
  import { computeActivationExitEpoch } from "../util/epoch.js";
6
7
  import { getActivationExitChurnLimit, getConsolidationChurnLimit } from "../util/validator.js";
7
8
  /**
@@ -40,16 +41,10 @@ export function upgradeStateToElectra(stateDeneb) {
40
41
  stateElectraView.inactivityScores = stateElectraCloned.inactivityScores;
41
42
  stateElectraView.currentSyncCommittee = stateElectraCloned.currentSyncCommittee;
42
43
  stateElectraView.nextSyncCommittee = stateElectraCloned.nextSyncCommittee;
43
- stateElectraView.latestExecutionPayloadHeader = ssz.electra.BeaconState.fields.latestExecutionPayloadHeader.toViewDU({
44
- ...stateElectraCloned.latestExecutionPayloadHeader.toValue(),
45
- depositRequestsRoot: ssz.Root.defaultValue(),
46
- withdrawalRequestsRoot: ssz.Root.defaultValue(),
47
- consolidationRequestsRoot: ssz.Root.defaultValue(),
48
- });
44
+ stateElectraView.latestExecutionPayloadHeader = stateElectraCloned.latestExecutionPayloadHeader;
49
45
  stateElectraView.nextWithdrawalIndex = stateDeneb.nextWithdrawalIndex;
50
46
  stateElectraView.nextWithdrawalValidatorIndex = stateDeneb.nextWithdrawalValidatorIndex;
51
47
  stateElectraView.historicalSummaries = stateElectraCloned.historicalSummaries;
52
- // latestExecutionPayloadHeader's depositRequestsRoot and withdrawalRequestsRoot set to zeros by default
53
48
  // default value of depositRequestsStartIndex is UNSET_DEPOSIT_REQUESTS_START_INDEX
54
49
  stateElectraView.depositRequestsStartIndex = UNSET_DEPOSIT_REQUESTS_START_INDEX;
55
50
  stateElectraView.depositBalanceToConsume = BigInt(0);
@@ -74,8 +69,6 @@ export function upgradeStateToElectra(stateDeneb) {
74
69
  stateElectraView.earliestExitEpoch = Math.max(...exitEpochs) + 1;
75
70
  stateElectraView.consolidationBalanceToConsume = BigInt(0);
76
71
  stateElectraView.earliestConsolidationEpoch = computeActivationExitEpoch(currentEpochPre);
77
- // stateElectraView.pendingBalanceDeposits = ssz.electra.PendingBalanceDeposits.defaultViewDU();
78
- // pendingBalanceDeposits, pendingPartialWithdrawals, pendingConsolidations are default values
79
72
  // TODO-electra: can we improve this?
80
73
  stateElectraView.commit();
81
74
  const tmpElectraState = getCachedBeaconState(stateElectraView, stateDeneb);
@@ -86,7 +79,21 @@ export function upgradeStateToElectra(stateDeneb) {
86
79
  return res !== 0 ? res : i0 - i1;
87
80
  });
88
81
  for (const validatorIndex of preActivation) {
89
- queueEntireBalanceAndResetValidator(stateElectraView, validatorIndex);
82
+ const stateElectra = stateElectraView;
83
+ const balance = stateElectra.balances.get(validatorIndex);
84
+ stateElectra.balances.set(validatorIndex, 0);
85
+ const validator = stateElectra.validators.get(validatorIndex);
86
+ validator.effectiveBalance = 0;
87
+ stateElectra.epochCtx.effectiveBalanceIncrementsSet(validatorIndex, 0);
88
+ validator.activationEligibilityEpoch = FAR_FUTURE_EPOCH;
89
+ const pendingDeposit = ssz.electra.PendingDeposit.toViewDU({
90
+ pubkey: validator.pubkey,
91
+ withdrawalCredentials: validator.withdrawalCredentials,
92
+ amount: balance,
93
+ signature: G2_POINT_AT_INFINITY,
94
+ slot: GENESIS_SLOT,
95
+ });
96
+ stateElectra.pendingDeposits.push(pendingDeposit);
90
97
  }
91
98
  for (let i = 0; i < validatorsArr.length; i++) {
92
99
  const validator = validatorsArr[i];
@@ -100,38 +107,7 @@ export function upgradeStateToElectra(stateDeneb) {
100
107
  // Commit new added fields ViewDU to the root node
101
108
  stateElectra.commit();
102
109
  // Clear cache to ensure the cache of deneb fields is not used by new ELECTRA fields
103
- stateElectra["clearCache"]();
104
- return stateElectra;
105
- }
106
- export function upgradeStateToElectraOriginal(stateDeneb) {
107
- const { config } = stateDeneb;
108
- const stateElectraNode = ssz.deneb.BeaconState.commitViewDU(stateDeneb);
109
- const stateElectraView = ssz.electra.BeaconState.getViewDU(stateElectraNode);
110
- const stateElectra = getCachedBeaconState(stateElectraView, stateDeneb);
111
- stateElectra.fork = ssz.phase0.Fork.toViewDU({
112
- previousVersion: stateDeneb.fork.currentVersion,
113
- currentVersion: config.ELECTRA_FORK_VERSION,
114
- epoch: stateDeneb.epochCtx.epoch,
115
- });
116
- // latestExecutionPayloadHeader's depositRequestsRoot and withdrawalRequestsRoot set to zeros by default
117
- // default value of depositRequestsStartIndex is UNSET_DEPOSIT_REQUESTS_START_INDEX
118
- stateElectra.depositRequestsStartIndex = UNSET_DEPOSIT_REQUESTS_START_INDEX;
119
- const validatorsArr = stateElectra.validators.getAllReadonly();
120
- for (let i = 0; i < validatorsArr.length; i++) {
121
- const validator = validatorsArr[i];
122
- // [EIP-7251]: add validators that are not yet active to pending balance deposits
123
- if (validator.activationEligibilityEpoch === FAR_FUTURE_EPOCH) {
124
- queueEntireBalanceAndResetValidator(stateElectra, i);
125
- }
126
- // [EIP-7251]: Ensure early adopters of compounding credentials go through the activation churn
127
- const withdrawalCredential = validator.withdrawalCredentials;
128
- if (hasCompoundingWithdrawalCredential(withdrawalCredential)) {
129
- queueExcessActiveBalance(stateElectra, i);
130
- }
131
- }
132
- // Commit new added fields ViewDU to the root node
133
- stateElectra.commit();
134
- // Clear cache to ensure the cache of deneb fields is not used by new ELECTRA fields
110
+ // biome-ignore lint/complexity/useLiteralKeys: It is a protected attribute
135
111
  stateElectra["clearCache"]();
136
112
  return stateElectra;
137
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgradeStateToElectra.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToElectra.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAE,kCAAkC,EAAC,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAA2B,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AACtF,OAAO,EACL,kCAAkC,EAClC,mCAAmC,EACnC,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,0BAA0B,EAAC,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAC,2BAA2B,EAAE,0BAA0B,EAAC,MAAM,sBAAsB,CAAC;AAE7F;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkC;IACtE,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC;IAE5B,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,UAAU,CAAC;IAEtC,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;IACjE,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC;IAC9D,gBAAgB,CAAC,qBAAqB,GAAG,kBAAkB,CAAC,qBAAqB,CAAC;IAClF,gBAAgB,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAChD,gBAAgB,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/C,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,cAAc;QAC/C,cAAc,EAAE,MAAM,CAAC,oBAAoB;QAC3C,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK;KACjC,CAAC,CAAC;IACH,gBAAgB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,iBAAiB,CAAC;IAC1E,gBAAgB,CAAC,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC;IAC5D,gBAAgB,CAAC,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC;IAC5D,gBAAgB,CAAC,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAC;IACtE,gBAAgB,CAAC,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;IACxD,gBAAgB,CAAC,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC;IAClE,gBAAgB,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC;IACxE,gBAAgB,CAAC,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC;IAC5D,gBAAgB,CAAC,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;IACxD,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC;IAC9D,gBAAgB,CAAC,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC;IAC1D,gBAAgB,CAAC,0BAA0B,GAAG,kBAAkB,CAAC,0BAA0B,CAAC;IAC5F,gBAAgB,CAAC,yBAAyB,GAAG,kBAAkB,CAAC,yBAAyB,CAAC;IAC1F,gBAAgB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,iBAAiB,CAAC;IAC1E,gBAAgB,CAAC,2BAA2B,GAAG,kBAAkB,CAAC,2BAA2B,CAAC;IAC9F,gBAAgB,CAAC,0BAA0B,GAAG,kBAAkB,CAAC,0BAA0B,CAAC;IAC5F,gBAAgB,CAAC,mBAAmB,GAAG,kBAAkB,CAAC,mBAAmB,CAAC;IAC9E,gBAAgB,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC;IACxE,gBAAgB,CAAC,oBAAoB,GAAG,kBAAkB,CAAC,oBAAoB,CAAC;IAChF,gBAAgB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,iBAAiB,CAAC;IAC1E,gBAAgB,CAAC,4BAA4B,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,4BAA4B,CAAC,QAAQ,CAAC;QACnH,GAAG,kBAAkB,CAAC,4BAA4B,CAAC,OAAO,EAAE;QAC5D,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE;QAC5C,sBAAsB,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE;QAC/C,yBAAyB,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE;KACnD,CAAC,CAAC;IACH,gBAAgB,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;IACtE,gBAAgB,CAAC,4BAA4B,GAAG,UAAU,CAAC,4BAA4B,CAAC;IACxF,gBAAgB,CAAC,mBAAmB,GAAG,kBAAkB,CAAC,mBAAmB,CAAC;IAE9E,wGAAwG;IACxG,mFAAmF;IACnF,gBAAgB,CAAC,yBAAyB,GAAG,kCAAkC,CAAC;IAChF,gBAAgB,CAAC,uBAAuB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD,gBAAgB,CAAC,oBAAoB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAElD,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;IACnE,MAAM,UAAU,GAAY,EAAE,CAAC;IAE/B,iFAAiF;IACjF,MAAM,aAAa,GAAqB,EAAE,CAAC;IAC3C,KAAK,IAAI,cAAc,GAAG,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC;QACrF,MAAM,EAAC,eAAe,EAAE,SAAS,EAAC,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;QACnE,IAAI,eAAe,KAAK,gBAAgB,EAAE,CAAC;YACzC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;IAElD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IACD,gBAAgB,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACjE,gBAAgB,CAAC,6BAA6B,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3D,gBAAgB,CAAC,0BAA0B,GAAG,0BAA0B,CAAC,eAAe,CAAC,CAAC;IAC1F,gGAAgG;IAChG,+FAA+F;IAC/F,qCAAqC;IACrC,gBAAgB,CAAC,MAAM,EAAE,CAAC;IAC1B,MAAM,eAAe,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC3E,gBAAgB,CAAC,oBAAoB,GAAG,MAAM,CAAC,2BAA2B,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtG,gBAAgB,CAAC,6BAA6B,GAAG,MAAM,CAAC,0BAA0B,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9G,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC5B,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,0BAA0B,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,0BAA0B,CAAC;QACxG,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,cAAc,IAAI,aAAa,EAAE,CAAC;QAC3C,mCAAmC,CAAC,gBAA4C,EAAE,cAAc,CAAC,CAAC;IACpG,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAEnC,+FAA+F;QAC/F,MAAM,oBAAoB,GAAG,SAAS,CAAC,qBAAqB,CAAC;QAC7D,IAAI,kCAAkC,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC7D,wBAAwB,CAAC,gBAA4C,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACxE,kDAAkD;IAClD,YAAY,CAAC,MAAM,EAAE,CAAC;IACtB,oFAAoF;IACpF,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;IAE7B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAkC;IAC9E,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC;IAE5B,MAAM,gBAAgB,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAE7E,MAAM,YAAY,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAExE,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3C,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,cAAc;QAC/C,cAAc,EAAE,MAAM,CAAC,oBAAoB;QAC3C,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK;KACjC,CAAC,CAAC;IAEH,wGAAwG;IACxG,mFAAmF;IACnF,YAAY,CAAC,yBAAyB,GAAG,kCAAkC,CAAC;IAE5E,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;IAE/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAEnC,iFAAiF;QACjF,IAAI,SAAS,CAAC,0BAA0B,KAAK,gBAAgB,EAAE,CAAC;YAC9D,mCAAmC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,+FAA+F;QAC/F,MAAM,oBAAoB,GAAG,SAAS,CAAC,qBAAqB,CAAC;QAC7D,IAAI,kCAAkC,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC7D,wBAAwB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,YAAY,CAAC,MAAM,EAAE,CAAC;IACtB,oFAAoF;IACpF,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;IAE7B,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"upgradeStateToElectra.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToElectra.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { SignedBeaconBlock, SignedBlindedBeaconBlock, Slot } from "@lodestar/types";
2
- import { BeaconStateTransitionMetrics } from "./metrics.js";
3
- import { EpochTransitionCacheOpts } from "./cache/epochTransitionCache.js";
4
- import { CachedBeaconStateAllForks } from "./types.js";
5
2
  import { BlockExternalData } from "./block/externalData.js";
6
3
  import { ProcessBlockOpts } from "./block/types.js";
4
+ import { EpochTransitionCacheOpts } from "./cache/epochTransitionCache.js";
5
+ import { BeaconStateTransitionMetrics } from "./metrics.js";
6
+ import { CachedBeaconStateAllForks } from "./types.js";
7
7
  export type StateTransitionOpts = BlockExternalData & EpochTransitionCacheOpts & ProcessBlockOpts & {
8
8
  verifyStateRoot?: boolean;
9
9
  verifyProposer?: boolean;
@@ -1,14 +1,14 @@
1
- import { ssz } from "@lodestar/types";
2
1
  import { SLOTS_PER_EPOCH } from "@lodestar/params";
2
+ import { ssz } from "@lodestar/types";
3
3
  import { toRootHex } from "@lodestar/utils";
4
- import { onPostStateMetrics, onStateCloneMetrics } from "./metrics.js";
4
+ import { DataAvailableStatus, ExecutionPayloadStatus } from "./block/externalData.js";
5
+ import { processBlock } from "./block/index.js";
5
6
  import { beforeProcessEpoch } from "./cache/epochTransitionCache.js";
6
- import { computeEpochAtSlot } from "./util/index.js";
7
+ import { EpochTransitionStep, processEpoch } from "./epoch/index.js";
8
+ import { onPostStateMetrics, onStateCloneMetrics } from "./metrics.js";
7
9
  import { verifyProposerSignature } from "./signatureSets/index.js";
8
10
  import { processSlot, upgradeStateToAltair, upgradeStateToBellatrix, upgradeStateToCapella, upgradeStateToDeneb, upgradeStateToElectra, } from "./slot/index.js";
9
- import { processBlock } from "./block/index.js";
10
- import { EpochTransitionStep, processEpoch } from "./epoch/index.js";
11
- import { DataAvailableStatus, ExecutionPayloadStatus } from "./block/externalData.js";
11
+ import { computeEpochAtSlot } from "./util/index.js";
12
12
  /**
13
13
  * `state.clone()` invocation source tracked in metrics
14
14
  */
@@ -102,6 +102,25 @@ export function processSlots(state, slot, epochTransitionCacheOpts, metrics) {
102
102
  }
103
103
  /**
104
104
  * All processSlot() logic but separate so stateTransition() can recycle the caches
105
+ *
106
+ * Epoch transition will be processed at the last slot of an epoch. Note that compute_shuffling() is going
107
+ * to be executed in parallel (either by napi-rs or worker thread) with processEpoch() like below:
108
+ *
109
+ * state-transition
110
+ * ╔══════════════════════════════════════════════════════════════════════════════════╗
111
+ * ║ beforeProcessEpoch processEpoch afterPRocessEpoch ║
112
+ * ║ |-------------------------|--------------------|-------------------------------|║
113
+ * ║ | | | ║
114
+ * ╚═══════════════════════|═══════════════════════════════|══════════════════════════╝
115
+ * | |
116
+ * build() get()
117
+ * | |
118
+ * ╔═══════════════════════V═══════════════════════════════V═══════════════════════════╗
119
+ * ║ | | ║
120
+ * ║ |-------------------------------| ║
121
+ * ║ compute_shuffling() ║
122
+ * ╚═══════════════════════════════════════════════════════════════════════════════════╝
123
+ * beacon-node ShufflingCache
105
124
  */
106
125
  function processSlotsWithTransientCache(postState, slot, epochTransitionCacheOpts, metrics) {
107
126
  const { config } = postState;
@@ -1 +1 @@
1
- {"version":3,"file":"stateTransition.js","sourceRoot":"","sources":["../src/stateTransition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stateTransition.js","sourceRoot":"","sources":["../src/stateTransition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAoD,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAoB,mBAAmB,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AACvG,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAiD,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACnH,OAAO,EAAC,mBAAmB,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAA+B,kBAAkB,EAAE,mBAAmB,EAAC,MAAM,cAAc,CAAC;AACnG,OAAO,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AACjE,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAcnD;;GAEG;AACH,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,uDAAmC,CAAA;IACnC,iDAA6B,CAAA;AAC/B,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,uBAOX;AAPD,WAAY,uBAAuB;IACjC,+DAAoC,CAAA;IACpC,+DAAoC,CAAA;IACpC,gEAAqC,CAAA;IACrC,kEAAuC,CAAA;IACvC,qDAA0B,CAAA;IAC1B,yEAA8C,CAAA;AAChD,CAAC,EAPW,uBAAuB,KAAvB,uBAAuB,QAOlC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAgC,EAChC,WAAyD,EACzD,UAA+B;IAC7B,2CAA2C;IAC3C,sBAAsB,EAAE,sBAAsB,CAAC,KAAK;IACpD,mBAAmB,EAAE,mBAAmB,CAAC,SAAS;CACnD,EACD,OAA6C;IAE7C,MAAM,EAAC,eAAe,GAAG,IAAI,EAAE,cAAc,GAAG,IAAI,EAAC,GAAG,OAAO,CAAC;IAEhE,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;IAClC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAE7B,qDAAqD;IACrD,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEvD,IAAI,OAAO,EAAE,CAAC;QACZ,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC5E,CAAC;IAED,oGAAoG;IACpG,yCAAyC;IAEzC,8DAA8D;IAC9D,0BAA0B;IAC1B,SAAS,GAAG,8BAA8B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEnF,iCAAiC;IACjC,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjD,6BAA6B;IAC7B,MAAM,iBAAiB,GAAG,OAAO,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC;IAEjE,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEvD,MAAM,uBAAuB,GAAG,OAAO,EAAE,sBAAsB,CAAC,UAAU,EAAE,CAAC;IAC7E,SAAS,CAAC,MAAM,EAAE,CAAC;IACnB,uBAAuB,EAAE,EAAE,CAAC;IAE5B,8DAA8D;IAC9D,iBAAiB,EAAE,EAAE,CAAC;IAEtB,IAAI,OAAO,EAAE,CAAC;QACZ,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,oBAAoB;IACpB,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,iBAAiB,GAAG,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC;YAClE,MAAM,EAAE,uBAAuB,CAAC,eAAe;SAChD,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3C,iBAAiB,EAAE,EAAE,CAAC;QAEtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,CAAC,IAAI,cAAc,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,SAAS,CACnG,SAAS,CACV,EAAE,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAgC,EAChC,IAAU,EACV,wBAAmF,EACnF,OAA6C;IAE7C,qDAAqD;IACrD,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,IAAI,OAAO,EAAE,CAAC;QACZ,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACzE,CAAC;IAED,oGAAoG;IACpG,yCAAyC;IAEzC,SAAS,GAAG,8BAA8B,CAAC,SAAS,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAE/F,iDAAiD;IACjD,SAAS,CAAC,MAAM,EAAE,CAAC;IAEnB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,8BAA8B,CACrC,SAAoC,EACpC,IAAU,EACV,wBAAmD,EACnD,OAA6C;IAE7C,MAAM,EAAC,MAAM,EAAC,GAAG,SAAS,CAAC;IAC3B,IAAI,SAAS,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;QAC1B,MAAM,KAAK,CAAC,gBAAgB,IAAI,aAAa,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;QAC7B,WAAW,CAAC,SAAS,CAAC,CAAC;QAEvB,oDAAoD;QACpD,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,KAAK,CAAC,EAAE,CAAC;YACjD,qFAAqF;YACrF,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAEzD,MAAM,oBAAoB,GAAG,OAAO,EAAE,mBAAmB,CAAC,UAAU,EAAE,CAAC;YAEvE,IAAI,oBAA0C,CAAC;YAC/C,CAAC;gBACC,MAAM,KAAK,GAAG,OAAO,EAAE,uBAAuB,CAAC,UAAU,CAAC,EAAC,IAAI,EAAE,mBAAmB,CAAC,kBAAkB,EAAC,CAAC,CAAC;gBAC1G,oBAAoB,GAAG,kBAAkB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;gBAC/E,KAAK,EAAE,EAAE,CAAC;YACZ,CAAC;YAED,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;YAE7D,MAAM,EAAC,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAC,GAC1F,oBAAoB,CAAC;YACvB,OAAO,EAAE,yBAAyB,CAChC,YAAY,EACZ,eAAe,EACf,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,CACT,CAAC;YAEF,SAAS,CAAC,IAAI,EAAE,CAAC;YAEjB,CAAC;gBACC,MAAM,KAAK,GAAG,OAAO,EAAE,uBAAuB,CAAC,UAAU,CAAC,EAAC,IAAI,EAAE,mBAAmB,CAAC,iBAAiB,EAAC,CAAC,CAAC;gBACzG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;gBACtE,KAAK,EAAE,EAAE,CAAC;YACZ,CAAC;YAED,+GAA+G;YAC/G,0GAA0G;YAC1G,CAAC;gBACC,MAAM,KAAK,GAAG,OAAO,EAAE,yBAAyB,CAAC,UAAU,EAAE,CAAC;gBAC9D,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnB,KAAK,EAAE,EAAE,CAAC;YACZ,CAAC;YAED,kGAAkG;YAClG,oBAAoB,EAAE,EAAE,CAAC;YAEzB,6CAA6C;YAC7C,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,UAAU,KAAK,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC5C,SAAS,GAAG,oBAAoB,CAAC,SAAoC,CAA8B,CAAC;YACtG,CAAC;YACD,IAAI,UAAU,KAAK,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBAC/C,SAAS,GAAG,uBAAuB,CAAC,SAAoC,CAA8B,CAAC;YACzG,CAAC;YACD,IAAI,UAAU,KAAK,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAC7C,SAAS,GAAG,qBAAqB,CAAC,SAAuC,CAA8B,CAAC;YAC1G,CAAC;YACD,IAAI,UAAU,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC3C,SAAS,GAAG,mBAAmB,CAAC,SAAqC,CAA8B,CAAC;YACtG,CAAC;YACD,IAAI,UAAU,KAAK,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAC7C,SAAS,GAAG,qBAAqB,CAAC,SAAmC,CAA8B,CAAC;YACtG,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { digest } from "@chainsafe/as-sha256";
2
- import { intDiv, bytesToBigInt } from "@lodestar/utils";
3
- import { TARGET_AGGREGATORS_PER_COMMITTEE, SYNC_COMMITTEE_SIZE, SYNC_COMMITTEE_SUBNET_COUNT, TARGET_AGGREGATORS_PER_SYNC_SUBCOMMITTEE, } from "@lodestar/params";
2
+ import { SYNC_COMMITTEE_SIZE, SYNC_COMMITTEE_SUBNET_COUNT, TARGET_AGGREGATORS_PER_COMMITTEE, TARGET_AGGREGATORS_PER_SYNC_SUBCOMMITTEE, } from "@lodestar/params";
3
+ import { bytesToBigInt, intDiv } from "@lodestar/utils";
4
4
  const ZERO_BIGINT = BigInt(0);
5
5
  export function isSyncCommitteeAggregator(selectionProof) {
6
6
  const modulo = Math.max(1, intDiv(intDiv(SYNC_COMMITTEE_SIZE, SYNC_COMMITTEE_SUBNET_COUNT), TARGET_AGGREGATORS_PER_SYNC_SUBCOMMITTEE));
@@ -1 +1 @@
1
- {"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../src/util/aggregator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACL,gCAAgC,EAChC,mBAAmB,EACnB,2BAA2B,EAC3B,wCAAwC,GACzC,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAE9B,MAAM,UAAU,yBAAyB,CAAC,cAA4B;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,CAAC,EACD,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,EAAE,wCAAwC,CAAC,CAC3G,CAAC;IACF,OAAO,qBAAqB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,eAAuB,EAAE,aAA2B;IAClG,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC,CAAC;IACtF,OAAO,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAiB,EAAE,MAAc;IACrE,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../src/util/aggregator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,gCAAgC,EAChC,wCAAwC,GACzC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAC,aAAa,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEtD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAE9B,MAAM,UAAU,yBAAyB,CAAC,cAA4B;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,CAAC,EACD,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,EAAE,wCAAwC,CAAC,CAC3G,CAAC;IACF,OAAO,qBAAqB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,eAAuB,EAAE,aAA2B;IAClG,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC,CAAC;IACtF,OAAO,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAiB,EAAE,MAAc;IACrE,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC;AACjF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { phase0, Slot, ValidatorIndex } from "@lodestar/types";
1
+ import { Slot, ValidatorIndex, phase0 } from "@lodestar/types";
2
2
  /**
3
3
  * Check if [[data1]] and [[data2]] are slashable according to Casper FFG rules.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../src/util/attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,+BAA+B,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAe,GAAG,EAAiB,MAAM,iBAAiB,CAAC;AAElE;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAmC,EACnC,KAAmC;IAEnC,OAAO;IACL,cAAc;IACd,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACrG,gBAAgB;QAChB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CACrF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,eAAqB,EAAE,WAAiB;IAC7E,OAAO,CACL,eAAe,GAAG,+BAA+B,IAAI,WAAW,IAAI,WAAW,IAAI,eAAe,GAAG,eAAe,CACrH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,gBAAyC;IACnF,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,CAAC;IAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../src/util/attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,+BAA+B,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAA+B,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAElE;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAmC,EACnC,KAAmC;IAEnC,OAAO;IACL,cAAc;IACd,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACrG,gBAAgB;QAChB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CACrF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,eAAqB,EAAE,WAAiB;IAC7E,OAAO,CACL,eAAe,GAAG,+BAA+B,IAAI,WAAW,IAAI,WAAW,IAAI,eAAe,GAAG,eAAe,CACrH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,gBAAyC;IACnF,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,CAAC;IAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Gwei, ValidatorIndex } from "@lodestar/types";
2
2
  import { EffectiveBalanceIncrements } from "../cache/effectiveBalanceIncrements.js";
3
- import { BeaconStateAllForks } from "..";
3
+ import { BeaconStateAllForks } from "../index.js";
4
4
  import { CachedBeaconStateAllForks } from "../types.js";
5
5
  /**
6
6
  * Return the combined effective balance of the [[indices]].
@@ -1,6 +1,6 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
2
  import { ForkExecution } from "@lodestar/params";
3
- import { Root, BeaconBlock, BeaconBlockHeader, SignedBeaconBlock, ExecutionPayload, ExecutionPayloadAndBlobsBundle, BlobsBundle, SignedBeaconBlockOrContents, Contents, SignedBlindedBeaconBlock, BlindedBeaconBlock } from "@lodestar/types";
3
+ import { BeaconBlock, BeaconBlockHeader, BlindedBeaconBlock, BlobsBundle, Contents, ExecutionPayload, ExecutionPayloadAndBlobsBundle, Root, SignedBeaconBlock, SignedBeaconBlockOrContents, SignedBlindedBeaconBlock } from "@lodestar/types";
4
4
  export declare function blindedOrFullBlockHashTreeRoot(config: ChainForkConfig, blindedOrFull: BeaconBlock | BlindedBeaconBlock): Root;
5
5
  export declare function blindedOrFullBlockToHeader(config: ChainForkConfig, blindedOrFull: BeaconBlock | BlindedBeaconBlock): BeaconBlockHeader;
6
6
  export declare function beaconBlockToBlinded(config: ChainForkConfig, block: BeaconBlock<ForkExecution>): BlindedBeaconBlock;
@@ -4,16 +4,24 @@ import { executionPayloadToPayloadHeader } from "./execution.js";
4
4
  export function blindedOrFullBlockHashTreeRoot(config, blindedOrFull) {
5
5
  return isBlindedBeaconBlock(blindedOrFull)
6
6
  ? // Blinded
7
- config.getExecutionForkTypes(blindedOrFull.slot).BlindedBeaconBlock.hashTreeRoot(blindedOrFull)
7
+ config
8
+ .getExecutionForkTypes(blindedOrFull.slot)
9
+ .BlindedBeaconBlock.hashTreeRoot(blindedOrFull)
8
10
  : // Full
9
- config.getForkTypes(blindedOrFull.slot).BeaconBlock.hashTreeRoot(blindedOrFull);
11
+ config
12
+ .getForkTypes(blindedOrFull.slot)
13
+ .BeaconBlock.hashTreeRoot(blindedOrFull);
10
14
  }
11
15
  export function blindedOrFullBlockToHeader(config, blindedOrFull) {
12
16
  const bodyRoot = isBlindedBeaconBlock(blindedOrFull)
13
17
  ? // Blinded
14
- config.getExecutionForkTypes(blindedOrFull.slot).BlindedBeaconBlockBody.hashTreeRoot(blindedOrFull.body)
18
+ config
19
+ .getExecutionForkTypes(blindedOrFull.slot)
20
+ .BlindedBeaconBlockBody.hashTreeRoot(blindedOrFull.body)
15
21
  : // Full
16
- config.getForkTypes(blindedOrFull.slot).BeaconBlockBody.hashTreeRoot(blindedOrFull.body);
22
+ config
23
+ .getForkTypes(blindedOrFull.slot)
24
+ .BeaconBlockBody.hashTreeRoot(blindedOrFull.body);
17
25
  return {
18
26
  slot: blindedOrFull.slot,
19
27
  proposerIndex: blindedOrFull.proposerIndex,
@@ -55,12 +63,10 @@ export function parseExecutionPayloadAndBlobsBundle(data) {
55
63
  if (isExecutionPayloadAndBlobsBundle(data)) {
56
64
  return data;
57
65
  }
58
- else {
59
- return {
60
- executionPayload: data,
61
- blobsBundle: null,
62
- };
63
- }
66
+ return {
67
+ executionPayload: data,
68
+ blobsBundle: null,
69
+ };
64
70
  }
65
71
  export function reconstructFullBlockOrContents(signedBlindedBlock, { executionPayload, contents, }) {
66
72
  const signedBlock = signedBlindedBlockToFull(signedBlindedBlock, executionPayload);
@@ -70,8 +76,6 @@ export function reconstructFullBlockOrContents(signedBlindedBlock, { executionPa
70
76
  }
71
77
  return { signedBlock, ...contents };
72
78
  }
73
- else {
74
- return signedBlock;
75
- }
79
+ return signedBlock;
76
80
  }
77
81
  //# sourceMappingURL=blindedBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blindedBlock.js","sourceRoot":"","sources":["../../src/util/blindedBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAEL,oBAAoB,EACpB,gCAAgC,GAYjC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAC,+BAA+B,EAAC,MAAM,gBAAgB,CAAC;AAE/D,MAAM,UAAU,8BAA8B,CAC5C,MAAuB,EACvB,aAA+C;IAE/C,OAAO,oBAAoB,CAAC,aAAa,CAAC;QACxC,CAAC,CAAC,UAAU;YACV,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,aAAa,CAAC;QACjG,CAAC,CAAC,OAAO;YACP,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAuB,EACvB,aAA+C;IAE/C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,aAAa,CAAC;QAClD,CAAC,CAAC,UAAU;YACV,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC;QAC1G,CAAC,CAAC,OAAO;YACP,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE7F,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,aAAa,EAAE,aAAa,CAAC,aAAa;QAC1C,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,SAAS,EAAE,aAAa,CAAC,SAAS;QAClC,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAuB,EAAE,KAAiC;IAC7F,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,sBAAsB,GAAG,+BAA+B,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3G,MAAM,YAAY,GAAuB,EAAC,GAAG,KAAK,EAAE,IAAI,EAAE,EAAC,GAAG,KAAK,CAAC,IAAI,EAAE,sBAAsB,EAAC,EAAC,CAAC;IACnG,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAuB,EACvB,WAA6C;IAE7C,OAAO;QACL,OAAO,EAAE,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC;QAC1D,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,kBAA4C,EAC5C,gBAAyC;IAEzC,MAAM,WAAW,GAAG;QAClB,GAAG,kBAAkB;QACrB,OAAO,EAAE;YACP,GAAG,kBAAkB,CAAC,OAAO;YAC7B,IAAI,EAAE;gBACJ,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI;gBAClC,0FAA0F;gBAC1F,gBAAgB,EAAE,gBAAgB,IAAI,SAAS;aAChD;SACF;KACmB,CAAC;IAEvB,uFAAuF;IACvF,kDAAkD;IAClD,OAAQ,WAAW,CAAC,OAAO,CAAC,IAA0D,CAAC,sBAAsB,CAAC;IAC9G,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAuD;IAIzG,IAAI,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO;YACL,gBAAgB,EAAE,IAAI;YACtB,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,kBAA4C,EAC5C,EACE,gBAAgB,EAChB,QAAQ,GAIT;IAED,MAAM,WAAW,GAAG,wBAAwB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAEnF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,EAAC,WAAW,EAAE,GAAG,QAAQ,EAAgC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,OAAO,WAA0C,CAAC;IACpD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"blindedBlock.js","sourceRoot":"","sources":["../../src/util/blindedBlock.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Epoch, Slot, Root, BeaconBlock, SignedBeaconBlock, BeaconBlockHeader, SignedBeaconBlockHeader } from "@lodestar/types";
2
1
  import { ChainForkConfig } from "@lodestar/config";
2
+ import { BeaconBlock, BeaconBlockHeader, Epoch, Root, SignedBeaconBlock, SignedBeaconBlockHeader, Slot } from "@lodestar/types";
3
3
  import { BeaconStateAllForks } from "../types.js";
4
4
  /**
5
5
  * Return the block root at a recent [[slot]].
@@ -1 +1 @@
1
- {"version":3,"file":"blockRoot.js","sourceRoot":"","sources":["../../src/util/blockRoot.ts"],"names":[],"mappings":"AAUA,OAAO,EAAC,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAC,uBAAuB,EAAC,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA0B,EAAE,IAAU;IACvE,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,CAAC,mDAAmD,KAAK,CAAC,IAAI,SAAS,IAAI,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,yBAAyB,EAAE,CAAC;QAClD,MAAM,KAAK,CAAC,mCAAmC,yBAAyB,cAAc,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,yBAAyB,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAA0B,EAAE,KAAY;IACnE,OAAO,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAuB,EAAE,KAAkB;IACjF,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,yEAAyE;QACzE,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;KACnF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAuB,EAAE,KAAkB;IACvE,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;KACnF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,MAAuB,EACvB,WAA8B;IAE9B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IACxC,OAAO;QACL,OAAO;QACP,SAAS;KACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"blockRoot.js","sourceRoot":"","sources":["../../src/util/blockRoot.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AAU3D,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAC,uBAAuB,EAAC,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA0B,EAAE,IAAU;IACvE,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,CAAC,mDAAmD,KAAK,CAAC,IAAI,SAAS,IAAI,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,yBAAyB,EAAE,CAAC;QAClD,MAAM,KAAK,CAAC,mCAAmC,yBAAyB,cAAc,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,yBAAyB,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAA0B,EAAE,KAAY;IACnE,OAAO,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAuB,EAAE,KAAkB;IACjF,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,yEAAyE;QACzE,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;KACnF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAuB,EAAE,KAAkB;IACvE,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;KACnF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,MAAuB,EACvB,WAA8B;IAE9B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IACxC,OAAO;QACL,OAAO;QACP,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { CommitteeIndex, Slot, ValidatorIndex } from "@lodestar/types";
2
+ import { EpochShuffling } from "./epochShuffling.js";
3
+ export interface AttesterDuty {
4
+ validatorIndex: ValidatorIndex;
5
+ committeeIndex: CommitteeIndex;
6
+ committeeLength: number;
7
+ committeesAtSlot: number;
8
+ validatorCommitteeIndex: number;
9
+ slot: Slot;
10
+ }
11
+ export declare function calculateCommitteeAssignments(epochShuffling: EpochShuffling, requestedValidatorIndices: ValidatorIndex[]): Map<ValidatorIndex, AttesterDuty>;
12
+ //# sourceMappingURL=calculateCommitteeAssignments.d.ts.map
@@ -0,0 +1,26 @@
1
+ import { SLOTS_PER_EPOCH } from "@lodestar/params";
2
+ export function calculateCommitteeAssignments(epochShuffling, requestedValidatorIndices) {
3
+ const requestedValidatorIndicesSet = new Set(requestedValidatorIndices);
4
+ const duties = new Map();
5
+ const epochCommittees = epochShuffling.committees;
6
+ for (let epochSlot = 0; epochSlot < SLOTS_PER_EPOCH; epochSlot++) {
7
+ const slotCommittees = epochCommittees[epochSlot];
8
+ for (let i = 0, committeesAtSlot = slotCommittees.length; i < committeesAtSlot; i++) {
9
+ for (let j = 0, committeeLength = slotCommittees[i].length; j < committeeLength; j++) {
10
+ const validatorIndex = slotCommittees[i][j];
11
+ if (requestedValidatorIndicesSet.has(validatorIndex)) {
12
+ duties.set(validatorIndex, {
13
+ validatorIndex,
14
+ committeeLength,
15
+ committeesAtSlot,
16
+ validatorCommitteeIndex: j,
17
+ committeeIndex: i,
18
+ slot: epochShuffling.epoch * SLOTS_PER_EPOCH + epochSlot,
19
+ });
20
+ }
21
+ }
22
+ }
23
+ }
24
+ return duties;
25
+ }
26
+ //# sourceMappingURL=calculateCommitteeAssignments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateCommitteeAssignments.js","sourceRoot":"","sources":["../../src/util/calculateCommitteeAssignments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAcjD,MAAM,UAAU,6BAA6B,CAC3C,cAA8B,EAC9B,yBAA2C;IAE3C,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgC,CAAC;IAEvD,MAAM,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC;IAClD,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,eAAe,EAAE,SAAS,EAAE,EAAE,CAAC;QACjE,MAAM,cAAc,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;YACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrF,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,4BAA4B,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBACrD,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;wBACzB,cAAc;wBACd,eAAe;wBACf,gBAAgB;wBAChB,uBAAuB,EAAE,CAAC;wBAC1B,cAAc,EAAE,CAAC;wBACjB,IAAI,EAAE,cAAc,CAAC,KAAK,GAAG,eAAe,GAAG,SAAS;qBACzD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ChainForkConfig } from "@lodestar/config";
2
+ import { phase0 } from "@lodestar/types";
3
+ import { BeaconStateAllForks } from "../types.js";
4
+ export declare function computeAnchorCheckpoint(config: ChainForkConfig, anchorState: BeaconStateAllForks): {
5
+ checkpoint: phase0.Checkpoint;
6
+ blockHeader: phase0.BeaconBlockHeader;
7
+ };
8
+ //# sourceMappingURL=computeAnchorCheckpoint.d.ts.map
@@ -0,0 +1,32 @@
1
+ import { GENESIS_SLOT, ZERO_HASH } from "@lodestar/params";
2
+ import { ssz } from "@lodestar/types";
3
+ import { blockToHeader } from "./blockRoot.js";
4
+ import { computeCheckpointEpochAtStateSlot } from "./epoch.js";
5
+ export function computeAnchorCheckpoint(config, anchorState) {
6
+ let blockHeader;
7
+ let root;
8
+ const blockTypes = config.getForkTypes(anchorState.latestBlockHeader.slot);
9
+ if (anchorState.latestBlockHeader.slot === GENESIS_SLOT) {
10
+ const block = blockTypes.BeaconBlock.defaultValue();
11
+ block.stateRoot = anchorState.hashTreeRoot();
12
+ blockHeader = blockToHeader(config, block);
13
+ root = ssz.phase0.BeaconBlockHeader.hashTreeRoot(blockHeader);
14
+ }
15
+ else {
16
+ blockHeader = ssz.phase0.BeaconBlockHeader.clone(anchorState.latestBlockHeader);
17
+ if (ssz.Root.equals(blockHeader.stateRoot, ZERO_HASH)) {
18
+ blockHeader.stateRoot = anchorState.hashTreeRoot();
19
+ }
20
+ root = ssz.phase0.BeaconBlockHeader.hashTreeRoot(blockHeader);
21
+ }
22
+ return {
23
+ checkpoint: {
24
+ root,
25
+ // the checkpoint epoch = computeEpochAtSlot(anchorState.slot) + 1 if slot is not at epoch boundary
26
+ // this is similar to a process_slots() call
27
+ epoch: computeCheckpointEpochAtStateSlot(anchorState.slot),
28
+ },
29
+ blockHeader,
30
+ };
31
+ }
32
+ //# sourceMappingURL=computeAnchorCheckpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeAnchorCheckpoint.js","sourceRoot":"","sources":["../../src/util/computeAnchorCheckpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,iCAAiC,EAAC,MAAM,YAAY,CAAC;AAE7D,MAAM,UAAU,uBAAuB,CACrC,MAAuB,EACvB,WAAgC;IAEhC,IAAI,WAAqC,CAAC;IAC1C,IAAI,IAAgB,CAAC;IACrB,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE3E,IAAI,WAAW,CAAC,iBAAiB,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QACpD,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7C,WAAW,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAChF,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;YACtD,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAED,OAAO;QACL,UAAU,EAAE;YACV,IAAI;YACJ,mGAAmG;YACnG,4CAA4C;YAC5C,KAAK,EAAE,iCAAiC,CAAC,WAAW,CAAC,IAAI,CAAC;SAC3D;QACD,WAAW;KACZ,CAAC;AACJ,CAAC"}