@lodestar/state-transition 1.51.0-dev.fa491bf50f → 1.51.0-dev.fb216e169a

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 (102) hide show
  1. package/lib/block/index.d.ts +1 -1
  2. package/lib/block/index.d.ts.map +1 -1
  3. package/lib/block/index.js +2 -2
  4. package/lib/block/index.js.map +1 -1
  5. package/lib/block/processDeposit.d.ts.map +1 -1
  6. package/lib/block/processDeposit.js +1 -1
  7. package/lib/block/processDeposit.js.map +1 -1
  8. package/lib/block/processOperations.d.ts +1 -1
  9. package/lib/block/processOperations.d.ts.map +1 -1
  10. package/lib/block/processOperations.js +1 -1
  11. package/lib/block/processOperations.js.map +1 -1
  12. package/lib/cache/epochCache.d.ts +2 -2
  13. package/lib/cache/epochCache.d.ts.map +1 -1
  14. package/lib/cache/epochCache.js +1 -1
  15. package/lib/cache/epochCache.js.map +1 -1
  16. package/lib/cache/syncCommitteeCache.d.ts +1 -1
  17. package/lib/cache/syncCommitteeCache.d.ts.map +1 -1
  18. package/lib/epoch/index.d.ts +2 -2
  19. package/lib/epoch/index.d.ts.map +1 -1
  20. package/lib/epoch/index.js +2 -2
  21. package/lib/epoch/index.js.map +1 -1
  22. package/lib/epoch/processSyncCommitteeUpdates.js +1 -1
  23. package/lib/epoch/processSyncCommitteeUpdates.js.map +1 -1
  24. package/lib/lightClient/spec/store.d.ts +1 -1
  25. package/lib/lightClient/spec/store.d.ts.map +1 -1
  26. package/lib/lightClient/spec/utils.d.ts.map +1 -1
  27. package/lib/lightClient/spec/utils.js +1 -1
  28. package/lib/lightClient/spec/utils.js.map +1 -1
  29. package/lib/lightClient/spec/validateLightClientUpdate.d.ts.map +1 -1
  30. package/lib/lightClient/spec/validateLightClientUpdate.js +1 -1
  31. package/lib/lightClient/spec/validateLightClientUpdate.js.map +1 -1
  32. package/lib/rewards/attestationsRewards.d.ts +1 -1
  33. package/lib/rewards/attestationsRewards.d.ts.map +1 -1
  34. package/lib/rewards/syncCommitteeRewards.d.ts +1 -1
  35. package/lib/rewards/syncCommitteeRewards.d.ts.map +1 -1
  36. package/lib/stateView/interface.d.ts +1 -1
  37. package/lib/stateView/interface.d.ts.map +1 -1
  38. package/lib/stateView/interface.js.map +1 -1
  39. package/lib/stateView/nativeBeaconStateView.d.ts +1 -1
  40. package/lib/stateView/nativeBeaconStateView.d.ts.map +1 -1
  41. package/lib/stateView/nativeBeaconStateView.js +3 -13
  42. package/lib/stateView/nativeBeaconStateView.js.map +1 -1
  43. package/lib/stateView/stateViewFactory.d.ts.map +1 -1
  44. package/lib/stateView/stateViewFactory.js +2 -2
  45. package/lib/stateView/stateViewFactory.js.map +1 -1
  46. package/lib/testUtils/interopPubkeyCache.js +1 -1
  47. package/lib/testUtils/interopPubkeyCache.js.map +1 -1
  48. package/lib/testUtils/state.d.ts.map +1 -1
  49. package/lib/testUtils/state.js +1 -1
  50. package/lib/testUtils/state.js.map +1 -1
  51. package/lib/testUtils/util.d.ts +1 -1
  52. package/lib/testUtils/util.d.ts.map +1 -1
  53. package/lib/testUtils/util.js +2 -2
  54. package/lib/testUtils/util.js.map +1 -1
  55. package/lib/util/blindedBlock.d.ts.map +1 -1
  56. package/lib/util/blindedBlock.js +4 -12
  57. package/lib/util/blindedBlock.js.map +1 -1
  58. package/lib/util/epochShuffling.d.ts.map +1 -1
  59. package/lib/util/epochShuffling.js +1 -1
  60. package/lib/util/epochShuffling.js.map +1 -1
  61. package/lib/util/genesis.d.ts.map +1 -1
  62. package/lib/util/genesis.js +8 -1
  63. package/lib/util/genesis.js.map +1 -1
  64. package/lib/util/interop.d.ts +1 -1
  65. package/lib/util/interop.d.ts.map +1 -1
  66. package/lib/util/interop.js +1 -1
  67. package/lib/util/interop.js.map +1 -1
  68. package/lib/util/seed.js +1 -1
  69. package/lib/util/seed.js.map +1 -1
  70. package/lib/util/signatureSets.d.ts +1 -1
  71. package/lib/util/signatureSets.d.ts.map +1 -1
  72. package/lib/util/signatureSets.js +1 -1
  73. package/lib/util/signatureSets.js.map +1 -1
  74. package/lib/util/syncCommittee.d.ts.map +1 -1
  75. package/lib/util/syncCommittee.js +1 -1
  76. package/lib/util/syncCommittee.js.map +1 -1
  77. package/package.json +8 -8
  78. package/src/block/index.ts +11 -12
  79. package/src/block/processDeposit.ts +2 -2
  80. package/src/block/processOperations.ts +5 -5
  81. package/src/cache/epochCache.ts +2 -2
  82. package/src/cache/syncCommitteeCache.ts +1 -1
  83. package/src/epoch/index.ts +14 -15
  84. package/src/epoch/processSyncCommitteeUpdates.ts +1 -1
  85. package/src/lightClient/spec/store.ts +1 -1
  86. package/src/lightClient/spec/utils.ts +1 -1
  87. package/src/lightClient/spec/validateLightClientUpdate.ts +1 -1
  88. package/src/rewards/attestationsRewards.ts +1 -1
  89. package/src/rewards/syncCommitteeRewards.ts +1 -1
  90. package/src/stateView/interface.ts +0 -2
  91. package/src/stateView/nativeBeaconStateView.ts +3 -16
  92. package/src/stateView/stateViewFactory.ts +2 -2
  93. package/src/testUtils/interopPubkeyCache.ts +1 -1
  94. package/src/testUtils/state.ts +1 -1
  95. package/src/testUtils/util.ts +2 -2
  96. package/src/util/blindedBlock.ts +4 -12
  97. package/src/util/epochShuffling.ts +1 -1
  98. package/src/util/genesis.ts +9 -1
  99. package/src/util/interop.ts +1 -1
  100. package/src/util/seed.ts +1 -1
  101. package/src/util/signatureSets.ts +1 -1
  102. package/src/util/syncCommittee.ts +1 -1
