exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

taler_error_codes.h (244411B)


      1 /*
      2      This file is part of GNU Taler
      3      Copyright (C) 2012-2020 Taler Systems SA
      4 
      5      GNU Taler is free software: you can redistribute it and/or modify it
      6      under the terms of the GNU Lesser General Public License as published
      7      by the Free Software Foundation, either version 3 of the License,
      8      or (at your option) any later version.
      9 
     10      GNU Taler is distributed in the hope that it will be useful, but
     11      WITHOUT ANY WARRANTY; without even the implied warranty of
     12      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13      Lesser General Public License for more details.
     14 
     15      You should have received a copy of the GNU Lesser General Public License
     16      along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17 
     18      SPDX-License-Identifier: LGPL3.0-or-later
     19 
     20      Note: the LGPL does not apply to all components of GNU Taler,
     21      but it does apply to this file.
     22  */
     23 /**
     24   * @file include/taler/taler_error_codes.h
     25   * @brief GNU Taler error codes, generated via https://gana.gnunet.org/
     26   *
     27   * Do NOT edit this file, it is generated!
     28   */
     29 #ifndef GNU_TALER_ERROR_CODES_H
     30 #define GNU_TALER_ERROR_CODES_H
     31 
     32 #ifdef __cplusplus
     33 extern "C" {
     34 #if 0 /* keep Emacsens' auto-indent happy */
     35 }
     36 #endif
     37 #endif
     38 
     39 #include <limits.h>
     40 
     41 
     42 /**
     43  * Taler error codes.
     44  */
     45 enum TALER_ErrorCode
     46 {
     47 
     48 
     49   /**
     50    * Special code to indicate success (no error).
     51    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
     52    * (A value of 0 indicates that the error is generated client-side).
     53    */
     54   TALER_EC_NONE = 0,
     55 
     56 
     57   /**
     58    * An error response did not include an error code in the format expected by the client. Most likely, the server does not speak the GNU Taler protocol. Check the URL and/or the network connection to the server.
     59    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
     60    * (A value of 0 indicates that the error is generated client-side).
     61    */
     62   TALER_EC_INVALID = 1,
     63 
     64 
     65   /**
     66    * An internal failure happened on the client side. Details should be in the local logs. Check if you are using the latest available version or file a report with the developers.
     67    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
     68    * (A value of 0 indicates that the error is generated client-side).
     69    */
     70   TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR = 2,
     71 
     72 
     73   /**
     74    * The client does not support the protocol version advertised by the server.
     75    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
     76    * (A value of 0 indicates that the error is generated client-side).
     77    */
     78   TALER_EC_GENERIC_CLIENT_UNSUPPORTED_PROTOCOL_VERSION = 3,
     79 
     80 
     81   /**
     82    * The response we got from the server was not in the expected format. Most likely, the server does not speak the GNU Taler protocol. Check the URL and/or the network connection to the server.
     83    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
     84    * (A value of 0 indicates that the error is generated client-side).
     85    */
     86   TALER_EC_GENERIC_INVALID_RESPONSE = 10,
     87 
     88 
     89   /**
     90    * The operation timed out. Trying again might help. Check the network connection.
     91    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
     92    * (A value of 0 indicates that the error is generated client-side).
     93    */
     94   TALER_EC_GENERIC_TIMEOUT = 11,
     95 
     96 
     97   /**
     98    * The protocol version given by the server does not follow the required format. Most likely, the server does not speak the GNU Taler protocol. Check the URL and/or the network connection to the server.
     99    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
    100    * (A value of 0 indicates that the error is generated client-side).
    101    */
    102   TALER_EC_GENERIC_VERSION_MALFORMED = 12,
    103 
    104 
    105   /**
    106    * The service responded with a reply that was in the right data format, but the content did not satisfy the protocol. Please file a bug report.
    107    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
    108    * (A value of 0 indicates that the error is generated client-side).
    109    */
    110   TALER_EC_GENERIC_REPLY_MALFORMED = 13,
    111 
    112 
    113   /**
    114    * There is an error in the client-side configuration, for example an option is set to an invalid value. Check the logs and fix the local configuration.
    115    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
    116    * (A value of 0 indicates that the error is generated client-side).
    117    */
    118   TALER_EC_GENERIC_CONFIGURATION_INVALID = 14,
    119 
    120 
    121   /**
    122    * The client made a request to a service, but received an error response it does not know how to handle. Please file a bug report.
    123    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
    124    * (A value of 0 indicates that the error is generated client-side).
    125    */
    126   TALER_EC_GENERIC_UNEXPECTED_REQUEST_ERROR = 15,
    127 
    128 
    129   /**
    130    * The token used by the client to authorize the request does not grant the required permissions for the request. Check the requirements and obtain a suitable authorization token to proceed.
    131    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
    132    * (A value of 0 indicates that the error is generated client-side).
    133    */
    134   TALER_EC_GENERIC_TOKEN_PERMISSION_INSUFFICIENT = 16,
    135 
    136 
    137   /**
    138    * The HTTP method used is invalid for this endpoint. This is likely a bug in the client implementation. Check if you are using the latest available version and/or file a report with the developers.
    139    * Returned with an HTTP status code of #MHD_HTTP_METHOD_NOT_ALLOWED (405).
    140    * (A value of 0 indicates that the error is generated client-side).
    141    */
    142   TALER_EC_GENERIC_METHOD_INVALID = 20,
    143 
    144 
    145   /**
    146    * There is no endpoint defined for the URL provided by the client. Check if you used the correct URL and/or file a report with the developers of the client software.
    147    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
    148    * (A value of 0 indicates that the error is generated client-side).
    149    */
    150   TALER_EC_GENERIC_ENDPOINT_UNKNOWN = 21,
    151 
    152 
    153   /**
    154    * The JSON in the client's request was malformed. This is likely a bug in the client implementation. Check if you are using the latest available version and/or file a report with the developers.
    155    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    156    * (A value of 0 indicates that the error is generated client-side).
    157    */
    158   TALER_EC_GENERIC_JSON_INVALID = 22,
    159 
    160 
    161   /**
    162    * Some of the HTTP headers provided by the client were malformed and caused the server to not be able to handle the request. This is likely a bug in the client implementation. Check if you are using the latest available version and/or file a report with the developers.
    163    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    164    * (A value of 0 indicates that the error is generated client-side).
    165    */
    166   TALER_EC_GENERIC_HTTP_HEADERS_MALFORMED = 23,
    167 
    168 
    169   /**
    170    * The payto:// URI provided by the client is malformed. Check that you are using the correct syntax as of RFC 8905 and/or that you entered the bank account number correctly.
    171    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    172    * (A value of 0 indicates that the error is generated client-side).
    173    */
    174   TALER_EC_GENERIC_PAYTO_URI_MALFORMED = 24,
    175 
    176 
    177   /**
    178    * A required parameter in the request was missing. This is likely a bug in the client implementation. Check if you are using the latest available version and/or file a report with the developers.
    179    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    180    * (A value of 0 indicates that the error is generated client-side).
    181    */
    182   TALER_EC_GENERIC_PARAMETER_MISSING = 25,
    183 
    184 
    185   /**
    186    * A parameter in the request was malformed. This is likely a bug in the client implementation. Check if you are using the latest available version and/or file a report with the developers.
    187    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    188    * (A value of 0 indicates that the error is generated client-side).
    189    */
    190   TALER_EC_GENERIC_PARAMETER_MALFORMED = 26,
    191 
    192 
    193   /**
    194    * The reserve public key was malformed.
    195    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    196    * (A value of 0 indicates that the error is generated client-side).
    197    */
    198   TALER_EC_GENERIC_RESERVE_PUB_MALFORMED = 27,
    199 
    200 
    201   /**
    202    * The body in the request could not be decompressed by the server. This is likely a bug in the client implementation. Check if you are using the latest available version and/or file a report with the developers.
    203    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    204    * (A value of 0 indicates that the error is generated client-side).
    205    */
    206   TALER_EC_GENERIC_COMPRESSION_INVALID = 28,
    207 
    208 
    209   /**
    210    * A segment in the path of the URL provided by the client is malformed. Check that you are using the correct encoding for the URL.
    211    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    212    * (A value of 0 indicates that the error is generated client-side).
    213    */
    214   TALER_EC_GENERIC_PATH_SEGMENT_MALFORMED = 29,
    215 
    216 
    217   /**
    218    * The currency involved in the operation is not acceptable for this server. Check your configuration and make sure the currency specified for a given service provider is one of the currencies supported by that provider.
    219    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    220    * (A value of 0 indicates that the error is generated client-side).
    221    */
    222   TALER_EC_GENERIC_CURRENCY_MISMATCH = 30,
    223 
    224 
    225   /**
    226    * The URI is longer than the longest URI the HTTP server is willing to parse. If you believe this was a legitimate request, contact the server administrators and/or the software developers to increase the limit.
    227    * Returned with an HTTP status code of #MHD_HTTP_URI_TOO_LONG (414).
    228    * (A value of 0 indicates that the error is generated client-side).
    229    */
    230   TALER_EC_GENERIC_URI_TOO_LONG = 31,
    231 
    232 
    233   /**
    234    * The body is too large to be permissible for the endpoint. If you believe this was a legitimate request, contact the server administrators and/or the software developers to increase the limit.
    235    * Returned with an HTTP status code of #MHD_HTTP_CONTENT_TOO_LARGE (413).
    236    * (A value of 0 indicates that the error is generated client-side).
    237    */
    238   TALER_EC_GENERIC_UPLOAD_EXCEEDS_LIMIT = 32,
    239 
    240 
    241   /**
    242    * A parameter in the request was given that must not be present. This is likely a bug in the client implementation. Check if you are using the latest available version and/or file a report with the developers.
    243    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    244    * (A value of 0 indicates that the error is generated client-side).
    245    */
    246   TALER_EC_GENERIC_PARAMETER_EXTRA = 33,
    247 
    248 
    249   /**
    250    * The service refused the request due to lack of proper authorization. Accessing this endpoint requires an access token from the account owner.
    251    * Returned with an HTTP status code of #MHD_HTTP_UNAUTHORIZED (401).
    252    * (A value of 0 indicates that the error is generated client-side).
    253    */
    254   TALER_EC_GENERIC_UNAUTHORIZED = 40,
    255 
    256 
    257   /**
    258    * The service refused the request as the given authorization token is unknown. You should request a valid access token from the account owner.
    259    * Returned with an HTTP status code of #MHD_HTTP_UNAUTHORIZED (401).
    260    * (A value of 0 indicates that the error is generated client-side).
    261    */
    262   TALER_EC_GENERIC_TOKEN_UNKNOWN = 41,
    263 
    264 
    265   /**
    266    * The service refused the request as the given authorization token expired. You should request a fresh authorization token from the account owner.
    267    * Returned with an HTTP status code of #MHD_HTTP_UNAUTHORIZED (401).
    268    * (A value of 0 indicates that the error is generated client-side).
    269    */
    270   TALER_EC_GENERIC_TOKEN_EXPIRED = 42,
    271 
    272 
    273   /**
    274    * The service refused the request as the given authorization token is invalid or malformed. You should check that you have the right credentials.
    275    * Returned with an HTTP status code of #MHD_HTTP_UNAUTHORIZED (401).
    276    * (A value of 0 indicates that the error is generated client-side).
    277    */
    278   TALER_EC_GENERIC_TOKEN_MALFORMED = 43,
    279 
    280 
    281   /**
    282    * The service refused the request due to lack of proper rights on the resource. You may need different credentials to be allowed to perform this operation.
    283    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
    284    * (A value of 0 indicates that the error is generated client-side).
    285    */
    286   TALER_EC_GENERIC_FORBIDDEN = 44,
    287 
    288 
    289   /**
    290    * The service failed initialize its connection to the database. The system administrator should check that the service has permissions to access the database and that the database is running.
    291    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    292    * (A value of 0 indicates that the error is generated client-side).
    293    */
    294   TALER_EC_GENERIC_DB_SETUP_FAILED = 50,
    295 
    296 
    297   /**
    298    * The service encountered an error event to just start the database transaction. The system administrator should check that the database is running.
    299    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    300    * (A value of 0 indicates that the error is generated client-side).
    301    */
    302   TALER_EC_GENERIC_DB_START_FAILED = 51,
    303 
    304 
    305   /**
    306    * The service failed to store information in its database. The system administrator should check that the database is running and review the service logs.
    307    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    308    * (A value of 0 indicates that the error is generated client-side).
    309    */
    310   TALER_EC_GENERIC_DB_STORE_FAILED = 52,
    311 
    312 
    313   /**
    314    * The service failed to fetch information from its database. The system administrator should check that the database is running and review the service logs.
    315    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    316    * (A value of 0 indicates that the error is generated client-side).
    317    */
    318   TALER_EC_GENERIC_DB_FETCH_FAILED = 53,
    319 
    320 
    321   /**
    322    * The service encountered an unrecoverable error trying to commit a transaction to the database. The system administrator should check that the database is running and review the service logs.
    323    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    324    * (A value of 0 indicates that the error is generated client-side).
    325    */
    326   TALER_EC_GENERIC_DB_COMMIT_FAILED = 54,
    327 
    328 
    329   /**
    330    * The service 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; it should only happen if some client maliciously tries to create conflicting concurrent transactions. It could also be a sign of a missing index. Check if you are using the latest available version and/or file a report with the developers.
    331    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    332    * (A value of 0 indicates that the error is generated client-side).
    333    */
    334   TALER_EC_GENERIC_DB_SOFT_FAILURE = 55,
    335 
    336 
    337   /**
    338    * The service's database is inconsistent and violates service-internal invariants. Check if you are using the latest available version and/or file a report with the developers.
    339    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    340    * (A value of 0 indicates that the error is generated client-side).
    341    */
    342   TALER_EC_GENERIC_DB_INVARIANT_FAILURE = 56,
    343 
    344 
    345   /**
    346    * The HTTP server experienced an internal invariant failure (bug). Check if you are using the latest available version and/or file a report with the developers.
    347    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    348    * (A value of 0 indicates that the error is generated client-side).
    349    */
    350   TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE = 60,
    351 
    352 
    353   /**
    354    * The service could not compute a cryptographic hash over some JSON value. Check if you are using the latest available version and/or file a report with the developers.
    355    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    356    * (A value of 0 indicates that the error is generated client-side).
    357    */
    358   TALER_EC_GENERIC_FAILED_COMPUTE_JSON_HASH = 61,
    359 
    360 
    361   /**
    362    * The service could not compute an amount. Check if you are using the latest available version and/or file a report with the developers.
    363    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    364    * (A value of 0 indicates that the error is generated client-side).
    365    */
    366   TALER_EC_GENERIC_FAILED_COMPUTE_AMOUNT = 62,
    367 
    368 
    369   /**
    370    * The HTTP server had insufficient memory to parse the request. Restarting services periodically can help, especially if Postgres is using excessive amounts of memory. Check with the system administrator to investigate.
    371    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    372    * (A value of 0 indicates that the error is generated client-side).
    373    */
    374   TALER_EC_GENERIC_PARSER_OUT_OF_MEMORY = 70,
    375 
    376 
    377   /**
    378    * The HTTP server failed to allocate memory. Restarting services periodically can help, especially if Postgres is using excessive amounts of memory. Check with the system administrator to investigate.
    379    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    380    * (A value of 0 indicates that the error is generated client-side).
    381    */
    382   TALER_EC_GENERIC_ALLOCATION_FAILURE = 71,
    383 
    384 
    385   /**
    386    * The HTTP server failed to allocate memory for building JSON reply. Restarting services periodically can help, especially if Postgres is using excessive amounts of memory. Check with the system administrator to investigate.
    387    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    388    * (A value of 0 indicates that the error is generated client-side).
    389    */
    390   TALER_EC_GENERIC_JSON_ALLOCATION_FAILURE = 72,
    391 
    392 
    393   /**
    394    * The HTTP server failed to allocate memory for making a CURL request. Restarting services periodically can help, especially if Postgres is using excessive amounts of memory. Check with the system administrator to investigate.
    395    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    396    * (A value of 0 indicates that the error is generated client-side).
    397    */
    398   TALER_EC_GENERIC_CURL_ALLOCATION_FAILURE = 73,
    399 
    400 
    401   /**
    402    * The backend could not locate a required template to generate an HTML reply. The system administrator should check if the resource files are installed in the correct location and are readable to the service.
    403    * Returned with an HTTP status code of #MHD_HTTP_NOT_ACCEPTABLE (406).
    404    * (A value of 0 indicates that the error is generated client-side).
    405    */
    406   TALER_EC_GENERIC_FAILED_TO_LOAD_TEMPLATE = 74,
    407 
    408 
    409   /**
    410    * The backend could not expand the template to generate an HTML reply. The system administrator should investigate the logs and check if the templates are well-formed.
    411    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    412    * (A value of 0 indicates that the error is generated client-side).
    413    */
    414   TALER_EC_GENERIC_FAILED_TO_EXPAND_TEMPLATE = 75,
    415 
    416 
    417   /**
    418    * The requested feature is not implemented by the server. The system administrator of the server may try to update the software or build it with other options to enable the feature.
    419    * Returned with an HTTP status code of #MHD_HTTP_NOT_IMPLEMENTED (501).
    420    * (A value of 0 indicates that the error is generated client-side).
    421    */
    422   TALER_EC_GENERIC_FEATURE_NOT_IMPLEMENTED = 76,
    423 
    424 
    425   /**
    426    * The operating system failed to allocate required resources. Restarting services periodically can help, especially if Postgres is using excessive amounts of memory. Check with the system administrator to investigate.
    427    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    428    * (A value of 0 indicates that the error is generated client-side).
    429    */
    430   TALER_EC_GENERIC_OS_RESOURCE_ALLOCATION_FAILURE = 77,
    431 
    432 
    433   /**
    434    * The requested content type is not supported by the server. The client should try requesting a different format.
    435    * Returned with an HTTP status code of #MHD_HTTP_NOT_ACCEPTABLE (406).
    436    * (A value of 0 indicates that the error is generated client-side).
    437    */
    438   TALER_EC_GENERIC_REQUESTED_FORMAT_UNSUPPORTED = 78,
    439 
    440 
    441   /**
    442    * Exchange is badly configured and thus cannot operate.
    443    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    444    * (A value of 0 indicates that the error is generated client-side).
    445    */
    446   TALER_EC_EXCHANGE_GENERIC_BAD_CONFIGURATION = 1000,
    447 
    448 
    449   /**
    450    * Operation specified unknown for this endpoint.
    451    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
    452    * (A value of 0 indicates that the error is generated client-side).
    453    */
    454   TALER_EC_EXCHANGE_GENERIC_OPERATION_UNKNOWN = 1001,
    455 
    456 
    457   /**
    458    * The number of segments included in the URI does not match the number of segments expected by the endpoint.
    459    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
    460    * (A value of 0 indicates that the error is generated client-side).
    461    */
    462   TALER_EC_EXCHANGE_GENERIC_WRONG_NUMBER_OF_SEGMENTS = 1002,
    463 
    464 
    465   /**
    466    * The same coin was already used with a different denomination previously.
    467    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
    468    * (A value of 0 indicates that the error is generated client-side).
    469    */
    470   TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_DENOMINATION_KEY = 1003,
    471 
    472 
    473   /**
    474    * The public key of given to a "/coins/" endpoint of the exchange was malformed.
    475    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    476    * (A value of 0 indicates that the error is generated client-side).
    477    */
    478   TALER_EC_EXCHANGE_GENERIC_COINS_INVALID_COIN_PUB = 1004,
    479 
    480 
    481   /**
    482    * The exchange is not aware of the denomination key the wallet requested for the operation.
    483    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
    484    * (A value of 0 indicates that the error is generated client-side).
    485    */
    486   TALER_EC_EXCHANGE_GENERIC_DENOMINATION_KEY_UNKNOWN = 1005,
    487 
    488 
    489   /**
    490    * The signature of the denomination key over the coin is not valid.
    491    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
    492    * (A value of 0 indicates that the error is generated client-side).
    493    */
    494   TALER_EC_EXCHANGE_DENOMINATION_SIGNATURE_INVALID = 1006,
    495 
    496 
    497   /**
    498    * The exchange failed to perform the operation as it could not find the private keys. This is a problem with the exchange setup, not with the client's request.
    499    * Returned with an HTTP status code of #MHD_HTTP_SERVICE_UNAVAILABLE (503).
    500    * (A value of 0 indicates that the error is generated client-side).
    501    */
    502   TALER_EC_EXCHANGE_GENERIC_KEYS_MISSING = 1007,
    503 
    504 
    505   /**
    506    * Validity period of the denomination lies in the future.
    507    * Returned with an HTTP status code of #MHD_HTTP_PRECONDITION_FAILED (412).
    508    * (A value of 0 indicates that the error is generated client-side).
    509    */
    510   TALER_EC_EXCHANGE_GENERIC_DENOMINATION_VALIDITY_IN_FUTURE = 1008,
    511 
    512 
    513   /**
    514    * Denomination key of the coin is past its expiration time for the requested operation.
    515    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
    516    * (A value of 0 indicates that the error is generated client-side).
    517    */
    518   TALER_EC_EXCHANGE_GENERIC_DENOMINATION_EXPIRED = 1009,
    519 
    520 
    521   /**
    522    * Denomination key of the coin has been revoked.
    523    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
    524    * (A value of 0 indicates that the error is generated client-side).
    525    */
    526   TALER_EC_EXCHANGE_GENERIC_DENOMINATION_REVOKED = 1010,
    527 
    528 
    529   /**
    530    * An operation where the exchange interacted with a security module timed out.
    531    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    532    * (A value of 0 indicates that the error is generated client-side).
    533    */
    534   TALER_EC_EXCHANGE_GENERIC_SECMOD_TIMEOUT = 1011,
    535 
    536 
    537   /**
    538    * The respective coin did not have sufficient residual value for the operation.  The "history" in this response provides the "residual_value" of the coin, which may be less than its "original_value".
    539    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
    540    * (A value of 0 indicates that the error is generated client-side).
    541    */
    542   TALER_EC_EXCHANGE_GENERIC_INSUFFICIENT_FUNDS = 1012,
    543 
    544 
    545   /**
    546    * The exchange had an internal error reconstructing the transaction history of the coin that was being processed.
    547    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    548    * (A value of 0 indicates that the error is generated client-side).
    549    */
    550   TALER_EC_EXCHANGE_GENERIC_COIN_HISTORY_COMPUTATION_FAILED = 1013,
    551 
    552 
    553   /**
    554    * The exchange failed to obtain the transaction history of the given coin from the database while generating an insufficient funds errors.
    555    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    556    * (A value of 0 indicates that the error is generated client-side).
    557    */
    558   TALER_EC_EXCHANGE_GENERIC_HISTORY_DB_ERROR_INSUFFICIENT_FUNDS = 1014,
    559 
    560 
    561   /**
    562    * The same coin was already used with a different age hash previously.
    563    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
    564    * (A value of 0 indicates that the error is generated client-side).
    565    */
    566   TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_AGE_HASH = 1015,
    567 
    568 
    569   /**
    570    * The requested operation is not valid for the cipher used by the selected denomination.
    571    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    572    * (A value of 0 indicates that the error is generated client-side).
    573    */
    574   TALER_EC_EXCHANGE_GENERIC_INVALID_DENOMINATION_CIPHER_FOR_OPERATION = 1016,
    575 
    576 
    577   /**
    578    * The provided arguments for the operation use inconsistent ciphers.
    579    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    580    * (A value of 0 indicates that the error is generated client-side).
    581    */
    582   TALER_EC_EXCHANGE_GENERIC_CIPHER_MISMATCH = 1017,
    583 
    584 
    585   /**
    586    * The number of denominations specified in the request exceeds the limit of the exchange.
    587    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    588    * (A value of 0 indicates that the error is generated client-side).
    589    */
    590   TALER_EC_EXCHANGE_GENERIC_NEW_DENOMS_ARRAY_SIZE_EXCESSIVE = 1018,
    591 
    592 
    593   /**
    594    * The coin is not known to the exchange (yet).
    595    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
    596    * (A value of 0 indicates that the error is generated client-side).
    597    */
    598   TALER_EC_EXCHANGE_GENERIC_COIN_UNKNOWN = 1019,
    599 
    600 
    601   /**
    602    * The time at the server is too far off from the time specified in the request. Most likely the client system time is wrong.
    603    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    604    * (A value of 0 indicates that the error is generated client-side).
    605    */
    606   TALER_EC_EXCHANGE_GENERIC_CLOCK_SKEW = 1020,
    607 
    608 
    609   /**
    610    * The specified amount for the coin is higher than the value of the denomination of the coin.
    611    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    612    * (A value of 0 indicates that the error is generated client-side).
    613    */
    614   TALER_EC_EXCHANGE_GENERIC_AMOUNT_EXCEEDS_DENOMINATION_VALUE = 1021,
    615 
    616 
    617   /**
    618    * The exchange was not properly configured with global fees.
    619    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    620    * (A value of 0 indicates that the error is generated client-side).
    621    */
    622   TALER_EC_EXCHANGE_GENERIC_GLOBAL_FEES_MISSING = 1022,
    623 
    624 
    625   /**
    626    * The exchange was not properly configured with wire fees.
    627    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    628    * (A value of 0 indicates that the error is generated client-side).
    629    */
    630   TALER_EC_EXCHANGE_GENERIC_WIRE_FEES_MISSING = 1023,
    631 
    632 
    633   /**
    634    * The purse public key was malformed.
    635    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    636    * (A value of 0 indicates that the error is generated client-side).
    637    */
    638   TALER_EC_EXCHANGE_GENERIC_PURSE_PUB_MALFORMED = 1024,
    639 
    640 
    641   /**
    642    * The purse is unknown.
    643    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
    644    * (A value of 0 indicates that the error is generated client-side).
    645    */
    646   TALER_EC_EXCHANGE_GENERIC_PURSE_UNKNOWN = 1025,
    647 
    648 
    649   /**
    650    * The purse has expired.
    651    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
    652    * (A value of 0 indicates that the error is generated client-side).
    653    */
    654   TALER_EC_EXCHANGE_GENERIC_PURSE_EXPIRED = 1026,
    655 
    656 
    657   /**
    658    * The exchange has no information about the "reserve_pub" that was given.
    659    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
    660    * (A value of 0 indicates that the error is generated client-side).
    661    */
    662   TALER_EC_EXCHANGE_GENERIC_RESERVE_UNKNOWN = 1027,
    663 
    664 
    665   /**
    666    * The exchange is not allowed to proceed with the operation until the client has satisfied a KYC check.
    667    * Returned with an HTTP status code of #MHD_HTTP_UNAVAILABLE_FOR_LEGAL_REASONS (451).
    668    * (A value of 0 indicates that the error is generated client-side).
    669    */
    670   TALER_EC_EXCHANGE_GENERIC_KYC_REQUIRED = 1028,
    671 
    672 
    673   /**
    674    * Inconsistency between provided age commitment and attest: either none or both must be provided
    675    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    676    * (A value of 0 indicates that the error is generated client-side).
    677    */
    678   TALER_EC_EXCHANGE_PURSE_DEPOSIT_COIN_CONFLICTING_ATTEST_VS_AGE_COMMITMENT =
    679     1029,
    680 
    681 
    682   /**
    683    * The provided attestation for the minimum age couldn't be verified by the exchange.
    684    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    685    * (A value of 0 indicates that the error is generated client-side).
    686    */
    687   TALER_EC_EXCHANGE_PURSE_DEPOSIT_COIN_AGE_ATTESTATION_FAILURE = 1030,
    688 
    689 
    690   /**
    691    * The purse was deleted.
    692    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
    693    * (A value of 0 indicates that the error is generated client-side).
    694    */
    695   TALER_EC_EXCHANGE_GENERIC_PURSE_DELETED = 1031,
    696 
    697 
    698   /**
    699    * The public key of the AML officer in the URL was malformed.
    700    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    701    * (A value of 0 indicates that the error is generated client-side).
    702    */
    703   TALER_EC_EXCHANGE_GENERIC_AML_OFFICER_PUB_MALFORMED = 1032,
    704 
    705 
    706   /**
    707    * The signature affirming the GET request of the AML officer is invalid.
    708    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
    709    * (A value of 0 indicates that the error is generated client-side).
    710    */
    711   TALER_EC_EXCHANGE_GENERIC_AML_OFFICER_GET_SIGNATURE_INVALID = 1033,
    712 
    713 
    714   /**
    715    * The specified AML officer does not have access at this time.
    716    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
    717    * (A value of 0 indicates that the error is generated client-side).
    718    */
    719   TALER_EC_EXCHANGE_GENERIC_AML_OFFICER_ACCESS_DENIED = 1034,
    720 
    721 
    722   /**
    723    * The requested operation is denied pending the resolution of an anti-money laundering investigation by the exchange operator. This is a manual process, please wait and retry later.
    724    * Returned with an HTTP status code of #MHD_HTTP_UNAVAILABLE_FOR_LEGAL_REASONS (451).
    725    * (A value of 0 indicates that the error is generated client-side).
    726    */
    727   TALER_EC_EXCHANGE_GENERIC_AML_PENDING = 1035,
    728 
    729 
    730   /**
    731    * The requested operation is denied as the account was frozen on suspicion of money laundering. Please contact the exchange operator.
    732    * Returned with an HTTP status code of #MHD_HTTP_UNAVAILABLE_FOR_LEGAL_REASONS (451).
    733    * (A value of 0 indicates that the error is generated client-side).
    734    */
    735   TALER_EC_EXCHANGE_GENERIC_AML_FROZEN = 1036,
    736 
    737 
    738   /**
    739    * The exchange failed to start a KYC attribute conversion helper process. It is likely configured incorrectly.
    740    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    741    * (A value of 0 indicates that the error is generated client-side).
    742    */
    743   TALER_EC_EXCHANGE_GENERIC_KYC_CONVERTER_FAILED = 1037,
    744 
    745 
    746   /**
    747    * The KYC operation failed. This could be because the KYC provider rejected the KYC data provided, or because the user aborted the KYC process.
    748    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    749    * (A value of 0 indicates that the error is generated client-side).
    750    */
    751   TALER_EC_EXCHANGE_GENERIC_KYC_FAILED = 1038,
    752 
    753 
    754   /**
    755    * A fallback measure for a KYC operation failed. This is a bug. Users should contact the exchange operator.
    756    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    757    * (A value of 0 indicates that the error is generated client-side).
    758    */
    759   TALER_EC_EXCHANGE_GENERIC_KYC_FALLBACK_FAILED = 1039,
    760 
    761 
    762   /**
    763    * The specified fallback measure for a KYC operation is unknown. This is a bug. Users should contact the exchange operator.
    764    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    765    * (A value of 0 indicates that the error is generated client-side).
    766    */
    767   TALER_EC_EXCHANGE_GENERIC_KYC_FALLBACK_UNKNOWN = 1040,
    768 
    769 
    770   /**
    771    * The exchange is not aware of the bank account (payto URI or hash thereof) specified in the request and thus cannot perform the requested operation. The client should check that the select account is correct.
    772    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
    773    * (A value of 0 indicates that the error is generated client-side).
    774    */
    775   TALER_EC_EXCHANGE_GENERIC_BANK_ACCOUNT_UNKNOWN = 1041,
    776 
    777 
    778   /**
    779    * The AML processing at the exchange did not terminate in an adequate timeframe. This is likely a configuration problem at the payment service provider. Users should contact the exchange operator.
    780    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    781    * (A value of 0 indicates that the error is generated client-side).
    782    */
    783   TALER_EC_EXCHANGE_GENERIC_AML_PROGRAM_RECURSION_DETECTED = 1042,
    784 
    785 
    786   /**
    787    * A check against sanction lists failed. This is indicative of an internal error in the sanction list processing logic. This needs to be investigated by the exchange operator.
    788    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    789    * (A value of 0 indicates that the error is generated client-side).
    790    */
    791   TALER_EC_EXCHANGE_GENERIC_KYC_SANCTION_LIST_CHECK_FAILED = 1043,
    792 
    793 
    794   /**
    795    * The process to generate a PDF from a template failed. A likely cause is a syntactic error in the template. This needs to be investigated by the exchange operator.
    796    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    797    * (A value of 0 indicates that the error is generated client-side).
    798    */
    799   TALER_EC_EXCHANGE_GENERIC_TYPST_TEMPLATE_FAILURE = 1044,
    800 
    801 
    802   /**
    803    * A process to combine multiple PDFs into one larger document failed. A likely cause is a resource exhaustion problem on the server. This needs to be investigated by the exchange operator.
    804    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    805    * (A value of 0 indicates that the error is generated client-side).
    806    */
    807   TALER_EC_EXCHANGE_GENERIC_PDFTK_FAILURE = 1045,
    808 
    809 
    810   /**
    811    * The process to generate a PDF from a template crashed. A likely cause is a bug in the Typst software. This needs to be investigated by the exchange operator.
    812    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    813    * (A value of 0 indicates that the error is generated client-side).
    814    */
    815   TALER_EC_EXCHANGE_GENERIC_TYPST_CRASH = 1046,
    816 
    817 
    818   /**
    819    * The process to combine multiple PDFs into a larger document crashed. A likely cause is a bug in the pdftk software. This needs to be investigated by the exchange operator.
    820    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    821    * (A value of 0 indicates that the error is generated client-side).
    822    */
    823   TALER_EC_EXCHANGE_GENERIC_PDFTK_CRASH = 1047,
    824 
    825 
    826   /**
    827    * One of the binaries needed to generate the PDF is not installed. If this feature is required, the system administrator should make sure Typst and pdftk are both installed.
    828    * Returned with an HTTP status code of #MHD_HTTP_NOT_IMPLEMENTED (501).
    829    * (A value of 0 indicates that the error is generated client-side).
    830    */
    831   TALER_EC_EXCHANGE_GENERIC_NO_TYPST_OR_PDFTK = 1048,
    832 
    833 
    834   /**
    835    * The exchange is not aware of the given target account. The specified account is not a customer of this service.
    836    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
    837    * (A value of 0 indicates that the error is generated client-side).
    838    */
    839   TALER_EC_EXCHANGE_GENERIC_TARGET_ACCOUNT_UNKNOWN = 1049,
    840 
    841 
    842   /**
    843    * The specified AML officer does not have write access at this time.
    844    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
    845    * (A value of 0 indicates that the error is generated client-side).
    846    */
    847   TALER_EC_EXCHANGE_GENERIC_AML_OFFICER_READ_ONLY = 1050,
    848 
    849 
    850   /**
    851    * The exchange did not find information about the specified transaction in the database.
    852    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
    853    * (A value of 0 indicates that the error is generated client-side).
    854    */
    855   TALER_EC_EXCHANGE_DEPOSITS_GET_NOT_FOUND = 1100,
    856 
    857 
    858   /**
    859    * The wire hash of given to a "/deposits/" handler was malformed.
    860    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    861    * (A value of 0 indicates that the error is generated client-side).
    862    */
    863   TALER_EC_EXCHANGE_DEPOSITS_GET_INVALID_H_WIRE = 1101,
    864 
    865 
    866   /**
    867    * The merchant key of given to a "/deposits/" handler was malformed.
    868    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    869    * (A value of 0 indicates that the error is generated client-side).
    870    */
    871   TALER_EC_EXCHANGE_DEPOSITS_GET_INVALID_MERCHANT_PUB = 1102,
    872 
    873 
    874   /**
    875    * The hash of the contract terms given to a "/deposits/" handler was malformed.
    876    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    877    * (A value of 0 indicates that the error is generated client-side).
    878    */
    879   TALER_EC_EXCHANGE_DEPOSITS_GET_INVALID_H_CONTRACT_TERMS = 1103,
    880 
    881 
    882   /**
    883    * The coin public key of given to a "/deposits/" handler was malformed.
    884    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    885    * (A value of 0 indicates that the error is generated client-side).
    886    */
    887   TALER_EC_EXCHANGE_DEPOSITS_GET_INVALID_COIN_PUB = 1104,
    888 
    889 
    890   /**
    891    * The signature returned by the exchange in a /deposits/ request was malformed.
    892    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
    893    * (A value of 0 indicates that the error is generated client-side).
    894    */
    895   TALER_EC_EXCHANGE_DEPOSITS_GET_INVALID_SIGNATURE_BY_EXCHANGE = 1105,
    896 
    897 
    898   /**
    899    * The signature of the merchant is invalid.
    900    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
    901    * (A value of 0 indicates that the error is generated client-side).
    902    */
    903   TALER_EC_EXCHANGE_DEPOSITS_GET_MERCHANT_SIGNATURE_INVALID = 1106,
    904 
    905 
    906   /**
    907    * The provided policy data was not accepted
    908    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    909    * (A value of 0 indicates that the error is generated client-side).
    910    */
    911   TALER_EC_EXCHANGE_DEPOSITS_POLICY_NOT_ACCEPTED = 1107,
    912 
    913 
    914   /**
    915    * 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.
    916    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
    917    * (A value of 0 indicates that the error is generated client-side).
    918    */
    919   TALER_EC_EXCHANGE_WITHDRAW_INSUFFICIENT_FUNDS = 1150,
    920 
    921 
    922   /**
    923    * The given reserve does not have sufficient funds to admit the requested age-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.
    924    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
    925    * (A value of 0 indicates that the error is generated client-side).
    926    */
    927   TALER_EC_EXCHANGE_AGE_WITHDRAW_INSUFFICIENT_FUNDS = 1151,
    928 
    929 
    930   /**
    931    * 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.
    932    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    933    * (A value of 0 indicates that the error is generated client-side).
    934    */
    935   TALER_EC_EXCHANGE_WITHDRAW_AMOUNT_FEE_OVERFLOW = 1152,
    936 
    937 
    938   /**
    939    * The exchange failed to create the signature using the denomination key.
    940    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    941    * (A value of 0 indicates that the error is generated client-side).
    942    */
    943   TALER_EC_EXCHANGE_WITHDRAW_SIGNATURE_FAILED = 1153,
    944 
    945 
    946   /**
    947    * The signature of the reserve is not valid.
    948    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
    949    * (A value of 0 indicates that the error is generated client-side).
    950    */
    951   TALER_EC_EXCHANGE_WITHDRAW_RESERVE_SIGNATURE_INVALID = 1154,
    952 
    953 
    954   /**
    955    * When computing the reserve history, we ended up with a negative overall balance, which should be impossible.
    956    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
    957    * (A value of 0 indicates that the error is generated client-side).
    958    */
    959   TALER_EC_EXCHANGE_RESERVE_HISTORY_ERROR_INSUFFICIENT_FUNDS = 1155,
    960 
    961 
    962   /**
    963    * The reserve did not have sufficient funds in it to pay for a full reserve history statement.
    964    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
    965    * (A value of 0 indicates that the error is generated client-side).
    966    */
    967   TALER_EC_EXCHANGE_GET_RESERVE_HISTORY_ERROR_INSUFFICIENT_BALANCE = 1156,
    968 
    969 
    970   /**
    971    * Withdraw period of the coin to be withdrawn is in the past.
    972    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
    973    * (A value of 0 indicates that the error is generated client-side).
    974    */
    975   TALER_EC_EXCHANGE_WITHDRAW_DENOMINATION_KEY_LOST = 1158,
    976 
    977 
    978   /**
    979    * The client failed to unblind the blind signature.
    980    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
    981    * (A value of 0 indicates that the error is generated client-side).
    982    */
    983   TALER_EC_EXCHANGE_WITHDRAW_UNBLIND_FAILURE = 1159,
    984 
    985 
    986   /**
    987    * The client reused a withdraw nonce, which is not allowed.
    988    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
    989    * (A value of 0 indicates that the error is generated client-side).
    990    */
    991   TALER_EC_EXCHANGE_WITHDRAW_NONCE_REUSE = 1160,
    992 
    993 
    994   /**
    995    * The client provided an unknown commitment for an age-withdraw request.
    996    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
    997    * (A value of 0 indicates that the error is generated client-side).
    998    */
    999   TALER_EC_EXCHANGE_WITHDRAW_COMMITMENT_UNKNOWN = 1161,
   1000 
   1001 
   1002   /**
   1003    * The total sum of amounts from the denominations did overflow.
   1004    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1005    * (A value of 0 indicates that the error is generated client-side).
   1006    */
   1007   TALER_EC_EXCHANGE_WITHDRAW_AMOUNT_OVERFLOW = 1162,
   1008 
   1009 
   1010   /**
   1011    * The total sum of value and fees from the denominations differs from the committed amount with fees.
   1012    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1013    * (A value of 0 indicates that the error is generated client-side).
   1014    */
   1015   TALER_EC_EXCHANGE_AGE_WITHDRAW_AMOUNT_INCORRECT = 1163,
   1016 
   1017 
   1018   /**
   1019    * The original commitment differs from the calculated hash
   1020    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1021    * (A value of 0 indicates that the error is generated client-side).
   1022    */
   1023   TALER_EC_EXCHANGE_WITHDRAW_REVEAL_INVALID_HASH = 1164,
   1024 
   1025 
   1026   /**
   1027    * The maximum age in the commitment is too large for the reserve
   1028    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1029    * (A value of 0 indicates that the error is generated client-side).
   1030    */
   1031   TALER_EC_EXCHANGE_WITHDRAW_MAXIMUM_AGE_TOO_LARGE = 1165,
   1032 
   1033 
   1034   /**
   1035    * The withdraw operation included the same planchet more than once. This is not allowed.
   1036    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1037    * (A value of 0 indicates that the error is generated client-side).
   1038    */
   1039   TALER_EC_EXCHANGE_WITHDRAW_IDEMPOTENT_PLANCHET = 1175,
   1040 
   1041 
   1042   /**
   1043    * The signature made by the coin over the deposit permission is not valid.
   1044    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1045    * (A value of 0 indicates that the error is generated client-side).
   1046    */
   1047   TALER_EC_EXCHANGE_DEPOSIT_COIN_SIGNATURE_INVALID = 1205,
   1048 
   1049 
   1050   /**
   1051    * The same coin was already deposited for the same merchant and contract with other details.
   1052    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1053    * (A value of 0 indicates that the error is generated client-side).
   1054    */
   1055   TALER_EC_EXCHANGE_DEPOSIT_CONFLICTING_CONTRACT = 1206,
   1056 
   1057 
   1058   /**
   1059    * The stated value of the coin after the deposit fee is subtracted would be negative.
   1060    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1061    * (A value of 0 indicates that the error is generated client-side).
   1062    */
   1063   TALER_EC_EXCHANGE_DEPOSIT_NEGATIVE_VALUE_AFTER_FEE = 1207,
   1064 
   1065 
   1066   /**
   1067    * The stated refund deadline is after the wire deadline.
   1068    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1069    * (A value of 0 indicates that the error is generated client-side).
   1070    */
   1071   TALER_EC_EXCHANGE_DEPOSIT_REFUND_DEADLINE_AFTER_WIRE_DEADLINE = 1208,
   1072 
   1073 
   1074   /**
   1075    * The stated wire deadline is "never", which makes no sense.
   1076    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1077    * (A value of 0 indicates that the error is generated client-side).
   1078    */
   1079   TALER_EC_EXCHANGE_DEPOSIT_WIRE_DEADLINE_IS_NEVER = 1209,
   1080 
   1081 
   1082   /**
   1083    * 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.
   1084    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1085    * (A value of 0 indicates that the error is generated client-side).
   1086    */
   1087   TALER_EC_EXCHANGE_DEPOSIT_INVALID_WIRE_FORMAT_JSON = 1210,
   1088 
   1089 
   1090   /**
   1091    * The hash of the given wire address does not match the wire hash specified in the proposal data.
   1092    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1093    * (A value of 0 indicates that the error is generated client-side).
   1094    */
   1095   TALER_EC_EXCHANGE_DEPOSIT_INVALID_WIRE_FORMAT_CONTRACT_HASH_CONFLICT = 1211,
   1096 
   1097 
   1098   /**
   1099    * The signature provided by the exchange is not valid.
   1100    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   1101    * (A value of 0 indicates that the error is generated client-side).
   1102    */
   1103   TALER_EC_EXCHANGE_DEPOSIT_INVALID_SIGNATURE_BY_EXCHANGE = 1221,
   1104 
   1105 
   1106   /**
   1107    * The deposited amount is smaller than the deposit fee, which would result in a negative contribution.
   1108    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1109    * (A value of 0 indicates that the error is generated client-side).
   1110    */
   1111   TALER_EC_EXCHANGE_DEPOSIT_FEE_ABOVE_AMOUNT = 1222,
   1112 
   1113 
   1114   /**
   1115    * The proof of policy fulfillment was invalid.
   1116    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1117    * (A value of 0 indicates that the error is generated client-side).
   1118    */
   1119   TALER_EC_EXCHANGE_EXTENSIONS_INVALID_FULFILLMENT = 1240,
   1120 
   1121 
   1122   /**
   1123    * The coin history was requested with a bad signature.
   1124    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1125    * (A value of 0 indicates that the error is generated client-side).
   1126    */
   1127   TALER_EC_EXCHANGE_COIN_HISTORY_BAD_SIGNATURE = 1251,
   1128 
   1129 
   1130   /**
   1131    * The reserve history was requested with a bad signature.
   1132    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1133    * (A value of 0 indicates that the error is generated client-side).
   1134    */
   1135   TALER_EC_EXCHANGE_RESERVE_HISTORY_BAD_SIGNATURE = 1252,
   1136 
   1137 
   1138   /**
   1139    * The exchange encountered melt fees exceeding the melted coin's contribution.
   1140    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1141    * (A value of 0 indicates that the error is generated client-side).
   1142    */
   1143   TALER_EC_EXCHANGE_MELT_FEES_EXCEED_CONTRIBUTION = 1302,
   1144 
   1145 
   1146   /**
   1147    * The signature made with the coin to be melted is invalid.
   1148    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1149    * (A value of 0 indicates that the error is generated client-side).
   1150    */
   1151   TALER_EC_EXCHANGE_MELT_COIN_SIGNATURE_INVALID = 1303,
   1152 
   1153 
   1154   /**
   1155    * 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).
   1156    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1157    * (A value of 0 indicates that the error is generated client-side).
   1158    */
   1159   TALER_EC_EXCHANGE_MELT_COIN_EXPIRED_NO_ZOMBIE = 1305,
   1160 
   1161 
   1162   /**
   1163    * The signature returned by the exchange in a melt request was malformed.
   1164    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   1165    * (A value of 0 indicates that the error is generated client-side).
   1166    */
   1167   TALER_EC_EXCHANGE_MELT_INVALID_SIGNATURE_BY_EXCHANGE = 1306,
   1168 
   1169 
   1170   /**
   1171    * The provided transfer keys do not match up with the original commitment.  Information about the original commitment is included in the response.
   1172    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1173    * (A value of 0 indicates that the error is generated client-side).
   1174    */
   1175   TALER_EC_EXCHANGE_REFRESHES_REVEAL_COMMITMENT_VIOLATION = 1353,
   1176 
   1177 
   1178   /**
   1179    * Failed to produce the blinded signatures over the coins to be returned.
   1180    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1181    * (A value of 0 indicates that the error is generated client-side).
   1182    */
   1183   TALER_EC_EXCHANGE_REFRESHES_REVEAL_SIGNING_ERROR = 1354,
   1184 
   1185 
   1186   /**
   1187    * The exchange is unaware of the refresh session specified in the request.
   1188    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   1189    * (A value of 0 indicates that the error is generated client-side).
   1190    */
   1191   TALER_EC_EXCHANGE_REFRESHES_REVEAL_SESSION_UNKNOWN = 1355,
   1192 
   1193 
   1194   /**
   1195    * The size of the cut-and-choose dimension of the private transfer keys request does not match #TALER_CNC_KAPPA - 1.
   1196    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1197    * (A value of 0 indicates that the error is generated client-side).
   1198    */
   1199   TALER_EC_EXCHANGE_REFRESHES_REVEAL_CNC_TRANSFER_ARRAY_SIZE_INVALID = 1356,
   1200 
   1201 
   1202   /**
   1203    * The number of envelopes given does not match the number of denomination keys given.
   1204    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1205    * (A value of 0 indicates that the error is generated client-side).
   1206    */
   1207   TALER_EC_EXCHANGE_REFRESHES_REVEAL_NEW_DENOMS_ARRAY_SIZE_MISMATCH = 1358,
   1208 
   1209 
   1210   /**
   1211    * The exchange encountered a numeric overflow totaling up the cost for the refresh operation.
   1212    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1213    * (A value of 0 indicates that the error is generated client-side).
   1214    */
   1215   TALER_EC_EXCHANGE_REFRESHES_REVEAL_COST_CALCULATION_OVERFLOW = 1359,
   1216 
   1217 
   1218   /**
   1219    * The exchange's cost calculation shows that the melt amount is below the costs of the transaction.
   1220    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1221    * (A value of 0 indicates that the error is generated client-side).
   1222    */
   1223   TALER_EC_EXCHANGE_REFRESHES_REVEAL_AMOUNT_INSUFFICIENT = 1360,
   1224 
   1225 
   1226   /**
   1227    * The signature made with the coin over the link data is invalid.
   1228    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1229    * (A value of 0 indicates that the error is generated client-side).
   1230    */
   1231   TALER_EC_EXCHANGE_REFRESHES_REVEAL_LINK_SIGNATURE_INVALID = 1361,
   1232 
   1233 
   1234   /**
   1235    * The refresh session hash given to a /refreshes/ handler was malformed.
   1236    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1237    * (A value of 0 indicates that the error is generated client-side).
   1238    */
   1239   TALER_EC_EXCHANGE_REFRESHES_REVEAL_INVALID_RCH = 1362,
   1240 
   1241 
   1242   /**
   1243    * Operation specified invalid for this endpoint.
   1244    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1245    * (A value of 0 indicates that the error is generated client-side).
   1246    */
   1247   TALER_EC_EXCHANGE_REFRESHES_REVEAL_OPERATION_INVALID = 1363,
   1248 
   1249 
   1250   /**
   1251    * The client provided age commitment data, but age restriction is not supported on this server.
   1252    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1253    * (A value of 0 indicates that the error is generated client-side).
   1254    */
   1255   TALER_EC_EXCHANGE_REFRESHES_REVEAL_AGE_RESTRICTION_NOT_SUPPORTED = 1364,
   1256 
   1257 
   1258   /**
   1259    * The client provided invalid age commitment data: missing, not an array, or  array of invalid size.
   1260    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1261    * (A value of 0 indicates that the error is generated client-side).
   1262    */
   1263   TALER_EC_EXCHANGE_REFRESHES_REVEAL_AGE_RESTRICTION_COMMITMENT_INVALID = 1365,
   1264 
   1265 
   1266   /**
   1267    * The coin specified in the link request is unknown to the exchange.
   1268    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   1269    * (A value of 0 indicates that the error is generated client-side).
   1270    */
   1271   TALER_EC_EXCHANGE_LINK_COIN_UNKNOWN = 1400,
   1272 
   1273 
   1274   /**
   1275    * The public key of given to a /transfers/ handler was malformed.
   1276    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1277    * (A value of 0 indicates that the error is generated client-side).
   1278    */
   1279   TALER_EC_EXCHANGE_TRANSFERS_GET_WTID_MALFORMED = 1450,
   1280 
   1281 
   1282   /**
   1283    * The exchange did not find information about the specified wire transfer identifier in the database.
   1284    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   1285    * (A value of 0 indicates that the error is generated client-side).
   1286    */
   1287   TALER_EC_EXCHANGE_TRANSFERS_GET_WTID_NOT_FOUND = 1451,
   1288 
   1289 
   1290   /**
   1291    * The exchange did not find information about the wire transfer fees it charged.
   1292    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1293    * (A value of 0 indicates that the error is generated client-side).
   1294    */
   1295   TALER_EC_EXCHANGE_TRANSFERS_GET_WIRE_FEE_NOT_FOUND = 1452,
   1296 
   1297 
   1298   /**
   1299    * The exchange found a wire fee that was above the total transfer value (and thus could not have been charged).
   1300    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1301    * (A value of 0 indicates that the error is generated client-side).
   1302    */
   1303   TALER_EC_EXCHANGE_TRANSFERS_GET_WIRE_FEE_INCONSISTENT = 1453,
   1304 
   1305 
   1306   /**
   1307    * The wait target of the URL was not in the set of expected values.
   1308    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1309    * (A value of 0 indicates that the error is generated client-side).
   1310    */
   1311   TALER_EC_EXCHANGE_PURSES_INVALID_WAIT_TARGET = 1475,
   1312 
   1313 
   1314   /**
   1315    * The signature on the purse status returned by the exchange was invalid.
   1316    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   1317    * (A value of 0 indicates that the error is generated client-side).
   1318    */
   1319   TALER_EC_EXCHANGE_PURSES_GET_INVALID_SIGNATURE_BY_EXCHANGE = 1476,
   1320 
   1321 
   1322   /**
   1323    * 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.
   1324    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   1325    * (A value of 0 indicates that the error is generated client-side).
   1326    */
   1327   TALER_EC_EXCHANGE_REFUND_COIN_NOT_FOUND = 1500,
   1328 
   1329 
   1330   /**
   1331    * We could not process the refund request as the coin's transaction history does not permit the requested refund because then refunds would exceed the deposit amount.  The "history" in the response proves this.
   1332    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1333    * (A value of 0 indicates that the error is generated client-side).
   1334    */
   1335   TALER_EC_EXCHANGE_REFUND_CONFLICT_DEPOSIT_INSUFFICIENT = 1501,
   1336 
   1337 
   1338   /**
   1339    * 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).
   1340    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   1341    * (A value of 0 indicates that the error is generated client-side).
   1342    */
   1343   TALER_EC_EXCHANGE_REFUND_DEPOSIT_NOT_FOUND = 1502,
   1344 
   1345 
   1346   /**
   1347    * 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.)
   1348    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   1349    * (A value of 0 indicates that the error is generated client-side).
   1350    */
   1351   TALER_EC_EXCHANGE_REFUND_MERCHANT_ALREADY_PAID = 1503,
   1352 
   1353 
   1354   /**
   1355    * 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.
   1356    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1357    * (A value of 0 indicates that the error is generated client-side).
   1358    */
   1359   TALER_EC_EXCHANGE_REFUND_FEE_TOO_LOW = 1504,
   1360 
   1361 
   1362   /**
   1363    * The refunded amount is smaller than the refund fee, which would result in a negative refund.
   1364    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1365    * (A value of 0 indicates that the error is generated client-side).
   1366    */
   1367   TALER_EC_EXCHANGE_REFUND_FEE_ABOVE_AMOUNT = 1505,
   1368 
   1369 
   1370   /**
   1371    * The signature of the merchant is invalid.
   1372    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1373    * (A value of 0 indicates that the error is generated client-side).
   1374    */
   1375   TALER_EC_EXCHANGE_REFUND_MERCHANT_SIGNATURE_INVALID = 1506,
   1376 
   1377 
   1378   /**
   1379    * Merchant backend failed to create the refund confirmation signature.
   1380    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1381    * (A value of 0 indicates that the error is generated client-side).
   1382    */
   1383   TALER_EC_EXCHANGE_REFUND_MERCHANT_SIGNING_FAILED = 1507,
   1384 
   1385 
   1386   /**
   1387    * The signature returned by the exchange in a refund request was malformed.
   1388    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   1389    * (A value of 0 indicates that the error is generated client-side).
   1390    */
   1391   TALER_EC_EXCHANGE_REFUND_INVALID_SIGNATURE_BY_EXCHANGE = 1508,
   1392 
   1393 
   1394   /**
   1395    * The failure proof returned by the exchange is incorrect.
   1396    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   1397    * (A value of 0 indicates that the error is generated client-side).
   1398    */
   1399   TALER_EC_EXCHANGE_REFUND_INVALID_FAILURE_PROOF_BY_EXCHANGE = 1509,
   1400 
   1401 
   1402   /**
   1403    * Conflicting refund granted before with different amount but same refund transaction ID.
   1404    * Returned with an HTTP status code of #MHD_HTTP_FAILED_DEPENDENCY (424).
   1405    * (A value of 0 indicates that the error is generated client-side).
   1406    */
   1407   TALER_EC_EXCHANGE_REFUND_INCONSISTENT_AMOUNT = 1510,
   1408 
   1409 
   1410   /**
   1411    * The given coin signature is invalid for the request.
   1412    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1413    * (A value of 0 indicates that the error is generated client-side).
   1414    */
   1415   TALER_EC_EXCHANGE_RECOUP_SIGNATURE_INVALID = 1550,
   1416 
   1417 
   1418   /**
   1419    * The exchange could not find the corresponding withdraw operation. The request is denied.
   1420    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   1421    * (A value of 0 indicates that the error is generated client-side).
   1422    */
   1423   TALER_EC_EXCHANGE_RECOUP_WITHDRAW_NOT_FOUND = 1551,
   1424 
   1425 
   1426   /**
   1427    * The coin's remaining balance is zero.  The request is denied.
   1428    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1429    * (A value of 0 indicates that the error is generated client-side).
   1430    */
   1431   TALER_EC_EXCHANGE_RECOUP_COIN_BALANCE_ZERO = 1552,
   1432 
   1433 
   1434   /**
   1435    * The exchange failed to reproduce the coin's blinding.
   1436    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1437    * (A value of 0 indicates that the error is generated client-side).
   1438    */
   1439   TALER_EC_EXCHANGE_RECOUP_BLINDING_FAILED = 1553,
   1440 
   1441 
   1442   /**
   1443    * The coin's remaining balance is zero.  The request is denied.
   1444    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1445    * (A value of 0 indicates that the error is generated client-side).
   1446    */
   1447   TALER_EC_EXCHANGE_RECOUP_COIN_BALANCE_NEGATIVE = 1554,
   1448 
   1449 
   1450   /**
   1451    * The coin's denomination has not been revoked yet.
   1452    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   1453    * (A value of 0 indicates that the error is generated client-side).
   1454    */
   1455   TALER_EC_EXCHANGE_RECOUP_NOT_ELIGIBLE = 1555,
   1456 
   1457 
   1458   /**
   1459    * The given coin signature is invalid for the request.
   1460    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1461    * (A value of 0 indicates that the error is generated client-side).
   1462    */
   1463   TALER_EC_EXCHANGE_RECOUP_REFRESH_SIGNATURE_INVALID = 1575,
   1464 
   1465 
   1466   /**
   1467    * The exchange could not find the corresponding melt operation. The request is denied.
   1468    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   1469    * (A value of 0 indicates that the error is generated client-side).
   1470    */
   1471   TALER_EC_EXCHANGE_RECOUP_REFRESH_MELT_NOT_FOUND = 1576,
   1472 
   1473 
   1474   /**
   1475    * The exchange failed to reproduce the coin's blinding.
   1476    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1477    * (A value of 0 indicates that the error is generated client-side).
   1478    */
   1479   TALER_EC_EXCHANGE_RECOUP_REFRESH_BLINDING_FAILED = 1578,
   1480 
   1481 
   1482   /**
   1483    * The coin's denomination has not been revoked yet.
   1484    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   1485    * (A value of 0 indicates that the error is generated client-side).
   1486    */
   1487   TALER_EC_EXCHANGE_RECOUP_REFRESH_NOT_ELIGIBLE = 1580,
   1488 
   1489 
   1490   /**
   1491    * This exchange does not allow clients to request /keys for times other than the current (exchange) time.
   1492    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1493    * (A value of 0 indicates that the error is generated client-side).
   1494    */
   1495   TALER_EC_EXCHANGE_KEYS_TIMETRAVEL_FORBIDDEN = 1600,
   1496 
   1497 
   1498   /**
   1499    * A signature in the server's response was malformed.
   1500    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   1501    * (A value of 0 indicates that the error is generated client-side).
   1502    */
   1503   TALER_EC_EXCHANGE_WIRE_SIGNATURE_INVALID = 1650,
   1504 
   1505 
   1506   /**
   1507    * No bank accounts are enabled for the exchange. The administrator should enable-account using the taler-exchange-offline tool.
   1508    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1509    * (A value of 0 indicates that the error is generated client-side).
   1510    */
   1511   TALER_EC_EXCHANGE_WIRE_NO_ACCOUNTS_CONFIGURED = 1651,
   1512 
   1513 
   1514   /**
   1515    * The payto:// URI stored in the exchange database for its bank account is malformed.
   1516    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1517    * (A value of 0 indicates that the error is generated client-side).
   1518    */
   1519   TALER_EC_EXCHANGE_WIRE_INVALID_PAYTO_CONFIGURED = 1652,
   1520 
   1521 
   1522   /**
   1523    * No wire fees are configured for an enabled wire method of the exchange. The administrator must set the wire-fee using the taler-exchange-offline tool.
   1524    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1525    * (A value of 0 indicates that the error is generated client-side).
   1526    */
   1527   TALER_EC_EXCHANGE_WIRE_FEES_NOT_CONFIGURED = 1653,
   1528 
   1529 
   1530   /**
   1531    * This purse was previously created with different meta data.
   1532    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1533    * (A value of 0 indicates that the error is generated client-side).
   1534    */
   1535   TALER_EC_EXCHANGE_RESERVES_PURSE_CREATE_CONFLICTING_META_DATA = 1675,
   1536 
   1537 
   1538   /**
   1539    * This purse was previously merged with different meta data.
   1540    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1541    * (A value of 0 indicates that the error is generated client-side).
   1542    */
   1543   TALER_EC_EXCHANGE_RESERVES_PURSE_MERGE_CONFLICTING_META_DATA = 1676,
   1544 
   1545 
   1546   /**
   1547    * The reserve has insufficient funds to create another purse.
   1548    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1549    * (A value of 0 indicates that the error is generated client-side).
   1550    */
   1551   TALER_EC_EXCHANGE_RESERVES_PURSE_CREATE_INSUFFICIENT_FUNDS = 1677,
   1552 
   1553 
   1554   /**
   1555    * The purse fee specified for the request is lower than the purse fee charged by the exchange at this time.
   1556    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1557    * (A value of 0 indicates that the error is generated client-side).
   1558    */
   1559   TALER_EC_EXCHANGE_RESERVES_PURSE_FEE_TOO_LOW = 1678,
   1560 
   1561 
   1562   /**
   1563    * The payment request cannot be deleted anymore, as it either already completed or timed out.
   1564    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1565    * (A value of 0 indicates that the error is generated client-side).
   1566    */
   1567   TALER_EC_EXCHANGE_PURSE_DELETE_ALREADY_DECIDED = 1679,
   1568 
   1569 
   1570   /**
   1571    * The signature affirming the purse deletion is invalid.
   1572    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1573    * (A value of 0 indicates that the error is generated client-side).
   1574    */
   1575   TALER_EC_EXCHANGE_PURSE_DELETE_SIGNATURE_INVALID = 1680,
   1576 
   1577 
   1578   /**
   1579    * Withdrawal from the reserve requires age restriction to be set.
   1580    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1581    * (A value of 0 indicates that the error is generated client-side).
   1582    */
   1583   TALER_EC_EXCHANGE_RESERVES_AGE_RESTRICTION_REQUIRED = 1681,
   1584 
   1585 
   1586   /**
   1587    * The exchange failed to talk to the process responsible for its private denomination keys or the helpers had no denominations (properly) configured.
   1588    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   1589    * (A value of 0 indicates that the error is generated client-side).
   1590    */
   1591   TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE = 1700,
   1592 
   1593 
   1594   /**
   1595    * The response from the denomination key helper process was malformed.
   1596    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1597    * (A value of 0 indicates that the error is generated client-side).
   1598    */
   1599   TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG = 1701,
   1600 
   1601 
   1602   /**
   1603    * The helper refuses to sign with the key, because it is too early: the validity period has not yet started.
   1604    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1605    * (A value of 0 indicates that the error is generated client-side).
   1606    */
   1607   TALER_EC_EXCHANGE_DENOMINATION_HELPER_TOO_EARLY = 1702,
   1608 
   1609 
   1610   /**
   1611    * The signature of the exchange on the reply was invalid.
   1612    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   1613    * (A value of 0 indicates that the error is generated client-side).
   1614    */
   1615   TALER_EC_EXCHANGE_PURSE_DEPOSIT_EXCHANGE_SIGNATURE_INVALID = 1725,
   1616 
   1617 
   1618   /**
   1619    * The exchange failed to talk to the process responsible for its private signing keys.
   1620    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   1621    * (A value of 0 indicates that the error is generated client-side).
   1622    */
   1623   TALER_EC_EXCHANGE_SIGNKEY_HELPER_UNAVAILABLE = 1750,
   1624 
   1625 
   1626   /**
   1627    * The response from the online signing key helper process was malformed.
   1628    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1629    * (A value of 0 indicates that the error is generated client-side).
   1630    */
   1631   TALER_EC_EXCHANGE_SIGNKEY_HELPER_BUG = 1751,
   1632 
   1633 
   1634   /**
   1635    * The helper refuses to sign with the key, because it is too early: the validity period has not yet started.
   1636    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1637    * (A value of 0 indicates that the error is generated client-side).
   1638    */
   1639   TALER_EC_EXCHANGE_SIGNKEY_HELPER_TOO_EARLY = 1752,
   1640 
   1641 
   1642   /**
   1643    * The signatures from the master exchange public key are missing, thus the exchange cannot currently sign its API responses. The exchange operator must use taler-exchange-offline to sign the current key material.
   1644    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   1645    * (A value of 0 indicates that the error is generated client-side).
   1646    */
   1647   TALER_EC_EXCHANGE_SIGNKEY_HELPER_OFFLINE_MISSING = 1753,
   1648 
   1649 
   1650   /**
   1651    * The purse expiration time is in the past at the time of its creation.
   1652    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1653    * (A value of 0 indicates that the error is generated client-side).
   1654    */
   1655   TALER_EC_EXCHANGE_RESERVES_PURSE_EXPIRATION_BEFORE_NOW = 1775,
   1656 
   1657 
   1658   /**
   1659    * The purse expiration time is set to never, which is not allowed.
   1660    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1661    * (A value of 0 indicates that the error is generated client-side).
   1662    */
   1663   TALER_EC_EXCHANGE_RESERVES_PURSE_EXPIRATION_IS_NEVER = 1776,
   1664 
   1665 
   1666   /**
   1667    * The signature affirming the merge of the purse is invalid.
   1668    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1669    * (A value of 0 indicates that the error is generated client-side).
   1670    */
   1671   TALER_EC_EXCHANGE_RESERVES_PURSE_MERGE_SIGNATURE_INVALID = 1777,
   1672 
   1673 
   1674   /**
   1675    * The signature by the reserve affirming the merge is invalid.
   1676    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1677    * (A value of 0 indicates that the error is generated client-side).
   1678    */
   1679   TALER_EC_EXCHANGE_RESERVES_RESERVE_MERGE_SIGNATURE_INVALID = 1778,
   1680 
   1681 
   1682   /**
   1683    * The signature by the reserve affirming the open operation is invalid.
   1684    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1685    * (A value of 0 indicates that the error is generated client-side).
   1686    */
   1687   TALER_EC_EXCHANGE_RESERVES_OPEN_BAD_SIGNATURE = 1785,
   1688 
   1689 
   1690   /**
   1691    * The signature by the reserve affirming the close operation is invalid.
   1692    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1693    * (A value of 0 indicates that the error is generated client-side).
   1694    */
   1695   TALER_EC_EXCHANGE_RESERVES_CLOSE_BAD_SIGNATURE = 1786,
   1696 
   1697 
   1698   /**
   1699    * The signature by the reserve affirming the attestion request is invalid.
   1700    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1701    * (A value of 0 indicates that the error is generated client-side).
   1702    */
   1703   TALER_EC_EXCHANGE_RESERVES_ATTEST_BAD_SIGNATURE = 1787,
   1704 
   1705 
   1706   /**
   1707    * The exchange does not know an origin account to which the remaining reserve balance could be wired to, and the wallet failed to provide one.
   1708    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1709    * (A value of 0 indicates that the error is generated client-side).
   1710    */
   1711   TALER_EC_EXCHANGE_RESERVES_CLOSE_NO_TARGET_ACCOUNT = 1788,
   1712 
   1713 
   1714   /**
   1715    * The reserve balance is insufficient to pay for the open operation.
   1716    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1717    * (A value of 0 indicates that the error is generated client-side).
   1718    */
   1719   TALER_EC_EXCHANGE_RESERVES_OPEN_INSUFFICIENT_FUNDS = 1789,
   1720 
   1721 
   1722   /**
   1723    * A coin signature for a deposit to pay to open the reserve is invalid.
   1724    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1725    * (A value of 0 indicates that the error is generated client-side).
   1726    */
   1727   TALER_EC_EXCHANGE_RESERVES_OPEN_COIN_SIGNATURE_INVALID = 1790,
   1728 
   1729 
   1730   /**
   1731    * The auditor that was supposed to be disabled is unknown to this exchange.
   1732    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   1733    * (A value of 0 indicates that the error is generated client-side).
   1734    */
   1735   TALER_EC_EXCHANGE_MANAGEMENT_AUDITOR_NOT_FOUND = 1800,
   1736 
   1737 
   1738   /**
   1739    * The exchange has a more recently signed conflicting instruction and is thus refusing the current change (replay detected).
   1740    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1741    * (A value of 0 indicates that the error is generated client-side).
   1742    */
   1743   TALER_EC_EXCHANGE_MANAGEMENT_AUDITOR_MORE_RECENT_PRESENT = 1801,
   1744 
   1745 
   1746   /**
   1747    * The signature to add or enable the auditor does not validate.
   1748    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1749    * (A value of 0 indicates that the error is generated client-side).
   1750    */
   1751   TALER_EC_EXCHANGE_MANAGEMENT_AUDITOR_ADD_SIGNATURE_INVALID = 1802,
   1752 
   1753 
   1754   /**
   1755    * The signature to disable the auditor does not validate.
   1756    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1757    * (A value of 0 indicates that the error is generated client-side).
   1758    */
   1759   TALER_EC_EXCHANGE_MANAGEMENT_AUDITOR_DEL_SIGNATURE_INVALID = 1803,
   1760 
   1761 
   1762   /**
   1763    * The signature to revoke the denomination does not validate.
   1764    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1765    * (A value of 0 indicates that the error is generated client-side).
   1766    */
   1767   TALER_EC_EXCHANGE_MANAGEMENT_DENOMINATION_REVOKE_SIGNATURE_INVALID = 1804,
   1768 
   1769 
   1770   /**
   1771    * The signature to revoke the online signing key does not validate.
   1772    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1773    * (A value of 0 indicates that the error is generated client-side).
   1774    */
   1775   TALER_EC_EXCHANGE_MANAGEMENT_SIGNKEY_REVOKE_SIGNATURE_INVALID = 1805,
   1776 
   1777 
   1778   /**
   1779    * The exchange has a more recently signed conflicting instruction and is thus refusing the current change (replay detected).
   1780    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1781    * (A value of 0 indicates that the error is generated client-side).
   1782    */
   1783   TALER_EC_EXCHANGE_MANAGEMENT_WIRE_MORE_RECENT_PRESENT = 1806,
   1784 
   1785 
   1786   /**
   1787    * The signingkey specified is unknown to the exchange.
   1788    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   1789    * (A value of 0 indicates that the error is generated client-side).
   1790    */
   1791   TALER_EC_EXCHANGE_MANAGEMENT_KEYS_SIGNKEY_UNKNOWN = 1807,
   1792 
   1793 
   1794   /**
   1795    * The signature to publish wire account does not validate.
   1796    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1797    * (A value of 0 indicates that the error is generated client-side).
   1798    */
   1799   TALER_EC_EXCHANGE_MANAGEMENT_WIRE_DETAILS_SIGNATURE_INVALID = 1808,
   1800 
   1801 
   1802   /**
   1803    * The signature to add the wire account does not validate.
   1804    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1805    * (A value of 0 indicates that the error is generated client-side).
   1806    */
   1807   TALER_EC_EXCHANGE_MANAGEMENT_WIRE_ADD_SIGNATURE_INVALID = 1809,
   1808 
   1809 
   1810   /**
   1811    * The signature to disable the wire account does not validate.
   1812    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1813    * (A value of 0 indicates that the error is generated client-side).
   1814    */
   1815   TALER_EC_EXCHANGE_MANAGEMENT_WIRE_DEL_SIGNATURE_INVALID = 1810,
   1816 
   1817 
   1818   /**
   1819    * The wire account to be disabled is unknown to the exchange.
   1820    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   1821    * (A value of 0 indicates that the error is generated client-side).
   1822    */
   1823   TALER_EC_EXCHANGE_MANAGEMENT_WIRE_NOT_FOUND = 1811,
   1824 
   1825 
   1826   /**
   1827    * The signature to affirm wire fees does not validate.
   1828    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1829    * (A value of 0 indicates that the error is generated client-side).
   1830    */
   1831   TALER_EC_EXCHANGE_MANAGEMENT_WIRE_FEE_SIGNATURE_INVALID = 1812,
   1832 
   1833 
   1834   /**
   1835    * The signature conflicts with a previous signature affirming different fees.
   1836    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1837    * (A value of 0 indicates that the error is generated client-side).
   1838    */
   1839   TALER_EC_EXCHANGE_MANAGEMENT_WIRE_FEE_MISMATCH = 1813,
   1840 
   1841 
   1842   /**
   1843    * The signature affirming the denomination key is invalid.
   1844    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1845    * (A value of 0 indicates that the error is generated client-side).
   1846    */
   1847   TALER_EC_EXCHANGE_MANAGEMENT_KEYS_DENOMKEY_ADD_SIGNATURE_INVALID = 1814,
   1848 
   1849 
   1850   /**
   1851    * The signature affirming the signing key is invalid.
   1852    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1853    * (A value of 0 indicates that the error is generated client-side).
   1854    */
   1855   TALER_EC_EXCHANGE_MANAGEMENT_KEYS_SIGNKEY_ADD_SIGNATURE_INVALID = 1815,
   1856 
   1857 
   1858   /**
   1859    * The signature conflicts with a previous signature affirming different fees.
   1860    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1861    * (A value of 0 indicates that the error is generated client-side).
   1862    */
   1863   TALER_EC_EXCHANGE_MANAGEMENT_GLOBAL_FEE_MISMATCH = 1816,
   1864 
   1865 
   1866   /**
   1867    * The signature affirming the fee structure is invalid.
   1868    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1869    * (A value of 0 indicates that the error is generated client-side).
   1870    */
   1871   TALER_EC_EXCHANGE_MANAGEMENT_GLOBAL_FEE_SIGNATURE_INVALID = 1817,
   1872 
   1873 
   1874   /**
   1875    * The signature affirming the profit drain is invalid.
   1876    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1877    * (A value of 0 indicates that the error is generated client-side).
   1878    */
   1879   TALER_EC_EXCHANGE_MANAGEMENT_DRAIN_PROFITS_SIGNATURE_INVALID = 1818,
   1880 
   1881 
   1882   /**
   1883    * The signature affirming the AML decision is invalid.
   1884    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1885    * (A value of 0 indicates that the error is generated client-side).
   1886    */
   1887   TALER_EC_EXCHANGE_AML_DECISION_ADD_SIGNATURE_INVALID = 1825,
   1888 
   1889 
   1890   /**
   1891    * The AML officer specified is not allowed to make AML decisions right now.
   1892    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1893    * (A value of 0 indicates that the error is generated client-side).
   1894    */
   1895   TALER_EC_EXCHANGE_AML_DECISION_INVALID_OFFICER = 1826,
   1896 
   1897 
   1898   /**
   1899    * There is a more recent AML decision on file. The decision was rejected as timestamps of AML decisions must be monotonically increasing.
   1900    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1901    * (A value of 0 indicates that the error is generated client-side).
   1902    */
   1903   TALER_EC_EXCHANGE_AML_DECISION_MORE_RECENT_PRESENT = 1827,
   1904 
   1905 
   1906   /**
   1907    * There AML decision would impose an AML check of a type that is not provided by any KYC provider known to the exchange.
   1908    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1909    * (A value of 0 indicates that the error is generated client-side).
   1910    */
   1911   TALER_EC_EXCHANGE_AML_DECISION_UNKNOWN_CHECK = 1828,
   1912 
   1913 
   1914   /**
   1915    * The signature affirming the change in the AML officer status is invalid.
   1916    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1917    * (A value of 0 indicates that the error is generated client-side).
   1918    */
   1919   TALER_EC_EXCHANGE_MANAGEMENT_UPDATE_AML_OFFICER_SIGNATURE_INVALID = 1830,
   1920 
   1921 
   1922   /**
   1923    * A more recent decision about the AML officer status is known to the exchange.
   1924    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1925    * (A value of 0 indicates that the error is generated client-side).
   1926    */
   1927   TALER_EC_EXCHANGE_MANAGEMENT_AML_OFFICERS_MORE_RECENT_PRESENT = 1831,
   1928 
   1929 
   1930   /**
   1931    * The exchange already has this denomination key configured, but with different meta data. This should not be possible, contact the developers for support.
   1932    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1933    * (A value of 0 indicates that the error is generated client-side).
   1934    */
   1935   TALER_EC_EXCHANGE_MANAGEMENT_CONFLICTING_DENOMINATION_META_DATA = 1832,
   1936 
   1937 
   1938   /**
   1939    * The exchange already has this signing key configured, but with different meta data. This should not be possible, contact the developers for support.
   1940    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1941    * (A value of 0 indicates that the error is generated client-side).
   1942    */
   1943   TALER_EC_EXCHANGE_MANAGEMENT_CONFLICTING_SIGNKEY_META_DATA = 1833,
   1944 
   1945 
   1946   /**
   1947    * The purse was previously created with different meta data.
   1948    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1949    * (A value of 0 indicates that the error is generated client-side).
   1950    */
   1951   TALER_EC_EXCHANGE_PURSE_CREATE_CONFLICTING_META_DATA = 1850,
   1952 
   1953 
   1954   /**
   1955    * The purse was previously created with a different contract.
   1956    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   1957    * (A value of 0 indicates that the error is generated client-side).
   1958    */
   1959   TALER_EC_EXCHANGE_PURSE_CREATE_CONFLICTING_CONTRACT_STORED = 1851,
   1960 
   1961 
   1962   /**
   1963    * A coin signature for a deposit into the purse is invalid.
   1964    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1965    * (A value of 0 indicates that the error is generated client-side).
   1966    */
   1967   TALER_EC_EXCHANGE_PURSE_CREATE_COIN_SIGNATURE_INVALID = 1852,
   1968 
   1969 
   1970   /**
   1971    * The purse expiration time is in the past.
   1972    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1973    * (A value of 0 indicates that the error is generated client-side).
   1974    */
   1975   TALER_EC_EXCHANGE_PURSE_CREATE_EXPIRATION_BEFORE_NOW = 1853,
   1976 
   1977 
   1978   /**
   1979    * The purse expiration time is "never".
   1980    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   1981    * (A value of 0 indicates that the error is generated client-side).
   1982    */
   1983   TALER_EC_EXCHANGE_PURSE_CREATE_EXPIRATION_IS_NEVER = 1854,
   1984 
   1985 
   1986   /**
   1987    * The purse signature over the purse meta data is invalid.
   1988    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1989    * (A value of 0 indicates that the error is generated client-side).
   1990    */
   1991   TALER_EC_EXCHANGE_PURSE_CREATE_SIGNATURE_INVALID = 1855,
   1992 
   1993 
   1994   /**
   1995    * The signature over the encrypted contract is invalid.
   1996    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   1997    * (A value of 0 indicates that the error is generated client-side).
   1998    */
   1999   TALER_EC_EXCHANGE_PURSE_ECONTRACT_SIGNATURE_INVALID = 1856,
   2000 
   2001 
   2002   /**
   2003    * The signature from the exchange over the confirmation is invalid.
   2004    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   2005    * (A value of 0 indicates that the error is generated client-side).
   2006    */
   2007   TALER_EC_EXCHANGE_PURSE_CREATE_EXCHANGE_SIGNATURE_INVALID = 1857,
   2008 
   2009 
   2010   /**
   2011    * The coin was previously deposited with different meta data.
   2012    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   2013    * (A value of 0 indicates that the error is generated client-side).
   2014    */
   2015   TALER_EC_EXCHANGE_PURSE_DEPOSIT_CONFLICTING_META_DATA = 1858,
   2016 
   2017 
   2018   /**
   2019    * The encrypted contract was previously uploaded with different meta data.
   2020    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   2021    * (A value of 0 indicates that the error is generated client-side).
   2022    */
   2023   TALER_EC_EXCHANGE_PURSE_ECONTRACT_CONFLICTING_META_DATA = 1859,
   2024 
   2025 
   2026   /**
   2027    * The deposited amount is less than the purse fee.
   2028    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   2029    * (A value of 0 indicates that the error is generated client-side).
   2030    */
   2031   TALER_EC_EXCHANGE_CREATE_PURSE_NEGATIVE_VALUE_AFTER_FEE = 1860,
   2032 
   2033 
   2034   /**
   2035    * The signature using the merge key is invalid.
   2036    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2037    * (A value of 0 indicates that the error is generated client-side).
   2038    */
   2039   TALER_EC_EXCHANGE_PURSE_MERGE_INVALID_MERGE_SIGNATURE = 1876,
   2040 
   2041 
   2042   /**
   2043    * The signature using the reserve key is invalid.
   2044    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2045    * (A value of 0 indicates that the error is generated client-side).
   2046    */
   2047   TALER_EC_EXCHANGE_PURSE_MERGE_INVALID_RESERVE_SIGNATURE = 1877,
   2048 
   2049 
   2050   /**
   2051    * The targeted purse is not yet full and thus cannot be merged. Retrying the request later may succeed.
   2052    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   2053    * (A value of 0 indicates that the error is generated client-side).
   2054    */
   2055   TALER_EC_EXCHANGE_PURSE_NOT_FULL = 1878,
   2056 
   2057 
   2058   /**
   2059    * The signature from the exchange over the confirmation is invalid.
   2060    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   2061    * (A value of 0 indicates that the error is generated client-side).
   2062    */
   2063   TALER_EC_EXCHANGE_PURSE_MERGE_EXCHANGE_SIGNATURE_INVALID = 1879,
   2064 
   2065 
   2066   /**
   2067    * The exchange of the target account is not a partner of this exchange.
   2068    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2069    * (A value of 0 indicates that the error is generated client-side).
   2070    */
   2071   TALER_EC_EXCHANGE_MERGE_PURSE_PARTNER_UNKNOWN = 1880,
   2072 
   2073 
   2074   /**
   2075    * The signature affirming the new partner is invalid.
   2076    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2077    * (A value of 0 indicates that the error is generated client-side).
   2078    */
   2079   TALER_EC_EXCHANGE_MANAGEMENT_ADD_PARTNER_SIGNATURE_INVALID = 1890,
   2080 
   2081 
   2082   /**
   2083    * Conflicting data for the partner already exists with the exchange.
   2084    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   2085    * (A value of 0 indicates that the error is generated client-side).
   2086    */
   2087   TALER_EC_EXCHANGE_MANAGEMENT_ADD_PARTNER_DATA_CONFLICT = 1891,
   2088 
   2089 
   2090   /**
   2091    * The auditor signature over the denomination meta data is invalid.
   2092    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2093    * (A value of 0 indicates that the error is generated client-side).
   2094    */
   2095   TALER_EC_EXCHANGE_AUDITORS_AUDITOR_SIGNATURE_INVALID = 1900,
   2096 
   2097 
   2098   /**
   2099    * The auditor that was specified is unknown to this exchange.
   2100    * Returned with an HTTP status code of #MHD_HTTP_PRECONDITION_FAILED (412).
   2101    * (A value of 0 indicates that the error is generated client-side).
   2102    */
   2103   TALER_EC_EXCHANGE_AUDITORS_AUDITOR_UNKNOWN = 1901,
   2104 
   2105 
   2106   /**
   2107    * The auditor that was specified is no longer used by this exchange.
   2108    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   2109    * (A value of 0 indicates that the error is generated client-side).
   2110    */
   2111   TALER_EC_EXCHANGE_AUDITORS_AUDITOR_INACTIVE = 1902,
   2112 
   2113 
   2114   /**
   2115    * The client submitted the wrong form for the request. This is some invalid use of the API. Please contact technical support.
   2116    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   2117    * (A value of 0 indicates that the error is generated client-side).
   2118    */
   2119   TALER_EC_EXCHANGE_KYC_INVALID_FORM_SUBMITTED = 1917,
   2120 
   2121 
   2122   /**
   2123    * The exchange tried to run an AML program, but that program did not terminate on time. Contact the exchange operator to address the AML program bug or performance issue. If it is not a performance issue, the timeout might have to be increased (requires changes to the source code).
   2124    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2125    * (A value of 0 indicates that the error is generated client-side).
   2126    */
   2127   TALER_EC_EXCHANGE_KYC_GENERIC_AML_PROGRAM_TIMEOUT = 1918,
   2128 
   2129 
   2130   /**
   2131    * The KYC info access token is not recognized. Hence the request was denied.
   2132    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2133    * (A value of 0 indicates that the error is generated client-side).
   2134    */
   2135   TALER_EC_EXCHANGE_KYC_INFO_AUTHORIZATION_FAILED = 1919,
   2136 
   2137 
   2138   /**
   2139    * The exchange got stuck in a long series of (likely recursive) KYC rules without user-inputs that did not result in a timely conclusion. This is a configuration failure. Please contact the administrator.
   2140    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2141    * (A value of 0 indicates that the error is generated client-side).
   2142    */
   2143   TALER_EC_EXCHANGE_KYC_RECURSIVE_RULE_DETECTED = 1920,
   2144 
   2145 
   2146   /**
   2147    * The submitted KYC data lacks an attribute that is required by the KYC form. Please submit the complete form.
   2148    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   2149    * (A value of 0 indicates that the error is generated client-side).
   2150    */
   2151   TALER_EC_EXCHANGE_KYC_AML_FORM_INCOMPLETE = 1921,
   2152 
   2153 
   2154   /**
   2155    * The request requires an AML program which is no longer configured at the exchange. Contact the exchange operator to address the configuration issue.
   2156    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2157    * (A value of 0 indicates that the error is generated client-side).
   2158    */
   2159   TALER_EC_EXCHANGE_KYC_GENERIC_AML_PROGRAM_GONE = 1922,
   2160 
   2161 
   2162   /**
   2163    * The given check is not of type 'form' and thus using this handler for form submission is incorrect.
   2164    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   2165    * (A value of 0 indicates that the error is generated client-side).
   2166    */
   2167   TALER_EC_EXCHANGE_KYC_NOT_A_FORM = 1923,
   2168 
   2169 
   2170   /**
   2171    * The request requires a check which is no longer configured at the exchange. Contact the exchange operator to address the configuration issue.
   2172    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2173    * (A value of 0 indicates that the error is generated client-side).
   2174    */
   2175   TALER_EC_EXCHANGE_KYC_GENERIC_CHECK_GONE = 1924,
   2176 
   2177 
   2178   /**
   2179    * The signature affirming the wallet's KYC request was invalid.
   2180    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2181    * (A value of 0 indicates that the error is generated client-side).
   2182    */
   2183   TALER_EC_EXCHANGE_KYC_WALLET_SIGNATURE_INVALID = 1925,
   2184 
   2185 
   2186   /**
   2187    * The exchange received an unexpected malformed response from its KYC backend.
   2188    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   2189    * (A value of 0 indicates that the error is generated client-side).
   2190    */
   2191   TALER_EC_EXCHANGE_KYC_PROOF_BACKEND_INVALID_RESPONSE = 1926,
   2192 
   2193 
   2194   /**
   2195    * The backend signaled an unexpected failure.
   2196    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   2197    * (A value of 0 indicates that the error is generated client-side).
   2198    */
   2199   TALER_EC_EXCHANGE_KYC_PROOF_BACKEND_ERROR = 1927,
   2200 
   2201 
   2202   /**
   2203    * The backend signaled an authorization failure.
   2204    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2205    * (A value of 0 indicates that the error is generated client-side).
   2206    */
   2207   TALER_EC_EXCHANGE_KYC_PROOF_BACKEND_AUTHORIZATION_FAILED = 1928,
   2208 
   2209 
   2210   /**
   2211    * The exchange is unaware of having made an the authorization request.
   2212    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2213    * (A value of 0 indicates that the error is generated client-side).
   2214    */
   2215   TALER_EC_EXCHANGE_KYC_PROOF_REQUEST_UNKNOWN = 1929,
   2216 
   2217 
   2218   /**
   2219    * The KYC authorization signature was invalid. Hence the request was denied.
   2220    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2221    * (A value of 0 indicates that the error is generated client-side).
   2222    */
   2223   TALER_EC_EXCHANGE_KYC_CHECK_AUTHORIZATION_FAILED = 1930,
   2224 
   2225 
   2226   /**
   2227    * The request used a logic specifier that is not known to the exchange.
   2228    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2229    * (A value of 0 indicates that the error is generated client-side).
   2230    */
   2231   TALER_EC_EXCHANGE_KYC_GENERIC_LOGIC_UNKNOWN = 1931,
   2232 
   2233 
   2234   /**
   2235    * The request requires a logic which is no longer configured at the exchange.
   2236    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2237    * (A value of 0 indicates that the error is generated client-side).
   2238    */
   2239   TALER_EC_EXCHANGE_KYC_GENERIC_LOGIC_GONE = 1932,
   2240 
   2241 
   2242   /**
   2243    * The logic plugin had a bug in its interaction with the KYC provider.
   2244    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2245    * (A value of 0 indicates that the error is generated client-side).
   2246    */
   2247   TALER_EC_EXCHANGE_KYC_GENERIC_LOGIC_BUG = 1933,
   2248 
   2249 
   2250   /**
   2251    * The exchange could not process the request with its KYC provider because the provider refused access to the service. This indicates some configuration issue at the Taler exchange operator.
   2252    * Returned with an HTTP status code of #MHD_HTTP_NETWORK_AUTHENTICATION_REQUIRED (511).
   2253    * (A value of 0 indicates that the error is generated client-side).
   2254    */
   2255   TALER_EC_EXCHANGE_KYC_GENERIC_PROVIDER_ACCESS_REFUSED = 1934,
   2256 
   2257 
   2258   /**
   2259    * There was a timeout in the interaction between the exchange and the KYC provider. The most likely cause is some networking problem. Trying again later might succeed.
   2260    * Returned with an HTTP status code of #MHD_HTTP_GATEWAY_TIMEOUT (504).
   2261    * (A value of 0 indicates that the error is generated client-side).
   2262    */
   2263   TALER_EC_EXCHANGE_KYC_GENERIC_PROVIDER_TIMEOUT = 1935,
   2264 
   2265 
   2266   /**
   2267    * The KYC provider responded with a status that was completely unexpected by the KYC logic of the exchange.
   2268    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   2269    * (A value of 0 indicates that the error is generated client-side).
   2270    */
   2271   TALER_EC_EXCHANGE_KYC_GENERIC_PROVIDER_UNEXPECTED_REPLY = 1936,
   2272 
   2273 
   2274   /**
   2275    * The rate limit of the exchange at the KYC provider has been exceeded. Trying much later might work.
   2276    * Returned with an HTTP status code of #MHD_HTTP_SERVICE_UNAVAILABLE (503).
   2277    * (A value of 0 indicates that the error is generated client-side).
   2278    */
   2279   TALER_EC_EXCHANGE_KYC_GENERIC_PROVIDER_RATE_LIMIT_EXCEEDED = 1937,
   2280 
   2281 
   2282   /**
   2283    * The request to the webhook lacked proper authorization or authentication data.
   2284    * Returned with an HTTP status code of #MHD_HTTP_UNAUTHORIZED (401).
   2285    * (A value of 0 indicates that the error is generated client-side).
   2286    */
   2287   TALER_EC_EXCHANGE_KYC_WEBHOOK_UNAUTHORIZED = 1938,
   2288 
   2289 
   2290   /**
   2291    * The exchange is unaware of the requested payto URI with respect to the KYC status.
   2292    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2293    * (A value of 0 indicates that the error is generated client-side).
   2294    */
   2295   TALER_EC_EXCHANGE_KYC_CHECK_REQUEST_UNKNOWN = 1939,
   2296 
   2297 
   2298   /**
   2299    * The exchange has no account public key to check the KYC authorization signature against. Hence the request was denied. The user should do a wire transfer to the exchange with the KYC authorization key in the subject.
   2300    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   2301    * (A value of 0 indicates that the error is generated client-side).
   2302    */
   2303   TALER_EC_EXCHANGE_KYC_CHECK_AUTHORIZATION_KEY_UNKNOWN = 1940,
   2304 
   2305 
   2306   /**
   2307    * The form has been previously uploaded, and may only be filed once. The user should be redirected to their main KYC page and see if any other steps need to be taken.
   2308    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   2309    * (A value of 0 indicates that the error is generated client-side).
   2310    */
   2311   TALER_EC_EXCHANGE_KYC_FORM_ALREADY_UPLOADED = 1941,
   2312 
   2313 
   2314   /**
   2315    * The internal state of the exchange specifying KYC measures is malformed. Please contact technical support.
   2316    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2317    * (A value of 0 indicates that the error is generated client-side).
   2318    */
   2319   TALER_EC_EXCHANGE_KYC_MEASURES_MALFORMED = 1942,
   2320 
   2321 
   2322   /**
   2323    * The specified index does not refer to a valid KYC measure. Please check the URL.
   2324    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2325    * (A value of 0 indicates that the error is generated client-side).
   2326    */
   2327   TALER_EC_EXCHANGE_KYC_MEASURE_INDEX_INVALID = 1943,
   2328 
   2329 
   2330   /**
   2331    * The operation is not supported by the selected KYC logic. This is either caused by a configuration change or some invalid use of the API. Please contact technical support.
   2332    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   2333    * (A value of 0 indicates that the error is generated client-side).
   2334    */
   2335   TALER_EC_EXCHANGE_KYC_INVALID_LOGIC_TO_CHECK = 1944,
   2336 
   2337 
   2338   /**
   2339    * The AML program failed. This is either caused by a configuration change or a bug. Please contact technical support.
   2340    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2341    * (A value of 0 indicates that the error is generated client-side).
   2342    */
   2343   TALER_EC_EXCHANGE_KYC_AML_PROGRAM_FAILURE = 1945,
   2344 
   2345 
   2346   /**
   2347    * The AML program returned a malformed result. This is a bug. Please contact technical support.
   2348    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2349    * (A value of 0 indicates that the error is generated client-side).
   2350    */
   2351   TALER_EC_EXCHANGE_KYC_AML_PROGRAM_MALFORMED_RESULT = 1946,
   2352 
   2353 
   2354   /**
   2355    * The response from the KYC provider lacked required attributes. Please contact technical support.
   2356    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   2357    * (A value of 0 indicates that the error is generated client-side).
   2358    */
   2359   TALER_EC_EXCHANGE_KYC_GENERIC_PROVIDER_INCOMPLETE_REPLY = 1947,
   2360 
   2361 
   2362   /**
   2363    * The context of the KYC check lacked required fields. This is a bug. Please contact technical support.
   2364    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2365    * (A value of 0 indicates that the error is generated client-side).
   2366    */
   2367   TALER_EC_EXCHANGE_KYC_GENERIC_PROVIDER_INCOMPLETE_CONTEXT = 1948,
   2368 
   2369 
   2370   /**
   2371    * The logic plugin had a bug in its AML processing. This is a bug. Please contact technical support.
   2372    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2373    * (A value of 0 indicates that the error is generated client-side).
   2374    */
   2375   TALER_EC_EXCHANGE_KYC_GENERIC_AML_LOGIC_BUG = 1949,
   2376 
   2377 
   2378   /**
   2379    * The exchange does not know a contract under the given contract public key.
   2380    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2381    * (A value of 0 indicates that the error is generated client-side).
   2382    */
   2383   TALER_EC_EXCHANGE_CONTRACTS_UNKNOWN = 1950,
   2384 
   2385 
   2386   /**
   2387    * The URL does not encode a valid exchange public key in its path.
   2388    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   2389    * (A value of 0 indicates that the error is generated client-side).
   2390    */
   2391   TALER_EC_EXCHANGE_CONTRACTS_INVALID_CONTRACT_PUB = 1951,
   2392 
   2393 
   2394   /**
   2395    * The returned encrypted contract did not decrypt.
   2396    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   2397    * (A value of 0 indicates that the error is generated client-side).
   2398    */
   2399   TALER_EC_EXCHANGE_CONTRACTS_DECRYPTION_FAILED = 1952,
   2400 
   2401 
   2402   /**
   2403    * The signature on the encrypted contract did not validate.
   2404    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   2405    * (A value of 0 indicates that the error is generated client-side).
   2406    */
   2407   TALER_EC_EXCHANGE_CONTRACTS_SIGNATURE_INVALID = 1953,
   2408 
   2409 
   2410   /**
   2411    * The decrypted contract was malformed.
   2412    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   2413    * (A value of 0 indicates that the error is generated client-side).
   2414    */
   2415   TALER_EC_EXCHANGE_CONTRACTS_DECODING_FAILED = 1954,
   2416 
   2417 
   2418   /**
   2419    * A coin signature for a deposit into the purse is invalid.
   2420    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2421    * (A value of 0 indicates that the error is generated client-side).
   2422    */
   2423   TALER_EC_EXCHANGE_PURSE_DEPOSIT_COIN_SIGNATURE_INVALID = 1975,
   2424 
   2425 
   2426   /**
   2427    * It is too late to deposit coins into the purse.
   2428    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   2429    * (A value of 0 indicates that the error is generated client-side).
   2430    */
   2431   TALER_EC_EXCHANGE_PURSE_DEPOSIT_DECIDED_ALREADY = 1976,
   2432 
   2433 
   2434   /**
   2435    * The exchange is currently processing the KYC status and is not able to return a response yet.
   2436    * Returned with an HTTP status code of #MHD_HTTP_ACCEPTED (202).
   2437    * (A value of 0 indicates that the error is generated client-side).
   2438    */
   2439   TALER_EC_EXCHANGE_KYC_INFO_BUSY = 1977,
   2440 
   2441 
   2442   /**
   2443    * TOTP key is not valid.
   2444    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   2445    * (A value of 0 indicates that the error is generated client-side).
   2446    */
   2447   TALER_EC_EXCHANGE_TOTP_KEY_INVALID = 1980,
   2448 
   2449 
   2450   /**
   2451    * The backend could not find the merchant instance specified in the request.
   2452    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2453    * (A value of 0 indicates that the error is generated client-side).
   2454    */
   2455   TALER_EC_MERCHANT_GENERIC_INSTANCE_UNKNOWN = 2000,
   2456 
   2457 
   2458   /**
   2459    * The start and end-times in the wire fee structure leave a hole. This is not allowed.
   2460    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   2461    * (A value of 0 indicates that the error is generated client-side).
   2462    */
   2463   TALER_EC_MERCHANT_GENERIC_HOLE_IN_WIRE_FEE_STRUCTURE = 2001,
   2464 
   2465 
   2466   /**
   2467    * The master key of the exchange does not match the one configured for this merchant. As a result, we refuse to do business with this exchange. The administrator should check if they configured the exchange correctly in the merchant backend.
   2468    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   2469    * (A value of 0 indicates that the error is generated client-side).
   2470    */
   2471   TALER_EC_MERCHANT_GENERIC_EXCHANGE_MASTER_KEY_MISMATCH = 2002,
   2472 
   2473 
   2474   /**
   2475    * The product category is not known to the backend.
   2476    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2477    * (A value of 0 indicates that the error is generated client-side).
   2478    */
   2479   TALER_EC_MERCHANT_GENERIC_CATEGORY_UNKNOWN = 2003,
   2480 
   2481 
   2482   /**
   2483    * The unit referenced in the request is not known to the backend.
   2484    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2485    * (A value of 0 indicates that the error is generated client-side).
   2486    */
   2487   TALER_EC_MERCHANT_GENERIC_UNIT_UNKNOWN = 2004,
   2488 
   2489 
   2490   /**
   2491    * The proposal is not known to the backend.
   2492    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2493    * (A value of 0 indicates that the error is generated client-side).
   2494    */
   2495   TALER_EC_MERCHANT_GENERIC_ORDER_UNKNOWN = 2005,
   2496 
   2497 
   2498   /**
   2499    * 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.
   2500    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2501    * (A value of 0 indicates that the error is generated client-side).
   2502    */
   2503   TALER_EC_MERCHANT_GENERIC_PRODUCT_UNKNOWN = 2006,
   2504 
   2505 
   2506   /**
   2507    * The reward ID is unknown.  This could happen if the reward has expired.
   2508    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2509    * (A value of 0 indicates that the error is generated client-side).
   2510    */
   2511   TALER_EC_MERCHANT_GENERIC_REWARD_ID_UNKNOWN = 2007,
   2512 
   2513 
   2514   /**
   2515    * The contract obtained from the merchant backend was malformed.
   2516    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2517    * (A value of 0 indicates that the error is generated client-side).
   2518    */
   2519   TALER_EC_MERCHANT_GENERIC_DB_CONTRACT_CONTENT_INVALID = 2008,
   2520 
   2521 
   2522   /**
   2523    * The order we found does not match the provided contract hash.
   2524    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2525    * (A value of 0 indicates that the error is generated client-side).
   2526    */
   2527   TALER_EC_MERCHANT_GENERIC_CONTRACT_HASH_DOES_NOT_MATCH_ORDER = 2009,
   2528 
   2529 
   2530   /**
   2531    * The exchange failed to provide a valid response to the merchant's /keys request.
   2532    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   2533    * (A value of 0 indicates that the error is generated client-side).
   2534    */
   2535   TALER_EC_MERCHANT_GENERIC_EXCHANGE_KEYS_FAILURE = 2010,
   2536 
   2537 
   2538   /**
   2539    * The exchange failed to respond to the merchant on time.
   2540    * Returned with an HTTP status code of #MHD_HTTP_GATEWAY_TIMEOUT (504).
   2541    * (A value of 0 indicates that the error is generated client-side).
   2542    */
   2543   TALER_EC_MERCHANT_GENERIC_EXCHANGE_TIMEOUT = 2011,
   2544 
   2545 
   2546   /**
   2547    * The merchant failed to talk to the exchange.
   2548    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2549    * (A value of 0 indicates that the error is generated client-side).
   2550    */
   2551   TALER_EC_MERCHANT_GENERIC_EXCHANGE_CONNECT_FAILURE = 2012,
   2552 
   2553 
   2554   /**
   2555    * The exchange returned a maformed response.
   2556    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   2557    * (A value of 0 indicates that the error is generated client-side).
   2558    */
   2559   TALER_EC_MERCHANT_GENERIC_EXCHANGE_REPLY_MALFORMED = 2013,
   2560 
   2561 
   2562   /**
   2563    * The exchange returned an unexpected response status.
   2564    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   2565    * (A value of 0 indicates that the error is generated client-side).
   2566    */
   2567   TALER_EC_MERCHANT_GENERIC_EXCHANGE_UNEXPECTED_STATUS = 2014,
   2568 
   2569 
   2570   /**
   2571    * The merchant refused the request due to lack of authorization.
   2572    * Returned with an HTTP status code of #MHD_HTTP_UNAUTHORIZED (401).
   2573    * (A value of 0 indicates that the error is generated client-side).
   2574    */
   2575   TALER_EC_MERCHANT_GENERIC_UNAUTHORIZED = 2015,
   2576 
   2577 
   2578   /**
   2579    * The merchant instance specified in the request was deleted.
   2580    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2581    * (A value of 0 indicates that the error is generated client-side).
   2582    */
   2583   TALER_EC_MERCHANT_GENERIC_INSTANCE_DELETED = 2016,
   2584 
   2585 
   2586   /**
   2587    * The backend could not find the inbound wire transfer specified in the request.
   2588    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2589    * (A value of 0 indicates that the error is generated client-side).
   2590    */
   2591   TALER_EC_MERCHANT_GENERIC_TRANSFER_UNKNOWN = 2017,
   2592 
   2593 
   2594   /**
   2595    * The backend could not find the template(id) because it is not exist.
   2596    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2597    * (A value of 0 indicates that the error is generated client-side).
   2598    */
   2599   TALER_EC_MERCHANT_GENERIC_TEMPLATE_UNKNOWN = 2018,
   2600 
   2601 
   2602   /**
   2603    * The backend could not find the webhook(id) because it is not exist.
   2604    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2605    * (A value of 0 indicates that the error is generated client-side).
   2606    */
   2607   TALER_EC_MERCHANT_GENERIC_WEBHOOK_UNKNOWN = 2019,
   2608 
   2609 
   2610   /**
   2611    * The backend could not find the webhook(serial) because it is not exist.
   2612    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2613    * (A value of 0 indicates that the error is generated client-side).
   2614    */
   2615   TALER_EC_MERCHANT_GENERIC_PENDING_WEBHOOK_UNKNOWN = 2020,
   2616 
   2617 
   2618   /**
   2619    * The backend could not find the OTP device(id) because it is not exist.
   2620    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2621    * (A value of 0 indicates that the error is generated client-side).
   2622    */
   2623   TALER_EC_MERCHANT_GENERIC_OTP_DEVICE_UNKNOWN = 2021,
   2624 
   2625 
   2626   /**
   2627    * The account is not known to the backend.
   2628    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2629    * (A value of 0 indicates that the error is generated client-side).
   2630    */
   2631   TALER_EC_MERCHANT_GENERIC_ACCOUNT_UNKNOWN = 2022,
   2632 
   2633 
   2634   /**
   2635    * The wire hash was malformed.
   2636    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   2637    * (A value of 0 indicates that the error is generated client-side).
   2638    */
   2639   TALER_EC_MERCHANT_GENERIC_H_WIRE_MALFORMED = 2023,
   2640 
   2641 
   2642   /**
   2643    * The currency specified in the operation does not work with the current state of the given resource.
   2644    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   2645    * (A value of 0 indicates that the error is generated client-side).
   2646    */
   2647   TALER_EC_MERCHANT_GENERIC_CURRENCY_MISMATCH = 2024,
   2648 
   2649 
   2650   /**
   2651    * The exchange specified in the operation is not trusted by this exchange. The client should limit its operation to exchanges enabled by the merchant, or ask the merchant to enable additional exchanges in the configuration.
   2652    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   2653    * (A value of 0 indicates that the error is generated client-side).
   2654    */
   2655   TALER_EC_MERCHANT_GENERIC_EXCHANGE_UNTRUSTED = 2025,
   2656 
   2657 
   2658   /**
   2659    * The token family is not known to the backend.
   2660    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2661    * (A value of 0 indicates that the error is generated client-side).
   2662    */
   2663   TALER_EC_MERCHANT_GENERIC_TOKEN_FAMILY_UNKNOWN = 2026,
   2664 
   2665 
   2666   /**
   2667    * The token family key is not known to the backend. Check the local system time on the client, maybe an expired (or not yet valid) token was used.
   2668    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2669    * (A value of 0 indicates that the error is generated client-side).
   2670    */
   2671   TALER_EC_MERCHANT_GENERIC_TOKEN_KEY_UNKNOWN = 2027,
   2672 
   2673 
   2674   /**
   2675    * The merchant backend is not configured to support the DONAU protocol.
   2676    * Returned with an HTTP status code of #MHD_HTTP_NOT_IMPLEMENTED (501).
   2677    * (A value of 0 indicates that the error is generated client-side).
   2678    */
   2679   TALER_EC_MERCHANT_GENERIC_DONAU_NOT_CONFIGURED = 2028,
   2680 
   2681 
   2682   /**
   2683    * The public signing key given in the exchange response is not in the current keys response.  It is possible that the operation will succeed later after the merchant has downloaded an updated keys response.
   2684    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   2685    * (A value of 0 indicates that the error is generated client-side).
   2686    */
   2687   TALER_EC_MERCHANT_EXCHANGE_SIGN_PUB_UNKNOWN = 2029,
   2688 
   2689 
   2690   /**
   2691    * The merchant backend does not support the requested feature.
   2692    * Returned with an HTTP status code of #MHD_HTTP_NOT_IMPLEMENTED (501).
   2693    * (A value of 0 indicates that the error is generated client-side).
   2694    */
   2695   TALER_EC_MERCHANT_GENERIC_FEATURE_NOT_AVAILABLE = 2030,
   2696 
   2697 
   2698   /**
   2699    * This operation requires multi-factor authorization and the respective instance does not have a sufficient number of factors that could be validated configured. You need to ask the system administrator to perform this operation.
   2700    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2701    * (A value of 0 indicates that the error is generated client-side).
   2702    */
   2703   TALER_EC_MERCHANT_GENERIC_MFA_MISSING = 2031,
   2704 
   2705 
   2706   /**
   2707    * A donation authority (Donau) provided an invalid response. This should be analyzed by the administrator. Trying again later may help.
   2708    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   2709    * (A value of 0 indicates that the error is generated client-side).
   2710    */
   2711   TALER_EC_MERCHANT_GENERIC_DONAU_INVALID_RESPONSE = 2032,
   2712 
   2713 
   2714   /**
   2715    * The unit referenced in the request is builtin and cannot be modified or deleted.
   2716    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   2717    * (A value of 0 indicates that the error is generated client-side).
   2718    */
   2719   TALER_EC_MERCHANT_GENERIC_UNIT_BUILTIN = 2033,
   2720 
   2721 
   2722   /**
   2723    * The report ID provided to the backend is not known to the backend.
   2724    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2725    * (A value of 0 indicates that the error is generated client-side).
   2726    */
   2727   TALER_EC_MERCHANT_GENERIC_REPORT_UNKNOWN = 2034,
   2728 
   2729 
   2730   /**
   2731    * The report ID provided to the backend is not known to the backend.
   2732    * Returned with an HTTP status code of #MHD_HTTP_NOT_IMPLEMENTED (501).
   2733    * (A value of 0 indicates that the error is generated client-side).
   2734    */
   2735   TALER_EC_MERCHANT_GENERIC_REPORT_GENERATOR_UNCONFIGURED = 2035,
   2736 
   2737 
   2738   /**
   2739    * The product group ID provided to the backend is not known to the backend.
   2740    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2741    * (A value of 0 indicates that the error is generated client-side).
   2742    */
   2743   TALER_EC_MERCHANT_GENERIC_PRODUCT_GROUP_UNKNOWN = 2036,
   2744 
   2745 
   2746   /**
   2747    * The money pod ID provided to the backend is not known to the backend.
   2748    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2749    * (A value of 0 indicates that the error is generated client-side).
   2750    */
   2751   TALER_EC_MERCHANT_GENERIC_MONEY_POT_UNKNOWN = 2037,
   2752 
   2753 
   2754   /**
   2755    * The session ID provided to the backend is not known to the backend.
   2756    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2757    * (A value of 0 indicates that the error is generated client-side).
   2758    */
   2759   TALER_EC_MERCHANT_GENERIC_SESSION_UNKNOWN = 2038,
   2760 
   2761 
   2762   /**
   2763    * The merchant does not have a charity associated with the selected Donau. As a result, it cannot generate the requested donation receipt. This could happen if the charity was removed from the backend between order creation and payment.
   2764    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2765    * (A value of 0 indicates that the error is generated client-side).
   2766    */
   2767   TALER_EC_MERCHANT_GENERIC_DONAU_CHARITY_UNKNOWN = 2039,
   2768 
   2769 
   2770   /**
   2771    * The merchant does not expect any transfer with the given ID and can thus not return any details about it.
   2772    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2773    * (A value of 0 indicates that the error is generated client-side).
   2774    */
   2775   TALER_EC_MERCHANT_GENERIC_EXPECTED_TRANSFER_UNKNOWN = 2040,
   2776 
   2777 
   2778   /**
   2779    * The Donau is not known to the backend.
   2780    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2781    * (A value of 0 indicates that the error is generated client-side).
   2782    */
   2783   TALER_EC_MERCHANT_GENERIC_DONAU_UNKNOWN = 2041,
   2784 
   2785 
   2786   /**
   2787    * The access token is not known to the backend.
   2788    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2789    * (A value of 0 indicates that the error is generated client-side).
   2790    */
   2791   TALER_EC_MERCHANT_GENERIC_ACCESS_TOKEN_UNKNOWN = 2042,
   2792 
   2793 
   2794   /**
   2795    * One of the binaries needed to generate the PDF is not installed. If this feature is required, the system administrator should make sure Typst and pdftk are both installed.
   2796    * Returned with an HTTP status code of #MHD_HTTP_NOT_IMPLEMENTED (501).
   2797    * (A value of 0 indicates that the error is generated client-side).
   2798    */
   2799   TALER_EC_MERCHANT_GENERIC_NO_TYPST_OR_PDFTK = 2048,
   2800 
   2801 
   2802   /**
   2803    * The exchange failed to provide a valid answer to the tracking request, thus those details are not in the response.
   2804    * Returned with an HTTP status code of #MHD_HTTP_OK (200).
   2805    * (A value of 0 indicates that the error is generated client-side).
   2806    */
   2807   TALER_EC_MERCHANT_GET_ORDERS_EXCHANGE_TRACKING_FAILURE = 2100,
   2808 
   2809 
   2810   /**
   2811    * The merchant backend failed to construct the request for tracking to the exchange, thus tracking details are not in the response.
   2812    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2813    * (A value of 0 indicates that the error is generated client-side).
   2814    */
   2815   TALER_EC_MERCHANT_GET_ORDERS_ID_EXCHANGE_REQUEST_FAILURE = 2103,
   2816 
   2817 
   2818   /**
   2819    * The merchant backend failed trying to contact the exchange for tracking details, thus those details are not in the response.
   2820    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2821    * (A value of 0 indicates that the error is generated client-side).
   2822    */
   2823   TALER_EC_MERCHANT_GET_ORDERS_ID_EXCHANGE_LOOKUP_START_FAILURE = 2104,
   2824 
   2825 
   2826   /**
   2827    * The claim token used to authenticate the client is invalid for this order.
   2828    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2829    * (A value of 0 indicates that the error is generated client-side).
   2830    */
   2831   TALER_EC_MERCHANT_GET_ORDERS_ID_INVALID_TOKEN = 2105,
   2832 
   2833 
   2834   /**
   2835    * The contract terms hash used to authenticate the client is invalid for this order.
   2836    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2837    * (A value of 0 indicates that the error is generated client-side).
   2838    */
   2839   TALER_EC_MERCHANT_GET_ORDERS_ID_INVALID_CONTRACT_HASH = 2106,
   2840 
   2841 
   2842   /**
   2843    * The contract terms version is not understood by the merchant backend. Most likely the merchant backend was downgraded to a version incompatible with the content of the database.
   2844    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2845    * (A value of 0 indicates that the error is generated client-side).
   2846    */
   2847   TALER_EC_MERCHANT_GET_ORDERS_ID_INVALID_CONTRACT_VERSION = 2107,
   2848 
   2849 
   2850   /**
   2851    * The provided TAN code is invalid for this challenge.
   2852    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   2853    * (A value of 0 indicates that the error is generated client-side).
   2854    */
   2855   TALER_EC_MERCHANT_TAN_CHALLENGE_FAILED = 2125,
   2856 
   2857 
   2858   /**
   2859    * The backend is not aware of the specified MFA challenge.
   2860    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   2861    * (A value of 0 indicates that the error is generated client-side).
   2862    */
   2863   TALER_EC_MERCHANT_TAN_CHALLENGE_UNKNOWN = 2126,
   2864 
   2865 
   2866   /**
   2867    * There have been too many attempts to solve the challenge. A new TAN must be requested.
   2868    * Returned with an HTTP status code of #MHD_HTTP_TOO_MANY_REQUESTS (429).
   2869    * (A value of 0 indicates that the error is generated client-side).
   2870    */
   2871   TALER_EC_MERCHANT_TAN_TOO_MANY_ATTEMPTS = 2127,
   2872 
   2873 
   2874   /**
   2875    * The backend failed to launch a helper process required for the multi-factor authentication step. The backend operator should check the logs and fix the Taler merchant backend configuration.
   2876    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   2877    * (A value of 0 indicates that the error is generated client-side).
   2878    */
   2879   TALER_EC_MERCHANT_TAN_MFA_HELPER_EXEC_FAILED = 2128,
   2880 
   2881 
   2882   /**
   2883    * The challenge was already solved. Thus, we refuse to send it again.
   2884    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   2885    * (A value of 0 indicates that the error is generated client-side).
   2886    */
   2887   TALER_EC_MERCHANT_TAN_CHALLENGE_SOLVED = 2129,
   2888 
   2889 
   2890   /**
   2891    * It is too early to request another transmission of the challenge. The client should wait and see if they received the previous challenge.
   2892    * Returned with an HTTP status code of #MHD_HTTP_TOO_MANY_REQUESTS (429).
   2893    * (A value of 0 indicates that the error is generated client-side).
   2894    */
   2895   TALER_EC_MERCHANT_TAN_TOO_EARLY = 2130,
   2896 
   2897 
   2898   /**
   2899    * There have been too many attempts to solve MFA. The client may attempt again in the future.
   2900    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2901    * (A value of 0 indicates that the error is generated client-side).
   2902    */
   2903   TALER_EC_MERCHANT_MFA_FORBIDDEN = 2131,
   2904 
   2905 
   2906   /**
   2907    * The exchange responded saying that funds were insufficient (for example, due to double-spending).
   2908    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   2909    * (A value of 0 indicates that the error is generated client-side).
   2910    */
   2911   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_INSUFFICIENT_FUNDS = 2150,
   2912 
   2913 
   2914   /**
   2915    * The denomination key used for payment is not listed among the denomination keys of the exchange.
   2916    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   2917    * (A value of 0 indicates that the error is generated client-side).
   2918    */
   2919   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_DENOMINATION_KEY_NOT_FOUND = 2151,
   2920 
   2921 
   2922   /**
   2923    * The denomination key used for payment is not audited by an auditor approved by the merchant.
   2924    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   2925    * (A value of 0 indicates that the error is generated client-side).
   2926    */
   2927   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_DENOMINATION_KEY_AUDITOR_FAILURE = 2152,
   2928 
   2929 
   2930   /**
   2931    * There was an integer overflow totaling up the amounts or deposit fees in the payment.
   2932    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2933    * (A value of 0 indicates that the error is generated client-side).
   2934    */
   2935   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_AMOUNT_OVERFLOW = 2153,
   2936 
   2937 
   2938   /**
   2939    * The deposit fees exceed the total value of the payment.
   2940    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   2941    * (A value of 0 indicates that the error is generated client-side).
   2942    */
   2943   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_FEES_EXCEED_PAYMENT = 2154,
   2944 
   2945 
   2946   /**
   2947    * 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.
   2948    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   2949    * (A value of 0 indicates that the error is generated client-side).
   2950    */
   2951   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_INSUFFICIENT_DUE_TO_FEES = 2155,
   2952 
   2953 
   2954   /**
   2955    * Even if we do not consider deposit and wire fees, the payment is insufficient to satisfy the required amount for the contract.
   2956    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   2957    * (A value of 0 indicates that the error is generated client-side).
   2958    */
   2959   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_PAYMENT_INSUFFICIENT = 2156,
   2960 
   2961 
   2962   /**
   2963    * The signature over the contract of one of the coins was invalid.
   2964    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   2965    * (A value of 0 indicates that the error is generated client-side).
   2966    */
   2967   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_COIN_SIGNATURE_INVALID = 2157,
   2968 
   2969 
   2970   /**
   2971    * 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.
   2972    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2973    * (A value of 0 indicates that the error is generated client-side).
   2974    */
   2975   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_EXCHANGE_LOOKUP_FAILED = 2158,
   2976 
   2977 
   2978   /**
   2979    * The refund deadline in the contract is after the transfer deadline.
   2980    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   2981    * (A value of 0 indicates that the error is generated client-side).
   2982    */
   2983   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_REFUND_DEADLINE_PAST_WIRE_TRANSFER_DEADLINE
   2984     = 2159,
   2985 
   2986 
   2987   /**
   2988    * The order was already paid (maybe by another wallet).
   2989    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   2990    * (A value of 0 indicates that the error is generated client-side).
   2991    */
   2992   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_ALREADY_PAID = 2160,
   2993 
   2994 
   2995   /**
   2996    * The payment is too late, the offer has expired.
   2997    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   2998    * (A value of 0 indicates that the error is generated client-side).
   2999    */
   3000   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_OFFER_EXPIRED = 2161,
   3001 
   3002 
   3003   /**
   3004    * The "merchant" field is missing in the proposal data. This is an internal error as the proposal is from the merchant's own database at this point.
   3005    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   3006    * (A value of 0 indicates that the error is generated client-side).
   3007    */
   3008   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_MERCHANT_FIELD_MISSING = 2162,
   3009 
   3010 
   3011   /**
   3012    * Failed to locate merchant's account information matching the wire hash given in the proposal.
   3013    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   3014    * (A value of 0 indicates that the error is generated client-side).
   3015    */
   3016   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_WIRE_HASH_UNKNOWN = 2163,
   3017 
   3018 
   3019   /**
   3020    * The deposit time for the denomination has expired.
   3021    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   3022    * (A value of 0 indicates that the error is generated client-side).
   3023    */
   3024   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_DENOMINATION_DEPOSIT_EXPIRED = 2165,
   3025 
   3026 
   3027   /**
   3028    * The exchange of the deposited coin charges a wire fee that could not be added to the total (total amount too high).
   3029    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   3030    * (A value of 0 indicates that the error is generated client-side).
   3031    */
   3032   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_EXCHANGE_WIRE_FEE_ADDITION_FAILED = 2166,
   3033 
   3034 
   3035   /**
   3036    * 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.
   3037    * Returned with an HTTP status code of #MHD_HTTP_PAYMENT_REQUIRED (402).
   3038    * (A value of 0 indicates that the error is generated client-side).
   3039    */
   3040   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_REFUNDED = 2167,
   3041 
   3042 
   3043   /**
   3044    * According to our database, we have refunded more than we were paid (which should not be possible).
   3045    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   3046    * (A value of 0 indicates that the error is generated client-side).
   3047    */
   3048   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_REFUNDS_EXCEED_PAYMENTS = 2168,
   3049 
   3050 
   3051   /**
   3052    * The refund request is too late because it is past the wire transfer deadline of the order. The merchant must find a different way to pay back the money to the customer.
   3053    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   3054    * (A value of 0 indicates that the error is generated client-side).
   3055    */
   3056   TALER_EC_MERCHANT_PRIVATE_POST_REFUND_AFTER_WIRE_DEADLINE = 2169,
   3057 
   3058 
   3059   /**
   3060    * The payment failed at the exchange.
   3061    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   3062    * (A value of 0 indicates that the error is generated client-side).
   3063    */
   3064   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_EXCHANGE_FAILED = 2170,
   3065 
   3066 
   3067   /**
   3068    * The payment required a minimum age but one of the coins (of a denomination with support for age restriction) did not provide any age_commitment.
   3069    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3070    * (A value of 0 indicates that the error is generated client-side).
   3071    */
   3072   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_AGE_COMMITMENT_MISSING = 2171,
   3073 
   3074 
   3075   /**
   3076    * The payment required a minimum age but one of the coins provided an age_commitment that contained a wrong number of public keys compared to the number of age groups defined in the denomination of the coin.
   3077    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3078    * (A value of 0 indicates that the error is generated client-side).
   3079    */
   3080   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_AGE_COMMITMENT_SIZE_MISMATCH = 2172,
   3081 
   3082 
   3083   /**
   3084    * The payment required a minimum age but one of the coins provided a minimum_age_sig that couldn't be verified with the given age_commitment for that particular minimum age.
   3085    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3086    * (A value of 0 indicates that the error is generated client-side).
   3087    */
   3088   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_AGE_VERIFICATION_FAILED = 2173,
   3089 
   3090 
   3091   /**
   3092    * The payment required no minimum age but one of the coins (of a denomination with support for age restriction) did not provide the required h_age_commitment.
   3093    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3094    * (A value of 0 indicates that the error is generated client-side).
   3095    */
   3096   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_AGE_COMMITMENT_HASH_MISSING = 2174,
   3097 
   3098 
   3099   /**
   3100    * The exchange does not support the selected bank account of the merchant. Likely the merchant had stale data on the bank accounts of the exchange and thus selected an inappropriate exchange when making the offer.
   3101    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3102    * (A value of 0 indicates that the error is generated client-side).
   3103    */
   3104   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_WIRE_METHOD_UNSUPPORTED = 2175,
   3105 
   3106 
   3107   /**
   3108    * The payment requires the wallet to select a choice from the choices array and pass it in the 'choice_index' field of the request.
   3109    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3110    * (A value of 0 indicates that the error is generated client-side).
   3111    */
   3112   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_CHOICE_INDEX_MISSING = 2176,
   3113 
   3114 
   3115   /**
   3116    * The 'choice_index' field is invalid.
   3117    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3118    * (A value of 0 indicates that the error is generated client-side).
   3119    */
   3120   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_CHOICE_INDEX_OUT_OF_BOUNDS = 2177,
   3121 
   3122 
   3123   /**
   3124    * The provided 'tokens' array does not match with the required input tokens of the order.
   3125    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3126    * (A value of 0 indicates that the error is generated client-side).
   3127    */
   3128   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_INPUT_TOKENS_MISMATCH = 2178,
   3129 
   3130 
   3131   /**
   3132    * Invalid token issue signature (blindly signed by merchant) for provided token.
   3133    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3134    * (A value of 0 indicates that the error is generated client-side).
   3135    */
   3136   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_TOKEN_ISSUE_SIG_INVALID = 2179,
   3137 
   3138 
   3139   /**
   3140    * Invalid token use signature (EdDSA, signed by wallet) for provided token.
   3141    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3142    * (A value of 0 indicates that the error is generated client-side).
   3143    */
   3144   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_TOKEN_USE_SIG_INVALID = 2180,
   3145 
   3146 
   3147   /**
   3148    * The provided number of tokens does not match the required number.
   3149    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3150    * (A value of 0 indicates that the error is generated client-side).
   3151    */
   3152   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_TOKEN_COUNT_MISMATCH = 2181,
   3153 
   3154 
   3155   /**
   3156    * The provided number of token envelopes does not match the specified number.
   3157    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3158    * (A value of 0 indicates that the error is generated client-side).
   3159    */
   3160   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_TOKEN_ENVELOPE_COUNT_MISMATCH = 2182,
   3161 
   3162 
   3163   /**
   3164    * Invalid token because it was already used, is expired or not yet valid.
   3165    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3166    * (A value of 0 indicates that the error is generated client-side).
   3167    */
   3168   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_TOKEN_INVALID = 2183,
   3169 
   3170 
   3171   /**
   3172    * The payment violates a transaction limit configured at the given exchange. The wallet has a bug in that it failed to check exchange limits during coin selection. Please report the bug to your wallet developer.
   3173    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3174    * (A value of 0 indicates that the error is generated client-side).
   3175    */
   3176   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_EXCHANGE_TRANSACTION_LIMIT_VIOLATION =
   3177     2184,
   3178 
   3179 
   3180   /**
   3181    * The donation amount provided in the BKPS does not match the amount of the order choice.
   3182    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3183    * (A value of 0 indicates that the error is generated client-side).
   3184    */
   3185   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_DONATION_AMOUNT_MISMATCH = 2185,
   3186 
   3187 
   3188   /**
   3189    * Some of the exchanges involved refused the request for reasons related to legitimization. The wallet should try with coins of different exchanges. The merchant should check if they have some legitimization process pending at the exchange.
   3190    * Returned with an HTTP status code of #MHD_HTTP_UNAVAILABLE_FOR_LEGAL_REASONS (451).
   3191    * (A value of 0 indicates that the error is generated client-side).
   3192    */
   3193   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_EXCHANGE_LEGALLY_REFUSED = 2186,
   3194 
   3195 
   3196   /**
   3197    * The order was already paid, but completing a different choice than the one given in this request. The client should use the choice the order was actually paid with.
   3198    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3199    * (A value of 0 indicates that the error is generated client-side).
   3200    */
   3201   TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_CHOICE_INDEX_MISMATCH = 2187,
   3202 
   3203 
   3204   /**
   3205    * The contract hash does not match the given order ID.
   3206    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3207    * (A value of 0 indicates that the error is generated client-side).
   3208    */
   3209   TALER_EC_MERCHANT_POST_ORDERS_ID_PAID_CONTRACT_HASH_MISMATCH = 2200,
   3210 
   3211 
   3212   /**
   3213    * The signature of the merchant is not valid for the given contract hash.
   3214    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   3215    * (A value of 0 indicates that the error is generated client-side).
   3216    */
   3217   TALER_EC_MERCHANT_POST_ORDERS_ID_PAID_COIN_SIGNATURE_INVALID = 2201,
   3218 
   3219 
   3220   /**
   3221    * A token family with this ID but conflicting data exists.
   3222    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3223    * (A value of 0 indicates that the error is generated client-side).
   3224    */
   3225   TALER_EC_MERCHANT_POST_TOKEN_FAMILY_CONFLICT = 2225,
   3226 
   3227 
   3228   /**
   3229    * The backend is unaware of a token family with the given ID.
   3230    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   3231    * (A value of 0 indicates that the error is generated client-side).
   3232    */
   3233   TALER_EC_MERCHANT_PATCH_TOKEN_FAMILY_NOT_FOUND = 2226,
   3234 
   3235 
   3236   /**
   3237    * The merchant failed to send the exchange the refund request.
   3238    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   3239    * (A value of 0 indicates that the error is generated client-side).
   3240    */
   3241   TALER_EC_MERCHANT_POST_ORDERS_ID_ABORT_EXCHANGE_REFUND_FAILED = 2251,
   3242 
   3243 
   3244   /**
   3245    * The merchant failed to find the exchange to process the lookup.
   3246    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   3247    * (A value of 0 indicates that the error is generated client-side).
   3248    */
   3249   TALER_EC_MERCHANT_POST_ORDERS_ID_ABORT_EXCHANGE_LOOKUP_FAILED = 2252,
   3250 
   3251 
   3252   /**
   3253    * The merchant could not find the contract.
   3254    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   3255    * (A value of 0 indicates that the error is generated client-side).
   3256    */
   3257   TALER_EC_MERCHANT_POST_ORDERS_ID_ABORT_CONTRACT_NOT_FOUND = 2253,
   3258 
   3259 
   3260   /**
   3261    * The payment was already completed and thus cannot be aborted anymore.
   3262    * Returned with an HTTP status code of #MHD_HTTP_PRECONDITION_FAILED (412).
   3263    * (A value of 0 indicates that the error is generated client-side).
   3264    */
   3265   TALER_EC_MERCHANT_POST_ORDERS_ID_ABORT_REFUND_REFUSED_PAYMENT_COMPLETE = 2254,
   3266 
   3267 
   3268   /**
   3269    * The hash provided by the wallet does not match the order.
   3270    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   3271    * (A value of 0 indicates that the error is generated client-side).
   3272    */
   3273   TALER_EC_MERCHANT_POST_ORDERS_ID_ABORT_CONTRACT_HASH_MISSMATCH = 2255,
   3274 
   3275 
   3276   /**
   3277    * The array of coins cannot be empty.
   3278    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3279    * (A value of 0 indicates that the error is generated client-side).
   3280    */
   3281   TALER_EC_MERCHANT_POST_ORDERS_ID_ABORT_COINS_ARRAY_EMPTY = 2256,
   3282 
   3283 
   3284   /**
   3285    * We are waiting for the exchange to provide us with key material before checking the wire transfer.
   3286    * Returned with an HTTP status code of #MHD_HTTP_ACCEPTED (202).
   3287    * (A value of 0 indicates that the error is generated client-side).
   3288    */
   3289   TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_AWAITING_KEYS = 2258,
   3290 
   3291 
   3292   /**
   3293    * We are waiting for the exchange to provide us with the list of aggregated transactions.
   3294    * Returned with an HTTP status code of #MHD_HTTP_ACCEPTED (202).
   3295    * (A value of 0 indicates that the error is generated client-side).
   3296    */
   3297   TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_AWAITING_LIST = 2259,
   3298 
   3299 
   3300   /**
   3301    * The endpoint indicated in the wire transfer does not belong to a GNU Taler exchange.
   3302    * Returned with an HTTP status code of #MHD_HTTP_OK (200).
   3303    * (A value of 0 indicates that the error is generated client-side).
   3304    */
   3305   TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_FATAL_NO_EXCHANGE = 2260,
   3306 
   3307 
   3308   /**
   3309    * The exchange indicated in the wire transfer claims to know nothing about the wire transfer.
   3310    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   3311    * (A value of 0 indicates that the error is generated client-side).
   3312    */
   3313   TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_FATAL_NOT_FOUND = 2261,
   3314 
   3315 
   3316   /**
   3317    * The interaction with the exchange is delayed due to rate limiting.
   3318    * Returned with an HTTP status code of #MHD_HTTP_ACCEPTED (202).
   3319    * (A value of 0 indicates that the error is generated client-side).
   3320    */
   3321   TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_RATE_LIMITED = 2262,
   3322 
   3323 
   3324   /**
   3325    * We experienced a transient failure in our interaction with the exchange.
   3326    * Returned with an HTTP status code of #MHD_HTTP_ACCEPTED (202).
   3327    * (A value of 0 indicates that the error is generated client-side).
   3328    */
   3329   TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_TRANSIENT_FAILURE = 2263,
   3330 
   3331 
   3332   /**
   3333    * The response from the exchange was unacceptable and should be reviewed with an auditor.
   3334    * Returned with an HTTP status code of #MHD_HTTP_OK (200).
   3335    * (A value of 0 indicates that the error is generated client-side).
   3336    */
   3337   TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_HARD_FAILURE = 2264,
   3338 
   3339 
   3340   /**
   3341    * The merchant backend failed to reach the banking gateway to shorten the wire transfer subject. This probably means that the banking gateway of the exchange is currently down. Contact the exchange operator or simply retry again later.
   3342    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   3343    * (A value of 0 indicates that the error is generated client-side).
   3344    */
   3345   TALER_EC_MERCHANT_POST_ACCOUNTS_KYCAUTH_BANK_GATEWAY_UNREACHABLE = 2275,
   3346 
   3347 
   3348   /**
   3349    * The merchant backend failed to reach the banking gateway to shorten the wire transfer subject. This probably means that the banking gateway of the exchange is currently down. Contact the exchange operator or simply retry again later.
   3350    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   3351    * (A value of 0 indicates that the error is generated client-side).
   3352    */
   3353   TALER_EC_MERCHANT_POST_ACCOUNTS_EXCHANGE_TOO_OLD = 2276,
   3354 
   3355 
   3356   /**
   3357    * The merchant backend failed to reach the specified exchange. This probably means that the exchange is currently down. Contact the exchange operator or simply retry again later.
   3358    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   3359    * (A value of 0 indicates that the error is generated client-side).
   3360    */
   3361   TALER_EC_MERCHANT_POST_ACCOUNTS_KYCAUTH_EXCHANGE_UNREACHABLE = 2277,
   3362 
   3363 
   3364   /**
   3365    * We could not claim the order because the backend is unaware of it.
   3366    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   3367    * (A value of 0 indicates that the error is generated client-side).
   3368    */
   3369   TALER_EC_MERCHANT_POST_ORDERS_ID_CLAIM_NOT_FOUND = 2300,
   3370 
   3371 
   3372   /**
   3373    * We could not claim the order because someone else claimed it first.
   3374    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3375    * (A value of 0 indicates that the error is generated client-side).
   3376    */
   3377   TALER_EC_MERCHANT_POST_ORDERS_ID_CLAIM_ALREADY_CLAIMED = 2301,
   3378 
   3379 
   3380   /**
   3381    * The client-side experienced an internal failure.
   3382    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   3383    * (A value of 0 indicates that the error is generated client-side).
   3384    */
   3385   TALER_EC_MERCHANT_POST_ORDERS_ID_CLAIM_CLIENT_INTERNAL_FAILURE = 2302,
   3386 
   3387 
   3388   /**
   3389    * The unclaim signature of the wallet is not valid for the given contract hash.
   3390    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   3391    * (A value of 0 indicates that the error is generated client-side).
   3392    */
   3393   TALER_EC_MERCHANT_POST_ORDERS_UNCLAIM_SIGNATURE_INVALID = 2303,
   3394 
   3395 
   3396   /**
   3397    * The backend failed to sign the refund request.
   3398    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   3399    * (A value of 0 indicates that the error is generated client-side).
   3400    */
   3401   TALER_EC_MERCHANT_POST_ORDERS_ID_REFUND_SIGNATURE_FAILED = 2350,
   3402 
   3403 
   3404   /**
   3405    * The client failed to unblind the signature returned by the merchant.
   3406    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   3407    * (A value of 0 indicates that the error is generated client-side).
   3408    */
   3409   TALER_EC_MERCHANT_REWARD_PICKUP_UNBLIND_FAILURE = 2400,
   3410 
   3411 
   3412   /**
   3413    * The exchange returned a failure code for the withdraw operation.
   3414    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   3415    * (A value of 0 indicates that the error is generated client-side).
   3416    */
   3417   TALER_EC_MERCHANT_REWARD_PICKUP_EXCHANGE_ERROR = 2403,
   3418 
   3419 
   3420   /**
   3421    * The merchant failed to add up the amounts to compute the pick up value.
   3422    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   3423    * (A value of 0 indicates that the error is generated client-side).
   3424    */
   3425   TALER_EC_MERCHANT_REWARD_PICKUP_SUMMATION_FAILED = 2404,
   3426 
   3427 
   3428   /**
   3429    * The reward expired.
   3430    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   3431    * (A value of 0 indicates that the error is generated client-side).
   3432    */
   3433   TALER_EC_MERCHANT_REWARD_PICKUP_HAS_EXPIRED = 2405,
   3434 
   3435 
   3436   /**
   3437    * The requested withdraw amount exceeds the amount remaining to be picked up.
   3438    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3439    * (A value of 0 indicates that the error is generated client-side).
   3440    */
   3441   TALER_EC_MERCHANT_REWARD_PICKUP_AMOUNT_EXCEEDS_REWARD_REMAINING = 2406,
   3442 
   3443 
   3444   /**
   3445    * The merchant did not find the specified denomination key in the exchange's key set.
   3446    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3447    * (A value of 0 indicates that the error is generated client-side).
   3448    */
   3449   TALER_EC_MERCHANT_REWARD_PICKUP_DENOMINATION_UNKNOWN = 2407,
   3450 
   3451 
   3452   /**
   3453    * The merchant instance has no active bank accounts configured. However, at least one bank account must be available to create new orders.
   3454    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   3455    * (A value of 0 indicates that the error is generated client-side).
   3456    */
   3457   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_INSTANCE_CONFIGURATION_LACKS_WIRE = 2500
   3458   ,
   3459 
   3460 
   3461   /**
   3462    * The proposal had no timestamp and the merchant backend failed to obtain the current local time.
   3463    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   3464    * (A value of 0 indicates that the error is generated client-side).
   3465    */
   3466   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_NO_LOCALTIME = 2501,
   3467 
   3468 
   3469   /**
   3470    * The order provided to the backend could not be parsed; likely some required fields were missing or ill-formed.
   3471    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3472    * (A value of 0 indicates that the error is generated client-side).
   3473    */
   3474   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_PROPOSAL_PARSE_ERROR = 2502,
   3475 
   3476 
   3477   /**
   3478    * A conflicting order (sharing the same order identifier) already exists at this merchant backend instance.
   3479    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3480    * (A value of 0 indicates that the error is generated client-side).
   3481    */
   3482   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ALREADY_EXISTS = 2503,
   3483 
   3484 
   3485   /**
   3486    * The order creation request is invalid because the given wire deadline is before the refund deadline.
   3487    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3488    * (A value of 0 indicates that the error is generated client-side).
   3489    */
   3490   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_REFUND_AFTER_WIRE_DEADLINE = 2504,
   3491 
   3492 
   3493   /**
   3494    * The order creation request is invalid because the delivery date given is in the past.
   3495    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3496    * (A value of 0 indicates that the error is generated client-side).
   3497    */
   3498   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_DELIVERY_DATE_IN_PAST = 2505,
   3499 
   3500 
   3501   /**
   3502    * The order creation request is invalid because a wire deadline of "never" is not allowed.
   3503    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3504    * (A value of 0 indicates that the error is generated client-side).
   3505    */
   3506   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_WIRE_DEADLINE_IS_NEVER = 2506,
   3507 
   3508 
   3509   /**
   3510    * The order creation request is invalid because the given payment deadline is in the past.
   3511    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3512    * (A value of 0 indicates that the error is generated client-side).
   3513    */
   3514   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_PAY_DEADLINE_IN_PAST = 2507,
   3515 
   3516 
   3517   /**
   3518    * The order creation request is invalid because the given refund deadline is in the past.
   3519    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3520    * (A value of 0 indicates that the error is generated client-side).
   3521    */
   3522   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_REFUND_DEADLINE_IN_PAST = 2508,
   3523 
   3524 
   3525   /**
   3526    * The backend does not trust any exchange that would allow funds to be wired to any bank account of this instance using the wire method specified with the order. (Note that right now, we do not support the use of exchange bank accounts with mandatory currency conversion.) One likely cause for this is that the taler-merchant-exchangekeyupdate process is not running.
   3527    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3528    * (A value of 0 indicates that the error is generated client-side).
   3529    */
   3530   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_NO_EXCHANGES_FOR_WIRE_METHOD = 2509,
   3531 
   3532 
   3533   /**
   3534    * One of the paths to forget is malformed.
   3535    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3536    * (A value of 0 indicates that the error is generated client-side).
   3537    */
   3538   TALER_EC_MERCHANT_PRIVATE_PATCH_ORDERS_ID_FORGET_PATH_SYNTAX_INCORRECT = 2510,
   3539 
   3540 
   3541   /**
   3542    * One of the paths to forget was not marked as forgettable.
   3543    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3544    * (A value of 0 indicates that the error is generated client-side).
   3545    */
   3546   TALER_EC_MERCHANT_PRIVATE_PATCH_ORDERS_ID_FORGET_PATH_NOT_FORGETTABLE = 2511,
   3547 
   3548 
   3549   /**
   3550    * The refund amount would violate a refund transaction limit configured at the given exchange. Please find another way to refund the customer, and inquire with your legislator why they make strange banking regulations.
   3551    * Returned with an HTTP status code of #MHD_HTTP_UNAVAILABLE_FOR_LEGAL_REASONS (451).
   3552    * (A value of 0 indicates that the error is generated client-side).
   3553    */
   3554   TALER_EC_MERCHANT_POST_ORDERS_ID_REFUND_EXCHANGE_TRANSACTION_LIMIT_VIOLATION =
   3555     2512,
   3556 
   3557 
   3558   /**
   3559    * The total order amount exceeds hard legal transaction limits from the available exchanges, thus a customer could never legally make this payment. You may try to increase your limits by passing legitimization checks with exchange operators. You could also inquire with your legislator why the limits are prohibitively low for your business.
   3560    * Returned with an HTTP status code of #MHD_HTTP_UNAVAILABLE_FOR_LEGAL_REASONS (451).
   3561    * (A value of 0 indicates that the error is generated client-side).
   3562    */
   3563   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_AMOUNT_EXCEEDS_LEGAL_LIMITS = 2513,
   3564 
   3565 
   3566   /**
   3567    * A currency specified to be paid in the contract is not supported by any exchange that this instance can currently use. Possible solutions include (1) specifying a different currency, (2) adding additional suitable exchange operators to the merchant backend configuration, or (3) satisfying compliance rules of an configured exchange to begin using the service of that provider.
   3568    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3569    * (A value of 0 indicates that the error is generated client-side).
   3570    */
   3571   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_NO_EXCHANGE_FOR_CURRENCY = 2514,
   3572 
   3573 
   3574   /**
   3575    * The order provided to the backend could not be deleted, our offer is still valid and awaiting payment. Deletion may work later after the offer has expired if it remains unpaid.
   3576    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3577    * (A value of 0 indicates that the error is generated client-side).
   3578    */
   3579   TALER_EC_MERCHANT_PRIVATE_DELETE_ORDERS_AWAITING_PAYMENT = 2520,
   3580 
   3581 
   3582   /**
   3583    * The order provided to the backend could not be deleted as the order was already paid.
   3584    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3585    * (A value of 0 indicates that the error is generated client-side).
   3586    */
   3587   TALER_EC_MERCHANT_PRIVATE_DELETE_ORDERS_ALREADY_PAID = 2521,
   3588 
   3589 
   3590   /**
   3591    * The client requested a report granularity that is not available at the backend. Possible solutions include extending the backend code and/or the database statistic triggers to support the desired data granularity. Alternatively, the client could request a different granularity.
   3592    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   3593    * (A value of 0 indicates that the error is generated client-side).
   3594    */
   3595   TALER_EC_MERCHANT_PRIVATE_GET_STATISTICS_REPORT_GRANULARITY_UNAVAILABLE = 2525
   3596   ,
   3597 
   3598 
   3599   /**
   3600    * The requested cumulative Taler refund is inconsistent: it is lower than the amount already awarded, exceeds the amount paid through Taler, or would make the combined Taler and external refunds exceed the full order total.
   3601    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3602    * (A value of 0 indicates that the error is generated client-side).
   3603    */
   3604   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_REFUND_INCONSISTENT_AMOUNT = 2530,
   3605 
   3606 
   3607   /**
   3608    * Only paid orders can be refunded, and the frontend specified an unpaid order to issue a refund for.
   3609    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3610    * (A value of 0 indicates that the error is generated client-side).
   3611    */
   3612   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_REFUND_ORDER_UNPAID = 2531,
   3613 
   3614 
   3615   /**
   3616    * The refund delay was set to 0 and thus no refunds are ever allowed for this order.
   3617    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   3618    * (A value of 0 indicates that the error is generated client-side).
   3619    */
   3620   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_REFUND_NOT_ALLOWED_BY_CONTRACT = 2532
   3621   ,
   3622 
   3623 
   3624   /**
   3625    * The token family slug provided in this order could not be found in the merchant database.
   3626    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   3627    * (A value of 0 indicates that the error is generated client-side).
   3628    */
   3629   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_TOKEN_FAMILY_SLUG_UNKNOWN = 2533,
   3630 
   3631 
   3632   /**
   3633    * A token family referenced in this order is either expired or not valid yet.
   3634    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3635    * (A value of 0 indicates that the error is generated client-side).
   3636    */
   3637   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_TOKEN_FAMILY_NOT_VALID = 2534,
   3638 
   3639 
   3640   /**
   3641    * The order cannot be collected by the backend as it is not a genuinely free Taler payment: the Taler amount is not zero, or the selected choice has token inputs or outputs and thus requires a customer wallet.
   3642    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3643    * (A value of 0 indicates that the error is generated client-side).
   3644    */
   3645   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_COLLECT_NOT_FREE = 2535,
   3646 
   3647 
   3648   /**
   3649    * The order cannot be collected by the backend as it was already claimed by a customer wallet. The wallet owns the order and must execute the free payment itself.
   3650    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3651    * (A value of 0 indicates that the error is generated client-side).
   3652    */
   3653   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_COLLECT_ALREADY_CLAIMED = 2536,
   3654 
   3655 
   3656   /**
   3657    * The order provided to the backend could not be deleted as it has payments that were settled outside of Taler. Deletion requires an explicit force operation.
   3658    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3659    * (A value of 0 indicates that the error is generated client-side).
   3660    */
   3661   TALER_EC_MERCHANT_PRIVATE_DELETE_ORDERS_EXTERNALLY_PAID = 2537,
   3662 
   3663 
   3664   /**
   3665    * The external refund could not be recorded as the cumulative externally refunded amount would exceed the full order total minus the amount already refunded through Taler.
   3666    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3667    * (A value of 0 indicates that the error is generated client-side).
   3668    */
   3669   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_REFUND_EXTERNAL_INCONSISTENT_AMOUNT =
   3670     2538,
   3671 
   3672 
   3673   /**
   3674    * An external refund with the same identifier was already recorded for this order, but with different details.
   3675    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3676    * (A value of 0 indicates that the error is generated client-side).
   3677    */
   3678   TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_ID_REFUND_EXTERNAL_ALREADY_EXISTS = 2539
   3679   ,
   3680 
   3681 
   3682   /**
   3683    * The exchange says it does not know this transfer.
   3684    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   3685    * (A value of 0 indicates that the error is generated client-side).
   3686    */
   3687   TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_EXCHANGE_UNKNOWN = 2550,
   3688 
   3689 
   3690   /**
   3691    * We internally failed to execute the /track/transfer request.
   3692    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   3693    * (A value of 0 indicates that the error is generated client-side).
   3694    */
   3695   TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_REQUEST_ERROR = 2551,
   3696 
   3697 
   3698   /**
   3699    * The amount transferred differs between what was submitted and what the exchange claimed.
   3700    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3701    * (A value of 0 indicates that the error is generated client-side).
   3702    */
   3703   TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_CONFLICTING_TRANSFERS = 2552,
   3704 
   3705 
   3706   /**
   3707    * The exchange gave conflicting information about a coin which has been wire transferred.
   3708    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3709    * (A value of 0 indicates that the error is generated client-side).
   3710    */
   3711   TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_CONFLICTING_REPORTS = 2553,
   3712 
   3713 
   3714   /**
   3715    * The exchange charged a different wire fee than what it originally advertised, and it is higher.
   3716    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   3717    * (A value of 0 indicates that the error is generated client-side).
   3718    */
   3719   TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_BAD_WIRE_FEE = 2554,
   3720 
   3721 
   3722   /**
   3723    * We did not find the account that the transfer was made to.
   3724    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   3725    * (A value of 0 indicates that the error is generated client-side).
   3726    */
   3727   TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_ACCOUNT_NOT_FOUND = 2555,
   3728 
   3729 
   3730   /**
   3731    * The backend could not delete the transfer as the echange already replied to our inquiry about it and we have integrated the result.
   3732    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3733    * (A value of 0 indicates that the error is generated client-side).
   3734    */
   3735   TALER_EC_MERCHANT_PRIVATE_DELETE_TRANSFERS_ALREADY_CONFIRMED = 2556,
   3736 
   3737 
   3738   /**
   3739    * The backend could not persist the wire transfer due to the state of the backend. This usually means that a wire transfer with the same wire transfer subject but a different amount was previously submitted to the backend.
   3740    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3741    * (A value of 0 indicates that the error is generated client-side).
   3742    */
   3743   TALER_EC_MERCHANT_PRIVATE_POST_TRANSFERS_CONFLICTING_SUBMISSION = 2557,
   3744 
   3745 
   3746   /**
   3747    * The target bank account given by the exchange is not (or no longer) known at the merchant instance.
   3748    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   3749    * (A value of 0 indicates that the error is generated client-side).
   3750    */
   3751   TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_TARGET_ACCOUNT_UNKNOWN = 2558,
   3752 
   3753 
   3754   /**
   3755    * The amount transferred differs between what was submitted and what the exchange claimed.
   3756    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   3757    * (A value of 0 indicates that the error is generated client-side).
   3758    */
   3759   TALER_EC_MERCHANT_EXCHANGE_TRANSFERS_CONFLICTING_TRANSFERS = 2563,
   3760 
   3761 
   3762   /**
   3763    * The report ID provided to the backend is not known to the backend.
   3764    * Returned with an HTTP status code of #MHD_HTTP_NOT_IMPLEMENTED (501).
   3765    * (A value of 0 indicates that the error is generated client-side).
   3766    */
   3767   TALER_EC_MERCHANT_REPORT_GENERATOR_FAILED = 2570,
   3768 
   3769 
   3770   /**
   3771    * Failed to fetch the data for the report from the backend.
   3772    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   3773    * (A value of 0 indicates that the error is generated client-side).
   3774    */
   3775   TALER_EC_MERCHANT_REPORT_FETCH_FAILED = 2571,
   3776 
   3777 
   3778   /**
   3779    * The merchant backend cannot create an instance under the given identifier as one already exists. Use PATCH to modify the existing entry.
   3780    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3781    * (A value of 0 indicates that the error is generated client-side).
   3782    */
   3783   TALER_EC_MERCHANT_PRIVATE_POST_INSTANCES_ALREADY_EXISTS = 2600,
   3784 
   3785 
   3786   /**
   3787    * The merchant backend cannot create an instance because the authentication configuration field is malformed.
   3788    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3789    * (A value of 0 indicates that the error is generated client-side).
   3790    */
   3791   TALER_EC_MERCHANT_PRIVATE_POST_INSTANCES_BAD_AUTH = 2601,
   3792 
   3793 
   3794   /**
   3795    * The merchant backend cannot update an instance's authentication settings because the provided authentication settings are malformed.
   3796    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3797    * (A value of 0 indicates that the error is generated client-side).
   3798    */
   3799   TALER_EC_MERCHANT_PRIVATE_POST_INSTANCE_AUTH_BAD_AUTH = 2602,
   3800 
   3801 
   3802   /**
   3803    * The merchant backend cannot create an instance under the given identifier, the previous one was deleted but must be purged first.
   3804    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3805    * (A value of 0 indicates that the error is generated client-side).
   3806    */
   3807   TALER_EC_MERCHANT_PRIVATE_POST_INSTANCES_PURGE_REQUIRED = 2603,
   3808 
   3809 
   3810   /**
   3811    * The merchant backend cannot update an instance under the given identifier, the previous one was deleted but must be purged first.
   3812    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3813    * (A value of 0 indicates that the error is generated client-side).
   3814    */
   3815   TALER_EC_MERCHANT_PRIVATE_PATCH_INSTANCES_PURGE_REQUIRED = 2625,
   3816 
   3817 
   3818   /**
   3819    * The bank account referenced in the requested operation was not found.
   3820    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   3821    * (A value of 0 indicates that the error is generated client-side).
   3822    */
   3823   TALER_EC_MERCHANT_PRIVATE_ACCOUNT_DELETE_UNKNOWN_ACCOUNT = 2626,
   3824 
   3825 
   3826   /**
   3827    * The bank account specified in the request already exists at the merchant.
   3828    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3829    * (A value of 0 indicates that the error is generated client-side).
   3830    */
   3831   TALER_EC_MERCHANT_PRIVATE_ACCOUNT_EXISTS = 2627,
   3832 
   3833 
   3834   /**
   3835    * The bank account specified is not acceptable for this exchange. The exchange either does not support the wire method or something else about the specific account. Consult the exchange account constraints and specify a different bank account if you want to use this exchange.
   3836    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3837    * (A value of 0 indicates that the error is generated client-side).
   3838    */
   3839   TALER_EC_MERCHANT_PRIVATE_ACCOUNT_NOT_ELIGIBLE_FOR_EXCHANGE = 2628,
   3840 
   3841 
   3842   /**
   3843    * The product ID exists.
   3844    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3845    * (A value of 0 indicates that the error is generated client-side).
   3846    */
   3847   TALER_EC_MERCHANT_PRIVATE_POST_PRODUCTS_CONFLICT_PRODUCT_EXISTS = 2650,
   3848 
   3849 
   3850   /**
   3851    * A category with the same name exists already.
   3852    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3853    * (A value of 0 indicates that the error is generated client-side).
   3854    */
   3855   TALER_EC_MERCHANT_PRIVATE_POST_CATEGORIES_CONFLICT_CATEGORY_EXISTS = 2651,
   3856 
   3857 
   3858   /**
   3859    * The update would have reduced the total amount of product lost, which is not allowed.
   3860    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3861    * (A value of 0 indicates that the error is generated client-side).
   3862    */
   3863   TALER_EC_MERCHANT_PRIVATE_PATCH_PRODUCTS_TOTAL_LOST_REDUCED = 2660,
   3864 
   3865 
   3866   /**
   3867    * The update would have mean that more stocks were lost than what remains from total inventory after sales, which is not allowed.
   3868    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   3869    * (A value of 0 indicates that the error is generated client-side).
   3870    */
   3871   TALER_EC_MERCHANT_PRIVATE_PATCH_PRODUCTS_TOTAL_LOST_EXCEEDS_STOCKS = 2661,
   3872 
   3873 
   3874   /**
   3875    * The update would have reduced the total amount of product in stock, which is not allowed.
   3876    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3877    * (A value of 0 indicates that the error is generated client-side).
   3878    */
   3879   TALER_EC_MERCHANT_PRIVATE_PATCH_PRODUCTS_TOTAL_STOCKED_REDUCED = 2662,
   3880 
   3881 
   3882   /**
   3883    * The update would have reduced the total amount of product sold, which is not allowed.
   3884    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3885    * (A value of 0 indicates that the error is generated client-side).
   3886    */
   3887   TALER_EC_MERCHANT_PRIVATE_PATCH_PRODUCTS_TOTAL_SOLD_REDUCED = 2663,
   3888 
   3889 
   3890   /**
   3891    * The lock request is for more products than we have left (unlocked) in stock.
   3892    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   3893    * (A value of 0 indicates that the error is generated client-side).
   3894    */
   3895   TALER_EC_MERCHANT_PRIVATE_POST_PRODUCTS_LOCK_INSUFFICIENT_STOCKS = 2670,
   3896 
   3897 
   3898   /**
   3899    * The deletion request is for a product that is locked. The product cannot be deleted until the existing offer to expires.
   3900    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3901    * (A value of 0 indicates that the error is generated client-side).
   3902    */
   3903   TALER_EC_MERCHANT_PRIVATE_DELETE_PRODUCTS_CONFLICTING_LOCK = 2680,
   3904 
   3905 
   3906   /**
   3907    * The proposed name for the product group is already in use. You should select a different name.
   3908    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3909    * (A value of 0 indicates that the error is generated client-side).
   3910    */
   3911   TALER_EC_MERCHANT_PRIVATE_PRODUCT_GROUP_CONFLICTING_NAME = 2690,
   3912 
   3913 
   3914   /**
   3915    * The proposed name for the money pot is already in use. You should select a different name.
   3916    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3917    * (A value of 0 indicates that the error is generated client-side).
   3918    */
   3919   TALER_EC_MERCHANT_PRIVATE_MONEY_POT_CONFLICTING_NAME = 2691,
   3920 
   3921 
   3922   /**
   3923    * The total amount in the money pot is different from the amount required by the request. The client should fetch the current pot total and retry with the latest amount to succeed.
   3924    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3925    * (A value of 0 indicates that the error is generated client-side).
   3926    */
   3927   TALER_EC_MERCHANT_PRIVATE_MONEY_POT_CONFLICTING_TOTAL = 2692,
   3928 
   3929 
   3930   /**
   3931    * The requested wire method is not supported by the exchange.
   3932    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3933    * (A value of 0 indicates that the error is generated client-side).
   3934    */
   3935   TALER_EC_MERCHANT_PRIVATE_POST_RESERVES_UNSUPPORTED_WIRE_METHOD = 2700,
   3936 
   3937 
   3938   /**
   3939    * The requested exchange does not allow rewards.
   3940    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3941    * (A value of 0 indicates that the error is generated client-side).
   3942    */
   3943   TALER_EC_MERCHANT_PRIVATE_POST_RESERVES_REWARDS_NOT_ALLOWED = 2701,
   3944 
   3945 
   3946   /**
   3947    * The reserve could not be deleted because it is unknown.
   3948    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   3949    * (A value of 0 indicates that the error is generated client-side).
   3950    */
   3951   TALER_EC_MERCHANT_PRIVATE_DELETE_RESERVES_NO_SUCH_RESERVE = 2710,
   3952 
   3953 
   3954   /**
   3955    * The reserve that was used to fund the rewards has expired.
   3956    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   3957    * (A value of 0 indicates that the error is generated client-side).
   3958    */
   3959   TALER_EC_MERCHANT_PRIVATE_POST_REWARD_AUTHORIZE_RESERVE_EXPIRED = 2750,
   3960 
   3961 
   3962   /**
   3963    * The reserve that was used to fund the rewards was not found in the DB.
   3964    * Returned with an HTTP status code of #MHD_HTTP_SERVICE_UNAVAILABLE (503).
   3965    * (A value of 0 indicates that the error is generated client-side).
   3966    */
   3967   TALER_EC_MERCHANT_PRIVATE_POST_REWARD_AUTHORIZE_RESERVE_UNKNOWN = 2751,
   3968 
   3969 
   3970   /**
   3971    * The backend knows the instance that was supposed to support the reward, and it was configured for rewardping. However, the funds remaining are insufficient to cover the reward, and the merchant should top up the reserve.
   3972    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   3973    * (A value of 0 indicates that the error is generated client-side).
   3974    */
   3975   TALER_EC_MERCHANT_PRIVATE_POST_REWARD_AUTHORIZE_INSUFFICIENT_FUNDS = 2752,
   3976 
   3977 
   3978   /**
   3979    * The backend failed to find a reserve needed to authorize the reward.
   3980    * Returned with an HTTP status code of #MHD_HTTP_SERVICE_UNAVAILABLE (503).
   3981    * (A value of 0 indicates that the error is generated client-side).
   3982    */
   3983   TALER_EC_MERCHANT_PRIVATE_POST_REWARD_AUTHORIZE_RESERVE_NOT_FOUND = 2753,
   3984 
   3985 
   3986   /**
   3987    * The merchant backend encountered a failure in computing the deposit total.
   3988    * Returned with an HTTP status code of #MHD_HTTP_OK (200).
   3989    * (A value of 0 indicates that the error is generated client-side).
   3990    */
   3991   TALER_EC_MERCHANT_PRIVATE_GET_ORDERS_ID_AMOUNT_ARITHMETIC_FAILURE = 2800,
   3992 
   3993 
   3994   /**
   3995    * The template ID already exists.
   3996    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   3997    * (A value of 0 indicates that the error is generated client-side).
   3998    */
   3999   TALER_EC_MERCHANT_PRIVATE_POST_TEMPLATES_CONFLICT_TEMPLATE_EXISTS = 2850,
   4000 
   4001 
   4002   /**
   4003    * The OTP device ID already exists.
   4004    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4005    * (A value of 0 indicates that the error is generated client-side).
   4006    */
   4007   TALER_EC_MERCHANT_PRIVATE_POST_OTP_DEVICES_CONFLICT_OTP_DEVICE_EXISTS = 2851,
   4008 
   4009 
   4010   /**
   4011    * Amount given in the using template and in the template contract. There is a conflict.
   4012    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4013    * (A value of 0 indicates that the error is generated client-side).
   4014    */
   4015   TALER_EC_MERCHANT_POST_USING_TEMPLATES_AMOUNT_CONFLICT_TEMPLATES_CONTRACT_AMOUNT
   4016     = 2860,
   4017 
   4018 
   4019   /**
   4020    * Subject given in the using template and in the template contract. There is a conflict.
   4021    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4022    * (A value of 0 indicates that the error is generated client-side).
   4023    */
   4024   TALER_EC_MERCHANT_POST_USING_TEMPLATES_SUMMARY_CONFLICT_TEMPLATES_CONTRACT_SUBJECT
   4025     = 2861,
   4026 
   4027 
   4028   /**
   4029    * Amount not given in the using template and in the template contract. There is a conflict.
   4030    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4031    * (A value of 0 indicates that the error is generated client-side).
   4032    */
   4033   TALER_EC_MERCHANT_POST_USING_TEMPLATES_NO_AMOUNT = 2862,
   4034 
   4035 
   4036   /**
   4037    * Subject not given in the using template and in the template contract. There is a conflict.
   4038    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4039    * (A value of 0 indicates that the error is generated client-side).
   4040    */
   4041   TALER_EC_MERCHANT_POST_USING_TEMPLATES_NO_SUMMARY = 2863,
   4042 
   4043 
   4044   /**
   4045    * The selected template has a different type than the one specified in the request of the client. This may happen if the template was updated since the last time the client fetched it. The client should re-fetch the current template and send a request of the correct type.
   4046    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4047    * (A value of 0 indicates that the error is generated client-side).
   4048    */
   4049   TALER_EC_MERCHANT_POST_USING_TEMPLATES_WRONG_TYPE = 2864,
   4050 
   4051 
   4052   /**
   4053    * The selected template does not allow one of the specified products to be included in the order. This may happen if the template was updated since the last time the client fetched it. The client should re-fetch the current template and send a request of the correct type.
   4054    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4055    * (A value of 0 indicates that the error is generated client-side).
   4056    */
   4057   TALER_EC_MERCHANT_POST_USING_TEMPLATES_WRONG_PRODUCT = 2865,
   4058 
   4059 
   4060   /**
   4061    * The selected combination of products does not allow the backend to compute a price for the order in any of the supported currencies. This may happen if the template was updated since the last time the client fetched it or if the wallet assembled an unsupported combination of products. The site administrator might want to specify additional prices for products, while the client should re-fetch the current template and send a request with a combination of products for which prices exist in the same currency.
   4062    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4063    * (A value of 0 indicates that the error is generated client-side).
   4064    */
   4065   TALER_EC_MERCHANT_POST_USING_TEMPLATES_NO_CURRENCY = 2866,
   4066 
   4067 
   4068   /**
   4069    * The webhook ID elready exists.
   4070    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4071    * (A value of 0 indicates that the error is generated client-side).
   4072    */
   4073   TALER_EC_MERCHANT_PRIVATE_POST_WEBHOOKS_CONFLICT_WEBHOOK_EXISTS = 2900,
   4074 
   4075 
   4076   /**
   4077    * The webhook serial elready exists.
   4078    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4079    * (A value of 0 indicates that the error is generated client-side).
   4080    */
   4081   TALER_EC_MERCHANT_PRIVATE_POST_PENDING_WEBHOOKS_CONFLICT_PENDING_WEBHOOK_EXISTS
   4082     = 2910,
   4083 
   4084 
   4085   /**
   4086    * The auditor refused the connection due to a lack of authorization.
   4087    * Returned with an HTTP status code of #MHD_HTTP_UNAUTHORIZED (401).
   4088    * (A value of 0 indicates that the error is generated client-side).
   4089    */
   4090   TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED = 3001,
   4091 
   4092 
   4093   /**
   4094    * This method is not allowed here.
   4095    * Returned with an HTTP status code of #MHD_HTTP_METHOD_NOT_ALLOWED (405).
   4096    * (A value of 0 indicates that the error is generated client-side).
   4097    */
   4098   TALER_EC_AUDITOR_GENERIC_METHOD_NOT_ALLOWED = 3002,
   4099 
   4100 
   4101   /**
   4102    * The signature from the exchange on the deposit confirmation is invalid.
   4103    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   4104    * (A value of 0 indicates that the error is generated client-side).
   4105    */
   4106   TALER_EC_AUDITOR_DEPOSIT_CONFIRMATION_SIGNATURE_INVALID = 3100,
   4107 
   4108 
   4109   /**
   4110    * The exchange key used for the signature on the deposit confirmation was revoked.
   4111    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   4112    * (A value of 0 indicates that the error is generated client-side).
   4113    */
   4114   TALER_EC_AUDITOR_EXCHANGE_SIGNING_KEY_REVOKED = 3101,
   4115 
   4116 
   4117   /**
   4118    * The requested resource could not be found.
   4119    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   4120    * (A value of 0 indicates that the error is generated client-side).
   4121    */
   4122   TALER_EC_AUDITOR_RESOURCE_NOT_FOUND = 3102,
   4123 
   4124 
   4125   /**
   4126    * The URI is missing a path component.
   4127    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   4128    * (A value of 0 indicates that the error is generated client-side).
   4129    */
   4130   TALER_EC_AUDITOR_URI_MISSING_PATH_COMPONENT = 3103,
   4131 
   4132 
   4133   /**
   4134    * Wire transfer attempted with credit and debit party being the same bank account.
   4135    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   4136    * (A value of 0 indicates that the error is generated client-side).
   4137    */
   4138   TALER_EC_BANK_SAME_ACCOUNT = 5101,
   4139 
   4140 
   4141   /**
   4142    * Wire transfer impossible, due to financial limitation of the party that attempted the payment.
   4143    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4144    * (A value of 0 indicates that the error is generated client-side).
   4145    */
   4146   TALER_EC_BANK_UNALLOWED_DEBIT = 5102,
   4147 
   4148 
   4149   /**
   4150    * Negative numbers are not allowed (as value and/or fraction) to instantiate an amount object.
   4151    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   4152    * (A value of 0 indicates that the error is generated client-side).
   4153    */
   4154   TALER_EC_BANK_NEGATIVE_NUMBER_AMOUNT = 5103,
   4155 
   4156 
   4157   /**
   4158    * A too big number was used (as value and/or fraction) to instantiate an amount object.
   4159    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   4160    * (A value of 0 indicates that the error is generated client-side).
   4161    */
   4162   TALER_EC_BANK_NUMBER_TOO_BIG = 5104,
   4163 
   4164 
   4165   /**
   4166    * The bank account referenced in the requested operation was not found.
   4167    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   4168    * (A value of 0 indicates that the error is generated client-side).
   4169    */
   4170   TALER_EC_BANK_UNKNOWN_ACCOUNT = 5106,
   4171 
   4172 
   4173   /**
   4174    * The transaction referenced in the requested operation (typically a reject operation), was not found.
   4175    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   4176    * (A value of 0 indicates that the error is generated client-side).
   4177    */
   4178   TALER_EC_BANK_TRANSACTION_NOT_FOUND = 5107,
   4179 
   4180 
   4181   /**
   4182    * Bank received a malformed amount string.
   4183    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   4184    * (A value of 0 indicates that the error is generated client-side).
   4185    */
   4186   TALER_EC_BANK_BAD_FORMAT_AMOUNT = 5108,
   4187 
   4188 
   4189   /**
   4190    * The client does not own the account credited by the transaction which is to be rejected, so it has no rights do reject it.
   4191    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   4192    * (A value of 0 indicates that the error is generated client-side).
   4193    */
   4194   TALER_EC_BANK_REJECT_NO_RIGHTS = 5109,
   4195 
   4196 
   4197   /**
   4198    * This error code is returned when no known exception types captured the exception.
   4199    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   4200    * (A value of 0 indicates that the error is generated client-side).
   4201    */
   4202   TALER_EC_BANK_UNMANAGED_EXCEPTION = 5110,
   4203 
   4204 
   4205   /**
   4206    * This error code is used for all those exceptions that do not really need a specific error code to return to the client. Used for example when a client is trying to register with a unavailable username.
   4207    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   4208    * (A value of 0 indicates that the error is generated client-side).
   4209    */
   4210   TALER_EC_BANK_SOFT_EXCEPTION = 5111,
   4211 
   4212 
   4213   /**
   4214    * The request UID for a request to transfer funds has already been used, but with different details for the transfer.
   4215    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4216    * (A value of 0 indicates that the error is generated client-side).
   4217    */
   4218   TALER_EC_BANK_TRANSFER_REQUEST_UID_REUSED = 5112,
   4219 
   4220 
   4221   /**
   4222    * The withdrawal operation already has a reserve selected.  The current request conflicts with the existing selection.
   4223    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4224    * (A value of 0 indicates that the error is generated client-side).
   4225    */
   4226   TALER_EC_BANK_WITHDRAWAL_OPERATION_RESERVE_SELECTION_CONFLICT = 5113,
   4227 
   4228 
   4229   /**
   4230    * The wire transfer subject duplicates an existing reserve public key. But wire transfer subjects must be unique.
   4231    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4232    * (A value of 0 indicates that the error is generated client-side).
   4233    */
   4234   TALER_EC_BANK_DUPLICATE_RESERVE_PUB_SUBJECT = 5114,
   4235 
   4236 
   4237   /**
   4238    * The client requested a transaction that is so far in the past, that it has been forgotten by the bank.
   4239    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   4240    * (A value of 0 indicates that the error is generated client-side).
   4241    */
   4242   TALER_EC_BANK_ANCIENT_TRANSACTION_GONE = 5115,
   4243 
   4244 
   4245   /**
   4246    * The client attempted to abort a transaction that was already confirmed.
   4247    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4248    * (A value of 0 indicates that the error is generated client-side).
   4249    */
   4250   TALER_EC_BANK_ABORT_CONFIRM_CONFLICT = 5116,
   4251 
   4252 
   4253   /**
   4254    * The client attempted to confirm a transaction that was already aborted.
   4255    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4256    * (A value of 0 indicates that the error is generated client-side).
   4257    */
   4258   TALER_EC_BANK_CONFIRM_ABORT_CONFLICT = 5117,
   4259 
   4260 
   4261   /**
   4262    * The client attempted to register an account with the same name.
   4263    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4264    * (A value of 0 indicates that the error is generated client-side).
   4265    */
   4266   TALER_EC_BANK_REGISTER_CONFLICT = 5118,
   4267 
   4268 
   4269   /**
   4270    * The client attempted to confirm a withdrawal operation before the wallet posted the required details.
   4271    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   4272    * (A value of 0 indicates that the error is generated client-side).
   4273    */
   4274   TALER_EC_BANK_POST_WITHDRAWAL_OPERATION_REQUIRED = 5119,
   4275 
   4276 
   4277   /**
   4278    * The client tried to register a new account under a reserved username (like 'admin' for example).
   4279    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4280    * (A value of 0 indicates that the error is generated client-side).
   4281    */
   4282   TALER_EC_BANK_RESERVED_USERNAME_CONFLICT = 5120,
   4283 
   4284 
   4285   /**
   4286    * The client tried to register a new account with an username already in use.
   4287    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4288    * (A value of 0 indicates that the error is generated client-side).
   4289    */
   4290   TALER_EC_BANK_REGISTER_USERNAME_REUSE = 5121,
   4291 
   4292 
   4293   /**
   4294    * The client tried to register a new account with a payto:// URI already in use.
   4295    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4296    * (A value of 0 indicates that the error is generated client-side).
   4297    */
   4298   TALER_EC_BANK_REGISTER_PAYTO_URI_REUSE = 5122,
   4299 
   4300 
   4301   /**
   4302    * The client tried to delete an account with a non null balance.
   4303    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4304    * (A value of 0 indicates that the error is generated client-side).
   4305    */
   4306   TALER_EC_BANK_ACCOUNT_BALANCE_NOT_ZERO = 5123,
   4307 
   4308 
   4309   /**
   4310    * The client tried to create a transaction or an operation that credit an unknown account.
   4311    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4312    * (A value of 0 indicates that the error is generated client-side).
   4313    */
   4314   TALER_EC_BANK_UNKNOWN_CREDITOR = 5124,
   4315 
   4316 
   4317   /**
   4318    * The client tried to create a transaction or an operation that debit an unknown account.
   4319    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4320    * (A value of 0 indicates that the error is generated client-side).
   4321    */
   4322   TALER_EC_BANK_UNKNOWN_DEBTOR = 5125,
   4323 
   4324 
   4325   /**
   4326    * The client tried to perform an action prohibited for exchange accounts.
   4327    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4328    * (A value of 0 indicates that the error is generated client-side).
   4329    */
   4330   TALER_EC_BANK_ACCOUNT_IS_EXCHANGE = 5126,
   4331 
   4332 
   4333   /**
   4334    * The client tried to perform an action reserved for exchange accounts.
   4335    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4336    * (A value of 0 indicates that the error is generated client-side).
   4337    */
   4338   TALER_EC_BANK_ACCOUNT_IS_NOT_EXCHANGE = 5127,
   4339 
   4340 
   4341   /**
   4342    * Received currency conversion is wrong.
   4343    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4344    * (A value of 0 indicates that the error is generated client-side).
   4345    */
   4346   TALER_EC_BANK_BAD_CONVERSION = 5128,
   4347 
   4348 
   4349   /**
   4350    * The account referenced in this operation is missing tan info for the chosen channel.
   4351    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4352    * (A value of 0 indicates that the error is generated client-side).
   4353    */
   4354   TALER_EC_BANK_MISSING_TAN_INFO = 5129,
   4355 
   4356 
   4357   /**
   4358    * The client attempted to confirm a transaction with incomplete info.
   4359    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4360    * (A value of 0 indicates that the error is generated client-side).
   4361    */
   4362   TALER_EC_BANK_CONFIRM_INCOMPLETE = 5130,
   4363 
   4364 
   4365   /**
   4366    * The request rate is too high. The server is refusing requests to guard against brute-force attacks.
   4367    * Returned with an HTTP status code of #MHD_HTTP_TOO_MANY_REQUESTS (429).
   4368    * (A value of 0 indicates that the error is generated client-side).
   4369    */
   4370   TALER_EC_BANK_TAN_RATE_LIMITED = 5131,
   4371 
   4372 
   4373   /**
   4374    * This TAN channel is not supported.
   4375    * Returned with an HTTP status code of #MHD_HTTP_NOT_IMPLEMENTED (501).
   4376    * (A value of 0 indicates that the error is generated client-side).
   4377    */
   4378   TALER_EC_BANK_TAN_CHANNEL_NOT_SUPPORTED = 5132,
   4379 
   4380 
   4381   /**
   4382    * Failed to send TAN using the helper script. Either script is not found, or script timeout, or script terminated with a non-successful result.
   4383    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   4384    * (A value of 0 indicates that the error is generated client-side).
   4385    */
   4386   TALER_EC_BANK_TAN_CHANNEL_SCRIPT_FAILED = 5133,
   4387 
   4388 
   4389   /**
   4390    * The client's response to the challenge was invalid.
   4391    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   4392    * (A value of 0 indicates that the error is generated client-side).
   4393    */
   4394   TALER_EC_BANK_TAN_CHALLENGE_FAILED = 5134,
   4395 
   4396 
   4397   /**
   4398    * A non-admin user has tried to change their legal name.
   4399    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4400    * (A value of 0 indicates that the error is generated client-side).
   4401    */
   4402   TALER_EC_BANK_NON_ADMIN_PATCH_LEGAL_NAME = 5135,
   4403 
   4404 
   4405   /**
   4406    * A non-admin user has tried to change their debt limit.
   4407    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4408    * (A value of 0 indicates that the error is generated client-side).
   4409    */
   4410   TALER_EC_BANK_NON_ADMIN_PATCH_DEBT_LIMIT = 5136,
   4411 
   4412 
   4413   /**
   4414    * A non-admin user has tried to change their password whihout providing the current one.
   4415    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4416    * (A value of 0 indicates that the error is generated client-side).
   4417    */
   4418   TALER_EC_BANK_NON_ADMIN_PATCH_MISSING_OLD_PASSWORD = 5137,
   4419 
   4420 
   4421   /**
   4422    * Provided old password does not match current password.
   4423    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4424    * (A value of 0 indicates that the error is generated client-side).
   4425    */
   4426   TALER_EC_BANK_PATCH_BAD_OLD_PASSWORD = 5138,
   4427 
   4428 
   4429   /**
   4430    * An admin user has tried to become an exchange.
   4431    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4432    * (A value of 0 indicates that the error is generated client-side).
   4433    */
   4434   TALER_EC_BANK_PATCH_ADMIN_EXCHANGE = 5139,
   4435 
   4436 
   4437   /**
   4438    * A non-admin user has tried to change their cashout account.
   4439    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4440    * (A value of 0 indicates that the error is generated client-side).
   4441    */
   4442   TALER_EC_BANK_NON_ADMIN_PATCH_CASHOUT = 5140,
   4443 
   4444 
   4445   /**
   4446    * A non-admin user has tried to change their contact info.
   4447    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4448    * (A value of 0 indicates that the error is generated client-side).
   4449    */
   4450   TALER_EC_BANK_NON_ADMIN_PATCH_CONTACT = 5141,
   4451 
   4452 
   4453   /**
   4454    * The client tried to create a transaction that credit the admin account.
   4455    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4456    * (A value of 0 indicates that the error is generated client-side).
   4457    */
   4458   TALER_EC_BANK_ADMIN_CREDITOR = 5142,
   4459 
   4460 
   4461   /**
   4462    * The referenced challenge was not found.
   4463    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   4464    * (A value of 0 indicates that the error is generated client-side).
   4465    */
   4466   TALER_EC_BANK_CHALLENGE_NOT_FOUND = 5143,
   4467 
   4468 
   4469   /**
   4470    * The referenced challenge has expired.
   4471    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4472    * (A value of 0 indicates that the error is generated client-side).
   4473    */
   4474   TALER_EC_BANK_TAN_CHALLENGE_EXPIRED = 5144,
   4475 
   4476 
   4477   /**
   4478    * A non-admin user has tried to create an account with 2fa.
   4479    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4480    * (A value of 0 indicates that the error is generated client-side).
   4481    */
   4482   TALER_EC_BANK_NON_ADMIN_SET_TAN_CHANNEL = 5145,
   4483 
   4484 
   4485   /**
   4486    * A non-admin user has tried to set their minimum cashout amount.
   4487    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4488    * (A value of 0 indicates that the error is generated client-side).
   4489    */
   4490   TALER_EC_BANK_NON_ADMIN_SET_MIN_CASHOUT = 5146,
   4491 
   4492 
   4493   /**
   4494    * Amount of currency conversion it less than the minimum allowed.
   4495    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4496    * (A value of 0 indicates that the error is generated client-side).
   4497    */
   4498   TALER_EC_BANK_CONVERSION_AMOUNT_TO_SMALL = 5147,
   4499 
   4500 
   4501   /**
   4502    * Specified amount will not work for this withdrawal.
   4503    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4504    * (A value of 0 indicates that the error is generated client-side).
   4505    */
   4506   TALER_EC_BANK_AMOUNT_DIFFERS = 5148,
   4507 
   4508 
   4509   /**
   4510    * The backend requires an amount to be specified.
   4511    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4512    * (A value of 0 indicates that the error is generated client-side).
   4513    */
   4514   TALER_EC_BANK_AMOUNT_REQUIRED = 5149,
   4515 
   4516 
   4517   /**
   4518    * Provided password is too short.
   4519    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4520    * (A value of 0 indicates that the error is generated client-side).
   4521    */
   4522   TALER_EC_BANK_PASSWORD_TOO_SHORT = 5150,
   4523 
   4524 
   4525   /**
   4526    * Provided password is too long.
   4527    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4528    * (A value of 0 indicates that the error is generated client-side).
   4529    */
   4530   TALER_EC_BANK_PASSWORD_TOO_LONG = 5151,
   4531 
   4532 
   4533   /**
   4534    * Bank account is locked and cannot authenticate using his password.
   4535    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   4536    * (A value of 0 indicates that the error is generated client-side).
   4537    */
   4538   TALER_EC_BANK_ACCOUNT_LOCKED = 5152,
   4539 
   4540 
   4541   /**
   4542    * The client attempted to update a transaction' details that was already aborted.
   4543    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4544    * (A value of 0 indicates that the error is generated client-side).
   4545    */
   4546   TALER_EC_BANK_UPDATE_ABORT_CONFLICT = 5153,
   4547 
   4548 
   4549   /**
   4550    * The wtid for a request to transfer funds has already been used, but with a different request unpaid.
   4551    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4552    * (A value of 0 indicates that the error is generated client-side).
   4553    */
   4554   TALER_EC_BANK_TRANSFER_WTID_REUSED = 5154,
   4555 
   4556 
   4557   /**
   4558    * A non-admin user has tried to set their conversion rate class
   4559    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4560    * (A value of 0 indicates that the error is generated client-side).
   4561    */
   4562   TALER_EC_BANK_NON_ADMIN_SET_CONVERSION_RATE_CLASS = 5155,
   4563 
   4564 
   4565   /**
   4566    * The referenced conversion rate class was not found
   4567    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4568    * (A value of 0 indicates that the error is generated client-side).
   4569    */
   4570   TALER_EC_BANK_CONVERSION_RATE_CLASS_UNKNOWN = 5156,
   4571 
   4572 
   4573   /**
   4574    * The client tried to use an already taken name.
   4575    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4576    * (A value of 0 indicates that the error is generated client-side).
   4577    */
   4578   TALER_EC_BANK_NAME_REUSE = 5157,
   4579 
   4580 
   4581   /**
   4582    * This subject format is not supported.
   4583    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4584    * (A value of 0 indicates that the error is generated client-side).
   4585    */
   4586   TALER_EC_BANK_UNSUPPORTED_SUBJECT_FORMAT = 5158,
   4587 
   4588 
   4589   /**
   4590    * The derived subject is already used.
   4591    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4592    * (A value of 0 indicates that the error is generated client-side).
   4593    */
   4594   TALER_EC_BANK_DERIVATION_REUSE = 5159,
   4595 
   4596 
   4597   /**
   4598    * The provided signature is invalid.
   4599    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   4600    * (A value of 0 indicates that the error is generated client-side).
   4601    */
   4602   TALER_EC_BANK_BAD_SIGNATURE = 5160,
   4603 
   4604 
   4605   /**
   4606    * The provided timestamp is too old.
   4607    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4608    * (A value of 0 indicates that the error is generated client-side).
   4609    */
   4610   TALER_EC_BANK_OLD_TIMESTAMP = 5161,
   4611 
   4612 
   4613   /**
   4614    * The authorization_pub for a request to transfer funds has already been used for another non recurrent transfer.
   4615    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4616    * (A value of 0 indicates that the error is generated client-side).
   4617    */
   4618   TALER_EC_BANK_TRANSFER_MAPPING_REUSED = 5162,
   4619 
   4620 
   4621   /**
   4622    * The authorization_pub for a request to transfer funds is not currently registered.
   4623    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   4624    * (A value of 0 indicates that the error is generated client-side).
   4625    */
   4626   TALER_EC_BANK_TRANSFER_MAPPING_UNKNOWN = 5163,
   4627 
   4628 
   4629   /**
   4630    * The sync service failed find the account in its database.
   4631    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   4632    * (A value of 0 indicates that the error is generated client-side).
   4633    */
   4634   TALER_EC_SYNC_ACCOUNT_UNKNOWN = 6100,
   4635 
   4636 
   4637   /**
   4638    * The SHA-512 hash provided in the If-None-Match header is malformed.
   4639    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   4640    * (A value of 0 indicates that the error is generated client-side).
   4641    */
   4642   TALER_EC_SYNC_BAD_IF_NONE_MATCH = 6101,
   4643 
   4644 
   4645   /**
   4646    * The SHA-512 hash provided in the If-Match header is malformed or missing.
   4647    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   4648    * (A value of 0 indicates that the error is generated client-side).
   4649    */
   4650   TALER_EC_SYNC_BAD_IF_MATCH = 6102,
   4651 
   4652 
   4653   /**
   4654    * The signature provided in the "Sync-Signature" header is malformed or missing.
   4655    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   4656    * (A value of 0 indicates that the error is generated client-side).
   4657    */
   4658   TALER_EC_SYNC_BAD_SYNC_SIGNATURE = 6103,
   4659 
   4660 
   4661   /**
   4662    * The signature provided in the "Sync-Signature" header does not match the account, old or new Etags.
   4663    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   4664    * (A value of 0 indicates that the error is generated client-side).
   4665    */
   4666   TALER_EC_SYNC_INVALID_SIGNATURE = 6104,
   4667 
   4668 
   4669   /**
   4670    * The "Content-length" field for the upload is not a number.
   4671    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   4672    * (A value of 0 indicates that the error is generated client-side).
   4673    */
   4674   TALER_EC_SYNC_MALFORMED_CONTENT_LENGTH = 6105,
   4675 
   4676 
   4677   /**
   4678    * The "Content-length" field for the upload is too big based on the server's terms of service.
   4679    * Returned with an HTTP status code of #MHD_HTTP_CONTENT_TOO_LARGE (413).
   4680    * (A value of 0 indicates that the error is generated client-side).
   4681    */
   4682   TALER_EC_SYNC_EXCESSIVE_CONTENT_LENGTH = 6106,
   4683 
   4684 
   4685   /**
   4686    * The server is out of memory to handle the upload. Trying again later may succeed.
   4687    * Returned with an HTTP status code of #MHD_HTTP_CONTENT_TOO_LARGE (413).
   4688    * (A value of 0 indicates that the error is generated client-side).
   4689    */
   4690   TALER_EC_SYNC_OUT_OF_MEMORY_ON_CONTENT_LENGTH = 6107,
   4691 
   4692 
   4693   /**
   4694    * The uploaded data does not match the Etag.
   4695    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   4696    * (A value of 0 indicates that the error is generated client-side).
   4697    */
   4698   TALER_EC_SYNC_INVALID_UPLOAD = 6108,
   4699 
   4700 
   4701   /**
   4702    * HTTP server experienced a timeout while awaiting promised payment.
   4703    * Returned with an HTTP status code of #MHD_HTTP_REQUEST_TIMEOUT (408).
   4704    * (A value of 0 indicates that the error is generated client-side).
   4705    */
   4706   TALER_EC_SYNC_PAYMENT_GENERIC_TIMEOUT = 6109,
   4707 
   4708 
   4709   /**
   4710    * Sync could not setup the payment request with its own backend.
   4711    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   4712    * (A value of 0 indicates that the error is generated client-side).
   4713    */
   4714   TALER_EC_SYNC_PAYMENT_CREATE_BACKEND_ERROR = 6110,
   4715 
   4716 
   4717   /**
   4718    * The sync service failed find the backup to be updated in its database.
   4719    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   4720    * (A value of 0 indicates that the error is generated client-side).
   4721    */
   4722   TALER_EC_SYNC_PREVIOUS_BACKUP_UNKNOWN = 6111,
   4723 
   4724 
   4725   /**
   4726    * The "Content-length" field for the upload is missing.
   4727    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   4728    * (A value of 0 indicates that the error is generated client-side).
   4729    */
   4730   TALER_EC_SYNC_MISSING_CONTENT_LENGTH = 6112,
   4731 
   4732 
   4733   /**
   4734    * Sync had problems communicating with its payment backend.
   4735    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   4736    * (A value of 0 indicates that the error is generated client-side).
   4737    */
   4738   TALER_EC_SYNC_GENERIC_BACKEND_ERROR = 6113,
   4739 
   4740 
   4741   /**
   4742    * Sync experienced a timeout communicating with its payment backend.
   4743    * Returned with an HTTP status code of #MHD_HTTP_GATEWAY_TIMEOUT (504).
   4744    * (A value of 0 indicates that the error is generated client-side).
   4745    */
   4746   TALER_EC_SYNC_GENERIC_BACKEND_TIMEOUT = 6114,
   4747 
   4748 
   4749   /**
   4750    * The wallet does not implement a version of the exchange protocol that is compatible with the protocol version of the exchange.
   4751    * Returned with an HTTP status code of #MHD_HTTP_NOT_IMPLEMENTED (501).
   4752    * (A value of 0 indicates that the error is generated client-side).
   4753    */
   4754   TALER_EC_WALLET_EXCHANGE_PROTOCOL_VERSION_INCOMPATIBLE = 7000,
   4755 
   4756 
   4757   /**
   4758    * The wallet encountered an unexpected exception.  This is likely a bug in the wallet implementation.
   4759    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   4760    * (A value of 0 indicates that the error is generated client-side).
   4761    */
   4762   TALER_EC_WALLET_UNEXPECTED_EXCEPTION = 7001,
   4763 
   4764 
   4765   /**
   4766    * The wallet received a response from a server, but the response can't be parsed.
   4767    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4768    * (A value of 0 indicates that the error is generated client-side).
   4769    */
   4770   TALER_EC_WALLET_RECEIVED_MALFORMED_RESPONSE = 7002,
   4771 
   4772 
   4773   /**
   4774    * The wallet tried to make a network request, but it received no response.
   4775    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4776    * (A value of 0 indicates that the error is generated client-side).
   4777    */
   4778   TALER_EC_WALLET_NETWORK_ERROR = 7003,
   4779 
   4780 
   4781   /**
   4782    * The wallet tried to make a network request, but it was throttled.
   4783    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4784    * (A value of 0 indicates that the error is generated client-side).
   4785    */
   4786   TALER_EC_WALLET_HTTP_REQUEST_THROTTLED = 7004,
   4787 
   4788 
   4789   /**
   4790    * The wallet made a request to a service, but received an error response it does not know how to handle.
   4791    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4792    * (A value of 0 indicates that the error is generated client-side).
   4793    */
   4794   TALER_EC_WALLET_UNEXPECTED_REQUEST_ERROR = 7005,
   4795 
   4796 
   4797   /**
   4798    * The denominations offered by the exchange are insufficient.  Likely the exchange is badly configured or not maintained.
   4799    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4800    * (A value of 0 indicates that the error is generated client-side).
   4801    */
   4802   TALER_EC_WALLET_EXCHANGE_DENOMINATIONS_INSUFFICIENT = 7006,
   4803 
   4804 
   4805   /**
   4806    * The wallet does not support the operation requested by a client.
   4807    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4808    * (A value of 0 indicates that the error is generated client-side).
   4809    */
   4810   TALER_EC_WALLET_CORE_API_OPERATION_UNKNOWN = 7007,
   4811 
   4812 
   4813   /**
   4814    * The given taler://pay URI is invalid.
   4815    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4816    * (A value of 0 indicates that the error is generated client-side).
   4817    */
   4818   TALER_EC_WALLET_INVALID_TALER_PAY_URI = 7008,
   4819 
   4820 
   4821   /**
   4822    * The signature on a coin by the exchange's denomination key is invalid after unblinding it.
   4823    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4824    * (A value of 0 indicates that the error is generated client-side).
   4825    */
   4826   TALER_EC_WALLET_EXCHANGE_COIN_SIGNATURE_INVALID = 7009,
   4827 
   4828 
   4829   /**
   4830    * The wallet core service is not available.
   4831    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4832    * (A value of 0 indicates that the error is generated client-side).
   4833    */
   4834   TALER_EC_WALLET_CORE_NOT_AVAILABLE = 7011,
   4835 
   4836 
   4837   /**
   4838    * The bank has aborted a withdrawal operation, and thus a withdrawal can't complete.
   4839    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4840    * (A value of 0 indicates that the error is generated client-side).
   4841    */
   4842   TALER_EC_WALLET_WITHDRAWAL_OPERATION_ABORTED_BY_BANK = 7012,
   4843 
   4844 
   4845   /**
   4846    * An HTTP request made by the wallet timed out.
   4847    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4848    * (A value of 0 indicates that the error is generated client-side).
   4849    */
   4850   TALER_EC_WALLET_HTTP_REQUEST_GENERIC_TIMEOUT = 7013,
   4851 
   4852 
   4853   /**
   4854    * The order has already been claimed by another wallet.
   4855    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4856    * (A value of 0 indicates that the error is generated client-side).
   4857    */
   4858   TALER_EC_WALLET_ORDER_ALREADY_CLAIMED = 7014,
   4859 
   4860 
   4861   /**
   4862    * A group of withdrawal operations (typically for the same reserve at the same exchange) has errors and will be tried again later.
   4863    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4864    * (A value of 0 indicates that the error is generated client-side).
   4865    */
   4866   TALER_EC_WALLET_WITHDRAWAL_GROUP_INCOMPLETE = 7015,
   4867 
   4868 
   4869   /**
   4870    * The signature on a coin by the exchange's denomination key (obtained through the merchant via a reward) is invalid after unblinding it.
   4871    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4872    * (A value of 0 indicates that the error is generated client-side).
   4873    */
   4874   TALER_EC_WALLET_REWARD_COIN_SIGNATURE_INVALID = 7016,
   4875 
   4876 
   4877   /**
   4878    * The wallet does not implement a version of the bank integration API that is compatible with the version offered by the bank.
   4879    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4880    * (A value of 0 indicates that the error is generated client-side).
   4881    */
   4882   TALER_EC_WALLET_BANK_INTEGRATION_PROTOCOL_VERSION_INCOMPATIBLE = 7017,
   4883 
   4884 
   4885   /**
   4886    * The wallet processed a taler://pay URI, but the merchant base URL in the downloaded contract terms does not match the merchant base URL derived from the URI.
   4887    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4888    * (A value of 0 indicates that the error is generated client-side).
   4889    */
   4890   TALER_EC_WALLET_CONTRACT_TERMS_BASE_URL_MISMATCH = 7018,
   4891 
   4892 
   4893   /**
   4894    * The merchant's signature on the contract terms is invalid.
   4895    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4896    * (A value of 0 indicates that the error is generated client-side).
   4897    */
   4898   TALER_EC_WALLET_CONTRACT_TERMS_SIGNATURE_INVALID = 7019,
   4899 
   4900 
   4901   /**
   4902    * The contract terms given by the merchant are malformed.
   4903    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4904    * (A value of 0 indicates that the error is generated client-side).
   4905    */
   4906   TALER_EC_WALLET_CONTRACT_TERMS_MALFORMED = 7020,
   4907 
   4908 
   4909   /**
   4910    * A pending operation failed, and thus the request can't be completed.
   4911    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4912    * (A value of 0 indicates that the error is generated client-side).
   4913    */
   4914   TALER_EC_WALLET_PENDING_OPERATION_FAILED = 7021,
   4915 
   4916 
   4917   /**
   4918    * A payment was attempted, but the merchant had an internal server error (5xx).
   4919    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4920    * (A value of 0 indicates that the error is generated client-side).
   4921    */
   4922   TALER_EC_WALLET_PAY_MERCHANT_SERVER_ERROR = 7022,
   4923 
   4924 
   4925   /**
   4926    * The crypto worker failed.
   4927    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4928    * (A value of 0 indicates that the error is generated client-side).
   4929    */
   4930   TALER_EC_WALLET_CRYPTO_WORKER_ERROR = 7023,
   4931 
   4932 
   4933   /**
   4934    * The crypto worker received a bad request.
   4935    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4936    * (A value of 0 indicates that the error is generated client-side).
   4937    */
   4938   TALER_EC_WALLET_CRYPTO_WORKER_BAD_REQUEST = 7024,
   4939 
   4940 
   4941   /**
   4942    * A KYC step is required before withdrawal can proceed.
   4943    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4944    * (A value of 0 indicates that the error is generated client-side).
   4945    */
   4946   TALER_EC_WALLET_WITHDRAWAL_KYC_REQUIRED = 7025,
   4947 
   4948 
   4949   /**
   4950    * The wallet does not have sufficient balance to create a deposit group.
   4951    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4952    * (A value of 0 indicates that the error is generated client-side).
   4953    */
   4954   TALER_EC_WALLET_DEPOSIT_GROUP_INSUFFICIENT_BALANCE = 7026,
   4955 
   4956 
   4957   /**
   4958    * The wallet does not have sufficient balance to create a peer push payment.
   4959    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4960    * (A value of 0 indicates that the error is generated client-side).
   4961    */
   4962   TALER_EC_WALLET_PEER_PUSH_PAYMENT_INSUFFICIENT_BALANCE = 7027,
   4963 
   4964 
   4965   /**
   4966    * The wallet does not have sufficient balance to pay for an invoice.
   4967    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4968    * (A value of 0 indicates that the error is generated client-side).
   4969    */
   4970   TALER_EC_WALLET_PEER_PULL_PAYMENT_INSUFFICIENT_BALANCE = 7028,
   4971 
   4972 
   4973   /**
   4974    * A group of refresh operations has errors and will be tried again later.
   4975    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4976    * (A value of 0 indicates that the error is generated client-side).
   4977    */
   4978   TALER_EC_WALLET_REFRESH_GROUP_INCOMPLETE = 7029,
   4979 
   4980 
   4981   /**
   4982    * The exchange's self-reported base URL does not match the one that the wallet is using.
   4983    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4984    * (A value of 0 indicates that the error is generated client-side).
   4985    */
   4986   TALER_EC_WALLET_EXCHANGE_BASE_URL_MISMATCH = 7030,
   4987 
   4988 
   4989   /**
   4990    * The order has already been paid by another wallet.
   4991    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   4992    * (A value of 0 indicates that the error is generated client-side).
   4993    */
   4994   TALER_EC_WALLET_ORDER_ALREADY_PAID = 7031,
   4995 
   4996 
   4997   /**
   4998    * An exchange that is required for some request is currently not available.
   4999    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5000    * (A value of 0 indicates that the error is generated client-side).
   5001    */
   5002   TALER_EC_WALLET_EXCHANGE_UNAVAILABLE = 7032,
   5003 
   5004 
   5005   /**
   5006    * An exchange entry is still used by the exchange, thus it can't be deleted without purging.
   5007    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5008    * (A value of 0 indicates that the error is generated client-side).
   5009    */
   5010   TALER_EC_WALLET_EXCHANGE_ENTRY_USED = 7033,
   5011 
   5012 
   5013   /**
   5014    * The wallet database is unavailable and the wallet thus is not operational.
   5015    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5016    * (A value of 0 indicates that the error is generated client-side).
   5017    */
   5018   TALER_EC_WALLET_DB_UNAVAILABLE = 7034,
   5019 
   5020 
   5021   /**
   5022    * A taler:// URI is malformed and can't be parsed.
   5023    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5024    * (A value of 0 indicates that the error is generated client-side).
   5025    */
   5026   TALER_EC_WALLET_TALER_URI_MALFORMED = 7035,
   5027 
   5028 
   5029   /**
   5030    * A wallet-core request was cancelled and thus can't provide a response.
   5031    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5032    * (A value of 0 indicates that the error is generated client-side).
   5033    */
   5034   TALER_EC_WALLET_CORE_REQUEST_CANCELLED = 7036,
   5035 
   5036 
   5037   /**
   5038    * A wallet-core request failed because the user needs to first accept the exchange's terms of service.
   5039    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5040    * (A value of 0 indicates that the error is generated client-side).
   5041    */
   5042   TALER_EC_WALLET_EXCHANGE_TOS_NOT_ACCEPTED = 7037,
   5043 
   5044 
   5045   /**
   5046    * An exchange entry could not be updated, as the exchange's new details conflict with the new details.
   5047    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5048    * (A value of 0 indicates that the error is generated client-side).
   5049    */
   5050   TALER_EC_WALLET_EXCHANGE_ENTRY_UPDATE_CONFLICT = 7038,
   5051 
   5052 
   5053   /**
   5054    * The wallet's information about the exchange is outdated.
   5055    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5056    * (A value of 0 indicates that the error is generated client-side).
   5057    */
   5058   TALER_EC_WALLET_EXCHANGE_ENTRY_OUTDATED = 7039,
   5059 
   5060 
   5061   /**
   5062    * The merchant needs to do KYC first, the payment could not be completed.
   5063    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5064    * (A value of 0 indicates that the error is generated client-side).
   5065    */
   5066   TALER_EC_WALLET_PAY_MERCHANT_KYC_MISSING = 7040,
   5067 
   5068 
   5069   /**
   5070    * A peer-pull-debit transaction was aborted because the exchange reported the purse as gone.
   5071    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5072    * (A value of 0 indicates that the error is generated client-side).
   5073    */
   5074   TALER_EC_WALLET_PEER_PULL_DEBIT_PURSE_GONE = 7041,
   5075 
   5076 
   5077   /**
   5078    * A transaction was aborted on explicit request by the user.
   5079    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5080    * (A value of 0 indicates that the error is generated client-side).
   5081    */
   5082   TALER_EC_WALLET_TRANSACTION_ABORTED_BY_USER = 7042,
   5083 
   5084 
   5085   /**
   5086    * A transaction was abandoned on explicit request by the user.
   5087    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5088    * (A value of 0 indicates that the error is generated client-side).
   5089    */
   5090   TALER_EC_WALLET_TRANSACTION_ABANDONED_BY_USER = 7043,
   5091 
   5092 
   5093   /**
   5094    * A payment was attempted, but the merchant claims the order is gone (likely expired).
   5095    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5096    * (A value of 0 indicates that the error is generated client-side).
   5097    */
   5098   TALER_EC_WALLET_PAY_MERCHANT_ORDER_GONE = 7044,
   5099 
   5100 
   5101   /**
   5102    * The wallet does not have an entry for the requested exchange.
   5103    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5104    * (A value of 0 indicates that the error is generated client-side).
   5105    */
   5106   TALER_EC_WALLET_EXCHANGE_ENTRY_NOT_FOUND = 7045,
   5107 
   5108 
   5109   /**
   5110    * The wallet is not able to process the request due to the transaction's state.
   5111    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5112    * (A value of 0 indicates that the error is generated client-side).
   5113    */
   5114   TALER_EC_WALLET_REQUEST_TRANSACTION_STATE_UNSUPPORTED = 7046,
   5115 
   5116 
   5117   /**
   5118    * A transaction could not be processed due to an unrecoverable protocol violation.
   5119    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5120    * (A value of 0 indicates that the error is generated client-side).
   5121    */
   5122   TALER_EC_WALLET_TRANSACTION_PROTOCOL_VIOLATION = 7047,
   5123 
   5124 
   5125   /**
   5126    * A parameter in the request is malformed or missing.
   5127    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5128    * (A value of 0 indicates that the error is generated client-side).
   5129    */
   5130   TALER_EC_WALLET_CORE_API_BAD_REQUEST = 7048,
   5131 
   5132 
   5133   /**
   5134    * The order could not be found. Maybe the merchant deleted it.
   5135    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5136    * (A value of 0 indicates that the error is generated client-side).
   5137    */
   5138   TALER_EC_WALLET_MERCHANT_ORDER_NOT_FOUND = 7049,
   5139 
   5140 
   5141   /**
   5142    * The wallet's balance for paying a merchant is insufficient.
   5143    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5144    * (A value of 0 indicates that the error is generated client-side).
   5145    */
   5146   TALER_EC_WALLET_PAY_MERCHANT_INSUFFICIENT_BALANCE = 7050,
   5147 
   5148 
   5149   /**
   5150    * The wallet does not have a purchase for the requested order.
   5151    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5152    * (A value of 0 indicates that the error is generated client-side).
   5153    */
   5154   TALER_EC_WALLET_PURCHASE_NOT_FOUND = 7051,
   5155 
   5156 
   5157   /**
   5158    * The wallet does not have a transaction with the requested transaction identifier.
   5159    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5160    * (A value of 0 indicates that the error is generated client-side).
   5161    */
   5162   TALER_EC_WALLET_TRANSACTION_NOT_FOUND = 7052,
   5163 
   5164 
   5165   /**
   5166    * The requested action is not supported for this type of transaction.
   5167    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5168    * (A value of 0 indicates that the error is generated client-side).
   5169    */
   5170   TALER_EC_WALLET_TRANSACTION_ACTION_UNSUPPORTED = 7053,
   5171 
   5172 
   5173   /**
   5174    * The operation would exceed a limit imposed by the exchange that the user cannot raise by completing a KYC process.
   5175    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5176    * (A value of 0 indicates that the error is generated client-side).
   5177    */
   5178   TALER_EC_WALLET_KYC_LIMIT_EXCEEDED = 7054,
   5179 
   5180 
   5181   /**
   5182    * The wallet does not know an exchange that can be used for this operation. Check that an exchange for the requested currency has been added to the wallet.
   5183    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5184    * (A value of 0 indicates that the error is generated client-side).
   5185    */
   5186   TALER_EC_WALLET_NO_SUITABLE_EXCHANGE = 7055,
   5187 
   5188 
   5189   /**
   5190    * The wallet does not have a known bank account with the requested identifier.
   5191    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5192    * (A value of 0 indicates that the error is generated client-side).
   5193    */
   5194   TALER_EC_WALLET_BANK_ACCOUNT_NOT_FOUND = 7056,
   5195 
   5196 
   5197   /**
   5198    * The exchange does not know the contract of this peer-to-peer payment. It may have expired.
   5199    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5200    * (A value of 0 indicates that the error is generated client-side).
   5201    */
   5202   TALER_EC_WALLET_PEER_CONTRACT_NOT_FOUND = 7057,
   5203 
   5204 
   5205   /**
   5206    * The purse of this peer-to-peer push payment is gone. The sender likely aborted the payment.
   5207    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5208    * (A value of 0 indicates that the error is generated client-side).
   5209    */
   5210   TALER_EC_WALLET_PEER_PUSH_CREDIT_PURSE_GONE = 7058,
   5211 
   5212 
   5213   /**
   5214    * This invoice has already been paid, possibly by another wallet.
   5215    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5216    * (A value of 0 indicates that the error is generated client-side).
   5217    */
   5218   TALER_EC_WALLET_PEER_PULL_DEBIT_ALREADY_PAID = 7059,
   5219 
   5220 
   5221   /**
   5222    * The tokens can not be deleted, as at least one of them is currently being used in a transaction.
   5223    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5224    * (A value of 0 indicates that the error is generated client-side).
   5225    */
   5226   TALER_EC_WALLET_TOKENS_IN_USE = 7060,
   5227 
   5228 
   5229   /**
   5230    * The operation is not supported by the database backend that the wallet is currently running on.
   5231    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5232    * (A value of 0 indicates that the error is generated client-side).
   5233    */
   5234   TALER_EC_WALLET_DB_BACKEND_UNSUPPORTED = 7061,
   5235 
   5236 
   5237   /**
   5238    * The wallet could not use the mailbox service.
   5239    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5240    * (A value of 0 indicates that the error is generated client-side).
   5241    */
   5242   TALER_EC_WALLET_MAILBOX_UNAVAILABLE = 7062,
   5243 
   5244 
   5245   /**
   5246    * The wallet could not register an alias with the directory service.
   5247    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5248    * (A value of 0 indicates that the error is generated client-side).
   5249    */
   5250   TALER_EC_WALLET_ALIAS_REGISTRATION_FAILED = 7063,
   5251 
   5252 
   5253   /**
   5254    * The contract terms use a feature that this version of the wallet does not support. Updating the wallet may help.
   5255    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5256    * (A value of 0 indicates that the error is generated client-side).
   5257    */
   5258   TALER_EC_WALLET_CONTRACT_TERMS_UNSUPPORTED = 7064,
   5259 
   5260 
   5261   /**
   5262    * The exchange served data that is not correctly signed by its master key. The wallet refuses to use this exchange.
   5263    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5264    * (A value of 0 indicates that the error is generated client-side).
   5265    */
   5266   TALER_EC_WALLET_EXCHANGE_SIGNATURE_INVALID = 7065,
   5267 
   5268 
   5269   /**
   5270    * We encountered a timeout with our payment backend.
   5271    * Returned with an HTTP status code of #MHD_HTTP_GATEWAY_TIMEOUT (504).
   5272    * (A value of 0 indicates that the error is generated client-side).
   5273    */
   5274   TALER_EC_ANASTASIS_GENERIC_BACKEND_TIMEOUT = 8000,
   5275 
   5276 
   5277   /**
   5278    * The backend requested payment, but the request is malformed.
   5279    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5280    * (A value of 0 indicates that the error is generated client-side).
   5281    */
   5282   TALER_EC_ANASTASIS_GENERIC_INVALID_PAYMENT_REQUEST = 8001,
   5283 
   5284 
   5285   /**
   5286    * The backend got an unexpected reply from the payment processor.
   5287    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   5288    * (A value of 0 indicates that the error is generated client-side).
   5289    */
   5290   TALER_EC_ANASTASIS_GENERIC_BACKEND_ERROR = 8002,
   5291 
   5292 
   5293   /**
   5294    * The "Content-length" field for the upload is missing.
   5295    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   5296    * (A value of 0 indicates that the error is generated client-side).
   5297    */
   5298   TALER_EC_ANASTASIS_GENERIC_MISSING_CONTENT_LENGTH = 8003,
   5299 
   5300 
   5301   /**
   5302    * The "Content-length" field for the upload is malformed.
   5303    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   5304    * (A value of 0 indicates that the error is generated client-side).
   5305    */
   5306   TALER_EC_ANASTASIS_GENERIC_MALFORMED_CONTENT_LENGTH = 8004,
   5307 
   5308 
   5309   /**
   5310    * The backend failed to setup an order with the payment processor.
   5311    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   5312    * (A value of 0 indicates that the error is generated client-side).
   5313    */
   5314   TALER_EC_ANASTASIS_GENERIC_ORDER_CREATE_BACKEND_ERROR = 8005,
   5315 
   5316 
   5317   /**
   5318    * The backend was not authorized to check for payment with the payment processor.
   5319    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5320    * (A value of 0 indicates that the error is generated client-side).
   5321    */
   5322   TALER_EC_ANASTASIS_GENERIC_PAYMENT_CHECK_UNAUTHORIZED = 8006,
   5323 
   5324 
   5325   /**
   5326    * The backend could not check payment status with the payment processor.
   5327    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5328    * (A value of 0 indicates that the error is generated client-side).
   5329    */
   5330   TALER_EC_ANASTASIS_GENERIC_PAYMENT_CHECK_START_FAILED = 8007,
   5331 
   5332 
   5333   /**
   5334    * The Anastasis provider could not be reached.
   5335    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5336    * (A value of 0 indicates that the error is generated client-side).
   5337    */
   5338   TALER_EC_ANASTASIS_GENERIC_PROVIDER_UNREACHABLE = 8008,
   5339 
   5340 
   5341   /**
   5342    * HTTP server experienced a timeout while awaiting promised payment.
   5343    * Returned with an HTTP status code of #MHD_HTTP_REQUEST_TIMEOUT (408).
   5344    * (A value of 0 indicates that the error is generated client-side).
   5345    */
   5346   TALER_EC_ANASTASIS_PAYMENT_GENERIC_TIMEOUT = 8009,
   5347 
   5348 
   5349   /**
   5350    * The key share is unknown to the provider.
   5351    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   5352    * (A value of 0 indicates that the error is generated client-side).
   5353    */
   5354   TALER_EC_ANASTASIS_TRUTH_UNKNOWN = 8108,
   5355 
   5356 
   5357   /**
   5358    * The authorization method used for the key share is no longer supported by the provider.
   5359    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5360    * (A value of 0 indicates that the error is generated client-side).
   5361    */
   5362   TALER_EC_ANASTASIS_TRUTH_AUTHORIZATION_METHOD_NO_LONGER_SUPPORTED = 8109,
   5363 
   5364 
   5365   /**
   5366    * The client needs to respond to the challenge.
   5367    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   5368    * (A value of 0 indicates that the error is generated client-side).
   5369    */
   5370   TALER_EC_ANASTASIS_TRUTH_CHALLENGE_RESPONSE_REQUIRED = 8110,
   5371 
   5372 
   5373   /**
   5374    * The client's response to the challenge was invalid.
   5375    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   5376    * (A value of 0 indicates that the error is generated client-side).
   5377    */
   5378   TALER_EC_ANASTASIS_TRUTH_CHALLENGE_FAILED = 8111,
   5379 
   5380 
   5381   /**
   5382    * The backend is not aware of having issued the provided challenge code. Either this is the wrong code, or it has expired.
   5383    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   5384    * (A value of 0 indicates that the error is generated client-side).
   5385    */
   5386   TALER_EC_ANASTASIS_TRUTH_CHALLENGE_UNKNOWN = 8112,
   5387 
   5388 
   5389   /**
   5390    * The backend failed to initiate the authorization process.
   5391    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5392    * (A value of 0 indicates that the error is generated client-side).
   5393    */
   5394   TALER_EC_ANASTASIS_TRUTH_AUTHORIZATION_START_FAILED = 8114,
   5395 
   5396 
   5397   /**
   5398    * The authorization succeeded, but the key share is no longer available.
   5399    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   5400    * (A value of 0 indicates that the error is generated client-side).
   5401    */
   5402   TALER_EC_ANASTASIS_TRUTH_KEY_SHARE_GONE = 8115,
   5403 
   5404 
   5405   /**
   5406    * The backend forgot the order we asked the client to pay for
   5407    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   5408    * (A value of 0 indicates that the error is generated client-side).
   5409    */
   5410   TALER_EC_ANASTASIS_TRUTH_ORDER_DISAPPEARED = 8116,
   5411 
   5412 
   5413   /**
   5414    * The backend itself reported a bad exchange interaction.
   5415    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   5416    * (A value of 0 indicates that the error is generated client-side).
   5417    */
   5418   TALER_EC_ANASTASIS_TRUTH_BACKEND_EXCHANGE_BAD = 8117,
   5419 
   5420 
   5421   /**
   5422    * The backend reported a payment status we did not expect.
   5423    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5424    * (A value of 0 indicates that the error is generated client-side).
   5425    */
   5426   TALER_EC_ANASTASIS_TRUTH_UNEXPECTED_PAYMENT_STATUS = 8118,
   5427 
   5428 
   5429   /**
   5430    * The backend failed to setup the order for payment.
   5431    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   5432    * (A value of 0 indicates that the error is generated client-side).
   5433    */
   5434   TALER_EC_ANASTASIS_TRUTH_PAYMENT_CREATE_BACKEND_ERROR = 8119,
   5435 
   5436 
   5437   /**
   5438    * The decryption of the key share failed with the provided key.
   5439    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   5440    * (A value of 0 indicates that the error is generated client-side).
   5441    */
   5442   TALER_EC_ANASTASIS_TRUTH_DECRYPTION_FAILED = 8120,
   5443 
   5444 
   5445   /**
   5446    * The request rate is too high. The server is refusing requests to guard against brute-force attacks.
   5447    * Returned with an HTTP status code of #MHD_HTTP_TOO_MANY_REQUESTS (429).
   5448    * (A value of 0 indicates that the error is generated client-side).
   5449    */
   5450   TALER_EC_ANASTASIS_TRUTH_RATE_LIMITED = 8121,
   5451 
   5452 
   5453   /**
   5454    * A request to issue a challenge is not valid for this authentication method.
   5455    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   5456    * (A value of 0 indicates that the error is generated client-side).
   5457    */
   5458   TALER_EC_ANASTASIS_TRUTH_CHALLENGE_WRONG_METHOD = 8123,
   5459 
   5460 
   5461   /**
   5462    * The backend failed to store the key share because the UUID is already in use.
   5463    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   5464    * (A value of 0 indicates that the error is generated client-side).
   5465    */
   5466   TALER_EC_ANASTASIS_TRUTH_UPLOAD_UUID_EXISTS = 8150,
   5467 
   5468 
   5469   /**
   5470    * The backend failed to store the key share because the authorization method is not supported.
   5471    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   5472    * (A value of 0 indicates that the error is generated client-side).
   5473    */
   5474   TALER_EC_ANASTASIS_TRUTH_UPLOAD_METHOD_NOT_SUPPORTED = 8151,
   5475 
   5476 
   5477   /**
   5478    * The provided phone number is not an acceptable number.
   5479    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   5480    * (A value of 0 indicates that the error is generated client-side).
   5481    */
   5482   TALER_EC_ANASTASIS_SMS_PHONE_INVALID = 8200,
   5483 
   5484 
   5485   /**
   5486    * Failed to run the SMS transmission helper process.
   5487    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5488    * (A value of 0 indicates that the error is generated client-side).
   5489    */
   5490   TALER_EC_ANASTASIS_SMS_HELPER_EXEC_FAILED = 8201,
   5491 
   5492 
   5493   /**
   5494    * Provider failed to send SMS. Helper terminated with a non-successful result.
   5495    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5496    * (A value of 0 indicates that the error is generated client-side).
   5497    */
   5498   TALER_EC_ANASTASIS_SMS_HELPER_COMMAND_FAILED = 8202,
   5499 
   5500 
   5501   /**
   5502    * The provided email address is not an acceptable address.
   5503    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   5504    * (A value of 0 indicates that the error is generated client-side).
   5505    */
   5506   TALER_EC_ANASTASIS_EMAIL_INVALID = 8210,
   5507 
   5508 
   5509   /**
   5510    * Failed to run the E-mail transmission helper process.
   5511    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5512    * (A value of 0 indicates that the error is generated client-side).
   5513    */
   5514   TALER_EC_ANASTASIS_EMAIL_HELPER_EXEC_FAILED = 8211,
   5515 
   5516 
   5517   /**
   5518    * Provider failed to send E-mail. Helper terminated with a non-successful result.
   5519    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5520    * (A value of 0 indicates that the error is generated client-side).
   5521    */
   5522   TALER_EC_ANASTASIS_EMAIL_HELPER_COMMAND_FAILED = 8212,
   5523 
   5524 
   5525   /**
   5526    * The provided postal address is not an acceptable address.
   5527    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   5528    * (A value of 0 indicates that the error is generated client-side).
   5529    */
   5530   TALER_EC_ANASTASIS_POST_INVALID = 8220,
   5531 
   5532 
   5533   /**
   5534    * Failed to run the mail transmission helper process.
   5535    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5536    * (A value of 0 indicates that the error is generated client-side).
   5537    */
   5538   TALER_EC_ANASTASIS_POST_HELPER_EXEC_FAILED = 8221,
   5539 
   5540 
   5541   /**
   5542    * Provider failed to send mail. Helper terminated with a non-successful result.
   5543    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5544    * (A value of 0 indicates that the error is generated client-side).
   5545    */
   5546   TALER_EC_ANASTASIS_POST_HELPER_COMMAND_FAILED = 8222,
   5547 
   5548 
   5549   /**
   5550    * The provided IBAN address is not an acceptable IBAN.
   5551    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   5552    * (A value of 0 indicates that the error is generated client-side).
   5553    */
   5554   TALER_EC_ANASTASIS_IBAN_INVALID = 8230,
   5555 
   5556 
   5557   /**
   5558    * The provider has not yet received the IBAN wire transfer authorizing the disclosure of the key share.
   5559    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   5560    * (A value of 0 indicates that the error is generated client-side).
   5561    */
   5562   TALER_EC_ANASTASIS_IBAN_MISSING_TRANSFER = 8231,
   5563 
   5564 
   5565   /**
   5566    * The backend did not find a TOTP key in the data provided.
   5567    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   5568    * (A value of 0 indicates that the error is generated client-side).
   5569    */
   5570   TALER_EC_ANASTASIS_TOTP_KEY_MISSING = 8240,
   5571 
   5572 
   5573   /**
   5574    * The key provided does not satisfy the format restrictions for an Anastasis TOTP key.
   5575    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   5576    * (A value of 0 indicates that the error is generated client-side).
   5577    */
   5578   TALER_EC_ANASTASIS_TOTP_KEY_INVALID = 8241,
   5579 
   5580 
   5581   /**
   5582    * The given if-none-match header is malformed.
   5583    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   5584    * (A value of 0 indicates that the error is generated client-side).
   5585    */
   5586   TALER_EC_ANASTASIS_POLICY_BAD_IF_NONE_MATCH = 8301,
   5587 
   5588 
   5589   /**
   5590    * The server is out of memory to handle the upload. Trying again later may succeed.
   5591    * Returned with an HTTP status code of #MHD_HTTP_CONTENT_TOO_LARGE (413).
   5592    * (A value of 0 indicates that the error is generated client-side).
   5593    */
   5594   TALER_EC_ANASTASIS_POLICY_OUT_OF_MEMORY_ON_CONTENT_LENGTH = 8304,
   5595 
   5596 
   5597   /**
   5598    * The signature provided in the "Anastasis-Policy-Signature" header is malformed or missing.
   5599    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   5600    * (A value of 0 indicates that the error is generated client-side).
   5601    */
   5602   TALER_EC_ANASTASIS_POLICY_BAD_SIGNATURE = 8305,
   5603 
   5604 
   5605   /**
   5606    * The given if-match header is malformed.
   5607    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   5608    * (A value of 0 indicates that the error is generated client-side).
   5609    */
   5610   TALER_EC_ANASTASIS_POLICY_BAD_IF_MATCH = 8306,
   5611 
   5612 
   5613   /**
   5614    * The uploaded data does not match the Etag.
   5615    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   5616    * (A value of 0 indicates that the error is generated client-side).
   5617    */
   5618   TALER_EC_ANASTASIS_POLICY_INVALID_UPLOAD = 8307,
   5619 
   5620 
   5621   /**
   5622    * The provider is unaware of the requested policy.
   5623    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   5624    * (A value of 0 indicates that the error is generated client-side).
   5625    */
   5626   TALER_EC_ANASTASIS_POLICY_NOT_FOUND = 8350,
   5627 
   5628 
   5629   /**
   5630    * The given action is invalid for the current state of the reducer.
   5631    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5632    * (A value of 0 indicates that the error is generated client-side).
   5633    */
   5634   TALER_EC_ANASTASIS_REDUCER_ACTION_INVALID = 8400,
   5635 
   5636 
   5637   /**
   5638    * The given state of the reducer is invalid.
   5639    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5640    * (A value of 0 indicates that the error is generated client-side).
   5641    */
   5642   TALER_EC_ANASTASIS_REDUCER_STATE_INVALID = 8401,
   5643 
   5644 
   5645   /**
   5646    * The given input to the reducer is invalid.
   5647    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5648    * (A value of 0 indicates that the error is generated client-side).
   5649    */
   5650   TALER_EC_ANASTASIS_REDUCER_INPUT_INVALID = 8402,
   5651 
   5652 
   5653   /**
   5654    * The selected authentication method does not work for the Anastasis provider.
   5655    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5656    * (A value of 0 indicates that the error is generated client-side).
   5657    */
   5658   TALER_EC_ANASTASIS_REDUCER_AUTHENTICATION_METHOD_NOT_SUPPORTED = 8403,
   5659 
   5660 
   5661   /**
   5662    * The given input and action do not work for the current state.
   5663    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5664    * (A value of 0 indicates that the error is generated client-side).
   5665    */
   5666   TALER_EC_ANASTASIS_REDUCER_INPUT_INVALID_FOR_STATE = 8404,
   5667 
   5668 
   5669   /**
   5670    * We experienced an unexpected failure interacting with the backend.
   5671    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5672    * (A value of 0 indicates that the error is generated client-side).
   5673    */
   5674   TALER_EC_ANASTASIS_REDUCER_BACKEND_FAILURE = 8405,
   5675 
   5676 
   5677   /**
   5678    * The contents of a resource file did not match our expectations.
   5679    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5680    * (A value of 0 indicates that the error is generated client-side).
   5681    */
   5682   TALER_EC_ANASTASIS_REDUCER_RESOURCE_MALFORMED = 8406,
   5683 
   5684 
   5685   /**
   5686    * A required resource file is missing.
   5687    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5688    * (A value of 0 indicates that the error is generated client-side).
   5689    */
   5690   TALER_EC_ANASTASIS_REDUCER_RESOURCE_MISSING = 8407,
   5691 
   5692 
   5693   /**
   5694    * An input did not match the regular expression.
   5695    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5696    * (A value of 0 indicates that the error is generated client-side).
   5697    */
   5698   TALER_EC_ANASTASIS_REDUCER_INPUT_REGEX_FAILED = 8408,
   5699 
   5700 
   5701   /**
   5702    * An input did not match the custom validation logic.
   5703    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5704    * (A value of 0 indicates that the error is generated client-side).
   5705    */
   5706   TALER_EC_ANASTASIS_REDUCER_INPUT_VALIDATION_FAILED = 8409,
   5707 
   5708 
   5709   /**
   5710    * Our attempts to download the recovery document failed with all providers. Most likely the personal information you entered differs from the information you provided during the backup process and you should go back to the previous step. Alternatively, if you used a backup provider that is unknown to this application, you should add that provider manually.
   5711    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5712    * (A value of 0 indicates that the error is generated client-side).
   5713    */
   5714   TALER_EC_ANASTASIS_REDUCER_POLICY_LOOKUP_FAILED = 8410,
   5715 
   5716 
   5717   /**
   5718    * Anastasis provider reported a fatal failure.
   5719    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5720    * (A value of 0 indicates that the error is generated client-side).
   5721    */
   5722   TALER_EC_ANASTASIS_REDUCER_BACKUP_PROVIDER_FAILED = 8411,
   5723 
   5724 
   5725   /**
   5726    * Anastasis provider failed to respond to the configuration request.
   5727    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5728    * (A value of 0 indicates that the error is generated client-side).
   5729    */
   5730   TALER_EC_ANASTASIS_REDUCER_PROVIDER_CONFIG_FAILED = 8412,
   5731 
   5732 
   5733   /**
   5734    * The policy we downloaded is malformed. Must have been a client error while creating the backup.
   5735    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5736    * (A value of 0 indicates that the error is generated client-side).
   5737    */
   5738   TALER_EC_ANASTASIS_REDUCER_POLICY_MALFORMED = 8413,
   5739 
   5740 
   5741   /**
   5742    * We failed to obtain the policy, likely due to a network issue.
   5743    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5744    * (A value of 0 indicates that the error is generated client-side).
   5745    */
   5746   TALER_EC_ANASTASIS_REDUCER_NETWORK_FAILED = 8414,
   5747 
   5748 
   5749   /**
   5750    * The recovered secret did not match the required syntax.
   5751    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5752    * (A value of 0 indicates that the error is generated client-side).
   5753    */
   5754   TALER_EC_ANASTASIS_REDUCER_SECRET_MALFORMED = 8415,
   5755 
   5756 
   5757   /**
   5758    * The challenge data provided is too large for the available providers.
   5759    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5760    * (A value of 0 indicates that the error is generated client-side).
   5761    */
   5762   TALER_EC_ANASTASIS_REDUCER_CHALLENGE_DATA_TOO_BIG = 8416,
   5763 
   5764 
   5765   /**
   5766    * The provided core secret is too large for some of the providers.
   5767    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5768    * (A value of 0 indicates that the error is generated client-side).
   5769    */
   5770   TALER_EC_ANASTASIS_REDUCER_SECRET_TOO_BIG = 8417,
   5771 
   5772 
   5773   /**
   5774    * The provider returned in invalid configuration.
   5775    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5776    * (A value of 0 indicates that the error is generated client-side).
   5777    */
   5778   TALER_EC_ANASTASIS_REDUCER_PROVIDER_INVALID_CONFIG = 8418,
   5779 
   5780 
   5781   /**
   5782    * The reducer encountered an internal error, likely a bug that needs to be reported.
   5783    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5784    * (A value of 0 indicates that the error is generated client-side).
   5785    */
   5786   TALER_EC_ANASTASIS_REDUCER_INTERNAL_ERROR = 8419,
   5787 
   5788 
   5789   /**
   5790    * The reducer already synchronized with all providers.
   5791    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5792    * (A value of 0 indicates that the error is generated client-side).
   5793    */
   5794   TALER_EC_ANASTASIS_REDUCER_PROVIDERS_ALREADY_SYNCED = 8420,
   5795 
   5796 
   5797   /**
   5798    * The requested operation is not valid for the cipher used by the selected denomination.
   5799    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   5800    * (A value of 0 indicates that the error is generated client-side).
   5801    */
   5802   TALER_EC_DONAU_GENERIC_INVALID_DENOMINATION_CIPHER_FOR_OPERATION = 8606,
   5803 
   5804 
   5805   /**
   5806    * The Donau failed to perform the operation as it could not find the private keys. This is a problem with the Donau setup, not with the client's request.
   5807    * Returned with an HTTP status code of #MHD_HTTP_SERVICE_UNAVAILABLE (503).
   5808    * (A value of 0 indicates that the error is generated client-side).
   5809    */
   5810   TALER_EC_DONAU_GENERIC_KEYS_MISSING = 8607,
   5811 
   5812 
   5813   /**
   5814    * The signature of the charity key is not valid.
   5815    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   5816    * (A value of 0 indicates that the error is generated client-side).
   5817    */
   5818   TALER_EC_DONAU_CHARITY_SIGNATURE_INVALID = 8608,
   5819 
   5820 
   5821   /**
   5822    * The charity is unknown.
   5823    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   5824    * (A value of 0 indicates that the error is generated client-side).
   5825    */
   5826   TALER_EC_DONAU_CHARITY_NOT_FOUND = 8609,
   5827 
   5828 
   5829   /**
   5830    * The donation amount specified in the request exceeds the limit of the charity.
   5831    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   5832    * (A value of 0 indicates that the error is generated client-side).
   5833    */
   5834   TALER_EC_DONAU_EXCEEDING_DONATION_LIMIT = 8610,
   5835 
   5836 
   5837   /**
   5838    * The Donau is not aware of the donation unit requested for the operation.
   5839    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   5840    * (A value of 0 indicates that the error is generated client-side).
   5841    */
   5842   TALER_EC_DONAU_GENERIC_DONATION_UNIT_UNKNOWN = 8611,
   5843 
   5844 
   5845   /**
   5846    * The Donau failed to talk to the process responsible for its private donation unit keys or the helpers had no donation units (properly) configured.
   5847    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   5848    * (A value of 0 indicates that the error is generated client-side).
   5849    */
   5850   TALER_EC_DONAU_DONATION_UNIT_HELPER_UNAVAILABLE = 8612,
   5851 
   5852 
   5853   /**
   5854    * The Donau failed to talk to the process responsible for its private signing keys.
   5855    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   5856    * (A value of 0 indicates that the error is generated client-side).
   5857    */
   5858   TALER_EC_DONAU_SIGNKEY_HELPER_UNAVAILABLE = 8613,
   5859 
   5860 
   5861   /**
   5862    * The response from the online signing key helper process was malformed.
   5863    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5864    * (A value of 0 indicates that the error is generated client-side).
   5865    */
   5866   TALER_EC_DONAU_SIGNKEY_HELPER_BUG = 8614,
   5867 
   5868 
   5869   /**
   5870    * The number of segments included in the URI does not match the number of segments expected by the endpoint.
   5871    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   5872    * (A value of 0 indicates that the error is generated client-side).
   5873    */
   5874   TALER_EC_DONAU_GENERIC_WRONG_NUMBER_OF_SEGMENTS = 8615,
   5875 
   5876 
   5877   /**
   5878    * The signature of the donation receipt is not valid.
   5879    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   5880    * (A value of 0 indicates that the error is generated client-side).
   5881    */
   5882   TALER_EC_DONAU_DONATION_RECEIPT_SIGNATURE_INVALID = 8616,
   5883 
   5884 
   5885   /**
   5886    * The client reused a unique donor identifier nonce, which is not allowed.
   5887    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   5888    * (A value of 0 indicates that the error is generated client-side).
   5889    */
   5890   TALER_EC_DONAU_DONOR_IDENTIFIER_NONCE_REUSE = 8617,
   5891 
   5892 
   5893   /**
   5894    * A charity with the same public key is already registered.
   5895    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   5896    * (A value of 0 indicates that the error is generated client-side).
   5897    */
   5898   TALER_EC_DONAU_CHARITY_PUB_EXISTS = 8618,
   5899 
   5900 
   5901   /**
   5902    * The donation unit has expired and cannot be used any longer.
   5903    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   5904    * (A value of 0 indicates that the error is generated client-side).
   5905    */
   5906   TALER_EC_DONAU_GENERIC_DONATION_UNIT_EXPIRED = 8619,
   5907 
   5908 
   5909   /**
   5910    * The donation unit is not yet valid. The client should repeat the request in the future when it might succeed.
   5911    * Returned with an HTTP status code of #MHD_HTTP_TOO_EARLY (425).
   5912    * (A value of 0 indicates that the error is generated client-side).
   5913    */
   5914   TALER_EC_DONAU_GENERIC_DONATION_UNIT_TOO_EARLY = 8620,
   5915 
   5916 
   5917   /**
   5918    * The donation unit is not valid for the year specified by the client.
   5919    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   5920    * (A value of 0 indicates that the error is generated client-side).
   5921    */
   5922   TALER_EC_DONAU_GENERIC_DONATION_UNIT_WRONG_YEAR = 8621,
   5923 
   5924 
   5925   /**
   5926    * A generic error happened in the LibEuFin nexus.  See the enclose details JSON for more information.
   5927    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5928    * (A value of 0 indicates that the error is generated client-side).
   5929    */
   5930   TALER_EC_LIBEUFIN_NEXUS_GENERIC_ERROR = 9000,
   5931 
   5932 
   5933   /**
   5934    * An uncaught exception happened in the LibEuFin nexus service.
   5935    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5936    * (A value of 0 indicates that the error is generated client-side).
   5937    */
   5938   TALER_EC_LIBEUFIN_NEXUS_UNCAUGHT_EXCEPTION = 9001,
   5939 
   5940 
   5941   /**
   5942    * A generic error happened in the LibEuFin sandbox.  See the enclose details JSON for more information.
   5943    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   5944    * (A value of 0 indicates that the error is generated client-side).
   5945    */
   5946   TALER_EC_LIBEUFIN_SANDBOX_GENERIC_ERROR = 9500,
   5947 
   5948 
   5949   /**
   5950    * An uncaught exception happened in the LibEuFin sandbox service.
   5951    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   5952    * (A value of 0 indicates that the error is generated client-side).
   5953    */
   5954   TALER_EC_LIBEUFIN_SANDBOX_UNCAUGHT_EXCEPTION = 9501,
   5955 
   5956 
   5957   /**
   5958    * This validation method is not supported by the service.
   5959    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   5960    * (A value of 0 indicates that the error is generated client-side).
   5961    */
   5962   TALER_EC_TALDIR_METHOD_NOT_SUPPORTED = 9600,
   5963 
   5964 
   5965   /**
   5966    * Number of allowed attempts for initiating a challenge exceeded.
   5967    * Returned with an HTTP status code of #MHD_HTTP_TOO_MANY_REQUESTS (429).
   5968    * (A value of 0 indicates that the error is generated client-side).
   5969    */
   5970   TALER_EC_TALDIR_REGISTER_RATE_LIMITED = 9601,
   5971 
   5972 
   5973   /**
   5974    * The service does not know a client with the given client identifier, or the given client secret does not match it. Used where no client has been authenticated yet.
   5975    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   5976    * (A value of 0 indicates that the error is generated client-side).
   5977    */
   5978   TALER_EC_CHALLENGER_GENERIC_CLIENT_UNKNOWN = 9750,
   5979 
   5980 
   5981   /**
   5982    * The client is not authorized to use the given redirect URI.
   5983    * Returned with an HTTP status code of #MHD_HTTP_UNAUTHORIZED (401).
   5984    * (A value of 0 indicates that the error is generated client-side).
   5985    */
   5986   TALER_EC_CHALLENGER_GENERIC_CLIENT_FORBIDDEN_BAD_REDIRECT_URI = 9751,
   5987 
   5988 
   5989   /**
   5990    * The service failed to execute its helper process to send the challenge.
   5991    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   5992    * (A value of 0 indicates that the error is generated client-side).
   5993    */
   5994   TALER_EC_CHALLENGER_HELPER_EXEC_FAILED = 9752,
   5995 
   5996 
   5997   /**
   5998    * The authorization grant is unknown to the service (it could also have been redeemed already or have expired).
   5999    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   6000    * (A value of 0 indicates that the error is generated client-side).
   6001    */
   6002   TALER_EC_CHALLENGER_GRANT_UNKNOWN = 9753,
   6003 
   6004 
   6005   /**
   6006    * The code given is not even well-formed.
   6007    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   6008    * (A value of 0 indicates that the error is generated client-side).
   6009    */
   6010   TALER_EC_CHALLENGER_CLIENT_FORBIDDEN_BAD_CODE = 9754,
   6011 
   6012 
   6013   /**
   6014    * The service is not aware of the referenced validation process, or it has expired.
   6015    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   6016    * (A value of 0 indicates that the error is generated client-side).
   6017    */
   6018   TALER_EC_CHALLENGER_GENERIC_VALIDATION_UNKNOWN = 9755,
   6019 
   6020 
   6021   /**
   6022    * The code given is not valid.
   6023    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   6024    * (A value of 0 indicates that the error is generated client-side).
   6025    */
   6026   TALER_EC_CHALLENGER_CLIENT_FORBIDDEN_INVALID_CODE = 9756,
   6027 
   6028 
   6029   /**
   6030    * Too many attempts have been made, validation is temporarily disabled for this address.
   6031    * Returned with an HTTP status code of #MHD_HTTP_TOO_MANY_REQUESTS (429).
   6032    * (A value of 0 indicates that the error is generated client-side).
   6033    */
   6034   TALER_EC_CHALLENGER_TOO_MANY_ATTEMPTS = 9757,
   6035 
   6036 
   6037   /**
   6038    * The PIN code provided is incorrect.
   6039    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   6040    * (A value of 0 indicates that the error is generated client-side).
   6041    */
   6042   TALER_EC_CHALLENGER_INVALID_PIN = 9758,
   6043 
   6044 
   6045   /**
   6046    * The token cannot be valid as no address was ever provided by the client.
   6047    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   6048    * (A value of 0 indicates that the error is generated client-side).
   6049    */
   6050   TALER_EC_CHALLENGER_MISSING_ADDRESS = 9759,
   6051 
   6052 
   6053   /**
   6054    * The client is not allowed to change the address being validated.
   6055    * Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
   6056    * (A value of 0 indicates that the error is generated client-side).
   6057    */
   6058   TALER_EC_CHALLENGER_CLIENT_FORBIDDEN_READ_ONLY = 9760,
   6059 
   6060 
   6061   /**
   6062    * No challenge was ever transmitted for this validation, so it cannot be solved yet. The user must provide their address first.
   6063    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   6064    * (A value of 0 indicates that the error is generated client-side).
   6065    */
   6066   TALER_EC_CHALLENGER_NO_CHALLENGE_TRANSMITTED = 9761,
   6067 
   6068 
   6069   /**
   6070    * An address field does not match the regular expression configured for it. The detail names the offending field.
   6071    * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
   6072    * (A value of 0 indicates that the error is generated client-side).
   6073    */
   6074   TALER_EC_CHALLENGER_ADDRESS_RESTRICTION_VIOLATED = 9762,
   6075 
   6076 
   6077   /**
   6078    * The address restriction configured for this field is missing its regular expression or the expression failed to compile. This is a server misconfiguration.
   6079    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   6080    * (A value of 0 indicates that the error is generated client-side).
   6081    */
   6082   TALER_EC_CHALLENGER_ADDRESS_RESTRICTION_MALFORMED = 9763,
   6083 
   6084 
   6085   /**
   6086    * The number of times the address may be changed for this validation has been exhausted. The user must request a fresh nonce from the client.
   6087    * Returned with an HTTP status code of #MHD_HTTP_TOO_MANY_REQUESTS (429).
   6088    * (A value of 0 indicates that the error is generated client-side).
   6089    */
   6090   TALER_EC_CHALLENGER_TOO_MANY_ADDRESS_CHANGES = 9764,
   6091 
   6092 
   6093   /**
   6094    * The number of times the challenge may be transmitted for this validation has been exhausted. The user may still try a different address if changes remain.
   6095    * Returned with an HTTP status code of #MHD_HTTP_TOO_MANY_REQUESTS (429).
   6096    * (A value of 0 indicates that the error is generated client-side).
   6097    */
   6098   TALER_EC_CHALLENGER_TOO_MANY_PIN_TRANSMISSIONS = 9765,
   6099 
   6100 
   6101   /**
   6102    * The number of attempts to enter the PIN has been exhausted. The user may still request a retransmission or change the address.
   6103    * Returned with an HTTP status code of #MHD_HTTP_TOO_MANY_REQUESTS (429).
   6104    * (A value of 0 indicates that the error is generated client-side).
   6105    */
   6106   TALER_EC_CHALLENGER_NO_PIN_ATTEMPTS_LEFT = 9766,
   6107 
   6108 
   6109   /**
   6110    * Authentication of the client failed: the client identifier and client secret presented do not match a registered client. Returned where the endpoint authenticates the client, so the reply challenges for credentials.
   6111    * Returned with an HTTP status code of #MHD_HTTP_UNAUTHORIZED (401).
   6112    * (A value of 0 indicates that the error is generated client-side).
   6113    */
   6114   TALER_EC_CHALLENGER_CLIENT_AUTHENTICATION_FAILED = 9767,
   6115 
   6116 
   6117   /**
   6118    * The access token presented is malformed, unknown or expired. Malformed and unknown tokens are deliberately not distinguished.
   6119    * Returned with an HTTP status code of #MHD_HTTP_UNAUTHORIZED (401).
   6120    * (A value of 0 indicates that the error is generated client-side).
   6121    */
   6122   TALER_EC_CHALLENGER_TOKEN_UNKNOWN = 9768,
   6123 
   6124 
   6125   /**
   6126    * The request is invalid as the specified order is unpaid. The client should only call this endpoint after paying the order.
   6127    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   6128    * (A value of 0 indicates that the error is generated client-side).
   6129    */
   6130   TALER_EC_PAIVANA_PAYMENT_MISSING = 9800,
   6131 
   6132 
   6133   /**
   6134    * The merchant backend refused our request to check the payment status. The backend is either down or Paivana is configured badly. The system administrator should check the logs.
   6135    * Returned with an HTTP status code of #MHD_HTTP_BAD_GATEWAY (502).
   6136    * (A value of 0 indicates that the error is generated client-side).
   6137    */
   6138   TALER_EC_PAIVANA_BACKEND_REFUSED = 9801,
   6139 
   6140 
   6141   /**
   6142    * The order specified in the request is unknown to the backend. The client must instantiate the Paivana template first and pay the order before calling this endpoint.
   6143    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   6144    * (A value of 0 indicates that the error is generated client-side).
   6145    */
   6146   TALER_EC_PAIVANA_ORDER_UNKNOWN = 9802,
   6147 
   6148 
   6149   /**
   6150    * The merchant backend returned an unexpected status code. This is probably a protocol incompatibility that should be reported to the developers.
   6151    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   6152    * (A value of 0 indicates that the error is generated client-side).
   6153    */
   6154   TALER_EC_PAIVANA_BACKEND_ERROR = 9803,
   6155 
   6156 
   6157   /**
   6158    * Paivana failed to initialize the request to check the payment status. This should never happen. The system administrator should consult the logs.
   6159    * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
   6160    * (A value of 0 indicates that the error is generated client-side).
   6161    */
   6162   TALER_EC_PAIVANA_GET_ORDER_FAILED = 9804,
   6163 
   6164 
   6165   /**
   6166    * The specified order does not match the specified Website or nonce and thus the order is invalid for the given request. Clients should pay for the correct order for access to the resource.
   6167    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   6168    * (A value of 0 indicates that the error is generated client-side).
   6169    */
   6170   TALER_EC_PAIVANA_WRONG_ORDER = 9805,
   6171 
   6172 
   6173   /**
   6174    * The specified expiration time for the cookie is longer than what the purchase allows. The request may succeed with a shorter expiration time. Alternatively, the user may need to purchase access again.
   6175    * Returned with an HTTP status code of #MHD_HTTP_GONE (410).
   6176    * (A value of 0 indicates that the error is generated client-side).
   6177    */
   6178   TALER_EC_PAIVANA_TOO_LATE = 9806,
   6179 
   6180 
   6181   /**
   6182    * The payment template specified in the request is unknown to the backend.
   6183    * Returned with an HTTP status code of #MHD_HTTP_NOT_FOUND (404).
   6184    * (A value of 0 indicates that the error is generated client-side).
   6185    */
   6186   TALER_EC_PAIVANA_TEMPLATE_UNKNOWN = 9807,
   6187 
   6188 
   6189   /**
   6190    * The paywall functionality is currently disabled. Thus, proofs of payment are unnecessary and also not supported.
   6191    * Returned with an HTTP status code of #MHD_HTTP_NOT_IMPLEMENTED (501).
   6192    * (A value of 0 indicates that the error is generated client-side).
   6193    */
   6194   TALER_EC_PAIVANA_PAYWALL_DISABLED = 9808,
   6195 
   6196 
   6197   /**
   6198    * The website specified in the request is not acceptable for this backend. Somehow the client must have specified an invalid website which is not configured for this Paivana reverse proxy and thus not eligible as a target for the redirect. A developer should check how the client computed the fulfillment_url of the order and fix it.
   6199    * Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
   6200    * (A value of 0 indicates that the error is generated client-side).
   6201    */
   6202   TALER_EC_PAIVANA_INVALID_TARGET = 9809,
   6203 
   6204 
   6205   /**
   6206    * End of error code range.
   6207    * Returned with an HTTP status code of #MHD_HTTP_UNINITIALIZED (0).
   6208    * (A value of 0 indicates that the error is generated client-side).
   6209    */
   6210   TALER_EC_END = 9999,
   6211 
   6212 
   6213 };
   6214 
   6215 
   6216 /**
   6217  * Returns a hint for a given error code.
   6218  *
   6219  * @param ec the error code.
   6220  * @return the hint if it could be found, otherwise "<no hint found>"
   6221  */
   6222 const char *
   6223 TALER_ErrorCode_get_hint (enum TALER_ErrorCode ec);
   6224 
   6225 
   6226 /**
   6227  * Return HTTP status for a given error code.
   6228  *
   6229  * @param ec the error code.
   6230  * @return the HTTP status code for the given @a ec, UINT_MAX if not found
   6231  */
   6232 unsigned int
   6233 TALER_ErrorCode_get_http_status (enum TALER_ErrorCode ec);
   6234 
   6235 
   6236 /**
   6237  * Return HTTP status for a given error code that is guaranteed
   6238  * to work (no corner cases).
   6239  *
   6240  * @param ec the error code.
   6241  * @return the HTTP status code for the given @a ec, 500 if
   6242  *         the @a ec is not found or is a client-side code
   6243  */
   6244 unsigned int
   6245 TALER_ErrorCode_get_http_status_safe (enum TALER_ErrorCode ec);
   6246 
   6247 
   6248 #if 0 /* keep Emacsens' auto-indent happy */
   6249 {
   6250 #endif
   6251 #ifdef __cplusplus
   6252 }
   6253 #endif
   6254 
   6255 #endif