gnunet-svn
[Top][All Lists]
Advanced

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

[taler-donau] branch master updated: implement post delete patch charity


From: gnunet
Subject: [taler-donau] branch master updated: implement post delete patch charity
Date: Sun, 22 Oct 2023 14:13:28 +0200

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

lukas-matyja pushed a commit to branch master
in repository donau.

The following commit(s) were added to refs/heads/master by this push:
     new d6285f9  implement post delete patch charity
d6285f9 is described below

commit d6285f915cda8b6f98cd720e8c4f43487e9fae5d
Author: Matyja Lukas Adam <lukas.matyja@students.bfh.ch>
AuthorDate: Sun Oct 22 14:13:09 2023 +0200

    implement post delete patch charity
---
 src/include/.taler_donau_service.h.swp |  Bin 16384 -> 0 bytes
 src/include/taler_donau_crypto_lib.h   |   11 +-
 src/include/taler_donau_service.h      | 2305 ++------------------------------
 src/include/taler_donau_util.h         |   10 +-
 4 files changed, 139 insertions(+), 2187 deletions(-)

diff --git a/src/include/.taler_donau_service.h.swp 
b/src/include/.taler_donau_service.h.swp
deleted file mode 100644
index e4e8e61..0000000
Binary files a/src/include/.taler_donau_service.h.swp and /dev/null differ
diff --git a/src/include/taler_donau_crypto_lib.h 
b/src/include/taler_donau_crypto_lib.h
index c76c08c..0a5e8a3 100644
--- a/src/include/taler_donau_crypto_lib.h
+++ b/src/include/taler_donau_crypto_lib.h
@@ -86,5 +86,14 @@ struct TALER_DONAU_CharitySignatureP
   struct GNUNET_CRYPTO_EddsaSignature eddsa_signature;
 };
 
-//TODO:Bearer Token
+/**
+ * Token used for access control for admin to the donau.
+ */
+struct TALER_DONAU_BearerToken
+{
+  /**
+   * The token is a 128-bit UUID.
+   */
+  struct GNUNET_Uuid token;
+};
 #endif
diff --git a/src/include/taler_donau_service.h 
b/src/include/taler_donau_service.h
index 4984e05..89a7432 100644
--- a/src/include/taler_donau_service.h
+++ b/src/include/taler_donau_service.h
@@ -1114,2289 +1114,232 @@ TALER_DONAU_charity_get_cancel (
   struct TALER_DONAU_charityGetHandle *rgh);
 
 
-/* ********************* POST /charities/$CHARITY_ID *********************** */
+/* ********************* POST /charities/ *********************** */
 
 /**
- * A BDID blinded unique donation identifier.
+ * @brief A /charities Post Handle
  */
