Skip to content

Commit ac15105

Browse files
committed
Pass ClaimAlongRouteArgs to claim_payment_along_route
1 parent b6ff46d commit ac15105

6 files changed

+79
-30
lines changed

lightning/src/ln/blinded_payment_tests.rs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,9 @@ fn mpp_to_one_hop_blinded_path() {
180180
let ev = remove_first_msg_event_to_node(&nodes[2].node.get_our_node_id(), &mut events);
181181
pass_along_path(&nodes[0], expected_route[1], amt_msat, payment_hash.clone(),
182182
Some(payment_secret), ev.clone(), true, None);
183-
claim_payment_along_route(&nodes[0], expected_route, false, payment_preimage);
183+
claim_payment_along_route(
184+
ClaimAlongRouteArgs::new(&nodes[0], expected_route, payment_preimage)
185+
);
184186
}
185187

186188
#[test]
@@ -244,7 +246,9 @@ fn mpp_to_three_hop_blinded_paths() {
244246
let ev = remove_first_msg_event_to_node(&nodes[2].node.get_our_node_id(), &mut events);
245247
pass_along_path(&nodes[0], expected_route[1], amt_msat, payment_hash.clone(),
246248
Some(payment_secret), ev.clone(), true, None);
247-
claim_payment_along_route(&nodes[0], expected_route, false, payment_preimage);
249+
claim_payment_along_route(
250+
ClaimAlongRouteArgs::new(&nodes[0], expected_route, payment_preimage)
251+
);
248252
}
249253

250254
enum ForwardCheckFail {
@@ -1219,7 +1223,9 @@ fn blinded_keysend() {
12191223

12201224
let ev = remove_first_msg_event_to_node(&nodes[1].node.get_our_node_id(), &mut events);
12211225
pass_along_path(&nodes[0], expected_route[0], amt_msat, payment_hash, Some(payment_secret), ev.clone(), true, Some(keysend_preimage));
1222-
claim_payment_along_route(&nodes[0], expected_route, false, keysend_preimage);
1226+
claim_payment_along_route(
1227+
ClaimAlongRouteArgs::new(&nodes[0], expected_route, keysend_preimage)
1228+
);
12231229
}
12241230

12251231
#[test]
@@ -1270,7 +1276,9 @@ fn blinded_mpp_keysend() {
12701276
let ev = remove_first_msg_event_to_node(&nodes[2].node.get_our_node_id(), &mut events);
12711277
pass_along_path(&nodes[0], expected_route[1], amt_msat, payment_hash.clone(),
12721278
Some(payment_secret), ev.clone(), true, Some(keysend_preimage));
1273-
claim_payment_along_route(&nodes[0], expected_route, false, keysend_preimage);
1279+
claim_payment_along_route(
1280+
ClaimAlongRouteArgs::new(&nodes[0], expected_route, keysend_preimage)
1281+
);
12741282
}
12751283

12761284
#[test]

lightning/src/ln/chanmon_update_fail_tests.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2025,7 +2025,9 @@ fn test_path_paused_mpp() {
20252025
assert_eq!(events.len(), 1);
20262026
pass_along_path(&nodes[0], &[&nodes[2], &nodes[3]], 200_000, payment_hash.clone(), Some(payment_secret), events.pop().unwrap(), true, None);
20272027

2028-
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[3]], &[&nodes[2], &nodes[3]]], false, payment_preimage);
2028+
claim_payment_along_route(
2029+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1], &nodes[3]], &[&nodes[2], &nodes[3]]], payment_preimage)
2030+
);
20292031
}
20302032

20312033
#[test]

