@@ -2566,24 +2566,49 @@ pub fn do_claim_payment_along_route<'a, 'b, 'c>(
25662566 origin_node : & Node < ' a , ' b , ' c > , expected_paths : & [ & [ & Node < ' a , ' b , ' c > ] ] , skip_last : bool ,
25672567 our_payment_preimage : PaymentPreimage
25682568) -> u64 {
2569- let extra_fees = vec ! [ 0 ; expected_paths. len( ) ] ;
2570- do_claim_payment_along_route_with_extra_penultimate_hop_fees ( origin_node, expected_paths,
2571- & extra_fees[ ..] , skip_last, our_payment_preimage)
2572- }
2573-
2574- pub fn do_claim_payment_along_route_with_extra_penultimate_hop_fees < ' a , ' b , ' c > (
2575- origin_node : & Node < ' a , ' b , ' c > , expected_paths : & [ & [ & Node < ' a , ' b , ' c > ] ] , expected_extra_fees :
2576- & [ u32 ] , skip_last : bool , our_payment_preimage : PaymentPreimage
2577- ) -> u64 {
2578- assert_eq ! ( expected_paths. len( ) , expected_extra_fees. len( ) ) ;
25792569 for path in expected_paths. iter ( ) {
25802570 assert_eq ! ( path. last( ) . unwrap( ) . node. get_our_node_id( ) , expected_paths[ 0 ] . last( ) . unwrap( ) . node. get_our_node_id( ) ) ;
25812571 }
25822572 expected_paths[ 0 ] . last ( ) . unwrap ( ) . node . claim_funds ( our_payment_preimage) ;
2583- pass_claimed_payment_along_route ( origin_node, expected_paths, expected_extra_fees, skip_last, our_payment_preimage)
2573+ pass_claimed_payment_along_route (
2574+ ClaimAlongRouteArgs :: new ( origin_node, expected_paths, our_payment_preimage)
2575+ . skip_last ( skip_last)
2576+ )
2577+ }
2578+
2579+ pub struct ClaimAlongRouteArgs < ' a , ' b , ' c , ' d > {
2580+ pub origin_node : & ' a Node < ' b , ' c , ' d > ,
2581+ pub expected_paths : & ' a [ & ' a [ & ' a Node < ' b , ' c , ' d > ] ] ,
2582+ pub expected_extra_fees : Vec < u32 > ,
2583+ pub skip_last : bool ,
2584+ pub payment_preimage : PaymentPreimage ,
25842585}
25852586
2586- pub fn pass_claimed_payment_along_route < ' a , ' b , ' c > ( origin_node : & Node < ' a , ' b , ' c > , expected_paths : & [ & [ & Node < ' a , ' b , ' c > ] ] , expected_extra_fees : & [ u32 ] , skip_last : bool , our_payment_preimage : PaymentPreimage ) -> u64 {
2587+ impl < ' a , ' b , ' c , ' d > ClaimAlongRouteArgs < ' a , ' b , ' c , ' d > {
2588+ pub fn new (
2589+ origin_node : & ' a Node < ' b , ' c , ' d > , expected_paths : & ' a [ & ' a [ & ' a Node < ' b , ' c , ' d > ] ] ,
2590+ payment_preimage : PaymentPreimage ,
2591+ ) -> Self {
2592+ Self {
2593+ origin_node, expected_paths, expected_extra_fees : vec ! [ 0 ; expected_paths. len( ) ] ,
2594+ skip_last : false , payment_preimage,
2595+ }
2596+ }
2597+ pub fn skip_last ( mut self , skip_last : bool ) -> Self {
2598+ self . skip_last = skip_last;
2599+ self
2600+ }
2601+ pub fn with_expected_extra_fees ( mut self , extra_fees : Vec < u32 > ) -> Self {
2602+ self . expected_extra_fees = extra_fees;
2603+ self
2604+ }
2605+ }
2606+
2607+ pub fn pass_claimed_payment_along_route < ' a , ' b , ' c , ' d > ( args : ClaimAlongRouteArgs ) -> u64 {
2608+ let ClaimAlongRouteArgs {
2609+ origin_node, expected_paths, expected_extra_fees, skip_last,
2610+ payment_preimage : our_payment_preimage
2611+ } = args;
25872612 let claim_event = expected_paths[ 0 ] . last ( ) . unwrap ( ) . node . get_and_clear_pending_events ( ) ;
25882613 assert_eq ! ( claim_event. len( ) , 1 ) ;
25892614 match claim_event[ 0 ] {
0 commit comments