diff --git a/Pipfile b/Pipfile index 6d125ee..6909f2f 100644 --- a/Pipfile +++ b/Pipfile @@ -24,6 +24,7 @@ quart-trio = "*" trio = "==0.16.0" hypercorn = {extras = ["trio"], version = "*"} sqlalchemy-aio = "*" +embit = "*" [dev-packages] black = "==20.8b1" diff --git a/lnbits/extensions/watchonly/crud.py b/lnbits/extensions/watchonly/crud.py index e46a17b..af2d680 100644 --- a/lnbits/extensions/watchonly/crud.py +++ b/lnbits/extensions/watchonly/crud.py @@ -57,7 +57,6 @@ async def get_address(address: str) -> Addresses: row = await db.fetchone("SELECT * FROM addresses WHERE address = ?", (address,)) return Addresses.from_row(row) if row else None - async def get_addresses(wallet_id: str) -> List[Addresses]: rows = await db.fetchall("SELECT * FROM addresses WHERE wallet = ?", (wallet_id,)) return [Addresses(**row) for row in rows] @@ -90,6 +89,7 @@ async def get_watch_wallet(wallet_id: str) -> Wallets: row = await db.fetchone("SELECT * FROM wallets WHERE id = ?", (wallet_id,)) return Wallets.from_row(row) if row else None + async def get_watch_wallets(user: str) -> List[Wallets]: rows = await db.fetchall("SELECT * FROM wallets WHERE user = ?", (user,)) return [Wallets(**row) for row in rows] @@ -108,24 +108,25 @@ async def delete_watch_wallet(wallet_id: str) -> None: ###############PAYMENTS########################## -async def create_payment(*, user: str, ex_key: str, description: str, amount: int) -> Payments: +async def create_payment(*, walletid: str, user: str, title: str, time: str, amount: int) -> Payments: - address = await get_fresh_address(ex_key) + address = await get_fresh_address(walletid) payment_id = urlsafe_short_hash() await db.execute( """ INSERT INTO payments ( - payment_id, + id, user, - ex_key, + title, + wallet, address, + time_to_pay, amount ) - VALUES (?, ?, ?, ?, ?) + VALUES (?, ?, ?, ?, ?, ?, ?) """, - (payment_id, user, ex_key, address, amount), + (payment_id, user, title, walletid, address.address, time, amount), ) - payment_id = db.cursor.lastrowid return await get_payment(payment_id) @@ -136,6 +137,7 @@ async def get_payment(payment_id: str) -> Payments: async def get_payments(user: str) -> List[Payments]: rows = await db.fetchall("SELECT * FROM payments WHERE user IN ?", (user,)) + print(rows[0]) return [Payments.from_row(row) for row in rows] diff --git a/lnbits/extensions/watchonly/migrations.py b/lnbits/extensions/watchonly/migrations.py index 7c0c4e6..3ef13a0 100644 --- a/lnbits/extensions/watchonly/migrations.py +++ b/lnbits/extensions/watchonly/migrations.py @@ -30,7 +30,8 @@ async def m001_initial(db): CREATE TABLE IF NOT EXISTS payments ( id TEXT NOT NULL PRIMARY KEY, user TEXT, - masterpub TEXT NOT NULL, + title TEXT, + wallet TEXT NOT NULL, address TEXT NOT NULL, time_to_pay INTEGER NOT NULL, amount INTEGER NOT NULL, diff --git a/lnbits/extensions/watchonly/models.py b/lnbits/extensions/watchonly/models.py index fc3a726..d415cec 100644 --- a/lnbits/extensions/watchonly/models.py +++ b/lnbits/extensions/watchonly/models.py @@ -16,7 +16,8 @@ class Wallets(NamedTuple): class Payments(NamedTuple): id: str user: str - ex_key: str + wallet: str + title: str address: str time_to_pay: str amount: int diff --git a/lnbits/extensions/watchonly/templates/watchonly/_api_docs.html b/lnbits/extensions/watchonly/templates/watchonly/_api_docs.html index 9b83e05..fd5dd4a 100644 --- a/lnbits/extensions/watchonly/templates/watchonly/_api_docs.html +++ b/lnbits/extensions/watchonly/templates/watchonly/_api_docs.html @@ -1,6 +1,6 @@ -

The WatchOnly extension uses https://mempool.block for blockchain data.
+

The WatchOnly extension uses https://mempool.space for blockchain data.
Created by, Ben Arc diff --git a/lnbits/extensions/watchonly/templates/watchonly/index.html b/lnbits/extensions/watchonly/templates/watchonly/index.html index c798e7f..19407ef 100644 --- a/lnbits/extensions/watchonly/templates/watchonly/index.html +++ b/lnbits/extensions/watchonly/templates/watchonly/index.html @@ -89,7 +89,7 @@ size="xs" icon="toll" :color="($q.dark.isActive) ? 'grey-7' : 'grey-5'" - @click="formDialogPayment.show = true" + @click="formDialogPayment.show = true, formDialogPayment.data.walletid = props.row.id" > @@ -157,20 +157,20 @@ -{% endraw %} + - {% raw %} +