gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-util] branch master updated: remove error codes, they are n


From: gnunet
Subject: [taler-taler-util] branch master updated: remove error codes, they are now in GANA
Date: Wed, 28 Oct 2020 23:14:54 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository taler-util.

The following commit(s) were added to refs/heads/master by this push:
     new 5f851aa  remove error codes, they are now in GANA
5f851aa is described below

commit 5f851aa5bd49312046125598ee03d34c0ce238dc
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Wed Oct 28 23:14:51 2020 +0100

    remove error codes, they are now in GANA
---
 taler/util/errorcodes.py     | 4137 ------------------------------------------
 taler/util/gen_errcodes_c.py |   92 -
 2 files changed, 4229 deletions(-)

diff --git a/taler/util/errorcodes.py b/taler/util/errorcodes.py
deleted file mode 100644
index 9c43ed0..0000000
--- a/taler/util/errorcodes.py
+++ /dev/null
@@ -1,4137 +0,0 @@
-# This file is part of GNU Taler
-# (C) 2020 Taler Systems SA
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 3 of the License, or (at your option) any later
-# version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA  02110-1301  USA
-#
-# @author Florian Dold
-# @repository https://git.taler.net/taler-util.git/
-
-from dataclasses import dataclass
-import textwrap
-
-@dataclass
-class ErrorCode:
-    name: str
-    code: int
-    description: str
-
-
-class ErrorCodeRegistry:
-    def __init__(self):
-        self.last_numcode = -1
-        self._ec_name_memo = {}
-        self._ec_numcode_memo = {}
-        self._codes = []
-
-    def _add_ec(self, name, numcode, description):
-        if numcode <= self.last_numcode:
-            raise Exception(
-                f"Error code for {name} must be larger than last error code 
{self.last_numcode}"
-            )
-        if self._ec_name_memo.get(name) is not None:
-            raise Exception(f"Duplicate error code name {name}")
-        self._ec_name_memo[name] = True
-        if self._ec_numcode_memo.get(numcode) is not None:
-            raise Exception(f"Duplicate error code number {numcode}")
-        self._ec_numcode_memo[numcode] = True
-        self.last_numcode = numcode
-        desc = textwrap.dedent(description).strip()
-        self._codes.append(ErrorCode(name, numcode, desc))
-
-
-ec = ErrorCodeRegistry()
-
-__all__ = ["ec"]
-
-ec._add_ec(
-    "NONE",
-    0,
-    """
-    Special code to indicate no error (or no "code" present).
-    """,
-)
-
-ec._add_ec(
-    "INVALID",
-    1,
-    """
-    Special code to indicate that a non-integer error code was returned in the
-    JSON response.
-    """,
-)
-
-ec._add_ec(
-    "INVALID_RESPONSE",
-    2,
-    """
-    The response we got from the server was not even in JSON format.
-    """,
-)
-
-ec._add_ec(
-    "NOT_IMPLEMENTED",
-    3,
-    """
-    Generic implementation error: this function was not yet implemented.
-    """,
-)
-
-ec._add_ec(
-    "EXCHANGE_BAD_CONFIGURATION",
-    4,
-    """
-    Exchange is badly configured and thus cannot operate.
-    """,
-)
-
-ec._add_ec(
-    "INTERNAL_INVARIANT_FAILURE",
-    5,
-    """
-    Internal assertion error.
-    """,
-)
-
-ec._add_ec(
-    "TIMEOUT",
-    6,
-    """
-    Operation timed out.
-    """,
-)
-
-ec._add_ec(
-    "JSON_ALLOCATION_FAILURE",
-    7,
-    """
-    Exchange failed to allocate memory for building JSON reply.
-    """,
-)
-
-ec._add_ec(
-    "METHOD_INVALID",
-    8,
-    """
-    HTTP method invalid for this URL.
-    """,
-)
-
-ec._add_ec(
-    "OPERATION_INVALID",
-    9,
-    """
-    Operation specified invalid for this URL (resulting in a "NOT
-    FOUND" for the overall response).
-    """,
-)
-
-ec._add_ec(
-    "ENDPOINT_UNKNOWN",
-    10,
-    """
-    There is no endpoint defined for the URL provided by the client
-    (returned together with a #MHD_HTTP_NOT_FOUND status code).
-    """,
-)
-
-ec._add_ec(
-    "URI_TOO_LONG",
-    11,
-    """
-     The URI is longer than the longest URI the HTTP server is willing
-     to parse. Returned together with an HTTP status code of
-     #MHD_HTTP_URI_TOO_LONG.
-    """,
-)
-
-ec._add_ec(
-    "WRONG_NUMBER_OF_SEGMENTS",
-    12,
-    """
-    The number of segments included in the URI does not match the
-    number of segments expected by the endpoint. (returned together
-    with a #MHD_HTTP_NOT_FOUND status code).
-    """,
-)
-
-ec._add_ec(
-    "HOLE_IN_WIRE_FEE_STRUCTURE",
-    13,
-    """
-    The start and end-times in the wire fee structure
-    leave a hole. This is not allowed.
-    Generated as an error on the client-side.
-    """,
-)
-
-ec._add_ec(
-    "VERSION_MALFORMED",
-    14,
-    """
-     The version string given does not follow the
-     expected CURRENT:REVISION:AGE Format.  Generated as an error
-     on the client side.
-    """,
-)
-
-ec._add_ec(
-    "CLIENT_INTERNAL_FAILURE",
-    15,
-    """
-     The client-side experienced an internal failure.
-     Generated as an error on the client side.
-    """,
-)
-
-
-ec._add_ec(
-    "DB_SETUP_FAILED",
-    1001,
-    """
-    The exchange failed to even just initialize its connection to the database.
-
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "DB_START_FAILED",
-    1002,
-    """
-    The exchange encountered an error event to just start the database
-    transaction.
-
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-
-ec._add_ec(
-    "DB_COMMIT_FAILED_HARD",
-    1003,
-    """
-    The exchange encountered an error event to commit
-    the database transaction (hard, unrecoverable error).
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "DB_COMMIT_FAILED_ON_RETRY",
-    1004,
-    """
-    The exchange encountered an error event to commit
-    the database transaction, even after repeatedly
-    retrying it there was always a conflicting transaction.
-    (This indicates a repeated serialization error; should
-    only happen if some client maliciously tries to create
-    conflicting concurrent transactions.)
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-
-ec._add_ec(
-    "PARSER_OUT_OF_MEMORY",
-    1005,
-    """
-    The exchange had insufficient memory to parse the request. This
-    response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-
-ec._add_ec(
-    "JSON_INVALID",
-    1006,
-    """
-    The JSON in the client's request to the exchange was malformed.
-    (Generic parse error).
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "JSON_INVALID_WITH_DETAILS",
-    1007,
-    """
-    The JSON in the client's request to the exchange was malformed.
-    Details about the location of the parse error are provided.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "PARAMETER_MISSING",
-    1008,
-    """
-    A required parameter in the request to the exchange was missing.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "PARAMETER_MALFORMED",
-    1009,
-    """
-    A parameter in the request to the exchange was malformed.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "COIN_HISTORY_DB_ERROR_INSUFFICIENT_FUNDS",
-    1010,
-    """
-    The exchange failed to obtain the transaction history of the
-    given coin from the database while generating an insufficient
-    funds errors.  This can happen during /deposit or /recoup requests.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "INTERNAL_LOGIC_ERROR",
-    1011,
-    """
-    Internal logic error.  Some server-side function
-    failed that really should not.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PAYTO_WRONG_METHOD",
-    1012,
-    """
-    The method specified in a payto:// URI is not one we expected.
-    """,
-)
-
-ec._add_ec(
-    "PAYTO_MALFORMED",
-    1013,
-    """
-    The payto:// URI is malformed.
-    """,
-)
-
-ec._add_ec(
-    "DB_COIN_HISTORY_STORE_ERROR",
-    1014,
-    """
-    We failed to update the database of known coins.
-    """,
-)
-
-ec._add_ec(
-    "COINS_INVALID_COIN_PUB",
-    1050,
-    """
-    The public key of given to a /coins/ handler was malformed.
-    """,
-)
-
-ec._add_ec(
-    "RESERVES_INVALID_RESERVE_PUB",
-    1051,
-    """
-    The reserve key of given to a /reserves/ handler was malformed.
-    """,
-)
-
-ec._add_ec(
-    "TRANSFERS_INVALID_WTID",
-    1052,
-    """
-    The public key of given to a /transfers/ handler was malformed.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSITS_INVALID_H_WIRE",
-    1053,
-    """
-    The wire hash of given to a /deposits/ handler was malformed.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSITS_INVALID_MERCHANT_PUB",
-    1054,
-    """
-    The merchant key of given to a /deposits/ handler was malformed.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSITS_INVALID_H_CONTRACT_TERMS",
-    1055,
-    """
-    The hash of the contract terms given to a /deposits/ handler was malformed.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSITS_INVALID_COIN_PUB",
-    1056,
-    """
-    The coin public key of given to a /deposits/ handler was malformed.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSITS_INVALID_BODY_BY_EXCHANGE",
-    1057,
-    """
-    The body returned by the exchange for a /deposits/ request was malformed. 
Error created client-side.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSITS_INVALID_SIGNATURE_BY_EXCHANGE",
-    1058,
-    """
-    The signature returned by the exchange in a /deposits/ request was 
malformed. Error created client-side.
-    """,
-)
-
-
-
-ec._add_ec(
-    "WITHDRAW_INSUFFICIENT_FUNDS",
-    1100,
-    """
-    The given reserve does not have sufficient funds to admit the
-    requested withdraw operation at this time.  The response includes
-    the current "balance" of the reserve as well as the transaction
-    "history" that lead to this balance.  This response is provided
-    with HTTP status code #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_RESERVE_UNKNOWN",
-    1101,
-    """
-    The exchange has no information about the "reserve_pub" that
-    was given.
-    This response is provided with HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_AMOUNT_FEE_OVERFLOW",
-    1102,
-    """
-    The amount to withdraw together with the fee exceeds the
-    numeric range for Taler amounts.  This is not a client
-    failure, as the coin value and fees come from the exchange's
-    configuration.
-    This response is provided with HTTP status code 
#MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "AMOUNT_DEPOSITS_OVERFLOW",
-    1103,
-    """
-    All of the deposited amounts into this reserve total up to a
-    value that is too big for the numeric range for Taler amounts.
-    This is not a client failure, as the transaction history comes
-    from the exchange's configuration.  This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_HISTORIC_DENOMINATION_KEY_NOT_FOUND",
-    1104,
-    """
-    For one of the historic withdrawals from this reserve, the
-    exchange could not find the denomination key.
-    This is not a client failure, as the transaction history comes
-    from the exchange's configuration.  This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_AMOUNT_WITHDRAWALS_OVERFLOW",
-    1105,
-    """
-    All of the withdrawals from reserve total up to a
-    value that is too big for the numeric range for Taler amounts.
-    This is not a client failure, as the transaction history comes
-    from the exchange's configuration.  This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_RESERVE_WITHOUT_WIRE_TRANSFER",
-    1106,
-    """
-    The exchange somehow knows about this reserve, but there seem to
-    have been no wire transfers made.  This is not a client failure,
-    as this is a database consistency issue of the exchange.  This
-    response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_SIGNATURE_FAILED",
-    1107,
-    """
-    The exchange failed to create the signature using the
-    denomination key.  This response is provided with HTTP status
-    code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_DB_STORE_ERROR",
-    1108,
-    """
-    The exchange failed to store the withdraw operation in its
-    database.  This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_DB_FETCH_ERROR",
-    1109,
-    """
-    The exchange failed to check against historic withdraw data from
-    database (as part of ensuring the idempotency of the operation).
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_DENOMINATION_KEY_NOT_FOUND",
-    1110,
-    """
-    The exchange is not aware of the denomination key
-    the wallet requested for the withdrawal.
-    This response is provided
-    with HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_RESERVE_SIGNATURE_INVALID",
-    1111,
-    """
-    The signature of the reserve is not valid.  This response is
-    provided with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_HISTORY_DB_ERROR_INSUFFICIENT_FUNDS",
-    1112,
-    """
-    When computing the reserve history, we ended up with a negative
-    overall balance, which should be impossible.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_RESERVE_HISTORY_IMPOSSIBLE",
-    1113,
-    """
-    When computing the reserve history, we ended up with a negative
-    overall balance, which should be impossible.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_VALIDITY_IN_FUTURE",
-    1114,
-    """
-    Validity period of the coin to be withdrawn
-    is in the future.  Returned with an HTTP
-    status of #MHD_HTTP_PRECONDITION_FAILED.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_VALIDITY_IN_PAST",
-    1115,
-    """
-    Withdraw period of the coin to be withdrawn
-    is in the past.  Returned with an HTTP
-    status of #MHD_HTTP_GONE.
-    """,
-)
-
-ec._add_ec(
-    "DENOMINATION_KEY_LOST",
-    1116,
-    """
-    Withdraw period of the coin to be withdrawn
-    is in the past.  Returned with an HTTP
-    status of #MHD_HTTP_GONE.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_RESERVE_BALANCE_CORRUPT",
-    1117,
-    """
-    The exchange's database entry with the reserve balance summary
-    is inconsistent with its own history of the reserve.
-    Returned with an HTTP status of #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_REPLY_MALFORMED",
-    1118,
-    """
-    The exchange responded with a reply that did not satsify the protocol.
-    This error is not used in the protocol but created client-side.
-    """,
-)
-
-ec._add_ec(
-    "WITHDRAW_UNBLIND_FAILURE",
-    1119,
-    """
-    The client failed to unblind the blind signature.
-    This error is not used in the protocol but created client-side.
-    """,
-)
-
-
-ec._add_ec(
-    "RESERVE_STATUS_DB_ERROR",
-    1150,
-    """
-    The exchange failed to obtain the transaction history of the
-    given reserve from the database.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "RESERVE_STATUS_UNKNOWN",
-    1151,
-    """
-    The reserve status was requested using a unknown key,
-    to be returned with 404 Not Found.
-    """,
-)
-
-ec._add_ec(
-    "RESERVE_STATUS_REPLY_MALFORMED",
-    1152,
-    """
-    The exchange responded with a reply that did not satsify the protocol.
-    This error is not used in the protocol but created client-side.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_INSUFFICIENT_FUNDS",
-    1200,
-    """
-    The respective coin did not have sufficient residual value
-    for the /deposit operation (i.e. due to double spending).
-    The "history" in the respose provides the transaction history
-    of the coin proving this fact.  This response is provided
-    with HTTP status code #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_HISTORY_DB_ERROR",
-    1201,
-    """
-    The exchange failed to obtain the transaction history of the
-    given coin from the database (this does not happen merely because
-    the coin is seen by the exchange for the first time).
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_STORE_DB_ERROR",
-    1202,
-    """
-    The exchange failed to store the /depost information in the
-    database.  This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_DB_DENOMINATION_KEY_UNKNOWN",
-    1203,
-    """
-    The exchange database is unaware of the denomination key that
-    signed the coin (however, the exchange process is; this is not
-    supposed to happen; it can happen if someone decides to purge the
-    DB behind the back of the exchange process).  Hence the deposit
-    is being refused.  This response is provided with HTTP status
-    code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_DENOMINATION_KEY_UNKNOWN",
-    1204,
-    """
-    The exchange was trying to lookup the denomination key for
-    the purpose of a DEPOSIT operation. However, the denomination
-    key is unavailable for that purpose. This can be because
-    it is entirely unknown to the exchange or not in the validity
-    period for the deposit operation.  Hence the deposit
-    is being refused.  This response is provided with HTTP status
-    code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_COIN_SIGNATURE_INVALID",
-    1205,
-    """
-    The signature made by the coin over the deposit permission is not
-    valid.  This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_DENOMINATION_SIGNATURE_INVALID",
-    1206,
-    """
-    The signature of the denomination key over the coin is not valid.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_NEGATIVE_VALUE_AFTER_FEE",
-    1207,
-    """
-    The stated value of the coin after the deposit fee is subtracted
-    would be negative.  This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_REFUND_DEADLINE_AFTER_WIRE_DEADLINE",
-    1208,
-    """
-    The stated refund deadline is after the wire deadline.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_INVALID_WIRE_FORMAT_TYPE",
-    1209,
-    """
-    The exchange does not recognize the validity of or support the
-    given wire format type.
-    This response is provided
-    with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_INVALID_WIRE_FORMAT_JSON",
-    1210,
-    """
-    The exchange failed to canonicalize and hash the given wire format.
-    For example, the merchant failed to provide the "salt" or
-    a valid payto:// URI in the wire details.  Note that while the
-    exchange will do some basic sanity checking on the wire details,
-    it cannot warrant that the banking system will ultimately be able
-    to route to the specified address, even if this check passed.
-    This response is provided with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_INVALID_WIRE_FORMAT_CONTRACT_HASH_CONFLICT",
-    1211,
-    """
-    The hash of the given wire address does not match the hash
-    specified in the proposal data.  This response is provided with
-    HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_INVALID_WIRE_FORMAT_ACCOUNT_NUMBER",
-    1213,
-    """
-    The exchange detected that the given account number is invalid for
-    the selected wire format type.  This response is provided with HTTP
-    status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-
-ec._add_ec(
-    "DEPOSIT_INVALID_TIMESTAMP",
-    1218,
-    """
-    Timestamp included in deposit permission is intolerably far off
-    with respect to the clock of the exchange.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_DENOMINATION_VALIDITY_IN_FUTURE",
-    1219,
-    """
-    Validity period of the denomination key
-    is in the future.  Returned with an HTTP
-    status of #MHD_HTTP_PRECONDITION_FAILED.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_DENOMINATION_EXPIRED",
-    1220,
-    """
-    Denomination key of the coin is past the
-    deposit deadline.  Returned with an HTTP
-    status of #MHD_HTTP_GONE.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_INVALID_SIGNATURE_BY_EXCHANGE",
-    1221,
-    """
-    The signature provided by the exchange is not
-    valid. Error created client-side.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_CURRENCY_MISMATCH",
-    1222,
-    """
-    The currency specified for the deposit is different from
-    the currency of the coin.  This response is provided with HTTP
-    status code #MHD_HTTP_PRECONDITION_FAILED.
-    """,
-)
-
-
-ec._add_ec(
-    "MELT_INSUFFICIENT_FUNDS",
-    1300,
-    """
-    The respective coin did not have sufficient residual value
-    for the /refresh/melt operation.  The "history" in this
-    response provdes the "residual_value" of the coin, which may
-    be less than its "original_value".  This response is provided
-    with HTTP status code #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "MELT_DENOMINATION_KEY_NOT_FOUND",
-    1301,
-    """
-    The respective coin did not have sufficient residual value
-    for the /refresh/melt operation.  The "history" in this
-    response provdes the "residual_value" of the coin, which may
-    be less than its "original_value".  This response is provided
-    with HTTP status code #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "MELT_COIN_HISTORY_COMPUTATION_FAILED",
-    1302,
-    """
-    The exchange had an internal error reconstructing the
-    transaction history of the coin that was being melted.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "MELT_DB_FETCH_ERROR",
-    1303,
-    """
-    The exchange failed to check against historic melt data from
-    database (as part of ensuring the idempotency of the operation).
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "MELT_DB_STORE_SESSION_ERROR",
-    1304,
-    """
-    The exchange failed to store session data in the
-    database.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "MELT_FEES_EXCEED_CONTRIBUTION",
-    1305,
-    """
-    The exchange encountered melt fees exceeding the melted
-    coin's contribution.  This response is provided
-    with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "MELT_DENOMINATION_SIGNATURE_INVALID",
-    1306,
-    """
-    The denomination key signature on the melted coin is invalid.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "MELT_COIN_SIGNATURE_INVALID",
-    1307,
-    """
-    The signature made with the coin to be melted is invalid.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "MELT_HISTORY_DB_ERROR_INSUFFICIENT_FUNDS",
-    1308,
-    """
-    The exchange failed to obtain the transaction history of the
-    given coin from the database while generating an insufficient
-    funds errors.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "MELT_COIN_EXPIRED_NO_ZOMBIE",
-    1309,
-    """
-    The denomination of the given coin has past its expiration date and
-    it is also not a valid zombie (that is, was not refreshed with the
-    fresh coin being subjected to recoup).
-    """,
-)
-
-ec._add_ec(
-    "MELT_INVALID_SIGNATURE_BY_EXCHANGE",
-    1310,
-    """
-    The signature returned by the exchange in a melt request was malformed. 
Error created client-side.
-    """,
-)
-
-ec._add_ec(
-    "MELT_CURRENCY_MISMATCH",
-    1311,
-    """
-    The currency specified for the melt amount is different from
-    the currency of the coin.  This response is provided with HTTP
-    status code #MHD_HTTP_PRECONDITION_FAILED.
-    """,
-)
-
-ec._add_ec(
-    "REFRESH_RECOUP_DENOMINATION_KEY_NOT_FOUND",
-    1351,
-    """
-    The exchange is unaware of the denomination key that was
-    used to sign the melted zombie coin.  This response is provided
-    with HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "REFRESH_RECOUP_DENOMINATION_VALIDITY_IN_FUTURE",
-    1352,
-    """
-    Validity period of the denomination key
-    is in the future.  Returned with an HTTP
-    status of #MHD_HTTP_PRECONDITION_FAILED.
-    """,
-)
-
-ec._add_ec(
-    "REFRESH_RECOUP_DENOMINATION_EXPIRED",
-    1353,
-    """
-    Denomination key of the coin is past the
-    deposit deadline.  Returned with an HTTP
-    status of #MHD_HTTP_GONE.
-    """,
-)
-
-ec._add_ec(
-    "REFRESH_ZOMBIE_DENOMINATION_EXPIRED",
-    1354,
-    """
-    Denomination key of the coin is past the
-    deposit deadline.  Returned with an HTTP
-    status of #MHD_HTTP_GONE.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_COMMITMENT_VIOLATION",
-    1370,
-    """
-    The provided transfer keys do not match up with the
-    original commitment.  Information about the original
-    commitment is included in the response.  This response is
-    provided with HTTP status code #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_SIGNING_ERROR",
-    1371,
-    """
-    Failed to produce the blinded signatures over the coins
-    to be returned.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_SESSION_UNKNOWN",
-    1372,
-    """
-    The exchange is unaware of the refresh session specified in
-    the request.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_DB_FETCH_SESSION_ERROR",
-    1373,
-    """
-    The exchange failed to retrieve valid session data from the
-    database.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_DB_FETCH_REVEAL_ERROR",
-    1374,
-    """
-    The exchange failed to retrieve previously revealed data from the
-    database.  This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_DB_COMMIT_ERROR",
-    1375,
-    """
-    The exchange failed to retrieve commitment data from the
-    database.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_CNC_TRANSFER_ARRAY_SIZE_INVALID",
-    1376,
-    """
-    The size of the cut-and-choose dimension of the
-    private transfer keys request does not match #TALER_CNC_KAPPA - 1.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_NEW_DENOMS_ARRAY_SIZE_EXCESSIVE",
-    1377,
-    """
-    The number of coins to be created in refresh exceeds the limits
-    of the exchange.
-    private transfer keys request does not match #TALER_CNC_KAPPA - 1.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_NEW_DENOMS_ARRAY_SIZE_MISMATCH",
-    1378,
-    """
-    The number of envelopes given does not match the number
-    of denomination keys given.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_COST_CALCULATION_OVERFLOW",
-    1379,
-    """
-    The exchange encountered a numeric overflow totaling up
-    the cost for the refresh operation.  This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_AMOUNT_INSUFFICIENT",
-    1380,
-    """
-    The exchange's cost calculation shows that the melt amount
-    is below the costs of the transaction.  This response is provided
-    with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_FRESH_DENOMINATION_KEY_NOT_FOUND",
-    1381,
-    """
-    The exchange is unaware of the denomination key that was
-    requested for one of the fresh coins.  This response is provided
-    with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-
-ec._add_ec(
-    "REVEAL_LINK_SIGNATURE_INVALID",
-    1382,
-    """
-    The signature made with the coin over the link data is invalid.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_KEYS_MISSING",
-    1383,
-    """
-    The exchange failed to generate the signature as
-    it could not find the signing key for the denomination.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_INVALID_RCH",
-    1384,
-    """
-    The refresh session hash given to a /refreshes/ handler was malformed.
-    """,
-)
-
-ec._add_ec(
-    "REVEAL_REPLY_MALFORMED",
-    1385,
-    """
-    The exchange responded with a reply that did not satsify the protocol.
-    This error is not used in the protocol but created client-side.
-    """,
-)
-
-
-ec._add_ec(
-    "LINK_COIN_UNKNOWN",
-    1400,
-    """
-    The coin specified in the link request is unknown to the exchange.
-    This response is provided with HTTP status code
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "LINK_REPLY_MALFORMED",
-    1401,
-    """
-    The exchange responded with a reply that did not satsify the protocol.
-    This error is not used in the protocol but created client-side.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_COIN_NOT_FOUND",
-    1500,
-    """
-    The exchange knows literally nothing about the coin we were asked
-    to refund. But without a transaction history, we cannot issue a
-    refund.  This is kind-of OK, the owner should just refresh it
-    directly without executing the refund.  This response is provided
-    with HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_CONFLICT",
-    1501,
-    """
-    We could not process the refund request as the coin's transaction
-    history does not permit the requested refund at this time.  The
-    "history" in the response proves this.  This response is provided
-    with HTTP status code #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_DEPOSIT_NOT_FOUND",
-    1503,
-    """
-    The exchange knows about the coin we were asked to refund, but
-    not about the specific /deposit operation.  Hence, we cannot
-    issue a refund (as we do not know if this merchant public key is
-    authorized to do a refund).  This response is provided with HTTP
-    status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_CURRENCY_MISMATCH",
-    1504,
-    """
-    The currency specified for the refund is different from
-    the currency of the coin.  This response is provided with HTTP
-    status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_DB_INCONSISTENT",
-    1505,
-    """
-    When we tried to check if we already paid out the coin, the
-    exchange's database suddenly disagreed with data it previously
-    provided (internal inconsistency).
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_MERCHANT_ALREADY_PAID",
-    1506,
-    """
-    The exchange can no longer refund the customer/coin as the
-    money was already transferred (paid out) to the merchant.
-    (It should be past the refund deadline.)
-    This response is provided with HTTP status code
-    #MHD_HTTP_GONE.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_INSUFFICIENT_FUNDS",
-    1507,
-    """
-    The amount the exchange was asked to refund exceeds
-    (with fees) the total amount of the deposit (including fees).
-    This response is provided with HTTP status code
-    #MHD_HTTP_PRECONDITION_FAILED.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_DENOMINATION_KEY_NOT_FOUND",
-    1508,
-    """
-    The exchange failed to recover information about the
-    denomination key of the refunded coin (even though it
-    recognizes the key).  Hence it could not check the fee
-    strucutre.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_FEE_TOO_LOW",
-    1509,
-    """
-    The refund fee specified for the request is lower than
-    the refund fee charged by the exchange for the given
-    denomination key of the refunded coin.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_STORE_DB_ERROR",
-    1510,
-    """
-    The exchange failed to store the refund information to
-    its database.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_FEE_CURRENCY_MISMATCH",
-    1511,
-    """
-    The refund fee is specified in a different currency
-    than the refund amount.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_FEE_ABOVE_AMOUNT",
-    1512,
-    """
-    The refunded amount is smaller than the refund fee,
-    which would result in a negative refund.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_MERCHANT_SIGNATURE_INVALID",
-    1513,
-    """
-    The signature of the merchant is invalid.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_MERCHANT_SIGNING_FAILED",
-    1514,
-    """
-    Merchant backend failed to create the refund confirmation signature.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_INVALID_SIGNATURE_BY_EXCHANGE",
-    1515,
-    """
-    The signature returned by the exchange in a refund request was malformed. 
Error created client-side.
-    """,
-)
-
-
-ec._add_ec(
-    "ADMIN_ADD_INCOMING_WIREFORMAT_UNSUPPORTED",
-    1600,
-    """
-    The wire format specified in the "sender_account_details"
-    is not understood or not supported by this exchange.
-    Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND.
-    (As we did not find an interpretation of the wire format.)
-    """,
-)
-
-ec._add_ec(
-    "ADMIN_ADD_INCOMING_CURRENCY_UNSUPPORTED",
-    1601,
-    """
-    The currency specified in the "amount" parameter is not
-    supported by this exhange.  Returned with an HTTP status
-    code of #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "ADMIN_ADD_INCOMING_DB_STORE",
-    1602,
-    """
-    The exchange failed to store information about the incoming
-    transfer in its database.  This response is provided with HTTP
-    status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TRANSFERS_GET_DB_FETCH_FAILED",
-    1700,
-    """
-    The exchange encountered an error (that is not about not finding
-    the wire transfer) trying to lookup a wire transfer identifier
-    in the database.  This response is provided with HTTP
-    status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TRANSFERS_GET_DB_INCONSISTENT",
-    1701,
-    """
-    The exchange found internally inconsistent data when resolving a
-    wire transfer identifier in the database.  This response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TRANSFERS_GET_WTID_NOT_FOUND",
-    1702,
-    """
-    The exchange did not find information about the specified
-    wire transfer identifier in the database.  This response is
-    provided with HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "TRANSFERS_GET_WIRE_FEE_NOT_FOUND",
-    1703,
-    """
-    The exchange did not find information about the wire transfer
-    fees it charged. This response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TRANSFERS_GET_WIRE_FEE_INCONSISTENT",
-    1704,
-    """
-    The exchange found a wire fee that was above the total transfer
-    value (and thus could not have been charged). This response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TRANSFERS_GET_REPLY_MALFORMED",
-    1705,
-    """
-    The exchange responded with a reply that did not satsify the protocol.
-    This error is not used in the protocol but created client-side.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSITS_GET_DB_FEE_INCONSISTENT",
-    1800,
-    """
-    The exchange found internally inconsistent fee data when
-    resolving a transaction in the database.  This
-    response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSITS_GET_DB_FETCH_FAILED",
-    1801,
-    """
-    The exchange encountered an error (that is not about not finding
-    the transaction) trying to lookup a transaction
-    in the database.  This response is provided with HTTP
-    status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSITS_GET_NOT_FOUND",
-    1802,
-    """
-    The exchange did not find information about the specified
-    transaction in the database.  This response is
-    provided with HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSITS_GET_WTID_RESOLUTION_ERROR",
-    1803,
-    """
-    The exchange failed to identify the wire transfer of the
-    transaction (or information about the plan that it was supposed
-    to still happen in the future).  This response is provided with
-    HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSITS_GET_MERCHANT_SIGNATURE_INVALID",
-    1804,
-    """
-    The signature of the merchant is invalid.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "RECOUP_DENOMINATION_KEY_UNKNOWN",
-    1850,
-    """
-    The given denomination key is not in the "recoup" set of the
-    exchange right now.  This response is provided with an
-    HTTP status code of #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "RECOUP_SIGNATURE_INVALID",
-    1851,
-    """
-    The given coin signature is invalid for the request.
-    This response is provided with an
-    HTTP status code of #MHD_HTTP_FORBIDDEN.
-    """,
-)
-
-ec._add_ec(
-    "RECOUP_DENOMINATION_SIGNATURE_INVALID",
-    1852,
-    """
-    The signature of the denomination key over the coin is not valid.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "RECOUP_DB_FETCH_FAILED",
-    1853,
-    """
-    The exchange failed to access its own database about reserves.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "RECOUP_WITHDRAW_NOT_FOUND",
-    1854,
-    """
-    The exchange could not find the corresponding withdraw operation.
-    The request is denied.  This response is provided with an HTTP
-    status code of #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "RECOUP_HISTORY_DB_ERROR",
-    1855,
-    """
-    The exchange obtained an internally inconsistent transaction
-    history for the given coin. This response is provided with HTTP
-    status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "RECOUP_DB_PUT_FAILED",
-    1856,
-    """
-    The exchange failed to store information about the recoup to be
-    performed in the database. This response is provided with HTTP
-    status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "RECOUP_COIN_BALANCE_ZERO",
-    1857,
-    """
-    The coin's remaining balance is zero.  The request is denied.
-    This response is provided with an HTTP status code of
-    #MHD_HTTP_FORBIDDEN.
-    """,
-)
-
-ec._add_ec(
-    "RECOUP_BLINDING_FAILED",
-    1858,
-    """
-    The exchange failed to reproduce the coin's blinding.
-    This response is provided with an HTTP status code of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "RECOUP_COIN_BALANCE_NEGATIVE",
-    1859,
-    """
-    The coin's remaining balance is zero.  The request is denied.
-    This response is provided with an HTTP status code of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR
-    """,
-)
-
-ec._add_ec(
-    "RECOUP_DENOMINATION_VALIDITY_IN_FUTURE",
-    1860,
-    """
-    Validity period of the denomination key
-    is in the future.  Returned with an HTTP
-    status of #MHD_HTTP_PRECONDITION_FAILED.
-    """,
-)
-
-ec._add_ec(
-    "RECOUP_REPLY_MALFORMED",
-    1861,
-    """
-    The exchange responded with a reply that did not satsify the protocol.
-    This error is not used in the protocol but created client-side.
-    """,
-)
-
-ec._add_ec(
-    "KEYS_HAVE_NOT_NUMERIC",
-    1900,
-    """
-    The "have" parameter was not a natural number.
-    This response is provied with an HTTP status code of
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "KEYS_MISSING",
-    1901,
-    """
-    We currently cannot find any keys.
-    This response is provied with an HTTP status code of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "KEYS_TIMETRAVEL_FORBIDDEN",
-    1902,
-    """
-    This exchange does not allow clients to request /keys for
-    times other than the current (exchange) time.
-    This response is provied with an HTTP status code of
-    #MHD_HTTP_FORBIDDEN.
-    """,
-)
-
-ec._add_ec(
-    "KEYS_INVALID",
-    1903,
-    """
-    The keys response was malformed. This error is generated
-    client-side.
-    """,
-)
-
-
-
-ec._add_ec(
-    "INSTANCE_UNKNOWN",
-    2000,
-    """
-    The backend could not find the merchant instance specified
-    in the request.   This response is
-    provided with HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "PROPOSAL_INSTANCE_CONFIGURATION_LACKS_WIRE",
-    2002,
-    """
-    The backend lacks a wire transfer method configuration option
-    for the given instance.
-    """,
-)
-
-
-ec._add_ec(
-    "PAY_MERCHANT_INVALID_RESPONSE",
-    2100,
-    """
-    The merchant failed to provide a meaningful response
-    to a /pay request.  This error is created client-side.
-    """,
-)
-
-ec._add_ec(
-    "PAY_EXCHANGE_FAILED",
-    2101,
-    """
-    The exchange failed to provide a meaningful response
-    to a /deposit request.  This response is provided
-    with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY, or
-    #MHD_HTTP_CONFLICT in case the exchange reports
-    #TALER_EC_DEPOSIT_INSUFFICIENT_FUNDS (aka double spending).
-    """,
-)
-
-ec._add_ec(
-    "PAY_DB_STORE_PAY_ERROR",
-    2102,
-    """
-    The merchant failed to commit the exchanges' response to
-    a /deposit request to its database.  This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PAY_EXCHANGE_REJECTED",
-    2103,
-    """
-    The specified exchange is not supported/trusted by
-    this merchant.  This response is provided
-    with HTTP status code #MHD_HTTP_PRECONDITION_FAILED.
-    """,
-)
-
-ec._add_ec(
-    "PAY_DENOMINATION_KEY_NOT_FOUND",
-    2104,
-    """
-    The denomination key used for payment is not listed among the
-    denomination keys of the exchange.  This response is provided
-    with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "PAY_DENOMINATION_KEY_AUDITOR_FAILURE",
-    2105,
-    """
-    The denomination key used for payment is not audited by an
-    auditor approved by the merchant.  This response is provided
-    with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "PAY_AMOUNT_OVERFLOW",
-    2106,
-    """
-    There was an integer overflow totaling up the amounts or
-    deposit fees in the payment.  This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PAY_FEES_EXCEED_PAYMENT",
-    2107,
-    """
-    The deposit fees exceed the total value of the payment.
-    This response is provided
-    with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "PAY_PAYMENT_INSUFFICIENT_DUE_TO_FEES",
-    2108,
-    """
-    After considering deposit and wire fees, the payment is insufficient
-    to satisfy the required amount for the contract.  The client should
-    revisit the logic used to calculate fees it must cover.
-    This response is provided
-    with HTTP status code #MHD_HTTP_ACCEPTED.
-    """,
-)
-
-ec._add_ec(
-    "PAY_PAYMENT_INSUFFICIENT",
-    2109,
-    """
-    Even if we do not consider deposit and wire fees,
-    the payment is insufficient to satisfy the required amount for
-    the contract.  This response is provided with HTTP status code
-    #MHD_HTTP_ACCEPTED.
-    """,
-)
-
-ec._add_ec(
-    "PAY_COIN_SIGNATURE_INVALID",
-    2110,
-    """
-    The signature over the contract of one of the coins
-    was invalid. This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "PAY_EXCHANGE_TIMEOUT",
-    2111,
-    """
-    We failed to contact the exchange for the /pay request.
-    This response is provided
-    with HTTP status code #MHD_HTTP_REQUEST_TIMEOUT.
-    """,
-)
-
-ec._add_ec(
-    "PAY_EXCHANGE_LOOKUP_FAILED",
-    2112,
-    """
-    When we tried to find information about the exchange
-    to issue the deposit, we failed.  This usually only
-    happens if the merchant backend is somehow unable to
-    get its own HTTP client logic to work.
-    This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PAY_REFUND_DEADLINE_PAST_WIRE_TRANSFER_DEADLINE",
-    2114,
-    """
-    The refund deadline in the contract is after the
-    transfer deadline.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR as this should have
-    been caught when the offer was first setup.
-    """,
-)
-
-ec._add_ec(
-    "PAY_COINS_ARRAY_EMPTY",
-    2115,
-    """
-    The request fails to provide coins for the payment.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "PAY_DB_FETCH_PAY_ERROR",
-    2116,
-    """
-    The merchant failed to fetch the contract terms from the
-    merchant's database.  This response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PAY_DB_FETCH_TRANSACTION_ERROR",
-    2117,
-    """
-    The merchant failed to fetch the merchant's previous state with
-    respect to transactions from its database.  This response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-
-ec._add_ec(
-    "PAY_DB_STORE_TRANSACTION_ERROR",
-    2119,
-    """
-    The merchant failed to store the merchant's state with
-    respect to the transaction in its database.  This response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PAY_EXCHANGE_KEYS_FAILURE",
-    2120,
-    """
-    The exchange failed to provide a valid response to
-    the merchant's /keys request.
-    This response is provided
-    with HTTP status code #MHD_HTTP_FAILED_DEPENDENDCY.
-    """,
-)
-
-ec._add_ec(
-    "PAY_OFFER_EXPIRED",
-    2121,
-    """
-    The payment is too late, the offer has expired.
-    This response is
-    provided with HTTP status code #MHD_HTTP_GONE.
-    """,
-)
-
-ec._add_ec(
-    "PAY_MERCHANT_FIELD_MISSING",
-    2122,
-    """
-    The "merchant" field is missing in the proposal data.
-    This response is
-    provided with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "PAY_FAILED_COMPUTE_PROPOSAL_HASH",
-    2123,
-    """
-    Failed computing a hash code (likely server out-of-memory).
-    This response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PAY_WIRE_HASH_UNKNOWN",
-    2124,
-    """
-    Failed to locate merchant's account information matching the
-    wire hash given in the proposal.
-    This response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PAY_WIRE_FEE_CURRENCY_MISMATCH",
-    2125,
-    """
-    We got different currencies for the wire fee and the maximum wire
-    fee.  This response is provided with HTTP status code of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PAY_WRONG_INSTANCE",
-    2127,
-    """
-    A unknown merchant public key was included in the payment.  That
-    happens typically when the wallet sends the payment to the wrong
-    merchant instance.
-    This response is provided with an HTTP status code of
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "PAY_EXCHANGE_HAS_NO_KEYS",
-    2128,
-    """
-    The exchange failed to give us a response when we asked for /keys.
-    This response is provided
-    with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "PAY_DENOMINATION_DEPOSIT_EXPIRED",
-    2129,
-    """
-    The deposit time for the denomination has expired.
-    This response is provided
-    with HTTP status code #MHD_HTTP_GONE.
-    """,
-)
-
-ec._add_ec(
-    "PAY_PROPOSAL_NOT_FOUND",
-    2130,
-    """
-    The proposal is not known to the backend.
-    This response is provided with an HTTP status code of
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "PAY_EXCHANGE_WIRE_FEE_ADDITION_FAILED",
-    2131,
-    """
-    The exchange of the deposited coin charges a wire fee that
-    could not be added to the total (total amount
-    too high).  This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PAY_REFUNDED",
-    2132,
-    """
-    The contract was not fully paid because of refunds.
-    Note that clients MAY treat this as paid if, for example,
-    contracts must be executed despite of refunds.
-    This response is provided
-    with HTTP status code #MHD_HTTP_PAYMENT_REQUIRED.
-    """,
-)
-
-ec._add_ec(
-    "PAY_REFUNDS_EXCEED_PAYMENTS",
-    2133,
-    """
-    According to our database, we have refunded more than we
-    were paid (which should not be possible).
-    This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PAY_ABORT_REFUND_REFUSED_PAYMENT_COMPLETE",
-    2134,
-    """
-    Legacy stuff. Remove me with protocol v1.
-    This response is provided
-    with HTTP status code #MHD_HTTP_PREREQUISTE.
-    """,
-)
-
-ec._add_ec(
-    "ABORT_EXCHANGE_KEYS_FAILURE",
-    2150,
-    """
-    The merchant failed to contact the exchange.
-    This response is provided with HTTP status code of
-    #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "ABORT_EXCHANGE_REFUND_FAILED",
-    2151,
-    """
-    The merchant failed to send the exchange the refund request.
-    This response is provided with HTTP status code of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "ABORT_EXCHANGE_LOOKUP_FAILED",
-    2152,
-    """
-    The merchant failed to find the exchange to process the lookup.
-    This response is provided with HTTP status code of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "ABORT_DB_STORE_ABORT_ERROR",
-    2153,
-    """
-    The merchant failed to store the abort request in its database.
-    This response is provided with HTTP status code of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "ABORT_DB_STORE_TRANSACTION_ERROR",
-    2154,
-    """
-    The merchant failed to repeatedly serialize the transaction.
-    This response is provided with HTTP status code of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "ABORT_DB_FETCH_TRANSACTION_ERROR",
-    2155,
-    """
-    The merchant failed in the lookup part of the transaction.
-    This response is provided with HTTP status code of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "ABORT_CONTRACT_NOT_FOUND",
-    2156,
-    """
-    The merchant could not find the contract.
-    This response is provided with HTTP status code of
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "ABORT_REFUND_REFUSED_PAYMENT_COMPLETE",
-    2157,
-    """
-    The payment was already completed and thus cannot be
-    aborted anymore.
-    This response is provided with HTTP status code of
-    #MHD_HTTP_PRECONDITION_FAILED.
-    """,
-)
-
-ec._add_ec(
-    "ABORT_CONTRACT_HASH_MISSMATCH",
-    2158,
-    """
-    The hash provided by the wallet does not match the order.
-    This response is provided with HTTP status code of
-    #MHD_HTTP_FORBIDDEN.
-    """,
-)
-
-ec._add_ec(
-    "ABORT_COINS_ARRAY_EMPTY",
-    2159,
-    """
-    The array of coins cannot be empty.
-    This response is provided with HTTP status code of
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "ABORT_EXCHANGE_TIMEOUT",
-    2160,
-    """
-    The merchant experienced a timeout processing the request.
-    This response is provided with HTTP status code of
-    #MHD_HTTP_REQUEST_TIMEOUT.
-    """,
-)
-
-ec._add_ec(
-    "HISTORY_TIMESTAMP_OVERFLOW",
-    2200,
-    """
-    Integer overflow with specified timestamp argument detected.
-    This response is provided
-    with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "HISTORY_DB_FETCH_ERROR",
-    2201,
-    """
-    Failed to retrieve history from merchant database.
-    This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "POLL_PAYMENT_CONTRACT_NOT_FOUND",
-    2250,
-    """
-    The backend could not find the contract specified
-    in the request.   This response is
-    provided with HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "POLL_PAYMENT_REPLY_MALFORMED",
-    2251,
-    """
-    The response provided by the merchant backend was malformed.
-    This error is created client-side.
-    """,
-)
-
-
-ec._add_ec(
-    "TRACK_TRANSACTION_EXCHANGE_TIMEOUT",
-    2300,
-    """
-    We failed to contact the exchange for the /track/transaction
-    request.  This response is provided with HTTP status code
-    #MHD_HTTP_SERVICE_UNAVAILABLE.
-    """,
-)
-
-ec._add_ec(
-    "TRACK_TRANSACTION_EXCHANGE_KEYS_FAILURE",
-    2301,
-    """
-    We failed to get a valid /keys response from the exchange for the 
/track/transaction
-    request.  This response is provided with HTTP status code
-    #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TRACK_TRANSACTION_TRANSACTION_UNKNOWN",
-    2302,
-    """
-    The backend could not find the transaction specified
-    in the request.   This response is
-    provided with HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "TRACK_TRANSACTION_DB_FETCH_TRANSACTION_ERROR",
-    2303,
-    """
-    The backend had a database access error trying to
-    retrieve transaction data from its database.
-    The response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TRACK_TRANSACTION_DB_FETCH_PAYMENT_ERROR",
-    2304,
-    """
-    The backend had a database access error trying to
-    retrieve payment data from its database.
-    The response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TRACK_TRANSACTION_DB_NO_DEPOSITS_ERROR",
-    2305,
-    """
-    The backend found no applicable deposits in the database.
-    This is odd, as we know about the transaction, but not
-    about deposits we made for the transaction.  The response is
-    provided with HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "TRACK_TRANSACTION_COIN_TRACE_ERROR",
-    2306,
-    """
-    We failed to obtain a wire transfer identifier for one
-    of the coins in the transaction.  The response is
-    provided with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY if
-    the exchange had a hard error, or #MHD_HTTP_ACCEPTED if the
-    exchange signaled that the transfer was in progress.
-    """,
-)
-
-ec._add_ec(
-    "TRACK_TRANSACTION_WIRE_TRANSFER_TRACE_ERROR",
-    2307,
-    """
-    We failed to obtain the full wire transfer identifier for the
-    transfer one of the coins was aggregated into.
-    The response is
-    provided with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TRACK_TRANSACTION_CONFLICTING_REPORTS",
-    2308,
-    """
-    We got conflicting reports from the exhange with
-    respect to which transfers are included in which
-    aggregate.
-    The response is
-    provided with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-
-ec._add_ec(
-    "GET_TRANSFERS_DB_FETCH_ERROR",
-    2350,
-    """
-    We did failed to retrieve information from our database. The response
-    is provided with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "POST_TRANSFERS_EXCHANGE_TIMEOUT",
-    2400,
-    """
-    We failed to contact the exchange for the /track/transfer
-    request.  This response is provided with HTTP status code
-    #MHD_HTTP_SERVICE_UNAVAILABLE.
-    """,
-)
-
-ec._add_ec(
-    "POST_TRANSFERS_EXCHANGE_KEYS_FAILURE",
-    2401,
-    """
-    We failed to obtain an acceptable /keys response from the exchange
-    for the /track/transfer request.  This response is provided with HTTP 
status code
-    #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "POST_TRANSFERS_DB_STORE_COIN_ERROR",
-    2402,
-    """
-    We failed to persist coin wire transfer information in
-    our merchant database.
-    The response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "POST_TRANSFERS_REQUEST_ERROR",
-    2403,
-    """
-    We internally failed to execute the /track/transfer request.
-    The response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "POST_TRANSFERS_DB_STORE_TRANSFER_ERROR",
-    2404,
-    """
-    We failed to persist wire transfer information in
-    our merchant database.
-    The response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "POST_TRANSFERS_EXCHANGE_ERROR",
-    2405,
-    """
-    The exchange returned an error from /track/transfer.
-    The response is
-    provided with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "POST_TRANSFERS_DB_FETCH_DEPOSIT_ERROR",
-    2406,
-    """
-    We failed to fetch deposit information from
-    our merchant database.
-    The response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "POST_TRANSFERS_DB_INTERNAL_LOGIC_ERROR",
-    2407,
-    """
-    We encountered an internal logic error.
-    The response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "POST_TRANSFERS_CONFLICTING_REPORTS",
-    2408,
-    """
-    The exchange gave conflicting information about a coin which has
-    been wire transferred.
-    The response is provided with HTTP status code
-    #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "POST_TRANSFERS_JSON_RESPONSE_ERROR",
-    2409,
-    """
-    The merchant backend had problems in creating the JSON response.
-    """,
-)
-
-ec._add_ec(
-    "POST_TRANSFERS_JSON_BAD_WIRE_FEE",
-    2410,
-    """
-    The exchange charged a different wire fee than what it
-    originally advertised, and it is higher.  The response
-    is provided with an HTTP status of
-    #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-
-ec._add_ec(
-    "POST_TRANSFERS_ACCOUNT_NOT_FOUND",
-    2411,
-    """
-    We did not find the account that the transfer was made to. The response
-    is provided with an HTTP status of
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "POST_TRANSFERS_DB_STORE_ERROR",
-    2412,
-    """
-    We did failed to store information in our database. The response
-    is provided with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "POST_TRANSFERS_DB_LOOKUP_ERROR",
-    2413,
-    """
-    We did failed to retrieve information from our database. The response
-    is provided with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-
-ec._add_ec(
-    "POST_INSTANCES_ALREADY_EXISTS",
-    2450,
-    """
-    The merchant backend cannot create an instance under the
-    given identifier as one already exists. Use PATCH to
-    modify the existing entry.  The response
-    is provied with an HTTP status of
-    #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "POST_INSTANCES_BAD_PAYTO_URIS",
-    2451,
-    """
-    The merchant backend cannot create an instance because
-    the specified bank accounts are somehow invalid.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "POST_INSTANCES_DB_START_ERROR",
-    2452,
-    """
-    The merchant backend cannot create an instance because
-    it failed to start the database transaction.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "POST_INSTANCES_DB_COMMIT_ERROR",
-    2453,
-    """
-    The merchant backend cannot create an instance because
-    it failed to commit the database transaction.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "DELETE_INSTANCES_ID_DB_HARD_FAILURE",
-    2454,
-    """
-    The merchant backend cannot delete an instance because
-    it failed to commit the database transaction.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "DELETE_INSTANCES_ID_NO_SUCH_INSTANCE",
-    2455,
-    """
-    The merchant backend cannot delete the data because
-    it already does not exist.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "PATCH_INSTANCES_BAD_PAYTO_URIS",
-    2456,
-    """
-    The merchant backend cannot update an instance because
-    the specified bank accounts are somehow invalid.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "PATCH_INSTANCES_DB_START_ERROR",
-    2457,
-    """
-    The merchant backend cannot patch an instance because
-    it failed to start the database transaction.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PATCH_INSTANCES_DB_COMMIT_ERROR",
-    2458,
-    """
-    The merchant backend cannot patch an instance because
-    it failed to commit the database transaction.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-
-ec._add_ec(
-    "MAP_IN_UNMATCHED_HASH",
-    2500,
-    """
-    The hash provided in the request of /map/in does not match
-    the contract sent alongside in the same request.
-    """,
-)
-
-ec._add_ec(
-    "PROPOSAL_STORE_DB_ERROR",
-    2501,
-    """
-    The backend encountered an error while trying to store the
-    h_contract_terms into the database.
-    The response is provided with HTTP status code 
#MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PROPOSAL_LOOKUP_DB_ERROR",
-    2502,
-    """
-    The backend encountered an error while trying to retrieve the
-    proposal data from database.  Likely to be an internal error.
-    The response is provided with HTTP status code 
#MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PROPOSAL_LOOKUP_NOT_FOUND",
-    2503,
-    """
-    The proposal being looked up is not found on this merchant.
-    Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND
-    """,
-)
-
-ec._add_ec(
-    "PROPOSAL_NO_LOCALTIME",
-    2504,
-    """
-    The proposal had no timestamp and the backend failed to obtain the local 
time.
-    Likely to be an internal error.
-    The response is provided with HTTP status code 
#MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PROPOSAL_ORDER_PARSE_ERROR",
-    2505,
-    """
-    The order provided to the backend could not be parsed, some
-    required fields were missing or ill-formed.
-    Returned with an HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "PROPOSAL_STORE_DB_ERROR_HARD",
-    2506,
-    """
-    The backend encountered an error while trying to find the
-    existing proposal in the database.
-    The response is provided with HTTP status code 
#MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PROPOSAL_STORE_DB_ERROR_SOFT",
-    2507,
-    """
-    The backend encountered an error while trying to find the
-    existing proposal in the database.
-    The response is provided with HTTP status code 
#MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PROPOSAL_STORE_DB_ERROR_ALREADY_EXISTS",
-    2508,
-    """
-    The backend encountered an error: the proposal already
-    exists.
-    The response is provided with HTTP status code 
#MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PROPOSAL_ORDER_BAD_CURRENCY",
-    2509,
-    """
-    The order provided to the backend uses an amount
-    in a currency that does not match the backend's
-    configuration.
-    Returned with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "PROPOSAL_REPLY_MALFORMED",
-    2510,
-    """
-    The response provided by the merchant backend was malformed.
-    This error is created client-side.
-    """,
-)
-
-ec._add_ec(
-    "ORDERS_DELETE_NO_SUCH_ORDER",
-    2511,
-    """
-    The order provided to the backend could not be deleted, it is not known.
-    Returned with an HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "ORDERS_DELETE_AWAITING_PAYMENT",
-    2512,
-    """
-    The order provided to the backend could not be deleted, our offer is still
-    valid and awaiting payment.
-    Returned with an HTTP status code #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "ORDERS_DELETE_DB_HARD_FAILURE",
-    2513,
-    """
-    The order provided to the backend could not be deleted, due to a database 
error.
-    Returned with an HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "ORDERS_LOOKUP_PRODUCT_DB_HARD_FAILURE",
-    2514,
-    """
-    The order provided to the backend could not be completed, due to a 
database error
-    trying to fetch product inventory data.
-    Returned with an HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "ORDERS_LOOKUP_PRODUCT_DB_SOFT_FAILURE",
-    2515,
-    """
-    The order provided to the backend could not be completed, due to a database
-    serialization error (which should be impossible) trying to fetch product 
inventory data.
-    Returned with an HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "ORDERS_LOOKUP_PRODUCT_NOT_FOUND",
-    2516,
-    """
-    The order provided to the backend could not be completed, because a product
-    to be completed via inventory data is not actually in our inventory.
-    Returned with an HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "ORDERS_GET_DB_LOOKUP_ERROR",
-    2517,
-    """
-    We could not obtain a list of all orders because of a database failure.
-    Returned with an HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "ORDERS_CLAIM_HARD_DB_ERROR",
-    2518,
-    """
-    We could not claim the order because of a database failure.
-    Returned with an HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "ORDERS_CLAIM_SOFT_DB_ERROR",
-    2519,
-    """
-    We could not claim the order because of a database serialization failure.
-    Returned with an HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "ORDERS_CLAIM_NOT_FOUND",
-    2520,
-    """
-    We could not claim the order because the backend is unaware of it.
-    Returned with an HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "ORDERS_ALREADY_CLAIMED",
-    2521,
-    """
-    We could not claim the order because someone else claimed it first.
-    Returned with an HTTP status code #MHD_HTTP_CONFLICT.
-    """,
-)
-
-
-
-
-ec._add_ec(
-    "GET_PRODUCTS_DB_LOOKUP_ERROR",
-    2550,
-    """
-    The merchant backend failed to lookup the products.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_POST_DB_START_ERROR",
-    2551,
-    """
-    The merchant backend failed to start the transaction.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_POST_CONFLICT_PRODUCT_EXISTS",
-    2552,
-    """
-    The product ID exists.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_POST_DB_COMMIT_SOFT_ERROR",
-    2553,
-    """
-    The merchant backend failed to serialize the transaction.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_POST_DB_COMMIT_HARD_ERROR",
-    2554,
-    """
-    The merchant backend failed to commit the transaction.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_PATCH_DB_COMMIT_HARD_ERROR",
-    2555,
-    """
-    The merchant backend failed to commit the transaction.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_PATCH_UNKNOWN_PRODUCT",
-    2556,
-    """
-    The merchant backend did not find the product to be updated.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_PATCH_TOTAL_LOST_REDUCED",
-    2557,
-    """
-    The update would have reduced the total amount of product
-    lost, which is not allowed.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_PATCH_TOTAL_LOST_EXCEEDS_STOCKS",
-    2558,
-    """
-    The update would have mean that more stocks were
-    lost than what remains from total inventory after sales, which is not 
allowed.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_PATCH_TOTAL_STOCKED_REDUCED",
-    2559,
-    """
-    The update would have reduced the total amount of product
-    in stock, which is not allowed.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_LOCK_INSUFFICIENT_STOCKS",
-    2560,
-    """
-    The lock request is for more products than we have left (unlocked) in 
stock.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_LOCK_UNKNOWN_PRODUCT",
-    2561,
-    """
-    The lock request is for an unknown product.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_DELETE_DB_HARD_FAILURE",
-    2562,
-    """
-    The deletion request resulted in a hard database error.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_DELETE_NO_SUCH_PRODUCT",
-    2563,
-    """
-    The deletion request was for a product unknown to the backend.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "PRODUCTS_DELETE_CONFLICTING_LOCK",
-    2564,
-    """
-    The deletion request is for a product that is locked.
-    The response is provied with an HTTP status of
-    #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_LOOKUP_INVALID_RESPONSE",
-    2600,
-    """
-    The merchant returned a malformed response. Error created
-    client-side.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_ORDER_ID_UNKNOWN",
-    2601,
-    """
-    The frontend gave an unknown order id to issue the refund to.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_INCONSISTENT_AMOUNT",
-    2602,
-    """
-    The amount to be refunded is inconsistent: either is lower than
-    the previous amount being awarded, or it is too big to be paid back.
-    In this second case, the fault stays on the business dept. side.
-    Returned with an HTTP status of #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_LOOKUP_DB_ERROR",
-    2603,
-    """
-    The backend encountered an error while trying to retrieve the
-    payment data from database.  Likely to be an internal error.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_MERCHANT_DB_COMMIT_ERROR",
-    2604,
-    """
-    The backend encountered an error while trying to retrieve the
-    payment data from database.  Likely to be an internal error.
-    """,
-)
-
-ec._add_ec(
-    "PAY_DB_STORE_PAYMENTS_ERROR",
-    2605,
-    """
-    Payments are stored in a single db transaction; this error indicates
-    that one db operation within that transaction failed.  This might involve
-    storing of coins or other related db operations, like starting/committing
-    the db transaction or marking a contract as paid.
-    """,
-)
-
-ec._add_ec(
-    "PAY_REFUND_SIGNATURE_FAILED",
-    2606,
-    """
-    The backend failed to sign the refund request.
-    """,
-)
-
-ec._add_ec(
-    "REFUND_LOOKUP_NO_REFUND",
-    2607,
-    """
-    The merchant backend is not available of any applicable refund(s) for this 
order.
-    Returned with an HTTP status of #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-
-ec._add_ec(
-    "RESERVES_POST_UNSUPPORTED_WIRE_METHOD",
-    2650,
-    """
-    The requested wire method is not supported by the exchange.
-    Returned with an HTTP status of #MHD_HTTP_CONFLICT.
-    """,
-)
-
-ec._add_ec(
-    "RESERVES_POST_DB_COMMIT_HARD_ERROR",
-    2651,
-    """
-    The backend failed to commit the result to the database.
-    Returned with an HTTP status of #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "GET_RESERVES_DB_LOOKUP_ERROR",
-    2652,
-    """
-    The backend failed to fetch the requested information from the database.
-    Returned with an HTTP status of #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TIP_AUTHORIZE_INSTANCE_DOES_NOT_TIP",
-    2701,
-    """
-    The backend knows the instance that was supposed to support the
-    tip, but it was not configured for tipping (i.e. has no exchange
-    associated with it).  Likely to be a configuration
-    error. Returned with an HTTP status code of #MHD_HTTP_PRECONDITION_FAILED.
-    """,
-)
-
-ec._add_ec(
-    "TIP_AUTHORIZE_RESERVE_EXPIRED",
-    2702,
-    """
-    The reserve that was used to fund the tips has expired.
-    Returned with an HTTP status code of
-    #MHD_HTTP_GONE.
-    """,
-)
-
-ec._add_ec(
-    "TIP_AUTHORIZE_RESERVE_UNKNOWN",
-    2703,
-    """
-    The reserve that was used to fund the tips was not found in the DB.
-    Returned with an HTTP status code of
-    #MHD_HTTP_SERVICE_UNAVAILABLE.
-    """,
-)
-
-ec._add_ec(
-    "TIP_AUTHORIZE_INSUFFICIENT_FUNDS",
-    2704,
-    """
-    The backend knows the instance that was supposed to support the
-    tip, and it was configured for tipping. However, the funds
-    remaining are insufficient to cover the tip, and the merchant
-    should top up the reserve.
-    Returned with an HTTP status code of
-    #MHD_HTTP_PRECONDITION FAILED.
-    """,
-)
-
-ec._add_ec(
-    "TIP_AUTHORIZE_DB_HARD_ERROR",
-    2705,
-    """
-    The backend had trouble accessing the database to persist
-    information about the tip authorization.
-    Returned with an HTTP status code of internal error.
-    """,
-)
-
-ec._add_ec(
-    "TIP_AUTHORIZE_DB_SOFT_ERROR",
-    2706,
-    """
-    The backend had trouble accessing the database to persist
-    information about the tip authorization.
-    The problem might be fixable by repeating the transaction.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_RESERVE_STATUS_FAILED_EXCHANGE_DOWN",
-    2707,
-    """
-    The backend failed to obtain a reserve status from the exchange.
-    This response is provided
-    with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_RESERVE_HISTORY_FAILED_EMPTY",
-    2708,
-    """
-    The backend got an empty (!) reserve history from the exchange.
-    This response is provided
-    with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_RESERVE_HISTORY_INVALID_NO_DEPOSIT",
-    2709,
-    """
-    The backend got an invalid reserve history
-    (fails to start with a deposit) from the exchange.
-    This response is provided
-    with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_RESERVE_UNKNOWN_TO_EXCHANGE",
-    2710,
-    """
-    The backend got an 404 response from the exchange
-    when it inquired about the reserve history.
-    The response is provided
-    with HTTP status code #MHD_HTTP_SERVICE_UNAVAILABLE.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_RESERVE_CURRENCY_MISMATCH",
-    2711,
-    """
-    The backend got a reserve with a currency that does not match
-    the backend's currency.
-    The response is provided
-    with HTTP status code #MHD_HTTP_SERVICE_UNAVAILABLE.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_RESERVE_HISTORY_ARITHMETIC_ISSUE_DEPOSIT",
-    2712,
-    """
-    The backend got a reserve history with amounts it cannot
-    process (addition failure in deposits).
-    The response is provided
-    with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_RESERVE_HISTORY_ARITHMETIC_ISSUE_WITHDRAW",
-    2713,
-    """
-    The backend got a reserve history with amounts it cannot
-    process (addition failure in withdraw amounts).
-    The response is provided
-    with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_RESERVE_HISTORY_ARITHMETIC_ISSUE_CLOSED",
-    2714,
-    """
-    The backend got a reserve history with amounts it cannot
-    process (addition failure in closing amounts).
-    The response is provided
-    with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_RESERVE_HISTORY_ARITHMETIC_ISSUE_INCONSISTENT",
-    2715,
-    """
-    The backend got a reserve history with inconsistent amounts.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_DB_ERROR",
-    2716,
-    """
-    The backend encountered a database error querying tipping reserves.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_RESERVE_HISTORY_FAILED",
-    2717,
-    """
-    The backend got an unexpected resever history reply from the exchange.
-    This response is provided
-    with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_RESERVE_HISTORY_ARITHMETIC_ISSUE_RECOUP",
-    2718,
-    """
-    The backend got a reserve history with amounts it cannot
-    process (addition failure in withdraw amounts).
-    The response is provided
-    with HTTP status code #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_INSTANCE_DOES_NOT_TIP",
-    2719,
-    """
-    The backend knows the instance that was supposed to support the
-    tip, but it was not configured for tipping (i.e. has no exchange
-    associated with it).  Likely to be a configuration
-    error. Returned with an HTTP status code of #MHD_HTTP_PRECONDITION_FAILED.
-    """,
-)
-
-ec._add_ec(
-    "TIP_QUERY_TIP_ID_UNKNOWN",
-    2720,
-    """
-    The tip id is unknown.  This could happen if the
-    tip id is wrong or the tip authorization expired.
-    """,
-)
-
-ec._add_ec(
-    "RESERVES_DELETE_DB_HARD_FAILURE",
-    2721,
-    """
-    The reserve could not be deleted due to a database failure.
-    Returned with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "RESERVES_DELETE_NO_SUCH_RESERVE",
-    2722,
-    """
-    The reserve could not be deleted because it is unknown.
-    Returned with HTTP status code #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "TIP_LOOKUP_RESERVE_DB_FAILURE",
-    2723,
-    """
-    The backend got an unexpected error trying to lookup reserve
-    details from the backend.
-    This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TIP_AUTHORIZE_DB_SERIALIZATION_FAILURE",
-    2724,
-    """
-    The backend repeatedly failed to serialize the transaction to authorize 
the tip.
-    This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TIP_AUTHORIZE_DB_START_FAILURE",
-    2725,
-    """
-    The backend failed to start the transaction to authorize the tip.
-    This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-
-ec._add_ec(
-    "TIP_AUTHORIZE_DB_LOOKUP_RESERVE_FAILURE",
-    2726,
-    """
-    The backend failed looking up the reserve needed to authorize the tip.
-    This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TIP_AUTHORIZE_DB_RESERVE_NOT_FOUND",
-    2727,
-    """
-    The backend failed to find a reserve needed to authorize the tip.
-    This response is provided
-    with HTTP status code #MHD_HTTP_SERVICE_UNAVAILABLE.
-    """,
-)
-
-ec._add_ec(
-    "TIP_AUTHORIZE_DB_RESERVE_INVARIANT_FAILURE",
-    2728,
-    """
-    The backend encountered an internal invariant violation.
-    This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TIP_AUTHORIZE_DB_RESERVE_EXPIRED",
-    2729,
-    """
-    The selected exchange expired.
-    This response is provided
-    with HTTP status code #MHD_HTTP_GONE.
-    """,
-)
-
-ec._add_ec(
-    "TIP_AUTHORIZE_DB_UPDATE_RESERVE_FAILURE",
-    2730,
-    """
-    The backend failed updating the reserve needed to authorize the tip.
-    This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TIP_ENABLE_DB_TRANSACTION_ERROR",
-    2750,
-    """
-    The backend had trouble accessing the database to persist
-    information about enabling tips.
-    Returned with an HTTP status code of internal error.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_TIP_ID_UNKNOWN",
-    2800,
-    """
-    The tip ID is unknown.  This could happen if the tip has
-    expired.  Returned with an HTTP status code of
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_NO_FUNDS",
-    2801,
-    """
-    The amount requested exceeds the remaining tipping balance for this tip ID.
-    Returned with an HTTP status code of "Conflict" (as it conflicts with
-    a previous pickup operation).
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_DB_ERROR_SOFT",
-    2802,
-    """
-    We encountered a DB error, repeating the request may work.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_DB_ERROR_HARD",
-    2803,
-    """
-    We encountered a DB error, repeating the request will not help.
-    This is an internal server error.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_AMOUNT_CHANGED",
-    2804,
-    """
-    The same pickup ID was already used for picking up a different
-    amount. This points to a very strange internal error as the
-    pickup ID is derived from the denomination key which is tied
-    to a particular amount. Hence this should also be an internal
-    server error.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_EXCHANGE_DOWN",
-    2805,
-    """
-    We failed to contact the exchange to obtain the denomination
-    keys.  Returned with a response code
-    #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_EXCHANGE_LACKED_KEYS",
-    2806,
-    """
-    We contacted the exchange to obtain any denomination
-    keys, but got no valid keys.
-    Returned with a response code
-    #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_EXCHANGE_LACKED_KEY",
-    2807,
-    """
-    We contacted the exchange to obtain at least one of
-    the denomination keys specified in the request.
-    Returned with a response code "not found" (404).
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_EXCHANGE_AMOUNT_OVERFLOW",
-    2808,
-    """
-    We encountered an arithmetic issue totaling up the
-    amount to withdraw. Returned with a response code
-    of #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_EXCHANGE_TOO_MANY_PLANCHETS",
-    2809,
-    """
-    The number of planchets specified exceeded the
-    limit. Returned with a response code
-    of #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_WITHDRAW_FAILED",
-    2810,
-    """
-    The merchant failed to initialize the withdraw operaiton.
-    Returned with a response code of #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_WITHDRAW_FAILED_AT_EXCHANGE",
-    2811,
-    """
-    The merchant failed to initialize the withdraw operaiton.
-    Returned with a response code of #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_UNBLIND_FAILURE",
-    2812,
-    """
-    The client failed to unblind the signature returned by the merchant.
-    Generated client-side.
-    """,
-)
-
-ec._add_ec(
-    "GET_TIPS_DB_LOOKUP_ERROR",
-    2813,
-    """
-    Merchant failed to access its database to lookup the tip.
-    Returned with a response code of #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "GET_TIPS_ID_UNKNOWN",
-    2814,
-    """
-    Merchant failed find the tip in its database.
-    Returned with a response code of #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_CONTACT_EXCHANGE_ERROR",
-    2815,
-    """
-    The merchant failed to contact the exchange.
-    Returned with a response code of #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_EXCHANGE_KEYS_ERROR",
-    2816,
-    """
-    The merchant failed to obtain keys from the exchange.
-    Returned with a response code of #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_DB_STORE_HARD_ERROR",
-    2817,
-    """
-    The merchant failed to store data in its own database.
-    Returned with a response code of #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_EXCHANGE_TIMEOUT",
-    2818,
-    """
-    The merchant failed to get a timely response from the exchange.
-    Returned with a response code of #MHD_HTTP_REQUEST_TIMEOUT.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_EXCHANGE_ERROR",
-    2819,
-    """
-    The exchange returned a failure code for the withdraw operation.
-    Returned with a response code of #MHD_HTTP_FAILED_DEPENDENCY.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_SUMMATION_FAILED",
-    2820,
-    """
-    The merchant failed to add up the amounts to compute the pick up value.
-    Returned with a response code of #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_HAS_EXPIRED",
-    2821,
-    """
-    The tip expired.
-    Returned with a response code of #MHD_HTTP_GONE.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_AMOUNT_EXCEEDS_TIP_REMAINING",
-    2822,
-    """
-    The requested withdraw amount exceeds the amount remaining to be picked up.
-    Returned with a response code of #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_DB_STORE_SOFT_ERROR",
-    2823,
-    """
-    The merchant failed to store data in its own database.
-    Returned with a response code of #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TIP_PICKUP_DENOMINATION_UNKNOWN",
-    2824,
-    """
-    The merchant did not find the specified denomination key in the exchange's 
key set.
-    Returned with a response code of #MHD_HTTP_CONFLICT.
-    """,
-)
-
-
-ec._add_ec(
-    "GET_ORDERS_DB_LOOKUP_ERROR",
-    2900,
-    """
-    We failed to fetch contract terms from our merchant database.
-    The response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "GET_ORDERS_ID_UNKNOWN",
-    2901,
-    """
-    We failed to find the contract terms from our merchant database.
-    The response is provided with HTTP status code
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "GET_ORDERS_WRONG_CONTRACT",
-    2902,
-    """
-    The contract hash provided by the wallet does not match the order.
-    The response is provided with HTTP status code
-    #MHD_HTTP_FORBIDDEN.
-    """,
-)
-
-ec._add_ec(
-    "CHECK_PAYMENT_DB_FETCH_CONTRACT_TERMS_ERROR",
-    2911,
-    """
-    We failed to contract terms from our merchant database.
-    The response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "CHECK_PAYMENT_DB_FETCH_ORDER_ERROR",
-    2912,
-    """
-    We failed to contract terms from our merchant database.
-    The response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "CHECK_PAYMENT_ORDER_ID_UNKNOWN",
-    2913,
-    """
-    The order id we're checking is unknown, likely
-    the frontend did not create the order first.
-    """,
-)
-
-ec._add_ec(
-    "CHECK_PAYMENT_FAILED_COMPUTE_PROPOSAL_HASH",
-    2914,
-    """
-    Failed computing a hash code (likely server out-of-memory).
-    This response is
-    provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "CHECK_PAYMENT_SESSION_SIGNATURE_INVALID",
-    2915,
-    """
-    Signature "session_sig" failed to verify. This response is
-    provided with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "CHECK_PAYMENT_RESPONSE_MALFORMED",
-    2916,
-    """
-    The response we received from the merchant is malformed.
-    This error is generated client-side.
-    """,
-)
-
-
-ec._add_ec(
-    "DEPOSIT_CONFIRMATION_SIGNATURE_INVALID",
-    3000,
-    """
-    The signature from the exchange on the deposit confirmation
-    is invalid.  Returned with a "400 Bad Request" status code.
-    """,
-)
-
-ec._add_ec(
-    "DEPOSIT_CONFIRMATION_STORE_DB_ERROR",
-    3001,
-    """
-    The auditor had trouble storing the deposit confirmation
-    in its database. Returned with an HTTP status code of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "LIST_EXCHANGES_DB_ERROR",
-    3002,
-    """
-    The auditor had trouble retrieving the exchange list
-    from its database. Returned with an HTTP status code of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "AUDITOR_EXCHANGE_STORE_DB_ERROR",
-    3003,
-    """
-    The auditor had trouble storing an exchange in its
-    database. Returned with an HTTP status code of
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "AUDITOR_EXCHANGES_REPLY_MALFORMED",
-    3004,
-    """
-    The auditor (!) responded with a reply that did not satsify the protocol.
-    This error is not used in the protocol but created client-side.
-    """,
-)
-
-ec._add_ec(
-    "TEST_ECDH_ERROR",
-    4000,
-    """
-    The exchange failed to compute ECDH.  This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TEST_EDDSA_INVALID",
-    4001,
-    """
-    The EdDSA test signature is invalid.  This response is provided
-    with HTTP status code #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "TEST_EDDSA_ERROR",
-    4002,
-    """
-    The exchange failed to compute the EdDSA test signature.  This response is 
provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TEST_RSA_GEN_ERROR",
-    4003,
-    """
-    The exchange failed to generate an RSA key.  This response is provided
-    with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TEST_RSA_PUB_ERROR",
-    4004,
-    """
-    The exchange failed to compute the public RSA key.  This response
-    is provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "TEST_RSA_SIGN_ERROR",
-    4005,
-    """
-    The exchange failed to compute the RSA signature.  This response
-    is provided with HTTP status code #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-
-ec._add_ec(
-    "SERVER_JSON_INVALID",
-    5000,
-    """
-    The JSON in the server's response was malformed.  This response
-    is provided with HTTP status code of 0.
-    """,
-)
-
-ec._add_ec(
-    "SERVER_SIGNATURE_INVALID",
-    5001,
-    """
-    A signature in the server's response was malformed.  This response
-    is provided with HTTP status code of 0.
-    """,
-)
-
-
-ec._add_ec(
-    "BANK_SAME_ACCOUNT",
-    5102,
-    """
-    Wire transfer attempted with credit and debit party being
-    the same bank account.
-    """,
-)
-
-ec._add_ec(
-    "BANK_UNALLOWED_DEBIT",
-    5103,
-    """
-    Wire transfer impossible, due to financial limitation of
-    the party that attempted the payment.
-    """,
-)
-
-ec._add_ec(
-    "BANK_CURRENCY_MISMATCH",
-    5104,
-    """
-    Arithmetic operation between two amounts of different
-    currency was attempted.
-    """,
-)
-
-ec._add_ec(
-    "BANK_PARAMETER_MISSING_OR_INVALID",
-    5105,
-    """
-    At least one GET parameter was either missing or invalid for
-    the requested operation.
-    """,
-)
-
-ec._add_ec(
-    "BANK_JSON_INVALID",
-    5106,
-    """
-    JSON body sent was invalid for the requested operation.
-    """,
-)
-
-ec._add_ec(
-    "BANK_NEGATIVE_NUMBER_AMOUNT",
-    5107,
-    """
-    Negative number was used (as value and/or fraction) to initiate
-    a Amount object.
-    """,
-)
-
-ec._add_ec(
-    "BANK_NUMBER_TOO_BIG",
-    5108,
-    """
-    A number too big was used (as value and/or fraction) to initiate
-    a amount object.
-    """,
-)
-
-ec._add_ec(
-    "BANK_LOGIN_FAILED",
-    5109,
-    """
-    Could not login for the requested operation.
-    """,
-)
-
-ec._add_ec(
-    "BANK_UNKNOWN_ACCOUNT",
-    5110,
-    """
-    The bank account referenced in the requested operation
-    was not found.  Returned along "400 Not found".
-    """,
-)
-
-ec._add_ec(
-    "BANK_TRANSACTION_NOT_FOUND",
-    5111,
-    """
-    The transaction referenced in the requested operation (typically
-    a reject operation), was not found.
-    """,
-)
-
-
-ec._add_ec(
-    "BANK_BAD_FORMAT_AMOUNT",
-    5112,
-    """
-    Bank received a malformed amount string.
-    """,
-)
-
-ec._add_ec(
-    "BANK_REJECT_NO_RIGHTS",
-    5200,
-    """
-    The client does not own the account credited by the transaction
-    which is to be rejected, so it has no rights do reject it.  To be
-    returned along HTTP 403 Forbidden.
-    """,
-)
-
-
-ec._add_ec(
-    "BANK_UNMANAGED_EXCEPTION",
-    5300,
-    """
-    This error code is returned when no known exception types
-    captured the exception, and comes along with a 500 Internal
-    Server Error.
-    """,
-)
-
-
-ec._add_ec(
-    "BANK_SOFT_EXCEPTION",
-    5400,
-    """
-    This error code is used for all those exceptions that
-    do not really need a specific error code to return to
-    the client, but need to signal the middleware that the
-    bank is not responding with 500 Internal Server Error.
-
-    Used for example when a client is trying to register
-    with a unavailable username.
-    """,
-)
-
-ec._add_ec(
-    "BANK_TRANSFER_REQUEST_UID_REUSED",
-    5500,
-    """
-    The request UID for a request to transfer funds has already
-    been used, but with different details for the transfer.
-    """,
-)
-
-
-ec._add_ec(
-    "SYNC_DB_FETCH_ERROR",
-    6000,
-    """
-    The sync service failed to access its database.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_BACKUP_UNKNOWN",
-    6001,
-    """
-    The sync service failed find the record in its database.
-    This response is provided with HTTP status code
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_ACCOUNT_UNKNOWN",
-    6002,
-    """
-    The sync service failed find the account in its database.
-    This response is provided with HTTP status code
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_BAD_IF_NONE_MATCH",
-    6003,
-    """
-    The SHA-512 hash provided in the If-None-Match header is
-    malformed.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_BAD_IF_MATCH",
-    6004,
-    """
-    The SHA-512 hash provided in the If-Match header is
-    malformed or missing.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_BAD_SYNC_SIGNATURE",
-    6005,
-    """
-    The signature provided in the "Sync-Signature" header is
-    malformed or missing.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_INVALID_SIGNATURE",
-    6007,
-    """
-    The signature provided in the "Sync-Signature" header
-    does not match the account, old or new Etags.
-    This response is provided with HTTP status code
-    #MHD_HTTP_FORBIDDEN.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_BAD_CONTENT_LENGTH",
-    6008,
-    """
-    The "Content-length" field for the upload is either
-    not a number, or too big, or missing.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_EXCESSIVE_CONTENT_LENGTH",
-    6009,
-    """
-    The "Content-length" field for the upload is
-    too big based on the server's terms of service.
-    This response is provided with HTTP status code
-    #MHD_HTTP_PAYLOAD_TOO_LARGE.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_OUT_OF_MEMORY_ON_CONTENT_LENGTH",
-    6010,
-    """
-    The server is out of memory to handle the upload.
-    Trying again later may succeed.
-    This response is provided with HTTP status code
-    #MHD_HTTP_PAYLOAD_TOO_LARGE.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_INVALID_UPLOAD",
-    6011,
-    """
-    The uploaded data does not match the Etag.
-    This response is provided with HTTP status code
-    #MHD_HTTP_BAD_REQUEST.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_DATABASE_FETCH_ERROR",
-    6012,
-    """
-    We failed to check for existing upload data in the database.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_SHUTDOWN",
-    6013,
-    """
-    HTTP server was being shutdown while this operation was
-    pending.
-    This response is provided with HTTP status code
-    #MHD_HTTP_SERVICE_UNAVAILABLE.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_PAYMENT_TIMEOUT",
-    6014,
-    """
-    HTTP server experienced a timeout while awaiting
-    promised payment.
-    This response is provided with HTTP status code
-    #MHD_HTTP_REQUEST_TIMEOUT.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_PAYMENT_CREATE_DB_ERROR",
-    6015,
-    """
-    Sync could not store order data in its own database.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_PAYMENT_CONFIRM_DB_ERROR",
-    6016,
-    """
-    Sync could not store payment confirmation in its own database.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_PAYMENT_CHECK_ORDER_DB_ERROR",
-    6017,
-    """
-    Sync could not fetch information about possible existing
-    orders from its own database.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_PAYMENT_CREATE_BACKEND_ERROR",
-    6018,
-    """
-    Sync could not setup the payment request with its own backend.
-    This response is provided with HTTP status code
-    #MHD_HTTP_INTERNAL_SERVER_ERROR.
-    """,
-)
-
-ec._add_ec(
-    "SYNC_PREVIOUS_BACKUP_UNKNOWN",
-    6019,
-    """
-    The sync service failed find the backup to be updated in its database.
-    This response is provided with HTTP status code
-    #MHD_HTTP_NOT_FOUND.
-    """,
-)
-
-ec._add_ec(
-    "END",
-    9999,
-    """
-End of error code range.
-""",
-)
diff --git a/taler/util/gen_errcodes_c.py b/taler/util/gen_errcodes_c.py
deleted file mode 100644
index 62bedb2..0000000
--- a/taler/util/gen_errcodes_c.py
+++ /dev/null
@@ -1,92 +0,0 @@
-# This file is part of GNU Taler
-# (C) 2020 Taler Systems SA
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 3 of the License, or (at your option) any later
-# version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA  02110-1301  USA
-#
-# @author Florian Dold
-# @repository https://git.taler.net/taler-util.git/
-
-import textwrap
-from errorcodes import ec
-
-pre = """\
-/*
-  This file is part of TALER
-  Copyright (C) 2016, 2017, 2019 Taler Systems SA
-
-  TALER is free software; you can redistribute it and/or modify it under the
-  terms of the GNU General Public License as published by the Free Software
-  Foundation; either version 3, or (at your option) any later version.
-
-  TALER is distributed in the hope that it will be useful, but WITHOUT ANY
-  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License along with
-  TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
-*/
-
-/**
- * @file taler_error_codes.h
- * @brief error codes returned by GNU Taler
- *
- * This file defines constants for error codes returned
- * in Taler APIs.  We use codes above 1000 to avoid any
- * confusing with HTTP status codes.  All constants have the
- * shared prefix "TALER_EC_" to indicate that they are error
- * codes.
- *
- * THIS FILE IS AUTO-GENERATED, DO NOT MODIFY!
- * If you want to add an error code, please add it in the
- * taler-util.git repository.  Instructions
- * for this are in the README in taler-util.git.
- */
-#ifndef TALER_ERROR_CODES_H
-#define TALER_ERROR_CODES_H
-
-/**
- * Enumeration with all possible Taler error codes.
- */
-enum TALER_ErrorCode
-{
-"""
-
-post = """
-};
-
-
-#endif\
-"""
-
-if __name__ == "__main__":
-    s = ""
-    for err in ec._codes:
-        s += "/**\n"
-        s += textwrap.fill(
-            err.description,
-            initial_indent=" * ",
-            subsequent_indent=" * ",
-            drop_whitespace=True,
-        )
-        s += "\n"
-        s += " */\n"
-        s += f"TALER_EC_{err.name} = {err.code},\n\n"
-    s = s.strip()
-    s = "\n".join([("  " + x).rstrip() for x in s.splitlines()])
-    print(pre)
-    print(s)
-    print(post)

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]