diff options
author | Christian Grothoff <grothoff@gnunet.org> | 2022-02-05 17:31:01 +0100 |
---|---|---|
committer | Christian Grothoff <grothoff@gnunet.org> | 2022-02-05 17:31:59 +0100 |
commit | 6af2d5ddb7d3177da901233df93001b9c3552762 (patch) | |
tree | 4cfdab5841a72f636988a29270f92b896103bc1f /core | |
parent | d25d7d45719959751dd425d23e62002ad5e96329 (diff) | |
download | docs-6af2d5ddb7d3177da901233df93001b9c3552762.tar.gz docs-6af2d5ddb7d3177da901233df93001b9c3552762.tar.bz2 docs-6af2d5ddb7d3177da901233df93001b9c3552762.zip |
specify /csr
Diffstat (limited to 'core')
-rw-r--r-- | core/api-exchange.rst | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/core/api-exchange.rst b/core/api-exchange.rst index 810dca72..75ed171a 100644 --- a/core/api-exchange.rst +++ b/core/api-exchange.rst @@ -1409,6 +1409,74 @@ exchange. } +.. http:post:: /csr + + Obtain exchange-side input values in preparation for a + withdraw step for certain denomination cipher types, + specifically at this point for Clause-Schnorr blind + signatures. + + **Request:** The request body must be a `WithdrawPrepareRequest` object. + + **Response:** + + :http:statuscode:`200 OK`: + The request was successful, and the response is a `WithdrawPrepareResponse`. Note that repeating exactly the same request + will again yield the same response (assuming none of the denomination is expired). + :http:statuscode:`404 Not found`: + The denomination key is not known to the exchange. + :http:statuscode:`410 Gone`: + The requested denomination key is not yet or no longer valid. + It either before the validity start, past the expiration or was revoked. The response is a + `DenominationExpiredMessage`. Clients must evaluate + the error code provided to understand which of the + cases this is and handle it accordingly. + + **Details:** + + .. ts:def:: WithdrawPrepareRequest + + interface WithdrawPrepareRequest { + + nks: WithdrawPrepareDenomNonce[]; + + } + + .. ts:def:: WithdrawPrepareDenomNonce + + interface WithdrawPrepareDenomNonce { + + // Random client-side nonce + nonce: FIXME; + + // Hash of the public key of the denomination the + // request relates to. + denom_pub_hash: Hash; + } + + + .. ts:def:: WithdrawPrepareResponse + + interface WithdrawPrepareResponse { + // Responses for each request, in the same + // order that was used in the request. + ewvs: ExchangeWithdrawValue[]; + } + + .. ts:def:: ExchangeWithdrawValue + + interface ExchangeWithdrawValue { + + // CSR R0 value + r_pub_0: FIXME; + + // CSR R1 value + r_pub_1: FIXME; + } + + + + .. http:post:: /reserves/$RESERVE_PUB/withdraw Withdraw a coin of the specified denomination. Note that the client should |