commit 99d53c0709148924d43373ce4bb5b52d92e305c9
parent c357ffe63f2e4bfd53902b2790611b4968c81f94
Author: Christian Grothoff <christian@grothoff.org>
Date: Sat, 4 Apr 2026 12:43:46 +0200
align spec with implementation
Diffstat:
2 files changed, 19 insertions(+), 37 deletions(-)
diff --git a/core/exchange/post-reveal-melt.rst b/core/exchange/post-reveal-melt.rst
@@ -19,23 +19,38 @@
:http:statuscode:`400 Bad Request`:
The request body is malformed or a parameter is invalid.
This response comes with a standard `ErrorDetail` response with
- a code of ``TALER_EC_GENERIC_PARAMETER_MALFORMED``.
+ codes of:
+ - ``TALER_EC_GENERIC_PARAMETER_MALFORMED``
+ - ``TALER_EC_EXCHANGE_REFRESHES_REVEAL_AGE_RESTRICTION_COMMITMENT_INVALID``
+ - ``TALER_EC_EXCHANGE_REFRESHES_REVEAL_INVALID_RCH``
:http:statuscode:`403 Forbidden`:
- One of the signatures is invalid.
+ A signature is invalid. Returned with a
+ ``TALER_EC_EXCHANGE_REFRESHES_REVEAL_LINK_SIGNATURE_INVALID``.
This response comes with a standard `ErrorDetail` response.
:http:statuscode:`404 Not found`:
- The provided commitment is unknown.
+ The provided commitment is unknown. Returned with an error code of
+ ``TALER_EC_EXCHANGE_REFRESHES_REVEAL_SESSION_UNKNOWN``.
:http:statuscode:`409 Conflict`:
There is a problem between the original commitment and the revealed secret data.
The returned information is proof of the mismatch,
and therefore rather verbose, as it includes most of the original /melt request,
but of course expected to be primarily used for diagnostics.
- The response body is a `RevealConflictResponse`.
+ Returned with a code of
+ ``TALER_EC_EXCHANGE_REFRESHES_REVEAL_INVALID_RCH``.
:http:statuscode:`413 Request entity too large`:
The uploaded body is to long, it exceeds the size limit.
Returned with an error code of
``TALER_EC_GENERIC_UPLOAD_EXCEEDS_LIMIT``.
+ :http:statuscode:`500 Internal server error`:
+ The server had an internal problem handling the request.
+ Error codes include:
+ - ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE``
+ - ``TALER_EC_GENERIC_DB_STORE_FAILED``
+ - ``TALER_EC_GENERIC_DB_FETCH_FAILED``
+ :http:statuscode:`503 Service unvailable`:
+ Returned with an error code of
+ ``TALER_EC_EXCHANGE_GENERIC_KEYS_MISSING``.
**Details:**
@@ -84,18 +99,3 @@
.. ts:def:: RevealResponse
type RevealResponse = WithdrawResponse;
-
-
- .. ts:def:: RevealConflictResponse
-
- interface RevealConflictResponse {
- // Text describing the error.
- hint: string;
-
- // Detailed error code.
- code: Integer;
-
- // Commitment as calculated by the exchange from the revealed data.
- rc_expected: HashCode;
-
- }
diff --git a/core/exchange/post-reveal-withdraw.rst b/core/exchange/post-reveal-withdraw.rst
@@ -23,24 +23,6 @@
:http:statuscode:`404 Not found`:
The provided commitment $RCH is unknown.
Error code: ``TALER_EC_EXCHANGE_WITHDRAW_COMMITMENT_UNKNOWN``
- :http:statuscode:`409 Conflict`:
- There is a problem between the original commitment and the revealed secret data.
- The returned information is proof of the mismatch,
- and therefore rather verbose, as it includes most of the original /withdraw request,
- but of course expected to be primarily used for diagnostics.
-
- The response body is a `RevealConflictResponse`.
-
- The following specific error codes can be returned:
-
- - An age commitment for at least one of the coins did not fulfill the
- required maximum age requirement of the corresponding reserve.
- Error code:
- ``TALER_EC_EXCHANGE_GENERIC_COIN_AGE_REQUIREMENT_FAILURE``.
- - The computation of the hash of the commitment with provided input does
- result in the value of field ``h_commitment``.
- Error code:
- ``TALER_EC_EXCHANGE_WITHDRAW_REVEAL_INVALID_HASH``
:http:statuscode:`413 Request entity too large`:
The uploaded body is to long, it exceeds the size limit.
Returned with an error code of