@lodestar/state-transition 1.23.0-dev.c04157c969 → 1.23.0-dev.c9cf3ea85c

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 (92) hide show
  1. package/lib/block/isValidIndexedAttestation.js +2 -6
  2. package/lib/block/isValidIndexedAttestation.js.map +1 -1
  3. package/lib/block/processAttestationPhase0.js +4 -8
  4. package/lib/block/processAttestationPhase0.js.map +1 -1
  5. package/lib/block/processConsolidationRequest.js +54 -8
  6. package/lib/block/processConsolidationRequest.js.map +1 -1
  7. package/lib/block/processDeposit.d.ts +4 -1
  8. package/lib/block/processDeposit.js +33 -37
  9. package/lib/block/processDeposit.js.map +1 -1
  10. package/lib/block/processDepositRequest.d.ts +1 -2
  11. package/lib/block/processDepositRequest.js +11 -3
  12. package/lib/block/processDepositRequest.js.map +1 -1
  13. package/lib/block/processEth1Data.js +1 -3
  14. package/lib/block/processEth1Data.js.map +1 -1
  15. package/lib/block/processOperations.js +1 -1
  16. package/lib/block/processOperations.js.map +1 -1
  17. package/lib/block/processSyncCommittee.js +1 -3
  18. package/lib/block/processSyncCommittee.js.map +1 -1
  19. package/lib/block/processWithdrawals.js +3 -2
  20. package/lib/block/processWithdrawals.js.map +1 -1
  21. package/lib/cache/epochCache.d.ts +1 -0
  22. package/lib/cache/epochCache.js +16 -19
  23. package/lib/cache/epochCache.js.map +1 -1
  24. package/lib/cache/epochTransitionCache.d.ts +0 -5
  25. package/lib/cache/epochTransitionCache.js +0 -2
  26. package/lib/cache/epochTransitionCache.js.map +1 -1
  27. package/lib/cache/stateCache.js +2 -0
  28. package/lib/cache/stateCache.js.map +1 -1
  29. package/lib/constants/constants.d.ts +3 -4
  30. package/lib/constants/constants.js +4 -4
  31. package/lib/constants/constants.js.map +1 -1
  32. package/lib/epoch/index.d.ts +3 -3
  33. package/lib/epoch/index.js +5 -5
  34. package/lib/epoch/index.js.map +1 -1
  35. package/lib/epoch/processEffectiveBalanceUpdates.js +4 -7
  36. package/lib/epoch/processEffectiveBalanceUpdates.js.map +1 -1
  37. package/lib/epoch/processPendingConsolidations.js +7 -12
  38. package/lib/epoch/processPendingConsolidations.js.map +1 -1
  39. package/lib/epoch/{processPendingBalanceDeposits.d.ts → processPendingDeposits.d.ts} +4 -4
  40. package/lib/epoch/processPendingDeposits.js +102 -0
  41. package/lib/epoch/processPendingDeposits.js.map +1 -0
  42. package/lib/metrics.js +2 -0
  43. package/lib/metrics.js.map +1 -1
  44. package/lib/signatureSets/attesterSlashings.js +1 -3
  45. package/lib/signatureSets/attesterSlashings.js.map +1 -1
  46. package/lib/signatureSets/proposerSlashings.js +1 -3
  47. package/lib/signatureSets/proposerSlashings.js.map +1 -1
  48. package/lib/slot/upgradeStateToAltair.js +1 -0
  49. package/lib/slot/upgradeStateToAltair.js.map +1 -1
  50. package/lib/slot/upgradeStateToCapella.js +1 -0
  51. package/lib/slot/upgradeStateToCapella.js.map +1 -1
  52. package/lib/slot/upgradeStateToDeneb.js +1 -0
  53. package/lib/slot/upgradeStateToDeneb.js.map +1 -1
  54. package/lib/slot/upgradeStateToElectra.d.ts +0 -1
  55. package/lib/slot/upgradeStateToElectra.js +19 -36
  56. package/lib/slot/upgradeStateToElectra.js.map +1 -1
  57. package/lib/util/balance.d.ts +1 -1
  58. package/lib/util/blindedBlock.js +17 -13
  59. package/lib/util/blindedBlock.js.map +1 -1
  60. package/lib/util/computeAnchorCheckpoint.js.map +1 -1
  61. package/lib/util/deposit.js +2 -6
  62. package/lib/util/deposit.js.map +1 -1
  63. package/lib/util/electra.d.ts +0 -1
  64. package/lib/util/electra.js +19 -27
  65. package/lib/util/electra.js.map +1 -1
  66. package/lib/util/epochShuffling.d.ts +1 -0
  67. package/lib/util/epochShuffling.js +31 -12
  68. package/lib/util/epochShuffling.js.map +1 -1
  69. package/lib/util/execution.js +5 -9
  70. package/lib/util/execution.js.map +1 -1
  71. package/lib/util/genesis.js +8 -3
  72. package/lib/util/genesis.js.map +1 -1
  73. package/lib/util/index.d.ts +0 -1
  74. package/lib/util/index.js +0 -1
  75. package/lib/util/index.js.map +1 -1
  76. package/lib/util/loadState/loadValidator.js +1 -3
  77. package/lib/util/loadState/loadValidator.js.map +1 -1
  78. package/lib/util/seed.js +1 -1
  79. package/lib/util/seed.js.map +1 -1
  80. package/lib/util/shufflingDecisionRoot.js +5 -11
  81. package/lib/util/shufflingDecisionRoot.js.map +1 -1
  82. package/lib/util/validator.d.ts +0 -1
  83. package/lib/util/validator.js +2 -10
  84. package/lib/util/validator.js.map +1 -1
  85. package/lib/util/weakSubjectivity.js +0 -1
  86. package/lib/util/weakSubjectivity.js.map +1 -1
  87. package/package.json +9 -8
  88. package/lib/epoch/processPendingBalanceDeposits.js +0 -68
  89. package/lib/epoch/processPendingBalanceDeposits.js.map +0 -1
  90. package/lib/util/shuffle.d.ts +0 -9
  91. package/lib/util/shuffle.js +0 -197
  92. package/lib/util/shuffle.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"attesterSlashings.js","sourceRoot":"","sources":["../../src/signatureSets/attesterSlashings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,GAAG,EAA6C,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,kBAAkB,EAAE,uBAAuB,EAAiB,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAG9G,sEAAsE;AACtE,MAAM,UAAU,iCAAiC,CAC/C,KAAgC,EAChC,WAA8B;IAE9B,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB;SAC9C,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,gCAAgC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;SACpF,IAAI,CAAC,CAAC,CAAC,CAAC;AACb,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,gCAAgC,CAC9C,KAAgC,EAChC,gBAAkC;IAElC,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACxF,uCAAuC,CAAC,KAAK,EAAE,WAAW,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,KAAgC,EAChC,kBAA4C;IAE5C,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAe,CAAC,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAEhF,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,SAAS;QAChC,OAAO,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvF,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC;QAClG,SAAS,EAAE,kBAAkB,CAAC,SAAS;KACxC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"attesterSlashings.js","sourceRoot":"","sources":["../../src/signatureSets/attesterSlashings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,GAAG,EAA6C,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,kBAAkB,EAAE,uBAAuB,EAAiB,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAG9G,sEAAsE;AACtE,MAAM,UAAU,iCAAiC,CAC/C,KAAgC,EAChC,WAA8B;IAE9B,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAC7E,gCAAgC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,gCAAgC,CAC9C,KAAgC,EAChC,gBAAkC;IAElC,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACxF,uCAAuC,CAAC,KAAK,EAAE,WAAW,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,KAAgC,EAChC,kBAA4C;IAE5C,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAe,CAAC,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAEhF,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,SAAS;QAChC,OAAO,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvF,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC;QAClG,SAAS,EAAE,kBAAkB,CAAC,SAAS;KACxC,CAAC;AACJ,CAAC"}
@@ -20,8 +20,6 @@ export function getProposerSlashingSignatureSets(state, proposerSlashing) {
20
20
  });