lightning/src/ln/functional_test_utils.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2950,18 +2950,20 @@ pub fn pass_claimed_payment_along_route<'a, 'b, 'c, 'd>(args: ClaimAlongRouteArg
29502950

29512951
expected_total_fee_msat
29522952
}
2953-
pub fn claim_payment_along_route<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_paths: &[&[&Node<'a, 'b, 'c>]], skip_last: bool, our_payment_preimage: PaymentPreimage) {
2954-
let expected_total_fee_msat = do_claim_payment_along_route(
2955-
ClaimAlongRouteArgs::new(origin_node, expected_paths, our_payment_preimage)
2956-
.skip_last(skip_last)
2957-
);
2953+
pub fn claim_payment_along_route(args: ClaimAlongRouteArgs) {
2954+
let origin_node = args.origin_node;
2955+
let payment_preimage = args.payment_preimage;
2956+
let skip_last = args.skip_last;
2957+
let expected_total_fee_msat = do_claim_payment_along_route(args);
29582958
if !skip_last {
2959-
expect_payment_sent!(origin_node, our_payment_preimage, Some(expected_total_fee_msat));
2959+
expect_payment_sent!(origin_node, payment_preimage, Some(expected_total_fee_msat));
29602960
}
29612961
}
29622962

29632963
pub fn claim_payment<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_route: &[&Node<'a, 'b, 'c>], our_payment_preimage: PaymentPreimage) {
2964-
claim_payment_along_route(origin_node, &[expected_route], false, our_payment_preimage);
2964+
claim_payment_along_route(
2965+
ClaimAlongRouteArgs::new(origin_node, &[expected_route], our_payment_preimage)
2966+
);
29652967
}
29662968

29672969
pub const TEST_FINAL_CLTV: u32 = 70;

lightning/src/ln/functional_tests.rs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3780,7 +3780,10 @@ fn test_simple_peer_disconnect() {
37803780
nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
37813781
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
37823782

3783-
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[2]]], true, payment_preimage_3);
3783+
claim_payment_along_route(
3784+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1], &nodes[2]]], payment_preimage_3)
3785+
.skip_last(true)
3786+
);
37843787
fail_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[2]]], true, payment_hash_5);
37853788

37863789
let mut reconnect_args = ReconnectArgs::new(&nodes[0], &nodes[1]);
@@ -8264,7 +8267,9 @@ fn test_onion_value_mpp_set_calculation() {
82648267
let ev = remove_first_msg_event_to_node(&expected_paths[1][0].node.get_our_node_id(), &mut events);
82658268
pass_along_path(&nodes[0], expected_paths[1], 101_000, our_payment_hash.clone(), Some(our_payment_secret), ev, true, None);
82668269

8267-
claim_payment_along_route(&nodes[0], expected_paths, false, our_payment_preimage);
8270+
claim_payment_along_route(
8271+
ClaimAlongRouteArgs::new(&nodes[0], expected_paths, our_payment_preimage)
8272+
);
82688273
}
82698274

82708275
fn do_test_overshoot_mpp(msat_amounts: &[u64], total_msat: u64) {
@@ -8330,7 +8335,9 @@ fn do_test_overshoot_mpp(msat_amounts: &[u64], total_msat: u64) {
83308335
pass_along_path(&nodes[src_idx], expected_path, amount_received, our_payment_hash.clone(), Some(our_payment_secret), ev, became_claimable_now, None);
83318336
}
83328337

8333-
claim_payment_along_route(&nodes[src_idx], &expected_paths, false, our_payment_preimage);
8338+
claim_payment_along_route(
8339+
ClaimAlongRouteArgs::new(&nodes[src_idx], &expected_paths, our_payment_preimage)
8340+
);
83348341
}
83358342

83368343
#[test]
@@ -8362,7 +8369,9 @@ fn test_simple_mpp() {
83628369
route.paths[1].hops[0].short_channel_id = chan_2_id;
83638370
route.paths[1].hops[1].short_channel_id = chan_4_id;
83648371
send_along_route_with_secret(&nodes[0], route, &[&[&nodes[1], &nodes[3]], &[&nodes[2], &nodes[3]]], 200_000, payment_hash, payment_secret);
8365-
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[3]], &[&nodes[2], &nodes[3]]], false, payment_preimage);
8372+
claim_payment_along_route(
8373+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1], &nodes[3]], &[&nodes[2], &nodes[3]]], payment_preimage)
8374+
);
83668375
}
83678376

83688377
#[test]

lightning/src/ln/max_payment_path_len_tests.rs

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,9 @@ fn large_payment_metadata() {
8484
.with_payment_secret(payment_secret)
8585
.with_payment_metadata(payment_metadata.clone());
8686
do_pass_along_path(args);
87-
claim_payment_along_route(&nodes[0], &[&[&nodes[1]]], false, payment_preimage);
87+
claim_payment_along_route(
88+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1]]], payment_preimage)
89+
);
8890

