URI: 
       tPathFinder: change path element semantics from "from node, take edge" to "to get to node, use edge" - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 43eb33327ef066a6a1ee7b79ae4ccca6b285ba5d
   DIR parent 50cc603d914710c3008dc37305ed05fc68777927
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Thu, 17 May 2018 15:52:02 +0200
       
       PathFinder: change path element semantics from "from node, take edge" to "to get to node, use edge"
       
       Diffstat:
         M lib/lnbase.py                       |      12 +++++++-----
       
       1 file changed, 7 insertions(+), 5 deletions(-)
       ---
   DIR diff --git a/lib/lnbase.py b/lib/lnbase.py
       t@@ -18,7 +18,7 @@ import time
        import binascii
        import hashlib
        import hmac
       -from typing import Sequence, Union
       +from typing import Sequence, Union, Tuple
        import cryptography.hazmat.primitives.ciphers.aead as AEAD
        from cryptography.hazmat.primitives.ciphers import Cipher, algorithms
        from cryptography.hazmat.backends import default_backend
       t@@ -1480,11 +1480,12 @@ class LNPathFinder(PrintError):
        
            @profiler
            def find_path_for_payment(self, from_node_id: bytes, to_node_id: bytes,
       -                              amount_msat: int=None) -> Sequence[bytes, bytes]:
       +                              amount_msat: int=None) -> Sequence[Tuple[bytes, bytes]]:
                """Return a path between from_node_id and to_node_id.
        
                Returns a list of (node_id, short_channel_id) representing a path.
       -        To get from node ret[n][0] to ret[n+1][0], use channel ret[n][1]
       +        To get from node ret[n][0] to ret[n+1][0], use channel ret[n+1][1];
       +        i.e. an element reads as, "to get to node_id, travel through short_channel_id"
                """
                # TODO find multiple paths??
        
       t@@ -1519,10 +1520,11 @@ class LNPathFinder(PrintError):
        
                # backtrack from end to start
                cur_node = to_node_id
       -        path = [(cur_node, None)]
       +        path = []
                while cur_node != from_node_id:
       -            cur_node, edge_taken = prev_node[cur_node]
       +            prev_node_id, edge_taken = prev_node[cur_node]
                    path += [(cur_node, edge_taken)]
       +            cur_node = prev_node_id
                path.reverse()
                return path