tAllow requests that never expire - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit f08796fe68955e7d2c6381b30a64873e74a3f464 DIR parent daef1a8359cc16acd34c8faad7bd91a1061b5b6a HTML Author: ThomasV <thomasv@electrum.org> Date: Tue, 10 Dec 2019 14:45:29 +0100 Allow requests that never expire Diffstat: M electrum/gui/qt/request_list.py | 2 +- M electrum/util.py | 8 +++++--- M electrum/wallet.py | 6 ++---- 3 files changed, 8 insertions(+), 8 deletions(-) --- DIR diff --git a/electrum/gui/qt/request_list.py b/electrum/gui/qt/request_list.py t@@ -117,7 +117,7 @@ class RequestList(MyTreeView): continue request_type = req['type'] timestamp = req.get('time', 0) - expiration = req.get('exp', None) + expiration = req.get('exp', 0) amount = req.get('amount') message = req.get('message') or req.get('memo') date = format_time(timestamp) DIR diff --git a/electrum/util.py b/electrum/util.py t@@ -104,6 +104,7 @@ pr_tooltips = { } pr_expiration_values = { + 0: _('Never'), 10*60: _('10 minutes'), 60*60: _('1 hour'), 24*60*60: _('1 day'), t@@ -112,12 +113,13 @@ pr_expiration_values = { def get_request_status(req): status = req['status'] - if req['status'] == PR_UNPAID and 'exp' in req and req['time'] + req['exp'] < time.time(): + exp = req.get('exp', 0) + if req['status'] == PR_UNPAID and exp > 0 and req['time'] + req['exp'] < time.time(): status = PR_EXPIRED status_str = pr_tooltips[status] if status == PR_UNPAID: - if req.get('exp'): - expiration = req['exp'] + req['time'] + if exp > 0: + expiration = exp + req['time'] status_str = _('Expires') + ' ' + age(expiration, include_seconds=True) else: status_str = _('Pending') DIR diff --git a/electrum/wallet.py b/electrum/wallet.py t@@ -1527,12 +1527,10 @@ class Abstract_Wallet(AddressSynchronizer): timestamp = r.get('time', 0) if timestamp and type(timestamp) != int: timestamp = 0 - expiration = r.get('exp') - if expiration and type(expiration) != int: - expiration = 0 + exp = r.get('exp', 0) paid, conf = self.get_payment_status(address, amount) if not paid: - if expiration is not None and time.time() > timestamp + expiration: + if exp > 0 and time.time() > timestamp + exp: status = PR_EXPIRED else: status = PR_UNPAID