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

Commit 23a827d

Browse files
committed
replace value_of function
1 parent f040679 commit 23a827d

File tree

5 files changed

+44
-22
lines changed

5 files changed

+44
-22
lines changed

Cargo.lock

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

token/cli/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ serde = "1.0.209"
2020
serde_derive = "1.0.103"
2121
serde_json = "1.0.128"
2222
solana-account-decoder = "2.0.3"
23-
solana-clap-utils = "2.0.3"
23+
solana-clap-v3-utils = "2.0.3"
2424
solana-cli-config = "2.0.3"
2525
solana-cli-output = "2.0.3"
2626
solana-client = "2.0.3"

token/cli/src/clap_app.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -825,7 +825,7 @@ pub fn app<'a>(
825825
.number_of_values(1)
826826
.conflicts_with("transfer_fee")
827827
.requires("transfer_fee_maximum_fee")
828-
.validator(is_parsable::<u16>)
828+
.value_parser(clap::value_parser!(u16))
829829
.help(
830830
"Add transfer fee to the mint. \
831831
The mint authority can set the fee.",
@@ -839,7 +839,7 @@ pub fn app<'a>(
839839
.number_of_values(1)
840840
.conflicts_with("transfer_fee")
841841
.requires("transfer_fee_basis_points")
842-
.validator(is_amount)
842+
.value_parser(clap::value_parser!(f64))
843843
.help(
844844
"Add a UI amount maximum transfer fee to the mint. \
845845
The mint authority can set and collect fees"
@@ -896,6 +896,7 @@ pub fn app<'a>(
896896
.takes_value(false)
897897
.help("Enables group member configurations in the mint. The mint authority must initialize the member."),
898898
)
899+
.arg(multisig_signer_arg())
899900
.nonce_args(true)
900901
.arg(memo_arg())
901902
)
@@ -1433,7 +1434,7 @@ pub fn app<'a>(
14331434
.arg(
14341435
Arg::with_name("expected_fee")
14351436
.long("expected-fee")
1436-
.validator(|s| is_amount(s))
1437+
.value_parser(clap::value_parser!(f64))
14371438
.value_name("TOKEN_AMOUNT")
14381439
.takes_value(true)
14391440
.help("Expected fee amount collected during the transfer"),

token/cli/src/command.rs

+33-15
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use {
1717
UiAccountData,
1818
},
1919
solana_clap_v3_utils::{
20-
input_parsers::{pubkey_of_signer, pubkeys_of_multiple_signers, value_of},
20+
input_parsers::{pubkey_of_signer, pubkeys_of_multiple_signers},
2121
keypair::signer_from_path,
2222
},
2323
solana_cli_output::{
@@ -3533,11 +3533,12 @@ pub async fn process_command<'a>(
35333533
)
35343534
});
35353535

3536-
let tranfer_fee_basis_point = value_of::<u16>(arg_matches, "transfer_fee_basis_points");
3537-
let transfer_fee_maximum_fee = value_of::<f64>(arg_matches, "transfer_fee_maximum_fee")
3538-
.map(|v| spl_token::ui_amount_to_amount(v, decimals));
3539-
let transfer_fee = tranfer_fee_basis_point
3540-
.map(|v| (v, transfer_fee_maximum_fee.unwrap()))
3536+
let transfer_fee_basis_point = arg_matches.get_one::<u16>("transfer_fee_basis_points");
3537+
let transfer_fee_maximum_fee = arg_matches
3538+
.get_one::<f64>("transfer_fee_maximum_fee")
3539+
.map(|v| spl_token::ui_amount_to_amount(*v, decimals));
3540+
let transfer_fee = transfer_fee_basis_point
3541+
.map(|v| (*v, transfer_fee_maximum_fee.unwrap()))
35413542
.or(transfer_fee);
35423543