8991
// Check that the payment parameter for max path length will prevent us from routing past our
9092
// next-hop peer given the payment_metadata size.
@@ -133,7 +135,9 @@ fn large_payment_metadata() {
133135
.with_payment_secret(payment_secret_2)
134136
.with_payment_metadata(recipient_onion_allows_2_hops.payment_metadata.unwrap());
135137
do_pass_along_path(args);
136-
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[2]]], false, payment_preimage_2);
138+
claim_payment_along_route(
139+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1], &nodes[2]]], payment_preimage_2)
140+
);
137141
}
138142

139143
#[test]
@@ -201,7 +205,9 @@ fn one_hop_blinded_path_with_custom_tlv() {
201205
.with_payment_secret(payment_secret)
202206
.with_custom_tlvs(recipient_onion_max_custom_tlv_size.custom_tlvs.clone());
203207
do_pass_along_path(args);
204-
claim_payment_along_route(&nodes[1], &[&[&nodes[2]]], false, payment_preimage);
208+
claim_payment_along_route(
209+
ClaimAlongRouteArgs::new(&nodes[1], &[&[&nodes[2]]], payment_preimage)
210+
);
205211

206212
// If 1 byte is added to the custom TLV value, we'll fail to send prior to pathfinding.
207213
let mut recipient_onion_too_large_custom_tlv = recipient_onion_max_custom_tlv_size.clone();
@@ -228,7 +234,9 @@ fn one_hop_blinded_path_with_custom_tlv() {
228234
.with_payment_secret(payment_secret)
229235
.with_custom_tlvs(recipient_onion_allows_2_hops.custom_tlvs);
230236
do_pass_along_path(args);
231-
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[2]]], false, payment_preimage);
237+
claim_payment_along_route(
238+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1], &nodes[2]]], payment_preimage)
239+
);
232240
}
233241

234242
#[test]
@@ -283,7 +291,9 @@ fn blinded_path_with_custom_tlv() {
283291
.with_payment_secret(payment_secret)
284292
.with_custom_tlvs(recipient_onion_max_custom_tlv_size.custom_tlvs.clone());
285293
do_pass_along_path(args);
286-
claim_payment_along_route(&nodes[1], &[&[&nodes[2], &nodes[3]]], false, payment_preimage);
294+
claim_payment_along_route(
295+
ClaimAlongRouteArgs::new(&nodes[1], &[&[&nodes[2], &nodes[3]]], payment_preimage)
296+
);
287297

288298
// If 1 byte is added to the custom TLV value, we'll fail to send prior to pathfinding.
289299
let mut recipient_onion_too_large_custom_tlv = recipient_onion_max_custom_tlv_size.clone();
@@ -322,5 +332,7 @@ fn blinded_path_with_custom_tlv() {
322332
.with_payment_secret(payment_secret)
323333
.with_custom_tlvs(recipient_onion_allows_2_hops.custom_tlvs);
324334
do_pass_along_path(args);
325-
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[2], &nodes[3]]], false, payment_preimage);
335+
claim_payment_along_route(
336+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1], &nodes[2], &nodes[3]]], payment_preimage)
337+
);
326338
}

lightning/src/ln/payment_tests.rs

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,9 @@ fn mpp_retry() {
160160
let mut events = nodes[0].node.get_and_clear_pending_msg_events();
161161
assert_eq!(events.len(), 1);
162162
pass_along_path(&nodes[0], &[&nodes[2], &nodes[3]], 2_000_000, payment_hash, Some(payment_secret), events.pop().unwrap(), true, None);
163-
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[3]], &[&nodes[2], &nodes[3]]], false, payment_preimage);
163+
claim_payment_along_route(
164+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1], &nodes[3]], &[&nodes[2], &nodes[3]]], payment_preimage)
165+
);
164166
}
165167

166168
#[test]
@@ -351,7 +353,9 @@ fn do_mpp_receive_timeout(send_partial_mpp: bool) {
351353
nodes[3].node.timer_tick_occurred();
352354
}
353355

354-
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[3]], &[&nodes[2], &nodes[3]]], false, payment_preimage);
356+
claim_payment_along_route(
357+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1], &nodes[3]], &[&nodes[2], &nodes[3]]], payment_preimage)
358+
);
355359
}
356360
}
357361

