@@ -2421,7 +2421,8 @@ fn auto_retry_partial_failure() {
24212421 let payment_params = PaymentParameters :: from_node_id ( nodes[ 1 ] . node . get_our_node_id ( ) , TEST_FINAL_CLTV )
24222422 . with_expiry_time ( payment_expiry_secs as u64 )
24232423 . 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 ;
24252426
24262427 // Configure the initial send, retry1 and retry2's paths.
24272428 let send_route = Route {
@@ -2487,14 +2488,16 @@ fn auto_retry_partial_failure() {
24872488 nodes[ 0 ] . router . expect_find_route ( route_params. clone ( ) , Ok ( send_route) ) ;
24882489 let mut payment_params = route_params. payment_params . clone ( ) ;
24892490 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+
24932496 let mut payment_params = route_params. payment_params . clone ( ) ;
24942497 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) ) ;
24982501
24992502 // Send a payment that will partially fail on send, then partially fail on retry, then succeed.
25002503 nodes[ 0 ] . node . send_payment ( payment_hash, RecipientOnionFields :: secret_only ( payment_secret) ,
@@ -2718,8 +2721,9 @@ fn retry_multi_path_single_failed_payment() {
27182721 let payment_params = PaymentParameters :: from_node_id ( nodes[ 1 ] . node . get_our_node_id ( ) , TEST_FINAL_CLTV )
27192722 . with_expiry_time ( payment_expiry_secs as u64 )
27202723 . 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 (
27222725 payment_params. clone ( ) , amt_msat) ;
2726+ route_params. max_total_routing_fee_msat = None ;
27232727
27242728 let chans = nodes[ 0 ] . node . list_usable_channels ( ) ;
27252729 let mut route = Route {
@@ -2751,11 +2755,12 @@ fn retry_multi_path_single_failed_payment() {
27512755 route. paths [ 1 ] . hops [ 0 ] . fee_msat = 50_000_000 ;
27522756 let mut pay_params = route. route_params . clone ( ) . unwrap ( ) . payment_params ;
27532757 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 ( ) ) ) ;
27592764
27602765 {
27612766 let scorer = chanmon_cfgs[ 0 ] . scorer . read ( ) . unwrap ( ) ;
@@ -2898,7 +2903,8 @@ fn no_extra_retries_on_back_to_back_fail() {
28982903 let payment_params = PaymentParameters :: from_node_id ( nodes[ 1 ] . node . get_our_node_id ( ) , TEST_FINAL_CLTV )
28992904 . with_expiry_time ( payment_expiry_secs as u64 )
29002905 . 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 ;
29022908
29032909 let mut route = Route {
29042910 paths : vec ! [
@@ -2941,15 +2947,16 @@ fn no_extra_retries_on_back_to_back_fail() {
29412947 PaymentParameters :: from_node_id ( nodes[ 2 ] . node . get_our_node_id ( ) , TEST_FINAL_CLTV ) ,
29422948 100_000_000 ) ) ,
29432949 } ;
2950+ route. route_params . as_mut ( ) . unwrap ( ) . max_total_routing_fee_msat = None ;
29442951 nodes[ 0 ] . router . expect_find_route ( route_params. clone ( ) , Ok ( route. clone ( ) ) ) ;
29452952 let mut second_payment_params = route_params. payment_params . clone ( ) ;
29462953 second_payment_params. previously_failed_channels = vec ! [ chan_2_scid, chan_2_scid] ;
29472954 // On retry, we'll only return one path
29482955 route. paths . remove ( 1 ) ;
29492956 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 ( ) ) ) ;
29532960
29542961 nodes[ 0 ] . node . send_payment ( payment_hash, RecipientOnionFields :: secret_only ( payment_secret) ,
29552962 PaymentId ( payment_hash. 0 ) , route_params, Retry :: Attempts ( 1 ) ) . unwrap ( ) ;
@@ -3102,7 +3109,8 @@ fn test_simple_partial_retry() {
31023109 let payment_params = PaymentParameters :: from_node_id ( nodes[ 1 ] . node . get_our_node_id ( ) , TEST_FINAL_CLTV )
31033110 . with_expiry_time ( payment_expiry_secs as u64 )
31043111 . 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 ;
31063114
31073115 let mut route = Route {
31083116 paths : vec ! [
@@ -3145,14 +3153,15 @@ fn test_simple_partial_retry() {
31453153 PaymentParameters :: from_node_id ( nodes[ 2 ] . node . get_our_node_id ( ) , TEST_FINAL_CLTV ) ,
31463154 100_000_000 ) ) ,
31473155 } ;
3156+ route. route_params . as_mut ( ) . unwrap ( ) . max_total_routing_fee_msat = None ;
31483157 nodes[ 0 ] . router . expect_find_route ( route_params. clone ( ) , Ok ( route. clone ( ) ) ) ;
31493158 let mut second_payment_params = route_params. payment_params . clone ( ) ;
31503159 second_payment_params. previously_failed_channels = vec ! [ chan_2_scid] ;
31513160 // On retry, we'll only be asked for one path (or 100k sats)
31523161 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 ( ) ) ) ;
31563165
31573166 nodes[ 0 ] . node . send_payment ( payment_hash, RecipientOnionFields :: secret_only ( payment_secret) ,
31583167 PaymentId ( payment_hash. 0 ) , route_params, Retry :: Attempts ( 1 ) ) . unwrap ( ) ;
0 commit comments