mirror of
https://github.com/lnbits/lnbits.git
synced 2025-07-04 12:31:04 +02:00
Update to c-lightning-REST v0.10.5 (#2109)
* Update to c-lightning-REST v0.10.5 * update invoice stream
This commit is contained in:
@ -125,9 +125,7 @@ class CoreLightningRestWallet(Wallet):
|
|||||||
data = r.json()
|
data = r.json()
|
||||||
assert "payment_hash" in data
|
assert "payment_hash" in data
|
||||||
assert "bolt11" in data
|
assert "bolt11" in data
|
||||||
# NOTE: use payment_hash when corelightning-rest updates and supports it
|
return InvoiceResponse(True, data["payment_hash"], data["bolt11"], None)
|
||||||
# return InvoiceResponse(True, data["payment_hash"], data["bolt11"], None)
|
|
||||||
return InvoiceResponse(True, label, data["bolt11"], None)
|
|
||||||
|
|
||||||
async def pay_invoice(self, bolt11: str, fee_limit_msat: int) -> PaymentResponse:
|
async def pay_invoice(self, bolt11: str, fee_limit_msat: int) -> PaymentResponse:
|
||||||
try:
|
try:
|
||||||
@ -172,13 +170,9 @@ class CoreLightningRestWallet(Wallet):
|
|||||||
)
|
)
|
||||||
|
|
||||||
async def get_invoice_status(self, checking_id: str) -> PaymentStatus:
|
async def get_invoice_status(self, checking_id: str) -> PaymentStatus:
|
||||||
# get invoice bolt11 from checking_id
|
|
||||||
# corelightning-rest wants the "label" here....
|
|
||||||
# NOTE: We can get rid of all labels and use payment_hash when
|
|
||||||
# corelightning-rest updates and supports it
|
|
||||||
r = await self.client.get(
|
r = await self.client.get(
|
||||||
f"{self.url}/v1/invoice/listInvoices",
|
f"{self.url}/v1/invoice/listInvoices",
|
||||||
params={"label": checking_id},
|
params={"payment_hash": checking_id},
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
r.raise_for_status()
|
r.raise_for_status()
|
||||||
@ -192,14 +186,9 @@ class CoreLightningRestWallet(Wallet):
|
|||||||
return PaymentStatus(None)
|
return PaymentStatus(None)
|
||||||
|
|
||||||
async def get_payment_status(self, checking_id: str) -> PaymentStatus:
|
async def get_payment_status(self, checking_id: str) -> PaymentStatus:
|
||||||
from lnbits.core.services import get_standalone_payment
|
|
||||||
|
|
||||||
payment = await get_standalone_payment(checking_id)
|
|
||||||
if not payment:
|
|
||||||
raise ValueError(f"Payment with checking_id {checking_id} not found")
|
|
||||||
r = await self.client.get(
|
r = await self.client.get(
|
||||||
f"{self.url}/v1/pay/listPays",
|
f"{self.url}/v1/pay/listPays",
|
||||||
params={"invoice": payment.bolt11},
|
params={"payment_hash": checking_id},
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
r.raise_for_status()
|
r.raise_for_status()
|
||||||
@ -241,19 +230,24 @@ class CoreLightningRestWallet(Wallet):
|
|||||||
except Exception:
|
except Exception:
|
||||||
continue
|
continue
|
||||||
logger.trace(f"paid invoice: {inv}")
|
logger.trace(f"paid invoice: {inv}")
|
||||||
yield inv["label"]
|
|
||||||
# NOTE: use payment_hash when corelightning-rest updates
|
# NOTE: use payment_hash when corelightning-rest returns it
|
||||||
# and supports it
|
# when using waitAnyInvoice
|
||||||
# payment_hash = inv["payment_hash"]
|
# payment_hash = inv["payment_hash"]
|
||||||
# yield payment_hash
|
# yield payment_hash
|
||||||
# hack to return payment_hash if the above shouldn't work
|
# hack to return payment_hash if the above shouldn't work
|
||||||
# r = await self.client.get(
|
r = await self.client.get(
|
||||||
# f"{self.url}/v1/invoice/listInvoices",
|
f"{self.url}/v1/invoice/listInvoices",
|
||||||
# params={"label": inv["label"]},
|
params={"label": inv["label"]},
|
||||||
# )
|
)
|
||||||
# paid_invoce = r.json()
|
paid_invoice = r.json()
|
||||||
# logger.trace(f"paid invoice: {paid_invoce}")
|
logger.trace(f"paid invoice: {paid_invoice}")
|
||||||
# yield paid_invoce["invoices"][0]["payment_hash"]
|
assert self.statuses[
|
||||||
|
paid_invoice["invoices"][0]["status"]
|
||||||
|
], "streamed invoice not paid"
|
||||||
|
assert "invoices" in paid_invoice, "no invoices in response"
|
||||||
|
assert len(paid_invoice["invoices"]), "no invoices in response"
|
||||||
|
yield paid_invoice["invoices"][0]["payment_hash"]
|
||||||
|
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
logger.debug(
|
logger.debug(
|
||||||
|
Reference in New Issue
Block a user