use clap::{Args, Subcommand};
pub mod rewards;
pub mod delegate_to_mixnode;
pub mod delegate_to_multiple_mixnodes;
pub mod migrate_vested_delegation;
pub mod query_for_delegations;
pub mod undelegate_from_mixnode;
pub mod vesting_delegate_to_mixnode;
pub mod vesting_undelegate_from_mixnode;
#[derive(Debug, Args)]
#[clap(args_conflicts_with_subcommands = true, subcommand_required = true)]
pub struct MixnetDelegators {
#[clap(subcommand)]
pub command: MixnetDelegatorsCommands,
}
#[derive(Debug, Subcommand)]
pub enum MixnetDelegatorsCommands {
List(query_for_delegations::Args),
Rewards(rewards::MixnetDelegatorsReward),
Delegate(delegate_to_mixnode::Args),
DelegateMulti(delegate_to_multiple_mixnodes::Args),
Undelegate(undelegate_from_mixnode::Args),
DelegateVesting(vesting_delegate_to_mixnode::Args),
UndelegateVesting(vesting_undelegate_from_mixnode::Args),
MigrateVestedDelegation(migrate_vested_delegation::Args),
}