From 7440602acdf32d3c02f3c891c9a23b9b8fc2840a Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Wed, 18 Dec 2019 13:52:49 +0000 Subject: [PATCH] black --- lnbits/__init__.py | 58 ++++++++++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/lnbits/__init__.py b/lnbits/__init__.py index 879e240..bbe82a0 100644 --- a/lnbits/__init__.py +++ b/lnbits/__init__.py @@ -53,25 +53,27 @@ def deletewallet(): return redirect(url_for("home")) + @app.route("/lnurl") def lnurl(): lnurl = request.args.get("lightning") return render_template("lnurl.html", lnurl=lnurl) + @app.route("/lnurlwallet") def lnurlwallet(): lnurl = Lnurl(request.args.get("lightning")) r = requests.get(lnurl.url) if not r.ok: - return redirect(url_for('home')) + return redirect(url_for("home")) data = json.loads(r.text) - if data.get('status') == 'ERROR': - return redirect(url_for('home')) + if data.get("status") == "ERROR": + return redirect(url_for("home")) withdraw_res = LnurlWithdrawResponse(**data) - invoice = WALLET.create_invoice(withdraw_res.max_sats, 'lnbits lnurl funding').json() + invoice = WALLET.create_invoice(withdraw_res.max_sats, "lnbits lnurl funding").json() payment_hash = invoice["payment_hash"] r = requests.get( @@ -79,7 +81,7 @@ def lnurlwallet(): params={**withdraw_res.callback.query_params, **{"k1": withdraw_res.k1, "pr": invoice["pay_req"]}}, ) if not r.ok: - return redirect(url_for('home')) + return redirect(url_for("home")) data = json.loads(r.text) for i in range(10): @@ -172,10 +174,16 @@ def wallet(): coalesce((SELECT inkey FROM wallets WHERE id = ?), ?) ) """, - (wallet_id, usr, - wallet_id, wallet_name or DEFAULT_USER_WALLET_NAME, - wallet_id, uuid.uuid4().hex, - wallet_id, uuid.uuid4().hex), + ( + wallet_id, + usr, + wallet_id, + wallet_name or DEFAULT_USER_WALLET_NAME, + wallet_id, + uuid.uuid4().hex, + wallet_id, + uuid.uuid4().hex, + ), ) # finally, get the wallet with balance and transactions @@ -192,7 +200,7 @@ def wallet(): FROM wallets WHERE user = ? AND id = ? """, - (FEE_RESERVE, usr, wallet_id), + (1 - FEE_RESERVE, usr, wallet_id), ) transactions = db.fetchall("SELECT * FROM apipayments WHERE wallet = ? AND pending = 0", (wallet_id,)) @@ -231,7 +239,7 @@ def api_invoices(): return jsonify({"ERROR": "NO KEY"}), 200 r = WALLET.create_invoice(postedjson["value"], postedjson["memo"]) - if not r.ok or r.json().get('error'): + if not r.ok or r.json().get("error"): return jsonify({"ERROR": "UNEXPECTED BACKEND ERROR"}), 500 data = r.json() @@ -294,7 +302,7 @@ def api_transactions(): else: # actually send the payment r = WALLET.pay_invoice(data["payment_request"]) - if not r.ok or r.json().get('error'): + if not r.ok or r.json().get("error"): return jsonify({"ERROR": "UNEXPECTED PAYMENT ERROR"}), 500 data = r.json() @@ -307,7 +315,7 @@ def api_transactions(): # payment went through, not pending anymore, save actual fees db.execute( "UPDATE apipayments SET pending = 0, fee = ? WHERE payhash = ? AND wallet = ?", - (data["fee_msat"], invoice.payment_hash, wallet['id']), + (data["fee_msat"], invoice.payment_hash, wallet["id"]), ) return jsonify({"PAID": "TRUE"}), 200 @@ -336,7 +344,7 @@ def api_checkinvoice(payhash): return jsonify({"PAID": "TRUE"}), 200 r = WALLET.get_invoice_status(payhash) - if not r.ok or r.json().get('error'): + if not r.ok or r.json().get("error"): return jsonify({"PAID": "FALSE"}), 400 data = r.json() @@ -346,10 +354,12 @@ def api_checkinvoice(payhash): db.execute("UPDATE apipayments SET pending = 0 WHERE payhash = ?", (payhash,)) return jsonify({"PAID": "TRUE"}), 200 + @app.route("/v1/checkpending", methods=["POST"]) def api_checkpending(): with Database() as db: - for pendingtx in db.fetchall(""" + for pendingtx in db.fetchall( + """ SELECT payhash, CASE @@ -361,18 +371,20 @@ def api_checkpending(): WHERE time > strftime('%s', 'now') - 86400 AND pending = 1 AND (adminkey = ? OR inkey = ?) - """, (request.headers["Grpc-Metadata-macaroon"], request.headers["Grpc-Metadata-macaroon"])): - payhash = pendingtx['payhash'] - kind = pendingtx['kind'] + """, + (request.headers["Grpc-Metadata-macaroon"], request.headers["Grpc-Metadata-macaroon"]), + ): + payhash = pendingtx["payhash"] + kind = pendingtx["kind"] - if kind == 'send': + if kind == "send": status = WALLET.get_final_payment_status(payhash) - if status == 'complete': + if status == "complete": db.execute("UPDATE apipayments SET pending = 0 WHERE payhash = ?", (payhash,)) - elif status == 'failed': + elif status == "failed": db.execute("DELETE FROM apipayments WHERE payhash = ?", (payhash,)) - elif kind == 'recv': + elif kind == "recv": if WALLET.is_invoice_paid(payhash): db.execute("UPDATE apipayments SET pending = 0 WHERE payhash = ?", (payhash,)) - return '' + return ""