solana_tools_lite_cli/models/
cmds.rs1use clap::{ArgGroup, Subcommand};
2
3#[derive(Subcommand, Debug)]
4pub enum Commands {
5 Gen {
7 #[arg(long, value_name = "FILE")]
9 mnemonic: Option<String>,
10 #[arg(long, value_name = "FILE")]
12 passphrase: Option<String>,
13 #[arg(long = "unsafe-show-secret", default_value = "false")]
15 unsafe_show_secret: bool,
16 #[arg(long, short)]
18 output: Option<String>,
19 #[arg(long, short, default_value = "false")]
21 force: bool,
22 },
23
24 #[command(group(ArgGroup::new("data_source").required(true).args(["message", "from_file"])))]
26 Sign {
27 #[arg(short, long, group = "data_source")]
29 message: Option<String>,
30
31 #[arg(long = "from-file", value_name = "FILE", group = "data_source")]
33 from_file: Option<String>,
34
35 #[arg(long, short = 'k')]
37 keypair: Option<String>,
38
39 #[arg(long, short)]
41 output: Option<String>,
42
43 #[arg(long, short, default_value = "false")]
45 force: bool,
46 },
47
48 #[command(group(ArgGroup::new("msg_src").required(true).args(["message", "from_file"])))]
50 #[command(group(ArgGroup::new("sig_src").required(true).args(["signature", "signature_file"])))]
51 #[command(group(ArgGroup::new("pk_src").required(true).args(["pubkey", "pubkey_file"])))]
52 Verify {
53 #[arg(short, long, group = "msg_src")]
55 message: Option<String>,
56
57 #[arg(
60 long = "from-file",
61 alias = "message-file",
62 value_name = "FILE",
63 group = "msg_src"
64 )]
65 from_file: Option<String>,
66
67 #[arg(short, long, group = "sig_src")]
69 signature: Option<String>,
70
71 #[arg(long = "signature-file", value_name = "FILE", group = "sig_src")]
73 signature_file: Option<String>,
74
75 #[arg(long, group = "pk_src")]
77 pubkey: Option<String>,
78
79 #[arg(long = "pubkey-file", value_name = "FILE", group = "pk_src")]
81 pubkey_file: Option<String>,
82
83 #[arg(long, short = 'o')]
85 output: Option<String>,
86
87 #[arg(long, short, default_value = "false")]
89 force: bool,
90 },
91
92 Base58 {
94 #[command(subcommand)]
95 action: Base58Action,
96 },
97
98 SignTx {
100 #[arg(long, short = 'i')]
102 input: String,
103
104 #[arg(long = "tables", value_name = "FILE")]
106 lookup_tables: Option<String>,
107
108 #[arg(long, short = 'k')]
110 keypair: Option<String>,
111
112 #[arg(long, short = 'o')]
114 output: Option<String>,
115
116 #[arg(long = "output-format", value_enum)]
118 output_format: Option<OutFmt>,
119
120 #[arg(long, short, default_value = "false")]
122 force: bool,
123
124 #[arg(long = "yes", short = 'y', action = clap::ArgAction::SetTrue)]
126 assume_yes: bool,
127
128 #[arg(long = "max-fee", value_name = "LAMPORTS")]
130 max_fee: Option<u64>,
131
132 #[arg(long = "summary-json", default_value = "false")]
134 summary_json: bool,
135 },
136}
137
138#[derive(Subcommand, Debug)]
139pub enum Base58Action {
140 Encode {
141 #[arg(short, long)]
142 input: String,
143 },
144 Decode {
145 #[arg(short, long)]
146 input: String,
147 },
148}
149
150#[derive(clap::ValueEnum, Clone, Copy, Debug)]
151pub enum OutFmt {
152 Json,
153 Base64,
154 Base58,
155}