diff --git a/dist/tsc/src/cli-shared.js b/dist/tsc/src/cli-shared.js index 8178525..ac7663b 100644 --- a/dist/tsc/src/cli-shared.js +++ b/dist/tsc/src/cli-shared.js @@ -31,7 +31,7 @@ function main(interactive) { const command = new SSVKeysCommand_1.SSVKeysCommand(interactive); try { const outputFiles = yield command.execute(); - console.debug('\nKey distribution successful! Find your key shares files at:'); + console.debug(`\nKey distribution successful! Find your key shares file${outputFiles.length > 1 ? 's' : ''} at:`); outputFiles.map((file) => console.debug(`${safe_1.default.bgYellow(safe_1.default.black(file))}`)); } catch (error) { diff --git a/dist/tsc/src/cli-shared.js.map b/dist/tsc/src/cli-shared.js.map index ceba7b1..1658559 100644 --- a/dist/tsc/src/cli-shared.js.map +++ b/dist/tsc/src/cli-shared.js.map @@ -1 +1 @@ -{"version":3,"file":"cli-shared.js","sourceRoot":"","sources":["../../../src/cli-shared.ts"],"names":[],"mappings":";;;AAAA,4DAA4B;AAC5B,+DAAiC;AACjC,2EAAkC;AAElC,8DAA2D;AAE3D,MAAM,aAAa,GAAG,CAAO,OAAe,EAAE,EAAE;IAC9C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAA,gBAAM,EAAC,OAAO,EAAE,CAAC,KAAU,EAAE,MAAe,EAAE,EAAE;YAC9C,IAAI,KAAK,EAAE;gBACT,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;aACpB;YACD,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA;AAED,SAA8B,IAAI,CAAC,WAAoB;;QACrD,MAAM,WAAW,GAAG,aAAa,sBAAG,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;YACvF,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;YACvF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,sBAAG,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE;gBACjE,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;aACxB;YACD,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;SAC1F;QACD,MAAM,OAAO,GAAG,IAAI,+BAAc,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI;YACF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;YAC/E,WAAW,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,cAAM,CAAC,QAAQ,CAAC,cAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5F;QAAC,OAAM,KAAK,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACpB;IACH,CAAC;CAAA;AApBD,uBAoBC"} \ No newline at end of file +{"version":3,"file":"cli-shared.js","sourceRoot":"","sources":["../../../src/cli-shared.ts"],"names":[],"mappings":";;;AAAA,4DAA4B;AAC5B,+DAAiC;AACjC,2EAAkC;AAElC,8DAA2D;AAE3D,MAAM,aAAa,GAAG,CAAO,OAAe,EAAE,EAAE;IAC9C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAA,gBAAM,EAAC,OAAO,EAAE,CAAC,KAAU,EAAE,MAAe,EAAE,EAAE;YAC9C,IAAI,KAAK,EAAE;gBACT,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;aACpB;YACD,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA;AAED,SAA8B,IAAI,CAAC,WAAoB;;QACrD,MAAM,WAAW,GAAG,aAAa,sBAAG,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;YACvF,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;YACvF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,sBAAG,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE;gBACjE,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;aACxB;YACD,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;SAC1F;QACD,MAAM,OAAO,GAAG,IAAI,+BAAc,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI;YACF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,2DAA2D,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACjH,WAAW,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,cAAM,CAAC,QAAQ,CAAC,cAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5F;QAAC,OAAM,KAAK,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACpB;IACH,CAAC;CAAA;AApBD,uBAoBC"} \ No newline at end of file diff --git a/dist/tsc/src/commands/BaseCommand.js b/dist/tsc/src/commands/BaseCommand.js index 1dcc6af..050fa02 100644 --- a/dist/tsc/src/commands/BaseCommand.js +++ b/dist/tsc/src/commands/BaseCommand.js @@ -166,15 +166,6 @@ class BaseCommand extends argparse_1.ArgumentParser { continue; } processedArguments[promptOptions.name] = true; - if (argument.interactive.confirmConditions) { - const value = yield argument.interactive.confirmConditions(preFilledValues[promptOptions.name]); - if (value !== false) { - const message = argument.interactive.confirmMessage.replace(/{value}/g, value); - const isConfirmed = (yield (0, prompts_1.default)({ type: 'confirm', name: 'value', message, initial: true })).value; - if (!isConfirmed) - throw ''; - } - } const message = promptOptions.message; const extraOptions = { onSubmit: promptOptions.onSubmit }; let isRepeatable = !!((_a = argument.interactive) === null || _a === void 0 ? void 0 : _a.repeat); diff --git a/dist/tsc/src/commands/BaseCommand.js.map b/dist/tsc/src/commands/BaseCommand.js.map index 03c4643..6d689aa 100644 --- a/dist/tsc/src/commands/BaseCommand.js.map +++ b/dist/tsc/src/commands/BaseCommand.js.map @@ -1 +1 @@ -{"version":3,"file":"BaseCommand.js","sourceRoot":"","sources":["../../../../src/commands/BaseCommand.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"BaseCommand.js","sourceRoot":"","sources":["../../../../src/commands/BaseCommand.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tsc/src/commands/actions/KeySharesAction.js b/dist/tsc/src/commands/actions/KeySharesAction.js index 756cfb0..0832095 100644 --- a/dist/tsc/src/commands/actions/KeySharesAction.js +++ b/dist/tsc/src/commands/actions/KeySharesAction.js @@ -6,10 +6,11 @@ const BaseAction_1 = require("./BaseAction"); const SSVKeys_1 = require("../../lib/SSVKeys"); const KeyShares_1 = require("../../lib/KeyShares/KeyShares"); const file_1 = require("./validators/file"); -const keystore_1 = tslib_1.__importDefault(require("./arguments/keystore")); +const keystore_path_1 = tslib_1.__importDefault(require("./arguments/keystore-path")); const owner_nonce_1 = tslib_1.__importDefault(require("./arguments/owner-nonce")); const operator_ids_1 = tslib_1.__importDefault(require("./arguments/operator-ids")); const owner_address_1 = tslib_1.__importDefault(require("./arguments/owner-address")); +const multi_shares_1 = tslib_1.__importDefault(require("./arguments/multi-shares")); const password_1 = tslib_1.__importDefault(require("./arguments/password")); const output_folder_1 = tslib_1.__importDefault(require("./arguments/output-folder")); const operator_public_keys_1 = tslib_1.__importDefault(require("./arguments/operator-public-keys")); @@ -24,7 +25,8 @@ class KeySharesAction extends BaseAction_1.BaseAction { action: 'shares', description: 'Generate shares for a list of operators from a validator keystore file', arguments: [ - keystore_1.default, + keystore_path_1.default, + multi_shares_1.default, password_1.default, operator_ids_1.default, operator_public_keys_1.default, @@ -39,7 +41,7 @@ class KeySharesAction extends BaseAction_1.BaseAction { */ execute() { return tslib_1.__awaiter(this, void 0, void 0, function* () { - const { keystore, password, output_folder: outputFolder, owner_address: ownerAddress, owner_nonce: ownerNonce, } = this.args; + const { keystore_path: keystore, password, output_folder: outputFolder, owner_address: ownerAddress, owner_nonce: ownerNonce, multi_shares: multiShares, } = this.args; let { operator_ids: operatorIds, operator_keys: operatorKeys, } = this.args; // Prepare data operatorKeys = operatorKeys.split(','); @@ -50,33 +52,45 @@ class KeySharesAction extends BaseAction_1.BaseAction { operatorKey, })); const keystorePath = (0, file_1.sanitizePath)(String(keystore).trim()); - const { files, isFolder } = yield (0, file_helper_1.getKeyStoreFiles)(keystorePath); - // validate all files - for (const file of files) { - const isKeyStoreValid = yield keystore_1.default.interactive.options.validateSingle(file); + if (multiShares) { + const { files } = yield (0, file_helper_1.getKeyStoreFiles)(keystorePath); + // validate all files + for (const file of files) { + const isKeyStoreValid = yield keystore_path_1.default.interactive.options.validateSingle(file); + if (isKeyStoreValid !== true) { + throw Error(String(isKeyStoreValid)); + } + const isValidPassword = yield keystore_password_1.keystorePasswordValidator.validatePassword(password, file); + if (isValidPassword !== true) { + throw Error(String(isValidPassword)); + } + } + const outputFiles = []; + let nextNonce = ownerNonce; + let processedFilesCount = 0; + console.debug('Splitting keystore files to shares, do not terminate process!'); + for (const file of files) { + const keySharesFilePath = yield this._processFile(file, password, outputFolder, operators, ownerAddress, nextNonce); + outputFiles.push(keySharesFilePath); + processedFilesCount++; + process.stdout.write(`\r${processedFilesCount}/${files.length} keystore files successfully split into shares`); + nextNonce++; + } + process.stdout.write('\n'); + return outputFiles; + } + else { + const isKeyStoreValid = yield keystore_path_1.default.interactive.options.validateSingle(keystorePath); if (isKeyStoreValid !== true) { throw Error(String(isKeyStoreValid)); } - const isValidPassword = yield keystore_password_1.keystorePasswordValidator.validatePassword(password, file); + const isValidPassword = yield keystore_password_1.keystorePasswordValidator.validatePassword(password, keystorePath); if (isValidPassword !== true) { throw Error(String(isValidPassword)); } + const keySharesFilePath = yield this._processFile(keystorePath, password, outputFolder, operators, ownerAddress, ownerNonce); + return [keySharesFilePath]; } - const outputFiles = []; - let nextNonce = ownerNonce; - let processedFilesCount = 0; - isFolder && console.debug('Splitting keystore files to shares, do not terminate process!'); - for (const file of files) { - const keySharesFilePath = yield this._processFile(file, password, outputFolder, operators, ownerAddress, nextNonce); - outputFiles.push(keySharesFilePath); - if (isFolder) { - processedFilesCount++; - process.stdout.write(`\r${processedFilesCount}/${files.length} keystore files successfully split into shares`); - } - nextNonce++; - } - process.stdout.write('\n'); - return outputFiles; }); } _processFile(keystoreFilePath, password, outputFolder, operators, ownerAddress, ownerNonce) { diff --git a/dist/tsc/src/commands/actions/KeySharesAction.js.map b/dist/tsc/src/commands/actions/KeySharesAction.js.map index 17619a4..724cc8b 100644 --- a/dist/tsc/src/commands/actions/KeySharesAction.js.map +++ b/dist/tsc/src/commands/actions/KeySharesAction.js.map @@ -1 +1 @@ -{"version":3,"file":"KeySharesAction.js","sourceRoot":"","sources":["../../../../../src/commands/actions/KeySharesAction.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"KeySharesAction.js","sourceRoot":"","sources":["../../../../../src/commands/actions/KeySharesAction.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tsc/src/commands/actions/arguments/keystore.d.ts b/dist/tsc/src/commands/actions/arguments/keystore-path.d.ts similarity index 79% rename from dist/tsc/src/commands/actions/arguments/keystore.d.ts rename to dist/tsc/src/commands/actions/arguments/keystore-path.d.ts index 94e8d26..0a189b0 100644 --- a/dist/tsc/src/commands/actions/arguments/keystore.d.ts +++ b/dist/tsc/src/commands/actions/arguments/keystore-path.d.ts @@ -10,8 +10,6 @@ declare const _default: { help: string; }; interactive: { - confirmMessage: string; - confirmConditions: (filePath: string) => Promise; options: { type: string; validateSingle: (filePath: string) => any; diff --git a/dist/tsc/src/commands/actions/arguments/keystore.js b/dist/tsc/src/commands/actions/arguments/keystore-path.js similarity index 63% rename from dist/tsc/src/commands/actions/arguments/keystore.js rename to dist/tsc/src/commands/actions/arguments/keystore-path.js index 033654b..7f5ead2 100644 --- a/dist/tsc/src/commands/actions/arguments/keystore.js +++ b/dist/tsc/src/commands/actions/arguments/keystore-path.js @@ -1,7 +1,5 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const file_helper_1 = require("../../../lib/helpers/file.helper"); const file_1 = require("../validators/file"); /** * Keystore argument validates if keystore file exists and is valid keystore file. @@ -15,14 +13,6 @@ exports.default = { help: 'The validator keystore file(s) path' }, interactive: { - confirmMessage: `{value} keystore files detected would you like to proceed with key distribution?`, - confirmConditions: (filePath) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { - const { files, isFolder } = yield (0, file_helper_1.getKeyStoreFiles)(filePath); - if (isFolder) { - return files.length; - } - return false; - }), options: { type: 'text', validateSingle: (filePath) => { @@ -40,4 +30,4 @@ exports.default = { } } }; -//# sourceMappingURL=keystore.js.map \ No newline at end of file +//# sourceMappingURL=keystore-path.js.map \ No newline at end of file diff --git a/dist/tsc/src/commands/actions/arguments/keystore-path.js.map b/dist/tsc/src/commands/actions/arguments/keystore-path.js.map new file mode 100644 index 0000000..7393ae0 --- /dev/null +++ b/dist/tsc/src/commands/actions/arguments/keystore-path.js.map @@ -0,0 +1 @@ +{"version":3,"file":"keystore-path.js","sourceRoot":"","sources":["../../../../../../src/commands/actions/arguments/keystore-path.ts"],"names":[],"mappings":";;AAAA,6CAA0F;AAE1F;;GAEG;AACH,kBAAe;IACb,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE;QACP,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,qCAAqC;KAC5C;IACD,WAAW,EAAE;QACX,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,CAAC,QAAgB,EAAO,EAAE;gBACxC,QAAQ,GAAG,IAAA,mBAAY,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjD,IAAI,OAAO,GAAG,IAAA,0BAAmB,EAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,OAAO,KAAK,IAAI,EAAE;oBACpB,OAAO,OAAO,CAAC;iBAChB;gBACD,OAAO,GAAG,IAAA,wBAAiB,EAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,OAAO,KAAK,IAAI,EAAE;oBACpB,OAAO,OAAO,CAAC;iBAChB;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;KACF;CACF,CAAC"} \ No newline at end of file diff --git a/dist/tsc/src/commands/actions/arguments/keystore.js.map b/dist/tsc/src/commands/actions/arguments/keystore.js.map deleted file mode 100644 index e8dde20..0000000 --- a/dist/tsc/src/commands/actions/arguments/keystore.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"keystore.js","sourceRoot":"","sources":["../../../../../../src/commands/actions/arguments/keystore.ts"],"names":[],"mappings":";;;AAAA,kEAAoE;AACpE,6CAA0F;AAE1F;;GAEG;AACH,kBAAe;IACb,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE;QACP,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,qCAAqC;KAC5C;IACD,WAAW,EAAE;QACX,cAAc,EAAE,kFAAkF;QAClG,iBAAiB,EAAE,CAAM,QAAgB,EAAE,EAAE;YAC3C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,8BAAgB,EAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,QAAQ,EAAE;gBACZ,OAAO,KAAK,CAAC,MAAM,CAAC;aACrB;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAA;QACD,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,CAAC,QAAgB,EAAO,EAAE;gBACxC,QAAQ,GAAG,IAAA,mBAAY,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjD,IAAI,OAAO,GAAG,IAAA,0BAAmB,EAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,OAAO,KAAK,IAAI,EAAE;oBACpB,OAAO,OAAO,CAAC;iBAChB;gBACD,OAAO,GAAG,IAAA,wBAAiB,EAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,OAAO,KAAK,IAAI,EAAE;oBACpB,OAAO,OAAO,CAAC;iBAChB;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;KACF;CACF,CAAC"} \ No newline at end of file diff --git a/dist/tsc/src/commands/actions/arguments/multi-shares.d.ts b/dist/tsc/src/commands/actions/arguments/multi-shares.d.ts new file mode 100644 index 0000000..e2c88ee --- /dev/null +++ b/dist/tsc/src/commands/actions/arguments/multi-shares.d.ts @@ -0,0 +1,12 @@ +export declare const updateKeyStorePathData: (isFolder: boolean, filesCount: number) => void; +declare const _default: { + arg1: string; + arg2: string; + options: { + action: string; + default: boolean; + required: boolean; + help: string; + }; +}; +export default _default; diff --git a/dist/tsc/src/commands/actions/arguments/multi-shares.js b/dist/tsc/src/commands/actions/arguments/multi-shares.js new file mode 100644 index 0000000..02a7d6d --- /dev/null +++ b/dist/tsc/src/commands/actions/arguments/multi-shares.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.updateKeyStorePathData = void 0; +const keyStorePathData = {}; +const updateKeyStorePathData = (isFolder, filesCount) => { + keyStorePathData.isFolder = isFolder; + keyStorePathData.filesCount = filesCount; +}; +exports.updateKeyStorePathData = updateKeyStorePathData; +exports.default = { + arg1: '-ms', + arg2: '--multi-shares', + options: { + action: 'store_true', + default: false, + required: false, + help: 'Keystore path will accept multiple keystores from a folder path, all files must have the same password.' + } +}; +//# sourceMappingURL=multi-shares.js.map \ No newline at end of file diff --git a/dist/tsc/src/commands/actions/arguments/multi-shares.js.map b/dist/tsc/src/commands/actions/arguments/multi-shares.js.map new file mode 100644 index 0000000..b4ed20f --- /dev/null +++ b/dist/tsc/src/commands/actions/arguments/multi-shares.js.map @@ -0,0 +1 @@ +{"version":3,"file":"multi-shares.js","sourceRoot":"","sources":["../../../../../../src/commands/actions/arguments/multi-shares.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAQ,EAAE,CAAC;AAE1B,MAAM,sBAAsB,GAAG,CAAC,QAAiB,EAAE,UAAkB,EAAE,EAAE;IAC9E,gBAAgB,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACrC,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAC;AAC3C,CAAC,CAAC;AAHW,QAAA,sBAAsB,0BAGjC;AAEF,kBAAe;IACb,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE;QACP,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,yGAAyG;KAChH;CACF,CAAC"} \ No newline at end of file diff --git a/src/cli-shared.ts b/src/cli-shared.ts index 587ac73..18af667 100644 --- a/src/cli-shared.ts +++ b/src/cli-shared.ts @@ -30,7 +30,7 @@ export default async function main(interactive: boolean): Promise { const command = new SSVKeysCommand(interactive); try { const outputFiles = await command.execute(); - console.debug('\nKey distribution successful! Find your key shares files at:'); + console.debug(`\nKey distribution successful! Find your key shares file${outputFiles.length > 1 ? 's': ''} at:`); outputFiles.map((file: string) => console.debug(`${colors.bgYellow(colors.black(file))}`)); } catch(error) { console.log(error); diff --git a/src/commands/BaseCommand.ts b/src/commands/BaseCommand.ts index 130d24f..727f3bd 100644 --- a/src/commands/BaseCommand.ts +++ b/src/commands/BaseCommand.ts @@ -180,15 +180,6 @@ export class BaseCommand extends ArgumentParser { } processedArguments[promptOptions.name] = true; - if (argument.interactive.confirmConditions) { - const value = await argument.interactive.confirmConditions(preFilledValues[promptOptions.name]); - if (value !== false) { - const message = argument.interactive.confirmMessage.replace(/{value}/g, value); - const isConfirmed = (await prompts({ type: 'confirm', name: 'value', message, initial: true })).value; - if (!isConfirmed) throw ''; - } - } - const message = promptOptions.message; const extraOptions = { onSubmit: promptOptions.onSubmit }; let isRepeatable = !!argument.interactive?.repeat; diff --git a/src/commands/actions/KeySharesAction.ts b/src/commands/actions/KeySharesAction.ts index 87cd9b5..886b763 100644 --- a/src/commands/actions/KeySharesAction.ts +++ b/src/commands/actions/KeySharesAction.ts @@ -2,10 +2,11 @@ import { BaseAction } from './BaseAction'; import { SSVKeys } from '../../lib/SSVKeys'; import { KeyShares } from '../../lib/KeyShares/KeyShares'; import { sanitizePath } from './validators/file'; -import keystoreArgument from './arguments/keystore'; -import ownerNonce from './arguments/owner-nonce'; +import keystorePathArgument from './arguments/keystore-path'; +import ownerNonceArgument from './arguments/owner-nonce'; import operatorIdsArgument from './arguments/operator-ids'; -import ownerAddress from './arguments/owner-address'; +import ownerAddressArgument from './arguments/owner-address'; +import multiSharesArgument from './arguments/multi-shares'; import keystorePasswordArgument from './arguments/password'; import outputFolderArgument from './arguments/output-folder'; import operatorPublicKeysArgument from './arguments/operator-public-keys'; @@ -22,13 +23,14 @@ export class KeySharesAction extends BaseAction { action: 'shares', description: 'Generate shares for a list of operators from a validator keystore file', arguments: [ - keystoreArgument, + keystorePathArgument, + multiSharesArgument, keystorePasswordArgument, operatorIdsArgument, operatorPublicKeysArgument, outputFolderArgument, - ownerAddress, - ownerNonce, + ownerAddressArgument, + ownerNonceArgument, ], } } @@ -38,11 +40,12 @@ export class KeySharesAction extends BaseAction { */ override async execute(): Promise { const { - keystore, + keystore_path: keystore, password, output_folder: outputFolder, owner_address: ownerAddress, owner_nonce: ownerNonce, + multi_shares: multiShares, } = this.args; let { @@ -61,37 +64,46 @@ export class KeySharesAction extends BaseAction { const keystorePath = sanitizePath(String(keystore).trim()); - const { files, isFolder } = await getKeyStoreFiles(keystorePath); + if (multiShares) { + const { files } = await getKeyStoreFiles(keystorePath); + // validate all files + for (const file of files) { + const isKeyStoreValid = await keystorePathArgument.interactive.options.validateSingle(file); + if (isKeyStoreValid !== true) { + throw Error(String(isKeyStoreValid)); + } + const isValidPassword = await keystorePasswordValidator.validatePassword(password, file); + if (isValidPassword !== true) { + throw Error(String(isValidPassword)); + } + } + const outputFiles = []; + let nextNonce = ownerNonce; + let processedFilesCount = 0; + console.debug('Splitting keystore files to shares, do not terminate process!'); + for (const file of files) { + const keySharesFilePath = await this._processFile(file, password, outputFolder, operators, ownerAddress, nextNonce); + outputFiles.push(keySharesFilePath); + + processedFilesCount++; + process.stdout.write(`\r${processedFilesCount}/${files.length} keystore files successfully split into shares`); - // validate all files - for (const file of files) { - const isKeyStoreValid = await keystoreArgument.interactive.options.validateSingle(file); + nextNonce++; + } + process.stdout.write('\n'); + return outputFiles; + } else { + const isKeyStoreValid = await keystorePathArgument.interactive.options.validateSingle(keystorePath); if (isKeyStoreValid !== true) { throw Error(String(isKeyStoreValid)); } - const isValidPassword = await keystorePasswordValidator.validatePassword(password, file); + const isValidPassword = await keystorePasswordValidator.validatePassword(password, keystorePath); if (isValidPassword !== true) { throw Error(String(isValidPassword)); } + const keySharesFilePath = await this._processFile(keystorePath, password, outputFolder, operators, ownerAddress, ownerNonce); + return [keySharesFilePath]; } - - const outputFiles = []; - let nextNonce = ownerNonce; - let processedFilesCount = 0; - isFolder && console.debug('Splitting keystore files to shares, do not terminate process!'); - for (const file of files) { - const keySharesFilePath = await this._processFile(file, password, outputFolder, operators, ownerAddress, nextNonce); - outputFiles.push(keySharesFilePath); - - if (isFolder) { - processedFilesCount++; - process.stdout.write(`\r${processedFilesCount}/${files.length} keystore files successfully split into shares`); - } - - nextNonce++; - } - process.stdout.write('\n'); - return outputFiles; } private async _processFile(keystoreFilePath: string, password: string, outputFolder: string, operators: any[], ownerAddress: string, ownerNonce: number) { diff --git a/src/commands/actions/arguments/keystore.ts b/src/commands/actions/arguments/keystore-path.ts similarity index 67% rename from src/commands/actions/arguments/keystore.ts rename to src/commands/actions/arguments/keystore-path.ts index 4ec25c5..5bc5572 100644 --- a/src/commands/actions/arguments/keystore.ts +++ b/src/commands/actions/arguments/keystore-path.ts @@ -1,4 +1,3 @@ -import { getKeyStoreFiles } from '../../../lib/helpers/file.helper'; import { fileExistsValidator, jsonFileValidator, sanitizePath } from '../validators/file'; /** @@ -13,14 +12,6 @@ export default { help: 'The validator keystore file(s) path' }, interactive: { - confirmMessage: `{value} keystore files detected would you like to proceed with key distribution?`, - confirmConditions: async(filePath: string) => { - const { files, isFolder } = await getKeyStoreFiles(filePath); - if (isFolder) { - return files.length; - } - return false; - }, options: { type: 'text', validateSingle: (filePath: string): any => { diff --git a/src/commands/actions/arguments/multi-shares.ts b/src/commands/actions/arguments/multi-shares.ts new file mode 100644 index 0000000..19b8af8 --- /dev/null +++ b/src/commands/actions/arguments/multi-shares.ts @@ -0,0 +1,17 @@ +const keyStorePathData: any = {}; + +export const updateKeyStorePathData = (isFolder: boolean, filesCount: number) => { + keyStorePathData.isFolder = isFolder; + keyStorePathData.filesCount = filesCount; +}; + +export default { + arg1: '-ms', + arg2: '--multi-shares', + options: { + action: 'store_true', + default: false, + required: false, + help: 'Keystore path will accept multiple keystores from a folder path, all files must have the same password.' + } +};