Skip to content

Commit 35a87f3

Browse files
committed
Merge #455: chore(tests): replace deprecated FeeRate::from_sat_per_vb_unchecked
be710a8 chore(tests): replace deprecated FeeRate::from_sat_per_vb_unchecked (none34829) Pull request description: ### Description `bitcoin-units 0.1.3` deprecated `FeeRate::from_sat_per_vb_unchecked` in favor of `FeeRate::from_sat_per_vb_u32`. Cargo resolves any 0.1.x automatically, so fresh CI runs started failing on master (and all open PRs) once 0.1.3 was published. This patch swaps every call site over to the new name. The two functions compute the same value for any input that fits in `u32`; every existing call site passes a small literal (1, 3, 5, 10, 25, 50, 255, 454, 1000, 10_000), so no behavioural change. All usages are in test/fixture code (`src/wallet/coin_selection.rs` test module, `tests/wallet.rs`, `tests/build_fee_bump.rs`) — no production code path was using the deprecated function. ### Notes to the reviewers - Pure mechanical rename; no logic or type changes. - Unblocks CI on master and every open PR (e.g. #449, #442, #445, #448). ### Changelog notice N/A — internal test-only change. ### 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 `just p` before pushing ACKs for top commit: ValuedMammal: ACK be710a8 Tree-SHA512: b2354fcf6e39228bc5796f92af4d3692fbdb750267c2c5a7d814fc5c84f4af64b746562fda7e01dac282ba04acb17ff7bf5c7ef0155a3d6f302974003baf0629
2 parents 44abb68 + be710a8 commit 35a87f3

3 files changed

Lines changed: 47 additions & 47 deletions

File tree

