gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: -big renaming of structs for con


From: gnunet
Subject: [taler-exchange] branch master updated: -big renaming of structs for consistent naming with P suffix
Date: Mon, 21 Feb 2022 00:23:31 +0100

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

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 544ba42f -big renaming of structs for consistent naming with P suffix
544ba42f is described below

commit 544ba42f445cbff2f544d7e1c83aaffcfa75af3a
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Mon Feb 21 00:23:23 2022 +0100

    -big renaming of structs for consistent naming with P suffix
---
 src/auditor/report-lib.c                           |   6 +-
 src/auditor/report-lib.h                           |   4 +-
 src/auditor/taler-helper-auditor-aggregation.c     |   4 +-
 src/auditor/taler-helper-auditor-coins.c           |  20 ++--
 src/auditor/taler-helper-auditor-reserves.c        |   4 +-
 src/auditordb/plugin_auditordb_postgres.c          |  24 ++---
 src/auditordb/test_auditordb.c                     |   6 +-
 src/benchmark/taler-aggregator-benchmark.c         |  10 +-
 src/exchange-tools/taler-auditor-offline.c         |   6 +-
 src/exchange-tools/taler-exchange-offline.c        |  12 +--
 src/exchange/taler-exchange-aggregator.c           |   4 +-
 src/exchange/taler-exchange-httpd.c                |   4 +-
 src/exchange/taler-exchange-httpd_auditors.c       |   4 +-
 src/exchange/taler-exchange-httpd_auditors.h       |   2 +-
 src/exchange/taler-exchange-httpd_csr.c            |  10 +-
 src/exchange/taler-exchange-httpd_db.c             |   2 +-
 src/exchange/taler-exchange-httpd_deposit.c        |  11 +-
 src/exchange/taler-exchange-httpd_deposits_get.c   |   5 +-
 src/exchange/taler-exchange-httpd_keys.c           |  23 +++--
 src/exchange/taler-exchange-httpd_keys.h           |  20 ++--
 src/exchange/taler-exchange-httpd_kyc-check.c      |   4 +-
 src/exchange/taler-exchange-httpd_management.h     |   2 +-
 ...nge-httpd_management_denominations_HDP_revoke.c |   2 +-
 .../taler-exchange-httpd_management_extensions.c   |   2 +-
 .../taler-exchange-httpd_management_post_keys.c    |   2 +-
 src/exchange/taler-exchange-httpd_melt.c           |   2 +-
 src/exchange/taler-exchange-httpd_recoup-refresh.c |   4 +-
 src/exchange/taler-exchange-httpd_recoup.c         |   4 +-
 .../taler-exchange-httpd_refreshes_reveal.c        |   2 +-
 src/exchange/taler-exchange-httpd_refund.c         |   2 +-
 src/exchange/taler-exchange-httpd_responses.c      |   8 +-
 src/exchange/taler-exchange-httpd_responses.h      |   6 +-
 src/exchange/taler-exchange-httpd_transfers_get.c  |   4 +-
 src/exchange/taler-exchange-httpd_withdraw.c       |   2 +-
 src/exchangedb/irbt_callbacks.c                    |   4 +-
 src/exchangedb/plugin_exchangedb_postgres.c        |  67 ++++++------
 src/exchangedb/test_exchangedb.c                   |  39 +++----
 src/extensions/extensions.c                        |   4 +-
 src/include/taler_auditor_service.h                |   6 +-
 src/include/taler_auditordb_plugin.h               |  64 ++++++------
 src/include/taler_crypto_lib.h                     | 114 ++++++++++-----------
 src/include/taler_exchange_service.h               |  33 +++---
 src/include/taler_exchangedb_plugin.h              |  96 ++++++++---------
 src/include/taler_json_lib.h                       |   8 +-
 src/include/taler_signatures.h                     |  72 ++++++-------
 src/json/json.c                                    |   6 +-
 src/json/json_wire.c                               |   2 +-
 src/json/test_json.c                               |   6 +-
 src/lib/auditor_api_deposit_confirmation.c         |  12 +--
 src/lib/exchange_api_auditor_add_denomination.c    |   2 +-
 src/lib/exchange_api_common.c                      |  14 +--
 src/lib/exchange_api_csr_withdraw.c                |   2 +-
 src/lib/exchange_api_deposit.c                     |  24 ++---
 src/lib/exchange_api_deposits_get.c                |  12 +--
 src/lib/exchange_api_handle.c                      |   6 +-
 src/lib/exchange_api_kyc_check.c                   |   4 +-
 src/lib/exchange_api_link.c                        |   4 +-
 src/lib/exchange_api_management_get_keys.c         |   2 +-
 ...change_api_management_revoke_denomination_key.c |   2 +-
 src/lib/exchange_api_melt.c                        |   6 +-
 src/lib/exchange_api_recoup.c                      |   4 +-
 src/lib/exchange_api_recoup_refresh.c              |   4 +-
 src/lib/exchange_api_refresh_common.c              |   2 +-
 src/lib/exchange_api_refreshes_reveal.c            |   6 +-
 src/lib/exchange_api_refund.c                      |  15 +--
 src/lib/exchange_api_withdraw.c                    |   2 +-
 src/lib/exchange_api_withdraw2.c                   |   2 +-
 .../testing_api_cmd_auditor_add_denom_sig.c        |   2 +-
 .../testing_api_cmd_auditor_deposit_confirmation.c |   6 +-
 src/testing/testing_api_cmd_deposit.c              |   4 +-
 src/testing/testing_api_cmd_deposits_get.c         |   4 +-
 src/testing/testing_api_cmd_insert_deposit.c       |   4 +-
 src/testing/testing_api_cmd_kyc_check_get.c        |   2 +-
 src/testing/testing_api_cmd_refund.c               |   2 +-
 src/testing/testing_api_cmd_transfer_get.c         |   2 +-
 src/util/auditor_signatures.c                      |   4 +-
 src/util/crypto.c                                  |  16 +--
 src/util/crypto_wire.c                             |   2 +-
 src/util/denom.c                                   |   8 +-
 src/util/exchange_signatures.c                     |   6 +-
 src/util/merchant_signatures.c                     |   4 +-
 src/util/offline_signatures.c                      |  12 +--
 src/util/payto.c                                   |   2 +-
 src/util/test_crypto.c                             |   4 +-
 src/util/test_helper_cs.c                          |   6 +-
 src/util/test_helper_rsa.c                         |   4 +-
 src/util/wallet_signatures.c                       |  44 ++++----
 87 files changed, 510 insertions(+), 501 deletions(-)

