test: Document test_bump_fee_add_input_change_dust
Add a rationale for the feerate in the test
This commit is contained in:
parent
632dabaa07
commit
419dc248b6
@ -3781,6 +3781,7 @@ pub(crate) mod test {
|
|||||||
.del_utxo(&txin.previous_output)
|
.del_utxo(&txin.previous_output)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
}
|
}
|
||||||
|
let original_tx_weight = tx.weight();
|
||||||
original_details.transaction = Some(tx);
|
original_details.transaction = Some(tx);
|
||||||
wallet
|
wallet
|
||||||
.database
|
.database
|
||||||
@ -3789,7 +3790,20 @@ pub(crate) mod test {
|
|||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
let mut builder = wallet.build_fee_bump(txid).unwrap();
|
let mut builder = wallet.build_fee_bump(txid).unwrap();
|
||||||
builder.fee_rate(FeeRate::from_sat_per_vb(141.0));
|
// We set a fee high enough that during rbf we are forced to add
|
||||||
|
// a new input and also that we have to remove the change
|
||||||
|
// that we had previously
|
||||||
|
|
||||||
|
// We calculate the new weight as:
|
||||||
|
// original weight
|
||||||
|
// + extra input weight: 160 WU = (32 (prevout) + 4 (vout) + 4 (nsequence)) * 4
|
||||||
|
// + input satisfaction weight: 112 WU = 106 (witness) + 2 (witness len) + (1 (script len)) * 4
|
||||||
|
// - change output weight: 124 WU = (8 (value) + 1 (script len) + 22 (script)) * 4
|
||||||
|
let new_tx_weight = original_tx_weight + 160 + 112 - 124;
|
||||||
|
// two inputs (50k, 25k) and one output (45k) - epsilon
|
||||||
|
// We use epsilon here to avoid asking for a slightly too high feerate
|
||||||
|
let fee_abs = 50_000 + 25_000 - 45_000 - 10;
|
||||||
|
builder.fee_rate(FeeRate::from_wu(fee_abs, new_tx_weight));
|
||||||
let (psbt, details) = builder.finish().unwrap();
|
let (psbt, details) = builder.finish().unwrap();
|
||||||
|
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user