@@ -2421,7 +2421,8 @@ fn auto_retry_partial_failure() {
2421
2421
let payment_params = PaymentParameters :: from_node_id ( nodes[ 1 ] . node . get_our_node_id ( ) , TEST_FINAL_CLTV )
2422
2422
. with_expiry_time ( payment_expiry_secs as u64 )
2423
2423
. with_bolt11_features ( invoice_features) . unwrap ( ) ;
2424
- let route_params = RouteParameters :: from_payment_params_and_value ( payment_params, amt_msat) ;
2424
+ let mut route_params = RouteParameters :: from_payment_params_and_value ( payment_params, amt_msat) ;
2425
+ route_params. max_total_routing_fee_msat = None ;
2425
2426
2426
2427
// Configure the initial send, retry1 and retry2's paths.
2427
2428
let send_route = Route {
@@ -2487,14 +2488,16 @@ fn auto_retry_partial_failure() {
2487
2488
nodes[ 0 ] . router . expect_find_route ( route_params. clone ( ) , Ok ( send_route) ) ;
2488
2489
let mut payment_params = route_params. payment_params . clone ( ) ;
2489
2490
payment_params. previously_failed_channels . push ( chan_2_id) ;
2490
- nodes[ 0 ] . router . expect_find_route (
2491
- RouteParameters :: from_payment_params_and_value ( payment_params, amt_msat / 2 ) ,
2492
- Ok ( retry_1_route) ) ;
2491
+
2492
+ let mut retry_1_params = RouteParameters :: from_payment_params_and_value ( payment_params, amt_msat / 2 ) ;
2493
+ retry_1_params. max_total_routing_fee_msat = None ;
2494
+ nodes[ 0 ] . router . expect_find_route ( retry_1_params, Ok ( retry_1_route) ) ;
2495
+
2493
2496
let mut payment_params = route_params. payment_params . clone ( ) ;
2494
2497
payment_params. previously_failed_channels . push ( chan_3_id) ;
2495
- nodes [ 0 ] . router . expect_find_route (
2496
- RouteParameters :: from_payment_params_and_value ( payment_params , amt_msat / 4 ) ,
2497
- Ok ( retry_2_route) ) ;
2498
+ let mut retry_2_params = RouteParameters :: from_payment_params_and_value ( payment_params , amt_msat / 4 ) ;
2499
+ retry_2_params . max_total_routing_fee_msat = None ;
2500
+ nodes [ 0 ] . router . expect_find_route ( retry_2_params , Ok ( retry_2_route) ) ;
2498
2501
2499
2502
// Send a payment that will partially fail on send, then partially fail on retry, then succeed.
2500
2503
nodes[ 0 ] . node . send_payment ( payment_hash, RecipientOnionFields :: secret_only ( payment_secret) ,
@@ -2718,8 +2721,9 @@ fn retry_multi_path_single_failed_payment() {
2718
2721
let payment_params = PaymentParameters :: from_node_id ( nodes[ 1 ] . node . get_our_node_id ( ) , TEST_FINAL_CLTV )
2719
2722
. with_expiry_time ( payment_expiry_secs as u64 )
2720
2723
. with_bolt11_features ( invoice_features) . unwrap ( ) ;
2721
- let route_params = RouteParameters :: from_payment_params_and_value (
2724
+ let mut route_params = RouteParameters :: from_payment_params_and_value (
2722
2725
payment_params. clone ( ) , amt_msat) ;
2726
+ route_params. max_total_routing_fee_msat = None ;
2723
2727
2724
2728
let chans = nodes[ 0 ] . node . list_usable_channels ( ) ;
2725
2729
let mut route = Route {
@@ -2751,11 +2755,12 @@ fn retry_multi_path_single_failed_payment() {
2751
2755
route. paths [ 1 ] . hops [ 0 ] . fee_msat = 50_000_000 ;
2752
2756
let mut pay_params = route. route_params . clone ( ) . unwrap ( ) . payment_params ;
2753
2757
pay_params. previously_failed_channels . push ( chans[ 1 ] . short_channel_id . unwrap ( ) ) ;
2754
- nodes[ 0 ] . router . expect_find_route (
2755
- // Note that the second request here requests the amount we originally failed to send,
2756
- // not the amount remaining on the full payment, which should be changed.
2757
- RouteParameters :: from_payment_params_and_value ( pay_params, 100_000_001 ) ,
2758
- Ok ( route. clone ( ) ) ) ;
2758
+
2759
+ // Note that the second request here requests the amount we originally failed to send,
2760
+ // not the amount remaining on the full payment, which should be changed.
2761
+ let mut retry_params = RouteParameters :: from_payment_params_and_value ( pay_params, 100_000_001 ) ;
2762
+ retry_params. max_total_routing_fee_msat = None ;
2763
+ nodes[ 0 ] . router . expect_find_route ( retry_params, Ok ( route. clone ( ) ) ) ;
2759
2764
2760
2765
{
2761
2766
let scorer = chanmon_cfgs[ 0 ] . scorer . read ( ) . unwrap ( ) ;
@@ -2898,7 +2903,8 @@ fn no_extra_retries_on_back_to_back_fail() {
2898
2903
let payment_params = PaymentParameters :: from_node_id ( nodes[ 1 ] . node . get_our_node_id ( ) , TEST_FINAL_CLTV )
2899
2904
. with_expiry_time ( payment_expiry_secs as u64 )
2900
2905
. with_bolt11_features ( invoice_features) . unwrap ( ) ;
2901
- let route_params = RouteParameters :: from_payment_params_and_value ( payment_params, amt_msat) ;
2906
+ let mut route_params = RouteParameters :: from_payment_params_and_value ( payment_params, amt_msat) ;
2907
+ route_params. max_total_routing_fee_msat = None ;
2902
2908
2903
2909
let mut route = Route {
2904
2910
paths : vec ! [
@@ -2941,15 +2947,16 @@ fn no_extra_retries_on_back_to_back_fail() {
2941
2947
PaymentParameters :: from_node_id ( nodes[ 2 ] . node . get_our_node_id ( ) , TEST_FINAL_CLTV ) ,
2942
2948
100_000_000 ) ) ,
2943
2949
} ;
2950
+ route. route_params . as_mut ( ) . unwrap ( ) . max_total_routing_fee_msat = None ;
2944
2951
nodes[ 0 ] . router . expect_find_route ( route_params. clone ( ) , Ok ( route. clone ( ) ) ) ;
2945
2952
let mut second_payment_params = route_params. payment_params . clone ( ) ;
2946
2953
second_payment_params. previously_failed_channels = vec ! [ chan_2_scid, chan_2_scid] ;
2947
2954
// On retry, we'll only return one path
2948
2955
route. paths . remove ( 1 ) ;
2949
2956
route. paths [ 0 ] . hops [ 1 ] . fee_msat = amt_msat;
2950
- nodes [ 0 ] . router . expect_find_route (
2951
- RouteParameters :: from_payment_params_and_value ( second_payment_params , amt_msat ) ,
2952
- Ok ( route. clone ( ) ) ) ;
2957
+ let mut retry_params = RouteParameters :: from_payment_params_and_value ( second_payment_params , amt_msat ) ;
2958
+ retry_params . max_total_routing_fee_msat = None ;
2959
+ nodes [ 0 ] . router . expect_find_route ( retry_params , Ok ( route. clone ( ) ) ) ;
2953
2960
2954
2961
nodes[ 0 ] . node . send_payment ( payment_hash, RecipientOnionFields :: secret_only ( payment_secret) ,
2955
2962
PaymentId ( payment_hash. 0 ) , route_params, Retry :: Attempts ( 1 ) ) . unwrap ( ) ;
@@ -3102,7 +3109,8 @@ fn test_simple_partial_retry() {
3102
3109
let payment_params = PaymentParameters :: from_node_id ( nodes[ 1 ] . node . get_our_node_id ( ) , TEST_FINAL_CLTV )
3103
3110
. with_expiry_time ( payment_expiry_secs as u64 )
3104
3111
. with_bolt11_features ( invoice_features) . unwrap ( ) ;
3105
- let route_params = RouteParameters :: from_payment_params_and_value ( payment_params, amt_msat) ;
3112
+ let mut route_params = RouteParameters :: from_payment_params_and_value ( payment_params, amt_msat) ;
3113
+ route_params. max_total_routing_fee_msat = None ;
3106
3114
3107
3115
let mut route = Route {
3108
3116
paths : vec ! [
@@ -3145,14 +3153,15 @@ fn test_simple_partial_retry() {
3145
3153
PaymentParameters :: from_node_id ( nodes[ 2 ] . node . get_our_node_id ( ) , TEST_FINAL_CLTV ) ,
3146
3154
100_000_000 ) ) ,
3147
3155
} ;
3156
+ route. route_params . as_mut ( ) . unwrap ( ) . max_total_routing_fee_msat = None ;
3148
3157
nodes[ 0 ] . router . expect_find_route ( route_params. clone ( ) , Ok ( route. clone ( ) ) ) ;
3149
3158
let mut second_payment_params = route_params. payment_params . clone ( ) ;
3150
3159
second_payment_params. previously_failed_channels = vec ! [ chan_2_scid] ;
3151
3160
// On retry, we'll only be asked for one path (or 100k sats)
3152
3161
route. paths . remove ( 0 ) ;
3153
- nodes [ 0 ] . router . expect_find_route (
3154
- RouteParameters :: from_payment_params_and_value ( second_payment_params , amt_msat / 2 ) ,
3155
- Ok ( route. clone ( ) ) ) ;
3162
+ let mut retry_params = RouteParameters :: from_payment_params_and_value ( second_payment_params , amt_msat / 2 ) ;
3163
+ retry_params . max_total_routing_fee_msat = None ;
3164
+ nodes [ 0 ] . router . expect_find_route ( retry_params , Ok ( route. clone ( ) ) ) ;
3156
3165
3157
3166
nodes[ 0 ] . node . send_payment ( payment_hash, RecipientOnionFields :: secret_only ( payment_secret) ,
3158
3167
PaymentId ( payment_hash. 0 ) , route_params, Retry :: Attempts ( 1 ) ) . unwrap ( ) ;
0 commit comments