@chainsafe/lodestar 1.22.0-dev.ba80aa345a → 1.22.0-dev.d3d61af6bd
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/.git-data.json +2 -2
- package/lib/cmds/beacon/initBeaconState.js +60 -29
- package/lib/cmds/beacon/initBeaconState.js.map +1 -1
- package/lib/cmds/lightclient/handler.js +2 -2
- package/lib/cmds/lightclient/handler.js.map +1 -1
- package/lib/cmds/validator/blsToExecutionChange.js +3 -3
- package/lib/cmds/validator/blsToExecutionChange.js.map +1 -1
- package/lib/cmds/validator/keymanager/impl.js +2 -3
- package/lib/cmds/validator/keymanager/impl.js.map +1 -1
- package/lib/cmds/validator/keymanager/keystoreCache.js +3 -3
- package/lib/cmds/validator/keymanager/keystoreCache.js.map +1 -1
- package/lib/cmds/validator/keymanager/server.js +2 -2
- package/lib/cmds/validator/keymanager/server.js.map +1 -1
- package/lib/cmds/validator/slashingProtection/export.js +2 -2
- package/lib/cmds/validator/slashingProtection/export.js.map +1 -1
- package/lib/cmds/validator/voluntaryExit.js +2 -2
- package/lib/cmds/validator/voluntaryExit.js.map +1 -1
- package/lib/networks/index.d.ts +4 -0
- package/lib/networks/index.js +18 -7
- package/lib/networks/index.js.map +1 -1
- package/lib/util/format.js +2 -2
- package/lib/util/format.js.map +1 -1
- package/package.json +15 -15
package/.git-data.json
CHANGED
|
@@ -1,39 +1,42 @@
|
|
|
1
1
|
import { ssz } from "@lodestar/types";
|
|
2
2
|
import { createBeaconConfig } from "@lodestar/config";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { formatBytes } from "@lodestar/utils";
|
|
4
|
+
import { isWithinWeakSubjectivityPeriod, ensureWithinWeakSubjectivityPeriod, loadState, loadStateAndValidators, } from "@lodestar/state-transition";
|
|
5
|
+
import { checkAndPersistAnchorState, initStateFromEth1, getStateTypeFromBytes, } from "@lodestar/beacon-node";
|
|
5
6
|
import { downloadOrLoadFile, wrapFnError } from "../../util/index.js";
|
|
6
7
|
import { defaultNetwork } from "../../options/globalOptions.js";
|
|
7
8
|
import { fetchWeakSubjectivityState, getCheckpointFromArg, getGenesisFileUrl, getCheckpointFromState, } from "../../networks/index.js";
|
|
8
|
-
async function initAndVerifyWeakSubjectivityState(config, db, logger,
|
|
9
|
+
async function initAndVerifyWeakSubjectivityState(config, db, logger, dbStateBytes, wsStateBytes, wsCheckpoint, opts = {}) {
|
|
10
|
+
const dbState = dbStateBytes.state;
|
|
11
|
+
const wsState = wsStateBytes.state;
|
|
9
12
|
// Check if the store's state and wsState are compatible
|
|
10
|
-
if (
|
|
11
|
-
!ssz.Root.equals(
|
|
13
|
+
if (dbState.genesisTime !== wsState.genesisTime ||
|
|
14
|
+
!ssz.Root.equals(dbState.genesisValidatorsRoot, wsState.genesisValidatorsRoot)) {
|
|
12
15
|
throw new Error("Db state and checkpoint state are not compatible, either clear the db or verify your checkpoint source");
|
|
13
16
|
}
|
|
14
17
|
// Pick the state which is ahead as an anchor to initialize the beacon chain
|
|
15
|
-
let anchorState =
|
|
18
|
+
let anchorState = wsStateBytes;
|
|
16
19
|
let anchorCheckpoint = wsCheckpoint;
|
|
17
20
|
let isCheckpointState = true;
|
|
18
|
-
if (
|
|
19
|
-
anchorState =
|
|
20
|
-
anchorCheckpoint = getCheckpointFromState(
|
|
21
|
+
if (dbState.slot > wsState.slot) {
|
|
22
|
+
anchorState = dbStateBytes;
|
|
23
|
+
anchorCheckpoint = getCheckpointFromState(dbState);
|
|
21
24
|
isCheckpointState = false;
|
|
22
25
|
logger.verbose("Db state is ahead of the provided checkpoint state, using the db state to initialize the beacon chain");
|
|
23
26
|
}
|
|
24
27
|
// Throw error unless user explicitly asked not to, in testnets can happen that wss period is too small
|
|
25
28
|
// that even some epochs of non finalization can cause finalized checkpoint to be out of valid range
|
|
26
|
-
const wssCheck = wrapFnError(() => ensureWithinWeakSubjectivityPeriod(config, anchorState, anchorCheckpoint));
|
|
29
|
+
const wssCheck = wrapFnError(() => ensureWithinWeakSubjectivityPeriod(config, anchorState.state, anchorCheckpoint));
|
|
27
30
|
const isWithinWeakSubjectivityPeriod = wssCheck.err === null;
|
|
28
31
|
if (!isWithinWeakSubjectivityPeriod && !opts.ignoreWeakSubjectivityCheck) {
|
|
29
32
|
throw wssCheck.err;
|
|
30
33
|
}
|
|
31
|
-
|
|
34
|
+
await checkAndPersistAnchorState(config, db, logger, anchorState.state, anchorState.stateBytes, {
|
|
32
35
|
isWithinWeakSubjectivityPeriod,
|
|
33
36
|
isCheckpointState,
|
|
34
37
|
});
|
|
35
38
|
// Return the latest anchorState but still return original wsCheckpoint to validate in backfill
|
|
36
|
-
return { anchorState, wsCheckpoint };
|
|
39
|
+
return { anchorState: anchorState.state, wsCheckpoint };
|
|
37
40
|
}
|
|
38
41
|
/**
|
|
39
42
|
* Initialize a beacon state, picking the strategy based on the `IBeaconArgs`
|
|
@@ -50,8 +53,19 @@ export async function initBeaconState(options, args, chainForkConfig, db, logger
|
|
|
50
53
|
}
|
|
51
54
|
// fetch the latest state stored in the db which will be used in all cases, if it exists, either
|
|
52
55
|
// i) used directly as the anchor state
|
|
53
|
-
// ii) used
|
|
54
|
-
const
|
|
56
|
+
// ii) used to load and verify a weak subjectivity state,
|
|
57
|
+
const lastDbSlot = await db.stateArchive.lastKey();
|
|
58
|
+
const stateBytes = lastDbSlot !== null ? await db.stateArchive.getBinary(lastDbSlot) : null;
|
|
59
|
+
let lastDbState = null;
|
|
60
|
+
let lastDbValidatorsBytes = null;
|
|
61
|
+
let lastDbStateWithBytes = null;
|
|
62
|
+
if (stateBytes) {
|
|
63
|
+
logger.verbose("Found the last archived state", { slot: lastDbSlot, size: formatBytes(stateBytes.length) });
|
|
64
|
+
const { state, validatorsBytes } = loadStateAndValidators(chainForkConfig, stateBytes);
|
|
65
|
+
lastDbState = state;
|
|
66
|
+
lastDbValidatorsBytes = validatorsBytes;
|
|
67
|
+
lastDbStateWithBytes = { state, stateBytes: stateBytes };
|
|
68
|
+
}
|
|
55
69
|
if (lastDbState) {
|
|
56
70
|
const config = createBeaconConfig(chainForkConfig, lastDbState.genesisValidatorsRoot);
|
|
57
71
|
const wssCheck = isWithinWeakSubjectivityPeriod(config, lastDbState, getCheckpointFromState(lastDbState));
|
|
@@ -60,7 +74,7 @@ export async function initBeaconState(options, args, chainForkConfig, db, logger
|
|
|
60
74
|
// Forcing to sync from checkpoint is only recommended if node is taking too long to sync from last db state.
|
|
61
75
|
// It is important to remind the user to remove this flag again unless it is absolutely necessary.
|
|
62
76
|
if (wssCheck) {
|
|
63
|
-
logger.warn(
|
|
77
|
+
logger.warn(`Forced syncing from checkpoint even though db state at slot ${lastDbState.slot} is within weak subjectivity period`);
|
|
64
78
|
logger.warn("Please consider removing --forceCheckpointSync flag unless absolutely necessary");
|
|
65
79
|
}
|
|
66
80
|
}
|
|
@@ -69,24 +83,28 @@ export async function initBeaconState(options, args, chainForkConfig, db, logger
|
|
|
69
83
|
// - if no checkpoint sync args provided, or
|
|
70
84
|
// - the lastDbState is within weak subjectivity period:
|
|
71
85
|
if ((!args.checkpointState && !args.checkpointSyncUrl) || wssCheck) {
|
|
72
|
-
|
|
86
|
+
if (stateBytes === null) {
|
|
87
|
+
// this never happens
|
|
88
|
+
throw Error(`There is no stateBytes for the lastDbState at slot ${lastDbState.slot}`);
|
|
89
|
+
}
|
|
90
|
+
await checkAndPersistAnchorState(config, db, logger, lastDbState, stateBytes, {
|
|
73
91
|
isWithinWeakSubjectivityPeriod: wssCheck,
|
|
74
92
|
isCheckpointState: false,
|
|
75
93
|
});
|
|
76
|
-
return { anchorState };
|
|
94
|
+
return { anchorState: lastDbState };
|
|
77
95
|
}
|
|
78
96
|
}
|
|
79
97
|
}
|
|
80
98
|
// See if we can sync state using checkpoint sync args or else start from genesis
|
|
81
99
|
if (args.checkpointState) {
|
|
82
|
-
return readWSState(
|
|
100
|
+
return readWSState(lastDbStateWithBytes, lastDbValidatorsBytes, {
|
|
83
101
|
checkpointState: args.checkpointState,
|
|
84
102
|
wssCheckpoint: args.wssCheckpoint,
|
|
85
103
|
ignoreWeakSubjectivityCheck: args.ignoreWeakSubjectivityCheck,
|
|
86
104
|
}, chainForkConfig, db, logger);
|
|
87
105
|
}
|
|
88
106
|
else if (args.checkpointSyncUrl) {
|
|
89
|
-
return fetchWSStateFromBeaconApi(
|
|
107
|
+
return fetchWSStateFromBeaconApi(lastDbStateWithBytes, lastDbValidatorsBytes, {
|
|
90
108
|
checkpointSyncUrl: args.checkpointSyncUrl,
|
|
91
109
|
wssCheckpoint: args.wssCheckpoint,
|
|
92
110
|
ignoreWeakSubjectivityCheck: args.ignoreWeakSubjectivityCheck,
|
|
@@ -96,10 +114,10 @@ export async function initBeaconState(options, args, chainForkConfig, db, logger
|
|
|
96
114
|
const genesisStateFile = args.genesisStateFile || getGenesisFileUrl(args.network || defaultNetwork);
|
|
97
115
|
if (genesisStateFile && !args.forceGenesis) {
|
|
98
116
|
const stateBytes = await downloadOrLoadFile(genesisStateFile);
|
|
99
|
-
|
|
117
|
+
const anchorState = getStateTypeFromBytes(chainForkConfig, stateBytes).deserializeToViewDU(stateBytes);
|
|
100
118
|
const config = createBeaconConfig(chainForkConfig, anchorState.genesisValidatorsRoot);
|
|
101
119
|
const wssCheck = isWithinWeakSubjectivityPeriod(config, anchorState, getCheckpointFromState(anchorState));
|
|
102
|
-
|
|
120
|
+
await checkAndPersistAnchorState(config, db, logger, anchorState, stateBytes, {
|
|
103
121
|
isWithinWeakSubjectivityPeriod: wssCheck,
|
|
104
122
|
isCheckpointState: true,
|
|
105
123
|
});
|
|
@@ -112,21 +130,30 @@ export async function initBeaconState(options, args, chainForkConfig, db, logger
|
|
|
112
130
|
}
|
|
113
131
|
}
|
|
114
132
|
}
|
|
115
|
-
async function readWSState(
|
|
133
|
+
async function readWSState(lastDbStateBytes, lastDbValidatorsBytes, wssOpts, chainForkConfig, db, logger) {
|
|
116
134
|
// weak subjectivity sync from a provided state file:
|
|
117
135
|
// if a weak subjectivity checkpoint has been provided, it is used for additional verification
|
|
118
136
|
// otherwise, the state itself is used for verification (not bad, because the trusted state has been explicitly provided)
|
|
119
137
|
const { checkpointState, wssCheckpoint, ignoreWeakSubjectivityCheck } = wssOpts;
|
|
138
|
+
const lastDbState = lastDbStateBytes?.state ?? null;
|
|
120
139
|
const stateBytes = await downloadOrLoadFile(checkpointState);
|
|
121
|
-
|
|
140
|
+
let wsState;
|
|
141
|
+
if (lastDbState && lastDbValidatorsBytes) {
|
|
142
|
+
// use lastDbState to load wsState if possible to share the same state tree
|
|
143
|
+
wsState = loadState(chainForkConfig, lastDbState, stateBytes, lastDbValidatorsBytes).state;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
wsState = getStateTypeFromBytes(chainForkConfig, stateBytes).deserializeToViewDU(stateBytes);
|
|
147
|
+
}
|
|
122
148
|
const config = createBeaconConfig(chainForkConfig, wsState.genesisValidatorsRoot);
|
|
123
|
-
const
|
|
149
|
+
const wsStateBytes = { state: wsState, stateBytes };
|
|
150
|
+
const store = lastDbStateBytes ?? wsStateBytes;
|
|
124
151
|
const checkpoint = wssCheckpoint ? getCheckpointFromArg(wssCheckpoint) : getCheckpointFromState(wsState);
|
|
125
|
-
return initAndVerifyWeakSubjectivityState(config, db, logger, store,
|
|
152
|
+
return initAndVerifyWeakSubjectivityState(config, db, logger, store, wsStateBytes, checkpoint, {
|
|
126
153
|
ignoreWeakSubjectivityCheck,
|
|
127
154
|
});
|
|
128
155
|
}
|
|
129
|
-
async function fetchWSStateFromBeaconApi(
|
|
156
|
+
async function fetchWSStateFromBeaconApi(lastDbStateBytes, lastDbValidatorsBytes, wssOpts, chainForkConfig, db, logger) {
|
|
130
157
|
// weak subjectivity sync from a state that needs to be fetched:
|
|
131
158
|
// if a weak subjectivity checkpoint has been provided, it is used to inform which state to download and used for additional verification
|
|
132
159
|
// otherwise, the 'finalized' state is downloaded and the state itself is used for verification (all trust delegated to the remote beacon node)
|
|
@@ -142,10 +169,14 @@ async function fetchWSStateFromBeaconApi(lastDbState, wssOpts, chainForkConfig,
|
|
|
142
169
|
logger.error("Invalid", { checkpointSyncUrl: wssOpts.checkpointSyncUrl }, e);
|
|
143
170
|
throw e;
|
|
144
171
|
}
|
|
145
|
-
const { wsState, wsCheckpoint } = await fetchWeakSubjectivityState(chainForkConfig, logger, wssOpts
|
|
172
|
+
const { wsState, wsStateBytes, wsCheckpoint } = await fetchWeakSubjectivityState(chainForkConfig, logger, wssOpts, {
|
|
173
|
+
lastDbState: lastDbStateBytes?.state ?? null,
|
|
174
|
+
lastDbValidatorsBytes,
|
|
175
|
+
});
|
|
146
176
|
const config = createBeaconConfig(chainForkConfig, wsState.genesisValidatorsRoot);
|
|
147
|
-
const
|
|
148
|
-
|
|
177
|
+
const wsStateWithBytes = { state: wsState, stateBytes: wsStateBytes };
|
|
178
|
+
const store = lastDbStateBytes ?? wsStateWithBytes;
|
|
179
|
+
return initAndVerifyWeakSubjectivityState(config, db, logger, store, wsStateWithBytes, wsCheckpoint, {
|
|
149
180
|
ignoreWeakSubjectivityCheck: wssOpts.ignoreWeakSubjectivityCheck,
|
|
150
181
|
});
|
|
151
182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initBeaconState.js","sourceRoot":"","sources":["../../../src/cmds/beacon/initBeaconState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,kBAAkB,EAAgC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"initBeaconState.js","sourceRoot":"","sources":["../../../src/cmds/beacon/initBeaconState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { fromHexString } from "@chainsafe/ssz";
|
|
3
2
|
import { getClient } from "@lodestar/api";
|
|
4
3
|
import { Lightclient } from "@lodestar/light-client";
|
|
5
4
|
import { LightClientRestTransport } from "@lodestar/light-client/transport";
|
|
6
5
|
import { getNodeLogger } from "@lodestar/logger/node";
|
|
6
|
+
import { fromHex } from "@lodestar/utils";
|
|
7
7
|
import { getBeaconConfigFromArgs } from "../../config/beaconParams.js";
|
|
8
8
|
import { getGlobalPaths } from "../../paths/global.js";
|
|
9
9
|
import { parseLoggerArgs } from "../../util/logger.js";
|
|
@@ -20,7 +20,7 @@ export async function lightclientHandler(args) {
|
|
|
20
20
|
genesisTime,
|
|
21
21
|
genesisValidatorsRoot,
|
|
22
22
|
},
|
|
23
|
-
checkpointRoot:
|
|
23
|
+
checkpointRoot: fromHex(args.checkpointRoot),
|
|
24
24
|
transport: new LightClientRestTransport(api),
|
|
25
25
|
});
|
|
26
26
|
void client.start();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/lightclient/handler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/lightclient/handler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,wBAAwB,EAAC,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAIrD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAmC;IAC1E,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,aAAa,CAC1B,eAAe,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAC,EAAE,MAAM,CAAC,CACvG,CAAC;IAEF,MAAM,GAAG,GAAG,SAAS,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAC,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IAC9D,MAAM,EAAC,WAAW,EAAE,qBAAqB,EAAC,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAErF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,4BAA4B,CAAC;QAC5D,MAAM;QACN,MAAM;QACN,WAAW,EAAE;YACX,WAAW;YACX,qBAAqB;SACtB;QACD,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;QAC5C,SAAS,EAAE,IAAI,wBAAwB,CAAC,GAAG,CAAC;KAC7C,CAAC,CAAC;IAEH,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { fromHexString } from "@chainsafe/ssz";
|
|
2
1
|
import { SecretKey } from "@chainsafe/blst";
|
|
3
2
|
import { computeSigningRoot } from "@lodestar/state-transition";
|
|
4
3
|
import { DOMAIN_BLS_TO_EXECUTION_CHANGE, ForkName } from "@lodestar/params";
|
|
5
4
|
import { createBeaconConfig } from "@lodestar/config";
|
|
6
5
|
import { ssz } from "@lodestar/types";
|
|
7
6
|
import { getClient } from "@lodestar/api";
|
|
7
|
+
import { fromHex } from "@lodestar/utils";
|
|
8
8
|
import { getBeaconConfigFromArgs } from "../../config/index.js";
|
|
9
9
|
export const blsToExecutionChange = {
|
|
10
10
|
command: "bls-to-execution-change",
|
|
@@ -47,12 +47,12 @@ like to choose for BLS To Execution Change.",
|
|
|
47
47
|
if (validator === undefined) {
|
|
48
48
|
throw new Error(`Validator pubkey ${publicKey} not found in state`);
|
|
49
49
|
}
|
|
50
|
-
const blsPrivkey = SecretKey.fromBytes(
|
|
50
|
+
const blsPrivkey = SecretKey.fromBytes(fromHex(args.fromBlsPrivkey));
|
|
51
51
|
const fromBlsPubkey = blsPrivkey.toPublicKey().toBytes();
|
|
52
52
|
const blsToExecutionChange = {
|
|
53
53
|
validatorIndex: validator.index,
|
|
54
54
|
fromBlsPubkey,
|
|
55
|
-
toExecutionAddress:
|
|
55
|
+
toExecutionAddress: fromHex(args.toExecutionAddress),
|
|
56
56
|
};
|
|
57
57
|
const signatureFork = ForkName.phase0;
|
|
58
58
|
const domain = config.getDomainAtFork(signatureFork, DOMAIN_BLS_TO_EXECUTION_CHANGE);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blsToExecutionChange.js","sourceRoot":"","sources":["../../../src/cmds/validator/blsToExecutionChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"blsToExecutionChange.js","sourceRoot":"","sources":["../../../src/cmds/validator/blsToExecutionChange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Keystore } from "@chainsafe/bls-keystore";
|
|
2
|
-
import { fromHexString } from "@chainsafe/ssz";
|
|
3
2
|
import { SecretKey } from "@chainsafe/blst";
|
|
4
3
|
import { DeleteRemoteKeyStatus, DeletionStatus, ImportStatus, ImportRemoteKeyStatus, } from "@lodestar/api/keymanager";
|
|
5
4
|
import { SignerType } from "@lodestar/validator";
|
|
6
5
|
import { ApiError } from "@lodestar/api/server";
|
|
7
|
-
import { isValidHttpUrl } from "@lodestar/utils";
|
|
6
|
+
import { fromHex, isValidHttpUrl } from "@lodestar/utils";
|
|
8
7
|
import { getPubkeyHexFromKeystore, isValidatePubkeyHex } from "../../../util/format.js";
|
|
9
8
|
import { parseFeeRecipient } from "../../../util/index.js";
|
|
10
9
|
import { DecryptKeystoresThreadPool } from "./decryptKeystores/index.js";
|
|
@@ -165,7 +164,7 @@ export class KeymanagerApi {
|
|
|
165
164
|
statuses[i] = { status: DeletionStatus.error, message: e.message };
|
|
166
165
|
}
|
|
167
166
|
}
|
|
168
|
-
const pubkeysBytes = pubkeys.map((pubkeyHex) =>
|
|
167
|
+
const pubkeysBytes = pubkeys.map((pubkeyHex) => fromHex(pubkeyHex));
|
|
169
168
|
const interchangeV5 = await this.validator.exportInterchange(pubkeysBytes, {
|
|
170
169
|
version: "5",
|
|
171
170
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../src/cmds/validator/keymanager/impl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../src/cmds/validator/keymanager/impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import path from "node:path";
|
|
|
3
3
|
import { Keystore } from "@chainsafe/bls-keystore";
|
|
4
4
|
import { SecretKey } from "@chainsafe/blst";
|
|
5
5
|
import { SignerType } from "@lodestar/validator";
|
|
6
|
-
import { fromHex, toHex } from "@lodestar/utils";
|
|
6
|
+
import { fromHex, toHex, toPubkeyHex } from "@lodestar/utils";
|
|
7
7
|
import { writeFile600Perm } from "../../../util/file.js";
|
|
8
8
|
import { lockFilepath, unlockFilepath } from "../../../util/lockfile.js";
|
|
9
9
|
export async function loadKeystoreCache(cacheFilepath, keystoreDefinitions) {
|
|
@@ -29,8 +29,8 @@ export async function loadKeystoreCache(cacheFilepath, keystoreDefinitions) {
|
|
|
29
29
|
const secretKeyBytes = Uint8Array.prototype.slice.call(secretKeyConcatenatedBytes, index * 32, (index + 1) * 32);
|
|
30
30
|
const secretKey = SecretKey.fromBytes(secretKeyBytes);
|
|
31
31
|
const publicKey = secretKey.toPublicKey().toBytes();
|
|
32
|
-
if (
|
|
33
|
-
throw new Error(`Keystore ${k.uuid} does not match the expected pubkey. expected=${
|
|
32
|
+
if (toPubkeyHex(publicKey) !== toPubkeyHex(fromHex(k.pubkey))) {
|
|
33
|
+
throw new Error(`Keystore ${k.uuid} does not match the expected pubkey. expected=${toPubkeyHex(fromHex(k.pubkey))}, found=${toHex(publicKey)}`);
|
|
34
34
|
}
|
|
35
35
|
result.push({
|
|
36
36
|
type: SignerType.Local,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keystoreCache.js","sourceRoot":"","sources":["../../../../src/cmds/validator/keymanager/keystoreCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAc,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"keystoreCache.js","sourceRoot":"","sources":["../../../../src/cmds/validator/keymanager/keystoreCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import crypto from "node:crypto";
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import { toHexString } from "@chainsafe/ssz";
|
|
5
4
|
import { RestApiServer } from "@lodestar/beacon-node";
|
|
6
5
|
import { registerRoutes } from "@lodestar/api/keymanager/server";
|
|
6
|
+
import { toHex } from "@lodestar/utils";
|
|
7
7
|
import { writeFile600Perm } from "../../../util/index.js";
|
|
8
8
|
export const keymanagerRestApiServerOptsDefault = {
|
|
9
9
|
address: "127.0.0.1",
|
|
@@ -29,7 +29,7 @@ export class KeymanagerRestApiServer extends RestApiServer {
|
|
|
29
29
|
let bearerToken;
|
|
30
30
|
if (opts.isAuthEnabled) {
|
|
31
31
|
// Generate a new token if token file does not exist or file do exist, but is empty
|
|
32
|
-
bearerToken = readFileIfExists(apiTokenPath) ?? `api-token-${
|
|
32
|
+
bearerToken = readFileIfExists(apiTokenPath) ?? `api-token-${toHex(crypto.randomBytes(32))}`;
|
|
33
33
|
writeFile600Perm(apiTokenPath, bearerToken, { encoding: "utf8" });
|
|
34
34
|
}
|
|
35
35
|
super({ ...opts, bearerToken }, modules);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/cmds/validator/keymanager/server.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/cmds/validator/keymanager/server.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,aAAa,EAA0C,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAuB,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAErF,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AASxD,MAAM,CAAC,MAAM,kCAAkC,GAAgC;IAC7E,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,GAAG;IACT,aAAa,EAAE,IAAI;IACnB,uGAAuG;IACvG,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO;CACrC,CAAC;AAOF,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEhD,MAAM,OAAO,uBAAwB,SAAQ,aAAa;IAIxD,YAAY,OAA6C,EAAE,OAAuC;QAChG,sBAAsB;QACtB,MAAM,IAAI,GAAG;YACX,GAAG,kCAAkC;YACrC,kGAAkG;YAClG,gFAAgF;YAChF,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;SAC7E,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS;YACjC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACtD,IAAI,WAA+B,CAAC;QAEpC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,mFAAmF;YACnF,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,aAAa,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7F,gBAAgB,CAAC,YAAY,EAAE,WAAW,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;QAClE,CAAC;QAED,KAAK,CAAC,EAAC,GAAG,IAAI,EAAE,WAAW,EAAC,EAAE,OAAO,CAAC,CAAC;QAEvC,iDAAiD;QACjD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAEzD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iEAAiE,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QAC3G,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAK,CAAoB,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;;YACpD,MAAM,CAAC,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { toHexString } from "@chainsafe/ssz";
|
|
3
2
|
import { getNodeLogger } from "@lodestar/logger/node";
|
|
3
|
+
import { toPubkeyHex } from "@lodestar/utils";
|
|
4
4
|
import { YargsError, ensure0xPrefix, isValidatePubkeyHex, writeFile600Perm } from "../../../util/index.js";
|
|
5
5
|
import { parseLoggerArgs } from "../../../util/logger.js";
|
|
6
6
|
import { getBeaconConfigFromArgs } from "../../../config/index.js";
|
|
@@ -58,7 +58,7 @@ export const exportCmd = {
|
|
|
58
58
|
if (!isValidatePubkeyHex(pubkeyHex)) {
|
|
59
59
|
throw new YargsError(`Invalid pubkey ${pubkeyHex}`);
|
|
60
60
|
}
|
|
61
|
-
const existingPubkey = allPubkeys.find((pubkey) =>
|
|
61
|
+
const existingPubkey = allPubkeys.find((pubkey) => toPubkeyHex(pubkey) === pubkeyHex);
|
|
62
62
|
if (!existingPubkey) {
|
|
63
63
|
logger.warn("Pubkey not found in slashing protection db", { pubkey: pubkeyHex });
|
|
64
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../src/cmds/validator/slashingProtection/export.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../src/cmds/validator/slashingProtection/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { Signature } from "@chainsafe/blst";
|
|
|
3
3
|
import { computeEpochAtSlot, computeSigningRoot, computeStartSlotAtEpoch, getCurrentSlot, } from "@lodestar/state-transition";
|
|
4
4
|
import { createBeaconConfig } from "@lodestar/config";
|
|
5
5
|
import { ssz } from "@lodestar/types";
|
|
6
|
-
import { fromHex,
|
|
6
|
+
import { fromHex, toPubkeyHex } from "@lodestar/utils";
|
|
7
7
|
import { externalSignerPostSignature, SignableMessageType, SignerType } from "@lodestar/validator";
|
|
8
8
|
import { getClient } from "@lodestar/api";
|
|
9
9
|
import { ensure0xPrefix, YargsError, wrapError } from "../../util/index.js";
|
|
@@ -162,7 +162,7 @@ function selectSignersToExit(args, signers) {
|
|
|
162
162
|
async function resolveValidatorIndexes(client, signersToExit) {
|
|
163
163
|
const pubkeys = signersToExit.map(({ pubkey }) => pubkey);
|
|
164
164
|
const validators = (await client.beacon.getStateValidators({ stateId: "head", validatorIds: pubkeys })).value();
|
|
165
|
-
const dataByPubkey = new Map(validators.map((item) => [
|
|
165
|
+
const dataByPubkey = new Map(validators.map((item) => [toPubkeyHex(item.validator.pubkey), item]));
|
|
166
166
|
return signersToExit.map(({ signer, pubkey }) => {
|
|
167
167
|
const item = dataByPubkey.get(pubkey);
|
|
168
168
|
if (!item) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voluntaryExit.js","sourceRoot":"","sources":["../../../src/cmds/validator/voluntaryExit.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,kBAAkB,EAAe,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAS,GAAG,EAAwB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAa,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"voluntaryExit.js","sourceRoot":"","sources":["../../../src/cmds/validator/voluntaryExit.ts"],"names":[],"mappings":"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"}
|
package/lib/networks/index.d.ts
CHANGED
|
@@ -37,8 +37,12 @@ export declare function readBootnodes(bootnodesFilePath: string): string[];
|
|
|
37
37
|
export declare function fetchWeakSubjectivityState(config: ChainForkConfig, logger: Logger, { checkpointSyncUrl, wssCheckpoint }: {
|
|
38
38
|
checkpointSyncUrl: string;
|
|
39
39
|
wssCheckpoint?: string;
|
|
40
|
+
}, { lastDbState, lastDbValidatorsBytes, }: {
|
|
41
|
+
lastDbState: BeaconStateAllForks | null;
|
|
42
|
+
lastDbValidatorsBytes: Uint8Array | null;
|
|
40
43
|
}): Promise<{
|
|
41
44
|
wsState: BeaconStateAllForks;
|
|
45
|
+
wsStateBytes: Uint8Array;
|
|
42
46
|
wsCheckpoint: Checkpoint;
|
|
43
47
|
}>;
|
|
44
48
|
export declare function getCheckpointFromArg(checkpointStr: string): Checkpoint;
|
package/lib/networks/index.js
CHANGED
|
@@ -3,9 +3,9 @@ import got from "got";
|
|
|
3
3
|
import { ENR } from "@chainsafe/enr";
|
|
4
4
|
import { SLOTS_PER_EPOCH } from "@lodestar/params";
|
|
5
5
|
import { HttpHeader, MediaType, WireFormat, getClient } from "@lodestar/api";
|
|
6
|
-
import {
|
|
7
|
-
import { fromHex, callFnWhenAwait } from "@lodestar/utils";
|
|
8
|
-
import { getLatestBlockRoot, computeCheckpointEpochAtStateSlot } from "@lodestar/state-transition";
|
|
6
|
+
import { getStateSlotFromBytes } from "@lodestar/beacon-node";
|
|
7
|
+
import { fromHex, callFnWhenAwait, formatBytes } from "@lodestar/utils";
|
|
8
|
+
import { getLatestBlockRoot, computeCheckpointEpochAtStateSlot, loadState, } from "@lodestar/state-transition";
|
|
9
9
|
import { parseBootnodesFile } from "../util/format.js";
|
|
10
10
|
import * as mainnet from "./mainnet.js";
|
|
11
11
|
import * as dev from "./dev.js";
|
|
@@ -107,7 +107,7 @@ export function readBootnodes(bootnodesFilePath) {
|
|
|
107
107
|
/**
|
|
108
108
|
* Fetch weak subjectivity state from a remote beacon node
|
|
109
109
|
*/
|
|
110
|
-
export async function fetchWeakSubjectivityState(config, logger, { checkpointSyncUrl, wssCheckpoint }) {
|
|
110
|
+
export async function fetchWeakSubjectivityState(config, logger, { checkpointSyncUrl, wssCheckpoint }, { lastDbState, lastDbValidatorsBytes, }) {
|
|
111
111
|
try {
|
|
112
112
|
let wsCheckpoint;
|
|
113
113
|
let stateId;
|
|
@@ -130,15 +130,26 @@ export async function fetchWeakSubjectivityState(config, logger, { checkpointSyn
|
|
|
130
130
|
[HttpHeader.Accept]: MediaType.ssz,
|
|
131
131
|
},
|
|
132
132
|
});
|
|
133
|
-
const
|
|
133
|
+
const wsStateBytes = await callFnWhenAwait(getStatePromise, () => logger.info("Download in progress, please wait..."), GET_STATE_LOG_INTERVAL).then((res) => {
|
|
134
134
|
return res.ssz();
|
|
135
135
|
});
|
|
136
|
-
|
|
136
|
+
const wsSlot = getStateSlotFromBytes(wsStateBytes);
|
|
137
|
+
const logData = { stateId, size: formatBytes(wsStateBytes.length) };
|
|
138
|
+
logger.info("Download completed", typeof stateId === "number" ? logData : { ...logData, slot: wsSlot });
|
|
137
139
|
// It should not be required to get fork type from bytes but Checkpointz does not return
|
|
138
140
|
// Eth-Consensus-Version header, see https://github.com/ethpandaops/checkpointz/issues/164
|
|
139
|
-
|
|
141
|
+
let wsState;
|
|
142
|
+
if (lastDbState && lastDbValidatorsBytes) {
|
|
143
|
+
// use lastDbState to load wsState if possible to share the same state tree
|
|
144
|
+
wsState = loadState(config, lastDbState, wsStateBytes, lastDbValidatorsBytes).state;
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
const stateType = config.getForkTypes(wsSlot).BeaconState;
|
|
148
|
+
wsState = stateType.deserializeToViewDU(wsStateBytes);
|
|
149
|
+
}
|
|
140
150
|
return {
|
|
141
151
|
wsState,
|
|
152
|
+
wsStateBytes,
|
|
142
153
|
wsCheckpoint: wsCheckpoint ?? getCheckpointFromState(wsState),
|
|
143
154
|
};
|
|
144
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/networks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAC,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAI5D,OAAO,EAAC,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/networks/index.ts"],"names":[],"mappings":"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"}
|
package/lib/util/format.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PublicKey } from "@chainsafe/blst";
|
|
2
|
-
import {
|
|
2
|
+
import { fromHex } from "@lodestar/utils";
|
|
3
3
|
/**
|
|
4
4
|
* 0x prefix a string if not prefixed already
|
|
5
5
|
*/
|
|
@@ -43,7 +43,7 @@ export function parseRange(range) {
|
|
|
43
43
|
}
|
|
44
44
|
export function assertValidPubkeysHex(pubkeysHex) {
|
|
45
45
|
for (const pubkeyHex of pubkeysHex) {
|
|
46
|
-
const pubkeyBytes =
|
|
46
|
+
const pubkeyBytes = fromHex(pubkeyHex);
|
|
47
47
|
PublicKey.fromBytes(pubkeyBytes, true);
|
|
48
48
|
}
|
|
49
49
|
}
|
package/lib/util/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/util/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/util/format.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chainsafe/lodestar",
|
|
3
|
-
"version": "1.22.0-dev.
|
|
3
|
+
"version": "1.22.0-dev.d3d61af6bd",
|
|
4
4
|
"description": "Command line interface for lodestar",
|
|
5
5
|
"author": "ChainSafe Systems",
|
|
6
6
|
"license": "LGPL-3.0",
|
|
@@ -57,22 +57,22 @@
|
|
|
57
57
|
"@chainsafe/discv5": "^9.0.0",
|
|
58
58
|
"@chainsafe/enr": "^3.0.0",
|
|
59
59
|
"@chainsafe/persistent-merkle-tree": "^0.8.0",
|
|
60
|
-
"@chainsafe/ssz": "^0.17.
|
|
60
|
+
"@chainsafe/ssz": "^0.17.1",
|
|
61
61
|
"@chainsafe/threads": "^1.11.1",
|
|
62
62
|
"@libp2p/crypto": "^4.1.0",
|
|
63
63
|
"@libp2p/peer-id": "^4.1.0",
|
|
64
64
|
"@libp2p/peer-id-factory": "^4.1.0",
|
|
65
|
-
"@lodestar/api": "1.22.0-dev.
|
|
66
|
-
"@lodestar/beacon-node": "1.22.0-dev.
|
|
67
|
-
"@lodestar/config": "1.22.0-dev.
|
|
68
|
-
"@lodestar/db": "1.22.0-dev.
|
|
69
|
-
"@lodestar/light-client": "1.22.0-dev.
|
|
70
|
-
"@lodestar/logger": "1.22.0-dev.
|
|
71
|
-
"@lodestar/params": "1.22.0-dev.
|
|
72
|
-
"@lodestar/state-transition": "1.22.0-dev.
|
|
73
|
-
"@lodestar/types": "1.22.0-dev.
|
|
74
|
-
"@lodestar/utils": "1.22.0-dev.
|
|
75
|
-
"@lodestar/validator": "1.22.0-dev.
|
|
65
|
+
"@lodestar/api": "1.22.0-dev.d3d61af6bd",
|
|
66
|
+
"@lodestar/beacon-node": "1.22.0-dev.d3d61af6bd",
|
|
67
|
+
"@lodestar/config": "1.22.0-dev.d3d61af6bd",
|
|
68
|
+
"@lodestar/db": "1.22.0-dev.d3d61af6bd",
|
|
69
|
+
"@lodestar/light-client": "1.22.0-dev.d3d61af6bd",
|
|
70
|
+
"@lodestar/logger": "1.22.0-dev.d3d61af6bd",
|
|
71
|
+
"@lodestar/params": "1.22.0-dev.d3d61af6bd",
|
|
72
|
+
"@lodestar/state-transition": "1.22.0-dev.d3d61af6bd",
|
|
73
|
+
"@lodestar/types": "1.22.0-dev.d3d61af6bd",
|
|
74
|
+
"@lodestar/utils": "1.22.0-dev.d3d61af6bd",
|
|
75
|
+
"@lodestar/validator": "1.22.0-dev.d3d61af6bd",
|
|
76
76
|
"@multiformats/multiaddr": "^12.1.3",
|
|
77
77
|
"deepmerge": "^4.3.1",
|
|
78
78
|
"ethers": "^6.7.0",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"yargs": "^17.7.1"
|
|
89
89
|
},
|
|
90
90
|
"devDependencies": {
|
|
91
|
-
"@lodestar/test-utils": "1.22.0-dev.
|
|
91
|
+
"@lodestar/test-utils": "1.22.0-dev.d3d61af6bd",
|
|
92
92
|
"@types/debug": "^4.1.7",
|
|
93
93
|
"@types/got": "^9.6.12",
|
|
94
94
|
"@types/inquirer": "^9.0.3",
|
|
@@ -96,5 +96,5 @@
|
|
|
96
96
|
"@types/yargs": "^17.0.24",
|
|
97
97
|
"fastify": "^4.27.0"
|
|
98
98
|
},
|
|
99
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "7636679206839945fa52830851b065be4e26f2cf"
|
|
100
100
|
}
|