use clap::{Args, Parser, Subcommand};
#[derive(Debug, Parser)]
#[clap(name = "w3kit")]
#[clap(about = "🕹✨ a rusty toolkit for several blockchains ✨🕹")]
pub struct CliStruct {
#[clap(subcommand)]
pub command: CliEnum,
}
#[derive(Debug, Subcommand)]
pub enum CliEnum {
#[clap(arg_required_else_help = true)]
Ws(ConnectionArgs),
#[clap(arg_required_else_help = true)]
Http(ConnectionArgs),
#[clap(arg_required_else_help = true)]
Account(AccountArgs),
#[clap(arg_required_else_help = true)]
Coin(CoinArgs),
}
#[derive(Debug, Args)]
pub struct ConnectionArgs {
#[clap(short, long)]
pub blockchain: String,
}
#[derive(Debug, Args)]
pub struct AccountArgs {
#[clap(short, long)]
pub blockchain: String,
#[clap(short, long)]
pub account: String,
}
#[derive(Debug, Args)]
pub struct CoinArgs {
pub coin: String,
}