diff --git a/cashu/core/models.py b/cashu/core/models.py index e4b18796..4f3c8f3e 100644 --- a/cashu/core/models.py +++ b/cashu/core/models.py @@ -38,6 +38,7 @@ class GetInfoResponse(BaseModel): description_long: Optional[str] = None contact: Optional[List[MintInfoContact]] = None motd: Optional[str] = None + icon_url: Optional[str] = None time: Optional[int] = None nuts: Optional[Dict[int, Any]] = None diff --git a/cashu/core/settings.py b/cashu/core/settings.py index 5104cf15..e7cf5d0c 100644 --- a/cashu/core/settings.py +++ b/cashu/core/settings.py @@ -144,6 +144,7 @@ class MintInformation(CashuSettings): mint_info_description_long: str = Field(default=None) mint_info_contact: List[List[str]] = Field(default=[]) mint_info_motd: str = Field(default=None) + mint_info_icon_url: str = Field(default=None) class WalletSettings(CashuSettings): @@ -201,11 +202,13 @@ class LndRestFundingSource(MintSettings): mint_lnd_rest_invoice_macaroon: Optional[str] = Field(default=None) mint_lnd_enable_mpp: bool = Field(default=False) + class LndRPCFundingSource(MintSettings): mint_lnd_rpc_endpoint: Optional[str] = Field(default=None) mint_lnd_rpc_cert: Optional[str] = Field(default=None) mint_lnd_rpc_macaroon: Optional[str] = Field(default=None) + class CLNRestFundingSource(MintSettings): mint_clnrest_url: Optional[str] = Field(default=None) mint_clnrest_cert: Optional[str] = Field(default=None) diff --git a/cashu/mint/router.py b/cashu/mint/router.py index d3d9761e..1c40a332 100644 --- a/cashu/mint/router.py +++ b/cashu/mint/router.py @@ -56,6 +56,7 @@ async def info() -> GetInfoResponse: description_long=settings.mint_info_description_long, contact=contact_info, nuts=mint_features, + icon_url=settings.mint_info_icon_url, motd=settings.mint_info_motd, time=int(time.time()), ) diff --git a/cashu/wallet/mint_info.py b/cashu/wallet/mint_info.py index 37fe072c..ccd00087 100644 --- a/cashu/wallet/mint_info.py +++ b/cashu/wallet/mint_info.py @@ -15,6 +15,7 @@ class MintInfo(BaseModel): description_long: Optional[str] contact: Optional[List[MintInfoContact]] motd: Optional[str] + icon_url: Optional[str] time: Optional[int] nuts: Optional[Dict[int, Any]] diff --git a/cashu/wallet/v1_api.py b/cashu/wallet/v1_api.py index d5d9ce50..e68c5560 100644 --- a/cashu/wallet/v1_api.py +++ b/cashu/wallet/v1_api.py @@ -295,7 +295,7 @@ async def mint_quote(self, amount: int, unit: Unit) -> PostMintQuoteResponse: Raises: Exception: If the mint request fails """ - logger.trace("Requesting mint: GET /v1/mint/bolt11") + logger.trace("Requesting mint: POST /v1/mint/bolt11") payload = PostMintQuoteRequest(unit=unit.name, amount=amount) resp = await self.httpx.post( join(self.url, "/v1/mint/quote/bolt11"), json=payload.dict() diff --git a/cashu/wallet/wallet.py b/cashu/wallet/wallet.py index 30bb878f..4cc7ae0d 100644 --- a/cashu/wallet/wallet.py +++ b/cashu/wallet/wallet.py @@ -107,6 +107,7 @@ def __init__(self, url: str, db: str, name: str = "no_name", unit: str = "sat"): self.proofs: List[Proof] = [] self.name = name self.unit = Unit[unit] + url = url.rstrip("/") super().__init__(url=url, db=self.db) logger.debug("Wallet initialized")