Skip to content

Commit 2e9f5e0

Browse files
committed
workflow: split fee function
1 parent 0decd24 commit 2e9f5e0

File tree

4 files changed

+17
-13
lines changed

4 files changed

+17
-13
lines changed

src/rust/bitbox02-rust/src/hww/api/bitcoin/signtx.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1073,7 +1073,7 @@ async fn _process(request: &pb::BtcSignInitRequest) -> Result<Response, Error> {
10731073
} else {
10741074
Some(100. * (fee as f64) / (outputs_sum_out as f64))
10751075
};
1076-
transaction::verify_total_fee(
1076+
transaction::verify_total_fee_maybe_warn(
10771077
&format_amount(coin_params, format_unit, total_out)?,
10781078
&format_amount(coin_params, format_unit, fee)?,
10791079
fee_percentage,

src/rust/bitbox02-rust/src/hww/api/cardano/sign_transaction.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ async fn _process(request: &pb::CardanoSignTransactionRequest) -> Result<Respons
257257
.await?;
258258
} else {
259259
let fee_percentage: f64 = 100. * (request.fee as f64) / (total as f64);
260-
transaction::verify_total_fee(
260+
transaction::verify_total_fee_maybe_warn(
261261
&format_value(params, total + request.fee),
262262
&format_value(params, request.fee),
263263
Some(fee_percentage),

src/rust/bitbox02-rust/src/hww/api/ethereum/sign.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ async fn verify_erc20_transaction(
227227
None => ("Unknown token".into(), "Unknown amount".into()),
228228
};
229229
transaction::verify_recipient(&recipient_address, &formatted_value).await?;
230-
transaction::verify_total_fee(&formatted_total, &formatted_fee, None).await?;
230+
transaction::verify_total_fee_maybe_warn(&formatted_total, &formatted_fee, None).await?;
231231
Ok(())
232232
}
233233

@@ -286,7 +286,7 @@ async fn verify_standard_transaction(
286286
value: (&amount.value).add(&fee.value),
287287
};
288288
let percentage = calculate_percentage(&fee.value, &amount.value);
289-
transaction::verify_total_fee(&total.format(), &fee.format(), percentage).await?;
289+
transaction::verify_total_fee_maybe_warn(&total.format(), &fee.format(), percentage).await?;
290290
Ok(())
291291
}
292292

src/rust/bitbox02-rust/src/workflow/transaction.rs

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,9 @@ fn format_percentage(p: f64) -> String {
3939
util::decimal::format_no_trim(int, 1)
4040
}
4141

42-
pub async fn verify_total_fee(
43-
total: &str,
44-
fee: &str,
45-
fee_percentage: Option<f64>,
46-
) -> Result<(), UserAbort> {
42+
pub async fn verify_total_fee(total: &str, fee: &str, longtouch: bool) -> Result<(), UserAbort> {
4743
let result = RefCell::new(None as Option<Result<(), UserAbort>>);
4844

49-
const FEE_WARNING_THRESHOLD: f64 = 10.;
50-
let fee_percentage = fee_percentage.filter(|&f| f >= FEE_WARNING_THRESHOLD);
51-
let longtouch = fee_percentage.is_none();
5245
let mut component = bitbox02::ui::confirm_transaction_fee_create(
5346
total,
5447
fee,
@@ -58,7 +51,18 @@ pub async fn verify_total_fee(
5851
}),
5952
);
6053
component.screen_stack_push();
61-
option_no_screensaver(&result).await?;
54+
option_no_screensaver(&result).await
55+
}
56+
57+
pub async fn verify_total_fee_maybe_warn(
58+
total: &str,
59+
fee: &str,
60+
fee_percentage: Option<f64>,
61+
) -> Result<(), UserAbort> {
62+
const FEE_WARNING_THRESHOLD: f64 = 10.;
63+
let fee_percentage = fee_percentage.filter(|&f| f >= FEE_WARNING_THRESHOLD);
64+
let longtouch = fee_percentage.is_none();
65+
verify_total_fee(total, fee, longtouch).await?;
6266

6367
if let Some(fee_percentage) = fee_percentage {
6468
match super::confirm::confirm(&super::confirm::Params {

0 commit comments

Comments
 (0)