@@ -466,7 +470,9 @@ fn test_mpp_keysend() {
466470
let ev = remove_first_msg_event_to_node(&nodes[2].node.get_our_node_id(), &mut events);
467471
pass_along_path(&nodes[0], expected_route[1], recv_value, payment_hash.clone(),
468472
Some(payment_secret), ev.clone(), true, Some(payment_preimage));
469-
claim_payment_along_route(&nodes[0], expected_route, false, payment_preimage);
473+
claim_payment_along_route(
474+
ClaimAlongRouteArgs::new(&nodes[0], expected_route, payment_preimage)
475+
);
470476
}
471477

472478
#[test]
@@ -1247,7 +1253,9 @@ fn get_ldk_payment_preimage() {
12471253
let mut events = nodes[0].node.get_and_clear_pending_msg_events();
12481254
assert_eq!(events.len(), 1);
12491255
pass_along_path(&nodes[0], &[&nodes[1]], amt_msat, payment_hash, Some(payment_secret), events.pop().unwrap(), true, Some(payment_preimage));
1250-
claim_payment_along_route(&nodes[0], &[&[&nodes[1]]], false, payment_preimage);
1256+
claim_payment_along_route(
1257+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1]]], payment_preimage)
1258+
);
12511259
}
12521260

12531261
#[test]
@@ -2276,7 +2284,9 @@ fn do_automatic_retries(test: AutoRetry) {
22762284
let mut msg_events = nodes[0].node.get_and_clear_pending_msg_events();
22772285
assert_eq!(msg_events.len(), 1);
22782286
pass_along_path(&nodes[0], &[&nodes[1], &nodes[2]], amt_msat, payment_hash, Some(payment_secret), msg_events.pop().unwrap(), true, None);
2279-
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[2]]], false, payment_preimage);
2287+
claim_payment_along_route(
2288+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1], &nodes[2]]], payment_preimage)
2289+
);
22802290
} else if test == AutoRetry::Spontaneous {
22812291
nodes[0].node.send_spontaneous_payment_with_retry(Some(payment_preimage),
22822292
RecipientOnionFields::spontaneous_empty(), PaymentId(payment_hash.0), route_params,
@@ -2293,7 +2303,9 @@ fn do_automatic_retries(test: AutoRetry) {
22932303
let mut msg_events = nodes[0].node.get_and_clear_pending_msg_events();
22942304
assert_eq!(msg_events.len(), 1);
22952305
pass_along_path(&nodes[0], &[&nodes[1], &nodes[2]], amt_msat, payment_hash, None, msg_events.pop().unwrap(), true, Some(payment_preimage));
2296-
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[2]]], false, payment_preimage);
2306+
claim_payment_along_route(
2307+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1], &nodes[2]]], payment_preimage)
2308+
);
22972309
} else if test == AutoRetry::FailAttempts {
22982310
// Ensure ChannelManager will not retry a payment if it has run out of payment attempts.
22992311
nodes[0].node.send_payment(payment_hash, RecipientOnionFields::secret_only(payment_secret),
@@ -3813,7 +3825,9 @@ fn test_retry_custom_tlvs() {
38133825
.with_payment_secret(payment_secret)
38143826
.with_custom_tlvs(custom_tlvs);
38153827
do_pass_along_path(args);
3816-
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[2]]], false, payment_preimage);
3828+
claim_payment_along_route(
3829+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1], &nodes[2]]], payment_preimage)
3830+
);
38173831
}
38183832

38193833
#[test]
@@ -4109,7 +4123,9 @@ fn do_test_payment_metadata_consistency(do_reload: bool, do_modify: bool) {
41094123
} else {
41104124
expect_pending_htlcs_forwardable!(nodes[3]);
41114125
expect_payment_claimable!(nodes[3], payment_hash, payment_secret, amt_msat);
4112-
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[3]], &[&nodes[2], &nodes[3]]], false, payment_preimage);
4126+
claim_payment_along_route(
4127+
ClaimAlongRouteArgs::new(&nodes[0], &[&[&nodes[1], &nodes[3]], &[&nodes[2], &nodes[3]]], payment_preimage)
4128+
);
41134129
}
41144130
}
41154131

0 commit comments

Comments
 (0)