35433544
let (token_signer, token) =
@@ -3660,7 +3661,9 @@ pub async fn process_command<'a>(
36603661
_ => Field::Key(field.to_string()),
36613662
};
36623663
let value = arg_matches.value_of("value").map(|v| v.to_string());
3663-
let transfer_lamports = value_of::<u64>(arg_matches, TRANSFER_LAMPORTS_ARG.name);
3664+
let transfer_lamports = arg_matches
3665+
.get_one(TRANSFER_LAMPORTS_ARG.name)
3666+
.map(|v: &String| v.parse::<u64>().unwrap());
36643667
let bulk_signers = vec![authority_signer];
36653668

36663669
command_update_metadata(
@@ -3766,7 +3769,10 @@ pub async fn process_command<'a>(
37663769
.await
37673770
}
37683771
(CommandName::CreateMultisig, arg_matches) => {
3769-
let minimum_signers = value_of::<u8>(arg_matches, "minimum_signers").unwrap();
3772+
let minimum_signers = arg_matches
3773+
.get_one("minimum_signers")
3774+
.map(|v: &String| v.parse::<u8>().unwrap())
3775+
.unwrap();
37703776
let multisig_members =
37713777
pubkeys_of_multiple_signers(arg_matches, "multisig_member", &mut wallet_manager)
37723778
.unwrap_or_else(print_error_and_exit)
@@ -3850,7 +3856,9 @@ pub async fn process_command<'a>(
38503856
push_signer_with_dedup(owner_signer, &mut bulk_signers);
38513857
}
38523858

