@@ -2550,24 +2550,49 @@ pub fn do_claim_payment_along_route<'a, 'b, 'c>(
25502550 origin_node : & Node < ' a , ' b , ' c > , expected_paths : & [ & [ & Node < ' a , ' b , ' c > ] ] , skip_last : bool ,
25512551 our_payment_preimage : PaymentPreimage
25522552) -> u64 {
2553- let extra_fees = vec ! [ 0 ; expected_paths. len( ) ] ;
2554- do_claim_payment_along_route_with_extra_penultimate_hop_fees ( origin_node, expected_paths,
2555- & extra_fees[ ..] , skip_last, our_payment_preimage)
2556- }
2557-
2558- pub fn do_claim_payment_along_route_with_extra_penultimate_hop_fees < ' a , ' b , ' c > (
2559- origin_node : & Node < ' a , ' b , ' c > , expected_paths : & [ & [ & Node < ' a , ' b , ' c > ] ] , expected_extra_fees :
2560- & [ u32 ] , skip_last : bool , our_payment_preimage : PaymentPreimage
2561- ) -> u64 {
2562- assert_eq ! ( expected_paths. len( ) , expected_extra_fees. len( ) ) ;
25632553 for path in expected_paths. iter ( ) {
25642554 assert_eq ! ( path. last( ) . unwrap( ) . node. get_our_node_id( ) , expected_paths[ 0 ] . last( ) . unwrap( ) . node. get_our_node_id( ) ) ;
25652555 }
25662556 expected_paths[ 0 ] . last ( ) . unwrap ( ) . node . claim_funds ( our_payment_preimage) ;
2567- pass_claimed_payment_along_route ( origin_node, expected_paths, expected_extra_fees, skip_last, our_payment_preimage)
2557+ pass_claimed_payment_along_route (
2558+ ClaimAlongRouteArgs :: new ( origin_node, expected_paths, our_payment_preimage)
2559+ . skip_last ( skip_last)
2560+ )
2561+ }
2562+
2563+ pub struct ClaimAlongRouteArgs < ' a , ' b , ' c , ' d > {
2564+ pub origin_node : & ' a Node < ' b , ' c , ' d > ,
2565+ pub expected_paths : & ' a [ & ' a [ & ' a Node < ' b , ' c , ' d > ] ] ,
2566+ pub expected_extra_fees : Vec < u32 > ,
2567+ pub skip_last : bool ,
2568+ pub payment_preimage : PaymentPreimage ,
2569+ }
2570+
2571+ impl < ' a , ' b , ' c , ' d > ClaimAlongRouteArgs < ' a , ' b , ' c , ' d > {
2572+ pub fn new (
2573+ origin_node : & ' a Node < ' b , ' c , ' d > , expected_paths : & ' a [ & ' a [ & ' a Node < ' b , ' c , ' d > ] ] ,
2574+ payment_preimage : PaymentPreimage ,
2575+ ) -> Self {
2576+ Self {
2577+ origin_node, expected_paths, expected_extra_fees : vec ! [ 0 ; expected_paths. len( ) ] ,
2578+ skip_last : false , payment_preimage,
2579+ }
2580+ }
2581+ pub fn skip_last ( mut self , skip_last : bool ) -> Self {
2582+ self . skip_last = skip_last;
2583+ self
2584+ }
2585+ pub fn with_expected_extra_fees ( mut self , extra_fees : Vec < u32 > ) -> Self {
2586+ self . expected_extra_fees = extra_fees;
2587+ self
2588+ }
25682589}
25692590
2570- 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 {
2591+ pub fn pass_claimed_payment_along_route < ' a , ' b , ' c , ' d > ( args : ClaimAlongRouteArgs ) -> u64 {
2592+ let ClaimAlongRouteArgs {
2593+ origin_node, expected_paths, expected_extra_fees, skip_last,
2594+ payment_preimage : our_payment_preimage
2595+ } = args;
25712596 let claim_event = expected_paths[ 0 ] . last ( ) . unwrap ( ) . node . get_and_clear_pending_events ( ) ;
25722597 assert_eq ! ( claim_event. len( ) , 1 ) ;
25732598 match claim_event[ 0 ] {
0 commit comments