URI: 
       tlnworker: minor clean-up re payment_completed - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 962628ac3d3d409a124c10f0b11960829cc575df
   DIR parent 11c0c0d5a1eb03680ef88926f2d15b60f4a95bd2
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Tue, 26 Feb 2019 16:31:09 +0100
       
       lnworker: minor clean-up re payment_completed
       
       Diffstat:
         M electrum/gui/qt/request_list.py     |       2 +-
         M electrum/lnchannel.py               |       3 ++-
         M electrum/lnworker.py                |      15 +++++++++------
       
       3 files changed, 12 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/electrum/gui/qt/request_list.py b/electrum/gui/qt/request_list.py
       t@@ -178,7 +178,7 @@ class RequestList(MyTreeView):
                if request_type == REQUEST_TYPE_BITCOIN:
                    req = self.wallet.receive_requests.get(addr)
                elif request_type == REQUEST_TYPE_LN:
       -            req = self.wallet.lnworker.invoices[addr][1]
       +            req = self.wallet.lnworker.invoices[addr][0]
                if req is None:
                    self.update()
                    return
   DIR diff --git a/electrum/lnchannel.py b/electrum/lnchannel.py
       t@@ -119,7 +119,8 @@ class Channel(PrintError):
                except:
                    return super().diagnostic_name()
        
       -    def __init__(self, state, sweep_address = None, name = None, payment_completed : Optional[Callable[[Direction, UpdateAddHtlc, bytes], None]] = None):
       +    def __init__(self, state, *, sweep_address=None, name=None,
       +                 payment_completed: Optional[Callable[['Channel', Direction, UpdateAddHtlc, bytes], None]] = None):
                self.preimages = {}
                if not payment_completed:
                    payment_completed = lambda this, x, y, z: None
   DIR diff --git a/electrum/lnworker.py b/electrum/lnworker.py
       t@@ -125,11 +125,12 @@ class LNWorker(PrintError):
                    self.storage.write()
                    self.print_error('saved lightning gossip timestamp')
        
       -    def payment_completed(self, chan, direction, htlc, _preimage):
       +    def payment_completed(self, chan: Channel, direction: Direction,
       +                          htlc: UpdateAddHtlc, preimage: Optional[bytes]):
                chan_id = chan.channel_id
       -        preimage = _preimage if _preimage else self.get_preimage(htlc.payment_hash)
       -        timestamp = time.time()
       -        self.save_preimage(htlc.payment_hash, preimage, timestamp)
       +        preimage = preimage if preimage else self.get_preimage(htlc.payment_hash)
       +        timestamp = int(time.time())
       +        self.save_preimage(htlc.payment_hash, preimage, timestamp=timestamp)
                self.network.trigger_callback('ln_payment_completed', timestamp, direction, htlc, preimage, chan_id)
        
            def get_invoice_status(self, payment_hash):
       t@@ -552,11 +553,13 @@ class LNWorker(PrintError):
                                               + routing_hints),
                                   self.node_keypair.privkey)
                self.save_invoice(payment_hash, invoice, RECEIVED)
       -        self.save_preimage(payment_hash, payment_preimage, 0)
       +        self.save_preimage(payment_hash, payment_preimage, timestamp=None)
                return invoice
        
       -    def save_preimage(self, payment_hash:bytes, preimage:bytes, timestamp:int):
       +    def save_preimage(self, payment_hash: bytes, preimage: bytes, *, timestamp: Optional[int]):
                assert sha256(preimage) == payment_hash
       +        if timestamp is not None:
       +            timestamp = int(timestamp)
                key = bh2u(payment_hash)
                self.preimages[key] = bh2u(preimage), timestamp
                self.storage.put('lightning_preimages', self.preimages)