@lodestar/state-transition 1.41.0-dev.702f7932c2 → 1.41.0-dev.96f78af84b

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 (159) hide show
  1. package/lib/block/isValidIndexedAttestation.d.ts +3 -3
  2. package/lib/block/isValidIndexedAttestation.d.ts.map +1 -1
  3. package/lib/block/isValidIndexedAttestation.js +4 -4
  4. package/lib/block/isValidIndexedAttestation.js.map +1 -1
  5. package/lib/block/isValidIndexedPayloadAttestation.js +1 -1
  6. package/lib/block/isValidIndexedPayloadAttestation.js.map +1 -1
  7. package/lib/block/processAttestationPhase0.js +1 -1
  8. package/lib/block/processAttestationPhase0.js.map +1 -1
  9. package/lib/block/processAttestationsAltair.js +1 -1
  10. package/lib/block/processAttestationsAltair.js.map +1 -1
  11. package/lib/block/processAttesterSlashing.d.ts +2 -2
  12. package/lib/block/processAttesterSlashing.d.ts.map +1 -1
  13. package/lib/block/processAttesterSlashing.js +3 -3
  14. package/lib/block/processAttesterSlashing.js.map +1 -1
  15. package/lib/block/processDepositRequest.d.ts +1 -1
  16. package/lib/block/processDepositRequest.d.ts.map +1 -1
  17. package/lib/block/processDepositRequest.js +6 -5
  18. package/lib/block/processDepositRequest.js.map +1 -1
  19. package/lib/block/processExecutionPayloadBid.d.ts.map +1 -1
  20. package/lib/block/processExecutionPayloadBid.js +5 -0
  21. package/lib/block/processExecutionPayloadBid.js.map +1 -1
  22. package/lib/block/processExecutionPayloadEnvelope.js +5 -10
  23. package/lib/block/processExecutionPayloadEnvelope.js.map +1 -1
  24. package/lib/block/processProposerSlashing.d.ts +2 -2
  25. package/lib/block/processProposerSlashing.d.ts.map +1 -1
  26. package/lib/block/processProposerSlashing.js +3 -3
  27. package/lib/block/processProposerSlashing.js.map +1 -1
  28. package/lib/block/processRandao.js +1 -1
  29. package/lib/block/processRandao.js.map +1 -1
  30. package/lib/block/processSyncCommittee.js +1 -1
  31. package/lib/block/processSyncCommittee.js.map +1 -1
  32. package/lib/block/processVoluntaryExit.js +1 -1
  33. package/lib/block/processVoluntaryExit.js.map +1 -1
  34. package/lib/block/processWithdrawalRequest.js +2 -2
  35. package/lib/block/processWithdrawalRequest.js.map +1 -1
  36. package/lib/block/processWithdrawals.d.ts.map +1 -1
  37. package/lib/block/processWithdrawals.js +9 -1
  38. package/lib/block/processWithdrawals.js.map +1 -1
  39. package/lib/cache/epochCache.d.ts +9 -18
  40. package/lib/cache/epochCache.d.ts.map +1 -1
  41. package/lib/cache/epochCache.js +28 -41
  42. package/lib/cache/epochCache.js.map +1 -1
  43. package/lib/cache/pubkeyCache.d.ts +21 -6
  44. package/lib/cache/pubkeyCache.d.ts.map +1 -1
  45. package/lib/cache/pubkeyCache.js +39 -14
  46. package/lib/cache/pubkeyCache.js.map +1 -1
  47. package/lib/cache/stateCache.d.ts +1 -1
  48. package/lib/cache/stateCache.d.ts.map +1 -1
  49. package/lib/cache/stateCache.js +3 -7
  50. package/lib/cache/stateCache.js.map +1 -1
  51. package/lib/cache/syncCommitteeCache.d.ts +3 -2
  52. package/lib/cache/syncCommitteeCache.d.ts.map +1 -1
  53. package/lib/cache/syncCommitteeCache.js +4 -4
  54. package/lib/cache/syncCommitteeCache.js.map +1 -1
  55. package/lib/index.d.ts +3 -1
  56. package/lib/index.d.ts.map +1 -1
  57. package/lib/index.js +2 -1
  58. package/lib/index.js.map +1 -1
  59. package/lib/lightClient/proofs.d.ts +10 -0
  60. package/lib/lightClient/proofs.d.ts.map +1 -0
  61. package/lib/lightClient/proofs.js +63 -0
  62. package/lib/lightClient/proofs.js.map +1 -0
  63. package/lib/lightClient/types.d.ts +34 -0
  64. package/lib/lightClient/types.d.ts.map +1 -0
  65. package/lib/lightClient/types.js +2 -0
  66. package/lib/lightClient/types.js.map +1 -0
  67. package/lib/rewards/attestationsRewards.d.ts +2 -2
  68. package/lib/rewards/attestationsRewards.d.ts.map +1 -1
  69. package/lib/rewards/attestationsRewards.js +4 -4
  70. package/lib/rewards/attestationsRewards.js.map +1 -1
  71. package/lib/rewards/syncCommitteeRewards.d.ts +2 -2
  72. package/lib/rewards/syncCommitteeRewards.d.ts.map +1 -1
  73. package/lib/rewards/syncCommitteeRewards.js +5 -2
  74. package/lib/rewards/syncCommitteeRewards.js.map +1 -1
  75. package/lib/signatureSets/indexedPayloadAttestation.d.ts +3 -4
  76. package/lib/signatureSets/indexedPayloadAttestation.d.ts.map +1 -1
  77. package/lib/signatureSets/indexedPayloadAttestation.js +4 -4
  78. package/lib/signatureSets/indexedPayloadAttestation.js.map +1 -1
  79. package/lib/signatureSets/proposer.d.ts +2 -2
  80. package/lib/signatureSets/proposer.d.ts.map +1 -1
  81. package/lib/signatureSets/proposer.js +2 -2
  82. package/lib/signatureSets/proposer.js.map +1 -1
  83. package/lib/signatureSets/randao.d.ts +2 -2
  84. package/lib/signatureSets/randao.d.ts.map +1 -1
  85. package/lib/signatureSets/randao.js +2 -2
  86. package/lib/signatureSets/randao.js.map +1 -1
  87. package/lib/signatureSets/voluntaryExits.d.ts +2 -2
  88. package/lib/signatureSets/voluntaryExits.d.ts.map +1 -1
  89. package/lib/signatureSets/voluntaryExits.js +2 -2
  90. package/lib/signatureSets/voluntaryExits.js.map +1 -1
  91. package/lib/slot/upgradeStateToGloas.d.ts.map +1 -1
  92. package/lib/slot/upgradeStateToGloas.js +50 -0
  93. package/lib/slot/upgradeStateToGloas.js.map +1 -1
  94. package/lib/stateTransition.d.ts +2 -1
  95. package/lib/stateTransition.d.ts.map +1 -1
  96. package/lib/stateTransition.js +2 -1
  97. package/lib/stateTransition.js.map +1 -1
  98. package/lib/stateView/beaconStateView.d.ts +144 -0
  99. package/lib/stateView/beaconStateView.d.ts.map +1 -0
  100. package/lib/stateView/beaconStateView.js +496 -0
  101. package/lib/stateView/beaconStateView.js.map +1 -0
  102. package/lib/stateView/index.d.ts +3 -0
  103. package/lib/stateView/index.d.ts.map +1 -0
  104. package/lib/stateView/index.js +3 -0
  105. package/lib/stateView/index.js.map +1 -0
  106. package/lib/stateView/interface.d.ts +118 -0
  107. package/lib/stateView/interface.d.ts.map +1 -0
  108. package/lib/stateView/interface.js +2 -0
  109. package/lib/stateView/interface.js.map +1 -0
  110. package/lib/util/gloas.d.ts.map +1 -1
  111. package/lib/util/gloas.js +10 -3
  112. package/lib/util/gloas.js.map +1 -1
  113. package/lib/util/seed.d.ts +20 -4
  114. package/lib/util/seed.d.ts.map +1 -1
  115. package/lib/util/seed.js +80 -8
  116. package/lib/util/seed.js.map +1 -1
  117. package/lib/util/signatureSets.d.ts +7 -7
  118. package/lib/util/signatureSets.d.ts.map +1 -1
  119. package/lib/util/signatureSets.js +18 -12
  120. package/lib/util/signatureSets.js.map +1 -1
  121. package/lib/util/weakSubjectivity.js +1 -1
  122. package/lib/util/weakSubjectivity.js.map +1 -1
  123. package/package.json +7 -7
  124. package/src/block/isValidIndexedAttestation.ts +5 -5
  125. package/src/block/isValidIndexedPayloadAttestation.ts +2 -2
  126. package/src/block/processAttestationPhase0.ts +1 -1
  127. package/src/block/processAttestationsAltair.ts +1 -1
  128. package/src/block/processAttesterSlashing.ts +4 -4
  129. package/src/block/processDepositRequest.ts +8 -5
  130. package/src/block/processExecutionPayloadBid.ts +8 -0
  131. package/src/block/processExecutionPayloadEnvelope.ts +5 -16
  132. package/src/block/processProposerSlashing.ts +4 -4
  133. package/src/block/processRandao.ts +1 -1
  134. package/src/block/processSyncCommittee.ts +1 -1
  135. package/src/block/processVoluntaryExit.ts +1 -1
  136. package/src/block/processWithdrawalRequest.ts +2 -2
  137. package/src/block/processWithdrawals.ts +10 -1
  138. package/src/cache/epochCache.ts +41 -55
  139. package/src/cache/pubkeyCache.ts +62 -21
  140. package/src/cache/stateCache.ts +4 -8
  141. package/src/cache/syncCommitteeCache.ts +4 -5
  142. package/src/index.ts +3 -1
  143. package/src/lightClient/proofs.ts +83 -0
  144. package/src/lightClient/types.ts +33 -0
  145. package/src/rewards/attestationsRewards.ts +5 -5
  146. package/src/rewards/syncCommitteeRewards.ts +6 -5
  147. package/src/signatureSets/indexedPayloadAttestation.ts +4 -6
  148. package/src/signatureSets/proposer.ts +3 -3
  149. package/src/signatureSets/randao.ts +3 -7
  150. package/src/signatureSets/voluntaryExits.ts +3 -3
  151. package/src/slot/upgradeStateToGloas.ts +74 -0
  152. package/src/stateTransition.ts +2 -1
  153. package/src/stateView/beaconStateView.ts +744 -0
  154. package/src/stateView/index.ts +2 -0
  155. package/src/stateView/interface.ts +196 -0
  156. package/src/util/gloas.ts +11 -3
  157. package/src/util/seed.ts +106 -18
  158. package/src/util/signatureSets.ts +23 -17
  159. package/src/util/weakSubjectivity.ts +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/stateView/interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/stateView/interface.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"gloas.d.ts","sourceRoot":"","sources":["../../src/util/gloas.ts"],"names":[],"mappings":"AAUA,OAAO,EAAC,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,wBAAgB,6BAA6B,CAAC,qBAAqB,EAAE,UAAU,GAAG,OAAO,CAExF;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAMtF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CAAC,YAAY,EAAE,YAAY,GAAG,cAAc,CAE9F;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CAAC,cAAc,EAAE,cAAc,GAAG,YAAY,CAEhG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,GAAG,OAAO,CAEtF;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,sBAAsB,EAC7B,YAAY,EAAE,YAAY,GACzB,MAAM,CAoBR;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,sBAAsB,EAC7B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAUT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAWnG;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAO/G;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAOnG;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAOnG;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAExE"}
