Skip to content

Commit 2488430

Browse files
committed
Second dust check on change output (after subtracting fee)
1 parent ac5d5e7 commit 2488430

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
@@ -2091,9 +2091,12 @@ impl<SP: Deref> PendingV2Channel<SP> where SP::Target: SignerProvider {
20912091
};
20922092
let change_output_weight = get_output_weight(&change_output.script_pubkey).to_wu();
20932093
let change_output_fee = fee_for_weight(self.dual_funding_context.funding_feerate_sat_per_1000_weight, change_output_weight);
2094-
change_output.value = Amount::from_sat(change_value.saturating_sub(change_output_fee));
2095-
// Note: dust check not done here, should be handled before
2096-
funding_outputs.push(OutputOwned::Single(change_output));
2094+
let change_value_decreased_with_fee = change_value.saturating_sub(change_output_fee);
2095+
// Check dust limit again
2096+
if change_value_decreased_with_fee > self.context.holder_dust_limit_satoshis {
2097+
change_output.value = Amount::from_sat(change_value_decreased_with_fee);
2098+
funding_outputs.push(OutputOwned::Single(change_output));
2099+
}
20972100
}
20982101

20992102
let constructor_args = InteractiveTxConstructorArgs {

0 commit comments

Comments
 (0)