fix: LND invoice payments and status checks
This commit is contained in:
parent
6d019bcb2b
commit
2bb30aa880
1 changed files with 5 additions and 2 deletions
|
|
@ -26,7 +26,9 @@ class LndWallet(Wallet):
|
|||
return InvoiceResponse(r, payment_hash, payment_request)
|
||||
|
||||
def pay_invoice(self, bolt11: str) -> Response:
|
||||
raise NotImplementedError
|
||||
return post(
|
||||
url=f"{self.endpoint}/v1/channels/transactions", headers=self.auth_admin, json={"payment_request": bolt11}
|
||||
)
|
||||
|
||||
def get_invoice_status(self, payment_hash: str, wait: bool = True) -> TxStatus:
|
||||
r = get(url=f"{self.endpoint}/v1/invoice/{payment_hash}", headers=self.auth_admin)
|
||||
|
|
@ -46,4 +48,5 @@ class LndWallet(Wallet):
|
|||
payment = payments[0] if payments else None
|
||||
|
||||
# check payment.status: https://api.lightning.community/rest/index.html?python#peersynctype
|
||||
return TxStatus(r, {0: None, 1: None, 2: True, 3: False}[payment["status"]] if payment else None)
|
||||
statuses = {"UNKNOWN": None, "IN_FLIGHT": None, "SUCCEEDED": True, "FAILED": False}
|
||||
return TxStatus(r, statuses[payment["status"]] if payment else None)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue