@lodestar/state-transition 1.50.0-dev.fd4f342a40 → 1.50.0-dev.fe4e7408b4
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.map +1 -1
- package/lib/block/index.js +1 -1
- package/lib/block/index.js.map +1 -1
- package/lib/block/indexedBuilderState.d.ts +19 -0
- package/lib/block/indexedBuilderState.d.ts.map +1 -0
- package/lib/block/indexedBuilderState.js +60 -0
- package/lib/block/indexedBuilderState.js.map +1 -0
- package/lib/block/processBuilderDepositRequest.d.ts +2 -2
- package/lib/block/processBuilderDepositRequest.d.ts.map +1 -1
- package/lib/block/processBuilderDepositRequest.js +5 -4
- package/lib/block/processBuilderDepositRequest.js.map +1 -1
- package/lib/block/processBuilderExitRequest.d.ts +2 -2
- package/lib/block/processBuilderExitRequest.d.ts.map +1 -1
- package/lib/block/processBuilderExitRequest.js +4 -3
- package/lib/block/processBuilderExitRequest.js.map +1 -1
- package/lib/block/processDeposit.d.ts +2 -2
- package/lib/block/processDeposit.d.ts.map +1 -1
- package/lib/block/processDeposit.js.map +1 -1
- package/lib/block/processEth1Data.d.ts +3 -3
- package/lib/block/processEth1Data.d.ts.map +1 -1
- package/lib/block/processEth1Data.js.map +1 -1
- package/lib/block/processOperations.d.ts.map +1 -1
- package/lib/block/processOperations.js +8 -6
- package/lib/block/processOperations.js.map +1 -1
- package/lib/block/processParentExecutionPayload.d.ts.map +1 -1
- package/lib/block/processParentExecutionPayload.js +23 -18
- package/lib/block/processParentExecutionPayload.js.map +1 -1
- package/lib/block/processProposerSlashing.d.ts.map +1 -1
- package/lib/block/processProposerSlashing.js +0 -23
- package/lib/block/processProposerSlashing.js.map +1 -1
- package/lib/block/slashValidator.d.ts.map +1 -1
- package/lib/block/slashValidator.js +11 -0
- package/lib/block/slashValidator.js.map +1 -1
- package/lib/cache/stateCache.d.ts +2 -1
- package/lib/cache/stateCache.d.ts.map +1 -1
- package/lib/cache/stateCache.js.map +1 -1
- package/lib/cache/types.d.ts +2 -1
- package/lib/cache/types.d.ts.map +1 -1
- package/lib/epoch/index.d.ts.map +1 -1
- package/lib/epoch/index.js +3 -1
- package/lib/epoch/index.js.map +1 -1
- package/lib/epoch/processEth1DataReset.d.ts +2 -2
- package/lib/epoch/processEth1DataReset.d.ts.map +1 -1
- package/lib/epoch/processEth1DataReset.js.map +1 -1
- package/lib/epoch/processPendingDeposits.d.ts.map +1 -1
- package/lib/epoch/processPendingDeposits.js +8 -4
- package/lib/epoch/processPendingDeposits.js.map +1 -1
- package/lib/index.d.ts +4 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/rewards/attestationsRewards.d.ts.map +1 -1
- package/lib/rewards/attestationsRewards.js +8 -1
- package/lib/rewards/attestationsRewards.js.map +1 -1
- package/lib/signatureSets/index.d.ts.map +1 -1
- package/lib/signatureSets/index.js +2 -2
- package/lib/signatureSets/index.js.map +1 -1
- package/lib/signatureSets/voluntaryExits.d.ts +2 -6
- package/lib/signatureSets/voluntaryExits.d.ts.map +1 -1
- package/lib/signatureSets/voluntaryExits.js +2 -32
- package/lib/signatureSets/voluntaryExits.js.map +1 -1
- package/lib/slot/upgradeStateToHeze.d.ts.map +1 -1
- package/lib/slot/upgradeStateToHeze.js +4 -4
- package/lib/slot/upgradeStateToHeze.js.map +1 -1
- package/lib/stateView/beaconStateView.d.ts +22 -21
- package/lib/stateView/beaconStateView.d.ts.map +1 -1
- package/lib/stateView/beaconStateView.js +74 -71
- package/lib/stateView/beaconStateView.js.map +1 -1
- package/lib/stateView/interface.d.ts +34 -21
- package/lib/stateView/interface.d.ts.map +1 -1
- package/lib/stateView/interface.js.map +1 -1
- package/lib/stateView/nativeBeaconStateView.d.ts +92 -100
- package/lib/stateView/nativeBeaconStateView.d.ts.map +1 -1
- package/lib/stateView/nativeBeaconStateView.js +343 -368
- package/lib/stateView/nativeBeaconStateView.js.map +1 -1
- package/lib/stateView/stateViewFactory.d.ts +6 -5
- package/lib/stateView/stateViewFactory.d.ts.map +1 -1
- package/lib/stateView/stateViewFactory.js +12 -8
- package/lib/stateView/stateViewFactory.js.map +1 -1
- package/lib/types.d.ts +2 -2
- package/lib/types.d.ts.map +1 -1
- package/lib/util/blindedBlock.d.ts +1 -1
- package/lib/util/blindedBlock.d.ts.map +1 -1
- package/lib/util/blindedBlock.js +5 -2
- package/lib/util/blindedBlock.js.map +1 -1
- package/lib/util/deposit.d.ts +2 -2
- package/lib/util/deposit.d.ts.map +1 -1
- package/lib/util/deposit.js.map +1 -1
- package/lib/util/genesis.d.ts.map +1 -1
- package/lib/util/genesis.js +46 -23
- package/lib/util/genesis.js.map +1 -1
- package/lib/util/gloas.d.ts +11 -14
- package/lib/util/gloas.d.ts.map +1 -1
- package/lib/util/gloas.js +2 -42
- package/lib/util/gloas.js.map +1 -1
- package/package.json +8 -8
- package/src/block/index.ts +4 -3
- package/src/block/indexedBuilderState.ts +65 -0
- package/src/block/processBuilderDepositRequest.ts +6 -17
- package/src/block/processBuilderExitRequest.ts +5 -9
- package/src/block/processDeposit.ts +7 -2
- package/src/block/processEth1Data.ts +3 -3
- package/src/block/processOperations.ts +14 -11
- package/src/block/processParentExecutionPayload.ts +27 -23
- package/src/block/processProposerSlashing.ts +2 -28
- package/src/block/slashValidator.ts +13 -2
- package/src/cache/stateCache.ts +2 -0
- package/src/cache/types.ts +2 -1
- package/src/epoch/index.ts +4 -1
- package/src/epoch/processEth1DataReset.ts +2 -2
- package/src/epoch/processPendingDeposits.ts +14 -3
- package/src/index.ts +6 -1
- package/src/rewards/attestationsRewards.ts +8 -1
- package/src/signatureSets/index.ts +4 -2
- package/src/signatureSets/voluntaryExits.ts +3 -55
- package/src/slot/upgradeStateToHeze.ts +6 -4
- package/src/stateView/beaconStateView.ts +80 -77
- package/src/stateView/interface.ts +61 -21
- package/src/stateView/nativeBeaconStateView.ts +357 -375
- package/src/stateView/stateViewFactory.ts +21 -12
- package/src/types.ts +2 -0
- package/src/util/blindedBlock.ts +8 -3
- package/src/util/deposit.ts +2 -2
- package/src/util/genesis.ts +56 -30
- package/src/util/gloas.ts +2 -53
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slashValidator.js","sourceRoot":"","sources":["../../src/block/slashValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,OAAO,EACP,6BAA6B,EAC7B,oCAAoC,EACpC,uCAAuC,EACvC,qCAAqC,EACrC,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,6BAA6B,EAC7B,qCAAqC,GACtC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"slashValidator.js","sourceRoot":"","sources":["../../src/block/slashValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BeaconConfig } from "@lodestar/config";
|
|
2
2
|
import { EpochCache, EpochCacheImmutableData, EpochCacheOpts } from "./epochCache.js";
|
|
3
3
|
import { RewardCache } from "./rewardCache.js";
|
|
4
|
-
import { BeaconStateAllForks, BeaconStateAltair, BeaconStateBellatrix, BeaconStateCapella, BeaconStateDeneb, BeaconStateElectra, BeaconStateExecutions, BeaconStateFulu, BeaconStateGloas, BeaconStateHeze, BeaconStatePhase0 } from "./types.js";
|
|
4
|
+
import { BeaconStateAllForks, BeaconStateAltair, BeaconStateBellatrix, BeaconStateCapella, BeaconStateDeneb, BeaconStateElectra, BeaconStateExecutions, BeaconStateFulu, BeaconStateGloas, BeaconStateHeze, BeaconStatePhase0, BeaconStatePreHeze } from "./types.js";
|
|
5
5
|
export type BeaconStateCache = {
|
|
6
6
|
/** @deprecated should not access config outside of state-transition package */
|
|
7
7
|
config: BeaconConfig;
|
|
@@ -118,6 +118,7 @@ export type CachedBeaconStateGloas = CachedBeaconState<BeaconStateGloas>;
|
|
|
118
118
|
export type CachedBeaconStateHeze = CachedBeaconState<BeaconStateHeze>;
|
|
119
119
|
export type CachedBeaconStateAllForks = CachedBeaconState<BeaconStateAllForks>;
|
|
120
120
|
export type CachedBeaconStateExecutions = CachedBeaconState<BeaconStateExecutions>;
|
|
121
|
+
export type CachedBeaconStatePreHeze = CachedBeaconState<BeaconStatePreHeze>;
|
|
121
122
|
/**
|
|
122
123
|
* Create CachedBeaconState computing a new EpochCache instance
|
|
123
124
|
* TODO ELECTRA: rename this to createFinalizedCachedBeaconState() as it's intended for finalized state only
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateCache.d.ts","sourceRoot":"","sources":["../../src/cache/stateCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAC,UAAU,EAAE,uBAAuB,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAC,WAAW,EAAyB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,
|
|
1
|
+
{"version":3,"file":"stateCache.d.ts","sourceRoot":"","sources":["../../src/cache/stateCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAC,UAAU,EAAE,uBAAuB,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAC,WAAW,EAAyB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+EAA+E;IAC/E,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;IACrB,mHAAmH;IACnH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC3C,eAAe,EAAE,WAAW,CAAC;CAC9B,CAAC;AAQF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,mBAAmB,IAAI,CAAC,GAAG,gBAAgB,CAAC;AAEpF,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAC3E,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAC3E,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AACjF,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAC7E,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AACzE,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAC7E,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AACvE,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AACzE,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAEvE,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;AAC/E,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;AACnF,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAC7E;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,mBAAmB,EACnE,KAAK,EAAE,CAAC,EACR,aAAa,EAAE,uBAAuB,EACtC,IAAI,CAAC,EAAE,cAAc,GACpB,CAAC,GAAG,gBAAgB,CAYtB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,yBAAyB,EACvE,eAAe,EAAE,CAAC,EAClB,UAAU,EAAE,UAAU,EACtB,IAAI,CAAC,EAAE,cAAc,EACrB,mBAAmB,CAAC,EAAE,UAAU,GAC/B,CAAC,CAuBH;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,mBAAmB,EAChE,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,gBAAgB,GACtB,CAAC,GAAG,gBAAgB,CAoCtB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,mBAAmB,EAC/D,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAChC,KAAK,IAAI,CAAC,GAAG,gBAAgB,CAE/B;AAKD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAEzF;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAEvF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateCache.js","sourceRoot":"","sources":["../../src/cache/stateCache.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAC,sBAAsB,EAAC,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAC,UAAU,EAA0C,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAc,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"stateCache.js","sourceRoot":"","sources":["../../src/cache/stateCache.ts"],"names":[],"mappings":"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"}
|
package/lib/cache/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CompositeViewDU } from "@chainsafe/ssz";
|
|
2
|
-
import { ForkAll, ForkName, ForkPostBellatrix, ForkPreGloas } from "@lodestar/params";
|
|
2
|
+
import { ForkAll, ForkName, ForkPostBellatrix, ForkPreGloas, ForkPreHeze } from "@lodestar/params";
|
|
3
3
|
import { Epoch, RootHex, SSZTypesFor } from "@lodestar/types";
|
|
4
4
|
import { EpochShuffling } from "../util/epochShuffling.js";
|
|
5
5
|
export type BeaconStatePhase0 = CompositeViewDU<SSZTypesFor<ForkName.phase0, "BeaconState">>;
|
|
@@ -13,5 +13,6 @@ export type BeaconStateGloas = CompositeViewDU<SSZTypesFor<ForkName.gloas, "Beac
|
|
|
13
13
|
export type BeaconStateHeze = CompositeViewDU<SSZTypesFor<ForkName.heze, "BeaconState">>;
|
|
14
14
|
export type BeaconStateAllForks = CompositeViewDU<SSZTypesFor<ForkAll, "BeaconState">>;
|
|
15
15
|
export type BeaconStateExecutions = CompositeViewDU<SSZTypesFor<ForkPostBellatrix & ForkPreGloas, "BeaconState">>;
|
|
16
|
+
export type BeaconStatePreHeze = CompositeViewDU<SSZTypesFor<ForkPreHeze, "BeaconState">>;
|
|
16
17
|
export type ShufflingGetter = (shufflingEpoch: Epoch, dependentRoot: RootHex) => EpochShuffling | null;
|
|
17
18
|
//# sourceMappingURL=types.d.ts.map
|
package/lib/cache/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AAC7F,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AAC7F,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;AACnG,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;AAC/F,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;AAC3F,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;AAC/F,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;AACzF,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;AAC3F,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;AAEzF,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;AACvF,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC,WAAW,CAAC,iBAAiB,GAAG,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;AAClH,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;AAE1F,MAAM,MAAM,eAAe,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,KAAK,cAAc,GAAG,IAAI,CAAC"}
|
package/lib/epoch/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/epoch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAKR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,4BAA4B,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/epoch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAKR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,4BAA4B,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,yBAAyB,EAQzB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,6BAA6B,EAAC,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAC,8BAA8B,EAAC,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,4BAA4B,EAAC,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAC,gCAAgC,EAAC,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,mCAAmC,EAAC,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAC,+BAA+B,EAAC,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAC,iCAAiC,EAAC,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAC,4BAA4B,EAAC,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAC,0BAA0B,EAAC,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAC,2BAA2B,EAAC,MAAM,kCAAkC,CAAC;AAG7E,OAAO,EAAC,sBAAsB,EAAC,MAAM,iCAAiC,CAAC;AACvE,OAAO,EACL,mCAAmC,EACnC,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,8BAA8B,EAC9B,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,iCAAiC,EACjC,+BAA+B,EAC/B,2BAA2B,EAC3B,gCAAgC,EAChC,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,gBAAgB,EAChB,6BAA6B,GAC9B,CAAC;AAEF,OAAO,EAAC,4BAA4B,EAAC,MAAM,mCAAmC,CAAC;AAK/E;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,mCAAmC,wCAAwC;IAC3E,wBAAwB,6BAA6B;IACrD,sBAAsB,2BAA2B;IACjD,gBAAgB,qBAAqB;IACrC,0BAA0B,+BAA+B;IACzD,8BAA8B,mCAAmC;IACjE,+BAA+B,oCAAoC;IACnE,2BAA2B,gCAAgC;IAC3D,sBAAsB,2BAA2B;IACjD,4BAA4B,iCAAiC;IAC7D,wBAAwB,6BAA6B;IACrD,gBAAgB,qBAAqB;IACrC,6BAA6B,kCAAkC;CAChE;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,yBAAyB,EAChC,KAAK,EAAE,oBAAoB,EAC3B,OAAO,CAAC,EAAE,4BAA4B,GAAG,IAAI,GAC5C,IAAI,CAkIN"}
|
package/lib/epoch/index.js
CHANGED
|
@@ -88,7 +88,9 @@ export function processEpoch(fork, state, cache, metrics) {
|
|
|
88
88
|
processRewardsAndPenalties(state, cache, slashingPenalties);
|
|
89
89
|
timer?.();
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
if (fork < ForkSeq.heze) {
|
|
92
|
+
processEth1DataReset(state, cache);
|
|
93
|
+
}
|
|
92
94
|
if (fork >= ForkSeq.electra) {
|
|
93
95
|
const stateElectra = state;
|
|
94
96
|
{
|
package/lib/epoch/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/epoch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,eAAe,GAChB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/epoch/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CachedBeaconStatePreHeze, EpochTransitionCache } from "../types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Reset eth1DataVotes tree every `EPOCHS_PER_ETH1_VOTING_PERIOD`.
|
|
4
4
|
*
|
|
5
5
|
* PERF: Almost no (constant) cost
|
|
6
6
|
*/
|
|
7
|
-
export declare function processEth1DataReset(state:
|
|
7
|
+
export declare function processEth1DataReset(state: CachedBeaconStatePreHeze, cache: EpochTransitionCache): void;
|
|
8
8
|
//# sourceMappingURL=processEth1DataReset.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processEth1DataReset.d.ts","sourceRoot":"","sources":["../../src/epoch/processEth1DataReset.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"processEth1DataReset.d.ts","sourceRoot":"","sources":["../../src/epoch/processEth1DataReset.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,wBAAwB,EAAE,oBAAoB,EAAC,MAAM,aAAa,CAAC;AAE3E;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAOvG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processEth1DataReset.js","sourceRoot":"","sources":["../../src/epoch/processEth1DataReset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,6BAA6B,EAAC,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAGpC;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"processEth1DataReset.js","sourceRoot":"","sources":["../../src/epoch/processEth1DataReset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,6BAA6B,EAAC,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAGpC;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA+B,EAAE,KAA2B;IAC/F,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;IAEzC,wBAAwB;IACxB,IAAI,SAAS,GAAG,6BAA6B,KAAK,CAAC,EAAE,CAAC;QACpD,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;IACjE,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processPendingDeposits.d.ts","sourceRoot":"","sources":["../../src/epoch/processPendingDeposits.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"processPendingDeposits.d.ts","sourceRoot":"","sources":["../../src/epoch/processPendingDeposits.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,wBAAwB,EAAE,oBAAoB,EAAC,MAAM,aAAa,CAAC;AAM3E;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI,CA2FzG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FAR_FUTURE_EPOCH, ForkSeq, GENESIS_SLOT, MAX_PENDING_DEPOSITS_PER_EPOCH } from "@lodestar/params";
|
|
1
|
+
import { BLS_WITHDRAWAL_PREFIX, FAR_FUTURE_EPOCH, ForkSeq, GENESIS_SLOT, MAX_PENDING_DEPOSITS_PER_EPOCH, } from "@lodestar/params";
|
|
2
2
|
import { addValidatorToRegistry, isValidDepositSignature } from "../block/processDeposit.js";
|
|
3
3
|
import { increaseBalance } from "../util/balance.js";
|
|
4
4
|
import { hasCompoundingWithdrawalCredential, isValidatorKnown } from "../util/electra.js";
|
|
@@ -58,7 +58,7 @@ export function processPendingDeposits(state, cache) {
|
|
|
58
58
|
}
|
|
59
59
|
if (isValidatorWithdrawn) {
|
|
60
60
|
// Deposited balance will never become active. Increase balance but do not consume churn
|
|
61
|
-
applyPendingDeposit(state, deposit, cache);
|
|
61
|
+
applyPendingDeposit(fork, state, deposit, cache);
|
|
62
62
|
}
|
|
63
63
|
else if (isValidatorExited) {
|
|
64
64
|
// Validator is exiting, postpone the deposit until after withdrawable epoch
|
|
@@ -72,7 +72,7 @@ export function processPendingDeposits(state, cache) {
|
|
|
72
72
|
}
|
|
73
73
|
// Consume churn and apply deposit.
|
|
74
74
|
processedAmount += deposit.amount;
|
|
75
|
-
applyPendingDeposit(state, deposit, cache);
|
|
75
|
+
applyPendingDeposit(fork, state, deposit, cache);
|
|
76
76
|
}
|
|
77
77
|
// Regardless of how the deposit was handled, we move on in the queue.
|
|
78
78
|
nextDepositIndex++;
|
|
@@ -93,11 +93,15 @@ export function processPendingDeposits(state, cache) {
|
|
|
93
93
|
state.depositBalanceToConsume = 0n;
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
function applyPendingDeposit(state, deposit, cache) {
|
|
96
|
+
function applyPendingDeposit(fork, state, deposit, cache) {
|
|
97
97
|
const validatorIndex = state.epochCtx.getValidatorIndex(deposit.pubkey);
|
|
98
98
|
const { pubkey, withdrawalCredentials, amount, signature } = deposit;
|
|
99
99
|
const cachedBalances = cache.balances;
|
|
100
100
|
if (!isValidatorKnown(state, validatorIndex)) {
|
|
101
|
+
// Do not create validators with BLS withdrawal credentials, the deposit is skipped without a refund
|
|
102
|
+
if (fork >= ForkSeq.heze && withdrawalCredentials[0] === BLS_WITHDRAWAL_PREFIX) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
101
105
|
// Verify the deposit signature (proof of possession) which is not checked by the deposit contract
|
|
102
106
|
if (isValidDepositSignature(state.config, pubkey, withdrawalCredentials, amount, signature)) {
|
|
103
107
|
addValidatorToRegistry(ForkSeq.electra, state, pubkey, withdrawalCredentials, amount);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processPendingDeposits.js","sourceRoot":"","sources":["../../src/epoch/processPendingDeposits.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"processPendingDeposits.js","sourceRoot":"","sources":["../../src/epoch/processPendingDeposits.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { type BlockExternalData, DataAvailabilityStatus, ExecutionPayloadStatus } from "./block/externalData.js";
|
|
2
|
+
export { IndexedBuilderState } from "./block/indexedBuilderState.js";
|
|
2
3
|
export { getAttestationParticipationStatus, processAttestationsAltair } from "./block/processAttestationsAltair.js";
|
|
3
4
|
export { assertValidAttesterSlashing } from "./block/processAttesterSlashing.js";
|
|
4
5
|
export { isValidBlsToExecutionChange } from "./block/processBlsToExecutionChange.js";
|
|
@@ -19,8 +20,9 @@ export * from "./rewards/index.js";
|
|
|
19
20
|
export * from "./signatureSets/index.js";
|
|
20
21
|
export * from "./stateTransition.js";
|
|
21
22
|
export { BeaconStateView } from "./stateView/beaconStateView.js";
|
|
22
|
-
export { type
|
|
23
|
+
export { type BlockSTFInput, type ComputeNewStateRootResult, type IBeaconStateView, type IBeaconStateViewAltair, type IBeaconStateViewBellatrix, type IBeaconStateViewCapella, type IBeaconStateViewDeneb, type IBeaconStateViewElectra, type IBeaconStateViewFulu, type IBeaconStateViewGloas, type IBeaconStateViewHeze, type IBeaconStateViewNative, isStatePostAltair, isStatePostBellatrix, isStatePostCapella, isStatePostDeneb, isStatePostElectra, isStatePostFulu, isStatePostGloas, isStatePostHeze, } from "./stateView/interface.js";
|
|
24
|
+
export { NativeBeaconStateView } from "./stateView/nativeBeaconStateView.js";
|
|
23
25
|
export { createBeaconStateView, createBeaconStateViewForHistoricalRegen } from "./stateView/stateViewFactory.js";
|
|
24
|
-
export type { BeaconStateAllForks, BeaconStateAltair, BeaconStateBellatrix, BeaconStateCapella, BeaconStateDeneb, BeaconStateElectra, BeaconStateExecutions, BeaconStateFulu, BeaconStateGloas, BeaconStateHeze, BeaconStatePhase0, CachedBeaconStateAllForks, CachedBeaconStateAltair, CachedBeaconStateBellatrix, CachedBeaconStateCapella, CachedBeaconStateDeneb, CachedBeaconStateElectra, CachedBeaconStateExecutions, CachedBeaconStateFulu, CachedBeaconStateGloas, CachedBeaconStateHeze, CachedBeaconStatePhase0, } from "./types.js";
|
|
26
|
+
export type { BeaconStateAllForks, BeaconStateAltair, BeaconStateBellatrix, BeaconStateCapella, BeaconStateDeneb, BeaconStateElectra, BeaconStateExecutions, BeaconStateFulu, BeaconStateGloas, BeaconStateHeze, BeaconStatePhase0, BeaconStatePreHeze, CachedBeaconStateAllForks, CachedBeaconStateAltair, CachedBeaconStateBellatrix, CachedBeaconStateCapella, CachedBeaconStateDeneb, CachedBeaconStateElectra, CachedBeaconStateExecutions, CachedBeaconStateFulu, CachedBeaconStateGloas, CachedBeaconStateHeze, CachedBeaconStatePhase0, CachedBeaconStatePreHeze, } from "./types.js";
|
|
25
27
|
export * from "./util/index.js";
|
|
26
28
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,iBAAiB,EAAE,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAC/G,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC;AAEnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EACL,KAAK,0BAA0B,EAC/B,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,KAAK,oBAAoB,EAAE,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAE9F,OAAO,EACL,KAAK,gBAAgB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,KAAK,kBAAkB,EAAE,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AAC/F,cAAc,sBAAsB,CAAC;AACrC,YAAY,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAC,KAAK,4BAA4B,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,iBAAiB,EAAE,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAC/G,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC;AAEnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EACL,KAAK,0BAA0B,EAC/B,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,KAAK,oBAAoB,EAAE,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAE9F,OAAO,EACL,KAAK,gBAAgB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,KAAK,kBAAkB,EAAE,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AAC/F,cAAc,sBAAsB,CAAC;AACrC,YAAY,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAC,KAAK,4BAA4B,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAC,qBAAqB,EAAE,uCAAuC,EAAC,MAAM,iCAAiC,CAAC;AAC/G,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAEf,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,cAAc,iBAAiB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { DataAvailabilityStatus, ExecutionPayloadStatus } from "./block/externalData.js";
|
|
2
|
+
export { IndexedBuilderState } from "./block/indexedBuilderState.js";
|
|
2
3
|
export { getAttestationParticipationStatus, processAttestationsAltair } from "./block/processAttestationsAltair.js";
|
|
3
4
|
export { assertValidAttesterSlashing } from "./block/processAttesterSlashing.js";
|
|
4
5
|
export { isValidBlsToExecutionChange } from "./block/processBlsToExecutionChange.js";
|
|
@@ -23,6 +24,7 @@ export * from "./signatureSets/index.js";
|
|
|
23
24
|
export * from "./stateTransition.js";
|
|
24
25
|
export { BeaconStateView } from "./stateView/beaconStateView.js";
|
|
25
26
|
export { isStatePostAltair, isStatePostBellatrix, isStatePostCapella, isStatePostDeneb, isStatePostElectra, isStatePostFulu, isStatePostGloas, isStatePostHeze, } from "./stateView/interface.js";
|
|
27
|
+
export { NativeBeaconStateView } from "./stateView/nativeBeaconStateView.js";
|
|
26
28
|
export { createBeaconStateView, createBeaconStateViewForHistoricalRegen } from "./stateView/stateViewFactory.js";
|
|
27
29
|
export * from "./util/index.js";
|
|
28
30
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAC/G,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC;AACnF,qCAAqC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,yBAAyB;AACzB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,6BAA6B;AAC7B,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAEL,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,UAAU,EAEV,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA4B,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC9F,oBAAoB;AACpB,OAAO,EAEL,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA0B,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AAC/F,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAoC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAC/G,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC;AACnF,qCAAqC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,yBAAyB;AACzB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,6BAA6B;AAC7B,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAEL,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,UAAU,EAEV,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA4B,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC9F,oBAAoB;AACpB,OAAO,EAEL,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA0B,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AAC/F,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAoC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAaL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAC,qBAAqB,EAAE,uCAAuC,EAAC,MAAM,iCAAiC,CAAC;AA4B/G,cAAc,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attestationsRewards.d.ts","sourceRoot":"","sources":["../../src/rewards/attestationsRewards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAgB9C,OAAO,EAAC,cAAc,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"attestationsRewards.d.ts","sourceRoot":"","sources":["../../src/rewards/attestationsRewards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAgB9C,OAAO,EAAC,cAAc,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAKxD,OAAO,EAAC,yBAAyB,EAA0B,MAAM,aAAa,CAAC;AAgB/E,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,yBAAyB,EAChC,YAAY,CAAC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,GACzC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CA8BtC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { EFFECTIVE_BALANCE_INCREMENT, ForkName, ForkSeq, INACTIVITY_PENALTY_QUOTIENT_ALTAIR, INACTIVITY_PENALTY_QUOTIENT_BELLATRIX, MAX_EFFECTIVE_BALANCE, MAX_EFFECTIVE_BALANCE_ELECTRA, PARTICIPATION_FLAG_WEIGHTS, TIMELY_HEAD_FLAG_INDEX, TIMELY_SOURCE_FLAG_INDEX, TIMELY_TARGET_FLAG_INDEX, WEIGHT_DENOMINATOR, isForkPostElectra, } from "@lodestar/params";
|
|
2
2
|
import { fromHex } from "@lodestar/utils";
|
|
3
3
|
import { beforeProcessEpoch } from "../cache/epochTransitionCache.js";
|
|
4
|
+
import { processInactivityUpdates } from "../epoch/processInactivityUpdates.js";
|
|
5
|
+
import { processJustificationAndFinalization } from "../epoch/processJustificationAndFinalization.js";
|
|
4
6
|
import { FLAG_ELIGIBLE_ATTESTER, FLAG_PREV_HEAD_ATTESTER_UNSLASHED, FLAG_PREV_SOURCE_ATTESTER_UNSLASHED, FLAG_PREV_TARGET_ATTESTER_UNSLASHED, hasMarkers, isInInactivityLeak, } from "../util/index.js";
|
|
5
7
|
const defaultAttestationsReward = { head: 0, target: 0, source: 0, inclusionDelay: 0, inactivity: 0 };
|
|
6
8
|
const defaultAttestationsPenalty = { target: 0, source: 0 };
|
|
@@ -9,8 +11,13 @@ export async function computeAttestationsRewards(config, pubkeyCache, state, val
|
|
|
9
11
|
if (fork === ForkName.phase0) {
|
|
10
12
|
throw Error("Unsupported fork. Attestations rewards calculation is not available in phase0");
|
|
11
13
|
}
|
|
12
|
-
|
|
14
|
+
// Rewards are computed after justification and inactivity updates in epoch processing, so apply both to a clone
|
|
15
|
+
// before reading finality and inactivity scores, see
|
|
16
|
+
// https://github.com/ethereum/consensus-specs/blob/v1.7.0-beta.2/specs/altair/beacon-chain.md#epoch-processing
|
|
17
|
+
const stateAltair = state.clone();
|
|
13
18
|
const transitionCache = beforeProcessEpoch(stateAltair);
|
|
19
|
+
processJustificationAndFinalization(stateAltair, transitionCache);
|
|
20
|
+
processInactivityUpdates(stateAltair, transitionCache);
|
|
14
21
|
const [idealRewards, penalties] = computeIdealAttestationsRewardsAndPenaltiesAltair(config, stateAltair, transitionCache);
|
|
15
22
|
const totalRewards = computeTotalAttestationsRewardsAltair(config, pubkeyCache, stateAltair, transitionCache, idealRewards, penalties, validatorIds);
|
|
16
23
|
return { idealRewards, totalRewards };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attestationsRewards.js","sourceRoot":"","sources":["../../src/rewards/attestationsRewards.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,EAC3B,QAAQ,EACR,OAAO,EACP,kCAAkC,EAClC,qCAAqC,EACrC,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAuB,kBAAkB,EAAC,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"attestationsRewards.js","sourceRoot":"","sources":["../../src/rewards/attestationsRewards.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,EAC3B,QAAQ,EACR,OAAO,EACP,kCAAkC,EAClC,qCAAqC,EACrC,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAuB,kBAAkB,EAAC,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAC,wBAAwB,EAAC,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAC,mCAAmC,EAAC,MAAM,iDAAiD,CAAC;AAEpG,OAAO,EACL,sBAAsB,EACtB,iCAAiC,EACjC,mCAAmC,EACnC,mCAAmC,EACnC,UAAU,EACV,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAK1B,MAAM,yBAAyB,GAAG,EAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC,CAAC;AACpG,MAAM,0BAA0B,GAAG,EAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAoB,EACpB,WAAwB,EACxB,KAAgC,EAChC,YAA0C;IAE1C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,KAAK,CAAC,+EAA+E,CAAC,CAAC;IAC/F,CAAC;IAED,gHAAgH;IAChH,qDAAqD;IACrD,+GAA+G;IAC/G,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,EAA6B,CAAC;IAC7D,MAAM,eAAe,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACxD,mCAAmC,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAClE,wBAAwB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAEvD,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,iDAAiD,CACjF,MAAM,EACN,WAAW,EACX,eAAe,CAChB,CAAC;IACF,MAAM,YAAY,GAAG,qCAAqC,CACxD,MAAM,EACN,WAAW,EACX,WAAW,EACX,eAAe,EACf,YAAY,EACZ,SAAS,EACT,YAAY,CACb,CAAC;IAEF,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,CAAC;AACtC,CAAC;AAED,SAAS,iDAAiD,CACxD,MAAoB,EACpB,KAAgC,EAChC,eAAqC;IAErC,MAAM,sBAAsB,GAAG,eAAe,CAAC,sBAAsB,CAAC;IACtE,MAAM,wBAAwB,GAAG,eAAe,CAAC,2BAA2B,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAC5G,MAAM,8BAA8B,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,2BAA2B,CAAC,CAAC;IAErG,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,8BAA8B,GAAG,CAAC,EAAC,EAAE,CAAC,CAAC,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;QACjH,GAAG,yBAAyB;QAC5B,gBAAgB,EAAE,2BAA2B,GAAG,2BAA2B;KAC5E,CAAC,CAAC,CAAC;IAEJ,MAAM,qBAAqB,GAA0B,KAAK,CAAC,IAAI,CAC7D,EAAC,MAAM,EAAE,8BAA8B,GAAG,CAAC,EAAC,EAC5C,CAAC,CAAC,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;QACnC,GAAG,0BAA0B;QAC7B,gBAAgB,EAAE,2BAA2B,GAAG,2BAA2B;KAC5E,CAAC,CACH,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,yBAAiC,CAAC;QACtC,IAAI,QAA+C,CAAC;QAEpD,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,wBAAwB,EAAE,CAAC;gBAC9B,yBAAyB,GAAG,eAAe,CAAC,uBAAuB,CAAC,sBAAsB,CAAC;gBAC3F,QAAQ,GAAG,QAAQ,CAAC;gBACpB,MAAM;YACR,CAAC;YACD,KAAK,wBAAwB,EAAE,CAAC;gBAC9B,yBAAyB,GAAG,eAAe,CAAC,uBAAuB,CAAC,sBAAsB,CAAC;gBAC3F,QAAQ,GAAG,QAAQ,CAAC;gBACpB,MAAM;YACR,CAAC;YACD,KAAK,sBAAsB,EAAE,CAAC;gBAC5B,yBAAyB,GAAG,eAAe,CAAC,uBAAuB,CAAC,oBAAoB,CAAC;gBACzF,QAAQ,GAAG,MAAM,CAAC;gBAClB,MAAM;YACR,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,KAAK,CAAC,yEAAyE,CAAC,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,KACE,IAAI,2BAA2B,GAAG,CAAC,EACnC,2BAA2B,IAAI,8BAA8B,EAC7D,2BAA2B,EAAE,EAC7B,CAAC;YACD,MAAM,UAAU,GAAG,2BAA2B,GAAG,sBAAsB,CAAC;YACxE,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,yBAAyB,CAAC;YACxE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,wBAAwB,GAAG,kBAAkB,CAAC,CAAC,CAAC;YAClG,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,oCAAoC;YAE5G,MAAM,uBAAuB,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC;YAC1E,uBAAuB,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,iDAAiD;YAElI,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,2BAA2B,CAAC,CAAC;gBAC9E,kBAAkB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;AAC/C,CAAC;AAED,gHAAgH;AAChH,SAAS,qCAAqC,CAC5C,MAAoB,EACpB,WAAwB,EACxB,KAA8B,EAC9B,eAAqC,EACrC,YAA+C,EAC/C,SAAgC,EAChC,YAAY,GAAgC,EAAE;IAE9C,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,MAAM,EAAC,KAAK,EAAC,GAAG,eAAe,CAAC;IAChC,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC;IACzB,MAAM,gBAAgB,GAAG,YAAY;SAClC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC9E,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,6CAA6C;IAExF,MAAM,yBAAyB,GAC7B,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM;QAC9C,CAAC,CAAC,kCAAkC;QACpC,CAAC,CAAC,qCAAqC,CAAC;IAC5C,MAAM,4BAA4B,GAAG,MAAM,CAAC,qBAAqB,GAAG,yBAAyB,CAAC;IAE9F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,gBAAgB,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,sBAAsB,CAAC,EAAE,CAAC;YAC9C,SAAS;QACX,CAAC;QAED,MAAM,yBAAyB,GAAG,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAEzE,MAAM,cAAc,GAAG,EAAC,GAAG,yBAAyB,EAAE,cAAc,EAAE,CAAC,EAAC,CAAC;QAEzE,IAAI,UAAU,CAAC,IAAI,EAAE,mCAAmC,CAAC,EAAE,CAAC;YAC1D,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,yBAAyB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sCAAsC;QAClH,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,EAAE,mCAAmC,CAAC,EAAE,CAAC;YAC1D,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,yBAAyB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEzE,+DAA+D;YAC/D,MAAM,0BAA0B,GAC9B,yBAAyB,GAAG,2BAA2B,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1F,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAAC;QACzG,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,EAAE,iCAAiC,CAAC,EAAE,CAAC;YACxD,cAAc,CAAC,IAAI,GAAG,YAAY,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC;QACrE,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signatureSets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAyB,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAwB,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAC,aAAa,EAA4C,MAAM,kBAAkB,CAAC;AAU1F,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,2BAA2B,EAAE,kBAAkB,EAC/C,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,iBAAiB,EAC9B,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,IAAI,CAAC,EAAE;IACL,wFAAwF;IACxF,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,GACA,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signatureSets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAyB,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAwB,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAC,aAAa,EAA4C,MAAM,kBAAkB,CAAC;AAU1F,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,2BAA2B,EAAE,kBAAkB,EAC/C,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,iBAAiB,EAC9B,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,IAAI,CAAC,EAAE;IACL,wFAAwF;IACxF,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,GACA,aAAa,EAAE,CAwDjB"}
|
|
@@ -8,7 +8,7 @@ import { getPayloadAttestationDataSigningRoot } from "./indexedPayloadAttestatio
|
|
|
8
8
|
import { getBlockProposerSignatureSet } from "./proposer.js";
|
|
9
9
|
import { getProposerSlashingsSignatureSets } from "./proposerSlashings.js";
|
|
10
10
|
import { getRandaoRevealSignatureSet } from "./randao.js";
|
|
11
|
-
import {
|
|
11
|
+
import { getVoluntaryExitSignatureSet } from "./voluntaryExits.js";
|
|
12
12
|
export * from "./attesterSlashings.js";
|
|
13
13
|
export * from "./blsToExecutionChange.js";
|
|
14
14
|
export * from "./executionPayloadBid.js";
|
|
@@ -32,7 +32,7 @@ export function getBlockSignatureSets(config, currentSyncCommitteeIndexed, state
|
|
|
32
32
|
...getProposerSlashingsSignatureSets(config, signedBlock),
|
|
33
33
|
...getAttesterSlashingsSignatureSets(config, signedBlock),
|
|
34
34
|
...getAttestationsSignatureSets(config, signedBlock, indexedAttestations),
|
|
35
|
-
...
|
|
35
|
+
...signedBlock.message.body.voluntaryExits.map((voluntaryExit) => getVoluntaryExitSignatureSet(config, state, voluntaryExit)),
|
|
36
36
|
];
|
|
37
37
|
if (!opts?.skipProposerSignature) {
|
|
38
38
|
signatureSets.push(getBlockProposerSignatureSet(config, signedBlock));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signatureSets/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAC,4BAA4B,EAAC,MAAM,kCAAkC,CAAC;AAG9E,OAAO,EAAgB,yCAAyC,EAAC,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAC,iCAAiC,EAAC,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAC,oCAAoC,EAAC,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAC,4BAA4B,EAAC,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAC,oCAAoC,EAAC,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAC,4BAA4B,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAC,iCAAiC,EAAC,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,aAAa,CAAC;AACxD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signatureSets/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { BeaconConfig } from "@lodestar/config";
|
|
2
|
-
import {
|
|
3
|
-
import { IBeaconStateView
|
|
2
|
+
import { phase0 } from "@lodestar/types";
|
|
3
|
+
import { IBeaconStateView } from "../stateView/interface.js";
|
|
4
4
|
import { ISignatureSet } from "../util/index.js";
|
|
5
5
|
export declare function verifyVoluntaryExitSignature(config: BeaconConfig, state: IBeaconStateView, signedVoluntaryExit: phase0.SignedVoluntaryExit): boolean;
|
|
6
6
|
/**
|
|
7
7
|
* Extract signatures to allow validating all block signatures at once
|
|
8
8
|
*/
|
|
9
9
|
export declare function getVoluntaryExitSignatureSet(config: BeaconConfig, state: IBeaconStateView, signedVoluntaryExit: phase0.SignedVoluntaryExit): ISignatureSet;
|
|
10
|
-
export declare function getVoluntaryExitsSignatureSets(config: BeaconConfig, state: IBeaconStateView, signedBlock: SignedBeaconBlock): ISignatureSet[];
|
|
11
|
-
export declare function getValidatorVoluntaryExitSignatureSet(config: BeaconConfig, stateSlot: Slot, signedVoluntaryExit: phase0.SignedVoluntaryExit): ISignatureSet;
|
|
12
|
-
export declare function getBuilderVoluntaryExitSignatureSet(config: BeaconConfig, state: IBeaconStateViewGloas, signedVoluntaryExit: phase0.SignedVoluntaryExit): ISignatureSet;
|
|
13
|
-
export declare function isBuilderVoluntaryExit(signedVoluntaryExit: phase0.SignedVoluntaryExit): boolean;
|
|
14
10
|
//# sourceMappingURL=voluntaryExits.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voluntaryExits.d.ts","sourceRoot":"","sources":["../../src/signatureSets/voluntaryExits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"voluntaryExits.d.ts","sourceRoot":"","sources":["../../src/signatureSets/voluntaryExits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EACL,aAAa,EAKd,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,gBAAgB,EACvB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,GAC9C,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,gBAAgB,EACvB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,GAC9C,aAAa,CAUf"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { ForkSeq } from "@lodestar/params";
|
|
2
1
|
import { ssz } from "@lodestar/types";
|
|
3
|
-
import {
|
|
4
|
-
import { SignatureSetType, computeSigningRoot, computeStartSlotAtEpoch, convertValidatorIndexToBuilderIndex, isBuilderIndex, verifySignatureSet, } from "../util/index.js";
|
|
2
|
+
import { SignatureSetType, computeSigningRoot, computeStartSlotAtEpoch, verifySignatureSet, } from "../util/index.js";
|
|
5
3
|
export function verifyVoluntaryExitSignature(config, state, signedVoluntaryExit) {
|
|
6
4
|
return verifySignatureSet(getVoluntaryExitSignatureSet(config, state, signedVoluntaryExit));
|
|
7
5
|
}
|
|
@@ -9,21 +7,8 @@ export function verifyVoluntaryExitSignature(config, state, signedVoluntaryExit)
|
|
|
9
7
|
* Extract signatures to allow validating all block signatures at once
|
|
10
8
|
*/
|
|
11
9
|
export function getVoluntaryExitSignatureSet(config, state, signedVoluntaryExit) {
|
|
12
|
-
const fork = config.getForkSeq(state.slot);
|
|
13
|
-
if (fork >= ForkSeq.gloas && isBuilderVoluntaryExit(signedVoluntaryExit)) {
|
|
14
|
-
if (!isStatePostGloas(state)) {
|
|
15
|
-
throw new Error(`Expected gloas+ state for builder voluntary exit signature, got fork=${state.forkName}`);
|
|
16
|
-
}
|
|
17
|
-
return getBuilderVoluntaryExitSignatureSet(config, state, signedVoluntaryExit);
|
|
18
|
-
}
|
|
19
|
-
return getValidatorVoluntaryExitSignatureSet(config, state.slot, signedVoluntaryExit);
|
|
20
|
-
}
|
|
21
|
-
export function getVoluntaryExitsSignatureSets(config, state, signedBlock) {
|
|
22
|
-
return signedBlock.message.body.voluntaryExits.map((voluntaryExit) => getVoluntaryExitSignatureSet(config, state, voluntaryExit));
|
|
23
|
-
}
|
|
24
|
-
export function getValidatorVoluntaryExitSignatureSet(config, stateSlot, signedVoluntaryExit) {
|
|
25
10
|
const messageSlot = computeStartSlotAtEpoch(signedVoluntaryExit.message.epoch);
|
|
26
|
-
const domain = config.getDomainForVoluntaryExit(
|
|
11
|
+
const domain = config.getDomainForVoluntaryExit(state.slot, messageSlot);
|
|
27
12
|
return {
|
|
28
13
|
type: SignatureSetType.indexed,
|
|
29
14
|
index: signedVoluntaryExit.message.validatorIndex,
|
|
@@ -31,19 +16,4 @@ export function getValidatorVoluntaryExitSignatureSet(config, stateSlot, signedV
|
|
|
31
16
|
signature: signedVoluntaryExit.signature,
|
|
32
17
|
};
|
|
33
18
|
}
|
|
34
|
-
export function getBuilderVoluntaryExitSignatureSet(config, state, signedVoluntaryExit) {
|
|
35
|
-
const messageSlot = computeStartSlotAtEpoch(signedVoluntaryExit.message.epoch);
|
|
36
|
-
const domain = config.getDomainForVoluntaryExit(state.slot, messageSlot);
|
|
37
|
-
const builderIndex = convertValidatorIndexToBuilderIndex(signedVoluntaryExit.message.validatorIndex);
|
|
38
|
-
const builder = state.getBuilder(builderIndex);
|
|
39
|
-
return {
|
|
40
|
-
type: SignatureSetType.single,
|
|
41
|
-
pubkey: builder.pubkey,
|
|
42
|
-
signingRoot: computeSigningRoot(ssz.phase0.VoluntaryExit, signedVoluntaryExit.message, domain),
|
|
43
|
-
signature: signedVoluntaryExit.signature,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
export function isBuilderVoluntaryExit(signedVoluntaryExit) {
|
|
47
|
-
return isBuilderIndex(signedVoluntaryExit.message.validatorIndex);
|
|
48
|
-
}
|
|
49
19
|
//# sourceMappingURL=voluntaryExits.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voluntaryExits.js","sourceRoot":"","sources":["../../src/signatureSets/voluntaryExits.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"voluntaryExits.js","sourceRoot":"","sources":["../../src/signatureSets/voluntaryExits.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAEL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,UAAU,4BAA4B,CAC1C,MAAoB,EACpB,KAAuB,EACvB,mBAA+C;IAE/C,OAAO,kBAAkB,CAAC,4BAA4B,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAAoB,EACpB,KAAuB,EACvB,mBAA+C;IAE/C,MAAM,WAAW,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAEzE,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,OAAO;QAC9B,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,cAAc;QACjD,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC;QAC9F,SAAS,EAAE,mBAAmB,CAAC,SAAS;KACzC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgradeStateToHeze.d.ts","sourceRoot":"","sources":["../../src/slot/upgradeStateToHeze.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,sBAAsB,EAAE,qBAAqB,EAAC,MAAM,aAAa,CAAC;AAE1E;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,sBAAsB,GAAG,qBAAqB,
|
|
1
|
+
{"version":3,"file":"upgradeStateToHeze.d.ts","sourceRoot":"","sources":["../../src/slot/upgradeStateToHeze.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,sBAAsB,EAAE,qBAAqB,EAAC,MAAM,aAAa,CAAC;AAE1E;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,sBAAsB,GAAG,qBAAqB,CAoF5F"}
|
|
@@ -5,6 +5,10 @@ import { getCachedBeaconState } from "../cache/stateCache.js";
|
|
|
5
5
|
* Spec: heze/fork.md `upgrade_to_heze`.
|
|
6
6
|
*/
|
|
7
7
|
export function upgradeStateToHeze(stateGloas) {
|
|
8
|
+
// In Heze, the old deposit mechanism must be fully drained before the fork
|
|
9
|
+
if (BigInt(stateGloas.eth1DepositIndex) !== stateGloas.depositRequestsStartIndex) {
|
|
10
|
+
throw new Error(`Cannot upgrade to Heze: legacy deposit mechanism still active eth1DepositIndex=${stateGloas.eth1DepositIndex} depositRequestsStartIndex=${stateGloas.depositRequestsStartIndex}`);
|
|
11
|
+
}
|
|
8
12
|
const { config } = stateGloas;
|
|
9
13
|
ssz.gloas.BeaconState.commitViewDU(stateGloas);
|
|
10
14
|
const stateHezeCloned = stateGloas;
|
|
@@ -21,9 +25,6 @@ export function upgradeStateToHeze(stateGloas) {
|
|
|
21
25
|
stateHezeView.blockRoots = stateHezeCloned.blockRoots;
|
|
22
26
|
stateHezeView.stateRoots = stateHezeCloned.stateRoots;
|
|
23
27
|
stateHezeView.historicalRoots = stateHezeCloned.historicalRoots;
|
|
24
|
-
stateHezeView.eth1Data = stateHezeCloned.eth1Data;
|
|
25
|
-
stateHezeView.eth1DataVotes = stateHezeCloned.eth1DataVotes;
|
|
26
|
-
stateHezeView.eth1DepositIndex = stateHezeCloned.eth1DepositIndex;
|
|
27
28
|
stateHezeView.validators = stateHezeCloned.validators;
|
|
28
29
|
stateHezeView.balances = stateHezeCloned.balances;
|
|
29
30
|
stateHezeView.randaoMixes = stateHezeCloned.randaoMixes;
|
|
@@ -41,7 +42,6 @@ export function upgradeStateToHeze(stateGloas) {
|
|
|
41
42
|
stateHezeView.nextWithdrawalIndex = stateHezeCloned.nextWithdrawalIndex;
|
|
42
43
|
stateHezeView.nextWithdrawalValidatorIndex = stateHezeCloned.nextWithdrawalValidatorIndex;
|
|
43
44
|
stateHezeView.historicalSummaries = stateHezeCloned.historicalSummaries;
|
|
44
|
-
stateHezeView.depositRequestsStartIndex = stateHezeCloned.depositRequestsStartIndex;
|
|
45
45
|
stateHezeView.depositBalanceToConsume = stateHezeCloned.depositBalanceToConsume;
|
|
46
46
|
stateHezeView.exitBalanceToConsume = stateHezeCloned.exitBalanceToConsume;
|
|
47
47
|
stateHezeView.earliestExitEpoch = stateHezeCloned.earliestExitEpoch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgradeStateToHeze.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToHeze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAG5D;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkC;IACnE,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC;IAE5B,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,UAAU,CAAC;IAEnC,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;IAE3D,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IACxD,aAAa,CAAC,qBAAqB,GAAG,eAAe,CAAC,qBAAqB,CAAC;IAC5E,aAAa,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IAC1C,aAAa,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC5C,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,cAAc;QAC/C,cAAc,EAAE,MAAM,CAAC,iBAAiB;QACxC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK;KACjC,CAAC,CAAC;IACH,aAAa,CAAC,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC;IACpE,aAAa,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;IACtD,aAAa,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;IACtD,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;IAChE,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"upgradeStateToHeze.js","sourceRoot":"","sources":["../../src/slot/upgradeStateToHeze.ts"],"names":[],"mappings":"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"}
|