1
- #![ allow( deprecated) ]
2
-
3
1
use {
4
2
clap:: { crate_description, crate_name, crate_version, Arg , Command } ,
5
3
solana_clap_v3_utils:: {
6
- input_parsers:: { parse_url_or_moniker, pubkey_of} ,
7
- input_validators:: { is_valid_pubkey , is_valid_signer , normalize_to_url_if_moniker} ,
4
+ input_parsers:: { parse_url_or_moniker, pubkey_of, signer :: SignerSourceParserBuilder } ,
5
+ input_validators:: normalize_to_url_if_moniker,
8
6
keypair:: {
9
7
signer_from_path, signer_from_path_with_config, DefaultSigner , SignerFromPathConfig ,
10
8
} ,
@@ -225,7 +223,7 @@ async fn main() -> Result<(), Box<dyn Error>> {
225
223
Arg :: new ( "payer" )
226
224
. long ( "payer" )
227
225
. value_name ( "KEYPAIR" )
228
- . validator ( |s| is_valid_signer ( s ) )
226
+ . value_parser ( SignerSourceParserBuilder :: default ( ) . allow_all ( ) . build ( ) )
229
227
. takes_value ( true )
230
228
. global ( true )
231
229
. help ( "Filepath or URL to a keypair [default: client keypair]" ) ,
@@ -252,7 +250,7 @@ async fn main() -> Result<(), Box<dyn Error>> {
252
250
Command :: new ( "create-escrow" ) . about ( "Create token account for the program escrow" )
253
251
. arg (
254
252
Arg :: new ( "original_mint" )
255
- . validator ( |s| is_valid_pubkey ( s ) )
253
+ . value_parser ( SignerSourceParserBuilder :: default ( ) . allow_all ( ) . build ( ) )
256
254
. value_name ( "ADDRESS" )
257
255
. required ( true )
258
256
. takes_value ( true )
@@ -261,7 +259,7 @@ async fn main() -> Result<(), Box<dyn Error>> {
261
259
)
262
260
. arg (
263
261
Arg :: new ( "new_mint" )
264
- . validator ( |s| is_valid_pubkey ( s ) )
262
+ . value_parser ( SignerSourceParserBuilder :: default ( ) . allow_all ( ) . build ( ) )
265
263
. value_name ( "ADDRESS" )
266
264
. required ( true )
267
265
. takes_value ( true )
@@ -271,7 +269,7 @@ async fn main() -> Result<(), Box<dyn Error>> {
271
269
. arg (
272
270
Arg :: new ( "account_keypair" )
273
271
. value_name ( "ACCOUNT_KEYPAIR" )
274
- . validator ( |s| is_valid_signer ( s ) )
272
+ . value_parser ( SignerSourceParserBuilder :: default ( ) . allow_all ( ) . build ( ) )
275
273
. takes_value ( true )
276
274
. index ( 3 )
277
275
. help ( "Specify the account keypair. This may be a keypair file or the ASK keyword. [default: associated token account for escrow authority]" ) ,
@@ -281,7 +279,7 @@ async fn main() -> Result<(), Box<dyn Error>> {
281
279
Command :: new ( "exchange" ) . about ( "Exchange original tokens for new tokens" )
282
280
. arg (
283
281
Arg :: new ( "original_mint" )
284
- . validator ( |s| is_valid_pubkey ( s ) )
282
+ . value_parser ( SignerSourceParserBuilder :: default ( ) . allow_all ( ) . build ( ) )
285
283
. value_name ( "ADDRESS" )
286
284
. required ( true )
287
285
. takes_value ( true )
@@ -290,7 +288,7 @@ async fn main() -> Result<(), Box<dyn Error>> {
290
288
)
291
289
. arg (
292
290
Arg :: new ( "new_mint" )
293
- . validator ( |s| is_valid_pubkey ( s ) )
291
+ . value_parser ( SignerSourceParserBuilder :: default ( ) . allow_all ( ) . build ( ) )
294
292
. value_name ( "ADDRESS" )
295
293
. required ( true )
296
294
. takes_value ( true )
@@ -301,38 +299,38 @@ async fn main() -> Result<(), Box<dyn Error>> {
301
299
Arg :: new ( "owner" )
302
300
. long ( "owner" )
303
301
. value_name ( "OWNER_KEYPAIR" )
304
- . validator ( |s| is_valid_signer ( s ) )
302
+ . value_parser ( SignerSourceParserBuilder :: default ( ) . allow_all ( ) . build ( ) )
305
303
. takes_value ( true )
306
304
. help ( "Specify the owner or delegate for the burnt account. This may be a keypair file or the ASK keyword. [default: fee payer]" ) ,
307
305
)
308
306
. arg (
309
307
Arg :: new ( "burn_from" )
310
308
. long ( "burn-from" )
311
309
. value_name ( "BURN_TOKEN_ACCOUNT_ADDRESS" )
312
- . validator ( |s| is_valid_pubkey ( s ) )
310
+ . value_parser ( SignerSourceParserBuilder :: default ( ) . allow_all ( ) . build ( ) )
313
311
. takes_value ( true )
314
312
. help ( "Specify the burnt account address. [default: associated token account for owner on original mint]" ) ,
315
313
)
316
314
. arg (
317
315
Arg :: new ( "escrow" )
318
316
. long ( "escrow" )
319
317
. value_name ( "ESCROW_TOKEN_ACCOUNT_ADDRESS" )
320
- . validator ( |s| is_valid_pubkey ( s ) )
318
+ . value_parser ( SignerSourceParserBuilder :: default ( ) . allow_all ( ) . build ( ) )
321
319
. takes_value ( true )
322
320
. help ( "Specify the escrow account address to transfer from. [default: associated token account for the escrow authority on new mint]" ) ,
323
321
)
324
322
. arg (
325
323
Arg :: new ( "destination" )
326
324
. long ( "destination" )
327
325
. value_name ( "DESTINATION_ACCOUNT_ADDRESS" )
328
- . validator ( |s| is_valid_pubkey ( s ) )
326
+ . value_parser ( SignerSourceParserBuilder :: default ( ) . allow_all ( ) . build ( ) )
329
327
. takes_value ( true )
330
328
. help ( "Specify the destination account to receive new tokens. [default: associated token account for owner on new mint]" ) ,
331
329
)
332
330
. arg (
333
331
Arg :: new ( "multisig_signer" )
334
332
. long ( "multisig-signer" )
335
- . validator ( |s| is_valid_signer ( s ) )
333
+ . value_parser ( SignerSourceParserBuilder :: default ( ) . allow_all ( ) . build ( ) )
336
334
. value_name ( "MULTISIG_SIGNER" )
337
335
. takes_value ( true )
338
336
. multiple ( true )
0 commit comments