@lodestar/state-transition 1.42.0 → 1.43.0-dev.0bc48d3b54
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/block/processDepositRequest.d.ts +11 -2
- package/lib/block/processDepositRequest.d.ts.map +1 -1
- package/lib/block/processDepositRequest.js +34 -4
- package/lib/block/processDepositRequest.js.map +1 -1
- package/lib/block/processExecutionPayloadEnvelope.d.ts.map +1 -1
- package/lib/block/processExecutionPayloadEnvelope.js +7 -3
- package/lib/block/processExecutionPayloadEnvelope.js.map +1 -1
- package/lib/cache/epochCache.d.ts +3 -1
- package/lib/cache/epochCache.d.ts.map +1 -1
- package/lib/cache/epochCache.js +31 -13
- package/lib/cache/epochCache.js.map +1 -1
- package/lib/cache/epochTransitionCache.d.ts +5 -0
- package/lib/cache/epochTransitionCache.d.ts.map +1 -1
- package/lib/cache/epochTransitionCache.js +1 -0
- package/lib/cache/epochTransitionCache.js.map +1 -1
- package/lib/epoch/index.d.ts +3 -1
- package/lib/epoch/index.d.ts.map +1 -1
- package/lib/epoch/index.js +8 -1
- package/lib/epoch/index.js.map +1 -1
- package/lib/epoch/processPtcWindow.d.ts +11 -0
- package/lib/epoch/processPtcWindow.d.ts.map +1 -0
- package/lib/epoch/processPtcWindow.js +28 -0
- package/lib/epoch/processPtcWindow.js.map +1 -0
- package/lib/index.d.ts +4 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -1
- package/lib/index.js.map +1 -1
- package/lib/signatureSets/executionPayloadEnvelope.d.ts.map +1 -1
- package/lib/signatureSets/executionPayloadEnvelope.js +4 -0
- package/lib/signatureSets/executionPayloadEnvelope.js.map +1 -1
- package/lib/signatureSets/voluntaryExits.d.ts +2 -2
- package/lib/signatureSets/voluntaryExits.d.ts.map +1 -1
- package/lib/signatureSets/voluntaryExits.js +4 -0
- package/lib/signatureSets/voluntaryExits.js.map +1 -1
- package/lib/slot/upgradeStateToGloas.d.ts.map +1 -1
- package/lib/slot/upgradeStateToGloas.js +2 -1
- package/lib/slot/upgradeStateToGloas.js.map +1 -1
- package/lib/stateTransition.d.ts +1 -2
- package/lib/stateTransition.d.ts.map +1 -1
- package/lib/stateTransition.js +1 -2
- package/lib/stateTransition.js.map +1 -1
- package/lib/stateView/beaconStateView.d.ts +10 -10
- package/lib/stateView/beaconStateView.d.ts.map +1 -1
- package/lib/stateView/beaconStateView.js +37 -34
- package/lib/stateView/beaconStateView.js.map +1 -1
- package/lib/stateView/interface.d.ts +103 -52
- package/lib/stateView/interface.d.ts.map +1 -1
- package/lib/stateView/interface.js +22 -1
- package/lib/stateView/interface.js.map +1 -1
- package/lib/util/attestation.d.ts +12 -1
- package/lib/util/attestation.d.ts.map +1 -1
- package/lib/util/attestation.js +23 -8
- package/lib/util/attestation.js.map +1 -1
- package/lib/util/execution.d.ts +4 -2
- package/lib/util/execution.d.ts.map +1 -1
- package/lib/util/execution.js +7 -0
- package/lib/util/execution.js.map +1 -1
- package/lib/util/gloas.d.ts +7 -1
- package/lib/util/gloas.d.ts.map +1 -1
- package/lib/util/gloas.js +26 -1
- package/lib/util/gloas.js.map +1 -1
- package/package.json +8 -8
- package/src/block/processDepositRequest.ts +50 -5
- package/src/block/processExecutionPayloadEnvelope.ts +8 -3
- package/src/cache/epochCache.ts +32 -30
- package/src/cache/epochTransitionCache.ts +7 -0
- package/src/epoch/index.ts +9 -0
- package/src/epoch/processPtcWindow.ts +38 -0
- package/src/index.ts +20 -2
- package/src/signatureSets/executionPayloadEnvelope.ts +5 -1
- package/src/signatureSets/voluntaryExits.ts +5 -2
- package/src/slot/upgradeStateToGloas.ts +2 -1
- package/src/stateTransition.ts +1 -2
- package/src/stateView/beaconStateView.ts +57 -41
- package/src/stateView/interface.ts +155 -74
- package/src/util/attestation.ts +37 -8
- package/src/util/execution.ts +11 -1
- package/src/util/gloas.ts +48 -1
|
@@ -15,7 +15,7 @@ import { getEffectiveBalanceIncrementsZeroInactive } from "../util/balance.js";
|
|
|
15
15
|
import { getBlockRootAtSlot } from "../util/blockRoot.js";
|
|
16
16
|
import { computeAnchorCheckpoint } from "../util/computeAnchorCheckpoint.js";
|
|
17
17
|
import { computeEpochAtSlot, computeStartSlotAtEpoch } from "../util/epoch.js";
|
|
18
|
-
import { isExecutionEnabled, isExecutionStateType, isMergeTransitionComplete } from "../util/execution.js";
|
|
18
|
+
import { isExecutionEnabled, isExecutionStateType, isGloasStateType, isMergeTransitionComplete, } from "../util/execution.js";
|
|
19
19
|
import { canBuilderCoverBid } from "../util/gloas.js";
|
|
20
20
|
import { loadState } from "../util/loadState/loadState.js";
|
|
21
21
|
import { getRandaoMix } from "../util/seed.js";
|
|
@@ -34,8 +34,6 @@ export class BeaconStateView {
|
|
|
34
34
|
_currentEpochParticipation = null;
|
|
35
35
|
// bellatrix
|
|
36
36
|
_latestExecutionPayloadHeader = null;
|
|
37
|
-
// Caches the cross-fork latestBlockHash value
|
|
38
|
-
_latestBlockHash = null;
|
|
39
37
|
// capella
|
|
40
38
|
_historicalSummaries = null;
|
|
41
39
|
// electra
|
|
@@ -47,11 +45,15 @@ export class BeaconStateView {
|
|
|
47
45
|
// gloas
|
|
48
46
|
_executionPayloadAvailability = null;
|
|
49
47
|
_latestExecutionPayloadBid = null;
|
|
48
|
+
_payloadExpectedWithdrawals = null;
|
|
50
49
|
constructor(cachedState) {
|
|
51
50
|
this.cachedState = cachedState;
|
|
52
51
|
this.config = cachedState.config;
|
|
53
52
|
}
|
|
54
53
|
// phase0
|
|
54
|
+
get forkName() {
|
|
55
|
+
return this.config.getForkName(this.cachedState.slot);
|
|
56
|
+
}
|
|
55
57
|
get slot() {
|
|
56
58
|
return this.cachedState.slot;
|
|
57
59
|
}
|
|
@@ -133,34 +135,18 @@ export class BeaconStateView {
|
|
|
133
135
|
}
|
|
134
136
|
// bellatrix
|
|
135
137
|
get latestExecutionPayloadHeader() {
|
|
136
|
-
|
|
138
|
+
const forkSeq = this.config.getForkSeq(this.cachedState.slot);
|
|
139
|
+
if (forkSeq < ForkSeq.bellatrix) {
|
|
137
140
|
throw new Error("latestExecutionPayloadHeader is not available before Bellatrix");
|
|
138
141
|
}
|
|
142
|
+
if (forkSeq >= ForkSeq.gloas) {
|
|
143
|
+
throw new Error("latestExecutionPayloadHeader is not available after Gloas");
|
|
144
|
+
}
|
|
139
145
|
if (this._latestExecutionPayloadHeader === null) {
|
|
140
146
|
this._latestExecutionPayloadHeader = this.cachedState.latestExecutionPayloadHeader.toValue();
|
|
141
147
|
}
|
|
142
148
|
return this._latestExecutionPayloadHeader;
|
|
143
149
|
}
|
|
144
|
-
/**
|
|
145
|
-
* Cross-fork accessor for the execution block hash of the most recently included payload.
|
|
146
|
-
* Pre-gloas: reads from latestExecutionPayloadHeader.blockHash.
|
|
147
|
-
* Gloas+: reads the dedicated latestBlockHash field (EIP-7732).
|
|
148
|
-
*/
|
|
149
|
-
get latestBlockHash() {
|
|
150
|
-
const forkSeq = this.config.getForkSeq(this.cachedState.slot);
|
|
151
|
-
if (forkSeq < ForkSeq.bellatrix) {
|
|
152
|
-
throw new Error("latestBlockHash is not available before Bellatrix");
|
|
153
|
-
}
|
|
154
|
-
if (this._latestBlockHash === null) {
|
|
155
|
-
if (forkSeq >= ForkSeq.gloas) {
|
|
156
|
-
this._latestBlockHash = this.cachedState.latestBlockHash;
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
this._latestBlockHash = this.cachedState.latestExecutionPayloadHeader.blockHash;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
return this._latestBlockHash;
|
|
163
|
-
}
|
|
164
150
|
/**
|
|
165
151
|
* The execution block number of the most recently included payload.
|
|
166
152
|
* Named payloadBlockNumber (not latestBlockNumber) to mirror ExecutionPayloadHeader.blockNumber pre-gloas.
|
|
@@ -243,9 +229,15 @@ export class BeaconStateView {
|
|
|
243
229
|
return this._proposerLookahead;
|
|
244
230
|
}
|
|
245
231
|
// gloas
|
|
232
|
+
get latestBlockHash() {
|
|
233
|
+
if (this.config.getForkSeq(this.cachedState.slot) < ForkSeq.gloas) {
|
|
234
|
+
throw new Error("latestBlockHash is not available before Gloas");
|
|
235
|
+
}
|
|
236
|
+
return this.cachedState.latestBlockHash;
|
|
237
|
+
}
|
|
246
238
|
get executionPayloadAvailability() {
|
|
247
239
|
if (this.config.getForkSeq(this.cachedState.slot) < ForkSeq.gloas) {
|
|
248
|
-
throw new Error("executionPayloadAvailability is not available before
|
|
240
|
+
throw new Error("executionPayloadAvailability is not available before Gloas");
|
|
249
241
|
}
|
|
250
242
|
if (this._executionPayloadAvailability === null) {
|
|
251
243
|
this._executionPayloadAvailability = this.cachedState.executionPayloadAvailability.toValue();
|
|
@@ -254,22 +246,31 @@ export class BeaconStateView {
|
|
|
254
246
|
}
|
|
255
247
|
get latestExecutionPayloadBid() {
|
|
256
248
|
if (this.config.getForkSeq(this.cachedState.slot) < ForkSeq.gloas) {
|
|
257
|
-
throw new Error("latestExecutionPayloadBid is not available before
|
|
249
|
+
throw new Error("latestExecutionPayloadBid is not available before Gloas");
|
|
258
250
|
}
|
|
259
251
|
if (this._latestExecutionPayloadBid === null) {
|
|
260
252
|
this._latestExecutionPayloadBid = this.cachedState.latestExecutionPayloadBid.toValue();
|
|
261
253
|
}
|
|
262
254
|
return this._latestExecutionPayloadBid;
|
|
263
255
|
}
|
|
256
|
+
get payloadExpectedWithdrawals() {
|
|
257
|
+
if (this.config.getForkSeq(this.cachedState.slot) < ForkSeq.gloas) {
|
|
258
|
+
throw new Error("payloadExpectedWithdrawals is not available before Gloas");
|
|
259
|
+
}
|
|
260
|
+
if (this._payloadExpectedWithdrawals === null) {
|
|
261
|
+
this._payloadExpectedWithdrawals = this.cachedState.payloadExpectedWithdrawals.toValue();
|
|
262
|
+
}
|
|
263
|
+
return this._payloadExpectedWithdrawals;
|
|
264
|
+
}
|
|
264
265
|
getBuilder(index) {
|
|
265
266
|
if (this.config.getForkSeq(this.cachedState.slot) < ForkSeq.gloas) {
|
|
266
|
-
throw new Error("Builders are not supported before
|
|
267
|
+
throw new Error("Builders are not supported before Gloas");
|
|
267
268
|
}
|
|
268
269
|
return this.cachedState.builders.getReadonly(index);
|
|
269
270
|
}
|
|
270
271
|
canBuilderCoverBid(builderIndex, bidAmount) {
|
|
271
272
|
if (this.config.getForkSeq(this.cachedState.slot) < ForkSeq.gloas) {
|
|
272
|
-
throw new Error("Builders are not supported before
|
|
273
|
+
throw new Error("Builders are not supported before Gloas");
|
|
273
274
|
}
|
|
274
275
|
return canBuilderCoverBid(this.cachedState, builderIndex, bidAmount);
|
|
275
276
|
}
|
|
@@ -279,7 +280,7 @@ export class BeaconStateView {
|
|
|
279
280
|
*/
|
|
280
281
|
getIndexInPayloadTimelinessCommittee(validatorIndex, slot) {
|
|
281
282
|
if (this.config.getForkSeq(this.cachedState.slot) < ForkSeq.gloas) {
|
|
282
|
-
throw new Error("PTC committees are not supported before
|
|
283
|
+
throw new Error("PTC committees are not supported before Gloas");
|
|
283
284
|
}
|
|
284
285
|
const ptcCommittee = this.cachedState.epochCtx.getPayloadTimelinessCommittee(slot);
|
|
285
286
|
return ptcCommittee.indexOf(validatorIndex);
|
|
@@ -403,7 +404,8 @@ export class BeaconStateView {
|
|
|
403
404
|
return isExecutionEnabled(this.cachedState, block);
|
|
404
405
|
}
|
|
405
406
|
get isMergeTransitionComplete() {
|
|
406
|
-
return isExecutionStateType(this.cachedState)
|
|
407
|
+
return ((isExecutionStateType(this.cachedState) || isGloasStateType(this.cachedState)) &&
|
|
408
|
+
isMergeTransitionComplete(this.cachedState));
|
|
407
409
|
}
|
|
408
410
|
// Block production
|
|
409
411
|
getExpectedWithdrawals() {
|
|
@@ -470,7 +472,7 @@ export class BeaconStateView {
|
|
|
470
472
|
return isStateValidatorsNodesPopulated(this.cachedState);
|
|
471
473
|
}
|
|
472
474
|
// Serialization
|
|
473
|
-
loadOtherState(stateBytes, seedValidatorsBytes) {
|
|
475
|
+
loadOtherState(stateBytes, seedValidatorsBytes, opts) {
|
|
474
476
|
const { state } = loadState(this.config, this.cachedState, stateBytes, seedValidatorsBytes);
|
|
475
477
|
const cachedState = createCachedBeaconState(state, {
|
|
476
478
|
config: this.config,
|
|
@@ -479,9 +481,10 @@ export class BeaconStateView {
|
|
|
479
481
|
}, {
|
|
480
482
|
skipSyncPubkeys: true,
|
|
481
483
|
});
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
484
|
+
if (opts?.preloadValidatorsAndBalances) {
|
|
485
|
+
cachedState.validators.getAllReadonlyValues();
|
|
486
|
+
cachedState.balances.getAll();
|
|
487
|
+
}
|
|
485
488
|
return new BeaconStateView(cachedState);
|
|
486
489
|
}
|
|
487
490
|
toValue() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beaconStateView.js","sourceRoot":"","sources":["../../src/stateView/beaconStateView.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"beaconStateView.js","sourceRoot":"","sources":["../../src/stateView/beaconStateView.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CompactMultiProof } from "@chainsafe/persistent-merkle-tree";
|
|
2
2
|
import { BitArray, ByteViews } from "@chainsafe/ssz";
|
|
3
|
+
import { ForkName, ForkPostAltair, ForkPostBellatrix, ForkPostCapella, ForkPostDeneb, ForkPostElectra, ForkPostFulu, ForkPostGloas } from "@lodestar/params";
|
|
3
4
|
import { BeaconBlock, BeaconState, BlindedBeaconBlock, BuilderIndex, Bytes32, Epoch, ExecutionPayloadBid, ExecutionPayloadHeader, Root, RootHex, SignedBeaconBlock, SignedBlindedBeaconBlock, Slot, ValidatorIndex, altair, capella, electra, fulu, gloas, phase0, rewards } from "@lodestar/types";
|
|
4
5
|
import { Checkpoint, Fork } from "@lodestar/types/phase0";
|
|
5
6
|
import { ProcessExecutionPayloadEnvelopeOpts } from "../block/processExecutionPayloadEnvelope.js";
|
|
@@ -15,6 +16,7 @@ import { EpochShuffling } from "../util/epochShuffling.js";
|
|
|
15
16
|
* A read-only view of the BeaconState.
|
|
16
17
|
*/
|
|
17
18
|
export interface IBeaconStateView {
|
|
19
|
+
forkName: ForkName;
|
|
18
20
|
slot: Slot;
|
|
19
21
|
fork: Fork;
|
|
20
22
|
epoch: Epoch;
|
|
@@ -29,38 +31,6 @@ export interface IBeaconStateView {
|
|
|
29
31
|
getBlockRootAtEpoch(epoch: Epoch): Root;
|
|
30
32
|
getStateRootAtSlot(slot: Slot): Root;
|
|
31
33
|
getRandaoMix(epoch: Epoch): Bytes32;
|
|
32
|
-
previousEpochParticipation: Uint8Array;
|
|
33
|
-
currentEpochParticipation: Uint8Array;
|
|
34
|
-
getPreviousEpochParticipation(validatorIndex: ValidatorIndex): number;
|
|
35
|
-
getCurrentEpochParticipation(validatorIndex: ValidatorIndex): number;
|
|
36
|
-
latestExecutionPayloadHeader: ExecutionPayloadHeader;
|
|
37
|
-
/**
|
|
38
|
-
* Cross-fork accessor for the execution block hash of the most recently included payload.
|
|
39
|
-
* Pre-gloas: returns latestExecutionPayloadHeader.blockHash (bellatrix–fulu).
|
|
40
|
-
* Gloas+: returns the dedicated latestBlockHash state field (EIP-7732).
|
|
41
|
-
* Throws before bellatrix.
|
|
42
|
-
*/
|
|
43
|
-
latestBlockHash: Bytes32;
|
|
44
|
-
/**
|
|
45
|
-
* The execution block number of the most recently included payload.
|
|
46
|
-
* Named payloadBlockNumber (not latestBlockNumber) to mirror ExecutionPayloadHeader.blockNumber pre-gloas.
|
|
47
|
-
* Only available from bellatrix through fulu — not tracked on BeaconState in gloas+ (EIP-7732).
|
|
48
|
-
* Throws before bellatrix and from gloas onwards.
|
|
49
|
-
*/
|
|
50
|
-
payloadBlockNumber: number;
|
|
51
|
-
historicalSummaries: capella.HistoricalSummaries;
|
|
52
|
-
pendingDeposits: electra.PendingDeposits;
|
|
53
|
-
pendingDepositsCount: number;
|
|
54
|
-
pendingPartialWithdrawals: electra.PendingPartialWithdrawals;
|
|
55
|
-
pendingPartialWithdrawalsCount: number;
|
|
56
|
-
pendingConsolidations: electra.PendingConsolidations;
|
|
57
|
-
pendingConsolidationsCount: number;
|
|
58
|
-
proposerLookahead: fulu.ProposerLookahead;
|
|
59
|
-
executionPayloadAvailability: BitArray;
|
|
60
|
-
latestExecutionPayloadBid: ExecutionPayloadBid;
|
|
61
|
-
getBuilder(index: BuilderIndex): gloas.Builder;
|
|
62
|
-
canBuilderCoverBid(builderIndex: BuilderIndex, bidAmount: number): boolean;
|
|
63
|
-
getIndexInPayloadTimelinessCommittee(validatorIndex: ValidatorIndex, slot: Slot): number;
|
|
64
34
|
getShufflingAtEpoch(epoch: Epoch): EpochShuffling;
|
|
65
35
|
previousDecisionRoot: RootHex;
|
|
66
36
|
currentDecisionRoot: RootHex;
|
|
@@ -73,13 +43,6 @@ export interface IBeaconStateView {
|
|
|
73
43
|
currentProposers: ValidatorIndex[];
|
|
74
44
|
nextProposers: ValidatorIndex[];
|
|
75
45
|
getBeaconProposer(slot: Slot): ValidatorIndex;
|
|
76
|
-
currentSyncCommittee: altair.SyncCommittee;
|
|
77
|
-
nextSyncCommittee: altair.SyncCommittee;
|
|
78
|
-
currentSyncCommitteeIndexed: SyncCommitteeCache;
|
|
79
|
-
syncProposerReward: number;
|
|
80
|
-
getIndexedSyncCommitteeAtEpoch(epoch: Epoch): SyncCommitteeCache;
|
|
81
|
-
/** Get indexed sync committee with slot+1 offset for duty lookups */
|
|
82
|
-
getIndexedSyncCommittee(slot: Slot): SyncCommitteeCache;
|
|
83
46
|
effectiveBalanceIncrements: EffectiveBalanceIncrements;
|
|
84
47
|
getEffectiveBalanceIncrementsZeroInactive(): EffectiveBalanceIncrements;
|
|
85
48
|
getBalance(index: number): number;
|
|
@@ -89,25 +52,13 @@ export interface IBeaconStateView {
|
|
|
89
52
|
activeValidatorCount: number;
|
|
90
53
|
getAllValidators(): phase0.Validator[];
|
|
91
54
|
getAllBalances(): number[];
|
|
92
|
-
isExecutionStateType: boolean;
|
|
93
|
-
isMergeTransitionComplete: boolean;
|
|
94
|
-
isExecutionEnabled(block: BeaconBlock | BlindedBeaconBlock): boolean;
|
|
95
|
-
getExpectedWithdrawals(): {
|
|
96
|
-
expectedWithdrawals: capella.Withdrawal[];
|
|
97
|
-
processedBuilderWithdrawalsCount: number;
|
|
98
|
-
processedPartialWithdrawalsCount: number;
|
|
99
|
-
processedBuildersSweepCount: number;
|
|
100
|
-
processedValidatorSweepCount: number;
|
|
101
|
-
};
|
|
102
55
|
proposerRewards: RewardCache;
|
|
103
56
|
computeBlockRewards(block: BeaconBlock, proposerRewards?: RewardCache): Promise<rewards.BlockRewards>;
|
|
104
57
|
computeAttestationsRewards(validatorIds?: (ValidatorIndex | string)[]): Promise<rewards.AttestationsRewards>;
|
|
105
|
-
computeSyncCommitteeRewards(block: BeaconBlock, validatorIds: (ValidatorIndex | string)[]): Promise<rewards.SyncCommitteeRewards>;
|
|
106
58
|
getLatestWeakSubjectivityCheckpointEpoch(): Epoch;
|
|
107
59
|
getVoluntaryExitValidity(signedVoluntaryExit: phase0.SignedVoluntaryExit, verifySignature: boolean): VoluntaryExitValidity;
|
|
108
60
|
isValidVoluntaryExit(signedVoluntaryExit: phase0.SignedVoluntaryExit, verifySignature: boolean): boolean;
|
|
109
61
|
getFinalizedRootProof(): Uint8Array[];
|
|
110
|
-
getSyncCommitteesWitness(): SyncCommitteeWitness;
|
|
111
62
|
getSingleProof(gindex: bigint): Uint8Array[];
|
|
112
63
|
createMultiProof(descriptor: Uint8Array): CompactMultiProof;
|
|
113
64
|
computeUnrealizedCheckpoints(): {
|
|
@@ -122,7 +73,11 @@ export interface IBeaconStateView {
|
|
|
122
73
|
clonedCountWithTransferCache: number;
|
|
123
74
|
createdWithTransferCache: boolean;
|
|
124
75
|
isStateValidatorsNodesPopulated(): boolean;
|
|
125
|
-
|
|
76
|
+
/** Set `preloadValidatorsAndBalances` only when the whole state will be consumed
|
|
77
|
+
* immediately (e.g. CP reload before block replay). */
|
|
78
|
+
loadOtherState(stateBytes: Uint8Array, seedValidatorsBytes?: Uint8Array, opts?: {
|
|
79
|
+
preloadValidatorsAndBalances?: boolean;
|
|
80
|
+
}): IBeaconStateView;
|
|
126
81
|
toValue(): BeaconState;
|
|
127
82
|
serialize(): Uint8Array;
|
|
128
83
|
serializedSize(): number;
|
|
@@ -135,6 +90,102 @@ export interface IBeaconStateView {
|
|
|
135
90
|
processSlots(slot: Slot, epochTransitionCacheOpts?: EpochTransitionCacheOpts & {
|
|
136
91
|
dontTransferCache?: boolean;
|
|
137
92
|
}, modules?: StateTransitionModules): IBeaconStateView;
|
|
93
|
+
}
|
|
94
|
+
/** Altair+ state fields — use isStatePostAltair() guard */
|
|
95
|
+
export interface IBeaconStateViewAltair extends IBeaconStateView {
|
|
96
|
+
forkName: ForkPostAltair;
|
|
97
|
+
previousEpochParticipation: Uint8Array;
|
|
98
|
+
currentEpochParticipation: Uint8Array;
|
|
99
|
+
getPreviousEpochParticipation(validatorIndex: ValidatorIndex): number;
|
|
100
|
+
getCurrentEpochParticipation(validatorIndex: ValidatorIndex): number;
|
|
101
|
+
currentSyncCommittee: altair.SyncCommittee;
|
|
102
|
+
nextSyncCommittee: altair.SyncCommittee;
|
|
103
|
+
currentSyncCommitteeIndexed: SyncCommitteeCache;
|
|
104
|
+
syncProposerReward: number;
|
|
105
|
+
getIndexedSyncCommitteeAtEpoch(epoch: Epoch): SyncCommitteeCache;
|
|
106
|
+
/** Get indexed sync committee with slot+1 offset for duty lookups */
|
|
107
|
+
getIndexedSyncCommittee(slot: Slot): SyncCommitteeCache;
|
|
108
|
+
computeSyncCommitteeRewards(block: BeaconBlock, validatorIds: (ValidatorIndex | string)[]): Promise<rewards.SyncCommitteeRewards>;
|
|
109
|
+
getSyncCommitteesWitness(): SyncCommitteeWitness;
|
|
110
|
+
}
|
|
111
|
+
/** Bellatrix+ state fields — use isStatePostBellatrix() guard */
|
|
112
|
+
export interface IBeaconStateViewBellatrix extends IBeaconStateViewAltair {
|
|
113
|
+
forkName: ForkPostBellatrix;
|
|
114
|
+
latestExecutionPayloadHeader: ExecutionPayloadHeader;
|
|
115
|
+
/**
|
|
116
|
+
* The execution block number of the most recently included payload.
|
|
117
|
+
* Named payloadBlockNumber (not latestBlockNumber) to mirror ExecutionPayloadHeader.blockNumber pre-gloas.
|
|
118
|
+
* Only available from bellatrix through fulu — not tracked on BeaconState in gloas+ (EIP-7732).
|
|
119
|
+
* Throws before bellatrix and from gloas onwards.
|
|
120
|
+
*/
|
|
121
|
+
payloadBlockNumber: number;
|
|
122
|
+
isExecutionStateType: boolean;
|
|
123
|
+
isMergeTransitionComplete: boolean;
|
|
124
|
+
isExecutionEnabled(block: BeaconBlock | BlindedBeaconBlock): boolean;
|
|
125
|
+
}
|
|
126
|
+
/** Capella+ state fields — use isStatePostCapella() guard */
|
|
127
|
+
export interface IBeaconStateViewCapella extends IBeaconStateViewBellatrix {
|
|
128
|
+
forkName: ForkPostCapella;
|
|
129
|
+
historicalSummaries: capella.HistoricalSummaries;
|
|
130
|
+
getExpectedWithdrawals(): {
|
|
131
|
+
expectedWithdrawals: capella.Withdrawal[];
|
|
132
|
+
processedBuilderWithdrawalsCount: number;
|
|
133
|
+
processedPartialWithdrawalsCount: number;
|
|
134
|
+
processedBuildersSweepCount: number;
|
|
135
|
+
processedValidatorSweepCount: number;
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
/** Deneb+ state — no new state-view fields; placeholder for fork completeness and isStatePostDeneb() narrowing */
|
|
139
|
+
export interface IBeaconStateViewDeneb extends IBeaconStateViewCapella {
|
|
140
|
+
forkName: ForkPostDeneb;
|
|
141
|
+
}
|
|
142
|
+
/** Electra+ state fields — use isStatePostElectra() guard */
|
|
143
|
+
export interface IBeaconStateViewElectra extends IBeaconStateViewDeneb {
|
|
144
|
+
forkName: ForkPostElectra;
|
|
145
|
+
pendingDeposits: electra.PendingDeposits;
|
|
146
|
+
pendingDepositsCount: number;
|
|
147
|
+
pendingPartialWithdrawals: electra.PendingPartialWithdrawals;
|
|
148
|
+
pendingPartialWithdrawalsCount: number;
|
|
149
|
+
pendingConsolidations: electra.PendingConsolidations;
|
|
150
|
+
pendingConsolidationsCount: number;
|
|
151
|
+
}
|
|
152
|
+
/** Fulu+ state fields — use isStatePostFulu() guard */
|
|
153
|
+
export interface IBeaconStateViewFulu extends IBeaconStateViewElectra {
|
|
154
|
+
forkName: ForkPostFulu;
|
|
155
|
+
proposerLookahead: fulu.ProposerLookahead;
|
|
156
|
+
}
|
|
157
|
+
/** Gloas+ state fields — use isStatePostGloas() guard */
|
|
158
|
+
export interface IBeaconStateViewGloas extends IBeaconStateViewFulu {
|
|
159
|
+
forkName: ForkPostGloas;
|
|
160
|
+
/** Removed from BeaconState in gloas. Use `latestBlockHash` instead. */
|
|
161
|
+
latestExecutionPayloadHeader: never;
|
|
162
|
+
/** Removed from BeaconState in gloas. */
|
|
163
|
+
payloadBlockNumber: never;
|
|
164
|
+
latestBlockHash: Bytes32;
|
|
165
|
+
executionPayloadAvailability: BitArray;
|
|
166
|
+
latestExecutionPayloadBid: ExecutionPayloadBid;
|
|
167
|
+
payloadExpectedWithdrawals: capella.Withdrawal[];
|
|
168
|
+
getBuilder(index: BuilderIndex): gloas.Builder;
|
|
169
|
+
canBuilderCoverBid(builderIndex: BuilderIndex, bidAmount: number): boolean;
|
|
170
|
+
getIndexInPayloadTimelinessCommittee(validatorIndex: ValidatorIndex, slot: Slot): number;
|
|
138
171
|
processExecutionPayloadEnvelope(signedEnvelope: gloas.SignedExecutionPayloadEnvelope, opts?: ProcessExecutionPayloadEnvelopeOpts): IBeaconStateView;
|
|
139
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Type constraint for the concrete BeaconStateView class.
|
|
175
|
+
* Requires all fields from the latest fork interface (IBeaconStateViewGloas) but keeps
|
|
176
|
+
* forkName as ForkName since the class wraps any fork's state.
|
|
177
|
+
* Sub-interfaces retain their narrowed forkName discriminants for caller-side type guards.
|
|
178
|
+
*/
|
|
179
|
+
export type IBeaconStateViewLatestFork = Omit<IBeaconStateViewGloas, "forkName" | "latestExecutionPayloadHeader" | "payloadBlockNumber"> & {
|
|
180
|
+
forkName: ForkName;
|
|
181
|
+
latestExecutionPayloadHeader: ExecutionPayloadHeader;
|
|
182
|
+
payloadBlockNumber: number;
|
|
183
|
+
};
|
|
184
|
+
export declare function isStatePostAltair(state: IBeaconStateView): state is IBeaconStateViewAltair;
|
|
185
|
+
export declare function isStatePostBellatrix(state: IBeaconStateView): state is IBeaconStateViewBellatrix;
|
|
186
|
+
export declare function isStatePostCapella(state: IBeaconStateView): state is IBeaconStateViewCapella;
|
|
187
|
+
export declare function isStatePostDeneb(state: IBeaconStateView): state is IBeaconStateViewDeneb;
|
|
188
|
+
export declare function isStatePostElectra(state: IBeaconStateView): state is IBeaconStateViewElectra;
|
|
189
|
+
export declare function isStatePostFulu(state: IBeaconStateView): state is IBeaconStateViewFulu;
|
|
190
|
+
export declare function isStatePostGloas(state: IBeaconStateView): state is IBeaconStateViewGloas;
|
|
140
191
|
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/stateView/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACnD,OAAO,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,sBAAsB,EACtB,IAAI,EACJ,OAAO,EACP,iBAAiB,EACjB,wBAAwB,EACxB,IAAI,EACJ,cAAc,EACd,MAAM,EACN,OAAO,EACP,OAAO,EACP,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,EACR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAC,mCAAmC,EAAC,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAC,qBAAqB,EAAC,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAC,0BAA0B,EAAC,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAC,wBAAwB,EAAC,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAC,sBAAsB,EAAE,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAI/B,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;IAC5C,2BAA2B,EAAE,UAAU,CAAC;IACxC,0BAA0B,EAAE,UAAU,CAAC;IACvC,mBAAmB,EAAE,UAAU,CAAC;IAChC,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IACrC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACxC,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IACrC,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IAGpC,
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/stateView/interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
import { isForkPostAltair, isForkPostBellatrix, isForkPostCapella, isForkPostDeneb, isForkPostElectra, isForkPostFulu, isForkPostGloas, } from "@lodestar/params";
|
|
2
|
+
export function isStatePostAltair(state) {
|
|
3
|
+
return isForkPostAltair(state.forkName);
|
|
4
|
+
}
|
|
5
|
+
export function isStatePostBellatrix(state) {
|
|
6
|
+
return isForkPostBellatrix(state.forkName);
|
|
7
|
+
}
|
|
8
|
+
export function isStatePostCapella(state) {
|
|
9
|
+
return isForkPostCapella(state.forkName);
|
|
10
|
+
}
|
|
11
|
+
export function isStatePostDeneb(state) {
|
|
12
|
+
return isForkPostDeneb(state.forkName);
|
|
13
|
+
}
|
|
14
|
+
export function isStatePostElectra(state) {
|
|
15
|
+
return isForkPostElectra(state.forkName);
|
|
16
|
+
}
|
|
17
|
+
export function isStatePostFulu(state) {
|
|
18
|
+
return isForkPostFulu(state.forkName);
|
|
19
|
+
}
|
|
20
|
+
export function isStatePostGloas(state) {
|
|
21
|
+
return isForkPostGloas(state.forkName);
|
|
22
|
+
}
|
|
2
23
|
//# sourceMappingURL=interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/stateView/interface.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/stateView/interface.ts"],"names":[],"mappings":"AAEA,OAAO,EASL,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAkQ1B,MAAM,UAAU,iBAAiB,CAAC,KAAuB,EAAmC;IAC1F,OAAO,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAA,CACzC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAuB,EAAsC;IAChG,OAAO,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAA,CAC5C;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAuB,EAAoC;IAC5F,OAAO,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAA,CAC1C;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAuB,EAAkC;IACxF,OAAO,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAA,CACxC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAuB,EAAoC;IAC5F,OAAO,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAA,CAC1C;AAED,MAAM,UAAU,eAAe,CAAC,KAAuB,EAAiC;IACtF,OAAO,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAA,CACvC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAuB,EAAkC;IACxF,OAAO,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAA,CACxC"}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ForkSeq } from "@lodestar/params";
|
|
2
|
+
import { AttesterSlashing, IndexedAttestation, IndexedAttestationBigint, Slot, ValidatorIndex, phase0 } from "@lodestar/types";
|
|
2
3
|
/**
|
|
3
4
|
* Check if [[data1]] and [[data2]] are slashable according to Casper FFG rules.
|
|
4
5
|
*/
|
|
5
6
|
export declare function isSlashableAttestationData(data1: phase0.AttestationDataBigint, data2: phase0.AttestationDataBigint): boolean;
|
|
6
7
|
export declare function isValidAttestationSlot(attestationSlot: Slot, currentSlot: Slot): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Compute the intersection of two sorted validator index lists.
|
|
10
|
+
* Both inputs must be sorted in ascending order (per spec).
|
|
11
|
+
*/
|
|
12
|
+
export declare function getIntersectingIndices(indices1: ValidatorIndex[], indices2: ValidatorIndex[]): ValidatorIndex[];
|
|
7
13
|
export declare function getAttesterSlashableIndices(attesterSlashing: AttesterSlashing): ValidatorIndex[];
|
|
14
|
+
/**
|
|
15
|
+
* Convert IndexedAttestation to IndexedAttestationBigint via SSZ roundtrip.
|
|
16
|
+
* Both types share the same binary layout — only the JS numeric representation differs.
|
|
17
|
+
*/
|
|
18
|
+
export declare function toIndexedAttestationBigint(att: IndexedAttestation, fork: ForkSeq): IndexedAttestationBigint;
|
|
8
19
|
//# sourceMappingURL=attestation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attestation.d.ts","sourceRoot":"","sources":["../../src/util/attestation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"attestation.d.ts","sourceRoot":"","sources":["../../src/util/attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAmD,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,IAAI,EACJ,cAAc,EACd,MAAM,EAEP,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,CAAC,qBAAqB,EACnC,KAAK,EAAE,MAAM,CAAC,qBAAqB,GAClC,OAAO,CAOT;AAED,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,GAAG,OAAO,CAIxF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAU/G;AAED,wBAAgB,2BAA2B,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,cAAc,EAAE,CAKhG;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,GAAG,wBAAwB,CAK3G"}
|
package/lib/util/attestation.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { MIN_ATTESTATION_INCLUSION_DELAY, SLOTS_PER_EPOCH } from "@lodestar/params";
|
|
2
|
-
import { ssz } from "@lodestar/types";
|
|
1
|
+
import { ForkSeq, MIN_ATTESTATION_INCLUSION_DELAY, SLOTS_PER_EPOCH } from "@lodestar/params";
|
|
2
|
+
import { ssz, } from "@lodestar/types";
|
|
3
3
|
/**
|
|
4
4
|
* Check if [[data1]] and [[data2]] are slashable according to Casper FFG rules.
|
|
5
5
|
*/
|
|
@@ -13,16 +13,31 @@ export function isSlashableAttestationData(data1, data2) {
|
|
|
13
13
|
export function isValidAttestationSlot(attestationSlot, currentSlot) {
|
|
14
14
|
return (attestationSlot + MIN_ATTESTATION_INCLUSION_DELAY <= currentSlot && currentSlot <= attestationSlot + SLOTS_PER_EPOCH);
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Compute the intersection of two sorted validator index lists.
|
|
18
|
+
* Both inputs must be sorted in ascending order (per spec).
|
|
19
|
+
*/
|
|
20
|
+
export function getIntersectingIndices(indices1, indices2) {
|
|
17
21
|
const indices = [];
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (attSet1.has(index)) {
|
|
22
|
+
const alreadyPresent = new Set(indices1);
|
|
23
|
+
for (let i = 0, len = indices2.length; i < len; i++) {
|
|
24
|
+
const index = indices2[i];
|
|
25
|
+
if (alreadyPresent.has(index)) {
|
|
23
26
|
indices.push(index);
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
29
|
return indices;
|
|
27
30
|
}
|
|
31
|
+
export function getAttesterSlashableIndices(attesterSlashing) {
|
|
32
|
+
return getIntersectingIndices(attesterSlashing.attestation1.attestingIndices, attesterSlashing.attestation2.attestingIndices);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Convert IndexedAttestation to IndexedAttestationBigint via SSZ roundtrip.
|
|
36
|
+
* Both types share the same binary layout — only the JS numeric representation differs.
|
|
37
|
+
*/
|
|
38
|
+
export function toIndexedAttestationBigint(att, fork) {
|
|
39
|
+
const sszType = fork >= ForkSeq.electra ? ssz.electra.IndexedAttestation : ssz.phase0.IndexedAttestation;
|
|
40
|
+
const sszTypeBigint = fork >= ForkSeq.electra ? ssz.electra.IndexedAttestationBigint : ssz.phase0.IndexedAttestationBigint;
|
|
41
|
+
return sszTypeBigint.deserialize(sszType.serialize(att));
|
|
42
|
+
}
|
|
28
43
|
//# sourceMappingURL=attestation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../src/util/attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,+BAA+B,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../src/util/attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,+BAA+B,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAOL,GAAG,GACJ,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAmC,EACnC,KAAmC,EAC1B;IACT,OAAO;IACL,cAAc;IACd,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACrG,gBAAgB;QAChB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CACrF,CAAC;AAAA,CACH;AAED,MAAM,UAAU,sBAAsB,CAAC,eAAqB,EAAE,WAAiB,EAAW;IACxF,OAAO,CACL,eAAe,GAAG,+BAA+B,IAAI,WAAW,IAAI,WAAW,IAAI,eAAe,GAAG,eAAe,CACrH,CAAC;AAAA,CACH;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAA0B,EAAE,QAA0B,EAAoB;IAC/G,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AAAA,CAChB;AAED,MAAM,UAAU,2BAA2B,CAAC,gBAAkC,EAAoB;IAChG,OAAO,sBAAsB,CAC3B,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,EAC9C,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,CAC/C,CAAC;AAAA,CACH;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAuB,EAAE,IAAa,EAA4B;IAC3G,MAAM,OAAO,GAAG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACzG,MAAM,aAAa,GACjB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC;IACvG,OAAO,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAAA,CAC1D"}
|