diff options
| -rw-r--r-- | src/auditor/taler-helper-auditor-aggregation.c | 40 | ||||
| -rw-r--r-- | src/auditor/taler-helper-auditor-coins.c | 18 | 
2 files changed, 55 insertions, 3 deletions
| diff --git a/src/auditor/taler-helper-auditor-aggregation.c b/src/auditor/taler-helper-auditor-aggregation.c index c03dffe3..b1595063 100644 --- a/src/auditor/taler-helper-auditor-aggregation.c +++ b/src/auditor/taler-helper-auditor-aggregation.c @@ -593,7 +593,45 @@ check_transaction_history_for_deposit (                                  amount_with_fee);          break;        } -    } + +    case TALER_EXCHANGEDB_TT_PURSE_REFUND: +      { +        const struct TALER_Amount *amount_with_fee; + +        amount_with_fee = &tl->details.purse_refund->refund_amount; +        fee_claimed = &tl->details.purse_refund->refund_fee; +        TALER_ARL_amount_add (&refunds, +                              &refunds, +                              amount_with_fee); +        TALER_ARL_amount_add (&expenditures, +                              &expenditures, +                              fee_claimed); +        /* Check that the fees given in the transaction list and in dki match */ +        if (0 != +            TALER_amount_cmp (&issue->fees.refund, +                              fee_claimed)) +        { +          /* Disagreement in fee structure between exchange and auditor! */ +          report_amount_arithmetic_inconsistency ("refund fee", +                                                  0, +                                                  fee_claimed, +                                                  &issue->fees.refund, +                                                  1); +        } +        break; +      } + +    case TALER_EXCHANGEDB_TT_RESERVE_OPEN: +      { +        const struct TALER_Amount *amount_with_fee; + +        amount_with_fee = &tl->details.reserve_open->coin_contribution; +        TALER_ARL_amount_add (&expenditures, +                              &expenditures, +                              amount_with_fee); +        break; +      } +    } /* switch (tl->type) */    } /* for 'tl' */    GNUNET_log (GNUNET_ERROR_TYPE_INFO, diff --git a/src/auditor/taler-helper-auditor-coins.c b/src/auditor/taler-helper-auditor-coins.c index aa3e34b7..23d543dc 100644 --- a/src/auditor/taler-helper-auditor-coins.c +++ b/src/auditor/taler-helper-auditor-coins.c @@ -539,8 +539,22 @@ check_coin_history (const struct TALER_CoinSpendPublicKeyP *coin_pub,                              &spent,                              &pos->details.purse_deposit->amount);        break; -    } -  } +    case TALER_EXCHANGEDB_TT_PURSE_REFUND: +      TALER_ARL_amount_add (&refunded, +                            &refunded, +                            &tl->details.purse_refund->refund_amount); +      TALER_ARL_amount_add (&spent, +                            &spent, +                            &pos->details.purse_refund->refund_fee); +      have_refund = true; +      break; +    case TALER_EXCHANGEDB_TT_RESERVE_OPEN: +      TALER_ARL_amount_add (&spent, +                            &spent, +                            &tl->details.reserve_open->coin_contribution); +      break; +    } /* switch (pos->type) */ +  } /* for (...) */    if (have_refund)    { | 
