diff --git a/lnbits/extensions/watchonly/crud.py b/lnbits/extensions/watchonly/crud.py index 0d28eb70..e031e0f4 100644 --- a/lnbits/extensions/watchonly/crud.py +++ b/lnbits/extensions/watchonly/crud.py @@ -22,9 +22,10 @@ async def create_watch_wallet(w: WalletAccount) -> WalletAccount: title, type, address_no, - balance + balance, + network ) - VALUES (?, ?, ?, ?, ?, ?, ?, ?) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) """, ( wallet_id, @@ -35,6 +36,7 @@ async def create_watch_wallet(w: WalletAccount) -> WalletAccount: w.type, w.address_no, w.balance, + w.network, ), ) @@ -48,9 +50,10 @@ async def get_watch_wallet(wallet_id: str) -> Optional[WalletAccount]: return WalletAccount.from_row(row) if row else None -async def get_watch_wallets(user: str) -> List[WalletAccount]: +async def get_watch_wallets(user: str, network: str) -> List[WalletAccount]: rows = await db.fetchall( - """SELECT * FROM watchonly.wallets WHERE "user" = ?""", (user,) + """SELECT * FROM watchonly.wallets WHERE "user" = ? AND network = ?""", + (user, network), ) return [WalletAccount(**row) for row in rows] diff --git a/lnbits/extensions/watchonly/migrations.py b/lnbits/extensions/watchonly/migrations.py index 8e371a2a..32be56f9 100644 --- a/lnbits/extensions/watchonly/migrations.py +++ b/lnbits/extensions/watchonly/migrations.py @@ -77,6 +77,16 @@ async def m004_create_config_table(db): );""" ) + +async def m005_add_network_column_to_wallets(db): + """ + Add network' column to the 'wallets' table + """ + + await db.execute( + "ALTER TABLE watchonly.wallets ADD COLUMN network TEXT DEFAULT 'Mainnet';" + ) + ### TODO: fix statspay dependcy first # await db.execute( # "DROP TABLE watchonly.wallets;" diff --git a/lnbits/extensions/watchonly/models.py b/lnbits/extensions/watchonly/models.py index 1bbb8271..d81220dd 100644 --- a/lnbits/extensions/watchonly/models.py +++ b/lnbits/extensions/watchonly/models.py @@ -7,6 +7,7 @@ from pydantic import BaseModel class CreateWallet(BaseModel): masterpub: str = Query("") title: str = Query("") + network: str = "Mainnet" class WalletAccount(BaseModel): diff --git a/lnbits/extensions/watchonly/static/components/address-list/address-list.html b/lnbits/extensions/watchonly/static/components/address-list/address-list.html index 5a2404a1..f2121063 100644 --- a/lnbits/extensions/watchonly/static/components/address-list/address-list.html +++ b/lnbits/extensions/watchonly/static/components/address-list/address-list.html @@ -65,7 +65,7 @@
{{props.row.address}} { showAddress: false, addressNote: '', showPayment: false, - fetchedUtxos: false + fetchedUtxos: false, + network: null } }, computed: { - mempoolHostname() { + mempoolHostname: function () { if (!this.config.isLoaded) return - const hostname = new URL(this.config.mempool_endpoint).hostname - if (this.config.network === 'testnet') { + let hostname = new URL(this.config.mempool_endpoint).hostname + if (this.config.network === 'Testnet') { hostname += '/testnet' } return hostname diff --git a/lnbits/extensions/watchonly/templates/watchonly/index.html b/lnbits/extensions/watchonly/templates/watchonly/index.html index 38746bbf..08ba6d98 100644 --- a/lnbits/extensions/watchonly/templates/watchonly/index.html +++ b/lnbits/extensions/watchonly/templates/watchonly/index.html @@ -17,9 +17,11 @@