1
+ {"version":3,"file":"gloas.d.ts","sourceRoot":"","sources":["../../src/util/gloas.ts"],"names":[],"mappings":"AAUA,OAAO,EAAC,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,wBAAgB,6BAA6B,CAAC,qBAAqB,EAAE,UAAU,GAAG,OAAO,CAExF;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAMtF;AAOD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CAAC,YAAY,EAAE,YAAY,GAAG,cAAc,CAG9F;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CAAC,cAAc,EAAE,cAAc,GAAG,YAAY,CAGhG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,GAAG,OAAO,CAEtF;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,sBAAsB,EAC7B,YAAY,EAAE,YAAY,GACzB,MAAM,CAoBR;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,sBAAsB,EAC7B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAUT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAWnG;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAO/G;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAOnG;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAOnG;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAExE"}
package/lib/util/gloas.js CHANGED
@@ -10,26 +10,33 @@ export function getBuilderPaymentQuorumThreshold(state) {
10
10
  BUILDER_PAYMENT_THRESHOLD_NUMERATOR;
11
11
  return Math.floor(quorum / BUILDER_PAYMENT_THRESHOLD_DENOMINATOR);
12
12
  }
13
+ function hasBuilderIndexFlag(index) {
14
+ // Equivalent to `(index & BUILDER_INDEX_FLAG) != 0`
15
+ return Math.floor(index / BUILDER_INDEX_FLAG) % 2 === 1;
16
+ }
13
17
  /**
14
18
  * Check if a validator index represents a builder (has the builder flag set).
15
19
  * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.1/specs/gloas/beacon-chain.md#new-is_builder_index
16
20
  */
