@lodestar/state-transition 1.23.0-dev.2a7f7e6afd → 1.23.0-dev.2e5265bf6f

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 (190) 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 +1 -1
  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 +32 -36
  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 +2 -2
  32. package/lib/block/processExecutionPayload.js.map +1 -1
  33. package/lib/block/processOperations.d.ts +5 -5
  34. package/lib/block/processOperations.js +5 -5
  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 +2 -2
  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 +7 -7
  55. package/lib/cache/epochCache.js +19 -25
  56. package/lib/cache/epochCache.js.map +1 -1
  57. package/lib/cache/epochTransitionCache.d.ts +1 -6
  58. package/lib/cache/epochTransitionCache.js +3 -5
  59. package/lib/cache/epochTransitionCache.js.map +1 -1
  60. package/lib/cache/pubkeyCache.d.ts +1 -1
  61. package/lib/cache/pubkeyCache.js.map +1 -1
  62. package/lib/cache/stateCache.d.ts +1 -1
  63. package/lib/cache/stateCache.js +2 -0
  64. package/lib/cache/stateCache.js.map +1 -1
  65. package/lib/cache/syncCommitteeCache.d.ts +2 -2
  66. package/lib/cache/types.d.ts +1 -1
  67. package/lib/constants/constants.d.ts +3 -4
  68. package/lib/constants/constants.js +4 -4
  69. package/lib/constants/constants.js.map +1 -1
  70. package/lib/epoch/computeUnrealizedCheckpoints.js +1 -1
  71. package/lib/epoch/computeUnrealizedCheckpoints.js.map +1 -1
  72. package/lib/epoch/getAttestationDeltas.d.ts +1 -1
  73. package/lib/epoch/getAttestationDeltas.js +2 -2
  74. package/lib/epoch/getAttestationDeltas.js.map +1 -1
  75. package/lib/epoch/getRewardsAndPenalties.js +1 -1
  76. package/lib/epoch/getRewardsAndPenalties.js.map +1 -1
  77. package/lib/epoch/index.d.ts +5 -5
  78. package/lib/epoch/index.js +6 -6
  79. package/lib/epoch/index.js.map +1 -1
  80. package/lib/epoch/processEffectiveBalanceUpdates.d.ts +1 -1
  81. package/lib/epoch/processEffectiveBalanceUpdates.js +4 -7
  82. package/lib/epoch/processEffectiveBalanceUpdates.js.map +1 -1
  83. package/lib/epoch/processEth1DataReset.d.ts +1 -1
  84. package/lib/epoch/processHistoricalRootsUpdate.d.ts +1 -1
  85. package/lib/epoch/processHistoricalSummariesUpdate.d.ts +1 -1
  86. package/lib/epoch/processJustificationAndFinalization.js.map +1 -1
  87. package/lib/epoch/processPendingConsolidations.js +7 -12
  88. package/lib/epoch/processPendingConsolidations.js.map +1 -1
  89. package/lib/epoch/{processPendingBalanceDeposits.d.ts → processPendingDeposits.d.ts} +4 -4
  90. package/lib/epoch/processPendingDeposits.js +102 -0
  91. package/lib/epoch/processPendingDeposits.js.map +1 -0
  92. package/lib/epoch/processRandaoMixesReset.d.ts +1 -1
  93. package/lib/epoch/processRegistryUpdates.d.ts +1 -1
  94. package/lib/epoch/processRegistryUpdates.js +1 -1
  95. package/lib/epoch/processRegistryUpdates.js.map +1 -1
  96. package/lib/epoch/processSlashings.js.map +1 -1
  97. package/lib/epoch/processSlashingsReset.d.ts +1 -1
  98. package/lib/epoch/processSyncCommitteeUpdates.js.map +1 -1
  99. package/lib/metrics.d.ts +2 -2
  100. package/lib/metrics.js +2 -0
  101. package/lib/metrics.js.map +1 -1
  102. package/lib/signatureSets/attesterSlashings.d.ts +2 -2
  103. package/lib/signatureSets/attesterSlashings.js +3 -5
  104. package/lib/signatureSets/attesterSlashings.js.map +1 -1
  105. package/lib/signatureSets/blsToExecutionChange.d.ts +2 -2
  106. package/lib/signatureSets/blsToExecutionChange.js +1 -1
  107. package/lib/signatureSets/blsToExecutionChange.js.map +1 -1
  108. package/lib/signatureSets/index.d.ts +1 -1
  109. package/lib/signatureSets/index.js +2 -2
  110. package/lib/signatureSets/index.js.map +1 -1
  111. package/lib/signatureSets/indexedAttestation.d.ts +1 -1
  112. package/lib/signatureSets/indexedAttestation.js.map +1 -1
  113. package/lib/signatureSets/proposer.d.ts +1 -1
  114. package/lib/signatureSets/proposer.js.map +1 -1
  115. package/lib/signatureSets/proposerSlashings.d.ts +1 -1
  116. package/lib/signatureSets/proposerSlashings.js +2 -4
  117. package/lib/signatureSets/proposerSlashings.js.map +1 -1
  118. package/lib/signatureSets/randao.d.ts +1 -1
  119. package/lib/signatureSets/randao.js +1 -1
  120. package/lib/signatureSets/randao.js.map +1 -1
  121. package/lib/signatureSets/voluntaryExits.d.ts +1 -1
  122. package/lib/signatureSets/voluntaryExits.js +1 -1
  123. package/lib/signatureSets/voluntaryExits.js.map +1 -1
  124. package/lib/slot/index.js.map +1 -1
  125. package/lib/slot/upgradeStateToAltair.d.ts +1 -1
  126. package/lib/slot/upgradeStateToAltair.js +5 -4
  127. package/lib/slot/upgradeStateToAltair.js.map +1 -1
  128. package/lib/slot/upgradeStateToBellatrix.js.map +1 -1
  129. package/lib/slot/upgradeStateToCapella.js +1 -0
  130. package/lib/slot/upgradeStateToCapella.js.map +1 -1
  131. package/lib/slot/upgradeStateToDeneb.js +1 -0
  132. package/lib/slot/upgradeStateToDeneb.js.map +1 -1
  133. package/lib/slot/upgradeStateToElectra.d.ts +1 -2
  134. package/lib/slot/upgradeStateToElectra.js +19 -36
  135. package/lib/slot/upgradeStateToElectra.js.map +1 -1
  136. package/lib/stateTransition.d.ts +3 -3
  137. package/lib/stateTransition.js +6 -6
  138. package/lib/stateTransition.js.map +1 -1
  139. package/lib/util/aggregator.js +2 -2
  140. package/lib/util/aggregator.js.map +1 -1
  141. package/lib/util/attestation.d.ts +1 -1
  142. package/lib/util/attestation.js.map +1 -1
  143. package/lib/util/blindedBlock.d.ts +1 -1
  144. package/lib/util/blindedBlock.js +5 -9
  145. package/lib/util/blindedBlock.js.map +1 -1
  146. package/lib/util/blockRoot.d.ts +1 -1
  147. package/lib/util/blockRoot.js.map +1 -1
  148. package/lib/util/calculateCommitteeAssignments.js.map +1 -1
  149. package/lib/util/computeAnchorCheckpoint.js +1 -1
  150. package/lib/util/computeAnchorCheckpoint.js.map +1 -1
  151. package/lib/util/deposit.js +2 -6
  152. package/lib/util/deposit.js.map +1 -1
  153. package/lib/util/domain.d.ts +1 -1
  154. package/lib/util/electra.d.ts +0 -1
  155. package/lib/util/electra.js +19 -27
  156. package/lib/util/electra.js.map +1 -1
  157. package/lib/util/epoch.d.ts +1 -1
  158. package/lib/util/epochShuffling.d.ts +1 -1
  159. package/lib/util/epochShuffling.js +3 -3
  160. package/lib/util/epochShuffling.js.map +1 -1
  161. package/lib/util/execution.d.ts +2 -2
  162. package/lib/util/execution.js +6 -10
  163. package/lib/util/execution.js.map +1 -1
  164. package/lib/util/genesis.d.ts +2 -2
  165. package/lib/util/genesis.js +12 -7
  166. package/lib/util/genesis.js.map +1 -1
  167. package/lib/util/interop.js +1 -1
  168. package/lib/util/interop.js.map +1 -1
  169. package/lib/util/loadState/loadState.js +2 -2
  170. package/lib/util/loadState/loadState.js.map +1 -1
  171. package/lib/util/loadState/loadValidator.js +1 -3
  172. package/lib/util/loadState/loadValidator.js.map +1 -1
  173. package/lib/util/rootCache.d.ts +1 -1
  174. package/lib/util/seed.d.ts +2 -2
  175. package/lib/util/seed.js +1 -1
  176. package/lib/util/seed.js.map +1 -1
  177. package/lib/util/shufflingDecisionRoot.js +5 -11
  178. package/lib/util/shufflingDecisionRoot.js.map +1 -1
  179. package/lib/util/slot.d.ts +1 -1
  180. package/lib/util/slot.js +1 -1
  181. package/lib/util/slot.js.map +1 -1
  182. package/lib/util/syncCommittee.d.ts +2 -2
  183. package/lib/util/validator.d.ts +1 -2
  184. package/lib/util/validator.js +3 -11
  185. package/lib/util/validator.js.map +1 -1
  186. package/lib/util/weakSubjectivity.js +1 -1
  187. package/lib/util/weakSubjectivity.js.map +1 -1
  188. package/package.json +8 -8
  189. package/lib/epoch/processPendingBalanceDeposits.js +0 -68
  190. package/lib/epoch/processPendingBalanceDeposits.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  import { ForkSeq } from "@lodestar/params";
