@@ -8193,9 +8193,10 @@ fn test_simple_mpp() {
8193
8193
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[3]], &[&nodes[2], &nodes[3]]], false, payment_preimage);
8194
8194
}
8195
8195
8196
- fn do_test_mpp_keysend(accept_mpp_keysend: bool) {
8196
+ #[test]
8197
+ fn test_mpp_keysend() {
8197
8198
let mut mpp_keysend_config = test_default_channel_config();
8198
- mpp_keysend_config.accept_mpp_keysend = accept_mpp_keysend ;
8199
+ mpp_keysend_config.accept_mpp_keysend = true ;
8199
8200
let chanmon_cfgs = create_chanmon_cfgs(4);
8200
8201
let node_cfgs = create_node_cfgs(4, &chanmon_cfgs);
8201
8202
let node_chanmgrs = create_node_chanmgrs(4, &node_cfgs, &[None, None, None, Some(mpp_keysend_config)]);
@@ -8204,7 +8205,7 @@ fn do_test_mpp_keysend(accept_mpp_keysend: bool) {
8204
8205
create_announced_chan_between_nodes(&nodes, 0, 1);
8205
8206
create_announced_chan_between_nodes(&nodes, 0, 2);
8206
8207
create_announced_chan_between_nodes(&nodes, 1, 3);
8207
- let chan_2_3 = create_announced_chan_between_nodes(&nodes, 2, 3);
8208
+ create_announced_chan_between_nodes(&nodes, 2, 3);
8208
8209
let network_graph = nodes[0].network_graph.clone();
8209
8210
8210
8211
let payer_pubkey = nodes[0].node.get_our_node_id();
@@ -8233,63 +8234,10 @@ fn do_test_mpp_keysend(accept_mpp_keysend: bool) {
8233
8234
pass_along_path(&nodes[0], expected_route[0], recv_value, payment_hash.clone(),
8234
8235
Some(payment_secret), ev.clone(), false, Some(payment_preimage));
8235
8236
8236
- if accept_mpp_keysend {
8237
- let ev = remove_first_msg_event_to_node(&nodes[2].node.get_our_node_id(), &mut events);
8238
- pass_along_path(&nodes[0], expected_route[1], recv_value, payment_hash.clone(),
8239
- Some(payment_secret), ev.clone(), true, Some(payment_preimage));
8240
- claim_payment_along_route(&nodes[0], expected_route, false, payment_preimage);
8241
- } else {
8242
- let ev = remove_first_msg_event_to_node(&nodes[2].node.get_our_node_id(), &mut events);
8243
- let mut payment_event = SendEvent::from_event(ev.clone());
8244
-
8245
- assert_eq!(nodes[2].node.get_our_node_id(), payment_event.node_id);
8246
-
8247
- nodes[2].node.handle_update_add_htlc(&nodes[0].node.get_our_node_id(), &payment_event.msgs[0]);
8248
- commitment_signed_dance!(nodes[2], nodes[0], payment_event.commitment_msg, false);
8249
-
8250
- expect_pending_htlcs_forwardable!(nodes[2]);
8251
- check_added_monitors!(nodes[2], 1);
8252
-
8253
- let mut events_2 = nodes[2].node.get_and_clear_pending_msg_events();
8254
- assert_eq!(events_2.len(), 1);
8255
- payment_event = SendEvent::from_event(events_2.remove(0));
8256
-
8257
- nodes[3].node.handle_update_add_htlc(&nodes[2].node.get_our_node_id(), &payment_event.msgs[0]);
8258
- check_added_monitors!(nodes[3], 0);
8259
- commitment_signed_dance!(nodes[3], nodes[2], payment_event.commitment_msg, false);
8260
-
8261
- expect_pending_htlcs_forwardable_ignore!(nodes[3]);
8262
- nodes[3].node.process_pending_htlc_forwards();
8263
- expect_pending_htlcs_forwardable_and_htlc_handling_failed_ignore!(nodes[3],
8264
- vec![HTLCDestination::FailedPayment { payment_hash: payment_hash }]);
8265
- nodes[3].node.process_pending_htlc_forwards();
8266
-
8267
- check_added_monitors!(nodes[3], 1);
8268
-
8269
- let fail_updates_1 = get_htlc_update_msgs!(nodes[3], nodes[2].node.get_our_node_id());
8270
- nodes[2].node.handle_update_fail_htlc(&nodes[3].node.get_our_node_id(), &fail_updates_1.update_fail_htlcs[0]);
8271
- commitment_signed_dance!(nodes[2], nodes[3], fail_updates_1.commitment_signed, false);
8272
-
8273
- expect_pending_htlcs_forwardable_and_htlc_handling_failed!(nodes[2],
8274
- vec![HTLCDestination::NextHopChannel { node_id: Some(nodes[3].node.get_our_node_id()), channel_id: chan_2_3.2 }]);
8275
- check_added_monitors!(nodes[2], 1);
8276
-
8277
- let fail_updates_2 = get_htlc_update_msgs!(nodes[2], nodes[0].node.get_our_node_id());
8278
- nodes[0].node.handle_update_fail_htlc(&nodes[2].node.get_our_node_id(), &fail_updates_2.update_fail_htlcs[0]);
8279
- commitment_signed_dance!(nodes[0], nodes[2], fail_updates_2.commitment_signed, false);
8280
-
8281
- expect_payment_failed_conditions(&nodes[0], payment_hash, true, PaymentFailedConditions::new().mpp_parts_remain());
8282
- }
8283
- }
8284
-
8285
- #[test]
8286
- fn test_mpp_keysend() {
8287
- do_test_mpp_keysend(true);
8288
- }
8289
-
8290
- #[test]
8291
- fn test_mpp_keysend_fail() {
8292
- do_test_mpp_keysend(false);
8237
+ let ev = remove_first_msg_event_to_node(&nodes[2].node.get_our_node_id(), &mut events);
8238
+ pass_along_path(&nodes[0], expected_route[1], recv_value, payment_hash.clone(),
8239
+ Some(payment_secret), ev.clone(), true, Some(payment_preimage));
8240
+ claim_payment_along_route(&nodes[0], expected_route, false, payment_preimage);
8293
8241
}
8294
8242
8295
8243
#[test]
0 commit comments