From 33631d6375a3d2354d454fe1be8fd2bd861948f9 Mon Sep 17 00:00:00 2001 From: Gene Takavic Date: Tue, 29 Nov 2022 11:14:51 +0100 Subject: [PATCH 1/8] tpos identifies itself via user-agent --- lnbits/extensions/tpos/views_api.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lnbits/extensions/tpos/views_api.py b/lnbits/extensions/tpos/views_api.py index fe63a247..811d2116 100644 --- a/lnbits/extensions/tpos/views_api.py +++ b/lnbits/extensions/tpos/views_api.py @@ -3,6 +3,7 @@ from http import HTTPStatus import httpx from fastapi import Query from fastapi.params import Depends +from lnbits.settings import LNBITS_COMMIT from lnurl import decode as decode_lnurl from loguru import logger from starlette.exceptions import HTTPException @@ -134,7 +135,8 @@ async def api_tpos_pay_invoice( async with httpx.AsyncClient() as client: try: - r = await client.get(lnurl, follow_redirects=True) + headers = {"user-agent": f"lnbits/tpos commit {LNBITS_COMMIT[:7]}"} + r = await client.get(lnurl, follow_redirects=True, headers=headers) if r.is_error: lnurl_response = {"success": False, "detail": "Error loading"} else: @@ -145,6 +147,7 @@ async def api_tpos_pay_invoice( r2 = await client.get( resp["callback"], follow_redirects=True, + headers=headers, params={ "k1": resp["k1"], "pr": payment_request, From 9756e6fad8f762a260fc96027b385f953613cfd3 Mon Sep 17 00:00:00 2001 From: Gene Takavic Date: Tue, 29 Nov 2022 11:28:17 +0100 Subject: [PATCH 2/8] formating --- lnbits/extensions/tpos/views_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lnbits/extensions/tpos/views_api.py b/lnbits/extensions/tpos/views_api.py index 811d2116..e13dee9b 100644 --- a/lnbits/extensions/tpos/views_api.py +++ b/lnbits/extensions/tpos/views_api.py @@ -3,7 +3,6 @@ from http import HTTPStatus import httpx from fastapi import Query from fastapi.params import Depends -from lnbits.settings import LNBITS_COMMIT from lnurl import decode as decode_lnurl from loguru import logger from starlette.exceptions import HTTPException @@ -13,6 +12,7 @@ from lnbits.core.models import Payment from lnbits.core.services import create_invoice from lnbits.core.views.api import api_payment from lnbits.decorators import WalletTypeInfo, get_key_type, require_admin_key +from lnbits.settings import LNBITS_COMMIT from . import tpos_ext from .crud import create_tpos, delete_tpos, get_tpos, get_tposs From 6f5f7753ef96dd41e66318846e8fc65e828ac722 Mon Sep 17 00:00:00 2001 From: callebtc <93376500+callebtc@users.noreply.github.com> Date: Tue, 6 Dec 2022 20:58:09 +0100 Subject: [PATCH 3/8] fix audit endpoint --- lnbits/core/views/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lnbits/core/views/api.py b/lnbits/core/views/api.py index f78219bf..995cf9e7 100644 --- a/lnbits/core/views/api.py +++ b/lnbits/core/views/api.py @@ -686,7 +686,7 @@ async def img(request: Request, data): ) -@core_app.get("/api/v1/audit/") +@core_app.get("/api/v1/audit") async def api_auditor(wallet: WalletTypeInfo = Depends(get_key_type)): if wallet.wallet.user not in LNBITS_ADMIN_USERS: raise HTTPException( From 97565fde02687fa57e1c1b2a1ec9c820140a847b Mon Sep 17 00:00:00 2001 From: ben Date: Wed, 7 Dec 2022 10:21:45 +0000 Subject: [PATCH 4/8] Adds PoS websocket endpoint Receives all payments to a pos --- lnbits/extensions/tpos/tasks.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lnbits/extensions/tpos/tasks.py b/lnbits/extensions/tpos/tasks.py index 6369bbc7..d590762d 100644 --- a/lnbits/extensions/tpos/tasks.py +++ b/lnbits/extensions/tpos/tasks.py @@ -3,7 +3,7 @@ import asyncio from loguru import logger from lnbits.core.models import Payment -from lnbits.core.services import create_invoice, pay_invoice +from lnbits.core.services import create_invoice, pay_invoice, websocketUpdater from lnbits.helpers import get_current_extension_name from lnbits.tasks import register_invoice_listener @@ -26,6 +26,16 @@ async def on_invoice_paid(payment: Payment) -> None: tpos = await get_tpos(payment.extra.get("tposId")) tipAmount = payment.extra.get("tipAmount") + strippedPayment = { + "amount":payment.amount, + "fee":payment.fee, + "checking_id":payment.checking_id, + "payment_hash":payment.payment_hash, + "bolt11":payment.bolt11, + } + + await websocketUpdater(payment.extra.get("tposId"), str(strippedPayment)) + if tipAmount is None: # no tip amount return From ae23567fbf9b9c727a48d198d6ef124a0a6bff3f Mon Sep 17 00:00:00 2001 From: Arc <33088785+arcbtc@users.noreply.github.com> Date: Wed, 7 Dec 2022 10:26:30 +0000 Subject: [PATCH 5/8] Update installation.md --- docs/guide/installation.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/guide/installation.md b/docs/guide/installation.md index b531abde..1a7e9a9e 100644 --- a/docs/guide/installation.md +++ b/docs/guide/installation.md @@ -47,6 +47,15 @@ poetry run lnbits # adding --debug in the start-up command above to help your troubleshooting and generate a more verbose output # Note that you have to add the line DEBUG=true in your .env file, too. ``` +#### Updating the server + +``` +# Stop LNbits with `ctrl + x` +cd lnbits-legend/ +git pull +poetry install - - only main +# Start LNbits with `poetry run lnbits` +``` ## Option 2: Nix From d8a21800f2e6a7ba48784e64a7f34e60c395265e Mon Sep 17 00:00:00 2001 From: ben Date: Wed, 7 Dec 2022 10:29:01 +0000 Subject: [PATCH 6/8] Switched steps --- docs/guide/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/installation.md b/docs/guide/installation.md index 1a7e9a9e..48bf0f1f 100644 --- a/docs/guide/installation.md +++ b/docs/guide/installation.md @@ -50,8 +50,8 @@ poetry run lnbits #### Updating the server ``` -# Stop LNbits with `ctrl + x` cd lnbits-legend/ +# Stop LNbits with `ctrl + x` git pull poetry install - - only main # Start LNbits with `poetry run lnbits` From 5ac3a861ef63303c6022cb139b4e912f2b9867ce Mon Sep 17 00:00:00 2001 From: Arc <33088785+arcbtc@users.noreply.github.com> Date: Wed, 7 Dec 2022 10:39:59 +0000 Subject: [PATCH 7/8] Update installation.md --- docs/guide/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/installation.md b/docs/guide/installation.md index 48bf0f1f..9f8b26da 100644 --- a/docs/guide/installation.md +++ b/docs/guide/installation.md @@ -53,7 +53,7 @@ poetry run lnbits cd lnbits-legend/ # Stop LNbits with `ctrl + x` git pull -poetry install - - only main +poetry install --only main # Start LNbits with `poetry run lnbits` ``` From 44d74351639056981077b726f0a7eb421b33b7dc Mon Sep 17 00:00:00 2001 From: ben Date: Wed, 7 Dec 2022 10:42:48 +0000 Subject: [PATCH 8/8] format --- lnbits/extensions/tpos/tasks.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lnbits/extensions/tpos/tasks.py b/lnbits/extensions/tpos/tasks.py index d590762d..6eb1d5d1 100644 --- a/lnbits/extensions/tpos/tasks.py +++ b/lnbits/extensions/tpos/tasks.py @@ -27,11 +27,11 @@ async def on_invoice_paid(payment: Payment) -> None: tipAmount = payment.extra.get("tipAmount") strippedPayment = { - "amount":payment.amount, - "fee":payment.fee, - "checking_id":payment.checking_id, - "payment_hash":payment.payment_hash, - "bolt11":payment.bolt11, + "amount": payment.amount, + "fee": payment.fee, + "checking_id": payment.checking_id, + "payment_hash": payment.payment_hash, + "bolt11": payment.bolt11, } await websocketUpdater(payment.extra.get("tposId"), str(strippedPayment))