Skip to content

Commit 7ed7ee2

Browse files
committed
f Fix claim requirements that Val discovered were bogus.
1 parent 9d64809 commit 7ed7ee2

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

lightning/src/ln/channelmanager.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1850,6 +1850,9 @@ impl<ChanSigner: ChannelKeys, M: Deref, T: Deref, K: Deref, F: Deref> ChannelMan
18501850
/// privacy-breaking recipient-probing attacks which may reveal payment activity to
18511851
/// motivated attackers.
18521852
///
1853+
/// Note that the privacy concerns in (b) are not relevant in payments with a payment_secret
1854+
/// set. Thus, for such payments we will claim any payments which do not under-pay.
1855+
///
18531856
/// May panic if called except in response to a PaymentReceived event.
18541857
pub fn claim_funds(&self, payment_preimage: PaymentPreimage, payment_secret: &Option<PaymentSecret>, expected_amount: u64) -> bool {
18551858
let payment_hash = PaymentHash(Sha256::hash(&payment_preimage.0).into_inner());
@@ -1875,7 +1878,7 @@ impl<ChanSigner: ChannelKeys, M: Deref, T: Deref, K: Deref, F: Deref> ChannelMan
18751878

18761879
let (is_mpp, mut valid_mpp) = if let &Some(ref data) = &sources[0].payment_data {
18771880
assert!(payment_secret.is_some());
1878-
(true, data.total_msat == expected_amount)
1881+
(true, data.total_msat >= expected_amount)
18791882
} else {
18801883
assert!(payment_secret.is_none());
18811884
(false, false)

0 commit comments

Comments
 (0)