mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-02-24 06:48:02 +01:00
* feat: add boltz client standalone fundingsource WIP. https://docs.boltz.exchange/v/boltz-client this fundingsource utilizing the boltz client standalone function: https://github.com/BoltzExchange/boltz-client/pull/123 this makes him act like a lightning node while submarine swapping everything on liquid network. like aqua does in its wallet. * feat: paid_invoices_stream * feat: proper invoice and payment status check * feat: authenticate over insecure channel aswell * chore: lint * docs: add more setup instructions * chore: add `boltz_client_cert` in frontend * feat: populate fee_msat in get_payment_status and get_invoice_status * fixup! * chore: bundle * added boltz logo * add BoltzWallet to __all__ * chore: bump grpcio and protobuf deps and add grpcio-tools as dev dependency * chore: update protos * feat: pass description when creating swap * fixup! * chore: bundle --------- Co-authored-by: jackstar12 <jkranawetter05@gmail.com> Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
78 lines
2.1 KiB
Python
78 lines
2.1 KiB
Python
from __future__ import annotations
|
|
|
|
import importlib
|
|
from typing import Optional
|
|
|
|
from lnbits.nodes import set_node_class
|
|
from lnbits.settings import settings
|
|
from lnbits.wallets.base import Wallet
|
|
|
|
from .alby import AlbyWallet
|
|
from .blink import BlinkWallet
|
|
from .boltz import BoltzWallet
|
|
from .breez import BreezSdkWallet
|
|
from .cliche import ClicheWallet
|
|
from .corelightning import CoreLightningWallet
|
|
|
|
# The following import is intentional to keep backwards compatibility
|
|
# for old configs that called it CLightningWallet. Do not remove.
|
|
from .corelightning import CoreLightningWallet as CLightningWallet
|
|
from .corelightningrest import CoreLightningRestWallet
|
|
from .eclair import EclairWallet
|
|
from .fake import FakeWallet
|
|
from .lnbits import LNbitsWallet
|
|
from .lndgrpc import LndWallet
|
|
from .lndrest import LndRestWallet
|
|
from .lnpay import LNPayWallet
|
|
from .lntips import LnTipsWallet
|
|
from .nwc import NWCWallet
|
|
from .opennode import OpenNodeWallet
|
|
from .phoenixd import PhoenixdWallet
|
|
from .spark import SparkWallet
|
|
from .void import VoidWallet
|
|
from .zbd import ZBDWallet
|
|
|
|
|
|
def set_funding_source(class_name: Optional[str] = None):
|
|
backend_wallet_class = class_name or settings.lnbits_backend_wallet_class
|
|
funding_source_constructor = getattr(wallets_module, backend_wallet_class)
|
|
global funding_source
|
|
funding_source = funding_source_constructor()
|
|
if funding_source.__node_cls__:
|
|
set_node_class(funding_source.__node_cls__(funding_source))
|
|
|
|
|
|
def get_funding_source() -> Wallet:
|
|
return funding_source
|
|
|
|
|
|
wallets_module = importlib.import_module("lnbits.wallets")
|
|
fake_wallet = FakeWallet()
|
|
|
|
# initialize as fake wallet
|
|
funding_source: Wallet = fake_wallet
|
|
|
|
|
|
__all__ = [
|
|
"AlbyWallet",
|
|
"BlinkWallet",
|
|
"BoltzWallet",
|
|
"BreezSdkWallet",
|
|
"ClicheWallet",
|
|
"CoreLightningWallet",
|
|
"CLightningWallet",
|
|
"CoreLightningRestWallet",
|
|
"EclairWallet",
|
|
"FakeWallet",
|
|
"LNbitsWallet",
|
|
"LndWallet",
|
|
"LndRestWallet",
|
|
"LNPayWallet",
|
|
"LnTipsWallet",
|
|
"NWCWallet",
|
|
"OpenNodeWallet",
|
|
"PhoenixdWallet",
|
|
"SparkWallet",
|
|
"VoidWallet",
|
|
"ZBDWallet",
|
|
]
|