You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.7 KiB
Python

from quart import Blueprint, render_template, request
11 months ago
from monero.seed import Seed
from quart_auth import login_required
11 months ago
from lws.models import User, Wallet
11 months ago
from lws.helpers import lws
from lws import config
bp = Blueprint('htmx', 'htmx', url_prefix="/htmx")
@bp.route("/create_wallet")
async def create_wallet():
seed = Seed()
return await render_template(
"htmx/create_wallet.html",
seed=seed.phrase,
address=seed.public_address(),
psk=seed.public_spend_key(),
pvk=seed.public_view_key(),
ssk=seed.secret_spend_key(),
svk=seed.secret_view_key()
)
@bp.route("/import_wallet")
async def import_wallet():
return await render_template("htmx/import_wallet.html")
@bp.route("/label_wallet")
async def label_wallet():
address = request.args.get("address")
label = request.args.get("label")
return await render_template(
"htmx/label_wallet.html",
address=address,
label=label
)
11 months ago
@bp.route("/show_wallets")
@login_required
async def show_wallets():
admin = User.select().first()
lws.init(admin.view_key)
accounts = lws.list_accounts()
if 'hidden' in accounts:
del accounts["hidden"]
11 months ago
# make wallets if they don't exist
for status in accounts:
print(status)
for account in accounts[status]:
w = Wallet.select().where(Wallet.address == account["address"]).first()
if not w:
w = Wallet(
address=account["address"]
)
w.save()
11 months ago
requests = lws.list_requests()
return await render_template(
"htmx/show_wallets.html",
accounts=accounts,
requests=requests
)