@lodestar/beacon-node 1.36.0-dev.8ac1ed5b17 → 1.36.0-dev.9dbc67b579
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/lodestar/index.d.ts +5 -0
- package/lib/api/impl/lodestar/index.d.ts.map +1 -1
- package/lib/api/impl/lodestar/index.js +29 -1
- package/lib/api/impl/lodestar/index.js.map +1 -1
- package/lib/api/impl/node/utils.js +1 -1
- package/lib/api/impl/node/utils.js.map +1 -1
- package/lib/chain/chain.d.ts +5 -2
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +27 -12
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/forkChoice/index.d.ts +9 -1
- package/lib/chain/forkChoice/index.d.ts.map +1 -1
- package/lib/chain/forkChoice/index.js +108 -3
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/interface.d.ts +2 -0
- package/lib/chain/interface.d.ts.map +1 -1
- package/lib/chain/stateCache/datastore/db.d.ts +12 -0
- package/lib/chain/stateCache/datastore/db.d.ts.map +1 -1
- package/lib/chain/stateCache/datastore/db.js +70 -0
- package/lib/chain/stateCache/datastore/db.js.map +1 -1
- package/lib/chain/stateCache/datastore/file.d.ts +1 -0
- package/lib/chain/stateCache/datastore/file.d.ts.map +1 -1
- package/lib/chain/stateCache/datastore/file.js +7 -0
- package/lib/chain/stateCache/datastore/file.js.map +1 -1
- package/lib/chain/stateCache/datastore/types.d.ts +1 -0
- package/lib/chain/stateCache/datastore/types.d.ts.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
- package/lib/node/nodejs.d.ts +2 -1
- package/lib/node/nodejs.d.ts.map +1 -1
- package/lib/node/nodejs.js +2 -1
- package/lib/node/nodejs.js.map +1 -1
- package/lib/sync/range/range.d.ts.map +1 -1
- package/lib/sync/range/range.js +2 -1
- package/lib/sync/range/range.js.map +1 -1
- package/lib/sync/utils/remoteSyncType.d.ts +2 -1
- package/lib/sync/utils/remoteSyncType.d.ts.map +1 -1
- package/lib/sync/utils/remoteSyncType.js +19 -4
- package/lib/sync/utils/remoteSyncType.js.map +1 -1
- package/lib/util/sszBytes.d.ts +2 -0
- package/lib/util/sszBytes.d.ts.map +1 -1
- package/lib/util/sszBytes.js +25 -0
- package/lib/util/sszBytes.js.map +1 -1
- package/package.json +14 -14
- package/src/api/impl/lodestar/index.ts +36 -1
- package/src/api/impl/node/utils.ts +1 -1
- package/src/chain/chain.ts +43 -18
- package/src/chain/forkChoice/index.ts +177 -2
- package/src/chain/interface.ts +2 -0
- package/src/chain/stateCache/datastore/db.ts +89 -1
- package/src/chain/stateCache/datastore/file.ts +8 -0
- package/src/chain/stateCache/datastore/types.ts +1 -0
- package/src/index.ts +2 -0
- package/src/network/reqresp/handlers/beaconBlocksByRange.ts +3 -1
- package/src/node/nodejs.ts +3 -0
- package/src/sync/range/range.ts +2 -1
- package/src/sync/utils/remoteSyncType.ts +23 -4
- package/src/util/sszBytes.ts +30 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ExecutionStatus, ForkChoice, ForkChoiceStore, ProtoArray, } from "@lodestar/fork-choice";
|
|
2
|
-
import {
|
|
2
|
+
import { ZERO_HASH_HEX } from "@lodestar/params";
|
|
3
|
+
import { DataAvailabilityStatus, computeAnchorCheckpoint, computeEpochAtSlot, computeStartSlotAtEpoch, getBlockRootAtSlot, getEffectiveBalanceIncrementsZeroInactive, isExecutionStateType, isMergeTransitionComplete, } from "@lodestar/state-transition";
|
|
4
|
+
import { ssz } from "@lodestar/types";
|
|
3
5
|
import { toRootHex } from "@lodestar/utils";
|
|
4
6
|
import { GENESIS_SLOT } from "../../constants/index.js";
|
|
5
7
|
import { ChainEvent } from "../emitter.js";
|
|
@@ -11,7 +13,15 @@ export var ForkchoiceCaller;
|
|
|
11
13
|
/**
|
|
12
14
|
* Fork Choice extended with a ChainEventEmitter
|
|
13
15
|
*/
|
|
14
|
-
export function initializeForkChoice(config, emitter, currentSlot, state, opts, justifiedBalancesGetter, metrics, logger) {
|
|
16
|
+
export function initializeForkChoice(config, emitter, currentSlot, state, isFinalizedState, opts, justifiedBalancesGetter, metrics, logger) {
|
|
17
|
+
return isFinalizedState
|
|
18
|
+
? initializeForkChoiceFromFinalizedState(config, emitter, currentSlot, state, opts, justifiedBalancesGetter, metrics, logger)
|
|
19
|
+
: initializeForkChoiceFromUnfinalizedState(config, emitter, currentSlot, state, opts, justifiedBalancesGetter, metrics, logger);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Initialize forkchoice from a finalized state.
|
|
23
|
+
*/
|
|
24
|
+
export function initializeForkChoiceFromFinalizedState(config, emitter, currentSlot, state, opts, justifiedBalancesGetter, metrics, logger) {
|
|
15
25
|
const { blockHeader, checkpoint } = computeAnchorCheckpoint(config, state);
|
|
16
26
|
const finalizedCheckpoint = { ...checkpoint };
|
|
17
27
|
const justifiedCheckpoint = {
|
|
@@ -34,7 +44,7 @@ export function initializeForkChoice(config, emitter, currentSlot, state, opts,
|
|
|
34
44
|
parentRoot: toRootHex(blockHeader.parentRoot),
|
|
35
45
|
stateRoot: toRootHex(blockHeader.stateRoot),
|
|
36
46
|
blockRoot: toRootHex(checkpoint.root),
|
|
37
|
-
timeliness: true, //
|
|
47
|
+
timeliness: true, // Optimistically assume is timely
|
|
38
48
|
justifiedEpoch: justifiedCheckpoint.epoch,
|
|
39
49
|
justifiedRoot: toRootHex(justifiedCheckpoint.root),
|
|
40
50
|
finalizedEpoch: finalizedCheckpoint.epoch,
|
|
@@ -53,4 +63,99 @@ export function initializeForkChoice(config, emitter, currentSlot, state, opts,
|
|
|
53
63
|
dataAvailabilityStatus: DataAvailabilityStatus.PreData,
|
|
54
64
|
}, currentSlot), state.validators.length, metrics, opts, logger);
|
|
55
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Initialize forkchoice from an unfinalized state.
|
|
68
|
+
*/
|
|
69
|
+
export function initializeForkChoiceFromUnfinalizedState(config, emitter, currentSlot, unfinalizedState, opts, justifiedBalancesGetter, metrics, logger) {
|
|
70
|
+
const { blockHeader } = computeAnchorCheckpoint(config, unfinalizedState);
|
|
71
|
+
const finalizedCheckpoint = unfinalizedState.finalizedCheckpoint.toValue();
|
|
72
|
+
const justifiedCheckpoint = unfinalizedState.currentJustifiedCheckpoint.toValue();
|
|
73
|
+
const headRoot = toRootHex(ssz.phase0.BeaconBlockHeader.hashTreeRoot(blockHeader));
|
|
74
|
+
const logCtx = {
|
|
75
|
+
currentSlot: currentSlot,
|
|
76
|
+
stateSlot: unfinalizedState.slot,
|
|
77
|
+
headSlot: blockHeader.slot,
|
|
78
|
+
headRoot: headRoot,
|
|
79
|
+
finalizedEpoch: finalizedCheckpoint.epoch,
|
|
80
|
+
finalizedRoot: toRootHex(finalizedCheckpoint.root),
|
|
81
|
+
justifiedEpoch: justifiedCheckpoint.epoch,
|
|
82
|
+
justifiedRoot: toRootHex(justifiedCheckpoint.root),
|
|
83
|
+
};
|
|
84
|
+
logger?.warn("Initializing fork choice from unfinalized state", logCtx);
|
|
85
|
+
// this is not the justified state, but there is no other ways to get justified balances
|
|
86
|
+
const justifiedBalances = getEffectiveBalanceIncrementsZeroInactive(unfinalizedState);
|
|
87
|
+
const store = new ForkChoiceStore(currentSlot, justifiedCheckpoint, finalizedCheckpoint, justifiedBalances, justifiedBalancesGetter, {
|
|
88
|
+
onJustified: (cp) => emitter.emit(ChainEvent.forkChoiceJustified, cp),
|
|
89
|
+
onFinalized: (cp) => emitter.emit(ChainEvent.forkChoiceFinalized, cp),
|
|
90
|
+
});
|
|
91
|
+
// this is the same to the finalized state
|
|
92
|
+
const headBlock = {
|
|
93
|
+
slot: blockHeader.slot,
|
|
94
|
+
parentRoot: toRootHex(blockHeader.parentRoot),
|
|
95
|
+
stateRoot: toRootHex(blockHeader.stateRoot),
|
|
96
|
+
blockRoot: headRoot,
|
|
97
|
+
targetRoot: headRoot,
|
|
98
|
+
timeliness: true, // Optimistically assume is timely
|
|
99
|
+
justifiedEpoch: justifiedCheckpoint.epoch,
|
|
100
|
+
justifiedRoot: toRootHex(justifiedCheckpoint.root),
|
|
101
|
+
finalizedEpoch: finalizedCheckpoint.epoch,
|
|
102
|
+
finalizedRoot: toRootHex(finalizedCheckpoint.root),
|
|
103
|
+
unrealizedJustifiedEpoch: justifiedCheckpoint.epoch,
|
|
104
|
+
unrealizedJustifiedRoot: toRootHex(justifiedCheckpoint.root),
|
|
105
|
+
unrealizedFinalizedEpoch: finalizedCheckpoint.epoch,
|
|
106
|
+
unrealizedFinalizedRoot: toRootHex(finalizedCheckpoint.root),
|
|
107
|
+
...(isExecutionStateType(unfinalizedState) && isMergeTransitionComplete(unfinalizedState)
|
|
108
|
+
? {
|
|
109
|
+
executionPayloadBlockHash: toRootHex(unfinalizedState.latestExecutionPayloadHeader.blockHash),
|
|
110
|
+
executionPayloadNumber: unfinalizedState.latestExecutionPayloadHeader.blockNumber,
|
|
111
|
+
executionStatus: blockHeader.slot === GENESIS_SLOT ? ExecutionStatus.Valid : ExecutionStatus.Syncing,
|
|
112
|
+
}
|
|
113
|
+
: { executionPayloadBlockHash: null, executionStatus: ExecutionStatus.PreMerge }),
|
|
114
|
+
dataAvailabilityStatus: DataAvailabilityStatus.PreData,
|
|
115
|
+
};
|
|
116
|
+
const parentSlot = blockHeader.slot - 1;
|
|
117
|
+
const parentEpoch = computeEpochAtSlot(parentSlot);
|
|
118
|
+
// parent of head block
|
|
119
|
+
const parentBlock = {
|
|
120
|
+
...headBlock,
|
|
121
|
+
slot: parentSlot,
|
|
122
|
+
// link this to the dummy justified block
|
|
123
|
+
parentRoot: toRootHex(justifiedCheckpoint.root),
|
|
124
|
+
// dummy data, we're not able to regen state before headBlock
|
|
125
|
+
stateRoot: ZERO_HASH_HEX,
|
|
126
|
+
blockRoot: headBlock.parentRoot,
|
|
127
|
+
targetRoot: toRootHex(getBlockRootAtSlot(unfinalizedState, computeStartSlotAtEpoch(parentEpoch))),
|
|
128
|
+
};
|
|
129
|
+
const justifiedBlock = {
|
|
130
|
+
...headBlock,
|
|
131
|
+
slot: computeStartSlotAtEpoch(justifiedCheckpoint.epoch),
|
|
132
|
+
// link this to the finalized root so that getAncestors can find the finalized block
|
|
133
|
+
parentRoot: toRootHex(finalizedCheckpoint.root),
|
|
134
|
+
// dummy data, we're not able to regen state before headBlock
|
|
135
|
+
stateRoot: ZERO_HASH_HEX,
|
|
136
|
+
blockRoot: toRootHex(justifiedCheckpoint.root),
|
|
137
|
+
// same to blockRoot
|
|
138
|
+
targetRoot: toRootHex(justifiedCheckpoint.root),
|
|
139
|
+
};
|
|
140
|
+
const finalizedBlock = {
|
|
141
|
+
...headBlock,
|
|
142
|
+
slot: computeStartSlotAtEpoch(finalizedCheckpoint.epoch),
|
|
143
|
+
// we don't care parent of finalized block
|
|
144
|
+
parentRoot: ZERO_HASH_HEX,
|
|
145
|
+
// dummy data, we're not able to regen state before headBlock
|
|
146
|
+
stateRoot: ZERO_HASH_HEX,
|
|
147
|
+
blockRoot: toRootHex(finalizedCheckpoint.root),
|
|
148
|
+
// same to blockRoot
|
|
149
|
+
targetRoot: toRootHex(finalizedCheckpoint.root),
|
|
150
|
+
};
|
|
151
|
+
const protoArray = ProtoArray.initialize(finalizedBlock, currentSlot);
|
|
152
|
+
protoArray.onBlock(justifiedBlock, currentSlot);
|
|
153
|
+
protoArray.onBlock(parentBlock, currentSlot);
|
|
154
|
+
protoArray.onBlock(headBlock, currentSlot);
|
|
155
|
+
logger?.verbose("Initialized protoArray successfully", { ...logCtx, length: protoArray.length() });
|
|
156
|
+
// forkchoiceConstructor is only used for some test cases
|
|
157
|
+
// production code use ForkChoice constructor directly
|
|
158
|
+
const forkchoiceConstructor = opts.forkchoiceConstructor ?? ForkChoice;
|
|
159
|
+
return new forkchoiceConstructor(config, store, protoArray, unfinalizedState.validators.length, metrics, opts, logger);
|
|
160
|
+
}
|
|
56
161
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/forkChoice/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,UAAU,EACV,eAAe,EAEf,UAAU,
|
|
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
|
@@ -133,6 +133,8 @@ export interface IBeaconChain {
|
|
|
133
133
|
executionOptimistic: boolean;
|
|
134
134
|
finalized: boolean;
|
|
135
135
|
} | null>;
|
|
136
|
+
/** Return serialized bytes of a persisted checkpoint state */
|
|
137
|
+
getPersistedCheckpointState(checkpoint?: phase0.Checkpoint): Promise<Uint8Array | null>;
|
|
136
138
|
/** Returns a cached state by checkpoint */
|
|
137
139
|
getStateByCheckpoint(checkpoint: CheckpointWithHex): {
|
|
138
140
|
state: BeaconStateAllForks;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,20 @@ export declare class DbCPStateDatastore implements CPStateDatastore {
|
|
|
10
10
|
write(cpKey: phase0.Checkpoint, stateBytes: Uint8Array): Promise<DatastoreKey>;
|
|
11
11
|
remove(serializedCheckpoint: DatastoreKey): Promise<void>;
|
|
12
12
|
read(serializedCheckpoint: DatastoreKey): Promise<Uint8Array | null>;
|
|
13
|
+
readLatestSafe(): Promise<Uint8Array | null>;
|
|
13
14
|
readKeys(): Promise<DatastoreKey[]>;
|
|
14
15
|
}
|
|
15
16
|
export declare function datastoreKeyToCheckpoint(key: DatastoreKey): phase0.Checkpoint;
|
|
16
17
|
export declare function checkpointToDatastoreKey(cp: phase0.Checkpoint): DatastoreKey;
|
|
18
|
+
/**
|
|
19
|
+
* Get the latest safe checkpoint state the node can use to boot from
|
|
20
|
+
* - it should be the checkpoint state that's unique in its epoch
|
|
21
|
+
* - its last processed block slot should be at epoch boundary or last slot of previous epoch
|
|
22
|
+
* - state slot should be at epoch boundary
|
|
23
|
+
* - state slot should be equal to epoch * SLOTS_PER_EPOCH
|
|
24
|
+
*
|
|
25
|
+
* return the serialized data of Current Root Checkpoint State (CRCS) or Previous Root Checkpoint State (PRCS)
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
export declare function getLatestSafeDatastoreKey(allKeys: DatastoreKey[], readFn: (key: DatastoreKey) => Promise<Uint8Array | null>): Promise<Uint8Array | null>;
|
|
17
29
|
//# sourceMappingURL=db.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/db.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/db.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAKnD,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,SAAS;IAEpC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAM9E,MAAM,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,IAAI,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIpE,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAO5C,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAG1C;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,UAAU,CAE7E;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,GAAG,YAAY,CAE5E;AAED;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,YAAY,EAAE,EACvB,MAAM,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GACxD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA4D5B"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { SLOTS_PER_EPOCH } from "@lodestar/params";
|
|
1
2
|
import { ssz } from "@lodestar/types";
|
|
3
|
+
import { MapDef } from "@lodestar/utils";
|
|
4
|
+
import { getLastProcessedSlotFromBeaconStateSerialized, getSlotFromBeaconStateSerialized, } from "../../../util/sszBytes.js";
|
|
2
5
|
/**
|
|
3
6
|
* Implementation of CPStateDatastore using db.
|
|
4
7
|
*/
|
|
@@ -18,6 +21,12 @@ export class DbCPStateDatastore {
|
|
|
18
21
|
async read(serializedCheckpoint) {
|
|
19
22
|
return this.db.checkpointState.getBinary(serializedCheckpoint);
|
|
20
23
|
}
|
|
24
|
+
async readLatestSafe() {
|
|
25
|
+
const allKeys = await this.readKeys();
|
|
26
|
+
if (allKeys.length === 0)
|
|
27
|
+
return null;
|
|
28
|
+
return getLatestSafeDatastoreKey(allKeys, this.read.bind(this));
|
|
29
|
+
}
|
|
21
30
|
async readKeys() {
|
|
22
31
|
return this.db.checkpointState.keys();
|
|
23
32
|
}
|
|
@@ -28,4 +37,65 @@ export function datastoreKeyToCheckpoint(key) {
|
|
|
28
37
|
export function checkpointToDatastoreKey(cp) {
|
|
29
38
|
return ssz.phase0.Checkpoint.serialize(cp);
|
|
30
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Get the latest safe checkpoint state the node can use to boot from
|
|
42
|
+
* - it should be the checkpoint state that's unique in its epoch
|
|
43
|
+
* - its last processed block slot should be at epoch boundary or last slot of previous epoch
|
|
44
|
+
* - state slot should be at epoch boundary
|
|
45
|
+
* - state slot should be equal to epoch * SLOTS_PER_EPOCH
|
|
46
|
+
*
|
|
47
|
+
* return the serialized data of Current Root Checkpoint State (CRCS) or Previous Root Checkpoint State (PRCS)
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
export async function getLatestSafeDatastoreKey(allKeys, readFn) {
|
|
51
|
+
const checkpointsByEpoch = new MapDef(() => []);
|
|
52
|
+
for (const key of allKeys) {
|
|
53
|
+
const cp = datastoreKeyToCheckpoint(key);
|
|
54
|
+
checkpointsByEpoch.getOrDefault(cp.epoch).push(key);
|
|
55
|
+
}
|
|
56
|
+
const dataStoreKeyByEpoch = new Map();
|
|
57
|
+
for (const [epoch, keys] of checkpointsByEpoch.entries()) {
|
|
58
|
+
// only consider epochs with a single checkpoint to avoid ambiguity from forks
|
|
59
|
+
if (keys.length === 1) {
|
|
60
|
+
dataStoreKeyByEpoch.set(epoch, keys[0]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const epochsDesc = Array.from(dataStoreKeyByEpoch.keys()).sort((a, b) => b - a);
|
|
64
|
+
for (const epoch of epochsDesc) {
|
|
65
|
+
const datastoreKey = dataStoreKeyByEpoch.get(epoch);
|
|
66
|
+
if (datastoreKey == null) {
|
|
67
|
+
// should not happen
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
const stateBytes = await readFn(datastoreKey);
|
|
71
|
+
if (stateBytes == null) {
|
|
72
|
+
// should not happen
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
const lastProcessedSlot = getLastProcessedSlotFromBeaconStateSerialized(stateBytes);
|
|
76
|
+
if (lastProcessedSlot == null) {
|
|
77
|
+
// cannot extract last processed slot from serialized state, skip
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
const stateSlot = getSlotFromBeaconStateSerialized(stateBytes);
|
|
81
|
+
if (stateSlot == null) {
|
|
82
|
+
// cannot extract slot from serialized state, skip
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (lastProcessedSlot !== stateSlot && lastProcessedSlot !== stateSlot - 1) {
|
|
86
|
+
// not CRCS or PRCS, skip
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
if (stateSlot % SLOTS_PER_EPOCH !== 0) {
|
|
90
|
+
// not at epoch boundary, skip
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
if (stateSlot !== SLOTS_PER_EPOCH * epoch) {
|
|
94
|
+
// should not happen after above checks, but just to be safe
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
return stateBytes;
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
31
101
|
//# sourceMappingURL=db.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/db.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export declare class FileCPStateDatastore implements CPStateDatastore {
|
|
|
10
10
|
write(cpKey: phase0.Checkpoint, stateBytes: Uint8Array): Promise<DatastoreKey>;
|
|
11
11
|
remove(serializedCheckpoint: DatastoreKey): Promise<void>;
|
|
12
12
|
read(serializedCheckpoint: DatastoreKey): Promise<Uint8Array | null>;
|
|
13
|
+
readLatestSafe(): Promise<Uint8Array | null>;
|
|
13
14
|
readKeys(): Promise<DatastoreKey[]>;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/file.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/file.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAK1D;;GAEG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,OAAO,EAAE,MAAM;IAMrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAO9E,MAAM,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD,IAAI,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAKpE,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAO5C,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAM1C"}
|
|
@@ -2,6 +2,7 @@ import path from "node:path";
|
|
|
2
2
|
import { ssz } from "@lodestar/types";
|
|
3
3
|
import { fromHex, toHex } from "@lodestar/utils";
|
|
4
4
|
import { ensureDir, readFile, readFileNames, removeFile, writeIfNotExist } from "../../../util/file.js";
|
|
5
|
+
import { getLatestSafeDatastoreKey } from "./db.js";
|
|
5
6
|
const CHECKPOINT_STATES_FOLDER = "checkpoint_states";
|
|
6
7
|
const CHECKPOINT_FILE_NAME_LENGTH = 82;
|
|
7
8
|
/**
|
|
@@ -36,6 +37,12 @@ export class FileCPStateDatastore {
|
|
|
36
37
|
const filePath = path.join(this.folderPath, toHex(serializedCheckpoint));
|
|
37
38
|
return readFile(filePath);
|
|
38
39
|
}
|
|
40
|
+
async readLatestSafe() {
|
|
41
|
+
const allKeys = await this.readKeys();
|
|
42
|
+
if (allKeys.length === 0)
|
|
43
|
+
return null;
|
|
44
|
+
return getLatestSafeDatastoreKey(allKeys, this.read.bind(this));
|
|
45
|
+
}
|
|
39
46
|
async readKeys() {
|
|
40
47
|
const fileNames = await readFileNames(this.folderPath);
|
|
41
48
|
return fileNames
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/file.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/file.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAC,yBAAyB,EAAC,MAAM,SAAS,CAAC;AAGlD,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AACrD,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACd,UAAU,CAAS;IAEpC,YAAY,OAAe;QACzB,kDAAkD;QAClD,+CAA+C;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,aAAa;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAwB,EAAE,UAAsB;QAC1D,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,oBAAkC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,oBAAkC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtC,OAAO,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,SAAS;aACb,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,2BAA2B,CAAC;aAClG,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF"}
|
|
@@ -4,6 +4,7 @@ export interface CPStateDatastore {
|
|
|
4
4
|
write: (cpKey: phase0.Checkpoint, stateBytes: Uint8Array) => Promise<DatastoreKey>;
|
|
5
5
|
remove: (key: DatastoreKey) => Promise<void>;
|
|
6
6
|
read: (key: DatastoreKey) => Promise<Uint8Array | null>;
|
|
7
|
+
readLatestSafe: () => Promise<Uint8Array | null>;
|
|
7
8
|
readKeys: () => Promise<DatastoreKey[]>;
|
|
8
9
|
init?: () => Promise<void>;
|
|
9
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGvC,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAGtC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACnF,MAAM,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACxD,QAAQ,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGvC,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAGtC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACnF,MAAM,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACxD,cAAc,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACjD,QAAQ,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export type { RestApiServerMetrics, RestApiServerModules, RestApiServerOpts } from "./api/rest/base.js";
|
|
2
2
|
export { RestApiServer } from "./api/rest/base.js";
|
|
3
3
|
export { checkAndPersistAnchorState, initStateFromDb, initStateFromEth1 } from "./chain/index.js";
|
|
4
|
+
export { DbCPStateDatastore } from "./chain/stateCache/datastore/db.js";
|
|
5
|
+
export { FileCPStateDatastore } from "./chain/stateCache/datastore/file.js";
|
|
4
6
|
export { BeaconDb, type IBeaconDb } from "./db/index.js";
|
|
5
7
|
export { Eth1Provider, type IEth1Provider } from "./eth1/index.js";
|
|
6
8
|
export { type HttpMetricsServer, RegistryMetricCreator, collectNodeJSMetrics, getHttpMetricsServer, } from "./metrics/index.js";
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAC,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAC,QAAQ,EAAE,KAAK,SAAS,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,YAAY,EAAE,KAAK,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EACL,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,KAAK,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC7E,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAC,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAC,kBAAkB,EAAC,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAC,QAAQ,EAAE,KAAK,SAAS,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,YAAY,EAAE,KAAK,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EACL,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,KAAK,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC7E,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// Export generic RestApi server for CLI
|
|
2
2
|
export { RestApiServer } from "./api/rest/base.js";
|
|
3
3
|
export { checkAndPersistAnchorState, initStateFromDb, initStateFromEth1 } from "./chain/index.js";
|
|
4
|
+
export { DbCPStateDatastore } from "./chain/stateCache/datastore/db.js";
|
|
5
|
+
export { FileCPStateDatastore } from "./chain/stateCache/datastore/file.js";
|
|
4
6
|
export { BeaconDb } from "./db/index.js";
|
|
5
7
|
export { Eth1Provider } from "./eth1/index.js";
|
|
6
8
|
// Export metrics utilities to de-duplicate validator metrics
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAGxC,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAC,QAAQ,EAAiB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,YAAY,EAAqB,MAAM,iBAAiB,CAAC;AACjE,6DAA6D;AAC7D,OAAO,EAEL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,2DAA2D;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAwB,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC7E,cAAc,iBAAiB,CAAC;AAChC,oEAAoE;AACpE,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAGxC,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAC,kBAAkB,EAAC,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAC,QAAQ,EAAiB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,YAAY,EAAqB,MAAM,iBAAiB,CAAC;AACjE,6DAA6D;AAC7D,OAAO,EAEL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,2DAA2D;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAwB,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC7E,cAAc,iBAAiB,CAAC;AAChC,oEAAoE;AACpE,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beaconBlocksByRange.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAA4B,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAI/C,wBAAuB,qBAAqB,CAC1C,OAAO,EAAE,MAAM,CAAC,0BAA0B,EAC1C,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,SAAS,GACZ,aAAa,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"beaconBlocksByRange.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAA4B,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAI/C,wBAAuB,qBAAqB,CAC1C,OAAO,EAAE,MAAM,CAAC,0BAA0B,EAC1C,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,SAAS,GACZ,aAAa,CAAC,gBAAgB,CAAC,CA2DjC;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,CAAC,0BAA0B,GACzC,KAAK,CAAC,0BAA0B,CAuBlC"}
|
|
@@ -8,7 +8,9 @@ export async function* onBeaconBlocksByRange(request, chain, db) {
|
|
|
8
8
|
const endSlot = startSlot + count;
|
|
9
9
|
const finalized = db.blockArchive;
|
|
10
10
|
const unfinalized = db.block;
|
|
11
|
-
|
|
11
|
+
// in the case of initializing from a non-finalized state, we don't have the finalized block so this api does not work
|
|
12
|
+
// chain.forkChoice.getFinalizeBlock().slot
|
|
13
|
+
const finalizedSlot = chain.forkChoice.getFinalizedCheckpointSlot();
|
|
12
14
|
// Finalized range of blocks
|
|
13
15
|
if (startSlot <= finalizedSlot) {
|
|
14
16
|
// Chain of blobs won't change
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beaconBlocksByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRange.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAIxC,kBAAkB;AAElB,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,qBAAqB,CAC1C,OAA0C,EAC1C,KAAmB,EACnB,EAAa;IAEb,MAAM,EAAC,SAAS,EAAE,KAAK,EAAC,GAAG,kCAAkC,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC;IAElC,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC;IAClC,MAAM,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC;IAC7B,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"beaconBlocksByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRange.ts"],"names":[],"mappings":"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"}
|
package/lib/node/nodejs.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ export type BeaconNodeInitModules = {
|
|
|
43
43
|
dataDir: string;
|
|
44
44
|
peerStoreDir?: string;
|
|
45
45
|
anchorState: BeaconStateAllForks;
|
|
46
|
+
isAnchorStateFinalized: boolean;
|
|
46
47
|
wsCheckpoint?: phase0.Checkpoint;
|
|
47
48
|
metricsRegistries?: Registry[];
|
|
48
49
|
};
|
|
@@ -76,7 +77,7 @@ export declare class BeaconNode {
|
|
|
76
77
|
* Initialize a beacon node. Initializes and `start`s the varied sub-component services of the
|
|
77
78
|
* beacon node
|
|
78
79
|
*/
|
|
79
|
-
static init<T extends BeaconNode = BeaconNode>({ opts, config, db, logger, processShutdownCallback, privateKey, dataDir, peerStoreDir, anchorState, wsCheckpoint, metricsRegistries, }: BeaconNodeInitModules): Promise<T>;
|
|
80
|
+
static init<T extends BeaconNode = BeaconNode>({ opts, config, db, logger, processShutdownCallback, privateKey, dataDir, peerStoreDir, anchorState, isAnchorStateFinalized, wsCheckpoint, metricsRegistries, }: BeaconNodeInitModules): Promise<T>;
|
|
80
81
|
/**
|
|
81
82
|
* Stop beacon node and its sub-components.
|
|
82
83
|
*/
|
package/lib/node/nodejs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodejs.d.ts","sourceRoot":"","sources":["../../src/node/nodejs.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"nodejs.d.ts","sourceRoot":"","sources":["../../src/node/nodejs.ts"],"names":[],"mappings":"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"}
|
package/lib/node/nodejs.js
CHANGED
|
@@ -81,7 +81,7 @@ export class BeaconNode {
|
|
|
81
81
|
* Initialize a beacon node. Initializes and `start`s the varied sub-component services of the
|
|
82
82
|
* beacon node
|
|
83
83
|
*/
|
|
84
|
-
static async init({ opts, config, db, logger, processShutdownCallback, privateKey, dataDir, peerStoreDir, anchorState, wsCheckpoint, metricsRegistries = [], }) {
|
|
84
|
+
static async init({ opts, config, db, logger, processShutdownCallback, privateKey, dataDir, peerStoreDir, anchorState, isAnchorStateFinalized, wsCheckpoint, metricsRegistries = [], }) {
|
|
85
85
|
if (hasher.name !== "hashtree") {
|
|
86
86
|
logger.warn(`hashtree is not supported, using hasher ${hasher.name}`);
|
|
87
87
|
}
|
|
@@ -122,6 +122,7 @@ export class BeaconNode {
|
|
|
122
122
|
metrics,
|
|
123
123
|
validatorMonitor,
|
|
124
124
|
anchorState,
|
|
125
|
+
isAnchorStateFinalized,
|
|
125
126
|
eth1: initializeEth1ForBlockProduction(opts.eth1, {
|
|
126
127
|
config,
|
|
127
128
|
db,
|
package/lib/node/nodejs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodejs.js","sourceRoot":"","sources":["../../src/node/nodejs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAMzD,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,mBAAmB,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAgB,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAmB,sBAAsB,EAAC,MAAM,8BAA8B,CAAC;AAEtF,OAAO,EAAC,gCAAgC,EAAC,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAC,0BAA0B,EAAE,yBAAyB,EAAC,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAA6B,aAAa,EAAE,oBAAoB,EAAC,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,OAAO,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,UAAU,EAAc,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAG9C,cAAc,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"nodejs.js","sourceRoot":"","sources":["../../src/node/nodejs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAQ,MAAM,EAAO,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,MAAM,EAAY,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAC,WAAW,EAAa,mBAAmB,EAAe,MAAM,YAAY,CAAC;AAGrF,oBAAY,cAAc;IACxB,cAAc,6BAA6B;CAC5C;AAED,KAAK,eAAe,GAAG;IACrB,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7C,CAAC;AAEF,KAAK,gBAAgB,GAAG,kBAAkB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AAE1E,oBAAY,eAAe;IACzB,wCAAwC;IACxC,SAAS,IAAA;IACT,4EAA4E;IAC5E,IAAI,IAAA;IACJ,kFAAkF;IAClF,IAAI,IAAA;CACL;AAED,KAAK,cAAc,GACf;IAAC,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAC,GACxD;IAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC;IAAC,OAAO,EAAE,WAAW,EAAE,CAAA;CAAC,GACtD;IAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAA;CAAC,CAAC;AAEnC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,QAAQ,CAAC;IAClB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC,CAAC;8BA0B8C;IAAC,QAAQ,gBAAgB,CAAA;CAAC;AAxB1E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,SAAU,SAAQ,cAA4C;IACzE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,sEAAsE;IACtE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAE9D,OAAO,CAAC,IAAI,CAAC,CAAgB;gBAEjB,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,aAAa;IAe3D,yEAAyE;IACzE,KAAK,IAAI,IAAI;IAMb;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"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"}
|
package/lib/sync/range/range.js
CHANGED
|
@@ -77,13 +77,14 @@ export class RangeSync extends EventEmitter {
|
|
|
77
77
|
*/
|
|
78
78
|
addPeer(peerId, localStatus, peerStatus) {
|
|
79
79
|
// Compute if we should do a Finalized or Head sync with this peer
|
|
80
|
-
const { syncType, startEpoch, target } = getRangeSyncTarget(localStatus, peerStatus, this.chain
|
|
80
|
+
const { syncType, startEpoch, target } = getRangeSyncTarget(localStatus, peerStatus, this.chain);
|
|
81
81
|
this.logger.debug("Sync peer joined", {
|
|
82
82
|
peer: peerId,
|
|
83
83
|
syncType,
|
|
84
84
|
startEpoch,
|
|
85
85
|
targetSlot: target.slot,
|
|
86
86
|
targetRoot: toRootHex(target.root),
|
|
87
|
+
localHeadSlot: localStatus.headSlot,
|
|
87
88
|
earliestAvailableSlot: peerStatus.earliestAvailableSlot ?? Infinity,
|
|
88
89
|
});
|
|
89
90
|
// If the peer existed in any other chain, remove it.
|