@@ -2566,6 +2566,7 @@ pub struct ClaimAlongRouteArgs<'a, 'b, 'c, 'd> {
2566
2566
pub origin_node : & ' a Node < ' b , ' c , ' d > ,
2567
2567
pub expected_paths : & ' a [ & ' a [ & ' a Node < ' b , ' c , ' d > ] ] ,
2568
2568
pub expected_extra_fees : Vec < u32 > ,
2569
+ pub expected_min_htlc_overpay : Vec < u32 > ,
2569
2570
pub skip_last : bool ,
2570
2571
pub payment_preimage : PaymentPreimage ,
2571
2572
}
@@ -2577,7 +2578,7 @@ impl<'a, 'b, 'c, 'd> ClaimAlongRouteArgs<'a, 'b, 'c, 'd> {
2577
2578
) -> Self {
2578
2579
Self {
2579
2580
origin_node, expected_paths, expected_extra_fees : vec ! [ 0 ; expected_paths. len( ) ] ,
2580
- skip_last : false , payment_preimage,
2581
+ expected_min_htlc_overpay : vec ! [ 0 ; expected_paths . len ( ) ] , skip_last : false , payment_preimage,
2581
2582
}
2582
2583
}
2583
2584
pub fn skip_last ( mut self , skip_last : bool ) -> Self {
@@ -2588,11 +2589,15 @@ impl<'a, 'b, 'c, 'd> ClaimAlongRouteArgs<'a, 'b, 'c, 'd> {
2588
2589
self . expected_extra_fees = extra_fees;
2589
2590
self
2590
2591
}
2592
+ pub fn with_expected_min_htlc_overpay ( mut self , extra_fees : Vec < u32 > ) -> Self {
2593
+ self . expected_min_htlc_overpay = extra_fees;
2594
+ self
2595
+ }
2591
2596
}
2592
2597
2593
2598
pub fn pass_claimed_payment_along_route < ' a , ' b , ' c , ' d > ( args : ClaimAlongRouteArgs ) -> u64 {
2594
2599
let ClaimAlongRouteArgs {
2595
- origin_node, expected_paths, expected_extra_fees, skip_last,
2600
+ origin_node, expected_paths, expected_extra_fees, expected_min_htlc_overpay , skip_last,
2596
2601
payment_preimage : our_payment_preimage
2597
2602
} = args;
2598
2603
let claim_event = expected_paths[ 0 ] . last ( ) . unwrap ( ) . node . get_and_clear_pending_events ( ) ;
@@ -2691,7 +2696,10 @@ pub fn pass_claimed_payment_along_route<'a, 'b, 'c, 'd>(args: ClaimAlongRouteArg
2691
2696
channel. context( ) . config( ) . forwarding_fee_base_msat
2692
2697
}
2693
2698
} ;
2694
- if $idx == 1 { fee += expected_extra_fees[ i] ; }
2699
+ if $idx == 1 {
2700
+ fee += expected_extra_fees[ i] ;
2701
+ fee += expected_min_htlc_overpay[ i] ;
2702
+ }
2695
2703
expect_payment_forwarded!( * $node, $next_node, $prev_node, Some ( fee as u64 ) , false , false ) ;
2696
2704
expected_total_fee_msat += fee as u64 ;
2697
2705
check_added_monitors!( $node, 1 ) ;
0 commit comments