diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/include/taler_exchange_service.h | 24 | ||||
| -rw-r--r-- | src/lib/exchange_api_common.c | 10 | 
2 files changed, 26 insertions, 8 deletions
| diff --git a/src/include/taler_exchange_service.h b/src/include/taler_exchange_service.h index 928a808a..e935c919 100644 --- a/src/include/taler_exchange_service.h +++ b/src/include/taler_exchange_service.h @@ -946,7 +946,7 @@ enum TALER_EXCHANGE_ReserveTransactionType    /**     * Deposit into the reserve.     */ -  TALER_EXCHANGE_RTT_DEPOSIT, +  TALER_EXCHANGE_RTT_CREDIT,    /**     * Withdrawal from the reserve. @@ -990,7 +990,7 @@ struct TALER_EXCHANGE_ReserveHistory      /**       * Information about a deposit that filled this reserve. -     * @e type is #TALER_EXCHANGE_RTT_DEPOSIT. +     * @e type is #TALER_EXCHANGE_RTT_CREDIT.       */      struct      { @@ -1017,10 +1017,21 @@ struct TALER_EXCHANGE_ReserveHistory      } in_details;      /** -     * Signature authorizing the withdrawal for outgoing transaction. +     * Information about withdraw operation.       * @e type is #TALER_EXCHANGE_RTT_WITHDRAWAL.       */ -    json_t *out_authorization_sig; +    struct +    { +      /** +       * Signature authorizing the withdrawal for outgoing transaction. +       */ +      json_t *out_authorization_sig; + +      /** +       * Fee that was charged for the withdrawal. +       */ +      struct TALER_Amount fee; +    } withdraw;      /**       * Information provided if the reserve was filled via /recoup. @@ -1084,6 +1095,11 @@ struct TALER_EXCHANGE_ReserveHistory         */        struct GNUNET_TIME_Absolute timestamp; +      /** +       * Fee that was charged for the closing. +       */ +      struct TALER_Amount fee; +      } close_details;    } details; diff --git a/src/lib/exchange_api_common.c b/src/lib/exchange_api_common.c index 70d1432f..2748b8fc 100644 --- a/src/lib/exchange_api_common.c +++ b/src/lib/exchange_api_common.c @@ -109,7 +109,7 @@ TALER_EXCHANGE_parse_reserve_history (          GNUNET_JSON_spec_end ()        }; -      rhistory[off].type = TALER_EXCHANGE_RTT_DEPOSIT; +      rhistory[off].type = TALER_EXCHANGE_RTT_CREDIT;        if (GNUNET_OK !=            TALER_amount_add (&total_in,                              &total_in, @@ -201,8 +201,9 @@ TALER_EXCHANGE_parse_reserve_history (            GNUNET_JSON_parse_free (withdraw_spec);            return GNUNET_SYSERR;          } +        rhistory[off].details.withdraw.fee = fee;        } -      rhistory[off].details.out_authorization_sig +      rhistory[off].details.withdraw.out_authorization_sig          = json_object_get (transaction,                             "signature");        /* Check check that the same withdraw transaction @@ -355,7 +356,8 @@ TALER_EXCHANGE_parse_reserve_history (        rcc.reserve_pub = *reserve_pub;        timestamp = GNUNET_TIME_absolute_ntoh (rcc.timestamp);        rhistory[off].details.close_details.timestamp = timestamp; - +      TALER_amount_ntoh (&rhistory[off].details.close_details.fee, +                         &rcc.closing_fee);        key_state = TALER_EXCHANGE_get_keys (exchange);        if (GNUNET_OK !=            TALER_EXCHANGE_test_signing_key (key_state, @@ -424,7 +426,7 @@ TALER_EXCHANGE_free_reserve_history (    {      switch (rhistory[i].type)      { -    case TALER_EXCHANGE_RTT_DEPOSIT: +    case TALER_EXCHANGE_RTT_CREDIT:        GNUNET_free_non_null (rhistory[i].details.in_details.wire_reference);        GNUNET_free_non_null (rhistory[i].details.in_details.sender_url);        break; | 