2
2
  import { BeaconBlock, BlindedBeaconBlock } from "@lodestar/types";
3
3
  import { CachedBeaconStateAllForks } from "../types.js";
4
- import { processExecutionPayload } from "./processExecutionPayload.js";
5
- import { processSyncAggregate } from "./processSyncCommittee.js";
4
+ import { BlockExternalData } from "./externalData.js";
6
5
  import { processBlockHeader } from "./processBlockHeader.js";
7
6
  import { processEth1Data } from "./processEth1Data.js";
7
+ import { processExecutionPayload } from "./processExecutionPayload.js";
8
8
  import { processRandao } from "./processRandao.js";
9
- import { BlockExternalData } from "./externalData.js";
9
+ import { processSyncAggregate } from "./processSyncCommittee.js";
10
10
  import { processWithdrawals } from "./processWithdrawals.js";
11
11
  import { ProcessBlockOpts } from "./types.js";
12
12
  export { processBlockHeader, processExecutionPayload, processRandao, processEth1Data, processSyncAggregate, processWithdrawals, };
@@ -1,13 +1,13 @@
1
1
  import { ForkSeq } from "@lodestar/params";
2
2
  import { getFullOrBlindedPayload, isExecutionEnabled } from "../util/execution.js";
3
- import { processExecutionPayload } from "./processExecutionPayload.js";
4
- import { processSyncAggregate } from "./processSyncCommittee.js";
3
+ import { DataAvailableStatus } from "./externalData.js";
4
+ import { processBlobKzgCommitments } from "./processBlobKzgCommitments.js";
5
5
  import { processBlockHeader } from "./processBlockHeader.js";
6
6
  import { processEth1Data } from "./processEth1Data.js";
7
+ import { processExecutionPayload } from "./processExecutionPayload.js";
7
8
  import { processOperations } from "./processOperations.js";
8
9
  import { processRandao } from "./processRandao.js";
9
- import { processBlobKzgCommitments } from "./processBlobKzgCommitments.js";
10
- import { DataAvailableStatus } from "./externalData.js";
10
+ import { processSyncAggregate } from "./processSyncCommittee.js";
11
11
  import { processWithdrawals } from "./processWithdrawals.js";
12
12
  // Spec tests
13
13
  export { processBlockHeader, processExecutionPayload, processRandao, processEth1Data, processSyncAggregate, processWithdrawals, };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/block/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAC,uBAAuB,EAAE,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAEjF,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAoB,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAG3D,aAAa;AACb,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,CAAC;AACF,cAAc,wBAAwB,CAAC;AAEvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAElC,MAAM,UAAU,YAAY,CAC1B,IAAa,EACb,KAAgC,EAChC,KAAuC,EACvC,YAAkD,EAClD,IAAuB;IAEvB,MAAM,EAAC,gBAAgB,GAAG,IAAI,EAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IAE7C,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEjC,oHAAoH;IACpH,oEAAoE;IACpE,IAAI,IAAI,IAAI,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC,KAAmC,EAAE,KAAK,CAAC,EAAE,CAAC;QAChG,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC5D,+DAA+D;QAC/D,gJAAgJ;QAChJ,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5B,kBAAkB,CAChB,IAAI,EACJ,KAAiC,EACjC,oBAA6D,CAC9D,CAAC;QACJ,CAAC;QAED,uBAAuB,CAAC,IAAI,EAAE,KAAmC,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC/F,CAAC;IAED,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC9C,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC3B,oBAAoB,CAAC,KAAK,EAAE,KAA2B,EAAE,gBAAgB,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,yBAAyB,CAAC,YAAY,CAAC,CAAC;QACxC,4EAA4E;QAC5E,+BAA+B;QAC/B,IAAI,YAAY,CAAC,mBAAmB,KAAK,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YACtE,MAAM,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/block/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAGzC,OAAO,EAAC,uBAAuB,EAAE,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAoB,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAG3D,aAAa;AACb,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,CAAC;AACF,cAAc,wBAAwB,CAAC;AAEvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAElC,MAAM,UAAU,YAAY,CAC1B,IAAa,EACb,KAAgC,EAChC,KAAuC,EACvC,YAAkD,EAClD,IAAuB;IAEvB,MAAM,EAAC,gBAAgB,GAAG,IAAI,EAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IAE7C,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEjC,oHAAoH;IACpH,oEAAoE;IACpE,IAAI,IAAI,IAAI,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC,KAAmC,EAAE,KAAK,CAAC,EAAE,CAAC;QAChG,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC5D,+DAA+D;QAC/D,gJAAgJ;QAChJ,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5B,kBAAkB,CAChB,IAAI,EACJ,KAAiC,EACjC,oBAA6D,CAC9D,CAAC;QACJ,CAAC;QAED,uBAAuB,CAAC,IAAI,EAAE,KAAmC,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC/F,CAAC;IAED,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC9C,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC3B,oBAAoB,CAAC,KAAK,EAAE,KAA2B,EAAE,gBAAgB,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,yBAAyB,CAAC,YAAY,CAAC,CAAC;QACxC,4EAA4E;QAC5E,+BAA+B;QAC/B,IAAI,YAAY,CAAC,mBAAmB,KAAK,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YACtE,MAAM,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ForkSeq, MAX_COMMITTEES_PER_SLOT, MAX_VALIDATORS_PER_COMMITTEE } from "@lodestar/params";
