diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-04-20 01:50:26 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-04-20 01:50:26 +0200 |
commit | f693e25793f9e8f75b80b11b066ed209e8aa4c1c (patch) | |
tree | 07bd275d003080389d67ed142b7673bab469c40f /src/exchange-tools | |
parent | 1d8da4bf8442e4864e877a665c876d0cd5e03de8 (diff) | |
download | exchange-f693e25793f9e8f75b80b11b066ed209e8aa4c1c.tar.xz |
introduce refund fee
Diffstat (limited to 'src/exchange-tools')
-rw-r--r-- | src/exchange-tools/coins.conf | 1 | ||||
-rw-r--r-- | src/exchange-tools/taler-auditor-sign.c | 6 | ||||
-rw-r--r-- | src/exchange-tools/taler-exchange-keyup.c | 27 |
3 files changed, 33 insertions, 1 deletions
diff --git a/src/exchange-tools/coins.conf b/src/exchange-tools/coins.conf index 90bf7064c..a0a160773 100644 --- a/src/exchange-tools/coins.conf +++ b/src/exchange-tools/coins.conf @@ -22,4 +22,5 @@ # fee_withdraw = EUR:0.00 # fee_deposit = EUR:0.00 # fee_refresh = EUR:0.01 +# fee_refund = EUR:0.01 # rsa_keysize = 1024 diff --git a/src/exchange-tools/taler-auditor-sign.c b/src/exchange-tools/taler-auditor-sign.c index d5a3a9403..71c80f5ee 100644 --- a/src/exchange-tools/taler-auditor-sign.c +++ b/src/exchange-tools/taler-auditor-sign.c @@ -103,6 +103,12 @@ print_dk (const struct TALER_DenominationKeyValidityPS *dk) "Refresh fee: %s\n", s = TALER_amount_to_string (&a)); GNUNET_free (s); + TALER_amount_ntoh (&a, + &dk->fee_refund); + fprintf (stdout, + "Refund fee: %s\n", + s = TALER_amount_to_string (&a)); + GNUNET_free (s); fprintf (stdout, "Validity start time: %s\n", diff --git a/src/exchange-tools/taler-exchange-keyup.c b/src/exchange-tools/taler-exchange-keyup.c index 312b4010e..0cd9a30ca 100644 --- a/src/exchange-tools/taler-exchange-keyup.c +++ b/src/exchange-tools/taler-exchange-keyup.c @@ -79,6 +79,11 @@ struct CoinTypeNBOP struct TALER_AmountNBO fee_refresh; /** + * What is the fee charged for refunds? + */ + struct TALER_AmountNBO fee_refund; + + /** * Key size in NBO. */ uint32_t rsa_keysize; @@ -141,6 +146,11 @@ struct CoinTypeParams struct TALER_Amount fee_refresh; /** + * What is the fee charged for refunds? + */ + struct TALER_Amount fee_refund; + + /** * Time at which this coin is supposed to become valid. */ struct GNUNET_TIME_Absolute anchor; @@ -261,6 +271,8 @@ hash_coin_type (const struct CoinTypeParams *p, &p->fee_deposit); TALER_amount_hton (&p_nbo.fee_refresh, &p->fee_refresh); + TALER_amount_hton (&p_nbo.fee_refund, + &p->fee_refund); p_nbo.rsa_keysize = htonl (p->rsa_keysize); GNUNET_CRYPTO_hash (&p_nbo, sizeof (struct CoinTypeNBOP), @@ -707,6 +719,17 @@ get_cointype_params (const char *ct, "fee_refresh"); return GNUNET_SYSERR; } + if (GNUNET_OK != + TALER_config_get_denom (kcfg, + ct, + "fee_refund", + ¶ms->fee_refund)) + { + GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, + ct, + "fee_refund"); + return GNUNET_SYSERR; + } dir = get_cointype_dir (params); get_anchor (dir, @@ -756,6 +779,8 @@ create_denomkey_issue (const struct CoinTypeParams *params, ¶ms->fee_deposit); TALER_amount_hton (&dki->issue.properties.fee_refresh, ¶ms->fee_refresh); + TALER_amount_hton (&dki->issue.properties.fee_refund, + ¶ms->fee_refund); dki->issue.properties.purpose.purpose = htonl (TALER_SIGNATURE_MASTER_DENOMINATION_KEY_VALIDITY); dki->issue.properties.purpose.size @@ -776,7 +801,7 @@ create_denomkey_issue (const struct CoinTypeParams *params, */ static void exchange_keys_update_cointype (void *cls, - const char *coin_alias) + const char *coin_alias) { int *ret = cls; struct CoinTypeParams p; |