diff --git a/.env.example b/.env.example index b6940a53e..1504461e6 100644 --- a/.env.example +++ b/.env.example @@ -42,8 +42,8 @@ LNBITS_BACKEND_WALLET_CLASS=ClicheWallet # Set one of these blocks depending on the wallet kind you chose above: -#ClicheWallet -SPARK_ENDPOINT=ws://127.0.0.1:12000 +# ClicheWallet +CLICHE_ENDPOINT=ws://127.0.0.1:12000 # SparkWallet SPARK_URL=http://localhost:9737/rpc diff --git a/lnbits/wallets/__init__.py b/lnbits/wallets/__init__.py index a0c0356d8..3ce2c30f9 100644 --- a/lnbits/wallets/__init__.py +++ b/lnbits/wallets/__init__.py @@ -1,9 +1,9 @@ # flake8: noqa +from .cliche import ClicheWallet from .clightning import CLightningWallet from .eclair import EclairWallet from .fake import FakeWallet -from .cliche import ClicheWallet from .lnbits import LNbitsWallet from .lndrest import LndRestWallet from .lnpay import LNPayWallet diff --git a/lnbits/wallets/cliche.py b/lnbits/wallets/cliche.py index 3962c0feb..7622cdd52 100644 --- a/lnbits/wallets/cliche.py +++ b/lnbits/wallets/cliche.py @@ -5,6 +5,7 @@ from typing import AsyncGenerator, Dict, Optional import httpx from loguru import logger +from websocket import create_connection from .base import ( InvoiceResponse, @@ -13,7 +14,6 @@ from .base import ( StatusResponse, Wallet, ) -from websocket import create_connection class ClicheWallet(Wallet): @@ -26,7 +26,7 @@ class ClicheWallet(Wallet): try: ws = create_connection(self.endpoint) ws.send("get-info") - r = ws.recv() + r = ws.recv() except Exception as exc: return StatusResponse( f"Failed to connect to {self.endpoint} due to: {exc}", 0 @@ -48,42 +48,45 @@ class ClicheWallet(Wallet): ) -> InvoiceResponse: if description_hash: ws = create_connection(self.endpoint) - ws.send(f"create-invoice --msatoshi {amount*1000} --description_hash {description_hash}") - r = ws.recv() + ws.send( + f"create-invoice --msatoshi {amount*1000} --description_hash {description_hash}" + ) + r = ws.recv() else: ws = create_connection(self.endpoint) ws.send(f"create-invoice --msatoshi {amount*1000} --description {memo}") - r = ws.recv() + r = ws.recv() data = json.loads(r) checking_id = None payment_request = None error_message = None try: if data["error"]["message"]: - logger.error( - data["error"]["message"] - ) + logger.error(data["error"]["message"]) error_message = data["error"]["message"] - return InvoiceResponse(False, checking_id, payment_request, error_message) + return InvoiceResponse( + False, checking_id, payment_request, error_message + ) except: - checking_id, payment_request = data["result"]["payment_hash"], data["result"]["invoice"] - return InvoiceResponse(True, checking_id, payment_request, error_message) + checking_id, payment_request = ( + data["result"]["payment_hash"], + data["result"]["invoice"], + ) + return InvoiceResponse(True, checking_id, payment_request, error_message) async def pay_invoice(self, bolt11: str, fee_limit_msat: int) -> PaymentResponse: ws = create_connection(self.endpoint) ws.send(f"pay-invoice --invoice {bolt11}") - r = ws.recv() + r = ws.recv() data = json.loads(r) checking_id = None error_message = None try: if data["error"]["message"]: - logger.error( - data["error"]["message"] - ) + logger.error(data["error"]["message"]) error_message = data["error"]["message"] - return PaymentResponse(False, None, 0, error_message) + return PaymentResponse(False, None, 0, error_message) except: checking_id = data["result"]["payment_hash"] return PaymentResponse(True, checking_id, 0, error_message) @@ -91,13 +94,11 @@ class ClicheWallet(Wallet): async def get_invoice_status(self, checking_id: str) -> PaymentStatus: ws = create_connection(self.endpoint) ws.send(f"check-payment --hash {checking_id}") - r = ws.recv() + r = ws.recv() data = json.loads(r) try: if data["error"]["message"]: - logger.error( - data["error"]["message"] - ) + logger.error(data["error"]["message"]) return PaymentStatus(None) except: statuses = {"pending": None, "complete": True, "failed": False} @@ -106,13 +107,11 @@ class ClicheWallet(Wallet): async def get_payment_status(self, checking_id: str) -> PaymentStatus: ws = create_connection(self.endpoint) ws.send(f"check-payment --hash {checking_id}") - r = ws.recv() + r = ws.recv() data = json.loads(r) try: if data["error"]["message"]: - logger.error( - data["error"]["message"] - ) + logger.error(data["error"]["message"]) return PaymentStatus(None) except: statuses = {"pending": None, "complete": True, "failed": False} @@ -122,4 +121,4 @@ class ClicheWallet(Wallet): self.queue: asyncio.Queue = asyncio.Queue(0) while True: value = await self.queue.get() - yield value \ No newline at end of file + yield value