use clap::{Args, Subcommand};
pub mod execute_contract;
pub mod generators;
pub mod init_contract;
pub mod migrate_contract;
pub mod raw_contract_state;
pub mod upload_contract;
#[derive(Debug, Args)]
#[clap(args_conflicts_with_subcommands = true, subcommand_required = true)]
pub struct Cosmwasm {
#[clap(subcommand)]
pub command: CosmwasmCommands,
}
#[derive(Debug, Subcommand)]
pub enum CosmwasmCommands {
Upload(crate::validator::cosmwasm::upload_contract::Args),
Init(crate::validator::cosmwasm::init_contract::Args),
GenerateInitMessage(generators::GenerateMessage),
Migrate(crate::validator::cosmwasm::migrate_contract::Args),
Execute(crate::validator::cosmwasm::execute_contract::Args),
RawContractState(crate::validator::cosmwasm::raw_contract_state::Args),
}