mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-02-25 07:07:48 +01:00
* receive and pay works * fix linter issues * import Paymentstatus from core.models * fix test real payment * fix get_payment_status check in lnbits * fix tests? * simplify * refactor AsyncClient * inline import of get_wallet_class fixes the previous cyclic import * invoice stream working * add notes as a reminder to get rid of labels when cln-rest supports payment_hash * create Payment dummy classmethod * remove unnecessary fields from dummy * fixes tests? * fix model * fix cln bug (#1814) * auth header * rename cln to corelightning * add clnrest to admin_ui * add to clnrest allowed sources * add allowed sources to .env.example * allow macaroon files * add corelightning rest to workflow * proper env names * cleanup routine * log wallet connection errors and fix macaroon clnrest * print error on connection fails * clnrest: handle disconnects faster * fix test use of get_payment_status * make format * clnrest: add unhashed_description * add unhashed_description to test * description_hash test * unhashed_description not supported by clnrest * fix checking_id return in api_payments_create_invoice * refactor test to use client instead of api_payments * formatting, some errorlogging * fix test 1 * fix other tests, paid statuses was missing * error handling * revert unnecessary changes (#1854) * apply review of motorina0 --------- Co-authored-by: jackstar12 <jkranawetter05@gmail.com> Co-authored-by: jackstar12 <62219658+jackstar12@users.noreply.github.com> Co-authored-by: dni ⚡ <office@dnilabs.com>
40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
from __future__ import annotations
|
|
|
|
import importlib
|
|
from typing import Optional
|
|
|
|
from lnbits.settings import settings
|
|
from lnbits.wallets.base import Wallet
|
|
|
|
from .cliche import ClicheWallet
|
|
from .corelightning import CoreLightningWallet
|
|
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 .opennode import OpenNodeWallet
|
|
from .spark import SparkWallet
|
|
from .void import VoidWallet
|
|
|
|
|
|
def set_wallet_class(class_name: Optional[str] = None):
|
|
backend_wallet_class = class_name or settings.lnbits_backend_wallet_class
|
|
wallet_class = getattr(wallets_module, backend_wallet_class)
|
|
global WALLET
|
|
WALLET = wallet_class()
|
|
|
|
|
|
def get_wallet_class() -> Wallet:
|
|
return WALLET
|
|
|
|
|
|
wallets_module = importlib.import_module("lnbits.wallets")
|
|
FAKE_WALLET: Wallet = FakeWallet()
|
|
|
|
# initialize as fake wallet
|
|
WALLET: Wallet = FAKE_WALLET
|