feat: toggle holdinvoice depending on fundingsource Feature (#3262)
This commit is contained in:
@@ -40,6 +40,7 @@ def set_funding_source(class_name: str | None = None) -> None:
|
||||
global funding_source
|
||||
funding_source = funding_source_constructor()
|
||||
settings.has_nodemanager = funding_source.has_feature(Feature.nodemanager)
|
||||
settings.has_holdinvoice = funding_source.has_feature(Feature.holdinvoice)
|
||||
|
||||
|
||||
def get_funding_source() -> Wallet:
|
||||
|
||||
@@ -17,7 +17,7 @@ if TYPE_CHECKING:
|
||||
|
||||
class Feature(Enum):
|
||||
nodemanager = "nodemanager"
|
||||
# hold = "hold"
|
||||
holdinvoice = "holdinvoice"
|
||||
# bolt12 = "bolt12"
|
||||
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ from lnbits.utils.crypto import random_secret_and_hash
|
||||
from lnbits.wallets.lnd_grpc_files.router_pb2_grpc import RouterStub
|
||||
|
||||
from .base import (
|
||||
Feature,
|
||||
InvoiceResponse,
|
||||
PaymentFailedStatus,
|
||||
PaymentPendingStatus,
|
||||
@@ -64,6 +65,8 @@ environ["GRPC_SSL_CIPHER_SUITES"] = "HIGH+ECDSA"
|
||||
|
||||
|
||||
class LndWallet(Wallet):
|
||||
features = [Feature.holdinvoice]
|
||||
|
||||
def __init__(self):
|
||||
if not settings.lnd_grpc_endpoint:
|
||||
raise ValueError("cannot initialize LndWallet: missing lnd_grpc_endpoint")
|
||||
|
||||
@@ -31,7 +31,7 @@ class LndRestWallet(Wallet):
|
||||
"""https://api.lightning.community/#lnd-rest-api-reference"""
|
||||
|
||||
__node_cls__ = LndRestNode
|
||||
features = [Feature.nodemanager]
|
||||
features = [Feature.nodemanager, Feature.holdinvoice]
|
||||
|
||||
def __init__(self):
|
||||
if not settings.lnd_rest_endpoint:
|
||||
|
||||
Reference in New Issue
Block a user