URI: 
       tfollow-up prev commit: pass is_mine to _edge_cost - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit e43a3bc63a5ae830094e9ff44f25643f6d9afcf6
   DIR parent b55f9e9e6a2a578c9bd642baeef108e998bb379e
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Mon, 15 Jul 2019 09:23:31 +0200
       
       follow-up prev commit: pass is_mine to _edge_cost
       
       Diffstat:
         M electrum/lnrouter.py                |      10 ++++++----
       
       1 file changed, 6 insertions(+), 4 deletions(-)
       ---
   DIR diff --git a/electrum/lnrouter.py b/electrum/lnrouter.py
       t@@ -134,7 +134,7 @@ class LNPathFinder(Logger):
                self.blacklist.add(short_channel_id)
        
            def _edge_cost(self, short_channel_id: bytes, start_node: bytes, end_node: bytes,
       -                   payment_amt_msat: int, ignore_costs=False) -> Tuple[float, int]:
       +                   payment_amt_msat: int, ignore_costs=False, is_mine=False) -> Tuple[float, int]:
                """Heuristic cost of going through a channel.
                Returns (heuristic_cost, fee_for_edge_msat).
                """
       t@@ -145,7 +145,7 @@ class LNPathFinder(Logger):
                if channel_policy is None:
                    return float('inf'), 0
                # channels that did not publish both policies often return temporary channel failure
       -        if self.channel_db.get_policy_for_node(short_channel_id, end_node) is None:
       +        if self.channel_db.get_policy_for_node(short_channel_id, end_node) is None and not is_mine:
                    return float('inf'), 0
                if channel_policy.is_disabled():
                    return float('inf'), 0
       t@@ -195,7 +195,8 @@ class LNPathFinder(Logger):
                nodes_to_explore.put((0, invoice_amount_msat, nodeB))  # order of fields (in tuple) matters!
        
                def inspect_edge():
       -            if edge_channel_id in my_channels:
       +            is_mine = edge_channel_id in my_channels
       +            if is_mine:
                        if edge_startnode == nodeA:  # payment outgoing, on our channel
                            if not my_channels[edge_channel_id].can_pay(amount_msat):
                                return
       t@@ -207,7 +208,8 @@ class LNPathFinder(Logger):
                        start_node=edge_startnode,
                        end_node=edge_endnode,
                        payment_amt_msat=amount_msat,
       -                ignore_costs=(edge_startnode == nodeA))
       +                ignore_costs=(edge_startnode == nodeA),
       +                is_mine=is_mine)
                    alt_dist_to_neighbour = distance_from_start[edge_endnode] + edge_cost
                    if alt_dist_to_neighbour < distance_from_start[edge_startnode]:
                        distance_from_start[edge_startnode] = alt_dist_to_neighbour