2
- import { verifySignatureSet } from "../util/index.js";
3
2
  import { getIndexedAttestationBigintSignatureSet, getIndexedAttestationSignatureSet } from "../signatureSets/index.js";
3
+ import { verifySignatureSet } from "../util/index.js";
4
4
  /**
5
5
  * Check if `indexedAttestation` has sorted and unique indices and a valid aggregate signature.
6
6
  */
@@ -11,9 +11,7 @@ export function isValidIndexedAttestation(state, indexedAttestation, verifySigna
11
11
  if (verifySignature) {
12
12
  return verifySignatureSet(getIndexedAttestationSignatureSet(state, indexedAttestation));
13
13
  }
14
- else {
15
- return true;
16
- }
14
+ return true;
17
15
  }
18
16
  export function isValidIndexedAttestationBigint(state, indexedAttestation, verifySignature) {
19
17
  if (!isValidIndexedAttestationIndices(state, indexedAttestation.attestingIndices)) {
@@ -22,9 +20,7 @@ export function isValidIndexedAttestationBigint(state, indexedAttestation, verif
22
20
  if (verifySignature) {
23
21
  return verifySignatureSet(getIndexedAttestationBigintSignatureSet(state, indexedAttestation));
24
22
  }
25
- else {
26
- return true;
27
- }
23
+ return true;
28
24
  }
29
25
  /**
30
26
  * Check if `indexedAttestation` has sorted and unique indices and a valid aggregate signature.
@@ -1 +1 @@
1
- {"version":3,"file":"isValidIndexedAttestation.js","sourceRoot":"","sources":["../../src/block/isValidIndexedAttestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAC,MAAM,kBAAkB,CAAC;AAGhG,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAC,uCAAuC,EAAE,iCAAiC,EAAC,MAAM,2BAA2B,CAAC;AAErH;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAgC,EAChC,kBAA6C,EAC7C,eAAwB;IAExB,IAAI,CAAC,gCAAgC,CAAC,KAAK,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,kBAAkB,CAAC,iCAAiC,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC1F,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,KAAgC,EAChC,kBAAmD,EACnD,eAAwB;IAExB,IAAI,CAAC,gCAAgC,CAAC,KAAK,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,kBAAkB,CAAC,uCAAuC,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAChG,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,KAAgC,EAAE,OAAiB;IAClG,+BAA+B;IAC/B,MAAM,UAAU,GACd,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO;QACpD,CAAC,CAAC,4BAA4B,GAAG,uBAAuB;QACxD,CAAC,CAAC,4BAA4B,CAAC;IACnC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wCAAwC;IACxC,mDAAmD;IACnD,oFAAoF;IACpF,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,GAAG,KAAK,CAAC;IACf,CAAC;IAED,yFAAyF;IACzF,wEAAwE;IACxE,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"isValidIndexedAttestation.js","sourceRoot":"","sources":["../../src/block/isValidIndexedAttestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAC,MAAM,kBAAkB,CAAC;AAEhG,OAAO,EAAC,uCAAuC,EAAE,iCAAiC,EAAC,MAAM,2BAA2B,CAAC;AAErH,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAgC,EAChC,kBAA6C,EAC7C,eAAwB;IAExB,IAAI,CAAC,gCAAgC,CAAC,KAAK,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,kBAAkB,CAAC,iCAAiC,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,KAAgC,EAChC,kBAAmD,EACnD,eAAwB;IAExB,IAAI,CAAC,gCAAgC,CAAC,KAAK,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,kBAAkB,CAAC,uCAAuC,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,KAAgC,EAAE,OAAiB;IAClG,+BAA+B;IAC/B,MAAM,UAAU,GACd,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO;QACpD,CAAC,CAAC,4BAA4B,GAAG,uBAAuB;QACxD,CAAC,CAAC,4BAA4B,CAAC;IACnC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wCAAwC;IACxC,mDAAmD;IACnD,oFAAoF;IACpF,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,GAAG,KAAK,CAAC;IACf,CAAC;IAED,yFAAyF;IACzF,wEAAwE;IACxE,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,6 +1,6 @@
1
- import { Slot, Attestation, phase0 } from "@lodestar/types";
2
1
  import { ForkSeq } from "@lodestar/params";
3
- import { CachedBeaconStatePhase0, CachedBeaconStateAllForks } from "../types.js";
2
+ import { Attestation, Slot, phase0 } from "@lodestar/types";
3
+ import { CachedBeaconStateAllForks, CachedBeaconStatePhase0 } from "../types.js";
4
4
  /**
5
5
  * Process an Attestation operation. Validates an attestation and appends it to state.currentEpochAttestations or
6
6
  * state.previousEpochAttestations to be processed in bulk at the epoch transition.
@@ -1,6 +1,6 @@
1
- import { toRootHex } from "@lodestar/utils";
1
+ import { ForkSeq, MIN_ATTESTATION_INCLUSION_DELAY, SLOTS_PER_EPOCH } from "@lodestar/params";
2
2
  import { ssz } from "@lodestar/types";
3
- import { MIN_ATTESTATION_INCLUSION_DELAY, SLOTS_PER_EPOCH, ForkSeq } from "@lodestar/params";
3
+ import { toRootHex } from "@lodestar/utils";
4
4
  import { assert } from "@lodestar/utils";
5
5
  import { computeEpochAtSlot } from "../util/index.js";
6
6
  import { isValidIndexedAttestation } from "./index.js";
@@ -64,11 +64,9 @@ export function validateAttestation(fork, state, attestation) {
64
64
  if (committeeIndices.length === 0) {
65
65
  throw Error("Attestation should have at least one committee bit set");
66
66
  }
67
- else {
68
- const lastCommitteeIndex = committeeIndices[committeeIndices.length - 1];
69
- if (lastCommitteeIndex >= committeeCount) {
70
- throw new Error(`Attestation committee index exceeds committee count: lastCommitteeIndex=${lastCommitteeIndex} numCommittees=${committeeCount}`);
71
- }
67
+ const lastCommitteeIndex = committeeIndices[committeeIndices.length - 1];
68
+ if (lastCommitteeIndex >= committeeCount) {
69
+ throw new Error(`Attestation committee index exceeds committee count: lastCommitteeIndex=${lastCommitteeIndex} numCommittees=${committeeCount}`);
72
70
  }
73
71
  // Get total number of attestation participant of every committee specified
74
72
  const participantCount = committeeIndices
@@ -94,9 +92,7 @@ export function isTimelyTarget(fork, inclusionDistance) {
94
92
  if (fork >= ForkSeq.deneb) {
95
93
  return true;
96
94
  }
97
- else {
98
- return inclusionDistance <= SLOTS_PER_EPOCH;
99
- }
95
+ return inclusionDistance <= SLOTS_PER_EPOCH;
100
96
  }
101
97
  export function checkpointToStr(checkpoint) {
102
98
  return `${toRootHex(checkpoint.root)}:${checkpoint.epoch}`;
@@ -1 +1 @@
1
- {"version":3,"file":"processAttestationPhase0.js","sourceRoot":"","sources":["../../src/block/processAttestationPhase0.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processAttestationPhase0.js","sourceRoot":"","sources":["../../src/block/processAttestationPhase0.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Attestation } from "@lodestar/types";
2
1
  import { ForkSeq } from "@lodestar/params";
2
+ import { Attestation } from "@lodestar/types";
3
3
  import { CachedBeaconStateAllForks } from "../types.js";
4
4
  /**
5
5
  * TODO
@@ -1 +1 @@
1
- {"version":3,"file":"processAttestations.js","sourceRoot":"","sources":["../../src/block/processAttestations.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AAEzE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAa,EACb,KAAgC,EAChC,YAA2B,EAC3B,gBAAgB,GAAG,IAAI;IAEvB,IAAI,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5B,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,wBAAwB,CAAC,KAAgC,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,yBAAyB,CAAC,IAAI,EAAE,KAAgC,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACpG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"processAttestations.js","sourceRoot":"","sources":["../../src/block/processAttestations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAGzC,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AAEzE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAa,EACb,KAAgC,EAChC,YAA2B,EAC3B,gBAAgB,GAAG,IAAI;IAEvB,IAAI,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5B,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,wBAAwB,CAAC,KAAgC,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,yBAAyB,CAAC,IAAI,EAAE,KAAgC,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACpG,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Epoch, Attestation, phase0 } from "@lodestar/types";
1
+ import { Attestation, Epoch, phase0 } from "@lodestar/types";
2
2
  import { ForkSeq } from "@lodestar/params";
3
3
  import { CachedBeaconStateAltair } from "../types.js";
4
4
  import { RootCache } from "../util/rootCache.js";
@@ -1,9 +1,9 @@
1
1
  import { byteArrayEquals } from "@chainsafe/ssz";
2
2
  import { intSqrt } from "@lodestar/utils";
3
3
  import { MIN_ATTESTATION_INCLUSION_DELAY, PROPOSER_WEIGHT, SLOTS_PER_EPOCH, TIMELY_HEAD_FLAG_INDEX, TIMELY_HEAD_WEIGHT, TIMELY_SOURCE_FLAG_INDEX, TIMELY_SOURCE_WEIGHT, TIMELY_TARGET_FLAG_INDEX, TIMELY_TARGET_WEIGHT, WEIGHT_DENOMINATOR, } from "@lodestar/params";
4
+ import { getAttestationWithIndicesSignatureSet } from "../signatureSets/indexedAttestation.js";
4
5
  import { increaseBalance, verifySignatureSet } from "../util/index.js";
5
6
  import { RootCache } from "../util/rootCache.js";
6
- import { getAttestationWithIndicesSignatureSet } from "../signatureSets/indexedAttestation.js";
7
7
  import { checkpointToStr, isTimelyTarget, validateAttestation } from "./processAttestationPhase0.js";
8
8
  const PROPOSER_REWARD_DOMINATOR = ((WEIGHT_DENOMINATOR - PROPOSER_WEIGHT) * WEIGHT_DENOMINATOR) / PROPOSER_WEIGHT;
9
9
  /** Same to https://github.com/ethereum/eth2.0-specs/blob/v1.1.0-alpha.5/specs/altair/beacon-chain.md#has_flag */
@@ -1 +1 @@
1
- {"version":3,"file":"processAttestationsAltair.js","sourceRoot":"","sources":["../../src/block/processAttestationsAltair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processAttestationsAltair.js","sourceRoot":"","sources":["../../src/block/processAttestationsAltair.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { phase0 } from "@lodestar/types";
2
1
  import { ForkSeq } from "@lodestar/params";
2
+ import { phase0 } from "@lodestar/types";
3
3
  import { CachedBeaconStateAllForks } from "../types.js";
4
4
  /**
5
5
  * Process an AttesterSlashing operation. Initiates the exit of a validator, decreases the balance of the slashed
@@ -1,6 +1,6 @@
1
- import { isSlashableValidator, isSlashableAttestationData, getAttesterSlashableIndices } from "../util/index.js";
2
- import { slashValidator } from "./slashValidator.js";
1
+ import { getAttesterSlashableIndices, isSlashableAttestationData, isSlashableValidator } from "../util/index.js";
3
2
  import { isValidIndexedAttestationBigint } from "./isValidIndexedAttestation.js";
3
+ import { slashValidator } from "./slashValidator.js";
4
4
  /**
5
5
  * Process an AttesterSlashing operation. Initiates the exit of a validator, decreases the balance of the slashed
6
6
  * validators and increases the block proposer balance.
@@ -1 +1 @@
1
- {"version":3,"file":"processAttesterSlashing.js","sourceRoot":"","sources":["../../src/block/processAttesterSlashing.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,oBAAoB,EAAE,0BAA0B,EAAE,2BAA2B,EAAC,MAAM,kBAAkB,CAAC;AAE/G,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,+BAA+B,EAAC,MAAM,gCAAgC,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAa,EACb,KAAgC,EAChC,gBAAyC,EACzC,gBAAgB,GAAG,IAAI;IAEvB,2BAA2B,CAAC,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAEvE,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IAE1E,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,mDAAmD;IACxF,2CAA2C;IAC3C,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9D,IAAI,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9E,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACnC,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAgC,EAChC,gBAAyC,EACzC,gBAAgB,GAAG,IAAI;IAEvB,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;IACnD,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;IAEnD,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,8GAA8G;IAC9G,gHAAgH;IAChH,gGAAgG;IAChG,KAAK,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACtE,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,aAAa,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"processAttesterSlashing.js","sourceRoot":"","sources":["../../src/block/processAttesterSlashing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,2BAA2B,EAAE,0BAA0B,EAAE,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC/G,OAAO,EAAC,+BAA+B,EAAC,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAa,EACb,KAAgC,EAChC,gBAAyC,EACzC,gBAAgB,GAAG,IAAI;IAEvB,2BAA2B,CAAC,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAEvE,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IAE1E,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,mDAAmD;IACxF,2CAA2C;IAC3C,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9D,IAAI,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9E,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACnC,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAgC,EAChC,gBAAyC,EACzC,gBAAgB,GAAG,IAAI;IAEvB,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;IACnD,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;IAEnD,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,8GAA8G;IAC9G,gHAAgH;IAChH,gGAAgG;IAChG,KAAK,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACtE,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,aAAa,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"processBlockHeader.js","sourceRoot":"","sources":["../../src/block/processBlockHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAkC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,0BAA0B,EAAC,MAAM,kBAAkB,CAAC;AAC5D;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAgC,EAAE,KAAuC;IAC1G,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,8BAA8B;IAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kDAAkD,KAAK,CAAC,IAAI,cAAc,IAAI,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,0DAA0D;IAC1D,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,yDAAyD,KAAK,CAAC,IAAI,2BAA2B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAC7H,CAAC;IACJ,CAAC;IACD,kDAAkD;IAClD,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,aAAa,KAAK,aAAa,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,+EAA+E,KAAK,CAAC,aAAa,uBAAuB,aAAa,EAAE,CACzI,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;QAC3G,MAAM,IAAI,KAAK,CACb,qBAAqB,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kDAAkD,IAAI,EAAE,CACzG,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,0BAA0B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpE,8CAA8C;IAC9C,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QAC9D,IAAI;QACJ,aAAa;QACb,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,WAAW,CAAC,QAAQ;KAC/B,CAAC,CAAC;IAEH,yFAAyF;IACzF,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"processBlockHeader.js","sourceRoot":"","sources":["../../src/block/processBlockHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAkC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAC,0BAA0B,EAAC,MAAM,kBAAkB,CAAC;AAC5D;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAgC,EAAE,KAAuC;IAC1G,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,8BAA8B;IAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kDAAkD,KAAK,CAAC,IAAI,cAAc,IAAI,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,0DAA0D;IAC1D,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,yDAAyD,KAAK,CAAC,IAAI,2BAA2B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAC7H,CAAC;IACJ,CAAC;IACD,kDAAkD;IAClD,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,aAAa,KAAK,aAAa,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,+EAA+E,KAAK,CAAC,aAAa,uBAAuB,aAAa,EAAE,CACzI,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;QAC3G,MAAM,IAAI,KAAK,CACb,qBAAqB,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kDAAkD,IAAI,EAAE,CACzG,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,0BAA0B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpE,8CAA8C;IAC9C,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QAC9D,IAAI;QACJ,aAAa;QACb,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,WAAW,CAAC,QAAQ;KAC/B,CAAC,CAAC;IAEH,yFAAyF;IACzF,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
- import { byteArrayEquals } from "@chainsafe/ssz";
2
1
  import { digest } from "@chainsafe/as-sha256";
2
+ import { byteArrayEquals } from "@chainsafe/ssz";
3
3
  import { BLS_WITHDRAWAL_PREFIX, ETH1_ADDRESS_WITHDRAWAL_PREFIX } from "@lodestar/params";
4
4
  import { toHex } from "@lodestar/utils";
5
5
  import { verifyBlsToExecutionChangeSignature } from "../signatureSets/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"processBlsToExecutionChange.js","sourceRoot":"","sources":["../../src/block/processBlsToExecutionChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAC,qBAAqB,EAAE,8BAA8B,EAAC,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,mCAAmC,EAAC,MAAM,2BAA2B,CAAC;AAI9E,MAAM,UAAU,2BAA2B,CACzC,KAA+B,EAC/B,0BAA8D;IAE9D,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC;IAEzD,MAAM,UAAU,GAAG,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAAC;IACxF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,UAAU,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACrE,MAAM,wBAAwB,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACpD,wBAAwB,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC;IAC7D,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAEnE,+BAA+B;IAC/B,SAAS,CAAC,qBAAqB,GAAG,wBAAwB,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAA+B,EAC/B,0BAA8D,EAC9D,eAAe,GAAG,IAAI;IAEtB,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC;IAEzD,IAAI,aAAa,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC5D,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,CACV,4BAA4B,aAAa,CAAC,cAAc,2BAA2B,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAC7G;SACF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7E,MAAM,EAAC,qBAAqB,EAAC,GAAG,SAAS,CAAC;IAC1C,IAAI,qBAAqB,CAAC,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;QACvD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,CACV,iDAAiD,qBAAqB,WAAW,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAC5G;SACF,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAC9D,0EAA0E;IAC1E,iBAAiB,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC;IAC7C,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC/D,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,CACV,0CAA0C,KAAK,CAAC,qBAAqB,CAAC,WAAW,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAC5G;SACF,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,IAAI,CAAC,mCAAmC,CAAC,KAAK,EAAE,0BAA0B,CAAC,EAAE,CAAC;QAC/F,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,CACV,iFAAiF,aAAa,CAAC,cAAc,EAAE,CAChH;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"processBlsToExecutionChange.js","sourceRoot":"","sources":["../../src/block/processBlsToExecutionChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,qBAAqB,EAAE,8BAA8B,EAAC,MAAM,kBAAkB,CAAC;AAEvF,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,mCAAmC,EAAC,MAAM,2BAA2B,CAAC;AAI9E,MAAM,UAAU,2BAA2B,CACzC,KAA+B,EAC/B,0BAA8D;IAE9D,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC;IAEzD,MAAM,UAAU,GAAG,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAAC;IACxF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,UAAU,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACrE,MAAM,wBAAwB,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACpD,wBAAwB,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC;IAC7D,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAEnE,+BAA+B;IAC/B,SAAS,CAAC,qBAAqB,GAAG,wBAAwB,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAA+B,EAC/B,0BAA8D,EAC9D,eAAe,GAAG,IAAI;IAEtB,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC;IAEzD,IAAI,aAAa,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC5D,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,CACV,4BAA4B,aAAa,CAAC,cAAc,2BAA2B,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAC7G;SACF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7E,MAAM,EAAC,qBAAqB,EAAC,GAAG,SAAS,CAAC;IAC1C,IAAI,qBAAqB,CAAC,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;QACvD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,CACV,iDAAiD,qBAAqB,WAAW,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAC5G;SACF,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAC9D,0EAA0E;IAC1E,iBAAiB,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC;IAC7C,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC/D,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,CACV,0CAA0C,KAAK,CAAC,qBAAqB,CAAC,WAAW,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAC5G;SACF,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,IAAI,CAAC,mCAAmC,CAAC,KAAK,EAAE,0BAA0B,CAAC,EAAE,CAAC;QAC/F,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,CACV,iFAAiF,aAAa,CAAC,cAAc,EAAE,CAChH;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;AACvB,CAAC"}
@@ -1,9 +1,22 @@
1
- import { ssz } from "@lodestar/types";
2
1
  import { FAR_FUTURE_EPOCH, MIN_ACTIVATION_BALANCE, PENDING_CONSOLIDATIONS_LIMIT } from "@lodestar/params";
3
- import { getConsolidationChurnLimit, isActiveValidator } from "../util/validator.js";
4
- import { hasExecutionWithdrawalCredential } from "../util/electra.js";
2
+ import { ssz } from "@lodestar/types";
3
+ import { hasEth1WithdrawalCredential } from "../util/capella.js";
4
+ import { hasExecutionWithdrawalCredential, switchToCompoundingValidator } from "../util/electra.js";
5
5
  import { computeConsolidationEpochAndUpdateChurn } from "../util/epoch.js";
6
+ import { getConsolidationChurnLimit, isActiveValidator } from "../util/validator.js";
7
+ // TODO Electra: Clean up necessary as there is a lot of overlap with isValidSwitchToCompoundRequest
6
8
  export function processConsolidationRequest(state, consolidationRequest) {
9
+ const { sourcePubkey, targetPubkey, sourceAddress } = consolidationRequest;
10
+ const sourceIndex = state.epochCtx.getValidatorIndex(sourcePubkey);
11
+ const targetIndex = state.epochCtx.getValidatorIndex(targetPubkey);
12
+ if (sourceIndex === null || targetIndex === null) {
13
+ return;
14
+ }
15
+ if (isValidSwitchToCompoundRequest(state, consolidationRequest)) {
16
+ switchToCompoundingValidator(state, sourceIndex);
17
+ // Early return since we have already switched validator to compounding
18
+ return;
19
+ }
7
20
  // If the pending consolidations queue is full, consolidation requests are ignored
8
21
  if (state.pendingConsolidations.length >= PENDING_CONSOLIDATIONS_LIMIT) {
9
22
  return;
@@ -12,12 +25,6 @@ export function processConsolidationRequest(state, consolidationRequest) {
12
25
  if (getConsolidationChurnLimit(state.epochCtx) <= MIN_ACTIVATION_BALANCE) {
13
26
  return;
14
27
  }
15
- const { sourcePubkey, targetPubkey } = consolidationRequest;
16
- const sourceIndex = state.epochCtx.getValidatorIndex(sourcePubkey);
17
- const targetIndex = state.epochCtx.getValidatorIndex(targetPubkey);
18
- if (sourceIndex === null || targetIndex === null) {
19
- return;
20
- }
21
28
  // Verify that source != target, so a consolidation cannot be used as an exit.
22
29
  if (sourceIndex === targetIndex) {
23
30
  return;
@@ -31,7 +38,7 @@ export function processConsolidationRequest(state, consolidationRequest) {
31
38
  !hasExecutionWithdrawalCredential(targetValidator.withdrawalCredentials)) {
32
39
  return;
33
40
  }
34
- if (Buffer.compare(sourceWithdrawalAddress, consolidationRequest.sourceAddress) !== 0) {
41
+ if (Buffer.compare(sourceWithdrawalAddress, sourceAddress) !== 0) {
35
42
  return;
36
43
  }
37
44
  // Verify the source and the target are active
@@ -51,5 +58,44 @@ export function processConsolidationRequest(state, consolidationRequest) {
51
58
  targetIndex,
52
59
  });
53
60
  state.pendingConsolidations.push(pendingConsolidation);
61
+ // Churn any target excess active balance of target and raise its max
62
+ if (hasEth1WithdrawalCredential(targetValidator.withdrawalCredentials)) {
63
+ switchToCompoundingValidator(state, targetIndex);
64
+ }
65
+ }
66
+ /**
67
+ * Determine if we should set consolidation target validator to compounding credential
68
+ */
69
+ function isValidSwitchToCompoundRequest(state, consolidationRequest) {
70
+ const { sourcePubkey, targetPubkey, sourceAddress } = consolidationRequest;
71
+ const sourceIndex = state.epochCtx.getValidatorIndex(sourcePubkey);
72
+ const targetIndex = state.epochCtx.getValidatorIndex(targetPubkey);
73
+ // Verify pubkey exists
74
+ if (sourceIndex === null) {
75
+ return false;
76
+ }
77
+ // Switch to compounding requires source and target be equal
78
+ if (sourceIndex !== targetIndex) {
79
+ return false;
80
+ }
81
+ const sourceValidator = state.validators.getReadonly(sourceIndex);
82
+ const sourceWithdrawalAddress = sourceValidator.withdrawalCredentials.subarray(12);
83
+ // Verify request has been authorized
84
+ if (Buffer.compare(sourceWithdrawalAddress, sourceAddress) !== 0) {
85
+ return false;
86
+ }
87
+ // Verify source withdrawal credentials
88
+ if (!hasEth1WithdrawalCredential(sourceValidator.withdrawalCredentials)) {
89
+ return false;
90
+ }
91
+ // Verify the source is active
92
+ if (!isActiveValidator(sourceValidator, state.epochCtx.epoch)) {
93
+ return false;
94
+ }
95
+ // Verify exit for source has not been initiated
96
+ if (sourceValidator.exitEpoch !== FAR_FUTURE_EPOCH) {
97
+ return false;
98
+ }
99
+ return true;
54
100
  }
55
101
  //# sourceMappingURL=processConsolidationRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processConsolidationRequest.js","sourceRoot":"","sources":["../../src/block/processConsolidationRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAE,sBAAsB,EAAE,4BAA4B,EAAC,MAAM,kBAAkB,CAAC;AAGxG,OAAO,EAAC,0BAA0B,EAAE,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAC,gCAAgC,EAAC,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAC,uCAAuC,EAAC,MAAM,kBAAkB,CAAC;AAEzE,MAAM,UAAU,2BAA2B,CACzC,KAA+B,EAC/B,oBAAkD;IAElD,kFAAkF;IAClF,IAAI,KAAK,CAAC,qBAAqB,CAAC,MAAM,IAAI,4BAA4B,EAAE,CAAC;QACvE,OAAO;IACT,CAAC;IAED,iGAAiG;IACjG,IAAI,0BAA0B,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sBAAsB,EAAE,CAAC;QACzE,OAAO;IACT,CAAC;IAED,MAAM,EAAC,YAAY,EAAE,YAAY,EAAC,GAAG,oBAAoB,CAAC;IAC1D,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEnE,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,uBAAuB,GAAG,eAAe,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnF,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IAE1C,gCAAgC;IAChC,IACE,CAAC,gCAAgC,CAAC,eAAe,CAAC,qBAAqB,CAAC;QACxE,CAAC,gCAAgC,CAAC,eAAe,CAAC,qBAAqB,CAAC,EACxE,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACtF,OAAO;IACT,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,CAAC;QAC3G,OAAO;IACT,CAAC;IAED,6DAA6D;IAC7D,IAAI,eAAe,CAAC,SAAS,KAAK,gBAAgB,IAAI,eAAe,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;QACrG,OAAO;IACT,CAAC;IAED,iDAAiD;IACjD,MAAM,SAAS,GAAG,uCAAuC,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3G,eAAe,CAAC,SAAS,GAAG,SAAS,CAAC;IACtC,eAAe,CAAC,iBAAiB,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC;IAEjG,MAAM,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QACrE,WAAW;QACX,WAAW;KACZ,CAAC,CAAC;IACH,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"processConsolidationRequest.js","sourceRoot":"","sources":["../../src/block/processConsolidationRequest.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { phase0 } from "@lodestar/types";
1
+ import { BLSPubkey, Bytes32, UintNum64, phase0 } from "@lodestar/types";
2
2
  import { ForkSeq } from "@lodestar/params";
3
- import { DepositData } from "@lodestar/types/lib/phase0/types.js";
3
+ import { BeaconConfig } from "@lodestar/config";
4
4
  import { DepositRequest } from "@lodestar/types/lib/electra/types.js";
5
+ import { DepositData } from "@lodestar/types/lib/phase0/types.js";
5
6
  import { CachedBeaconStateAllForks } from "../types.js";
6
7
  /**
7
8
  * Process a Deposit operation. Potentially adds a new validator to the registry. Mutates the validators and balances
@@ -16,4 +17,6 @@ export declare function processDeposit(fork: ForkSeq, state: CachedBeaconStateAl
16
17
  *
17
18
  */
18
19
  export declare function applyDeposit(fork: ForkSeq, state: CachedBeaconStateAllForks, deposit: DepositData | DepositRequest): void;
20
+ export declare function addValidatorToRegistry(fork: ForkSeq, state: CachedBeaconStateAllForks, pubkey: BLSPubkey, withdrawalCredentials: Bytes32, amount: UintNum64): void;
21
+ export declare function isValidDepositSignature(config: BeaconConfig, pubkey: Uint8Array, withdrawalCredentials: Uint8Array, amount: number, depositSignature: Uint8Array): boolean;
19
22
  //# sourceMappingURL=processDeposit.d.ts.map
@@ -1,9 +1,9 @@
1
1
  import { PublicKey, Signature, verify } from "@chainsafe/blst";
2
2
  import { ssz } from "@lodestar/types";
3
3
  import { verifyMerkleBranch } from "@lodestar/utils";
4
- import { DEPOSIT_CONTRACT_TREE_DEPTH, DOMAIN_DEPOSIT, EFFECTIVE_BALANCE_INCREMENT, FAR_FUTURE_EPOCH, ForkSeq, MAX_EFFECTIVE_BALANCE, } from "@lodestar/params";
4
+ import { DEPOSIT_CONTRACT_TREE_DEPTH, DOMAIN_DEPOSIT, EFFECTIVE_BALANCE_INCREMENT, FAR_FUTURE_EPOCH, ForkSeq, GENESIS_SLOT, MAX_EFFECTIVE_BALANCE, } from "@lodestar/params";
5
5
  import { ZERO_HASH } from "../constants/index.js";
6
- import { computeDomain, computeSigningRoot, hasCompoundingWithdrawalCredential, hasEth1WithdrawalCredential, increaseBalance, switchToCompoundingValidator, } from "../util/index.js";
6
+ import { computeDomain, computeSigningRoot, getMaxEffectiveBalance, increaseBalance } from "../util/index.js";
7
7
  /**
8
8
  * Process a Deposit operation. Potentially adds a new validator to the registry. Mutates the validators and balances
9
9
  * trees, pushing contigious values at the end.
@@ -25,38 +25,45 @@ export function processDeposit(fork, state, deposit) {
25
25
  *
26
26
  */
27
27
  export function applyDeposit(fork, state, deposit) {
28
- const { config, validators, epochCtx } = state;
29
- const { pubkey, withdrawalCredentials, amount } = deposit;
28
+ const { config, epochCtx, validators } = state;
29
+ const { pubkey, withdrawalCredentials, amount, signature } = deposit;
30
30
  const cachedIndex = epochCtx.getValidatorIndex(pubkey);
31
- if (cachedIndex === null || !Number.isSafeInteger(cachedIndex) || cachedIndex >= validators.length) {
32
- if (isValidDepositSignature(config, pubkey, withdrawalCredentials, amount, deposit.signature)) {
33
- addValidatorToRegistry(fork, state, pubkey, withdrawalCredentials, amount);
31
+ const isNewValidator = cachedIndex === null || !Number.isSafeInteger(cachedIndex) || cachedIndex >= validators.length;
32
+ if (fork < ForkSeq.electra) {
33
+ if (isNewValidator) {
34
+ if (isValidDepositSignature(config, pubkey, withdrawalCredentials, amount, signature)) {
35
+ addValidatorToRegistry(fork, state, pubkey, withdrawalCredentials, amount);
36
+ }
34
37
  }
35
- }
36
- else {
37
- if (fork < ForkSeq.electra) {
38
+ else {
38
39
  // increase balance by deposit amount right away pre-electra
39
40
  increaseBalance(state, cachedIndex, amount);
40
41
  }
41
- else if (fork >= ForkSeq.electra) {
42
- const stateElectra = state;
43
- const pendingBalanceDeposit = ssz.electra.PendingBalanceDeposit.toViewDU({
44
- index: cachedIndex,
45
- amount: BigInt(amount),
46
- });
47
- stateElectra.pendingBalanceDeposits.push(pendingBalanceDeposit);
48
- if (hasCompoundingWithdrawalCredential(withdrawalCredentials) &&
49
- hasEth1WithdrawalCredential(validators.getReadonly(cachedIndex).withdrawalCredentials) &&
50
- isValidDepositSignature(config, pubkey, withdrawalCredentials, amount, deposit.signature)) {
51
- switchToCompoundingValidator(stateElectra, cachedIndex);
42
+ }
43
+ else {
44
+ const stateElectra = state;
45
+ const pendingDeposit = ssz.electra.PendingDeposit.toViewDU({
46
+ pubkey,
47
+ withdrawalCredentials,
48
+ amount,
49
+ signature,
50
+ slot: GENESIS_SLOT, // Use GENESIS_SLOT to distinguish from a pending deposit request
51
+ });
52
+ if (isNewValidator) {
53
+ if (isValidDepositSignature(config, pubkey, withdrawalCredentials, amount, deposit.signature)) {
54
+ addValidatorToRegistry(fork, state, pubkey, withdrawalCredentials, 0);
55
+ stateElectra.pendingDeposits.push(pendingDeposit);
52
56
  }
53
57
  }
58
+ else {
59
+ stateElectra.pendingDeposits.push(pendingDeposit);
60
+ }
54
61
  }
55
62
  }
56
- function addValidatorToRegistry(fork, state, pubkey, withdrawalCredentials, amount) {
63
+ export function addValidatorToRegistry(fork, state, pubkey, withdrawalCredentials, amount) {
57
64
  const { validators, epochCtx } = state;
58
65
  // add validator and balance entries
59
- const effectiveBalance = fork < ForkSeq.electra ? Math.min(amount - (amount % EFFECTIVE_BALANCE_INCREMENT), MAX_EFFECTIVE_BALANCE) : 0;
66
+ const effectiveBalance = Math.min(amount - (amount % EFFECTIVE_BALANCE_INCREMENT), fork < ForkSeq.electra ? MAX_EFFECTIVE_BALANCE : getMaxEffectiveBalance(withdrawalCredentials));
60
67
  validators.push(ssz.phase0.Validator.toViewDU({
61
68
  pubkey,
62
69
  withdrawalCredentials,
@@ -84,20 +91,9 @@ function addValidatorToRegistry(fork, state, pubkey, withdrawalCredentials, amou
84
91
  stateAltair.previousEpochParticipation.push(0);
85
92
  stateAltair.currentEpochParticipation.push(0);
86
93
  }
87
- if (fork < ForkSeq.electra) {
88
- state.balances.push(amount);
89
- }
90
- else if (fork >= ForkSeq.electra) {
91
- state.balances.push(0);
92
- const stateElectra = state;
93
- const pendingBalanceDeposit = ssz.electra.PendingBalanceDeposit.toViewDU({
94
- index: validatorIndex,
95
- amount: BigInt(amount),
96
- });
97
- stateElectra.pendingBalanceDeposits.push(pendingBalanceDeposit);
98
- }
94
+ state.balances.push(amount);
99
95
  }
100
- function isValidDepositSignature(config, pubkey, withdrawalCredentials, amount, depositSignature) {
96
+ export function isValidDepositSignature(config, pubkey, withdrawalCredentials, amount, depositSignature) {
101
97
  // verify the deposit signature (proof of posession) which is not checked by the deposit contract
102
98
  const depositMessage = {
103
99
  pubkey,
@@ -1 +1 @@
1
- {"version":3,"file":"processDeposit.js","sourceRoot":"","sources":["../../src/block/processDeposit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processDeposit.js","sourceRoot":"","sources":["../../src/block/processDeposit.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { electra } from "@lodestar/types";
2
- import { ForkSeq } from "@lodestar/params";
3
2
  import { CachedBeaconStateElectra } from "../types.js";
4
- export declare function processDepositRequest(fork: ForkSeq, state: CachedBeaconStateElectra, depositRequest: electra.DepositRequest): void;
3
+ export declare function processDepositRequest(state: CachedBeaconStateElectra, depositRequest: electra.DepositRequest): void;
5
4
  //# sourceMappingURL=processDepositRequest.d.ts.map
@@ -1,9 +1,17 @@
1
1
  import { UNSET_DEPOSIT_REQUESTS_START_INDEX } from "@lodestar/params";
2
- import { applyDeposit } from "./processDeposit.js";
3
- export function processDepositRequest(fork, state, depositRequest) {
2
+ import { ssz } from "@lodestar/types";
3
+ export function processDepositRequest(state, depositRequest) {
4
4
  if (state.depositRequestsStartIndex === UNSET_DEPOSIT_REQUESTS_START_INDEX) {
5
5
  state.depositRequestsStartIndex = BigInt(depositRequest.index);
6
6
  }
7
- applyDeposit(fork, state, depositRequest);
7
+ // Create pending deposit
8
+ const pendingDeposit = ssz.electra.PendingDeposit.toViewDU({
9
+ pubkey: depositRequest.pubkey,
10
+ withdrawalCredentials: depositRequest.withdrawalCredentials,
11
+ amount: depositRequest.amount,
12
+ signature: depositRequest.signature,
13
+ slot: state.slot,
14
+ });
15
+ state.pendingDeposits.push(pendingDeposit);
8
16
  }
9
17
  //# sourceMappingURL=processDepositRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processDepositRequest.js","sourceRoot":"","sources":["../../src/block/processDepositRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,kCAAkC,EAAC,MAAM,kBAAkB,CAAC;AAG7E,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEjD,MAAM,UAAU,qBAAqB,CACnC,IAAa,EACb,KAA+B,EAC/B,cAAsC;IAEtC,IAAI,KAAK,CAAC,yBAAyB,KAAK,kCAAkC,EAAE,CAAC;QAC3E,KAAK,CAAC,yBAAyB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"processDepositRequest.js","sourceRoot":"","sources":["../../src/block/processDepositRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,kCAAkC,EAAC,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAU,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAI7C,MAAM,UAAU,qBAAqB,CAAC,KAA+B,EAAE,cAAsC;IAC3G,IAAI,KAAK,CAAC,yBAAyB,KAAK,kCAAkC,EAAE,CAAC;QAC3E,KAAK,CAAC,yBAAyB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,yBAAyB;IACzB,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC;QACzD,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,qBAAqB,EAAE,cAAc,CAAC,qBAAqB;QAC3D,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAC;IACH,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC7C,CAAC"}
@@ -45,9 +45,7 @@ export function becomesNewEth1Data(state, newEth1Data) {
45
45
  if ((sameVotesCount + 1) * 2 > SLOTS_PER_ETH1_VOTING_PERIOD) {
46
46
  return true;
47
47
  }
48
- else {
49
- return false;
50
- }
48
+ return false;
51
49
  }
52
50
  function isEqualEth1DataView(eth1DataA, eth1DataB) {
53
51
  return isEqualNode(eth1DataA.node, eth1DataB.node);