Skip to content

Commit 948d1d2

Browse files
committed
Solved first test failure
1 parent eb7384f commit 948d1d2

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

lightning/src/blinded_path/payment.rs

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,19 @@ impl BlindedPaymentPath {
239239
self.inner_path.blinded_hops.remove(0);
240240
Ok(())
241241
},
242+
Ok((BlindedPaymentTlvs::Dummy(_), control_tlvs_ss)) => {
243+
let next_node_id = node_signer.get_node_id(Recipient::Node)?;
244+
let mut new_blinding_point = onion_utils::next_hop_pubkey(
245+
secp_ctx,
246+
self.inner_path.blinding_point,
247+
control_tlvs_ss.as_ref(),
248+
)
249+
.map_err(|_| ())?;
250+
mem::swap(&mut self.inner_path.blinding_point, &mut new_blinding_point);
251+
self.inner_path.introduction_node = IntroductionNode::NodeId(next_node_id);
252+
self.inner_path.blinded_hops.remove(0);
253+
Ok(())
254+
},
242255
_ => Err(()),
243256
}
244257
}
@@ -262,9 +275,9 @@ impl BlindedPaymentPath {
262275
.map_err(|_| ())?;
263276

264277
match (&readable, used_aad) {
265-
(BlindedPaymentTlvs::Forward(_), false) | (BlindedPaymentTlvs::Receive(_), true) => {
266-
Ok((readable, control_tlvs_ss))
267-
},
278+
(BlindedPaymentTlvs::Forward(_), false)
279+
| (BlindedPaymentTlvs::Dummy(_), true)
280+
| (BlindedPaymentTlvs::Receive(_), true) => Ok((readable, control_tlvs_ss)),
268281
_ => Err(()),
269282
}
270283
}

lightning/src/ln/async_payments_tests.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ use crate::onion_message::messenger::{
5555
use crate::onion_message::offers::OffersMessage;
5656
use crate::onion_message::packet::ParsedOnionMessageContents;
5757
use crate::prelude::*;
58-
use crate::routing::router::{Payee, PaymentParameters};
58+
use crate::routing::router::{Payee, PaymentParameters, DEFAULT_PAYMENT_DUMMY_HOPS};
5959
use crate::sign::NodeSigner;
6060
use crate::sync::Mutex;
6161
use crate::types::features::Bolt12InvoiceFeatures;
@@ -1858,6 +1858,13 @@ fn expired_static_invoice_payment_path() {
18581858
blinded_path
18591859
.advance_path_by_one(&nodes[1].keys_manager, &nodes[1].node, &secp_ctx)
18601860
.unwrap();
1861+
1862+
for _ in 0..DEFAULT_PAYMENT_DUMMY_HOPS {
1863+
blinded_path
1864+
.advance_path_by_one(&nodes[2].keys_manager, &nodes[2].node, &secp_ctx)
1865+
.unwrap();
1866+
}
1867+
18611868
match blinded_path.decrypt_intro_payload(&nodes[2].keys_manager).unwrap().0 {
18621869
BlindedPaymentTlvs::Receive(tlvs) => tlvs.payment_constraints.max_cltv_expiry,
18631870
_ => panic!(),

0 commit comments

Comments
 (0)