21
21
  }
22
22
  export function getProposerSlashingsSignatureSets(state, signedBlock) {
23
- return signedBlock.message.body.proposerSlashings
24
- .map((proposerSlashing) => getProposerSlashingSignatureSets(state, proposerSlashing))
25
- .flat(1);
23
+ return signedBlock.message.body.proposerSlashings.flatMap((proposerSlashing) => getProposerSlashingSignatureSets(state, proposerSlashing));
26
24
  }
27
25
  //# sourceMappingURL=proposerSlashings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposerSlashings.js","sourceRoot":"","sources":["../../src/signatureSets/proposerSlashings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAA4B,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAiB,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAGrF;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAC9C,KAAgC,EAChC,gBAAyC;IAEzC,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3F,kHAAkH;IAClH,iHAAiH;IACjH,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAiB,EAAE;QAC1G,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CACnC,KAAK,CAAC,IAAI,EACV,sBAAsB,EACtB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAc,CAAC,CAC5C,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;YAC7B,MAAM;YACN,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,uBAAuB,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;YACjG,SAAS,EAAE,YAAY,CAAC,SAAS;SAClC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,KAAgC,EAChC,WAA8B;IAE9B,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB;SAC9C,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,gCAAgC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;SACpF,IAAI,CAAC,CAAC,CAAC,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"proposerSlashings.js","sourceRoot":"","sources":["../../src/signatureSets/proposerSlashings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAA4B,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAiB,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAGrF;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAC9C,KAAgC,EAChC,gBAAyC;IAEzC,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3F,kHAAkH;IAClH,iHAAiH;IACjH,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAiB,EAAE;QAC1G,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CACnC,KAAK,CAAC,IAAI,EACV,sBAAsB,EACtB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAc,CAAC,CAC5C,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;YAC7B,MAAM;YACN,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,uBAAuB,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;YACjG,SAAS,EAAE,YAAY,CAAC,SAAS;SAClC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,KAAgC,EAChC,WAA8B;IAE9B,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAC7E,gCAAgC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAC1D,CAAC;AACJ,CAAC"}
