summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-04-24 00:52:33 +0200
committerChristian Grothoff <christian@grothoff.org>2020-04-24 00:52:33 +0200
commit6772037321c96aed73e898e3328286c219bcf7c8 (patch)
treef614b63f7788b38140433f7d960b7ddb98ee79b6
parentde61e06eb164c5cb05778aba8e448a001462b783 (diff)
downloadexchange-6772037321c96aed73e898e3328286c219bcf7c8.tar.gz
exchange-6772037321c96aed73e898e3328286c219bcf7c8.tar.bz2
exchange-6772037321c96aed73e898e3328286c219bcf7c8.zip
fix invariant check
-rw-r--r--src/exchangedb/exchangedb_transactions.c9
-rw-r--r--src/exchangedb/plugin_exchangedb_postgres.c9
2 files changed, 10 insertions, 8 deletions
diff --git a/src/exchangedb/exchangedb_transactions.c b/src/exchangedb/exchangedb_transactions.c
index 93e4104e..c1723958 100644
--- a/src/exchangedb/exchangedb_transactions.c
+++ b/src/exchangedb/exchangedb_transactions.c
@@ -42,13 +42,13 @@ TALER_EXCHANGEDB_calculate_transaction_list_totals (
struct TALER_Amount refunded;
struct TALER_Amount deposit_fee;
bool have_refund;
- bool have_deposit;
+ bool have_deposit_or_melt;
GNUNET_assert (GNUNET_OK ==
TALER_amount_get_zero (spent.currency,
&refunded));
have_refund = false;
- have_deposit = false;
+ have_deposit_or_melt = false;
for (struct TALER_EXCHANGEDB_TransactionList *pos = tl;
NULL != pos;
pos = pos->next)
@@ -57,7 +57,7 @@ TALER_EXCHANGEDB_calculate_transaction_list_totals (
{
case TALER_EXCHANGEDB_TT_DEPOSIT:
/* spent += pos->amount_with_fee */
- have_deposit = true;
+ have_deposit_or_melt = true;
if (0 >
TALER_amount_add (&spent,
&spent,
@@ -70,6 +70,7 @@ TALER_EXCHANGEDB_calculate_transaction_list_totals (
break;
case TALER_EXCHANGEDB_TT_MELT:
/* spent += pos->amount_with_fee */
+ have_deposit_or_melt = true;
if (0 >
TALER_amount_add (&spent,
&spent,
@@ -155,7 +156,7 @@ TALER_EXCHANGEDB_calculate_transaction_list_totals (
GNUNET_break (0);
return GNUNET_SYSERR;
}
- GNUNET_break (have_deposit);
+ GNUNET_break (have_deposit_or_melt);
*ret = spent;
return GNUNET_OK;
}
diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c
index e517d069..5bd674b2 100644
--- a/src/exchangedb/plugin_exchangedb_postgres.c
+++ b/src/exchangedb/plugin_exchangedb_postgres.c
@@ -4006,9 +4006,9 @@ struct CoinHistoryContext
bool failed;
/**
- * Set to 'true' if we found a deposit (for invariant check).
+ * Set to 'true' if we found a deposit or melt (for invariant check).
*/
- bool have_deposit;
+ bool have_deposit_or_melt;
};
@@ -4034,7 +4034,7 @@ add_coin_deposit (void *cls,
struct TALER_EXCHANGEDB_TransactionList *tl;
uint64_t serial_id;
- chc->have_deposit = true;
+ chc->have_deposit_or_melt = true;
deposit = GNUNET_new (struct TALER_EXCHANGEDB_DepositListEntry);
{
struct GNUNET_PQ_ResultSpec rs[] = {
@@ -4106,6 +4106,7 @@ add_coin_melt (void *cls,
struct TALER_EXCHANGEDB_TransactionList *tl;
uint64_t serial_id;
+ chc->have_deposit_or_melt = true;
melt = GNUNET_new (struct TALER_EXCHANGEDB_MeltListEntry);
{
struct GNUNET_PQ_ResultSpec rs[] = {
@@ -4512,7 +4513,7 @@ postgres_get_coin_transactions (
*tlp = chc.head;
if (NULL == chc.head)
return GNUNET_DB_STATUS_SUCCESS_NO_RESULTS;
- GNUNET_break (chc.have_deposit);
+ GNUNET_break (chc.have_deposit_or_melt);
return GNUNET_DB_STATUS_SUCCESS_ONE_RESULT;
}