tlnworker: set invoice status if htlcs are received from previous session - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
DIR commit 7f3542f0801239cfe5e81feac6b54ad90213c289
DIR parent bf4a9d7909ac98332fbec93e256032b1fad8e3c3
HTML Author: ThomasV <thomasv@electrum.org>
Date: Thu, 5 Mar 2020 10:51:22 +0100
lnworker: set invoice status if htlcs are received from previous session
Diffstat:
M electrum/lnworker.py | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
---
DIR diff --git a/electrum/lnworker.py b/electrum/lnworker.py
t@@ -1201,16 +1201,22 @@ class LNWallet(LNWorker):
def payment_failed(self, chan, payment_hash: bytes, reason):
self.set_payment_status(payment_hash, PR_UNPAID)
- f = self.pending_payments[payment_hash]
- if not f.cancelled():
+ f = self.pending_payments.get(payment_hash)
+ if f and not f.cancelled():
f.set_result((False, None, reason))
+ else:
+ self.logger.info('received unexpected payment_failed, probably from previous session')
+ self.network.trigger_callback('invoice_status', payment_hash.hex())
def payment_sent(self, chan, payment_hash: bytes):
self.set_payment_status(payment_hash, PR_PAID)
preimage = self.get_preimage(payment_hash)
- f = self.pending_payments[payment_hash]
- if not f.cancelled():
+ f = self.pending_payments.get(payment_hash)
+ if f and not f.cancelled():
f.set_result((True, preimage, None))
+ else:
+ self.logger.info('received unexpected payment_sent, probably from previous session')
+ self.network.trigger_callback('invoice_status', payment_hash.hex())
self.network.trigger_callback('ln_payment_completed', payment_hash, chan.channel_id)
def payment_received(self, chan, payment_hash: bytes):