Skip to content
This repository was archived by the owner on Mar 11, 2025. It is now read-only.

Commit fab7971

Browse files
committed
parse instead of validate for decimals
1 parent 436b4a0 commit fab7971

File tree

2 files changed

+7
-20
lines changed

2 files changed

+7
-20
lines changed

token/cli/src/clap_app.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -304,16 +304,12 @@ pub fn mint_address_arg<'a>() -> Arg<'a> {
304304
.help(MINT_ADDRESS_ARG.help)
305305
}
306306

307-
fn is_mint_decimals(string: &str) -> Result<(), String> {
308-
is_parsable::<u8>(string)
309-
}
310-
311307
pub fn mint_decimals_arg<'a>() -> Arg<'a> {
312308
Arg::with_name(MINT_DECIMALS_ARG.name)
313309
.long(MINT_DECIMALS_ARG.long)
314310
.takes_value(true)
315311
.value_name("MINT_DECIMALS")
316-
.validator(is_mint_decimals)
312+
.value_parser(clap::value_parser!(u8))
317313
.help(MINT_DECIMALS_ARG.help)
318314
}
319315

@@ -715,7 +711,7 @@ pub fn app<'a>(
715711
.arg(
716712
Arg::with_name("decimals")
717713
.long("decimals")
718-
.validator(is_mint_decimals)
714+
.value_parser(clap::value_parser!(u8))
719715
.value_name("DECIMALS")
720716
.takes_value(true)
721717
.default_value(default_decimals)

token/cli/src/command.rs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3510,7 +3510,7 @@ pub async fn process_command<'a>(
35103510
.await
35113511
}
35123512
(CommandName::CreateToken, arg_matches) => {
3513-
let decimals = value_t_or_exit!(arg_matches, "decimals", u8);
3513+
let decimals = *arg_matches.get_one::<u8>("decimals").unwrap();
35143514
let mint_authority =
35153515
config.pubkey_or_default(arg_matches, "mint_authority", &mut wallet_manager)?;
35163516
let memo = value_t!(arg_matches, "memo", String).ok();
@@ -3859,9 +3859,7 @@ pub async fn process_command<'a>(
38593859
push_signer_with_dedup(owner_signer, &mut bulk_signers);
38603860
}
38613861

3862-
let mint_decimals = arg_matches
3863-
.get_one(MINT_DECIMALS_ARG.name)
3864-
.map(|v: &String| v.parse::<u8>().unwrap());
3862+
let mint_decimals = arg_matches.get_one::<u8>(MINT_DECIMALS_ARG.name).copied();
38653863
let fund_recipient = arg_matches.is_present("fund_recipient");
38663864
let allow_unfunded_recipient = arg_matches.is_present("allow_empty_recipient")
38673865
|| arg_matches.is_present("allow_unfunded_recipient");
@@ -3948,9 +3946,7 @@ pub async fn process_command<'a>(
39483946
.unwrap()
39493947
.unwrap();
39503948
let amount = value_t_or_exit!(arg_matches, "amount", f64);
3951-
let mint_decimals = arg_matches
3952-
.get_one(MINT_DECIMALS_ARG.name)
3953-
.map(|v: &String| v.parse::<u8>().unwrap());
3949+
let mint_decimals = arg_matches.get_one::<u8>(MINT_DECIMALS_ARG.name).copied();
39543950
let mint_info = config.get_mint_info(&token, mint_decimals).await?;
39553951
let recipient = if let Some(address) =
39563952
pubkey_of_signer(arg_matches, "recipient", &mut wallet_manager).unwrap()
@@ -4414,9 +4410,7 @@ pub async fn process_command<'a>(
44144410
let maximum_fee = value_t_or_exit!(arg_matches, "maximum_fee", f64);
44154411
let (transfer_fee_authority_signer, transfer_fee_authority_pubkey) = config
44164412
.signer_or_default(arg_matches, "transfer_fee_authority", &mut wallet_manager);
4417-
let mint_decimals = arg_matches
4418-
.get_one(MINT_DECIMALS_ARG.name)
4419-
.map(|v: &String| v.parse::<u8>().unwrap());
4413+
let mint_decimals = arg_matches.get_one::<u8>(MINT_DECIMALS_ARG.name).copied();
44204414
let bulk_signers = vec![transfer_fee_authority_signer];
44214415

44224416
command_set_transfer_fee(
@@ -4561,10 +4555,7 @@ pub async fn process_command<'a>(
45614555

45624556
let (owner_signer, owner) =
45634557
config.signer_or_default(arg_matches, "owner", &mut wallet_manager);
4564-
4565-
let mint_decimals = arg_matches
4566-
.get_one(MINT_DECIMALS_ARG.name)
4567-
.map(|v: &String| v.parse::<u8>().unwrap());
4558+
let mint_decimals = arg_matches.get_one::<u8>(MINT_DECIMALS_ARG.name).copied();
45684559

45694560
let (instruction_type, elgamal_keypair, aes_key) = match c {
45704561
CommandName::DepositConfidentialTokens => {

0 commit comments

Comments
 (0)