]> git.bitcoin.ninja Git - rust-lightning/commit
[router] Calc min-to-node fees based on min value, not est value
authorMatt Corallo <git@bluematt.me>
Sat, 27 Mar 2021 16:27:44 +0000 (12:27 -0400)
committerMatt Corallo <git@bluematt.me>
Wed, 7 Apr 2021 01:41:45 +0000 (21:41 -0400)
commitb728216fd98a4b3996a5e51d1219c901dd09b4c2
tree1bccd50fa9d52d6de99b87d3f9b301cbfb319dd8
parented54379ee4bfdfd461d201f3020023cdd082d72e
[router] Calc min-to-node fees based on min value, not est value

When walking the network graph to calculate a route, we always
calculate the minimum fee which is required to make one further
hop. This avoids some extra hop processing at the end of each path
selection loop (saving around 10% runtime in our benchmarks).

However, if we use the real value which we expect
to send over a channel in that calculation, we may find an
alternate path to the same node which is more expensive but
capacity-constrained, resulting in us considering it cheaper as the
relative fee paid will be lower.

Instead, we can use the `minimal_value_contribution_msat`, which is
a constant through an entire path finding iteration, as the amount,
preventing any basis change in the relative fee paid.
lightning/src/routing/router.rs