commit f210f130f1780317ce9ae553e822c46413ca3646
parent 06f4e4d1fc123f556ec4bf07f95663399dac20c9
Author: Özgür Kesim <oec@codeblau.de>
Date: Mon, 14 Sep 2026 20:11:11 +0200
recoup: error codes and signature purposes for the batch recoup protocol
Error codes 1556-1558 and 1581-1583 for batch size, commitment and
denomination mismatches in /recoup-withdraw and /recoup-refresh; the
NOT_ELIGIBLE codes now document the 410 the exchange returns.
Signature purposes 1051 and 1052 for the batch confirmations.
See https://bugs.gnunet.org/view.php?id=9828
Diffstat:
2 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/gnu-taler-error-codes/registry.rec b/gnu-taler-error-codes/registry.rec
@@ -939,7 +939,22 @@ Note: dead in latest cde
Value: 1555
Name: EXCHANGE_RECOUP_NOT_ELIGIBLE
Description: The coin's denomination has not been revoked yet.
-HttpStatus: 404
+HttpStatus: 410
+
+Value: 1556
+Name: EXCHANGE_RECOUP_WITHDRAW_BATCH_SIZE_MISMATCH
+Description: The number of coins in the recoup request does not match the number of coins signed in the withdraw operation.
+HttpStatus: 400
+
+Value: 1557
+Name: EXCHANGE_RECOUP_WITHDRAW_COMMITMENT_MISMATCH
+Description: The hash over the coins in the recoup request does not match the commitment of the withdraw operation. At least one disclosed coin was not part of the operation.
+HttpStatus: 409
+
+Value: 1558
+Name: EXCHANGE_RECOUP_WITHDRAW_DENOMINATION_MISMATCH
+Description: The denomination of a disclosed coin differs from the denomination recorded for that position of the withdraw operation.
+HttpStatus: 409
Value: 1575
Name: EXCHANGE_RECOUP_REFRESH_SIGNATURE_INVALID
@@ -959,7 +974,22 @@ HttpStatus: 500
Value: 1580
Name: EXCHANGE_RECOUP_REFRESH_NOT_ELIGIBLE
Description: The coin's denomination has not been revoked yet.
-HttpStatus: 404
+HttpStatus: 410
+
+Value: 1581
+Name: EXCHANGE_RECOUP_REFRESH_BATCH_SIZE_MISMATCH
+Description: The number of coins in the recoup request does not match the number of coins signed in the refresh operation.
+HttpStatus: 400
+
+Value: 1582
+Name: EXCHANGE_RECOUP_REFRESH_COMMITMENT_MISMATCH
+Description: The hash over the coins in the recoup request does not match the commitment of the refresh operation. At least one disclosed coin was not part of the operation.
+HttpStatus: 409
+
+Value: 1583
+Name: EXCHANGE_RECOUP_REFRESH_DENOMINATION_MISMATCH
+Description: The denomination of a disclosed coin differs from the denomination recorded for that position of the refresh operation.
+HttpStatus: 409
Value: 1600
diff --git a/gnunet-signatures/registry.rec b/gnunet-signatures/registry.rec
@@ -395,6 +395,16 @@ Name: EXCHANGE_CONFIRM_WITHDRAW
Comment: Signature where the Exchange confirms an (age-)withdraw.
Package: GNU Taler
+Number: 1051
+Name: EXCHANGE_CONFIRM_RECOUP_WITHDRAW_BATCH
+Comment: Signature where the Exchange confirms a batch recoup of coins to the reserve they were withdrawn from.
+Package: GNU Taler
+
+Number: 1052
+Name: EXCHANGE_CONFIRM_RECOUP_REFRESH_BATCH
+Comment: Signature where the Exchange confirms a batch recoup of coins to the old coin they were refreshed from.
+Package: GNU Taler
+
#
# Auditor signatures
#