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

Commit 3640898

Browse files
committed
update style, refactor code
Signed-off-by: Hrushi20 <[email protected]>
1 parent b693738 commit 3640898

File tree

3 files changed

+21
-47
lines changed

3 files changed

+21
-47
lines changed

token/cli/src/clap_app.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -764,6 +764,8 @@ pub fn app<'a, 'b>(
764764
.takes_value(true)
765765
.number_of_values(2)
766766
.hidden(true)
767+
.conflicts_with("transfer_fee_basis_points")
768+
.conflicts_with("transfer_fee_maximum_fee")
767769
.help(
768770
"Add a transfer fee to the mint. \
769771
The mint authority can set the fee and withdraw collected fees.",
@@ -775,6 +777,8 @@ pub fn app<'a, 'b>(
775777
.value_names(&["FEE_IN_BASIS_POINTS"])
776778
.takes_value(true)
777779
.number_of_values(1)
780+
.conflicts_with("transfer_fee")
781+
.requires("transfer_fee_maximum_fee")
778782
.help(
779783
"Add transfer fee to the mint. \
780784
The mint authority can set the fee.",
@@ -786,9 +790,11 @@ pub fn app<'a, 'b>(
786790
.value_names(&["MAXIMUM_FEE"])
787791
.takes_value(true)
788792
.number_of_values(1)
793+
.conflicts_with("transfer_fee")
794+
.requires("transfer_fee_basis_points")
789795
.help(
790-
"Add a UI amount transfer fee to the mint. \
791-
The mint authority can set the fee and collected fee"
796+
"Add a UI amount maximum transfer fee to the mint. \
797+
The mint authority can set and collect fees"
792798
)
793799
)
794800
.arg(

token/cli/src/command.rs

Lines changed: 7 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -3472,7 +3472,7 @@ pub async fn process_command<'a>(
34723472
let member_address = value_t!(arg_matches, "member_address", Pubkey).ok();
34733473

34743474
let transfer_fee = arg_matches.values_of("transfer_fee").map(|mut v| {
3475-
println_display(config,"transfer_fee flag has been deprecated".to_string());
3475+
println_display(config,"transfer-fee has been deprecated and will be removed in a future release. Please specify --transfer-fee-basis-points and --transfer-fee-maximum-fee with a UI amount".to_string());
34763476
(
34773477
v.next()
34783478
.unwrap()
@@ -3485,44 +3485,12 @@ pub async fn process_command<'a>(
34853485
)
34863486
});
34873487

3488-
let transfer_fee_basis_point = arg_matches.values_of("transfer_fee_basis_points").map(|mut v| {
3489-
v.next()
3490-
.unwrap()
3491-
.parse::<u16>()
3492-
.unwrap_or_else(print_error_and_exit)
3493-
});
3494-
3495-
let transfer_fee_maximum_fee = arg_matches.values_of("transfer_fee_maximum_fee").map(|mut v| {
3496-
v.next()
3497-
.unwrap()
3498-
.parse::<f64>()
3499-
.unwrap_or_else(print_error_and_exit)
3500-
});
3501-
3502-
let transfer_fee = match transfer_fee.is_some() {
3503-
true => match transfer_fee_basis_point.is_some() || transfer_fee_maximum_fee.is_some() {
3504-
true => Err("transfer-fee-basis-point and transfer-fee-maximum-fee flag disable when using transfer-fee flag"),
3505-
false => Ok(transfer_fee)
3506-
},
3507-
false => match transfer_fee_basis_point.is_some() && transfer_fee_maximum_fee.is_some() {
3508-
true => Ok(Some((transfer_fee_basis_point.unwrap(), (transfer_fee_maximum_fee.unwrap() * (u64::pow(10, decimals.into())) as f64) as u64))),
3509-
false => if transfer_fee_basis_point.is_some() {
3510-
Err("Missing transfer_fee_maximum_fee flag")
3511-
}else if transfer_fee_maximum_fee.is_some() {
3512-
Err("Missing transfer_fee_basis_point")
3513-
}else{
3514-
Ok(None)
3515-
}
3516-
}
3517-
};
3518-
3519-
let transfer_fee = match transfer_fee {
3520-
Ok(result) => result,
3521-
Err(e) => {
3522-
eprintln!("{}",e);
3523-
exit(1);
3524-
}
3525-
};
3488+
let tranfer_fee_basis_point = value_of::<u16>(arg_matches, "transfer_fee_basis_points");
3489+
let transfer_fee_maximum_fee = value_of::<f64>(arg_matches, "transfer_fee_maximum_fee")
3490+
.map(|v| spl_token::ui_amount_to_amount(v, decimals));
3491+
let transfer_fee = tranfer_fee_basis_point
3492+
.map(|v| (v, transfer_fee_maximum_fee.unwrap()))
3493+
.or(transfer_fee);
35263494

35273495
let (token_signer, token) =
35283496
get_signer(arg_matches, "token_keypair", &mut wallet_manager)

token/cli/tests/command.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ async fn main() {
124124
async_trial!(default_account_state, test_validator, payer),
125125
async_trial!(transfer_fee, test_validator, payer),
126126
async_trial!(transfer_fee_basis_point, test_validator, payer),
127-
// async_trial!(transfer_fee_maximum_fee, test_validator, payer),
128127
async_trial!(confidential_transfer, test_validator, payer),
129128
async_trial!(multisig_transfer, test_validator, payer),
130129
async_trial!(offline_multisig_transfer_with_nonce, test_validator, payer),
@@ -2535,7 +2534,7 @@ async fn transfer_fee_basis_point(test_validator: &TestValidator, payer: &Keypai
25352534
write_keypair_file(&token, &token_keypair_file);
25362535
let token_pubkey = token.pubkey();
25372536
process_test_command(
2538-
&config,
2537+
&config,
25392538
payer,
25402539
&[
25412540
"spl-token",
@@ -2544,9 +2543,10 @@ async fn transfer_fee_basis_point(test_validator: &TestValidator, payer: &Keypai
25442543
"--transfer-fee-basis-points",
25452544
&transfer_fee_basis_points.to_string(),
25462545
"--transfer-fee-maximum-fee",
2547-
&maximum_fee.to_string()
2548-
]
2549-
).await
2546+
&maximum_fee.to_string(),
2547+
],
2548+
)
2549+
.await
25502550
.unwrap();
25512551

25522552
let account = config.rpc_client.get_account(&token_pubkey).await.unwrap();
@@ -2558,7 +2558,7 @@ async fn transfer_fee_basis_point(test_validator: &TestValidator, payer: &Keypai
25582558
);
25592559
assert_eq!(
25602560
u64::from(extension.older_transfer_fee.maximum_fee),
2561-
(maximum_fee * i32::pow(10,decimal) as f64) as u64
2561+
(maximum_fee * i32::pow(10, decimal) as f64) as u64
25622562
);
25632563
assert_eq!(
25642564
u16::from(extension.newer_transfer_fee.transfer_fee_basis_points),

0 commit comments

Comments
 (0)