lnworker.get_invoice_status: test if invoice is expired
This commit is contained in:
@@ -272,7 +272,9 @@ class LnAddr(object):
|
|||||||
def get_expiry(self):
|
def get_expiry(self):
|
||||||
return int(self.get_tag('x') or '3600')
|
return int(self.get_tag('x') or '3600')
|
||||||
|
|
||||||
|
def is_expired(self):
|
||||||
|
now = time.time()
|
||||||
|
return now > self.get_expiry() + self.date
|
||||||
|
|
||||||
def lndecode(a, verbose=False, expected_hrp=None):
|
def lndecode(a, verbose=False, expected_hrp=None):
|
||||||
if expected_hrp is None:
|
if expected_hrp is None:
|
||||||
|
|||||||
@@ -397,7 +397,13 @@ class LNWallet(LNWorker):
|
|||||||
if key not in self.invoices:
|
if key not in self.invoices:
|
||||||
return PR_UNKNOWN
|
return PR_UNKNOWN
|
||||||
invoice, direction, is_paid = self.invoices[key]
|
invoice, direction, is_paid = self.invoices[key]
|
||||||
return PR_PAID if is_paid else PR_UNPAID
|
lnaddr = lndecode(invoice, expected_hrp=constants.net.SEGWIT_HRP)
|
||||||
|
if is_paid:
|
||||||
|
return PR_PAID
|
||||||
|
elif lnaddr.is_expired():
|
||||||
|
return PR_EXPIRED
|
||||||
|
else:
|
||||||
|
return PR_UNPAID
|
||||||
|
|
||||||
def get_payments(self):
|
def get_payments(self):
|
||||||
# return one item per payment_hash
|
# return one item per payment_hash
|
||||||
|
|||||||
Reference in New Issue
Block a user