diff options
| author | Christian Grothoff <christian@grothoff.org> | 2015-08-09 21:50:23 +0200 | 
|---|---|---|
| committer | Christian Grothoff <christian@grothoff.org> | 2015-08-09 21:50:23 +0200 | 
| commit | cf3345a96f4e5c3fc1085052170e79adfaaff220 (patch) | |
| tree | aa70c95d3fc8cb623f2c347dc24eb43a8df1c5d2 /src/mint | |
| parent | e08f479eb403cfbcb490dd0b07fd3d384136f446 (diff) | |
initialize melt_fee in the TALER_MINT_RefreshMelt struct
Diffstat (limited to 'src/mint')
| -rw-r--r-- | src/mint/taler-mint-httpd_db.c | 1 | ||||
| -rw-r--r-- | src/mint/taler-mint-httpd_db.h | 6 | ||||
| -rw-r--r-- | src/mint/taler-mint-httpd_refresh.c | 6 | 
3 files changed, 11 insertions, 2 deletions
diff --git a/src/mint/taler-mint-httpd_db.c b/src/mint/taler-mint-httpd_db.c index 04c2555e..2a4c1674 100644 --- a/src/mint/taler-mint-httpd_db.c +++ b/src/mint/taler-mint-httpd_db.c @@ -582,6 +582,7 @@ refresh_accept_melts (struct MHD_Connection *connection,    melt.coin_sig = coin_details->melt_sig;    melt.session_hash = *session_hash;    melt.amount_with_fee = coin_details->melt_amount_with_fee; +  melt.melt_fee = coin_details->melt_fee;    if (GNUNET_OK !=        TMH_plugin->insert_refresh_melt (TMH_plugin->cls,                                         session, diff --git a/src/mint/taler-mint-httpd_db.h b/src/mint/taler-mint-httpd_db.h index c2f9a310..59976217 100644 --- a/src/mint/taler-mint-httpd_db.h +++ b/src/mint/taler-mint-httpd_db.h @@ -99,6 +99,12 @@ struct TMH_DB_MeltDetails     * to the melt is this value minus the fee for melting the coin.     */    struct TALER_Amount melt_amount_with_fee; + +  /** +   * What fee is earned by the mint?  Set delayed during +   * #verify_coin_public_info(). +   */ +  struct TALER_Amount melt_fee;  }; diff --git a/src/mint/taler-mint-httpd_refresh.c b/src/mint/taler-mint-httpd_refresh.c index 625fcc50..fcd84308 100644 --- a/src/mint/taler-mint-httpd_refresh.c +++ b/src/mint/taler-mint-httpd_refresh.c @@ -223,7 +223,8 @@ get_coin_public_info (struct MHD_Connection *connection,   *   * @param connection the connection to send error responses to   * @param session_hash hash over refresh session the coin is melted into - * @param melt_detail details about the coin's melting permission (if valid) + * @param[in,out] melt_detail details about the coin's melting permission, + *                            the `melt_fee` is updated   * @return #GNUNET_YES if coin public info in JSON was valid   *         #GNUNET_NO JSON was invalid, response was generated   *         #GNUNET_SYSERR on internal error @@ -231,7 +232,7 @@ get_coin_public_info (struct MHD_Connection *connection,  static int  verify_coin_public_info (struct MHD_Connection *connection,                           const struct GNUNET_HashCode *session_hash, -                         const struct TMH_DB_MeltDetails *melt_detail) +                         struct TMH_DB_MeltDetails *melt_detail)  {    struct TALER_RefreshMeltCoinAffirmationPS body;    struct TMH_KS_StateHandle *key_state; @@ -253,6 +254,7 @@ verify_coin_public_info (struct MHD_Connection *connection,       valid for issuing! (#3634) */    TALER_amount_ntoh (&fee_refresh,                       &dki->issue.properties.fee_refresh); +  melt_detail->melt_fee = fee_refresh;    body.purpose.size = htonl (sizeof (struct TALER_RefreshMeltCoinAffirmationPS));    body.purpose.purpose = htonl (TALER_SIGNATURE_WALLET_COIN_MELT);    body.session_hash = *session_hash;  | 
