@chainsafe/lodestar 1.9.0-dev.cd7709b489 → 1.9.0-dev.d29cdc807f
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 +20 -6
- 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 +2 -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 +10 -10
- 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 +2 -0
- package/lib/options/beaconNodeOptions/network.d.ts +2 -0
- package/lib/options/beaconNodeOptions/network.js +25 -8
- 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 +15 -14
- package/lib/util/loggerConsoleTransport.d.ts +0 -24
- package/lib/util/loggerConsoleTransport.js +0 -35
- package/lib/util/loggerConsoleTransport.js.map +0 -1
|
@@ -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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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
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 ImportArgs = {
|
|
7
7
|
file: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import {
|
|
3
|
+
import { getNodeLogger } from "@lodestar/logger/node";
|
|
4
|
+
import { parseLoggerArgs } from "../../../util/logger.js";
|
|
4
5
|
import { getBeaconConfigFromArgs } from "../../../config/index.js";
|
|
5
6
|
import { getValidatorPaths } from "../paths.js";
|
|
6
7
|
import { getGenesisValidatorsRoot, getSlashingProtection } from "./utils.js";
|
|
@@ -25,16 +26,16 @@ export const importCmd = {
|
|
|
25
26
|
const { config, network } = getBeaconConfigFromArgs(args);
|
|
26
27
|
const validatorPaths = getValidatorPaths(args, network);
|
|
27
28
|
// slashingProtection commands are fast so do not require logFile feature
|
|
28
|
-
const
|
|
29
|
+
const logger = getNodeLogger(parseLoggerArgs(args, { defaultLogFilepath: path.join(validatorPaths.dataDir, "validator.log") }, config));
|
|
29
30
|
const { validatorsDbDir: dbPath } = getValidatorPaths(args, network);
|
|
30
|
-
logger.info("Importing
|
|
31
|
+
logger.info("Importing slashing protection data", { dbPath });
|
|
31
32
|
const { slashingProtection, metadata } = getSlashingProtection(args, network, logger);
|
|
32
33
|
// Fetch genesisValidatorsRoot from:
|
|
33
34
|
// - existing cached in validator DB
|
|
34
35
|
// - known genesis data from existing network
|
|
35
36
|
// - else fetch from beacon node
|
|
36
37
|
const genesisValidatorsRoot = (_a = (await metadata.getGenesisValidatorsRoot())) !== null && _a !== void 0 ? _a : (await getGenesisValidatorsRoot(args));
|
|
37
|
-
logger.verbose("Reading
|
|
38
|
+
logger.verbose("Reading slashing protection data", { file: args.file });
|
|
38
39
|
const interchangeStr = await fs.promises.readFile(args.file, "utf8");
|
|
39
40
|
const interchangeJson = JSON.parse(interchangeStr);
|
|
40
41
|
await slashingProtection.importInterchange(interchangeJson, genesisValidatorsRoot, logger);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../src/cmds/validator/slashingProtection/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../src/cmds/validator/slashingProtection/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,MAAM,YAAY,CAAC;AAO3E,MAAM,CAAC,MAAM,SAAS,GACpB;IACE,OAAO,EAAE,QAAQ;IAEjB,QAAQ,EAAE,6BAA6B;IAEvC,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,+EAA+E;YACxF,WAAW,EAAE,0DAA0D;SACxE;KACF;IAED,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,WAAW,EAAE,6DAA6D;YAC1E,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,QAAQ;SACf;KACF;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;;QACtB,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,yEAAyE;QACzE,MAAM,MAAM,GAAG,aAAa,CAC1B,eAAe,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,EAAC,EAAE,MAAM,CAAC,CACxG,CAAC;QAEF,MAAM,EAAC,eAAe,EAAE,MAAM,EAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEnE,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;QAE5D,MAAM,EAAC,kBAAkB,EAAE,QAAQ,EAAC,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEpF,oCAAoC;QACpC,oCAAoC;QACpC,6CAA6C;QAC7C,gCAAgC;QAChC,MAAM,qBAAqB,GACzB,MAAA,CAAC,MAAM,QAAQ,CAAC,wBAAwB,EAAE,CAAC,mCAAI,CAAC,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAExF,MAAM,CAAC,OAAO,CAAC,kCAAkC,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QACtE,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAgB,CAAC;QAElE,MAAM,kBAAkB,CAAC,iBAAiB,CAAC,eAAe,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAC3F,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;CACF,CAAC"}
|
|
@@ -25,7 +25,7 @@ If no `pubkeys` are provided, it will exit all validators that have been importe
|
|
|
25
25
|
type: "number",
|
|
26
26
|
},
|
|
27
27
|
pubkeys: {
|
|
28
|
-
description: "Pubkeys to exit, must be available as local signers
|
|
28
|
+
description: "Pubkeys to exit, must be available as local signers",
|
|
29
29
|
type: "array",
|
|
30
30
|
string: true,
|
|
31
31
|
coerce: (pubkeys) =>
|
|
@@ -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,EACL,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAC,GAAG,EAAS,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAsB,UAAU,EAAC,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAM,QAAQ,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,cAAc,EAAc,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAC,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAUtD,MAAM,CAAC,MAAM,aAAa,GAAkE;IAC1F,OAAO,EAAE,gBAAgB;IAEzB,QAAQ,EACN;mFAC+E;IAEjF,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,0CAA0C;YACnD,WAAW,EAAE,uEAAuE;SACrF;KACF;IAED,OAAO,EAAE;QACP,SAAS,EAAE;YACT,WAAW,EACT,mHAAmH;YACrH,IAAI,EAAE,QAAQ;SACf;QAED,OAAO,EAAE;YACP,WAAW,
|
|
1
|
+
{"version":3,"file":"voluntaryExit.js","sourceRoot":"","sources":["../../../src/cmds/validator/voluntaryExit.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ export declare const beaconNodeOptions: {
|
|
|
24
24
|
bootnodes: import("yargs").Options;
|
|
25
25
|
targetPeers: import("yargs").Options;
|
|
26
26
|
subscribeAllSubnets: import("yargs").Options;
|
|
27
|
+
disablePeerScoring: import("yargs").Options;
|
|
27
28
|
mdns: import("yargs").Options;
|
|
28
29
|
"network.maxPeers": import("yargs").Options;
|
|
29
30
|
"network.connectToDiscv5Bootnodes": import("yargs").Options;
|
|
@@ -36,6 +37,7 @@ export declare const beaconNodeOptions: {
|
|
|
36
37
|
"network.gossipsubAwaitHandler": import("yargs").Options;
|
|
37
38
|
"network.rateLimitMultiplier": import("yargs").Options;
|
|
38
39
|
"network.maxGossipTopicConcurrency": import("yargs").Options;
|
|
40
|
+
"network.useWorker": import("yargs").Options;
|
|
39
41
|
"network.requestCountPeerLimit": import("yargs").Options;
|
|
40
42
|
"network.blockCountTotalLimit": import("yargs").Options;
|
|
41
43
|
"network.blockCountPeerLimit": import("yargs").Options;
|
|
@@ -9,6 +9,7 @@ export type NetworkArgs = {
|
|
|
9
9
|
bootnodes?: string[];
|
|
10
10
|
targetPeers: number;
|
|
11
11
|
subscribeAllSubnets: boolean;
|
|
12
|
+
disablePeerScoring: boolean;
|
|
12
13
|
mdns: boolean;
|
|
13
14
|
"network.maxPeers": number;
|
|
14
15
|
"network.connectToDiscv5Bootnodes": boolean;
|
|
@@ -21,6 +22,7 @@ export type NetworkArgs = {
|
|
|
21
22
|
"network.gossipsubAwaitHandler": boolean;
|
|
22
23
|
"network.rateLimitMultiplier": number;
|
|
23
24
|
"network.maxGossipTopicConcurrency"?: number;
|
|
25
|
+
"network.useWorker": boolean;
|
|
24
26
|
/** @deprecated This option is deprecated and should be removed in next major release. */
|
|
25
27
|
"network.requestCountPeerLimit": number;
|
|
26
28
|
/** @deprecated This option is deprecated and should be removed in next major release. */
|
|
@@ -12,19 +12,24 @@ export function parseArgs(args) {
|
|
|
12
12
|
if (targetPeers != null && maxPeers != null && targetPeers > maxPeers) {
|
|
13
13
|
throw new YargsError("network.maxPeers must be greater than or equal to targetPeers");
|
|
14
14
|
}
|
|
15
|
+
// Set discv5 opts to null to disable only if explicitly disabled
|
|
16
|
+
const enableDiscv5 = (_e = args["discv5"]) !== null && _e !== void 0 ? _e : true;
|
|
15
17
|
return {
|
|
16
|
-
discv5:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
discv5: enableDiscv5
|
|
19
|
+
? {
|
|
20
|
+
config: {},
|
|
21
|
+
bindAddr: `/ip4/${listenAddress}/udp/${udpPort}`,
|
|
22
|
+
// TODO: Okay to set to empty array?
|
|
23
|
+
bootEnrs: (_f = args["bootnodes"]) !== null && _f !== void 0 ? _f : [],
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any
|
|
25
|
+
enr: undefined,
|
|
26
|
+
}
|
|
27
|
+
: null,
|
|
24
28
|
maxPeers,
|
|
25
29
|
targetPeers,
|
|
26
30
|
localMultiaddrs: [`/ip4/${listenAddress}/tcp/${tcpPort}`],
|
|
27
31
|
subscribeAllSubnets: args["subscribeAllSubnets"],
|
|
32
|
+
disablePeerScoring: args["disablePeerScoring"],
|
|
28
33
|
connectToDiscv5Bootnodes: args["network.connectToDiscv5Bootnodes"],
|
|
29
34
|
discv5FirstQueryDelayMs: args["network.discv5FirstQueryDelayMs"],
|
|
30
35
|
dontSendGossipAttestationsToForkchoice: args["network.dontSendGossipAttestationsToForkchoice"],
|
|
@@ -36,6 +41,7 @@ export function parseArgs(args) {
|
|
|
36
41
|
mdns: args["mdns"],
|
|
37
42
|
rateLimitMultiplier: args["network.rateLimitMultiplier"],
|
|
38
43
|
maxGossipTopicConcurrency: args["network.maxGossipTopicConcurrency"],
|
|
44
|
+
useWorker: args["network.useWorker"],
|
|
39
45
|
};
|
|
40
46
|
}
|
|
41
47
|
export const options = {
|
|
@@ -87,6 +93,12 @@ export const options = {
|
|
|
87
93
|
defaultDescription: String(defaultOptions.network.subscribeAllSubnets === true),
|
|
88
94
|
group: "network",
|
|
89
95
|
},
|
|
96
|
+
disablePeerScoring: {
|
|
97
|
+
type: "boolean",
|
|
98
|
+
description: "Disable peer scoring, used for testing on devnets",
|
|
99
|
+
defaultDescription: String(defaultOptions.network.disablePeerScoring === true),
|
|
100
|
+
group: "network",
|
|
101
|
+
},
|
|
90
102
|
mdns: {
|
|
91
103
|
type: "boolean",
|
|
92
104
|
description: "Enable mdns local peer discovery",
|
|
@@ -189,5 +201,10 @@ export const options = {
|
|
|
189
201
|
hidden: true,
|
|
190
202
|
group: "network",
|
|
191
203
|
},
|
|
204
|
+
"network.useWorker": {
|
|
205
|
+
type: "boolean",
|
|
206
|
+
hidden: true,
|
|
207
|
+
group: "network",
|
|
208
|
+
},
|
|
192
209
|
};
|
|
193
210
|
//# sourceMappingURL=network.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAoB,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAElE,MAAM,oBAAoB,GAAG,SAAS,CAAC;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
+
import { LogLevel } from "@lodestar/logger";
|
|
1
2
|
import { CliCommandOptions } from "../util/command.js";
|
|
2
|
-
|
|
3
|
+
export type LogArgs = {
|
|
4
|
+
logLevel: LogLevel;
|
|
5
|
+
logFile?: string;
|
|
6
|
+
logFileLevel: LogLevel;
|
|
7
|
+
logFileDailyRotate: number;
|
|
8
|
+
logFormatGenesisTime?: number;
|
|
9
|
+
logPrefix?: string;
|
|
10
|
+
logFormat?: string;
|
|
11
|
+
logLevelModule?: string[];
|
|
12
|
+
};
|
|
3
13
|
export declare const logOptions: CliCommandOptions<LogArgs>;
|
|
4
14
|
//# sourceMappingURL=logOptions.d.ts.map
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { LogLevels } from "@lodestar/utils";
|
|
2
|
+
import { LogLevel, logFormats } from "@lodestar/logger";
|
|
3
|
+
import { LOG_FILE_DISABLE_KEYWORD } from "../util/logger.js";
|
|
3
4
|
export const logOptions = {
|
|
4
5
|
logLevel: {
|
|
5
6
|
choices: LogLevels,
|
|
6
7
|
description: "Logging verbosity level for emittings logs to terminal",
|
|
7
|
-
default:
|
|
8
|
+
default: LogLevel.info,
|
|
8
9
|
type: "string",
|
|
9
10
|
},
|
|
10
11
|
logFile: {
|
|
@@ -14,12 +15,12 @@ export const logOptions = {
|
|
|
14
15
|
logFileLevel: {
|
|
15
16
|
choices: LogLevels,
|
|
16
17
|
description: "Logging verbosity level for emittings logs to file",
|
|
17
|
-
default:
|
|
18
|
+
default: LogLevel.debug,
|
|
18
19
|
type: "string",
|
|
19
20
|
},
|
|
20
21
|
logFileDailyRotate: {
|
|
21
22
|
description: "Daily rotate log files, set to an integer to limit the file count, set to 0(zero) to disable rotation",
|
|
22
|
-
default:
|
|
23
|
+
default: 5,
|
|
23
24
|
type: "number",
|
|
24
25
|
},
|
|
25
26
|
logFormatGenesisTime: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logOptions.js","sourceRoot":"","sources":["../../src/options/logOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"logOptions.js","sourceRoot":"","sources":["../../src/options/logOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAC,wBAAwB,EAAC,MAAM,mBAAmB,CAAC;AAa3D,MAAM,CAAC,MAAM,UAAU,GAA+B;IACpD,QAAQ,EAAE;QACR,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,wDAAwD;QACrE,OAAO,EAAE,QAAQ,CAAC,IAAI;QACtB,IAAI,EAAE,QAAQ;KACf;IAED,OAAO,EAAE;QACP,WAAW,EAAE,0DAA0D,wBAAwB,cAAc;QAC7G,IAAI,EAAE,QAAQ;KACf;IAED,YAAY,EAAE;QACZ,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,oDAAoD;QACjE,OAAO,EAAE,QAAQ,CAAC,KAAK;QACvB,IAAI,EAAE,QAAQ;KACf;IAED,kBAAkB,EAAE;QAClB,WAAW,EACT,uGAAuG;QACzG,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,QAAQ;KACf;IAED,oBAAoB,EAAE;QACpB,MAAM,EAAE,IAAI;QACZ,WAAW,EACT,kHAAkH;QACpH,IAAI,EAAE,QAAQ;KACf;IAED,SAAS,EAAE;QACT,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE,QAAQ;KACf;IAED,SAAS,EAAE;QACT,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,kEAAkE;QAC/E,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,QAAQ;KACf;IAED,cAAc,EAAE;QACd,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,2FAA2F;QACxG,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;KACxE;CACF,CAAC"}
|
package/lib/util/logger.d.ts
CHANGED
|
@@ -1,39 +1,23 @@
|
|
|
1
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
-
import {
|
|
2
|
+
import { LoggerNodeOpts } from "@lodestar/logger/node";
|
|
3
|
+
import { LogArgs } from "../options/logOptions.js";
|
|
3
4
|
import { GlobalArgs } from "../options/globalOptions.js";
|
|
4
5
|
export declare const LOG_FILE_DISABLE_KEYWORD = "none";
|
|
5
|
-
export declare const LOG_LEVEL_DEFAULT = LogLevel.info;
|
|
6
|
-
export declare const LOG_FILE_LEVEL_DEFAULT = LogLevel.debug;
|
|
7
|
-
export declare const LOG_DAILY_ROTATE_DEFAULT = 5;
|
|
8
|
-
export type LogArgs = {
|
|
9
|
-
logLevel?: LogLevel;
|
|
10
|
-
logFile?: string;
|
|
11
|
-
logFileLevel?: LogLevel;
|
|
12
|
-
logFileDailyRotate?: number;
|
|
13
|
-
logFormatGenesisTime?: number;
|
|
14
|
-
logPrefix?: string;
|
|
15
|
-
logFormat?: string;
|
|
16
|
-
logLevelModule?: string[];
|
|
17
|
-
};
|
|
18
6
|
/**
|
|
19
7
|
* Setup a CLI logger, common for beacon, validator and dev commands
|
|
20
8
|
*/
|
|
21
|
-
export declare function
|
|
9
|
+
export declare function parseLoggerArgs(args: LogArgs & Pick<GlobalArgs, "dataDir">, paths: {
|
|
22
10
|
defaultLogFilepath: string;
|
|
23
11
|
}, config: ChainForkConfig, opts?: {
|
|
24
12
|
hideTimestamp?: boolean;
|
|
25
|
-
}):
|
|
26
|
-
logger: Logger;
|
|
27
|
-
logParams: {
|
|
28
|
-
filename: string;
|
|
29
|
-
rotateMaxFiles: number;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
13
|
+
}): LoggerNodeOpts;
|
|
32
14
|
/**
|
|
33
15
|
* Winston is not able to clean old log files if server is offline for a while
|
|
34
16
|
* so we have to do this manually when starting the node.
|
|
35
17
|
* See https://github.com/ChainSafe/lodestar/issues/4419
|
|
36
18
|
*/
|
|
37
|
-
export declare function cleanOldLogFiles(
|
|
19
|
+
export declare function cleanOldLogFiles(args: LogArgs, paths: {
|
|
20
|
+
defaultLogFilepath: string;
|
|
21
|
+
}): void;
|
|
38
22
|
export declare function shouldDeleteLogFile(prefix: string, extension: string, logFileName: string, maxFiles: number): boolean;
|
|
39
23
|
//# sourceMappingURL=logger.d.ts.map
|
package/lib/util/logger.js
CHANGED
|
@@ -1,91 +1,70 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import fs from "node:fs";
|
|
3
|
-
import DailyRotateFile from "winston-daily-rotate-file";
|
|
4
|
-
import winston from "winston";
|
|
5
3
|
import { SLOTS_PER_EPOCH } from "@lodestar/params";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { TimestampFormatCode, logFormats } from "@lodestar/logger";
|
|
5
|
+
import { LogLevel } from "@lodestar/utils";
|
|
8
6
|
export const LOG_FILE_DISABLE_KEYWORD = "none";
|
|
9
|
-
export const LOG_LEVEL_DEFAULT = LogLevel.info;
|
|
10
|
-
export const LOG_FILE_LEVEL_DEFAULT = LogLevel.debug;
|
|
11
|
-
export const LOG_DAILY_ROTATE_DEFAULT = 5;
|
|
12
|
-
const DATE_PATTERN = "YYYY-MM-DD";
|
|
13
7
|
/**
|
|
14
8
|
* Setup a CLI logger, common for beacon, validator and dev commands
|
|
15
9
|
*/
|
|
16
|
-
export function
|
|
17
|
-
var _a
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
10
|
+
export function parseLoggerArgs(args, paths, config, opts) {
|
|
11
|
+
var _a;
|
|
12
|
+
return {
|
|
13
|
+
level: parseLogLevel(args.logLevel),
|
|
14
|
+
file: args.logFile === LOG_FILE_DISABLE_KEYWORD
|
|
15
|
+
? undefined
|
|
16
|
+
: {
|
|
17
|
+
filepath: (_a = args.logFile) !== null && _a !== void 0 ? _a : paths.defaultLogFilepath,
|
|
18
|
+
level: parseLogLevel(args.logFileLevel),
|
|
19
|
+
dailyRotate: args.logFileDailyRotate,
|
|
20
|
+
},
|
|
21
|
+
module: args.logPrefix,
|
|
22
|
+
format: args.logFormat ? parseLogFormat(args.logFormat) : undefined,
|
|
23
|
+
levelModule: args.logLevelModule && parseLogLevelModule(args.logLevelModule),
|
|
24
|
+
timestampFormat: (opts === null || opts === void 0 ? void 0 : opts.hideTimestamp)
|
|
25
|
+
? { format: TimestampFormatCode.Hidden }
|
|
26
|
+
: args.logFormatGenesisTime !== undefined
|
|
27
|
+
? {
|
|
28
|
+
format: TimestampFormatCode.EpochSlot,
|
|
29
|
+
genesisTime: args.logFormatGenesisTime,
|
|
30
|
+
secondsPerSlot: config.SECONDS_PER_SLOT,
|
|
31
|
+
slotsPerEpoch: SLOTS_PER_EPOCH,
|
|
32
|
+
}
|
|
33
|
+
: {
|
|
34
|
+
format: TimestampFormatCode.DateRegular,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function parseLogFormat(format) {
|
|
39
|
+
if (!logFormats.includes(format)) {
|
|
40
|
+
throw Error(`Unknown log format ${format}`);
|
|
33
41
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
// }
|
|
40
|
-
// `lodestar --logFileDailyRotate` -> enabled daily rotate with default value
|
|
41
|
-
// `lodestar --logFileDailyRotate 10` -> set daily rotate to custom value 10
|
|
42
|
-
// `lodestar --logFileDailyRotate 0` -> disable daily rotate and accumulate in same file
|
|
43
|
-
const rotateMaxFiles = (_c = args.logFileDailyRotate) !== null && _c !== void 0 ? _c : LOG_DAILY_ROTATE_DEFAULT;
|
|
44
|
-
const filename = (_d = args.logFile) !== null && _d !== void 0 ? _d : paths.defaultLogFilepath;
|
|
45
|
-
if (args.logFile !== LOG_FILE_DISABLE_KEYWORD) {
|
|
46
|
-
const logFileLevel = (_e = args.logFileLevel) !== null && _e !== void 0 ? _e : LOG_FILE_LEVEL_DEFAULT;
|
|
47
|
-
transports.push(rotateMaxFiles > 0
|
|
48
|
-
? new DailyRotateFile({
|
|
49
|
-
level: logFileLevel,
|
|
50
|
-
//insert the date pattern in filename before the file extension.
|
|
51
|
-
filename: filename.replace(/\.(?=[^.]*$)|$/, "-%DATE%$&"),
|
|
52
|
-
datePattern: DATE_PATTERN,
|
|
53
|
-
handleExceptions: true,
|
|
54
|
-
maxFiles: rotateMaxFiles,
|
|
55
|
-
auditFile: path.join(path.dirname(filename), ".log_rotate_audit.json"),
|
|
56
|
-
})
|
|
57
|
-
: new winston.transports.File({
|
|
58
|
-
level: logFileLevel,
|
|
59
|
-
filename: filename,
|
|
60
|
-
handleExceptions: true,
|
|
61
|
-
}));
|
|
42
|
+
return format;
|
|
43
|
+
}
|
|
44
|
+
function parseLogLevel(level) {
|
|
45
|
+
if (LogLevel[level] === undefined) {
|
|
46
|
+
throw Error(`Unknown log level '${level}'`);
|
|
62
47
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
};
|
|
73
|
-
const logger = createWinstonLogger({
|
|
74
|
-
module: args.logPrefix,
|
|
75
|
-
format: args.logFormat ? parseLogFormat(args.logFormat) : "human",
|
|
76
|
-
timestampFormat,
|
|
77
|
-
hideTimestamp: opts === null || opts === void 0 ? void 0 : opts.hideTimestamp,
|
|
78
|
-
}, transports);
|
|
79
|
-
return { logger, logParams: { filename, rotateMaxFiles } };
|
|
48
|
+
return level;
|
|
49
|
+
}
|
|
50
|
+
function parseLogLevelModule(logLevelModuleArr) {
|
|
51
|
+
const levelModule = {};
|
|
52
|
+
for (const logLevelModule of logLevelModuleArr) {
|
|
53
|
+
const [module, levelStr] = logLevelModule.split("=");
|
|
54
|
+
levelModule[module] = parseLogLevel(levelStr);
|
|
55
|
+
}
|
|
56
|
+
return levelModule;
|
|
80
57
|
}
|
|
81
58
|
/**
|
|
82
59
|
* Winston is not able to clean old log files if server is offline for a while
|
|
83
60
|
* so we have to do this manually when starting the node.
|
|
84
61
|
* See https://github.com/ChainSafe/lodestar/issues/4419
|
|
85
62
|
*/
|
|
86
|
-
export function cleanOldLogFiles(
|
|
87
|
-
|
|
88
|
-
const
|
|
63
|
+
export function cleanOldLogFiles(args, paths) {
|
|
64
|
+
var _a;
|
|
65
|
+
const filepath = (_a = args.logFile) !== null && _a !== void 0 ? _a : paths.defaultLogFilepath;
|
|
66
|
+
const folder = path.dirname(filepath);
|
|
67
|
+
const filename = path.basename(filepath);
|
|
89
68
|
const lastIndexDot = filename.lastIndexOf(".");
|
|
90
69
|
const prefix = filename.substring(0, lastIndexDot);
|
|
91
70
|
const extension = filename.substring(lastIndexDot + 1, filename.length);
|
|
@@ -93,7 +72,7 @@ export function cleanOldLogFiles(filePath, maxFiles) {
|
|
|
93
72
|
.readdirSync(folder, { withFileTypes: true })
|
|
94
73
|
.filter((de) => de.isFile())
|
|
95
74
|
.map((de) => de.name)
|
|
96
|
-
.filter((logFileName) => shouldDeleteLogFile(prefix, extension, logFileName,
|
|
75
|
+
.filter((logFileName) => shouldDeleteLogFile(prefix, extension, logFileName, args.logFileDailyRotate))
|
|
97
76
|
.map((logFileName) => path.join(folder, logFileName));
|
|
98
77
|
// delete files
|
|
99
78
|
toDelete.forEach((filename) => fs.unlinkSync(filename));
|
|
@@ -107,10 +86,4 @@ export function shouldDeleteLogFile(prefix, extension, logFileName, maxFiles) {
|
|
|
107
86
|
}
|
|
108
87
|
return false;
|
|
109
88
|
}
|
|
110
|
-
function parseLogFormat(format) {
|
|
111
|
-
if (!logFormats.includes(format)) {
|
|
112
|
-
throw Error(`Invalid log format '${format}'`);
|
|
113
|
-
}
|
|
114
|
-
return format;
|
|
115
|
-
}
|
|
116
89
|
//# sourceMappingURL=logger.js.map
|
package/lib/util/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"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"}
|