Skip to content

Commit

Permalink
LND Backend
Browse files Browse the repository at this point in the history
 - Add MINT_LND_REST_CERT_VERIFY bool variable that when set to False allows
   verify=False for httpx and ignore LND selfsigned certificate validation

 On branch main
 Your branch is up to date with 'origin/main'.

 Changes to be committed:
	modified:   .env.example
	modified:   cashu/core/settings.py
	modified:   cashu/lightning/lndrest.py
  • Loading branch information
elliedev80 committed May 16, 2024
1 parent 52fbfc4 commit 7f74d77
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 0 deletions.
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ MINT_LNBITS_KEY=yourkeyasdasdasd
MINT_LND_REST_ENDPOINT=https://127.0.0.1:8086
MINT_LND_REST_CERT="/home/lnd/.lnd/tls.cert"
MINT_LND_REST_MACAROON="/home/lnd/.lnd/data/chain/bitcoin/regtest/admin.macaroon"
MINT_LND_REST_CERT_VERIFY=False

# Use with CoreLightningRestWallet
MINT_CORELIGHTNING_REST_URL=https://localhost:3001
Expand Down
1 change: 1 addition & 0 deletions cashu/core/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ class WalletSettings(CashuSettings):
class LndRestFundingSource(MintSettings):
mint_lnd_rest_endpoint: Optional[str] = Field(default=None)
mint_lnd_rest_cert: Optional[str] = Field(default=None)
mint_lnd_rest_cert_verify: bool = Field(default=True)
mint_lnd_rest_macaroon: Optional[str] = Field(default=None)
mint_lnd_rest_admin_macaroon: Optional[str] = Field(default=None)
mint_lnd_rest_invoice_macaroon: Optional[str] = Field(default=None)
Expand Down
12 changes: 12 additions & 0 deletions cashu/lightning/lndrest.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ def __init__(self, unit: Unit = Unit.sat, **kwargs):
self.unit = unit
endpoint = settings.mint_lnd_rest_endpoint
cert = settings.mint_lnd_rest_cert
cert_verify = settings.mint_lnd_rest_cert_verify

macaroon = (
settings.mint_lnd_rest_macaroon
Expand All @@ -54,6 +55,12 @@ def __init__(self, unit: Unit = Unit.sat, **kwargs):
" publicly issued certificate"
)

if not cert_verify:
logger.warning(
"certificate validation will be disabled for lndrest"
)


endpoint = endpoint[:-1] if endpoint.endswith("/") else endpoint
endpoint = (
f"https://{endpoint}" if not endpoint.startswith("http") else endpoint
Expand All @@ -66,6 +73,11 @@ def __init__(self, unit: Unit = Unit.sat, **kwargs):
# even on startup
self.cert = cert or True

# disable cert verify if choosen
if not cert_verify:
self.cert = False


self.auth = {"Grpc-Metadata-macaroon": self.macaroon}
self.client = httpx.AsyncClient(
base_url=self.endpoint, headers=self.auth, verify=self.cert
Expand Down

0 comments on commit 7f74d77

Please sign in to comment.