NUT-06: add icon URL (#604)

* mint info icon

* Update cashu/core/models.py

Co-authored-by: Pavol Rusnak <pavol@rusnak.io>

* Update cashu/mint/router.py

Co-authored-by: Pavol Rusnak <pavol@rusnak.io>

* Update cashu/wallet/mint_info.py

Co-authored-by: Pavol Rusnak <pavol@rusnak.io>

* fix setting

---------

Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
This commit is contained in:
callebtc
2024-09-08 15:00:32 +02:00
committed by GitHub
parent 9eb66a46d3
commit ef5aee92d6
6 changed files with 8 additions and 1 deletions

View File

@@ -38,6 +38,7 @@ class GetInfoResponse(BaseModel):
description_long: Optional[str] = None description_long: Optional[str] = None
contact: Optional[List[MintInfoContact]] = None contact: Optional[List[MintInfoContact]] = None
motd: Optional[str] = None motd: Optional[str] = None
icon_url: Optional[str] = None
time: Optional[int] = None time: Optional[int] = None
nuts: Optional[Dict[int, Any]] = None nuts: Optional[Dict[int, Any]] = None

View File

@@ -144,6 +144,7 @@ class MintInformation(CashuSettings):
mint_info_description_long: str = Field(default=None) mint_info_description_long: str = Field(default=None)
mint_info_contact: List[List[str]] = Field(default=[]) mint_info_contact: List[List[str]] = Field(default=[])
mint_info_motd: str = Field(default=None) mint_info_motd: str = Field(default=None)
mint_info_icon_url: str = Field(default=None)
class WalletSettings(CashuSettings): class WalletSettings(CashuSettings):
@@ -201,11 +202,13 @@ class LndRestFundingSource(MintSettings):
mint_lnd_rest_invoice_macaroon: Optional[str] = Field(default=None) mint_lnd_rest_invoice_macaroon: Optional[str] = Field(default=None)
mint_lnd_enable_mpp: bool = Field(default=False) mint_lnd_enable_mpp: bool = Field(default=False)
class LndRPCFundingSource(MintSettings): class LndRPCFundingSource(MintSettings):
mint_lnd_rpc_endpoint: Optional[str] = Field(default=None) mint_lnd_rpc_endpoint: Optional[str] = Field(default=None)
mint_lnd_rpc_cert: Optional[str] = Field(default=None) mint_lnd_rpc_cert: Optional[str] = Field(default=None)
mint_lnd_rpc_macaroon: Optional[str] = Field(default=None) mint_lnd_rpc_macaroon: Optional[str] = Field(default=None)
class CLNRestFundingSource(MintSettings): class CLNRestFundingSource(MintSettings):
mint_clnrest_url: Optional[str] = Field(default=None) mint_clnrest_url: Optional[str] = Field(default=None)
mint_clnrest_cert: Optional[str] = Field(default=None) mint_clnrest_cert: Optional[str] = Field(default=None)

View File

@@ -56,6 +56,7 @@ async def info() -> GetInfoResponse:
description_long=settings.mint_info_description_long, description_long=settings.mint_info_description_long,
contact=contact_info, contact=contact_info,
nuts=mint_features, nuts=mint_features,
icon_url=settings.mint_info_icon_url,
motd=settings.mint_info_motd, motd=settings.mint_info_motd,
time=int(time.time()), time=int(time.time()),
) )

View File

@@ -15,6 +15,7 @@ class MintInfo(BaseModel):
description_long: Optional[str] description_long: Optional[str]
contact: Optional[List[MintInfoContact]] contact: Optional[List[MintInfoContact]]
motd: Optional[str] motd: Optional[str]
icon_url: Optional[str]
time: Optional[int] time: Optional[int]
nuts: Optional[Dict[int, Any]] nuts: Optional[Dict[int, Any]]

View File

@@ -295,7 +295,7 @@ class LedgerAPI(LedgerAPIDeprecated, object):
Raises: Raises:
Exception: If the mint request fails 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) payload = PostMintQuoteRequest(unit=unit.name, amount=amount)
resp = await self.httpx.post( resp = await self.httpx.post(
join(self.url, "/v1/mint/quote/bolt11"), json=payload.dict() join(self.url, "/v1/mint/quote/bolt11"), json=payload.dict()

View File

@@ -107,6 +107,7 @@ class Wallet(
self.proofs: List[Proof] = [] self.proofs: List[Proof] = []
self.name = name self.name = name
self.unit = Unit[unit] self.unit = Unit[unit]
url = url.rstrip("/") url = url.rstrip("/")
super().__init__(url=url, db=self.db) super().__init__(url=url, db=self.db)
logger.debug("Wallet initialized") logger.debug("Wallet initialized")