diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-01-16 22:40:12 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-01-16 22:40:12 +0100 |
commit | 0305cf5f9eb904e7a3ab3e8d39f4974a92a9a0b3 (patch) | |
tree | 8a5d839bb3cfb5e96b430ff6d1eeeed653cc4a6b /src/exchange/taler-exchange-httpd_db.c | |
parent | 0a415262daa93c96a9305df11a6573b49976a8cc (diff) | |
download | exchange-0305cf5f9eb904e7a3ab3e8d39f4974a92a9a0b3.tar.gz exchange-0305cf5f9eb904e7a3ab3e8d39f4974a92a9a0b3.tar.bz2 exchange-0305cf5f9eb904e7a3ab3e8d39f4974a92a9a0b3.zip |
move function to libtalerexchangedb, as planned
Diffstat (limited to 'src/exchange/taler-exchange-httpd_db.c')
-rw-r--r-- | src/exchange/taler-exchange-httpd_db.c | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/src/exchange/taler-exchange-httpd_db.c b/src/exchange/taler-exchange-httpd_db.c index be7a0300b..bc6f1ca60 100644 --- a/src/exchange/taler-exchange-httpd_db.c +++ b/src/exchange/taler-exchange-httpd_db.c @@ -165,123 +165,4 @@ TEH_DB_run_transaction (struct MHD_Connection *connection, } -/** - * Calculate the total value of all transactions performed. - * Stores @a off plus the cost of all transactions in @a tl - * in @a ret. - * - * @param tl transaction list to process - * @param off offset to use as the starting value - * @param[out] ret where the resulting total is to be stored - * @return #GNUNET_OK on success, #GNUNET_SYSERR on errors - */ -// FIXME: maybe move to another module, i.e. exchangedb??? -int -TEH_DB_calculate_transaction_list_totals (struct - TALER_EXCHANGEDB_TransactionList *tl, - const struct TALER_Amount *off, - struct TALER_Amount *ret) -{ - struct TALER_Amount spent = *off; - struct TALER_Amount refunded; - - GNUNET_assert (GNUNET_OK == - TALER_amount_get_zero (spent.currency, - &refunded)); - for (struct TALER_EXCHANGEDB_TransactionList *pos = tl; NULL != pos; pos = - pos->next) - { - switch (pos->type) - { - case TALER_EXCHANGEDB_TT_DEPOSIT: - /* spent += pos->amount_with_fee */ - if (GNUNET_OK != - TALER_amount_add (&spent, - &spent, - &pos->details.deposit->amount_with_fee)) - { - GNUNET_break (0); - return GNUNET_SYSERR; - } - break; - case TALER_EXCHANGEDB_TT_REFRESH_MELT: - /* spent += pos->amount_with_fee */ - if (GNUNET_OK != - TALER_amount_add (&spent, - &spent, - &pos->details.melt->session.amount_with_fee)) - { - GNUNET_break (0); - return GNUNET_SYSERR; - } - break; - case TALER_EXCHANGEDB_TT_REFUND: - /* refunded += pos->refund_amount - pos->refund_fee */ - if (GNUNET_OK != - TALER_amount_add (&refunded, - &refunded, - &pos->details.refund->refund_amount)) - { - GNUNET_break (0); - return GNUNET_SYSERR; - } - if (GNUNET_OK != - TALER_amount_subtract (&refunded, - &refunded, - &pos->details.refund->refund_fee)) - { - GNUNET_break (0); - return GNUNET_SYSERR; - } - break; - case TALER_EXCHANGEDB_TT_OLD_COIN_PAYBACK: - /* refunded += pos->value */ - if (GNUNET_OK != - TALER_amount_add (&refunded, - &refunded, - &pos->details.old_coin_payback->value)) - { - GNUNET_break (0); - return GNUNET_SYSERR; - } - break; - case TALER_EXCHANGEDB_TT_PAYBACK: - /* spent += pos->value */ - if (GNUNET_OK != - TALER_amount_add (&spent, - &spent, - &pos->details.payback->value)) - { - GNUNET_break (0); - return GNUNET_SYSERR; - } - break; - case TALER_EXCHANGEDB_TT_PAYBACK_REFRESH: - /* spent += pos->value */ - if (GNUNET_OK != - TALER_amount_add (&spent, - &spent, - &pos->details.payback_refresh->value)) - { - GNUNET_break (0); - return GNUNET_SYSERR; - } - break; - } - } - /* spent = spent - refunded */ - if (GNUNET_SYSERR == - TALER_amount_subtract (&spent, - &spent, - &refunded)) - { - GNUNET_break (0); - return GNUNET_SYSERR; - } - - *ret = spent; - return GNUNET_OK; -} - - /* end of taler-exchange-httpd_db.c */ |