feat: add lud17 support for wallet parse dialog (#3289)

This commit is contained in:
dni ⚡
2025-07-23 15:27:00 +02:00
committed by GitHub
parent bdfefc2506
commit 0d2ff2e663
3 changed files with 44 additions and 13 deletions
+4
View File
@@ -14,3 +14,7 @@ class CreateLnurlPayment(BaseModel):
class CreateLnurlWithdraw(BaseModel):
lnurl_w: Lnurl
class LnurlScan(BaseModel):
lnurl: Lnurl
+20 -1
View File
@@ -23,7 +23,7 @@ from lnurl.models import (
from loguru import logger
from lnbits.core.models import CreateLnurlWithdraw, Payment
from lnbits.core.models.lnurl import CreateLnurlPayment
from lnbits.core.models.lnurl import CreateLnurlPayment, LnurlScan
from lnbits.decorators import (
WalletTypeInfo,
require_admin_key,
@@ -40,6 +40,7 @@ lnurl_router = APIRouter(tags=["LNURL"])
@lnurl_router.get(
"/api/v1/lnurlscan/{code}",
dependencies=[Depends(require_invoice_key)],
deprecated=True,
response_model=LnurlPayResponse
| LnurlWithdrawResponse
| LnurlAuthResponse
@@ -58,6 +59,24 @@ async def api_lnurlscan(code: str) -> LnurlResponseModel:
return res
@lnurl_router.post(
"/api/v1/lnurlscan",
dependencies=[Depends(require_invoice_key)],
response_model=LnurlPayResponse
| LnurlWithdrawResponse
| LnurlAuthResponse
| LnurlErrorResponse,
)
async def api_lnurlscan_post(scan: LnurlScan) -> LnurlResponseModel:
try:
res = await lnurl_handle(scan.lnurl, user_agent=settings.user_agent, timeout=5)
except LnurlResponseException as exc:
raise HTTPException(
status_code=HTTPStatus.BAD_REQUEST, detail=str(exc)
) from exc
return res
@lnurl_router.post("/api/v1/lnurlauth")
async def api_perform_lnurlauth(
data: LnurlAuthResponse, key_type: WalletTypeInfo = Depends(require_admin_key)