3853-
let mint_decimals = value_of::<u8>(arg_matches, MINT_DECIMALS_ARG.name);
3859+
let mint_decimals = arg_matches
3860+
.get_one(MINT_DECIMALS_ARG.name)
3861+
.map(|v: &String| v.parse::<u8>().unwrap());
38543862
let fund_recipient = arg_matches.is_present("fund_recipient");
38553863
let allow_unfunded_recipient = arg_matches.is_present("allow_empty_recipient")
38563864
|| arg_matches.is_present("allow_unfunded_recipient");
@@ -3862,7 +3870,7 @@ pub async fn process_command<'a>(
38623870
println_display(config, "recipient-is-ata-owner is now the default behavior. The option has been deprecated and will be removed in a future release.".to_string());
38633871
}
38643872
let use_unchecked_instruction = arg_matches.is_present("use_unchecked_instruction");
3865-
let expected_fee = value_of::<f64>(arg_matches, "expected_fee");
3873+
let expected_fee = arg_matches.get_one::<f64>("expected_fee").copied();
38663874
let memo = value_t!(arg_matches, "memo", String).ok();
38673875
let transfer_hook_accounts = arg_matches.values_of("transfer_hook_account").map(|v| {
38683876
v.into_iter()
@@ -3906,7 +3914,9 @@ pub async fn process_command<'a>(
39063914
let amount = parse_amount_or_all(arg_matches);
39073915
let mint_address =
39083916
pubkey_of_signer(arg_matches, MINT_ADDRESS_ARG.name, &mut wallet_manager).unwrap();
3909-
let mint_decimals = value_of::<u8>(arg_matches, MINT_DECIMALS_ARG.name);
3917+
let mint_decimals = arg_matches
3918+
.get_one(MINT_DECIMALS_ARG.name)
3919+
.map(|v: &String| v.parse::<u8>().unwrap());
39103920
let use_unchecked_instruction = arg_matches.is_present("use_unchecked_instruction");
39113921
let memo = value_t!(arg_matches, "memo", String).ok();
39123922
command_burn(
@@ -3933,7 +3943,9 @@ pub async fn process_command<'a>(
39333943
.unwrap()
39343944
.unwrap();
39353945
let amount = value_t_or_exit!(arg_matches, "amount", f64);
3936-
let mint_decimals = value_of::<u8>(arg_matches, MINT_DECIMALS_ARG.name);
3946+
let mint_decimals = arg_matches
3947+
.get_one(MINT_DECIMALS_ARG.name)
3948+
.map(|v: &String| v.parse::<u8>().unwrap());
39373949
let mint_info = config.get_mint_info(&token, mint_decimals).await?;
39383950
let recipient = if let Some(address) =
39393951
pubkey_of_signer(arg_matches, "recipient", &mut wallet_manager).unwrap()
@@ -4058,7 +4070,9 @@ pub async fn process_command<'a>(
40584070
.unwrap();
40594071
let mint_address =
40604072
pubkey_of_signer(arg_matches, MINT_ADDRESS_ARG.name, &mut wallet_manager).unwrap();
4061-
let mint_decimals = value_of::<u8>(arg_matches, MINT_DECIMALS_ARG.name);
4073+
let mint_decimals = arg_matches
4074+
.get_one(MINT_DECIMALS_ARG.name)
4075+
.map(|v: &String| v.parse::<u8>().unwrap());
40624076
let use_unchecked_instruction = arg_matches.is_present("use_unchecked_instruction");
40634077
command_approve(
40644078
config,
@@ -4395,7 +4409,9 @@ pub async fn process_command<'a>(
43954409
let maximum_fee = value_t_or_exit!(arg_matches, "maximum_fee", f64);
43964410
let (transfer_fee_authority_signer, transfer_fee_authority_pubkey) = config
43974411
.signer_or_default(arg_matches, "transfer_fee_authority", &mut wallet_manager);
4398-
let mint_decimals = value_of::<u8>(arg_matches, MINT_DECIMALS_ARG.name);
4412+
let mint_decimals = arg_matches
4413+
.get_one(MINT_DECIMALS_ARG.name)
4414+
.map(|v: &String| v.parse::<u8>().unwrap());
43994415
let bulk_signers = vec![transfer_fee_authority_signer];
44004416

44014417
command_set_transfer_fee(
@@ -4541,7 +4557,9 @@ pub async fn process_command<'a>(
45414557
let (owner_signer, owner) =
45424558
config.signer_or_default(arg_matches, "owner", &mut wallet_manager);
45434559

4544-
let mint_decimals = value_of::<u8>(arg_matches, MINT_DECIMALS_ARG.name);
4560+
let mint_decimals = arg_matches
4561+
.get_one(MINT_DECIMALS_ARG.name)
4562+
.map(|v: &String| v.parse::<u8>().unwrap());
45454563

45464564
let (instruction_type, elgamal_keypair, aes_key) = match c {
45474565
CommandName::DepositConfidentialTokens => {

token/cli/src/config.rs

+5-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use {
22
crate::clap_app::{Error, COMPUTE_UNIT_LIMIT_ARG, COMPUTE_UNIT_PRICE_ARG, MULTISIG_SIGNER_ARG},
33
clap::ArgMatches,
44
solana_clap_v3_utils::{
5-
input_parsers::{pubkey_of_signer, value_of},
5+
input_parsers::pubkey_of_signer,
66
input_validators::normalize_to_url_if_moniker,
77
keypair::SignerFromPathConfig,
88
nonce::{NONCE_ARG, NONCE_AUTHORITY_ARG},
@@ -103,7 +103,10 @@ impl<'a> Config<'a> {
103103
));
104104
let sign_only = matches.is_present(SIGN_ONLY_ARG.name);
105105
let program_client: Arc<dyn ProgramClient<ProgramRpcClientSendTransaction>> = if sign_only {
106-
let blockhash = value_of(matches, BLOCKHASH_ARG.name).unwrap_or_default();
106+
let blockhash = matches
107+
.get_one::<Hash>(BLOCKHASH_ARG.name)
108+
.copied()
109+
.unwrap_or_default();
107110
Arc::new(ProgramOfflineClient::new(
108111
blockhash,
109112
ProgramRpcClientSendTransaction,

0 commit comments

Comments
 (0)