@chainsafe/lodestar 1.9.0-dev.cd7709b489 → 1.9.0-dev.f417c35af0
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 +1 -1
- package/lib/applyPreset.js +7 -1
- package/lib/applyPreset.js.map +1 -1
- package/lib/cli.js +1 -1
- package/lib/cli.js.map +1 -1
- package/lib/cmds/beacon/handler.d.ts +3 -3
- package/lib/cmds/beacon/handler.js +7 -5
- package/lib/cmds/beacon/handler.js.map +1 -1
- package/lib/cmds/beacon/options.d.ts +2 -1
- package/lib/cmds/beacon/options.js.map +1 -1
- package/lib/cmds/dev/options.d.ts +1 -0
- package/lib/cmds/lightclient/handler.js +3 -2
- package/lib/cmds/lightclient/handler.js.map +1 -1
- package/lib/cmds/lightclient/options.d.ts +2 -1
- package/lib/cmds/lightclient/options.js.map +1 -1
- package/lib/cmds/validator/handler.js +6 -4
- package/lib/cmds/validator/handler.js.map +1 -1
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/index.js +19 -13
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/index.js.map +1 -1
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/types.d.ts +2 -2
- package/lib/cmds/validator/options.d.ts +2 -1
- package/lib/cmds/validator/options.js.map +1 -1
- package/lib/cmds/validator/signers/index.d.ts +2 -2
- package/lib/cmds/validator/signers/index.js.map +1 -1
- package/lib/cmds/validator/signers/logSigners.d.ts +2 -2
- package/lib/cmds/validator/signers/logSigners.js.map +1 -1
- package/lib/cmds/validator/slashingProtection/export.d.ts +2 -1
- package/lib/cmds/validator/slashingProtection/export.js +42 -12
- package/lib/cmds/validator/slashingProtection/export.js.map +1 -1
- package/lib/cmds/validator/slashingProtection/import.d.ts +1 -1
- package/lib/cmds/validator/slashingProtection/import.js +5 -4
- package/lib/cmds/validator/slashingProtection/import.js.map +1 -1
- package/lib/cmds/validator/voluntaryExit.js +1 -1
- package/lib/cmds/validator/voluntaryExit.js.map +1 -1
- package/lib/options/beaconNodeOptions/index.d.ts +1 -0
- package/lib/options/beaconNodeOptions/network.d.ts +1 -0
- package/lib/options/beaconNodeOptions/network.js +10 -3
- package/lib/options/beaconNodeOptions/network.js.map +1 -1
- package/lib/options/logOptions.d.ts +11 -1
- package/lib/options/logOptions.js +6 -5
- package/lib/options/logOptions.js.map +1 -1
- package/lib/util/logger.d.ts +7 -23
- package/lib/util/logger.js +53 -80
- package/lib/util/logger.js.map +1 -1
- package/package.json +13 -12
- package/lib/util/loggerConsoleTransport.d.ts +0 -24
- package/lib/util/loggerConsoleTransport.js +0 -35
- package/lib/util/loggerConsoleTransport.js.map +0 -1
package/.git-data.json
CHANGED
package/lib/applyPreset.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// set LODESTAR_PRESET manually every time.
|
|
15
15
|
var _a;
|
|
16
16
|
// IMPORTANT: only import Lodestar code here which does not import any other Lodestar libraries
|
|
17
|
-
import { setActivePreset, presetFromJson } from "@lodestar/params/setPreset";
|
|
17
|
+
import { setActivePreset, presetFromJson, PresetName } from "@lodestar/params/setPreset";
|
|
18
18
|
import { readFile } from "./util/file.js";
|
|
19
19
|
const network = valueOfArg("network");
|
|
20
20
|
const preset = valueOfArg("preset");
|
|
@@ -31,6 +31,9 @@ else if (process.env.LODESTAR_PRESET) {
|
|
|
31
31
|
else if (network) {
|
|
32
32
|
if (network === "dev") {
|
|
33
33
|
process.env.LODESTAR_PRESET = "minimal";
|
|
34
|
+
// "c-kzg" has hardcoded the mainnet value, do not use presets
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
36
|
+
setActivePreset(PresetName.minimal, { FIELD_ELEMENTS_PER_BLOB: 4096 });
|
|
34
37
|
}
|
|
35
38
|
else if (network === "gnosis" || network === "chiado") {
|
|
36
39
|
process.env.LODESTAR_PRESET = "gnosis";
|
|
@@ -40,6 +43,9 @@ else if (network) {
|
|
|
40
43
|
else if (process.argv[2] === "dev") {
|
|
41
44
|
process.env.LODESTAR_PRESET = "minimal";
|
|
42
45
|
process.env.LODESTAR_NETWORK = "dev";
|
|
46
|
+
// "c-kzg" has hardcoded the mainnet value, do not use presets
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
48
|
+
setActivePreset(PresetName.minimal, { FIELD_ELEMENTS_PER_BLOB: 4096 });
|
|
43
49
|
}
|
|
44
50
|
if (presetFile) {
|
|
45
51
|
// Override the active preset with custom values from file
|
package/lib/applyPreset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyPreset.js","sourceRoot":"","sources":["../src/applyPreset.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,eAAe;AACf,EAAE;AACF,yGAAyG;AACzG,sDAAsD;AACtD,EAAE;AACF,qGAAqG;AACrG,+DAA+D;AAC/D,kEAAkE;AAClE,kEAAkE;AAClE,EAAE;AACF,4FAA4F;AAC5F,2CAA2C;;AAE3C,+FAA+F;AAC/F,OAAO,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"applyPreset.js","sourceRoot":"","sources":["../src/applyPreset.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,eAAe;AACf,EAAE;AACF,yGAAyG;AACzG,sDAAsD;AACtD,EAAE;AACF,qGAAqG;AACrG,+DAA+D;AAC/D,kEAAkE;AAClE,kEAAkE;AAClE,EAAE;AACF,4FAA4F;AAC5F,2CAA2C;;AAE3C,+FAA+F;AAC/F,OAAO,EAAC,eAAe,EAAE,cAAc,EAAE,UAAU,EAAC,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAExC,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AACtC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACpC,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;AAE5C,+BAA+B;AAC/B,IAAI,MAAM,EAAE;IACV,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC;CACtC;AAED,8FAA8F;KACzF,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE;IACpC,QAAQ;CACT;AAED,8BAA8B;KACzB,IAAI,OAAO,EAAE;IAChB,IAAI,OAAO,KAAK,KAAK,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC;QACxC,8DAA8D;QAC9D,gEAAgE;QAChE,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,EAAC,uBAAuB,EAAE,IAAI,EAAC,CAAC,CAAC;KACtE;SAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ,EAAE;QACvD,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,QAAQ,CAAC;KACxC;CACF;AAED,mEAAmE;KAC9D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;IAClC,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACrC,8DAA8D;IAC9D,gEAAgE;IAChE,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,EAAC,uBAAuB,EAAE,IAAI,EAAC,CAAC,CAAC;CACtE;AAED,IAAI,UAAU,EAAE;IACd,0DAA0D;IAC1D,4DAA4D;IAC5D,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC,MAAA,QAAQ,CAAC,UAAU,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC;CACnE;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,OAAe;IACjC,4BAA4B;IAC5B,0CAA0C;;IAE1C;QACE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QACnD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,OAAO,MAAA,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;SACtC;KACF;IAED,4BAA4B;IAC5B;QACE,MAAM,MAAM,GAAG,KAAK,OAAO,GAAG,CAAC;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAClC;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/lib/cli.js
CHANGED
|
@@ -8,7 +8,7 @@ import { getVersionData } from "./util/version.js";
|
|
|
8
8
|
const { version } = getVersionData();
|
|
9
9
|
const topBanner = `🌟 Lodestar: TypeScript Implementation of the Ethereum Consensus Beacon Chain.
|
|
10
10
|
* Version: ${version}
|
|
11
|
-
* by ChainSafe Systems, 2018
|
|
11
|
+
* by ChainSafe Systems, 2018-${new Date().getFullYear()}`;
|
|
12
12
|
const bottomBanner = `📖 For more information, check the CLI reference:
|
|
13
13
|
* https://chainsafe.github.io/lodestar/reference/cli
|
|
14
14
|
|
package/lib/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEjD,MAAM,EAAC,OAAO,EAAC,GAAG,cAAc,EAAE,CAAC;AACnC,MAAM,SAAS,GAAG;eACH,OAAO;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEjD,MAAM,EAAC,OAAO,EAAC,GAAG,cAAc,EAAE,CAAC;AACnC,MAAM,SAAS,GAAG;eACH,OAAO;iCACW,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;AAC5D,MAAM,YAAY,GAAG;;;;0CAIqB,CAAC;AAE3C,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAE,OAAwC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAEnF;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG,IAAI;SAClB,GAAG,CAAC,UAAU,CAAC;SACf,mBAAmB,CAAC;QACnB,0DAA0D;QAC1D,2DAA2D;QAC3D,cAAc,EAAE,KAAK;KACtB,CAAC;SACD,OAAO,CAAC,aAAa,CAAC;QACvB,sFAAsF;SACrF,UAAU,CAAC,EAAE,CAAC;SACd,aAAa,CAAC,CAAC,CAAC;QACjB,+CAA+C;SAC9C,cAAc,CAAC,KAAK,CAAC;SACrB,KAAK,CAAC,SAAS,CAAC;SAChB,QAAQ,CAAC,YAAY,CAAC;SACtB,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;SAClB,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC;SACrB,iBAAiB,EAAE,CAAC;IAEvB,+BAA+B;IAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KACvC;IAED,+CAA+C;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC;IAEnC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Logger } from "@lodestar/utils";
|
|
2
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
+
import { LoggerNode } from "@lodestar/logger/node";
|
|
3
3
|
import { GlobalArgs } from "../../options/index.js";
|
|
4
4
|
import { BeaconArgs } from "./options.js";
|
|
5
5
|
/**
|
|
@@ -20,7 +20,7 @@ export declare function beaconHandlerInit(args: BeaconArgs & GlobalArgs): Promis
|
|
|
20
20
|
version: string;
|
|
21
21
|
commit: string;
|
|
22
22
|
peerId: import("@libp2p/interface-peer-id").PeerId;
|
|
23
|
-
logger:
|
|
23
|
+
logger: LoggerNode;
|
|
24
24
|
}>;
|
|
25
|
-
export declare function initLogger(args: BeaconArgs, dataDir: string, config: ChainForkConfig):
|
|
25
|
+
export declare function initLogger(args: BeaconArgs, dataDir: string, config: ChainForkConfig): LoggerNode;
|
|
26
26
|
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -5,10 +5,11 @@ import { LevelDbController } from "@lodestar/db";
|
|
|
5
5
|
import { BeaconNode, BeaconDb } from "@lodestar/beacon-node";
|
|
6
6
|
import { createBeaconConfig } from "@lodestar/config";
|
|
7
7
|
import { ACTIVE_PRESET, PresetName } from "@lodestar/params";
|
|
8
|
+
import { getNodeLogger } from "@lodestar/logger/node";
|
|
8
9
|
import { parseBeaconNodeArgs } from "../../options/index.js";
|
|
9
10
|
import { BeaconNodeOptions, getBeaconConfigFromArgs } from "../../config/index.js";
|
|
10
11
|
import { getNetworkBootnodes, getNetworkData, isKnownNetworkName, readBootnodes } from "../../networks/index.js";
|
|
11
|
-
import { onGracefulShutdown,
|
|
12
|
+
import { onGracefulShutdown, mkdir, writeFile600Perm, cleanOldLogFiles, parseLoggerArgs } from "../../util/index.js";
|
|
12
13
|
import { getVersionData } from "../../util/version.js";
|
|
13
14
|
import { getBeaconPaths } from "./paths.js";
|
|
14
15
|
import { initBeaconState } from "./initBeaconState.js";
|
|
@@ -114,7 +115,7 @@ export async function beaconHandlerInit(args) {
|
|
|
114
115
|
const logger = initLogger(args, beaconPaths.dataDir, config);
|
|
115
116
|
const { peerId, enr } = await initPeerIdAndEnr(args, beaconPaths.beaconDir, logger);
|
|
116
117
|
// Inject ENR to beacon options
|
|
117
|
-
beaconNodeOptions.set({ network: { discv5: { enr, enrUpdate: !enr.ip && !enr.ip6 } } });
|
|
118
|
+
beaconNodeOptions.set({ network: { discv5: { enr: enr.encodeTxt(), config: { enrUpdate: !enr.ip && !enr.ip6 } } } });
|
|
118
119
|
// Add simple version string for libp2p agent version
|
|
119
120
|
beaconNodeOptions.set({ network: { version: version.split("/")[0] } });
|
|
120
121
|
// Render final options
|
|
@@ -122,12 +123,13 @@ export async function beaconHandlerInit(args) {
|
|
|
122
123
|
return { config, options, beaconPaths, network, version, commit, peerId, logger };
|
|
123
124
|
}
|
|
124
125
|
export function initLogger(args, dataDir, config) {
|
|
125
|
-
const
|
|
126
|
+
const defaultLogFilepath = path.join(dataDir, "beacon.log");
|
|
127
|
+
const logger = getNodeLogger(parseLoggerArgs(args, { defaultLogFilepath }, config));
|
|
126
128
|
try {
|
|
127
|
-
cleanOldLogFiles(
|
|
129
|
+
cleanOldLogFiles(args, { defaultLogFilepath });
|
|
128
130
|
}
|
|
129
131
|
catch (e) {
|
|
130
|
-
logger.debug("Not able to delete log files",
|
|
132
|
+
logger.debug("Not able to delete log files", {}, e);
|
|
131
133
|
}
|
|
132
134
|
return logger;
|
|
133
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/beacon/handler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AACrC,OAAO,EAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/beacon/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Options } from "yargs";
|
|
2
2
|
import { BeaconNodeArgs } from "../../options/index.js";
|
|
3
|
-
import {
|
|
3
|
+
import { LogArgs } from "../../options/logOptions.js";
|
|
4
|
+
import { CliCommandOptions } from "../../util/index.js";
|
|
4
5
|
import { BeaconPaths } from "./paths.js";
|
|
5
6
|
type BeaconExtraArgs = {
|
|
6
7
|
forceGenesis?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/beacon/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAiB,MAAM,wBAAwB,CAAC;AACxF,OAAO,
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/beacon/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ export declare const devOptions: {
|
|
|
26
26
|
mdns?: Options | undefined;
|
|
27
27
|
targetPeers?: Options | undefined;
|
|
28
28
|
discv5?: Options | undefined;
|
|
29
|
+
disablePeerScoring?: Options | undefined;
|
|
29
30
|
"api.maxGindicesInProof"?: Options | undefined;
|
|
30
31
|
"rest.namespace"?: Options | undefined;
|
|
31
32
|
rest?: Options | undefined;
|
|
@@ -3,13 +3,14 @@ import { ApiError, getClient } from "@lodestar/api";
|
|
|
3
3
|
import { Lightclient } from "@lodestar/light-client";
|
|
4
4
|
import { fromHexString } from "@chainsafe/ssz";
|
|
5
5
|
import { LightClientRestTransport } from "@lodestar/light-client/transport";
|
|
6
|
+
import { getNodeLogger } from "@lodestar/logger/node";
|
|
6
7
|
import { getBeaconConfigFromArgs } from "../../config/beaconParams.js";
|
|
7
8
|
import { getGlobalPaths } from "../../paths/global.js";
|
|
8
|
-
import {
|
|
9
|
+
import { parseLoggerArgs } from "../../util/logger.js";
|
|
9
10
|
export async function lightclientHandler(args) {
|
|
10
11
|
const { config, network } = getBeaconConfigFromArgs(args);
|
|
11
12
|
const globalPaths = getGlobalPaths(args, network);
|
|
12
|
-
const
|
|
13
|
+
const logger = getNodeLogger(parseLoggerArgs(args, { defaultLogFilepath: path.join(globalPaths.dataDir, "lightclient.log") }, config));
|
|
13
14
|
const { beaconApiUrl, checkpointRoot } = args;
|
|
14
15
|
const api = getClient({ baseUrl: beaconApiUrl }, { config });
|
|
15
16
|
const res = await api.beacon.getGenesis();
|
|
@@ -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,QAAQ,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,wBAAwB,EAAC,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/lightclient/handler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,wBAAwB,EAAC,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,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;IACF,MAAM,EAAC,YAAY,EAAE,cAAc,EAAC,GAAG,IAAI,CAAC;IAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,EAAC,OAAO,EAAE,YAAY,EAAC,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,4BAA4B,CAAC;QAC5D,MAAM;QACN,MAAM;QACN,WAAW,EAAE;YACX,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;YAClD,qBAAqB,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB;SAC/D;QACD,cAAc,EAAE,aAAa,CAAC,cAAc,CAAC;QAC7C,SAAS,EAAE,IAAI,wBAAwB,CAAC,GAAG,CAAC;KAC7C,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LogArgs } from "../../options/logOptions.js";
|
|
2
|
+
import { CliCommandOptions } from "../../util/index.js";
|
|
2
3
|
export type ILightClientArgs = LogArgs & {
|
|
3
4
|
beaconApiUrl: string;
|
|
4
5
|
checkpointRoot: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/lightclient/options.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/lightclient/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAQhE,MAAM,CAAC,MAAM,kBAAkB,GAAwC;IACrE,GAAG,UAAU;IACb,YAAY,EAAE;QACZ,WAAW,EAAE,mDAAmD;QAChE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;IACD,cAAc,EAAE;QACd,WAAW,EAAE,wEAAwE;QACrF,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;CACF,CAAC"}
|
|
@@ -4,8 +4,9 @@ import { LevelDbController } from "@lodestar/db";
|
|
|
4
4
|
import { SlashingProtection, Validator, } from "@lodestar/validator";
|
|
5
5
|
import { getMetrics } from "@lodestar/validator";
|
|
6
6
|
import { RegistryMetricCreator, collectNodeJSMetrics, HttpMetricsServer, MonitoringService } from "@lodestar/beacon-node";
|
|
7
|
+
import { getNodeLogger } from "@lodestar/logger/node";
|
|
7
8
|
import { getBeaconConfigFromArgs } from "../../config/index.js";
|
|
8
|
-
import { YargsError, getDefaultGraffiti, mkdir,
|
|
9
|
+
import { YargsError, cleanOldLogFiles, getDefaultGraffiti, mkdir, parseLoggerArgs } from "../../util/index.js";
|
|
9
10
|
import { onGracefulShutdown, parseFeeRecipient, parseProposerConfig } from "../../util/index.js";
|
|
10
11
|
import { getVersionData } from "../../util/version.js";
|
|
11
12
|
import { getAccountPaths, getValidatorPaths } from "./paths.js";
|
|
@@ -24,12 +25,13 @@ export async function validatorHandler(args) {
|
|
|
24
25
|
const doppelgangerProtectionEnabled = args.doppelgangerProtectionEnabled;
|
|
25
26
|
const validatorPaths = getValidatorPaths(args, network);
|
|
26
27
|
const accountPaths = getAccountPaths(args, network);
|
|
27
|
-
const
|
|
28
|
+
const defaultLogFilepath = path.join(validatorPaths.dataDir, "validator.log");
|
|
29
|
+
const logger = getNodeLogger(parseLoggerArgs(args, { defaultLogFilepath }, config));
|
|
28
30
|
try {
|
|
29
|
-
cleanOldLogFiles(
|
|
31
|
+
cleanOldLogFiles(args, { defaultLogFilepath });
|
|
30
32
|
}
|
|
31
33
|
catch (e) {
|
|
32
|
-
logger.debug("Not able to delete log files",
|
|
34
|
+
logger.debug("Not able to delete log files", {}, e);
|
|
33
35
|
}
|
|
34
36
|
const persistedKeysBackend = new PersistedKeysBackend(accountPaths);
|
|
35
37
|
const valProposerConfig = getProposerConfigFromArgs(args, { persistedKeysBackend, accountPaths });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/validator/handler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAC/C,OAAO,EAEL,kBAAkB,EAClB,SAAS,GAGV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,UAAU,EAAkB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAC,qBAAqB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxH,OAAO,EAAC,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAC,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/validator/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,9 @@ export async function decryptKeystoreDefinitions(keystoreDefinitions, opts) {
|
|
|
11
11
|
if (opts.cacheFilePath) {
|
|
12
12
|
try {
|
|
13
13
|
const signers = await loadKeystoreCache(opts.cacheFilePath, keystoreDefinitions);
|
|
14
|
+
for (const { keystorePath } of keystoreDefinitions) {
|
|
15
|
+
lockKeystore(keystorePath, opts);
|
|
16
|
+
}
|
|
14
17
|
if (opts === null || opts === void 0 ? void 0 : opts.onDecrypt) {
|
|
15
18
|
opts === null || opts === void 0 ? void 0 : opts.onDecrypt(signers.length - 1);
|
|
16
19
|
}
|
|
@@ -31,19 +34,7 @@ export async function decryptKeystoreDefinitions(keystoreDefinitions, opts) {
|
|
|
31
34
|
timeout: 5 * 60 * 1000,
|
|
32
35
|
}), defaultPoolSize);
|
|
33
36
|
for (const [index, definition] of keystoreDefinitions.entries()) {
|
|
34
|
-
|
|
35
|
-
lockFilepath(definition.keystorePath);
|
|
36
|
-
}
|
|
37
|
-
catch (e) {
|
|
38
|
-
if (opts.ignoreLockFile) {
|
|
39
|
-
opts.logger.warn("Keystore forcefully loaded even though lockfile exists", {
|
|
40
|
-
path: definition.keystorePath,
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
throw e;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
37
|
+
lockKeystore(definition.keystorePath, opts);
|
|
47
38
|
const task = pool.queue((thread) => thread.decryptKeystoreDefinition(definition));
|
|
48
39
|
tasks.push(task);
|
|
49
40
|
task
|
|
@@ -89,4 +80,19 @@ export async function decryptKeystoreDefinitions(keystoreDefinitions, opts) {
|
|
|
89
80
|
}
|
|
90
81
|
return signers;
|
|
91
82
|
}
|
|
83
|
+
function lockKeystore(keystorePath, opts) {
|
|
84
|
+
try {
|
|
85
|
+
lockFilepath(keystorePath);
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
if (opts.ignoreLockFile) {
|
|
89
|
+
opts.logger.warn("Keystore forcefully loaded even though lockfile exists", {
|
|
90
|
+
path: keystorePath,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
throw e;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
92
98
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cmds/validator/keymanager/decryptKeystoreDefinitions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAgB,IAAI,EAAc,MAAM,EAAC,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAc,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC5D,OAAO,GAAG,MAAM,gBAAgB,CAAC;AAEjC,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAG9C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,mBAA8C,EAC9C,IAA4B;IAE5B,IAAI,IAAI,CAAC,aAAa,EAAE;QACtB,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cmds/validator/keymanager/decryptKeystoreDefinitions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Logger } from "@lodestar/utils";
|
|
1
|
+
import { LogLevel, Logger } from "@lodestar/utils";
|
|
2
2
|
import { LocalKeystoreDefinition } from "../interface.js";
|
|
3
3
|
export type DecryptKeystoreWorkerAPI = {
|
|
4
4
|
decryptKeystoreDefinition({ keystorePath, password }: LocalKeystoreDefinition): Promise<Uint8Array>;
|
|
@@ -7,6 +7,6 @@ export type KeystoreDecryptOptions = {
|
|
|
7
7
|
ignoreLockFile?: boolean;
|
|
8
8
|
onDecrypt?: (index: number) => void;
|
|
9
9
|
cacheFilePath?: string;
|
|
10
|
-
logger: Pick<Logger,
|
|
10
|
+
logger: Pick<Logger, LogLevel.info | LogLevel.warn | LogLevel.debug>;
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/validator/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/validator/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Signer } from "@lodestar/validator";
|
|
2
|
-
import { Logger } from "@lodestar/utils";
|
|
2
|
+
import { LogLevel, Logger } from "@lodestar/utils";
|
|
3
3
|
import { GlobalArgs } from "../../../options/index.js";
|
|
4
4
|
import { IValidatorCliArgs } from "../options.js";
|
|
5
5
|
/**
|
|
@@ -28,7 +28,7 @@ import { IValidatorCliArgs } from "../options.js";
|
|
|
28
28
|
* - Remote signer definition imported from keymanager api
|
|
29
29
|
*/
|
|
30
30
|
export declare function getSignersFromArgs(args: IValidatorCliArgs & GlobalArgs, network: string, { logger, signal }: {
|
|
31
|
-
logger: Pick<Logger,
|
|
31
|
+
logger: Pick<Logger, LogLevel.info | LogLevel.warn | LogLevel.debug>;
|
|
32
32
|
signal: AbortSignal;
|
|
33
33
|
}): Promise<Signer[]>;
|
|
34
34
|
export declare function getSignerPubkeyHex(signer: Signer): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmds/validator/signers/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAC,uBAAuB,EAAE,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAC,qBAAqB,EAAU,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAC,cAAc,EAAa,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAC,qBAAqB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAC,MAAM,wBAAwB,CAAC;AACrG,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,0BAA0B,EAAC,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,wCAAwC,EAAE,sBAAsB,EAAC,MAAM,8BAA8B,CAAC;AAE9G,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAoC,EACpC,OAAe,EACf,EAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmds/validator/signers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Signer } from "@lodestar/validator";
|
|
2
|
-
import { Logger } from "@lodestar/utils";
|
|
2
|
+
import { LogLevel, Logger } from "@lodestar/utils";
|
|
3
3
|
/**
|
|
4
4
|
* Log each pubkeys for auditing out keys are loaded from the logs
|
|
5
5
|
*/
|
|
6
|
-
export declare function logSigners(logger: Pick<Logger,
|
|
6
|
+
export declare function logSigners(logger: Pick<Logger, LogLevel.info>, signers: Signer[]): void;
|
|
7
7
|
//# sourceMappingURL=logSigners.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logSigners.js","sourceRoot":"","sources":["../../../../src/cmds/validator/signers/logSigners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAGlF;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"logSigners.js","sourceRoot":"","sources":["../../../../src/cmds/validator/signers/logSigners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAGlF;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAmC,EAAE,OAAiB;IAC/E,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,UAAU,CAAC,KAAK;gBACnB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1B,MAAM;YACR,KAAK,UAAU,CAAC,MAAM;gBACpB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM;SACT;KACF;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,kBAAkB,CAAC,CAAC;QACtD,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;SACrD;KACF;IAED,KAAK,MAAM,EAAC,GAAG,EAAE,OAAO,EAAC,IAAI,yBAAyB,CAAC,aAAa,CAAC,EAAE;QACrE,MAAM,CAAC,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;QAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrB;KACF;AACH,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAAC,eAA+B;IAChE,MAAM,KAAK,GAAG,IAAI,GAAG,EAA4C,CAAC;IAElE,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;QAC5C,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,EAAE;YACN,CAAC,GAAG,EAAC,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAC,CAAC;YAC3C,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SAClC;QACD,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;KACvC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { CliCommand } from "../../../util/index.js";
|
|
2
2
|
import { GlobalArgs } from "../../../options/index.js";
|
|
3
|
+
import { LogArgs } from "../../../options/logOptions.js";
|
|
3
4
|
import { AccountValidatorArgs } from "../options.js";
|
|
4
|
-
import { LogArgs } from "../../../util/index.js";
|
|
5
5
|
import { ISlashingProtectionArgs } from "./options.js";
|
|
6
6
|
type ExportArgs = {
|
|
7
7
|
file: string;
|
|
8
|
+
pubkeys?: string[];
|
|
8
9
|
};
|
|
9
10
|
export declare const exportCmd: CliCommand<ExportArgs, ISlashingProtectionArgs & AccountValidatorArgs & GlobalArgs & LogArgs>;
|
|
10
11
|
export {};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { toHexString } from "@chainsafe/ssz";
|
|
3
|
+
import { getNodeLogger } from "@lodestar/logger/node";
|
|
4
|
+
import { YargsError, ensure0xPrefix, isValidatePubkeyHex, writeFile600Perm } from "../../../util/index.js";
|
|
5
|
+
import { parseLoggerArgs } from "../../../util/logger.js";
|
|
4
6
|
import { getBeaconConfigFromArgs } from "../../../config/index.js";
|
|
5
7
|
import { getValidatorPaths } from "../paths.js";
|
|
6
8
|
import { getGenesisValidatorsRoot, getSlashingProtection } from "./utils.js";
|
|
@@ -19,30 +21,58 @@ export const exportCmd = {
|
|
|
19
21
|
demandOption: true,
|
|
20
22
|
type: "string",
|
|
21
23
|
},
|
|
24
|
+
pubkeys: {
|
|
25
|
+
description: "Export slashing protection data only for a given subset of pubkeys",
|
|
26
|
+
type: "array",
|
|
27
|
+
string: true,
|
|
28
|
+
coerce: (pubkeys) =>
|
|
29
|
+
// Parse ["0x11,0x22"] to ["0x11", "0x22"]
|
|
30
|
+
pubkeys
|
|
31
|
+
.map((item) => item.split(","))
|
|
32
|
+
.flat(1)
|
|
33
|
+
.map(ensure0xPrefix),
|
|
34
|
+
},
|
|
22
35
|
},
|
|
23
36
|
handler: async (args) => {
|
|
24
37
|
var _a;
|
|
25
38
|
const { config, network } = getBeaconConfigFromArgs(args);
|
|
26
39
|
const validatorPaths = getValidatorPaths(args, network);
|
|
27
40
|
// slashingProtection commands are fast so do not require logFile feature
|
|
28
|
-
const
|
|
41
|
+
const logger = getNodeLogger(parseLoggerArgs(args, { defaultLogFilepath: path.join(validatorPaths.dataDir, "validator.log") }, config));
|
|
29
42
|
const { validatorsDbDir: dbPath } = getValidatorPaths(args, network);
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
logger.info("Exporting the slashing protection logs", { ...formatVersion, dbPath });
|
|
43
|
+
const formatVersion = { version: "5" };
|
|
44
|
+
logger.info("Exporting slashing protection data", { ...formatVersion, dbPath });
|
|
33
45
|
const { slashingProtection, metadata } = getSlashingProtection(args, network, logger);
|
|
34
46
|
// When exporting validator DB should already have genesisValidatorsRoot persisted.
|
|
35
47
|
// For legacy node and general fallback, fetch from:
|
|
36
48
|
// - known genesis data from existing network
|
|
37
49
|
// - else fetch from beacon node
|
|
38
50
|
const genesisValidatorsRoot = (_a = (await metadata.getGenesisValidatorsRoot())) !== null && _a !== void 0 ? _a : (await getGenesisValidatorsRoot(args));
|
|
39
|
-
logger.verbose("Fetching
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
51
|
+
logger.verbose("Fetching pubkeys from slashing protection db");
|
|
52
|
+
const allPubkeys = await slashingProtection.listPubkeys();
|
|
53
|
+
let pubkeysToExport = allPubkeys;
|
|
54
|
+
if (args.pubkeys) {
|
|
55
|
+
logger.verbose("Filtering by pubkeys from args", { count: args.pubkeys.length });
|
|
56
|
+
const filteredPubkeys = [];
|
|
57
|
+
for (const pubkeyHex of args.pubkeys) {
|
|
58
|
+
if (!isValidatePubkeyHex(pubkeyHex)) {
|
|
59
|
+
throw new YargsError(`Invalid pubkey ${pubkeyHex}`);
|
|
60
|
+
}
|
|
61
|
+
const existingPubkey = allPubkeys.find((pubkey) => toHexString(pubkey) === pubkeyHex);
|
|
62
|
+
if (!existingPubkey) {
|
|
63
|
+
logger.warn("Pubkey not found in slashing protection db", { pubkey: pubkeyHex });
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
filteredPubkeys.push(existingPubkey);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
pubkeysToExport = filteredPubkeys;
|
|
70
|
+
}
|
|
71
|
+
logger.info("Starting export for pubkeys found", { count: pubkeysToExport.length });
|
|
72
|
+
const interchange = await slashingProtection.exportInterchange(genesisValidatorsRoot, pubkeysToExport, formatVersion, logger);
|
|
73
|
+
logger.info("Writing slashing protection data", { file: args.file });
|
|
44
74
|
writeFile600Perm(args.file, interchange);
|
|
45
|
-
logger.
|
|
75
|
+
logger.info("Export completed successfully");
|
|
46
76
|
},
|
|
47
77
|
};
|
|
48
78
|
//# sourceMappingURL=export.js.map
|
|
@@ -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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"}
|