feat: init reverse wallets

This commit is contained in:
Vlad Stan 2024-06-25 15:12:30 +03:00
parent 863b6faf76
commit db9bb502a2
3 changed files with 17 additions and 1 deletions

View File

@ -710,6 +710,18 @@ async def get_wallets(user_id: str, conn: Optional[Connection] = None) -> List[W
return [Wallet.from_row(row) for row in rows]
async def get_reverse_wallets(conn: Optional[Connection] = None) -> List[Wallet]:
rows = await (conn or db).fetchall(
"""
SELECT *, COALESCE((SELECT balance FROM balances WHERE wallet = wallets.id), 0)
AS balance_msat FROM wallets WHERE reverse_funding_enabled = true
""",
(),
)
return [Wallet.from_row(row) for row in rows]
async def get_wallet_for_key(
key: str,
conn: Optional[Connection] = None,

View File

@ -6,6 +6,7 @@ from fastapi.routing import APIRouter
from loguru import logger
from lnbits.core.crud import (
get_reverse_wallets,
get_wallet,
get_webpush_subscriptions_for_user,
mark_webhook_sent,
@ -164,6 +165,9 @@ async def send_payment_push_notification(payment: Payment):
async def register_reverse_funding_sources(routers: APIRouter):
for w in await get_reverse_wallets():
await reverse_funding_wallets_ids.put(w)
while settings.lnbits_running:
try:
wallet = await reverse_funding_wallets_ids.get()

View File

@ -401,7 +401,7 @@ class WebSocketReverseWallet:
self._ws_client.close()
def _on_open(self, _):
logger.info(f"[Wallet: {self.wallet_id}] Connected.")
logger.info(f"[Wallet: {self.wallet_id}] Connected as reverse funding source.")
def _on_close(self, _, status_code, message):
logger.info(