diff --git a/cashu/core/base.py b/cashu/core/base.py index 6fa9fe9..63d7f5c 100644 --- a/cashu/core/base.py +++ b/cashu/core/base.py @@ -1,5 +1,5 @@ from sqlite3 import Row -from typing import List +from typing import List, Union from pydantic import BaseModel @@ -12,7 +12,7 @@ class CashuError(BaseModel): class P2SHScript(BaseModel): script: str signature: str - address: str = None + address: Union[str, None] = None @classmethod def from_row(cls, row: Row): @@ -28,7 +28,7 @@ class Proof(BaseModel): amount: int secret: str = "" C: str - script: P2SHScript = None + script: Union[P2SHScript, None] = None reserved: bool = False # whether this proof is reserved for sending send_id: str = "" # unique ID of send attempt time_created: str = "" @@ -121,15 +121,17 @@ class GetMintResponse(BaseModel): class GetMeltResponse(BaseModel): - paid: str - preimage: str + paid: Union[bool, None] + preimage: Union[str, None] class SplitRequest(BaseModel): proofs: List[Proof] amount: int - output_data: MintRequest = None # backwards compatibility with clients < v0.2.2 - outputs: MintRequest = None + output_data: Union[ + MintRequest, None + ] = None # backwards compatibility with clients < v0.2.2 + outputs: Union[MintRequest, None] = None def __init__(self, **data): super().__init__(**data) diff --git a/cashu/core/settings.py b/cashu/core/settings.py index 99aa9a7..e328d3e 100644 --- a/cashu/core/settings.py +++ b/cashu/core/settings.py @@ -1,13 +1,13 @@ import os import sys from pathlib import Path +from typing import Union from environs import Env # type: ignore -from loguru import logger env = Env() -ENV_FILE = os.path.join(str(Path.home()), ".cashu", ".env") +ENV_FILE: Union[str, None] = os.path.join(str(Path.home()), ".cashu", ".env") if not os.path.isfile(ENV_FILE): ENV_FILE = os.path.join(os.getcwd(), ".env") if os.path.isfile(ENV_FILE): diff --git a/cashu/mint/router.py b/cashu/mint/router.py index ad70992..bb91695 100644 --- a/cashu/mint/router.py +++ b/cashu/mint/router.py @@ -80,7 +80,7 @@ async def split(payload: SplitRequest): """ proofs = payload.proofs amount = payload.amount - outputs = payload.outputs.blinded_messages + outputs = payload.outputs.blinded_messages if payload.outputs else None try: split_return = await ledger.split(proofs, amount, outputs) except Exception as exc: