Check max_total_routing_fee is reduced in mpp_retry test

We check that the `RouteParameters::max_total_routing_fee` field is reduced accordingly
to our previously used fees.
This commit is contained in:
Elias Rohrer 2023-09-20 15:32:37 +02:00
parent 649144d25f
commit 26b515c13c
No known key found for this signature in database
GPG key ID: 36153082BDF676FD
2 changed files with 13 additions and 2 deletions

View file

@ -1878,7 +1878,11 @@ macro_rules! get_route_and_payment_hash {
$crate::get_route_and_payment_hash!($send_node, $recv_node, payment_params, $recv_value)
}};
($send_node: expr, $recv_node: expr, $payment_params: expr, $recv_value: expr) => {{
let route_params = $crate::routing::router::RouteParameters::from_payment_params_and_value($payment_params, $recv_value);
$crate::get_route_and_payment_hash!($send_node, $recv_node, $payment_params, $recv_value, None)
}};
($send_node: expr, $recv_node: expr, $payment_params: expr, $recv_value: expr, $max_total_routing_fee_msat: expr) => {{
let mut route_params = $crate::routing::router::RouteParameters::from_payment_params_and_value($payment_params, $recv_value);
route_params.max_total_routing_fee_msat = $max_total_routing_fee_msat;
let (payment_preimage, payment_hash, payment_secret) =
$crate::ln::functional_test_utils::get_payment_preimage_hash(&$recv_node, Some($recv_value), None);
let route = $crate::ln::functional_test_utils::get_route(&$send_node, &route_params);

View file

@ -83,7 +83,11 @@ fn mpp_retry() {
send_payment(&nodes[3], &vec!(&nodes[2])[..], 1_500_000);
let amt_msat = 1_000_000;
let (mut route, payment_hash, payment_preimage, payment_secret) = get_route_and_payment_hash!(nodes[0], nodes[3], amt_msat);
let max_total_routing_fee_msat = 50_000;
let payment_params = PaymentParameters::from_node_id(nodes[3].node.get_our_node_id(), TEST_FINAL_CLTV)
.with_bolt11_features(nodes[3].node.invoice_features()).unwrap();
let (mut route, payment_hash, payment_preimage, payment_secret) = get_route_and_payment_hash!(
nodes[0], nodes[3], payment_params, amt_msat, Some(max_total_routing_fee_msat));
let path = route.paths[0].clone();
route.paths.push(path);
route.paths[0].hops[0].pubkey = nodes[1].node.get_our_node_id();
@ -150,6 +154,9 @@ fn mpp_retry() {
route.paths.remove(0);
route_params.final_value_msat = 1_000_000;
route_params.payment_params.previously_failed_channels.push(chan_4_update.contents.short_channel_id);
// Check the remaining max total routing fee for the second attempt is 50_000 - 1_000 msat fee
// used by the first path
route_params.max_total_routing_fee_msat = Some(max_total_routing_fee_msat - 1_000);
nodes[0].router.expect_find_route(route_params, Ok(route));
nodes[0].node.process_pending_htlc_forwards();
check_added_monitors!(nodes[0], 1);