File tree Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -348,10 +348,15 @@ pub struct Route {
348
348
impl Route {
349
349
/// Returns the total amount of fees paid on this [`Route`].
350
350
///
351
- /// This doesn't include any extra payment made to the recipient, which can happen in excess of
352
- /// the amount passed to [`find_route`]'s `route_params.final_value_msat`.
351
+ /// For objects serialized with LDK 0.0.117 and after, this includes any extra payment made to
352
+ /// the recipient, which can happen in excess of the amount passed to [`find_route`] via
353
+ /// [`RouteParameters::final_value_msat`], if we had to reach the [`htlc_minimum_msat`] limits.
354
+ ///
355
+ /// [`htlc_minimum_msat`]: https://github.com/lightning/bolts/blob/master/07-routing-gossip.md#the-channel_update-message
353
356
pub fn get_total_fees ( & self ) -> u64 {
354
- self . paths . iter ( ) . map ( |path| path. fee_msat ( ) ) . sum ( )
357
+ let overpaid_value_msat = self . route_params . as_ref ( )
358
+ . map_or ( 0 , |p| self . get_total_amount ( ) . saturating_sub ( p. final_value_msat ) ) ;
359
+ overpaid_value_msat + self . paths . iter ( ) . map ( |path| path. fee_msat ( ) ) . sum :: < u64 > ( )
355
360
}
356
361
357
362
/// Returns the total amount paid on this [`Route`], excluding the fees. Might be more than
You can’t perform that action at this time.
0 commit comments