commit c24ed7e505cf6d1bc8aecc20991b635229b7b5c1
parent 1bcf6b8bf2c246953713760901b7036d2701e565
Author: Özgür Kesim <oec-taler@kesim.org>
Date: Mon, 27 Jan 2025 15:32:59 +0100
[exchange] /withdraw: move reserve_pub to body
For future cipher agility, we move the $RESERVE_PUB from the URL to the
body, along with an additional 'cipher' argument, which for now is the
fixed string "ED25519".
The 'reserve_pub' is now part of the the request body and related to the
cipher.
A return code of 501 now indicates a cipher in the request that is not
implemented.
Diffstat:
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/core/api-exchange.rst b/core/api-exchange.rst
@@ -1713,7 +1713,7 @@ CSR-Withdraw
Withdraw
~~~~~~~~
-.. http:post:: /reserves/$RESERVE_PUB/withdraw
+.. http:post:: /withdraw
.. note::
This endpoint is available starting with API version v24.
@@ -1801,6 +1801,8 @@ Withdraw
the withdraw amount threshold), as we need to create
a different payto://-URI for the KYC check depending
on the case.
+ :http:statuscode:`501 Not implemented`:
+ The client has provided a cipher that is not supported.
**Details:**
@@ -1808,6 +1810,15 @@ Withdraw
.. ts:def:: WithdrawRequest
interface WithdrawRequest {
+ // Cipher that is used for the rerserve's signatures.
+ // For now, only ed25519 signatures are applicable,
+ // but this might change in future versions.
+ cipher: "ED25519";
+
+ // The reserve's public key, for the the cipher ED25519,
+ // to verify the signature ``reserve_sig``.
+ reserve_pub: EddsaPublicKey;
+
// Array of ``n`` hash codes of denomination public keys to order.
// The sum of all denomination's values and fees MUST be
// at most the balance of the reserve. The balance of