@@ -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":"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"}
@@ -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;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,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;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,2EAA2E;IAC3E,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;IAE3B,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -4,5 +4,4 @@ import { CachedBeaconStateElectra } from "../cache/stateCache.js";
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,9 +1,10 @@
1
1
  import { ssz } from "@lodestar/types";
2
- import { FAR_FUTURE_EPOCH, UNSET_DEPOSIT_REQUESTS_START_INDEX } from "@lodestar/params";
2
+ import { FAR_FUTURE_EPOCH, GENESIS_SLOT, 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 { hasCompoundingWithdrawalCredential, queueExcessActiveBalance } from "../util/electra.js";
5
5
  import { computeActivationExitEpoch } from "../util/epoch.js";
6
6
  import { getActivationExitChurnLimit, getConsolidationChurnLimit } from "../util/validator.js";
7
+ import { G2_POINT_AT_INFINITY } from "../constants/constants.js";
7
8
  /**
8
9
  * Upgrade a state from Deneb to Electra.
9
10
  */
@@ -68,8 +69,6 @@ export function upgradeStateToElectra(stateDeneb) {
68
69
  stateElectraView.earliestExitEpoch = Math.max(...exitEpochs) + 1;
69
70
  stateElectraView.consolidationBalanceToConsume = BigInt(0);
70
71
  stateElectraView.earliestConsolidationEpoch = computeActivationExitEpoch(currentEpochPre);
71
- // stateElectraView.pendingBalanceDeposits = ssz.electra.PendingBalanceDeposits.defaultViewDU();
72
- // pendingBalanceDeposits, pendingPartialWithdrawals, pendingConsolidations are default values
73
72
  // TODO-electra: can we improve this?
74
73
  stateElectraView.commit();
75
74
  const tmpElectraState = getCachedBeaconState(stateElectraView, stateDeneb);
@@ -80,7 +79,21 @@ export function upgradeStateToElectra(stateDeneb) {
80
79
  return res !== 0 ? res : i0 - i1;
81
80
  });
82
81
  for (const validatorIndex of preActivation) {
83
- 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);
84
97
  }
