mirror of
https://github.com/aljazceru/nutshell.git
synced 2025-12-24 03:54:21 +01:00
[Refactor] Mint: remove output.id optional (#504)
* remove output.id optional * asserts * wip * wip * working
This commit is contained in:
@@ -101,12 +101,12 @@ class Proof(BaseModel):
|
||||
time_created: Union[None, str] = ""
|
||||
time_reserved: Union[None, str] = ""
|
||||
derivation_path: Union[None, str] = "" # derivation path of the proof
|
||||
mint_id: Union[None, str] = (
|
||||
None # holds the id of the mint operation that created this proof
|
||||
)
|
||||
melt_id: Union[None, str] = (
|
||||
None # holds the id of the melt operation that destroyed this proof
|
||||
)
|
||||
mint_id: Union[
|
||||
None, str
|
||||
] = None # holds the id of the mint operation that created this proof
|
||||
melt_id: Union[
|
||||
None, str
|
||||
] = None # holds the id of the melt operation that destroyed this proof
|
||||
|
||||
def __init__(self, **data):
|
||||
super().__init__(**data)
|
||||
@@ -161,20 +161,13 @@ class Proof(BaseModel):
|
||||
return HTLCWitness.from_witness(self.witness).preimage
|
||||
|
||||
|
||||
class Proofs(BaseModel):
|
||||
# NOTE: not used in Pydantic validation
|
||||
__root__: List[Proof]
|
||||
|
||||
|
||||
class BlindedMessage(BaseModel):
|
||||
"""
|
||||
Blinded message or blinded secret or "output" which is to be signed by the mint
|
||||
"""
|
||||
|
||||
amount: int
|
||||
id: Optional[
|
||||
str
|
||||
] # DEPRECATION: Only Optional for backwards compatibility with old clients < 0.15 for deprecated API route.
|
||||
id: str
|
||||
B_: str # Hex-encoded blinded message
|
||||
witness: Union[str, None] = None # witnesses (used for P2PK with SIG_ALL)
|
||||
|
||||
@@ -204,11 +197,6 @@ class BlindedSignature(BaseModel):
|
||||
)
|
||||
|
||||
|
||||
class BlindedMessages(BaseModel):
|
||||
# NOTE: not used in Pydantic validation
|
||||
__root__: List[BlindedMessage] = []
|
||||
|
||||
|
||||
# ------- LIGHTNING INVOICE -------
|
||||
|
||||
|
||||
@@ -341,6 +329,19 @@ class GetInfoResponse_deprecated(BaseModel):
|
||||
parameter: Optional[dict] = None
|
||||
|
||||
|
||||
class BlindedMessage_Deprecated(BaseModel):
|
||||
# Same as BlindedMessage, but without the id field
|
||||
amount: int
|
||||
B_: str # Hex-encoded blinded message
|
||||
id: Optional[str] = None
|
||||
witness: Union[str, None] = None # witnesses (used for P2PK with SIG_ALL)
|
||||
|
||||
@property
|
||||
def p2pksigs(self) -> List[str]:
|
||||
assert self.witness, "Witness missing in output"
|
||||
return P2PKWitness.from_witness(self.witness).signatures
|
||||
|
||||
|
||||
# ------- API: KEYS -------
|
||||
|
||||
|
||||
@@ -407,7 +408,7 @@ class GetMintResponse_deprecated(BaseModel):
|
||||
|
||||
|
||||
class PostMintRequest_deprecated(BaseModel):
|
||||
outputs: List[BlindedMessage] = Field(
|
||||
outputs: List[BlindedMessage_Deprecated] = Field(
|
||||
..., max_items=settings.mint_max_request_length
|
||||
)
|
||||
|
||||
@@ -454,7 +455,7 @@ class PostMeltResponse(BaseModel):
|
||||
class PostMeltRequest_deprecated(BaseModel):
|
||||
proofs: List[Proof] = Field(..., max_items=settings.mint_max_request_length)
|
||||
pr: str = Field(..., max_length=settings.mint_max_request_length)
|
||||
outputs: Union[List[BlindedMessage], None] = Field(
|
||||
outputs: Union[List[BlindedMessage_Deprecated], None] = Field(
|
||||
None, max_items=settings.mint_max_request_length
|
||||
)
|
||||
|
||||
@@ -483,7 +484,7 @@ class PostSplitResponse(BaseModel):
|
||||
class PostSplitRequest_Deprecated(BaseModel):
|
||||
proofs: List[Proof] = Field(..., max_items=settings.mint_max_request_length)
|
||||
amount: Optional[int] = None
|
||||
outputs: List[BlindedMessage] = Field(
|
||||
outputs: List[BlindedMessage_Deprecated] = Field(
|
||||
..., max_items=settings.mint_max_request_length
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user