this invariant does not actually hold, i.e. if there is a /recoup request for a coin we never saw

This commit is contained in:
Christian Grothoff 2020-07-10 21:27:06 +02:00
parent af0a2c32a3
commit 7cf67b3094
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
2 changed files with 1 additions and 7 deletions

View File

@ -42,13 +42,11 @@ TALER_EXCHANGEDB_calculate_transaction_list_totals (
struct TALER_Amount refunded;
struct TALER_Amount deposit_fee;
bool have_refund;
bool have_deposit_or_melt_or_recoup;
GNUNET_assert (GNUNET_OK ==
TALER_amount_get_zero (spent.currency,
&refunded));
have_refund = false;
have_deposit_or_melt_or_recoup = false;
for (struct TALER_EXCHANGEDB_TransactionList *pos = tl;
NULL != pos;
pos = pos->next)
@ -57,7 +55,6 @@ TALER_EXCHANGEDB_calculate_transaction_list_totals (
{
case TALER_EXCHANGEDB_TT_DEPOSIT:
/* spent += pos->amount_with_fee */
have_deposit_or_melt_or_recoup = true;
if (0 >
TALER_amount_add (&spent,
&spent,
@ -70,7 +67,6 @@ TALER_EXCHANGEDB_calculate_transaction_list_totals (
break;
case TALER_EXCHANGEDB_TT_MELT:
/* spent += pos->amount_with_fee */
have_deposit_or_melt_or_recoup = true;
if (0 >
TALER_amount_add (&spent,
&spent,
@ -112,7 +108,6 @@ TALER_EXCHANGEDB_calculate_transaction_list_totals (
}
break;
case TALER_EXCHANGEDB_TT_RECOUP:
have_deposit_or_melt_or_recoup = true;
/* spent += pos->value */
if (0 >
TALER_amount_add (&spent,
@ -157,7 +152,6 @@ TALER_EXCHANGEDB_calculate_transaction_list_totals (
GNUNET_break (0);
return GNUNET_SYSERR;
}
GNUNET_break (have_deposit_or_melt_or_recoup);
*ret = spent;
return GNUNET_OK;
}

View File

@ -675,7 +675,7 @@ run (void *cls,
"recoup-reveal-coin-1b",
"recoup-melt-coin-1b",
"EUR:5"),
#if FIXME
#if 1
/* "over-spend" 10 EUR recoup-refreshed coin */
TALER_TESTING_cmd_deposit ("recoup-refresh-deposit-failing",
"recoup-withdraw-coin-1b",