ssv-keys
Version:
Tool for splitting a validator key into a predefined threshold of shares via Shamir-Secret-Sharing (SSS), and encrypt them with a set of operator keys.
79 lines (78 loc) • 2.57 kB
TypeScript
import { ArgumentParser, SubParser } from 'argparse';
export declare class BaseCommand extends ArgumentParser {
/**
* List of all supported command actions.
* @protected
*/
protected actions: any[];
protected actionParsers: any;
protected subParserOptions: {
title: string;
description: string;
help: string;
};
/**
* Argparse sub parser to hold all the command actions options.
* @protected
*/
protected subParsers: SubParser | undefined;
protected interactive: boolean;
protected useAction: string | undefined;
/**
* @param interactive if the command should be interactive instead of classic CLI
* @param options argparse options
*/
constructor(interactive?: boolean, options?: undefined);
/**
* Add actions sub-parsers.
*/
addActionsSubParsers(): ArgumentParser;
/**
* Interactively ask user for action
*/
askAction(): Promise<string>;
/**
* Pre-fill all values from arguments of executable
* @param selectedAction
* @param clearProcessArgs
*/
prefillFromArguments(selectedAction: string, clearProcessArgs?: boolean): Record<string, any>;
isPrefillFromArrayExists(dataIndex: number, promptOptions: any, preFilledValues: Record<string, any>): boolean;
/**
* Pre-fill prompts from array data on specific index
* @param dataIndex
* @param argument
* @param promptOptions
* @param preFilledValues
*/
prefillFromArrayData(dataIndex: number, argument: any, promptOptions: any, preFilledValues: Record<string, any>): void;
ask(promptOptions: any, extraOptions: any, required?: boolean): Promise<any>;
/**
* Interactively ask user for action to execute, and it's arguments.
* Populate process.argv with user input.
*/
executeInteractive(): Promise<any>;
/**
* Find argument in list of arguments by its arg2 value.
* @param extraArgumentName
* @param actionArguments
*/
findArgumentByName(extraArgumentName: string, actionArguments: any[]): any;
/**
* Returns list of arguments for selected user action
* @param userAction
*/
getArgumentsForAction(userAction: string): any;
/**
* Make an argument name useful for the flow
* @param arg
* @protected
*/
protected sanitizeArgument(arg: string): string;
/**
* Compile final prompt options
* @param argument
*/
getPromptOptions(argument: any): any;
execute(): Promise<any>;
}