Skip to content

Commit 9644612

Browse files
committed
Second dust check on change output (after subtracting fee)
1 parent 030097f commit 9644612

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

lightning/src/ln/channel.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2188,9 +2188,12 @@ impl<SP: Deref> PendingV2Channel<SP> where SP::Target: SignerProvider {
21882188
};
21892189
let change_output_weight = get_output_weight(&change_output.script_pubkey).to_wu();
21902190
let change_output_fee = fee_for_weight(self.dual_funding_context.funding_feerate_sat_per_1000_weight, change_output_weight);
2191-
change_output.value = Amount::from_sat(change_value.saturating_sub(change_output_fee));
2192-
// Note: dust check not done here, should be handled before
2193-
funding_outputs.push(OutputOwned::Single(change_output));
2191+
let change_value_decreased_with_fee = change_value.saturating_sub(change_output_fee);
2192+
// Check dust limit again
2193+
if change_value_decreased_with_fee > self.context.holder_dust_limit_satoshis {
2194+
change_output.value = Amount::from_sat(change_value_decreased_with_fee);
2195+
funding_outputs.push(OutputOwned::Single(change_output));
2196+
}
21942197
}
21952198

21962199
let constructor_args = InteractiveTxConstructorArgs {

0 commit comments

Comments
 (0)