lnrpc: fix the existing routing fee inaccuracy

When updating the channel routing policy, we encounter an inaccurate
precision error when calculating the routing fee. The issue stems from
the way the IEEE 754 standard works.

The solution here is to add a uint64 parameter (as mentioned in the
issue) and keep the float64 fee_rate parameter but rounding the product
of the base and fee rate.
This commit is contained in:
ErikEk
2021-09-11 23:43:35 +02:00
committed by Olaoluwa Osuntokun
parent 234fdc6c9c
commit ef1eff1058
6 changed files with 837 additions and 770 deletions

View File

@@ -88,6 +88,10 @@ Postgres](https://github.com/lightningnetwork/lnd/pull/6111)
* [Fix missing label on streamed
transactions](https://github.com/lightningnetwork/lnd/pull/5854).
* [The `fee_rate_ppm` parameter/argument was added to
update channel policy](https://github.com/lightningnetwork/lnd/pull/5711)
to prevent truncation error with tiny fee rates.
* [Closing txid is now
exposed](https://github.com/lightningnetwork/lnd/pull/6146) inside
WaitingCloseResp from calling `PendingChannels`.
@@ -114,6 +118,7 @@ Postgres](https://github.com/lightningnetwork/lnd/pull/6111)
* Bjarne Magnussen
* Daniel McNally
* Elle Mouton
* Erik Ek
* Harsha Goli
* Joost Jager
* Martin Habovštiak