Update PostRestoreResponse class to use "signatures" instead of "promises" (#467)

* update nut-09 endpoint

* add to deprecated router and wallet
This commit is contained in:
callebtc
2024-03-12 15:52:20 +01:00
committed by GitHub
parent ff1e7597d1
commit 4f52973908
5 changed files with 25 additions and 5 deletions

View File

@@ -530,7 +530,13 @@ class CheckFeesResponse_deprecated(BaseModel):
class PostRestoreResponse(BaseModel):
outputs: List[BlindedMessage] = []
promises: List[BlindedSignature] = []
signatures: List[BlindedSignature] = []
promises: Optional[List[BlindedSignature]] = [] # deprecated since 0.15.1
# duplicate value of "signatures" for backwards compatibility with old clients < 0.15.1
def __init__(self, **data):
super().__init__(**data)
self.promises = self.signatures
# ------- KEYSETS -------

View File

@@ -355,4 +355,4 @@ async def check_state(
async def restore(payload: PostMintRequest) -> PostRestoreResponse:
assert payload.outputs, Exception("no outputs provided.")
outputs, promises = await ledger.restore(payload.outputs)
return PostRestoreResponse(outputs=outputs, promises=promises)
return PostRestoreResponse(outputs=outputs, signatures=promises)

View File

@@ -360,4 +360,4 @@ async def check_spendable_deprecated(
async def restore(payload: PostMintRequest_deprecated) -> PostRestoreResponse:
assert payload.outputs, Exception("no outputs provided.")
outputs, promises = await ledger.restore(payload.outputs)
return PostRestoreResponse(outputs=outputs, promises=promises)
return PostRestoreResponse(outputs=outputs, signatures=promises)

View File

@@ -697,7 +697,14 @@ class LedgerAPI(LedgerAPIDeprecated, object):
self.raise_on_error_request(resp)
response_dict = resp.json()
returnObj = PostRestoreResponse.parse_obj(response_dict)
return returnObj.outputs, returnObj.promises
# BEGIN backwards compatibility < 0.15.1
# if the mint returns promises, duplicate into signatures
if returnObj.promises:
returnObj.signatures = returnObj.promises
# END backwards compatibility < 0.15.1
return returnObj.outputs, returnObj.signatures
class Wallet(LedgerAPI, WalletP2PK, WalletHTLC, WalletSecrets):

View File

@@ -408,7 +408,14 @@ class LedgerAPIDeprecated(SupportsHttpxClient, SupportsMintURL):
self.raise_on_error(resp)
response_dict = resp.json()
returnObj = PostRestoreResponse.parse_obj(response_dict)
return returnObj.outputs, returnObj.promises
# BEGIN backwards compatibility < 0.15.1
# if the mint returns promises, duplicate into signatures
if returnObj.promises:
returnObj.signatures = returnObj.promises
# END backwards compatibility < 0.15.1
return returnObj.outputs, returnObj.signatures
@async_set_httpx_client
@async_ensure_mint_loaded_deprecated