@lodestar/beacon-node 1.18.0-dev.c94ecd23e4 → 1.18.0-dev.da69a7b35f
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/api/impl/beacon/rewards/index.js +4 -0
- package/lib/api/impl/beacon/rewards/index.js.map +1 -1
- package/lib/api/impl/validator/index.d.ts +14 -0
- package/lib/api/impl/validator/index.js +4 -4
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/rest/activeSockets.js +1 -1
- package/lib/api/rest/activeSockets.js.map +1 -1
- package/lib/chain/blocks/types.d.ts +15 -7
- package/lib/chain/blocks/types.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
- package/lib/chain/chain.d.ts +5 -0
- package/lib/chain/chain.js +44 -4
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/forkChoice/index.d.ts +4 -2
- package/lib/chain/forkChoice/index.js +4 -1
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/interface.d.ts +5 -0
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/opPools/attestationPool.js +1 -1
- package/lib/chain/opPools/attestationPool.js.map +1 -1
- package/lib/chain/options.d.ts +5 -1
- package/lib/chain/options.js +6 -0
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/reprocess.js +1 -1
- package/lib/chain/reprocess.js.map +1 -1
- package/lib/chain/rewards/attestationsRewards.d.ts +7 -0
- package/lib/chain/rewards/attestationsRewards.js +109 -0
- package/lib/chain/rewards/attestationsRewards.js.map +1 -0
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +2 -2
- package/lib/chain/seenCache/seenGossipBlockInput.js +22 -7
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/stateCache/stateContextCheckpointsCache.d.ts +2 -3
- package/lib/chain/stateCache/stateContextCheckpointsCache.js +1 -2
- package/lib/chain/stateCache/stateContextCheckpointsCache.js.map +1 -1
- package/lib/chain/validation/block.js +2 -2
- package/lib/chain/validation/block.js.map +1 -1
- package/lib/eth1/provider/eth1Provider.js +1 -1
- package/lib/eth1/provider/eth1Provider.js.map +1 -1
- package/lib/metrics/metrics/lodestar.js +2 -2
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/monitoring/options.js +3 -3
- package/lib/monitoring/options.js.map +1 -1
- package/lib/network/events.d.ts +2 -2
- package/lib/network/libp2p/index.js +1 -1
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/peers/peerManager.js +1 -1
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +41 -16
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/index.js +1 -1
- package/lib/network/processor/index.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +2 -2
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +15 -3
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
- package/lib/network/reqresp/rateLimit.js +12 -12
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/sync/interface.d.ts +16 -12
- package/lib/sync/interface.js +1 -0
- package/lib/sync/interface.js.map +1 -1
- package/lib/sync/unknownBlock.js +63 -60
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/pendingBlocksTree.js +1 -1
- package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
- package/package.json +16 -17
|
@@ -19,7 +19,10 @@ export function initializeForkChoice(config, emitter, currentSlot, state, opts,
|
|
|
19
19
|
epoch: checkpoint.epoch === 0 ? checkpoint.epoch : checkpoint.epoch + 1,
|
|
20
20
|
};
|
|
21
21
|
const justifiedBalances = getEffectiveBalanceIncrementsZeroInactive(state);
|
|
22
|
-
|
|
22
|
+
// forkchoiceConstructor is only used for some test cases
|
|
23
|
+
// production code use ForkChoice constructor directly
|
|
24
|
+
const forkchoiceConstructor = opts.forkchoiceConstructor ?? ForkChoice;
|
|
25
|
+
return new forkchoiceConstructor(config, new ForkChoiceStore(currentSlot, justifiedCheckpoint, finalizedCheckpoint, justifiedBalances, justifiedBalancesGetter, {
|
|
23
26
|
onJustified: (cp) => emitter.emit(ChainEvent.forkChoiceJustified, cp),
|
|
24
27
|
onFinalized: (cp) => emitter.emit(ChainEvent.forkChoiceFinalized, cp),
|
|
25
28
|
}), ProtoArray.initialize({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/forkChoice/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,eAAe,GAGhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,yCAAyC,EACzC,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/forkChoice/index.ts"],"names":[],"mappings":"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"}
|
package/lib/chain/interface.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ import { SeenAttestationDatas } from "./seenCache/seenAttestationData.js";
|
|
|
27
27
|
import { SeenGossipBlockInput } from "./seenCache/index.js";
|
|
28
28
|
import { ShufflingCache } from "./shufflingCache.js";
|
|
29
29
|
import { BlockRewards } from "./rewards/blockRewards.js";
|
|
30
|
+
import { AttestationsRewards } from "./rewards/attestationsRewards.js";
|
|
30
31
|
import { SyncCommitteeRewards } from "./rewards/syncCommitteeRewards.js";
|
|
31
32
|
export { BlockType, type AssembledBlockType };
|
|
32
33
|
export { type ProposerPreparationData };
|
|
@@ -152,6 +153,10 @@ export interface IBeaconChain {
|
|
|
152
153
|
regenCanAcceptWork(): boolean;
|
|
153
154
|
blsThreadPoolCanAcceptWork(): boolean;
|
|
154
155
|
getBlockRewards(blockRef: allForks.FullOrBlindedBeaconBlock): Promise<BlockRewards>;
|
|
156
|
+
getAttestationsRewards(epoch: Epoch, validatorIds?: (ValidatorIndex | string)[]): Promise<{
|
|
157
|
+
rewards: AttestationsRewards;
|
|
158
|
+
executionOptimistic: boolean;
|
|
159
|
+
}>;
|
|
155
160
|
getSyncCommitteeRewards(blockRef: allForks.FullOrBlindedBeaconBlock, validatorIds?: (ValidatorIndex | string)[]): Promise<SyncCommitteeRewards>;
|
|
156
161
|
}
|
|
157
162
|
export type SSZObjectType = "state" | "signedBlock" | "block" | "attestation" | "signedAggregatedAndProof" | "syncCommittee" | "contributionAndProof";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"AAkDA,OAAO,EAAsC,SAAS,EAAC,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"AAkDA,OAAO,EAAsC,SAAS,EAAC,MAAM,oCAAoC,CAAC;AAQlG,OAAO,EAAC,SAAS,EAA0B,CAAC"}
|
|
@@ -17,7 +17,7 @@ const SLOTS_RETAINED = 3;
|
|
|
17
17
|
*
|
|
18
18
|
* This is a DoS protection measure.
|
|
19
19
|
*/
|
|
20
|
-
const MAX_ATTESTATIONS_PER_SLOT =
|
|
20
|
+
const MAX_ATTESTATIONS_PER_SLOT = 16_384;
|
|
21
21
|
/**
|
|
22
22
|
* A pool of `Attestation` that is specially designed to store "unaggregated" attestations from
|
|
23
23
|
* the native aggregation scheme.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attestationPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/attestationPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAY,MAAM,sBAAsB,CAAC;AAC5D,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAW,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAC,MAAM,YAAY,CAAC;AACvE,OAAO,EAAC,WAAW,EAAE,yBAAyB,EAAC,MAAM,YAAY,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,
|
|
1
|
+
{"version":3,"file":"attestationPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/attestationPool.ts"],"names":[],"mappings":"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"}
|
package/lib/chain/options.d.ts
CHANGED
|
@@ -2,7 +2,9 @@ import { ArchiverOpts } from "./archiver/index.js";
|
|
|
2
2
|
import { ForkChoiceOpts } from "./forkChoice/index.js";
|
|
3
3
|
import { LightClientServerOpts } from "./lightClient/index.js";
|
|
4
4
|
import { ShufflingCacheOpts } from "./shufflingCache.js";
|
|
5
|
-
|
|
5
|
+
import { FIFOBlockStateCacheOpts } from "./stateCache/fifoBlockStateCache.js";
|
|
6
|
+
import { PersistentCheckpointStateCacheOpts } from "./stateCache/persistentCheckpointsCache.js";
|
|
7
|
+
export type IChainOptions = BlockProcessOpts & PoolOpts & SeenCacheOpts & ForkChoiceOpts & ArchiverOpts & FIFOBlockStateCacheOpts & PersistentCheckpointStateCacheOpts & ShufflingCacheOpts & LightClientServerOpts & {
|
|
6
8
|
blsVerifyAllMainThread?: boolean;
|
|
7
9
|
blsVerifyAllMultiThread?: boolean;
|
|
8
10
|
persistProducedBlocks?: boolean;
|
|
@@ -22,6 +24,8 @@ export type IChainOptions = BlockProcessOpts & PoolOpts & SeenCacheOpts & ForkCh
|
|
|
22
24
|
broadcastValidationStrictness?: string;
|
|
23
25
|
minSameMessageSignatureSetsToBatch: number;
|
|
24
26
|
archiveBlobEpochs?: number;
|
|
27
|
+
nHistoricalStates?: boolean;
|
|
28
|
+
nHistoricalStatesFileDataStore?: boolean;
|
|
25
29
|
};
|
|
26
30
|
export type BlockProcessOpts = {
|
|
27
31
|
/**
|
package/lib/chain/options.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY } from "@lodestar/params";
|
|
2
2
|
import { defaultOptions as defaultValidatorOptions } from "@lodestar/validator";
|
|
3
|
+
import { DEFAULT_MAX_BLOCK_STATES } from "./stateCache/fifoBlockStateCache.js";
|
|
4
|
+
import { DEFAULT_MAX_CP_STATE_EPOCHS_IN_MEMORY } from "./stateCache/persistentCheckpointsCache.js";
|
|
3
5
|
export const defaultChainOptions = {
|
|
4
6
|
blsVerifyAllMainThread: false,
|
|
5
7
|
blsVerifyAllMultiThread: false,
|
|
@@ -19,5 +21,9 @@ export const defaultChainOptions = {
|
|
|
19
21
|
// batching too much may block the I/O thread so if useWorker=false, suggest this value to be 32
|
|
20
22
|
// since this batch attestation work is designed to work with useWorker=true, make this the lowest value
|
|
21
23
|
minSameMessageSignatureSetsToBatch: 2,
|
|
24
|
+
nHistoricalStates: false,
|
|
25
|
+
nHistoricalStatesFileDataStore: false,
|
|
26
|
+
maxBlockStates: DEFAULT_MAX_BLOCK_STATES,
|
|
27
|
+
maxCPStateEpochsInMemory: DEFAULT_MAX_CP_STATE_EPOCHS_IN_MEMORY,
|
|
22
28
|
};
|
|
23
29
|
//# sourceMappingURL=options.js.map
|
package/lib/chain/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mCAAmC,EAAC,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAC,cAAc,IAAI,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mCAAmC,EAAC,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAC,cAAc,IAAI,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAK9E,OAAO,EAAC,wBAAwB,EAA0B,MAAM,qCAAqC,CAAC;AAEtG,OAAO,EAAC,qCAAqC,EAAC,MAAM,4CAA4C,CAAC;AAqFjG,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,sBAAsB,EAAE,KAAK;IAC7B,uBAAuB,EAAE,KAAK;IAC9B,qBAAqB,EAAE,KAAK;IAC5B,oBAAoB,EAAE,IAAI;IAC1B,iBAAiB,EAAE,IAAI;IACvB,+BAA+B,EAAE,mCAAmC;IACpE,qBAAqB,EAAE,uBAAuB,CAAC,qBAAqB;IACpE,gCAAgC,EAAE,KAAK;IACvC,0BAA0B,EAAE,IAAI;IAChC,qBAAqB,EAAE,KAAK;IAC5B,0EAA0E;IAC1E,uGAAuG;IACvG,YAAY,EAAE,EAAE;IAChB,6BAA6B,EAAE,MAAM;IACrC,qEAAqE;IACrE,gGAAgG;IAChG,wGAAwG;IACxG,kCAAkC,EAAE,CAAC;IACrC,iBAAiB,EAAE,KAAK;IACxB,8BAA8B,EAAE,KAAK;IACrC,cAAc,EAAE,wBAAwB;IACxC,wBAAwB,EAAE,qCAAqC;CAChE,CAAC"}
|
package/lib/chain/reprocess.js
CHANGED
|
@@ -19,7 +19,7 @@ export var ReprocessStatus;
|
|
|
19
19
|
ReprocessStatus["expired"] = "expired";
|
|
20
20
|
})(ReprocessStatus || (ReprocessStatus = {}));
|
|
21
21
|
// How many attestations (aggregate + unaggregate) we keep before new ones get dropped.
|
|
22
|
-
const MAXIMUM_QUEUED_ATTESTATIONS =
|
|
22
|
+
const MAXIMUM_QUEUED_ATTESTATIONS = 16_384;
|
|
23
23
|
/**
|
|
24
24
|
* Some attestations may reach our node before the voted block, so we manage a cache to reprocess them
|
|
25
25
|
* when the block come.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reprocess.js","sourceRoot":"","sources":["../../src/chain/reprocess.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGvC;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,CAAN,IAAY,eASX;AATD,WAAY,eAAe;IACzB;;OAEG;IACH,kDAA+B,CAAA;IAC/B;;OAEG;IACH,sCAAmB,CAAA;AACrB,CAAC,EATW,eAAe,KAAf,eAAe,QAS1B;AAWD,uFAAuF;AACvF,MAAM,2BAA2B,GAAG,
|
|
1
|
+
{"version":3,"file":"reprocess.js","sourceRoot":"","sources":["../../src/chain/reprocess.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Epoch, ValidatorIndex } from "@lodestar/types";
|
|
2
|
+
import { routes } from "@lodestar/api";
|
|
3
|
+
import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
|
|
4
|
+
import { BeaconConfig } from "@lodestar/config";
|
|
5
|
+
export type AttestationsRewards = routes.beacon.AttestationsRewards;
|
|
6
|
+
export declare function computeAttestationsRewards(epoch: Epoch, state: CachedBeaconStateAllForks, config: BeaconConfig, validatorIds?: (ValidatorIndex | string)[]): Promise<AttestationsRewards>;
|
|
7
|
+
//# sourceMappingURL=attestationsRewards.d.ts.map
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { EFFECTIVE_BALANCE_INCREMENT, ForkName, INACTIVITY_PENALTY_QUOTIENT_ALTAIR, MAX_EFFECTIVE_BALANCE, PARTICIPATION_FLAG_WEIGHTS, TIMELY_HEAD_FLAG_INDEX, TIMELY_SOURCE_FLAG_INDEX, TIMELY_TARGET_FLAG_INDEX, WEIGHT_DENOMINATOR, } from "@lodestar/params";
|
|
2
|
+
import { FLAG_ELIGIBLE_ATTESTER, FLAG_PREV_HEAD_ATTESTER_UNSLASHED, FLAG_PREV_SOURCE_ATTESTER_UNSLASHED, FLAG_PREV_TARGET_ATTESTER_UNSLASHED, beforeProcessEpoch, hasMarkers, isInInactivityLeak, } from "@lodestar/state-transition";
|
|
3
|
+
const defaultAttestationsReward = { head: 0, target: 0, source: 0, inclusionDelay: 0, inactivity: 0 };
|
|
4
|
+
const defaultAttestationsPenalty = { target: 0, source: 0 };
|
|
5
|
+
export async function computeAttestationsRewards(epoch, state, config, validatorIds) {
|
|
6
|
+
const fork = state.config.getForkName(state.slot);
|
|
7
|
+
if (fork === ForkName.phase0) {
|
|
8
|
+
throw Error("Unsupported fork. Attestations rewards calculation is not available in phase0");
|
|
9
|
+
}
|
|
10
|
+
const stateAltair = state;
|
|
11
|
+
const transitionCache = beforeProcessEpoch(stateAltair);
|
|
12
|
+
const [idealRewards, penalties] = computeIdealAttestationsRewardsAndPenaltiesAltair(stateAltair, transitionCache);
|
|
13
|
+
const totalRewards = computeTotalAttestationsRewardsAltair(stateAltair, transitionCache, idealRewards, penalties, validatorIds);
|
|
14
|
+
return { idealRewards, totalRewards };
|
|
15
|
+
}
|
|
16
|
+
function computeIdealAttestationsRewardsAndPenaltiesAltair(state, transitionCache) {
|
|
17
|
+
const baseRewardPerIncrement = transitionCache.baseRewardPerIncrement;
|
|
18
|
+
const activeBalanceByIncrement = transitionCache.totalActiveStakeByIncrement;
|
|
19
|
+
const maxEffectiveBalanceByIncrement = Math.floor(MAX_EFFECTIVE_BALANCE / EFFECTIVE_BALANCE_INCREMENT);
|
|
20
|
+
const idealRewards = Array.from({ length: maxEffectiveBalanceByIncrement + 1 }, (_, effectiveBalanceByIncrement) => ({
|
|
21
|
+
...defaultAttestationsReward,
|
|
22
|
+
effectiveBalance: effectiveBalanceByIncrement * EFFECTIVE_BALANCE_INCREMENT,
|
|
23
|
+
}));
|
|
24
|
+
const attestationsPenalties = Array.from({ length: maxEffectiveBalanceByIncrement + 1 }, (_, effectiveBalanceByIncrement) => ({
|
|
25
|
+
...defaultAttestationsPenalty,
|
|
26
|
+
effectiveBalance: effectiveBalanceByIncrement * EFFECTIVE_BALANCE_INCREMENT,
|
|
27
|
+
}));
|
|
28
|
+
for (let i = 0; i < PARTICIPATION_FLAG_WEIGHTS.length; i++) {
|
|
29
|
+
const weight = PARTICIPATION_FLAG_WEIGHTS[i];
|
|
30
|
+
let unslashedStakeByIncrement;
|
|
31
|
+
let flagName;
|
|
32
|
+
switch (i) {
|
|
33
|
+
case TIMELY_SOURCE_FLAG_INDEX: {
|
|
34
|
+
unslashedStakeByIncrement = transitionCache.prevEpochUnslashedStake.sourceStakeByIncrement;
|
|
35
|
+
flagName = "source";
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
case TIMELY_TARGET_FLAG_INDEX: {
|
|
39
|
+
unslashedStakeByIncrement = transitionCache.prevEpochUnslashedStake.targetStakeByIncrement;
|
|
40
|
+
flagName = "target";
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
case TIMELY_HEAD_FLAG_INDEX: {
|
|
44
|
+
unslashedStakeByIncrement = transitionCache.prevEpochUnslashedStake.headStakeByIncrement;
|
|
45
|
+
flagName = "head";
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
default: {
|
|
49
|
+
throw Error(`Unable to retrieve unslashed stake. Unknown participation flag index: ${i}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
for (let effectiveBalanceByIncrement = 0; effectiveBalanceByIncrement <= maxEffectiveBalanceByIncrement; effectiveBalanceByIncrement++) {
|
|
53
|
+
const baseReward = effectiveBalanceByIncrement * baseRewardPerIncrement;
|
|
54
|
+
const rewardNumerator = baseReward * weight * unslashedStakeByIncrement;
|
|
55
|
+
const idealReward = rewardNumerator / activeBalanceByIncrement / WEIGHT_DENOMINATOR;
|
|
56
|
+
const penalty = (baseReward * weight) / WEIGHT_DENOMINATOR; // Positive number indicates penalty
|
|
57
|
+
const idealAttestationsReward = idealRewards[effectiveBalanceByIncrement];
|
|
58
|
+
idealAttestationsReward[flagName] = isInInactivityLeak(state) ? 0 : idealReward; // No attestations rewards during inactivity leak
|
|
59
|
+
if (flagName !== "head") {
|
|
60
|
+
const attestationPenalty = attestationsPenalties[effectiveBalanceByIncrement];
|
|
61
|
+
attestationPenalty[flagName] = penalty;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return [idealRewards, attestationsPenalties];
|
|
66
|
+
}
|
|
67
|
+
// Same calculation as `getRewardsAndPenaltiesAltair` but returns the breakdown of rewards instead of aggregated
|
|
68
|
+
function computeTotalAttestationsRewardsAltair(state, transitionCache, idealRewards, penalties, validatorIds // validatorIds filter
|
|
69
|
+
) {
|
|
70
|
+
const rewards = [];
|
|
71
|
+
const { statuses } = transitionCache;
|
|
72
|
+
const { epochCtx, config } = state;
|
|
73
|
+
const validatorIndices = validatorIds
|
|
74
|
+
?.map((id) => (typeof id === "number" ? id : epochCtx.pubkey2index.get(id)))
|
|
75
|
+
.filter((index) => index !== undefined); // Validator indices to include in the result
|
|
76
|
+
const inactivityPenaltyDenominator = config.INACTIVITY_SCORE_BIAS * INACTIVITY_PENALTY_QUOTIENT_ALTAIR;
|
|
77
|
+
for (let i = 0; i < statuses.length; i++) {
|
|
78
|
+
if (validatorIndices !== undefined && !validatorIndices.includes(i)) {
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
const status = statuses[i];
|
|
82
|
+
if (!hasMarkers(status.flags, FLAG_ELIGIBLE_ATTESTER)) {
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
const effectiveBalanceIncrement = epochCtx.effectiveBalanceIncrements[i];
|
|
86
|
+
const currentRewards = { ...defaultAttestationsReward, validatorIndex: i };
|
|
87
|
+
if (hasMarkers(status.flags, FLAG_PREV_SOURCE_ATTESTER_UNSLASHED)) {
|
|
88
|
+
currentRewards.source = idealRewards[effectiveBalanceIncrement].source;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
currentRewards.source = penalties[effectiveBalanceIncrement].source * -1; // Negative reward to indicate penalty
|
|
92
|
+
}
|
|
93
|
+
if (hasMarkers(status.flags, FLAG_PREV_TARGET_ATTESTER_UNSLASHED)) {
|
|
94
|
+
currentRewards.target = idealRewards[effectiveBalanceIncrement].target;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
currentRewards.target = penalties[effectiveBalanceIncrement].target * -1;
|
|
98
|
+
// Also incur inactivity penalty if not voting target correctly
|
|
99
|
+
const inactivityPenaltyNumerator = effectiveBalanceIncrement * EFFECTIVE_BALANCE_INCREMENT * state.inactivityScores.get(i);
|
|
100
|
+
currentRewards.inactivity = Math.floor(inactivityPenaltyNumerator / inactivityPenaltyDenominator) * -1;
|
|
101
|
+
}
|
|
102
|
+
if (hasMarkers(status.flags, FLAG_PREV_HEAD_ATTESTER_UNSLASHED)) {
|
|
103
|
+
currentRewards.head = idealRewards[effectiveBalanceIncrement].head;
|
|
104
|
+
}
|
|
105
|
+
rewards.push(currentRewards);
|
|
106
|
+
}
|
|
107
|
+
return rewards;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=attestationsRewards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attestationsRewards.js","sourceRoot":"","sources":["../../../src/chain/rewards/attestationsRewards.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { deneb, RootHex, allForks } from "@lodestar/types";
|
|
2
2
|
import { ChainForkConfig } from "@lodestar/config";
|
|
3
|
-
import { BlockInput, GossipedInputType } from "../blocks/types.js";
|
|
3
|
+
import { BlockInput, NullBlockInput, GossipedInputType } from "../blocks/types.js";
|
|
4
4
|
import { Metrics } from "../../metrics/index.js";
|
|
5
5
|
export declare enum BlockInputAvailabilitySource {
|
|
6
6
|
GOSSIP = "gossip",
|
|
@@ -38,7 +38,7 @@ export declare class SeenGossipBlockInput {
|
|
|
38
38
|
expectedBlobs: number;
|
|
39
39
|
};
|
|
40
40
|
} | {
|
|
41
|
-
blockInput:
|
|
41
|
+
blockInput: NullBlockInput;
|
|
42
42
|
blockInputMeta: {
|
|
43
43
|
pending: GossipedInputType.block;
|
|
44
44
|
haveBlobs: number;
|
|
@@ -55,7 +55,7 @@ export class SeenGossipBlockInput {
|
|
|
55
55
|
if (!this.blockInputCache.has(blockHex)) {
|
|
56
56
|
this.blockInputCache.set(blockHex, blockCache);
|
|
57
57
|
}
|
|
58
|
-
const { block: signedBlock, blockBytes, blobsCache, availabilityPromise, resolveAvailability } = blockCache;
|
|
58
|
+
const { block: signedBlock, blockBytes, blobsCache, availabilityPromise, resolveAvailability, blockInputPromise, resolveBlockInput, } = blockCache;
|
|
59
59
|
if (signedBlock !== undefined) {
|
|
60
60
|
if (config.getForkSeq(signedBlock.message.slot) < ForkSeq.deneb) {
|
|
61
61
|
return {
|
|
@@ -75,14 +75,18 @@ export class SeenGossipBlockInput {
|
|
|
75
75
|
resolveAvailability(allBlobs);
|
|
76
76
|
metrics?.syncUnknownBlock.resolveAvailabilitySource.inc({ source: BlockInputAvailabilitySource.GOSSIP });
|
|
77
77
|
const { blobs, blobsBytes } = allBlobs;
|
|
78
|
+
const blockInput = getBlockInput.postDeneb(config, signedBlock, BlockSource.gossip, blobs, blockBytes ?? null, blobsBytes);
|
|
79
|
+
resolveBlockInput(blockInput);
|
|
78
80
|
return {
|
|
79
|
-
blockInput
|
|
81
|
+
blockInput,
|
|
80
82
|
blockInputMeta: { pending: null, haveBlobs: blobs.length, expectedBlobs: blobKzgCommitments.length },
|
|
81
83
|
};
|
|
82
84
|
}
|
|
83
85
|
else {
|
|
86
|
+
const blockInput = getBlockInput.blobsPromise(config, signedBlock, BlockSource.gossip, blobsCache, blockBytes ?? null, availabilityPromise, resolveAvailability);
|
|
87
|
+
resolveBlockInput(blockInput);
|
|
84
88
|
return {
|
|
85
|
-
blockInput
|
|
89
|
+
blockInput,
|
|
86
90
|
blockInputMeta: {
|
|
87
91
|
pending: GossipedInputType.blob,
|
|
88
92
|
haveBlobs: blobsCache.size,
|
|
@@ -94,23 +98,34 @@ export class SeenGossipBlockInput {
|
|
|
94
98
|
else {
|
|
95
99
|
// will need to wait for the block to showup
|
|
96
100
|
return {
|
|
97
|
-
blockInput:
|
|
101
|
+
blockInput: {
|
|
102
|
+
block: null,
|
|
103
|
+
blockRootHex: blockHex,
|
|
104
|
+
blobsCache,
|
|
105
|
+
availabilityPromise,
|
|
106
|
+
resolveAvailability,
|
|
107
|
+
blockInputPromise,
|
|
108
|
+
},
|
|
98
109
|
blockInputMeta: { pending: GossipedInputType.block, haveBlobs: blobsCache.size, expectedBlobs: null },
|
|
99
110
|
};
|
|
100
111
|
}
|
|
101
112
|
}
|
|
102
113
|
}
|
|
103
114
|
function getEmptyBlockInputCacheEntry() {
|
|
104
|
-
// Capture both the promise and its callbacks
|
|
115
|
+
// Capture both the promise and its callbacks for blockInput and final availability
|
|
105
116
|
// It is not spec'ed but in tests in Firefox and NodeJS the promise constructor is run immediately
|
|
117
|
+
let resolveBlockInput = null;
|
|
118
|
+
const blockInputPromise = new Promise((resolveCB) => {
|
|
119
|
+
resolveBlockInput = resolveCB;
|
|
120
|
+
});
|
|
106
121
|
let resolveAvailability = null;
|
|
107
122
|
const availabilityPromise = new Promise((resolveCB) => {
|
|
108
123
|
resolveAvailability = resolveCB;
|
|
109
124
|
});
|
|
110
|
-
if (resolveAvailability === null) {
|
|
125
|
+
if (resolveAvailability === null || resolveBlockInput === null) {
|
|
111
126
|
throw Error("Promise Constructor was not executed immediately");
|
|
112
127
|
}
|
|
113
128
|
const blobsCache = new Map();
|
|
114
|
-
return { availabilityPromise, resolveAvailability, blobsCache };
|
|
129
|
+
return { blockInputPromise, resolveBlockInput, availabilityPromise, resolveAvailability, blobsCache };
|
|
115
130
|
}
|
|
116
131
|
//# sourceMappingURL=seenGossipBlockInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seenGossipBlockInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAiB,GAAG,EAAW,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,sBAAsB,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEjE,OAAO,
|
|
1
|
+
{"version":3,"file":"seenGossipBlockInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
|
|
|
3
3
|
import { routes } from "@lodestar/api";
|
|
4
4
|
import { Metrics } from "../../metrics/index.js";
|
|
5
5
|
import { StateCloneOpts } from "../regen/interface.js";
|
|
6
|
-
import { CheckpointStateCache
|
|
6
|
+
import { CheckpointStateCache } from "./types.js";
|
|
7
7
|
export type CheckpointHex = {
|
|
8
8
|
epoch: Epoch;
|
|
9
9
|
rootHex: RootHex;
|
|
@@ -13,9 +13,8 @@ export type CheckpointHex = {
|
|
|
13
13
|
* belonging to checkpoint
|
|
14
14
|
*
|
|
15
15
|
* Similar API to Repository
|
|
16
|
-
* TODO: rename to MemoryCheckpointStateCache in the next PR of n-historical states
|
|
17
16
|
*/
|
|
18
|
-
export declare class
|
|
17
|
+
export declare class InMemoryCheckpointStateCache implements CheckpointStateCache {
|
|
19
18
|
private readonly cache;
|
|
20
19
|
/** Epoch -> Set<blockRoot> */
|
|
21
20
|
private readonly epochIndex;
|
|
@@ -8,9 +8,8 @@ const MAX_EPOCHS = 10;
|
|
|
8
8
|
* belonging to checkpoint
|
|
9
9
|
*
|
|
10
10
|
* Similar API to Repository
|
|
11
|
-
* TODO: rename to MemoryCheckpointStateCache in the next PR of n-historical states
|
|
12
11
|
*/
|
|
13
|
-
export class
|
|
12
|
+
export class InMemoryCheckpointStateCache {
|
|
14
13
|
constructor({ metrics }) {
|
|
15
14
|
/** Epoch -> Set<blockRoot> */
|
|
16
15
|
this.epochIndex = new MapDef(() => new Set());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateContextCheckpointsCache.js","sourceRoot":"","sources":["../../../src/chain/stateCache/stateContextCheckpointsCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAIvC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"stateContextCheckpointsCache.js","sourceRoot":"","sources":["../../../src/chain/stateCache/stateContextCheckpointsCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,13 +86,13 @@ export async function validateGossipBlock(config, chain, signedBlock, fork) {
|
|
|
86
86
|
slot: blockSlot,
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
|
-
//
|
|
89
|
+
// use getPreState to reload state if needed. It also checks for whether the current finalized checkpoint is an ancestor of the block.
|
|
90
90
|
// As a result, we throw an IGNORE (whereas the spec says we should REJECT for this scenario).
|
|
91
91
|
// this is something we should change this in the future to make the code airtight to the spec.
|
|
92
92
|
// [IGNORE] The block's parent (defined by block.parent_root) has been seen (via both gossip and non-gossip sources) (a client MAY queue blocks for processing once the parent block is retrieved).
|
|
93
93
|
// [REJECT] The block's parent (defined by block.parent_root) passes validation.
|
|
94
94
|
const blockState = await chain.regen
|
|
95
|
-
.
|
|
95
|
+
.getPreState(block, { dontTransferCache: true }, RegenCaller.validateGossipBlock)
|
|
96
96
|
.catch(() => {
|
|
97
97
|
throw new BlockGossipError(GossipAction.IGNORE, { code: BlockErrorCode.PARENT_UNKNOWN, parentRoot });
|
|
98
98
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ const getBlockByNumberOpts = { routeId: "getBlockByNumber" };
|
|
|
15
15
|
const getBlockByHashOpts = { routeId: "getBlockByHash" };
|
|
16
16
|
const getBlockNumberOpts = { routeId: "getBlockNumber" };
|
|
17
17
|
const getLogsOpts = { routeId: "getLogs" };
|
|
18
|
-
const isOneMinutePassed = createElapsedTimeTracker({ minElapsedTime:
|
|
18
|
+
const isOneMinutePassed = createElapsedTimeTracker({ minElapsedTime: 60_000 });
|
|
19
19
|
export class Eth1Provider {
|
|
20
20
|
constructor(config, opts, signal, metrics) {
|
|
21
21
|
// The default state is ONLINE, it will be updated to offline if we receive a http error
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eth1Provider.js","sourceRoot":"","sources":["../../../src/eth1/provider/eth1Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAC,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAGtG,OAAO,EAAa,YAAY,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAY,iBAAiB,EAAgB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAC,qBAAqB,EAAc,MAAM,eAAe,CAAC;AACjE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAC,2BAA2B,EAAE,sBAAsB,EAAC,MAAM,iCAAiC,CAAC;AACpG,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,uBAAuB,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAyB9F,0DAA0D;AAC1D,MAAM,qBAAqB,GAAY,EAAC,OAAO,EAAE,0BAA0B,EAAC,CAAC;AAC7E,MAAM,oBAAoB,GAAY,EAAC,OAAO,EAAE,kBAAkB,EAAC,CAAC;AACpE,MAAM,kBAAkB,GAAY,EAAC,OAAO,EAAE,gBAAgB,EAAC,CAAC;AAChE,MAAM,kBAAkB,GAAY,EAAC,OAAO,EAAE,gBAAgB,EAAC,CAAC;AAChE,MAAM,WAAW,GAAY,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC;AAElD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,EAAC,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"eth1Provider.js","sourceRoot":"","sources":["../../../src/eth1/provider/eth1Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAC,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAGtG,OAAO,EAAa,YAAY,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAY,iBAAiB,EAAgB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAC,qBAAqB,EAAc,MAAM,eAAe,CAAC;AACjE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAC,2BAA2B,EAAE,sBAAsB,EAAC,MAAM,iCAAiC,CAAC;AACpG,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,uBAAuB,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAyB9F,0DAA0D;AAC1D,MAAM,qBAAqB,GAAY,EAAC,OAAO,EAAE,0BAA0B,EAAC,CAAC;AAC7E,MAAM,oBAAoB,GAAY,EAAC,OAAO,EAAE,kBAAkB,EAAC,CAAC;AACpE,MAAM,kBAAkB,GAAY,EAAC,OAAO,EAAE,gBAAgB,EAAC,CAAC;AAChE,MAAM,kBAAkB,GAAY,EAAC,OAAO,EAAE,gBAAgB,EAAC,CAAC;AAChE,MAAM,WAAW,GAAY,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC;AAElD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,EAAC,cAAc,EAAE,MAAM,EAAC,CAAC,CAAC;AAE7E,MAAM,OAAO,YAAY;IAQvB,YACE,MAAqD,EACrD,IAEC,EACD,MAAoB,EACpB,OAAyC;QAV3C,wFAAwF;QAChF,UAAK,GAAsB,iBAAiB,CAAC,MAAM,CAAC;QAW1D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,0BAA0B,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAE3E,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,qBAAqB,CAAC;QAChE,IAAI,CAAC,GAAG,GAAG,IAAI,iBAAiB,CAAC,YAAY,EAAE;YAC7C,MAAM;YACN,gGAAgG;YAChG,iBAAiB,EAAE,uBAAuB;YAC1C,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;YACrE,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,EAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;QAE5F,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC;YAEtC,IAAI,QAAQ,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAC1C,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,6BAA6B,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;YACrF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;YAC5D,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC;YACxC,CAAC;iBAAM,IAAK,KAAiB,YAAY,YAAY,IAAK,KAAiB,YAAY,oBAAoB,EAAE,CAAC;gBAC5G,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;YACvC,CAAC;iBAAM,IAAI,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,sBAAsB,CAAC,QAAQ,CAAE,KAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvG,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC;YACzC,CAAC;iBAAM,IAAI,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,2BAA2B,CAAC,QAAQ,CAAE,KAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5G,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC;YAC7C,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAC5C,IAAI,iBAAiB,EAAE,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,0BAA0B,EAC1B;wBACE,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC,kBAAkB,EAAE;qBAC3F,EACD,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,CAAC,6BAA6B,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,OAAe;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YACpC,SAAS;YACT,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,sBAAsB;YACpC,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,OAAe;QACxD,MAAM,MAAM,GAAG,sBAAsB,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CACzC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,EAAC,CAAC,CAAC,EAC1G,qBAAqB,CACtB,CAAC;QACF,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,WAA8B;QACnD,MAAM,MAAM,GAAG,sBAAsB,CAAC;QACtC,MAAM,cAAc,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAClG,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK;QACnB,2DAA2D;QAC3D,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,EAAC,EACzC,oBAAoB,CACrB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,YAAoB;QACvC,MAAM,MAAM,GAAG,oBAAoB,CAAC;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK;QACnB,2DAA2D;QAC3D,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,EAAC,EACvC,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,MAAM,GAAG,iBAAiB,CAAC;QACjC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CACzC,EAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAC,EACpB,kBAAkB,CACnB,CAAC;QACF,OAAO,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAe;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAuC,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,CAAC,CAAC;IACrG,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAKb;QACC,MAAM,MAAM,GAAG,aAAa,CAAC;QAC7B,MAAM,UAAU,GAAG;YACjB,GAAG,OAAO;YACV,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3C,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;SACxC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAClC,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAC,EAC9B,WAAW,CACZ,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC,CAAC;IACN,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAAC,QAA4B;IACzD,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACxE,OAAO;QACL,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACzC,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;QAC3D,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;KAChE,CAAC;AACJ,CAAC"}
|
|
@@ -1035,13 +1035,13 @@ export function createLodestarMetrics(register, metadata, anchorState) {
|
|
|
1035
1035
|
name: "validator_monitor_proposer_balance_delta_known_gwei",
|
|
1036
1036
|
help: "Balance delta of known block proposer after importing a valid block",
|
|
1037
1037
|
// Jul22 mainnet block reward is consistently between 29,000,000-28,000,000 GWei
|
|
1038
|
-
buckets: [
|
|
1038
|
+
buckets: [10_000, 100_000, 1e6, 10e6, 20e6, 50e6, 100e6, 1000e6],
|
|
1039
1039
|
}),
|
|
1040
1040
|
},
|
|
1041
1041
|
proposerBalanceDeltaAny: register.histogram({
|
|
1042
1042
|
name: "lodestar_proposer_balance_delta_any_gwei",
|
|
1043
1043
|
help: "Balance delta of every block proposer after importing a valid block",
|
|
1044
|
-
buckets: [
|
|
1044
|
+
buckets: [10_000, 100_000, 1e6, 10e6, 20e6, 50e6, 100e6, 1000e6],
|
|
1045
1045
|
}),
|
|
1046
1046
|
// regen metrics
|
|
1047
1047
|
stateCache: {
|