17
21
  export function isBuilderIndex(validatorIndex) {
18
- return (validatorIndex & BUILDER_INDEX_FLAG) !== 0;
22
+ // Note: Can't use bitwise AND (&) because BUILDER_INDEX_FLAG exceeds 32 bits in JS bitwise operations.
23
+ return hasBuilderIndexFlag(validatorIndex);
19
24
  }
20
25
  /**
21
26
  * Convert a builder index to a flagged validator index for use in Withdrawal containers.
22
27
  * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.1/specs/gloas/beacon-chain.md#new-convert_builder_index_to_validator_index
23
28
  */
24
29
  export function convertBuilderIndexToValidatorIndex(builderIndex) {
25
- return builderIndex | BUILDER_INDEX_FLAG;
30
+ // Note: Can't use bitwise OR (|) because BUILDER_INDEX_FLAG exceeds 32 bits in JS bitwise operations.
31
+ return hasBuilderIndexFlag(builderIndex) ? builderIndex : builderIndex + BUILDER_INDEX_FLAG;
26
32
  }
27
33
  /**
28
34
  * Convert a flagged validator index back to a builder index.
29
35
  * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.1/specs/gloas/beacon-chain.md#new-convert_validator_index_to_builder_index
30
36
  */
31
37
  export function convertValidatorIndexToBuilderIndex(validatorIndex) {
32
- return validatorIndex & ~BUILDER_INDEX_FLAG;
38
+ // Note: Can't use bitwise AND (&) because BUILDER_INDEX_FLAG exceeds 32 bits in JS bitwise operations.
39
+ return hasBuilderIndexFlag(validatorIndex) ? validatorIndex - BUILDER_INDEX_FLAG : validatorIndex;
33
40
  }
34
41
  /**
35
42
  * Check if a builder is active (deposited and not yet withdrawable).
@@ -1 +1 @@
1
- {"version":3,"file":"gloas.js","sourceRoot":"","sources":["../../src/util/gloas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gloas.js","sourceRoot":"","sources":["../../src/util/gloas.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ForkSeq } from "@lodestar/params";
2
2
  import { Bytes32, DomainType, Epoch, ValidatorIndex } from "@lodestar/types";
3
3
  import { EffectiveBalanceIncrements } from "../cache/effectiveBalanceIncrements.js";
4
- import { BeaconStateAllForks, BeaconStateGloas, CachedBeaconStateAllForks } from "../types.js";
4
+ import { BeaconStateAllForks, CachedBeaconStateAllForks } from "../types.js";
5
5
  /**
6
6
  * Compute proposer indices for an epoch
7
7
  */