85
98
  for (let i = 0; i < validatorsArr.length; i++) {
86
99
  const validator = validatorsArr[i];
@@ -94,37 +107,7 @@ export function upgradeStateToElectra(stateDeneb) {
94
107
  // Commit new added fields ViewDU to the root node
95
108
  stateElectra.commit();
96
109
  // Clear cache to ensure the cache of deneb fields is not used by new ELECTRA fields
97
- stateElectra["clearCache"]();
98
- return stateElectra;
99
- }
100
- export function upgradeStateToElectraOriginal(stateDeneb) {
101
- const { config } = stateDeneb;
102
- const stateElectraNode = ssz.deneb.BeaconState.commitViewDU(stateDeneb);
103
- const stateElectraView = ssz.electra.BeaconState.getViewDU(stateElectraNode);
104
- const stateElectra = getCachedBeaconState(stateElectraView, stateDeneb);
105
- stateElectra.fork = ssz.phase0.Fork.toViewDU({
106
- previousVersion: stateDeneb.fork.currentVersion,
107
- currentVersion: config.ELECTRA_FORK_VERSION,
108
- epoch: stateDeneb.epochCtx.epoch,
109
- });
110
- // default value of depositRequestsStartIndex is UNSET_DEPOSIT_REQUESTS_START_INDEX
111
- stateElectra.depositRequestsStartIndex = UNSET_DEPOSIT_REQUESTS_START_INDEX;
112
- const validatorsArr = stateElectra.validators.getAllReadonly();
113
- for (let i = 0; i < validatorsArr.length; i++) {
114
- const validator = validatorsArr[i];
115
- // [EIP-7251]: add validators that are not yet active to pending balance deposits
116
- if (validator.activationEligibilityEpoch === FAR_FUTURE_EPOCH) {
117
- queueEntireBalanceAndResetValidator(stateElectra, i);
118
- }
119
- // [EIP-7251]: Ensure early adopters of compounding credentials go through the activation churn
120
- const withdrawalCredential = validator.withdrawalCredentials;
121
- if (hasCompoundingWithdrawalCredential(withdrawalCredential)) {
122
- queueExcessActiveBalance(stateElectra, i);
123
- }
124
- }
125
- // Commit new added fields ViewDU to the root node
126
- stateElectra.commit();
127
- // 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
128
111
  stateElectra["clearCache"]();
129
112
  return stateElectra;
130
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgradeStateToElectra.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToElectra.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgradeStateToElectra.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToElectra.ts"],"names":[],"mappings":"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"}
@@ -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]].
@@ -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":"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"}
1
+ {"version":3,"file":"blindedBlock.js","sourceRoot":"","sources":["../../src/util/blindedBlock.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"computeAnchorCheckpoint.js","sourceRoot":"","sources":["../../src/util/computeAnchorCheckpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAS,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAEzD,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,WAAW,CAAC;IAChB,IAAI,IAAI,CAAC;IACT,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"}
1
+ {"version":3,"file":"computeAnchorCheckpoint.js","sourceRoot":"","sources":["../../src/util/computeAnchorCheckpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAS,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAEzD,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"}
@@ -11,12 +11,8 @@ export function getEth1DepositCount(state, eth1Data) {
11
11
  if (state.eth1DepositIndex < eth1DataIndexLimit) {
12
12
  return Math.min(MAX_DEPOSITS, eth1DataIndexLimit - state.eth1DepositIndex);
13
13
  }
14
- else {
15
- return 0;
16
- }
17
- }
18
- else {
19
- return Math.min(MAX_DEPOSITS, eth1DataToUse.depositCount - state.eth1DepositIndex);
14
+ return 0;
20
15
  }
16
+ return Math.min(MAX_DEPOSITS, eth1DataToUse.depositCount - state.eth1DepositIndex);
21
17
  }
22
18
  //# sourceMappingURL=deposit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../src/util/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAIvD,MAAM,UAAU,mBAAmB,CAAC,KAAgC,EAAE,QAA0B;IAC9F,MAAM,aAAa,GAAG,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;IACjD,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,YAAY,GAAG,KAAiC,CAAC;QACvD,kFAAkF;QAClF,kEAAkE;QAClE,MAAM,kBAAkB,GACtB,aAAa,CAAC,YAAY,GAAG,YAAY,CAAC,yBAAyB;YACjE,CAAC,CAAC,aAAa,CAAC,YAAY;YAC5B,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;QAErD,IAAI,KAAK,CAAC,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,kBAAkB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACrF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../src/util/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAIvD,MAAM,UAAU,mBAAmB,CAAC,KAAgC,EAAE,QAA0B;IAC9F,MAAM,aAAa,GAAG,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;IACjD,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,YAAY,GAAG,KAAiC,CAAC;QACvD,kFAAkF;QAClF,kEAAkE;QAClE,MAAM,kBAAkB,GACtB,aAAa,CAAC,YAAY,GAAG,YAAY,CAAC,yBAAyB;YACjE,CAAC,CAAC,aAAa,CAAC,YAAY;YAC5B,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;QAErD,IAAI,KAAK,CAAC,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,kBAAkB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACrF,CAAC"}
@@ -4,5 +4,4 @@ export declare function hasCompoundingWithdrawalCredential(withdrawalCredentials
4
4
  export declare function hasExecutionWithdrawalCredential(withdrawalCredentials: Uint8Array): boolean;
5
5
  export declare function switchToCompoundingValidator(state: CachedBeaconStateElectra, index: ValidatorIndex): void;
6
6
  export declare function queueExcessActiveBalance(state: CachedBeaconStateElectra, index: ValidatorIndex): void;
7
- export declare function queueEntireBalanceAndResetValidator(state: CachedBeaconStateElectra, index: ValidatorIndex): void;
8
7
  //# sourceMappingURL=electra.d.ts.map
@@ -1,5 +1,6 @@
1
- import { COMPOUNDING_WITHDRAWAL_PREFIX, FAR_FUTURE_EPOCH, MIN_ACTIVATION_BALANCE } from "@lodestar/params";
1
+ import { COMPOUNDING_WITHDRAWAL_PREFIX, GENESIS_SLOT, MIN_ACTIVATION_BALANCE } from "@lodestar/params";
2
2
  import { ssz } from "@lodestar/types";
3
+ import { G2_POINT_AT_INFINITY } from "../constants/constants.js";
3
4
  import { hasEth1WithdrawalCredential } from "./capella.js";
4
5
  export function hasCompoundingWithdrawalCredential(withdrawalCredentials) {
5
6
  return withdrawalCredentials[0] === COMPOUNDING_WITHDRAWAL_PREFIX;
@@ -9,39 +10,30 @@ export function hasExecutionWithdrawalCredential(withdrawalCredentials) {
9
10
  }
10
11
  export function switchToCompoundingValidator(state, index) {
11
12
  const validator = state.validators.get(index);
12
- if (hasEth1WithdrawalCredential(validator.withdrawalCredentials)) {
13
- // directly modifying the byte leads to ssz missing the modification resulting into
14
- // wrong root compute, although slicing can be avoided but anyway this is not going
15
- // to be a hot path so its better to clean slice and avoid side effects
16
- const newWithdrawalCredentials = validator.withdrawalCredentials.slice();
17
- newWithdrawalCredentials[0] = COMPOUNDING_WITHDRAWAL_PREFIX;
18
- validator.withdrawalCredentials = newWithdrawalCredentials;
19
- queueExcessActiveBalance(state, index);
20
- }
13
+ // directly modifying the byte leads to ssz missing the modification resulting into
14
+ // wrong root compute, although slicing can be avoided but anyway this is not going
15
+ // to be a hot path so its better to clean slice and avoid side effects
16
+ const newWithdrawalCredentials = validator.withdrawalCredentials.slice();
17
+ newWithdrawalCredentials[0] = COMPOUNDING_WITHDRAWAL_PREFIX;
18
+ validator.withdrawalCredentials = newWithdrawalCredentials;
19
+ queueExcessActiveBalance(state, index);
21
20
  }
22
21
  export function queueExcessActiveBalance(state, index) {
23
22
  const balance = state.balances.get(index);
24
23
  if (balance > MIN_ACTIVATION_BALANCE) {
24
+ const validator = state.validators.getReadonly(index);
25
25
  const excessBalance = balance - MIN_ACTIVATION_BALANCE;
26
26
  state.balances.set(index, MIN_ACTIVATION_BALANCE);
27
- const pendingBalanceDeposit = ssz.electra.PendingBalanceDeposit.toViewDU({
28
- index,
29
- amount: BigInt(excessBalance),
27
+ const pendingDeposit = ssz.electra.PendingDeposit.toViewDU({
28
+ pubkey: validator.pubkey,
29
+ withdrawalCredentials: validator.withdrawalCredentials,
30
+ amount: excessBalance,
31
+ // Use bls.G2_POINT_AT_INFINITY as a signature field placeholder
32
+ signature: G2_POINT_AT_INFINITY,
33
+ // Use GENESIS_SLOT to distinguish from a pending deposit request
34
+ slot: GENESIS_SLOT,
30
35
  });
31
- state.pendingBalanceDeposits.push(pendingBalanceDeposit);
36
+ state.pendingDeposits.push(pendingDeposit);
32
37
  }
33
38
  }
34
- export function queueEntireBalanceAndResetValidator(state, index) {
35
- const balance = state.balances.get(index);
36
- state.balances.set(index, 0);
37
- const validator = state.validators.get(index);
38
- validator.effectiveBalance = 0;
39
- state.epochCtx.effectiveBalanceIncrementsSet(index, 0);
40
- validator.activationEligibilityEpoch = FAR_FUTURE_EPOCH;
41
- const pendingBalanceDeposit = ssz.electra.PendingBalanceDeposit.toViewDU({
42
- index,
43
- amount: BigInt(balance),
44
- });
45
- state.pendingBalanceDeposits.push(pendingBalanceDeposit);
46
- }
47
39
  //# sourceMappingURL=electra.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"electra.js","sourceRoot":"","sources":["../../src/util/electra.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,6BAA6B,EAAE,gBAAgB,EAAE,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAiB,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,2BAA2B,EAAC,MAAM,cAAc,CAAC;AAEzD,MAAM,UAAU,kCAAkC,CAAC,qBAAiC;IAClF,OAAO,qBAAqB,CAAC,CAAC,CAAC,KAAK,6BAA6B,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,qBAAiC;IAChF,OAAO,CACL,kCAAkC,CAAC,qBAAqB,CAAC,IAAI,2BAA2B,CAAC,qBAAqB,CAAC,CAChH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAA+B,EAAE,KAAqB;IACjG,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAE9C,IAAI,2BAA2B,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACjE,mFAAmF;QACnF,mFAAmF;QACnF,uEAAuE;QACvE,MAAM,wBAAwB,GAAG,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACzE,wBAAwB,CAAC,CAAC,CAAC,GAAG,6BAA6B,CAAC;QAC5D,SAAS,CAAC,qBAAqB,GAAG,wBAAwB,CAAC;QAC3D,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAA+B,EAAE,KAAqB;IAC7F,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,OAAO,GAAG,sBAAsB,CAAC;QACvD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAElD,MAAM,qBAAqB,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC;YACvE,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC;SAC9B,CAAC,CAAC;QACH,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,KAA+B,EAAE,KAAqB;IACxG,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1C,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE7B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9C,SAAS,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC/B,KAAK,CAAC,QAAQ,CAAC,6BAA6B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvD,SAAS,CAAC,0BAA0B,GAAG,gBAAgB,CAAC;IAExD,MAAM,qBAAqB,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC;QACvE,KAAK;QACL,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;KACxB,CAAC,CAAC;IACH,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"electra.js","sourceRoot":"","sources":["../../src/util/electra.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,6BAA6B,EAAE,YAAY,EAAE,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAiB,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,2BAA2B,EAAC,MAAM,cAAc,CAAC;AAEzD,MAAM,UAAU,kCAAkC,CAAC,qBAAiC;IAClF,OAAO,qBAAqB,CAAC,CAAC,CAAC,KAAK,6BAA6B,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,qBAAiC;IAChF,OAAO,CACL,kCAAkC,CAAC,qBAAqB,CAAC,IAAI,2BAA2B,CAAC,qBAAqB,CAAC,CAChH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAA+B,EAAE,KAAqB;IACjG,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAE9C,mFAAmF;IACnF,mFAAmF;IACnF,uEAAuE;IACvE,MAAM,wBAAwB,GAAG,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;IACzE,wBAAwB,CAAC,CAAC,CAAC,GAAG,6BAA6B,CAAC;IAC5D,SAAS,CAAC,qBAAqB,GAAG,wBAAwB,CAAC;IAC3D,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAA+B,EAAE,KAAqB;IAC7F,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,OAAO,GAAG,sBAAsB,CAAC;QACvD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAElD,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC;YACzD,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;YACtD,MAAM,EAAE,aAAa;YACrB,gEAAgE;YAChE,SAAS,EAAE,oBAAoB;YAC/B,iEAAiE;YACjE,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;QACH,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -71,6 +71,7 @@ export type EpochShuffling = {
71
71
  };
72
72
  export declare function computeCommitteeCount(activeValidatorCount: number): number;
73
73
  export declare function computeEpochShuffling(state: BeaconStateAllForks, activeIndices: Uint32Array, epoch: Epoch): EpochShuffling;
74
+ export declare function computeEpochShufflingAsync(state: BeaconStateAllForks, activeIndices: Uint32Array, epoch: Epoch): Promise<EpochShuffling>;
74
75
  /**
75
76
  * Get the shuffling decision block root for the given epoch of given state
76
77
  * - Special case close to genesis block, return the genesis block root
@@ -1,8 +1,8 @@
1
+ import { asyncUnshuffleList, unshuffleList } from "@chainsafe/swap-or-not-shuffle";
1
2
  import { ssz } from "@lodestar/types";
2
3
  import { intDiv, toRootHex } from "@lodestar/utils";
3
- import { DOMAIN_BEACON_ATTESTER, GENESIS_SLOT, MAX_COMMITTEES_PER_SLOT, SLOTS_PER_EPOCH, TARGET_COMMITTEE_SIZE, } from "@lodestar/params";
4
+ import { DOMAIN_BEACON_ATTESTER, GENESIS_SLOT, MAX_COMMITTEES_PER_SLOT, SLOTS_PER_EPOCH, TARGET_COMMITTEE_SIZE, SHUFFLE_ROUND_COUNT, } from "@lodestar/params";
4
5
  import { getSeed } from "./seed.js";
5
- import { unshuffleList } from "./shuffle.js";
6
6
  import { computeStartSlotAtEpoch } from "./epoch.js";
7
7
  import { getBlockRootAtSlot } from "./blockRoot.js";
8
8
  import { computeAnchorCheckpoint } from "./computeAnchorCheckpoint.js";
@@ -11,16 +11,13 @@ export function computeCommitteeCount(activeValidatorCount) {
11
11
  const committeesPerSlot = intDiv(validatorsPerSlot, TARGET_COMMITTEE_SIZE);
12
12
  return Math.max(1, Math.min(MAX_COMMITTEES_PER_SLOT, committeesPerSlot));
13
13
  }
14
- export function computeEpochShuffling(state, activeIndices, epoch) {
15
- const activeValidatorCount = activeIndices.length;
16
- const shuffling = activeIndices.slice();
17
- const seed = getSeed(state, epoch, DOMAIN_BEACON_ATTESTER);
18
- unshuffleList(shuffling, seed);
14
+ function buildCommitteesFromShuffling(shuffling) {
15
+ const activeValidatorCount = shuffling.length;
19
16
  const committeesPerSlot = computeCommitteeCount(activeValidatorCount);
20
17
  const committeeCount = committeesPerSlot * SLOTS_PER_EPOCH;
21
- const committees = [];
18
+ const committees = new Array(SLOTS_PER_EPOCH);
22
19
  for (let slot = 0; slot < SLOTS_PER_EPOCH; slot++) {
23
- const slotCommittees = [];
20
+ const slotCommittees = new Array(committeesPerSlot);
24
21
  for (let committeeIndex = 0; committeeIndex < committeesPerSlot; committeeIndex++) {
25
22
  const index = slot * committeesPerSlot + committeeIndex;
26
23
  const startOffset = Math.floor((activeValidatorCount * index) / committeeCount);
@@ -28,16 +25,38 @@ export function computeEpochShuffling(state, activeIndices, epoch) {
28
25
  if (!(startOffset <= endOffset)) {
29
26
  throw new Error(`Invalid offsets: start ${startOffset} must be less than or equal end ${endOffset}`);
30
27
  }
31
- slotCommittees.push(shuffling.subarray(startOffset, endOffset));
28
+ slotCommittees[committeeIndex] = shuffling.subarray(startOffset, endOffset);
32
29
  }
33
- committees.push(slotCommittees);
30
+ committees[slot] = slotCommittees;
34
31
  }
32
+ return committees;
33
+ }
34
+ export function computeEpochShuffling(
35
+ // TODO: (@matthewkeil) remove state/epoch and pass in seed to clean this up
36
+ state, activeIndices, epoch) {
37
+ const seed = getSeed(state, epoch, DOMAIN_BEACON_ATTESTER);
38
+ const shuffling = unshuffleList(activeIndices, seed, SHUFFLE_ROUND_COUNT);
39
+ const committees = buildCommitteesFromShuffling(shuffling);
40
+ return {
41
+ epoch,
42
+ activeIndices,
43
+ shuffling,
44
+ committees,
45
+ committeesPerSlot: committees[0].length,
46
+ };
47
+ }
48
+ export async function computeEpochShufflingAsync(
49
+ // TODO: (@matthewkeil) remove state/epoch and pass in seed to clean this up
50
+ state, activeIndices, epoch) {
51
+ const seed = getSeed(state, epoch, DOMAIN_BEACON_ATTESTER);
52
+ const shuffling = await asyncUnshuffleList(activeIndices, seed, SHUFFLE_ROUND_COUNT);
53
+ const committees = buildCommitteesFromShuffling(shuffling);
35
54
  return {
36
55
  epoch,
37
56
  activeIndices,
38
57
  shuffling,
39
58
  committees,
40
- committeesPerSlot,
59
+ committeesPerSlot: committees[0].length,
41
60
  };
42
61
  }
43
62
  function calculateDecisionRoot(state, epoch) {
@@ -1 +1 @@
1
- {"version":3,"file":"epochShuffling.js","sourceRoot":"","sources":["../../src/util/epochShuffling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epochShuffling.js","sourceRoot":"","sources":["../../src/util/epochShuffling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,aAAa,EAAC,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAiB,GAAG,EAAiB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAa,MAAM,EAAoB,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAChF,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,uBAAuB,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAmFrE,MAAM,UAAU,qBAAqB,CAAC,oBAA4B;IAChE,MAAM,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IACxE,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,4BAA4B,CAAC,SAAsB;IAC1D,MAAM,oBAAoB,GAAG,SAAS,CAAC,MAAM,CAAC;IAC9C,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,iBAAiB,GAAG,eAAe,CAAC;IAE3D,MAAM,UAAU,GAAG,IAAI,KAAK,CAAgB,eAAe,CAAC,CAAC;IAC7D,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,EAAE,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,KAAK,CAAc,iBAAiB,CAAC,CAAC;QAEjE,KAAK,IAAI,cAAc,GAAG,CAAC,EAAE,cAAc,GAAG,iBAAiB,EAAE,cAAc,EAAE,EAAE,CAAC;YAClF,MAAM,KAAK,GAAG,IAAI,GAAG,iBAAiB,GAAG,cAAc,CAAC;YACxD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,oBAAoB,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,CAAC;YAChF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,oBAAoB,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;YACpF,IAAI,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,mCAAmC,SAAS,EAAE,CAAC,CAAC;YACvG,CAAC;YACD,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC9E,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;IACpC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,qBAAqB;AACnC,4EAA4E;AAC5E,KAA0B,EAC1B,aAA0B,EAC1B,KAAY;IAEZ,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC;IAC3D,OAAO;QACL,KAAK;QACL,aAAa;QACb,SAAS;QACT,UAAU;QACV,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B;AAC9C,4EAA4E;AAC5E,KAA0B,EAC1B,aAA0B,EAC1B,KAAY;IAEZ,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,aAAa,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC;IAC3D,OAAO;QACL,KAAK;QACL,aAAa;QACb,SAAS;QACT,UAAU;QACV,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA0B,EAAE,KAAY;IACrE,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACzD,OAAO,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,MAAoB,EACpB,KAA0B,EAC1B,KAAY;IAEZ,OAAO,KAAK,CAAC,IAAI,GAAG,YAAY;QAC9B,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC;QACrC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/G,CAAC"}
@@ -39,11 +39,9 @@ export function isMergeTransitionComplete(state) {
39
39
  // TODO: Performance
40
40
  ssz.bellatrix.ExecutionPayloadHeader.defaultValue());
41
41
  }
42
- else {
43
- return !ssz.capella.ExecutionPayloadHeader.equals(state.latestExecutionPayloadHeader,
44
- // TODO: Performance
45
- ssz.capella.ExecutionPayloadHeader.defaultValue());
46
- }
42
+ return !ssz.capella.ExecutionPayloadHeader.equals(state.latestExecutionPayloadHeader,
43
+ // TODO: Performance
44
+ ssz.capella.ExecutionPayloadHeader.defaultValue());
47
45
  }
48
46
  /** Type guard for bellatrix.BeaconState */
49
47
  export function isExecutionStateType(state) {
@@ -69,12 +67,10 @@ export function getFullOrBlindedPayloadFromBody(body) {
69
67
  if (isBlindedBeaconBlockBody(body)) {
70
68
  return body.executionPayloadHeader;
71
69
  }
72
- else if (body.executionPayload !== undefined) {
70
+ if (body.executionPayload !== undefined) {
73
71
  return body.executionPayload;
74
72
  }
75
- else {
76
- throw Error("Not full or blinded beacon block");
77
- }
73
+ throw Error("Not full or blinded beacon block");
78
74
  }
79
75
  export function isCapellaPayload(payload) {
80
76
  return (payload.withdrawals !== undefined ||
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/util/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/util/execution.ts"],"names":[],"mappings":"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"}
@@ -121,10 +121,15 @@ export function applyDeposits(config, state, newDeposits, fullDepositDataRootLis
121
121
  if (fork >= ForkSeq.electra) {
122
122
  const stateElectra = state;
123
123
  stateElectra.commit();
124
- for (const { index: validatorIndex, amount } of stateElectra.pendingBalanceDeposits.getAllReadonly()) {
125
- increaseBalance(state, validatorIndex, Number(amount));
124
+ for (const { pubkey, amount } of stateElectra.pendingDeposits.getAllReadonly()) {
125
+ const validatorIndex = state.epochCtx.getValidatorIndex(pubkey);
126
+ if (validatorIndex === null) {
127
+ // Should not happen if the gensis state is correct
128
+ continue;
129
+ }
130
+ increaseBalance(state, validatorIndex, amount);
126
131
  }
127
- stateElectra.pendingBalanceDeposits = ssz.electra.PendingBalanceDeposits.defaultViewDU();
132
+ stateElectra.pendingDeposits = ssz.electra.PendingDeposits.defaultViewDU();
128
133
  }
129
134
  // Process activations
130
135
  const { epochCtx } = state;