src/wallet/coin_selection.rs

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -940,7 +940,7 @@ mod test {
940940
.coin_select(
941941
utxos,
942942
vec![],
943-
FeeRate::from_sat_per_vb_unchecked(1),
943+
FeeRate::from_sat_per_vb_u32(1),
944944
target_amount,
945945
&drain_script,
946946
&mut thread_rng(),
@@ -962,7 +962,7 @@ mod test {
962962
.coin_select(
963963
utxos,
964964
vec![],
965-
FeeRate::from_sat_per_vb_unchecked(1),
965+
FeeRate::from_sat_per_vb_u32(1),
966966
target_amount,
967967
&drain_script,
968968
&mut thread_rng(),
@@ -984,7 +984,7 @@ mod test {
984984
.coin_select(
985985
vec![],
986986
utxos,
987-
FeeRate::from_sat_per_vb_unchecked(1),
987+
FeeRate::from_sat_per_vb_u32(1),
988988
target_amount,
989989
&drain_script,
990990
&mut thread_rng(),
@@ -1005,7 +1005,7 @@ mod test {
10051005
let result = LargestFirstCoinSelection.coin_select(
10061006
vec![],
10071007
utxos,
1008-
FeeRate::from_sat_per_vb_unchecked(1),
1008+
FeeRate::from_sat_per_vb_u32(1),
10091009
target_amount,
10101010
&drain_script,
10111011
&mut thread_rng(),
@@ -1022,7 +1022,7 @@ mod test {
10221022
let result = LargestFirstCoinSelection.coin_select(
10231023
vec![],
10241024
utxos,
1025-
FeeRate::from_sat_per_vb_unchecked(1000),
1025+
FeeRate::from_sat_per_vb_u32(1000),
10261026
target_amount,
10271027
&drain_script,
10281028
&mut thread_rng(),
@@ -1040,7 +1040,7 @@ mod test {
10401040
.coin_select(
10411041
vec![],
10421042
utxos,
1043-
FeeRate::from_sat_per_vb_unchecked(1),
1043+
FeeRate::from_sat_per_vb_u32(1),
10441044
target_amount,
10451045
&drain_script,
10461046
&mut thread_rng(),
@@ -1062,7 +1062,7 @@ mod test {
10621062
.coin_select(
10631063
utxos,
10641064
vec![],
1065-
FeeRate::from_sat_per_vb_unchecked(1),
1065+
FeeRate::from_sat_per_vb_u32(1),
10661066
target_amount,
10671067
&drain_script,
10681068
&mut thread_rng(),
@@ -1086,7 +1086,7 @@ mod test {
10861086
.coin_select(
10871087
vec![],
10881088
all_utxos,
1089-
FeeRate::from_sat_per_vb_unchecked(1),
1089+
FeeRate::from_sat_per_vb_u32(1),
10901090
target_amount,
10911091
&drain_script,
10921092
&mut thread_rng(),
@@ -1111,7 +1111,7 @@ mod test {
11111111
.coin_select(
11121112
vec![],
11131113
all_utxos,
1114-
FeeRate::from_sat_per_vb_unchecked(1),
1114+
FeeRate::from_sat_per_vb_u32(1),
11151115
target_amount,
11161116
&drain_script,
11171117
&mut thread_rng(),
@@ -1137,7 +1137,7 @@ mod test {
11371137
.coin_select(
11381138
vec![],
11391139
utxos,
1140-
FeeRate::from_sat_per_vb_unchecked(1),
1140+
FeeRate::from_sat_per_vb_u32(1),
11411141
target_amount,
11421142
&drain_script,
11431143
&mut thread_rng(),
@@ -1158,7 +1158,7 @@ mod test {
11581158
let result = OldestFirstCoinSelection.coin_select(
11591159
vec![],
11601160
utxos,
1161-
FeeRate::from_sat_per_vb_unchecked(1),
1161+
FeeRate::from_sat_per_vb_u32(1),
11621162
target_amount,
11631163
&drain_script,
11641164
&mut thread_rng(),
@@ -1177,7 +1177,7 @@ mod test {
11771177
let result = OldestFirstCoinSelection.coin_select(
11781178
vec![],
11791179
utxos,
1180-
FeeRate::from_sat_per_vb_unchecked(1000),
1180+
FeeRate::from_sat_per_vb_u32(1000),
11811181
target_amount,
11821182
&drain_script,
11831183
&mut thread_rng(),
@@ -1197,7 +1197,7 @@ mod test {
11971197
.coin_select(
11981198
vec![],
11991199
utxos,
1200-
FeeRate::from_sat_per_vb_unchecked(1),
1200+
FeeRate::from_sat_per_vb_u32(1),
12011201
target_amount,
12021202
&drain_script,
12031203
&mut thread_rng(),
@@ -1219,7 +1219,7 @@ mod test {
12191219
.coin_select(
12201220
utxos.clone(),
12211221
utxos,
1222-
FeeRate::from_sat_per_vb_unchecked(1),
1222+
FeeRate::from_sat_per_vb_u32(1),
12231223
target_amount,
12241224
&drain_script,
12251225
&mut thread_rng(),
@@ -1261,7 +1261,7 @@ mod test {
12611261
let mut rng: StdRng = SeedableRng::from_seed(seed);
12621262
let mut utxos = generate_random_utxos(&mut rng, 300);
12631263
let target_amount = sum_random_utxos(&mut rng, &mut utxos) + FEE_AMOUNT;
1264-
let fee_rate = FeeRate::from_sat_per_vb_unchecked(1);
1264+
let fee_rate = FeeRate::from_sat_per_vb_u32(1);
12651265
let drain_script = ScriptBuf::default();
12661266

12671267
let result = SingleRandomDraw.coin_select(
@@ -1289,7 +1289,7 @@ mod test {
12891289
// 100_000, 10, 200_000
12901290
let utxos = get_test_utxos();
12911291
let target_amount = Amount::from_sat(300_000) + FEE_AMOUNT;
1292-
let fee_rate = FeeRate::from_sat_per_vb_unchecked(1);
1292+
let fee_rate = FeeRate::from_sat_per_vb_u32(1);
12931293
let drain_script = ScriptBuf::default();
12941294

12951295
let result = SingleRandomDraw.coin_select(
@@ -1362,7 +1362,7 @@ mod test {
13621362
let result = BranchAndBoundCoinSelection::<SingleRandomDraw>::default().coin_select(
13631363
vec![],
13641364
utxos,
1365-
FeeRate::from_sat_per_vb_unchecked(1),
1365+
FeeRate::from_sat_per_vb_u32(1),
13661366
target_amount,
13671367
&drain_script,
13681368
&mut thread_rng(),
@@ -1380,7 +1380,7 @@ mod test {
13801380
let result = BranchAndBoundCoinSelection::<SingleRandomDraw>::default().coin_select(
13811381
vec![],
13821382
utxos,
1383-
FeeRate::from_sat_per_vb_unchecked(1000),
1383+
FeeRate::from_sat_per_vb_u32(1000),
13841384
target_amount,
13851385
&drain_script,
13861386
&mut thread_rng(),
@@ -1441,7 +1441,7 @@ mod test {
14411441

14421442
#[test]
14431443
fn test_bnb_function_no_exact_match() {
1444-
let fee_rate = FeeRate::from_sat_per_vb_unchecked(10);
1444+
let fee_rate = FeeRate::from_sat_per_vb_u32(10);
14451445
let utxos: Vec<OutputGroup> = get_test_utxos()
14461446
.into_iter()
14471447
.map(|u| OutputGroup::new(u, fee_rate))
@@ -1473,7 +1473,7 @@ mod test {
14731473

14741474
#[test]
14751475
fn test_bnb_function_tries_exceeded() {
1476-
let fee_rate = FeeRate::from_sat_per_vb_unchecked(10);
1476+
let fee_rate = FeeRate::from_sat_per_vb_u32(10);
14771477
let utxos: Vec<OutputGroup> = generate_same_value_utxos(Amount::from_sat(100_000), 100_000)
14781478
.into_iter()
14791479
.map(|u| OutputGroup::new(u, fee_rate))
@@ -1507,7 +1507,7 @@ mod test {
15071507
// The match won't be exact but still in the range
15081508
#[test]
15091509
fn test_bnb_function_almost_exact_match_with_fees() {
1510-
let fee_rate = FeeRate::from_sat_per_vb_unchecked(1);
1510+
let fee_rate = FeeRate::from_sat_per_vb_u32(1);
15111511
let size_of_change = 31;
15121512
let cost_of_change = (Weight::from_vb_unchecked(size_of_change) * fee_rate)
15131513
.to_signed()
@@ -1598,7 +1598,7 @@ mod test {
15981598
let selection = BranchAndBoundCoinSelection::<SingleRandomDraw>::default().coin_select(
15991599
vec![],
16001600
utxos,
1601-
FeeRate::from_sat_per_vb_unchecked(10),
1601+
FeeRate::from_sat_per_vb_u32(10),
16021602
Amount::from_sat(500_000),
16031603
&drain_script,
16041604
&mut thread_rng(),
@@ -1625,7 +1625,7 @@ mod test {
16251625
let selection = BranchAndBoundCoinSelection::<SingleRandomDraw>::default().coin_select(
16261626
required,
16271627
optional,
1628-
FeeRate::from_sat_per_vb_unchecked(10),
1628+
FeeRate::from_sat_per_vb_u32(10),
16291629
Amount::from_sat(500_000),
16301630
&drain_script,
16311631
&mut thread_rng(),
@@ -1648,7 +1648,7 @@ mod test {
16481648
let selection = BranchAndBoundCoinSelection::<SingleRandomDraw>::default().coin_select(
16491649
utxos,
16501650
vec![],
1651-
FeeRate::from_sat_per_vb_unchecked(10_000),
1651+
FeeRate::from_sat_per_vb_u32(10_000),
16521652
Amount::from_sat(500_000),
16531653
&drain_script,
16541654
&mut thread_rng(),
@@ -1722,7 +1722,7 @@ mod test {
17221722
];
17231723

17241724
let optional = generate_same_value_utxos(Amount::from_sat(100_000), 30);
1725-
let fee_rate = FeeRate::from_sat_per_vb_unchecked(1);
1725+
let fee_rate = FeeRate::from_sat_per_vb_u32(1);
17261726
let target_amount = calc_target_amount(&optional[0..3], fee_rate);
17271727
assert_eq!(target_amount, Amount::from_sat(299_796));
17281728
let drain_script = ScriptBuf::default();

tests/build_fee_bump.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ fn test_bump_fee_drain_wallet() {
329329
let mut builder = wallet.build_fee_bump(txid).unwrap();
330330
builder
331331
.drain_wallet()
332-
.fee_rate(FeeRate::from_sat_per_vb_unchecked(5));
332+
.fee_rate(FeeRate::from_sat_per_vb_u32(5));
333333
let psbt = builder.finish().unwrap();
334334
let (sent, _received) =
335335
wallet.sent_and_received(&psbt.extract_tx().expect("failed to extract tx"));
@@ -391,7 +391,7 @@ fn test_bump_fee_remove_output_manually_selected_only() {
391391
let mut builder = wallet.build_fee_bump(txid).unwrap();
392392
builder
393393
.manually_selected_only()
394-
.fee_rate(FeeRate::from_sat_per_vb_unchecked(255));
394+
.fee_rate(FeeRate::from_sat_per_vb_u32(255));
395395
builder.finish().unwrap();
396396
}
397397

@@ -430,7 +430,7 @@ fn test_bump_fee_add_input() {
430430
insert_tx(&mut wallet, tx);
431431

432432
let mut builder = wallet.build_fee_bump(txid).unwrap();
433-
builder.fee_rate(FeeRate::from_sat_per_vb_unchecked(50));
433+
builder.fee_rate(FeeRate::from_sat_per_vb_u32(50));
434434
let psbt = builder.finish().unwrap();
435435
let (sent, received) =
436436
wallet.sent_and_received(&psbt.clone().extract_tx().expect("failed to extract tx"));
@@ -458,7 +458,7 @@ fn test_bump_fee_add_input() {
458458
received
459459
);
460460

461-
assert_fee_rate!(psbt, fee, FeeRate::from_sat_per_vb_unchecked(50), @add_signature);
461+
assert_fee_rate!(psbt, fee, FeeRate::from_sat_per_vb_u32(50), @add_signature);
462462
}
463463

464464
#[test]
@@ -536,7 +536,7 @@ fn test_bump_fee_no_change_add_input_and_change() {
536536
// Now bump the fees, the wallet should add an extra input and a change output, and leave
537537
// the original output untouched.
538538
let mut builder = wallet.build_fee_bump(txid).unwrap();
539-
builder.fee_rate(FeeRate::from_sat_per_vb_unchecked(50));
539+
builder.fee_rate(FeeRate::from_sat_per_vb_u32(50));
540540
let psbt = builder.finish().unwrap();
541541
let (sent, received) =
542542
wallet.sent_and_received(&psbt.clone().extract_tx().expect("failed to extract tx"));
@@ -569,7 +569,7 @@ fn test_bump_fee_no_change_add_input_and_change() {
569569
Amount::from_sat(75_000) - original_send_all_amount - fee
570570
);
571571

572-
assert_fee_rate!(psbt, fee, FeeRate::from_sat_per_vb_unchecked(50), @add_signature);
572+
assert_fee_rate!(psbt, fee, FeeRate::from_sat_per_vb_u32(50), @add_signature);
573573
}
574574

575575
#[test]
@@ -597,7 +597,7 @@ fn test_bump_fee_force_add_input() {
597597
builder
598598
.add_utxo(incoming_op)
599599
.unwrap()
600-
.fee_rate(FeeRate::from_sat_per_vb_unchecked(5));
600+
.fee_rate(FeeRate::from_sat_per_vb_u32(5));
601601
let psbt = builder.finish().unwrap();
602602
let (sent, received) =
603603
wallet.sent_and_received(&psbt.clone().extract_tx().expect("failed to extract tx"));
@@ -626,7 +626,7 @@ fn test_bump_fee_force_add_input() {
626626
received
627627
);
628628

629-
assert_fee_rate!(psbt, fee, FeeRate::from_sat_per_vb_unchecked(5), @add_signature);
629+
assert_fee_rate!(psbt, fee, FeeRate::from_sat_per_vb_u32(5), @add_signature);
630630
}
631631

632632
#[test]
@@ -715,7 +715,7 @@ fn test_bump_fee_unconfirmed_inputs_only() {
715715
}
716716
insert_tx(&mut wallet, tx);
717717
let mut builder = wallet.build_fee_bump(txid).unwrap();
718-
builder.fee_rate(FeeRate::from_sat_per_vb_unchecked(25));
718+
builder.fee_rate(FeeRate::from_sat_per_vb_u32(25));
719719
builder.finish().unwrap();
720720
}
721721

@@ -746,7 +746,7 @@ fn test_bump_fee_unconfirmed_input() {
746746

747747
let mut builder = wallet.build_fee_bump(txid).unwrap();
748748
builder
749-
.fee_rate(FeeRate::from_sat_per_vb_unchecked(15))
749+
.fee_rate(FeeRate::from_sat_per_vb_u32(15))
750750
// remove original tx drain_to address and amount
751751
.set_recipients(Vec::new())
752752
// set back original drain_to address
@@ -823,7 +823,7 @@ fn test_legacy_bump_fee_drain_wallet() {
823823
let mut builder = wallet.build_fee_bump(txid).unwrap();
824824
builder
825825
.drain_wallet()
826-
.fee_rate(FeeRate::from_sat_per_vb_unchecked(5));
826+
.fee_rate(FeeRate::from_sat_per_vb_u32(5));
827827
let psbt = builder.finish().unwrap();
828828
let (sent, _received) =
829829
wallet.sent_and_received(&psbt.extract_tx().expect("failed to extract tx"));
@@ -866,7 +866,7 @@ fn test_legacy_bump_fee_add_input() {
866866
insert_tx(&mut wallet, tx);
867867

868868
let mut builder = wallet.build_fee_bump(txid).unwrap();
869-
builder.fee_rate(FeeRate::from_sat_per_vb_unchecked(50));
869+
builder.fee_rate(FeeRate::from_sat_per_vb_u32(50));
870870
let psbt = builder.finish().unwrap();
871871
let (sent, received) =
872872
wallet.sent_and_received(&psbt.clone().extract_tx().expect("failed to extract tx"));
@@ -894,7 +894,7 @@ fn test_legacy_bump_fee_add_input() {
894894
received
895895
);
896896

897-
assert_fee_rate_legacy!(psbt, fee, FeeRate::from_sat_per_vb_unchecked(50), @add_signature);
897+
assert_fee_rate_legacy!(psbt, fee, FeeRate::from_sat_per_vb_u32(50), @add_signature);
898898
}
899899

900900
#[test]
@@ -971,7 +971,7 @@ fn test_bump_fee_pay_to_anchor_foreign_utxo() {
971971
.add_foreign_utxo(outpoint, psbt_input, satisfaction_weight)
972972
.unwrap()
973973
.only_witness_utxo()
974-
.fee_rate(FeeRate::from_sat_per_vb_unchecked(2))
974+
.fee_rate(FeeRate::from_sat_per_vb_u32(2))
975975
.drain_to(drain_spk.clone());
976976
let psbt = tx_builder.finish().unwrap();
977977
let tx = psbt.unsigned_tx.clone();
@@ -987,7 +987,7 @@ fn test_bump_fee_pay_to_anchor_foreign_utxo() {
987987
.set_recipients(vec![])
988988
.drain_to(drain_spk)
989989
.only_witness_utxo()
990-
.fee_rate(FeeRate::from_sat_per_vb_unchecked(5));
990+
.fee_rate(FeeRate::from_sat_per_vb_u32(5));
991991
let psbt = tx_builder.finish().unwrap();
992992
let tx = &psbt.unsigned_tx;
993993
assert!(tx.input.iter().any(|txin| txin.previous_output == outpoint));

0 commit comments

Comments
 (0)