From 811a1b33321dacba0ab2edb4dc3d3a82f2633e01 Mon Sep 17 00:00:00 2001 From: ThomasV Date: Tue, 25 Feb 2025 11:08:15 +0100 Subject: [PATCH] update payserver plugin --- electrum/plugins/payserver/payserver.py | 12 ++++++++++-- electrum/plugins/payserver/www | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/electrum/plugins/payserver/payserver.py b/electrum/plugins/payserver/payserver.py index 64b2f8d69..00b1f6706 100644 --- a/electrum/plugins/payserver/payserver.py +++ b/electrum/plugins/payserver/payserver.py @@ -125,14 +125,22 @@ class PayServer(Logger, EventListener): params = await request.post() wallet = self.wallet if 'amount_sat' not in params or not params['amount_sat'].isdigit(): - raise web.HTTPUnsupportedMediaType() + raise web.HTTPBadRequest(reason='No amount provided') + if 'onchain' in params: + address = wallet.get_unused_address() + if not address: + raise web.HTTPBadRequest(reason='wallet does not have any unused address') + else: + if not wallet.has_lightning(): + raise web.HTTPBadRequest(reason='wallet does not support lightning') + address = None amount = int(params['amount_sat']) message = params['message'] or "donation" key = wallet.create_request( amount_sat=amount, message=message, exp_delay=3600, - address=None) + address=address) raise web.HTTPFound(self.root + '/pay?id=' + key) async def get_request(self, r): diff --git a/electrum/plugins/payserver/www b/electrum/plugins/payserver/www index bde9d3b5f..bcb6d9ecf 160000 --- a/electrum/plugins/payserver/www +++ b/electrum/plugins/payserver/www @@ -1 +1 @@ -Subproject commit bde9d3b5fbf34623ca04c14eb6b0db6676c5ec52 +Subproject commit bcb6d9ecf75b6785451402068651cfa785b709fa