@chainsafe/lodestar 1.9.0-dev.e2e5417f48 → 1.9.0-dev.e8b53ea874
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/cmds/beacon/handler.js +3 -7
- package/lib/cmds/beacon/handler.js.map +1 -1
- package/lib/cmds/beacon/initBeaconState.js +23 -9
- package/lib/cmds/beacon/initBeaconState.js.map +1 -1
- package/lib/cmds/beacon/options.d.ts +3 -5
- package/lib/cmds/beacon/options.js +10 -8
- package/lib/cmds/beacon/options.js.map +1 -1
- package/lib/cmds/dev/options.d.ts +6 -5
- package/lib/cmds/lightclient/handler.js +5 -0
- package/lib/cmds/lightclient/handler.js.map +1 -1
- package/lib/cmds/lightclient/options.d.ts +2 -2
- package/lib/cmds/lightclient/options.js +0 -2
- package/lib/cmds/lightclient/options.js.map +1 -1
- package/lib/cmds/validator/blsToExecutionChange.d.ts +3 -3
- package/lib/cmds/validator/blsToExecutionChange.js +12 -5
- package/lib/cmds/validator/blsToExecutionChange.js.map +1 -1
- package/lib/cmds/validator/handler.js +13 -14
- package/lib/cmds/validator/handler.js.map +1 -1
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions.d.ts +16 -0
- package/lib/cmds/validator/keymanager/{decryptKeystoreDefinitions/index.js → decryptKeystoreDefinitions.js} +42 -32
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions.js.map +1 -0
- package/lib/cmds/validator/keymanager/decryptKeystores/index.d.ts +2 -0
- package/lib/cmds/validator/keymanager/decryptKeystores/index.js +2 -0
- package/lib/cmds/validator/keymanager/decryptKeystores/index.js.map +1 -0
- package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.d.ts +6 -0
- package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.js +19 -0
- package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.js.map +1 -0
- package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.d.ts +25 -0
- package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.js +53 -0
- package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.js.map +1 -0
- package/lib/cmds/validator/keymanager/decryptKeystores/types.d.ts +11 -0
- package/lib/cmds/validator/keymanager/decryptKeystores/types.js +4 -0
- package/lib/cmds/validator/keymanager/decryptKeystores/types.js.map +1 -0
- package/lib/cmds/validator/keymanager/decryptKeystores/worker.d.ts +9 -0
- package/lib/cmds/validator/keymanager/{decryptKeystoreDefinitions → decryptKeystores}/worker.js +6 -5
- package/lib/cmds/validator/keymanager/decryptKeystores/worker.js.map +1 -0
- package/lib/cmds/validator/keymanager/impl.d.ts +2 -1
- package/lib/cmds/validator/keymanager/impl.js +23 -16
- package/lib/cmds/validator/keymanager/impl.js.map +1 -1
- package/lib/cmds/validator/keymanager/keystoreCache.js +2 -1
- package/lib/cmds/validator/keymanager/keystoreCache.js.map +1 -1
- package/lib/cmds/validator/options.d.ts +2 -2
- package/lib/cmds/validator/options.js +1 -1
- package/lib/cmds/validator/options.js.map +1 -1
- package/lib/cmds/validator/signers/importExternalKeystores.js +0 -2
- package/lib/cmds/validator/signers/importExternalKeystores.js.map +1 -1
- package/lib/cmds/validator/signers/index.js +3 -1
- package/lib/cmds/validator/signers/index.js.map +1 -1
- package/lib/cmds/validator/slashingProtection/export.d.ts +1 -1
- package/lib/cmds/validator/slashingProtection/export.js +6 -3
- 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 +7 -3
- package/lib/cmds/validator/slashingProtection/import.js.map +1 -1
- package/lib/cmds/validator/slashingProtection/utils.d.ts +2 -2
- package/lib/cmds/validator/slashingProtection/utils.js +4 -8
- package/lib/cmds/validator/slashingProtection/utils.js.map +1 -1
- package/lib/options/beaconNodeOptions/api.d.ts +6 -6
- package/lib/options/beaconNodeOptions/api.js +2 -2
- package/lib/options/beaconNodeOptions/api.js.map +1 -1
- package/lib/options/beaconNodeOptions/builder.d.ts +4 -4
- package/lib/options/beaconNodeOptions/builder.js +10 -5
- package/lib/options/beaconNodeOptions/builder.js.map +1 -1
- package/lib/options/beaconNodeOptions/chain.d.ts +13 -12
- package/lib/options/beaconNodeOptions/chain.js +12 -2
- package/lib/options/beaconNodeOptions/chain.js.map +1 -1
- package/lib/options/beaconNodeOptions/eth1.d.ts +6 -6
- package/lib/options/beaconNodeOptions/eth1.js +6 -1
- package/lib/options/beaconNodeOptions/eth1.js.map +1 -1
- package/lib/options/beaconNodeOptions/execution.d.ts +1 -1
- package/lib/options/beaconNodeOptions/execution.js +9 -5
- package/lib/options/beaconNodeOptions/execution.js.map +1 -1
- package/lib/options/beaconNodeOptions/index.d.ts +12 -11
- package/lib/options/beaconNodeOptions/metrics.d.ts +1 -1
- package/lib/options/beaconNodeOptions/metrics.js +2 -2
- package/lib/options/beaconNodeOptions/metrics.js.map +1 -1
- package/lib/options/beaconNodeOptions/monitoring.d.ts +5 -5
- package/lib/options/beaconNodeOptions/network.d.ts +19 -19
- package/lib/options/beaconNodeOptions/network.js +2 -2
- package/lib/options/beaconNodeOptions/network.js.map +1 -1
- package/lib/options/beaconNodeOptions/sync.d.ts +4 -4
- package/lib/options/beaconNodeOptions/sync.js +2 -1
- package/lib/options/beaconNodeOptions/sync.js.map +1 -1
- package/lib/options/globalOptions.d.ts +2 -2
- package/lib/options/logOptions.js +1 -1
- package/lib/options/logOptions.js.map +1 -1
- package/lib/util/command.d.ts +2 -1
- package/lib/util/command.js.map +1 -1
- package/lib/util/file.js.map +1 -1
- package/package.json +14 -14
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/index.d.ts +0 -8
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/index.js.map +0 -1
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/poolSize.d.ts +0 -6
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/poolSize.js +0 -19
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/poolSize.js.map +0 -1
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/types.d.ts +0 -12
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/types.js +0 -2
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/types.js.map +0 -1
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/worker.d.ts +0 -9
- package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/worker.js.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import path from "node:path";
|
|
2
2
|
import { SignerType } from "@lodestar/validator";
|
|
3
3
|
import bls from "@chainsafe/bls";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { lockFilepath, unlockFilepath } from "../../../util/lockfile.js";
|
|
5
|
+
import { clearKeystoreCache, loadKeystoreCache, writeKeystoreCache } from "./keystoreCache.js";
|
|
6
|
+
import { DecryptKeystoresThreadPool } from "./decryptKeystores/index.js";
|
|
7
7
|
/**
|
|
8
|
-
* Decrypt keystore definitions using a
|
|
8
|
+
* Decrypt keystore definitions using a thread pool
|
|
9
9
|
*/
|
|
10
10
|
export async function decryptKeystoreDefinitions(keystoreDefinitions, opts) {
|
|
11
11
|
if (opts.cacheFilePath) {
|
|
@@ -25,20 +25,14 @@ export async function decryptKeystoreDefinitions(keystoreDefinitions, opts) {
|
|
|
25
25
|
await clearKeystoreCache(opts.cacheFilePath);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
28
|
+
const keystoreCount = keystoreDefinitions.length;
|
|
29
|
+
const signers = new Array(keystoreCount);
|
|
30
|
+
const passwords = new Array(keystoreCount);
|
|
31
31
|
const errors = [];
|
|
32
|
-
const
|
|
33
|
-
// The number below is big enough to almost disable the timeout which helps during tests run on unpredictablely slow hosts
|
|
34
|
-
timeout: 5 * 60 * 1000,
|
|
35
|
-
}), defaultPoolSize);
|
|
32
|
+
const decryptKeystores = new DecryptKeystoresThreadPool(keystoreCount, opts.signal);
|
|
36
33
|
for (const [index, definition] of keystoreDefinitions.entries()) {
|
|
37
34
|
lockKeystore(definition.keystorePath, opts);
|
|
38
|
-
|
|
39
|
-
tasks.push(task);
|
|
40
|
-
task
|
|
41
|
-
.then((secretKeyBytes) => {
|
|
35
|
+
decryptKeystores.queue(definition, (secretKeyBytes) => {
|
|
42
36
|
const signer = {
|
|
43
37
|
type: SignerType.Local,
|
|
44
38
|
secretKey: bls.SecretKey.fromBytes(secretKeyBytes),
|
|
@@ -48,31 +42,22 @@ export async function decryptKeystoreDefinitions(keystoreDefinitions, opts) {
|
|
|
48
42
|
if (opts === null || opts === void 0 ? void 0 : opts.onDecrypt) {
|
|
49
43
|
opts === null || opts === void 0 ? void 0 : opts.onDecrypt(index);
|
|
50
44
|
}
|
|
51
|
-
})
|
|
52
|
-
.catch((e) => {
|
|
45
|
+
}, (error) => {
|
|
53
46
|
// In-progress tasks can't be canceled, so there's a chance that multiple errors may be caught
|
|
54
47
|
// add to the list of errors
|
|
55
|
-
errors.push(
|
|
48
|
+
errors.push({ keystoreFile: path.basename(definition.keystorePath), error });
|
|
56
49
|
// cancel all pending tasks, no need to continue decrypting after we hit one error
|
|
57
|
-
|
|
58
|
-
task.cancel();
|
|
59
|
-
}
|
|
50
|
+
decryptKeystores.cancel();
|
|
60
51
|
});
|
|
61
52
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
await pool.completed(true);
|
|
65
|
-
}
|
|
66
|
-
catch (e) {
|
|
53
|
+
await decryptKeystores.completed();
|
|
54
|
+
if (errors.length > 0) {
|
|
67
55
|
// If an error occurs, the program isn't going to be running,
|
|
68
56
|
// so we should unlock all lockfiles we created
|
|
69
57
|
for (const { keystorePath } of keystoreDefinitions) {
|
|
70
58
|
unlockFilepath(keystorePath);
|
|
71
59
|
}
|
|
72
|
-
throw
|
|
73
|
-
}
|
|
74
|
-
finally {
|
|
75
|
-
await pool.terminate();
|
|
60
|
+
throw formattedError(errors, signers, keystoreCount);
|
|
76
61
|
}
|
|
77
62
|
if (opts.cacheFilePath) {
|
|
78
63
|
await writeKeystoreCache(opts.cacheFilePath, signers, passwords);
|
|
@@ -95,4 +80,29 @@ function lockKeystore(keystorePath, opts) {
|
|
|
95
80
|
}
|
|
96
81
|
}
|
|
97
82
|
}
|
|
98
|
-
|
|
83
|
+
function formattedError(errors, signers, keystoreCount) {
|
|
84
|
+
// Filter out errors due to terminating the thread pool
|
|
85
|
+
// https://github.com/ChainSafe/threads.js/blob/df351552cb7d08b8465f5d1e7c543c952d74ac67/src/master/pool.ts#L244
|
|
86
|
+
const decryptErrors = errors.filter(({ error }) => !error.message.startsWith("Pool has been terminated"));
|
|
87
|
+
const errorCount = decryptErrors.length;
|
|
88
|
+
const decryptedCount = signers.filter(Boolean).length;
|
|
89
|
+
const abortedCount = keystoreCount - errorCount - decryptedCount;
|
|
90
|
+
let message = "Error importing keystores";
|
|
91
|
+
if (errorCount === 1) {
|
|
92
|
+
const { keystoreFile, error } = decryptErrors[0];
|
|
93
|
+
message = `Error importing keystore\n\n${keystoreFile}: ${error.message}`;
|
|
94
|
+
}
|
|
95
|
+
else if (errorCount > 1) {
|
|
96
|
+
message =
|
|
97
|
+
"Multiple errors importing keystores\n\n" +
|
|
98
|
+
decryptErrors.map(({ keystoreFile, error }) => `${keystoreFile}: ${error.message}`).join("\n");
|
|
99
|
+
}
|
|
100
|
+
if (abortedCount > 0) {
|
|
101
|
+
message += `\n\nAborted ${abortedCount} pending keystore import${abortedCount > 1 ? "s" : ""}`;
|
|
102
|
+
}
|
|
103
|
+
const error = new Error(message);
|
|
104
|
+
// Don't print out stack trace
|
|
105
|
+
error.stack = message;
|
|
106
|
+
return error;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=decryptKeystoreDefinitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decryptKeystoreDefinitions.js","sourceRoot":"","sources":["../../../../src/cmds/validator/keymanager/decryptKeystoreDefinitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cmds/validator/keymanager/decryptKeystores/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
let maxPoolSize;
|
|
3
|
+
try {
|
|
4
|
+
if (typeof navigator !== "undefined") {
|
|
5
|
+
maxPoolSize = (_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
|
+
maxPoolSize = (await import("node:os")).cpus().length;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
maxPoolSize = 8;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Cross-platform approx number of logical cores
|
|
17
|
+
*/
|
|
18
|
+
export { maxPoolSize };
|
|
19
|
+
//# sourceMappingURL=poolSize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poolSize.js","sourceRoot":"","sources":["../../../../../src/cmds/validator/keymanager/decryptKeystores/poolSize.ts"],"names":[],"mappings":";AAAA,IAAI,WAAmB,CAAC;AAExB,IAAI;IACF,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;QACpC,WAAW,GAAG,MAAA,SAAS,CAAC,mBAAmB,mCAAI,CAAC,CAAC;KAClD;SAAM;QACL,qFAAqF;QACrF,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;KACvD;CACF;AAAC,OAAO,CAAC,EAAE;IACV,WAAW,GAAG,CAAC,CAAC;CACjB;AAED;;GAEG;AACH,OAAO,EAAC,WAAW,EAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { DecryptKeystoreArgs } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Thread pool to decrypt keystores
|
|
4
|
+
*/
|
|
5
|
+
export declare class DecryptKeystoresThreadPool {
|
|
6
|
+
private readonly signal;
|
|
7
|
+
private pool;
|
|
8
|
+
private tasks;
|
|
9
|
+
private terminatePoolHandler;
|
|
10
|
+
constructor(keystoreCount: number, signal: AbortSignal);
|
|
11
|
+
/**
|
|
12
|
+
* Add keystore to the task queue to be decrypted
|
|
13
|
+
*/
|
|
14
|
+
queue(args: DecryptKeystoreArgs, onDecrypted: (secretKeyBytes: Uint8Array) => void, onError: (e: Error) => void): void;
|
|
15
|
+
/**
|
|
16
|
+
* Resolves once all queued tasks are completed and terminates worker threads.
|
|
17
|
+
* Errors during executing can be captured in `onError` handler for each task.
|
|
18
|
+
*/
|
|
19
|
+
completed(): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Cancel all pending tasks
|
|
22
|
+
*/
|
|
23
|
+
cancel(): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=threadPool.d.ts.map
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { spawn, Pool, Worker } from "@chainsafe/threads";
|
|
2
|
+
import { maxPoolSize } from "./poolSize.js";
|
|
3
|
+
/**
|
|
4
|
+
* Thread pool to decrypt keystores
|
|
5
|
+
*/
|
|
6
|
+
export class DecryptKeystoresThreadPool {
|
|
7
|
+
constructor(keystoreCount, signal) {
|
|
8
|
+
this.signal = signal;
|
|
9
|
+
this.tasks = [];
|
|
10
|
+
this.pool = Pool(() => spawn(new Worker("./worker.js"), {
|
|
11
|
+
// The number below is big enough to almost disable the timeout
|
|
12
|
+
// which helps during tests run on unpredictably slow hosts
|
|
13
|
+
timeout: 5 * 60 * 1000,
|
|
14
|
+
}), {
|
|
15
|
+
// Adjust worker pool size based on keystore count
|
|
16
|
+
size: Math.min(keystoreCount, maxPoolSize),
|
|
17
|
+
// Decrypt keystores in sequence, increasing concurrency does not improve performance
|
|
18
|
+
concurrency: 1,
|
|
19
|
+
});
|
|
20
|
+
// Terminate worker threads when process receives exit signal
|
|
21
|
+
this.terminatePoolHandler = () => {
|
|
22
|
+
void this.pool.terminate(true);
|
|
23
|
+
};
|
|
24
|
+
signal.addEventListener("abort", this.terminatePoolHandler);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Add keystore to the task queue to be decrypted
|
|
28
|
+
*/
|
|
29
|
+
queue(args, onDecrypted, onError) {
|
|
30
|
+
const task = this.pool.queue((thread) => thread.decryptKeystore(args));
|
|
31
|
+
this.tasks.push(task);
|
|
32
|
+
task.then(onDecrypted).catch(onError);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolves once all queued tasks are completed and terminates worker threads.
|
|
36
|
+
* Errors during executing can be captured in `onError` handler for each task.
|
|
37
|
+
*/
|
|
38
|
+
async completed() {
|
|
39
|
+
await this.pool.settled(true);
|
|
40
|
+
await this.pool.terminate();
|
|
41
|
+
this.signal.removeEventListener("abort", this.terminatePoolHandler);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Cancel all pending tasks
|
|
45
|
+
*/
|
|
46
|
+
cancel() {
|
|
47
|
+
for (const task of this.tasks) {
|
|
48
|
+
task.cancel();
|
|
49
|
+
}
|
|
50
|
+
this.tasks = [];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=threadPool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"threadPool.js","sourceRoot":"","sources":["../../../../../src/cmds/validator/keymanager/decryptKeystores/threadPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAA2B,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1C;;GAEG;AACH,MAAM,OAAO,0BAA0B;IAKrC,YAAY,aAAqB,EAAmB,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QAH/D,UAAK,GAAqE,EAAE,CAAC;QAInF,IAAI,CAAC,IAAI,GAAG,IAAI,CACd,GAAG,EAAE,CACH,KAAK,CAA2B,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE;YACzD,+DAA+D;YAC/D,2DAA2D;YAC3D,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;SACvB,CAAC,EACJ;YACE,kDAAkD;YAClD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC;YAC1C,qFAAqF;YACrF,WAAW,EAAE,CAAC;SACf,CACF,CAAC;QACF,6DAA6D;QAC7D,IAAI,CAAC,oBAAoB,GAAG,GAAG,EAAE;YAC/B,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CACH,IAAyB,EACzB,WAAiD,EACjD,OAA2B;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { KeystoreStr } from "@lodestar/api/keymanager";
|
|
2
|
+
import { LocalKeystoreDefinition } from "../interface.js";
|
|
3
|
+
export type DecryptKeystoreWorkerAPI = {
|
|
4
|
+
decryptKeystore(args: DecryptKeystoreArgs): Promise<Uint8Array>;
|
|
5
|
+
};
|
|
6
|
+
export type DecryptKeystoreArgs = LocalKeystoreDefinition | {
|
|
7
|
+
keystoreStr: KeystoreStr;
|
|
8
|
+
password: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function isLocalKeystoreDefinition(args: DecryptKeystoreArgs): args is LocalKeystoreDefinition;
|
|
11
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/cmds/validator/keymanager/decryptKeystores/types.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,yBAAyB,CAAC,IAAyB;IACjE,OAAQ,IAAgC,CAAC,YAAY,KAAK,SAAS,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TransferDescriptor } from "@chainsafe/threads";
|
|
2
|
+
import { DecryptKeystoreArgs } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Decrypt a single keystore, 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 decryptKeystore(args: DecryptKeystoreArgs): Promise<TransferDescriptor<Uint8Array>>;
|
|
9
|
+
//# sourceMappingURL=worker.d.ts.map
|
package/lib/cmds/validator/keymanager/{decryptKeystoreDefinitions → decryptKeystores}/worker.js
RENAMED
|
@@ -2,18 +2,19 @@ import fs from "node:fs";
|
|
|
2
2
|
import { expose } from "@chainsafe/threads/worker";
|
|
3
3
|
import { Transfer } from "@chainsafe/threads";
|
|
4
4
|
import { Keystore } from "@chainsafe/bls-keystore";
|
|
5
|
+
import { isLocalKeystoreDefinition } from "./types.js";
|
|
5
6
|
/**
|
|
6
|
-
* Decrypt a single keystore
|
|
7
|
+
* Decrypt a single keystore, returning the secret key as a Uint8Array
|
|
7
8
|
*
|
|
8
9
|
* NOTE: This is a memory (and cpu) -intensive process, since decrypting the keystore involves running a key derivation function (either pbkdf2 or scrypt)
|
|
9
10
|
*/
|
|
10
|
-
export async function
|
|
11
|
-
const keystore = Keystore.parse(fs.readFileSync(keystorePath, "utf8"));
|
|
11
|
+
export async function decryptKeystore(args) {
|
|
12
|
+
const keystore = Keystore.parse(isLocalKeystoreDefinition(args) ? fs.readFileSync(args.keystorePath, "utf8") : args.keystoreStr);
|
|
12
13
|
// Memory-hogging function
|
|
13
|
-
const secret = await keystore.decrypt(password);
|
|
14
|
+
const secret = await keystore.decrypt(args.password);
|
|
14
15
|
// Transfer the underlying ArrayBuffer back to the main thread: https://threads.js.org/usage-advanced#transferable-objects
|
|
15
16
|
// This small performance gain may help in cases where this is run for many keystores
|
|
16
17
|
return Transfer(secret, [secret.buffer]);
|
|
17
18
|
}
|
|
18
|
-
expose({
|
|
19
|
+
expose({ decryptKeystore });
|
|
19
20
|
//# sourceMappingURL=worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../../src/cmds/validator/keymanager/decryptKeystores/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;AACjD,OAAO,EAAgD,yBAAyB,EAAC,MAAM,YAAY,CAAC;AAEpG;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAyB;IAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAC7B,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAChG,CAAC;IAEF,0BAA0B;IAC1B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,0HAA0H;IAC1H,qFAAqF;IACrF,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,EAAC,eAAe,EAAwC,CAAC,CAAC"}
|
|
@@ -6,8 +6,9 @@ type Api = ServerApi<KeyManagerClientApi>;
|
|
|
6
6
|
export declare class KeymanagerApi implements Api {
|
|
7
7
|
private readonly validator;
|
|
8
8
|
private readonly persistedKeysBackend;
|
|
9
|
+
private readonly signal;
|
|
9
10
|
private readonly proposerConfigWriteDisabled?;
|
|
10
|
-
constructor(validator: Validator, persistedKeysBackend: IPersistedKeysBackend, proposerConfigWriteDisabled?: boolean | undefined);
|
|
11
|
+
constructor(validator: Validator, persistedKeysBackend: IPersistedKeysBackend, signal: AbortSignal, proposerConfigWriteDisabled?: boolean | undefined);
|
|
11
12
|
private checkIfProposerWriteEnabled;
|
|
12
13
|
listFeeRecipient(pubkeyHex: string): ReturnType<Api["listFeeRecipient"]>;
|
|
13
14
|
setFeeRecipient(pubkeyHex: string, ethaddress: string): Promise<void>;
|
|
@@ -5,10 +5,12 @@ import { fromHexString } from "@chainsafe/ssz";
|
|
|
5
5
|
import { SignerType } from "@lodestar/validator";
|
|
6
6
|
import { getPubkeyHexFromKeystore, isValidatePubkeyHex, isValidHttpUrl } from "../../../util/format.js";
|
|
7
7
|
import { parseFeeRecipient } from "../../../util/index.js";
|
|
8
|
+
import { DecryptKeystoresThreadPool } from "./decryptKeystores/index.js";
|
|
8
9
|
export class KeymanagerApi {
|
|
9
|
-
constructor(validator, persistedKeysBackend, proposerConfigWriteDisabled) {
|
|
10
|
+
constructor(validator, persistedKeysBackend, signal, proposerConfigWriteDisabled) {
|
|
10
11
|
this.validator = validator;
|
|
11
12
|
this.persistedKeysBackend = persistedKeysBackend;
|
|
13
|
+
this.signal = signal;
|
|
12
14
|
this.proposerConfigWriteDisabled = proposerConfigWriteDisabled;
|
|
13
15
|
}
|
|
14
16
|
checkIfProposerWriteEnabled() {
|
|
@@ -85,6 +87,7 @@ export class KeymanagerApi {
|
|
|
85
87
|
await this.validator.importInterchange(interchange);
|
|
86
88
|
}
|
|
87
89
|
const statuses = [];
|
|
90
|
+
const decryptKeystores = new DecryptKeystoresThreadPool(keystoresStr.length, this.signal);
|
|
88
91
|
for (let i = 0; i < keystoresStr.length; i++) {
|
|
89
92
|
try {
|
|
90
93
|
const keystoreStr = keystoresStr[i];
|
|
@@ -99,27 +102,31 @@ export class KeymanagerApi {
|
|
|
99
102
|
statuses[i] = { status: ImportStatus.duplicate };
|
|
100
103
|
continue;
|
|
101
104
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
105
|
+
decryptKeystores.queue({ keystoreStr, password }, (secretKeyBytes) => {
|
|
106
|
+
const secretKey = bls.SecretKey.fromBytes(secretKeyBytes);
|
|
107
|
+
// Persist the key to disk for restarts, before adding to in-memory store
|
|
108
|
+
// If the keystore exist and has a lock it will throw
|
|
109
|
+
this.persistedKeysBackend.writeKeystore({
|
|
110
|
+
keystoreStr,
|
|
111
|
+
password,
|
|
112
|
+
// Lock immediately since it's gonna be used
|
|
113
|
+
lockBeforeWrite: true,
|
|
114
|
+
// Always write, even if it's already persisted for consistency.
|
|
115
|
+
// The in-memory validatorStore is the ground truth to decide duplicates
|
|
116
|
+
persistIfDuplicate: true,
|
|
117
|
+
});
|
|
118
|
+
// Add to in-memory store to start validating immediately
|
|
119
|
+
this.validator.validatorStore.addSigner({ type: SignerType.Local, secretKey });
|
|
120
|
+
statuses[i] = { status: ImportStatus.imported };
|
|
121
|
+
}, (e) => {
|
|
122
|
+
statuses[i] = { status: ImportStatus.error, message: e.message };
|
|
114
123
|
});
|
|
115
|
-
// Add to in-memory store to start validating immediately
|
|
116
|
-
this.validator.validatorStore.addSigner({ type: SignerType.Local, secretKey });
|
|
117
|
-
statuses[i] = { status: ImportStatus.imported };
|
|
118
124
|
}
|
|
119
125
|
catch (e) {
|
|
120
126
|
statuses[i] = { status: ImportStatus.error, message: e.message };
|
|
121
127
|
}
|
|
122
128
|
}
|
|
129
|
+
await decryptKeystores.completed();
|
|
123
130
|
return { data: statuses };
|
|
124
131
|
}
|
|
125
132
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../src/cmds/validator/keymanager/impl.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAEL,qBAAqB,EACrB,cAAc,EACd,YAAY,EAMZ,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAc,UAAU,EAAY,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAC,wBAAwB,EAAE,mBAAmB,EAAE,cAAc,EAAC,MAAM,yBAAyB,CAAC;AACtG,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../src/cmds/validator/keymanager/impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { Keystore } from "@chainsafe/bls-keystore";
|
|
|
5
5
|
import { SignerType } from "@lodestar/validator";
|
|
6
6
|
import { fromHex, toHex } from "@lodestar/utils";
|
|
7
7
|
import { PointFormat } from "@chainsafe/bls/types";
|
|
8
|
+
import { writeFile600Perm } from "../../../util/file.js";
|
|
8
9
|
import { lockFilepath, unlockFilepath } from "../../../util/lockfile.js";
|
|
9
10
|
export async function loadKeystoreCache(cacheFilepath, keystoreDefinitions) {
|
|
10
11
|
const keystores = [];
|
|
@@ -53,7 +54,7 @@ export async function writeKeystoreCache(cacheFilepath, signers, passwords) {
|
|
|
53
54
|
if (!fs.existsSync(path.dirname(cacheFilepath)))
|
|
54
55
|
fs.mkdirSync(path.dirname(cacheFilepath), { recursive: true });
|
|
55
56
|
lockFilepath(cacheFilepath);
|
|
56
|
-
|
|
57
|
+
writeFile600Perm(cacheFilepath, keystore.stringify());
|
|
57
58
|
unlockFilepath(cacheFilepath);
|
|
58
59
|
}
|
|
59
60
|
export async function clearKeystoreCache(cacheFilepath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keystoreCache.js","sourceRoot":"","sources":["../../../../src/cmds/validator/keymanager/keystoreCache.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"keystoreCache.js","sourceRoot":"","sources":["../../../../src/cmds/validator/keymanager/keystoreCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,8 @@ export declare const DEFAULT_BEACON_NODE_URL = "";
|
|
|
21
21
|
export type IValidatorCliArgs = AccountValidatorArgs & KeymanagerArgs & LogArgs & {
|
|
22
22
|
validatorsDbDir?: string;
|
|
23
23
|
beaconNodes: string[];
|
|
24
|
-
force
|
|
25
|
-
graffiti
|
|
24
|
+
force?: boolean;
|
|
25
|
+
graffiti?: string;
|
|
26
26
|
afterBlockDelaySlotFraction?: number;
|
|
27
27
|
scAfterBlockDelaySlotFraction?: number;
|
|
28
28
|
disableAttestationGrouping?: boolean;
|
|
@@ -150,7 +150,7 @@ export const validatorOptions = {
|
|
|
150
150
|
},
|
|
151
151
|
"builder.selection": {
|
|
152
152
|
type: "string",
|
|
153
|
-
description: "Default builder block selection strategy: maxprofit or
|
|
153
|
+
description: "Default builder block selection strategy: maxprofit, builderalways, or builderonly",
|
|
154
154
|
defaultDescription: `${defaultOptions.builderSelection}`,
|
|
155
155
|
group: "builder",
|
|
156
156
|
},
|
|
@@ -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,EAAU,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,cAAc,EAAoB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAC,kCAAkC,EAAC,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAC,mBAAmB,EAAE,qBAAqB,EAAC,MAAM,YAAY,CAAC;AAStE,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,WAAW;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,QAAQ,EAAE,KAAM;IAChB,YAAY,EAAE,KAAM;IACpB,cAAc,EAAE,KAAM;IACtB,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF,2DAA2D;AAC3D,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAuD1C,MAAM,CAAC,MAAM,iBAAiB,GAAsC;IAClE,UAAU,EAAE;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,YAAY;KACpB;IACD,wBAAwB,EAAE;QACxB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8DAA8D;QAC3E,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,YAAY;KACpB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,6BAA6B;QAC1C,kBAAkB,EAAE,MAAM,CAAC,kCAAkC,CAAC,IAAI,CAAC;QACnE,KAAK,EAAE,YAAY;KACpB;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,6BAA6B;QAC1C,kBAAkB,EAAE,kCAAkC,CAAC,OAAO;QAC9D,KAAK,EAAE,YAAY;KACpB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,2EAA2E;QACxF,kBAAkB,EAAE,kCAAkC,CAAC,IAAI;QAC3D,KAAK,EAAE,YAAY;KACpB;IACD,wBAAwB,EAAE;QACxB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0FAA0F;KACxG;IACD,sBAAsB,EAAE;QACtB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wEAAwE;KACtF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAyC;IACpE,GAAG,UAAU;IACb,GAAG,iBAAiB;IAEpB,YAAY,EAAE;QACZ,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,4CAA4C;QACzD,kBAAkB,EAAE,mBAAmB,CAAC,YAAY;QACpD,IAAI,EAAE,QAAQ;KACf;IAED,UAAU,EAAE;QACV,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,mDAAmD;QAChE,kBAAkB,EAAE,mBAAmB,CAAC,UAAU;QAClD,IAAI,EAAE,QAAQ;KACf;IAED,aAAa,EAAE;QACb,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,yDAAyD;QACtE,kBAAkB,EAAE,mBAAmB,CAAC,YAAY;QACpD,IAAI,EAAE,QAAQ;KACf;IAED,WAAW,EAAE;QACX,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,oEAAoE;QACjF,kBAAkB,EAAE,mBAAmB,CAAC,WAAW;QACnD,IAAI,EAAE,QAAQ;KACf;IAED,eAAe,EAAE;QACf,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,yCAAyC;QACtD,kBAAkB,EAAE,qBAAqB,CAAC,eAAe;QACzD,IAAI,EAAE,QAAQ;KACf;IAED,WAAW,EAAE;QACX,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,CAAC,uBAAuB,CAAC;QAClC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,IAAc,EAAY,EAAE;QACnC,0CAA0C;QAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,8BAA8B;KAClD;IAED,KAAK,EAAE;QACL,WAAW,EAAE,8DAA8D;QAC3E,IAAI,EAAE,SAAS;KAChB;IAED,QAAQ,EAAE;QACR,WAAW,EAAE,4FAA4F;QACzG,iGAAiG;QACjG,IAAI,EAAE,QAAQ;KACf;IAED,2BAA2B,EAAE;QAC3B,MAAM,EAAE,IAAI;QACZ,WAAW,EACT,yIAAyI;QAC3I,IAAI,EAAE,QAAQ;KACf;IAED,6BAA6B,EAAE;QAC7B,MAAM,EAAE,IAAI;QACZ,WAAW,EACT,mJAAmJ;QACrJ,IAAI,EAAE,QAAQ;KACf;IAED,0BAA0B,EAAE;QAC1B,MAAM,EAAE,IAAI;QACZ,WAAW,EACT,+IAA+I;QACjJ,IAAI,EAAE,SAAS;KAChB;IAED,oBAAoB,EAAE;QACpB,WAAW,EACT,iKAAiK;QACnK,IAAI,EAAE,QAAQ;KACf;IAED,qBAAqB,EAAE;QACrB,WAAW,EACT,mQAAmQ;QACrQ,kBAAkB,EAAE,cAAc,CAAC,qBAAqB;QACxD,IAAI,EAAE,QAAQ;KACf;IAED,uBAAuB,EAAE;QACvB,WAAW,EAAE,wFAAwF;QACrG,IAAI,EAAE,SAAS;KAChB;IAED,eAAe,EAAE;QACf,WAAW,EAAE,iGAAiG;QAC9G,kBAAkB,EAAE,GAAG,cAAc,CAAC,eAAe,EAAE;QACvD,IAAI,EAAE,QAAQ;KACf;IAED,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,sEAAsE;QACnF,KAAK,EAAE,SAAS;KACjB;IAED,mBAAmB,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/validator/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importExternalKeystores.js","sourceRoot":"","sources":["../../../../src/cmds/validator/signers/importExternalKeystores.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAG3E;;;;GAIG;AACH,MAAM,UAAU,wCAAwC,CAAC,IAGxD;IACC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;QAC7C,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;KACzC;IAED,OAAO,QAAQ;SACZ,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SAChD,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACtB,YAAY;QACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAwC;IACnF,IAAI,IAAI,CAAC,uBAAuB,EAAE;QAChC,OAAO,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAqB;YACxD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,gCAAgC;aAC1C;SACF,CAAC,CAAC;QAEH,
|
|
1
|
+
{"version":3,"file":"importExternalKeystores.js","sourceRoot":"","sources":["../../../../src/cmds/validator/signers/importExternalKeystores.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAG3E;;;;GAIG;AACH,MAAM,UAAU,wCAAwC,CAAC,IAGxD;IACC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;QAC7C,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;KACzC;IAED,OAAO,QAAQ;SACZ,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SAChD,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACtB,YAAY;QACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAwC;IACnF,IAAI,IAAI,CAAC,uBAAuB,EAAE;QAChC,OAAO,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAqB;YACxD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,gCAAgC;aAC1C;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,QAAQ,CAAC;KACzB;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,gCAAgC;IAChC,OAAO,CACL,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC1B,yGAAyG;QACzG,gHAAgH;QAChH,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC3C,+FAA+F;IAC/F,wEAAwE;IACxE,EAAE;IACF,4DAA4D;IAC5D,EAAE;IACF,kDAAkD;IAClD,mIAAmI;IACnI,EAAE;IACF,+FAA+F;IAC/F,0DAA0D;IAC1D,EAAE;IACF,iCAAiC;IACjC,EAAE;IACF,0CAA0C;KAC3C,CAAC;AACJ,CAAC"}
|
|
@@ -8,7 +8,7 @@ import { defaultNetwork } from "../../../options/index.js";
|
|
|
8
8
|
import { assertValidPubkeysHex, isValidHttpUrl, parseRange, YargsError } from "../../../util/index.js";
|
|
9
9
|
import { getAccountPaths } from "../paths.js";
|
|
10
10
|
import { PersistedKeysBackend } from "../keymanager/persistedKeys.js";
|
|
11
|
-
import { decryptKeystoreDefinitions } from "../keymanager/decryptKeystoreDefinitions
|
|
11
|
+
import { decryptKeystoreDefinitions } from "../keymanager/decryptKeystoreDefinitions.js";
|
|
12
12
|
import { showProgress } from "../../../util/progress.js";
|
|
13
13
|
import { importKeystoreDefinitionsFromExternalDir, readPassphraseOrPrompt } from "./importExternalKeystores.js";
|
|
14
14
|
const KEYSTORE_IMPORT_PROGRESS_MS = 10000;
|
|
@@ -84,6 +84,7 @@ export async function getSignersFromArgs(args, network, { logger, signal }) {
|
|
|
84
84
|
onDecrypt: needle,
|
|
85
85
|
cacheFilePath: path.join(accountPaths.cacheDir, "imported_keystores.cache"),
|
|
86
86
|
logger,
|
|
87
|
+
signal,
|
|
87
88
|
});
|
|
88
89
|
}
|
|
89
90
|
// Remote keys declared manually with --externalSignerPublicKeys
|
|
@@ -108,6 +109,7 @@ export async function getSignersFromArgs(args, network, { logger, signal }) {
|
|
|
108
109
|
onDecrypt: needle,
|
|
109
110
|
cacheFilePath: path.join(accountPaths.cacheDir, "local_keystores.cache"),
|
|
110
111
|
logger,
|
|
112
|
+
signal,
|
|
111
113
|
});
|
|
112
114
|
// Read local remote keys, imported via keymanager api
|
|
113
115
|
const signerDefinitions = persistedKeysBackend.readAllRemoteKeys();
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmds/validator/signers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { LogArgs } from "../../../options/logOptions.js";
|
|
|
4
4
|
import { AccountValidatorArgs } from "../options.js";
|
|
5
5
|
import { ISlashingProtectionArgs } from "./options.js";
|
|
6
6
|
type ExportArgs = {
|
|
7
|
-
file
|
|
7
|
+
file?: string;
|
|
8
8
|
pubkeys?: string[];
|
|
9
9
|
};
|
|
10
10
|
export declare const exportCmd: CliCommand<ExportArgs, ISlashingProtectionArgs & AccountValidatorArgs & GlobalArgs & LogArgs>;
|