Skip to content

Commit 7ec4ab4

Browse files
committed
f: Introduce the legacy macro
- This allows supporting the legacy `_max_total_routing_fee_msat`.
1 parent 65b3172 commit 7ec4ab4

File tree

1 file changed

+36
-5
lines changed

1 file changed

+36
-5
lines changed

lightning/src/ln/outbound_payment.rs

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2400,15 +2400,35 @@ impl_writeable_tlv_based_enum_upgradable!(PendingOutboundPayment,
24002400
(5, AwaitingInvoice) => {
24012401
(0, expiration, required),
24022402
(2, retry_strategy, required),
2403-
// TODO: Add support for legacy `max_total_routing_fee_msat`
2403+
(4, _max_total_routing_fee_msat, (legacy, u64,
2404+
|us: &PendingOutboundPayment| match us {
2405+
PendingOutboundPayment::AwaitingInvoice { route_params_config, .. } => route_params_config.max_total_routing_fee_msat,
2406+
_ => None,
2407+
}
2408+
)),
24042409
(5, retryable_invoice_request, option),
2405-
(7, route_params_config, (default_value, RouteParametersConfig::new())),
2410+
(7, route_params_config, (default_value, (
2411+
_max_total_routing_fee_msat.map_or(
2412+
RouteParametersConfig::new(),
2413+
|fee_msat| RouteParametersConfig::new().with_max_total_routing_fee_msat(fee_msat)
2414+
)
2415+
))),
24062416
},
24072417
(7, InvoiceReceived) => {
24082418
(0, payment_hash, required),
24092419
(2, retry_strategy, required),
2410-
(3, route_params_config, (default_value, RouteParametersConfig::new())),
2411-
// TODO: Add support for legacy `max_total_routing_fee_msat`
2420+
(3, route_params_config, (default_value, (
2421+
_max_total_routing_fee_msat.map_or(
2422+
RouteParametersConfig::new(),
2423+
|fee_msat| RouteParametersConfig::new().with_max_total_routing_fee_msat(fee_msat)
2424+
)
2425+
))),
2426+
(4, _max_total_routing_fee_msat, (legacy, u64,
2427+
|us: &PendingOutboundPayment| match us {
2428+
PendingOutboundPayment::InvoiceReceived { route_params_config, .. } => route_params_config.max_total_routing_fee_msat,
2429+
_ => None,
2430+
}
2431+
)),
24122432
},
24132433
// Added in 0.1. Prior versions will drop these outbounds on downgrade, which is safe because no
24142434
// HTLCs are in-flight.
@@ -2424,7 +2444,18 @@ impl_writeable_tlv_based_enum_upgradable!(PendingOutboundPayment,
24242444
(11, AwaitingOffer) => {
24252445
(0, expiration, required),
24262446
(2, retry_strategy, required),
2427-
(5, route_params_config, (default_value, RouteParametersConfig::new())),
2447+
(4, _max_total_routing_fee_msat, (legacy, u64,
2448+
|us: &PendingOutboundPayment| match us {
2449+
PendingOutboundPayment::AwaitingOffer { route_params_config, .. } => route_params_config.max_total_routing_fee_msat,
2450+
_ => None,
2451+
}
2452+
)),
2453+
(5, route_params_config, (default_value, (
2454+
_max_total_routing_fee_msat.map_or(
2455+
RouteParametersConfig::new(),
2456+
|fee_msat| RouteParametersConfig::new().with_max_total_routing_fee_msat(fee_msat)
2457+
)
2458+
))),
24282459
(6, amount_msats, required),
24292460
},
24302461
);

0 commit comments

Comments
 (0)