@lodestar/state-transition 1.51.0-dev.2593063a82 → 1.51.0-dev.2bcbe7ce2d
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/index.d.ts +1 -1
- package/lib/block/index.d.ts.map +1 -1
- package/lib/block/index.js +2 -2
- package/lib/block/index.js.map +1 -1
- package/lib/block/processAttestationsAltair.d.ts.map +1 -1
- package/lib/block/processAttestationsAltair.js +3 -1
- package/lib/block/processAttestationsAltair.js.map +1 -1
- package/lib/block/processDeposit.d.ts.map +1 -1
- package/lib/block/processDeposit.js +1 -1
- package/lib/block/processDeposit.js.map +1 -1
- package/lib/block/processOperations.d.ts +1 -1
- package/lib/block/processOperations.d.ts.map +1 -1
- package/lib/block/processOperations.js +1 -1
- package/lib/block/processOperations.js.map +1 -1
- package/lib/cache/epochCache.d.ts +5 -2
- package/lib/cache/epochCache.d.ts.map +1 -1
- package/lib/cache/epochCache.js +12 -5
- package/lib/cache/epochCache.js.map +1 -1
- package/lib/cache/epochTransitionCache.d.ts.map +1 -1
- package/lib/cache/epochTransitionCache.js +2 -1
- package/lib/cache/epochTransitionCache.js.map +1 -1
- package/lib/cache/syncCommitteeCache.d.ts +1 -1
- package/lib/cache/syncCommitteeCache.d.ts.map +1 -1
- package/lib/epoch/getRewardsAndPenalties.d.ts.map +1 -1
- package/lib/epoch/getRewardsAndPenalties.js +9 -2
- package/lib/epoch/getRewardsAndPenalties.js.map +1 -1
- package/lib/epoch/index.d.ts +2 -2
- package/lib/epoch/index.d.ts.map +1 -1
- package/lib/epoch/index.js +2 -2
- package/lib/epoch/index.js.map +1 -1
- package/lib/epoch/processSyncCommitteeUpdates.js +1 -1
- package/lib/epoch/processSyncCommitteeUpdates.js.map +1 -1
- package/lib/lightClient/spec/store.d.ts +1 -1
- package/lib/lightClient/spec/store.d.ts.map +1 -1
- package/lib/lightClient/spec/utils.d.ts.map +1 -1
- package/lib/lightClient/spec/utils.js +1 -1
- package/lib/lightClient/spec/utils.js.map +1 -1
- package/lib/lightClient/spec/validateLightClientUpdate.d.ts.map +1 -1
- package/lib/lightClient/spec/validateLightClientUpdate.js +1 -1
- package/lib/lightClient/spec/validateLightClientUpdate.js.map +1 -1
- package/lib/metrics.d.ts +1 -1
- package/lib/metrics.d.ts.map +1 -1
- package/lib/metrics.js +4 -4
- package/lib/metrics.js.map +1 -1
- package/lib/rewards/attestationsRewards.d.ts +1 -1
- package/lib/rewards/attestationsRewards.d.ts.map +1 -1
- package/lib/rewards/attestationsRewards.js +10 -3
- package/lib/rewards/attestationsRewards.js.map +1 -1
- package/lib/rewards/syncCommitteeRewards.d.ts +1 -1
- package/lib/rewards/syncCommitteeRewards.d.ts.map +1 -1
- package/lib/signatureSets/inclusionList.d.ts +5 -0
- package/lib/signatureSets/inclusionList.d.ts.map +1 -0
- package/lib/signatureSets/inclusionList.js +14 -0
- package/lib/signatureSets/inclusionList.js.map +1 -0
- package/lib/signatureSets/index.d.ts +1 -0
- package/lib/signatureSets/index.d.ts.map +1 -1
- package/lib/signatureSets/index.js +1 -0
- package/lib/signatureSets/index.js.map +1 -1
- package/lib/stateTransition.js +2 -2
- package/lib/stateTransition.js.map +1 -1
- package/lib/stateView/beaconStateView.d.ts +1 -0
- package/lib/stateView/beaconStateView.d.ts.map +1 -1
- package/lib/stateView/beaconStateView.js +5 -1
- package/lib/stateView/beaconStateView.js.map +1 -1
- package/lib/stateView/interface.d.ts +2 -4
- package/lib/stateView/interface.d.ts.map +1 -1
- package/lib/stateView/interface.js.map +1 -1
- package/lib/stateView/nativeBeaconStateView.d.ts +14 -6
- package/lib/stateView/nativeBeaconStateView.d.ts.map +1 -1
- package/lib/stateView/nativeBeaconStateView.js +85 -25
- package/lib/stateView/nativeBeaconStateView.js.map +1 -1
- package/lib/stateView/stateViewFactory.d.ts.map +1 -1
- package/lib/stateView/stateViewFactory.js +5 -4
- package/lib/stateView/stateViewFactory.js.map +1 -1
- package/lib/testUtils/interopPubkeyCache.js +1 -1
- package/lib/testUtils/interopPubkeyCache.js.map +1 -1
- package/lib/testUtils/state.d.ts.map +1 -1
- package/lib/testUtils/state.js +1 -1
- package/lib/testUtils/state.js.map +1 -1
- package/lib/testUtils/util.d.ts +1 -1
- package/lib/testUtils/util.d.ts.map +1 -1
- package/lib/testUtils/util.js +2 -2
- package/lib/testUtils/util.js.map +1 -1
- package/lib/util/altair.d.ts +3 -1
- package/lib/util/altair.d.ts.map +1 -1
- package/lib/util/altair.js +7 -4
- package/lib/util/altair.js.map +1 -1
- package/lib/util/blindedBlock.d.ts.map +1 -1
- package/lib/util/blindedBlock.js +4 -12
- package/lib/util/blindedBlock.js.map +1 -1
- package/lib/util/clock.js +1 -1
- package/lib/util/clock.js.map +1 -1
- 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/inclusionListCommittee.d.ts +9 -0
- package/lib/util/inclusionListCommittee.d.ts.map +1 -0
- package/lib/util/inclusionListCommittee.js +18 -0
- package/lib/util/inclusionListCommittee.js.map +1 -0
- package/lib/util/index.d.ts +1 -0
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +1 -0
- package/lib/util/index.js.map +1 -1
- package/lib/util/interop.d.ts +1 -1
- package/lib/util/interop.d.ts.map +1 -1
- package/lib/util/interop.js +1 -1
- package/lib/util/interop.js.map +1 -1
- package/lib/util/seed.js +1 -1
- package/lib/util/seed.js.map +1 -1
- package/lib/util/shuffling.d.ts +3 -0
- package/lib/util/shuffling.d.ts.map +1 -1
- package/lib/util/shuffling.js +41 -1
- package/lib/util/shuffling.js.map +1 -1
- package/lib/util/signatureSets.d.ts +1 -1
- package/lib/util/signatureSets.d.ts.map +1 -1
- package/lib/util/signatureSets.js +1 -1
- package/lib/util/signatureSets.js.map +1 -1
- package/lib/util/slot.d.ts +15 -1
- package/lib/util/slot.d.ts.map +1 -1
- package/lib/util/slot.js +66 -6
- package/lib/util/slot.js.map +1 -1
- package/lib/util/syncCommittee.d.ts +4 -3
- package/lib/util/syncCommittee.d.ts.map +1 -1
- package/lib/util/syncCommittee.js +10 -8
- package/lib/util/syncCommittee.js.map +1 -1
- package/lib/util/validator.d.ts +1 -1
- package/lib/util/validator.d.ts.map +1 -1
- package/lib/util/validator.js +32 -11
- package/lib/util/validator.js.map +1 -1
- package/lib/util/weakSubjectivity.d.ts.map +1 -1
- package/lib/util/weakSubjectivity.js +4 -3
- package/lib/util/weakSubjectivity.js.map +1 -1
- package/package.json +9 -9
- package/src/block/index.ts +11 -12
- package/src/block/processAttestationsAltair.ts +4 -1
- package/src/block/processDeposit.ts +2 -2
- package/src/block/processOperations.ts +5 -5
- package/src/cache/epochCache.ts +30 -6
- package/src/cache/epochTransitionCache.ts +2 -1
- package/src/cache/syncCommitteeCache.ts +1 -1
- package/src/epoch/getRewardsAndPenalties.ts +11 -1
- package/src/epoch/index.ts +14 -15
- package/src/epoch/processSyncCommitteeUpdates.ts +1 -1
- package/src/lightClient/spec/store.ts +1 -1
- package/src/lightClient/spec/utils.ts +1 -1
- package/src/lightClient/spec/validateLightClientUpdate.ts +1 -1
- package/src/metrics.ts +5 -4
- package/src/rewards/attestationsRewards.ts +13 -2
- package/src/rewards/syncCommitteeRewards.ts +1 -1
- package/src/signatureSets/inclusionList.ts +20 -0
- package/src/signatureSets/index.ts +1 -0
- package/src/stateTransition.ts +2 -2
- package/src/stateView/beaconStateView.ts +5 -1
- package/src/stateView/interface.ts +1 -10
- package/src/stateView/nativeBeaconStateView.ts +86 -29
- package/src/stateView/stateViewFactory.ts +5 -4
- package/src/testUtils/interopPubkeyCache.ts +1 -1
- package/src/testUtils/state.ts +1 -1
- package/src/testUtils/util.ts +2 -2
- package/src/util/altair.ts +15 -4
- package/src/util/blindedBlock.ts +4 -12
- package/src/util/clock.ts +1 -1
- package/src/util/epochShuffling.ts +1 -1
- package/src/util/inclusionListCommittee.ts +17 -0
- package/src/util/index.ts +1 -0
- package/src/util/interop.ts +1 -1
- package/src/util/seed.ts +1 -1
- package/src/util/shuffling.ts +46 -1
- package/src/util/signatureSets.ts +1 -1
- package/src/util/slot.ts +72 -7
- package/src/util/syncCommittee.ts +22 -10
- package/src/util/validator.ts +47 -20
- package/src/util/weakSubjectivity.ts +3 -3
package/lib/util/interop.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { toBufferBE } from "@vekexasia/bigint-buffer2";
|
|
2
2
|
import { digest } from "@chainsafe/as-sha256";
|
|
3
|
-
import { SecretKey } from "@
|
|
3
|
+
import { SecretKey } from "@lodestar/native/blst";
|
|
4
4
|
import { bytesToBigInt, intToBytes } from "@lodestar/utils";
|
|
5
5
|
let curveOrder;
|
|
6
6
|
function getCurveOrder() {
|
package/lib/util/interop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interop.js","sourceRoot":"","sources":["../../src/util/interop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"interop.js","sourceRoot":"","sources":["../../src/util/interop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE1D,IAAI,UAAkB,CAAC;AACvB,SAAS,aAAa;IACpB,IAAI,CAAC,UAAU;QAAE,UAAU,GAAG,MAAM,CAAC,+EAA+E,CAAC,CAAC;IACtH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,cAAsB;IACtD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,cAAc,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnD,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;IACpC,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,CAAC;IAClG,OAAO,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AAC7C,CAAC"}
|
package/lib/util/seed.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { digest } from "@chainsafe/as-sha256";
|
|
2
|
-
import { computePtcIndicesForEpoch, computeProposerIndex as nativeComputeProposerIndex, computeSyncCommitteeIndices as nativeComputeSyncCommitteeIndices, } from "@
|
|
2
|
+
import { computePtcIndicesForEpoch, computeProposerIndex as nativeComputeProposerIndex, computeSyncCommitteeIndices as nativeComputeSyncCommitteeIndices, } from "@lodestar/native/shuffle";
|
|
3
3
|
import { DOMAIN_BEACON_PROPOSER, DOMAIN_PTC_ATTESTER, DOMAIN_SYNC_COMMITTEE, EFFECTIVE_BALANCE_INCREMENT, EPOCHS_PER_HISTORICAL_VECTOR, ForkSeq, MAX_EFFECTIVE_BALANCE, MAX_EFFECTIVE_BALANCE_ELECTRA, MIN_SEED_LOOKAHEAD, PTC_SIZE, SHUFFLE_ROUND_COUNT, SLOTS_PER_EPOCH, SYNC_COMMITTEE_SIZE, } from "@lodestar/params";
|
|
4
4
|
import { assert, bytesToBigInt, bytesToInt, intToBytes } from "@lodestar/utils";
|
|
5
5
|
import { computeEpochAtSlot, computeStartSlotAtEpoch } from "./epoch.js";
|
package/lib/util/seed.js.map
CHANGED
|
@@ -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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"}
|
package/lib/util/shuffling.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { LodestarError } from "@lodestar/utils";
|
|
|
4
4
|
import { CachedBeaconStateAllForks } from "../cache/stateCache.js";
|
|
5
5
|
import { IBeaconStateView } from "../stateView/interface.js";
|
|
6
6
|
import { EpochShuffling } from "./epochShuffling.js";
|
|
7
|
+
import { InclusionListCommittee } from "./inclusionListCommittee.js";
|
|
7
8
|
/**
|
|
8
9
|
* Block root that decided the proposer shuffling for `proposalEpoch` (keys that shuffling).
|
|
9
10
|
* Computed for the requested epoch, not `state.epoch`, so it is correct when `state` is one
|
|
@@ -42,6 +43,8 @@ export declare function getAttestingIndices(epochShuffling: EpochShuffling, fork
|
|
|
42
43
|
* Return the beacon committee at slot for index.
|
|
43
44
|
*/
|
|
44
45
|
export declare function getBeaconCommittee(epochShuffling: EpochShuffling, slot: Slot, index: CommitteeIndex): Uint32Array;
|
|
46
|
+
/** Spec get_inclusion_list_committee: cycle over the slot's concatenated beacon committees */
|
|
47
|
+
export declare function getInclusionListCommittee(epochShuffling: EpochShuffling, slot: Slot): InclusionListCommittee;
|
|
45
48
|
/**
|
|
46
49
|
* Return a Uint32Array[] representing committees validator indices
|
|
47
50
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shuffling.d.ts","sourceRoot":"","sources":["../../src/util/shuffling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"shuffling.d.ts","sourceRoot":"","sources":["../../src/util/shuffling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAiE,MAAM,kBAAkB,CAAC;AACnH,OAAO,EACL,WAAW,EACX,cAAc,EACd,KAAK,EACL,kBAAkB,EAClB,IAAI,EACJ,IAAI,EACJ,cAAc,EAEf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,yBAAyB,EAAC,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAG3D,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AAEnE;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,KAAK,GACnB,IAAI,GAAG,IAAI,CAOb;AAUD;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAMlH;AAsCD,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,wBAAgB,6BAA6B,CAC3C,cAAc,EAAE,cAAc,EAC9B,yBAAyB,EAAE,cAAc,EAAE,GAC1C,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAyBnC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,WAAW,GACvB,kBAAkB,CAWpB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CA6BrH;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,GAAG,WAAW,CAEjH;AAMD,8FAA8F;AAC9F,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,GAAG,sBAAsB,CAa5G;AA0BD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,cAAc,EAAE,GACxB,WAAW,EAAE,CAoBf;AAED,oBAAY,kBAAkB;IAC5B,4BAA4B,iDAAiD;CAC9E;AAED,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,kBAAkB,CAAC,4BAA4B,CAAC;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,cAAe,SAAQ,aAAa,CAAC,kBAAkB,CAAC;CAAG"}
|
package/lib/util/shuffling.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { ForkSeq, SLOTS_PER_EPOCH, isForkPostFulu } from "@lodestar/params";
|
|
1
|
+
import { ForkSeq, INCLUSION_LIST_COMMITTEE_SIZE, SLOTS_PER_EPOCH, isForkPostFulu } from "@lodestar/params";
|
|
2
2
|
import { LodestarError } from "@lodestar/utils";
|
|
3
3
|
import { getBlockRootAtSlot } from "./blockRoot.js";
|
|
4
4
|
import { computeStartSlotAtEpoch } from "./epoch.js";
|
|
5
|
+
import { InclusionListCommittee } from "./inclusionListCommittee.js";
|
|
5
6
|
/**
|
|
6
7
|
* Block root that decided the proposer shuffling for `proposalEpoch` (keys that shuffling).
|
|
7
8
|
* Computed for the requested epoch, not `state.epoch`, so it is correct when `state` is one
|
|
@@ -144,6 +145,45 @@ export function getAttestingIndices(epochShuffling, fork, attestation) {
|
|
|
144
145
|
export function getBeaconCommittee(epochShuffling, slot, index) {
|
|
145
146
|
return getBeaconCommittees(epochShuffling, slot, [index])[0];
|
|
146
147
|
}
|
|
148
|
+
/** Inclusion list committees of a shuffling by slot index, computed on first use and freed with the shuffling */
|
|
149
|
+
// TODO HEZE: replace this module-level map with an extended EpochShuffling tracked by the beacon-node ShufflingCache
|
|
150
|
+
const inclusionListCommitteesByShuffling = new WeakMap();
|
|
151
|
+
/** Spec get_inclusion_list_committee: cycle over the slot's concatenated beacon committees */
|
|
152
|
+
export function getInclusionListCommittee(epochShuffling, slot) {
|
|
153
|
+
let committees = inclusionListCommitteesByShuffling.get(epochShuffling);
|
|
154
|
+
if (committees === undefined) {
|
|
155
|
+
committees = [];
|
|
156
|
+
inclusionListCommitteesByShuffling.set(epochShuffling, committees);
|
|
157
|
+
}
|
|
158
|
+
const slotIndex = slot % SLOTS_PER_EPOCH;
|
|
159
|
+
let committee = committees[slotIndex];
|
|
160
|
+
if (committee === undefined) {
|
|
161
|
+
committee = new InclusionListCommittee(computeInclusionListCommittee(epochShuffling.committees[slotIndex]));
|
|
162
|
+
committees[slotIndex] = committee;
|
|
163
|
+
}
|
|
164
|
+
return committee;
|
|
165
|
+
}
|
|
166
|
+
function computeInclusionListCommittee(slotCommittees) {
|
|
167
|
+
let totalLen = 0;
|
|
168
|
+
for (const committee of slotCommittees) {
|
|
169
|
+
totalLen += committee.length;
|
|
170
|
+
}
|
|
171
|
+
const result = new Uint32Array(INCLUSION_LIST_COMMITTEE_SIZE);
|
|
172
|
+
if (totalLen === 0) {
|
|
173
|
+
return result;
|
|
174
|
+
}
|
|
175
|
+
for (let i = 0; i < INCLUSION_LIST_COMMITTEE_SIZE; i++) {
|
|
176
|
+
let offset = i % totalLen;
|
|
177
|
+
for (const committee of slotCommittees) {
|
|
178
|
+
if (offset < committee.length) {
|
|
179
|
+
result[i] = committee[offset];
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
offset -= committee.length;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return result;
|
|
186
|
+
}
|
|
147
187
|
/**
|
|
148
188
|
* Return a Uint32Array[] representing committees validator indices
|
|
149
189
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shuffling.js","sourceRoot":"","sources":["../../src/util/shuffling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,eAAe,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"shuffling.js","sourceRoot":"","sources":["../../src/util/shuffling.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signatureSets.d.ts","sourceRoot":"","sources":["../../src/util/signatureSets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,eAAe,EAAsB,MAAM,
|
|
1
|
+
{"version":3,"file":"signatureSets.d.ts","sourceRoot":"","sources":["../../src/util/signatureSets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,eAAe,EAAsB,MAAM,+BAA+B,CAAC;AAC/G,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,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,UAAU,CAAC;IACnB,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,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,aAAa,GAAG,eAAe,CAsC9E;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,aAAa,GAAG,OAAO,CAEvE;AAED,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,UAAU,EAClB,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,4 +1,4 @@
|
|
|
1
|
-
import { BLS_VERIFIER_SET_TYPE, verifySignatureSets } from "@
|
|
1
|
+
import { BLS_VERIFIER_SET_TYPE, verifySignatureSets } from "@lodestar/native/bls-verifier";
|
|
2
2
|
export var SignatureSetType;
|
|
3
3
|
(function (SignatureSetType) {
|
|
4
4
|
SignatureSetType["single"] = "single";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signatureSets.js","sourceRoot":"","sources":["../../src/util/signatureSets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAwB,mBAAmB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"signatureSets.js","sourceRoot":"","sources":["../../src/util/signatureSets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAwB,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AAG/G,MAAM,CAAN,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,2CAAuB,CAAA;IACvB;;;OAGG;IACH,uCAAmB,CAAA;AACrB,CAAC,EARW,gBAAgB,KAAhB,gBAAgB,QAQ3B;AAqCD,MAAM,UAAU,iBAAiB,CAAC,YAA2B;IAC3D,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;QAC1B,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO;gBACL,IAAI,EAAE,qBAAqB,CAAC,MAAM;gBAClC,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,YAAY,CAAC,WAAW;gBACjC,SAAS,EAAE,YAAY,CAAC,SAAS;aAClC,CAAC;QAEJ,KAAK,gBAAgB,CAAC,OAAO;YAC3B,OAAO;gBACL,IAAI,EAAE,qBAAqB,CAAC,OAAO;gBACnC,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,OAAO,EAAE,YAAY,CAAC,WAAW;gBACjC,SAAS,EAAE,YAAY,CAAC,SAAS;aAClC,CAAC;QAEJ,KAAK,gBAAgB,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7D,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,UAAU,EAAE,CAAC;oBAChE,MAAM,IAAI,UAAU,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACrB,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,qBAAqB,CAAC,SAAS;gBACrC,OAAO;gBACP,OAAO,EAAE,YAAY,CAAC,WAAW;gBACjC,SAAS,EAAE,YAAY,CAAC,SAAS;aAClC,CAAC;QACJ,CAAC;QAED;YACE,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAA2B;IAC5D,OAAO,mBAAmB,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,MAAkB,EAClB,WAAiB,EACjB,SAAqB;IAErB,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;QAC7B,MAAM;QACN,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,KAAa,EACb,WAAiB,EACjB,SAAqB;IAErB,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,OAAO;QAC9B,KAAK;QACL,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,OAAiB,EACjB,WAAiB,EACjB,SAAqB;IAErB,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,SAAS;QAChC,OAAO;QACP,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC"}
|
package/lib/util/slot.d.ts
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
import { ChainConfig, ChainForkConfig } from "@lodestar/config";
|
|
2
2
|
import { Epoch, Slot, TimeSeconds } from "@lodestar/types";
|
|
3
|
+
/**
|
|
4
|
+
* Slot durations with their activation epochs, derived from the configuration.
|
|
5
|
+
* A fork that changes the slot duration must add an entry here and in `ForkConfig.getSlotDurationMs`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getSlotDurations(config: ChainConfig): [Epoch, number][];
|
|
8
|
+
/** Slot duration in ms in effect at a given epoch */
|
|
9
|
+
export declare function getSlotDurationMsAtEpoch(config: ChainConfig, epoch: Epoch): number;
|
|
3
10
|
/** Slot duration in ms for a given slot */
|
|
4
11
|
export declare function getSlotDurationMs(config: ChainForkConfig, slot: Slot): number;
|
|
12
|
+
export declare function computeTimeAtSlotMs(config: ChainConfig, slot: Slot, genesisTimeMs: number): number;
|
|
13
|
+
export declare function computeTimeAtSlot(config: ChainConfig, slot: Slot, genesisTime: TimeSeconds): TimeSeconds;
|
|
14
|
+
export declare function computeSlotAtTimeMs(config: ChainConfig, timeMs: number, genesisTimeMs: number): Slot;
|
|
5
15
|
export declare function getSlotsSinceGenesis(config: ChainConfig, genesisTime: TimeSeconds): Slot;
|
|
6
16
|
export declare function getCurrentSlot(config: ChainConfig, genesisTime: TimeSeconds): Slot;
|
|
17
|
+
/**
|
|
18
|
+
* Start epoch of the blob data retention window, preserving its wall-clock length
|
|
19
|
+
* across slot duration changes
|
|
20
|
+
*/
|
|
21
|
+
export declare function getBlobDataRetentionStartEpoch(config: ChainConfig, epoch: Epoch): Epoch;
|
|
7
22
|
export declare function computeSlotsSinceEpochStart(slot: Slot, epoch?: Epoch): Slot;
|
|
8
|
-
export declare function computeTimeAtSlot(config: ChainConfig, slot: Slot, genesisTime: TimeSeconds): TimeSeconds;
|
|
9
23
|
//# sourceMappingURL=slot.d.ts.map
|
package/lib/util/slot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slot.d.ts","sourceRoot":"","sources":["../../src/util/slot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAGzD,2CAA2C;AAC3C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7E;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"slot.d.ts","sourceRoot":"","sources":["../../src/util/slot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAGzD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAMvE;AAED,qDAAqD;AACrD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAQlF;AAED,2CAA2C;AAC3C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAYlG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW,CAExG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAcpG;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAExF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAElF;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAOvF;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAG3E"}
|
package/lib/util/slot.js
CHANGED
|
@@ -1,21 +1,81 @@
|
|
|
1
|
-
import { GENESIS_SLOT } from "@lodestar/params";
|
|
1
|
+
import { GENESIS_EPOCH, GENESIS_SLOT } from "@lodestar/params";
|
|
2
2
|
import { computeEpochAtSlot, computeStartSlotAtEpoch } from "./epoch.js";
|
|
3
|
+
/**
|
|
4
|
+
* Slot durations with their activation epochs, derived from the configuration.
|
|
5
|
+
* A fork that changes the slot duration must add an entry here and in `ForkConfig.getSlotDurationMs`.
|
|
6
|
+
*/
|
|
7
|
+
export function getSlotDurations(config) {
|
|
8
|
+
const durations = [[GENESIS_EPOCH, config.SLOT_DURATION_MS]];
|
|
9
|
+
if (config.HEZE_FORK_EPOCH !== Infinity) {
|
|
10
|
+
durations.push([config.HEZE_FORK_EPOCH, config.SLOT_DURATION_MS_HEZE]);
|
|
11
|
+
}
|
|
12
|
+
return durations;
|
|
13
|
+
}
|
|
14
|
+
/** Slot duration in ms in effect at a given epoch */
|
|
15
|
+
export function getSlotDurationMsAtEpoch(config, epoch) {
|
|
16
|
+
let slotDurationMs = config.SLOT_DURATION_MS;
|
|
17
|
+
for (const [forkEpoch, forkSlotDurationMs] of getSlotDurations(config)) {
|
|
18
|
+
if (epoch >= forkEpoch) {
|
|
19
|
+
slotDurationMs = forkSlotDurationMs;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return slotDurationMs;
|
|
23
|
+
}
|
|
3
24
|
/** Slot duration in ms for a given slot */
|
|
4
25
|
export function getSlotDurationMs(config, slot) {
|
|
5
26
|
return config.getSlotDurationMs(config.getForkName(slot));
|
|
6
27
|
}
|
|
28
|
+
export function computeTimeAtSlotMs(config, slot, genesisTimeMs) {
|
|
29
|
+
let endSlot = slot;
|
|
30
|
+
let timeMs = genesisTimeMs;
|
|
31
|
+
for (const [forkEpoch, slotDurationMs] of getSlotDurations(config).reverse()) {
|
|
32
|
+
const forkSlot = computeStartSlotAtEpoch(forkEpoch);
|
|
33
|
+
if (forkSlot < endSlot) {
|
|
34
|
+
timeMs += (endSlot - forkSlot) * slotDurationMs;
|
|
35
|
+
endSlot = forkSlot;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Pre-genesis slots extrapolate linearly so the clock keeps ticking before genesis
|
|
39
|
+
return timeMs + (endSlot - GENESIS_SLOT) * getSlotDurationMsAtEpoch(config, GENESIS_EPOCH);
|
|
40
|
+
}
|
|
41
|
+
export function computeTimeAtSlot(config, slot, genesisTime) {
|
|
42
|
+
return computeTimeAtSlotMs(config, slot, genesisTime * 1000) / 1000;
|
|
43
|
+
}
|
|
44
|
+
export function computeSlotAtTimeMs(config, timeMs, genesisTimeMs) {
|
|
45
|
+
let startSlot = GENESIS_SLOT;
|
|
46
|
+
let startTimeMs = genesisTimeMs;
|
|
47
|
+
let slotDurationMs = getSlotDurationMsAtEpoch(config, GENESIS_EPOCH);
|
|
48
|
+
for (const [forkEpoch, forkSlotDurationMs] of getSlotDurations(config)) {
|
|
49
|
+
const forkSlot = computeStartSlotAtEpoch(forkEpoch);
|
|
50
|
+
const forkTimeMs = computeTimeAtSlotMs(config, forkSlot, genesisTimeMs);
|
|
51
|
+
if (timeMs >= forkTimeMs) {
|
|
52
|
+
startSlot = forkSlot;
|
|
53
|
+
startTimeMs = forkTimeMs;
|
|
54
|
+
slotDurationMs = forkSlotDurationMs;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return startSlot + Math.floor((timeMs - startTimeMs) / slotDurationMs);
|
|
58
|
+
}
|
|
7
59
|
export function getSlotsSinceGenesis(config, genesisTime) {
|
|
8
|
-
|
|
9
|
-
return Math.floor(diffInSeconds / (config.SLOT_DURATION_MS / 1000));
|
|
60
|
+
return computeSlotAtTimeMs(config, Date.now(), genesisTime * 1000) - GENESIS_SLOT;
|
|
10
61
|
}
|
|
11
62
|
export function getCurrentSlot(config, genesisTime) {
|
|
12
63
|
return GENESIS_SLOT + getSlotsSinceGenesis(config, genesisTime);
|
|
13
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Start epoch of the blob data retention window, preserving its wall-clock length
|
|
67
|
+
* across slot duration changes
|
|
68
|
+
*/
|
|
69
|
+
export function getBlobDataRetentionStartEpoch(config, epoch) {
|
|
70
|
+
const windowMs = config.MIN_BLOB_DATA_RETENTION_MS;
|
|
71
|
+
const currentStartMs = computeTimeAtSlotMs(config, computeStartSlotAtEpoch(epoch), 0);
|
|
72
|
+
if (currentStartMs < windowMs) {
|
|
73
|
+
return GENESIS_EPOCH;
|
|
74
|
+
}
|
|
75
|
+
return computeEpochAtSlot(computeSlotAtTimeMs(config, currentStartMs - windowMs, 0));
|
|
76
|
+
}
|
|
14
77
|
export function computeSlotsSinceEpochStart(slot, epoch) {
|
|
15
78
|
const computeEpoch = epoch ?? computeEpochAtSlot(slot);
|
|
16
79
|
return slot - computeStartSlotAtEpoch(computeEpoch);
|
|
17
80
|
}
|
|
18
|
-
export function computeTimeAtSlot(config, slot, genesisTime) {
|
|
19
|
-
return genesisTime + slot * (config.SLOT_DURATION_MS / 1000);
|
|
20
|
-
}
|
|
21
81
|
//# sourceMappingURL=slot.js.map
|
package/lib/util/slot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slot.js","sourceRoot":"","sources":["../../src/util/slot.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"slot.js","sourceRoot":"","sources":["../../src/util/slot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { ChainConfig } from "@lodestar/config";
|
|
1
2
|
import { ForkSeq } from "@lodestar/params";
|
|
2
|
-
import { altair } from "@lodestar/types";
|
|
3
|
+
import { Epoch, altair } from "@lodestar/types";
|
|
3
4
|
import { EffectiveBalanceIncrements } from "../cache/effectiveBalanceIncrements.js";
|
|
4
5
|
import { BeaconStateAllForks } from "../types.js";
|
|
5
6
|
/**
|
|
@@ -14,10 +15,10 @@ export declare function getNextSyncCommittee(fork: ForkSeq, state: BeaconStateAl
|
|
|
14
15
|
/**
|
|
15
16
|
* Same logic in https://github.com/ethereum/eth2.0-specs/blob/v1.1.0-alpha.5/specs/altair/beacon-chain.md#sync-committee-processing
|
|
16
17
|
*/
|
|
17
|
-
export declare function computeSyncParticipantReward(totalActiveBalanceIncrements: number): number;
|
|
18
|
+
export declare function computeSyncParticipantReward(config: ChainConfig, epoch: Epoch, totalActiveBalanceIncrements: number): number;
|
|
18
19
|
/**
|
|
19
20
|
* Before we manage bigIntSqrt(totalActiveStake) as BigInt and return BigInt.
|
|
20
21
|
* bigIntSqrt(totalActiveStake) should fit a number (2 ** 53 -1 max)
|
|
21
22
|
**/
|
|
22
|
-
export declare function computeBaseRewardPerIncrement(totalActiveStakeByIncrement: number): number;
|
|
23
|
+
export declare function computeBaseRewardPerIncrement(config: ChainConfig, epoch: Epoch, totalActiveStakeByIncrement: number): number;
|
|
23
24
|
//# sourceMappingURL=syncCommittee.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncCommittee.d.ts","sourceRoot":"","sources":["../../src/util/syncCommittee.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"syncCommittee.d.ts","sourceRoot":"","sources":["../../src/util/syncCommittee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAGL,OAAO,EAMR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,0BAA0B,EAAC,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAIhD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,mBAAmB,EAC1B,sBAAsB,EAAE,WAAW,EACnC,0BAA0B,EAAE,0BAA0B,GACrD;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAA;CAAC,CAgB7D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,KAAK,EACZ,4BAA4B,EAAE,MAAM,GACnC,MAAM,CAOR;AAED;;;IAGI;AACJ,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,KAAK,EACZ,2BAA2B,EAAE,MAAM,GAClC,MAAM,CASR"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { aggregateSerializedPublicKeys } from "@
|
|
2
|
-
import { BASE_REWARD_FACTOR, EFFECTIVE_BALANCE_INCREMENT, SLOTS_PER_EPOCH, SYNC_COMMITTEE_SIZE, SYNC_REWARD_WEIGHT, WEIGHT_DENOMINATOR, } from "@lodestar/params";
|
|
1
|
+
import { aggregateSerializedPublicKeys } from "@lodestar/native/blst";
|
|
2
|
+
import { BASE_REWARD_FACTOR, EFFECTIVE_BALANCE_INCREMENT, GENESIS_EPOCH, SLOTS_PER_EPOCH, SYNC_COMMITTEE_SIZE, SYNC_REWARD_WEIGHT, WEIGHT_DENOMINATOR, } from "@lodestar/params";
|
|
3
3
|
import { bigIntSqrt } from "@lodestar/utils";
|
|
4
4
|
import { getNextSyncCommitteeIndices } from "./seed.js";
|
|
5
|
+
import { getSlotDurationMsAtEpoch } from "./slot.js";
|
|
5
6
|
/**
|
|
6
7
|
* Return the sync committee for a given state and epoch.
|
|
7
8
|
*
|
|
@@ -25,9 +26,8 @@ export function getNextSyncCommittee(fork, state, activeValidatorIndices, effect
|
|
|
25
26
|
/**
|
|
26
27
|
* Same logic in https://github.com/ethereum/eth2.0-specs/blob/v1.1.0-alpha.5/specs/altair/beacon-chain.md#sync-committee-processing
|
|
27
28
|
*/
|
|
28
|
-
export function computeSyncParticipantReward(totalActiveBalanceIncrements) {
|
|
29
|
-
const
|
|
30
|
-
const baseRewardPerIncrement = Math.floor((EFFECTIVE_BALANCE_INCREMENT * BASE_REWARD_FACTOR) / Number(bigIntSqrt(totalActiveBalance)));
|
|
29
|
+
export function computeSyncParticipantReward(config, epoch, totalActiveBalanceIncrements) {
|
|
30
|
+
const baseRewardPerIncrement = computeBaseRewardPerIncrement(config, epoch, totalActiveBalanceIncrements);
|
|
31
31
|
const totalBaseRewards = baseRewardPerIncrement * totalActiveBalanceIncrements;
|
|
32
32
|
const maxParticipantRewards = Math.floor(Math.floor((totalBaseRewards * SYNC_REWARD_WEIGHT) / WEIGHT_DENOMINATOR) / SLOTS_PER_EPOCH);
|
|
33
33
|
return Math.floor(maxParticipantRewards / SYNC_COMMITTEE_SIZE);
|
|
@@ -36,8 +36,10 @@ export function computeSyncParticipantReward(totalActiveBalanceIncrements) {
|
|
|
36
36
|
* Before we manage bigIntSqrt(totalActiveStake) as BigInt and return BigInt.
|
|
37
37
|
* bigIntSqrt(totalActiveStake) should fit a number (2 ** 53 -1 max)
|
|
38
38
|
**/
|
|
39
|
-
export function computeBaseRewardPerIncrement(totalActiveStakeByIncrement) {
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
export function computeBaseRewardPerIncrement(config, epoch, totalActiveStakeByIncrement) {
|
|
40
|
+
// Divide last so the exact slot duration ratio applies
|
|
41
|
+
const numerator = Math.floor((EFFECTIVE_BALANCE_INCREMENT * BASE_REWARD_FACTOR * getSlotDurationMsAtEpoch(config, epoch)) /
|
|
42
|
+
getSlotDurationMsAtEpoch(config, GENESIS_EPOCH));
|
|
43
|
+
return Math.floor(numerator / Number(bigIntSqrt(BigInt(totalActiveStakeByIncrement) * BigInt(EFFECTIVE_BALANCE_INCREMENT))));
|
|
42
44
|
}
|
|
43
45
|
//# sourceMappingURL=syncCommittee.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncCommittee.js","sourceRoot":"","sources":["../../src/util/syncCommittee.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"syncCommittee.js","sourceRoot":"","sources":["../../src/util/syncCommittee.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,6BAA6B,EAAC,MAAM,uBAAuB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAE3B,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAC,2BAA2B,EAAC,MAAM,WAAW,CAAC;AACtD,OAAO,EAAC,wBAAwB,EAAC,MAAM,WAAW,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAa,EACb,KAA0B,EAC1B,sBAAmC,EACnC,0BAAsD;IAEtD,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;IAE7G,iFAAiF;IACjF,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO;QACL,OAAO;QACP,aAAa,EAAE;YACb,OAAO;YACP,eAAe,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;SAClE;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAAmB,EACnB,KAAY,EACZ,4BAAoC;IAEpC,MAAM,sBAAsB,GAAG,6BAA6B,CAAC,MAAM,EAAE,KAAK,EAAE,4BAA4B,CAAC,CAAC;IAC1G,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,4BAA4B,CAAC;IAC/E,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CACtC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,kBAAkB,CAAC,GAAG,eAAe,CAC3F,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,CAAC;AACjE,CAAC;AAED;;;IAGI;AACJ,MAAM,UAAU,6BAA6B,CAC3C,MAAmB,EACnB,KAAY,EACZ,2BAAmC;IAEnC,uDAAuD;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,CAAC,2BAA2B,GAAG,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1F,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAClD,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CACf,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAC1G,CAAC;AACJ,CAAC"}
|
package/lib/util/validator.d.ts
CHANGED
|
@@ -37,7 +37,7 @@ export declare function getExitChurnLimit(epochCtx: EpochCache): number;
|
|
|
37
37
|
* Spec (gloas): get_consolidation_churn_limit (independent quotient, no MIN floor)
|
|
38
38
|
*/
|
|
39
39
|
export declare function getConsolidationChurnLimit(fork: ForkSeq, epochCtx: EpochCache): number;
|
|
40
|
-
export declare function getGloasChurnLimits(config: ChainForkConfig, totalActiveBalanceIncrements: number): {
|
|
40
|
+
export declare function getGloasChurnLimits(config: ChainForkConfig, epoch: Epoch, totalActiveBalanceIncrements: number): {
|
|
41
41
|
exit: number;
|
|
42
42
|
activation: number;
|
|
43
43
|
consolidation: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/util/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAEL,OAAO,
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/util/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAEL,OAAO,EAKR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAC,mBAAmB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,UAAU,EAAC,MAAM,aAAa,CAAC;AAK9G;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAEpF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAEvF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,GAAG,WAAW,CAW/F;AAGD,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,OAAO,EACb,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAKR;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAE3F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,4BAA4B,EAAE,MAAM,EACpC,kBAAkB,EAAE,MAAM,EAC1B,qBAAqB,EAAE,MAAM,GAC5B,MAAM,CAQR;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAM1E;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAExE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAcpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAW9D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,CActF;AAGD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,KAAK,EACZ,4BAA4B,EAAE,MAAM,GACnC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAC,CAmB3D;AAED,wBAAgB,sBAAsB,CAAC,qBAAqB,EAAE,UAAU,GAAG,MAAM,CAMhF;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAsBrH;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,wBAAwB,GAAG,sBAAsB,EACxD,cAAc,EAAE,cAAc,GAC7B,MAAM,CASR"}
|
package/lib/util/validator.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { EFFECTIVE_BALANCE_INCREMENT, ForkSeq, MAX_EFFECTIVE_BALANCE, MAX_EFFECTIVE_BALANCE_ELECTRA, MIN_ACTIVATION_BALANCE, } from "@lodestar/params";
|
|
1
|
+
import { EFFECTIVE_BALANCE_INCREMENT, ForkSeq, GENESIS_EPOCH, MAX_EFFECTIVE_BALANCE, MAX_EFFECTIVE_BALANCE_ELECTRA, MIN_ACTIVATION_BALANCE, } from "@lodestar/params";
|
|
2
2
|
import { intDiv } from "@lodestar/utils";
|
|
3
3
|
import { hasEth1WithdrawalCredential } from "./capella.js";
|
|
4
4
|
import { hasCompoundingWithdrawalCredential, hasExecutionWithdrawalCredential } from "./electra.js";
|
|
5
|
+
import { getSlotDurationMsAtEpoch } from "./slot.js";
|
|
5
6
|
/**
|
|
6
7
|
* Check if [[validator]] is active
|
|
7
8
|
*/
|
|
@@ -57,14 +58,23 @@ export function getActivationExitChurnLimit(epochCtx) {
|
|
|
57
58
|
* https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.6/specs/gloas/beacon-chain.md#new-get_activation_churn_limit
|
|
58
59
|
*/
|
|
59
60
|
export function getActivationChurnLimit(epochCtx) {
|
|
60
|
-
const
|
|
61
|
-
|
|
61
|
+
const { config, epoch, totalActiveBalanceIncrements } = epochCtx;
|
|
62
|
+
const churnByBalance = Math.floor((totalActiveBalanceIncrements / config.CHURN_LIMIT_QUOTIENT_GLOAS) * EFFECTIVE_BALANCE_INCREMENT);
|
|
63
|
+
const churn = Math.min(config.MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT_GLOAS, Math.max(churnByBalance, config.MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA));
|
|
64
|
+
// Scale by the slot duration ratio, rounding to the increment once after scaling
|
|
65
|
+
const scaled = Math.floor((churn * getSlotDurationMsAtEpoch(config, epoch)) / getSlotDurationMsAtEpoch(config, GENESIS_EPOCH));
|
|
66
|
+
return scaled - (scaled % EFFECTIVE_BALANCE_INCREMENT);
|
|
62
67
|
}
|
|
63
68
|
/**
|
|
64
69
|
* https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.6/specs/gloas/beacon-chain.md#new-get_exit_churn_limit
|
|
65
70
|
*/
|
|
66
71
|
export function getExitChurnLimit(epochCtx) {
|
|
67
|
-
|
|
72
|
+
const { config, epoch, totalActiveBalanceIncrements } = epochCtx;
|
|
73
|
+
const churnByBalance = Math.floor((totalActiveBalanceIncrements / config.CHURN_LIMIT_QUOTIENT_GLOAS) * EFFECTIVE_BALANCE_INCREMENT);
|
|
74
|
+
const churn = Math.max(churnByBalance, config.MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA);
|
|
75
|
+
// Scale by the slot duration ratio, rounding to the increment once after scaling
|
|
76
|
+
const scaled = Math.floor((churn * getSlotDurationMsAtEpoch(config, epoch)) / getSlotDurationMsAtEpoch(config, GENESIS_EPOCH));
|
|
77
|
+
return scaled - (scaled % EFFECTIVE_BALANCE_INCREMENT);
|
|
68
78
|
}
|
|
69
79
|
/**
|
|
70
80
|
* Spec (electra): get_consolidation_churn_limit (uses combined balance churn minus activation+exit churn)
|
|
@@ -72,18 +82,29 @@ export function getExitChurnLimit(epochCtx) {
|
|
|
72
82
|
*/
|
|
73
83
|
export function getConsolidationChurnLimit(fork, epochCtx) {
|
|
74
84
|
if (fork >= ForkSeq.gloas) {
|
|
75
|
-
|
|
76
|
-
|
|
85
|
+
const { config, epoch, totalActiveBalanceIncrements } = epochCtx;
|
|
86
|
+
// No MIN floor in gloas
|
|
87
|
+
const churn = Math.floor((totalActiveBalanceIncrements / config.CONSOLIDATION_CHURN_LIMIT_QUOTIENT) * EFFECTIVE_BALANCE_INCREMENT);
|
|
88
|
+
// Scale by the slot duration ratio, rounding to the increment once after scaling
|
|
89
|
+
const scaled = Math.floor((churn * getSlotDurationMsAtEpoch(config, epoch)) / getSlotDurationMsAtEpoch(config, GENESIS_EPOCH));
|
|
90
|
+
return scaled - (scaled % EFFECTIVE_BALANCE_INCREMENT);
|
|
77
91
|
}
|
|
78
92
|
return getBalanceChurnLimitFromCache(epochCtx) - getActivationExitChurnLimit(epochCtx);
|
|
79
93
|
}
|
|
80
94
|
// NOTE: duplicates the quotient/min choices in get{Exit,Activation,Consolidation}ChurnLimit.
|
|
81
|
-
export function getGloasChurnLimits(config, totalActiveBalanceIncrements) {
|
|
82
|
-
const
|
|
95
|
+
export function getGloasChurnLimits(config, epoch, totalActiveBalanceIncrements) {
|
|
96
|
+
const ratioNumerator = getSlotDurationMsAtEpoch(config, epoch);
|
|
97
|
+
const ratioDenominator = getSlotDurationMsAtEpoch(config, GENESIS_EPOCH);
|
|
98
|
+
const exitUnscaled = Math.max(Math.floor((totalActiveBalanceIncrements / config.CHURN_LIMIT_QUOTIENT_GLOAS) * EFFECTIVE_BALANCE_INCREMENT), config.MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA);
|
|
99
|
+
const activationUnscaled = Math.min(config.MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT_GLOAS, exitUnscaled);
|
|
100
|
+
const consolidationUnscaled = Math.floor((totalActiveBalanceIncrements / config.CONSOLIDATION_CHURN_LIMIT_QUOTIENT) * EFFECTIVE_BALANCE_INCREMENT);
|
|
101
|
+
const exit = Math.floor((exitUnscaled * ratioNumerator) / ratioDenominator);
|
|
102
|
+
const activation = Math.floor((activationUnscaled * ratioNumerator) / ratioDenominator);
|
|
103
|
+
const consolidation = Math.floor((consolidationUnscaled * ratioNumerator) / ratioDenominator);
|
|
83
104
|
return {
|
|
84
|
-
exit,
|
|
85
|
-
activation:
|
|
86
|
-
consolidation:
|
|
105
|
+
exit: exit - (exit % EFFECTIVE_BALANCE_INCREMENT),
|
|
106
|
+
activation: activation - (activation % EFFECTIVE_BALANCE_INCREMENT),
|
|
107
|
+
consolidation: consolidation - (consolidation % EFFECTIVE_BALANCE_INCREMENT),
|
|
87
108
|
};
|
|
88
109
|
}
|
|
89
110
|
export function getMaxEffectiveBalance(withdrawalCredentials) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/util/validator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,OAAO,EACP,qBAAqB,EACrB,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,2BAA2B,EAAC,MAAM,cAAc,CAAC;AACzD,OAAO,EAAC,kCAAkC,EAAE,gCAAgC,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/util/validator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,2BAA2B,EAAC,MAAM,cAAc,CAAC;AACzD,OAAO,EAAC,kCAAkC,EAAE,gCAAgC,EAAC,MAAM,cAAc,CAAC;AAClG,OAAO,EAAC,wBAAwB,EAAC,MAAM,WAAW,CAAC;AAEnD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAA2B,EAAE,KAAY;IACzE,OAAO,SAAS,CAAC,eAAe,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAA2B,EAAE,KAAY;IAC5E,OAAO,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,eAAe,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC;AACzG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAA0B,EAAE,KAAY;IAChF,MAAM,OAAO,GAAqB,EAAE,CAAC;IAErC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,gCAAgC,CAC9C,MAAuB,EACvB,IAAa,EACb,oBAA4B;IAE5B,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,oCAAoC,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC5G,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAuB,EAAE,oBAA4B;IACjF,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAC/G,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,4BAAoC,EACpC,kBAA0B,EAC1B,qBAA6B;IAE7B,MAAM,8BAA8B,GAAG,IAAI,CAAC,KAAK,CAC/C,CAAC,4BAA4B,GAAG,kBAAkB,CAAC,GAAG,2BAA2B,CAClF,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,CAAC;IAE9E,OAAO,KAAK,GAAG,CAAC,KAAK,GAAG,2BAA2B,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,QAAoB;IAChE,OAAO,oBAAoB,CACzB,QAAQ,CAAC,4BAA4B,EACrC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EACpC,QAAQ,CAAC,MAAM,CAAC,iCAAiC,CAClD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,QAAoB;IAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,yCAAyC,EAAE,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAoB;IAC1D,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,4BAA4B,EAAC,GAAG,QAAQ,CAAC;IAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAC/B,CAAC,4BAA4B,GAAG,MAAM,CAAC,0BAA0B,CAAC,GAAG,2BAA2B,CACjG,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,MAAM,CAAC,0CAA0C,EACjD,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,iCAAiC,CAAC,CACnE,CAAC;IACF,iFAAiF;IACjF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,CAAC,KAAK,GAAG,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CACpG,CAAC;IACF,OAAO,MAAM,GAAG,CAAC,MAAM,GAAG,2BAA2B,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAoB;IACpD,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,4BAA4B,EAAC,GAAG,QAAQ,CAAC;IAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAC/B,CAAC,4BAA4B,GAAG,MAAM,CAAC,0BAA0B,CAAC,GAAG,2BAA2B,CACjG,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,iCAAiC,CAAC,CAAC;IACjF,iFAAiF;IACjF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,CAAC,KAAK,GAAG,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CACpG,CAAC;IACF,OAAO,MAAM,GAAG,CAAC,MAAM,GAAG,2BAA2B,CAAC,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAa,EAAE,QAAoB;IAC5E,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,4BAA4B,EAAC,GAAG,QAAQ,CAAC;QAC/D,wBAAwB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,CAAC,4BAA4B,GAAG,MAAM,CAAC,kCAAkC,CAAC,GAAG,2BAA2B,CACzG,CAAC;QACF,iFAAiF;QACjF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,CAAC,KAAK,GAAG,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CACpG,CAAC;QACF,OAAO,MAAM,GAAG,CAAC,MAAM,GAAG,2BAA2B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,6BAA6B,CAAC,QAAQ,CAAC,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;AACzF,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,mBAAmB,CACjC,MAAuB,EACvB,KAAY,EACZ,4BAAoC;IAEpC,MAAM,cAAc,GAAG,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/D,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,KAAK,CAAC,CAAC,4BAA4B,GAAG,MAAM,CAAC,0BAA0B,CAAC,GAAG,2BAA2B,CAAC,EAC5G,MAAM,CAAC,iCAAiC,CACzC,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,0CAA0C,EAAE,YAAY,CAAC,CAAC;IACrG,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CACtC,CAAC,4BAA4B,GAAG,MAAM,CAAC,kCAAkC,CAAC,GAAG,2BAA2B,CACzG,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,cAAc,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,GAAG,cAAc,CAAC,GAAG,gBAAgB,CAAC,CAAC;IACxF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,qBAAqB,GAAG,cAAc,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAC9F,OAAO;QACL,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACjD,UAAU,EAAE,UAAU,GAAG,CAAC,UAAU,GAAG,2BAA2B,CAAC;QACnE,aAAa,EAAE,aAAa,GAAG,CAAC,aAAa,GAAG,2BAA2B,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,qBAAiC;IACtE,iEAAiE;IACjE,IAAI,kCAAkC,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC9D,OAAO,6BAA6B,CAAC;IACvC,CAAC;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAAC,IAAa,EAAE,SAA2B,EAAE,OAAe;IAC1G,MAAM,aAAa,GAAG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAE9C,+BAA+B;IAC/B,MAAM,0BAA0B,GAAG,aAAa;QAC9C,CAAC,CAAC,gCAAgC,CAAC,SAAS,CAAC,qBAAqB,CAAC;QACnE,CAAC,CAAC,2BAA2B,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAEjE,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0CAA0C;IAC1C,MAAM,mBAAmB,GAAG,aAAa;QACvC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,qBAAqB,CAAC;QACzD,CAAC,CAAC,qBAAqB,CAAC;IAE1B,2DAA2D;IAC3D,MAAM,sBAAsB,GAAG,SAAS,CAAC,gBAAgB,KAAK,mBAAmB,CAAC;IAClF,MAAM,gBAAgB,GAAG,OAAO,GAAG,mBAAmB,CAAC;IAEvD,OAAO,sBAAsB,IAAI,gBAAgB,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAwD,EACxD,cAA8B;IAE9B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,yBAAyB,CAAC,cAAc,EAAE,EAAE,CAAC;QACpE,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,EAAE,CAAC;YAC3C,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weakSubjectivity.d.ts","sourceRoot":"","sources":["../../src/util/weakSubjectivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"weakSubjectivity.d.ts","sourceRoot":"","sources":["../../src/util/weakSubjectivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAUjD,OAAO,EAAC,KAAK,EAAE,IAAI,EAAQ,WAAW,EAAM,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAC,mBAAmB,EAAE,yBAAyB,EAAC,MAAM,aAAa,CAAC;AAG3E,OAAO,EAAC,kBAAkB,EAA4D,MAAM,eAAe,CAAC;AAY5G,eAAO,MAAM,WAAW,QAAU,CAAC;AAGnC;;;GAGG;AACH,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,yBAAyB,GAC/B,KAAK,CAEP;AAED;;;;;;;GAOG;AACH,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,yBAAyB,GAC/B,MAAM,CAwBR;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAgBzG;AAwCD,wBAAgB,mDAAmD,CACjE,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,EAC/B,UAAU,EAAE,MAAM,EAClB,uBAAuB,EAAE,MAAM,GAC9B,MAAM,CAuBR;AAED,wBAAgB,oDAAoD,CAClE,uBAAuB,EAAE,MAAM,EAE/B,iBAAiB,EAAE,MAAM,EACzB,uBAAuB,EAAE,MAAM,GAC9B,MAAM,CAOR;AAED,wBAAgB,kDAAkD,CAChE,uBAAuB,EAAE,MAAM,EAC/B,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,EAC/B,uBAAuB,EAAE,MAAM,GAC9B,MAAM,CAOR;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAMnE;AAED,MAAM,MAAM,uBAAuB,GAAG;IAAC,eAAe,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC;AAEpG,2DAA2D;AAC3D,wBAAgB,4CAA4C,CAC1D,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,kBAAkB,GAC3B,uBAAuB,GAAG,IAAI,CAOhC;AAED,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,uBAAuB,EAChC,GAAG,GAAE,WAA+B,GACnC,OAAO,CAGT"}
|