nym_cli_commands/validator/mixnet/operators/mixnode/
mod.rs

1// Copyright 2021 - Nym Technologies SA <contact@nymtech.net>
2// SPDX-License-Identifier: Apache-2.0
3
4use clap::{Args, Subcommand};
5
6pub mod bond_mixnode;
7pub mod decrease_pledge;
8pub mod keys;
9pub mod migrate_vested_mixnode;
10pub mod mixnode_bonding_sign_payload;
11pub mod nymnode_migration;
12pub mod pledge_more;
13pub mod rewards;
14pub mod settings;
15pub mod unbond_mixnode;
16pub mod vesting_bond_mixnode;
17pub mod vesting_decrease_pledge;
18pub mod vesting_pledge_more;
19pub mod vesting_unbond_mixnode;
20
21#[derive(Debug, Args)]
22#[clap(args_conflicts_with_subcommands = true, subcommand_required = true)]
23pub struct MixnetOperatorsMixnode {
24    #[clap(subcommand)]
25    pub command: MixnetOperatorsMixnodeCommands,
26}
27
28#[derive(Debug, Subcommand)]
29pub enum MixnetOperatorsMixnodeCommands {
30    /// Operations for mixnode keys
31    Keys(keys::MixnetOperatorsMixnodeKeys),
32    /// Manage your mixnode operator rewards
33    Rewards(rewards::MixnetOperatorsMixnodeRewards),
34    /// Manage your mixnode settings stored in the directory
35    Settings(settings::MixnetOperatorsMixnodeSettings),
36    /// Bond to a mixnode
37    Bond(bond_mixnode::Args),
38    /// Unbond from a mixnode
39    Unbond(unbond_mixnode::Args),
40    /// Bond to a mixnode with locked tokens
41    BondVesting(vesting_bond_mixnode::Args),
42    /// Unbond from a mixnode (when originally using locked tokens)
43    UnbondVesting(vesting_unbond_mixnode::Args),
44    /// Create base58-encoded payload required for producing valid bonding signature.
45    CreateMixnodeBondingSignPayload(mixnode_bonding_sign_payload::Args),
46    /// Pledge more
47    PledgeMore(pledge_more::Args),
48    /// Pledge more with locked tokens
49    PledgeMoreVesting(vesting_pledge_more::Args),
50    /// Decrease pledge
51    DecreasePledge(decrease_pledge::Args),
52    /// Decrease pledge with locked tokens
53    DecreasePledgeVesting(vesting_decrease_pledge::Args),
54    /// Migrate the mixnode to use liquid tokens
55    MigrateVestedNode(migrate_vested_mixnode::Args),
56    /// Migrate the mixnode into a Nym Node
57    MigrateToNymnode(nymnode_migration::Args),
58}