wallet API: remove get_request_status, it is redundant with get_invoice_status
This commit is contained in:
@@ -906,7 +906,7 @@ class Commands:
|
||||
out = wallet.get_sorted_requests()
|
||||
if f is not None:
|
||||
out = [req for req in out
|
||||
if f == wallet.get_request_status(wallet.get_key_for_receive_request(req))]
|
||||
if f == wallet.get_invoice_status(req)]
|
||||
return [wallet.export_request(x) for x in out]
|
||||
|
||||
@command('w')
|
||||
|
||||
@@ -542,7 +542,7 @@ class ReceiveScreen(CScreen):
|
||||
key = self.app.wallet.get_key_for_receive_request(req)
|
||||
amount = req.get_amount_sat()
|
||||
description = req.message
|
||||
status = self.app.wallet.get_request_status(key)
|
||||
status = self.app.wallet.get_invoice_status(req)
|
||||
status_str = req.get_status_str(status)
|
||||
ci = {}
|
||||
ci['screen'] = self
|
||||
@@ -568,7 +568,7 @@ class ReceiveScreen(CScreen):
|
||||
data = payments_container.data
|
||||
for item in data:
|
||||
if item['key'] == key:
|
||||
status = self.app.wallet.get_request_status(key)
|
||||
status = self.app.wallet.get_invoice_status(request)
|
||||
status_str = request.get_status_str(status)
|
||||
item['status'] = status
|
||||
item['status_str'] = status_str
|
||||
|
||||
@@ -64,7 +64,8 @@ class QERequestDetails(QObject):
|
||||
statusChanged = pyqtSignal()
|
||||
@pyqtProperty(int, notify=statusChanged)
|
||||
def status(self):
|
||||
return self._wallet.wallet.get_request_status(self._key)
|
||||
req = self._wallet.get_request(self._key)
|
||||
return self._wallet.wallet.get_invoice_status(req)
|
||||
|
||||
statusStringChanged = pyqtSignal()
|
||||
@pyqtProperty(str, notify=statusStringChanged)
|
||||
|
||||
@@ -114,7 +114,7 @@ class RequestList(MyTreeView):
|
||||
if request is None:
|
||||
return
|
||||
status_item = model.item(row, self.Columns.STATUS)
|
||||
status = self.wallet.get_request_status(key)
|
||||
status = self.wallet.get_invoice_status(request)
|
||||
status_str = request.get_status_str(status)
|
||||
status_item.setText(status_str)
|
||||
status_item.setIcon(read_QIcon(pr_icons.get(status)))
|
||||
@@ -127,7 +127,7 @@ class RequestList(MyTreeView):
|
||||
self.update_headers(self.__class__.headers)
|
||||
for req in self.wallet.get_unpaid_requests():
|
||||
key = self.wallet.get_key_for_receive_request(req)
|
||||
status = self.wallet.get_request_status(key)
|
||||
status = self.wallet.get_invoice_status(req)
|
||||
status_str = req.get_status_str(status)
|
||||
timestamp = req.get_time()
|
||||
amount = req.get_amount_sat()
|
||||
|
||||
@@ -288,7 +288,7 @@ class ElectrumGui(BaseElectrumGui, EventListener):
|
||||
headers = fmt % ("Date", "Description", "Amount", "Status")
|
||||
for req in self.wallet.get_unpaid_requests():
|
||||
key = self.wallet.get_key_for_receive_request(req)
|
||||
status = self.wallet.get_request_status(key)
|
||||
status = self.wallet.get_invoice_status(req)
|
||||
status_str = req.get_status_str(status)
|
||||
timestamp = req.get_time()
|
||||
date = format_time(timestamp)
|
||||
|
||||
@@ -2324,7 +2324,7 @@ class Abstract_Wallet(ABC, Logger, EventListener):
|
||||
return status
|
||||
|
||||
def get_invoice_status(self, invoice: Invoice):
|
||||
"""Returns status of (outgoing) invoice."""
|
||||
"""Returns status of (incoming) request or (outgoing) invoice."""
|
||||
# lightning invoices can be paid onchain
|
||||
if invoice.is_lightning() and self.lnworker:
|
||||
status = self.lnworker.get_invoice_status(invoice)
|
||||
@@ -2340,25 +2340,6 @@ class Abstract_Wallet(ABC, Logger, EventListener):
|
||||
status = PR_PAID
|
||||
return self.check_expired_status(invoice, status)
|
||||
|
||||
def get_request_status(self, key):
|
||||
"""Returns status of (incoming) receive request."""
|
||||
r = self.get_request(key)
|
||||
if r is None:
|
||||
return PR_UNKNOWN
|
||||
if r.is_lightning() and self.lnworker:
|
||||
status = self.lnworker.get_payment_status(bfh(r.rhash))
|
||||
if status != PR_UNPAID:
|
||||
return self.check_expired_status(r, status)
|
||||
paid, conf = self.is_onchain_invoice_paid(r)
|
||||
if not paid:
|
||||
status = PR_UNPAID
|
||||
elif conf == 0:
|
||||
status = PR_UNCONFIRMED
|
||||
else:
|
||||
assert conf >= 1, conf
|
||||
status = PR_PAID
|
||||
return self.check_expired_status(r, status)
|
||||
|
||||
def get_request(self, key: str) -> Optional[Invoice]:
|
||||
if req := self._receive_requests.get(key):
|
||||
return req
|
||||
@@ -2373,7 +2354,7 @@ class Abstract_Wallet(ABC, Logger, EventListener):
|
||||
|
||||
def export_request(self, x: Invoice) -> Dict[str, Any]:
|
||||
key = self.get_key_for_receive_request(x)
|
||||
status = self.get_request_status(key)
|
||||
status = self.get_invoice_status(x)
|
||||
status_str = x.get_status_str(status)
|
||||
is_lightning = x.is_lightning()
|
||||
address = x.get_address()
|
||||
@@ -2451,7 +2432,8 @@ class Abstract_Wallet(ABC, Logger, EventListener):
|
||||
for txo in tx.outputs():
|
||||
addr = txo.address
|
||||
if self.get_request(addr):
|
||||
status = self.get_request_status(addr)
|
||||
req = self.get_request(addr)
|
||||
status = self.get_invoice_status(req)
|
||||
util.trigger_callback('request_status', self, addr, status)
|
||||
for invoice_key in self._invoices_from_scriptpubkey_map.get(txo.scriptpubkey, set()):
|
||||
relevant_invoice_keys.add(invoice_key)
|
||||
@@ -2563,8 +2545,7 @@ class Abstract_Wallet(ABC, Logger, EventListener):
|
||||
return out
|
||||
|
||||
def get_unpaid_requests(self):
|
||||
out = [self.get_request(x) for x in self._receive_requests.keys() if self.get_request_status(x) != PR_PAID]
|
||||
out = [x for x in out if x is not None]
|
||||
out = [x for x in self._receive_requests.values() if self.get_invoice_status(x) != PR_PAID]
|
||||
out.sort(key=lambda x: x.time)
|
||||
return out
|
||||
|
||||
@@ -2846,7 +2827,7 @@ class Abstract_Wallet(ABC, Logger, EventListener):
|
||||
URI = self.get_request_URI(req) or ''
|
||||
lightning_online = self.lnworker and self.lnworker.num_peers() > 0
|
||||
can_receive_lightning = self.lnworker and amount_sat <= self.lnworker.num_sats_can_receive()
|
||||
status = self.get_request_status(key)
|
||||
status = self.get_invoice_status(req)
|
||||
|
||||
if status == PR_EXPIRED:
|
||||
address_help = URI_help = ln_help = _('This request has expired')
|
||||
|
||||
Reference in New Issue
Block a user