taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit 99d53c0709148924d43373ce4bb5b52d92e305c9
parent c357ffe63f2e4bfd53902b2790611b4968c81f94
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sat,  4 Apr 2026 12:43:46 +0200

align spec with implementation

Diffstat:
Mcore/exchange/post-reveal-melt.rst | 38+++++++++++++++++++-------------------
Mcore/exchange/post-reveal-withdraw.rst | 18------------------
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