From 6a074b36c4c71c634ccf2f0ec2979e39c09271e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96zg=C3=BCr=20Kesim?= Date: Sun, 22 Jan 2023 20:11:18 +0100 Subject: [PATCH] -refactor: AgeCommitmentHash->AgeCommitmentHashP --- src/auditor/taler-helper-auditor-coins.c | 2 +- src/benchmark/taler-aggregator-benchmark.c | 4 +- src/exchange/taler-exchange-httpd_db.c | 2 +- .../taler-exchange-httpd_purses_create.c | 2 +- .../taler-exchange-httpd_purses_deposit.c | 2 +- .../taler-exchange-httpd_refreshes_reveal.c | 8 +- src/exchange/taler-exchange-httpd_responses.c | 4 +- src/exchangedb/pg_ensure_coin_known.c | 18 +- src/exchangedb/pg_ensure_coin_known.h | 8 +- src/exchangedb/pg_get_purse_deposit.c | 4 +- src/exchangedb/pg_get_purse_deposit.h | 2 +- .../pg_select_refreshes_above_serial_id.c | 10 +- src/exchangedb/test_exchangedb.c | 12 +- .../test_exchangedb_populate_link_data.c | 253 +++++++------- .../test_exchangedb_populate_ready_deposit.c | 329 +++++++++--------- .../test_exchangedb_populate_table.c | 151 ++++---- src/include/taler_crypto_lib.h | 30 +- src/include/taler_exchange_service.h | 10 +- src/include/taler_exchangedb_plugin.h | 14 +- src/include/taler_testing_lib.h | 2 +- src/lib/exchange_api_batch_withdraw.c | 2 +- src/lib/exchange_api_common.c | 8 +- src/lib/exchange_api_common.h | 2 +- src/lib/exchange_api_link.c | 2 +- .../exchange_api_purse_create_with_deposit.c | 6 +- src/lib/exchange_api_purse_deposit.c | 6 +- src/lib/exchange_api_refresh_common.c | 4 +- src/lib/exchange_api_refresh_common.h | 2 +- src/lib/exchange_api_refreshes_reveal.c | 2 +- src/lib/exchange_api_refund.c | 2 +- src/lib/exchange_api_reserves_open.c | 4 +- src/lib/exchange_api_withdraw.c | 2 +- src/testing/testing_api_cmd_batch_withdraw.c | 6 +- src/testing/testing_api_cmd_deposit.c | 2 +- src/testing/testing_api_cmd_insert_deposit.c | 2 +- src/testing/testing_api_cmd_refresh.c | 4 +- src/testing/testing_api_cmd_withdraw.c | 6 +- src/util/age_restriction.c | 4 +- src/util/crypto.c | 10 +- src/util/denom.c | 2 +- src/util/test_crypto.c | 8 +- src/util/test_helper_rsa.c | 6 +- src/util/tv_age_restriction.c | 2 +- src/util/wallet_signatures.c | 20 +- 44 files changed, 490 insertions(+), 491 deletions(-) diff --git a/src/auditor/taler-helper-auditor-coins.c b/src/auditor/taler-helper-auditor-coins.c index 7637e463d..67b90082b 100644 --- a/src/auditor/taler-helper-auditor-coins.c +++ b/src/auditor/taler-helper-auditor-coins.c @@ -1218,7 +1218,7 @@ static enum GNUNET_GenericReturnValue refresh_session_cb (void *cls, uint64_t rowid, const struct TALER_DenominationPublicKey *denom_pub, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_CoinSpendPublicKeyP *coin_pub, const struct TALER_CoinSpendSignatureP *coin_sig, const struct TALER_Amount *amount_with_fee, diff --git a/src/benchmark/taler-aggregator-benchmark.c b/src/benchmark/taler-aggregator-benchmark.c index bf9a3f3ec..81170ce81 100644 --- a/src/benchmark/taler-aggregator-benchmark.c +++ b/src/benchmark/taler-aggregator-benchmark.c @@ -277,7 +277,7 @@ add_deposit (const struct Merchant *m) struct TALER_EXCHANGEDB_Deposit deposit; uint64_t known_coin_id; struct TALER_DenominationHashP dph; - struct TALER_AgeCommitmentHash agh; + struct TALER_AgeCommitmentHashP agh; RANDOMIZE (&d.coin.coin_pub); d.coin.denom_pub_hash = h_denom_pub; @@ -468,7 +468,7 @@ run (void *cls, struct TALER_PlanchetMasterSecretP ps; struct TALER_ExchangeWithdrawValues alg_values; struct TALER_CoinSpendPublicKeyP coin_pub; - struct TALER_AgeCommitmentHash hac; + struct TALER_AgeCommitmentHashP hac; union TALER_DenominationBlindingKeyP bks; RANDOMIZE (&coin_pub); diff --git a/src/exchange/taler-exchange-httpd_db.c b/src/exchange/taler-exchange-httpd_db.c index 5660074ee..7de7b51ae 100644 --- a/src/exchange/taler-exchange-httpd_db.c +++ b/src/exchange/taler-exchange-httpd_db.c @@ -37,7 +37,7 @@ TEH_make_coin_known (const struct TALER_CoinPublicInfo *coin, { enum TALER_EXCHANGEDB_CoinKnownStatus cks; struct TALER_DenominationHashP h_denom_pub; - struct TALER_AgeCommitmentHash age_hash; + struct TALER_AgeCommitmentHashP age_hash; /* make sure coin is 'known' in database */ cks = TEH_plugin->ensure_coin_known (TEH_plugin->cls, diff --git a/src/exchange/taler-exchange-httpd_purses_create.c b/src/exchange/taler-exchange-httpd_purses_create.c index 130f9faec..56ac36a66 100644 --- a/src/exchange/taler-exchange-httpd_purses_create.c +++ b/src/exchange/taler-exchange-httpd_purses_create.c @@ -260,7 +260,7 @@ create_transaction (void *cls, struct TALER_CoinSpendPublicKeyP coin_pub; struct TALER_CoinSpendSignatureP coin_sig; struct TALER_DenominationHashP h_denom_pub; - struct TALER_AgeCommitmentHash phac; + struct TALER_AgeCommitmentHashP phac; char *partner_url = NULL; TEH_plugin->rollback (TEH_plugin->cls); diff --git a/src/exchange/taler-exchange-httpd_purses_deposit.c b/src/exchange/taler-exchange-httpd_purses_deposit.c index 291807aaa..23e8e3360 100644 --- a/src/exchange/taler-exchange-httpd_purses_deposit.c +++ b/src/exchange/taler-exchange-httpd_purses_deposit.c @@ -222,7 +222,7 @@ deposit_transaction (void *cls, struct TALER_CoinSpendPublicKeyP coin_pub; struct TALER_CoinSpendSignatureP coin_sig; struct TALER_DenominationHashP h_denom_pub; - struct TALER_AgeCommitmentHash phac; + struct TALER_AgeCommitmentHashP phac; char *partner_url = NULL; TEH_plugin->rollback (TEH_plugin->cls); diff --git a/src/exchange/taler-exchange-httpd_refreshes_reveal.c b/src/exchange/taler-exchange-httpd_refreshes_reveal.c index 08a85265c..d2e498351 100644 --- a/src/exchange/taler-exchange-httpd_refreshes_reveal.c +++ b/src/exchange/taler-exchange-httpd_refreshes_reveal.c @@ -263,8 +263,8 @@ check_commitment (struct RevealContext *rctx, const struct TALER_TransferPrivateKeyP *tpriv = &rctx->transfer_privs[i - off]; struct TALER_TransferSecretP ts; - struct TALER_AgeCommitmentHash h = {0}; - struct TALER_AgeCommitmentHash *hac = NULL; + struct TALER_AgeCommitmentHashP h = {0}; + struct TALER_AgeCommitmentHashP *hac = NULL; GNUNET_CRYPTO_ecdhe_key_get_public (&tpriv->ecdhe_priv, &rce->transfer_pub.ecdhe_pub); @@ -657,11 +657,11 @@ resolve_refreshes_reveal_denominations ( /* Sanity check: Compare hash from melting with hash of this age commitment */ { - struct TALER_AgeCommitmentHash hac = {0}; + struct TALER_AgeCommitmentHashP hac = {0}; TALER_age_commitment_hash (oac, &hac); if (0 != memcmp (&hac, &rctx->melt.session.coin.h_age_commitment, - sizeof(struct TALER_AgeCommitmentHash))) + sizeof(struct TALER_AgeCommitmentHashP))) goto clean_age; } diff --git a/src/exchange/taler-exchange-httpd_responses.c b/src/exchange/taler-exchange-httpd_responses.c index 33bc13985..5b2e2f671 100644 --- a/src/exchange/taler-exchange-httpd_responses.c +++ b/src/exchange/taler-exchange-httpd_responses.c @@ -129,7 +129,7 @@ TEH_RESPONSE_compile_transaction_history ( { const struct TALER_EXCHANGEDB_MeltListEntry *melt = pos->details.melt; - const struct TALER_AgeCommitmentHash *phac = NULL; + const struct TALER_AgeCommitmentHashP *phac = NULL; #if ENABLE_SANITY_CHECKS TEH_METRICS_num_verifications[TEH_MT_SIGNATURE_EDDSA]++; @@ -391,7 +391,7 @@ TEH_RESPONSE_compile_transaction_history ( { struct TALER_EXCHANGEDB_PurseDepositListEntry *pd = pos->details.purse_deposit; - const struct TALER_AgeCommitmentHash *phac = NULL; + const struct TALER_AgeCommitmentHashP *phac = NULL; if (! pd->no_age_commitment) phac = &pd->h_age_commitment; diff --git a/src/exchangedb/pg_ensure_coin_known.c b/src/exchangedb/pg_ensure_coin_known.c index 6b2385adb..d9682a176 100644 --- a/src/exchangedb/pg_ensure_coin_known.c +++ b/src/exchangedb/pg_ensure_coin_known.c @@ -28,10 +28,10 @@ enum TALER_EXCHANGEDB_CoinKnownStatus TEH_PG_ensure_coin_known (void *cls, - const struct TALER_CoinPublicInfo *coin, - uint64_t *known_coin_id, - struct TALER_DenominationHashP *denom_hash, - struct TALER_AgeCommitmentHash *h_age_commitment) + const struct TALER_CoinPublicInfo *coin, + uint64_t *known_coin_id, + struct TALER_DenominationHashP *denom_hash, + struct TALER_AgeCommitmentHashP *h_age_commitment) { struct PostgresClosure *pg = cls; enum GNUNET_DB_QueryStatus qs; @@ -60,12 +60,12 @@ TEH_PG_ensure_coin_known (void *cls, &is_age_hash_null), GNUNET_PQ_result_spec_end }; - /* Used in #postgres_insert_known_coin() to store the denomination public - key and signature for a coin known to the exchange. + /* Used in #postgres_insert_known_coin() to store the denomination public + key and signature for a coin known to the exchange. - See also: - https://stackoverflow.com/questions/34708509/how-to-use-returning-with-on-conflict-in-postgresql/37543015#37543015 - */ + See also: + https://stackoverflow.com/questions/34708509/how-to-use-returning-with-on-conflict-in-postgresql/37543015#37543015 + */ PREPARE (pg, "insert_known_coin", "WITH dd" diff --git a/src/exchangedb/pg_ensure_coin_known.h b/src/exchangedb/pg_ensure_coin_known.h index 76581d4b7..45766d106 100644 --- a/src/exchangedb/pg_ensure_coin_known.h +++ b/src/exchangedb/pg_ensure_coin_known.h @@ -37,9 +37,9 @@ */ enum TALER_EXCHANGEDB_CoinKnownStatus TEH_PG_ensure_coin_known (void *cls, - const struct TALER_CoinPublicInfo *coin, - uint64_t *known_coin_id, - struct TALER_DenominationHashP *denom_hash, - struct TALER_AgeCommitmentHash *h_age_commitment); + const struct TALER_CoinPublicInfo *coin, + uint64_t *known_coin_id, + struct TALER_DenominationHashP *denom_hash, + struct TALER_AgeCommitmentHashP *h_age_commitment); #endif diff --git a/src/exchangedb/pg_get_purse_deposit.c b/src/exchangedb/pg_get_purse_deposit.c index 539bd5ece..5d8e56358 100644 --- a/src/exchangedb/pg_get_purse_deposit.c +++ b/src/exchangedb/pg_get_purse_deposit.c @@ -32,7 +32,7 @@ TEH_PG_get_purse_deposit ( const struct TALER_CoinSpendPublicKeyP *coin_pub, struct TALER_Amount *amount, struct TALER_DenominationHashP *h_denom_pub, - struct TALER_AgeCommitmentHash *phac, + struct TALER_AgeCommitmentHashP *phac, struct TALER_CoinSpendSignatureP *coin_sig, char **partner_url) { @@ -61,7 +61,7 @@ TEH_PG_get_purse_deposit ( *partner_url = NULL; - /* Used in #postgres_get_purse_deposit */ + /* Used in #postgres_get_purse_deposit */ PREPARE (pg, "select_purse_deposit_by_coin_pub", "SELECT " diff --git a/src/exchangedb/pg_get_purse_deposit.h b/src/exchangedb/pg_get_purse_deposit.h index b9c9947f4..ee2523a48 100644 --- a/src/exchangedb/pg_get_purse_deposit.h +++ b/src/exchangedb/pg_get_purse_deposit.h @@ -46,7 +46,7 @@ TEH_PG_get_purse_deposit ( const struct TALER_CoinSpendPublicKeyP *coin_pub, struct TALER_Amount *amount, struct TALER_DenominationHashP *h_denom_pub, - struct TALER_AgeCommitmentHash *phac, + struct TALER_AgeCommitmentHashP *phac, struct TALER_CoinSpendSignatureP *coin_sig, char **partner_url); diff --git a/src/exchangedb/pg_select_refreshes_above_serial_id.c b/src/exchangedb/pg_select_refreshes_above_serial_id.c index d2b4a7fa6..ad5f6321c 100644 --- a/src/exchangedb/pg_select_refreshes_above_serial_id.c +++ b/src/exchangedb/pg_select_refreshes_above_serial_id.c @@ -75,7 +75,7 @@ refreshs_serial_helper_cb (void *cls, struct TALER_DenominationPublicKey denom_pub; struct TALER_CoinSpendPublicKeyP coin_pub; struct TALER_CoinSpendSignatureP coin_sig; - struct TALER_AgeCommitmentHash h_age_commitment; + struct TALER_AgeCommitmentHashP h_age_commitment; bool ac_isnull; struct TALER_Amount amount_with_fee; uint32_t noreveal_index; @@ -130,10 +130,6 @@ refreshs_serial_helper_cb (void *cls, } - - - - enum GNUNET_DB_QueryStatus TEH_PG_select_refreshes_above_serial_id ( void *cls, @@ -153,8 +149,8 @@ TEH_PG_select_refreshes_above_serial_id ( .status = GNUNET_OK }; enum GNUNET_DB_QueryStatus qs; - /* Used in #postgres_select_refreshes_above_serial_id() to fetch - refresh session with id '\geq' the given parameter */ + /* Used in #postgres_select_refreshes_above_serial_id() to fetch + refresh session with id '\geq' the given parameter */ PREPARE (pg, "audit_get_refresh_commitments_incr", "SELECT" diff --git a/src/exchangedb/test_exchangedb.c b/src/exchangedb/test_exchangedb.c index 68f94b6ea..d0b4a83ff 100644 --- a/src/exchangedb/test_exchangedb.c +++ b/src/exchangedb/test_exchangedb.c @@ -449,7 +449,7 @@ audit_refresh_session_cb ( void *cls, uint64_t rowid, const struct TALER_DenominationPublicKey *denom_pub, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_CoinSpendPublicKeyP *coin_pub, const struct TALER_CoinSpendSignatureP *coin_sig, const struct TALER_Amount *amount_with_fee, @@ -1340,8 +1340,8 @@ run (void *cls) { struct TALER_PlanchetDetail pd; struct TALER_CoinSpendPublicKeyP coin_pub; - struct TALER_AgeCommitmentHash age_hash; - struct TALER_AgeCommitmentHash *p_ah[2] = { + struct TALER_AgeCommitmentHashP age_hash; + struct TALER_AgeCommitmentHashP *p_ah[2] = { NULL, &age_hash }; @@ -1465,7 +1465,7 @@ run (void *cls) deadline = GNUNET_TIME_timestamp_get (); { struct TALER_DenominationHashP dph; - struct TALER_AgeCommitmentHash agh; + struct TALER_AgeCommitmentHashP agh; FAILIF (TALER_EXCHANGEDB_CKS_ADDED != plugin->ensure_coin_known (plugin->cls, @@ -1713,7 +1713,7 @@ run (void *cls) uint64_t new_known_coin_id; struct TALER_CoinPublicInfo new_coin; struct TALER_DenominationHashP dph; - struct TALER_AgeCommitmentHash agh; + struct TALER_AgeCommitmentHashP agh; bool recoup_ok; bool internal_failure; @@ -2086,7 +2086,7 @@ run (void *cls) { uint64_t known_coin_id; struct TALER_DenominationHashP dph; - struct TALER_AgeCommitmentHash agh; + struct TALER_AgeCommitmentHashP agh; FAILIF (TALER_EXCHANGEDB_CKS_ADDED != plugin->ensure_coin_known (plugin->cls, diff --git a/src/exchangedb/test_exchangedb_populate_link_data.c b/src/exchangedb/test_exchangedb_populate_link_data.c index ff294874a..643185062 100644 --- a/src/exchangedb/test_exchangedb_populate_link_data.c +++ b/src/exchangedb/test_exchangedb_populate_link_data.c @@ -37,7 +37,7 @@ static int result; */ #define FAILIF(cond) \ do { \ - if (! (cond)) {break;} \ + if (! (cond)) {break;} \ GNUNET_break (0); \ goto drop; \ } while (0) @@ -183,6 +183,7 @@ create_denom_key_pair (unsigned int size, return dkp; } + /** * Function called with the session hashes and transfer secret * information for a given coin. @@ -223,7 +224,6 @@ handle_link_data_cb (void *cls, } - /** * Main function that will be run by the scheduler. * @@ -238,25 +238,25 @@ run (void *cls) struct GNUNET_CONFIGURATION_Handle *cfg = cls; const uint32_t num_partitions = 10; struct DenomKeyPair *dkp = NULL; - struct TALER_EXCHANGEDB_Deposit *depos=NULL; + struct TALER_EXCHANGEDB_Deposit *depos = NULL; struct TALER_Amount value; struct TALER_DenominationPublicKey *new_denom_pubs = NULL; struct GNUNET_TIME_Relative times = GNUNET_TIME_UNIT_ZERO; - unsigned long long sqrs=0; - struct TALER_EXCHANGEDB_Refund *ref=NULL; + unsigned long long sqrs = 0; + struct TALER_EXCHANGEDB_Refund *ref = NULL; unsigned int *perm; unsigned long long duration_sq; struct TALER_EXCHANGEDB_RefreshRevealedCoin *ccoin; struct TALER_ExchangeWithdrawValues alg_values = { .cipher = TALER_DENOMINATION_RSA - }; + }; - ref = GNUNET_new_array (ROUNDS +1, + ref = GNUNET_new_array (ROUNDS + 1, struct TALER_EXCHANGEDB_Refund); - depos = GNUNET_new_array (ROUNDS +1, + depos = GNUNET_new_array (ROUNDS + 1, struct TALER_EXCHANGEDB_Deposit); - refresh = GNUNET_new_array (ROUNDS +1, - struct TALER_EXCHANGEDB_Refresh); + refresh = GNUNET_new_array (ROUNDS + 1, + struct TALER_EXCHANGEDB_Refresh); if (NULL == (plugin = TALER_EXCHANGEDB_plugin_load (cfg))) @@ -297,140 +297,140 @@ run (void *cls) GNUNET_assert (GNUNET_OK == TALER_string_to_amount (CURRENCY ":0.000010", &fees.refund)); - //DENOMINATION + // DENOMINATION { - //PAIR KEY LIST + // PAIR KEY LIST new_dkp = GNUNET_new_array (MELT_NEW_COINS, - struct DenomKeyPair *); - //PUBLIC KEY LIST + struct DenomKeyPair *); + // PUBLIC KEY LIST new_denom_pubs = GNUNET_new_array (MELT_NEW_COINS, struct TALER_DenominationPublicKey); - //REFRESH REVEAL COIN LIST + // REFRESH REVEAL COIN LIST revealed_coins = GNUNET_new_array (MELT_NEW_COINS, struct TALER_EXCHANGEDB_RefreshRevealedCoin); for (unsigned int cnt = 0; cnt < MELT_NEW_COINS; cnt++) - { - struct GNUNET_TIME_Timestamp now; - struct TALER_BlindedRsaPlanchet *rp; - struct TALER_BlindedPlanchet *bp; + { + struct GNUNET_TIME_Timestamp now; + struct TALER_BlindedRsaPlanchet *rp; + struct TALER_BlindedPlanchet *bp; - now = GNUNET_TIME_timestamp_get (); - //5 KEY PAIR - new_dkp[cnt] = create_denom_key_pair (RSA_KEY_SIZE, - now, - &value, - &fees); - GNUNET_assert (NULL != new_dkp[cnt]); - new_denom_pubs[cnt] = new_dkp[cnt]->pub; - ccoin = &revealed_coins[cnt]; - bp = &ccoin->blinded_planchet; - bp->cipher = TALER_DENOMINATION_RSA; - rp = &bp->details.rsa_blinded_planchet; - rp->blinded_msg_size = 1 + (size_t) GNUNET_CRYPTO_random_u64 ( - GNUNET_CRYPTO_QUALITY_WEAK, - (RSA_KEY_SIZE / 8) - 1); - rp->blinded_msg = GNUNET_malloc (rp->blinded_msg_size); - GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, - rp->blinded_msg, - rp->blinded_msg_size); - TALER_denom_pub_hash (&new_dkp[cnt]->pub, - &ccoin->h_denom_pub); - ccoin->exchange_vals = alg_values; - TALER_coin_ev_hash (bp, - &ccoin->h_denom_pub, - &ccoin->coin_envelope_hash); - GNUNET_assert (GNUNET_OK == + now = GNUNET_TIME_timestamp_get (); + // 5 KEY PAIR + new_dkp[cnt] = create_denom_key_pair (RSA_KEY_SIZE, + now, + &value, + &fees); + GNUNET_assert (NULL != new_dkp[cnt]); + new_denom_pubs[cnt] = new_dkp[cnt]->pub; + ccoin = &revealed_coins[cnt]; + bp = &ccoin->blinded_planchet; + bp->cipher = TALER_DENOMINATION_RSA; + rp = &bp->details.rsa_blinded_planchet; + rp->blinded_msg_size = 1 + (size_t) GNUNET_CRYPTO_random_u64 ( + GNUNET_CRYPTO_QUALITY_WEAK, + (RSA_KEY_SIZE / 8) - 1); + rp->blinded_msg = GNUNET_malloc (rp->blinded_msg_size); + GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, + rp->blinded_msg, + rp->blinded_msg_size); + TALER_denom_pub_hash (&new_dkp[cnt]->pub, + &ccoin->h_denom_pub); + ccoin->exchange_vals = alg_values; + TALER_coin_ev_hash (bp, + &ccoin->h_denom_pub, + &ccoin->coin_envelope_hash); + GNUNET_assert (GNUNET_OK == TALER_denom_sign_blinded (&ccoin->coin_sig, &new_dkp[cnt]->priv, true, bp)); - } + } } perm = GNUNET_CRYPTO_random_permute (GNUNET_CRYPTO_QUALITY_NONCE, NUM_ROWS); - //BEGIN + // BEGIN FAILIF (GNUNET_OK != plugin->start (plugin->cls, "Transaction")); for (unsigned int j = 0; j < NUM_ROWS; j++) - { - union TALER_DenominationBlindingKeyP bks; - struct TALER_CoinSpendPublicKeyP coin_pub; - struct TALER_CoinPubHashP c_hash; - unsigned int k = (unsigned int)rand()%5; - unsigned int i = perm[j]; - if (i >= ROUNDS) - i = ROUNDS; /* throw-away slot, do not keep around */ - RND_BLK (&coin_pub); - RND_BLK (&c_hash); + { + union TALER_DenominationBlindingKeyP bks; + struct TALER_CoinSpendPublicKeyP coin_pub; + struct TALER_CoinPubHashP c_hash; + unsigned int k = (unsigned int) rand () % 5; + unsigned int i = perm[j]; + if (i >= ROUNDS) + i = ROUNDS; /* throw-away slot, do not keep around */ + RND_BLK (&coin_pub); + RND_BLK (&c_hash); - RND_BLK (&depos[i].coin.coin_pub); - TALER_denom_pub_hash (&new_dkp[k]->pub, - &depos[i].coin.denom_pub_hash); - GNUNET_assert (GNUNET_OK == - TALER_denom_sig_unblind (&depos[i].coin.denom_sig, - &ccoin->coin_sig, - &bks, - &c_hash, - &alg_values, - &new_dkp[k]->pub)); - { - /* ENSURE_COIN_KNOWN */ - uint64_t known_coin_id; - struct TALER_DenominationHashP dph; - struct TALER_AgeCommitmentHash agh; - bool zombie_required = false; - bool balance_ok; - FAILIF (TALER_EXCHANGEDB_CKS_ADDED != - plugin->ensure_coin_known (plugin->cls, - &depos[i].coin, - &known_coin_id, - &dph, - &agh)); - /**** INSERT REFRESH COMMITMENTS ****/ - refresh[i].coin = depos[i].coin; - RND_BLK (&refresh[i].coin_sig); - RND_BLK (&refresh[i].rc); - refresh[i].amount_with_fee = value; - refresh[i].noreveal_index = MELT_NOREVEAL_INDEX; - FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != - plugin->do_melt (plugin->cls, - NULL, - &refresh[i], - known_coin_id, - &zombie_required, - &balance_ok)); - FAILIF (! balance_ok); - FAILIF (zombie_required); - } - /**** INSERT REFRESH_REVEAL + TRANSFER_KEYS *****/ - RND_BLK (&tprivs); - RND_BLK (&tpub); - RND_BLK(&melt_serial_id); - FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != - plugin->insert_refresh_reveal (plugin->cls, - melt_serial_id, - MELT_NEW_COINS, - revealed_coins, - TALER_CNC_KAPPA - 1, - tprivs, - &tpub)); - if (ROUNDS == i) - TALER_denom_sig_free (&depos[i].coin.denom_sig); + RND_BLK (&depos[i].coin.coin_pub); + TALER_denom_pub_hash (&new_dkp[k]->pub, + &depos[i].coin.denom_pub_hash); + GNUNET_assert (GNUNET_OK == + TALER_denom_sig_unblind (&depos[i].coin.denom_sig, + &ccoin->coin_sig, + &bks, + &c_hash, + &alg_values, + &new_dkp[k]->pub)); + { + /* ENSURE_COIN_KNOWN */ + uint64_t known_coin_id; + struct TALER_DenominationHashP dph; + struct TALER_AgeCommitmentHashP agh; + bool zombie_required = false; + bool balance_ok; + FAILIF (TALER_EXCHANGEDB_CKS_ADDED != + plugin->ensure_coin_known (plugin->cls, + &depos[i].coin, + &known_coin_id, + &dph, + &agh)); + /**** INSERT REFRESH COMMITMENTS ****/ + refresh[i].coin = depos[i].coin; + RND_BLK (&refresh[i].coin_sig); + RND_BLK (&refresh[i].rc); + refresh[i].amount_with_fee = value; + refresh[i].noreveal_index = MELT_NOREVEAL_INDEX; + FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != + plugin->do_melt (plugin->cls, + NULL, + &refresh[i], + known_coin_id, + &zombie_required, + &balance_ok)); + FAILIF (! balance_ok); + FAILIF (zombie_required); } + /**** INSERT REFRESH_REVEAL + TRANSFER_KEYS *****/ + RND_BLK (&tprivs); + RND_BLK (&tpub); + RND_BLK (&melt_serial_id); + FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != + plugin->insert_refresh_reveal (plugin->cls, + melt_serial_id, + MELT_NEW_COINS, + revealed_coins, + TALER_CNC_KAPPA - 1, + tprivs, + &tpub)); + if (ROUNDS == i) + TALER_denom_sig_free (&depos[i].coin.denom_sig); + } /* End of benchmark setup */ - GNUNET_free(perm); + GNUNET_free (perm); // commit FAILIF (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS != plugin->commit (plugin->cls)); /**** CALL GET LINK DATA ****/ - for (unsigned int r=0; r< ROUNDS; r++) + for (unsigned int r = 0; r< ROUNDS; r++) { struct GNUNET_TIME_Absolute time; struct GNUNET_TIME_Relative duration; enum GNUNET_DB_QueryStatus qs; - time = GNUNET_TIME_absolute_get(); + time = GNUNET_TIME_absolute_get (); qs = plugin->get_link_data (plugin->cls, &refresh[r].coin.coin_pub, &handle_link_data_cb, @@ -441,7 +441,8 @@ run (void *cls) times = GNUNET_TIME_relative_add (times, duration); duration_sq = duration.rel_value_us * duration.rel_value_us; - GNUNET_assert (duration_sq / duration.rel_value_us == duration.rel_value_us); + GNUNET_assert (duration_sq / duration.rel_value_us == + duration.rel_value_us); GNUNET_assert (sqrs + duration_sq >= sqrs); sqrs += duration_sq; } @@ -456,15 +457,15 @@ run (void *cls) ROUNDS); avg_dbl = avg.rel_value_us; variance = sqrs - (avg_dbl * avg_dbl * ROUNDS); - fprintf(stdout, - "%8llu ± %6.0f\n", - (unsigned long long) avg.rel_value_us, - sqrt (variance / (ROUNDS-1))); + fprintf (stdout, + "%8llu ± %6.0f\n", + (unsigned long long) avg.rel_value_us, + sqrt (variance / (ROUNDS - 1))); } result = 0; drop: GNUNET_break (GNUNET_OK == - plugin->drop_tables (plugin->cls)); + plugin->drop_tables (plugin->cls)); cleanup: if (NULL != dkp) destroy_denom_key_pair (dkp); @@ -484,13 +485,13 @@ cleanup: cnt++) destroy_denom_key_pair (new_dkp[cnt]); GNUNET_free (new_dkp); - for (unsigned int i=0; i< ROUNDS; i++) - { - TALER_denom_sig_free (&depos[i].coin.denom_sig); - } - GNUNET_free(depos); - GNUNET_free(ref); - GNUNET_free(refresh); + for (unsigned int i = 0; i< ROUNDS; i++) + { + TALER_denom_sig_free (&depos[i].coin.denom_sig); + } + GNUNET_free (depos); + GNUNET_free (ref); + GNUNET_free (refresh); dkp = NULL; TALER_EXCHANGEDB_plugin_unload (plugin); plugin = NULL; diff --git a/src/exchangedb/test_exchangedb_populate_ready_deposit.c b/src/exchangedb/test_exchangedb_populate_ready_deposit.c index 49b1bf5d2..4e90918df 100644 --- a/src/exchangedb/test_exchangedb_populate_ready_deposit.c +++ b/src/exchangedb/test_exchangedb_populate_ready_deposit.c @@ -37,7 +37,7 @@ static int result; */ #define FAILIF(cond) \ do { \ - if (! (cond)) {break;} \ + if (! (cond)) {break;} \ GNUNET_break (0); \ goto drop; \ } while (0) @@ -183,8 +183,6 @@ create_denom_key_pair (unsigned int size, } - - /** * Main function that will be run by the scheduler. * @@ -201,19 +199,19 @@ run (void *cls) struct TALER_EXCHANGEDB_CollectableBlindcoin cbc; struct TALER_DenominationPublicKey *new_denom_pubs = NULL; struct GNUNET_TIME_Relative times = GNUNET_TIME_UNIT_ZERO; - unsigned long long sqrs=0; - struct TALER_EXCHANGEDB_Deposit *depos=NULL; - struct TALER_EXCHANGEDB_Refund *ref=NULL; + unsigned long long sqrs = 0; + struct TALER_EXCHANGEDB_Deposit *depos = NULL; + struct TALER_EXCHANGEDB_Refund *ref = NULL; unsigned int *perm; unsigned long long duration_sq; struct TALER_EXCHANGEDB_RefreshRevealedCoin *ccoin; struct TALER_ExchangeWithdrawValues alg_values = { .cipher = TALER_DENOMINATION_RSA - }; + }; - ref = GNUNET_new_array (ROUNDS +1, + ref = GNUNET_new_array (ROUNDS + 1, struct TALER_EXCHANGEDB_Refund); - depos = GNUNET_new_array (ROUNDS +1, + depos = GNUNET_new_array (ROUNDS + 1, struct TALER_EXCHANGEDB_Deposit); if (NULL == @@ -255,183 +253,183 @@ run (void *cls) GNUNET_assert (GNUNET_OK == TALER_string_to_amount (CURRENCY ":0.000010", &fees.refund)); - //DENOMINATION + // DENOMINATION { ZR_BLK (&cbc); - //PAIR KEY LIST + // PAIR KEY LIST new_dkp = GNUNET_new_array (MELT_NEW_COINS, - struct DenomKeyPair *); - //PUBLIC KEY LIST + struct DenomKeyPair *); + // PUBLIC KEY LIST new_denom_pubs = GNUNET_new_array (MELT_NEW_COINS, struct TALER_DenominationPublicKey); - //REFRESH REVEAL COIN LIST + // REFRESH REVEAL COIN LIST revealed_coins = GNUNET_new_array (MELT_NEW_COINS, struct TALER_EXCHANGEDB_RefreshRevealedCoin); for (unsigned int cnt = 0; cnt < MELT_NEW_COINS; cnt++) - { - struct GNUNET_TIME_Timestamp now; - struct TALER_BlindedRsaPlanchet *rp; - struct TALER_BlindedPlanchet *bp; + { + struct GNUNET_TIME_Timestamp now; + struct TALER_BlindedRsaPlanchet *rp; + struct TALER_BlindedPlanchet *bp; - now = GNUNET_TIME_timestamp_get (); - //5 KEY PAIR - new_dkp[cnt] = create_denom_key_pair (RSA_KEY_SIZE, - now, - &value, - &fees); - GNUNET_assert (NULL != new_dkp[cnt]); - new_denom_pubs[cnt] = new_dkp[cnt]->pub; - ccoin = &revealed_coins[cnt]; - bp = &ccoin->blinded_planchet; - bp->cipher = TALER_DENOMINATION_RSA; - rp = &bp->details.rsa_blinded_planchet; - rp->blinded_msg_size = 1 + (size_t) GNUNET_CRYPTO_random_u64 ( - GNUNET_CRYPTO_QUALITY_WEAK, - (RSA_KEY_SIZE / 8) - 1); - rp->blinded_msg = GNUNET_malloc (rp->blinded_msg_size); - GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, - rp->blinded_msg, - rp->blinded_msg_size); - TALER_denom_pub_hash (&new_dkp[cnt]->pub, - &ccoin->h_denom_pub); - ccoin->exchange_vals = alg_values; - TALER_coin_ev_hash (bp, - &ccoin->h_denom_pub, - &ccoin->coin_envelope_hash); - GNUNET_assert (GNUNET_OK == + now = GNUNET_TIME_timestamp_get (); + // 5 KEY PAIR + new_dkp[cnt] = create_denom_key_pair (RSA_KEY_SIZE, + now, + &value, + &fees); + GNUNET_assert (NULL != new_dkp[cnt]); + new_denom_pubs[cnt] = new_dkp[cnt]->pub; + ccoin = &revealed_coins[cnt]; + bp = &ccoin->blinded_planchet; + bp->cipher = TALER_DENOMINATION_RSA; + rp = &bp->details.rsa_blinded_planchet; + rp->blinded_msg_size = 1 + (size_t) GNUNET_CRYPTO_random_u64 ( + GNUNET_CRYPTO_QUALITY_WEAK, + (RSA_KEY_SIZE / 8) - 1); + rp->blinded_msg = GNUNET_malloc (rp->blinded_msg_size); + GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, + rp->blinded_msg, + rp->blinded_msg_size); + TALER_denom_pub_hash (&new_dkp[cnt]->pub, + &ccoin->h_denom_pub); + ccoin->exchange_vals = alg_values; + TALER_coin_ev_hash (bp, + &ccoin->h_denom_pub, + &ccoin->coin_envelope_hash); + GNUNET_assert (GNUNET_OK == TALER_denom_sign_blinded (&ccoin->coin_sig, &new_dkp[cnt]->priv, true, bp)); - GNUNET_assert (GNUNET_OK == - TALER_coin_ev_hash (bp, - &cbc.denom_pub_hash, - &cbc.h_coin_envelope)); - GNUNET_assert ( - GNUNET_OK == - TALER_denom_sign_blinded ( - &cbc.sig, - &new_dkp[cnt]->priv, - false, - bp)); - } + GNUNET_assert (GNUNET_OK == + TALER_coin_ev_hash (bp, + &cbc.denom_pub_hash, + &cbc.h_coin_envelope)); + GNUNET_assert ( + GNUNET_OK == + TALER_denom_sign_blinded ( + &cbc.sig, + &new_dkp[cnt]->priv, + false, + bp)); + } } perm = GNUNET_CRYPTO_random_permute (GNUNET_CRYPTO_QUALITY_NONCE, NUM_ROWS); - //BEGIN + // BEGIN FAILIF (GNUNET_OK != plugin->start (plugin->cls, "Transaction")); for (unsigned int j = 0; j < NUM_ROWS; j++) + { + /*** NEED TO INSERT REFRESH COMMITMENTS + ENSURECOIN ***/ + union TALER_DenominationBlindingKeyP bks; + struct GNUNET_TIME_Timestamp deadline; + struct TALER_CoinSpendPublicKeyP coin_pub; + struct TALER_ReservePublicKeyP reserve_pub; + struct TALER_CoinPubHashP c_hash; + unsigned int k = (unsigned int) rand () % 5; + unsigned int i = perm[j]; + if (i >= ROUNDS) + i = ROUNDS; /* throw-away slot, do not keep around */ + depos[i].deposit_fee = fees.deposit; + RND_BLK (&coin_pub); + RND_BLK (&c_hash); + RND_BLK (&reserve_pub); + RND_BLK (&cbc.reserve_sig); + TALER_denom_pub_hash (&new_dkp[k]->pub, + &cbc.denom_pub_hash); + deadline = GNUNET_TIME_timestamp_get (); + RND_BLK (&depos[i].coin.coin_pub); + TALER_denom_pub_hash (&new_dkp[k]->pub, + &depos[i].coin.denom_pub_hash); + GNUNET_assert (GNUNET_OK == + TALER_denom_sig_unblind (&depos[i].coin.denom_sig, + &ccoin->coin_sig, + &bks, + &c_hash, + &alg_values, + &new_dkp[k]->pub)); + RND_BLK (&depos[i].merchant_pub); + RND_BLK (&depos[i].csig); + RND_BLK (&depos[i].h_contract_terms); + RND_BLK (&depos[i].wire_salt); + depos[i].amount_with_fee = value; + depos[i].refund_deadline = deadline; + depos[i].wire_deadline = deadline; + depos[i].receiver_wire_account = + "payto://iban/DE67830654080004822650?receiver-name=Test"; + TALER_merchant_wire_signature_hash ( + "payto://iban/DE67830654080004822650?receiver-name=Test", + &depos[i].wire_salt, + &h_wire_wt); + cbc.reserve_pub = reserve_pub; + cbc.amount_with_fee = value; + GNUNET_assert (GNUNET_OK == + TALER_amount_set_zero (CURRENCY, + &cbc.withdraw_fee)); { - /*** NEED TO INSERT REFRESH COMMITMENTS + ENSURECOIN ***/ - union TALER_DenominationBlindingKeyP bks; - struct GNUNET_TIME_Timestamp deadline; - struct TALER_CoinSpendPublicKeyP coin_pub; - struct TALER_ReservePublicKeyP reserve_pub; - struct TALER_CoinPubHashP c_hash; - unsigned int k = (unsigned int)rand()%5; - unsigned int i = perm[j]; - if (i >= ROUNDS) - i = ROUNDS; /* throw-away slot, do not keep around */ - depos[i].deposit_fee = fees.deposit; - RND_BLK (&coin_pub); - RND_BLK (&c_hash); - RND_BLK (&reserve_pub); - RND_BLK (&cbc.reserve_sig); - TALER_denom_pub_hash (&new_dkp[k]->pub, - &cbc.denom_pub_hash); - deadline = GNUNET_TIME_timestamp_get (); - RND_BLK (&depos[i].coin.coin_pub); - TALER_denom_pub_hash (&new_dkp[k]->pub, - &depos[i].coin.denom_pub_hash); - GNUNET_assert (GNUNET_OK == - TALER_denom_sig_unblind (&depos[i].coin.denom_sig, - &ccoin->coin_sig, - &bks, - &c_hash, - &alg_values, - &new_dkp[k]->pub)); - RND_BLK (&depos[i].merchant_pub); - RND_BLK (&depos[i].csig); - RND_BLK (&depos[i].h_contract_terms); - RND_BLK (&depos[i].wire_salt); - depos[i].amount_with_fee = value; - depos[i].refund_deadline = deadline; - depos[i].wire_deadline = deadline; - depos[i].receiver_wire_account = - "payto://iban/DE67830654080004822650?receiver-name=Test"; - TALER_merchant_wire_signature_hash ( - "payto://iban/DE67830654080004822650?receiver-name=Test", - &depos[i].wire_salt, - &h_wire_wt); - cbc.reserve_pub = reserve_pub; - cbc.amount_with_fee = value; - GNUNET_assert (GNUNET_OK == - TALER_amount_set_zero (CURRENCY, - &cbc.withdraw_fee)); - { - /* INSERT WIRE TARGETS */ - bool found; - bool nonce_ok; - bool balance_ok; - uint64_t ruuid; - struct GNUNET_TIME_Timestamp now; - now = GNUNET_TIME_timestamp_get (); - FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != - plugin->do_withdraw (plugin->cls, - NULL, - &cbc, - now, - &found, - &balance_ok, - &nonce_ok, - &ruuid)); - } - - { - /* ENSURE_COIN_KNOWN */ - uint64_t known_coin_id; - struct TALER_DenominationHashP dph; - struct TALER_AgeCommitmentHash agh; - FAILIF (TALER_EXCHANGEDB_CKS_ADDED != - plugin->ensure_coin_known (plugin->cls, - &depos[i].coin, - &known_coin_id, - &dph, - &agh)); - refresh.coin = depos[i].coin; - RND_BLK (&refresh.coin_sig); - RND_BLK (&refresh.rc); - refresh.amount_with_fee = value; - refresh.noreveal_index = MELT_NOREVEAL_INDEX; - } - /*STORE INTO DEPOSIT*/ - { - struct GNUNET_TIME_Timestamp now; - now = GNUNET_TIME_timestamp_get (); - FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != - plugin->insert_deposit (plugin->cls, - now, - &depos[i])); - } - if (ROUNDS == i) - TALER_denom_sig_free (&depos[i].coin.denom_sig); + /* INSERT WIRE TARGETS */ + bool found; + bool nonce_ok; + bool balance_ok; + uint64_t ruuid; + struct GNUNET_TIME_Timestamp now; + now = GNUNET_TIME_timestamp_get (); + FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != + plugin->do_withdraw (plugin->cls, + NULL, + &cbc, + now, + &found, + &balance_ok, + &nonce_ok, + &ruuid)); } + + { + /* ENSURE_COIN_KNOWN */ + uint64_t known_coin_id; + struct TALER_DenominationHashP dph; + struct TALER_AgeCommitmentHashP agh; + FAILIF (TALER_EXCHANGEDB_CKS_ADDED != + plugin->ensure_coin_known (plugin->cls, + &depos[i].coin, + &known_coin_id, + &dph, + &agh)); + refresh.coin = depos[i].coin; + RND_BLK (&refresh.coin_sig); + RND_BLK (&refresh.rc); + refresh.amount_with_fee = value; + refresh.noreveal_index = MELT_NOREVEAL_INDEX; + } + /*STORE INTO DEPOSIT*/ + { + struct GNUNET_TIME_Timestamp now; + now = GNUNET_TIME_timestamp_get (); + FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != + plugin->insert_deposit (plugin->cls, + now, + &depos[i])); + } + if (ROUNDS == i) + TALER_denom_sig_free (&depos[i].coin.denom_sig); + } /* End of benchmark setup */ - GNUNET_free(perm); + GNUNET_free (perm); // commit FAILIF (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS != plugin->commit (plugin->cls)); /**** CALL GET LINK DATA ****/ - for (unsigned int r=0; r< ROUNDS; r++) + for (unsigned int r = 0; r< ROUNDS; r++) { struct GNUNET_TIME_Absolute time; struct GNUNET_TIME_Relative duration; struct TALER_MerchantPublicKeyP merchant_pub; char *payto_uri; - time = GNUNET_TIME_absolute_get(); + time = GNUNET_TIME_absolute_get (); FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != plugin->get_ready_deposit (plugin->cls, 0, @@ -443,7 +441,8 @@ run (void *cls) times = GNUNET_TIME_relative_add (times, duration); duration_sq = duration.rel_value_us * duration.rel_value_us; - GNUNET_assert (duration_sq / duration.rel_value_us == duration.rel_value_us); + GNUNET_assert (duration_sq / duration.rel_value_us == + duration.rel_value_us); GNUNET_assert (sqrs + duration_sq >= sqrs); sqrs += duration_sq; } @@ -458,15 +457,15 @@ run (void *cls) ROUNDS); avg_dbl = avg.rel_value_us; variance = sqrs - (avg_dbl * avg_dbl * ROUNDS); - fprintf(stdout, - "%8llu ± %6.0f\n", - (unsigned long long) avg.rel_value_us, - sqrt (variance / (ROUNDS-1))); + fprintf (stdout, + "%8llu ± %6.0f\n", + (unsigned long long) avg.rel_value_us, + sqrt (variance / (ROUNDS - 1))); } result = 0; drop: GNUNET_break (GNUNET_OK == - plugin->drop_tables (plugin->cls)); + plugin->drop_tables (plugin->cls)); cleanup: if (NULL != revealed_coins) { @@ -484,12 +483,12 @@ cleanup: cnt++) destroy_denom_key_pair (new_dkp[cnt]); GNUNET_free (new_dkp); - for (unsigned int i=0; i< ROUNDS ; i++) - { - TALER_denom_sig_free (&depos[i].coin.denom_sig); - } - GNUNET_free(depos); - GNUNET_free(ref); + for (unsigned int i = 0; i< ROUNDS; i++) + { + TALER_denom_sig_free (&depos[i].coin.denom_sig); + } + GNUNET_free (depos); + GNUNET_free (ref); TALER_EXCHANGEDB_plugin_unload (plugin); plugin = NULL; } diff --git a/src/exchangedb/test_exchangedb_populate_table.c b/src/exchangedb/test_exchangedb_populate_table.c index face454fd..6f0845c41 100644 --- a/src/exchangedb/test_exchangedb_populate_table.c +++ b/src/exchangedb/test_exchangedb_populate_table.c @@ -36,7 +36,7 @@ static int result; */ #define FAILIF(cond) \ do { \ - if (! (cond)) {break;} \ + if (! (cond)) {break;} \ GNUNET_break (0); \ goto drop; \ } while (0) @@ -172,6 +172,8 @@ create_denom_key_pair (unsigned int size, } return dkp; } + + /** * Callback invoked with information about refunds applicable * to a particular coin. @@ -209,7 +211,7 @@ run (void *cls) const uint32_t num_partitions = 10; struct DenomKeyPair *dkp = NULL; struct GNUNET_TIME_Timestamp ts; - struct TALER_EXCHANGEDB_Deposit *depos=NULL; + struct TALER_EXCHANGEDB_Deposit *depos = NULL; struct GNUNET_TIME_Timestamp deadline; struct TALER_Amount value; union TALER_DenominationBlindingKeyP bks; @@ -217,18 +219,18 @@ run (void *cls) struct TALER_EXCHANGEDB_CollectableBlindcoin cbc; struct TALER_ExchangeWithdrawValues alg_values = { .cipher = TALER_DENOMINATION_RSA - }; + }; struct GNUNET_TIME_Relative times = GNUNET_TIME_UNIT_ZERO; unsigned long long sqrs = 0; - struct TALER_EXCHANGEDB_Refund *ref=NULL; + struct TALER_EXCHANGEDB_Refund *ref = NULL; unsigned int *perm; unsigned long long duration_sq; struct TALER_CoinSpendPublicKeyP coin_pub; struct TALER_EXCHANGEDB_RefreshRevealedCoin *ccoin; struct TALER_DenominationPublicKey *new_denom_pubs = NULL; - ref = GNUNET_new_array (ROUNDS +1, + ref = GNUNET_new_array (ROUNDS + 1, struct TALER_EXCHANGEDB_Refund); - depos = GNUNET_new_array (ROUNDS +1, + depos = GNUNET_new_array (ROUNDS + 1, struct TALER_EXCHANGEDB_Deposit); ZR_BLK (&cbc); @@ -276,66 +278,66 @@ run (void *cls) ts = GNUNET_TIME_timestamp_get (); deadline = GNUNET_TIME_timestamp_get (); - //DENOMINATION + // DENOMINATION { - //PAIR KEY LIST + // PAIR KEY LIST new_dkp = GNUNET_new_array (MELT_NEW_COINS, - struct DenomKeyPair *); - //PUBLIC KEY LIST + struct DenomKeyPair *); + // PUBLIC KEY LIST new_denom_pubs = GNUNET_new_array (MELT_NEW_COINS, struct TALER_DenominationPublicKey); - //REFRESH REVEAL COIN LIST + // REFRESH REVEAL COIN LIST revealed_coins = GNUNET_new_array (MELT_NEW_COINS, struct TALER_EXCHANGEDB_RefreshRevealedCoin); for (unsigned int cnt = 0; cnt < MELT_NEW_COINS; cnt++) - { - struct GNUNET_TIME_Timestamp now; - struct TALER_BlindedRsaPlanchet *rp; - struct TALER_BlindedPlanchet *bp; + { + struct GNUNET_TIME_Timestamp now; + struct TALER_BlindedRsaPlanchet *rp; + struct TALER_BlindedPlanchet *bp; - now = GNUNET_TIME_timestamp_get (); - //5 KEY PAIR - new_dkp[cnt] = create_denom_key_pair (RSA_KEY_SIZE, - now, - &value, - &fees); - GNUNET_assert (NULL != new_dkp[cnt]); - new_denom_pubs[cnt] = new_dkp[cnt]->pub; - ccoin = &revealed_coins[cnt]; - bp = &ccoin->blinded_planchet; - bp->cipher = TALER_DENOMINATION_RSA; - rp = &bp->details.rsa_blinded_planchet; - rp->blinded_msg_size = 1 + (size_t) GNUNET_CRYPTO_random_u64 ( - GNUNET_CRYPTO_QUALITY_WEAK, - (RSA_KEY_SIZE / 8) - 1); - rp->blinded_msg = GNUNET_malloc (rp->blinded_msg_size); - GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, - rp->blinded_msg, - rp->blinded_msg_size); - TALER_denom_pub_hash (&new_dkp[cnt]->pub, - &ccoin->h_denom_pub); - ccoin->exchange_vals = alg_values; - TALER_coin_ev_hash (bp, - &ccoin->h_denom_pub, - &ccoin->coin_envelope_hash); - GNUNET_assert (GNUNET_OK == + now = GNUNET_TIME_timestamp_get (); + // 5 KEY PAIR + new_dkp[cnt] = create_denom_key_pair (RSA_KEY_SIZE, + now, + &value, + &fees); + GNUNET_assert (NULL != new_dkp[cnt]); + new_denom_pubs[cnt] = new_dkp[cnt]->pub; + ccoin = &revealed_coins[cnt]; + bp = &ccoin->blinded_planchet; + bp->cipher = TALER_DENOMINATION_RSA; + rp = &bp->details.rsa_blinded_planchet; + rp->blinded_msg_size = 1 + (size_t) GNUNET_CRYPTO_random_u64 ( + GNUNET_CRYPTO_QUALITY_WEAK, + (RSA_KEY_SIZE / 8) - 1); + rp->blinded_msg = GNUNET_malloc (rp->blinded_msg_size); + GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, + rp->blinded_msg, + rp->blinded_msg_size); + TALER_denom_pub_hash (&new_dkp[cnt]->pub, + &ccoin->h_denom_pub); + ccoin->exchange_vals = alg_values; + TALER_coin_ev_hash (bp, + &ccoin->h_denom_pub, + &ccoin->coin_envelope_hash); + GNUNET_assert (GNUNET_OK == TALER_denom_sign_blinded (&ccoin->coin_sig, &new_dkp[cnt]->priv, true, bp)); - GNUNET_assert (GNUNET_OK == - TALER_coin_ev_hash (bp, - &cbc.denom_pub_hash, - &cbc.h_coin_envelope)); - GNUNET_assert ( - GNUNET_OK == - TALER_denom_sign_blinded ( - &cbc.sig, - &new_dkp[cnt]->priv, - false, - bp)); - } + GNUNET_assert (GNUNET_OK == + TALER_coin_ev_hash (bp, + &cbc.denom_pub_hash, + &cbc.h_coin_envelope)); + GNUNET_assert ( + GNUNET_OK == + TALER_denom_sign_blinded ( + &cbc.sig, + &new_dkp[cnt]->priv, + false, + bp)); + } } perm = GNUNET_CRYPTO_random_permute (GNUNET_CRYPTO_QUALITY_NONCE, @@ -344,10 +346,10 @@ run (void *cls) FAILIF (GNUNET_OK != plugin->start (plugin->cls, "Transaction")); - for (unsigned int j=0; j< NUM_ROWS; j++) + for (unsigned int j = 0; j< NUM_ROWS; j++) { unsigned int i = perm[j]; - unsigned int k = (unsigned int)rand()%5; + unsigned int k = (unsigned int) rand () % 5; if (i >= ROUNDS) i = ROUNDS; /* throw-away slot, do not keep around */ RND_BLK (&coin_pub); @@ -375,15 +377,15 @@ run (void *cls) depos[i].receiver_wire_account = "payto://iban/DE67830654080004822650?receiver-name=Test"; TALER_merchant_wire_signature_hash ( - "payto://iban/DE67830654080004822650?receiver-name=Test", - &depos[i].wire_salt, - &h_wire_wt); + "payto://iban/DE67830654080004822650?receiver-name=Test", + &depos[i].wire_salt, + &h_wire_wt); depos[i].timestamp = ts; - uint64_t known_coin_id; - {//ENSURE_COIN_KNOWN + uint64_t known_coin_id; + {// ENSURE_COIN_KNOWN struct TALER_DenominationHashP dph; - struct TALER_AgeCommitmentHash agh; + struct TALER_AgeCommitmentHashP agh; FAILIF (TALER_EXCHANGEDB_CKS_ADDED != plugin->ensure_coin_known (plugin->cls, &depos[i].coin, @@ -409,7 +411,7 @@ run (void *cls) bool conflict; ref[i].coin = depos[i].coin; ref[i].details.merchant_pub = depos[i].merchant_pub; - RND_BLK(&ref[i].details.merchant_sig); + RND_BLK (&ref[i].details.merchant_sig); ref[i].details.h_contract_terms = depos[i].h_contract_terms; ref[i].coin.coin_pub = depos[i].coin.coin_pub; ref[i].details.rtransaction_id = i; @@ -454,7 +456,8 @@ run (void *cls) times = GNUNET_TIME_relative_add (times, duration); duration_sq = duration.rel_value_us * duration.rel_value_us; - GNUNET_assert (duration_sq / duration.rel_value_us == duration.rel_value_us); + GNUNET_assert (duration_sq / duration.rel_value_us == + duration.rel_value_us); GNUNET_assert (sqrs + duration_sq >= sqrs); sqrs += duration_sq; } @@ -468,15 +471,15 @@ run (void *cls) ROUNDS); avg_dbl = avg.rel_value_us; variance = sqrs - (avg_dbl * avg_dbl * ROUNDS); - fprintf(stdout, - "%8llu ± %6.0f\n", - (unsigned long long) avg.rel_value_us, - sqrt (variance / (ROUNDS-1))); + fprintf (stdout, + "%8llu ± %6.0f\n", + (unsigned long long) avg.rel_value_us, + sqrt (variance / (ROUNDS - 1))); } result = 0; drop: GNUNET_break (GNUNET_OK == - plugin->drop_tables (plugin->cls)); + plugin->drop_tables (plugin->cls)); cleanup: if (NULL != dkp) destroy_denom_key_pair (dkp); @@ -496,12 +499,12 @@ cleanup: cnt++) destroy_denom_key_pair (new_dkp[cnt]); GNUNET_free (new_dkp); - for (unsigned int i=0; i< ROUNDS +1 ; i++) - { - TALER_denom_sig_free (&depos[i].coin.denom_sig); - } - GNUNET_free(depos); - GNUNET_free(ref); + for (unsigned int i = 0; i< ROUNDS + 1; i++) + { + TALER_denom_sig_free (&depos[i].coin.denom_sig); + } + GNUNET_free (depos); + GNUNET_free (ref); dkp = NULL; TALER_EXCHANGEDB_plugin_unload (plugin); plugin = NULL; diff --git a/src/include/taler_crypto_lib.h b/src/include/taler_crypto_lib.h index f5e4ab627..73aac95b5 100644 --- a/src/include/taler_crypto_lib.h +++ b/src/include/taler_crypto_lib.h @@ -1259,13 +1259,13 @@ struct TALER_AgeAttestation #endif }; -extern const struct TALER_AgeCommitmentHash TALER_ZeroAgeCommitmentHash; +extern const struct TALER_AgeCommitmentHashP TALER_ZeroAgeCommitmentHash; #define TALER_AgeCommitmentHash_isNullOrZero(ph) ((NULL == ph) || \ (0 == memcmp (ph, \ & \ TALER_ZeroAgeCommitmentHash, \ sizeof(struct \ - TALER_AgeCommitmentHash)))) + TALER_AgeCommitmentHashP)))) /** * @brief Type of public signing keys for verifying blindly signed coins. @@ -1448,7 +1448,7 @@ struct TALER_CoinPublicInfo * Hash of the age commitment. If no age commitment was provided, it must be * set to all zeroes. */ - struct TALER_AgeCommitmentHash h_age_commitment; + struct TALER_AgeCommitmentHashP h_age_commitment; /** * True, if age commitment is not applicable. @@ -1624,7 +1624,7 @@ TALER_denom_sig_free (struct TALER_DenominationSignature *denom_sig); enum GNUNET_GenericReturnValue TALER_denom_blind (const struct TALER_DenominationPublicKey *dk, const union TALER_DenominationBlindingKeyP *coin_bks, - const struct TALER_AgeCommitmentHash *age_commitment_hash, + const struct TALER_AgeCommitmentHashP *age_commitment_hash, const struct TALER_CoinSpendPublicKeyP *coin_pub, const struct TALER_ExchangeWithdrawValues *alg_values, struct TALER_CoinPubHashP *c_hash, @@ -1873,7 +1873,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, + const struct TALER_AgeCommitmentHashP *age_commitment_hash, struct TALER_CoinPubHashP *coin_h); @@ -1928,7 +1928,7 @@ struct TALER_FreshCoin /** * Optional hash of an age commitment bound to this coin, maybe NULL. */ - const struct TALER_AgeCommitmentHash *h_age_commitment; + const struct TALER_AgeCommitmentHashP *h_age_commitment; }; @@ -2111,7 +2111,7 @@ TALER_planchet_prepare (const struct TALER_DenominationPublicKey *dk, const struct TALER_ExchangeWithdrawValues *alg_values, const union TALER_DenominationBlindingKeyP *bks, const struct TALER_CoinSpendPrivateKeyP *coin_priv, - const struct TALER_AgeCommitmentHash *ach, + const struct TALER_AgeCommitmentHashP *ach, struct TALER_CoinPubHashP *c_hash, struct TALER_PlanchetDetail *pd); @@ -2155,7 +2155,7 @@ TALER_planchet_to_coin ( const struct TALER_BlindedDenominationSignature *blind_sig, const union TALER_DenominationBlindingKeyP *bks, const struct TALER_CoinSpendPrivateKeyP *coin_priv, - const struct TALER_AgeCommitmentHash *ach, + const struct TALER_AgeCommitmentHashP *ach, const struct TALER_CoinPubHashP *c_hash, const struct TALER_ExchangeWithdrawValues *alg_values, struct TALER_FreshCoin *coin); @@ -3110,7 +3110,7 @@ TALER_wallet_purse_deposit_sign ( const struct TALER_PurseContractPublicKeyP *purse_pub, const struct TALER_Amount *amount, const struct TALER_DenominationHashP *h_denom_pub, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_CoinSpendPrivateKeyP *coin_priv, struct TALER_CoinSpendSignatureP *coin_sig); @@ -3133,7 +3133,7 @@ TALER_wallet_purse_deposit_verify ( const struct TALER_PurseContractPublicKeyP *purse_pub, const struct TALER_Amount *amount, const struct TALER_DenominationHashP *h_denom_pub, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_CoinSpendPublicKeyP *coin_pub, const struct TALER_CoinSpendSignatureP *coin_sig); @@ -3469,7 +3469,7 @@ TALER_wallet_deposit_sign ( const struct TALER_Amount *deposit_fee, const struct TALER_MerchantWireHashP *h_wire, const struct TALER_PrivateContractHashP *h_contract_terms, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_ExtensionPolicyHashP *h_policy, const struct TALER_DenominationHashP *h_denom_pub, struct GNUNET_TIME_Timestamp wallet_timestamp, @@ -3502,7 +3502,7 @@ TALER_wallet_deposit_verify ( const struct TALER_Amount *deposit_fee, const struct TALER_MerchantWireHashP *h_wire, const struct TALER_PrivateContractHashP *h_contract_terms, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_ExtensionPolicyHashP *h_policy, const struct TALER_DenominationHashP *h_denom_pub, struct GNUNET_TIME_Timestamp wallet_timestamp, @@ -3529,7 +3529,7 @@ TALER_wallet_melt_sign ( const struct TALER_Amount *melt_fee, const struct TALER_RefreshCommitmentP *rc, const struct TALER_DenominationHashP *h_denom_pub, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_CoinSpendPrivateKeyP *coin_priv, struct TALER_CoinSpendSignatureP *coin_sig); @@ -3552,7 +3552,7 @@ TALER_wallet_melt_verify ( const struct TALER_Amount *melt_fee, const struct TALER_RefreshCommitmentP *rc, const struct TALER_DenominationHashP *h_denom_pub, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_CoinSpendPublicKeyP *coin_pub, const struct TALER_CoinSpendSignatureP *coin_sig); @@ -5687,7 +5687,7 @@ struct TALER_AgeCommitmentProof void TALER_age_commitment_hash ( const struct TALER_AgeCommitment *commitment, - struct TALER_AgeCommitmentHash *hash); + struct TALER_AgeCommitmentHashP *hash); /** diff --git a/src/include/taler_exchange_service.h b/src/include/taler_exchange_service.h index bc98e5329..6a0fb73ec 100644 --- a/src/include/taler_exchange_service.h +++ b/src/include/taler_exchange_service.h @@ -844,7 +844,7 @@ struct TALER_EXCHANGE_CoinDepositDetail /** * Hash over the age commitment of the coin. */ - struct TALER_AgeCommitmentHash h_age_commitment; + struct TALER_AgeCommitmentHashP h_age_commitment; /** * The coin’s public key. @@ -2155,7 +2155,7 @@ struct TALER_EXCHANGE_WithdrawCoinInput /** * Age commitment for the coin. */ - const struct TALER_AgeCommitmentHash *ach; + const struct TALER_AgeCommitmentHashP *ach; }; @@ -2579,7 +2579,7 @@ struct TALER_EXCHANGE_RefreshData * might be NULL. */ const struct TALER_AgeCommitmentProof *melt_age_commitment_proof; - const struct TALER_AgeCommitmentHash *melt_h_age_commitment; + const struct TALER_AgeCommitmentHashP *melt_h_age_commitment; /** * amount specifying how much the coin will contribute to the melt @@ -2752,7 +2752,7 @@ struct TALER_EXCHANGE_RevealedCoinInfo * Age commitment and its hash of the coin, might be NULL. */ struct TALER_AgeCommitmentProof *age_commitment_proof; - struct TALER_AgeCommitmentHash *h_age_commitment; + struct TALER_AgeCommitmentHashP *h_age_commitment; /** * Blinding keys used to blind the fresh coin. @@ -2896,7 +2896,7 @@ struct TALER_EXCHANGE_LinkedCoinInfo * Age commitment and its hash, if applicable. Might be NULL. */ struct TALER_AgeCommitmentProof *age_commitment_proof; - struct TALER_AgeCommitmentHash *h_age_commitment; + struct TALER_AgeCommitmentHashP *h_age_commitment; /** * Master secret of this coin. diff --git a/src/include/taler_exchangedb_plugin.h b/src/include/taler_exchangedb_plugin.h index 2e9ac73e3..f59916ef2 100644 --- a/src/include/taler_exchangedb_plugin.h +++ b/src/include/taler_exchangedb_plugin.h @@ -391,7 +391,7 @@ struct TALER_EXCHANGEDB_TableData struct { struct TALER_CoinSpendPublicKeyP coin_pub; - struct TALER_AgeCommitmentHash age_hash; + struct TALER_AgeCommitmentHashP age_hash; uint64_t denominations_serial; struct TALER_DenominationSignature denom_sig; } known_coins; @@ -1668,7 +1668,7 @@ struct TALER_EXCHANGEDB_DepositListEntry * Age commitment hash, if applicable to the denomination. Should be all * zeroes if age commitment is not applicable to the denonimation. */ - struct TALER_AgeCommitmentHash h_age_commitment; + struct TALER_AgeCommitmentHashP h_age_commitment; /** * true, if age commitment is not applicable @@ -1946,7 +1946,7 @@ struct TALER_EXCHANGEDB_PurseDepositListEntry * Hash of the age commitment used to sign the coin, if age restriction was * applicable to the denomination. */ - struct TALER_AgeCommitmentHash h_age_commitment; + struct TALER_AgeCommitmentHashP h_age_commitment; /** * Set to true if the coin was refunded. @@ -2053,7 +2053,7 @@ struct TALER_EXCHANGEDB_PurseDeposit * applicable to the denomination. May be all zeroes if no age restriction * applies. */ - struct TALER_AgeCommitmentHash h_age_commitment; + struct TALER_AgeCommitmentHashP h_age_commitment; /** * Set to true if @e h_age_commitment is not available. @@ -2533,7 +2533,7 @@ typedef enum GNUNET_GenericReturnValue void *cls, uint64_t rowid, const struct TALER_DenominationPublicKey *denom_pub, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_CoinSpendPublicKeyP *coin_pub, const struct TALER_CoinSpendSignatureP *coin_sig, const struct TALER_Amount *amount_with_fee, @@ -4019,7 +4019,7 @@ struct TALER_EXCHANGEDB_Plugin const struct TALER_CoinPublicInfo *coin, uint64_t *known_coin_id, struct TALER_DenominationHashP *denom_pub_hash, - struct TALER_AgeCommitmentHash *age_hash); + struct TALER_AgeCommitmentHashP *age_hash); /** @@ -6105,7 +6105,7 @@ struct TALER_EXCHANGEDB_Plugin const struct TALER_CoinSpendPublicKeyP *coin_pub, struct TALER_Amount *amount, struct TALER_DenominationHashP *h_denom_pub, - struct TALER_AgeCommitmentHash *phac, + struct TALER_AgeCommitmentHashP *phac, struct TALER_CoinSpendSignatureP *coin_sig, char **partner_url); diff --git a/src/include/taler_testing_lib.h b/src/include/taler_testing_lib.h index a2df5c33f..a785eb28c 100644 --- a/src/include/taler_testing_lib.h +++ b/src/include/taler_testing_lib.h @@ -2958,7 +2958,7 @@ TALER_TESTING_get_trait (const struct TALER_TESTING_Trait *traits, op (deposit_fee_amount, const struct TALER_Amount) \ op (age_commitment, const struct TALER_AgeCommitment) \ op (age_commitment_proof, const struct TALER_AgeCommitmentProof) \ - op (h_age_commitment, const struct TALER_AgeCommitmentHash) \ + op (h_age_commitment, const struct TALER_AgeCommitmentHashP) \ op (reserve_history, const struct TALER_EXCHANGE_ReserveHistoryEntry) \ op (planchet_secrets, const struct TALER_PlanchetMasterSecretP) \ op (exchange_wd_value, const struct TALER_ExchangeWithdrawValues) \ diff --git a/src/lib/exchange_api_batch_withdraw.c b/src/lib/exchange_api_batch_withdraw.c index 9bb158f87..a03fe85ca 100644 --- a/src/lib/exchange_api_batch_withdraw.c +++ b/src/lib/exchange_api_batch_withdraw.c @@ -51,7 +51,7 @@ struct CoinData /** * Age commitment for the coin. */ - const struct TALER_AgeCommitmentHash *ach; + const struct TALER_AgeCommitmentHashP *ach; /** * blinding secret diff --git a/src/lib/exchange_api_common.c b/src/lib/exchange_api_common.c index b895bf9a8..f47a04e10 100644 --- a/src/lib/exchange_api_common.c +++ b/src/lib/exchange_api_common.c @@ -850,7 +850,7 @@ help_deposit (struct CoinHistoryParseContext *pc, struct TALER_MerchantPublicKeyP merchant_pub; struct GNUNET_TIME_Timestamp refund_deadline = {0}; struct TALER_CoinSpendSignatureP sig; - struct TALER_AgeCommitmentHash hac; + struct TALER_AgeCommitmentHashP hac; bool no_hac; struct TALER_Amount deposit_fee; struct GNUNET_JSON_Specification spec[] = { @@ -938,7 +938,7 @@ help_melt (struct CoinHistoryParseContext *pc, { struct TALER_CoinSpendSignatureP sig; struct TALER_RefreshCommitmentP rc; - struct TALER_AgeCommitmentHash h_age_commitment; + struct TALER_AgeCommitmentHashP h_age_commitment; bool no_hac; struct TALER_Amount melt_fee; struct GNUNET_JSON_Specification spec[] = { @@ -1292,7 +1292,7 @@ help_purse_deposit (struct CoinHistoryParseContext *pc, struct TALER_CoinSpendSignatureP coin_sig; const char *exchange_base_url; bool refunded; - struct TALER_AgeCommitmentHash phac = { 0 }; + struct TALER_AgeCommitmentHashP phac = { 0 }; struct GNUNET_JSON_Specification spec[] = { GNUNET_JSON_spec_fixed_auto ("purse_pub", &purse_pub), @@ -1758,7 +1758,7 @@ TALER_EXCHANGE_check_purse_coin_conflict_ ( const char *exchange_url, const json_t *proof, struct TALER_DenominationHashP *h_denom_pub, - struct TALER_AgeCommitmentHash *phac, + struct TALER_AgeCommitmentHashP *phac, struct TALER_CoinSpendPublicKeyP *coin_pub, struct TALER_CoinSpendSignatureP *coin_sig) { diff --git a/src/lib/exchange_api_common.h b/src/lib/exchange_api_common.h index 1b9ddce34..47b07d51f 100644 --- a/src/lib/exchange_api_common.h +++ b/src/lib/exchange_api_common.h @@ -87,7 +87,7 @@ TALER_EXCHANGE_check_purse_coin_conflict_ ( const char *exchange_url, const json_t *proof, struct TALER_DenominationHashP *h_denom_pub, - struct TALER_AgeCommitmentHash *phac, + struct TALER_AgeCommitmentHashP *phac, struct TALER_CoinSpendPublicKeyP *coin_pub, struct TALER_CoinSpendSignatureP *coin_sig); diff --git a/src/lib/exchange_api_link.c b/src/lib/exchange_api_link.c index 9e8625ed5..0bb494025 100644 --- a/src/lib/exchange_api_link.c +++ b/src/lib/exchange_api_link.c @@ -149,7 +149,7 @@ parse_link_coin (const struct TALER_EXCHANGE_LinkHandle *lh, if (NULL != lh->age_commitment_proof) { lci->age_commitment_proof = GNUNET_new (struct TALER_AgeCommitmentProof); - lci->h_age_commitment = GNUNET_new (struct TALER_AgeCommitmentHash); + lci->h_age_commitment = GNUNET_new (struct TALER_AgeCommitmentHashP); GNUNET_assert (GNUNET_OK == TALER_age_commitment_derive ( diff --git a/src/lib/exchange_api_purse_create_with_deposit.c b/src/lib/exchange_api_purse_create_with_deposit.c index a2618d639..d528c1666 100644 --- a/src/lib/exchange_api_purse_create_with_deposit.c +++ b/src/lib/exchange_api_purse_create_with_deposit.c @@ -57,7 +57,7 @@ struct Deposit /** * Age restriction hash for the coin. */ - struct TALER_AgeCommitmentHash ahac; + struct TALER_AgeCommitmentHashP ahac; /** * How much did we say the coin contributed. @@ -381,7 +381,7 @@ handle_purse_create_deposit_finished (void *cls, struct TALER_CoinSpendPublicKeyP coin_pub; struct TALER_CoinSpendSignatureP coin_sig; struct TALER_DenominationHashP h_denom_pub; - struct TALER_AgeCommitmentHash phac; + struct TALER_AgeCommitmentHashP phac; bool found = false; if (GNUNET_OK != @@ -594,7 +594,7 @@ TALER_EXCHANGE_purse_create_with_deposit ( const struct TALER_AgeCommitmentProof *acp = deposit->age_commitment_proof; struct Deposit *d = &pch->deposits[i]; json_t *jdeposit; - struct TALER_AgeCommitmentHash *aghp = NULL; + struct TALER_AgeCommitmentHashP *aghp = NULL; struct TALER_AgeAttestation attest; struct TALER_AgeAttestation *attestp = NULL; diff --git a/src/lib/exchange_api_purse_deposit.c b/src/lib/exchange_api_purse_deposit.c index f5a503b0b..936eef26a 100644 --- a/src/lib/exchange_api_purse_deposit.c +++ b/src/lib/exchange_api_purse_deposit.c @@ -57,7 +57,7 @@ struct Coin /** * Age restriction hash for the coin. */ - struct TALER_AgeCommitmentHash ahac; + struct TALER_AgeCommitmentHashP ahac; /** * How much did we say the coin contributed. @@ -240,7 +240,7 @@ handle_purse_deposit_finished (void *cls, struct TALER_CoinSpendPublicKeyP coin_pub; struct TALER_CoinSpendSignatureP coin_sig; struct TALER_DenominationHashP h_denom_pub; - struct TALER_AgeCommitmentHash phac; + struct TALER_AgeCommitmentHashP phac; bool found = false; if (GNUNET_OK != @@ -513,7 +513,7 @@ TALER_EXCHANGE_purse_deposit ( const struct TALER_AgeCommitmentProof *acp = deposit->age_commitment_proof; struct Coin *coin = &pch->coins[i]; json_t *jdeposit; - struct TALER_AgeCommitmentHash *achp = NULL; + struct TALER_AgeCommitmentHashP *achp = NULL; struct TALER_AgeAttestation attest; struct TALER_AgeAttestation *attestp = NULL; diff --git a/src/lib/exchange_api_refresh_common.c b/src/lib/exchange_api_refresh_common.c index 581e21152..efd3d21ed 100644 --- a/src/lib/exchange_api_refresh_common.c +++ b/src/lib/exchange_api_refresh_common.c @@ -168,7 +168,7 @@ TALER_EXCHANGE_get_melt_data_ ( union TALER_DenominationBlindingKeyP *bks = &fcd->bks[i]; struct TALER_PlanchetDetail pd; struct TALER_CoinPubHashP c_hash; - struct TALER_AgeCommitmentHash *ach = NULL; + struct TALER_AgeCommitmentHashP *ach = NULL; TALER_transfer_secret_to_planchet_secret (&trans_sec, j, @@ -187,7 +187,7 @@ TALER_EXCHANGE_get_melt_data_ ( { fcd->age_commitment_proof[i] = GNUNET_new (struct TALER_AgeCommitmentProof); - ach = GNUNET_new (struct TALER_AgeCommitmentHash); + ach = GNUNET_new (struct TALER_AgeCommitmentHashP); GNUNET_assert (GNUNET_OK == TALER_age_commitment_derive ( diff --git a/src/lib/exchange_api_refresh_common.h b/src/lib/exchange_api_refresh_common.h index c06824fec..b3e783954 100644 --- a/src/lib/exchange_api_refresh_common.h +++ b/src/lib/exchange_api_refresh_common.h @@ -57,7 +57,7 @@ struct MeltedCoin * age commitment was set. */ const struct TALER_AgeCommitmentProof *age_commitment_proof; - const struct TALER_AgeCommitmentHash *h_age_commitment; + const struct TALER_AgeCommitmentHashP *h_age_commitment; /** * Timestamp indicating when coins of this denomination become invalid. diff --git a/src/lib/exchange_api_refreshes_reveal.c b/src/lib/exchange_api_refreshes_reveal.c index cd2a1d1f4..c2fe16c03 100644 --- a/src/lib/exchange_api_refreshes_reveal.c +++ b/src/lib/exchange_api_refreshes_reveal.c @@ -168,7 +168,7 @@ refresh_reveal_ok (struct TALER_EXCHANGE_RefreshesRevealHandle *rrh, if (NULL != rci->age_commitment_proof) { - rci->h_age_commitment = GNUNET_new (struct TALER_AgeCommitmentHash); + rci->h_age_commitment = GNUNET_new (struct TALER_AgeCommitmentHashP); TALER_age_commitment_hash ( &rci->age_commitment_proof->commitment, rci->h_age_commitment); diff --git a/src/lib/exchange_api_refund.c b/src/lib/exchange_api_refund.c index 855b4fcc7..4a8f32106 100644 --- a/src/lib/exchange_api_refund.c +++ b/src/lib/exchange_api_refund.c @@ -234,7 +234,7 @@ verify_conflict_history_ok (struct TALER_EXCHANGE_RefundHandle *rh, struct TALER_Amount deposit_fee; struct TALER_MerchantWireHashP h_wire; struct TALER_PrivateContractHashP h_contract_terms; - struct TALER_AgeCommitmentHash h_age_commitment; + struct TALER_AgeCommitmentHashP h_age_commitment; bool no_hac; struct TALER_ExtensionPolicyHashP h_policy; bool no_h_policy; diff --git a/src/lib/exchange_api_reserves_open.c b/src/lib/exchange_api_reserves_open.c index 2b7ef0d90..3613d2718 100644 --- a/src/lib/exchange_api_reserves_open.c +++ b/src/lib/exchange_api_reserves_open.c @@ -510,8 +510,8 @@ TALER_EXCHANGE_reserves_open ( { const struct TALER_EXCHANGE_PurseDeposit *pd = &coin_payments[i]; const struct TALER_AgeCommitmentProof *acp = pd->age_commitment_proof; - struct TALER_AgeCommitmentHash ahac; - struct TALER_AgeCommitmentHash *achp = NULL; + struct TALER_AgeCommitmentHashP ahac; + struct TALER_AgeCommitmentHashP *achp = NULL; struct CoinData *cd = &roh->coins[i]; json_t *cp; diff --git a/src/lib/exchange_api_withdraw.c b/src/lib/exchange_api_withdraw.c index 62c042039..1de26aba9 100644 --- a/src/lib/exchange_api_withdraw.c +++ b/src/lib/exchange_api_withdraw.c @@ -91,7 +91,7 @@ struct TALER_EXCHANGE_WithdrawHandle /** * Hash of the age commitment for this coin, if applicable. Maybe NULL */ - const struct TALER_AgeCommitmentHash *ach; + const struct TALER_AgeCommitmentHashP *ach; /** * Denomination key we are withdrawing. diff --git a/src/testing/testing_api_cmd_batch_withdraw.c b/src/testing/testing_api_cmd_batch_withdraw.c index a5229ae9c..15eb85411 100644 --- a/src/testing/testing_api_cmd_batch_withdraw.c +++ b/src/testing/testing_api_cmd_batch_withdraw.c @@ -82,7 +82,7 @@ struct CoinState * its hash, respectivelly, NULL otherwise. */ struct TALER_AgeCommitmentProof *age_commitment_proof; - struct TALER_AgeCommitmentHash *h_age_commitment; + struct TALER_AgeCommitmentHashP *h_age_commitment; /** * Reserve history entry that corresponds to this coin. @@ -484,12 +484,12 @@ TALER_TESTING_cmd_batch_withdraw (const char *label, if (0 < age) { struct TALER_AgeCommitmentProof *acp; - struct TALER_AgeCommitmentHash *hac; + struct TALER_AgeCommitmentHashP *hac; struct GNUNET_HashCode seed; struct TALER_AgeMask mask; acp = GNUNET_new (struct TALER_AgeCommitmentProof); - hac = GNUNET_new (struct TALER_AgeCommitmentHash); + hac = GNUNET_new (struct TALER_AgeCommitmentHashP); mask = TALER_extensions_get_age_restriction_mask (); GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, &seed, diff --git a/src/testing/testing_api_cmd_deposit.c b/src/testing/testing_api_cmd_deposit.c index 16ac139f4..d11d526f1 100644 --- a/src/testing/testing_api_cmd_deposit.c +++ b/src/testing/testing_api_cmd_deposit.c @@ -289,7 +289,7 @@ deposit_run (void *cls, const struct TALER_CoinSpendPrivateKeyP *coin_priv; struct TALER_CoinSpendPublicKeyP coin_pub; const struct TALER_AgeCommitmentProof *age_commitment_proof = NULL; - struct TALER_AgeCommitmentHash h_age_commitment = {0}; + struct TALER_AgeCommitmentHashP h_age_commitment = {0}; const struct TALER_EXCHANGE_DenomPublicKey *denom_pub; const struct TALER_DenominationSignature *denom_pub_sig; struct TALER_CoinSpendSignatureP coin_sig; diff --git a/src/testing/testing_api_cmd_insert_deposit.c b/src/testing/testing_api_cmd_insert_deposit.c index 032ff72dc..2728eb7df 100644 --- a/src/testing/testing_api_cmd_insert_deposit.c +++ b/src/testing/testing_api_cmd_insert_deposit.c @@ -245,7 +245,7 @@ insert_deposit_run (void *cls, { uint64_t known_coin_id; struct TALER_DenominationHashP dph; - struct TALER_AgeCommitmentHash agh; + struct TALER_AgeCommitmentHashP agh; if ( (GNUNET_OK != ids->dbc->plugin->start (ids->dbc->plugin->cls, diff --git a/src/testing/testing_api_cmd_refresh.c b/src/testing/testing_api_cmd_refresh.c index 2aad77ce3..a6238edc6 100644 --- a/src/testing/testing_api_cmd_refresh.c +++ b/src/testing/testing_api_cmd_refresh.c @@ -75,7 +75,7 @@ struct TALER_TESTING_FreshCoinData * applicable. */ struct TALER_AgeCommitmentProof *age_commitment_proof; - struct TALER_AgeCommitmentHash *h_age_commitment; + struct TALER_AgeCommitmentHashP *h_age_commitment; /** * The blinding key (needed for recoup operations). @@ -1027,7 +1027,7 @@ melt_run (void *cls, struct TALER_Amount melt_amount; struct TALER_Amount fresh_amount; const struct TALER_AgeCommitmentProof *age_commitment_proof; - const struct TALER_AgeCommitmentHash *h_age_commitment; + const struct TALER_AgeCommitmentHashP *h_age_commitment; const struct TALER_DenominationSignature *melt_sig; const struct TALER_EXCHANGE_DenomPublicKey *melt_denom_pub; const struct TALER_TESTING_Command *coin_command; diff --git a/src/testing/testing_api_cmd_withdraw.c b/src/testing/testing_api_cmd_withdraw.c index 1bd3c187e..35ce343d5 100644 --- a/src/testing/testing_api_cmd_withdraw.c +++ b/src/testing/testing_api_cmd_withdraw.c @@ -142,7 +142,7 @@ struct WithdrawState * its hash, respectivelly, NULL otherwise. */ struct TALER_AgeCommitmentProof *age_commitment_proof; - struct TALER_AgeCommitmentHash *h_age_commitment; + struct TALER_AgeCommitmentHashP *h_age_commitment; /** * Reserve history entry that corresponds to this operation. @@ -581,12 +581,12 @@ TALER_TESTING_cmd_withdraw_amount (const char *label, if (0 < age) { struct TALER_AgeCommitmentProof *acp; - struct TALER_AgeCommitmentHash *hac; + struct TALER_AgeCommitmentHashP *hac; struct GNUNET_HashCode seed; struct TALER_AgeMask mask; acp = GNUNET_new (struct TALER_AgeCommitmentProof); - hac = GNUNET_new (struct TALER_AgeCommitmentHash); + hac = GNUNET_new (struct TALER_AgeCommitmentHashP); mask = TALER_extensions_get_age_restriction_mask (); GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, &seed, diff --git a/src/util/age_restriction.c b/src/util/age_restriction.c index f4ac9abea..8bc956a6f 100644 --- a/src/util/age_restriction.c +++ b/src/util/age_restriction.c @@ -27,7 +27,7 @@ void TALER_age_commitment_hash ( const struct TALER_AgeCommitment *commitment, - struct TALER_AgeCommitmentHash *ahash) + struct TALER_AgeCommitmentHashP *ahash) { struct GNUNET_HashContext *hash_context; struct GNUNET_HashCode hash; @@ -35,7 +35,7 @@ TALER_age_commitment_hash ( GNUNET_assert (NULL != ahash); if (NULL == commitment) { - memset (ahash, 0, sizeof(struct TALER_AgeCommitmentHash)); + memset (ahash, 0, sizeof(struct TALER_AgeCommitmentHashP)); return; } diff --git a/src/util/crypto.c b/src/util/crypto.c index 5cbba8135..e4fff983d 100644 --- a/src/util/crypto.c +++ b/src/util/crypto.c @@ -29,7 +29,7 @@ /** * Used in TALER_AgeCommitmentHash_isNullOrZero for comparison */ -const struct TALER_AgeCommitmentHash TALER_ZeroAgeCommitmentHash = {0}; +const struct TALER_AgeCommitmentHashP TALER_ZeroAgeCommitmentHash = {0}; /** * Function called by libgcrypt on serious errors. @@ -258,7 +258,7 @@ TALER_planchet_prepare (const struct TALER_DenominationPublicKey *dk, const struct TALER_ExchangeWithdrawValues *alg_values, const union TALER_DenominationBlindingKeyP *bks, const struct TALER_CoinSpendPrivateKeyP *coin_priv, - const struct TALER_AgeCommitmentHash *ach, + const struct TALER_AgeCommitmentHashP *ach, struct TALER_CoinPubHashP *c_hash, struct TALER_PlanchetDetail *pd ) @@ -299,7 +299,7 @@ TALER_planchet_to_coin ( const struct TALER_BlindedDenominationSignature *blind_sig, const union TALER_DenominationBlindingKeyP *bks, const struct TALER_CoinSpendPrivateKeyP *coin_priv, - const struct TALER_AgeCommitmentHash *ach, + const struct TALER_AgeCommitmentHashP *ach, const struct TALER_CoinPubHashP *c_hash, const struct TALER_ExchangeWithdrawValues *alg_values, struct TALER_FreshCoin *coin) @@ -412,7 +412,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, + const struct TALER_AgeCommitmentHashP *ach, struct TALER_CoinPubHashP *coin_h) { if (TALER_AgeCommitmentHash_isNullOrZero (ach)) @@ -427,7 +427,7 @@ TALER_coin_pub_hash (const struct TALER_CoinSpendPublicKeyP *coin_pub, /* Coin comes with age commitment. Take the hash of the age commitment * into account */ const size_t key_s = sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey); - const size_t age_s = sizeof(struct TALER_AgeCommitmentHash); + const size_t age_s = sizeof(struct TALER_AgeCommitmentHashP); char data[key_s + age_s]; GNUNET_memcpy (&data[0], diff --git a/src/util/denom.c b/src/util/denom.c index c1c3cdf5a..c9a2f059a 100644 --- a/src/util/denom.c +++ b/src/util/denom.c @@ -299,7 +299,7 @@ enum GNUNET_GenericReturnValue TALER_denom_blind ( const struct TALER_DenominationPublicKey *dk, const union TALER_DenominationBlindingKeyP *coin_bks, - const struct TALER_AgeCommitmentHash *ach, + const struct TALER_AgeCommitmentHashP *ach, const struct TALER_CoinSpendPublicKeyP *coin_pub, const struct TALER_ExchangeWithdrawValues *alg_values, struct TALER_CoinPubHashP *c_hash, diff --git a/src/util/test_crypto.c b/src/util/test_crypto.c index b1c3c8e8f..995d24d9d 100644 --- a/src/util/test_crypto.c +++ b/src/util/test_crypto.c @@ -124,12 +124,12 @@ test_planchets_rsa (uint8_t age) struct TALER_BlindedDenominationSignature blind_sig; struct TALER_FreshCoin coin; struct TALER_CoinPubHashP c_hash; - struct TALER_AgeCommitmentHash *ach = NULL; + struct TALER_AgeCommitmentHashP *ach = NULL; if (0 < age) { struct TALER_AgeCommitmentProof acp; - struct TALER_AgeCommitmentHash ah = {0}; + struct TALER_AgeCommitmentHashP ah = {0}; struct GNUNET_HashCode seed; GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, @@ -256,11 +256,11 @@ test_planchets_cs (uint8_t age) struct TALER_BlindedDenominationSignature blind_sig; struct TALER_FreshCoin coin; struct TALER_ExchangeWithdrawValues alg_values; - struct TALER_AgeCommitmentHash *ach = NULL; + struct TALER_AgeCommitmentHashP *ach = NULL; if (0 < age) { - struct TALER_AgeCommitmentHash ah = {0}; + struct TALER_AgeCommitmentHashP ah = {0}; struct TALER_AgeCommitmentProof acp; struct GNUNET_HashCode seed; diff --git a/src/util/test_helper_rsa.c b/src/util/test_helper_rsa.c index 1b67607ce..d47048f2a 100644 --- a/src/util/test_helper_rsa.c +++ b/src/util/test_helper_rsa.c @@ -269,7 +269,7 @@ test_signing (struct TALER_CRYPTO_RsaDenominationHelper *dh) bool success = false; struct TALER_PlanchetMasterSecretP ps; struct TALER_ExchangeWithdrawValues alg_values; - struct TALER_AgeCommitmentHash ach; + struct TALER_AgeCommitmentHashP ach; struct TALER_CoinPubHashP c_hash; struct TALER_CoinSpendPrivateKeyP coin_priv; union TALER_DenominationBlindingKeyP bks; @@ -458,7 +458,7 @@ test_batch_signing (struct TALER_CRYPTO_RsaDenominationHelper *dh, bool success = false; struct TALER_PlanchetMasterSecretP ps[batch_size]; struct TALER_ExchangeWithdrawValues alg_values[batch_size]; - struct TALER_AgeCommitmentHash ach[batch_size]; + struct TALER_AgeCommitmentHashP ach[batch_size]; struct TALER_CoinPubHashP c_hash[batch_size]; struct TALER_CoinSpendPrivateKeyP coin_priv[batch_size]; union TALER_DenominationBlindingKeyP bks[batch_size]; @@ -672,7 +672,7 @@ perf_signing (struct TALER_CRYPTO_RsaDenominationHelper *dh, struct GNUNET_TIME_Relative duration; struct TALER_PlanchetMasterSecretP ps; struct TALER_CoinSpendPrivateKeyP coin_priv; - struct TALER_AgeCommitmentHash ach; + struct TALER_AgeCommitmentHashP ach; union TALER_DenominationBlindingKeyP bks; struct TALER_ExchangeWithdrawValues alg_values; diff --git a/src/util/tv_age_restriction.c b/src/util/tv_age_restriction.c index 9fc2b4823..2b8502bd9 100644 --- a/src/util/tv_age_restriction.c +++ b/src/util/tv_age_restriction.c @@ -83,7 +83,7 @@ cp_to_j ( json_t *j_proof; json_t *j_pubs; json_t *j_privs; - struct TALER_AgeCommitmentHash hac = {0}; + struct TALER_AgeCommitmentHashP hac = {0}; char buf[256] = {0}; TALER_age_commitment_hash (&acp->commitment, &hac); diff --git a/src/util/wallet_signatures.c b/src/util/wallet_signatures.c index b74a9fead..c457668e9 100644 --- a/src/util/wallet_signatures.c +++ b/src/util/wallet_signatures.c @@ -46,7 +46,7 @@ struct TALER_DepositRequestPS * Hash over the age commitment that went into the coin. Maybe all zero, if * age commitment isn't applicable to the denomination. */ - struct TALER_AgeCommitmentHash h_age_commitment GNUNET_PACKED; + struct TALER_AgeCommitmentHashP h_age_commitment GNUNET_PACKED; /** * Hash over optional policy extension attributes shared with the exchange. @@ -119,7 +119,7 @@ TALER_wallet_deposit_sign ( const struct TALER_Amount *deposit_fee, const struct TALER_MerchantWireHashP *h_wire, const struct TALER_PrivateContractHashP *h_contract_terms, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_ExtensionPolicyHashP *h_policy, const struct TALER_DenominationHashP *h_denom_pub, const struct GNUNET_TIME_Timestamp wallet_timestamp, @@ -159,7 +159,7 @@ TALER_wallet_deposit_verify ( const struct TALER_Amount *deposit_fee, const struct TALER_MerchantWireHashP *h_wire, const struct TALER_PrivateContractHashP *h_contract_terms, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_ExtensionPolicyHashP *h_policy, const struct TALER_DenominationHashP *h_denom_pub, struct GNUNET_TIME_Timestamp wallet_timestamp, @@ -230,7 +230,7 @@ struct TALER_LinkDataPS /** * Hash of the age commitment, if applicable. Can be all zero */ - struct TALER_AgeCommitmentHash h_age_commitment; + struct TALER_AgeCommitmentHashP h_age_commitment; /** * Hash of the blinded new coin. @@ -426,7 +426,7 @@ struct TALER_RefreshMeltCoinAffirmationPS * the hash of the age commitment vector. It must be all zeroes if no age * commitment was provided. */ - struct TALER_AgeCommitmentHash h_age_commitment GNUNET_PACKED; + struct TALER_AgeCommitmentHashP h_age_commitment GNUNET_PACKED; /** * How much of the value of the coin should be melted? This amount @@ -458,7 +458,7 @@ TALER_wallet_melt_sign ( const struct TALER_Amount *melt_fee, const struct TALER_RefreshCommitmentP *rc, const struct TALER_DenominationHashP *h_denom_pub, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_CoinSpendPrivateKeyP *coin_priv, struct TALER_CoinSpendSignatureP *coin_sig) { @@ -490,7 +490,7 @@ TALER_wallet_melt_verify ( const struct TALER_Amount *melt_fee, const struct TALER_RefreshCommitmentP *rc, const struct TALER_DenominationHashP *h_denom_pub, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_CoinSpendPublicKeyP *coin_pub, const struct TALER_CoinSpendSignatureP *coin_sig) { @@ -1021,7 +1021,7 @@ struct TALER_PurseDepositPS * Hash over the age commitment that went into the coin. Maybe all zero, if * age commitment isn't applicable to the denomination. */ - struct TALER_AgeCommitmentHash h_age_commitment GNUNET_PACKED; + struct TALER_AgeCommitmentHashP h_age_commitment GNUNET_PACKED; /** * Purse to deposit funds into. @@ -1043,7 +1043,7 @@ TALER_wallet_purse_deposit_sign ( const struct TALER_PurseContractPublicKeyP *purse_pub, const struct TALER_Amount *amount, const struct TALER_DenominationHashP *h_denom_pub, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_CoinSpendPrivateKeyP *coin_priv, struct TALER_CoinSpendSignatureP *coin_sig) { @@ -1072,7 +1072,7 @@ TALER_wallet_purse_deposit_verify ( const struct TALER_PurseContractPublicKeyP *purse_pub, const struct TALER_Amount *amount, const struct TALER_DenominationHashP *h_denom_pub, - const struct TALER_AgeCommitmentHash *h_age_commitment, + const struct TALER_AgeCommitmentHashP *h_age_commitment, const struct TALER_CoinSpendPublicKeyP *coin_pub, const struct TALER_CoinSpendSignatureP *coin_sig) {