-struct TALER_DONAU_BlindedDonationIdentifier
-{
-  /**
-   * The hash of the donation unit's public key
-   */
-  struct TALER_DonationUnitHashP h_donation_unit_pub;
-  
-  /**
-   * The blinded UDID unique donation identifier and the corresponding
-   * donation unit public key.
-   */
-  struct TALER_DONAU_BlindedUniqueIdentifier blinded_identifier;
-};
-
-/**
- * @brief A /charitys/$CHARITY_ID/batch-issue Handle
- */
-struct TALER_DONAU_BatchIssueHandle;
-
-
-/**
- *  Charity issue receipt transaction.
- */
-struct TALER_DONAU_BatchIssueInput
-{
-  /**
-   * Year of validity.
-   */
-   unsigned int year;
-
-  /**
-   * Hash of the BDIDs to be signed
-   */
-   struct TALER_DONAU_BlindedDonationIdentifier *bdids;
-
-  /**
-   * Charity's eddsa signature.
-   */
-   struct TALER_DonauSignatureP donau_sig;
-
-  /**
-   * Length of BDIDs.
-   */
-   unsigned int bdids_length;
-};
-
-/**
- *  How a successful charity issue request is stored.
- */
-struct TALER_DONAU_BatchIssueStore
-{
-  
-  /**
-   * Year of validity.
-   */
-   unsigned int year;
-
-  /**
-   * Hash of the BDIDs to be signed
-   */
-   struct TALER_EnvelopeHash h_blinded_bdids;
-
-  /**
-   * Charity's eddsa signature.
-   */
-   struct TALER_DonauSignatureP donau_sig;
-};
-
-
-
-/**
- * Information input into the batch-issue process per coin.
- */
-struct TALER_DONAU_BatchIssueCoinInput
-{
-  /**
-   *donation unit of the coin.
-   */
-  const struct TALER_DonationUnitPublicKey *pk;
-
-  /**
-   * Master key material for the coin.
-   */
-  const struct TALER_PlanchetMasterSecretP *ps;
-
-  /**
-   * Age commitment for the coin.
-   */
-  const struct TALER_AgeCommitmentHash *ach;
-
-};
-
-
-/**
- * All the details about a coin that are generated during withdrawal and that
- * may be needed for future operations on the coin.
- */
-struct TALER_DONAU_PrivateCoinDetails
-{
-  /**
-   * Private key of the coin.
-   */
-  struct TALER_CoinSpendPrivateKeyP coin_priv;
-
-  /**
-   * Value used to blind the key for the signature.
-   * Needed for recoup operations.
-   */
-  union TALER_DonationUnitBlindingKeyP bks;
-
-  /**
-   * Signature over the coin.
-   */
-  struct TALER_DonationUnitSignature sig;
-
-  /**
-   * Values contributed from the donau during the
-   * batch-issue protocol.
-   */
-  struct TALER_DonauBatchIssueValues donau_vals;
-};
-
-
-/**
- * Details about a response for a batch-issue request.
- */
-struct TALER_DONAU_BatchIssueResponse
-{
-  /**
-   * HTTP response data.
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-  /**
-   * Details about the response.
-   */
-  union
-  {
-    /**
-     * Details if the status is #MHD_HTTP_OK.
-     */
-    struct TALER_DONAU_PrivateCoinDetails ok;
-
-    /**
-     * Details if the status is #MHD_HTTP_UNAVAILABLE_FOR_LEGAL_REASONS.
-     */
-    struct
-    {
-      /**
-       * Requirement row that the charity should use
-       * to check for its KYC status.
-       */
-      uint64_t requirement_row;
-
-      /**
-       * Hash of the payto-URI of the account to KYC;
-       */
-      struct TALER_PaytoHashP h_payto;
-
-    } unavailable_for_legal_reasons;
-
-    /**
-     * Details if the status is #MHD_HTTP_CONFLICT.
-     */
-    struct
-    {
-      /* TODO: returning full details is not implemented */
-    } conflict;
-
-    /**
-     * Details if the status is #MHD_HTTP_GONE.
-     */
-    struct
-    {
-      /* TODO: returning full details is not implemented */
-    } gone;
-
-  } details;
-};
-
-
-/**
- * Callbacks of this type are used to serve the result of submitting a
- * batch-issue request to a donau.
- *
- * @param cls closure
- * @param wr response details
- */
-typedef void
-(*TALER_DONAU_BatchIssueCallback) (
-  void *cls,
-  const struct TALER_DONAU_BatchIssueResponse *wr);
-
-
-/**
- * BatchIssue a coin from the donau using a 
/charitys/$CHARITY_PUB/issueReceipts
- * request.  This API is typically used by a wallet to batch-issue from a
- * charity.
- *
- * Note that to ensure that no money is lost in case of hardware
- * failures, the caller must have committed (most of) the arguments to
- * disk before calling, and be ready to repeat the request with the
- * same arguments in case of failures.
- *
- * @param curl_ctx The curl context to use
- * @param donau_url The base-URL of the donau
- * @param keys The /keys material from the donau
- * @param charity_priv private key of the charity to batch-issue from
- * @param wci inputs that determine the planchet
- * @param res_cb the callback to call when the final result for this request 
is available
- * @param res_cb_cls closure for @a res_cb
- * @return NULL
- *         if the inputs are invalid (i.e.donation unit key not with this 
donau).
- *         In this case, the callback is not called.
- */
-struct TALER_DONAU_BatchIssueHandle *
-TALER_DONAU_batch-issue (
-  struct GNUNET_CURL_Context *curl_ctx,
-  const char *donau_url,
-  struct TALER_DONAU_Keys *keys,
-  const struct TALER_charityPrivateKeyP *charity_priv,
-  const struct TALER_DONAU_BatchIssueCoinInput *wci,
-  TALER_DONAU_BatchIssueCallback res_cb,
-  void *res_cb_cls);
-
-
-/**
- * Cancel a batch-issue status request.  This function cannot be used
- * on a request handle if a response is already served for it.
- *
- * @param wh the batch-issue handle
- */
-void
-TALER_DONAU_batch-issue_cancel (struct TALER_DONAU_BatchIssueHandle *wh);
-
-
-/**
- * @brief A /charitys/$CHARITY_PUB/batch-batch-issue Handle
- */
-struct TALER_DONAU_BatchBatchIssueHandle;
-
-
-/**
- * Details about a response for a batch batch-issue request.
- */
-struct TALER_DONAU_BatchBatchIssueResponse
-{
-  /**
-   * HTTP response data.
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-  /**
-   * Details about the response.
-   */
-  union
-  {
-    /**
-     * Details if the status is #MHD_HTTP_OK.
-     */
-    struct
-    {
-
-      /**
-       * Array of coins returned by the batch batch-issue operation.
-       */
-      struct TALER_DONAU_PrivateCoinDetails *coins;
-
-      /**
-       * Length of the @e coins array.
-       */
-      unsigned int num_coins;
-    } ok;
-
-    /**
-     * Details if the status is #MHD_HTTP_UNAVAILABLE_FOR_LEGAL_REASONS.
-     */
-    struct
-    {
-
-      /**
-       * Hash of the payto-URI of the account to KYC;
-       */
-      struct TALER_PaytoHashP h_payto;
-
-      /**
-       * Legitimization requirement that the charity should use
-       * to check for its KYC status, 0 if not known.
-       */
-      uint64_t requirement_row;
-    } unavailable_for_legal_reasons;
-
-    /**
-     * Details if the status is #MHD_HTTP_CONFLICT.
-     */
-    struct
-    {
-      /* TODO: returning full details is not implemented */
-    } conflict;
-
-    /**
-     * Details if the status is #MHD_HTTP_GONE.
-     */
-    struct
-    {
-      /* TODO: returning full details is not implemented */
-    } gone;
-
-  } details;
-};
-
-
-/**
- * Callbacks of this type are used to serve the result of submitting a
- * batch batch-issue request to a donau.
- *
- * @param cls closure
- * @param wr response details
- */
-typedef void
-(*TALER_DONAU_BatchBatchIssueCallback) (
-  void *cls,
-  const struct TALER_DONAU_BatchBatchIssueResponse *wr);
-
-
-/**
- * BatchIssue multiple coins from the donau using a 
/charitys/$CHARITY_PUB/batch-withdraw
- * request.  This API is typically used by a wallet to batch-issue many coins 
from a
- * charity.
- *
- * Note that to ensure that no money is lost in case of hardware
- * failures, the caller must have committed (most of) the arguments to
- * disk before calling, and be ready to repeat the request with the
- * same arguments in case of failures.
- *
- * @param curl_ctx The curl context to use
- * @param donau_url The base-URL of the donau
- * @param keys The /keys material from the donau
- * @param charity_priv private key of the charity to batch-issue from
- * @param wci_length number of entries in @a wcis
- * @param wcis inputs that determine the planchets
- * @param res_cb the callback to call when the final result for this request 
is available
- * @param res_cb_cls closure for @a res_cb
- * @return NULL
- *         if the inputs are invalid (i.e.donation unit key not with this 
donau).
- *         In this case, the callback is not called.
- */
-struct TALER_DONAU_BatchBatchIssueHandle *
-TALER_DONAU_batch_batch-issue (
-  struct GNUNET_CURL_Context *curl_ctx,
-  const char *donau_url,
-  const struct TALER_DONAU_Keys *keys,
-  const struct TALER_charityPrivateKeyP *charity_priv,
-  unsigned int wci_length,
-  const struct TALER_DONAU_BatchIssueCoinInput wcis[static wci_length],
-  TALER_DONAU_BatchBatchIssueCallback res_cb,
-  void *res_cb_cls);
-
-
-/**
- * Cancel a batch batch-issue status request.  This function cannot be used on 
a
- * request handle if a response is already served for it.
- *
- * @param wh the batch batch-issue handle
- */
-void
-TALER_DONAU_batch_batch-issue_cancel (
-  struct TALER_DONAU_BatchBatchIssueHandle *wh);
-
-
-/**
- * Response from a withdraw2 request.
- */
-struct TALER_DONAU_BatchIssue2Response
-{
-  /**
-   * HTTP response data
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-  /**
-   * Response details depending on the HTTP status.
-   */
-  union
-  {
-    /**
-     * Details if HTTP status is #MHD_HTTP_OK.
-     */
-    struct
-    {
-      /**
-       * blind signature over the coin
-       */
-      struct TALER_BlindedDonationUnitSignature blind_sig;
-    } ok;
-  } details;
-
-};
-
-/**
- * Callbacks of this type are used to serve the result of submitting a
- * batch-issue request to a donau without the (un)blinding factor.
- *
- * @param cls closure
- * @param w2r response data
- */
-typedef void
-(*TALER_DONAU_BatchIssue2Callback) (
-  void *cls,
-  const struct TALER_DONAU_BatchIssue2Response *w2r);
-
-
-/**
- * @brief A /charitys/$CHARITY_PUB/batch-issue Handle, 2nd variant.
- * This variant does not do the blinding/unblinding and only
- * fetches the blind signature on the already blinded planchet.
- * Used internally by the `struct TALER_DONAU_BatchIssueHandle`
- * implementation as well as for the tipping logic of charities.
- */
-struct TALER_DONAU_BatchIssue2Handle;
-
-
-/**
- * BatchIssue a coin from the donau using a /charitys/$CHARITY_PUB/withdraw
- * request.  This API is typically used by a charity to batch-issue a tip
- * where the blinding factor is unknown to the charity.
- *
- * Note that to ensure that no money is lost in case of hardware
- * failures, the caller must have committed (most of) the arguments to
- * disk before calling, and be ready to repeat the request with the
- * same arguments in case of failures.
- *
- * @param curl_ctx The curl-context to use
- * @param donau_url The base-URL of the donau
- * @param keys The /keys material from the donau
- * @param pd planchet details of the planchet to withdraw
- * @param charity_priv private key of the charity to batch-issue from
- * @param res_cb the callback to call when the final result for this request 
is available
- * @param res_cb_cls closure for @a res_cb
- * @return NULL
- *         if the inputs are invalid (i.e.donation unit key not with this 
donau).
- *         In this case, the callback is not called.
- */
-struct TALER_DONAU_BatchIssue2Handle *
-TALER_DONAU_batch-issue2 (
-  struct GNUNET_CURL_Context *curl_ctx,
-  const char *donau_url,
-  struct TALER_DONAU_Keys *keys,
-  const struct TALER_PlanchetDetail *pd,
-  const struct TALER_charityPrivateKeyP *charity_priv,
-  TALER_DONAU_BatchIssue2Callback res_cb,
-  void *res_cb_cls);
-
-
-/**
- * Cancel a batch-issue status request.  This function cannot be used
- * on a request handle if a response is already served for it.
- *
- * @param wh the batch-issue handle
- */
-void
-TALER_DONAU_batch-issue2_cancel (struct TALER_DONAU_BatchIssue2Handle *wh);
-
-
-/**
- * Response from a batch-batch-issue request (2nd variant).
- */
-struct TALER_DONAU_BatchBatchIssue2Response
-{
-  /**
-   * HTTP response data
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-  /**
-   * Response details depending on the HTTP status.
-   */
-  union
-  {
-    /**
-     * Details if HTTP status is #MHD_HTTP_OK.
-     */
-    struct
-    {
-      /**
-       * array of blind signatures over the coins.
-       */
-      const struct TALER_BlindedDonationUnitSignature *blind_sigs;
-
-      /**
-       * length of @e blind_sigs
-       */
-      unsigned int blind_sigs_length;
-
-    } ok;
-  } details;
-
-};
-
-
-/**
- * Callbacks of this type are used to serve the result of submitting a batch
- * batch-issue request to a donau without the (un)blinding factor.
- *
- * @param cls closure
- * @param bw2r response data
- */
-typedef void
-(*TALER_DONAU_BatchBatchIssue2Callback) (
-  void *cls,
-  const struct TALER_DONAU_BatchBatchIssue2Response *bw2r);
-
-
-/**
- * @brief A /charitys/$CHARITY_PUB/batch-batch-issue Handle, 2nd variant.
- * This variant does not do the blinding/unblinding and only
- * fetches the blind signatures on the already blinded planchets.
- * Used internally by the `struct TALER_DONAU_BatchBatchIssueHandle`
- * implementation as well as for the tipping logic of charities.
- */
-struct TALER_DONAU_BatchBatchIssue2Handle;
-
-
-/**
- * BatchIssue a coin from the donau using a 
/charitys/$CHARITY_PUB/batch-withdraw
- * request.  This API is typically used by a charity to batch-issue a tip
- * where the blinding factor is unknown to the charity.
- *
- * Note that to ensure that no money is lost in case of hardware
- * failures, the caller must have committed (most of) the arguments to
- * disk before calling, and be ready to repeat the request with the
- * same arguments in case of failures.
- *
- * @param curl_ctx The curl context to use
- * @param donau_url The base-URL of the donau
- * @param keys The /keys material from the donau
- * @param pds array of planchet details of the planchet to withdraw
- * @param pds_length number of entries in the @a pds array
- * @param charity_priv private key of the charity to batch-issue from
- * @param res_cb the callback to call when the final result for this request 
is available
- * @param res_cb_cls closure for @a res_cb
- * @return NULL
- *         if the inputs are invalid (i.e.donation unit key not with this 
donau).
- *         In this case, the callback is not called.
- */
-struct TALER_DONAU_BatchBatchIssue2Handle *
-TALER_DONAU_batch_batch-issue2 (
-  struct GNUNET_CURL_Context *curl_ctx,
-  const char *donau_url,
-  const struct TALER_DONAU_Keys *keys,
-  const struct TALER_charityPrivateKeyP *charity_priv,
-  unsigned int pds_length,
-  const struct TALER_PlanchetDetail pds[static pds_length],
-  TALER_DONAU_BatchBatchIssue2Callback res_cb,
-  void *res_cb_cls);
-
-
-/**
- * Cancel a batch batch-issue request.  This function cannot be used
- * on a request handle if a response is already served for it.
- *
- * @param wh the batch-issue handle
- */
-void
-TALER_DONAU_batch_batch-issue2_cancel (
-  struct TALER_DONAU_BatchBatchIssue2Handle *wh);
-
-
-/* ********************* GET /batch-issue/ *********************** */
-
-
-/**
- * @brief A /batch-issue/ GET Handle
- */
-struct TALER_DONAU_SubmitGetHandle;
-
-
-/**
- * Data returned for a successful GET /batch-issue/ request.
- */
-struct TALER_DONAU_GetSubmitResponse
-{
-
-  /**
-   * HTTP response data.
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-  /**
-   * Details about the response.
-   */
-  union
-  {
-
-    /**
-     * Response if the status was #MHD_HTTP_OK
-     */
-    struct TALER_DONAU_SubmitData
-    {
-      /**
-       * donau key used to sign, all zeros if donau did not
-       * yet execute the transaction
-       */
-      struct TALER_DONAU_EddsaPublicKeyP donau_pub;
-
-      /**
-       * signature from the donau over the  data, all zeros if donau did not
-       * yet execute the transaction
-       */
-      struct TALER_DonauSignatureP donau_sig;
-
-      /**
-       * wire transfer identifier used by the donau, all zeros if donau did not
-       * yet execute the transaction
-       */
-      struct TALER_WireTransferIdentifierRawP wtid;
-
-      /**
-       * actual execution time for the wire transfer
-       */
-      struct GNUNET_TIME_Timestamp execution_time;
-
-      /**
-       * contribution to the total amount by this coin, all zeros if donau did 
not
-       * yet execute the transaction
-       */
-      struct TALER_Amount coin_contribution;
-
-    } ok;
-
-    /**
-     * Response if the status was #MHD_HTTP_ACCEPTED
-     */
-    struct
-    {
-
-      /**
-       * planned execution time for the wire transfer
-       */
-      struct GNUNET_TIME_Timestamp execution_time;
-
-      /**
-       * KYC legitimization requirement that the charity should use to check
-       * for its KYC status.
-       */
-      uint64_t requirement_row;
-
-      /**
-       * Current AML state for the account. May explain why transfers are
-       * not happening.
-       */
-      enum TALER_AmlDecisionState aml_decision;
-
-      /**
-       * Set to 'true' if the KYC check is already finished and
-       * the donau is merely waiting for the @e execution_time.
-       */
-      bool kyc_ok;
-    } accepted;
-
-  } details;
-};
-
-
-/**
- * Function called with detailed wire transfer data.
- *
- * @param cls closure
- * @param dr details about the  response
- */
-typedef void
-(*TALER_DONAU_SubmitGetCallback)(
-  void *cls,
-  const struct TALER_DONAU_GetSubmitResponse *dr);
-
-
-/**
- * Obtain the wire transfer details for a given transaction.  Tells the client
- * which aggregate wire transfer the  operation identified by @a coin_pub,
- * @a charity_priv and @a h_contract_terms contributed to.
- *
- * @param ctx curl context
- * @param url donau base URL
- * @param keys donau keys
- * @param charity_priv the charity's private key
- * @param h_wire hash of charity's wire transfer details
- * @param h_contract_terms hash of the proposal data
- * @param coin_pub public key of the coin
- * @param timeout timeout to use for long-polling, 0 for no long polling
- * @param cb function to call with the result
- * @param cb_cls closure for @a cb
- * @return handle to abort request
- */
-struct TALER_DONAU_SubmitGetHandle *
-TALER_DONAU_s_get (
-  struct GNUNET_CURL_Context *ctx,
-  const char *url,
-  struct TALER_DONAU_Keys *keys,
-  const struct TALER_CharityPrivateKeyP *charity_priv,
-  const struct TALER_CharityWireHashP *h_wire,
-  const struct TALER_PrivateContractHashP *h_contract_terms,
-  const struct TALER_CoinSpendPublicKeyP *coin_pub,
-  struct GNUNET_TIME_Relative timeout,
-  TALER_DONAU_SubmitGetCallback cb,
-  void *cb_cls);
-
-
-/**
- * Cancel  wtid request.  This function cannot be used on a request
- * handle if a response is already served for it.
- *
- * @param dwh the wire s request handle
- */
-void
-TALER_DONAU_s_get_cancel (
-  struct TALER_DONAU_SubmitGetHandle *dwh);
-
-
-/**
- * Convenience function.  Verifies a coin's transaction history as
- * returned by the donau.
- *
- * @param dk fee structure for the coin
- * @param coin_pub public key of the coin
- * @param history history of the coin in json encoding
- * @param[out] total how much of the coin has been spent according to @a 
history
- * @return #GNUNET_OK if @a history is valid, #GNUNET_SYSERR if not
- */
-enum GNUNET_GenericReturnValue
-TALER_DONAU_verify_coin_history (
-  const struct TALER_DonationUnitPublicKey *dk,
-  const struct TALER_CoinSpendPublicKeyP *coin_pub,
-  const json_t *history,
-  struct TALER_Amount *total);
-
-
-/**
- * Parse history given in JSON format and return it in binary
- * format.
- *
- * @param keys donau keys
- * @param history JSON array with the history
- * @param charity_pub public key of the charity to inspect
- * @param currency currency we expect the balance to be in
- * @param[out] total_in set to value of credits to charity
- * @param[out] total_out set to value of debits from charity
- * @param history_length number of entries in @a history
- * @param[out] rhistory array of length @a history_length, set to the
- *             parsed history entries
- * @return #GNUNET_OK if history was valid and @a rhistory and @a balance
- *         were set,
- *         #GNUNET_SYSERR if there was a protocol violation in @a history
- */
-enum GNUNET_GenericReturnValue
-TALER_DONAU_parse_charity_history (
-  const struct TALER_DONAU_Keys *keys,
-  const json_t *history,
-  const struct TALER_charityPublicKeyP *charity_pub,
-  const char *currency,
-  struct TALER_Amount *total_in,
-  struct TALER_Amount *total_out,
-  unsigned int history_length,
-  struct TALER_DONAU_charityHistoryEntry rhistory[static history_length]);
-
-
-/**
- * Free memory (potentially) allocated by #TALER_DONAU_parse_charity_history().
- *
- * @param len number of entries in @a rhistory
- * @param[in] rhistory result to free
- */
-void
-TALER_DONAU_free_charity_history (
-  unsigned int len,
-  struct TALER_DONAU_charityHistoryEntry rhistory[static len]);
-
-
-/* *********************  /management *********************** */
-
-
-/**
- * @brief Future Donau's signature key
- */
-struct TALER_DONAU_FutureSigningPublicKey
-{
-  /**
-   * The signing public key
-   */
-  struct TALER_DONAU_EddsaPublicKeyP key;
-
-  /**
-   * Signature by the security module affirming it owns this key.
-   */
-  struct TALER_SecurityModuleSignatureP signkey_secmod_sig;
-
-  /**
-   * Validity start time
-   */
-  struct GNUNET_TIME_Timestamp valid_from;
-
-  /**
-   * Validity expiration time (how long the donau may use it).
-   */
-  struct GNUNET_TIME_Timestamp valid_until;
-
-  /**
-   * Validity expiration time for legal disputes.
-   */
-  struct GNUNET_TIME_Timestamp valid_legal;
-};
-
-
-/**
- * @brief Public information about a future donau's donation unit key
- */
-struct TALER_DONAU_FutureDonationUnitPublicKey
-{
-  /**
-   * The public key
-   */
-  struct TALER_DonationUnitPublicKey key;
-
-  /**
-   * Signature by the security module affirming it owns this key.
-   */
-  struct TALER_SecurityModuleSignatureP donation_unit_secmod_sig;
-
-  /**
-   * Timestamp indicating when thedonation unit key becomes valid
-   */
-  struct GNUNET_TIME_Timestamp valid_from;
-
-  /**
-   * Timestamp indicating when thedonation unit key can’t be used anymore to
-   * batch-issue new coins.
-   */
-  struct GNUNET_TIME_Timestamp batch-issue_valid_until;
-
-  /**
-   * Timestamp indicating when coins of thisdonation unit become invalid.
-   */
-  struct GNUNET_TIME_Timestamp expire_;
-
-  /**
-   * When do signatures with thisdonation unit key become invalid?
-   * After this point, these signatures cannot be used in (legal)
-   * disputes anymore, as the Donau is then allowed to destroy its side
-   * of the evidence.  @e expire_legal is expected to be significantly
-   * larger than @e expire_ (by a year or more).
-   */
-  struct GNUNET_TIME_Timestamp expire_legal;
-
-  /**
-   * The value of thisdonation unit
-   */
-  struct TALER_Amount value;
-
-  /**
-   * The applicable fee for withdrawing a coin of thisdonation unit
-   */
-  struct TALER_Amount fee_batch-issue;
-
-  /**
-   * The applicable fee to spend a coin of thisdonation unit
-   */
-  struct TALER_Amount fee_;
-
-  /**
-   * The applicable fee to melt/refresh a coin of thisdonation unit
-   */
-  struct TALER_Amount fee_refresh;
-
-  /**
-   * The applicable fee to refund a coin of thisdonation unit
-   */
-  struct TALER_Amount fee_refund;
-
-};
-
-
-/**
- * @brief Information about future keys from the donau.
- */
-struct TALER_DONAU_FutureKeys
-{
-
-  /**
-   * Array of the donau's online signing keys.
-   */
-  struct TALER_DONAU_FutureSigningPublicKey *sign_keys;
-
-  /**
-   * Array of the donau'sdonation unit keys.
-   */
-  struct TALER_DONAU_FutureDonationUnitPublicKey *donation_unit_keys;
-
-  /**
-   * Public key of the signkey security module.
-   */
-  struct TALER_SecurityModulePublicKeyP signkey_secmod_public_key;
-
-  /**
-   * Public key of the RSAdonation unit security module.
-   */
-  struct TALER_SecurityModulePublicKeyP donation_unit_secmod_public_key;
-
-  /**
-   * Public key of the CSdonation unit security module.
-   */
-  struct TALER_SecurityModulePublicKeyP donation_unit_secmod_cs_public_key;
-
-  /**
-   * Offline master public key used by this donau.
-   */
-  struct TALER_MasterPublicKeyP master_pub;
-
-  /**
-   * Length of the @e sign_keys array (number of valid entries).
-   */
-  unsigned int num_sign_keys;
-
-  /**
-   * Length of the @e donation_unit_keys array.
-   */
-  unsigned int num_donation_unit_keys;
-
-};
-
-
-/**
- * Response from a /management/keys request.
- */
-struct TALER_DONAU_ManagementGetKeysResponse
-{
-  /**
-   * HTTP response data
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-  /**
-   * Response details depending on the HTTP status.
-   */
-  union
-  {
-    /**
-     * Details if HTTP status is #MHD_HTTP_OK.
-     */
-    struct
-    {
-      /**
-       * information about the various keys used
-       * by the donau
-       */
-      struct TALER_DONAU_FutureKeys keys;
-
-    } ok;
-  } details;
-
-};
-
-
-/**
- * Function called with information about future keys.
- *
- * @param cls closure
- * @param mgr HTTP response data
- */
-typedef void
-(*TALER_DONAU_ManagementGetKeysCallback) (
-  void *cls,
-  const struct TALER_DONAU_ManagementGetKeysResponse *mgr);
-
-
-/**
- * @brief Handle for a GET /management/keys request.
- */
-struct TALER_DONAU_ManagementGetKeysHandle;
-
-
-/**
- * Request future keys from the donau.  The obtained information will be
- * passed to the @a cb.
- *
- * @param ctx the context
- * @param url HTTP base URL for the donau
- * @param cb function to call with the donau's future keys result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_ManagementGetKeysHandle *
-TALER_DONAU_get_management_keys (
-  struct GNUNET_CURL_Context *ctx,
-  const char *url,
-  TALER_DONAU_ManagementGetKeysCallback cb,
-  void *cb_cls);
-
-
-/**
- * Cancel #TALER_DONAU_get_management_keys() operation.
- *
- * @param gh handle of the operation to cancel
- */
-void
-TALER_DONAU_get_management_keys_cancel (
-  struct TALER_DONAU_ManagementGetKeysHandle *gh);
-
-
-/**
- * @brief Public information about a signature on an donau's online signing key
- */
-struct TALER_DONAU_SigningKeySignature
-{
-  /**
-   * The signing public key
-   */
-  struct TALER_DONAU_EddsaPublicKeyP donau_pub;
-
-  /**
-   * Signature over this signing key by the donau's master signature.
-   * Of purpose #TALER_SIGNATURE_MASTER_SIGNING_KEY_VALIDITY
-   */
-  struct TALER_MasterSignatureP master_sig;
-
-};
-
-
-/**
- * @brief Public information about a signature on an donau'sdonation unit key
- */
-struct TALER_DonationUnitKeySignature
-{
-  /**
-   * The hash of thedonation unit's public key
-   */
-  struct TALER_DonationUnitHashP h_donation_unit_pub;
-
-  /**
-   * Signature over thisdonation unit key by the donau's master signature.
-   * Of purpose #TALER_SIGNATURE_MASTER_DENOMINATION_KEY_VALIDITY.
-   */
-  struct TALER_MasterSignatureP master_sig;
-
-};
-
-
-/**
- * Information needed for a POST /management/keys operation.
- */
-struct TALER_DONAU_ManagementPostKeysData
-{
-
-  /**
-   * Array of the master signatures for the donau's online signing keys.
-   */
-  struct TALER_DONAU_SigningKeySignature *sign_sigs;
-
-  /**
-   * Array of the master signatures for the donau'sdonation unit keys.
-   */
-  struct TALER_DonationUnitKeySignature *donation_unit_sigs;
-
-  /**
-   * Length of the @e sign_keys array (number of valid entries).
-   */
-  unsigned int num_sign_sigs;
-
-  /**
-   * Length of the @e donation_unit_keys array.
-   */
-  unsigned int num_donation_unit_sigs;
-};
-
-
-/**
- * Response from a POST /management/keys request.
- */
-struct TALER_DONAU_ManagementPostKeysResponse
-{
-  /**
-   * HTTP response data
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-};
-
-
-/**
- * Function called with information about the post keys operation result.
- *
- * @param cls closure
- * @param mr response data
- */
-typedef void
-(*TALER_DONAU_ManagementPostKeysCallback) (
-  void *cls,
-  const struct TALER_DONAU_ManagementPostKeysResponse *mr);
-
-
-/**
- * @brief Handle for a POST /management/keys request.
- */
-struct TALER_DONAU_ManagementPostKeysHandle;
-
-
-/**
- * Provide master-key signatures to the donau.
- *
- * @param ctx the context
- * @param url HTTP base URL for the donau
- * @param pkd signature data to POST
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_ManagementPostKeysHandle *
-TALER_DONAU_post_management_keys (
-  struct GNUNET_CURL_Context *ctx,
-  const char *url,
-  const struct TALER_DONAU_ManagementPostKeysData *pkd,
-  TALER_DONAU_ManagementPostKeysCallback cb,
-  void *cb_cls);
-
-
-/**
- * Cancel #TALER_DONAU_post_management_keys() operation.
- *
- * @param ph handle of the operation to cancel
- */
-void
-TALER_DONAU_post_management_keys_cancel (
-  struct TALER_DONAU_ManagementPostKeysHandle *ph);
-
-
-/**
- * Information needed for a POST /management/extensions operation.
- *
- * It represents the interface DonauKeysResponse as defined in
- * https://docs.taler.net/design-documents/006-extensions.html#donau
- */
-struct TALER_DONAU_ManagementPostExtensionsData
-{
-  const json_t *extensions;
-  struct TALER_MasterSignatureP extensions_sig;
-};
-
-
-/**
- * Response from a POST /management/extensions request.
- */
-struct TALER_DONAU_ManagementPostExtensionsResponse
-{
-  /**
-   * HTTP response data
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-};
-
-
-/**
- * Function called with information about the post extensions operation result.
- *
- * @param cls closure
- * @param hr HTTP response data
- */
-typedef void
-(*TALER_DONAU_ManagementPostExtensionsCallback) (
-  void *cls,
-  const struct TALER_DONAU_ManagementPostExtensionsResponse *hr);
-
-/**
- * @brief Handle for a POST /management/extensions request.
- */
-struct TALER_DONAU_ManagementPostExtensionsHandle;
-
-
-/**
- * Uploads the configurations of enabled extensions to the donau, signed
- * with the master key.
- *
- * @param ctx the context
- * @param url HTTP base URL for the donau
- * @param ped signature data to POST
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_ManagementPostExtensionsHandle *
-TALER_DONAU_management_post_extensions (
-  struct GNUNET_CURL_Context *ctx,
-  const char *url,
-  const struct TALER_DONAU_ManagementPostExtensionsData *ped,
-  TALER_DONAU_ManagementPostExtensionsCallback cb,
-  void *cb_cls);
-
-
-/**
- * Cancel #TALER_DONAU_management_post_extensions() operation.
- *
- * @param ph handle of the operation to cancel
- */
-void
-TALER_DONAU_management_post_extensions_cancel (
-  struct TALER_DONAU_ManagementPostExtensionsHandle *ph);
-
-
-/**
- * Response from a POST /management/drain request.
- */
-struct TALER_DONAU_ManagementDrainResponse
-{
-  /**
-   * HTTP response data
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-};
-
-
-/**
- * Function called with information about the drain profits result.
- *
- * @param cls closure
- * @param hr HTTP response data
- */
-typedef void
-(*TALER_DONAU_ManagementDrainProfitsCallback) (
-  void *cls,
-  const struct TALER_DONAU_ManagementDrainResponse *hr);
-
-
-/**
- * @brief Handle for a POST /management/drain request.
- */
-struct TALER_DONAU_ManagementDrainProfitsHandle;
-
-
-/**
- * Uploads the drain profits request.
- *
- * @param ctx the context
- * @param url HTTP base URL for the donau
- * @param wtid wire transfer identifier to use
- * @param amount total to transfer
- * @param date when was the request created
- * @param account_section configuration section identifying account to debit
- * @param payto_uri RFC 8905 URI of the account to credit
- * @param master_sig signature affirming the operation
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_ManagementDrainProfitsHandle *
-TALER_DONAU_management_drain_profits (
-  struct GNUNET_CURL_Context *ctx,
-  const char *url,
-  const struct TALER_WireTransferIdentifierRawP *wtid,
-  const struct TALER_Amount *amount,
-  struct GNUNET_TIME_Timestamp date,
-  const char *account_section,
-  const char *payto_uri,
-  const struct TALER_MasterSignatureP *master_sig,
-  TALER_DONAU_ManagementDrainProfitsCallback cb,
-  void *cb_cls);
-
-
-/**
- * Cancel #TALER_DONAU_management_drain_profits() operation.
- *
- * @param dp handle of the operation to cancel
- */
-void
-TALER_DONAU_management_drain_profits_cancel (
-  struct TALER_DONAU_ManagementDrainProfitsHandle *dp);
-
-
-/**
- * Response from a POST /management/DonationUnits/$DENOM/revoke request.
- */
-struct TALER_DONAU_ManagementRevokeDonationUnitResponse
-{
-  /**
-   * HTTP response data
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-};
-
-
-/**
- * Function called with information about the post revocation operation result.
- *
- * @param cls closure
- * @param hr HTTP response data
- */
-typedef void
-(*TALER_DONAU_ManagementRevokeDonationUnitKeyCallback) (
-  void *cls,
-  const struct TALER_DONAU_ManagementRevokeDonationUnitResponse *hr);
-
-
-/**
- * @brief Handle for a POST /management/DonationUnits/$H_DENOM_PUB/revoke 
request.
- */
-struct TALER_DONAU_ManagementRevokeDonationUnitKeyHandle;
-
-
-/**
- * Inform the donau that adonation unit key was revoked.
- *
- * @param ctx the context
- * @param url HTTP base URL for the donau
- * @param h_donation_unit_pub hash of thedonation unit public key that was 
revoked
- * @param master_sig signature affirming the revocation
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_ManagementRevokeDonationUnitKeyHandle *
-TALER_DONAU_management_revoke_donation_unit_key (
-  struct GNUNET_CURL_Context *ctx,
-  const char *url,
-  const struct TALER_DonationUnitHashP *h_donation_unit_pub,
-  const struct TALER_MasterSignatureP *master_sig,
-  TALER_DONAU_ManagementRevokeDonationUnitKeyCallback cb,
-  void *cb_cls);
-
-
-/**
- * Cancel #TALER_DONAU_management_revoke_donation_unit_key() operation.
- *
- * @param rh handle of the operation to cancel
- */
-void
-TALER_DONAU_management_revoke_donation_unit_key_cancel (
-  struct TALER_DONAU_ManagementRevokeDonationUnitKeyHandle *rh);
-
-
-/**
- * Response from a POST /management/signkeys/$SK/revoke request.
- */
-struct TALER_DONAU_ManagementRevokeSigningKeyResponse
-{
-  /**
-   * HTTP response data
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-};
-
-/**
- * Function called with information about the post revocation operation result.
- *
- * @param cls closure
- * @param hr HTTP response data
- */
-typedef void
-(*TALER_DONAU_ManagementRevokeSigningKeyCallback) (
-  void *cls,
-  const struct TALER_DONAU_ManagementRevokeSigningKeyResponse *hr);
-
-
-/**
- * @brief Handle for a POST /management/signkeys/$H_DENOM_PUB/revoke request.
- */
-struct TALER_DONAU_ManagementRevokeSigningKeyHandle;
-
-
-/**
- * Inform the donau that a signing key was revoked.
- *
- * @param ctx the context
- * @param url HTTP base URL for the donau
- * @param donau_pub the public signing key that was revoked
- * @param master_sig signature affirming the revocation
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_ManagementRevokeSigningKeyHandle *
-TALER_DONAU_management_revoke_signing_key (
-  struct GNUNET_CURL_Context *ctx,
-  const char *url,
-  const struct TALER_DONAU_EddsaPublicKeyP *donau_pub,
-  const struct TALER_MasterSignatureP *master_sig,
-  TALER_DONAU_ManagementRevokeSigningKeyCallback cb,
-  void *cb_cls);
-
-
-/**
- * Cancel #TALER_DONAU_management_revoke_signing_key() operation.
- *
- * @param rh handle of the operation to cancel
- */
-void
-TALER_DONAU_management_revoke_signing_key_cancel (
-  struct TALER_DONAU_ManagementRevokeSigningKeyHandle *rh);
-
-
-/**
- * Response from a POST /management/aml-officers request.
- */
-struct TALER_DONAU_ManagementUpdateAmlOfficerResponse
-{
-  /**
-   * HTTP response data
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-};
-
-/**
- * Function called with information about the change to
- * an AML officer status.
- *
- * @param cls closure
- * @param hr HTTP response data
- */
-typedef void
-(*TALER_DONAU_ManagementUpdateAmlOfficerCallback) (
-  void *cls,
-  const struct TALER_DONAU_ManagementUpdateAmlOfficerResponse *hr);
-
-
-/**
- * @brief Handle for a POST /management/aml-officers/$OFFICER_PUB request.
- */
-struct TALER_DONAU_ManagementUpdateAmlOfficer;
-
-
-/**
- * Inform the donau that the status of an AML officer has changed.
- *
- * @param ctx the context
- * @param url HTTP base URL for the donau
- * @param officer_pub the public signing key of the officer
- * @param officer_name name of the officer
- * @param change_date when to affect the status change
- * @param is_active true to enable the officer
- * @param read_only true to only allow read-only access
- * @param master_sig signature affirming the change
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_ManagementUpdateAmlOfficer *
-TALER_DONAU_management_update_aml_officer (
-  struct GNUNET_CURL_Context *ctx,
-  const char *url,
-  const struct TALER_AmlOfficerPublicKeyP *officer_pub,
-  const char *officer_name,
-  struct GNUNET_TIME_Timestamp change_date,
-  bool is_active,
-  bool read_only,
-  const struct TALER_MasterSignatureP *master_sig,
-  TALER_DONAU_ManagementUpdateAmlOfficerCallback cb,
-  void *cb_cls);
-
-
-/**
- * Cancel #TALER_DONAU_management_update_aml_officer() operation.
- *
- * @param rh handle of the operation to cancel
- */
-void
-TALER_DONAU_management_update_aml_officer_cancel (
-  struct TALER_DONAU_ManagementUpdateAmlOfficer *rh);
-
-
-/**
- * Summary data about an AML decision.
- */
-struct TALER_DONAU_AmlDecisionSummary
-{
-  /**
-   * What is the current monthly threshold.
-   */
-  struct TALER_Amount threshold;
-
-  /**
-   * Account the decision was made for.
-   */
-  struct TALER_PaytoHashP h_payto;
-
-  /**
-   * RowID of this decision.
-   */
-  uint64_t rowid;
-
-  /**
-   * Current decision state.
-   */
-  enum TALER_AmlDecisionState current_state;
-};
-
-
-/**
- * Information about AML decisions returned by the donau.
- */
-struct TALER_DONAU_AmlDecisionsResponse
-{
-  /**
-   * HTTP response details.
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-  /**
-   * Details depending on the HTTP response code.
-   */
-  union
-  {
-
-    /**
-     * Information returned on success (#MHD_HTTP_OK).
-     */
-    struct
-    {
-
-      /**
-       * Array of AML decision summaries returned by the donau.
-       */
-      const struct TALER_DONAU_AmlDecisionSummary *decisions;
-
-      /**
-       * Length of the @e decisions array.
-       */
-      unsigned int decisions_length;
-
-    } ok;
-
-  } details;
-};
-
-
-/**
- * Function called with summary information about
- * AML decisions.
- *
- * @param cls closure
- * @param adr response data
- */
-typedef void
-(*TALER_DONAU_LookupAmlDecisionsCallback) (
-  void *cls,
-  const struct TALER_DONAU_AmlDecisionsResponse *adr);
-
-
-/**
- * @brief Handle for a POST /aml/$OFFICER_PUB/decisions/$STATUS request.
- */
-struct TALER_DONAU_LookupAmlDecisions;
-
-
-/**
- * Inform the donau that an AML decision has been taken.
- *
- * @param ctx the context
- * @param donau_url HTTP base URL for the donau
- * @param start row number starting point (exclusive rowid)
- * @param delta number of records to return, negative for descending, positive 
for ascending from start
- * @param state type of AML decisions to return
- * @param officer_priv private key of the deciding AML officer
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_LookupAmlDecisions *
-TALER_DONAU_lookup_aml_decisions (
-  struct GNUNET_CURL_Context *ctx,
-  const char *donau_url,
-  uint64_t start,
-  int delta,
-  enum TALER_AmlDecisionState state,
-  const struct TALER_AmlOfficerPrivateKeyP *officer_priv,
-  TALER_DONAU_LookupAmlDecisionsCallback cb,
-  void *cb_cls);
-
-
-/**
- * Cancel #TALER_DONAU_lookup_aml_decisions() operation.
- *
- * @param lh handle of the operation to cancel
- */
-void
-TALER_DONAU_lookup_aml_decisions_cancel (
-  struct TALER_DONAU_LookupAmlDecisions *lh);
-
-
-/**
- * Detailed data about an AML decision.
- */
-struct TALER_DONAU_AmlDecisionDetail
-{
-  /**
-   * When was the decision made.
-   */
-  struct GNUNET_TIME_Timestamp decision_time;
-
-  /**
-   * New threshold set by this decision.
-   */
-  struct TALER_Amount new_threshold;
-
-  /**
-   * Who made the decision?
-   */
-  struct TALER_AmlOfficerPublicKeyP decider_pub;
-
-  /**
-   * Justification given for the decision.
-   */
-  const char *justification;
-
-  /**
-   * New decision state.
-   */
-  enum TALER_AmlDecisionState new_state;
-};
-
-
-/**
- * Detailed data collected during a KYC process for the account.
- */
-struct TALER_DONAU_KycHistoryDetail
-{
-  /**
-   * Configuration section name of the KYC provider that contributed the data.
-   */
-  const char *provider_section;
-
-  /**
-   * The collected KYC data.
-   */
-  const json_t *attributes;
-
-  /**
-   * When was the data collection made.
-   */
-  struct GNUNET_TIME_Timestamp collection_time;
-
-};
-
-
-/**
- * Information about AML decision details returned by the donau.
- */
-struct TALER_DONAU_AmlDecisionResponse
-{
-  /**
-   * HTTP response details.
-   */
-  struct TALER_DONAU_HttpResponse hr;
-
-  /**
-   * Details depending on the HTTP response code.
-   */
-  union
-  {
-
-    /**
-     * Information returned on success (#MHD_HTTP_OK).
-     */
-    struct
-    {
-
-      /**
-       * Array of AML decision details returned by the donau.
-       */
-      const struct TALER_DONAU_AmlDecisionDetail *aml_history;
-
-      /**
-       * Length of the @e aml_history array.
-       */
-      unsigned int aml_history_length;
-
-      /**
-       * Array of KYC data collections returned by the donau.
-       */
-      const struct TALER_DONAU_KycHistoryDetail *kyc_attributes;
-
-      /**
-       * Length of the @e kyc_attributes array.
-       */
-      unsigned int kyc_attributes_length;
-
-    } ok;
-
-  } details;
-};
-
-
-/**
- * Function called with summary information about
- * AML decisions.
- *
- * @param cls closure
- * @param adr response data
- */
-typedef void
-(*TALER_DONAU_LookupAmlDecisionCallback) (
-  void *cls,
-  const struct TALER_DONAU_AmlDecisionResponse *adr);
-
-
-/**
- * @brief Handle for a POST /aml/$OFFICER_PUB/decision/$H_PAYTO request.
- */
-struct TALER_DONAU_LookupAmlDecision;
-
-
-/**
- * Inform the donau that an AML decision has been taken.
- *
- * @param ctx the context
- * @param donau_url HTTP base URL for the donau
- * @param h_payto which account to return the decision history for
- * @param officer_priv private key of the deciding AML officer
- * @param history true to return the full history, otherwise only the last 
decision
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_LookupAmlDecision *
-TALER_DONAU_lookup_aml_decision (
-  struct GNUNET_CURL_Context *ctx,
-  const char *donau_url,
-  const struct TALER_PaytoHashP *h_payto,
-  const struct TALER_AmlOfficerPrivateKeyP *officer_priv,
-  bool history,
-  TALER_DONAU_LookupAmlDecisionCallback cb,
-  void *cb_cls);
-
-
-/**
- * Cancel #TALER_DONAU_lookup_aml_decision() operation.
- *
- * @param rh handle of the operation to cancel
- */
-void
-TALER_DONAU_lookup_aml_decision_cancel (
-  struct TALER_DONAU_LookupAmlDecision *rh);
-
-
-/**
- * @brief Handle for a POST /aml-decision/$OFFICER_PUB request.
- */
-struct TALER_DONAU_AddAmlDecision;
-
-
-/**
- * Response when making an AML decision.
- */
-struct TALER_DONAU_AddAmlDecisionResponse
-{
-  /**
-   * HTTP response data.
-   */
-  struct TALER_DONAU_HttpResponse hr;
-};
-
-
-/**
- * Function called with information about storing an
- * an AML decision.
- *
- * @param cls closure
- * @param adr response data
- */
-typedef void
-(*TALER_DONAU_AddAmlDecisionCallback) (
-  void *cls,
-  const struct TALER_DONAU_AddAmlDecisionResponse *adr);
-
-/**
- * Inform the donau that an AML decision has been taken.
- *
- * @param ctx the context
- * @param url HTTP base URL for the donau
- * @param justification human-readable justification
- * @param decision_time when was the decision made
- * @param new_threshold at what monthly amount threshold
- *                      should a revision be triggered
- * @param h_payto payto URI hash of the account the
- *                      decision is about
- * @param new_state updated AML state
- * @param kyc_requirements JSON array of KYC requirements being imposed, NULL 
for none
- * @param officer_priv private key of the deciding AML officer
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_AddAmlDecision *
-TALER_DONAU_add_aml_decision (
-  struct GNUNET_CURL_Context *ctx,
-  const char *url,
-  const char *justification,
-  struct GNUNET_TIME_Timestamp decision_time,
-  const struct TALER_Amount *new_threshold,
-  const struct TALER_PaytoHashP *h_payto,
-  enum TALER_AmlDecisionState new_state,
-  const json_t *kyc_requirements,
-  const struct TALER_AmlOfficerPrivateKeyP *officer_priv,
-  TALER_DONAU_AddAmlDecisionCallback cb,
-  void *cb_cls);
+struct TALER_DONAU_CharityPostHandle;
 
 
 /**
- * Cancel #TALER_DONAU_add_aml_decision() operation.
- *
- * @param rh handle of the operation to cancel
- */
-void
-TALER_DONAU_add_aml_decision_cancel (
-  struct TALER_DONAU_AddAmlDecision *rh);
-
-
-/**
- * Response when adding a partner donau.
+ * @brief new charity ID Response
  */
-struct TALER_DONAU_ManagementAddPartnerResponse
+struct TALER_DONAU_PostCharityResponse
 {
-  /**
-   * HTTP response data.
-   */
-  struct TALER_DONAU_HttpResponse hr;
-};
-
-/**
- * Function called with information about the change to
- * an AML officer status.
- *
- * @param cls closure
- * @param apr response data
- */
-typedef void
-(*TALER_DONAU_ManagementAddPartnerCallback) (
-  void *cls,
-  const struct TALER_DONAU_ManagementAddPartnerResponse *apr);
-
-
-/**
- * @brief Handle for a POST /management/partners/$PARTNER_PUB request.
- */
-struct TALER_DONAU_ManagementAddPartner;
-
-
-/**
- * Inform the donau that the status of a partnering
- * donau was defined.
- *
- * @param ctx the context
- * @param url HTTP base URL for the donau
- * @param partner_pub the offline signing key of the partner
- * @param start_date validity period start
- * @param end_date validity period end
- * @param wad_frequency how often will we do wad transfers to this partner
- * @param wad_fee what is the wad fee to this partner
- * @param partner_base_url what is the base URL of the @a partner_pub donau
- * @param master_sig the signature the signature
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_ManagementAddPartner *
-TALER_DONAU_management_add_partner (
-  struct GNUNET_CURL_Context *ctx,
-  const char *url,
-  const struct TALER_MasterPublicKeyP *partner_pub,
-  struct GNUNET_TIME_Timestamp start_date,
-  struct GNUNET_TIME_Timestamp end_date,
-  struct GNUNET_TIME_Relative wad_frequency,
-  const struct TALER_Amount *wad_fee,
-  const char *partner_base_url,
-  const struct TALER_MasterSignatureP *master_sig,
-  TALER_DONAU_ManagementAddPartnerCallback cb,
-  void *cb_cls);
-
-
-/**
- * Cancel #TALER_DONAU_management_add_partner() operation.
- *
- * @param rh handle of the operation to cancel
- */
-void
-TALER_DONAU_management_add_partner_cancel (
-  struct TALER_DONAU_ManagementAddPartner *rh);
-
 
-/**
- * Response when enabling an auditor.
- */
-struct TALER_DONAU_ManagementAuditorEnableResponse
-{
   /**
-   * HTTP response data.
+   * High-level HTTP response details.
    */
   struct TALER_DONAU_HttpResponse hr;
-};
-
-/**
- * Function called with information about the auditor setup operation result.
- *
- * @param cls closure
- * @param aer response data
- */
-typedef void
-(*TALER_DONAU_ManagementAuditorEnableCallback) (
-  void *cls,
-  const struct TALER_DONAU_ManagementAuditorEnableResponse *aer);
-
-
-/**
- * @brief Handle for a POST /management/auditors request.
- */
-struct TALER_DONAU_ManagementAuditorEnableHandle;
-
-
-/**
- * Inform the donau that an auditor should be enable or enabled.
- *
- * @param ctx the context
- * @param url HTTP base URL for the donau
- * @param auditor_pub the public signing key of the auditor
- * @param auditor_url base URL of the auditor
- * @param auditor_name human readable name for the auditor
- * @param validity_start when was this decided?
- * @param master_sig signature affirming the auditor addition
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_ManagementAuditorEnableHandle *
-TALER_DONAU_management_enable_auditor (
-  struct GNUNET_CURL_Context *ctx,
-  const char *url,
-  const struct TALER_AuditorPublicKeyP *auditor_pub,
-  const char *auditor_url,
-  const char *auditor_name,
-  struct GNUNET_TIME_Timestamp validity_start,
-  const struct TALER_MasterSignatureP *master_sig,
-  TALER_DONAU_ManagementAuditorEnableCallback cb,
-  void *cb_cls);
-
-
-/**
- * Cancel #TALER_DONAU_management_enable_auditor() operation.
- *
- * @param ah handle of the operation to cancel
- */
-void
-TALER_DONAU_management_enable_auditor_cancel (
-  struct TALER_DONAU_ManagementAuditorEnableHandle *ah);
 
-/**
- * Response when disabling an auditor.
- */
-struct TALER_DONAU_ManagementAuditorDisableResponse
-{
   /**
-   * HTTP response data.
+   * Details depending on @e hr.http_status.
    */
-  struct TALER_DONAU_HttpResponse hr;
-};
-
-/**
- * Function called with information about the auditor disable operation result.
- *
- * @param cls closure
- * @param adr HTTP response data
- */
-typedef void
-(*TALER_DONAU_ManagementAuditorDisableCallback) (
-  void *cls,
-  const struct TALER_DONAU_ManagementAuditorDisableResponse *adr);
-
-
-/**
- * @brief Handle for a POST /management/auditors/$AUDITOR_PUB/disable request.
- */
-struct TALER_DONAU_ManagementAuditorDisableHandle;
+  union
+  {
 
+    /**
+     * Information returned on success, if
+     * @e hr.http_status is #MHD_HTTP_OK
+     */
+    struct
+    {
 
-/**
- * Inform the donau that an auditor should be disabled.
- *
- * @param ctx the context
- * @param url HTTP base URL for the donau
- * @param auditor_pub the public signing key of the auditor
- * @param validity_end when was this decided?
- * @param master_sig signature affirming the auditor addition
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_ManagementAuditorDisableHandle *
-TALER_DONAU_management_disable_auditor (
-  struct GNUNET_CURL_Context *ctx,
-  const char *url,
-  const struct TALER_AuditorPublicKeyP *auditor_pub,
-  struct GNUNET_TIME_Timestamp validity_end,
-  const struct TALER_MasterSignatureP *master_sig,
-  TALER_DONAU_ManagementAuditorDisableCallback cb,
-  void *cb_cls);
+      /**
+       * charity id
+       */
+      unsigned int charity_id;
 
 
-/**
- * Cancel #TALER_DONAU_management_disable_auditor() operation.
- *
- * @param ah handle of the operation to cancel
- */
-void
-TALER_DONAU_management_disable_auditor_cancel (
-  struct TALER_DONAU_ManagementAuditorDisableHandle *ah);
+    } ok;
 
+  } details;
 
-/**
- * Response from an donau account/enable operation.
- */
-struct TALER_DONAU_ManagementWireEnableResponse
-{
-  /**
-   * HTTP response data.
-   */
-  struct TALER_DONAU_HttpResponse hr;
 };
 
 
 /**
- * Function called with information about the wire enable operation result.
+ * Callbacks of this type are used to serve the result of a
+ * charity post request to a donau.
  *
  * @param cls closure
- * @param wer HTTP response data
+ * @param rs HTTP response data
  */
 typedef void
-(*TALER_DONAU_ManagementWireEnableCallback) (
+(*TALER_DONAU_PostCharityResponseCallback) (
   void *cls,
-  const struct TALER_DONAU_ManagementWireEnableResponse *wer);
-
-
-/**
- * @brief Handle for a POST /management/wire request.
- */
-struct TALER_DONAU_ManagementWireEnableHandle;
+  const struct TALER_DONAU_PostCharityResponse *rs);
 
 
 /**
- * Inform the donau that a wire account should be enabled.
+ * Submit a request to obtain the transaction history of a charity
+ * from the donau.  Note that while we return the full response to the
+ * caller for further processing, we do already verify that the
+ * response is well-formed (i.e. that signatures included in the
+ * response are all valid and add up to the balance).  If the donau's
+ * reply is not well-formed, we return an HTTP status code of zero to
+ * @a cb.
  *
- * @param ctx the context
- * @param url HTTP base URL for the donau
- * @param payto_uri RFC 8905 URI of the donau's bank account
- * @param conversion_url URL of the conversion service, or NULL if none
- * @param debit_restrictions JSON encoding of debit restrictions on the 
account; see AccountRestriction in the spec
- * @param credit_restrictions JSON encoding of credit restrictions on the 
account; see AccountRestriction in the spec
- * @param validity_start when was this decided?
- * @param master_sig1 signature affirming the wire addition
- *        of purpose #TALER_SIGNATURE_MASTER_ADD_WIRE
- * @param master_sig2 signature affirming the validity of the account for 
clients;
- *        of purpose #TALER_SIGNATURE_MASTER_WIRE_DETAILS.
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
+ * @param ctx curl context
+ * @param url donau base URL
+ * @param name name of the charity
+ * @param amount Max donation amout for this charitiy and year.
+ * @param charity_pub public key of the charity
+ * @param cb the callback to call when a reply for this request is available
+ * @param cb_cls closure for the above callback
+ * @return a handle for this request; NULL if the inputs are invalid (i.e.
+ *         signatures fail to verify).  In this case, the callback is not 
called.
  */
-struct TALER_DONAU_ManagementWireEnableHandle *
-TALER_DONAU_management_enable_wire (
+struct TALER_DONAU_CharityPostHandle *
+TALER_DONAU_charity_post (
   struct GNUNET_CURL_Context *ctx,
   const char *url,
-  const char *payto_uri,
-  const char *conversion_url,
-  const json_t *debit_restrictions,
-  const json_t *credit_restrictions,
-  struct GNUNET_TIME_Timestamp validity_start,
-  const struct TALER_MasterSignatureP *master_sig1,
-  const struct TALER_MasterSignatureP *master_sig2,
-  TALER_DONAU_ManagementWireEnableCallback cb,
+  const char *name,
+  const struct TALER_Amount amount,
+  const struct TALER_DONAU_EddsaPublicKeyP charity_pub,
+  TALER_DONAU_PostCharityResponseCallback cb,
   void *cb_cls);
 
+/* ********************* PATCH /charities/$CHARITY_ID *********************** 
*/
 
 /**
- * Cancel #TALER_DONAU_management_enable_wire() operation.
- *
- * @param wh handle of the operation to cancel
+ * @brief A /charities/$CHARITY_ID Patch Handle
  */
-void
-TALER_DONAU_management_enable_wire_cancel (
-  struct TALER_DONAU_ManagementWireEnableHandle *wh);
+struct TALER_DONAU_CharityPatchHandle;
 
 
 /**
- * Response from an donau account/disable operation.
+ * @brief charity patch response
  */
-struct TALER_DONAU_ManagementWireDisableResponse
+struct TALER_DONAU_PatchCharityResponse
 {
+
   /**
-   * HTTP response data.
+   * High-level HTTP response details.
    */
   struct TALER_DONAU_HttpResponse hr;
+
 };
 
+
 /**
- * Function called with information about the wire disable operation result.
+ * Callbacks of this type are used to serve the result of a
+ * charity post request to a donau.
  *
  * @param cls closure
- * @param wdr response data
+ * @param rs HTTP response data
  */
 typedef void
-(*TALER_DONAU_ManagementWireDisableCallback) (
+(*TALER_DONAU_PatchCharityResponseCallback) (
   void *cls,
-  const struct TALER_DONAU_ManagementWireDisableResponse *wdr);
-
-
-/**
- * @brief Handle for a POST /management/wire/disable request.
- */
-struct TALER_DONAU_ManagementWireDisableHandle;
+  const struct TALER_DONAU_PatchCharityResponse *rs);
 
 
 /**
- * Inform the donau that a wire account should be disabled.
+ * Submit a request to obtain the transaction history of a charity
+ * from the donau.  Note that while we return the full response to the
+ * caller for further processing, we do already verify that the
+ * response is well-formed (i.e. that signatures included in the
+ * response are all valid and add up to the balance).  If the donau's
+ * reply is not well-formed, we return an HTTP status code of zero to
+ * @a cb.
  *
- * @param ctx the context
- * @param url HTTP base URL for the donau
- * @param payto_uri RFC 8905 URI of the donau's bank account
- * @param validity_end when was this decided?
- * @param master_sig signature affirming the wire addition
- *        of purpose #TALER_SIGNATURE_MASTER_DEL_WIRE
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
+ * @param ctx curl context
+ * @param url donau base URL
+ * @param name name of the charity
+ * @param amount Max donation amout for this charitiy and year.
+ * @param charity_pub public key of the charity
+ * @param cb the callback to call when a reply for this request is available
+ * @param cb_cls closure for the above callback
+ * @return a handle for this request; NULL if the inputs are invalid (i.e.
+ *         signatures fail to verify).  In this case, the callback is not 
called.
  */
-struct TALER_DONAU_ManagementWireDisableHandle *
-TALER_DONAU_management_disable_wire (
+struct TALER_DONAU_CharityPatchHandle *
+TALER_DONAU_charity_patch (
   struct GNUNET_CURL_Context *ctx,
   const char *url,
-  const char *payto_uri,
-  struct GNUNET_TIME_Timestamp validity_end,
-  const struct TALER_MasterSignatureP *master_sig,
-  TALER_DONAU_ManagementWireDisableCallback cb,
+  const char *name,
+  const struct TALER_Amount amount,
+  const struct TALER_DONAU_EddsaPublicKeyP charity_pub,
+  TALER_DONAU_PatchCharityResponseCallback cb,
   void *cb_cls);
 
 
+/* ********************* DELETE /charities/$CHARITY_ID *********************** 
*/
+
 /**
- * Cancel #TALER_DONAU_management_disable_wire() operation.
- *
- * @param wh handle of the operation to cancel
+ * @brief A /charities/$CHARITY_ID Delete Handle
  */
-void
-TALER_DONAU_management_disable_wire_cancel (
-  struct TALER_DONAU_ManagementWireDisableHandle *wh);
+struct TALER_DONAU_CharityDeleteHandle;
 
 
 /**
- * Response when setting wire fees.
+ * @brief new charity ID Response
  */
-struct TALER_DONAU_ManagementSetWireFeeResponse
+struct TALER_DONAU_DeleteCharityResponse
 {
+
   /**
-   * HTTP response data.
+   * High-level HTTP response details.
    */
   struct TALER_DONAU_HttpResponse hr;
+
 };
 
+
 /**
- * Function called with information about the wire enable operation result.
+ * Callbacks of this type are used to serve the result of a
+ * charity post request to a donau.
  *
  * @param cls closure
- * @param wfr response data
+ * @param rs HTTP response data
  */
 typedef void
-(*TALER_DONAU_ManagementSetWireFeeCallback) (
+(*TALER_DONAU_DeleteCharityResponseCallback) (
   void *cls,
-  const struct TALER_DONAU_ManagementSetWireFeeResponse *wfr);
-
-
-/**
- * @brief Handle for a POST /management/wire-fees request.
- */
-struct TALER_DONAU_ManagementSetWireFeeHandle;
+  const struct TALER_DONAU_DeleteCharityResponse *rs);
 
 
 /**
- * Inform the donau about future wire fees.
+ * Submit a request to obtain the transaction history of a charity
+ * from the donau.  Note that while we return the full response to the
+ * caller for further processing, we do already verify that the
+ * response is well-formed (i.e. that signatures included in the
+ * response are all valid and add up to the balance).  If the donau's
+ * reply is not well-formed, we return an HTTP status code of zero to
+ * @a cb.
  *
- * @param ctx the context
- * @param donau_base_url HTTP base URL for the donau
- * @param wire_method for which wire method are fees provided
- * @param validity_start start date for the provided wire fees
- * @param validity_end end date for the provided wire fees
- * @param fees the wire fees for this time period
- * @param master_sig signature affirming the wire fees;
- *        of purpose #TALER_SIGNATURE_MASTER_WIRE_FEES
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
+ * @param ctx curl context
+ * @param url donau base URL
+ * @param name name of the charity
+ * @param amount Max donation amout for this charitiy and year.
+ * @param charity_pub public key of the charity
+ * @param cb the callback to call when a reply for this request is available
+ * @param cb_cls closure for the above callback
+ * @return a handle for this request; NULL if the inputs are invalid (i.e.
+ *         signatures fail to verify).  In this case, the callback is not 
called.
  */
-struct TALER_DONAU_ManagementSetWireFeeHandle *
-TALER_DONAU_management_set_wire_fees (
+struct TALER_DONAU_CharityPostHandle *
+TALER_DONAU_charity_delete (
   struct GNUNET_CURL_Context *ctx,
-  const char *donau_base_url,
-  const char *wire_method,
-  struct GNUNET_TIME_Timestamp validity_start,
-  struct GNUNET_TIME_Timestamp validity_end,
-  const struct TALER_WireFeeSet *fees,
-  const struct TALER_MasterSignatureP *master_sig,
-  TALER_DONAU_ManagementSetWireFeeCallback cb,
+  const char *url,
+  TALER_DONAU_DeleteCharityResponseCallback cb,
   void *cb_cls);
 
-
 /**
- * Cancel #TALER_DONAU_management_enable_wire() operation.
+ * Cancel a charity POST request. This function cannot be used
+ * on a request handle if a response is already served for it.
  *
- * @param swfh handle of the operation to cancel
+ * @param rgh the charity request handle
  */
 void
-TALER_DONAU_management_set_wire_fees_cancel (
-  struct TALER_DONAU_ManagementSetWireFeeHandle *swfh);
-
-
-/**
- * Response when setting global fees.
- */
-struct TALER_DONAU_ManagementSetGlobalFeeResponse
-{
-  /**
-   * HTTP response data.
-   */
-  struct TALER_DONAU_HttpResponse hr;
-};
-
-
-/**
- * Function called with information about the global fee setting operation 
result.
- *
- * @param cls closure
- * @param gfr HTTP response data
- */
-typedef void
-(*TALER_DONAU_ManagementSetGlobalFeeCallback) (
-  void *cls,
-  const struct TALER_DONAU_ManagementSetGlobalFeeResponse *gfr);
+TALER_DONAU_charity_post_delete (
+  struct TALER_DONAU_CharityDeleteHandle *rgh);
 
 
-/**
- * @brief Handle for a POST /management/global-fees request.
- */
-struct TALER_DONAU_ManagementSetGlobalFeeHandle;
 
 
-/**
- * Inform the donau about global fees.
- *
- * @param ctx the context
- * @param donau_base_url HTTP base URL for the donau
- * @param validity_start start date for the provided wire fees
- * @param validity_end end date for the provided wire fees
- * @param fees the wire fees for this time period
- * @param purse_timeout when do purses time out
- * @param history_expiration how long are account histories pcharityd
- * @param purse_account_limit how many purses are free per account
- * @param master_sig signature affirming the wire fees;
- *        of purpose #TALER_SIGNATURE_MASTER_GLOBAL_FEES
- * @param cb function to call with the donau's result
- * @param cb_cls closure for @a cb
- * @return the request handle; NULL upon error
- */
-struct TALER_DONAU_ManagementSetGlobalFeeHandle *
-TALER_DONAU_management_set_global_fees (
-  struct GNUNET_CURL_Context *ctx,
-  const char *donau_base_url,
-  struct GNUNET_TIME_Timestamp validity_start,
-  struct GNUNET_TIME_Timestamp validity_end,
-  const struct TALER_GlobalFeeSet *fees,
-  struct GNUNET_TIME_Relative purse_timeout,
-  struct GNUNET_TIME_Relative history_expiration,
-  uint32_t purse_account_limit,
-  const struct TALER_MasterSignatureP *master_sig,
-  TALER_DONAU_ManagementSetGlobalFeeCallback cb,
-  void *cb_cls);
 
 
 /**
diff --git a/src/include/taler_donau_util.h b/src/include/taler_donau_util.h
index f2851b3..5f00662 100644
--- a/src/include/taler_donau_util.h
+++ b/src/include/taler_donau_util.h
@@ -18,11 +18,11 @@
  * @brief Interface for common utility functions
  * @author Sree Harsha Totakura <sreeharsha@totakura.in>
  */
-#ifndef TALER_UTIL_H
-#define TALER_UTIL_H
+#ifndef TALER_DONAU_UTIL_H
+#define TALER_DONAU_UTIL_H
 
 #include <gnunet/gnunet_common.h>
-#define __TALER_UTIL_LIB_H_INSIDE__
+#define __TALER_DONAU_UTIL_LIB_H_INSIDE__
 
 #include <gnunet/gnunet_util_lib.h>
 #include <microhttpd.h>
@@ -778,6 +778,6 @@ void
 TALER_JSON_external_conversion_stop (
   struct TALER_JSON_ExternalConversion *ec);
 
-#undef __TALER_UTIL_LIB_H_INSIDE__
+#undef __TALER_DONAU_UTIL_LIB_H_INSIDE__
 
-#endifTALER_CURRENCY_LEN
+#endif

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



reply via email to

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