mirror of
https://github.com/lnbits/lnbits.git
synced 2025-06-03 19:52:01 +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]
|
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(
|
async def get_wallet_for_key(
|
||||||
key: str,
|
key: str,
|
||||||
conn: Optional[Connection] = None,
|
conn: Optional[Connection] = None,
|
||||||
|
@ -6,6 +6,7 @@ from fastapi.routing import APIRouter
|
|||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from lnbits.core.crud import (
|
from lnbits.core.crud import (
|
||||||
|
get_reverse_wallets,
|
||||||
get_wallet,
|
get_wallet,
|
||||||
get_webpush_subscriptions_for_user,
|
get_webpush_subscriptions_for_user,
|
||||||
mark_webhook_sent,
|
mark_webhook_sent,
|
||||||
@ -164,6 +165,9 @@ async def send_payment_push_notification(payment: Payment):
|
|||||||
|
|
||||||
|
|
||||||
async def register_reverse_funding_sources(routers: APIRouter):
|
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:
|
while settings.lnbits_running:
|
||||||
try:
|
try:
|
||||||
wallet = await reverse_funding_wallets_ids.get()
|
wallet = await reverse_funding_wallets_ids.get()
|
||||||
|
@ -401,7 +401,7 @@ class WebSocketReverseWallet:
|
|||||||
self._ws_client.close()
|
self._ws_client.close()
|
||||||
|
|
||||||
def _on_open(self, _):
|
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):
|
def _on_close(self, _, status_code, message):
|
||||||
logger.info(
|
logger.info(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user