Skip to content

Commit fe812bc

Browse files
committed
Include overpaid value in Route::get_total_fees
1 parent b85ad13 commit fe812bc

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

lightning/src/routing/router.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -346,10 +346,13 @@ pub struct Route {
346346
impl Route {
347347
/// Returns the total amount of fees paid on this [`Route`].
348348
///
349-
/// This doesn't include any extra payment made to the recipient, which can happen in excess of
350-
/// the amount passed to [`find_route`]'s `route_params.final_value_msat`.
349+
/// For objects serialized with LDK 0.0.117 and after, this includes any extra payment made to
350+
/// the recipient, which can happen in excess of the amount passed to [`find_route`] via
351+
/// [`RouteParameters::final_value_msat`].
351352
pub fn get_total_fees(&self) -> u64 {
352-
self.paths.iter().map(|path| path.fee_msat()).sum()
353+
let overpaid_value_msat = self.route_params.as_ref()
354+
.map_or(0, |p| self.get_total_amount().saturating_sub(p.final_value_msat));
355+
overpaid_value_msat + self.paths.iter().map(|path| path.fee_msat()).sum::<u64>()
353356
}
354357

355358
/// Returns the total amount paid on this [`Route`], excluding the fees. Might be more than

0 commit comments

Comments
 (0)