@lodestar/state-transition 1.39.0-dev.90493ebb47 → 1.39.0-dev.a2107436df
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.
- package/lib/cache/epochCache.d.ts +8 -28
- package/lib/cache/epochCache.d.ts.map +1 -1
- package/lib/cache/epochCache.js +40 -180
- package/lib/cache/epochCache.js.map +1 -1
- package/lib/cache/epochTransitionCache.d.ts +5 -12
- package/lib/cache/epochTransitionCache.d.ts.map +1 -1
- package/lib/cache/epochTransitionCache.js +4 -14
- package/lib/cache/epochTransitionCache.js.map +1 -1
- package/lib/cache/stateCache.d.ts.map +1 -1
- package/lib/cache/stateCache.js +1 -2
- package/lib/cache/stateCache.js.map +1 -1
- package/lib/epoch/processProposerLookahead.d.ts.map +1 -1
- package/lib/epoch/processProposerLookahead.js +3 -6
- package/lib/epoch/processProposerLookahead.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/rewards/blockRewards.d.ts +2 -1
- package/lib/rewards/blockRewards.d.ts.map +1 -1
- package/lib/rewards/blockRewards.js +3 -2
- package/lib/rewards/blockRewards.js.map +1 -1
- package/lib/rewards/syncCommitteeRewards.d.ts.map +1 -1
- package/lib/rewards/syncCommitteeRewards.js +10 -11
- package/lib/rewards/syncCommitteeRewards.js.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.d.ts.map +1 -1
- package/lib/util/epochShuffling.d.ts +1 -34
- package/lib/util/epochShuffling.d.ts.map +1 -1
- package/lib/util/epochShuffling.js +1 -1
- package/lib/util/epochShuffling.js.map +1 -1
- package/lib/util/index.d.ts +1 -2
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +1 -2
- package/lib/util/index.js.map +1 -1
- package/lib/util/shuffling.d.ts +58 -0
- package/lib/util/shuffling.d.ts.map +1 -0
- package/lib/util/shuffling.js +175 -0
- package/lib/util/shuffling.js.map +1 -0
- package/package.json +7 -7
- package/src/cache/epochCache.ts +52 -214
- package/src/cache/epochTransitionCache.ts +9 -34
- package/src/cache/stateCache.ts +1 -2
- package/src/epoch/processProposerLookahead.ts +3 -7
- package/src/index.ts +0 -2
- package/src/rewards/blockRewards.ts +6 -3
- package/src/rewards/syncCommitteeRewards.ts +10 -13
- package/src/types.ts +1 -0
- package/src/util/epochShuffling.ts +2 -43
- package/src/util/index.ts +1 -2
- package/src/util/shuffling.ts +234 -0
- package/lib/util/calculateCommitteeAssignments.d.ts +0 -12
- package/lib/util/calculateCommitteeAssignments.d.ts.map +0 -1
- package/lib/util/calculateCommitteeAssignments.js +0 -26
- package/lib/util/calculateCommitteeAssignments.js.map +0 -1
- package/lib/util/shufflingDecisionRoot.d.ts +0 -20
- package/lib/util/shufflingDecisionRoot.d.ts.map +0 -1
- package/lib/util/shufflingDecisionRoot.js +0 -76
- package/lib/util/shufflingDecisionRoot.js.map +0 -1
- package/src/util/calculateCommitteeAssignments.ts +0 -43
- package/src/util/shufflingDecisionRoot.ts +0 -81
|
@@ -2,27 +2,27 @@ import { PublicKey } from "@chainsafe/blst";
|
|
|
2
2
|
import { PubkeyIndexMap } from "@chainsafe/pubkey-index-map";
|
|
3
3
|
import { BeaconConfig, ChainConfig } from "@lodestar/config";
|
|
4
4
|
import { ForkSeq } from "@lodestar/params";
|
|
5
|
-
import { Attestation, BLSSignature, CommitteeIndex, Epoch, IndexedAttestation, RootHex, Slot, SubnetID, SyncPeriod, ValidatorIndex, gloas
|
|
5
|
+
import { Attestation, BLSSignature, CommitteeIndex, Epoch, IndexedAttestation, RootHex, Slot, SubnetID, SyncPeriod, ValidatorIndex, gloas } from "@lodestar/types";
|
|
6
6
|
import { LodestarError } from "@lodestar/utils";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { EpochShuffling } from "../util/epochShuffling.js";
|
|
8
|
+
import { AttesterDuty } from "../util/shuffling.js";
|
|
9
9
|
import { EffectiveBalanceIncrements } from "./effectiveBalanceIncrements.js";
|
|
10
10
|
import { EpochTransitionCache } from "./epochTransitionCache.js";
|
|
11
11
|
import { Index2PubkeyCache } from "./pubkeyCache.js";
|
|
12
12
|
import { CachedBeaconStateAllForks } from "./stateCache.js";
|
|
13
13
|
import { SyncCommitteeCache } from "./syncCommitteeCache.js";
|
|
14
|
-
import { BeaconStateAllForks } from "./types.js";
|
|
14
|
+
import { BeaconStateAllForks, ShufflingGetter } from "./types.js";
|
|
15
15
|
/** `= PROPOSER_WEIGHT / (WEIGHT_DENOMINATOR - PROPOSER_WEIGHT)` */
|
|
16
16
|
export declare const PROPOSER_WEIGHT_FACTOR: number;
|
|
17
17
|
export type EpochCacheImmutableData = {
|
|
18
18
|
config: BeaconConfig;
|
|
19
19
|
pubkey2index: PubkeyIndexMap;
|
|
20
20
|
index2pubkey: Index2PubkeyCache;
|
|
21
|
-
shufflingCache?: IShufflingCache;
|
|
22
21
|
};
|
|
23
22
|
export type EpochCacheOpts = {
|
|
24
23
|
skipSyncCommitteeCache?: boolean;
|
|
25
24
|
skipSyncPubkeys?: boolean;
|
|
25
|
+
shufflingGetter?: ShufflingGetter;
|
|
26
26
|
};
|
|
27
27
|
/** Defers computing proposers by persisting only the seed, and dropping it once indexes are computed */
|
|
28
28
|
type ProposersDeferred = {
|
|
@@ -68,11 +68,6 @@ export declare class EpochCache {
|
|
|
68
68
|
* $VALIDATOR_COUNT x BLST deserialized pubkey (Jacobian coordinates)
|
|
69
69
|
*/
|
|
70
70
|
index2pubkey: Index2PubkeyCache;
|
|
71
|
-
/**
|
|
72
|
-
* ShufflingCache is passed in from `beacon-node` so should be available at runtime but may not be
|
|
73
|
-
* present during testing.
|
|
74
|
-
*/
|
|
75
|
-
shufflingCache?: IShufflingCache;
|
|
76
71
|
/**
|
|
77
72
|
* Indexes of the block proposers for the current epoch.
|
|
78
73
|
* For pre-fulu, this is computed and cached from the current shuffling.
|
|
@@ -108,7 +103,7 @@ export declare class EpochCache {
|
|
|
108
103
|
/** Same as previousShuffling */
|
|
109
104
|
currentShuffling: EpochShuffling;
|
|
110
105
|
/** Same as previousShuffling */
|
|
111
|
-
nextShuffling: EpochShuffling
|
|
106
|
+
nextShuffling: EpochShuffling;
|
|
112
107
|
/**
|
|
113
108
|
* Cache nextActiveIndices so that in afterProcessEpoch the next shuffling can be build synchronously
|
|
114
109
|
* in case it is not built or the ShufflingCache is not available
|
|
@@ -187,7 +182,6 @@ export declare class EpochCache {
|
|
|
187
182
|
config: BeaconConfig;
|
|
188
183
|
pubkey2index: PubkeyIndexMap;
|
|
189
184
|
index2pubkey: Index2PubkeyCache;
|
|
190
|
-
shufflingCache?: IShufflingCache;
|
|
191
185
|
proposers: number[];
|
|
192
186
|
proposersPrevEpoch: number[] | null;
|
|
193
187
|
proposersNextEpoch: ProposersDeferred;
|
|
@@ -196,7 +190,7 @@ export declare class EpochCache {
|
|
|
196
190
|
nextDecisionRoot: RootHex;
|
|
197
191
|
previousShuffling: EpochShuffling;
|
|
198
192
|
currentShuffling: EpochShuffling;
|
|
199
|
-
nextShuffling: EpochShuffling
|
|
193
|
+
nextShuffling: EpochShuffling;
|
|
200
194
|
nextActiveIndices: Uint32Array;
|
|
201
195
|
effectiveBalanceIncrements: EffectiveBalanceIncrements;
|
|
202
196
|
totalSlashingsByIncrement: number;
|
|
@@ -222,7 +216,7 @@ export declare class EpochCache {
|
|
|
222
216
|
*
|
|
223
217
|
* SLOW CODE - 🐢
|
|
224
218
|
*/
|
|
225
|
-
static createFromState(state: BeaconStateAllForks, { config, pubkey2index, index2pubkey
|
|
219
|
+
static createFromState(state: BeaconStateAllForks, { config, pubkey2index, index2pubkey }: EpochCacheImmutableData, opts?: EpochCacheOpts): EpochCache;
|
|
226
220
|
/**
|
|
227
221
|
* Copies a given EpochCache while avoiding copying its immutable parts.
|
|
228
222
|
*/
|
|
@@ -311,15 +305,6 @@ export declare class EpochCache {
|
|
|
311
305
|
*/
|
|
312
306
|
getAttestingIndices(fork: ForkSeq, attestation: Attestation): number[];
|
|
313
307
|
getCommitteeAssignments(epoch: Epoch, requestedValidatorIndices: ValidatorIndex[]): Map<ValidatorIndex, AttesterDuty>;
|
|
314
|
-
/**
|
|
315
|
-
* Return the committee assignment in the ``epoch`` for ``validator_index``.
|
|
316
|
-
* ``assignment`` returned is a tuple of the following form:
|
|
317
|
-
* ``assignment[0]`` is the list of validators in the committee
|
|
318
|
-
* ``assignment[1]`` is the index to which the committee is assigned
|
|
319
|
-
* ``assignment[2]`` is the slot at which the committee is assigned
|
|
320
|
-
* Return null if no assignment..
|
|
321
|
-
*/
|
|
322
|
-
getCommitteeAssignment(epoch: Epoch, validatorIndex: ValidatorIndex): phase0.CommitteeAssignment | null;
|
|
323
308
|
isAggregator(slot: Slot, index: CommitteeIndex, slotSignature: BLSSignature): boolean;
|
|
324
309
|
/**
|
|
325
310
|
* Return pubkey given the validator index.
|
|
@@ -354,7 +339,6 @@ export declare class EpochCache {
|
|
|
354
339
|
getIndexedPayloadAttestation(slot: Slot, payloadAttestation: gloas.PayloadAttestation): gloas.IndexedPayloadAttestation;
|
|
355
340
|
}
|
|
356
341
|
export declare enum EpochCacheErrorCode {
|
|
357
|
-
COMMITTEE_INDEX_OUT_OF_RANGE = "EPOCH_CONTEXT_ERROR_COMMITTEE_INDEX_OUT_OF_RANGE",
|
|
358
342
|
COMMITTEE_EPOCH_OUT_OF_RANGE = "EPOCH_CONTEXT_ERROR_COMMITTEE_EPOCH_OUT_OF_RANGE",
|
|
359
343
|
DECISION_ROOT_EPOCH_OUT_OF_RANGE = "EPOCH_CONTEXT_ERROR_DECISION_ROOT_EPOCH_OUT_OF_RANGE",
|
|
360
344
|
NEXT_SHUFFLING_NOT_AVAILABLE = "EPOCH_CONTEXT_ERROR_NEXT_SHUFFLING_NOT_AVAILABLE",
|
|
@@ -362,10 +346,6 @@ export declare enum EpochCacheErrorCode {
|
|
|
362
346
|
PROPOSER_EPOCH_MISMATCH = "EPOCH_CONTEXT_ERROR_PROPOSER_EPOCH_MISMATCH"
|
|
363
347
|
}
|
|
364
348
|
type EpochCacheErrorType = {
|
|
365
|
-
code: EpochCacheErrorCode.COMMITTEE_INDEX_OUT_OF_RANGE;
|
|
366
|
-
index: number;
|
|
367
|
-
maxIndex: number;
|
|
368
|
-
} | {
|
|
369
349
|
code: EpochCacheErrorCode.COMMITTEE_EPOCH_OUT_OF_RANGE;
|
|
370
350
|
requestedEpoch: Epoch;
|
|
371
351
|
currentEpoch: Epoch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epochCache.d.ts","sourceRoot":"","sources":["../../src/cache/epochCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAE,WAAW,EAAqB,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAKL,OAAO,EAKR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,KAAK,EACL,kBAAkB,EAClB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,cAAc,
|
|
1
|
+
{"version":3,"file":"epochCache.d.ts","sourceRoot":"","sources":["../../src/cache/epochCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAE,WAAW,EAAqB,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAKL,OAAO,EAKR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,KAAK,EACL,kBAAkB,EAClB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,cAAc,EACd,KAAK,EACN,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EACL,cAAc,EAIf,MAAM,2BAA2B,CAAC;AAanC,OAAO,EACL,YAAY,EAKb,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAC,0BAA0B,EAAuC,MAAM,iCAAiC,CAAC;AACjH,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAc,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAC,yBAAyB,EAAwB,MAAM,iBAAiB,CAAC;AACjF,OAAO,EACL,kBAAkB,EAInB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,mBAAmB,EAAuC,eAAe,EAAC,MAAM,YAAY,CAAC;AAErG,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,QAA2D,CAAC;AAE/F,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,cAAc,CAAC;IAC7B,YAAY,EAAE,iBAAiB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,wGAAwG;AACxG,KAAK,iBAAiB,GAAG;IAAC,QAAQ,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,GAAG;IAAC,QAAQ,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAA;CAAC,CAAC;AAE3G;;;;;;;;;;;;;;;;;;;;;IAqBI;AACJ,qBAAa,UAAU;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB;;;;OAIG;IACH,YAAY,EAAE,cAAc,CAAC;IAC7B;;;;OAIG;IACH,YAAY,EAAE,iBAAiB,CAAC;IAChC;;;;;;OAMG;IACH,SAAS,EAAE,cAAc,EAAE,CAAC;IAE5B,uEAAuE;IACvE,kBAAkB,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAE5C;;;;;;;OAOG;IACH,kBAAkB,EAAE,iBAAiB,CAAC;IAEtC;;OAEG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,iBAAiB,EAAE,cAAc,CAAC;IAClC,gCAAgC;IAChC,gBAAgB,EAAE,cAAc,CAAC;IACjC,gCAAgC;IAChC,aAAa,EAAE,cAAc,CAAC;IAC9B;;;OAGG;IACH,iBAAiB,EAAE,WAAW,CAAC;IAC/B;;OAEG;IACH,0BAA0B,EAAE,0BAA0B,CAAC;IACvD;;OAEG;IACH,yBAAyB,EAAE,MAAM,CAAC;IAClC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,4BAA4B,EAAE,MAAM,CAAC;IAErC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,cAAc,EAAE,KAAK,CAAC;IACtB;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;;;;OAOG;IACH,uCAAuC,EAAE,MAAM,CAAC;IAChD;;;;;;;OAOG;IACH,wCAAwC,EAAE,MAAM,CAAC;IAEjD,uCAAuC;IACvC,2BAA2B,EAAE,kBAAkB,CAAC;IAChD,uCAAuC;IACvC,wBAAwB,EAAE,kBAAkB,CAAC;IAI7C,0BAA0B,EAAE,cAAc,EAAE,EAAE,CAAC;IAG/C,UAAU,EAAE,UAAU,CAAC;IAEvB,KAAK,EAAE,KAAK,CAAC;IAEb,IAAI,SAAS,IAAI,KAAK,CAErB;gBAEW,IAAI,EAAE;QAChB,MAAM,EAAE,YAAY,CAAC;QACrB,YAAY,EAAE,cAAc,CAAC;QAC7B,YAAY,EAAE,iBAAiB,CAAC;QAChC,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACpC,kBAAkB,EAAE,iBAAiB,CAAC;QACtC,oBAAoB,EAAE,OAAO,CAAC;QAC9B,mBAAmB,EAAE,OAAO,CAAC;QAC7B,gBAAgB,EAAE,OAAO,CAAC;QAC1B,iBAAiB,EAAE,cAAc,CAAC;QAClC,gBAAgB,EAAE,cAAc,CAAC;QACjC,aAAa,EAAE,cAAc,CAAC;QAC9B,iBAAiB,EAAE,WAAW,CAAC;QAC/B,0BAA0B,EAAE,0BAA0B,CAAC;QACvD,yBAAyB,EAAE,MAAM,CAAC;QAClC,qBAAqB,EAAE,MAAM,CAAC;QAC9B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,4BAA4B,EAAE,MAAM,CAAC;QACrC,UAAU,EAAE,MAAM,CAAC;QACnB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,cAAc,EAAE,KAAK,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,uCAAuC,EAAE,MAAM,CAAC;QAChD,wCAAwC,EAAE,MAAM,CAAC;QACjD,2BAA2B,EAAE,kBAAkB,CAAC;QAChD,wBAAwB,EAAE,kBAAkB,CAAC;QAC7C,0BAA0B,EAAE,cAAc,EAAE,EAAE,CAAC;QAC/C,KAAK,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,UAAU,CAAC;KACxB;IAiCD;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CACpB,KAAK,EAAE,mBAAmB,EAC1B,EAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAC,EAAE,uBAAuB,EAC7D,IAAI,CAAC,EAAE,cAAc,GACpB,UAAU;IAkOb;;OAEG;IACH,KAAK,IAAI,UAAU;IA2CnB;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,KAAK,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,oBAAoB,GAAG,IAAI;IAoFrG;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI;IA4CzD,qBAAqB,IAAI,IAAI;IAM7B;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,GAAG,WAAW;IAIlE;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE;IAOzE,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAI9C;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,QAAQ;IAOpE;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc;IAY7C,kBAAkB,IAAI,cAAc,EAAE;IAItC,2BAA2B,IAAI,cAAc,EAAE,GAAG,IAAI;IAItD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,2BAA2B,IAAI,cAAc,EAAE;IAgB/C;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,kBAAkB;IAKlF;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE;IAKtE,uBAAuB,CACrB,KAAK,EAAE,KAAK,EACZ,yBAAyB,EAAE,cAAc,EAAE,GAC1C,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;IAKpC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,GAAG,OAAO;IAKrF;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,SAAS;IAIvD,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,GAAG,IAAI;IAI5D,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAK1D,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc;IAK9C,wBAAwB,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,IAAI;IAK3D,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc;IAoBjD,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAiB/C,yBAAyB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,GAAG,IAAI;IAa9D;;;;OAIG;IACH,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,kBAAkB;IAKvD;;;;OAIG;IACH,8BAA8B,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB;IAWhE,6FAA6F;IAC7F,0BAA0B,CAAC,wBAAwB,EAAE,WAAW,GAAG,IAAI;IAKvE,8EAA8E;IAC9E,wBAAwB,CAAC,wBAAwB,EAAE,WAAW,GAAG,IAAI;IAKrE,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IA0B5E,aAAa,IAAI,OAAO;IAIxB,6BAA6B,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,EAAE;IAc3D,4BAA4B,CAC1B,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,GAC3C,KAAK,CAAC,yBAAyB;CAUnC;AAOD,oBAAY,mBAAmB;IAC7B,4BAA4B,qDAAqD;IACjF,gCAAgC,yDAAyD;IACzF,4BAA4B,qDAAqD;IACjF,iBAAiB,0CAA0C;IAC3D,uBAAuB,gDAAgD;CACxE;AAED,KAAK,mBAAmB,GACpB;IACE,IAAI,EAAE,mBAAmB,CAAC,4BAA4B,CAAC;IACvD,cAAc,EAAE,KAAK,CAAC;IACtB,YAAY,EAAE,KAAK,CAAC;CACrB,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC,gCAAgC,CAAC;IAC3D,cAAc,EAAE,KAAK,CAAC;IACtB,YAAY,EAAE,KAAK,CAAC;CACrB,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC,4BAA4B,CAAC;IACvD,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;CACvB,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;IAC5C,KAAK,EAAE,KAAK,CAAC;CACd,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC,uBAAuB,CAAC;IAClD,cAAc,EAAE,KAAK,CAAC;IACtB,YAAY,EAAE,KAAK,CAAC;CACrB,CAAC;AAEN,qBAAa,eAAgB,SAAQ,aAAa,CAAC,mBAAmB,CAAC;CAAG;AAE1E,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,GACxD,uBAAuB,CAOzB"}
|
package/lib/cache/epochCache.js
CHANGED
|
@@ -4,9 +4,9 @@ import { createBeaconConfig } from "@lodestar/config";
|
|
|
4
4
|
import { ATTESTATION_SUBNET_COUNT, DOMAIN_BEACON_PROPOSER, EFFECTIVE_BALANCE_INCREMENT, FAR_FUTURE_EPOCH, ForkSeq, GENESIS_EPOCH, PROPOSER_WEIGHT, SLOTS_PER_EPOCH, WEIGHT_DENOMINATOR, } from "@lodestar/params";
|
|
5
5
|
import { LodestarError } from "@lodestar/utils";
|
|
6
6
|
import { getTotalSlashingsByIncrement } from "../epoch/processSlashings.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
7
|
+
import { calculateDecisionRoot, calculateShufflingDecisionRoot, computeEpochShuffling, } from "../util/epochShuffling.js";
|
|
8
|
+
import { computeActivationExitEpoch, computeEpochAtSlot, computeProposers, computeSyncPeriodAtEpoch, getActivationChurnLimit, getChurnLimit, getSeed, isActiveValidator, isAggregatorFromCommitteeLength, naiveGetPayloadTimlinessCommitteeIndices, } from "../util/index.js";
|
|
9
|
+
import { calculateCommitteeAssignments, getAttestingIndices, getBeaconCommittees, getIndexedAttestation, } from "../util/shuffling.js";
|
|
10
10
|
import { computeBaseRewardPerIncrement, computeSyncParticipantReward } from "../util/syncCommittee.js";
|
|
11
11
|
import { sumTargetUnslashedBalanceIncrements } from "../util/targetUnslashedBalance.js";
|
|
12
12
|
import { getEffectiveBalanceIncrementsWithLen } from "./effectiveBalanceIncrements.js";
|
|
@@ -50,11 +50,6 @@ export class EpochCache {
|
|
|
50
50
|
* $VALIDATOR_COUNT x BLST deserialized pubkey (Jacobian coordinates)
|
|
51
51
|
*/
|
|
52
52
|
index2pubkey;
|
|
53
|
-
/**
|
|
54
|
-
* ShufflingCache is passed in from `beacon-node` so should be available at runtime but may not be
|
|
55
|
-
* present during testing.
|
|
56
|
-
*/
|
|
57
|
-
shufflingCache;
|
|
58
53
|
/**
|
|
59
54
|
* Indexes of the block proposers for the current epoch.
|
|
60
55
|
* For pre-fulu, this is computed and cached from the current shuffling.
|
|
@@ -174,7 +169,6 @@ export class EpochCache {
|
|
|
174
169
|
this.config = data.config;
|
|
175
170
|
this.pubkey2index = data.pubkey2index;
|
|
176
171
|
this.index2pubkey = data.index2pubkey;
|
|
177
|
-
this.shufflingCache = data.shufflingCache;
|
|
178
172
|
this.proposers = data.proposers;
|
|
179
173
|
this.proposersPrevEpoch = data.proposersPrevEpoch;
|
|
180
174
|
this.proposersNextEpoch = data.proposersNextEpoch;
|
|
@@ -209,7 +203,7 @@ export class EpochCache {
|
|
|
209
203
|
*
|
|
210
204
|
* SLOW CODE - 🐢
|
|
211
205
|
*/
|
|
212
|
-
static createFromState(state, { config, pubkey2index, index2pubkey
|
|
206
|
+
static createFromState(state, { config, pubkey2index, index2pubkey }, opts) {
|
|
213
207
|
const currentEpoch = computeEpochAtSlot(state.slot);
|
|
214
208
|
const isGenesis = currentEpoch === GENESIS_EPOCH;
|
|
215
209
|
const previousEpoch = isGenesis ? GENESIS_EPOCH : currentEpoch - 1;
|
|
@@ -229,20 +223,20 @@ export class EpochCache {
|
|
|
229
223
|
const previousActiveIndicesAsNumberArray = [];
|
|
230
224
|
const currentActiveIndicesAsNumberArray = [];
|
|
231
225
|
const nextActiveIndicesAsNumberArray = [];
|
|
232
|
-
// BeaconChain could provide a shuffling
|
|
226
|
+
// BeaconChain could provide a shuffling getter to avoid re-computing shuffling every epoch
|
|
233
227
|
// in that case, we don't need to compute shufflings again
|
|
228
|
+
const shufflingGetter = opts?.shufflingGetter;
|
|
234
229
|
const previousDecisionRoot = calculateShufflingDecisionRoot(config, state, previousEpoch);
|
|
235
|
-
const cachedPreviousShuffling =
|
|
230
|
+
const cachedPreviousShuffling = shufflingGetter?.(previousEpoch, previousDecisionRoot);
|
|
236
231
|
const currentDecisionRoot = calculateShufflingDecisionRoot(config, state, currentEpoch);
|
|
237
|
-
const cachedCurrentShuffling =
|
|
232
|
+
const cachedCurrentShuffling = shufflingGetter?.(currentEpoch, currentDecisionRoot);
|
|
238
233
|
const nextDecisionRoot = calculateShufflingDecisionRoot(config, state, nextEpoch);
|
|
239
|
-
const cachedNextShuffling =
|
|
234
|
+
const cachedNextShuffling = shufflingGetter?.(nextEpoch, nextDecisionRoot);
|
|
240
235
|
for (let i = 0; i < validatorCount; i++) {
|
|
241
236
|
const validator = validators[i];
|
|
242
237
|
// Note: Not usable for fork-choice balances since in-active validators are not zero'ed
|
|
243
238
|
effectiveBalanceIncrements[i] = Math.floor(validator.effectiveBalance / EFFECTIVE_BALANCE_INCREMENT);
|
|
244
|
-
//
|
|
245
|
-
// skip doing that if we already have cached shufflings
|
|
239
|
+
// Collect active indices for each epoch to compute shufflings
|
|
246
240
|
if (cachedPreviousShuffling == null && isActiveValidator(validator, previousEpoch)) {
|
|
247
241
|
previousActiveIndicesAsNumberArray.push(i);
|
|
248
242
|
}
|
|
@@ -276,39 +270,14 @@ export class EpochCache {
|
|
|
276
270
|
throw Error("totalActiveBalanceIncrements >= Number.MAX_SAFE_INTEGER. MAX_EFFECTIVE_BALANCE is too low.");
|
|
277
271
|
}
|
|
278
272
|
const nextActiveIndices = new Uint32Array(nextActiveIndicesAsNumberArray);
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
: computeEpochShuffling(state, new Uint32Array(currentActiveIndicesAsNumberArray), currentEpoch);
|
|
288
|
-
nextShuffling = computeEpochShuffling(state, nextActiveIndices, nextEpoch);
|
|
289
|
-
}
|
|
290
|
-
else {
|
|
291
|
-
currentShuffling = cachedCurrentShuffling
|
|
292
|
-
? cachedCurrentShuffling
|
|
293
|
-
: shufflingCache.getSync(currentEpoch, currentDecisionRoot, {
|
|
294
|
-
state,
|
|
295
|
-
activeIndices: new Uint32Array(currentActiveIndicesAsNumberArray),
|
|
296
|
-
});
|
|
297
|
-
previousShuffling = cachedPreviousShuffling
|
|
298
|
-
? cachedPreviousShuffling
|
|
299
|
-
: isGenesis
|
|
300
|
-
? currentShuffling
|
|
301
|
-
: shufflingCache.getSync(previousEpoch, previousDecisionRoot, {
|
|
302
|
-
state,
|
|
303
|
-
activeIndices: new Uint32Array(previousActiveIndicesAsNumberArray),
|
|
304
|
-
});
|
|
305
|
-
nextShuffling = cachedNextShuffling
|
|
306
|
-
? cachedNextShuffling
|
|
307
|
-
: shufflingCache.getSync(nextEpoch, nextDecisionRoot, {
|
|
308
|
-
state,
|
|
309
|
-
activeIndices: nextActiveIndices,
|
|
310
|
-
});
|
|
311
|
-
}
|
|
273
|
+
// Use cached shufflings if available, otherwise compute
|
|
274
|
+
const currentShuffling = cachedCurrentShuffling ??
|
|
275
|
+
computeEpochShuffling(state, new Uint32Array(currentActiveIndicesAsNumberArray), currentEpoch);
|
|
276
|
+
const previousShuffling = cachedPreviousShuffling ??
|
|
277
|
+
(isGenesis
|
|
278
|
+
? currentShuffling
|
|
279
|
+
: computeEpochShuffling(state, new Uint32Array(previousActiveIndicesAsNumberArray), previousEpoch));
|
|
280
|
+
const nextShuffling = cachedNextShuffling ?? computeEpochShuffling(state, nextActiveIndices, nextEpoch);
|
|
312
281
|
const currentProposerSeed = getSeed(state, currentEpoch, DOMAIN_BEACON_PROPOSER);
|
|
313
282
|
let proposers;
|
|
314
283
|
if (currentEpoch >= config.FULU_FORK_EPOCH) {
|
|
@@ -384,7 +353,6 @@ export class EpochCache {
|
|
|
384
353
|
config,
|
|
385
354
|
pubkey2index,
|
|
386
355
|
index2pubkey,
|
|
387
|
-
shufflingCache,
|
|
388
356
|
proposers,
|
|
389
357
|
// On first epoch, set to null to prevent unnecessary work since this is only used for metrics
|
|
390
358
|
proposersPrevEpoch: null,
|
|
@@ -427,7 +395,6 @@ export class EpochCache {
|
|
|
427
395
|
// Common append-only structures shared with all states, no need to clone
|
|
428
396
|
pubkey2index: this.pubkey2index,
|
|
429
397
|
index2pubkey: this.index2pubkey,
|
|
430
|
-
shufflingCache: this.shufflingCache,
|
|
431
398
|
// Immutable data
|
|
432
399
|
proposers: this.proposers,
|
|
433
400
|
proposersPrevEpoch: this.proposersPrevEpoch,
|
|
@@ -483,60 +450,25 @@ export class EpochCache {
|
|
|
483
450
|
// move current to previous
|
|
484
451
|
this.previousShuffling = this.currentShuffling;
|
|
485
452
|
this.previousDecisionRoot = this.currentDecisionRoot;
|
|
486
|
-
// move next to current
|
|
453
|
+
// move next to current
|
|
487
454
|
this.currentDecisionRoot = this.nextDecisionRoot;
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
// so should be taken into account when structuring tests. Should not affect unit or other tests though
|
|
503
|
-
computeEpochShuffling(state, this.nextActiveIndices, upcomingEpoch);
|
|
504
|
-
}
|
|
505
|
-
// handle next values
|
|
506
|
-
this.nextDecisionRoot = epochTransitionCache.nextShufflingDecisionRoot;
|
|
455
|
+
this.currentShuffling = this.nextShuffling;
|
|
456
|
+
// Compute shuffling for epoch n+2
|
|
457
|
+
//
|
|
458
|
+
// Post-Fulu (EIP-7917), the beacon state includes a `proposer_lookahead` field that stores
|
|
459
|
+
// proposer indices for MIN_SEED_LOOKAHEAD + 1 epochs ahead (2 epochs with MIN_SEED_LOOKAHEAD=1).
|
|
460
|
+
// At each epoch boundary, processProposerLookahead() shifts out the current epoch's proposers
|
|
461
|
+
// and appends new proposers for epoch n + MIN_SEED_LOOKAHEAD + 1 (i.e., epoch n+2).
|
|
462
|
+
//
|
|
463
|
+
// processProposerLookahead() already computes the n+2 shuffling and stores it in
|
|
464
|
+
// epochTransitionCache.nextShuffling. Reuse it here to avoid duplicate computation.
|
|
465
|
+
// Pre-Fulu, we need to compute it here since processProposerLookahead doesn't run.
|
|
466
|
+
//
|
|
467
|
+
// See: https://eips.ethereum.org/EIPS/eip-7917
|
|
468
|
+
this.nextDecisionRoot = calculateDecisionRoot(state, epochAfterUpcoming);
|
|
507
469
|
this.nextActiveIndices = epochTransitionCache.nextShufflingActiveIndices;
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
this.nextShuffling = this.shufflingCache.getSync(epochAfterUpcoming, this.nextDecisionRoot, {
|
|
511
|
-
state,
|
|
512
|
-
activeIndices: this.nextActiveIndices,
|
|
513
|
-
});
|
|
514
|
-
}
|
|
515
|
-
else {
|
|
516
|
-
this.nextShuffling = null;
|
|
517
|
-
// This promise will resolve immediately after the synchronous code of the state-transition runs. Until
|
|
518
|
-
// the build is done on a worker thread it will be calculated immediately after the epoch transition
|
|
519
|
-
// completes. Once the work is done concurrently it should be ready by time this get runs so the promise
|
|
520
|
-
// will resolve directly on the next spin of the event loop because the epoch transition and shuffling take
|
|
521
|
-
// about the same time to calculate so theoretically its ready now. Do not await here though in case it
|
|
522
|
-
// is not ready yet as the transition must not be asynchronous.
|
|
523
|
-
this.shufflingCache
|
|
524
|
-
.get(epochAfterUpcoming, this.nextDecisionRoot)
|
|
525
|
-
.then((shuffling) => {
|
|
526
|
-
if (!shuffling) {
|
|
527
|
-
throw new Error("EpochShuffling not returned from get in afterProcessEpoch");
|
|
528
|
-
}
|
|
529
|
-
this.nextShuffling = shuffling;
|
|
530
|
-
})
|
|
531
|
-
.catch((err) => {
|
|
532
|
-
this.shufflingCache?.logger?.error("EPOCH_CONTEXT_SHUFFLING_BUILD_ERROR", { epoch: epochAfterUpcoming, decisionRoot: epochTransitionCache.nextShufflingDecisionRoot }, err);
|
|
533
|
-
});
|
|
534
|
-
}
|
|
535
|
-
}
|
|
536
|
-
else {
|
|
537
|
-
// Only for testing. shufflingCache should always be available in prod
|
|
538
|
-
this.nextShuffling = computeEpochShuffling(state, this.nextActiveIndices, epochAfterUpcoming);
|
|
539
|
-
}
|
|
470
|
+
this.nextShuffling =
|
|
471
|
+
epochTransitionCache.nextShuffling ?? computeEpochShuffling(state, this.nextActiveIndices, epochAfterUpcoming);
|
|
540
472
|
// TODO: DEDUPLICATE from createEpochCache
|
|
541
473
|
//
|
|
542
474
|
// Precompute churnLimit for efficient initiateValidatorExit() during block proposing MUST be recompute every time the
|
|
@@ -632,19 +564,7 @@ export class EpochCache {
|
|
|
632
564
|
if (indices.length === 0) {
|
|
633
565
|
throw new Error("Attempt to get committees without providing CommitteeIndex");
|
|
634
566
|
}
|
|
635
|
-
|
|
636
|
-
const committees = [];
|
|
637
|
-
for (const index of indices) {
|
|
638
|
-
if (index >= slotCommittees.length) {
|
|
639
|
-
throw new EpochCacheError({
|
|
640
|
-
code: EpochCacheErrorCode.COMMITTEE_INDEX_OUT_OF_RANGE,
|
|
641
|
-
index,
|
|
642
|
-
maxIndex: slotCommittees.length,
|
|
643
|
-
});
|
|
644
|
-
}
|
|
645
|
-
committees.push(slotCommittees[index]);
|
|
646
|
-
}
|
|
647
|
-
return committees;
|
|
567
|
+
return getBeaconCommittees(this.getShufflingAtSlot(slot), slot, indices);
|
|
648
568
|
}
|
|
649
569
|
getCommitteeCountPerSlot(epoch) {
|
|
650
570
|
return this.getShufflingAtEpoch(epoch).committeesPerSlot;
|
|
@@ -729,75 +649,20 @@ export class EpochCache {
|
|
|
729
649
|
* Return the indexed attestation corresponding to ``attestation``.
|
|
730
650
|
*/
|
|
731
651
|
getIndexedAttestation(fork, attestation) {
|
|
732
|
-
const
|
|
733
|
-
|
|
734
|
-
// sort in-place
|
|
735
|
-
attestingIndices.sort((a, b) => a - b);
|
|
736
|
-
return {
|
|
737
|
-
attestingIndices: attestingIndices,
|
|
738
|
-
data: data,
|
|
739
|
-
signature: attestation.signature,
|
|
740
|
-
};
|
|
652
|
+
const shuffling = this.getShufflingAtSlot(attestation.data.slot);
|
|
653
|
+
return getIndexedAttestation(shuffling, fork, attestation);
|
|
741
654
|
}
|
|
742
655
|
/**
|
|
743
656
|
* Return indices of validators who attestested in `attestation`
|
|
744
657
|
*/
|
|
745
658
|
getAttestingIndices(fork, attestation) {
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
const validatorIndices = this.getBeaconCommittee(data.slot, data.index);
|
|
749
|
-
return aggregationBits.intersectValues(validatorIndices);
|
|
750
|
-
}
|
|
751
|
-
const { aggregationBits, committeeBits, data } = attestation;
|
|
752
|
-
// There is a naming conflict on the term `committeeIndices`
|
|
753
|
-
// In Lodestar it usually means a list of validator indices of participants in a committee
|
|
754
|
-
// In the spec it means a list of committee indices according to committeeBits
|
|
755
|
-
// This `committeeIndices` refers to the latter
|
|
756
|
-
// TODO Electra: resolve the naming conflicts
|
|
757
|
-
const committeeIndices = committeeBits.getTrueBitIndexes();
|
|
758
|
-
const validatorsByCommittee = this.getBeaconCommittees(data.slot, committeeIndices);
|
|
759
|
-
// Create a new Uint32Array to flatten `validatorsByCommittee`
|
|
760
|
-
const totalLength = validatorsByCommittee.reduce((acc, curr) => acc + curr.length, 0);
|
|
761
|
-
const committeeValidators = new Uint32Array(totalLength);
|
|
762
|
-
let offset = 0;
|
|
763
|
-
for (const committee of validatorsByCommittee) {
|
|
764
|
-
committeeValidators.set(committee, offset);
|
|
765
|
-
offset += committee.length;
|
|
766
|
-
}
|
|
767
|
-
return aggregationBits.intersectValues(committeeValidators);
|
|
659
|
+
const shuffling = this.getShufflingAtSlot(attestation.data.slot);
|
|
660
|
+
return getAttestingIndices(shuffling, fork, attestation);
|
|
768
661
|
}
|
|
769
662
|
getCommitteeAssignments(epoch, requestedValidatorIndices) {
|
|
770
663
|
const shuffling = this.getShufflingAtEpoch(epoch);
|
|
771
664
|
return calculateCommitteeAssignments(shuffling, requestedValidatorIndices);
|
|
772
665
|
}
|
|
773
|
-
/**
|
|
774
|
-
* Return the committee assignment in the ``epoch`` for ``validator_index``.
|
|
775
|
-
* ``assignment`` returned is a tuple of the following form:
|
|
776
|
-
* ``assignment[0]`` is the list of validators in the committee
|
|
777
|
-
* ``assignment[1]`` is the index to which the committee is assigned
|
|
778
|
-
* ``assignment[2]`` is the slot at which the committee is assigned
|
|
779
|
-
* Return null if no assignment..
|
|
780
|
-
*/
|
|
781
|
-
getCommitteeAssignment(epoch, validatorIndex) {
|
|
782
|
-
if (epoch > this.currentShuffling.epoch + 1) {
|
|
783
|
-
throw Error(`Requesting committee assignment for more than 1 epoch ahead: ${epoch} > ${this.currentShuffling.epoch} + 1`);
|
|
784
|
-
}
|
|
785
|
-
const epochStartSlot = computeStartSlotAtEpoch(epoch);
|
|
786
|
-
const committeeCountPerSlot = this.getCommitteeCountPerSlot(epoch);
|
|
787
|
-
for (let slot = epochStartSlot; slot < epochStartSlot + SLOTS_PER_EPOCH; slot++) {
|
|
788
|
-
for (let i = 0; i < committeeCountPerSlot; i++) {
|
|
789
|
-
const committee = this.getBeaconCommittee(slot, i);
|
|
790
|
-
if (committee.includes(validatorIndex)) {
|
|
791
|
-
return {
|
|
792
|
-
validators: Array.from(committee),
|
|
793
|
-
committeeIndex: i,
|
|
794
|
-
slot,
|
|
795
|
-
};
|
|
796
|
-
}
|
|
797
|
-
}
|
|
798
|
-
}
|
|
799
|
-
return null;
|
|
800
|
-
}
|
|
801
666
|
isAggregator(slot, index, slotSignature) {
|
|
802
667
|
const committee = this.getBeaconCommittee(slot, index);
|
|
803
668
|
return isAggregatorFromCommitteeLength(committee.length, slotSignature);
|
|
@@ -864,10 +729,6 @@ export class EpochCache {
|
|
|
864
729
|
case this.epoch:
|
|
865
730
|
return this.currentShuffling;
|
|
866
731
|
case this.nextEpoch:
|
|
867
|
-
if (!this.nextShuffling) {
|
|
868
|
-
this.nextShuffling =
|
|
869
|
-
this.shufflingCache?.getSync(this.nextEpoch, this.getShufflingDecisionRoot(this.nextEpoch)) ?? null;
|
|
870
|
-
}
|
|
871
732
|
return this.nextShuffling;
|
|
872
733
|
default:
|
|
873
734
|
return null;
|
|
@@ -960,7 +821,6 @@ function getEffectiveBalanceIncrementsByteLen(validatorCount) {
|
|
|
960
821
|
}
|
|
961
822
|
export var EpochCacheErrorCode;
|
|
962
823
|
(function (EpochCacheErrorCode) {
|
|
963
|
-
EpochCacheErrorCode["COMMITTEE_INDEX_OUT_OF_RANGE"] = "EPOCH_CONTEXT_ERROR_COMMITTEE_INDEX_OUT_OF_RANGE";
|
|
964
824
|
EpochCacheErrorCode["COMMITTEE_EPOCH_OUT_OF_RANGE"] = "EPOCH_CONTEXT_ERROR_COMMITTEE_EPOCH_OUT_OF_RANGE";
|
|
965
825
|
EpochCacheErrorCode["DECISION_ROOT_EPOCH_OUT_OF_RANGE"] = "EPOCH_CONTEXT_ERROR_DECISION_ROOT_EPOCH_OUT_OF_RANGE";
|
|
966
826
|
EpochCacheErrorCode["NEXT_SHUFFLING_NOT_AVAILABLE"] = "EPOCH_CONTEXT_ERROR_NEXT_SHUFFLING_NOT_AVAILABLE";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epochCache.js","sourceRoot":"","sources":["../../src/cache/epochCache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"epochCache.js","sourceRoot":"","sources":["../../src/cache/epochCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import { Epoch,
|
|
1
|
+
import { Epoch, ValidatorIndex } from "@lodestar/types";
|
|
2
2
|
import { CachedBeaconStateAllForks } from "../index.js";
|
|
3
|
+
import { EpochShuffling } from "../util/epochShuffling.js";
|
|
3
4
|
export type EpochTransitionCacheOpts = {
|
|
4
5
|
/**
|
|
5
6
|
* Assert progressive balances the same to EpochTransitionCache
|
|
6
7
|
*/
|
|
7
8
|
assertCorrectProgressiveBalances?: boolean;
|
|
8
|
-
/**
|
|
9
|
-
* Do not queue shuffling calculation async. Forces sync JIT calculation in afterProcessEpoch
|
|
10
|
-
*/
|
|
11
|
-
asyncShufflingCalculation?: boolean;
|
|
12
9
|
};
|
|
13
10
|
/**
|
|
14
11
|
* EpochTransitionCache is the parent object of:
|
|
@@ -123,9 +120,10 @@ export interface EpochTransitionCache {
|
|
|
123
120
|
*/
|
|
124
121
|
nextShufflingActiveIndices: Uint32Array;
|
|
125
122
|
/**
|
|
126
|
-
*
|
|
123
|
+
* Pre-computed shuffling for epoch N+2, populated by processProposerLookahead (Fulu+).
|
|
124
|
+
* Used by afterProcessEpoch to avoid recomputing the same shuffling.
|
|
127
125
|
*/
|
|
128
|
-
|
|
126
|
+
nextShuffling: EpochShuffling | null;
|
|
129
127
|
/**
|
|
130
128
|
* Altair specific, this is total active balances for the next epoch.
|
|
131
129
|
* This is only used in `afterProcessEpoch` to compute base reward and sync participant reward.
|
|
@@ -138,11 +136,6 @@ export interface EpochTransitionCache {
|
|
|
138
136
|
* | afterEpochTransitionCache | read it |
|
|
139
137
|
*/
|
|
140
138
|
nextEpochTotalActiveBalanceByIncrement: number;
|
|
141
|
-
/**
|
|
142
|
-
* Compute the shuffling sync or async. Defaults to synchronous. Need to pass `true` with the
|
|
143
|
-
* `EpochTransitionCacheOpts`
|
|
144
|
-
*/
|
|
145
|
-
asyncShufflingCalculation: boolean;
|
|
146
139
|
/**
|
|
147
140
|
* Track by validator index if it's active in the prev epoch.
|
|
148
141
|
* Used in metrics
|