Skip to content

Commit 043e6b7

Browse files
refactor to use do_pass_along_path
1 parent 9eeba9b commit 043e6b7

File tree

2 files changed

+12
-36
lines changed

2 files changed

+12
-36
lines changed

lightning/src/ln/functional_test_utils.rs

Lines changed: 10 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2276,57 +2276,33 @@ pub fn pass_probe_along_route<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expect
22762276
for path in expected_route.iter() {
22772277
let ev = remove_first_msg_event_to_node(&path[0].node.get_our_node_id(), &mut events);
22782278

2279-
pass_probe_along_path(origin_node, path, ev);
2279+
do_pass_along_path(origin_node, path, 0, PaymentHash([0_u8; 32]), None, ev, false, false, None, true);
22802280
let nodes_to_fail_payment: Vec<_> = vec![origin_node].into_iter().chain(path.iter().cloned()).collect();
22812281

22822282
fail_payment_along_path(nodes_to_fail_payment.as_slice());
22832283
}
22842284
}
22852285

2286-
2287-
fn pass_probe_along_path<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_path: &[&Node<'a, 'b, 'c>], ev: MessageSendEvent) {
2286+
pub fn do_pass_along_path<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_path: &[&Node<'a, 'b, 'c>], recv_value: u64, our_payment_hash: PaymentHash, our_payment_secret: Option<PaymentSecret>, ev: MessageSendEvent, payment_claimable_expected: bool, clear_recipient_events: bool, expected_preimage: Option<PaymentPreimage>, is_probe: bool) -> Option<Event> {
22882287
let mut payment_event = SendEvent::from_event(ev);
22892288
let mut prev_node = origin_node;
2289+
let mut event = None;
22902290

22912291
for (idx, &node) in expected_path.iter().enumerate() {
2292+
let is_last_hop = idx == expected_path.len() - 1;
22922293
assert_eq!(node.node.get_our_node_id(), payment_event.node_id);
22932294

22942295
node.node.handle_update_add_htlc(&prev_node.node.get_our_node_id(), &payment_event.msgs[0]);
22952296
check_added_monitors!(node, 0);
22962297

2297-
if idx != expected_path.len() - 1 {
2298+
if is_last_hop && is_probe {
2299+
commitment_signed_dance!(node, prev_node, payment_event.commitment_msg, true, true);
2300+
} else {
22982301
commitment_signed_dance!(node, prev_node, payment_event.commitment_msg, false);
22992302
expect_pending_htlcs_forwardable!(node);
2300-
2301-
let mut events = node.node.get_and_clear_pending_msg_events();
2302-
assert_eq!(events.len(), 1);
2303-
payment_event = SendEvent::from_event(events.remove(0));
2304-
assert_eq!(payment_event.msgs.len(), 1);
2305-
check_added_monitors!(node, 1);
2306-
} else {
2307-
commitment_signed_dance!(node, prev_node, payment_event.commitment_msg, true, true);
23082303
}
23092304

2310-
2311-
prev_node = node;
2312-
}
2313-
}
2314-
2315-
pub fn do_pass_along_path<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_path: &[&Node<'a, 'b, 'c>], recv_value: u64, our_payment_hash: PaymentHash, our_payment_secret: Option<PaymentSecret>, ev: MessageSendEvent, payment_claimable_expected: bool, clear_recipient_events: bool, expected_preimage: Option<PaymentPreimage>) -> Option<Event> {
2316-
let mut payment_event = SendEvent::from_event(ev);
2317-
let mut prev_node = origin_node;
2318-
let mut event = None;
2319-
2320-
for (idx, &node) in expected_path.iter().enumerate() {
2321-
assert_eq!(node.node.get_our_node_id(), payment_event.node_id);
2322-
2323-
node.node.handle_update_add_htlc(&prev_node.node.get_our_node_id(), &payment_event.msgs[0]);
2324-
check_added_monitors!(node, 0);
2325-
commitment_signed_dance!(node, prev_node, payment_event.commitment_msg, false);
2326-
2327-
expect_pending_htlcs_forwardable!(node);
2328-
2329-
if idx == expected_path.len() - 1 && clear_recipient_events {
2305+
if is_last_hop && clear_recipient_events {
23302306
let events_2 = node.node.get_and_clear_pending_events();
23312307
if payment_claimable_expected {
23322308
assert_eq!(events_2.len(), 1);
@@ -2360,7 +2336,7 @@ pub fn do_pass_along_path<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_p
23602336
} else {
23612337
assert!(events_2.is_empty());
23622338
}
2363-
} else if idx != expected_path.len() - 1 {
2339+
} else if !is_last_hop {
23642340
let mut events_2 = node.node.get_and_clear_pending_msg_events();
23652341
assert_eq!(events_2.len(), 1);
23662342
check_added_monitors!(node, 1);
@@ -2374,7 +2350,7 @@ pub fn do_pass_along_path<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_p
23742350
}
23752351

23762352
pub fn pass_along_path<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_path: &[&Node<'a, 'b, 'c>], recv_value: u64, our_payment_hash: PaymentHash, our_payment_secret: Option<PaymentSecret>, ev: MessageSendEvent, payment_claimable_expected: bool, expected_preimage: Option<PaymentPreimage>) -> Option<Event> {
2377-
do_pass_along_path(origin_node, expected_path, recv_value, our_payment_hash, our_payment_secret, ev, payment_claimable_expected, true, expected_preimage)
2353+
do_pass_along_path(origin_node, expected_path, recv_value, our_payment_hash, our_payment_secret, ev, payment_claimable_expected, true, expected_preimage, false)
23782354
}
23792355

23802356
pub fn pass_along_route<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_route: &[&[&Node<'a, 'b, 'c>]], recv_value: u64, our_payment_hash: PaymentHash, our_payment_secret: PaymentSecret) {

lightning/src/ln/reload_tests.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -749,8 +749,8 @@ fn do_test_partial_claim_before_restart(persist_both_monitors: bool) {
749749
assert_eq!(send_events.len(), 2);
750750
let node_1_msgs = remove_first_msg_event_to_node(&nodes[1].node.get_our_node_id(), &mut send_events);
751751
let node_2_msgs = remove_first_msg_event_to_node(&nodes[2].node.get_our_node_id(), &mut send_events);
752-
do_pass_along_path(&nodes[0], &[&nodes[1], &nodes[3]], 15_000_000, payment_hash, Some(payment_secret), node_1_msgs, true, false, None);
753-
do_pass_along_path(&nodes[0], &[&nodes[2], &nodes[3]], 15_000_000, payment_hash, Some(payment_secret), node_2_msgs, true, false, None);
752+
do_pass_along_path(&nodes[0], &[&nodes[1], &nodes[3]], 15_000_000, payment_hash, Some(payment_secret), node_1_msgs, true, false, None, false);
753+
do_pass_along_path(&nodes[0], &[&nodes[2], &nodes[3]], 15_000_000, payment_hash, Some(payment_secret), node_2_msgs, true, false, None, false);
754754

755755
// Now that we have an MPP payment pending, get the latest encoded copies of nodes[3]'s
756756
// monitors and ChannelManager, for use later, if we don't want to persist both monitors.

0 commit comments

Comments
 (0)