From 0305cf5f9eb904e7a3ab3e8d39f4974a92a9a0b3 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 16 Jan 2020 22:40:12 +0100 Subject: move function to libtalerexchangedb, as planned --- src/exchange/taler-exchange-aggregator.c | 2 +- src/exchange/taler-exchange-httpd_db.c | 119 ----------------------- src/exchange/taler-exchange-httpd_db.h | 18 ---- src/exchange/taler-exchange-httpd_deposit.c | 6 +- src/exchange/taler-exchange-httpd_payback.c | 6 +- src/exchange/taler-exchange-httpd_refresh_melt.c | 6 +- 6 files changed, 10 insertions(+), 147 deletions(-) (limited to 'src/exchange') diff --git a/src/exchange/taler-exchange-aggregator.c b/src/exchange/taler-exchange-aggregator.c index 37ac5336b..264cbf62b 100644 --- a/src/exchange/taler-exchange-aggregator.c +++ b/src/exchange/taler-exchange-aggregator.c @@ -1835,7 +1835,7 @@ run_transfers (void *cls) if (GNUNET_OK != db_plugin->start (db_plugin->cls, session, - "aggregator run transfer")) + "aggregator run transfer")) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to start database transaction!\n"); 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 */ diff --git a/src/exchange/taler-exchange-httpd_db.h b/src/exchange/taler-exchange-httpd_db.h index c63b3668b..e6d38d7fe 100644 --- a/src/exchange/taler-exchange-httpd_db.h +++ b/src/exchange/taler-exchange-httpd_db.h @@ -107,23 +107,5 @@ TEH_DB_run_transaction (struct MHD_Connection *connection, void *cb_cls); -/** - * 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); - - #endif /* TALER_EXCHANGE_HTTPD_DB_H */ diff --git a/src/exchange/taler-exchange-httpd_deposit.c b/src/exchange/taler-exchange-httpd_deposit.c index 485047784..11f579abc 100644 --- a/src/exchange/taler-exchange-httpd_deposit.c +++ b/src/exchange/taler-exchange-httpd_deposit.c @@ -193,9 +193,9 @@ deposit_transaction (void *cls, if (0 > qs) return qs; if (GNUNET_OK != - TEH_DB_calculate_transaction_list_totals (tl, - &spent, - &spent)) + TALER_EXCHANGEDB_calculate_transaction_list_totals (tl, + &spent, + &spent)) { TEH_plugin->free_coin_transaction_list (TEH_plugin->cls, tl); diff --git a/src/exchange/taler-exchange-httpd_payback.c b/src/exchange/taler-exchange-httpd_payback.c index b7fe593d9..a05045b24 100644 --- a/src/exchange/taler-exchange-httpd_payback.c +++ b/src/exchange/taler-exchange-httpd_payback.c @@ -312,9 +312,9 @@ payback_transaction (void *cls, TALER_amount_get_zero (pc->value.currency, &spent)); if (GNUNET_OK != - TEH_DB_calculate_transaction_list_totals (tl, - &spent, - &spent)) + TALER_EXCHANGEDB_calculate_transaction_list_totals (tl, + &spent, + &spent)) { GNUNET_break (0); TEH_plugin->free_coin_transaction_list (TEH_plugin->cls, diff --git a/src/exchange/taler-exchange-httpd_refresh_melt.c b/src/exchange/taler-exchange-httpd_refresh_melt.c index 8fbb58513..4f429012c 100644 --- a/src/exchange/taler-exchange-httpd_refresh_melt.c +++ b/src/exchange/taler-exchange-httpd_refresh_melt.c @@ -225,9 +225,9 @@ refresh_check_melt (struct MHD_Connection *connection, } } if (GNUNET_OK != - TEH_DB_calculate_transaction_list_totals (tl, - &spent, - &spent)) + TALER_EXCHANGEDB_calculate_transaction_list_totals (tl, + &spent, + &spent)) { GNUNET_break (0); TEH_plugin->free_coin_transaction_list (TEH_plugin->cls, -- cgit v1.2.3