mirror of
https://github.com/lnbits/lnbits.git
synced 2025-05-29 17:19:22 +02:00
feat: init reverse wallets
This commit is contained in:
parent
863b6faf76
commit
db9bb502a2
@ -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,
|
||||
|
@ -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()
|
||||
|
@ -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(
|
||||
|
Loading…
x
Reference in New Issue
Block a user