@chainsafe/lodestar 1.9.0-dev.b90a09c997 → 1.9.0-dev.bb4151d238

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.
Files changed (96) hide show
  1. package/.git-data.json +1 -1
  2. package/lib/applyPreset.js +7 -1
  3. package/lib/applyPreset.js.map +1 -1
  4. package/lib/cli.js +1 -1
  5. package/lib/cli.js.map +1 -1
  6. package/lib/cmds/beacon/handler.d.ts +3 -3
  7. package/lib/cmds/beacon/handler.js +52 -9
  8. package/lib/cmds/beacon/handler.js.map +1 -1
  9. package/lib/cmds/beacon/options.d.ts +4 -1
  10. package/lib/cmds/beacon/options.js +9 -0
  11. package/lib/cmds/beacon/options.js.map +1 -1
  12. package/lib/cmds/dev/options.d.ts +4 -1
  13. package/lib/cmds/lightclient/handler.js +3 -2
  14. package/lib/cmds/lightclient/handler.js.map +1 -1
  15. package/lib/cmds/lightclient/options.d.ts +2 -1
  16. package/lib/cmds/lightclient/options.js.map +1 -1
  17. package/lib/cmds/validator/handler.js +17 -16
  18. package/lib/cmds/validator/handler.js.map +1 -1
  19. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions.d.ts +16 -0
  20. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions.js +108 -0
  21. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions.js.map +1 -0
  22. package/lib/cmds/validator/keymanager/decryptKeystores/index.d.ts +2 -0
  23. package/lib/cmds/validator/keymanager/decryptKeystores/index.js +2 -0
  24. package/lib/cmds/validator/keymanager/decryptKeystores/index.js.map +1 -0
  25. package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.d.ts +6 -0
  26. package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.js +19 -0
  27. package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.js.map +1 -0
  28. package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.d.ts +25 -0
  29. package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.js +53 -0
  30. package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.js.map +1 -0
  31. package/lib/cmds/validator/keymanager/decryptKeystores/types.d.ts +11 -0
  32. package/lib/cmds/validator/keymanager/decryptKeystores/types.js +4 -0
  33. package/lib/cmds/validator/keymanager/decryptKeystores/types.js.map +1 -0
  34. package/lib/cmds/validator/keymanager/decryptKeystores/worker.d.ts +9 -0
  35. package/lib/cmds/validator/keymanager/{decryptKeystoreDefinitions → decryptKeystores}/worker.js +6 -5
  36. package/lib/cmds/validator/keymanager/decryptKeystores/worker.js.map +1 -0
  37. package/lib/cmds/validator/keymanager/impl.d.ts +2 -1
  38. package/lib/cmds/validator/keymanager/impl.js +23 -16
  39. package/lib/cmds/validator/keymanager/impl.js.map +1 -1
  40. package/lib/cmds/validator/keymanager/keystoreCache.js +2 -1
  41. package/lib/cmds/validator/keymanager/keystoreCache.js.map +1 -1
  42. package/lib/cmds/validator/options.d.ts +3 -1
  43. package/lib/cmds/validator/options.js +5 -0
  44. package/lib/cmds/validator/options.js.map +1 -1
  45. package/lib/cmds/validator/signers/importExternalKeystores.js +0 -2
  46. package/lib/cmds/validator/signers/importExternalKeystores.js.map +1 -1
  47. package/lib/cmds/validator/signers/index.d.ts +2 -2
  48. package/lib/cmds/validator/signers/index.js +3 -1
  49. package/lib/cmds/validator/signers/index.js.map +1 -1
  50. package/lib/cmds/validator/signers/logSigners.d.ts +2 -2
  51. package/lib/cmds/validator/signers/logSigners.js.map +1 -1
  52. package/lib/cmds/validator/slashingProtection/export.d.ts +2 -1
  53. package/lib/cmds/validator/slashingProtection/export.js +42 -12
  54. package/lib/cmds/validator/slashingProtection/export.js.map +1 -1
  55. package/lib/cmds/validator/slashingProtection/import.d.ts +1 -1
  56. package/lib/cmds/validator/slashingProtection/import.js +5 -4
  57. package/lib/cmds/validator/slashingProtection/import.js.map +1 -1
  58. package/lib/cmds/validator/voluntaryExit.js +1 -1
  59. package/lib/cmds/validator/voluntaryExit.js.map +1 -1
  60. package/lib/options/beaconNodeOptions/api.d.ts +1 -0
  61. package/lib/options/beaconNodeOptions/api.js +6 -0
  62. package/lib/options/beaconNodeOptions/api.js.map +1 -1
  63. package/lib/options/beaconNodeOptions/builder.d.ts +0 -1
  64. package/lib/options/beaconNodeOptions/builder.js +0 -9
  65. package/lib/options/beaconNodeOptions/builder.js.map +1 -1
  66. package/lib/options/beaconNodeOptions/index.d.ts +3 -1
  67. package/lib/options/beaconNodeOptions/network.d.ts +2 -0
  68. package/lib/options/beaconNodeOptions/network.js +25 -8
  69. package/lib/options/beaconNodeOptions/network.js.map +1 -1
  70. package/lib/options/logOptions.d.ts +11 -1
  71. package/lib/options/logOptions.js +7 -6
  72. package/lib/options/logOptions.js.map +1 -1
  73. package/lib/util/index.d.ts +1 -0
  74. package/lib/util/index.js +1 -0
  75. package/lib/util/index.js.map +1 -1
  76. package/lib/util/logger.d.ts +7 -23
  77. package/lib/util/logger.js +53 -80
  78. package/lib/util/logger.js.map +1 -1
  79. package/lib/util/pruneOldFilesInDir.d.ts +2 -0
  80. package/lib/util/pruneOldFilesInDir.js +17 -0
  81. package/lib/util/pruneOldFilesInDir.js.map +1 -0
  82. package/package.json +16 -15
  83. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/index.d.ts +0 -8
  84. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/index.js +0 -92
  85. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/index.js.map +0 -1
  86. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/poolSize.d.ts +0 -6
  87. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/poolSize.js +0 -19
  88. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/poolSize.js.map +0 -1
  89. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/types.d.ts +0 -12
  90. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/types.js +0 -2
  91. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/types.js.map +0 -1
  92. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/worker.d.ts +0 -9
  93. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/worker.js.map +0 -1
  94. package/lib/util/loggerConsoleTransport.d.ts +0 -24
  95. package/lib/util/loggerConsoleTransport.js +0 -35
  96. package/lib/util/loggerConsoleTransport.js.map +0 -1
