UNPKG

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
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>; }