From 8a447ecc4fe9e93d5adcf093008a08ac21538d42 Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Fri, 23 Dec 2022 22:15:32 +0200 Subject: [PATCH 1/3] fix: onchain wallet deleted for charge --- lnbits/extensions/satspay/crud.py | 2 ++ lnbits/extensions/satspay/views_api.py | 19 ++++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/lnbits/extensions/satspay/crud.py b/lnbits/extensions/satspay/crud.py index bc364323..7cbcec5f 100644 --- a/lnbits/extensions/satspay/crud.py +++ b/lnbits/extensions/satspay/crud.py @@ -24,6 +24,8 @@ async def create_charge(user: str, data: CreateCharge) -> Charges: {"mempool_endpoint": config.mempool_endpoint, "network": config.network} ) onchain = await get_fresh_address(data.onchainwallet) + if not onchain: + raise Exception(f"Wallet '{data.onchainwallet}' can no longer be accessed.") onchainaddress = onchain.address else: onchainaddress = None diff --git a/lnbits/extensions/satspay/views_api.py b/lnbits/extensions/satspay/views_api.py index 798e0df9..8c9ed471 100644 --- a/lnbits/extensions/satspay/views_api.py +++ b/lnbits/extensions/satspay/views_api.py @@ -37,13 +37,18 @@ from .models import CreateCharge, SatsPayThemes async def api_charge_create( data: CreateCharge, wallet: WalletTypeInfo = Depends(require_invoice_key) ): - charge = await create_charge(user=wallet.wallet.user, data=data) - return { - **charge.dict(), - **{"time_elapsed": charge.time_elapsed}, - **{"time_left": charge.time_left}, - **{"paid": charge.paid}, - } + try: + charge = await create_charge(user=wallet.wallet.user, data=data) + return { + **charge.dict(), + **{"time_elapsed": charge.time_elapsed}, + **{"time_left": charge.time_left}, + **{"paid": charge.paid}, + } + except Exception as ex: + raise HTTPException( + status_code=HTTPStatus.INTERNAL_SERVER_ERROR, detail=str(ex) + ) @satspay_ext.put("/api/v1/charge/{charge_id}") From 50addd73dd6dbb3cacbc09603743567e0d5d0d14 Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Fri, 23 Dec 2022 22:21:14 +0200 Subject: [PATCH 2/3] chore: log error in debug mode --- lnbits/extensions/satspay/views_api.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lnbits/extensions/satspay/views_api.py b/lnbits/extensions/satspay/views_api.py index 8c9ed471..4a62c3d5 100644 --- a/lnbits/extensions/satspay/views_api.py +++ b/lnbits/extensions/satspay/views_api.py @@ -46,6 +46,7 @@ async def api_charge_create( **{"paid": charge.paid}, } except Exception as ex: + logger.debug(ex) raise HTTPException( status_code=HTTPStatus.INTERNAL_SERVER_ERROR, detail=str(ex) ) From 6825a1f2e60972913b30fbc8fe672738c1baf3ec Mon Sep 17 00:00:00 2001 From: calle <93376500+callebtc@users.noreply.github.com> Date: Mon, 26 Dec 2022 11:52:40 +0100 Subject: [PATCH 3/3] Update lnbits/extensions/satspay/views_api.py --- lnbits/extensions/satspay/views_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lnbits/extensions/satspay/views_api.py b/lnbits/extensions/satspay/views_api.py index 4a62c3d5..68ce2469 100644 --- a/lnbits/extensions/satspay/views_api.py +++ b/lnbits/extensions/satspay/views_api.py @@ -46,7 +46,7 @@ async def api_charge_create( **{"paid": charge.paid}, } except Exception as ex: - logger.debug(ex) + logger.debug(f"Satspay error: {str}") raise HTTPException( status_code=HTTPStatus.INTERNAL_SERVER_ERROR, detail=str(ex) )