@@ -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 { LogLevel, createWinstonLogger, TimestampFormatCode, logFormats, } from "@lodestar/utils";
7
- import { ConsoleDynamicLevel } from "./loggerConsoleTransport.js";
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 getCliLogger(args, paths, config, opts) {
17
- var _a, _b, _c, _d, _e;
18
- const consoleTransport = new ConsoleDynamicLevel({
19
- // Set defaultLevel, not level for dynamic level setting of ConsoleDynamicLvevel
20
- defaultLevel: (_a = args.logLevel) !== null && _a !== void 0 ? _a : LOG_LEVEL_DEFAULT,
21
- debugStdout: true,
22
- handleExceptions: true,
23
- });
24
- if (args.logLevelModule) {
25
- for (const logLevelModule of (_b = args.logLevelModule) !== null && _b !== void 0 ? _b : []) {
26
- const [module, levelStr] = logLevelModule.split("=");
27
- const level = levelStr;
28
- if (LogLevel[level] === undefined) {
29
- throw Error(`Unknown level in logLevelModule '${logLevelModule}'`);
30
- }
31
- consoleTransport.setModuleLevel(module, level);
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
- const transports = [consoleTransport];
35
- // yargs populates with undefined if just set but with no arg
36
- // $ ./bin/lodestar.js beacon --logFileDailyRotate
37
- // args = {
38
- // logFileDailyRotate: undefined,
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
- const timestampFormat = args.logFormatGenesisTime !== undefined
64
- ? {
65
- format: TimestampFormatCode.EpochSlot,
66
- genesisTime: args.logFormatGenesisTime,
67
- secondsPerSlot: config.SECONDS_PER_SLOT,
68
- slotsPerEpoch: SLOTS_PER_EPOCH,
69
- }
70
- : {
71
- format: TimestampFormatCode.DateRegular,
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(filePath, maxFiles) {
87
- const folder = path.dirname(filePath);
88
- const filename = path.basename(filePath);
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, maxFiles))
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
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function pruneOldFilesInDir(dirpath: string, maxAgeMs: number): void;
2
+ //# sourceMappingURL=pruneOldFilesInDir.d.ts.map
@@ -0,0 +1,17 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ export function pruneOldFilesInDir(dirpath, maxAgeMs) {
4
+ for (const entryName of fs.readdirSync(dirpath)) {
5
+ const entryPath = path.join(dirpath, entryName);
6
+ const stat = fs.statSync(entryPath);
7
+ if (stat.isDirectory()) {
8
+ pruneOldFilesInDir(entryPath, maxAgeMs);
9
+ }
10
+ else if (stat.isFile()) {
11
+ if (Date.now() - stat.mtimeMs > maxAgeMs) {
12
+ fs.unlinkSync(entryPath);
13
+ }
14
+ }
15
+ }
16
+ }
17
+ //# sourceMappingURL=pruneOldFilesInDir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pruneOldFilesInDir.js","sourceRoot":"","sources":["../../src/util/pruneOldFilesInDir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,QAAgB;IAClE,KAAK,MAAM,SAAS,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtB,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SACzC;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACxB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE;gBACxC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;aAC1B;SACF;KACF;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainsafe/lodestar",
3
- "version": "1.9.0-dev.b90a09c997",
3
+ "version": "1.9.0-dev.bb4151d238",
4
4
  "description": "Command line interface for lodestar",
5
5
  "author": "ChainSafe Systems",
6
6
  "license": "LGPL-3.0",
@@ -23,8 +23,7 @@
23
23
  "clean": "rm -rf lib && rm -f *.tsbuildinfo",
24
24
  "build": "tsc -p tsconfig.build.json && yarn write-git-data",
25
25
  "build:release": "yarn clean && yarn run build",
26
- "build:lib:watch": "yarn run build:lib --watch",
27
- "build:types:watch": "yarn run build:types --watch",
26
+ "build:watch": "tsc -p tsconfig.build.json --watch",
28
27
  "build:refdocs": "ts-node --esm ./docsgen/index.ts docs/cli.md",
29
28
  "write-git-data": "node lib/util/gitData/writeGitData.js",
30
29
  "check-build": "node -e \"(async function() { await import('./lib/index.js') })()\" lodestar --help",
@@ -57,20 +56,21 @@
57
56
  "@chainsafe/bls": "7.1.1",
58
57
  "@chainsafe/bls-keygen": "^0.3.0",
59
58
  "@chainsafe/bls-keystore": "^2.0.0",
60
- "@chainsafe/blst": "^0.2.8",
59
+ "@chainsafe/blst": "^0.2.9",
61
60
  "@chainsafe/discv5": "^3.0.0",
62
61
  "@chainsafe/ssz": "^0.10.2",
63
62
  "@libp2p/peer-id-factory": "^2.0.3",
64
- "@lodestar/api": "1.9.0-dev.b90a09c997",
65
- "@lodestar/beacon-node": "1.9.0-dev.b90a09c997",
66
- "@lodestar/config": "1.9.0-dev.b90a09c997",
67
- "@lodestar/db": "1.9.0-dev.b90a09c997",
68
- "@lodestar/light-client": "1.9.0-dev.b90a09c997",
69
- "@lodestar/params": "1.9.0-dev.b90a09c997",
70
- "@lodestar/state-transition": "1.9.0-dev.b90a09c997",
71
- "@lodestar/types": "1.9.0-dev.b90a09c997",
72
- "@lodestar/utils": "1.9.0-dev.b90a09c997",
73
- "@lodestar/validator": "1.9.0-dev.b90a09c997",
63
+ "@lodestar/api": "1.9.0-dev.bb4151d238",
64
+ "@lodestar/beacon-node": "1.9.0-dev.bb4151d238",
65
+ "@lodestar/config": "1.9.0-dev.bb4151d238",
66
+ "@lodestar/db": "1.9.0-dev.bb4151d238",
67
+ "@lodestar/light-client": "1.9.0-dev.bb4151d238",
68
+ "@lodestar/logger": "1.9.0-dev.bb4151d238",
69
+ "@lodestar/params": "1.9.0-dev.bb4151d238",
70
+ "@lodestar/state-transition": "1.9.0-dev.bb4151d238",
71
+ "@lodestar/types": "1.9.0-dev.bb4151d238",
72
+ "@lodestar/utils": "1.9.0-dev.bb4151d238",
73
+ "@lodestar/validator": "1.9.0-dev.bb4151d238",
74
74
  "@multiformats/multiaddr": "^11.0.0",
75
75
  "@types/lockfile": "^1.0.2",
76
76
  "bip39": "^3.1.0",
@@ -94,11 +94,12 @@
94
94
  "yargs": "^17.7.1"
95
95
  },
96
96
  "devDependencies": {
97
+ "@types/debug": "^4.1.7",
97
98
  "@types/expand-tilde": "^2.0.0",
98
99
  "@types/got": "^9.6.12",
99
100
  "@types/inquirer": "^9.0.3",
100
101
  "@types/lodash": "^4.14.192",
101
102
  "@types/yargs": "^17.0.24"
102
103
  },
103
- "gitHead": "ea8bb27505f247fdc7501563bd9e1f97b1cc74c7"
104
+ "gitHead": "80a5f281b102c27294fb5d6579ead9705a364b90"
104
105
  }
@@ -1,8 +0,0 @@
1
- import { SignerLocal } from "@lodestar/validator";
2
- import { LocalKeystoreDefinition } from "../interface.js";
3
- import { KeystoreDecryptOptions } from "./types.js";
4
- /**
5
- * Decrypt keystore definitions using a threadpool
6
- */
7
- export declare function decryptKeystoreDefinitions(keystoreDefinitions: LocalKeystoreDefinition[], opts: KeystoreDecryptOptions): Promise<SignerLocal[]>;
8
- //# sourceMappingURL=index.d.ts.map
@@ -1,92 +0,0 @@
1
- import { spawn, Pool, Worker } from "@chainsafe/threads";
2
- import { SignerType } from "@lodestar/validator";
3
- import bls from "@chainsafe/bls";
4
- import { clearKeystoreCache, loadKeystoreCache, writeKeystoreCache } from "../keystoreCache.js";
5
- import { lockFilepath, unlockFilepath } from "../../../../util/lockfile.js";
6
- import { defaultPoolSize } from "./poolSize.js";
7
- /**
8
- * Decrypt keystore definitions using a threadpool
9
- */
10
- export async function decryptKeystoreDefinitions(keystoreDefinitions, opts) {
11
- if (opts.cacheFilePath) {
12
- try {
13
- const signers = await loadKeystoreCache(opts.cacheFilePath, keystoreDefinitions);
14
- if (opts === null || opts === void 0 ? void 0 : opts.onDecrypt) {
15
- opts === null || opts === void 0 ? void 0 : opts.onDecrypt(signers.length - 1);
16
- }
17
- opts.logger.debug("Loaded keystores via keystore cache");
18
- return signers;
19
- }
20
- catch {
21
- // Some error loading the cache, ignore and invalidate cache
22
- await clearKeystoreCache(opts.cacheFilePath);
23
- }
24
- }
25
- const signers = new Array(keystoreDefinitions.length);
26
- const passwords = new Array(keystoreDefinitions.length);
27
- const tasks = [];
28
- const errors = [];
29
- const pool = Pool(() => spawn(new Worker("./worker.js"), {
30
- // The number below is big enough to almost disable the timeout which helps during tests run on unpredictablely slow hosts
31
- timeout: 5 * 60 * 1000,
32
- }), defaultPoolSize);
33
- for (const [index, definition] of keystoreDefinitions.entries()) {
34
- try {
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
- }
47
- const task = pool.queue((thread) => thread.decryptKeystoreDefinition(definition));
48
- tasks.push(task);
49
- task
50
- .then((secretKeyBytes) => {
51
- const signer = {
52
- type: SignerType.Local,
53
- secretKey: bls.SecretKey.fromBytes(secretKeyBytes),
54
- };
55
- signers[index] = signer;
56
- passwords[index] = definition.password;
57
- if (opts === null || opts === void 0 ? void 0 : opts.onDecrypt) {
58
- opts === null || opts === void 0 ? void 0 : opts.onDecrypt(index);
59
- }
60
- })
61
- .catch((e) => {
62
- // In-progress tasks can't be canceled, so there's a chance that multiple errors may be caught
63
- // add to the list of errors
64
- errors.push(e);
65
- // cancel all pending tasks, no need to continue decrypting after we hit one error
66
- for (const task of tasks) {
67
- task.cancel();
68
- }
69
- });
70
- }
71
- try {
72
- // only resolves if there are no errored tasks
73
- await pool.completed(true);
74
- }
75
- catch (e) {
76
- // If an error occurs, the program isn't going to be running,
77
- // so we should unlock all lockfiles we created
78
- for (const { keystorePath } of keystoreDefinitions) {
79
- unlockFilepath(keystorePath);
80
- }
81
- throw new AggregateError(errors);
82
- }
83
- finally {
84
- await pool.terminate();
85
- }
86
- if (opts.cacheFilePath) {
87
- await writeKeystoreCache(opts.cacheFilePath, signers, passwords);
88
- opts.logger.debug("Written keystores to keystore cache");
89
- }
90
- return signers;
91
- }
92
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cmds/validator/keymanager/decryptKeystoreDefinitions/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- declare let defaultPoolSize: number;
2
- /**
3
- * Cross-platform aprox number of logical cores
4
- */
5
- export { defaultPoolSize };
6
- //# sourceMappingURL=poolSize.d.ts.map
@@ -1,19 +0,0 @@
1
- var _a;
2
- let defaultPoolSize;
3
- try {
4
- if (typeof navigator !== "undefined") {
5
- defaultPoolSize = (_a = navigator.hardwareConcurrency) !== null && _a !== void 0 ? _a : 4;
6
- }
7
- else {
8
- // TODO change this line to use os.availableParallelism() once we upgrade to node v20
9
- defaultPoolSize = (await import("node:os")).cpus().length;
10
- }
11
- }
12
- catch (e) {
13
- defaultPoolSize = 8;
14
- }
15
- /**
16
- * Cross-platform aprox number of logical cores
17
- */
18
- export { defaultPoolSize };
19
- //# sourceMappingURL=poolSize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poolSize.js","sourceRoot":"","sources":["../../../../../src/cmds/validator/keymanager/decryptKeystoreDefinitions/poolSize.ts"],"names":[],"mappings":";AAAA,IAAI,eAAuB,CAAC;AAE5B,IAAI;IACF,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;QACpC,eAAe,GAAG,MAAA,SAAS,CAAC,mBAAmB,mCAAI,CAAC,CAAC;KACtD;SAAM;QACL,qFAAqF;QACrF,eAAe,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;KAC3D;CACF;AAAC,OAAO,CAAC,EAAE;IACV,eAAe,GAAG,CAAC,CAAC;CACrB;AAED;;GAEG;AACH,OAAO,EAAC,eAAe,EAAC,CAAC"}
@@ -1,12 +0,0 @@
1
- import { Logger } from "@lodestar/utils";
2
- import { LocalKeystoreDefinition } from "../interface.js";
3
- export type DecryptKeystoreWorkerAPI = {
4
- decryptKeystoreDefinition({ keystorePath, password }: LocalKeystoreDefinition): Promise<Uint8Array>;
5
- };
6
- export type KeystoreDecryptOptions = {
7
- ignoreLockFile?: boolean;
8
- onDecrypt?: (index: number) => void;
9
- cacheFilePath?: string;
10
- logger: Pick<Logger, "info" | "warn" | "debug">;
11
- };
12
- //# sourceMappingURL=types.d.ts.map
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/cmds/validator/keymanager/decryptKeystoreDefinitions/types.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- import { TransferDescriptor } from "@chainsafe/threads";
2
- import { LocalKeystoreDefinition } from "../interface.js";
3
- /**
4
- * Decrypt a single keystore definition, returning the secret key as a Uint8Array
5
- *
6
- * NOTE: This is a memory (and cpu) -intensive process, since decrypting the keystore involves running a key derivation function (either pbkdf2 or scrypt)
7
- */
8
- export declare function decryptKeystoreDefinition({ keystorePath, password, }: LocalKeystoreDefinition): Promise<TransferDescriptor<Uint8Array>>;
9
- //# sourceMappingURL=worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../../src/cmds/validator/keymanager/decryptKeystoreDefinitions/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAqB,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAIjD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,EAC9C,YAAY,EACZ,QAAQ,GACgB;IACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvE,0BAA0B;IAC1B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,0HAA0H;IAC1H,qFAAqF;IACrF,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,EAAC,yBAAyB,EAAwC,CAAC,CAAC"}
@@ -1,24 +0,0 @@
1
- /// <reference types="node" />
2
- import winston from "winston";
3
- import { LEVEL } from "triple-beam";
4
- import { LogLevel } from "@lodestar/utils";
5
- interface DefaultMeta {
6
- module: string;
7
- }
8
- interface LogInfo extends DefaultMeta {
9
- [LEVEL]: LogLevel;
10
- }
11
- export declare class ConsoleDynamicLevel extends winston.transports.Console {
12
- private readonly levelByModule;
13
- private readonly defaultLevel;
14
- private readonly levels;
15
- private parent?;
16
- constructor(opts: {
17
- defaultLevel: LogLevel;
18
- } & winston.transports.ConsoleTransportOptions);
19
- setModuleLevel(module: string, level: LogLevel): void;
20
- deleteModuleLevel(module: string): boolean;
21
- _write(info: LogInfo, enc: BufferEncoding, callback: (error?: Error | null | undefined) => void): void;
22
- }
23
- export {};
24
- //# sourceMappingURL=loggerConsoleTransport.d.ts.map
@@ -1,35 +0,0 @@
1
- import winston from "winston";
2
- // eslint-disable-next-line import/no-extraneous-dependencies
3
- import { LEVEL } from "triple-beam";
4
- export class ConsoleDynamicLevel extends winston.transports.Console {
5
- constructor(opts) {
6
- super(opts);
7
- this.levelByModule = new Map();
8
- this.defaultLevel = opts.defaultLevel;
9
- // Set level and parent to undefined so that underlying transport logs everything
10
- this.level = undefined;
11
- }
12
- setModuleLevel(module, level) {
13
- this.levelByModule.set(module, level);
14
- }
15
- deleteModuleLevel(module) {
16
- return this.levelByModule.delete(module);
17
- }
18
- _write(info, enc, callback) {
19
- var _a;
20
- const moduleLevel = (_a = this.levelByModule.get(info.module)) !== null && _a !== void 0 ? _a : this.defaultLevel;
21
- // Min number is highest prio log level
22
- // levels = {error: 0, warn: 1, info: 2, ...}
23
- if (this.levels[moduleLevel] >= this.levels[info[LEVEL]]) {
24
- // Set level and parent to undefined so that underlying transport logs everything
25
- if (this.parent) {
26
- this.parent = undefined;
27
- }
28
- super._write(info, enc, callback);
29
- }
30
- else {
31
- callback(null);
32
- }
33
- }
34
- }
35
- //# sourceMappingURL=loggerConsoleTransport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loggerConsoleTransport.js","sourceRoot":"","sources":["../../src/util/loggerConsoleTransport.ts"],"names":[],"mappings":"AAAA,OAAO,OAAiB,MAAM,SAAS,CAAC;AACxC,6DAA6D;AAC7D,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAWlC,MAAM,OAAO,mBAAoB,SAAQ,OAAO,CAAC,UAAU,CAAC,OAAO;IAQjE,YAAY,IAA2E;QACrF,KAAK,CAAC,IAAI,CAAC,CAAC;QARG,kBAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;QAU3D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEtC,iFAAiF;QACjF,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,KAAe;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,IAAa,EAAE,GAAmB,EAAE,QAAoD;;QAC7F,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAE,IAAgB,CAAC,MAAM,CAAC,mCAAI,IAAI,CAAC,YAAY,CAAC;QAE1F,uCAAuC;QACvC,6CAA6C;QAE7C,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;YACxD,iFAAiF;YACjF,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;aACzB;YAED,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;SACnC;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,CAAC;SAChB;IACH,CAAC;CACF"}