Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,16 @@ MINT_CORELIGHTNING_REST_CERT="./clightning-2-rest/certificate.pem"
MINT_LNBITS_ENDPOINT=https://legend.lnbits.com
MINT_LNBITS_KEY=yourkeyasdasdasd

# Use with TapRestWallet
MINT_TAP_REST_ENDPOINT=https://127.0.0.1:8080
MINT_TAP_REST_CERT="/home/litd/.lnd/tls.cert"
MINT_TAP_REST_LND_MACAROON="/home/litd/.lnd/data/chain/bitcoin/regtest/admin.macaroon"
MINT_TAP_REST_TAP_MACAROON="/home/litd/.tapd/data/regtest/admin.macaroon"
MINT_TAP_REST_ASSET_ID=""
MINT_TAP_REST_PEER_PUBKEY=""

# Use with CLNRestWallet

# Use with BlinkWallet
MINT_BLINK_KEY=blink_abcdefgh

Expand Down
9 changes: 6 additions & 3 deletions cashu/core/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -551,6 +551,7 @@ class Unit(Enum):
usd = 2
eur = 3
btc = 4
thb = 5
auth = 999

def str(self, amount: int | float) -> str:
Expand All @@ -562,6 +563,8 @@ def str(self, amount: int | float) -> str:
return f"${amount/100:.2f} USD"
elif self == Unit.eur:
return f"{amount/100:.2f} EUR"
elif self == Unit.thb:
return f"{amount/100:.2f} THB"
elif self == Unit.btc:
return f"{amount/1e8:.8f} BTC"
elif self == Unit.auth:
Expand Down Expand Up @@ -601,7 +604,7 @@ def to(self, to_unit: Unit, round: Optional[str] = None):
return self

def to_float_string(self) -> str:
if self.unit == Unit.usd or self.unit == Unit.eur:
if self.unit == Unit.usd or self.unit == Unit.eur or self.unit == Unit.thb:
return self.cents_to_usd()
elif self.unit == Unit.sat:
return self.sat_to_btc()
Expand All @@ -612,7 +615,7 @@ def to_float_string(self) -> str:

@classmethod
def from_float(cls, amount: float, unit: Unit) -> "Amount":
if unit == Unit.usd or unit == Unit.eur:
if unit == Unit.usd or unit == Unit.eur or Unit.thb:
return cls(unit, int(round(amount * 100)))
elif unit == Unit.sat:
return cls(unit, int(round(amount * 1e8)))
Expand All @@ -633,7 +636,7 @@ def msat_to_btc(self) -> str:
return f"{sat_amount.amount/1e8:.8f}"

def cents_to_usd(self) -> str:
if self.unit != Unit.usd and self.unit != Unit.eur:
if self.unit != Unit.usd and self.unit != Unit.eur and self.unit != Unit.thb:
raise Exception("Amount must be in cents")
return f"{self.amount/100:.2f}"

Expand Down
13 changes: 13 additions & 0 deletions cashu/core/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ class MintBackends(MintSettings):
mint_backend_bolt11_msat: str = Field(default="")
mint_backend_bolt11_usd: str = Field(default="")
mint_backend_bolt11_eur: str = Field(default="")
mint_backend_bolt11_thb: str = Field(default="")

mint_lnbits_endpoint: str = Field(default=None)
mint_lnbits_key: str = Field(default=None)
Expand Down Expand Up @@ -168,6 +169,7 @@ class FakeWalletSettings(MintSettings):
fakewallet_balance_sat: int = Field(default=1337)
fakewallet_balance_usd: int = Field(default=1337)
fakewallet_balance_eur: int = Field(default=1337)
fakewallet_balance_thb: int = Field(default=1337)


class MintInformation(CashuSettings):
Expand Down Expand Up @@ -237,6 +239,16 @@ class LndRestFundingSource(MintSettings):
mint_lnd_enable_mpp: bool = Field(default=True)


class TapRestFundingSource(MintSettings):
mint_tap_rest_endpoint: Optional[str] = Field(default=None)
mint_tap_rest_cert: Optional[str] = Field(default=None)
mint_tap_rest_cert_verify: bool = Field(default=True)
mint_tap_rest_lnd_macaroon: Optional[str] = Field(default=None)
mint_tap_rest_tap_macaroon: Optional[str] = Field(default=None)
mint_tap_rest_asset_id: Optional[str] = Field(default=None)
mint_tap_rest_peer_pubkey: Optional[str] = Field(default=None)


class LndRPCFundingSource(MintSettings):
mint_lnd_rpc_endpoint: Optional[str] = Field(default=None)
mint_lnd_rpc_cert: Optional[str] = Field(default=None)
Expand Down Expand Up @@ -288,6 +300,7 @@ class Settings(
EnvSettings,
LndRPCFundingSource,
LndRestFundingSource,
TapRestFundingSource,
CoreLightningRestFundingSource,
CLNRestFundingSource,
FakeWalletSettings,
Expand Down
1 change: 1 addition & 0 deletions cashu/lightning/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from .lnbits import LNbitsWallet # noqa: F401
from .lnd_grpc.lnd_grpc import LndRPCWallet # noqa: F401
from .lndrest import LndRestWallet # noqa: F401
from .taprest import TapRestWallet # noqa: F401
from .strike import StrikeWallet # noqa: F401

backend_settings = [
Expand Down
Loading
Loading