diff --git a/src/auditor/report-lib.c b/src/auditor/report-lib.c
index b5984636..03307aae 100644
--- a/src/auditor/report-lib.c
+++ b/src/auditor/report-lib.c
@@ -172,7 +172,7 @@ add_denomination (
 
 enum GNUNET_DB_QueryStatus
 TALER_ARL_get_denomination_info_by_hash (
-  const struct TALER_DenominationHash *dh,
+  const struct TALER_DenominationHashP *dh,
   const struct TALER_DenominationKeyValidityPS **issue)
 {
   enum GNUNET_DB_QueryStatus qs;
@@ -245,9 +245,9 @@ enum GNUNET_DB_QueryStatus
 TALER_ARL_get_denomination_info (
   const struct TALER_DenominationPublicKey *denom_pub,
   const struct TALER_DenominationKeyValidityPS **issue,
-  struct TALER_DenominationHash *dh)
+  struct TALER_DenominationHashP *dh)
 {
-  struct TALER_DenominationHash hc;
+  struct TALER_DenominationHashP hc;
 
   if (NULL == dh)
     dh = &hc;
diff --git a/src/auditor/report-lib.h b/src/auditor/report-lib.h
index 8ef7e048..92560a0b 100644
--- a/src/auditor/report-lib.h
+++ b/src/auditor/report-lib.h
@@ -101,7 +101,7 @@ TALER_ARL_report (json_t *array,
  */
 enum GNUNET_DB_QueryStatus
 TALER_ARL_get_denomination_info_by_hash (
-  const struct TALER_DenominationHash *dh,
+  const struct TALER_DenominationHashP *dh,
   const struct TALER_DenominationKeyValidityPS **issue);
 
 
@@ -118,7 +118,7 @@ enum GNUNET_DB_QueryStatus
 TALER_ARL_get_denomination_info (
   const struct TALER_DenominationPublicKey *denom_pub,
   const struct TALER_DenominationKeyValidityPS **issue,
-  struct TALER_DenominationHash *dh);
+  struct TALER_DenominationHashP *dh);
 
 
 /**
diff --git a/src/auditor/taler-helper-auditor-aggregation.c 
b/src/auditor/taler-helper-auditor-aggregation.c
index 0b6f6557..b088b615 100644
--- a/src/auditor/taler-helper-auditor-aggregation.c
+++ b/src/auditor/taler-helper-auditor-aggregation.c
@@ -393,7 +393,7 @@ struct WireCheckContext
 static int
 check_transaction_history_for_deposit (
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   const struct TALER_MerchantPublicKeyP *merchant_pub,
   const struct TALER_DenominationKeyValidityPS *issue,
   const struct TALER_EXCHANGEDB_TransactionList *tl_head,
@@ -699,7 +699,7 @@ wire_transfer_information_cb (
   const struct TALER_MerchantPublicKeyP *merchant_pub,
   const char *account_pay_uri,
   struct GNUNET_TIME_Timestamp exec_time,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   const struct TALER_DenominationPublicKey *denom_pub,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_Amount *coin_value,
diff --git a/src/auditor/taler-helper-auditor-coins.c 
b/src/auditor/taler-helper-auditor-coins.c
index 04a35ee8..0630d3e9 100644
--- a/src/auditor/taler-helper-auditor-coins.c
+++ b/src/auditor/taler-helper-auditor-coins.c
@@ -673,7 +673,7 @@ struct CoinContext
  * @return transaction status code
  */
 static enum GNUNET_DB_QueryStatus
-init_denomination (const struct TALER_DenominationHash *denom_hash,
+init_denomination (const struct TALER_DenominationHashP *denom_hash,
                    struct DenominationSummary *ds)
 {
   enum GNUNET_DB_QueryStatus qs;
@@ -760,7 +760,7 @@ init_denomination (const struct TALER_DenominationHash 
*denom_hash,
 static struct DenominationSummary *
 get_denomination_summary (struct CoinContext *cc,
                           const struct TALER_DenominationKeyValidityPS *issue,
-                          const struct TALER_DenominationHash *dh)
+                          const struct TALER_DenominationHashP *dh)
 {
   struct DenominationSummary *ds;
 
@@ -802,7 +802,7 @@ sync_denomination (void *cls,
                    void *value)
 {
   struct CoinContext *cc = cls;
-  struct TALER_DenominationHash denom_h = {
+  struct TALER_DenominationHashP denom_h = {
     .hash = *denom_hash
   };
   struct DenominationSummary *ds = value;
@@ -963,7 +963,7 @@ sync_denomination (void *cls,
 static enum GNUNET_GenericReturnValue
 withdraw_cb (void *cls,
              uint64_t rowid,
-             const struct TALER_BlindedCoinHash *h_blind_ev,
+             const struct TALER_BlindedCoinHashP *h_blind_ev,
              const struct TALER_DenominationPublicKey *denom_pub,
              const struct TALER_ReservePublicKeyP *reserve_pub,
              const struct TALER_ReserveSignatureP *reserve_sig,
@@ -972,7 +972,7 @@ withdraw_cb (void *cls,
 {
   struct CoinContext *cc = cls;
   struct DenominationSummary *ds;
-  struct TALER_DenominationHash dh;
+  struct TALER_DenominationHashP dh;
   const struct TALER_DenominationKeyValidityPS *issue;
   struct TALER_Amount value;
   enum GNUNET_DB_QueryStatus qs;
@@ -1275,7 +1275,7 @@ refresh_session_cb (void *cls,
 
   /* verify melt signature */
   {
-    struct TALER_DenominationHash h_denom_pub;
+    struct TALER_DenominationHashP h_denom_pub;
     struct TALER_Amount fee_refresh;
 
     TALER_denom_pub_hash (denom_pub,
@@ -1611,8 +1611,8 @@ deposit_cb (void *cls,
 
   /* Verify deposit signature */
   {
-    struct TALER_MerchantWireHash h_wire;
-    struct TALER_DenominationHash h_denom_pub;
+    struct TALER_MerchantWireHashP h_wire;
+    struct TALER_DenominationHashP h_denom_pub;
     struct TALER_Amount deposit_fee;
 
     TALER_denom_pub_hash (denom_pub,
@@ -1761,7 +1761,7 @@ refund_cb (void *cls,
            const struct TALER_CoinSpendPublicKeyP *coin_pub,
            const struct TALER_MerchantPublicKeyP *merchant_pub,
            const struct TALER_MerchantSignatureP *merchant_sig,
-           const struct TALER_PrivateContractHash *h_contract_terms,
+           const struct TALER_PrivateContractHashP *h_contract_terms,
            uint64_t rtransaction_id,
            const struct TALER_Amount *amount_with_fee)
 {
@@ -2089,7 +2089,7 @@ recoup_refresh_cb (void *cls,
                    struct GNUNET_TIME_Timestamp timestamp,
                    const struct TALER_Amount *amount,
                    const struct TALER_CoinSpendPublicKeyP *old_coin_pub,
-                   const struct TALER_DenominationHash *old_denom_pub_hash,
+                   const struct TALER_DenominationHashP *old_denom_pub_hash,
                    const struct TALER_CoinPublicInfo *coin,
                    const struct TALER_DenominationPublicKey *denom_pub,
                    const struct TALER_CoinSpendSignatureP *coin_sig,
diff --git a/src/auditor/taler-helper-auditor-reserves.c 
b/src/auditor/taler-helper-auditor-reserves.c
index fa096fe0..f14a3999 100644
--- a/src/auditor/taler-helper-auditor-reserves.c
+++ b/src/auditor/taler-helper-auditor-reserves.c
@@ -491,7 +491,7 @@ handle_reserve_in (void *cls,
 static enum GNUNET_GenericReturnValue
 handle_reserve_out (void *cls,
                     uint64_t rowid,
-                    const struct TALER_BlindedCoinHash *h_blind_ev,
+                    const struct TALER_BlindedCoinHashP *h_blind_ev,
                     const struct TALER_DenominationPublicKey *denom_pub,
                     const struct TALER_ReservePublicKeyP *reserve_pub,
                     const struct TALER_ReserveSignatureP *reserve_sig,
@@ -508,7 +508,7 @@ handle_reserve_out (void *cls,
   struct GNUNET_TIME_Timestamp valid_start;
   struct GNUNET_TIME_Timestamp expire_withdraw;
   enum GNUNET_DB_QueryStatus qs;
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   /* should be monotonically increasing */
   GNUNET_assert (rowid >= ppr.last_reserve_out_serial_id);
diff --git a/src/auditordb/plugin_auditordb_postgres.c 
b/src/auditordb/plugin_auditordb_postgres.c
index ef5f0073..6cee2b23 100644
--- a/src/auditordb/plugin_auditordb_postgres.c
+++ b/src/auditordb/plugin_auditordb_postgres.c
@@ -2163,7 +2163,7 @@ postgres_get_wire_fee_summary (void *cls,
 static enum GNUNET_DB_QueryStatus
 postgres_insert_denomination_balance (
   void *cls,
-  const struct TALER_DenominationHash *denom_pub_hash,
+  const struct TALER_DenominationHashP *denom_pub_hash,
   const struct TALER_Amount *denom_balance,
   const struct TALER_Amount *denom_loss,
   const struct TALER_Amount *denom_risk,
@@ -2203,7 +2203,7 @@ postgres_insert_denomination_balance (
 static enum GNUNET_DB_QueryStatus
 postgres_update_denomination_balance (
   void *cls,
-  const struct TALER_DenominationHash *denom_pub_hash,
+  const struct TALER_DenominationHashP *denom_pub_hash,
   const struct TALER_Amount *denom_balance,
   const struct TALER_Amount *denom_loss,
   const struct TALER_Amount *denom_risk,
@@ -2240,14 +2240,14 @@ postgres_update_denomination_balance (
  * @return transaction status code
  */
 static enum GNUNET_DB_QueryStatus
-postgres_get_denomination_balance (void *cls,
-                                   const struct
-                                   TALER_DenominationHash *denom_pub_hash,
-                                   struct TALER_Amount *denom_balance,
-                                   struct TALER_Amount *denom_loss,
-                                   struct TALER_Amount *denom_risk,
-                                   struct TALER_Amount *recoup_loss,
-                                   uint64_t *num_issued)
+postgres_get_denomination_balance (
+  void *cls,
+  const struct TALER_DenominationHashP *denom_pub_hash,
+  struct TALER_Amount *denom_balance,
+  struct TALER_Amount *denom_loss,
+  struct TALER_Amount *denom_risk,
+  struct TALER_Amount *recoup_loss,
+  uint64_t *num_issued)
 {
   struct PostgresClosure *pg = cls;
   struct GNUNET_PQ_QueryParam params[] = {
@@ -2439,7 +2439,7 @@ static enum GNUNET_DB_QueryStatus
 postgres_insert_historic_denom_revenue (
   void *cls,
   const struct TALER_MasterPublicKeyP *master_pub,
-  const struct TALER_DenominationHash *denom_pub_hash,
+  const struct TALER_DenominationHashP *denom_pub_hash,
   struct GNUNET_TIME_Timestamp revenue_timestamp,
   const struct TALER_Amount *revenue_balance,
   const struct TALER_Amount *loss_balance)
@@ -2506,7 +2506,7 @@ historic_denom_revenue_cb (void *cls,
 
   for (unsigned int i = 0; i < num_results; i++)
   {
-    struct TALER_DenominationHash denom_pub_hash;
+    struct TALER_DenominationHashP denom_pub_hash;
     struct GNUNET_TIME_Timestamp revenue_timestamp;
     struct TALER_Amount revenue_balance;
     struct TALER_Amount loss;
diff --git a/src/auditordb/test_auditordb.c b/src/auditordb/test_auditordb.c
index f8faa069..80eeeca9 100644
--- a/src/auditordb/test_auditordb.c
+++ b/src/auditordb/test_auditordb.c
@@ -130,10 +130,10 @@ run (void *cls)
 
   struct TALER_MasterPublicKeyP master_pub;
   struct TALER_ReservePublicKeyP reserve_pub;
-  struct TALER_DenominationHash rnd_hash;
+  struct TALER_DenominationHashP rnd_hash;
   struct TALER_DenominationPrivateKey denom_priv;
   struct TALER_DenominationPublicKey denom_pub;
-  struct TALER_DenominationHash denom_pub_hash;
+  struct TALER_DenominationHashP denom_pub_hash;
   struct GNUNET_TIME_Timestamp now;
   struct GNUNET_TIME_Timestamp past;
   struct GNUNET_TIME_Timestamp future;
@@ -488,7 +488,7 @@ run (void *cls)
   int
   select_historic_denom_revenue_result (
     void *cls,
-    const struct TALER_DenominationHash *denom_pub_hash2,
+    const struct TALER_DenominationHashP *denom_pub_hash2,
     struct GNUNET_TIME_Timestamp revenue_timestamp2,
     const struct TALER_Amount *revenue_balance2,
     const struct TALER_Amount *loss2)
diff --git a/src/benchmark/taler-aggregator-benchmark.c 
b/src/benchmark/taler-aggregator-benchmark.c
index f9a2880d..11ceec90 100644
--- a/src/benchmark/taler-aggregator-benchmark.c
+++ b/src/benchmark/taler-aggregator-benchmark.c
@@ -76,7 +76,7 @@ static struct GNUNET_SCHEDULER_Task *task;
 /**
  * Hash of the denomination.
  */
-static struct TALER_DenominationHash h_denom_pub;
+static struct TALER_DenominationHashP h_denom_pub;
 
 /**
  * "signature" to use for the coin(s).
@@ -223,7 +223,7 @@ struct Merchant
    * the exchange from the detailed wire data provided by the
    * merchant.
    */
-  struct TALER_MerchantWireHash h_wire;
+  struct TALER_MerchantWireHashP h_wire;
 
   /**
    * Salt used when computing @e h_wire.
@@ -249,7 +249,7 @@ struct Deposit
    * Hash over the proposal data between merchant and customer
    * (remains unknown to the Exchange).
    */
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_PrivateContractHashP h_contract_terms;
 
 };
 
@@ -299,7 +299,7 @@ add_deposit (const struct Merchant *m)
   struct Deposit d;
   struct TALER_EXCHANGEDB_Deposit deposit;
   uint64_t known_coin_id;
-  struct TALER_DenominationHash dph;
+  struct TALER_DenominationHashP dph;
   struct TALER_AgeCommitmentHash agh;
 
   RANDOMIZE (&d.coin.coin_pub);
@@ -487,7 +487,7 @@ run (void *cls,
   {
     struct TALER_DenominationPrivateKey pk;
     struct TALER_DenominationPublicKey denom_pub;
-    struct TALER_CoinPubHash c_hash;
+    struct TALER_CoinPubHashP c_hash;
     struct TALER_PlanchetDetail pd;
     struct TALER_BlindedDenominationSignature bds;
     struct TALER_PlanchetMasterSecretP ps;
diff --git a/src/exchange-tools/taler-auditor-offline.c 
b/src/exchange-tools/taler-auditor-offline.c
index 6e37fd9b..53135d9f 100644
--- a/src/exchange-tools/taler-auditor-offline.c
+++ b/src/exchange-tools/taler-auditor-offline.c
@@ -430,7 +430,7 @@ upload_denomination_add (const char *exchange_url,
                          const json_t *value)
 {
   struct TALER_AuditorSignatureP auditor_sig;
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
   struct DenominationAddRequest *dar;
   const char *err_name;
   unsigned int err_line;
@@ -781,7 +781,7 @@ show_denomkeys (const json_t *denomkeys)
       GNUNET_JSON_spec_end ()
     };
     struct GNUNET_TIME_Relative duration;
-    struct TALER_DenominationHash h_denom_pub;
+    struct TALER_DenominationHashP h_denom_pub;
 
     if (GNUNET_OK !=
         GNUNET_JSON_parse (value,
@@ -1066,7 +1066,7 @@ sign_denomkeys (const json_t *denomkeys)
                                    &master_sig),
       GNUNET_JSON_spec_end ()
     };
-    struct TALER_DenominationHash h_denom_pub;
+    struct TALER_DenominationHashP h_denom_pub;
 
     if (GNUNET_OK !=
         GNUNET_JSON_parse (value,
diff --git a/src/exchange-tools/taler-exchange-offline.c 
b/src/exchange-tools/taler-exchange-offline.c
index 2446ebf3..8e1fdd51 100644
--- a/src/exchange-tools/taler-exchange-offline.c
+++ b/src/exchange-tools/taler-exchange-offline.c
@@ -914,7 +914,7 @@ upload_denom_revocation (const char *exchange_url,
                          const json_t *value)
 {
   struct TALER_MasterSignatureP master_sig;
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
   struct DenomRevocationRequest *drr;
   const char *err_name;
   unsigned int err_line;
@@ -1800,7 +1800,7 @@ upload_extensions (const char *exchange_url,
 
   /* 2. Verify the signature */
   {
-    struct TALER_ExtensionConfigHash h_config;
+    struct TALER_ExtensionConfigHashP h_config;
 
     if (GNUNET_OK !=
         TALER_JSON_extensions_config_hash (extensions, &h_config))
@@ -2023,7 +2023,7 @@ do_upload (char *const *args)
 static void
 do_revoke_denomination_key (char *const *args)
 {
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
   struct TALER_MasterSignatureP master_sig;
 
   if (NULL != in)
@@ -2857,7 +2857,7 @@ show_denomkeys (const struct 
TALER_SecurityModulePublicKeyP *secm_pub_rsa,
       GNUNET_JSON_spec_end ()
     };
     struct GNUNET_TIME_Relative duration;
-    struct TALER_DenominationHash h_denom_pub;
+    struct TALER_DenominationHashP h_denom_pub;
     enum GNUNET_GenericReturnValue ok;
 
     if (GNUNET_OK !=
@@ -3338,7 +3338,7 @@ sign_denomkeys (const struct 
TALER_SecurityModulePublicKeyP *secm_pub_rsa,
       GNUNET_JSON_spec_end ()
     };
     struct GNUNET_TIME_Relative duration;
-    struct TALER_DenominationHash h_denom_pub;
+    struct TALER_DenominationHashP h_denom_pub;
 
     if (GNUNET_OK !=
         GNUNET_JSON_parse (value,
@@ -3645,7 +3645,7 @@ do_extensions_sign (char *const *args)
 {
   json_t *obj = json_object ();
   json_t *extensions = json_object ();
-  struct TALER_ExtensionConfigHash h_config;
+  struct TALER_ExtensionConfigHashP h_config;
   struct TALER_MasterSignatureP sig;
   const struct TALER_Extension *it;
 
diff --git a/src/exchange/taler-exchange-aggregator.c 
b/src/exchange/taler-exchange-aggregator.c
index a2e87e2b..c552610a 100644
--- a/src/exchange/taler-exchange-aggregator.c
+++ b/src/exchange/taler-exchange-aggregator.c
@@ -370,7 +370,7 @@ deposit_cb (void *cls,
             const struct TALER_CoinSpendPublicKeyP *coin_pub,
             const struct TALER_Amount *amount_with_fee,
             const struct TALER_Amount *deposit_fee,
-            const struct TALER_PrivateContractHash *h_contract_terms,
+            const struct TALER_PrivateContractHashP *h_contract_terms,
             uint64_t wire_target,
             const char *payto_uri)
 {
@@ -516,7 +516,7 @@ aggregate_cb (void *cls,
               const struct TALER_CoinSpendPublicKeyP *coin_pub,
               const struct TALER_Amount *amount_with_fee,
               const struct TALER_Amount *deposit_fee,
-              const struct TALER_PrivateContractHash *h_contract_terms)
+              const struct TALER_PrivateContractHashP *h_contract_terms)
 {
   struct AggregationUnit *au = cls;
   struct TALER_Amount old;
diff --git a/src/exchange/taler-exchange-httpd.c 
b/src/exchange/taler-exchange-httpd.c
index efaf6311..a65c01e4 100644
--- a/src/exchange/taler-exchange-httpd.c
+++ b/src/exchange/taler-exchange-httpd.c
@@ -647,7 +647,7 @@ handle_post_management (struct TEH_RequestContext *rc,
   if (0 == strcmp (args[0],
                    "denominations"))
   {
-    struct TALER_DenominationHash h_denom_pub;
+    struct TALER_DenominationHashP h_denom_pub;
 
     if ( (NULL == args[0]) ||
          (NULL == args[1]) ||
@@ -794,7 +794,7 @@ handle_post_auditors (struct TEH_RequestContext *rc,
                       const char *const args[])
 {
   struct TALER_AuditorPublicKeyP auditor_pub;
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   if ( (NULL == args[0]) ||
        (NULL == args[1]) ||
diff --git a/src/exchange/taler-exchange-httpd_auditors.c 
b/src/exchange/taler-exchange-httpd_auditors.c
index b9ebbe58..b32feff7 100644
--- a/src/exchange/taler-exchange-httpd_auditors.c
+++ b/src/exchange/taler-exchange-httpd_auditors.c
@@ -45,7 +45,7 @@ struct AddAuditorDenomContext
   /**
    * Denomination this is about.
    */
-  const struct TALER_DenominationHash *h_denom_pub;
+  const struct TALER_DenominationHashP *h_denom_pub;
 
   /**
    * Auditor this is about.
@@ -189,7 +189,7 @@ MHD_RESULT
 TEH_handler_auditors (
   struct MHD_Connection *connection,
   const struct TALER_AuditorPublicKeyP *auditor_pub,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const json_t *root)
 {
   struct AddAuditorDenomContext awc = {
diff --git a/src/exchange/taler-exchange-httpd_auditors.h 
b/src/exchange/taler-exchange-httpd_auditors.h
index 00a2e57a..5d5c3a49 100644
--- a/src/exchange/taler-exchange-httpd_auditors.h
+++ b/src/exchange/taler-exchange-httpd_auditors.h
@@ -39,7 +39,7 @@ MHD_RESULT
 TEH_handler_auditors (
   struct MHD_Connection *connection,
   const struct TALER_AuditorPublicKeyP *auditor_pub,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const json_t *root);
 
 
diff --git a/src/exchange/taler-exchange-httpd_csr.c 
b/src/exchange/taler-exchange-httpd_csr.c
index 94b55c70..1abe5563 100644
--- a/src/exchange/taler-exchange-httpd_csr.c
+++ b/src/exchange/taler-exchange-httpd_csr.c
@@ -78,12 +78,12 @@ TEH_handler_csr_melt (struct TEH_RequestContext *rc,
 
     {
       struct TALER_CsNonce nonces[csr_requests_num];
-      struct TALER_DenominationHash denom_pub_hashes[csr_requests_num];
+      struct TALER_DenominationHashP denom_pub_hashes[csr_requests_num];
 
       for (unsigned int i = 0; i < csr_requests_num; i++)
       {
         uint32_t coin_off;
-        struct TALER_DenominationHash *denom_pub_hash = &denom_pub_hashes[i];
+        struct TALER_DenominationHashP *denom_pub_hash = &denom_pub_hashes[i];
         struct GNUNET_JSON_Specification csr_spec[] = {
           GNUNET_JSON_spec_uint32 ("coin_offset",
                                    &coin_off),
@@ -112,7 +112,7 @@ TEH_handler_csr_melt (struct TEH_RequestContext *rc,
       for (unsigned int i = 0; i < csr_requests_num; i++)
       {
         const struct TALER_CsNonce *nonce = &nonces[i];
-        const struct TALER_DenominationHash *denom_pub_hash =
+        const struct TALER_DenominationHashP *denom_pub_hash =
           &denom_pub_hashes[i];
         struct TALER_DenominationCSPublicRPairP *r_pub
           = &ewvs[i].details.cs_values;
@@ -228,7 +228,7 @@ TEH_handler_csr_withdraw (struct TEH_RequestContext *rc,
                           const char *const args[])
 {
   struct TALER_CsNonce nonce;
-  struct TALER_DenominationHash denom_pub_hash;
+  struct TALER_DenominationHashP denom_pub_hash;
   struct TALER_ExchangeWithdrawValues ewv = {
     .cipher = TALER_DENOMINATION_CS
   };
@@ -238,7 +238,7 @@ TEH_handler_csr_withdraw (struct TEH_RequestContext *rc,
                             sizeof (struct TALER_CsNonce)),
     GNUNET_JSON_spec_fixed ("denom_pub_hash",
                             &denom_pub_hash,
-                            sizeof (struct TALER_DenominationHash)),
+                            sizeof (struct TALER_DenominationHashP)),
     GNUNET_JSON_spec_end ()
   };
   struct TEH_DenominationKey *dk;
diff --git a/src/exchange/taler-exchange-httpd_db.c 
b/src/exchange/taler-exchange-httpd_db.c
index f331e17d..f621d8c8 100644
--- a/src/exchange/taler-exchange-httpd_db.c
+++ b/src/exchange/taler-exchange-httpd_db.c
@@ -49,7 +49,7 @@ TEH_make_coin_known (const struct TALER_CoinPublicInfo *coin,
                      MHD_RESULT *mhd_ret)
 {
   enum TALER_EXCHANGEDB_CoinKnownStatus cks;
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
   struct TALER_AgeCommitmentHash age_hash;
 
   /* make sure coin is 'known' in database */
diff --git a/src/exchange/taler-exchange-httpd_deposit.c 
b/src/exchange/taler-exchange-httpd_deposit.c
index acdc6ee6..ea319f23 100644
--- a/src/exchange/taler-exchange-httpd_deposit.c
+++ b/src/exchange/taler-exchange-httpd_deposit.c
@@ -59,9 +59,10 @@
 static MHD_RESULT
 reply_deposit_success (struct MHD_Connection *connection,
                        const struct TALER_CoinSpendPublicKeyP *coin_pub,
-                       const struct TALER_MerchantWireHash *h_wire,
-                       const struct TALER_ExtensionContractHash *h_extensions,
-                       const struct TALER_PrivateContractHash 
*h_contract_terms,
+                       const struct TALER_MerchantWireHashP *h_wire,
+                       const struct TALER_ExtensionContractHashP *h_extensions,
+                       const struct
+                       TALER_PrivateContractHashP *h_contract_terms,
                        struct GNUNET_TIME_Timestamp exchange_timestamp,
                        struct GNUNET_TIME_Timestamp refund_deadline,
                        struct GNUNET_TIME_Timestamp wire_deadline,
@@ -128,7 +129,7 @@ struct DepositContext
   /**
    * Hash of the payto URI.
    */
-  struct TALER_PaytoHash h_payto;
+  struct TALER_PaytoHashP h_payto;
 
   /**
    * Row of of the coin in the known_coins table.
@@ -254,7 +255,7 @@ TEH_handler_deposit (struct MHD_Connection *connection,
                                 &deposit.wire_deadline),
     GNUNET_JSON_spec_end ()
   };
-  struct TALER_MerchantWireHash h_wire;
+  struct TALER_MerchantWireHashP h_wire;
 
   memset (&deposit,
           0,
diff --git a/src/exchange/taler-exchange-httpd_deposits_get.c 
b/src/exchange/taler-exchange-httpd_deposits_get.c
index 9a33f2b7..fa1b530b 100644
--- a/src/exchange/taler-exchange-httpd_deposits_get.c
+++ b/src/exchange/taler-exchange-httpd_deposits_get.c
@@ -47,8 +47,9 @@
  */
 static MHD_RESULT
 reply_deposit_details (struct MHD_Connection *connection,
-                       const struct TALER_PrivateContractHash 
*h_contract_terms,
-                       const struct TALER_MerchantWireHash *h_wire,
+                       const struct
+                       TALER_PrivateContractHashP *h_contract_terms,
+                       const struct TALER_MerchantWireHashP *h_wire,
                        const struct TALER_CoinSpendPublicKeyP *coin_pub,
                        const struct TALER_Amount *coin_contribution,
                        const struct TALER_WireTransferIdentifierRawP *wtid,
diff --git a/src/exchange/taler-exchange-httpd_keys.c 
b/src/exchange/taler-exchange-httpd_keys.c
index 60c9c6eb..8d90afae 100644
--- a/src/exchange/taler-exchange-httpd_keys.c
+++ b/src/exchange/taler-exchange-httpd_keys.c
@@ -80,7 +80,7 @@ struct HelperDenomination
   /**
    * Hash of the full denomination key.
    */
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   /**
    * Signature over this key from the security module's key.
@@ -1295,7 +1295,7 @@ static void
 denomination_info_cb (
   void *cls,
   const struct TALER_DenominationPublicKey *denom_pub,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_EXCHANGEDB_DenominationKeyMetaData *meta,
   const struct TALER_MasterSignatureP *master_sig,
   bool recoup_possible)
@@ -1472,7 +1472,7 @@ static void
 auditor_denom_cb (
   void *cls,
   const struct TALER_AuditorPublicKeyP *auditor_pub,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_AuditorSignatureP *auditor_sig)
 {
   struct TEH_KeyStateHandle *ksh = cls;
@@ -2386,7 +2386,8 @@ TEH_keys_get_state (void)
 
 
 struct TEH_DenominationKey *
-TEH_keys_denomination_by_hash (const struct TALER_DenominationHash 
*h_denom_pub,
+TEH_keys_denomination_by_hash (const struct
+                               TALER_DenominationHashP *h_denom_pub,
                                struct MHD_Connection *conn,
                                MHD_RESULT *mret)
 {
@@ -2411,7 +2412,7 @@ TEH_keys_denomination_by_hash (const struct 
TALER_DenominationHash *h_denom_pub,
 struct TEH_DenominationKey *
 TEH_keys_denomination_by_hash2 (
   struct TEH_KeyStateHandle *ksh,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   struct MHD_Connection *conn,
   MHD_RESULT *mret)
 {
@@ -2433,7 +2434,7 @@ TEH_keys_denomination_by_hash2 (
 
 enum TALER_ErrorCode
 TEH_keys_denomination_sign_withdraw (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_BlindedPlanchet *bp,
   struct TALER_BlindedDenominationSignature *bs)
 {
@@ -2472,7 +2473,7 @@ TEH_keys_denomination_sign_withdraw (
 
 enum TALER_ErrorCode
 TEH_keys_denomination_sign_melt (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_BlindedPlanchet *bp,
   struct TALER_BlindedDenominationSignature *bs)
 {
@@ -2511,7 +2512,7 @@ TEH_keys_denomination_sign_melt (
 
 enum TALER_ErrorCode
 TEH_keys_denomination_cs_r_pub_melt (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_CsNonce *nonce,
   struct TALER_DenominationCSPublicRPairP *r_pub)
 {
@@ -2543,7 +2544,7 @@ TEH_keys_denomination_cs_r_pub_melt (
 
 enum TALER_ErrorCode
 TEH_keys_denomination_cs_r_pub_withdraw (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_CsNonce *nonce,
   struct TALER_DenominationCSPublicRPairP *r_pub)
 {
@@ -2574,7 +2575,7 @@ TEH_keys_denomination_cs_r_pub_withdraw (
 
 
 void
-TEH_keys_denomination_revoke (const struct TALER_DenominationHash *h_denom_pub)
+TEH_keys_denomination_revoke (const struct TALER_DenominationHashP 
*h_denom_pub)
 {
   struct TEH_KeyStateHandle *ksh;
   struct HelperDenomination *hd;
@@ -2897,7 +2898,7 @@ load_extension_data (const char *section_name,
 
 
 enum GNUNET_GenericReturnValue
-TEH_keys_load_fees (const struct TALER_DenominationHash *h_denom_pub,
+TEH_keys_load_fees (const struct TALER_DenominationHashP *h_denom_pub,
                     struct TALER_DenominationPublicKey *denom_pub,
                     struct TALER_EXCHANGEDB_DenominationKeyMetaData *meta)
 {
diff --git a/src/exchange/taler-exchange-httpd_keys.h 
b/src/exchange/taler-exchange-httpd_keys.h
index 7c6fb3e3..ee9412a6 100644
--- a/src/exchange/taler-exchange-httpd_keys.h
+++ b/src/exchange/taler-exchange-httpd_keys.h
@@ -49,7 +49,7 @@ struct TEH_DenominationKey
   /**
    * Hash code of the denomination public key.
    */
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   /**
    * Meta data about the type of the denomination, such as fees and validity
@@ -141,7 +141,8 @@ TEH_keys_update_states (void);
  *         or NULL if @a h_denom_pub could not be found
  */
 struct TEH_DenominationKey *
-TEH_keys_denomination_by_hash (const struct TALER_DenominationHash 
*h_denom_pub,
+TEH_keys_denomination_by_hash (const struct
+                               TALER_DenominationHashP *h_denom_pub,
                                struct MHD_Connection *conn,
                                MHD_RESULT *mret);
 
@@ -162,7 +163,7 @@ TEH_keys_denomination_by_hash (const struct 
TALER_DenominationHash *h_denom_pub,
 struct TEH_DenominationKey *
 TEH_keys_denomination_by_hash2 (
   struct TEH_KeyStateHandle *ksh,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   struct MHD_Connection *conn,
   MHD_RESULT *mret);
 
@@ -179,7 +180,7 @@ TEH_keys_denomination_by_hash2 (
  */
 enum TALER_ErrorCode
 TEH_keys_denomination_sign_withdraw (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_BlindedPlanchet *bp,
   struct TALER_BlindedDenominationSignature *bs);
 
@@ -196,7 +197,7 @@ TEH_keys_denomination_sign_withdraw (
  */
 enum TALER_ErrorCode
 TEH_keys_denomination_sign_melt (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_BlindedPlanchet *bp,
   struct TALER_BlindedDenominationSignature *bs);
 
@@ -212,7 +213,7 @@ TEH_keys_denomination_sign_melt (
  */
 enum TALER_ErrorCode
 TEH_keys_denomination_cs_r_pub_withdraw (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_CsNonce *nonce,
   struct TALER_DenominationCSPublicRPairP *r_pub);
 
@@ -228,7 +229,7 @@ TEH_keys_denomination_cs_r_pub_withdraw (
  */
 enum TALER_ErrorCode
 TEH_keys_denomination_cs_r_pub_melt (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_CsNonce *nonce,
   struct TALER_DenominationCSPublicRPairP *r_pub);
 
@@ -245,7 +246,8 @@ TEH_keys_denomination_cs_r_pub_melt (
  * @param h_denom_pub hash of the public key to revoke
  */
 void
-TEH_keys_denomination_revoke (const struct TALER_DenominationHash 
*h_denom_pub);
+TEH_keys_denomination_revoke (const struct
+                              TALER_DenominationHashP *h_denom_pub);
 
 
 /**
@@ -422,7 +424,7 @@ TEH_keys_management_get_keys_handler (const struct 
TEH_RequestHandler *rh,
  *         #GNUNET_SYSERR on hard errors
  */
 enum GNUNET_GenericReturnValue
-TEH_keys_load_fees (const struct TALER_DenominationHash *h_denom_pub,
+TEH_keys_load_fees (const struct TALER_DenominationHashP *h_denom_pub,
                     struct TALER_DenominationPublicKey *denom_pub,
                     struct TALER_EXCHANGEDB_DenominationKeyMetaData *meta);
 
diff --git a/src/exchange/taler-exchange-httpd_kyc-check.c 
b/src/exchange/taler-exchange-httpd_kyc-check.c
index 7560d626..1e7f4da1 100644
--- a/src/exchange/taler-exchange-httpd_kyc-check.c
+++ b/src/exchange/taler-exchange-httpd_kyc-check.c
@@ -73,12 +73,12 @@ struct KycPoller
    * Hash of the payto:// URI we are confirming to
    * have finished the KYC for.
    */
-  struct TALER_PaytoHash h_payto;
+  struct TALER_PaytoHashP h_payto;
 
   /**
    * Hash of the payto:// URI that was given to us for auth.
    */
-  struct TALER_PaytoHash auth_h_payto;
+  struct TALER_PaytoHashP auth_h_payto;
 
   /**
    * When will this request time out?
diff --git a/src/exchange/taler-exchange-httpd_management.h 
b/src/exchange/taler-exchange-httpd_management.h
index f0d922e6..67302c96 100644
--- a/src/exchange/taler-exchange-httpd_management.h
+++ b/src/exchange/taler-exchange-httpd_management.h
@@ -64,7 +64,7 @@ TEH_handler_management_auditors_AP_disable (
 MHD_RESULT
 TEH_handler_management_denominations_HDP_revoke (
   struct MHD_Connection *connection,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const json_t *root);
 
 
diff --git 
a/src/exchange/taler-exchange-httpd_management_denominations_HDP_revoke.c 
b/src/exchange/taler-exchange-httpd_management_denominations_HDP_revoke.c
index a8acf2f7..ec5251a1 100644
--- a/src/exchange/taler-exchange-httpd_management_denominations_HDP_revoke.c
+++ b/src/exchange/taler-exchange-httpd_management_denominations_HDP_revoke.c
@@ -34,7 +34,7 @@
 MHD_RESULT
 TEH_handler_management_denominations_HDP_revoke (
   struct MHD_Connection *connection,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const json_t *root)
 {
   struct TALER_MasterSignatureP master_sig;
diff --git a/src/exchange/taler-exchange-httpd_management_extensions.c 
b/src/exchange/taler-exchange-httpd_management_extensions.c
index ab0287e3..41df22f6 100644
--- a/src/exchange/taler-exchange-httpd_management_extensions.c
+++ b/src/exchange/taler-exchange-httpd_management_extensions.c
@@ -234,7 +234,7 @@ TEH_handler_management_post_extensions (
 
   /* Verify the signature */
   {
-    struct TALER_ExtensionConfigHash h_config;
+    struct TALER_ExtensionConfigHashP h_config;
 
     if (GNUNET_OK !=
         TALER_JSON_extensions_config_hash (extensions, &h_config) ||
diff --git a/src/exchange/taler-exchange-httpd_management_post_keys.c 
b/src/exchange/taler-exchange-httpd_management_post_keys.c
index 2e48497a..93b7252e 100644
--- a/src/exchange/taler-exchange-httpd_management_post_keys.c
+++ b/src/exchange/taler-exchange-httpd_management_post_keys.c
@@ -40,7 +40,7 @@ struct DenomSig
   /**
    * Hash of a denomination public key.
    */
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   /**
    * Master signature for the @e h_denom_pub.
diff --git a/src/exchange/taler-exchange-httpd_melt.c 
b/src/exchange/taler-exchange-httpd_melt.c
index 1585af71..03075280 100644
--- a/src/exchange/taler-exchange-httpd_melt.c
+++ b/src/exchange/taler-exchange-httpd_melt.c
@@ -362,7 +362,7 @@ check_melt_valid (struct MHD_Connection *connection,
   if (GNUNET_TIME_absolute_is_past (dk->meta.expire_deposit.abs_time))
   {
     /* We are past deposit expiration time, but maybe this is a zombie? */
-    struct TALER_DenominationHash denom_hash;
+    struct TALER_DenominationHashP denom_hash;
     enum GNUNET_DB_QueryStatus qs;
 
     /* Check that the coin is dirty (we have seen it before), as we will
diff --git a/src/exchange/taler-exchange-httpd_recoup-refresh.c 
b/src/exchange/taler-exchange-httpd_recoup-refresh.c
index 4326dfe4..d21aa02c 100644
--- a/src/exchange/taler-exchange-httpd_recoup-refresh.c
+++ b/src/exchange/taler-exchange-httpd_recoup-refresh.c
@@ -180,7 +180,7 @@ verify_and_execute_recoup_refresh (
   struct RecoupContext pc;
   const struct TEH_DenominationKey *dk;
   MHD_RESULT mret;
-  struct TALER_BlindedCoinHash h_blind;
+  struct TALER_BlindedCoinHashP h_blind;
 
   /* check denomination exists and is in recoup mode */
   dk = TEH_keys_denomination_by_hash (&coin->denom_pub_hash,
@@ -245,7 +245,7 @@ verify_and_execute_recoup_refresh (
   }
 
   {
-    struct TALER_CoinPubHash c_hash;
+    struct TALER_CoinPubHashP c_hash;
     struct TALER_BlindedPlanchet blinded_planchet;
 
     if (GNUNET_OK !=
diff --git a/src/exchange/taler-exchange-httpd_recoup.c 
b/src/exchange/taler-exchange-httpd_recoup.c
index 0f6bb246..da576e94 100644
--- a/src/exchange/taler-exchange-httpd_recoup.c
+++ b/src/exchange/taler-exchange-httpd_recoup.c
@@ -42,7 +42,7 @@ struct RecoupContext
   /**
    * Hash identifying the withdraw request.
    */
-  struct TALER_BlindedCoinHash h_coin_ev;
+  struct TALER_BlindedCoinHashP h_coin_ev;
 
   /**
    * Set by #recoup_transaction() to the reserve that will
@@ -250,7 +250,7 @@ verify_and_execute_recoup (
      (a bit later) check that this coin was indeed
      signed by us. */
   {
-    struct TALER_CoinPubHash c_hash;
+    struct TALER_CoinPubHashP c_hash;
     struct TALER_BlindedPlanchet blinded_planchet;
 
     if (GNUNET_OK !=
diff --git a/src/exchange/taler-exchange-httpd_refreshes_reveal.c 
b/src/exchange/taler-exchange-httpd_refreshes_reveal.c
index 0a4dd638..bace776d 100644
--- a/src/exchange/taler-exchange-httpd_refreshes_reveal.c
+++ b/src/exchange/taler-exchange-httpd_refreshes_reveal.c
@@ -279,7 +279,7 @@ check_commitment (struct RevealContext *rctx,
             = &rctx->rrcs[j].exchange_vals;
           struct TALER_PlanchetDetail pd;
           struct TALER_AgeCommitmentHash *hac = NULL;
-          struct TALER_CoinPubHash c_hash;
+          struct TALER_CoinPubHashP c_hash;
           struct TALER_PlanchetMasterSecretP ps;
 
           rcd->dk = &rctx->dks[j]->denom_pub;
diff --git a/src/exchange/taler-exchange-httpd_refund.c 
b/src/exchange/taler-exchange-httpd_refund.c
index 628fe699..70ab3fd0 100644
--- a/src/exchange/taler-exchange-httpd_refund.c
+++ b/src/exchange/taler-exchange-httpd_refund.c
@@ -204,7 +204,7 @@ static MHD_RESULT
 verify_and_execute_refund (struct MHD_Connection *connection,
                            struct TALER_EXCHANGEDB_Refund *refund)
 {
-  struct TALER_DenominationHash denom_hash;
+  struct TALER_DenominationHashP denom_hash;
   struct RefundContext rctx = {
     .refund = refund
   };
diff --git a/src/exchange/taler-exchange-httpd_responses.c 
b/src/exchange/taler-exchange-httpd_responses.c
index ad10cc18..9007e9d9 100644
--- a/src/exchange/taler-exchange-httpd_responses.c
+++ b/src/exchange/taler-exchange-httpd_responses.c
@@ -61,7 +61,7 @@ TEH_RESPONSE_compile_transaction_history (
       {
         const struct TALER_EXCHANGEDB_DepositListEntry *deposit =
           pos->details.deposit;
-        struct TALER_MerchantWireHash h_wire;
+        struct TALER_MerchantWireHashP h_wire;
 
         TALER_merchant_wire_signature_hash (deposit->receiver_wire_account,
                                             &deposit->wire_salt,
@@ -410,7 +410,7 @@ TEH_RESPONSE_compile_transaction_history (
 MHD_RESULT
 TEH_RESPONSE_reply_unknown_denom_pub_hash (
   struct MHD_Connection *connection,
-  const struct TALER_DenominationHash *dph)
+  const struct TALER_DenominationHashP *dph)
 {
   struct TALER_ExchangePublicKeyP epub;
   struct TALER_ExchangeSignatureP esig;
@@ -456,7 +456,7 @@ TEH_RESPONSE_reply_unknown_denom_pub_hash (
 MHD_RESULT
 TEH_RESPONSE_reply_expired_denom_pub_hash (
   struct MHD_Connection *connection,
-  const struct TALER_DenominationHash *dph,
+  const struct TALER_DenominationHashP *dph,
   enum TALER_ErrorCode ec,
   const char *oper)
 {
@@ -509,7 +509,7 @@ TEH_RESPONSE_reply_expired_denom_pub_hash (
 MHD_RESULT
 TEH_RESPONSE_reply_invalid_denom_cipher_for_operation (
   struct MHD_Connection *connection,
-  const struct TALER_DenominationHash *dph)
+  const struct TALER_DenominationHashP *dph)
 {
   struct TALER_ExchangePublicKeyP epub;
   struct TALER_ExchangeSignatureP esig;
diff --git a/src/exchange/taler-exchange-httpd_responses.h 
b/src/exchange/taler-exchange-httpd_responses.h
index 48309a41..ffd2cc9e 100644
--- a/src/exchange/taler-exchange-httpd_responses.h
+++ b/src/exchange/taler-exchange-httpd_responses.h
@@ -58,7 +58,7 @@ TEH_RESPONSE_compile_reserve_history (
 MHD_RESULT
 TEH_RESPONSE_reply_unknown_denom_pub_hash (
   struct MHD_Connection *connection,
-  const struct TALER_DenominationHash *dph);
+  const struct TALER_DenominationHashP *dph);
 
 
 /**
@@ -74,7 +74,7 @@ TEH_RESPONSE_reply_unknown_denom_pub_hash (
 MHD_RESULT
 TEH_RESPONSE_reply_expired_denom_pub_hash (
   struct MHD_Connection *connection,
-  const struct TALER_DenominationHash *dph,
+  const struct TALER_DenominationHashP *dph,
   enum TALER_ErrorCode ec,
   const char *oper);
 
@@ -89,7 +89,7 @@ TEH_RESPONSE_reply_expired_denom_pub_hash (
 MHD_RESULT
 TEH_RESPONSE_reply_invalid_denom_cipher_for_operation (
   struct MHD_Connection *connection,
-  const struct TALER_DenominationHash *dph);
+  const struct TALER_DenominationHashP *dph);
 
 
 /**
diff --git a/src/exchange/taler-exchange-httpd_transfers_get.c 
b/src/exchange/taler-exchange-httpd_transfers_get.c
index 7ca0da97..99946a32 100644
--- a/src/exchange/taler-exchange-httpd_transfers_get.c
+++ b/src/exchange/taler-exchange-httpd_transfers_get.c
@@ -51,7 +51,7 @@ struct AggregatedDepositDetail
   /**
    * Hash of the contract terms.
    */
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_PrivateContractHashP h_contract_terms;
 
   /**
    * Coin's public key of the deposited coin.
@@ -273,7 +273,7 @@ handle_deposit_data (void *cls,
                      const struct TALER_MerchantPublicKeyP *merchant_pub,
                      const char *account_payto_uri,
                      struct GNUNET_TIME_Timestamp exec_time,
-                     const struct TALER_PrivateContractHash *h_contract_terms,
+                     const struct TALER_PrivateContractHashP *h_contract_terms,
                      const struct TALER_DenominationPublicKey *denom_pub,
                      const struct TALER_CoinSpendPublicKeyP *coin_pub,
                      const struct TALER_Amount *deposit_value,
diff --git a/src/exchange/taler-exchange-httpd_withdraw.c 
b/src/exchange/taler-exchange-httpd_withdraw.c
index 5f159a42..ac47824e 100644
--- a/src/exchange/taler-exchange-httpd_withdraw.c
+++ b/src/exchange/taler-exchange-httpd_withdraw.c
@@ -94,7 +94,7 @@ struct WithdrawContext
   /**
    * Hash of the (blinded) message to be signed by the Exchange.
    */
-  struct TALER_BlindedCoinHash h_coin_envelope;
+  struct TALER_BlindedCoinHashP h_coin_envelope;
 
   /**
    * Value of the coin being exchanged (matching the denomination key)
diff --git a/src/exchangedb/irbt_callbacks.c b/src/exchangedb/irbt_callbacks.c
index 8cc4e237..cf054942 100644
--- a/src/exchangedb/irbt_callbacks.c
+++ b/src/exchangedb/irbt_callbacks.c
@@ -35,7 +35,7 @@ static enum GNUNET_DB_QueryStatus
 irbt_cb_table_denominations (struct PostgresClosure *pg,
                              const struct TALER_EXCHANGEDB_TableData *td)
 {
-  struct TALER_DenominationHash denom_hash;
+  struct TALER_DenominationHashP denom_hash;
   struct GNUNET_PQ_QueryParam params[] = {
     GNUNET_PQ_query_param_uint64 (&td->serial),
     GNUNET_PQ_query_param_auto_from_type (&denom_hash),
@@ -109,7 +109,7 @@ static enum GNUNET_DB_QueryStatus
 irbt_cb_table_wire_targets (struct PostgresClosure *pg,
                             const struct TALER_EXCHANGEDB_TableData *td)
 {
-  struct TALER_PaytoHash payto_hash;
+  struct TALER_PaytoHashP payto_hash;
   struct GNUNET_PQ_QueryParam params[] = {
     GNUNET_PQ_query_param_auto_from_type (&payto_hash),
     GNUNET_PQ_query_param_string (
diff --git a/src/exchangedb/plugin_exchangedb_postgres.c 
b/src/exchangedb/plugin_exchangedb_postgres.c
index 2ae01f0c..b5bf71e5 100644
--- a/src/exchangedb/plugin_exchangedb_postgres.c
+++ b/src/exchangedb/plugin_exchangedb_postgres.c
@@ -3147,7 +3147,7 @@ postgres_insert_denomination_info (
 static enum GNUNET_DB_QueryStatus
 postgres_get_denomination_info (
   void *cls,
-  const struct TALER_DenominationHash *denom_pub_hash,
+  const struct TALER_DenominationHashP *denom_pub_hash,
   struct TALER_EXCHANGEDB_DenominationKeyInformationP *issue)
 {
   struct PostgresClosure *pg = cls;
@@ -3377,7 +3377,7 @@ dominations_cb_helper (void *cls,
     struct TALER_EXCHANGEDB_DenominationKeyMetaData meta = {0};
     struct TALER_DenominationPublicKey denom_pub = {0};
     struct TALER_MasterSignatureP master_sig = {0};
-    struct TALER_DenominationHash h_denom_pub = {0};
+    struct TALER_DenominationHashP h_denom_pub = {0};
     bool revoked;
     struct GNUNET_PQ_ResultSpec rs[] = {
       GNUNET_PQ_result_spec_auto_from_type ("master_sig",
@@ -3702,7 +3702,7 @@ auditor_denoms_cb_helper (void *cls,
   for (unsigned int i = 0; i<num_results; i++)
   {
     struct TALER_AuditorPublicKeyP auditor_pub;
-    struct TALER_DenominationHash h_denom_pub;
+    struct TALER_DenominationHashP h_denom_pub;
     struct TALER_AuditorSignatureP auditor_sig;
     struct GNUNET_PQ_ResultSpec rs[] = {
       GNUNET_PQ_result_spec_auto_from_type ("auditor_pub",
@@ -3870,7 +3870,7 @@ postgres_set_kyc_ok (void *cls,
 static enum GNUNET_DB_QueryStatus
 postgres_select_kyc_status (void *cls,
                             uint64_t payment_target_uuid,
-                            struct TALER_PaytoHash *h_payto,
+                            struct TALER_PaytoHashP *h_payto,
                             struct TALER_EXCHANGEDB_KycStatus *kyc)
 {
   struct PostgresClosure *pg = cls;
@@ -3911,7 +3911,7 @@ inselect_account_kyc_status (
   struct TALER_EXCHANGEDB_KycStatus *kyc)
 {
 
-  struct TALER_PaytoHash h_payto;
+  struct TALER_PaytoHashP h_payto;
   enum GNUNET_DB_QueryStatus qs;
 
   TALER_payto_hash (payto_uri,
@@ -4330,7 +4330,7 @@ postgres_reserves_in_insert (void *cls,
 static enum GNUNET_DB_QueryStatus
 postgres_get_withdraw_info (
   void *cls,
-  const struct TALER_BlindedCoinHash *bch,
+  const struct TALER_BlindedCoinHashP *bch,
   struct TALER_EXCHANGEDB_CollectableBlindcoin *collectable)
 {
   struct PostgresClosure *pg = cls;
@@ -4516,7 +4516,7 @@ postgres_do_deposit (
   void *cls,
   const struct TALER_EXCHANGEDB_Deposit *deposit,
   uint64_t known_coin_id,
-  const struct TALER_PaytoHash *h_payto,
+  const struct TALER_PaytoHashP *h_payto,
   bool extension_blocked,
   struct GNUNET_TIME_Timestamp *exchange_timestamp,
   bool *balance_ok,
@@ -5241,8 +5241,8 @@ postgres_get_reserve_history (void *cls,
 static enum GNUNET_DB_QueryStatus
 postgres_have_deposit2 (
   void *cls,
-  const struct TALER_PrivateContractHash *h_contract_terms,
-  const struct TALER_MerchantWireHash *h_wire,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
+  const struct TALER_MerchantWireHashP *h_wire,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_MerchantPublicKeyP *merchant,
   struct GNUNET_TIME_Timestamp refund_deadline,
@@ -5277,7 +5277,7 @@ postgres_have_deposit2 (
     GNUNET_PQ_result_spec_end
   };
   enum GNUNET_DB_QueryStatus qs;
-  struct TALER_MerchantWireHash h_wire2;
+  struct TALER_MerchantWireHashP h_wire2;
 #if EXPLICIT_LOCKS
   struct GNUNET_PQ_QueryParam no_params[] = {
     GNUNET_PQ_query_param_end
@@ -5402,7 +5402,7 @@ postgres_get_ready_deposit (void *cls,
   };
   struct TALER_Amount amount_with_fee;
   struct TALER_Amount deposit_fee;
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_PrivateContractHashP h_contract_terms;
   struct TALER_MerchantPublicKeyP merchant_pub;
   struct TALER_CoinSpendPublicKeyP coin_pub;
   uint64_t serial_id;
@@ -5527,7 +5527,7 @@ match_deposit_cb (void *cls,
   {
     struct TALER_Amount amount_with_fee;
     struct TALER_Amount deposit_fee;
-    struct TALER_PrivateContractHash h_contract_terms;
+    struct TALER_PrivateContractHashP h_contract_terms;
     struct TALER_CoinSpendPublicKeyP coin_pub;
     uint64_t serial_id;
     enum GNUNET_DB_QueryStatus qs;
@@ -5679,7 +5679,7 @@ postgres_get_coin_denomination (
   void *cls,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   uint64_t *known_coin_id,
-  struct TALER_DenominationHash *denom_hash)
+  struct TALER_DenominationHashP *denom_hash)
 {
   struct PostgresClosure *pg = cls;
   struct GNUNET_PQ_QueryParam params[] = {
@@ -5713,7 +5713,8 @@ postgres_get_coin_denomination (
  */
 static long long
 postgres_count_known_coins (void *cls,
-                            const struct TALER_DenominationHash 
*denom_pub_hash)
+                            const struct
+                            TALER_DenominationHashP *denom_pub_hash)
 {
   struct PostgresClosure *pg = cls;
   uint64_t count;
@@ -5753,7 +5754,7 @@ static enum TALER_EXCHANGEDB_CoinKnownStatus
 postgres_ensure_coin_known (void *cls,
                             const struct TALER_CoinPublicInfo *coin,
                             uint64_t *known_coin_id,
-                            struct TALER_DenominationHash *denom_hash,
+                            struct TALER_DenominationHashP *denom_hash,
                             struct TALER_AgeCommitmentHash *age_hash)
 {
   struct PostgresClosure *pg = cls;
@@ -5998,7 +5999,7 @@ postgres_select_refunds_by_coin (
   void *cls,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_MerchantPublicKeyP *merchant_pub,
-  const struct TALER_PrivateContractHash *h_contract,
+  const struct TALER_PrivateContractHashP *h_contract,
   TALER_EXCHANGEDB_RefundCoinCallback cb,
   void *cb_cls)
 {
@@ -7130,7 +7131,7 @@ handle_wt_result (void *cls,
   for (unsigned int i = 0; i<num_results; i++)
   {
     uint64_t rowid;
-    struct TALER_PrivateContractHash h_contract_terms;
+    struct TALER_PrivateContractHashP h_contract_terms;
     struct TALER_CoinSpendPublicKeyP coin_pub;
     struct TALER_MerchantPublicKeyP merchant_pub;
     struct GNUNET_TIME_Timestamp exec_time;
@@ -7246,8 +7247,8 @@ postgres_lookup_wire_transfer (
 static enum GNUNET_DB_QueryStatus
 postgres_lookup_transfer_by_deposit (
   void *cls,
-  const struct TALER_PrivateContractHash *h_contract_terms,
-  const struct TALER_MerchantWireHash *h_wire,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
+  const struct TALER_MerchantWireHashP *h_wire,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_MerchantPublicKeyP *merchant_pub,
   bool *pending,
@@ -7290,7 +7291,7 @@ postgres_lookup_transfer_by_deposit (
                                                  rs);
   if (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT == qs)
   {
-    struct TALER_MerchantWireHash wh;
+    struct TALER_MerchantWireHashP wh;
 
     TALER_merchant_wire_signature_hash (payto_uri,
                                         &wire_salt,
@@ -7347,7 +7348,7 @@ postgres_lookup_transfer_by_deposit (
                                                    rs2);
     if (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT == qs)
     {
-      struct TALER_MerchantWireHash wh;
+      struct TALER_MerchantWireHashP wh;
 
       TALER_merchant_wire_signature_hash (payto_uri,
                                           &wire_salt,
@@ -8711,7 +8712,7 @@ reserves_out_serial_helper_cb (void *cls,
 
   for (unsigned int i = 0; i<num_results; i++)
   {
-    struct TALER_BlindedCoinHash h_blind_ev;
+    struct TALER_BlindedCoinHashP h_blind_ev;
     struct TALER_DenominationPublicKey denom_pub;
     struct TALER_ReservePublicKeyP reserve_pub;
     struct TALER_ReserveSignatureP reserve_sig;
@@ -9028,7 +9029,7 @@ recoup_serial_helper_cb (void *cls,
     union TALER_DenominationBlindingKeyP coin_blind;
     struct TALER_Amount amount;
     struct TALER_DenominationPublicKey denom_pub;
-    struct TALER_BlindedCoinHash h_blind_ev;
+    struct TALER_BlindedCoinHashP h_blind_ev;
     struct GNUNET_TIME_Timestamp timestamp;
     struct GNUNET_PQ_ResultSpec rs[] = {
       GNUNET_PQ_result_spec_uint64 ("recoup_uuid",
@@ -9175,9 +9176,9 @@ recoup_refresh_serial_helper_cb (void *cls,
     struct TALER_CoinSpendSignatureP coin_sig;
     union TALER_DenominationBlindingKeyP coin_blind;
     struct TALER_DenominationPublicKey denom_pub;
-    struct TALER_DenominationHash old_denom_pub_hash;
+    struct TALER_DenominationHashP old_denom_pub_hash;
     struct TALER_Amount amount;
-    struct TALER_BlindedCoinHash h_blind_ev;
+    struct TALER_BlindedCoinHashP h_blind_ev;
     struct GNUNET_TIME_Timestamp timestamp;
     struct GNUNET_PQ_ResultSpec rs[] = {
       GNUNET_PQ_result_spec_uint64 ("recoup_refresh_uuid",
@@ -9425,7 +9426,7 @@ postgres_select_reserve_closed_above_serial_id (
 static enum GNUNET_DB_QueryStatus
 postgres_get_reserve_by_h_blind (
   void *cls,
-  const struct TALER_BlindedCoinHash *bch,
+  const struct TALER_BlindedCoinHashP *bch,
   struct TALER_ReservePublicKeyP *reserve_pub,
   uint64_t *reserve_out_serial_id)
 {
@@ -9462,7 +9463,7 @@ postgres_get_reserve_by_h_blind (
 static enum GNUNET_DB_QueryStatus
 postgres_get_old_coin_by_h_blind (
   void *cls,
-  const struct TALER_BlindedCoinHash *h_blind_ev,
+  const struct TALER_BlindedCoinHashP *h_blind_ev,
   struct TALER_CoinSpendPublicKeyP *old_coin_pub,
   uint64_t *rrc_serial)
 {
@@ -9498,7 +9499,7 @@ postgres_get_old_coin_by_h_blind (
 static enum GNUNET_DB_QueryStatus
 postgres_insert_denomination_revocation (
   void *cls,
-  const struct TALER_DenominationHash *denom_pub_hash,
+  const struct TALER_DenominationHashP *denom_pub_hash,
   const struct TALER_MasterSignatureP *master_sig)
 {
   struct PostgresClosure *pg = cls;
@@ -9527,7 +9528,7 @@ postgres_insert_denomination_revocation (
 static enum GNUNET_DB_QueryStatus
 postgres_get_denomination_revocation (
   void *cls,
-  const struct TALER_DenominationHash *denom_pub_hash,
+  const struct TALER_DenominationHashP *denom_pub_hash,
   struct TALER_MasterSignatureP *master_sig,
   uint64_t *rowid)
 {
@@ -10210,7 +10211,7 @@ postgres_lookup_signkey_revocation (
 static enum GNUNET_DB_QueryStatus
 postgres_lookup_denomination_key (
   void *cls,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   struct TALER_EXCHANGEDB_DenominationKeyMetaData *meta)
 {
   struct PostgresClosure *pg = cls;
@@ -10263,7 +10264,7 @@ postgres_lookup_denomination_key (
 static enum GNUNET_DB_QueryStatus
 postgres_add_denomination_key (
   void *cls,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_DenominationPublicKey *denom_pub,
   const struct TALER_EXCHANGEDB_DenominationKeyMetaData *meta,
   const struct TALER_MasterSignatureP *master_sig)
@@ -10376,7 +10377,7 @@ postgres_lookup_signing_key (
 static enum GNUNET_DB_QueryStatus
 postgres_insert_auditor_denom_sig (
   void *cls,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_AuditorPublicKeyP *auditor_pub,
   const struct TALER_AuditorSignatureP *auditor_sig)
 {
@@ -10406,7 +10407,7 @@ postgres_insert_auditor_denom_sig (
 static enum GNUNET_DB_QueryStatus
 postgres_select_auditor_denom_sig (
   void *cls,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_AuditorPublicKeyP *auditor_pub,
   struct TALER_AuditorSignatureP *auditor_sig)
 {
diff --git a/src/exchangedb/test_exchangedb.c b/src/exchangedb/test_exchangedb.c
index 7cb48171..a3652a50 100644
--- a/src/exchangedb/test_exchangedb.c
+++ b/src/exchangedb/test_exchangedb.c
@@ -537,7 +537,7 @@ cb_wt_never (void *cls,
              const struct TALER_MerchantPublicKeyP *merchant_pub,
              const char *account_payto_uri,
              struct GNUNET_TIME_Timestamp exec_time,
-             const struct TALER_PrivateContractHash *h_contract_terms,
+             const struct TALER_PrivateContractHashP *h_contract_terms,
              const struct TALER_DenominationPublicKey *denom_pub,
              const struct TALER_CoinSpendPublicKeyP *coin_pub,
              const struct TALER_Amount *coin_value,
@@ -558,8 +558,8 @@ cb_wt_never (void *cls,
 
 
 static struct TALER_MerchantPublicKeyP merchant_pub_wt;
-static struct TALER_MerchantWireHash h_wire_wt;
-static struct TALER_PrivateContractHash h_contract_terms_wt;
+static struct TALER_MerchantWireHashP h_wire_wt;
+static struct TALER_PrivateContractHashP h_contract_terms_wt;
 static struct TALER_CoinSpendPublicKeyP coin_pub_wt;
 static struct TALER_Amount coin_value_wt;
 static struct TALER_Amount coin_fee_wt;
@@ -577,7 +577,7 @@ cb_wt_check (void *cls,
              const struct TALER_MerchantPublicKeyP *merchant_pub,
              const char *account_payto_uri,
              struct GNUNET_TIME_Timestamp exec_time,
-             const struct TALER_PrivateContractHash *h_contract_terms,
+             const struct TALER_PrivateContractHashP *h_contract_terms,
              const struct TALER_DenominationPublicKey *denom_pub,
              const struct TALER_CoinSpendPublicKeyP *coin_pub,
              const struct TALER_Amount *coin_value,
@@ -639,7 +639,7 @@ deposit_cb (void *cls,
             const struct TALER_CoinSpendPublicKeyP *coin_pub,
             const struct TALER_Amount *amount_with_fee,
             const struct TALER_Amount *deposit_fee,
-            const struct TALER_PrivateContractHash *h_contract_terms,
+            const struct TALER_PrivateContractHashP *h_contract_terms,
             uint64_t wire_target,
             const char *payto_uri)
 {
@@ -686,7 +686,7 @@ matching_deposit_cb (void *cls,
                      const struct TALER_CoinSpendPublicKeyP *coin_pub,
                      const struct TALER_Amount *amount_with_fee,
                      const struct TALER_Amount *deposit_fee,
-                     const struct TALER_PrivateContractHash *h_contract_terms)
+                     const struct TALER_PrivateContractHashP *h_contract_terms)
 {
   struct TALER_EXCHANGEDB_Deposit *deposit = cls;
 
@@ -761,7 +761,7 @@ audit_refund_cb (void *cls,
                  const struct TALER_CoinSpendPublicKeyP *coin_pub,
                  const struct TALER_MerchantPublicKeyP *merchant_pub,
                  const struct TALER_MerchantSignatureP *merchant_sig,
-                 const struct TALER_PrivateContractHash *h_contract_terms,
+                 const struct TALER_PrivateContractHashP *h_contract_terms,
                  uint64_t rtransaction_id,
                  const struct TALER_Amount *amount_with_fee)
 {
@@ -828,7 +828,7 @@ audit_reserve_in_cb (void *cls,
 static enum GNUNET_GenericReturnValue
 audit_reserve_out_cb (void *cls,
                       uint64_t rowid,
-                      const struct TALER_BlindedCoinHash *h_blind_ev,
+                      const struct TALER_BlindedCoinHashP *h_blind_ev,
                       const struct TALER_DenominationPublicKey *denom_pub,
                       const struct TALER_ReservePublicKeyP *reserve_pub,
                       const struct TALER_ReserveSignatureP *reserve_sig,
@@ -860,7 +860,7 @@ test_gc (void)
   struct GNUNET_TIME_Timestamp now;
   struct GNUNET_TIME_Timestamp past;
   struct TALER_EXCHANGEDB_DenominationKeyInformationP issue2;
-  struct TALER_DenominationHash denom_hash;
+  struct TALER_DenominationHashP denom_hash;
 
   now = GNUNET_TIME_timestamp_get ();
   past = GNUNET_TIME_absolute_to_timestamp (
@@ -1079,7 +1079,8 @@ test_wire_out (const struct TALER_EXCHANGEDB_Deposit 
*deposit)
                                         NULL));
 
   {
-    struct TALER_PrivateContractHash h_contract_terms_wt2 = 
h_contract_terms_wt;
+    struct TALER_PrivateContractHashP h_contract_terms_wt2 =
+      h_contract_terms_wt;
     bool pending;
     struct TALER_WireTransferIdentifierRawP wtid2;
     struct TALER_Amount coin_contribution2;
@@ -1335,7 +1336,7 @@ run (void *cls)
   enum GNUNET_DB_QueryStatus qs;
   struct GNUNET_TIME_Timestamp now;
   struct TALER_WireSaltP salt;
-  struct TALER_CoinPubHash c_hash;
+  struct TALER_CoinPubHashP c_hash;
   uint64_t known_coin_id;
   uint64_t rrc_serial;
   struct TALER_EXCHANGEDB_Refresh refresh;
@@ -1580,7 +1581,7 @@ run (void *cls)
                                           &dkp->pub));
   deadline = GNUNET_TIME_timestamp_get ();
   {
-    struct TALER_DenominationHash dph;
+    struct TALER_DenominationHashP dph;
     struct TALER_AgeCommitmentHash agh;
 
     FAILIF (TALER_EXCHANGEDB_CKS_ADDED !=
@@ -1597,7 +1598,7 @@ run (void *cls)
       = GNUNET_TIME_timestamp_get ();
     bool balance_ok;
     bool in_conflict;
-    struct TALER_PaytoHash h_payto;
+    struct TALER_PaytoHashP h_payto;
 
     RND_BLK (&h_payto);
     deposit.refund_deadline
@@ -1779,9 +1780,9 @@ run (void *cls)
                                            tprivs,
                                            &tpub));
     {
-      struct TALER_BlindedCoinHash h_coin_ev;
+      struct TALER_BlindedCoinHashP h_coin_ev;
       struct TALER_CoinSpendPublicKeyP ocp;
-      struct TALER_DenominationHash denom_hash;
+      struct TALER_DenominationHashP denom_hash;
 
       TALER_denom_pub_hash (&new_denom_pubs[0],
                             &denom_hash);
@@ -1829,7 +1830,7 @@ run (void *cls)
     union TALER_DenominationBlindingKeyP coin_bks;
     uint64_t new_known_coin_id;
     struct TALER_CoinPublicInfo new_coin;
-    struct TALER_DenominationHash dph;
+    struct TALER_DenominationHashP dph;
     struct TALER_AgeCommitmentHash agh;
     bool recoup_ok;
     bool internal_failure;
@@ -2183,7 +2184,7 @@ run (void *cls)
   result = 8;
   {
     uint64_t known_coin_id;
-    struct TALER_DenominationHash dph;
+    struct TALER_DenominationHashP dph;
     struct TALER_AgeCommitmentHash agh;
 
     FAILIF (TALER_EXCHANGEDB_CKS_ADDED !=
@@ -2197,7 +2198,7 @@ run (void *cls)
     struct GNUNET_TIME_Timestamp now;
     struct GNUNET_TIME_Timestamp r;
     struct TALER_Amount deposit_fee;
-    struct TALER_MerchantWireHash h_wire;
+    struct TALER_MerchantWireHashP h_wire;
 
     now = GNUNET_TIME_timestamp_get ();
     FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
@@ -2301,7 +2302,7 @@ run (void *cls)
                          "test-2"));
   RND_BLK (&deposit2.merchant_pub); /* should fail if merchant is different */
   {
-    struct TALER_MerchantWireHash h_wire;
+    struct TALER_MerchantWireHashP h_wire;
     struct GNUNET_TIME_Timestamp r;
     struct TALER_Amount deposit_fee;
 
diff --git a/src/extensions/extensions.c b/src/extensions/extensions.c
index 516c56a4..b1122fe6 100644
--- a/src/extensions/extensions.c
+++ b/src/extensions/extensions.c
@@ -139,7 +139,7 @@ TALER_extensions_get_by_name (
 
 enum GNUNET_GenericReturnValue
 config_hash_verify (
-  const struct TALER_ExtensionConfigHash *h_config,
+  const struct TALER_ExtensionConfigHashP *h_config,
   const struct TALER_MasterPublicKeyP *master_pub,
   const struct TALER_MasterSignatureP *master_sig
   )
@@ -164,7 +164,7 @@ TALER_extensions_verify_json_config_signature (
   struct TALER_MasterSignatureP *extensions_sig,
   struct TALER_MasterPublicKeyP *master_pub)
 {
-  struct TALER_ExtensionConfigHash h_config;
+  struct TALER_ExtensionConfigHashP h_config;
 
   if (GNUNET_OK !=
       TALER_JSON_extensions_config_hash (extensions, &h_config))
diff --git a/src/include/taler_auditor_service.h 
b/src/include/taler_auditor_service.h
index 1d252f9d..30d18e6e 100644
--- a/src/include/taler_auditor_service.h
+++ b/src/include/taler_auditor_service.h
@@ -256,9 +256,9 @@ typedef void
 struct TALER_AUDITOR_DepositConfirmationHandle *
 TALER_AUDITOR_deposit_confirmation (
   struct TALER_AUDITOR_Handle *auditor,
-  const struct TALER_MerchantWireHash *h_wire,
-  const struct TALER_ExtensionContractHash *h_extensions,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_MerchantWireHashP *h_wire,
+  const struct TALER_ExtensionContractHashP *h_extensions,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   struct GNUNET_TIME_Timestamp exchange_timestamp,
   struct GNUNET_TIME_Timestamp wire_deadline,
   struct GNUNET_TIME_Timestamp refund_deadline,
diff --git a/src/include/taler_auditordb_plugin.h 
b/src/include/taler_auditordb_plugin.h
index e4ff8e8e..71cd7980 100644
--- a/src/include/taler_auditordb_plugin.h
+++ b/src/include/taler_auditordb_plugin.h
@@ -62,7 +62,7 @@ typedef void
 typedef enum GNUNET_GenericReturnValue
 (*TALER_AUDITORDB_HistoricDenominationRevenueDataCallback)(
   void *cls,
-  const struct TALER_DenominationHash *denom_pub_hash,
+  const struct TALER_DenominationHashP *denom_pub_hash,
   struct GNUNET_TIME_Timestamp revenue_timestamp,
   const struct TALER_Amount *revenue_balance,
   const struct TALER_Amount *loss_balance);
@@ -274,17 +274,17 @@ struct TALER_AUDITORDB_DepositConfirmation
   /**
    * Hash over the contract for which this deposit is made.
    */
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_PrivateContractHashP h_contract_terms;
 
   /**
    * Hash over the extensions for the deposit.
    */
-  struct TALER_ExtensionContractHash h_extensions;
+  struct TALER_ExtensionContractHashP h_extensions;
 
   /**
    * Hash over the wiring information of the merchant.
    */
-  struct TALER_MerchantWireHash h_wire;
+  struct TALER_MerchantWireHashP h_wire;
 
   /**
    * Time when this deposit confirmation was generated by the exchange.
@@ -1048,14 +1048,14 @@ struct TALER_AUDITORDB_Plugin
    * @return transaction status code
    */
   enum GNUNET_DB_QueryStatus
-  (*insert_denomination_balance)(void *cls,
-                                 const struct
-                                 TALER_DenominationHash *denom_pub_hash,
-                                 const struct TALER_Amount *denom_balance,
-                                 const struct TALER_Amount *denom_loss,
-                                 const struct TALER_Amount *denom_risk,
-                                 const struct TALER_Amount *recoup_loss,
-                                 uint64_t num_issued);
+  (*insert_denomination_balance)(
+    void *cls,
+    const struct TALER_DenominationHashP *denom_pub_hash,
+    const struct TALER_Amount *denom_balance,
+    const struct TALER_Amount *denom_loss,
+    const struct TALER_Amount *denom_risk,
+    const struct TALER_Amount *recoup_loss,
+    uint64_t num_issued);
 
 
   /**
@@ -1072,14 +1072,14 @@ struct TALER_AUDITORDB_Plugin
    * @return transaction status code
    */
   enum GNUNET_DB_QueryStatus
-  (*update_denomination_balance)(void *cls,
-                                 const struct
-                                 TALER_DenominationHash *denom_pub_hash,
-                                 const struct TALER_Amount *denom_balance,
-                                 const struct TALER_Amount *denom_loss,
-                                 const struct TALER_Amount *denom_risk,
-                                 const struct TALER_Amount *recoup_loss,
-                                 uint64_t num_issued);
+  (*update_denomination_balance)(
+    void *cls,
+    const struct TALER_DenominationHashP *denom_pub_hash,
+    const struct TALER_Amount *denom_balance,
+    const struct TALER_Amount *denom_loss,
+    const struct TALER_Amount *denom_risk,
+    const struct TALER_Amount *recoup_loss,
+    uint64_t num_issued);
 
 
   /**
@@ -1095,14 +1095,14 @@ struct TALER_AUDITORDB_Plugin
    * @return transaction status code
    */
   enum GNUNET_DB_QueryStatus
-  (*get_denomination_balance)(void *cls,
-                              const struct
-                              TALER_DenominationHash *denom_pub_hash,
-                              struct TALER_Amount *denom_balance,
-                              struct TALER_Amount *denom_loss,
-                              struct TALER_Amount *denom_risk,
-                              struct TALER_Amount *recoup_loss,
-                              uint64_t *num_issued);
+  (*get_denomination_balance)(
+    void *cls,
+    const struct TALER_DenominationHashP *denom_pub_hash,
+    struct TALER_Amount *denom_balance,
+    struct TALER_Amount *denom_loss,
+    struct TALER_Amount *denom_risk,
+    struct TALER_Amount *recoup_loss,
+    uint64_t *num_issued);
 
 
   /**
@@ -1113,9 +1113,9 @@ struct TALER_AUDITORDB_Plugin
    * @return transaction status code
    */
   enum GNUNET_DB_QueryStatus
-  (*del_denomination_balance)(void *cls,
-                              const struct
-                              TALER_DenominationHash *denom_pub_hash);
+  (*del_denomination_balance)(
+    void *cls,
+    const struct TALER_DenominationHashP *denom_pub_hash);
 
 
   /**
@@ -1219,7 +1219,7 @@ struct TALER_AUDITORDB_Plugin
   (*insert_historic_denom_revenue)(
     void *cls,
     const struct TALER_MasterPublicKeyP *master_pub,
-    const struct TALER_DenominationHash *denom_pub_hash,
+    const struct TALER_DenominationHashP *denom_pub_hash,
     struct GNUNET_TIME_Timestamp revenue_timestamp,
     const struct TALER_Amount *revenue_balance,
     const struct TALER_Amount *recoup_loss_balance);
diff --git a/src/include/taler_crypto_lib.h b/src/include/taler_crypto_lib.h
index 793b16ee..20b9ff30 100644
--- a/src/include/taler_crypto_lib.h
+++ b/src/include/taler_crypto_lib.h
@@ -489,7 +489,7 @@ struct TALER_RefreshMasterSecretP
  * Hash used to represent a denomination public key
  * and associated age restrictions (if any).
  */
-struct TALER_DenominationHash
+struct TALER_DenominationHashP
 {
   /**
    * Actual hash value.
@@ -502,7 +502,7 @@ struct TALER_DenominationHash
  * Hash used to represent the private part
  * of a contract between merchant and consumer.
  */
-struct TALER_PrivateContractHash
+struct TALER_PrivateContractHashP
 {
   /**
    * Actual hash value.
@@ -515,7 +515,7 @@ struct TALER_PrivateContractHash
  * Hash used to represent the "public" extensions to
  * a contract that is shared with the exchange.
  */
-struct TALER_ExtensionContractHash
+struct TALER_ExtensionContractHashP
 {
   /**
    * Actual hash value.
@@ -528,7 +528,7 @@ struct TALER_ExtensionContractHash
  * Hash used to represent the salted hash of a
  * merchant's bank account.
  */
-struct TALER_MerchantWireHash
+struct TALER_MerchantWireHashP
 {
   /**
    * Actual hash value.
@@ -541,7 +541,7 @@ struct TALER_MerchantWireHash
  * Hash used to represent the unsalted hash of a
  * payto:// URI representing a bank account.
  */
-struct TALER_PaytoHash
+struct TALER_PaytoHashP
 {
   /**
    * Actual hash value.
@@ -554,7 +554,7 @@ struct TALER_PaytoHash
  * Hash used to represent a commitment to a blinded
  * coin, i.e. the hash of the envelope.
  */
-struct TALER_BlindedCoinHash
+struct TALER_BlindedCoinHashP
 {
   /**
    * Actual hash value.
@@ -567,7 +567,7 @@ struct TALER_BlindedCoinHash
  * Hash used to represent the hash of the public
  * key of a coin (without blinding).
  */
-struct TALER_CoinPubHash
+struct TALER_CoinPubHashP
 {
   /**
    * Actual hash value.
@@ -604,7 +604,7 @@ struct TALER_PickupIdentifierP
  * @brief Salted hash over the JSON object representing the configuration of an
  * extension.
  */
-struct TALER_ExtensionConfigHash
+struct TALER_ExtensionConfigHashP
 {
   /**
    * Actual hash value.
@@ -1047,7 +1047,7 @@ struct TALER_CoinPublicInfo
    * Hash of the public key representing the denomination of the coin that is
    * being deposited.
    */
-  struct TALER_DenominationHash denom_pub_hash;
+  struct TALER_DenominationHashP denom_pub_hash;
 
   /**
    * Hash of the age commitment.  If no age commitment was provided, it must be
@@ -1072,7 +1072,7 @@ struct TALER_TrackTransferDetails
   /**
    * Hash of the proposal data.
    */
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_PrivateContractHashP h_contract_terms;
 
   /**
    * Which coin was deposited?
@@ -1227,7 +1227,7 @@ TALER_denom_blind (const struct 
TALER_DenominationPublicKey *dk,
                    const struct TALER_AgeCommitmentHash *age_commitment_hash,
                    const struct TALER_CoinSpendPublicKeyP *coin_pub,
                    const struct TALER_ExchangeWithdrawValues *alg_values,
-                   struct TALER_CoinPubHash *c_hash,
+                   struct TALER_CoinPubHashP *c_hash,
                    struct TALER_BlindedPlanchet *blinded_planchet);
 
 
@@ -1263,7 +1263,7 @@ TALER_denom_sig_unblind (
   struct TALER_DenominationSignature *denom_sig,
   const struct TALER_BlindedDenominationSignature *bdenom_sig,
   const union TALER_DenominationBlindingKeyP *bks,
-  const struct TALER_CoinPubHash *c_hash,
+  const struct TALER_CoinPubHashP *c_hash,
   const struct TALER_ExchangeWithdrawValues *alg_values,
   const struct TALER_DenominationPublicKey *denom_pub);
 
@@ -1286,7 +1286,7 @@ TALER_blinded_denom_sig_free (
  */
 void
 TALER_denom_pub_hash (const struct TALER_DenominationPublicKey *denom_pub,
-                      struct TALER_DenominationHash *denom_hash);
+                      struct TALER_DenominationHashP *denom_hash);
 
 
 /**
@@ -1401,7 +1401,7 @@ TALER_denom_priv_to_pub (const struct 
TALER_DenominationPrivateKey *denom_priv,
 enum GNUNET_GenericReturnValue
 TALER_denom_pub_verify (const struct TALER_DenominationPublicKey *denom_pub,
                         const struct TALER_DenominationSignature *denom_sig,
-                        const struct TALER_CoinPubHash *c_hash);
+                        const struct TALER_CoinPubHashP *c_hash);
 
 
 /**
@@ -1429,8 +1429,8 @@ TALER_test_coin_valid (const struct TALER_CoinPublicInfo 
*coin_public_info,
  */
 enum GNUNET_GenericReturnValue
 TALER_coin_ev_hash (const struct TALER_BlindedPlanchet *blinded_planchet,
-                    const struct TALER_DenominationHash *denom_hash,
-                    struct TALER_BlindedCoinHash *bch);
+                    const struct TALER_DenominationHashP *denom_hash,
+                    struct TALER_BlindedCoinHashP *bch);
 
 
 /**
@@ -1443,7 +1443,7 @@ TALER_coin_ev_hash (const struct TALER_BlindedPlanchet 
*blinded_planchet,
 void
 TALER_coin_pub_hash (const struct TALER_CoinSpendPublicKeyP *coin_pub,
                      const struct TALER_AgeCommitmentHash *age_commitment_hash,
-                     struct TALER_CoinPubHash *coin_h);
+                     struct TALER_CoinPubHashP *coin_h);
 
 
 /**
@@ -1454,7 +1454,7 @@ TALER_coin_pub_hash (const struct 
TALER_CoinSpendPublicKeyP *coin_pub,
  */
 void
 TALER_payto_hash (const char *payto,
-                  struct TALER_PaytoHash *h_payto);
+                  struct TALER_PaytoHashP *h_payto);
 
 /**
  * Details about a planchet that the customer wants to obtain
@@ -1467,7 +1467,7 @@ struct TALER_PlanchetDetail
   /**
    * Hash of the denomination public key.
    */
-  struct TALER_DenominationHash denom_pub_hash;
+  struct TALER_DenominationHashP denom_pub_hash;
 
   /**
    * The blinded planchet
@@ -1681,7 +1681,7 @@ TALER_planchet_prepare (const struct 
TALER_DenominationPublicKey *dk,
                         const union TALER_DenominationBlindingKeyP *bks,
                         const struct TALER_CoinSpendPrivateKeyP *coin_priv,
                         const struct TALER_AgeCommitmentHash *ach,
-                        struct TALER_CoinPubHash *c_hash,
+                        struct TALER_CoinPubHashP *c_hash,
                         struct TALER_PlanchetDetail *pd);
 
 
@@ -1725,7 +1725,7 @@ TALER_planchet_to_coin (
   const union TALER_DenominationBlindingKeyP *bks,
   const struct TALER_CoinSpendPrivateKeyP *coin_priv,
   const struct TALER_AgeCommitmentHash *ach,
-  const struct TALER_CoinPubHash *c_hash,
+  const struct TALER_CoinPubHashP *c_hash,
   const struct TALER_ExchangeWithdrawValues *alg_values,
   struct TALER_FreshCoin *coin);
 
@@ -2320,9 +2320,9 @@ TALER_CRYPTO_helper_esign_disconnect (
  */
 enum GNUNET_GenericReturnValue
 TALER_exchange_deposit_confirm_verify (
-  const struct TALER_PrivateContractHash *h_contract_terms,
-  const struct TALER_MerchantWireHash *h_wire,
-  const struct TALER_ExtensionContractHash *h_extensions,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
+  const struct TALER_MerchantWireHashP *h_wire,
+  const struct TALER_ExtensionContractHashP *h_extensions,
   struct GNUNET_TIME_Timestamp exchange_timestamp,
   struct GNUNET_TIME_Timestamp wire_deadline,
   struct GNUNET_TIME_Timestamp refund_deadline,
@@ -2367,11 +2367,11 @@ void
 TALER_wallet_deposit_sign (
   const struct TALER_Amount *amount,
   const struct TALER_Amount *deposit_fee,
-  const struct TALER_MerchantWireHash *h_wire,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_MerchantWireHashP *h_wire,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   const struct TALER_AgeCommitmentHash *h_age_commitment,
-  const struct TALER_ExtensionContractHash *h_extensions,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_ExtensionContractHashP *h_extensions,
+  const struct TALER_DenominationHashP *h_denom_pub,
   struct GNUNET_TIME_Timestamp wallet_timestamp,
   const struct TALER_MerchantPublicKeyP *merchant_pub,
   struct GNUNET_TIME_Timestamp refund_deadline,
@@ -2400,11 +2400,11 @@ enum GNUNET_GenericReturnValue
 TALER_wallet_deposit_verify (
   const struct TALER_Amount *amount,
   const struct TALER_Amount *deposit_fee,
-  const struct TALER_MerchantWireHash *h_wire,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_MerchantWireHashP *h_wire,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   const struct TALER_AgeCommitmentHash *h_commitment_hash,
-  const struct TALER_ExtensionContractHash *h_extensions,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_ExtensionContractHashP *h_extensions,
+  const struct TALER_DenominationHashP *h_denom_pub,
   struct GNUNET_TIME_Timestamp wallet_timestamp,
   const struct TALER_MerchantPublicKeyP *merchant_pub,
   struct GNUNET_TIME_Timestamp refund_deadline,
@@ -2427,7 +2427,7 @@ TALER_wallet_melt_sign (
   const struct TALER_Amount *amount_with_fee,
   const struct TALER_Amount *melt_fee,
   const struct TALER_RefreshCommitmentP *rc,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_CoinSpendPrivateKeyP *coin_priv,
   struct TALER_CoinSpendSignatureP *coin_sig);
 
@@ -2449,7 +2449,7 @@ TALER_wallet_melt_verify (
   const struct TALER_Amount *amount_with_fee,
   const struct TALER_Amount *melt_fee,
   const struct TALER_RefreshCommitmentP *rc,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_AgeCommitmentHash *h_age_commitment,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_CoinSpendSignatureP *coin_sig);
@@ -2466,9 +2466,9 @@ TALER_wallet_melt_verify (
  */
 void
 TALER_wallet_link_sign (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_TransferPublicKeyP *transfer_pub,
-  const struct TALER_BlindedCoinHash *bch,
+  const struct TALER_BlindedCoinHashP *bch,
   const struct TALER_CoinSpendPrivateKeyP *old_coin_priv,
   struct TALER_CoinSpendSignatureP *coin_sig);
 
@@ -2485,9 +2485,9 @@ TALER_wallet_link_sign (
  */
 enum GNUNET_GenericReturnValue
 TALER_wallet_link_verify (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_TransferPublicKeyP *transfer_pub,
-  const struct TALER_BlindedCoinHash *h_coin_ev,
+  const struct TALER_BlindedCoinHashP *h_coin_ev,
   const struct TALER_CoinSpendPublicKeyP *old_coin_pub,
   const struct TALER_CoinSpendSignatureP *coin_sig);
 
@@ -2503,9 +2503,9 @@ TALER_wallet_link_verify (
  */
 void
 TALER_wallet_withdraw_sign (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_Amount *amount_with_fee,
-  const struct TALER_BlindedCoinHash *bch,
+  const struct TALER_BlindedCoinHashP *bch,
   const struct TALER_ReservePrivateKeyP *reserve_priv,
   struct TALER_ReserveSignatureP *reserve_sig);
 
@@ -2522,9 +2522,9 @@ TALER_wallet_withdraw_sign (
  */
 enum GNUNET_GenericReturnValue
 TALER_wallet_withdraw_verify (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_Amount *amount_with_fee,
-  const struct TALER_BlindedCoinHash *bch,
+  const struct TALER_BlindedCoinHashP *bch,
   const struct TALER_ReservePublicKeyP *reserve_pub,
   const struct TALER_ReserveSignatureP *reserve_sig);
 
@@ -2557,7 +2557,7 @@ TALER_exchange_melt_confirmation_verify (
  */
 enum GNUNET_GenericReturnValue
 TALER_wallet_recoup_verify (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const union TALER_DenominationBlindingKeyP *coin_bks,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_CoinSpendSignatureP *coin_sig);
@@ -2573,7 +2573,7 @@ TALER_wallet_recoup_verify (
  */
 void
 TALER_wallet_recoup_sign (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const union TALER_DenominationBlindingKeyP *coin_bks,
   const struct TALER_CoinSpendPrivateKeyP *coin_priv,
   struct TALER_CoinSpendSignatureP *coin_sig);
@@ -2590,7 +2590,7 @@ TALER_wallet_recoup_sign (
  */
 enum GNUNET_GenericReturnValue
 TALER_wallet_recoup_refresh_verify (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const union TALER_DenominationBlindingKeyP *coin_bks,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_CoinSpendSignatureP *coin_sig);
@@ -2606,7 +2606,7 @@ TALER_wallet_recoup_refresh_verify (
  */
 void
 TALER_wallet_recoup_refresh_sign (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const union TALER_DenominationBlindingKeyP *coin_bks,
   const struct TALER_CoinSpendPrivateKeyP *coin_priv,
   struct TALER_CoinSpendSignatureP *coin_sig);
@@ -2628,7 +2628,7 @@ TALER_wallet_recoup_refresh_sign (
 void
 TALER_merchant_refund_sign (
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   uint64_t rtransaction_id,
   const struct TALER_Amount *amount,
   const struct TALER_MerchantPrivateKeyP *merchant_priv,
@@ -2649,7 +2649,7 @@ TALER_merchant_refund_sign (
 enum GNUNET_GenericReturnValue
 TALER_merchant_refund_verify (
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   uint64_t rtransaction_id,
   const struct TALER_Amount *amount,
   const struct TALER_MerchantPublicKeyP *merchant_pub,
@@ -2738,7 +2738,7 @@ TALER_exchange_offline_auditor_del_verify (
  */
 void
 TALER_exchange_offline_denomination_revoke_sign (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_MasterPrivateKeyP *master_priv,
   struct TALER_MasterSignatureP *master_sig);
 
@@ -2753,7 +2753,7 @@ TALER_exchange_offline_denomination_revoke_sign (
  */
 enum GNUNET_GenericReturnValue
 TALER_exchange_offline_denomination_revoke_verify (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_MasterPublicKeyP *master_pub,
   const struct TALER_MasterSignatureP *master_sig);
 
@@ -2843,7 +2843,7 @@ TALER_exchange_offline_signkey_validity_verify (
  */
 void
 TALER_exchange_offline_denom_validity_sign (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   struct GNUNET_TIME_Timestamp stamp_start,
   struct GNUNET_TIME_Timestamp stamp_expire_withdraw,
   struct GNUNET_TIME_Timestamp stamp_expire_deposit,
@@ -2870,7 +2870,7 @@ TALER_exchange_offline_denom_validity_sign (
  */
 enum GNUNET_GenericReturnValue
 TALER_exchange_offline_denom_validity_verify (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   struct GNUNET_TIME_Timestamp stamp_start,
   struct GNUNET_TIME_Timestamp stamp_expire_withdraw,
   struct GNUNET_TIME_Timestamp stamp_expire_deposit,
@@ -3018,7 +3018,7 @@ TALER_exchange_secmod_cs_verify (
 void
 TALER_auditor_denom_validity_sign (
   const char *auditor_url,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_MasterPublicKeyP *master_pub,
   struct GNUNET_TIME_Timestamp stamp_start,
   struct GNUNET_TIME_Timestamp stamp_expire_withdraw,
@@ -3049,7 +3049,7 @@ TALER_auditor_denom_validity_sign (
 enum GNUNET_GenericReturnValue
 TALER_auditor_denom_validity_verify (
   const char *auditor_url,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_MasterPublicKeyP *master_pub,
   struct GNUNET_TIME_Timestamp stamp_start,
   struct GNUNET_TIME_Timestamp stamp_expire_withdraw,
@@ -3216,7 +3216,7 @@ TALER_exchange_wire_signature_make (
 void
 TALER_merchant_wire_signature_hash (const char *payto_uri,
                                     const struct TALER_WireSaltP *salt,
-                                    struct TALER_MerchantWireHash *hc);
+                                    struct TALER_MerchantWireHashP *hc);
 
 
 /**
@@ -3263,7 +3263,7 @@ TALER_merchant_wire_signature_make (
  */
 void
 TALER_exchange_offline_extension_config_hash_sign (
-  const struct TALER_ExtensionConfigHash *h_config,
+  const struct TALER_ExtensionConfigHashP *h_config,
   const struct TALER_MasterPrivateKeyP *master_priv,
   struct TALER_MasterSignatureP *master_sig);
 
@@ -3279,7 +3279,7 @@ TALER_exchange_offline_extension_config_hash_sign (
  */
 enum GNUNET_GenericReturnValue
 TALER_exchange_offline_extension_config_hash_verify (
-  const struct TALER_ExtensionConfigHash *h_config,
+  const struct TALER_ExtensionConfigHashP *h_config,
   const struct TALER_MasterPublicKeyP *master_pub,
   const struct TALER_MasterSignatureP *master_sig
   );
diff --git a/src/include/taler_exchange_service.h 
b/src/include/taler_exchange_service.h
index 666bf101..92e841ef 100644
--- a/src/include/taler_exchange_service.h
+++ b/src/include/taler_exchange_service.h
@@ -97,7 +97,7 @@ struct TALER_EXCHANGE_DenomPublicKey
   /**
    * The hash of the public key.
    */
-  struct TALER_DenominationHash h_key;
+  struct TALER_DenominationHashP h_key;
 
   /**
    * Exchange's master signature over this denomination record.
@@ -609,7 +609,7 @@ TALER_EXCHANGE_destroy_denomination_key (
 const struct TALER_EXCHANGE_DenomPublicKey *
 TALER_EXCHANGE_get_denomination_key_by_hash (
   const struct TALER_EXCHANGE_Keys *keys,
-  const struct TALER_DenominationHash *hc);
+  const struct TALER_DenominationHashP *hc);
 
 
 /**
@@ -775,10 +775,10 @@ void
 TALER_EXCHANGE_deposit_permission_sign (
   const struct TALER_Amount *amount,
   const struct TALER_Amount *deposit_fee,
-  const struct TALER_MerchantWireHash *h_wire,
-  const struct TALER_PrivateContractHash *h_contract_terms,
-  const struct TALER_ExtensionContractHash *h_extensions,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_MerchantWireHashP *h_wire,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
+  const struct TALER_ExtensionContractHashP *h_extensions,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_CoinSpendPrivateKeyP *coin_priv,
   const struct TALER_AgeCommitment *age_commitment,
   struct GNUNET_TIME_Timestamp wallet_timestamp,
@@ -905,7 +905,7 @@ TALER_EXCHANGE_deposit (
   struct GNUNET_TIME_Timestamp wire_deadline,
   const char *merchant_payto_uri,
   const struct TALER_WireSaltP *wire_salt,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   const struct TALER_AgeCommitmentHash *h_age_commitment,
   const json_t *extension_details,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
@@ -996,7 +996,8 @@ typedef void
 struct TALER_EXCHANGE_RefundHandle *
 TALER_EXCHANGE_refund (struct TALER_EXCHANGE_Handle *exchange,
                        const struct TALER_Amount *amount,
-                       const struct TALER_PrivateContractHash 
*h_contract_terms,
+                       const struct
+                       TALER_PrivateContractHashP *h_contract_terms,
                        const struct TALER_CoinSpendPublicKeyP *coin_pub,
                        uint64_t rtransaction_id,
                        const struct TALER_MerchantPrivateKeyP *merchant_priv,
@@ -2125,7 +2126,7 @@ struct TALER_EXCHANGE_TransferData
   /**
    * hash of the payto:// URI the transfer went to
    */
-  struct TALER_PaytoHash h_payto;
+  struct TALER_PaytoHashP h_payto;
 
   /**
    * time when the exchange claims to have performed the wire transfer
@@ -2324,8 +2325,8 @@ struct TALER_EXCHANGE_DepositGetHandle *
 TALER_EXCHANGE_deposits_get (
   struct TALER_EXCHANGE_Handle *exchange,
   const struct TALER_MerchantPrivateKeyP *merchant_priv,
-  const struct TALER_MerchantWireHash *h_wire,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_MerchantWireHashP *h_wire,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   TALER_EXCHANGE_DepositGetCallback cb,
   void *cb_cls);
@@ -2360,7 +2361,7 @@ TALER_EXCHANGE_verify_coin_history (
   const char *currency,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   json_t *history,
-  struct TALER_DenominationHash *h_denom_pub,
+  struct TALER_DenominationHashP *h_denom_pub,
   struct TALER_Amount *total);
 
 
@@ -2622,7 +2623,7 @@ typedef void
 struct TALER_EXCHANGE_KycCheckHandle *
 TALER_EXCHANGE_kyc_check (struct TALER_EXCHANGE_Handle *eh,
                           uint64_t payment_target,
-                          const struct TALER_PaytoHash *h_payto,
+                          const struct TALER_PaytoHashP *h_payto,
                           struct GNUNET_TIME_Relative timeout,
                           TALER_EXCHANGE_KycStatusCallback cb,
                           void *cb_cls);
@@ -3010,7 +3011,7 @@ struct TALER_EXCHANGE_DenominationKeySignature
   /**
    * The hash of the denomination's public key
    */
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   /**
    * Signature over this denomination key by the exchange's master signature.
@@ -3187,7 +3188,7 @@ struct 
TALER_EXCHANGE_ManagementRevokeDenominationKeyHandle *
 TALER_EXCHANGE_management_revoke_denomination_key (
   struct GNUNET_CURL_Context *ctx,
   const char *url,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_MasterSignatureP *master_sig,
   TALER_EXCHANGE_ManagementRevokeDenominationKeyCallback cb,
   void *cb_cls);
@@ -3559,7 +3560,7 @@ struct TALER_EXCHANGE_AuditorAddDenominationHandle *
 TALER_EXCHANGE_add_auditor_denomination (
   struct GNUNET_CURL_Context *ctx,
   const char *url,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_AuditorPublicKeyP *auditor_pub,
   const struct TALER_AuditorSignatureP *auditor_sig,
   TALER_EXCHANGE_AuditorAddDenominationCallback cb,
diff --git a/src/include/taler_exchangedb_plugin.h 
b/src/include/taler_exchangedb_plugin.h
index b6eee195..10ab1ac9 100644
--- a/src/include/taler_exchangedb_plugin.h
+++ b/src/include/taler_exchangedb_plugin.h
@@ -109,7 +109,7 @@ struct TALER_KycCompletedEventP
   /**
    * Public key of the reserve the event is about.
    */
-  struct TALER_PaytoHash h_payto;
+  struct TALER_PaytoHashP h_payto;
 };
 
 
@@ -257,7 +257,7 @@ struct TALER_EXCHANGEDB_TableData
 
     struct
     {
-      struct TALER_BlindedCoinHash h_blind_ev;
+      struct TALER_BlindedCoinHashP h_blind_ev;
       uint64_t denominations_serial;
       struct TALER_BlindedDenominationSignature denom_sig;
       uint64_t reserve_uuid;
@@ -342,7 +342,7 @@ struct TALER_EXCHANGEDB_TableData
       struct GNUNET_TIME_Timestamp refund_deadline;
       struct GNUNET_TIME_Timestamp wire_deadline;
       struct TALER_MerchantPublicKeyP merchant_pub;
-      struct TALER_PrivateContractHash h_contract_terms;
+      struct TALER_PrivateContractHashP h_contract_terms;
       struct TALER_CoinSpendSignatureP coin_sig;
       struct TALER_WireSaltP wire_salt;
       uint64_t wire_target_serial_id;
@@ -648,7 +648,7 @@ typedef void
 (*TALER_EXCHANGEDB_DenominationsCallback)(
   void *cls,
   const struct TALER_DenominationPublicKey *denom_pub,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_EXCHANGEDB_DenominationKeyMetaData *meta,
   const struct TALER_MasterSignatureP *master_sig,
   bool recoup_possible);
@@ -700,7 +700,7 @@ typedef void
 (*TALER_EXCHANGEDB_AuditorDenominationsCallback)(
   void *cls,
   const struct TALER_AuditorPublicKeyP *auditor_pub,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_AuditorSignatureP *auditor_sig);
 
 
@@ -720,7 +720,7 @@ struct TALER_EXCHANGEDB_CollectableBlindcoin
   /**
    * Hash of the denomination key (which coin was generated).
    */
-  struct TALER_DenominationHash denom_pub_hash;
+  struct TALER_DenominationHashP denom_pub_hash;
 
   /**
    * Value of the coin being exchangeed (matching the denomination key)
@@ -753,7 +753,7 @@ struct TALER_EXCHANGEDB_CollectableBlindcoin
    * Hash over the blinded message, needed to verify
    * the @e reserve_sig.
    */
-  struct TALER_BlindedCoinHash h_coin_envelope;
+  struct TALER_BlindedCoinHashP h_coin_envelope;
 
   /**
    * Signature confirming the withdrawal, matching @e reserve_pub,
@@ -844,7 +844,7 @@ struct TALER_EXCHANGEDB_RecoupListEntry
   /**
    * Hash of the public denomination key used to sign the coin.
    */
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   /**
    * Public key of the reserve the coin was paid back into.
@@ -1024,7 +1024,7 @@ struct TALER_EXCHANGEDB_Deposit
    * Hash over the proposal data between merchant and customer
    * (remains unknown to the Exchange).
    */
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_PrivateContractHashP h_contract_terms;
 
   /**
    * Salt used by the merchant to compute "h_wire".
@@ -1112,12 +1112,12 @@ struct TALER_EXCHANGEDB_DepositListEntry
    * Hash over the proposa data between merchant and customer
    * (remains unknown to the Exchange).
    */
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_PrivateContractHashP h_contract_terms;
 
   /**
    * Hash of the public denomination key used to sign the coin.
    */
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   /**
    * Age commitment hash, if applicable ot the denomination.  Should be all
@@ -1205,7 +1205,7 @@ struct TALER_EXCHANGEDB_RefundListEntry
    * Hash over the proposal data between merchant and customer
    * (remains unknown to the Exchange).
    */
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_PrivateContractHashP h_contract_terms;
 
   /**
    * Merchant-generated REFUND transaction ID to detect duplicate
@@ -1318,7 +1318,7 @@ struct TALER_EXCHANGEDB_MeltListEntry
   /**
    * Hash of the public denomination key used to sign the coin.
    */
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   /**
    * Hash of the age commitment used to sign the coin, if age restriction was
@@ -1549,7 +1549,7 @@ typedef enum GNUNET_DB_QueryStatus
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_Amount *amount_with_fee,
   const struct TALER_Amount *deposit_fee,
-  const struct TALER_PrivateContractHash *h_contract_terms);
+  const struct TALER_PrivateContractHashP *h_contract_terms);
 
 
 /**
@@ -1576,7 +1576,7 @@ typedef enum GNUNET_DB_QueryStatus
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_Amount *amount_with_fee,
   const struct TALER_Amount *deposit_fee,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   uint64_t wire_target,
   const char *payto_uri);
 
@@ -1671,7 +1671,7 @@ struct TALER_EXCHANGEDB_RefreshRevealedCoin
   /**
    * Hash of the public denomination key of the coin.
    */
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   /**
    * Signature of the original coin being refreshed over the
@@ -1682,7 +1682,7 @@ struct TALER_EXCHANGEDB_RefreshRevealedCoin
   /**
    * Hash of the blinded new coin, that is @e coin_ev.
    */
-  struct TALER_BlindedCoinHash coin_envelope_hash;
+  struct TALER_BlindedCoinHashP coin_envelope_hash;
 
   /**
    * Signature generated by the exchange over the coin (in blinded format).
@@ -1712,7 +1712,7 @@ struct TALER_EXCHANGEDB_CsRevealFreshCoinData
   /**
    * Denomination of the fresh coin.
    */
-  struct TALER_DenominationHash new_denom_pub_hash;
+  struct TALER_DenominationHashP new_denom_pub_hash;
 
   /**
    * Blind signature of the fresh coin (possibly updated
@@ -1834,7 +1834,7 @@ typedef enum GNUNET_GenericReturnValue
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_MerchantPublicKeyP *merchant_pub,
   const struct TALER_MerchantSignatureP *merchant_sig,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   uint64_t rtransaction_id,
   const struct TALER_Amount *amount_with_fee);
 
@@ -1915,7 +1915,7 @@ typedef enum GNUNET_GenericReturnValue
 (*TALER_EXCHANGEDB_WithdrawCallback)(
   void *cls,
   uint64_t rowid,
-  const struct TALER_BlindedCoinHash *h_blind_ev,
+  const struct TALER_BlindedCoinHashP *h_blind_ev,
   const struct TALER_DenominationPublicKey *denom_pub,
   const struct TALER_ReservePublicKeyP *reserve_pub,
   const struct TALER_ReserveSignatureP *reserve_sig,
@@ -1960,7 +1960,7 @@ typedef void
   const struct TALER_MerchantPublicKeyP *merchant_pub,
   const char *account_payto_uri,
   struct GNUNET_TIME_Timestamp exec_time,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   const struct TALER_DenominationPublicKey *denom_pub,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_Amount *coin_value,
@@ -2059,7 +2059,7 @@ typedef enum GNUNET_GenericReturnValue
   struct GNUNET_TIME_Timestamp timestamp,
   const struct TALER_Amount *amount,
   const struct TALER_CoinSpendPublicKeyP *old_coin_pub,
-  const struct TALER_DenominationHash *old_denom_pub_hash,
+  const struct TALER_DenominationHashP *old_denom_pub_hash,
   const struct TALER_CoinPublicInfo *coin,
   const struct TALER_DenominationPublicKey *denom_pub,
   const struct TALER_CoinSpendSignatureP *coin_sig,
@@ -2142,7 +2142,7 @@ typedef void
   const struct TALER_CoinPublicInfo *coin,
   const struct TALER_CoinSpendSignatureP *coin_sig,
   const union TALER_DenominationBlindingKeyP *coin_blind,
-  const struct TALER_BlindedCoinHash *h_blinded_ev,
+  const struct TALER_BlindedCoinHashP *h_blinded_ev,
   const struct TALER_Amount *amount);
 
 
@@ -2357,7 +2357,7 @@ struct TALER_EXCHANGEDB_Plugin
   enum GNUNET_DB_QueryStatus
   (*get_denomination_info)(
     void *cls,
-    const struct TALER_DenominationHash *denom_pub_hash,
+    const struct TALER_DenominationHashP *denom_pub_hash,
     struct TALER_EXCHANGEDB_DenominationKeyInformationP *issue);
 
 
@@ -2483,7 +2483,7 @@ struct TALER_EXCHANGEDB_Plugin
   enum GNUNET_DB_QueryStatus
   (*select_kyc_status)(void *cls,
                        uint64_t payment_target_uuid,
-                       struct TALER_PaytoHash *h_payto,
+                       struct TALER_PaytoHashP *h_payto,
                        struct TALER_EXCHANGEDB_KycStatus *kyc);
 
 
@@ -2537,7 +2537,7 @@ struct TALER_EXCHANGEDB_Plugin
   enum GNUNET_DB_QueryStatus
   (*lock_nonce)(void *cls,
                 const struct TALER_CsNonce *nonce,
-                const struct TALER_DenominationHash *denom_pub_hash,
+                const struct TALER_DenominationHashP *denom_pub_hash,
                 const union TALER_EXCHANGEDB_NonceLockTargetP *target);
 
 
@@ -2554,7 +2554,7 @@ struct TALER_EXCHANGEDB_Plugin
    */
   enum GNUNET_DB_QueryStatus
   (*get_withdraw_info)(void *cls,
-                       const struct TALER_BlindedCoinHash *bch,
+                       const struct TALER_BlindedCoinHashP *bch,
                        struct TALER_EXCHANGEDB_CollectableBlindcoin 
*collectable);
 
 
@@ -2623,7 +2623,7 @@ struct TALER_EXCHANGEDB_Plugin
     void *cls,
     const struct TALER_EXCHANGEDB_Deposit *deposit,
     uint64_t known_coin_id,
-    const struct TALER_PaytoHash *h_payto,
+    const struct TALER_PaytoHashP *h_payto,
     bool extension_blocked,
     struct GNUNET_TIME_Timestamp *exchange_timestamp,
     bool *balance_ok,
@@ -2798,7 +2798,7 @@ struct TALER_EXCHANGEDB_Plugin
    */
   long long
   (*count_known_coins) (void *cls,
-                        const struct TALER_DenominationHash *denom_pub_hash);
+                        const struct TALER_DenominationHashP *denom_pub_hash);
 
 
   /**
@@ -2846,7 +2846,7 @@ struct TALER_EXCHANGEDB_Plugin
   (*ensure_coin_known)(void *cls,
                        const struct TALER_CoinPublicInfo *coin,
                        uint64_t *known_coin_id,
-                       struct TALER_DenominationHash *denom_pub_hash,
+                       struct TALER_DenominationHashP *denom_pub_hash,
                        struct TALER_AgeCommitmentHash *age_hash);
 
 
@@ -2876,7 +2876,7 @@ struct TALER_EXCHANGEDB_Plugin
   (*get_coin_denomination)(void *cls,
                            const struct TALER_CoinSpendPublicKeyP *coin_pub,
                            uint64_t *known_coin_id,
-                           struct TALER_DenominationHash *denom_hash);
+                           struct TALER_DenominationHashP *denom_hash);
 
 
   /**
@@ -2898,8 +2898,8 @@ struct TALER_EXCHANGEDB_Plugin
   enum GNUNET_DB_QueryStatus
   (*have_deposit2)(
     void *cls,
-    const struct TALER_PrivateContractHash *h_contract_terms,
-    const struct TALER_MerchantWireHash *h_wire,
+    const struct TALER_PrivateContractHashP *h_contract_terms,
+    const struct TALER_MerchantWireHashP *h_wire,
     const struct TALER_CoinSpendPublicKeyP *coin_pub,
     const struct TALER_MerchantPublicKeyP *merchant,
     struct GNUNET_TIME_Timestamp refund_deadline,
@@ -2950,7 +2950,7 @@ struct TALER_EXCHANGEDB_Plugin
   (*select_refunds_by_coin)(void *cls,
                             const struct TALER_CoinSpendPublicKeyP *coin_pub,
                             const struct TALER_MerchantPublicKeyP 
*merchant_pub,
-                            const struct TALER_PrivateContractHash *h_contract,
+                            const struct TALER_PrivateContractHashP 
*h_contract,
                             TALER_EXCHANGEDB_RefundCoinCallback cb,
                             void *cb_cls);
 
@@ -3189,8 +3189,8 @@ struct TALER_EXCHANGEDB_Plugin
   enum GNUNET_DB_QueryStatus
   (*lookup_transfer_by_deposit)(
     void *cls,
-    const struct TALER_PrivateContractHash *h_contract_terms,
-    const struct TALER_MerchantWireHash *h_wire,
+    const struct TALER_PrivateContractHashP *h_contract_terms,
+    const struct TALER_MerchantWireHashP *h_wire,
     const struct TALER_CoinSpendPublicKeyP *coin_pub,
     const struct TALER_MerchantPublicKeyP *merchant_pub,
     bool *pending,
@@ -3614,7 +3614,7 @@ struct TALER_EXCHANGEDB_Plugin
    */
   enum GNUNET_DB_QueryStatus
   (*get_reserve_by_h_blind)(void *cls,
-                            const struct TALER_BlindedCoinHash *bch,
+                            const struct TALER_BlindedCoinHashP *bch,
                             struct TALER_ReservePublicKeyP *reserve_pub,
                             uint64_t *reserve_out_serial_id);
 
@@ -3631,7 +3631,7 @@ struct TALER_EXCHANGEDB_Plugin
    */
   enum GNUNET_DB_QueryStatus
   (*get_old_coin_by_h_blind)(void *cls,
-                             const struct TALER_BlindedCoinHash *h_blind_ev,
+                             const struct TALER_BlindedCoinHashP *h_blind_ev,
                              struct TALER_CoinSpendPublicKeyP *old_coin_pub,
                              uint64_t *rrc_serial);
 
@@ -3648,7 +3648,7 @@ struct TALER_EXCHANGEDB_Plugin
   enum GNUNET_DB_QueryStatus
   (*insert_denomination_revocation)(
     void *cls,
-    const struct TALER_DenominationHash *denom_pub_hash,
+    const struct TALER_DenominationHashP *denom_pub_hash,
     const struct TALER_MasterSignatureP *master_sig);
 
 
@@ -3663,11 +3663,11 @@ struct TALER_EXCHANGEDB_Plugin
    * @return transaction status code
    */
   enum GNUNET_DB_QueryStatus
-  (*get_denomination_revocation)(void *cls,
-                                 const struct
-                                 TALER_DenominationHash *denom_pub_hash,
-                                 struct TALER_MasterSignatureP *master_sig,
-                                 uint64_t *rowid);
+  (*get_denomination_revocation)(
+    void *cls,
+    const struct TALER_DenominationHashP *denom_pub_hash,
+    struct TALER_MasterSignatureP *master_sig,
+    uint64_t *rowid);
 
 
   /**
@@ -3882,7 +3882,7 @@ struct TALER_EXCHANGEDB_Plugin
   enum GNUNET_DB_QueryStatus
   (*lookup_denomination_key)(
     void *cls,
-    const struct TALER_DenominationHash *h_denom_pub,
+    const struct TALER_DenominationHashP *h_denom_pub,
     struct TALER_EXCHANGEDB_DenominationKeyMetaData *meta);
 
 
@@ -3899,7 +3899,7 @@ struct TALER_EXCHANGEDB_Plugin
   enum GNUNET_DB_QueryStatus
   (*add_denomination_key)(
     void *cls,
-    const struct TALER_DenominationHash *h_denom_pub,
+    const struct TALER_DenominationHashP *h_denom_pub,
     const struct TALER_DenominationPublicKey *denom_pub,
     const struct TALER_EXCHANGEDB_DenominationKeyMetaData *meta,
     const struct TALER_MasterSignatureP *master_sig);
@@ -3950,7 +3950,7 @@ struct TALER_EXCHANGEDB_Plugin
   enum GNUNET_DB_QueryStatus
   (*insert_auditor_denom_sig)(
     void *cls,
-    const struct TALER_DenominationHash *h_denom_pub,
+    const struct TALER_DenominationHashP *h_denom_pub,
     const struct TALER_AuditorPublicKeyP *auditor_pub,
     const struct TALER_AuditorSignatureP *auditor_sig);
 
@@ -3967,7 +3967,7 @@ struct TALER_EXCHANGEDB_Plugin
   enum GNUNET_DB_QueryStatus
   (*select_auditor_denom_sig)(
     void *cls,
-    const struct TALER_DenominationHash *h_denom_pub,
+    const struct TALER_DenominationHashP *h_denom_pub,
     const struct TALER_AuditorPublicKeyP *auditor_pub,
     struct TALER_AuditorSignatureP *auditor_sig);
 
diff --git a/src/include/taler_json_lib.h b/src/include/taler_json_lib.h
index 8a7e5cd8..6238c07d 100644
--- a/src/include/taler_json_lib.h
+++ b/src/include/taler_json_lib.h
@@ -400,7 +400,7 @@ TALER_JSON_spec_i18n_str (const char *name,
  */
 enum GNUNET_GenericReturnValue
 TALER_JSON_contract_hash (const json_t *json,
-                          struct TALER_PrivateContractHash *hc);
+                          struct TALER_PrivateContractHashP *hc);
 
 
 /**
@@ -522,7 +522,7 @@ TALER_JSON_get_error_code2 (const void *data,
  */
 enum GNUNET_GenericReturnValue
 TALER_JSON_merchant_wire_signature_hash (const json_t *wire_s,
-                                         struct TALER_MerchantWireHash *hc);
+                                         struct TALER_MerchantWireHashP *hc);
 
 
 /**
@@ -623,7 +623,7 @@ TALER_JSON_wire_to_payto (const json_t *wire_s);
  */
 void
 TALER_deposit_extension_hash (const json_t *extensions,
-                              struct TALER_ExtensionContractHash *ech);
+                              struct TALER_ExtensionContractHashP *ech);
 
 /**
  * Hash the @a config of an extension, given as JSON
@@ -634,7 +634,7 @@ TALER_deposit_extension_hash (const json_t *extensions,
  */
 enum GNUNET_GenericReturnValue
 TALER_JSON_extensions_config_hash (const json_t *config,
-                                   struct TALER_ExtensionConfigHash *eh);
+                                   struct TALER_ExtensionConfigHashP *eh);
 
 /**
  * Canonicalize a JSON input to a string according to RFC 8785.
diff --git a/src/include/taler_signatures.h b/src/include/taler_signatures.h
index 8a799eae..72150ca6 100644
--- a/src/include/taler_signatures.h
+++ b/src/include/taler_signatures.h
@@ -345,7 +345,7 @@ struct TALER_DenominationKeyAnnouncementPS
   /**
    * Hash of the denomination public key.
    */
-  struct TALER_DenominationHash h_denom;
+  struct TALER_DenominationHashP h_denom;
 
   /**
    * Hash of the section name in the configuration of this denomination.
@@ -412,7 +412,7 @@ struct TALER_LinkDataPS
   /**
    * Hash of the denomination public key of the new coin.
    */
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   /**
    * Transfer public key (for which the private key was not revealed)
@@ -427,7 +427,7 @@ struct TALER_LinkDataPS
   /**
    * Hash of the blinded new coin.
    */
-  struct TALER_BlindedCoinHash coin_envelope_hash;
+  struct TALER_BlindedCoinHashP coin_envelope_hash;
 };
 
 
@@ -456,12 +456,12 @@ struct TALER_WithdrawRequestPS
   /**
    * Hash of the denomination public key for the coin that is withdrawn.
    */
-  struct TALER_DenominationHash h_denomination_pub GNUNET_PACKED;
+  struct TALER_DenominationHashP h_denomination_pub GNUNET_PACKED;
 
   /**
    * Hash of the (blinded) message to be signed by the Exchange.
    */
-  struct TALER_BlindedCoinHash h_coin_envelope GNUNET_PACKED;
+  struct TALER_BlindedCoinHashP h_coin_envelope GNUNET_PACKED;
 };
 
 
@@ -480,7 +480,7 @@ struct TALER_DepositRequestPS
   /**
    * Hash over the contract for which this deposit is made.
    */
-  struct TALER_PrivateContractHash h_contract_terms GNUNET_PACKED;
+  struct TALER_PrivateContractHashP h_contract_terms GNUNET_PACKED;
 
   /**
    * Hash over the age commitment that went into the coin. Maybe all zero, if
@@ -491,17 +491,17 @@ struct TALER_DepositRequestPS
   /**
    * Hash over extension attributes shared with the exchange.
    */
-  struct TALER_ExtensionContractHash h_extensions GNUNET_PACKED;
+  struct TALER_ExtensionContractHashP h_extensions GNUNET_PACKED;
 
   /**
    * Hash over the wiring information of the merchant.
    */
-  struct TALER_MerchantWireHash h_wire GNUNET_PACKED;
+  struct TALER_MerchantWireHashP h_wire GNUNET_PACKED;
 
   /**
    * Hash over the denomination public key used to sign the coin.
    */
-  struct TALER_DenominationHash h_denom_pub GNUNET_PACKED;
+  struct TALER_DenominationHashP h_denom_pub GNUNET_PACKED;
 
   /**
    * Time when this request was generated.  Used, for example, to
@@ -567,18 +567,18 @@ struct TALER_DepositConfirmationPS
   /**
    * Hash over the contract for which this deposit is made.
    */
-  struct TALER_PrivateContractHash h_contract_terms GNUNET_PACKED;
+  struct TALER_PrivateContractHashP h_contract_terms GNUNET_PACKED;
 
   /**
    * Hash over the wiring information of the merchant.
    */
-  struct TALER_MerchantWireHash h_wire GNUNET_PACKED;
+  struct TALER_MerchantWireHashP h_wire GNUNET_PACKED;
 
   /**
    * Hash over the extension options of the deposit, 0 if there
    * were not extension options.
    */
-  struct TALER_ExtensionContractHash h_extensions GNUNET_PACKED;
+  struct TALER_ExtensionContractHashP h_extensions GNUNET_PACKED;
 
   /**
    * Time when this confirmation was generated / when the exchange received
@@ -636,7 +636,7 @@ struct TALER_RefundRequestPS
    * Hash over the proposal data to identify the contract
    * which is being refunded.
    */
-  struct TALER_PrivateContractHash h_contract_terms GNUNET_PACKED;
+  struct TALER_PrivateContractHashP h_contract_terms GNUNET_PACKED;
 
   /**
    * The coin's public key.  This is the value that must have been
@@ -672,7 +672,7 @@ struct TALER_RefundConfirmationPS
    * Hash over the proposal data to identify the contract
    * which is being refunded.
    */
-  struct TALER_PrivateContractHash h_contract_terms GNUNET_PACKED;
+  struct TALER_PrivateContractHashP h_contract_terms GNUNET_PACKED;
 
   /**
    * The coin's public key.  This is the value that must have been
@@ -719,7 +719,7 @@ struct TALER_RefreshMeltCoinAffirmationPS
   /**
    * Hash over the denomination public key used to sign the coin.
    */
-  struct TALER_DenominationHash h_denom_pub GNUNET_PACKED;
+  struct TALER_DenominationHashP h_denom_pub GNUNET_PACKED;
 
   /**
    * If age commitment was provided during the withdrawal of the coin, this is
@@ -866,7 +866,7 @@ struct TALER_ExchangeAccountSetupSuccessPS
    * Hash over the payto for which the signature was
    * made.
    */
-  struct TALER_PaytoHash h_payto;
+  struct TALER_PaytoHashP h_payto;
 
   /**
    * When was the signature made.
@@ -952,7 +952,7 @@ struct TALER_MasterAddWirePS
   /**
    * Hash over the exchange's payto URI.
    */
-  struct TALER_PaytoHash h_payto GNUNET_PACKED;
+  struct TALER_PaytoHashP h_payto GNUNET_PACKED;
 };
 
 
@@ -977,7 +977,7 @@ struct TALER_MasterDelWirePS
   /**
    * Hash over the exchange's payto URI.
    */
-  struct TALER_PaytoHash h_payto GNUNET_PACKED;
+  struct TALER_PaytoHashP h_payto GNUNET_PACKED;
 
 };
 
@@ -997,7 +997,7 @@ struct TALER_MasterExtensionConfigurationPS
   /**
    * Hash of the JSON object that represents the configuration of an extension.
    */
-  struct TALER_ExtensionConfigHash h_config GNUNET_PACKED;
+  struct TALER_ExtensionConfigHashP h_config GNUNET_PACKED;
 };
 
 
@@ -1073,7 +1073,7 @@ struct TALER_DenominationKeyValidityPS
    * Hash code of the denomination public key. (Used to avoid having
    * the variable-size RSA key in this struct.)
    */
-  struct TALER_DenominationHash denom_hash GNUNET_PACKED;
+  struct TALER_DenominationHashP denom_hash GNUNET_PACKED;
 
 };
 
@@ -1156,7 +1156,7 @@ struct TALER_ExchangeKeyValidityPS
    * Hash code of the denomination public key. (Used to avoid having
    * the variable-size RSA key in this struct.)
    */
-  struct TALER_DenominationHash denom_hash GNUNET_PACKED;
+  struct TALER_DenominationHashP denom_hash GNUNET_PACKED;
 
 };
 
@@ -1176,7 +1176,7 @@ struct TALER_MasterWireDetailsPS
   /**
    * Hash over the account holder's payto:// URL.
    */
-  struct TALER_PaytoHash h_wire_details GNUNET_PACKED;
+  struct TALER_PaytoHashP h_wire_details GNUNET_PACKED;
 
 };
 
@@ -1197,7 +1197,7 @@ struct TALER_MerchantWireDetailsPS
    * Salted hash over the account holder's payto:// URL and
    * the salt, as done by #TALER_merchant_wire_signature_hash().
    */
-  struct TALER_MerchantWireHash h_wire_details GNUNET_PACKED;
+  struct TALER_MerchantWireHashP h_wire_details GNUNET_PACKED;
 
 };
 
@@ -1257,7 +1257,7 @@ struct TALER_MasterDenominationKeyRevocationPS
   /**
    * Hash of the denomination key.
    */
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
 };
 
@@ -1294,12 +1294,12 @@ struct TALER_DepositTrackPS
   /**
    * Hash over the proposal data of the contract for which this deposit is 
made.
    */
-  struct TALER_PrivateContractHash h_contract_terms GNUNET_PACKED;
+  struct TALER_PrivateContractHashP h_contract_terms GNUNET_PACKED;
 
   /**
    * Hash over the wiring information of the merchant.
    */
-  struct TALER_MerchantWireHash h_wire GNUNET_PACKED;
+  struct TALER_MerchantWireHashP h_wire GNUNET_PACKED;
 
   /**
    * The Merchant's public key.  The deposit inquiry request is to be
@@ -1326,7 +1326,7 @@ struct TALER_WireDepositDetailP
   /**
    * Hash of the contract
    */
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_PrivateContractHashP h_contract_terms;
 
   /**
    * Time when the wire transfer was performed by the exchange.
@@ -1381,7 +1381,7 @@ struct TALER_WireDepositDataPS
   /**
    * Hash of bank account of the merchant.
    */
-  struct TALER_PaytoHash h_payto;
+  struct TALER_PaytoHashP h_payto;
 
   /**
    * Hash of the individual deposits that were aggregated,
@@ -1406,7 +1406,7 @@ struct TALER_ProposalDataPS
    * Hash of the JSON contract in UTF-8 including 0-termination,
    * using JSON_COMPACT | JSON_SORT_KEYS
    */
-  struct TALER_PrivateContractHash hash;
+  struct TALER_PrivateContractHashP hash;
 };
 
 /**
@@ -1424,7 +1424,7 @@ struct TALER_PaymentResponsePS
   /**
    * Hash of the proposal data associated with this confirmation
    */
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_PrivateContractHashP h_contract_terms;
 };
 
 
@@ -1443,12 +1443,12 @@ struct TALER_ConfirmWirePS
   /**
    * Hash over the wiring information of the merchant.
    */
-  struct TALER_MerchantWireHash h_wire GNUNET_PACKED;
+  struct TALER_MerchantWireHashP h_wire GNUNET_PACKED;
 
   /**
    * Hash over the contract for which this deposit is made.
    */
-  struct TALER_PrivateContractHash h_contract_terms GNUNET_PACKED;
+  struct TALER_PrivateContractHashP h_contract_terms GNUNET_PACKED;
 
   /**
    * Raw value (binary encoding) of the wire transfer subject.
@@ -1493,7 +1493,7 @@ struct TALER_RecoupRequestPS
   /**
    * Hash of the (revoked) denomination public key of the coin.
    */
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   /**
    * Blinding factor that was used to withdraw the coin.
@@ -1600,7 +1600,7 @@ struct TALER_DenominationUnknownAffirmationPS
   /**
    * Hash of the public denomination key we do not know.
    */
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 };
 
 
@@ -1630,7 +1630,7 @@ struct TALER_DenominationExpiredAffirmationPS
   /**
    * Hash of the public denomination key we do not know.
    */
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
 };
 
@@ -1670,7 +1670,7 @@ struct TALER_ReserveCloseConfirmationPS
   /**
    * Hash of the receiver's bank account.
    */
-  struct TALER_PaytoHash h_payto;
+  struct TALER_PaytoHashP h_payto;
 
   /**
    * Wire transfer subject.
diff --git a/src/json/json.c b/src/json/json.c
index da447252..d4ac3748 100644
--- a/src/json/json.c
+++ b/src/json/json.c
@@ -490,7 +490,7 @@ forget (const json_t *in,
 
 enum GNUNET_GenericReturnValue
 TALER_JSON_contract_hash (const json_t *json,
-                          struct TALER_PrivateContractHash *hc)
+                          struct TALER_PrivateContractHashP *hc)
 {
   enum GNUNET_GenericReturnValue ret;
   json_t *cjson;
@@ -1009,7 +1009,7 @@ TALER_JSON_get_error_code2 (const void *data,
 
 void
 TALER_deposit_extension_hash (const json_t *extensions,
-                              struct TALER_ExtensionContractHash *ech)
+                              struct TALER_ExtensionContractHashP *ech)
 {
   GNUNET_assert (GNUNET_OK ==
                  dump_and_hash (extensions,
@@ -1038,7 +1038,7 @@ TALER_JSON_canonicalize (const json_t *input)
 
 enum GNUNET_GenericReturnValue
 TALER_JSON_extensions_config_hash (const json_t *config,
-                                   struct TALER_ExtensionConfigHash *ech)
+                                   struct TALER_ExtensionConfigHashP *ech)
 {
   return dump_and_hash (config,
                         "taler-extension-configuration",
diff --git a/src/json/json_wire.c b/src/json/json_wire.c
index 139f41db..544b5645 100644
--- a/src/json/json_wire.c
+++ b/src/json/json_wire.c
@@ -26,7 +26,7 @@
 
 enum GNUNET_GenericReturnValue
 TALER_JSON_merchant_wire_signature_hash (const json_t *wire_s,
-                                         struct TALER_MerchantWireHash *hc)
+                                         struct TALER_MerchantWireHashP *hc)
 {
   const char *payto_uri;
   struct TALER_WireSaltP salt;
diff --git a/src/json/test_json.c b/src/json/test_json.c
index 5fe51d46..d37f66ea 100644
--- a/src/json/test_json.c
+++ b/src/json/test_json.c
@@ -91,8 +91,8 @@ path_cb (void *cls,
 static int
 test_contract (void)
 {
-  struct TALER_PrivateContractHash h1;
-  struct TALER_PrivateContractHash h2;
+  struct TALER_PrivateContractHashP h1;
+  struct TALER_PrivateContractHashP h2;
   json_t *c1;
   json_t *c2;
   json_t *c3;
@@ -384,7 +384,7 @@ test_json_canon (void)
 static int
 test_rfc8785 (void)
 {
-  struct TALER_PrivateContractHash h1;
+  struct TALER_PrivateContractHashP h1;
   json_t *c1;
 
   c1 = json_pack ("{s:s}",
diff --git a/src/lib/auditor_api_deposit_confirmation.c 
b/src/lib/auditor_api_deposit_confirmation.c
index cdf1c5ef..18155fe2 100644
--- a/src/lib/auditor_api_deposit_confirmation.c
+++ b/src/lib/auditor_api_deposit_confirmation.c
@@ -170,9 +170,9 @@ handle_deposit_confirmation_finished (void *cls,
  * @return #GNUNET_OK if signatures are OK, #GNUNET_SYSERR if not
  */
 static enum GNUNET_GenericReturnValue
-verify_signatures (const struct TALER_MerchantWireHash *h_wire,
-                   const struct TALER_ExtensionContractHash *h_extensions,
-                   const struct TALER_PrivateContractHash *h_contract_terms,
+verify_signatures (const struct TALER_MerchantWireHashP *h_wire,
+                   const struct TALER_ExtensionContractHashP *h_extensions,
+                   const struct TALER_PrivateContractHashP *h_contract_terms,
                    struct GNUNET_TIME_Timestamp exchange_timestamp,
                    struct GNUNET_TIME_Timestamp wire_deadline,
                    struct GNUNET_TIME_Timestamp refund_deadline,
@@ -236,9 +236,9 @@ verify_signatures (const struct TALER_MerchantWireHash 
*h_wire,
 struct TALER_AUDITOR_DepositConfirmationHandle *
 TALER_AUDITOR_deposit_confirmation (
   struct TALER_AUDITOR_Handle *auditor,
-  const struct TALER_MerchantWireHash *h_wire,
-  const struct TALER_ExtensionContractHash *h_extensions,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_MerchantWireHashP *h_wire,
+  const struct TALER_ExtensionContractHashP *h_extensions,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   struct GNUNET_TIME_Timestamp exchange_timestamp,
   struct GNUNET_TIME_Timestamp wire_deadline,
   struct GNUNET_TIME_Timestamp refund_deadline,
diff --git a/src/lib/exchange_api_auditor_add_denomination.c 
b/src/lib/exchange_api_auditor_add_denomination.c
index 27eb43bc..d01252a8 100644
--- a/src/lib/exchange_api_auditor_add_denomination.c
+++ b/src/lib/exchange_api_auditor_add_denomination.c
@@ -142,7 +142,7 @@ struct TALER_EXCHANGE_AuditorAddDenominationHandle *
 TALER_EXCHANGE_add_auditor_denomination (
   struct GNUNET_CURL_Context *ctx,
   const char *url,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_AuditorPublicKeyP *auditor_pub,
   const struct TALER_AuditorSignatureP *auditor_sig,
   TALER_EXCHANGE_AuditorAddDenominationCallback cb,
diff --git a/src/lib/exchange_api_common.c b/src/lib/exchange_api_common.c
index 4f3e878d..17e00a81 100644
--- a/src/lib/exchange_api_common.c
+++ b/src/lib/exchange_api_common.c
@@ -124,8 +124,8 @@ TALER_EXCHANGE_parse_reserve_history (
                               "WITHDRAW"))
     {
       struct TALER_ReserveSignatureP sig;
-      struct TALER_DenominationHash h_denom_pub;
-      struct TALER_BlindedCoinHash bch;
+      struct TALER_DenominationHashP h_denom_pub;
+      struct TALER_BlindedCoinHashP bch;
       struct TALER_Amount withdraw_fee;
       struct GNUNET_JSON_Specification withdraw_spec[] = {
         GNUNET_JSON_spec_fixed_auto ("reserve_sig",
@@ -411,7 +411,7 @@ TALER_EXCHANGE_verify_coin_history (
   const char *currency,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   json_t *history,
-  struct TALER_DenominationHash *h_denom_pub,
+  struct TALER_DenominationHashP *h_denom_pub,
   struct TALER_Amount *total)
 {
   size_t len;
@@ -470,9 +470,9 @@ TALER_EXCHANGE_verify_coin_history (
     if (0 == strcasecmp (type,
                          "DEPOSIT"))
     {
-      struct TALER_MerchantWireHash h_wire;
-      struct TALER_PrivateContractHash h_contract_terms;
-      // struct TALER_ExtensionContractHash h_extensions; // FIXME!
+      struct TALER_MerchantWireHashP h_wire;
+      struct TALER_PrivateContractHashP h_contract_terms;
+      // struct TALER_ExtensionContractHashP h_extensions; // FIXME!
       struct GNUNET_TIME_Timestamp wallet_timestamp;
       struct TALER_MerchantPublicKeyP merchant_pub;
       struct GNUNET_TIME_Timestamp refund_deadline = {0};
@@ -609,7 +609,7 @@ TALER_EXCHANGE_verify_coin_history (
     else if (0 == strcasecmp (type,
                               "REFUND"))
     {
-      struct TALER_PrivateContractHash h_contract_terms;
+      struct TALER_PrivateContractHashP h_contract_terms;
       struct TALER_MerchantPublicKeyP merchant_pub;
       struct TALER_MerchantSignatureP sig;
       struct TALER_Amount refund_fee;
diff --git a/src/lib/exchange_api_csr_withdraw.c 
b/src/lib/exchange_api_csr_withdraw.c
index d23f8ef8..fa806857 100644
--- a/src/lib/exchange_api_csr_withdraw.c
+++ b/src/lib/exchange_api_csr_withdraw.c
@@ -240,7 +240,7 @@ TALER_EXCHANGE_csr_withdraw (struct TALER_EXCHANGE_Handle 
*exchange,
                                      sizeof(struct TALER_CsNonce)),
       GNUNET_JSON_pack_data_varsize ("denom_pub_hash",
                                      &pk->h_key,
-                                     sizeof(struct TALER_DenominationHash)));
+                                     sizeof(struct TALER_DenominationHashP)));
     GNUNET_assert (NULL != req);
     ctx = TEAH_handle_to_context (exchange);
     eh = TALER_EXCHANGE_curl_easy_get_ (csrh->url);
diff --git a/src/lib/exchange_api_deposit.c b/src/lib/exchange_api_deposit.c
index 82ee064b..15bf76fe 100644
--- a/src/lib/exchange_api_deposit.c
+++ b/src/lib/exchange_api_deposit.c
@@ -83,18 +83,18 @@ struct TALER_EXCHANGE_DepositHandle
   /**
    * Hash over the contract for which this deposit is made.
    */
-  struct TALER_PrivateContractHash h_contract_terms GNUNET_PACKED;
+  struct TALER_PrivateContractHashP h_contract_terms GNUNET_PACKED;
 
   /**
    * Hash over the wiring information of the merchant.
    */
-  struct TALER_MerchantWireHash h_wire GNUNET_PACKED;
+  struct TALER_MerchantWireHashP h_wire GNUNET_PACKED;
 
   /**
    * Hash over the extension options of the deposit, 0 if there
    * were not extension options.
    */
-  struct TALER_ExtensionContractHash h_extensions GNUNET_PACKED;
+  struct TALER_ExtensionContractHashP h_extensions GNUNET_PACKED;
 
   /**
    * Time when this confirmation was generated / when the exchange received
@@ -242,7 +242,7 @@ verify_deposit_signature_conflict (
   json_t *history;
   struct TALER_Amount total;
   enum TALER_ErrorCode ec;
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   memset (&h_denom_pub,
           0,
@@ -476,14 +476,14 @@ handle_deposit_finished (void *cls,
 static enum GNUNET_GenericReturnValue
 verify_signatures (const struct TALER_EXCHANGE_DenomPublicKey *dki,
                    const struct TALER_Amount *amount,
-                   const struct TALER_MerchantWireHash *h_wire,
-                   const struct TALER_PrivateContractHash *h_contract_terms,
-                   const struct TALER_ExtensionContractHash *ech,
+                   const struct TALER_MerchantWireHashP *h_wire,
+                   const struct TALER_PrivateContractHashP *h_contract_terms,
+                   const struct TALER_ExtensionContractHashP *ech,
                    const struct TALER_CoinSpendPublicKeyP *coin_pub,
                    const struct TALER_AgeCommitmentHash *h_age_commitment,
                    const struct TALER_DenominationSignature *denom_sig,
                    const struct TALER_DenominationPublicKey *denom_pub,
-                   const struct TALER_DenominationHash *denom_pub_hash,
+                   const struct TALER_DenominationHashP *denom_pub_hash,
                    struct GNUNET_TIME_Timestamp timestamp,
                    const struct TALER_MerchantPublicKeyP *merchant_pub,
                    struct GNUNET_TIME_Timestamp refund_deadline,
@@ -554,7 +554,7 @@ TALER_EXCHANGE_deposit (
   struct GNUNET_TIME_Timestamp wire_deadline,
   const char *merchant_payto_uri,
   const struct TALER_WireSaltP *wire_salt,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   const struct TALER_AgeCommitmentHash *h_age_commitment,
   const json_t *extension_details,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
@@ -574,10 +574,10 @@ TALER_EXCHANGE_deposit (
   struct GNUNET_CURL_Context *ctx;
   json_t *deposit_obj;
   CURL *eh;
-  struct TALER_MerchantWireHash h_wire;
-  struct TALER_DenominationHash denom_pub_hash;
+  struct TALER_MerchantWireHashP h_wire;
+  struct TALER_DenominationHashP denom_pub_hash;
   struct TALER_Amount amount_without_fee;
-  struct TALER_ExtensionContractHash ech;
+  struct TALER_ExtensionContractHashP ech;
   char arg_str[sizeof (struct TALER_CoinSpendPublicKeyP) * 2 + 32];
 
   if (NULL != extension_details)
diff --git a/src/lib/exchange_api_deposits_get.c 
b/src/lib/exchange_api_deposits_get.c
index 30f3ee7f..5d069d5c 100644
--- a/src/lib/exchange_api_deposits_get.c
+++ b/src/lib/exchange_api_deposits_get.c
@@ -262,8 +262,8 @@ struct TALER_EXCHANGE_DepositGetHandle *
 TALER_EXCHANGE_deposits_get (
   struct TALER_EXCHANGE_Handle *exchange,
   const struct TALER_MerchantPrivateKeyP *merchant_priv,
-  const struct TALER_MerchantWireHash *h_wire,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_MerchantWireHashP *h_wire,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   TALER_EXCHANGE_DepositGetCallback cb,
   void *cb_cls)
@@ -274,9 +274,9 @@ TALER_EXCHANGE_deposits_get (
   struct GNUNET_CURL_Context *ctx;
   CURL *eh;
   char arg_str[(sizeof (struct TALER_CoinSpendPublicKeyP)
-                + sizeof (struct TALER_MerchantWireHash)
+                + sizeof (struct TALER_MerchantWireHashP)
                 + sizeof (struct TALER_MerchantPublicKeyP)
-                + sizeof (struct TALER_PrivateContractHash)
+                + sizeof (struct TALER_PrivateContractHashP)
                 + sizeof (struct TALER_MerchantSignatureP)) * 2 + 48];
 
   if (GNUNET_YES !=
@@ -300,8 +300,8 @@ TALER_EXCHANGE_deposits_get (
     char cpub_str[sizeof (struct TALER_CoinSpendPublicKeyP) * 2];
     char mpub_str[sizeof (struct TALER_MerchantPublicKeyP) * 2];
     char msig_str[sizeof (struct TALER_MerchantSignatureP) * 2];
-    char chash_str[sizeof (struct TALER_PrivateContractHash) * 2];
-    char whash_str[sizeof (struct TALER_MerchantWireHash) * 2];
+    char chash_str[sizeof (struct TALER_PrivateContractHashP) * 2];
+    char whash_str[sizeof (struct TALER_MerchantWireHashP) * 2];
     char *end;
 
     end = GNUNET_STRINGS_data_to_string (h_wire,
diff --git a/src/lib/exchange_api_handle.c b/src/lib/exchange_api_handle.c
index ee5f44a0..24b762c2 100644
--- a/src/lib/exchange_api_handle.c
+++ b/src/lib/exchange_api_handle.c
@@ -437,7 +437,7 @@ parse_json_auditor (struct 
TALER_EXCHANGE_AuditorInformation *auditor,
   off = 0;
   json_array_foreach (keys, i, key) {
     struct TALER_AuditorSignatureP auditor_sig;
-    struct TALER_DenominationHash denom_h;
+    struct TALER_DenominationHashP denom_h;
     const struct TALER_EXCHANGE_DenomPublicKey *dk;
     unsigned int dk_off;
     struct GNUNET_JSON_Specification kspec[] = {
@@ -1005,7 +1005,7 @@ decode_keys_json (const json_t *resp_obj,
       EXITIF (JSON_ARRAY != json_typeof (recoup_array));
 
       json_array_foreach (recoup_array, index, recoup_info) {
-        struct TALER_DenominationHash h_denom_pub;
+        struct TALER_DenominationHashP h_denom_pub;
         struct GNUNET_JSON_Specification spec[] = {
           GNUNET_JSON_spec_fixed_auto ("h_denom_pub",
                                        &h_denom_pub),
@@ -2099,7 +2099,7 @@ TALER_EXCHANGE_destroy_denomination_key (
 const struct TALER_EXCHANGE_DenomPublicKey *
 TALER_EXCHANGE_get_denomination_key_by_hash (
   const struct TALER_EXCHANGE_Keys *keys,
-  const struct TALER_DenominationHash *hc)
+  const struct TALER_DenominationHashP *hc)
 {
   for (unsigned int i = 0; i<keys->num_denom_keys; i++)
     if (0 == GNUNET_memcmp (hc,
diff --git a/src/lib/exchange_api_kyc_check.c b/src/lib/exchange_api_kyc_check.c
index bf7b0bf4..303368ea 100644
--- a/src/lib/exchange_api_kyc_check.c
+++ b/src/lib/exchange_api_kyc_check.c
@@ -64,7 +64,7 @@ struct TALER_EXCHANGE_KycCheckHandle
   /**
    * Hash of the payto:// URL that is being KYC'ed.
    */
-  struct TALER_PaytoHash h_payto;
+  struct TALER_PaytoHashP h_payto;
 };
 
 
@@ -216,7 +216,7 @@ handle_kyc_check_finished (void *cls,
 struct TALER_EXCHANGE_KycCheckHandle *
 TALER_EXCHANGE_kyc_check (struct TALER_EXCHANGE_Handle *exchange,
                           uint64_t payment_target,
-                          const struct TALER_PaytoHash *h_payto,
+                          const struct TALER_PaytoHashP *h_payto,
                           struct GNUNET_TIME_Relative timeout,
                           TALER_EXCHANGE_KycStatusCallback cb,
                           void *cb_cls)
diff --git a/src/lib/exchange_api_link.c b/src/lib/exchange_api_link.c
index 0702ba4e..902f2b42 100644
--- a/src/lib/exchange_api_link.c
+++ b/src/lib/exchange_api_link.c
@@ -117,7 +117,7 @@ parse_link_coin (const struct TALER_EXCHANGE_LinkHandle *lh,
   };
   struct TALER_TransferSecretP secret;
   struct TALER_PlanchetDetail pd;
-  struct TALER_CoinPubHash c_hash;
+  struct TALER_CoinPubHashP c_hash;
   struct TALER_AgeCommitmentHash *hac = NULL;
 
   /* parse reply */
@@ -207,7 +207,7 @@ parse_link_coin (const struct TALER_EXCHANGE_LinkHandle *lh,
   /* verify link_sig */
   {
     struct TALER_CoinSpendPublicKeyP old_coin_pub;
-    struct TALER_BlindedCoinHash coin_envelope_hash;
+    struct TALER_BlindedCoinHashP coin_envelope_hash;
 
     GNUNET_CRYPTO_eddsa_key_get_public (&lh->coin_priv.eddsa_priv,
                                         &old_coin_pub.eddsa_pub);
diff --git a/src/lib/exchange_api_management_get_keys.c 
b/src/lib/exchange_api_management_get_keys.c
index 4d686633..8a279d1e 100644
--- a/src/lib/exchange_api_management_get_keys.c
+++ b/src/lib/exchange_api_management_get_keys.c
@@ -215,7 +215,7 @@ handle_ok (struct TALER_EXCHANGE_ManagementGetKeysHandle 
*gh,
     }
 
     {
-      struct TALER_DenominationHash h_denom_pub;
+      struct TALER_DenominationHashP h_denom_pub;
       struct GNUNET_TIME_Relative duration
         = GNUNET_TIME_absolute_get_difference (
             denom_key->valid_from.abs_time,
diff --git a/src/lib/exchange_api_management_revoke_denomination_key.c 
b/src/lib/exchange_api_management_revoke_denomination_key.c
index 383d9532..f7ddeaed 100644
--- a/src/lib/exchange_api_management_revoke_denomination_key.c
+++ b/src/lib/exchange_api_management_revoke_denomination_key.c
@@ -126,7 +126,7 @@ struct TALER_EXCHANGE_ManagementRevokeDenominationKeyHandle 
*
 TALER_EXCHANGE_management_revoke_denomination_key (
   struct GNUNET_CURL_Context *ctx,
   const char *url,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_MasterSignatureP *master_sig,
   TALER_EXCHANGE_ManagementRevokeDenominationKeyCallback cb,
   void *cb_cls)
diff --git a/src/lib/exchange_api_melt.c b/src/lib/exchange_api_melt.c
index 71e6f55f..f7f77027 100644
--- a/src/lib/exchange_api_melt.c
+++ b/src/lib/exchange_api_melt.c
@@ -199,7 +199,7 @@ verify_melt_signature_denom_conflict (struct 
TALER_EXCHANGE_MeltHandle *mh,
 {
   json_t *history;
   struct TALER_Amount total;
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   memset (&h_denom_pub,
           0,
@@ -246,7 +246,7 @@ verify_melt_signature_spend_conflict (struct 
TALER_EXCHANGE_MeltHandle *mh,
   };
   const struct MeltedCoin *mc;
   enum TALER_ErrorCode ec;
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
 
   /* parse JSON reply */
   if (GNUNET_OK !=
@@ -458,7 +458,7 @@ start_melt (struct TALER_EXCHANGE_MeltHandle *mh)
   struct GNUNET_CURL_Context *ctx;
   struct TALER_CoinSpendSignatureP confirm_sig;
   char arg_str[sizeof (struct TALER_CoinSpendPublicKeyP) * 2 + 32];
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
   struct TALER_ExchangeWithdrawValues alg_values[mh->rd->fresh_pks_len];
 
   for (unsigned int i = 0; i<mh->rd->fresh_pks_len; i++)
diff --git a/src/lib/exchange_api_recoup.c b/src/lib/exchange_api_recoup.c
index c94296c7..5c197e2f 100644
--- a/src/lib/exchange_api_recoup.c
+++ b/src/lib/exchange_api_recoup.c
@@ -169,7 +169,7 @@ handle_recoup_finished (void *cls,
       /* Insufficient funds, proof attached */
       json_t *history;
       struct TALER_Amount total;
-      struct TALER_DenominationHash h_denom_pub;
+      struct TALER_DenominationHashP h_denom_pub;
       const struct TALER_EXCHANGE_DenomPublicKey *dki;
       enum TALER_ErrorCode ec;
 
@@ -293,7 +293,7 @@ TALER_EXCHANGE_recoup (struct TALER_EXCHANGE_Handle 
*exchange,
   struct GNUNET_CURL_Context *ctx;
   struct TALER_CoinSpendSignatureP coin_sig;
   struct TALER_CoinSpendPublicKeyP coin_pub;
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
   json_t *recoup_obj;
   CURL *eh;
   char arg_str[sizeof (struct TALER_CoinSpendPublicKeyP) * 2 + 32];
diff --git a/src/lib/exchange_api_recoup_refresh.c 
b/src/lib/exchange_api_recoup_refresh.c
index 0fff3a23..8ae8f976 100644
--- a/src/lib/exchange_api_recoup_refresh.c
+++ b/src/lib/exchange_api_recoup_refresh.c
@@ -183,7 +183,7 @@ handle_recoup_refresh_finished (void *cls,
       /* Insufficient funds, proof attached */
       json_t *history;
       struct TALER_Amount total;
-      struct TALER_DenominationHash h_denom_pub;
+      struct TALER_DenominationHashP h_denom_pub;
       const struct TALER_EXCHANGE_DenomPublicKey *dki;
       enum TALER_ErrorCode ec;
 
@@ -297,7 +297,7 @@ TALER_EXCHANGE_recoup_refresh (
   struct GNUNET_CURL_Context *ctx;
   struct TALER_CoinSpendSignatureP coin_sig;
   struct TALER_CoinSpendPublicKeyP coin_pub;
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
   json_t *recoup_obj;
   CURL *eh;
   char arg_str[sizeof (struct TALER_CoinSpendPublicKeyP) * 2 + 32];
diff --git a/src/lib/exchange_api_refresh_common.c 
b/src/lib/exchange_api_refresh_common.c
index b15e0d0d..8e9e8da3 100644
--- a/src/lib/exchange_api_refresh_common.c
+++ b/src/lib/exchange_api_refresh_common.c
@@ -166,7 +166,7 @@ TALER_EXCHANGE_get_melt_data_ (
       struct TALER_RefreshCoinData *rcd = &md->rcd[i][j];
       union TALER_DenominationBlindingKeyP *bks = &fcd->bks[i];
       struct TALER_PlanchetDetail pd;
-      struct TALER_CoinPubHash c_hash;
+      struct TALER_CoinPubHashP c_hash;
       struct TALER_AgeCommitmentHash *ach = NULL;
 
       TALER_transfer_secret_to_planchet_secret (&trans_sec,
diff --git a/src/lib/exchange_api_refreshes_reveal.c 
b/src/lib/exchange_api_refreshes_reveal.c
index 89625890..461432db 100644
--- a/src/lib/exchange_api_refreshes_reveal.c
+++ b/src/lib/exchange_api_refreshes_reveal.c
@@ -145,7 +145,7 @@ refresh_reveal_ok (struct 
TALER_EXCHANGE_RefreshesRevealHandle *rrh,
     json_t *jsonai;
     struct TALER_BlindedDenominationSignature blind_sig;
     struct TALER_CoinSpendPublicKeyP coin_pub;
-    struct TALER_CoinPubHash coin_hash;
+    struct TALER_CoinPubHashP coin_hash;
     struct GNUNET_JSON_Specification spec[] = {
       TALER_JSON_spec_blinded_denom_sig ("ev_sig",
                                          &blind_sig),
@@ -375,7 +375,7 @@ TALER_EXCHANGE_refreshes_reveal (
   for (unsigned int i = 0; i<md.num_fresh_coins; i++)
   {
     const struct TALER_RefreshCoinData *rcd = &md.rcd[noreveal_index][i];
-    struct TALER_DenominationHash denom_hash;
+    struct TALER_DenominationHashP denom_hash;
 
     if (TALER_DENOMINATION_CS == md.fcds[i].fresh_pk.cipher)
       send_rms = true;
@@ -394,7 +394,7 @@ TALER_EXCHANGE_refreshes_reveal (
                          &rcd->blinded_planchet))));
     {
       struct TALER_CoinSpendSignatureP link_sig;
-      struct TALER_BlindedCoinHash bch;
+      struct TALER_BlindedCoinHashP bch;
 
       TALER_coin_ev_hash (&rcd->blinded_planchet,
                           &denom_hash,
diff --git a/src/lib/exchange_api_refund.c b/src/lib/exchange_api_refund.c
index a9510715..9ae907dc 100644
--- a/src/lib/exchange_api_refund.c
+++ b/src/lib/exchange_api_refund.c
@@ -201,11 +201,11 @@ verify_conflict_history_ok (struct 
TALER_EXCHANGE_RefundHandle *rh,
                          "DEPOSIT"))
     {
       struct TALER_Amount deposit_fee;
-      struct TALER_MerchantWireHash h_wire;
-      struct TALER_PrivateContractHash h_contract_terms;
+      struct TALER_MerchantWireHashP h_wire;
+      struct TALER_PrivateContractHashP h_contract_terms;
       struct TALER_AgeCommitmentHash h_age_commitment = {{{0}}};
-      // struct TALER_ExtensionContractHash h_extensions; // FIXME!
-      struct TALER_DenominationHash h_denom_pub;
+      // struct TALER_ExtensionContractHashP h_extensions; // FIXME!
+      struct TALER_DenominationHashP h_denom_pub;
       struct GNUNET_TIME_Timestamp wallet_timestamp;
       struct TALER_MerchantPublicKeyP merchant_pub;
       struct GNUNET_TIME_Timestamp refund_deadline;
@@ -298,7 +298,7 @@ verify_conflict_history_ok (struct 
TALER_EXCHANGE_RefundHandle *rh,
       struct TALER_MerchantSignatureP sig;
       struct TALER_Amount refund_fee;
       struct TALER_Amount sig_amount;
-      struct TALER_PrivateContractHash h_contract_terms;
+      struct TALER_PrivateContractHashP h_contract_terms;
       uint64_t rtransaction_id;
       struct TALER_MerchantPublicKeyP merchant_pub;
       struct GNUNET_JSON_Specification ispec[] = {
@@ -476,7 +476,7 @@ verify_failed_dependency_ok (struct 
TALER_EXCHANGE_RefundHandle *rh,
     const char *type;
     struct TALER_MerchantSignatureP sig;
     struct TALER_Amount refund_fee;
-    struct TALER_PrivateContractHash h_contract_terms;
+    struct TALER_PrivateContractHashP h_contract_terms;
     uint64_t rtransaction_id;
     struct TALER_MerchantPublicKeyP merchant_pub;
     struct GNUNET_JSON_Specification ispec[] = {
@@ -671,7 +671,8 @@ handle_refund_finished (void *cls,
 struct TALER_EXCHANGE_RefundHandle *
 TALER_EXCHANGE_refund (struct TALER_EXCHANGE_Handle *exchange,
                        const struct TALER_Amount *amount,
-                       const struct TALER_PrivateContractHash 
*h_contract_terms,
+                       const struct
+                       TALER_PrivateContractHashP *h_contract_terms,
                        const struct TALER_CoinSpendPublicKeyP *coin_pub,
                        uint64_t rtransaction_id,
                        const struct TALER_MerchantPrivateKeyP *merchant_priv,
diff --git a/src/lib/exchange_api_withdraw.c b/src/lib/exchange_api_withdraw.c
index 01b6e8ba..f6a60f53 100644
--- a/src/lib/exchange_api_withdraw.c
+++ b/src/lib/exchange_api_withdraw.c
@@ -101,7 +101,7 @@ struct TALER_EXCHANGE_WithdrawHandle
   /**
    * Hash of the public key of the coin we are signing.
    */
-  struct TALER_CoinPubHash c_hash;
+  struct TALER_CoinPubHashP c_hash;
 
   /**
    * Handler for the CS R request (only used for TALER_DENOMINATION_CS 
denominations)
diff --git a/src/lib/exchange_api_withdraw2.c b/src/lib/exchange_api_withdraw2.c
index 2441a141..ade6fe8a 100644
--- a/src/lib/exchange_api_withdraw2.c
+++ b/src/lib/exchange_api_withdraw2.c
@@ -380,7 +380,7 @@ TALER_EXCHANGE_withdraw2 (
   const struct TALER_EXCHANGE_DenomPublicKey *dk;
   struct TALER_ReserveSignatureP reserve_sig;
   char arg_str[sizeof (struct TALER_ReservePublicKeyP) * 2 + 32];
-  struct TALER_BlindedCoinHash bch;
+  struct TALER_BlindedCoinHashP bch;
 
   keys = TALER_EXCHANGE_get_keys (exchange);
   if (NULL == keys)
diff --git a/src/testing/testing_api_cmd_auditor_add_denom_sig.c 
b/src/testing/testing_api_cmd_auditor_add_denom_sig.c
index b8feb7d3..3d7ea82f 100644
--- a/src/testing/testing_api_cmd_auditor_add_denom_sig.c
+++ b/src/testing/testing_api_cmd_auditor_add_denom_sig.c
@@ -108,7 +108,7 @@ auditor_add_run (void *cls,
 {
   struct AuditorAddDenomSigState *ds = cls;
   struct TALER_AuditorSignatureP auditor_sig;
-  struct TALER_DenominationHash h_denom_pub;
+  struct TALER_DenominationHashP h_denom_pub;
   const struct TALER_EXCHANGE_DenomPublicKey *dk;
 
   (void) cmd;
diff --git a/src/testing/testing_api_cmd_auditor_deposit_confirmation.c 
b/src/testing/testing_api_cmd_auditor_deposit_confirmation.c
index debf343c..beeeb551 100644
--- a/src/testing/testing_api_cmd_auditor_deposit_confirmation.c
+++ b/src/testing/testing_api_cmd_auditor_deposit_confirmation.c
@@ -199,11 +199,11 @@ deposit_confirmation_run (void *cls,
                           const struct TALER_TESTING_Command *cmd,
                           struct TALER_TESTING_Interpreter *is)
 {
-  static struct TALER_ExtensionContractHash no_h_extensions;
+  static struct TALER_ExtensionContractHashP no_h_extensions;
   struct DepositConfirmationState *dcs = cls;
   const struct TALER_TESTING_Command *deposit_cmd;
-  struct TALER_MerchantWireHash h_wire;
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_MerchantWireHashP h_wire;
+  struct TALER_PrivateContractHashP h_contract_terms;
   const struct GNUNET_TIME_Timestamp *exchange_timestamp = NULL;
   struct GNUNET_TIME_Timestamp timestamp;
   const struct GNUNET_TIME_Timestamp *wire_deadline;
diff --git a/src/testing/testing_api_cmd_deposit.c 
b/src/testing/testing_api_cmd_deposit.c
index d3a444ee..a241c531 100644
--- a/src/testing/testing_api_cmd_deposit.c
+++ b/src/testing/testing_api_cmd_deposit.c
@@ -293,7 +293,7 @@ deposit_run (void *cls,
   const struct TALER_DenominationSignature *denom_pub_sig;
   struct TALER_CoinSpendSignatureP coin_sig;
   struct TALER_MerchantPublicKeyP merchant_pub;
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_PrivateContractHashP h_contract_terms;
   enum TALER_ErrorCode ec;
   struct TALER_WireSaltP wire_salt;
   const char *payto_uri;
@@ -433,7 +433,7 @@ deposit_run (void *cls,
   GNUNET_CRYPTO_eddsa_key_get_public (&ds->merchant_priv.eddsa_priv,
                                       &merchant_pub.eddsa_pub);
   {
-    struct TALER_MerchantWireHash h_wire;
+    struct TALER_MerchantWireHashP h_wire;
 
     GNUNET_assert (GNUNET_OK ==
                    TALER_JSON_merchant_wire_signature_hash (ds->wire_details,
diff --git a/src/testing/testing_api_cmd_deposits_get.c 
b/src/testing/testing_api_cmd_deposits_get.c
index baddb2d0..42dc1cb8 100644
--- a/src/testing/testing_api_cmd_deposits_get.c
+++ b/src/testing/testing_api_cmd_deposits_get.c
@@ -189,8 +189,8 @@ track_transaction_run (void *cls,
   struct TALER_CoinSpendPublicKeyP coin_pub;
   const json_t *contract_terms;
   const json_t *wire_details;
-  struct TALER_MerchantWireHash h_wire_details;
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_MerchantWireHashP h_wire_details;
+  struct TALER_PrivateContractHashP h_contract_terms;
   const struct TALER_MerchantPrivateKeyP *merchant_priv;
 
   (void) cmd;
diff --git a/src/testing/testing_api_cmd_insert_deposit.c 
b/src/testing/testing_api_cmd_insert_deposit.c
index 7404b8b7..947bf583 100644
--- a/src/testing/testing_api_cmd_insert_deposit.c
+++ b/src/testing/testing_api_cmd_insert_deposit.c
@@ -198,7 +198,7 @@ insert_deposit_run (void *cls,
                               &deposit.coin.coin_pub,
                               sizeof (deposit.coin.coin_pub));
   {
-    struct TALER_CoinPubHash c_hash;
+    struct TALER_CoinPubHashP c_hash;
     struct TALER_PlanchetDetail pd;
     struct TALER_BlindedDenominationSignature bds;
     struct TALER_PlanchetMasterSecretP ps;
@@ -244,7 +244,7 @@ insert_deposit_run (void *cls,
   /* finally, actually perform the DB operation */
   {
     uint64_t known_coin_id;
-    struct TALER_DenominationHash dph;
+    struct TALER_DenominationHashP dph;
     struct TALER_AgeCommitmentHash agh;
 
     if ( (GNUNET_OK !=
diff --git a/src/testing/testing_api_cmd_kyc_check_get.c 
b/src/testing/testing_api_cmd_kyc_check_get.c
index 3d35752b..ffd5664a 100644
--- a/src/testing/testing_api_cmd_kyc_check_get.c
+++ b/src/testing/testing_api_cmd_kyc_check_get.c
@@ -121,7 +121,7 @@ check_kyc_run (void *cls,
   const struct TALER_TESTING_Command *res_cmd;
   const char **payto_uri;
   const uint64_t *payment_target;
-  struct TALER_PaytoHash h_payto;
+  struct TALER_PaytoHashP h_payto;
 
   (void) cmd;
   kcg->is = is;
diff --git a/src/testing/testing_api_cmd_refund.c 
b/src/testing/testing_api_cmd_refund.c
index 5dae9e57..4be3605a 100644
--- a/src/testing/testing_api_cmd_refund.c
+++ b/src/testing/testing_api_cmd_refund.c
@@ -127,7 +127,7 @@ refund_run (void *cls,
   const struct TALER_CoinSpendPrivateKeyP *coin_priv;
   struct TALER_CoinSpendPublicKeyP coin;
   const json_t *contract_terms;
-  struct TALER_PrivateContractHash h_contract_terms;
+  struct TALER_PrivateContractHashP h_contract_terms;
   struct TALER_Amount refund_amount;
   const struct TALER_MerchantPrivateKeyP *merchant_priv;
   const struct TALER_TESTING_Command *coin_cmd;
diff --git a/src/testing/testing_api_cmd_transfer_get.c 
b/src/testing/testing_api_cmd_transfer_get.c
index 580f6ee8..3c467e6d 100644
--- a/src/testing/testing_api_cmd_transfer_get.c
+++ b/src/testing/testing_api_cmd_transfer_get.c
@@ -219,7 +219,7 @@ track_transfer_cb (void *cls,
     {
       const struct TALER_TESTING_Command *wire_details_cmd;
       const char **payto_uri;
-      struct TALER_PaytoHash h_payto;
+      struct TALER_PaytoHashP h_payto;
 
       wire_details_cmd
         = TALER_TESTING_interpreter_lookup_command (is,
diff --git a/src/util/auditor_signatures.c b/src/util/auditor_signatures.c
index 2ab690a0..77db296c 100644
--- a/src/util/auditor_signatures.c
+++ b/src/util/auditor_signatures.c
@@ -26,7 +26,7 @@
 void
 TALER_auditor_denom_validity_sign (
   const char *auditor_url,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_MasterPublicKeyP *master_pub,
   struct GNUNET_TIME_Timestamp stamp_start,
   struct GNUNET_TIME_Timestamp stamp_expire_withdraw,
@@ -64,7 +64,7 @@ TALER_auditor_denom_validity_sign (
 enum GNUNET_GenericReturnValue
 TALER_auditor_denom_validity_verify (
   const char *auditor_url,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_MasterPublicKeyP *master_pub,
   struct GNUNET_TIME_Timestamp stamp_start,
   struct GNUNET_TIME_Timestamp stamp_expire_withdraw,
diff --git a/src/util/crypto.c b/src/util/crypto.c
index 13f692c1..aced73f2 100644
--- a/src/util/crypto.c
+++ b/src/util/crypto.c
@@ -78,9 +78,9 @@ enum GNUNET_GenericReturnValue
 TALER_test_coin_valid (const struct TALER_CoinPublicInfo *coin_public_info,
                        const struct TALER_DenominationPublicKey *denom_pub)
 {
-  struct TALER_CoinPubHash c_hash;
+  struct TALER_CoinPubHashP c_hash;
 #if ENABLE_SANITY_CHECKS
-  struct TALER_DenominationHash d_hash;
+  struct TALER_DenominationHashP d_hash;
 
   TALER_denom_pub_hash (denom_pub,
                         &d_hash);
@@ -259,7 +259,7 @@ TALER_planchet_prepare (const struct 
TALER_DenominationPublicKey *dk,
                         const union TALER_DenominationBlindingKeyP *bks,
                         const struct TALER_CoinSpendPrivateKeyP *coin_priv,
                         const struct TALER_AgeCommitmentHash *ach,
-                        struct TALER_CoinPubHash *c_hash,
+                        struct TALER_CoinPubHashP *c_hash,
                         struct TALER_PlanchetDetail *pd
                         )
 {
@@ -300,7 +300,7 @@ TALER_planchet_to_coin (
   const union TALER_DenominationBlindingKeyP *bks,
   const struct TALER_CoinSpendPrivateKeyP *coin_priv,
   const struct TALER_AgeCommitmentHash *ach,
-  const struct TALER_CoinPubHash *c_hash,
+  const struct TALER_CoinPubHashP *c_hash,
   const struct TALER_ExchangeWithdrawValues *alg_values,
   struct TALER_FreshCoin *coin)
 {
@@ -364,7 +364,7 @@ TALER_refresh_get_commitment (struct 
TALER_RefreshCommitmentP *rc,
      hash_context */
   for (unsigned int i = 0; i<num_new_coins; i++)
   {
-    struct TALER_DenominationHash denom_hash;
+    struct TALER_DenominationHashP denom_hash;
 
     /* The denomination keys should / must all be identical regardless
        of what offset we use, so we use [0]. */
@@ -413,7 +413,7 @@ TALER_refresh_get_commitment (struct 
TALER_RefreshCommitmentP *rc,
 void
 TALER_coin_pub_hash (const struct TALER_CoinSpendPublicKeyP *coin_pub,
                      const struct TALER_AgeCommitmentHash *ach,
-                     struct TALER_CoinPubHash *coin_h)
+                     struct TALER_CoinPubHashP *coin_h)
 {
   if (TALER_AgeCommitmentHash_isNullOrZero (ach))
   {
@@ -717,8 +717,8 @@ TALER_age_commitment_free (
 
 enum GNUNET_GenericReturnValue
 TALER_coin_ev_hash (const struct TALER_BlindedPlanchet *blinded_planchet,
-                    const struct TALER_DenominationHash *denom_hash,
-                    struct TALER_BlindedCoinHash *bch)
+                    const struct TALER_DenominationHashP *denom_hash,
+                    struct TALER_BlindedCoinHashP *bch)
 {
   struct GNUNET_HashContext *hash_context;
 
diff --git a/src/util/crypto_wire.c b/src/util/crypto_wire.c
index 144b8ee9..93a95298 100644
--- a/src/util/crypto_wire.c
+++ b/src/util/crypto_wire.c
@@ -65,7 +65,7 @@ TALER_exchange_wire_signature_make (
 void
 TALER_merchant_wire_signature_hash (const char *payto_uri,
                                     const struct TALER_WireSaltP *salt,
-                                    struct TALER_MerchantWireHash *hc)
+                                    struct TALER_MerchantWireHashP *hc)
 {
   GNUNET_assert (GNUNET_YES ==
                  GNUNET_CRYPTO_kdf (hc,
diff --git a/src/util/denom.c b/src/util/denom.c
index 86c83d7c..b567b6de 100644
--- a/src/util/denom.c
+++ b/src/util/denom.c
@@ -147,7 +147,7 @@ TALER_denom_sig_unblind (
   struct TALER_DenominationSignature *denom_sig,
   const struct TALER_BlindedDenominationSignature *bdenom_sig,
   const union TALER_DenominationBlindingKeyP *bks,
-  const struct TALER_CoinPubHash *c_hash,
+  const struct TALER_CoinPubHashP *c_hash,
   const struct TALER_ExchangeWithdrawValues *alg_values,
   const struct TALER_DenominationPublicKey *denom_pub)
 {
@@ -227,7 +227,7 @@ TALER_cs_pub_hash (const struct GNUNET_CRYPTO_CsPublicKey 
*cs,
 
 void
 TALER_denom_pub_hash (const struct TALER_DenominationPublicKey *denom_pub,
-                      struct TALER_DenominationHash *denom_hash)
+                      struct TALER_DenominationHashP *denom_hash)
 {
   uint32_t opt[2] = {
     htonl (denom_pub->age_mask.mask),
@@ -302,7 +302,7 @@ TALER_denom_blind (
   const struct TALER_AgeCommitmentHash *ach,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_ExchangeWithdrawValues *alg_values,
-  struct TALER_CoinPubHash *c_hash,
+  struct TALER_CoinPubHashP *c_hash,
   struct TALER_BlindedPlanchet *blinded_planchet)
 {
   TALER_coin_pub_hash (coin_pub,
@@ -352,7 +352,7 @@ TALER_denom_blind (
 enum GNUNET_GenericReturnValue
 TALER_denom_pub_verify (const struct TALER_DenominationPublicKey *denom_pub,
                         const struct TALER_DenominationSignature *denom_sig,
-                        const struct TALER_CoinPubHash *c_hash)
+                        const struct TALER_CoinPubHashP *c_hash)
 {
   if (denom_pub->cipher != denom_sig->cipher)
   {
diff --git a/src/util/exchange_signatures.c b/src/util/exchange_signatures.c
index c0c775dc..b4a1f9d7 100644
--- a/src/util/exchange_signatures.c
+++ b/src/util/exchange_signatures.c
@@ -25,9 +25,9 @@
 
 enum GNUNET_GenericReturnValue
 TALER_exchange_deposit_confirm_verify (
-  const struct TALER_PrivateContractHash *h_contract_terms,
-  const struct TALER_MerchantWireHash *h_wire,
-  const struct TALER_ExtensionContractHash *h_extensions,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
+  const struct TALER_MerchantWireHashP *h_wire,
+  const struct TALER_ExtensionContractHashP *h_extensions,
   struct GNUNET_TIME_Timestamp exchange_timestamp,
   struct GNUNET_TIME_Timestamp wire_deadline,
   struct GNUNET_TIME_Timestamp refund_deadline,
diff --git a/src/util/merchant_signatures.c b/src/util/merchant_signatures.c
index ae176955..4cc00a6c 100644
--- a/src/util/merchant_signatures.c
+++ b/src/util/merchant_signatures.c
@@ -26,7 +26,7 @@
 void
 TALER_merchant_refund_sign (
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   uint64_t rtransaction_id,
   const struct TALER_Amount *amount,
   const struct TALER_MerchantPrivateKeyP *merchant_priv,
@@ -51,7 +51,7 @@ TALER_merchant_refund_sign (
 enum GNUNET_GenericReturnValue
 TALER_merchant_refund_verify (
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   uint64_t rtransaction_id,
   const struct TALER_Amount *amount,
   const struct TALER_MerchantPublicKeyP *merchant_pub,
diff --git a/src/util/offline_signatures.c b/src/util/offline_signatures.c
index fa4b80fe..bc162599 100644
--- a/src/util/offline_signatures.c
+++ b/src/util/offline_signatures.c
@@ -117,7 +117,7 @@ TALER_exchange_offline_auditor_del_verify (
 
 void
 TALER_exchange_offline_denomination_revoke_sign (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_MasterPrivateKeyP *master_priv,
   struct TALER_MasterSignatureP *master_sig)
 {
@@ -135,7 +135,7 @@ TALER_exchange_offline_denomination_revoke_sign (
 
 enum GNUNET_GenericReturnValue
 TALER_exchange_offline_denomination_revoke_verify (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_MasterPublicKeyP *master_pub,
   const struct TALER_MasterSignatureP *master_sig)
 {
@@ -249,7 +249,7 @@ TALER_exchange_offline_signkey_validity_verify (
 
 void
 TALER_exchange_offline_denom_validity_sign (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   struct GNUNET_TIME_Timestamp stamp_start,
   struct GNUNET_TIME_Timestamp stamp_expire_withdraw,
   struct GNUNET_TIME_Timestamp stamp_expire_deposit,
@@ -285,7 +285,7 @@ TALER_exchange_offline_denom_validity_sign (
 
 enum GNUNET_GenericReturnValue
 TALER_exchange_offline_denom_validity_verify (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   struct GNUNET_TIME_Timestamp stamp_start,
   struct GNUNET_TIME_Timestamp stamp_expire_withdraw,
   struct GNUNET_TIME_Timestamp stamp_expire_deposit,
@@ -474,7 +474,7 @@ TALER_exchange_offline_wire_fee_verify (
 
 void
 TALER_exchange_offline_extension_config_hash_sign (
-  const struct TALER_ExtensionConfigHash *h_config,
+  const struct TALER_ExtensionConfigHashP *h_config,
   const struct TALER_MasterPrivateKeyP *master_priv,
   struct TALER_MasterSignatureP *master_sig)
 {
@@ -491,7 +491,7 @@ TALER_exchange_offline_extension_config_hash_sign (
 
 enum GNUNET_GenericReturnValue
 TALER_exchange_offline_extension_config_hash_verify (
-  const struct TALER_ExtensionConfigHash *h_config,
+  const struct TALER_ExtensionConfigHashP *h_config,
   const struct TALER_MasterPublicKeyP *master_pub,
   const struct TALER_MasterSignatureP *master_sig
   )
diff --git a/src/util/payto.c b/src/util/payto.c
index 746b2624..bfc8eb1b 100644
--- a/src/util/payto.c
+++ b/src/util/payto.c
@@ -226,7 +226,7 @@ TALER_payto_validate (const char *payto_uri)
 
 void
 TALER_payto_hash (const char *payto,
-                  struct TALER_PaytoHash *h_payto)
+                  struct TALER_PaytoHashP *h_payto)
 {
   GNUNET_CRYPTO_hash (payto,
                       strlen (payto) + 1,
diff --git a/src/util/test_crypto.c b/src/util/test_crypto.c
index 35b96402..fea90b78 100644
--- a/src/util/test_crypto.c
+++ b/src/util/test_crypto.c
@@ -119,7 +119,7 @@ test_planchets_rsa (void)
   struct TALER_PlanchetDetail pd;
   struct TALER_BlindedDenominationSignature blind_sig;
   struct TALER_FreshCoin coin;
-  struct TALER_CoinPubHash c_hash;
+  struct TALER_CoinPubHashP c_hash;
 
   GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_STRONG,
                               &ps,
@@ -228,7 +228,7 @@ test_planchets_cs (void)
   struct TALER_DenominationPrivateKey dk_priv;
   struct TALER_DenominationPublicKey dk_pub;
   struct TALER_PlanchetDetail pd;
-  struct TALER_CoinPubHash c_hash;
+  struct TALER_CoinPubHashP c_hash;
   struct TALER_BlindedDenominationSignature blind_sig;
   struct TALER_FreshCoin coin;
   struct TALER_ExchangeWithdrawValues alg_values;
diff --git a/src/util/test_helper_cs.c b/src/util/test_helper_cs.c
index c2708353..566f1d61 100644
--- a/src/util/test_helper_cs.c
+++ b/src/util/test_helper_cs.c
@@ -269,7 +269,7 @@ test_r_derive (struct TALER_CRYPTO_CsDenominationHelper *dh)
   struct TALER_PlanchetMasterSecretP ps;
   struct TALER_CoinSpendPrivateKeyP coin_priv;
   union TALER_DenominationBlindingKeyP bks;
-  struct TALER_CoinPubHash c_hash;
+  struct TALER_CoinPubHashP c_hash;
   struct TALER_ExchangeWithdrawValues alg_values;
 
   TALER_planchet_master_setup_random (&ps);
@@ -413,7 +413,7 @@ test_signing (struct TALER_CRYPTO_CsDenominationHelper *dh)
   struct TALER_PlanchetMasterSecretP ps;
   struct TALER_CoinSpendPrivateKeyP coin_priv;
   union TALER_DenominationBlindingKeyP bks;
-  struct TALER_CoinPubHash c_hash;
+  struct TALER_CoinPubHashP c_hash;
   struct TALER_ExchangeWithdrawValues alg_values;
 
   TALER_planchet_master_setup_random (&ps);
@@ -616,7 +616,7 @@ perf_signing (struct TALER_CRYPTO_CsDenominationHelper *dh,
                                     keys[i].validity_duration))
         continue;
       {
-        struct TALER_CoinPubHash c_hash;
+        struct TALER_CoinPubHashP c_hash;
         struct TALER_PlanchetDetail pd;
 
         pd.blinded_planchet.cipher = TALER_DENOMINATION_CS;
diff --git a/src/util/test_helper_rsa.c b/src/util/test_helper_rsa.c
index 2ead8a6e..eaf43622 100644
--- a/src/util/test_helper_rsa.c
+++ b/src/util/test_helper_rsa.c
@@ -270,7 +270,7 @@ test_signing (struct TALER_CRYPTO_RsaDenominationHelper *dh)
   struct TALER_PlanchetMasterSecretP ps;
   struct TALER_ExchangeWithdrawValues alg_values;
   struct TALER_AgeCommitmentHash ach;
-  struct TALER_CoinPubHash c_hash;
+  struct TALER_CoinPubHashP c_hash;
   struct TALER_CoinSpendPrivateKeyP coin_priv;
   union TALER_DenominationBlindingKeyP bks;
 
@@ -477,7 +477,7 @@ perf_signing (struct TALER_CRYPTO_RsaDenominationHelper *dh,
                                     keys[i].validity_duration))
         continue;
       {
-        struct TALER_CoinPubHash c_hash;
+        struct TALER_CoinPubHashP c_hash;
         struct TALER_PlanchetDetail pd;
 
         GNUNET_assert (GNUNET_YES ==
diff --git a/src/util/wallet_signatures.c b/src/util/wallet_signatures.c
index 6c664bbd..a21c73be 100644
--- a/src/util/wallet_signatures.c
+++ b/src/util/wallet_signatures.c
@@ -27,11 +27,11 @@ void
 TALER_wallet_deposit_sign (
   const struct TALER_Amount *amount,
   const struct TALER_Amount *deposit_fee,
-  const struct TALER_MerchantWireHash *h_wire,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_MerchantWireHashP *h_wire,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   const struct TALER_AgeCommitmentHash *h_age_commitment,
-  const struct TALER_ExtensionContractHash *h_extensions,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_ExtensionContractHashP *h_extensions,
+  const struct TALER_DenominationHashP *h_denom_pub,
   struct GNUNET_TIME_Timestamp wallet_timestamp,
   const struct TALER_MerchantPublicKeyP *merchant_pub,
   struct GNUNET_TIME_Timestamp refund_deadline,
@@ -69,11 +69,11 @@ enum GNUNET_GenericReturnValue
 TALER_wallet_deposit_verify (
   const struct TALER_Amount *amount,
   const struct TALER_Amount *deposit_fee,
-  const struct TALER_MerchantWireHash *h_wire,
-  const struct TALER_PrivateContractHash *h_contract_terms,
+  const struct TALER_MerchantWireHashP *h_wire,
+  const struct TALER_PrivateContractHashP *h_contract_terms,
   const struct TALER_AgeCommitmentHash *h_age_commitment,
-  const struct TALER_ExtensionContractHash *h_extensions,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_ExtensionContractHashP *h_extensions,
+  const struct TALER_DenominationHashP *h_denom_pub,
   struct GNUNET_TIME_Timestamp wallet_timestamp,
   const struct TALER_MerchantPublicKeyP *merchant_pub,
   struct GNUNET_TIME_Timestamp refund_deadline,
@@ -117,9 +117,9 @@ TALER_wallet_deposit_verify (
 
 
 void
-TALER_wallet_link_sign (const struct TALER_DenominationHash *h_denom_pub,
+TALER_wallet_link_sign (const struct TALER_DenominationHashP *h_denom_pub,
                         const struct TALER_TransferPublicKeyP *transfer_pub,
-                        const struct TALER_BlindedCoinHash *bch,
+                        const struct TALER_BlindedCoinHashP *bch,
                         const struct TALER_CoinSpendPrivateKeyP *old_coin_priv,
                         struct TALER_CoinSpendSignatureP *coin_sig)
 {
@@ -139,9 +139,9 @@ TALER_wallet_link_sign (const struct TALER_DenominationHash 
*h_denom_pub,
 
 enum GNUNET_GenericReturnValue
 TALER_wallet_link_verify (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_TransferPublicKeyP *transfer_pub,
-  const struct TALER_BlindedCoinHash *h_coin_ev,
+  const struct TALER_BlindedCoinHashP *h_coin_ev,
   const struct TALER_CoinSpendPublicKeyP *old_coin_pub,
   const struct TALER_CoinSpendSignatureP *coin_sig)
 {
@@ -163,7 +163,7 @@ TALER_wallet_link_verify (
 
 enum GNUNET_GenericReturnValue
 TALER_wallet_recoup_verify (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const union TALER_DenominationBlindingKeyP *coin_bks,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_CoinSpendSignatureP *coin_sig)
@@ -184,7 +184,7 @@ TALER_wallet_recoup_verify (
 
 void
 TALER_wallet_recoup_sign (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const union TALER_DenominationBlindingKeyP *coin_bks,
   const struct TALER_CoinSpendPrivateKeyP *coin_priv,
   struct TALER_CoinSpendSignatureP *coin_sig)
@@ -204,7 +204,7 @@ TALER_wallet_recoup_sign (
 
 enum GNUNET_GenericReturnValue
 TALER_wallet_recoup_refresh_verify (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const union TALER_DenominationBlindingKeyP *coin_bks,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_CoinSpendSignatureP *coin_sig)
@@ -225,7 +225,7 @@ TALER_wallet_recoup_refresh_verify (
 
 void
 TALER_wallet_recoup_refresh_sign (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const union TALER_DenominationBlindingKeyP *coin_bks,
   const struct TALER_CoinSpendPrivateKeyP *coin_priv,
   struct TALER_CoinSpendSignatureP *coin_sig)
@@ -248,7 +248,7 @@ TALER_wallet_melt_sign (
   const struct TALER_Amount *amount_with_fee,
   const struct TALER_Amount *melt_fee,
   const struct TALER_RefreshCommitmentP *rc,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_CoinSpendPrivateKeyP *coin_priv,
   struct TALER_CoinSpendSignatureP *coin_sig)
 {
@@ -274,7 +274,7 @@ TALER_wallet_melt_verify (
   const struct TALER_Amount *amount_with_fee,
   const struct TALER_Amount *melt_fee,
   const struct TALER_RefreshCommitmentP *rc,
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_AgeCommitmentHash *h_age_commitment,
   const struct TALER_CoinSpendPublicKeyP *coin_pub,
   const struct TALER_CoinSpendSignatureP *coin_sig)
@@ -304,9 +304,9 @@ TALER_wallet_melt_verify (
 
 void
 TALER_wallet_withdraw_sign (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_Amount *amount_with_fee,
-  const struct TALER_BlindedCoinHash *bch,
+  const struct TALER_BlindedCoinHashP *bch,
   const struct TALER_ReservePrivateKeyP *reserve_priv,
   struct TALER_ReserveSignatureP *reserve_sig)
 {
@@ -327,9 +327,9 @@ TALER_wallet_withdraw_sign (
 
 enum GNUNET_GenericReturnValue
 TALER_wallet_withdraw_verify (
-  const struct TALER_DenominationHash *h_denom_pub,
+  const struct TALER_DenominationHashP *h_denom_pub,
   const struct TALER_Amount *amount_with_fee,
-  const struct TALER_BlindedCoinHash *bch,
+  const struct TALER_BlindedCoinHashP *bch,
   const struct TALER_ReservePublicKeyP *reserve_pub,
   const struct TALER_ReserveSignatureP *reserve_sig)
 {

-- 
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]