@@ -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