tensor_eigen/args/
whitelist.rs

1use super::*;
2
3#[derive(Subcommand)]
4pub enum WhitelistSubcommands {
5    Compare(WhitelistCompareArgs),
6    Create(WhitelistCreateArgs),
7    Update(WhitelistUpdateArgs),
8}
9
10#[derive(ClapArgs)]
11pub struct WhitelistCompareArgs {
12    #[clap(flatten)]
13    pub read_options: ReadOptions,
14
15    /// List file path.
16    #[arg(short, long)]
17    pub list: Option<PathBuf>,
18
19    /// Optional namespace to derive whitelist v2 address.
20    #[arg(short, long)]
21    pub namespace: Option<Pubkey>,
22
23    /// Verbose output.
24    #[arg(short, long)]
25    pub verbose: bool,
26}
27
28#[derive(ClapArgs)]
29pub struct WhitelistCreateArgs {
30    #[clap(flatten)]
31    pub write_options: WriteOptions,
32
33    /// Whitelist config path.
34    pub whitelist_config_path: PathBuf,
35
36    /// Namespace path.
37    pub namespace_path: Option<PathBuf>,
38}
39
40#[derive(ClapArgs)]
41pub struct WhitelistUpdateArgs {
42    #[clap(flatten)]
43    pub write_options: WriteOptions,
44
45    /// Whitelist address.
46    pub whitelist_address: Pubkey,
47
48    /// New conditions path.
49    #[arg(short = 'c', long)]
50    pub new_conditions_path: Option<PathBuf>,
51
52    /// New update authority json file path.
53    #[arg(short = 'u', long)]
54    pub new_update_authority_path: Option<PathBuf>,
55
56    /// New freeze authority.
57    #[arg(short = 'f', long)]
58    pub new_freeze_authority: Option<Pubkey>,
59}