use structopt::StructOpt;
use tc_cli::{
Error, VanityCmd, SignCmd, VerifyCmd, GenerateNodeKeyCmd, GenerateCmd, InspectKeyCmd,
InspectNodeKeyCmd
};
#[derive(Debug, StructOpt)]
#[structopt(
name = "tetkey",
author = "Parity Team <admin@parity.io>",
about = "Utility for generating and restoring with Tetcore keys",
)]
pub enum Tetkey {
GenerateNodeKey(GenerateNodeKeyCmd),
Generate(GenerateCmd),
Inspect(InspectKeyCmd),
InspectNodeKey(InspectNodeKeyCmd),
Sign(SignCmd),
Vanity(VanityCmd),
Verify(VerifyCmd),
}
pub fn run() -> Result<(), Error> {
match Tetkey::from_args() {
Tetkey::GenerateNodeKey(cmd) => cmd.run(),
Tetkey::Generate(cmd) => cmd.run(),
Tetkey::Inspect(cmd) => cmd.run(),
Tetkey::InspectNodeKey(cmd) => cmd.run(),
Tetkey::Vanity(cmd) => cmd.run(),
Tetkey::Verify(cmd) => cmd.run(),
Tetkey::Sign(cmd) => cmd.run(),
}
}