@@ -33,13 +33,9 @@ export function blindedOrFullBlockHashTreeRoot(
33
33
  ): Root {
34
34
  return isBlindedBeaconBlock(blindedOrFull)
35
35
  ? // Blinded
36
- config
37
- .getPostBellatrixForkTypes(blindedOrFull.slot)
38
- .BlindedBeaconBlock.hashTreeRoot(blindedOrFull)
36
+ config.getPostBellatrixForkTypes(blindedOrFull.slot).BlindedBeaconBlock.hashTreeRoot(blindedOrFull)
39
37
  : // Full
40
- config
41
- .getForkTypes(blindedOrFull.slot)
42
- .BeaconBlock.hashTreeRoot(blindedOrFull);
38
+ config.getForkTypes(blindedOrFull.slot).BeaconBlock.hashTreeRoot(blindedOrFull);
43
39
  }
44
40
 
45
41
  export function blindedOrFullBlockToHeader(
@@ -48,13 +44,9 @@ export function blindedOrFullBlockToHeader(
48
44
  ): BeaconBlockHeader {
49
45
  const bodyRoot = isBlindedBeaconBlock(blindedOrFull)
50
46
  ? // Blinded
51
- config
52
- .getPostBellatrixForkTypes(blindedOrFull.slot)
53
- .BlindedBeaconBlockBody.hashTreeRoot(blindedOrFull.body)
47
+ config.getPostBellatrixForkTypes(blindedOrFull.slot).BlindedBeaconBlockBody.hashTreeRoot(blindedOrFull.body)
54
48
  : // Full
55
- config
56
- .getForkTypes(blindedOrFull.slot)
57
- .BeaconBlockBody.hashTreeRoot(blindedOrFull.body);
49
+ config.getForkTypes(blindedOrFull.slot).BeaconBlockBody.hashTreeRoot(blindedOrFull.body);
58
50
 
59
51
  return {
60
52
  slot: blindedOrFull.slot,
@@ -1,5 +1,5 @@
1
- import {unshuffleList} from "@chainsafe/lodestar-z/shuffle";
2
1
  import {BeaconConfig} from "@lodestar/config";
2
+ import {unshuffleList} from "@lodestar/native/shuffle";
3
3
  import {
4
4
  DOMAIN_BEACON_ATTESTER,
5
5
  GENESIS_SLOT,
@@ -8,9 +8,10 @@ import {
8
8
  GENESIS_EPOCH,
9
9
  GENESIS_SLOT,
10
10
  MAX_EFFECTIVE_BALANCE,
11
+ MIN_SEED_LOOKAHEAD,
11
12
  UNSET_DEPOSIT_REQUESTS_START_INDEX,
12
13
  } from "@lodestar/params";
13
- import {Bytes32, Root, TimeSeconds, phase0, ssz} from "@lodestar/types";
14
+ import {Bytes32, Root, TimeSeconds, ValidatorIndex, phase0, ssz} from "@lodestar/types";
14
15
  import {applyDeposit, processDeposit} from "../block/processDeposit.js";
15
16
  import {EpochCacheImmutableData} from "../cache/epochCache.js";
16
17
  import {createCachedBeaconState} from "../cache/stateCache.js";
@@ -26,6 +27,7 @@ import {
26
27
  import {newFilledArray} from "./array.js";
27
28
  import {getTemporaryBlockHeader} from "./blockRoot.js";
28
29
  import {computeEpochAtSlot} from "./epoch.js";
30
+ import {computeProposerIndices} from "./seed.js";
29
31
  import {getNextSyncCommittee} from "./syncCommittee.js";
30
32
  import {getActiveValidatorIndices, getMaxEffectiveBalance} from "./validator.js";
31
33
 
@@ -352,6 +354,12 @@ export function initializeBeaconStateFromEth1(
352
354
  // Fulu retires the legacy bridge after the genesis deposits.
353
355
  stateFulu.depositRequestsStartIndex = BigInt(stateFulu.eth1DepositIndex);
354
356
  }
357
+ const proposerLookahead: ValidatorIndex[] = [];
358
+ for (let epoch = GENESIS_EPOCH; epoch <= GENESIS_EPOCH + MIN_SEED_LOOKAHEAD; epoch++) {
359
+ const activeIndices = getActiveValidatorIndices(state, epoch);
360
+ proposerLookahead.push(...computeProposerIndices(fork, state, {activeIndices}, epoch));
361
+ }
362
+ stateFulu.proposerLookahead = ssz.fulu.ProposerLookahead.toViewDU(proposerLookahead);
355
363
  }
356
364
 
357
365
  if (fork >= ForkSeq.gloas) {
@@ -1,6 +1,6 @@
1
1
  import {toBufferBE} from "@vekexasia/bigint-buffer2";
2
2
  import {digest} from "@chainsafe/as-sha256";
3
- import {SecretKey} from "@chainsafe/lodestar-z/blst";
3
+ import {SecretKey} from "@lodestar/native/blst";
4
4
  import {bytesToBigInt, intToBytes} from "@lodestar/utils";
5
5
 
6
6
  let curveOrder: bigint;
package/src/util/seed.ts CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  computePtcIndicesForEpoch,
4
4
  computeProposerIndex as nativeComputeProposerIndex,
5
5
  computeSyncCommitteeIndices as nativeComputeSyncCommitteeIndices,
6
- } from "@chainsafe/lodestar-z/shuffle";
6
+ } from "@lodestar/native/shuffle";
7
7
  import {
8
8
  DOMAIN_BEACON_PROPOSER,
9
9
  DOMAIN_PTC_ATTESTER,
@@ -1,4 +1,4 @@
1
- import {BLS_VERIFIER_SET_TYPE, type BlsSignatureSet, verifySignatureSets} from "@chainsafe/lodestar-z/bls-verifier";
1
+ import {BLS_VERIFIER_SET_TYPE, type BlsSignatureSet, verifySignatureSets} from "@lodestar/native/bls-verifier";
2
2
  import {Root} from "@lodestar/types";
3
3
 
4
4
  export enum SignatureSetType {
@@ -1,5 +1,5 @@
1
- import {aggregateSerializedPublicKeys} from "@chainsafe/lodestar-z/blst";
2
1
  import {ChainConfig} from "@lodestar/config";
2
+ import {aggregateSerializedPublicKeys} from "@lodestar/native/blst";
3
3
  import {
4
4
  BASE_REWARD_FACTOR,
5
5
  EFFECTIVE_BALANCE_INCREMENT,