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