X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fln%2Foutbound_payment.rs;h=7e5df84a25311b2d9a148fe946714d6c37436378;hb=2b898a3385d226f961ef045560e94e64195bbd4f;hp=9c8d66458739d7e21f2982ea50e096a7013fb98f;hpb=4a4163fcf4842d7531e8730a6327764277aadf99;p=rust-lightning diff --git a/lightning/src/ln/outbound_payment.rs b/lightning/src/ln/outbound_payment.rs index 9c8d6645..7e5df84a 100644 --- a/lightning/src/ln/outbound_payment.rs +++ b/lightning/src/ln/outbound_payment.rs @@ -515,9 +515,9 @@ impl RecipientOnionFields { let tlvs = &mut self.custom_tlvs; let further_tlvs = &mut further_htlc_fields.custom_tlvs; - let even_tlvs: Vec<&(u64, Vec)> = tlvs.iter().filter(|(typ, _)| *typ % 2 == 0).collect(); - let further_even_tlvs: Vec<&(u64, Vec)> = further_tlvs.iter().filter(|(typ, _)| *typ % 2 == 0).collect(); - if even_tlvs != further_even_tlvs { return Err(()) } + let even_tlvs = tlvs.iter().filter(|(typ, _)| *typ % 2 == 0); + let further_even_tlvs = further_tlvs.iter().filter(|(typ, _)| *typ % 2 == 0); + if even_tlvs.ne(further_even_tlvs) { return Err(()) } tlvs.retain(|tlv| further_tlvs.iter().any(|further_tlv| tlv == further_tlv)); further_tlvs.retain(|further_tlv| tlvs.iter().any(|tlv| tlv == further_tlv)); @@ -1177,7 +1177,7 @@ impl OutboundPayments { pub(super) fn claim_htlc( &self, payment_id: PaymentId, payment_preimage: PaymentPreimage, session_priv: SecretKey, - path: Path, from_onchain: bool, + path: Path, from_onchain: bool, ev_completion_action: EventCompletionAction, pending_events: &Mutex)>>, logger: &L, ) where L::Target: Logger { @@ -1194,7 +1194,7 @@ impl OutboundPayments { payment_preimage, payment_hash, fee_paid_msat, - }, None)); + }, Some(ev_completion_action.clone()))); payment.get_mut().mark_fulfilled(); } @@ -1211,7 +1211,7 @@ impl OutboundPayments { payment_id, payment_hash, path, - }, None)); + }, Some(ev_completion_action))); } } } else {