@@ -46,9 +46,25 @@ export declare function naiveGetNextSyncCommitteeIndices(fork: ForkSeq, state: B
46
46
  * In the worse case scenario, this could be >1000x speedup according to the perf test.
47
47
  */
48
48
  export declare function getNextSyncCommitteeIndices(fork: ForkSeq, state: BeaconStateAllForks, activeValidatorIndices: Uint32Array, effectiveBalanceIncrements: EffectiveBalanceIncrements): Uint32Array;
49
- export declare function naiveGetPayloadTimlinessCommitteeIndices(state: BeaconStateGloas, shuffling: {
50
- committees: Uint32Array[][];
51
- }, effectiveBalanceIncrements: EffectiveBalanceIncrements, epoch: Epoch): ValidatorIndex[][];
49
+ /**
50
+ * Compute PTC for all slots in an epoch eagerly.
51
+ */
52
+ export declare function computePayloadTimelinessCommitteesForEpoch(state: BeaconStateAllForks, epoch: number, committees: Uint32Array[][], effectiveBalanceIncrements: EffectiveBalanceIncrements): Uint32Array[];
53
+ /**
54
+ * Compute PTC for a single slot.
55
+ */
56
+ export declare function computePayloadTimelinessCommitteeForSlot(slotSeed: Uint8Array, slotCommittees: Uint32Array[], effectiveBalanceIncrements: EffectiveBalanceIncrements): Uint32Array;
57
+ /**
58
+ * Optimized version of PTC indices computation.
59
+ * Avoids BigInt conversions and uses DataView for efficient byte reading.
60
+ */
61
+ export declare function computePayloadTimelinessCommitteeIndices(effectiveBalanceIncrements: EffectiveBalanceIncrements, indices: Uint32Array, seed: Uint8Array): Uint32Array;
62
+ /**
63
+ * Naive version of PTC indices computation.
64
+ * Used to verify the optimized `computePayloadTimelinessCommitteeIndices`.
65
+ *
66
+ * SLOW CODE - 🐢
67
+ */
52
68
  export declare function naiveComputePayloadTimelinessCommitteeIndices(effectiveBalanceIncrements: EffectiveBalanceIncrements, indices: ArrayLike<ValidatorIndex>, seed: Uint8Array): ValidatorIndex[];
53
69
  /**
54
70
  * Return the shuffled validator index corresponding to ``seed`` (and ``index_count``).
@@ -1 +1 @@
1
- {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../src/util/seed.ts"],"names":[],"mappings":"AAKA,OAAO,EAML,OAAO,EAQR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAE3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAC,mBAAmB,EAAE,gBAAgB,EAAE,yBAAyB,EAAC,MAAM,aAAa,CAAC;AAG7F;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,aAAa,EAAE,WAAW,CAAA;CAAC,EACrD,0BAA0B,EAAE,0BAA0B,GACrD,MAAM,EAAE,CAeV;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,OAAO,EACb,0BAA0B,EAAE,0BAA0B,EACtD,OAAO,EAAE,SAAS,CAAC,cAAc,CAAC,EAClC,IAAI,EAAE,UAAU,GACf,cAAc,CAwChB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,EACb,0BAA0B,EAAE,0BAA0B,EACtD,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,UAAU,GACf,cAAc,CAwBhB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,yBAAyB,EAChC,SAAS,EAAE;IAAC,aAAa,EAAE,WAAW,CAAA;CAAC,EACvC,KAAK,EAAE,KAAK,GACX,cAAc,EAAE,CAgBlB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,mBAAmB,EAC1B,sBAAsB,EAAE,SAAS,CAAC,cAAc,CAAC,EACjD,0BAA0B,EAAE,0BAA0B,GACrD,cAAc,EAAE,CAkDlB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,mBAAmB,EAC1B,sBAAsB,EAAE,WAAW,EACnC,0BAA0B,EAAE,0BAA0B,GACrD,WAAW,CAwBb;AAED,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE;IAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAA;CAAC,EACxC,0BAA0B,EAAE,0BAA0B,EACtD,KAAK,EAAE,KAAK,GACX,cAAc,EAAE,EAAE,CAgBpB;AAED,wBAAgB,6CAA6C,CAC3D,0BAA0B,EAAE,0BAA0B,EACtD,OAAO,EAAE,SAAS,CAAC,cAAc,CAAC,EAClC,IAAI,EAAE,UAAU,GACf,cAAc,EAAE,CAyBlB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAiB7F;AAED,KAAK,sBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAExD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,sBAAsB,CA8DnG;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAE9E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU,CAIpG"}
1
+ {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../src/util/seed.ts"],"names":[],"mappings":"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"}
package/lib/util/seed.js CHANGED
@@ -163,17 +163,89 @@ export function getNextSyncCommitteeIndices(fork, state, activeValidatorIndices,
163
163
  const seed = getSeed(state, epoch, DOMAIN_SYNC_COMMITTEE);
164
164
  return nativeComputeSyncCommitteeIndices(seed, activeValidatorIndices, effectiveBalanceIncrements, randByteCount, SYNC_COMMITTEE_SIZE, maxEffectiveBalance, EFFECTIVE_BALANCE_INCREMENT, SHUFFLE_ROUND_COUNT);
165
165
  }
166
- export function naiveGetPayloadTimlinessCommitteeIndices(state, shuffling, effectiveBalanceIncrements, epoch) {
166
+ /**
167
+ * Compute PTC for all slots in an epoch eagerly.
168
+ */
169
+ export function computePayloadTimelinessCommitteesForEpoch(state, epoch, committees, effectiveBalanceIncrements) {
167
170
  const epochSeed = getSeed(state, epoch, DOMAIN_PTC_ATTESTER);
168
- const startSlot = computeStartSlotAtEpoch(epoch);
169
- const committeeIndices = [];
170
- for (let slot = startSlot; slot < startSlot + SLOTS_PER_EPOCH; slot++) {
171
- const slotCommittees = shuffling.committees[slot % SLOTS_PER_EPOCH];
172
- const indices = naiveComputePayloadTimelinessCommitteeIndices(effectiveBalanceIncrements, slotCommittees.flatMap((c) => Array.from(c)), digest(Buffer.concat([epochSeed, intToBytes(slot, 8)])));
173
- committeeIndices.push(indices);
171
+ const startSlot = epoch * SLOTS_PER_EPOCH;
172
+ const result = new Array(SLOTS_PER_EPOCH);
173
+ // Pre-allocate slot seed buffer once, reuse across all slots
174
+ const slotSeedInput = new Uint8Array(epochSeed.length + 8);
175
+ slotSeedInput.set(epochSeed, 0);
176
+ const slotSeedView = new DataView(slotSeedInput.buffer, slotSeedInput.byteOffset, slotSeedInput.byteLength);
177
+ for (let i = 0; i < SLOTS_PER_EPOCH; i++) {
178
+ const slot = startSlot + i;
179
+ // Write slot as little-endian uint64 (fits in uint32 range)
180
+ slotSeedView.setUint32(epochSeed.length, slot, true);
181
+ slotSeedView.setUint32(epochSeed.length + 4, 0, true);
182
+ const slotSeed = digest(slotSeedInput);
183
+ result[i] = computePayloadTimelinessCommitteeForSlot(slotSeed, committees[i], effectiveBalanceIncrements);
184
+ }
185
+ return result;
186
+ }
187
+ /**
188
+ * Compute PTC for a single slot.
189
+ */
190
+ export function computePayloadTimelinessCommitteeForSlot(slotSeed, slotCommittees, effectiveBalanceIncrements) {
191
+ // Concatenate all committee Uint32Arrays for this slot
192
+ const totalLen = slotCommittees.reduce((sum, c) => sum + c.length, 0);
193
+ const allIndices = new Uint32Array(totalLen);
194
+ let offset = 0;
195
+ for (const c of slotCommittees) {
196
+ allIndices.set(c, offset);
197
+ offset += c.length;
198
+ }
199
+ return computePayloadTimelinessCommitteeIndices(effectiveBalanceIncrements, allIndices, slotSeed);
200
+ }
201
+ /**
202
+ * Optimized version of PTC indices computation.
203
+ * Avoids BigInt conversions and uses DataView for efficient byte reading.
204
+ */
205
+ export function computePayloadTimelinessCommitteeIndices(effectiveBalanceIncrements, indices, seed) {
206
+ if (indices.length === 0) {
207
+ throw Error("Validator indices must not be empty");
208
+ }
209
+ const result = new Uint32Array(PTC_SIZE);
210
+ let resultLen = 0;
211
+ const MAX_RANDOM_VALUE = 0xffff; // 2^16 - 1
212
+ const MAX_EFFECTIVE_BALANCE_INCREMENT = MAX_EFFECTIVE_BALANCE_ELECTRA / EFFECTIVE_BALANCE_INCREMENT;
213
+ const indicesLen = indices.length;
214
+ // Pre-allocate hash input buffer: seed + 8 bytes for block index
215
+ const hashInput = new Uint8Array(seed.length + 8);
216
+ hashInput.set(seed, 0);
217
+ const hashInputView = new DataView(hashInput.buffer, hashInput.byteOffset, hashInput.byteLength);
218
+ const seedLen = seed.length;
219
+ let i = 0;
220
+ let randomBytesView = new DataView(new ArrayBuffer(0));
221
+ let lastBlock = -1;
222
+ while (resultLen < PTC_SIZE) {
223
+ const candidateIndex = indices[i % indicesLen];
224
+ // Only recompute hash every 16 iterations
225
+ const block = i >>> 4; // Math.floor(i / 16)
226
+ if (block !== lastBlock) {
227
+ // Write block as little-endian uint64 (block always fits in uint32 range)
228
+ hashInputView.setUint32(seedLen, block, true);
229
+ hashInputView.setUint32(seedLen + 4, 0, true);
230
+ const randomBytes = digest(hashInput);
231
+ randomBytesView = new DataView(randomBytes.buffer, randomBytes.byteOffset, randomBytes.byteLength);
232
+ lastBlock = block;
233
+ }
234
+ const randomValue = randomBytesView.getUint16((i & 15) * 2, true);
235
+ const effectiveBalanceIncrement = effectiveBalanceIncrements[candidateIndex];
236
+ if (effectiveBalanceIncrement * MAX_RANDOM_VALUE >= MAX_EFFECTIVE_BALANCE_INCREMENT * randomValue) {
237
+ result[resultLen++] = candidateIndex;
238
+ }
239
+ i += 1;
174
240
  }
175
- return committeeIndices;
241
+ return result;
176
242
  }
243
+ /**
244
+ * Naive version of PTC indices computation.
245
+ * Used to verify the optimized `computePayloadTimelinessCommitteeIndices`.
246
+ *
247
+ * SLOW CODE - 🐢
248
+ */
177
249
  export function naiveComputePayloadTimelinessCommitteeIndices(effectiveBalanceIncrements, indices, seed) {
178
250
  if (indices.length === 0) {
179
251
  throw Error("Validator indices must not be empty");
@@ -1 +1 @@
1
- {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/util/seed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/util/seed.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { PublicKey } from "@chainsafe/blst";
2
2
  import { Root } from "@lodestar/types";
3
- import { Index2PubkeyCache } from "../cache/pubkeyCache.js";
3
+ import { PubkeyCache } from "../cache/pubkeyCache.js";
4
4
  export declare enum SignatureSetType {
5
5
  single = "single",
6
6
  aggregate = "aggregate",
@@ -43,13 +43,13 @@ export type AggregatedSignatureSet = {
43
43
  export type ISignatureSet = SingleSignatureSet | IndexedSignatureSet | AggregatedSignatureSet;
44
44
  /**
45
45
  * Get the pubkey for a signature set, performing aggregation if necessary.
46
- * Requires index2pubkey cache for indexed and aggregate sets.
46
+ * Requires pubkeyCache for indexed and aggregate sets.
47
47
  */
48
- export declare function getSignatureSetPubkey(signatureSet: ISignatureSet, index2pubkey: Index2PubkeyCache): PublicKey;
49
- export declare function verifySignatureSet(signatureSet: SingleSignatureSet, index2pubkey?: Index2PubkeyCache): boolean;
50
- export declare function verifySignatureSet(signatureSet: IndexedSignatureSet, index2pubkey: Index2PubkeyCache): boolean;
51
- export declare function verifySignatureSet(signatureSet: AggregatedSignatureSet, index2pubkey: Index2PubkeyCache): boolean;
52
- export declare function verifySignatureSet(signatureSet: ISignatureSet, index2pubkey: Index2PubkeyCache): boolean;
48
+ export declare function getSignatureSetPubkey(signatureSet: ISignatureSet, pubkeyCache: PubkeyCache): PublicKey;
49
+ export declare function verifySignatureSet(signatureSet: SingleSignatureSet, pubkeyCache?: PubkeyCache): boolean;
50
+ export declare function verifySignatureSet(signatureSet: IndexedSignatureSet, pubkeyCache: PubkeyCache): boolean;
51
+ export declare function verifySignatureSet(signatureSet: AggregatedSignatureSet, pubkeyCache: PubkeyCache): boolean;
52
+ export declare function verifySignatureSet(signatureSet: ISignatureSet, pubkeyCache: PubkeyCache): boolean;
53
53
  export declare function createSingleSignatureSetFromComponents(pubkey: PublicKey, signingRoot: Root, signature: Uint8Array): SingleSignatureSet;
54
54
  export declare function createIndexedSignatureSetFromComponents(index: number, signingRoot: Root, signature: Uint8Array): IndexedSignatureSet;
55
55
  export declare function createAggregateSignatureSetFromComponents(indices: number[], signingRoot: Root, signature: Uint8Array): AggregatedSignatureSet;
@@ -1 +1 @@
1
- {"version":3,"file":"signatureSets.d.ts","sourceRoot":"","sources":["../../src/util/signatureSets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAA8D,MAAM,iBAAiB,CAAC;AACvG,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAE1D,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB;;;OAGG;IACH,OAAO,YAAY;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AAE9F;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,GAAG,SAAS,CAgB7G;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;AAChH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC;AAChH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC;AACnH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC;AA6B1G,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,IAAI,EACjB,SAAS,EAAE,UAAU,GACpB,kBAAkB,CAOpB;AAED,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,IAAI,EACjB,SAAS,EAAE,UAAU,GACpB,mBAAmB,CAOrB;AAED,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,IAAI,EACjB,SAAS,EAAE,UAAU,GACpB,sBAAsB,CAOxB"}
1
+ {"version":3,"file":"signatureSets.d.ts","sourceRoot":"","sources":["../../src/util/signatureSets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAA8D,MAAM,iBAAiB,CAAC;AACvG,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAEpD,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB;;;OAGG;IACH,OAAO,YAAY;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AAE9F;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,GAAG,SAAS,CAmBtG;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,kBAAkB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;AACzG,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC;AACzG,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,sBAAsB,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC;AAC5G,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC;AAgCnG,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,IAAI,EACjB,SAAS,EAAE,UAAU,GACpB,kBAAkB,CAOpB;AAED,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,IAAI,EACjB,SAAS,EAAE,UAAU,GACpB,mBAAmB,CAOrB;AAED,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,IAAI,EACjB,SAAS,EAAE,UAAU,GACpB,sBAAsB,CAOxB"}
@@ -11,39 +11,45 @@ export var SignatureSetType;
11
11
  })(SignatureSetType || (SignatureSetType = {}));
12
12
  /**
13
13
  * Get the pubkey for a signature set, performing aggregation if necessary.
14
- * Requires index2pubkey cache for indexed and aggregate sets.
14
+ * Requires pubkeyCache for indexed and aggregate sets.
15
15
  */
16
- export function getSignatureSetPubkey(signatureSet, index2pubkey) {
16
+ export function getSignatureSetPubkey(signatureSet, pubkeyCache) {
17
17
  switch (signatureSet.type) {
18
18
  case SignatureSetType.single:
19
19
  return signatureSet.pubkey;
20
- case SignatureSetType.indexed:
21
- return index2pubkey[signatureSet.index];
20
+ case SignatureSetType.indexed: {
21
+ return pubkeyCache.getOrThrow(signatureSet.index);
22
+ }
22
23
  case SignatureSetType.aggregate: {
23
- const pubkeys = signatureSet.indices.map((i) => index2pubkey[i]);
24
+ const pubkeys = signatureSet.indices.map((i) => {
25
+ return pubkeyCache.getOrThrow(i);
26
+ });
24
27
  return aggregatePublicKeys(pubkeys);
25
28
  }
26
29
  default:
27
30
  throw Error("Unknown signature set type");
28
31
  }
29
32
  }
30
- export function verifySignatureSet(signatureSet, index2pubkey) {
33
+ export function verifySignatureSet(signatureSet, pubkeyCache) {
31
34
  // All signatures are not trusted and must be group checked (p2.subgroup_check)
32
35
  const signature = Signature.fromBytes(signatureSet.signature, true);
33
36
  switch (signatureSet.type) {
34
37
  case SignatureSetType.single:
35
38
  return verify(signatureSet.signingRoot, signatureSet.pubkey, signature);
36
39
  case SignatureSetType.indexed: {
37
- if (!index2pubkey) {
38
- throw Error("index2pubkey required for indexed signature set");
40
+ if (!pubkeyCache) {
41
+ throw Error("pubkeyCache required for indexed signature set");
39
42
  }
40
- return verify(signatureSet.signingRoot, index2pubkey[signatureSet.index], signature);
43
+ const pubkey = pubkeyCache.getOrThrow(signatureSet.index);
44
+ return verify(signatureSet.signingRoot, pubkey, signature);
41
45
  }
42
46
  case SignatureSetType.aggregate: {
43
- if (!index2pubkey) {
44
- throw Error("index2pubkey required for aggregate signature set");
47
+ if (!pubkeyCache) {
48
+ throw Error("pubkeyCache required for aggregate signature set");
45
49
  }
46
- const pubkeys = signatureSet.indices.map((i) => index2pubkey[i]);
50
+ const pubkeys = signatureSet.indices.map((i) => {
51
+ return pubkeyCache.getOrThrow(i);
52
+ });
47
53
  return fastAggregateVerify(signatureSet.signingRoot, pubkeys, signature);
48
54
  }
49
55
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"signatureSets.js","sourceRoot":"","sources":["../../src/util/signatureSets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signatureSets.js","sourceRoot":"","sources":["../../src/util/signatureSets.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export function getLatestWeakSubjectivityCheckpointEpoch(config, state) {
24
24
  */
25
25
  export function computeWeakSubjectivityPeriodCachedState(config, state) {
26
26
  const activeValidatorCount = state.epochCtx.currentShuffling.activeIndices.length;
27
- const fork = state.config.getForkName(state.slot);
27
+ const fork = config.getForkName(state.slot);
28
28
  return isForkPostElectra(fork)
29
29
  ? computeWeakSubjectivityPeriodFromConstituentsElectra(state.epochCtx.totalActiveBalanceIncrements, getBalanceChurnLimitFromCache(state.epochCtx), config.MIN_VALIDATOR_WITHDRAWABILITY_DELAY)
30
30
  : computeWeakSubjectivityPeriodFromConstituentsPhase0(activeValidatorCount, state.epochCtx.totalActiveBalanceIncrements, getChurnLimit(config, activeValidatorCount), config.MIN_VALIDATOR_WITHDRAWABILITY_DELAY);
@@ -1 +1 @@
1
- {"version":3,"file":"weakSubjectivity.js","sourceRoot":"","sources":["../../src/util/weakSubjectivity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"weakSubjectivity.js","sourceRoot":"","sources":["../../src/util/weakSubjectivity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.41.0-dev.702f7932c2",
14
+ "version": "1.41.0-dev.96f78af84b",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -62,14 +62,14 @@
62
62
  "@chainsafe/pubkey-index-map": "^3.0.0",
63
63
  "@chainsafe/ssz": "^1.2.2",
64
64
  "@chainsafe/swap-or-not-shuffle": "^1.2.1",
65
- "@lodestar/config": "^1.41.0-dev.702f7932c2",
66
- "@lodestar/params": "^1.41.0-dev.702f7932c2",
67
- "@lodestar/types": "^1.41.0-dev.702f7932c2",
68
- "@lodestar/utils": "^1.41.0-dev.702f7932c2",
65
+ "@lodestar/config": "^1.41.0-dev.96f78af84b",
66
+ "@lodestar/params": "^1.41.0-dev.96f78af84b",
67
+ "@lodestar/types": "^1.41.0-dev.96f78af84b",
68
+ "@lodestar/utils": "^1.41.0-dev.96f78af84b",
69
69
  "@vekexasia/bigint-buffer2": "^1.1.0"
70
70
  },
71
71
  "devDependencies": {
72
- "@lodestar/api": "^1.41.0-dev.702f7932c2"
72
+ "@lodestar/api": "^1.41.0-dev.96f78af84b"
73
73
  },
74
74
  "keywords": [
75
75
  "ethereum",
@@ -77,5 +77,5 @@
77
77
  "beacon",
78
78
  "blockchain"
79
79
  ],
80
- "gitHead": "d0f84672a52509df5a0aad0b975ab379e2780d7f"
80
+ "gitHead": "dcfa128a0a200089e3202b92999624bfb8a7fa41"
81
81
  }
@@ -1,7 +1,7 @@
1
1
  import {BeaconConfig} from "@lodestar/config";
2
2
  import {ForkSeq, MAX_COMMITTEES_PER_SLOT, MAX_VALIDATORS_PER_COMMITTEE} from "@lodestar/params";
3
3
  import {IndexedAttestation, IndexedAttestationBigint, Slot} from "@lodestar/types";
4
- import {Index2PubkeyCache} from "../cache/pubkeyCache.js";
4
+ import {PubkeyCache} from "../cache/pubkeyCache.js";
5
5
  import {getIndexedAttestationBigintSignatureSet, getIndexedAttestationSignatureSet} from "../signatureSets/index.js";
6
6
  import {verifySignatureSet} from "../util/index.js";
7
7
 
@@ -10,7 +10,7 @@ import {verifySignatureSet} from "../util/index.js";
10
10
  */
11
11
  export function isValidIndexedAttestation(
12
12
  config: BeaconConfig,
13
- index2pubkey: Index2PubkeyCache,
13
+ pubkeyCache: PubkeyCache,
14
14
  stateSlot: Slot,
15
15
  validatorsLen: number,
16
16
  indexedAttestation: IndexedAttestation,
@@ -21,14 +21,14 @@ export function isValidIndexedAttestation(
21
21
  }
22
22
 
23
23
  if (verifySignature) {
24
- return verifySignatureSet(getIndexedAttestationSignatureSet(config, stateSlot, indexedAttestation), index2pubkey);
24
+ return verifySignatureSet(getIndexedAttestationSignatureSet(config, stateSlot, indexedAttestation), pubkeyCache);
25
25
  }
26
26
  return true;
27
27
  }
28
28
 
29
29
  export function isValidIndexedAttestationBigint(
30
30
  config: BeaconConfig,
31
- index2pubkey: Index2PubkeyCache,
31
+ pubkeyCache: PubkeyCache,
32
32
  stateSlot: Slot,
33
33
  validatorsLen: number,
34
34
  indexedAttestation: IndexedAttestationBigint,
@@ -41,7 +41,7 @@ export function isValidIndexedAttestationBigint(
41
41
  if (verifySignature) {
42
42
  return verifySignatureSet(
43
43
  getIndexedAttestationBigintSignatureSet(config, stateSlot, indexedAttestation),
44
- index2pubkey
44
+ pubkeyCache
45
45
  );
46
46
  }
47
47
  return true;
@@ -17,8 +17,8 @@ export function isValidIndexedPayloadAttestation(
17
17
 
18
18
  if (verifySignature) {
19
19
  return verifySignatureSet(
20
- getIndexedPayloadAttestationSignatureSet(state, indexedPayloadAttestation),
21
- state.epochCtx.index2pubkey
20
+ getIndexedPayloadAttestationSignatureSet(state.config, indexedPayloadAttestation),
21
+ state.epochCtx.pubkeyCache
22
22
  );
23
23
  }
24
24
 
@@ -53,7 +53,7 @@ export function processAttestationPhase0(
53
53
  if (
54
54
  !isValidIndexedAttestation(
55
55
  state.config,
56
- epochCtx.index2pubkey,
56
+ epochCtx.pubkeyCache,
57
57
  state.slot,
58
58
  state.validators.length,
59
59
  epochCtx.getIndexedAttestation(ForkSeq.phase0, attestation),
@@ -64,7 +64,7 @@ export function processAttestationsAltair(
64
64
  // we can verify only that and nothing else.
65
65
  if (verifySignature) {
66
66
  const sigSet = getAttestationWithIndicesSignatureSet(state.config, state.slot, attestation, attestingIndices);
67
- if (!verifySignatureSet(sigSet, state.epochCtx.index2pubkey)) {
67
+ if (!verifySignatureSet(sigSet, state.epochCtx.pubkeyCache)) {
68
68
  throw new Error("Attestation signature is not valid");
69
69
  }
70
70
  }
@@ -1,7 +1,7 @@
1
1
  import {BeaconConfig} from "@lodestar/config";
2
2
  import {ForkSeq} from "@lodestar/params";
3
3
  import {AttesterSlashing, Slot} from "@lodestar/types";
4
- import {Index2PubkeyCache} from "../cache/pubkeyCache.js";
4
+ import {PubkeyCache} from "../cache/pubkeyCache.js";
5
5
  import {CachedBeaconStateAllForks} from "../types.js";
6
6
  import {getAttesterSlashableIndices, isSlashableAttestationData, isSlashableValidator} from "../util/index.js";
7
7
  import {isValidIndexedAttestationBigint} from "./isValidIndexedAttestation.js";
@@ -22,7 +22,7 @@ export function processAttesterSlashing(
22
22
  const {epochCtx} = state;
23
23
  assertValidAttesterSlashing(
24
24
  state.config,
25
- epochCtx.index2pubkey,
25
+ epochCtx.pubkeyCache,
26
26
  state.slot,
27
27
  state.validators.length,
28
28
  attesterSlashing,
@@ -48,7 +48,7 @@ export function processAttesterSlashing(
48
48
 
49
49
  export function assertValidAttesterSlashing(
50
50
  config: BeaconConfig,
51
- index2pubkey: Index2PubkeyCache,
51
+ pubkeyCache: PubkeyCache,
52
52
  stateSlot: Slot,
53
53
  validatorsLen: number,
54
54
  attesterSlashing: AttesterSlashing,
@@ -66,7 +66,7 @@ export function assertValidAttesterSlashing(
66
66
  // can be any arbitrary value. Must use bigint variants to hash correctly to all possible values
67
67
  for (const [i, attestation] of [attestation1, attestation2].entries()) {
68
68
  if (
69
- !isValidIndexedAttestationBigint(config, index2pubkey, stateSlot, validatorsLen, attestation, verifySignatures)
69
+ !isValidIndexedAttestationBigint(config, pubkeyCache, stateSlot, validatorsLen, attestation, verifySignatures)
70
70
  ) {
71
71
  throw new Error(`AttesterSlashing attestation${i} is invalid`);
72
72
  }