Skip to content

Commit 54d4028

Browse files
committed
Merge #223: feat(test-utils)!: use bitcoin::Amount instead of u64 on tests
104a301 chore: use `Amount` on tests (Luis Schwab) Pull request description: <!-- You can erase any parts of this template not applicable to your Pull Request. --> ### Description This PR simply updates tests to use `bitcoin::Amount` instead of `u64`. ### Checklists #### All Submissions: * [X] I've signed all my commits * [X] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md) * [X] I ran `cargo fmt` and `cargo clippy` before committing ACKs for top commit: ValuedMammal: reACK 104a301 Tree-SHA512: 12214def25c4f2bb659856fa73946ba7664b307647e7f286132d5f43e59c5ce228abef0f5b309ca551fb200cc9c39cf21ba118a23aa864f4f027e6fdc77a487e
2 parents 4dfadef + 104a301 commit 54d4028

File tree

4 files changed

+33
-32
lines changed

4 files changed

+33
-32
lines changed

wallet/src/test_utils.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ impl From<ConfirmationBlockTime> for ReceiveTo {
251251
}
252252

253253
/// Receive a tx output with the given value in the latest block
254-
pub fn receive_output_in_latest_block(wallet: &mut Wallet, value: u64) -> OutPoint {
254+
pub fn receive_output_in_latest_block(wallet: &mut Wallet, value: Amount) -> OutPoint {
255255
let latest_cp = wallet.latest_checkpoint();
256256
let height = latest_cp.height();
257257
assert!(height > 0, "cannot receive tx into genesis block");
@@ -268,7 +268,7 @@ pub fn receive_output_in_latest_block(wallet: &mut Wallet, value: u64) -> OutPoi
268268
/// Receive a tx output with the given value and chain position
269269
pub fn receive_output(
270270
wallet: &mut Wallet,
271-
value: u64,
271+
value: Amount,
272272
receive_to: impl Into<ReceiveTo>,
273273
) -> OutPoint {
274274
let addr = wallet.next_unused_address(KeychainKind::External).address;
@@ -279,7 +279,7 @@ pub fn receive_output(
279279
pub fn receive_output_to_address(
280280
wallet: &mut Wallet,
281281
addr: Address,
282-
value: u64,
282+
value: Amount,
283283
receive_to: impl Into<ReceiveTo>,
284284
) -> OutPoint {
285285
let tx = Transaction {
@@ -288,7 +288,7 @@ pub fn receive_output_to_address(
288288
input: vec![],
289289
output: vec![TxOut {
290290
script_pubkey: addr.script_pubkey(),
291-
value: Amount::from_sat(value),
291+
value,
292292
}],
293293
};
294294

wallet/src/wallet/export.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ impl FullyNodedExport {
214214
#[cfg(test)]
215215
mod test {
216216
use alloc::string::ToString;
217+
use bitcoin::Amount;
217218
use core::str::FromStr;
218219

219220
use bdk_chain::BlockId;
@@ -233,7 +234,7 @@ mod test {
233234
hash: BlockHash::all_zeros(),
234235
};
235236
insert_checkpoint(&mut wallet, block);
236-
receive_output_in_latest_block(&mut wallet, 10_000);
237+
receive_output_in_latest_block(&mut wallet, Amount::from_sat(10_000));
237238

238239
wallet
239240
}

wallet/src/wallet/tx_builder.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1104,7 +1104,7 @@ mod test {
11041104
},
11051105
);
11061106

1107-
receive_output_in_latest_block(&mut wallet, Amount::ONE_BTC.to_sat());
1107+
receive_output_in_latest_block(&mut wallet, Amount::ONE_BTC);
11081108

11091109
// tx1 sending 15k sat to a recipient
11101110
let recip = ScriptBuf::from_hex(

wallet/tests/wallet.rs

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1576,12 +1576,12 @@ fn test_create_tx_increment_change_index() {
15761576
descriptor: &'static str,
15771577
change_descriptor: Option<&'static str>,
15781578
// amount to send
1579-
to_send: u64,
1579+
to_send: Amount,
15801580
// (derivation index, next unused index) of *change keychain*
15811581
expect: (Option<u32>, u32),
15821582
}
15831583
// total wallet funds
1584-
let amount = 10_000;
1584+
let amount = Amount::from_sat(10_000);
15851585
let recipient = Address::from_str("bcrt1q3qtze4ys45tgdvguj66zrk4fu6hq3a3v9pfly5")
15861586
.unwrap()
15871587
.assume_checked()
@@ -1592,55 +1592,55 @@ fn test_create_tx_increment_change_index() {
15921592
name: "two wildcard, builder error",
15931593
descriptor: desc,
15941594
change_descriptor: Some(change_desc),
1595-
to_send: amount + 1,
1595+
to_send: amount + Amount::from_sat(1),
15961596
// should not use or derive change index
15971597
expect: (None, 0),
15981598
},
15991599
TestCase {
16001600
name: "two wildcard, create change",
16011601
descriptor: desc,
16021602
change_descriptor: Some(change_desc),
1603-
to_send: 5_000,
1603+
to_send: Amount::from_sat(5_000),
16041604
// should use change index
16051605
expect: (Some(0), 1),
16061606
},
16071607
TestCase {
16081608
name: "two wildcard, no change",
16091609
descriptor: desc,
16101610
change_descriptor: Some(change_desc),
1611-
to_send: 9_850,
1611+
to_send: Amount::from_sat(9_850),
16121612
// should not use change index
16131613
expect: (None, 0),
16141614
},
16151615
TestCase {
16161616
name: "one wildcard, create change",
16171617
descriptor: desc,
16181618
change_descriptor: None,
1619-
to_send: 5_000,
1619+
to_send: Amount::from_sat(5_000),
16201620
// should use change index of external keychain
16211621
expect: (Some(1), 2),
16221622
},
16231623
TestCase {
16241624
name: "one wildcard, no change",
16251625
descriptor: desc,
16261626
change_descriptor: None,
1627-
to_send: 9_850,
1627+
to_send: Amount::from_sat(9_850),
16281628
// should not use change index
16291629
expect: (Some(0), 1),
16301630
},
16311631
TestCase {
16321632
name: "single key, create change",
16331633
descriptor: get_test_tr_single_sig(),
16341634
change_descriptor: None,
1635-
to_send: 5_000,
1635+
to_send: Amount::from_sat(5_000),
16361636
// single key only has one derivation index (0)
16371637
expect: (Some(0), 0),
16381638
},
16391639
TestCase {
16401640
name: "single key, no change",
16411641
descriptor: get_test_tr_single_sig(),
16421642
change_descriptor: None,
1643-
to_send: 9_850,
1643+
to_send: Amount::from_sat(9_850),
16441644
expect: (Some(0), 0),
16451645
},
16461646
]
@@ -1665,7 +1665,7 @@ fn test_create_tx_increment_change_index() {
16651665
receive_output(&mut wallet, amount, ReceiveTo::Mempool(0));
16661666
// create tx
16671667
let mut builder = wallet.build_tx();
1668-
builder.add_recipient(recipient.clone(), Amount::from_sat(test.to_send));
1668+
builder.add_recipient(recipient.clone(), test.to_send);
16691669
let res = builder.finish();
16701670
if !test.name.contains("error") {
16711671
assert!(res.is_ok());
@@ -2557,7 +2557,7 @@ fn test_legacy_bump_fee_add_input() {
25572557
#[test]
25582558
fn test_bump_fee_absolute_add_input() {
25592559
let (mut wallet, _) = get_funded_wallet_wpkh();
2560-
receive_output_in_latest_block(&mut wallet, 25_000);
2560+
receive_output_in_latest_block(&mut wallet, Amount::from_sat(25_000));
25612561
let addr = Address::from_str("2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX")
25622562
.unwrap()
25632563
.assume_checked();
@@ -2605,7 +2605,7 @@ fn test_bump_fee_absolute_add_input() {
26052605
#[test]
26062606
fn test_legacy_bump_fee_absolute_add_input() {
26072607
let (mut wallet, _) = get_funded_wallet_single(get_test_pkh());
2608-
receive_output_in_latest_block(&mut wallet, 25_000);
2608+
receive_output_in_latest_block(&mut wallet, Amount::from_sat(25_000));
26092609
let addr = Address::from_str("2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX")
26102610
.unwrap()
26112611
.assume_checked();
@@ -2653,7 +2653,7 @@ fn test_legacy_bump_fee_absolute_add_input() {
26532653
#[test]
26542654
fn test_bump_fee_no_change_add_input_and_change() {
26552655
let (mut wallet, _) = get_funded_wallet_wpkh();
2656-
let op = receive_output_in_latest_block(&mut wallet, 25_000);
2656+
let op = receive_output_in_latest_block(&mut wallet, Amount::from_sat(25_000));
26572657

26582658
// initially make a tx without change by using `drain_to`
26592659
let addr = Address::from_str("2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX")
@@ -2716,7 +2716,7 @@ fn test_bump_fee_no_change_add_input_and_change() {
27162716
#[test]
27172717
fn test_bump_fee_add_input_change_dust() {
27182718
let (mut wallet, _) = get_funded_wallet_wpkh();
2719-
receive_output_in_latest_block(&mut wallet, 25_000);
2719+
receive_output_in_latest_block(&mut wallet, Amount::from_sat(25_000));
27202720
let addr = Address::from_str("2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX")
27212721
.unwrap()
27222722
.assume_checked();
@@ -2786,7 +2786,7 @@ fn test_bump_fee_add_input_change_dust() {
27862786
#[test]
27872787
fn test_bump_fee_force_add_input() {
27882788
let (mut wallet, _) = get_funded_wallet_wpkh();
2789-
let incoming_op = receive_output_in_latest_block(&mut wallet, 25_000);
2789+
let incoming_op = receive_output_in_latest_block(&mut wallet, Amount::from_sat(25_000));
27902790

27912791
let addr = Address::from_str("2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX")
27922792
.unwrap()
@@ -2843,7 +2843,7 @@ fn test_bump_fee_force_add_input() {
28432843
#[test]
28442844
fn test_bump_fee_absolute_force_add_input() {
28452845
let (mut wallet, _) = get_funded_wallet_wpkh();
2846-
let incoming_op = receive_output_in_latest_block(&mut wallet, 25_000);
2846+
let incoming_op = receive_output_in_latest_block(&mut wallet, Amount::from_sat(25_000));
28472847

28482848
let addr = Address::from_str("2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX")
28492849
.unwrap()
@@ -2917,7 +2917,7 @@ fn test_bump_fee_unconfirmed_inputs_only() {
29172917
let psbt = builder.finish().unwrap();
29182918
// Now we receive one transaction with 0 confirmations. We won't be able to use that for
29192919
// fee bumping, as it's still unconfirmed!
2920-
receive_output(&mut wallet, 25_000, ReceiveTo::Mempool(0));
2920+
receive_output(&mut wallet, Amount::from_sat(25_000), ReceiveTo::Mempool(0));
29212921
let mut tx = psbt.extract_tx().expect("failed to extract tx");
29222922
let txid = tx.compute_txid();
29232923
for txin in &mut tx.input {
@@ -2943,7 +2943,7 @@ fn test_bump_fee_unconfirmed_input() {
29432943
.assume_checked();
29442944
// We receive a tx with 0 confirmations, which will be used as an input
29452945
// in the drain tx.
2946-
receive_output(&mut wallet, 25_000, ReceiveTo::Mempool(0));
2946+
receive_output(&mut wallet, Amount::from_sat(25_000), ReceiveTo::Mempool(0));
29472947
let mut builder = wallet.build_tx();
29482948
builder.drain_wallet().drain_to(addr.script_pubkey());
29492949
let psbt = builder.finish().unwrap();
@@ -2982,7 +2982,7 @@ fn test_fee_amount_negative_drain_val() {
29822982
.unwrap()
29832983
.assume_checked();
29842984
let fee_rate = FeeRate::from_sat_per_kwu(500);
2985-
let incoming_op = receive_output_in_latest_block(&mut wallet, 8859);
2985+
let incoming_op = receive_output_in_latest_block(&mut wallet, Amount::from_sat(8859));
29862986

29872987
let mut builder = wallet.build_tx();
29882988
builder
@@ -3354,7 +3354,7 @@ fn test_next_unused_address() {
33543354
assert_eq!(next_unused_addr.index, 0);
33553355

33563356
// use the above address
3357-
receive_output(&mut wallet, 25_000, ReceiveTo::Mempool(0));
3357+
receive_output(&mut wallet, Amount::from_sat(25_000), ReceiveTo::Mempool(0));
33583358

33593359
assert_eq!(
33603360
wallet
@@ -4431,7 +4431,7 @@ fn test_keychains_with_overlapping_spks() {
44314431
},
44324432
confirmation_time: 0,
44334433
};
4434-
let _outpoint = receive_output_to_address(&mut wallet, addr, 8000, anchor);
4434+
let _outpoint = receive_output_to_address(&mut wallet, addr, Amount::from_sat(8000), anchor);
44354435
assert_eq!(wallet.balance().confirmed, Amount::from_sat(58000));
44364436
}
44374437

@@ -4521,14 +4521,14 @@ fn single_descriptor_wallet_can_create_tx_and_receive_change() {
45214521
.create_wallet_no_persist()
45224522
.unwrap();
45234523
assert_eq!(wallet.keychains().count(), 1);
4524-
let amt = Amount::from_sat(5_000);
4525-
receive_output(&mut wallet, 2 * amt.to_sat(), ReceiveTo::Mempool(2));
4524+
let amount = Amount::from_sat(5_000);
4525+
receive_output(&mut wallet, amount * 2, ReceiveTo::Mempool(2));
45264526
// create spend tx that produces a change output
45274527
let addr = Address::from_str("bcrt1qc6fweuf4xjvz4x3gx3t9e0fh4hvqyu2qw4wvxm")
45284528
.unwrap()
45294529
.assume_checked();
45304530
let mut builder = wallet.build_tx();
4531-
builder.add_recipient(addr.script_pubkey(), amt);
4531+
builder.add_recipient(addr.script_pubkey(), amount);
45324532
let mut psbt = builder.finish().unwrap();
45334533
assert!(wallet.sign(&mut psbt, SignOptions::default()).unwrap());
45344534
let tx = psbt.extract_tx().unwrap();
@@ -4537,7 +4537,7 @@ fn single_descriptor_wallet_can_create_tx_and_receive_change() {
45374537
let unspent: Vec<_> = wallet.list_unspent().collect();
45384538
assert_eq!(unspent.len(), 1);
45394539
let utxo = unspent.first().unwrap();
4540-
assert!(utxo.txout.value < amt);
4540+
assert!(utxo.txout.value < amount);
45414541
assert_eq!(
45424542
utxo.keychain,
45434543
KeychainKind::External,
@@ -4548,7 +4548,7 @@ fn single_descriptor_wallet_can_create_tx_and_receive_change() {
45484548
#[test]
45494549
fn test_transactions_sort_by() {
45504550
let (mut wallet, _txid) = get_funded_wallet_wpkh();
4551-
receive_output(&mut wallet, 25_000, ReceiveTo::Mempool(0));
4551+
receive_output(&mut wallet, Amount::from_sat(25_000), ReceiveTo::Mempool(0));
45524552

45534553
// sort by chain position, unconfirmed then confirmed by descending block height
45544554
let sorted_txs: Vec<WalletTx> =

0 commit comments

Comments
 (0)