URI: 
       tlnworker: add fees from private path to the amount passed to find_route. (see #7050) - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit bf1d51695953297421dc7453835af10de9354ce3
   DIR parent 391dba7117182237aad4195ce95a28cde999b6aa
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Wed, 24 Feb 2021 16:11:15 +0100
       
       lnworker: add fees from private path to the amount passed to find_route.
       (see #7050)
       
       Diffstat:
         M electrum/lnworker.py                |       5 ++++-
       
       1 file changed, 4 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/electrum/lnworker.py b/electrum/lnworker.py
       t@@ -1473,6 +1473,7 @@ class LNWallet(LNWorker):
                # first try with routing hints, then without
                for private_path in r_tags + [[]]:
                    private_route = []
       +            amount_for_node = amount_msat
                    path = full_path
                    if len(private_path) > NUM_MAX_EDGES_IN_PAYMENT_PATH:
                        continue
       t@@ -1507,6 +1508,8 @@ class LNWallet(LNWorker):
                                    cltv_expiry_delta=cltv_expiry_delta,
                                    node_features=node_info.features if node_info else 0))
                            prev_node_id = node_pubkey
       +                for edge in private_route[::-1]:
       +                    amount_for_node += edge.fee_for_edge(amount_for_node)
                        if full_path:
                            # user pre-selected path. check that end of given path coincides with private_route:
                            if [edge.short_channel_id for edge in full_path[-len(private_path):]] != [edge[1] for edge in private_path]:
       t@@ -1514,7 +1517,7 @@ class LNWallet(LNWorker):
                            path = full_path[:-len(private_path)]
                    try:
                        route = self.network.path_finder.find_route(
       -                    self.node_keypair.pubkey, border_node_pubkey, amount_msat,
       +                    self.node_keypair.pubkey, border_node_pubkey, amount_for_node,
                            path=path, my_channels=scid_to_my_channels, blacklist=blacklist)
                    except NoChannelPolicy:
                        continue