URI: 
       tlnhtlc: revert 0c4e7b856f8c96c4f0a33bf3e0d1c8fd8184bd36 - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit a565c500f6090cd9a388dbf5ed9aebac25dd9e3d
   DIR parent 5f164bcbe87ca937c5e4c138f1560c904f6c9c0c
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Tue, 26 Feb 2019 20:21:30 +0100
       
       lnhtlc: revert 0c4e7b856f8c96c4f0a33bf3e0d1c8fd8184bd36
       
       Diffstat:
         M electrum/lnhtlc.py                  |      12 ++++++++++--
       
       1 file changed, 10 insertions(+), 2 deletions(-)
       ---
   DIR diff --git a/electrum/lnhtlc.py b/electrum/lnhtlc.py
       t@@ -11,11 +11,15 @@ class HTLCManager:
                else:
                    assert type(log) is dict
                    log = {HTLCOwner(int(x)): y for x, y in deepcopy(log).items()}
       +            # log[sub]['ctn'] is the ctn for the oldest unrevoked ctx of sub
                    for sub in (LOCAL, REMOTE):
                        log[sub]['adds'] = {int(x): UpdateAddHtlc(*y) for x, y in log[sub]['adds'].items()}
                        coerceHtlcOwner2IntMap = lambda x: {HTLCOwner(int(y)): z for y, z in x.items()}
       +
       +                # "side who offered htlc" -> action -> htlc_id -> whose ctx -> ctn
                        log[sub]['locked_in'] = {int(x): coerceHtlcOwner2IntMap(y) for x, y in log[sub]['locked_in'].items()}
                        log[sub]['settles'] = {int(x): coerceHtlcOwner2IntMap(y) for x, y in log[sub]['settles'].items()}
       +                # FIXME "fails" should be handled like "settles"
                        log[sub]['fails'] = {int(x): y for x, y in log[sub]['fails'].items()}
                self.log = log
        
       t@@ -159,10 +163,14 @@ class HTLCManager:
                return sent + received
        
            def received_in_ctn(self, ctn):
       -        return [self.log[REMOTE]['adds'][htlc_id] for htlc_id, ctnheights in self.log[REMOTE]['settles'].items() if ctnheights[REMOTE] == ctn]
       +        return [self.log[REMOTE]['adds'][htlc_id]
       +                for htlc_id, ctnheights in self.log[REMOTE]['settles'].items()
       +                if ctnheights[LOCAL] == ctn]
        
            def sent_in_ctn(self, ctn):
       -        return [self.log[LOCAL]['adds'][htlc_id] for htlc_id, ctnheights in self.log[LOCAL]['settles'].items() if ctnheights[LOCAL] == ctn]
       +        return [self.log[LOCAL]['adds'][htlc_id]
       +                for htlc_id, ctnheights in self.log[LOCAL]['settles'].items()
       +                if ctnheights[LOCAL] == ctn]
        
            def send_fail(self, htlc_id):
                self.log[REMOTE]['fails'][htlc_id] = self.log[REMOTE]['ctn'] + 1