Skip to content

Commit 42fde6d

Browse files
test: Check fee_amount in assert_fee_rate
1 parent a147740 commit 42fde6d

File tree

1 file changed

+23
-10
lines changed

1 file changed

+23
-10
lines changed

src/wallet/mod.rs

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1988,8 +1988,9 @@ pub(crate) mod test {
19881988
}
19891989

19901990
macro_rules! assert_fee_rate {
1991-
($tx:expr, $fees:expr, $fee_rate:expr $( ,@dust_change $( $dust_change:expr )* )* $( ,@add_signature $( $add_signature:expr )* )* ) => ({
1992-
let mut tx = $tx.clone();
1991+
($psbt:expr, $fees:expr, $fee_rate:expr $( ,@dust_change $( $dust_change:expr )* )* $( ,@add_signature $( $add_signature:expr )* )* ) => ({
1992+
let psbt = $psbt.clone();
1993+
let mut tx = $psbt.clone().extract_tx();
19931994
$(
19941995
$( $add_signature )*
19951996
for txin in &mut tx.input {
@@ -2005,6 +2006,18 @@ pub(crate) mod test {
20052006
dust_change = true;
20062007
)*
20072008

2009+
let fee_amount = psbt
2010+
.inputs
2011+
.iter()
2012+
.fold(0, |acc, i| acc + i.witness_utxo.as_ref().unwrap().value)
2013+
- psbt
2014+
.unsigned_tx
2015+
.output
2016+
.iter()
2017+
.fold(0, |acc, o| acc + o.value);
2018+
2019+
assert_eq!(fee_amount, $fees);
2020+
20082021
let tx_fee_rate = FeeRate::from_wu($fees, tx.weight());
20092022
let fee_rate = $fee_rate;
20102023

@@ -2384,7 +2397,7 @@ pub(crate) mod test {
23842397
builder.add_recipient(addr.script_pubkey(), 25_000);
23852398
let (psbt, details) = builder.finish().unwrap();
23862399

2387-
assert_fee_rate!(psbt.extract_tx(), details.fee.unwrap_or(0), FeeRate::default(), @add_signature);
2400+
assert_fee_rate!(psbt, details.fee.unwrap_or(0), FeeRate::default(), @add_signature);
23882401
}
23892402

23902403
#[test]
@@ -2397,7 +2410,7 @@ pub(crate) mod test {
23972410
.fee_rate(FeeRate::from_sat_per_vb(5.0));
23982411
let (psbt, details) = builder.finish().unwrap();
23992412

2400-
assert_fee_rate!(psbt.extract_tx(), details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(5.0), @add_signature);
2413+
assert_fee_rate!(psbt, details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(5.0), @add_signature);
24012414
}
24022415

24032416
#[test]
@@ -3254,7 +3267,7 @@ pub(crate) mod test {
32543267
details.received
32553268
);
32563269

3257-
assert_fee_rate!(psbt.extract_tx(), details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(2.5), @add_signature);
3270+
assert_fee_rate!(psbt, details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(2.5), @add_signature);
32583271
}
32593272

32603273
#[test]
@@ -3364,7 +3377,7 @@ pub(crate) mod test {
33643377
assert_eq!(tx.output.len(), 1);
33653378
assert_eq!(tx.output[0].value + details.fee.unwrap_or(0), details.sent);
33663379

3367-
assert_fee_rate!(psbt.extract_tx(), details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(2.5), @add_signature);
3380+
assert_fee_rate!(psbt, details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(2.5), @add_signature);
33683381
}
33693382

33703383
#[test]
@@ -3575,7 +3588,7 @@ pub(crate) mod test {
35753588
details.received
35763589
);
35773590

3578-
assert_fee_rate!(psbt.extract_tx(), details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(50.0), @add_signature);
3591+
assert_fee_rate!(psbt, details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(50.0), @add_signature);
35793592
}
35803593

35813594
#[test]
@@ -3715,7 +3728,7 @@ pub(crate) mod test {
37153728
75_000 - original_send_all_amount - details.fee.unwrap_or(0)
37163729
);
37173730

3718-
assert_fee_rate!(psbt.extract_tx(), details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(50.0), @add_signature);
3731+
assert_fee_rate!(psbt, details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(50.0), @add_signature);
37193732
}
37203733

37213734
#[test]
@@ -3778,7 +3791,7 @@ pub(crate) mod test {
37783791
45_000
37793792
);
37803793

3781-
assert_fee_rate!(psbt.extract_tx(), details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(140.0), @dust_change, @add_signature);
3794+
assert_fee_rate!(psbt, details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(140.0), @dust_change, @add_signature);
37823795
}
37833796

37843797
#[test]
@@ -3849,7 +3862,7 @@ pub(crate) mod test {
38493862
details.received
38503863
);
38513864

3852-
assert_fee_rate!(psbt.extract_tx(), details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(5.0), @add_signature);
3865+
assert_fee_rate!(psbt, details.fee.unwrap_or(0), FeeRate::from_sat_per_vb(5.0), @add_signature);
38533866
}
38543867

38553868
#[test]

0 commit comments

Comments
 (0)