gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] branch master updated: -preparatory steps to expand aud


From: gnunet
Subject: [taler-exchange] branch master updated: -preparatory steps to expand auditor to know about purse and history fees
Date: Tue, 14 Jun 2022 23:04:46 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 83be3173 -preparatory steps to expand auditor to know about purse and 
history fees
83be3173 is described below

commit 83be3173d4933d00a7826bb05c6a661515b0e6f9
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Tue Jun 14 23:04:43 2022 +0200

    -preparatory steps to expand auditor to know about purse and history fees
---
 src/auditor/taler-helper-auditor-reserves.c | 129 ++++++++++++++++++++++++----
 src/auditordb/auditor-0001.sql              |   5 ++
 src/auditordb/plugin_auditordb_postgres.c   |  68 +++++++++++----
 src/include/taler_auditordb_plugin.h        |  29 +++++--
 4 files changed, 190 insertions(+), 41 deletions(-)

diff --git a/src/auditor/taler-helper-auditor-reserves.c 
b/src/auditor/taler-helper-auditor-reserves.c
index d6a20276..5bfb4853 100644
--- a/src/auditor/taler-helper-auditor-reserves.c
+++ b/src/auditor/taler-helper-auditor-reserves.c
@@ -132,6 +132,16 @@ static struct TALER_Amount total_irregular_recoups;
  */
 static struct TALER_Amount total_withdraw_fee_income;
 
+/**
+ * Total purse fees earned.
+ */
+static struct TALER_Amount total_purse_fee_income;
+
+/**
+ * Total history fees earned.
+ */
+static struct TALER_Amount total_history_fee_income;
+
 /**
  * Array of reports about coin operations with bad signatures.
  */
@@ -297,7 +307,7 @@ struct ReserveSummary
    * #load_auditor_reserve_summary() together with the a-* values
    * (if available).
    */
-  int had_ri;
+  bool had_ri;
 
 };
 
@@ -331,7 +341,7 @@ load_auditor_reserve_summary (struct ReserveSummary *rs)
   }
   if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs)
   {
-    rs->had_ri = GNUNET_NO;
+    rs->had_ri = false;
     GNUNET_assert (GNUNET_OK ==
                    TALER_amount_set_zero (rs->total_in.currency,
                                           &rs->balance_at_previous_audit));
@@ -344,7 +354,7 @@ load_auditor_reserve_summary (struct ReserveSummary *rs)
                 TALER_amount2s (&rs->balance_at_previous_audit));
     return GNUNET_DB_STATUS_SUCCESS_NO_RESULTS;
   }
-  rs->had_ri = GNUNET_YES;
+  rs->had_ri = true;
   if ( (GNUNET_YES !=
         TALER_amount_cmp_currency (&rs->balance_at_previous_audit,
                                    &rs->a_withdraw_fee_balance)) ||
@@ -401,7 +411,7 @@ struct ReserveContext
  * @param execution_date when did we receive the funds
  * @return #GNUNET_OK to continue to iterate, #GNUNET_SYSERR to stop
  */
-static int
+static enum GNUNET_GenericReturnValue
 handle_reserve_in (void *cls,
                    uint64_t rowid,
                    const struct TALER_ReservePublicKeyP *reserve_pub,
@@ -901,7 +911,7 @@ get_closing_fee (const char *receiver_account,
  * @param transfer_details details about the wire transfer
  * @return #GNUNET_OK to continue to iterate, #GNUNET_SYSERR to stop
  */
-static int
+static enum GNUNET_GenericReturnValue
 handle_reserve_closed (
   void *cls,
   uint64_t rowid,
@@ -981,7 +991,7 @@ handle_reserve_closed (
   }
   if (NULL == rs->sender_account)
   {
-    GNUNET_break (GNUNET_NO == rs->had_ri);
+    GNUNET_break (! rs->had_ri);
     report_row_inconsistency ("reserves_close",
                               rowid,
                               "target account not verified, auditor does not 
know reserve");
@@ -1014,7 +1024,7 @@ handle_reserve_closed (
  * @param value a `struct ReserveSummary`
  * @return #GNUNET_OK to process more entries
  */
-static int
+static enum GNUNET_GenericReturnValue
 verify_reserve_balance (void *cls,
                         const struct GNUNET_HashCode *key,
                         void *value)
@@ -1332,17 +1342,24 @@ analyze_reserves (void *cls)
   {
     ppr_start = ppr;
     GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-                "Resuming reserve audit at %llu/%llu/%llu/%llu\n",
+                "Resuming reserve audit at 
%llu/%llu/%llu/%llu/%llu/%llu/%llu/%llu/%llu\n",
                 (unsigned long long) ppr.last_reserve_in_serial_id,
                 (unsigned long long) ppr.last_reserve_out_serial_id,
                 (unsigned long long) ppr.last_reserve_recoup_serial_id,
-                (unsigned long long) ppr.last_reserve_close_serial_id);
+                (unsigned long long) ppr.last_reserve_close_serial_id,
+                (unsigned long long) ppr.last_purse_merges_serial_id,
+                (unsigned long long) ppr.last_purse_deposits_serial_id,
+                (unsigned long long) ppr.last_account_merges_serial_id,
+                (unsigned long long) ppr.last_history_requests_serial_id,
+                (unsigned long long) ppr.last_close_requests_serial_id);
   }
   rc.qs = GNUNET_DB_STATUS_SUCCESS_ONE_RESULT;
   qsx = TALER_ARL_adb->get_reserve_summary (TALER_ARL_adb->cls,
                                             &TALER_ARL_master_pub,
                                             &total_escrow_balance,
-                                            &total_withdraw_fee_income);
+                                            &total_withdraw_fee_income,
+                                            &total_purse_fee_income,
+                                            &total_history_fee_income);
   if (qsx < 0)
   {
     GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qsx);
@@ -1393,7 +1410,59 @@ analyze_reserves (void *cls)
     GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qs);
     return qs;
   }
+#if FIXME
+  qs = TALER_ARL_edb->select_purse_merges_above_serial_id (
+    TALER_ARL_edb->cls,
+    ppr.last_purse_merge_serial_id,
+    &handle_purse_merged,
+    &rc);
+  if (qs < 0)
+  {
+    GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qs);
+    return qs;
+  }
 
+  qs = TALER_ARL_edb->select_purse_deposits_above_serial_id (
+    TALER_ARL_edb->cls,
+    ppr.last_purse_deposits_serial_id,
+    &handle_purse_deposits,
+    &rc);
+  if (qs < 0)
+  {
+    GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qs);
+    return qs;
+  }
+  qs = TALER_ARL_edb->select_account_merges_above_serial_id (
+    TALER_ARL_edb->cls,
+    ppr.last_account_merge_serial_id,
+    &handle_account_merged,
+    &rc);
+  if (qs < 0)
+  {
+    GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qs);
+    return qs;
+  }
+  qs = TALER_ARL_edb->select_history_requests_above_serial_id (
+    TALER_ARL_edb->cls,
+    ppr.last_history_requests_serial_id,
+    &handle_history_request,
+    &rc);
+  if (qs < 0)
+  {
+    GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qs);
+    return qs;
+  }
+  qs = TALER_ARL_edb->select_close_requests_above_serial_id (
+    TALER_ARL_edb->cls,
+    ppr.last_close_requests_serial_id,
+    &handle_close_request,
+    &rc);
+  if (qs < 0)
+  {
+    GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qs);
+    return qs;
+  }
+#endif
   GNUNET_CONTAINER_multihashmap_iterate (rc.reserves,
                                          &verify_reserve_balance,
                                          &rc);
@@ -1410,14 +1479,18 @@ analyze_reserves (void *cls)
     qs = TALER_ARL_adb->insert_reserve_summary (TALER_ARL_adb->cls,
                                                 &TALER_ARL_master_pub,
                                                 &total_escrow_balance,
-                                                &total_withdraw_fee_income);
+                                                &total_withdraw_fee_income,
+                                                &total_purse_fee_income,
+                                                &total_history_fee_income);
   }
   else
   {
     qs = TALER_ARL_adb->update_reserve_summary (TALER_ARL_adb->cls,
                                                 &TALER_ARL_master_pub,
                                                 &total_escrow_balance,
-                                                &total_withdraw_fee_income);
+                                                &total_withdraw_fee_income,
+                                                &total_purse_fee_income,
+                                                &total_history_fee_income);
   }
   if (0 >= qs)
   {
@@ -1440,11 +1513,16 @@ analyze_reserves (void *cls)
     return qs;
   }
   GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-              "Concluded reserve audit step at %llu/%llu/%llu/%llu\n",
+              "Concluded reserve audit step at 
%llu/%llu/%llu/%llu/%llu/%llu/%llu/%llu/%llu\n",
               (unsigned long long) ppr.last_reserve_in_serial_id,
               (unsigned long long) ppr.last_reserve_out_serial_id,
               (unsigned long long) ppr.last_reserve_recoup_serial_id,
-              (unsigned long long) ppr.last_reserve_close_serial_id);
+              (unsigned long long) ppr.last_reserve_close_serial_id,
+              (unsigned long long) ppr.last_purse_merges_serial_id,
+              (unsigned long long) ppr.last_purse_deposits_serial_id,
+              (unsigned long long) ppr.last_account_merges_serial_id,
+              (unsigned long long) ppr.last_history_requests_serial_id,
+              (unsigned long long) ppr.last_close_requests_serial_id);
   return GNUNET_DB_STATUS_SUCCESS_ONE_RESULT;
 }
 
@@ -1497,6 +1575,12 @@ run (void *cls,
   GNUNET_assert (GNUNET_OK ==
                  TALER_amount_set_zero (TALER_ARL_currency,
                                         &total_withdraw_fee_income));
+  GNUNET_assert (GNUNET_OK ==
+                 TALER_amount_set_zero (TALER_ARL_currency,
+                                        &total_history_fee_income));
+  GNUNET_assert (GNUNET_OK ==
+                 TALER_amount_set_zero (TALER_ARL_currency,
+                                        &total_purse_fee_income));
   GNUNET_assert (GNUNET_OK ==
                  TALER_amount_set_zero (TALER_ARL_currency,
                                         &total_balance_insufficient_loss));
@@ -1560,11 +1644,14 @@ run (void *cls,
                               &total_balance_summary_delta_plus),
       TALER_JSON_pack_amount ("total_balance_summary_delta_minus",
                               &total_balance_summary_delta_minus),
-      /* blocks #2 */
       TALER_JSON_pack_amount ("total_escrow_balance",
                               &total_escrow_balance),
       TALER_JSON_pack_amount ("total_withdraw_fee_income",
                               &total_withdraw_fee_income),
+      TALER_JSON_pack_amount ("total_history_fee_income",
+                              &total_history_fee_income),
+      TALER_JSON_pack_amount ("total_purse_fee_income",
+                              &total_purse_fee_income),
       /* Tested in test-auditor.sh #21 */
       GNUNET_JSON_pack_array_steal ("reserve_not_closed_inconsistencies",
                                     report_reserve_not_closed_inconsistencies),
@@ -1611,7 +1698,17 @@ run (void *cls,
       GNUNET_JSON_pack_uint64 ("end_ppr_reserve_recoup_serial_id",
                                ppr.last_reserve_recoup_serial_id),
       GNUNET_JSON_pack_uint64 ("end_ppr_reserve_close_serial_id",
-                               ppr.last_reserve_close_serial_id)));
+                               ppr.last_reserve_close_serial_id),
+      GNUNET_JSON_pack_uint64 ("end_ppr_purse_merges_serial_id",
+                               ppr.last_purse_merges_serial_id),
+      GNUNET_JSON_pack_uint64 ("end_ppr_purse_deposits_serial_id",
+                               ppr.last_purse_deposits_serial_id),
+      GNUNET_JSON_pack_uint64 ("end_ppr_account_merges_serial_id",
+                               ppr.last_account_merges_serial_id),
+      GNUNET_JSON_pack_uint64 ("end_ppr_history_requests_serial_id",
+                               ppr.last_history_requests_serial_id),
+      GNUNET_JSON_pack_uint64 ("end_ppr_close_requests_serial_id",
+                               ppr.last_close_requests_serial_id)));
 }
 
 
diff --git a/src/auditordb/auditor-0001.sql b/src/auditordb/auditor-0001.sql
index a7278382..daefdc17 100644
--- a/src/auditordb/auditor-0001.sql
+++ b/src/auditordb/auditor-0001.sql
@@ -48,6 +48,7 @@ CREATE TABLE IF NOT EXISTS auditor_progress_reserve
   ,last_reserve_recoup_serial_id INT8 NOT NULL DEFAULT 0
   ,last_reserve_close_serial_id INT8 NOT NULL DEFAULT 0
   ,last_purse_merges_serial_id INT8 NOT NULL DEFAULT 0
+  ,last_purse_deposits_serial_id INT8 NOT NULL DEFAULT 0
   ,last_account_merges_serial_id INT8 NOT NULL DEFAULT 0
   ,last_history_requests_serial_id INT8 NOT NULL DEFAULT 0
   ,last_close_requests_serial_id INT8 NOT NULL DEFAULT 0
@@ -142,6 +143,10 @@ CREATE TABLE IF NOT EXISTS auditor_reserve_balance
   ,reserve_balance_frac INT4 NOT NULL
   ,withdraw_fee_balance_val INT8 NOT NULL
   ,withdraw_fee_balance_frac INT4 NOT NULL
+  ,purse_fee_balance_val INT8 NOT NULL
+  ,purse_fee_balance_frac INT4 NOT NULL
+  ,history_fee_balance_val INT8 NOT NULL
+  ,history_fee_balance_frac INT4 NOT NULL
   );
 COMMENT ON TABLE auditor_reserve_balance
   IS 'sum of the balances of all customer reserves (by exchange master public 
key)';
diff --git a/src/auditordb/plugin_auditordb_postgres.c 
b/src/auditordb/plugin_auditordb_postgres.c
index df1d4732..3efc6722 100644
--- a/src/auditordb/plugin_auditordb_postgres.c
+++ b/src/auditordb/plugin_auditordb_postgres.c
@@ -231,11 +231,12 @@ setup_connection (struct PostgresClosure *pg)
                             ",last_reserve_recoup_serial_id=$3"
                             ",last_reserve_close_serial_id=$4"
                             ",last_purse_merges_serial_id=$5"
-                            ",last_account_merges_serial_id=$6"
-                            ",last_history_requests_serial_id=$7"
-                            ",last_close_requests_serial_id=$8"
-                            " WHERE master_pub=$9",
-                            9),
+                            ",last_purse_deposits_serial_id=$6"
+                            ",last_account_merges_serial_id=$7"
+                            ",last_history_requests_serial_id=$8"
+                            ",last_close_requests_serial_id=$9"
+                            " WHERE master_pub=$10",
+                            10),
     /* Used in #postgres_get_auditor_progress_reserve() */
     GNUNET_PQ_make_prepare ("auditor_progress_select_reserve",
                             "SELECT"
@@ -244,6 +245,7 @@ setup_connection (struct PostgresClosure *pg)
                             ",last_reserve_recoup_serial_id"
                             ",last_reserve_close_serial_id"
                             ",last_purse_merges_serial_id"
+                            ",last_purse_deposits_serial_id"
                             ",last_account_merges_serial_id"
                             ",last_history_requests_serial_id"
                             ",last_close_requests_serial_id"
@@ -259,11 +261,12 @@ setup_connection (struct PostgresClosure *pg)
                             ",last_reserve_recoup_serial_id"
                             ",last_reserve_close_serial_id"
                             ",last_purse_merges_serial_id"
+                            ",last_purse_deposits_serial_id"
                             ",last_account_merges_serial_id"
                             ",last_history_requests_serial_id"
                             ",last_close_requests_serial_id"
-                            ") VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9);",
-                            9),
+                            ") VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10);",
+                            10),
     /* Used in #postgres_update_auditor_progress_aggregation() */
     GNUNET_PQ_make_prepare ("auditor_progress_update_aggregation",
                             "UPDATE auditor_progress_aggregation SET "
@@ -448,8 +451,12 @@ setup_connection (struct PostgresClosure *pg)
                             ",reserve_balance_frac"
                             ",withdraw_fee_balance_val"
                             ",withdraw_fee_balance_frac"
-                            ") VALUES ($1,$2,$3,$4,$5)",
-                            5),
+                            ",purse_fee_balance_val"
+                            ",purse_fee_balance_frac"
+                            ",history_fee_balance_val"
+                            ",history_fee_balance_frac"
+                            ") VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9)",
+                            9),
     /* Used in #postgres_update_reserve_summary() */
     GNUNET_PQ_make_prepare ("auditor_reserve_balance_update",
                             "UPDATE auditor_reserve_balance SET"
@@ -457,8 +464,12 @@ setup_connection (struct PostgresClosure *pg)
                             ",reserve_balance_frac=$2"
                             ",withdraw_fee_balance_val=$3"
                             ",withdraw_fee_balance_frac=$4"
-                            " WHERE master_pub=$5;",
-                            5),
+                            ",purse_fee_balance_val=$5"
+                            ",purse_fee_balance_frac=$6"
+                            ",history_fee_balance_val=$7"
+                            ",history_fee_balance_frac=$8"
+                            " WHERE master_pub=$9;",
+                            9),
     /* Used in #postgres_get_reserve_summary() */
     GNUNET_PQ_make_prepare ("auditor_reserve_balance_select",
                             "SELECT"
@@ -466,6 +477,10 @@ setup_connection (struct PostgresClosure *pg)
                             ",reserve_balance_frac"
                             ",withdraw_fee_balance_val"
                             ",withdraw_fee_balance_frac"
+                            ",purse_fee_balance_val"
+                            ",purse_fee_balance_frac"
+                            ",history_fee_balance_val"
+                            ",history_fee_balance_frac"
                             " FROM auditor_reserve_balance"
                             " WHERE master_pub=$1;",
                             1),
@@ -1244,6 +1259,7 @@ postgres_insert_auditor_progress_reserve (
     GNUNET_PQ_query_param_uint64 (&ppr->last_reserve_recoup_serial_id),
     GNUNET_PQ_query_param_uint64 (&ppr->last_reserve_close_serial_id),
     GNUNET_PQ_query_param_uint64 (&ppr->last_purse_merges_serial_id),
+    GNUNET_PQ_query_param_uint64 (&ppr->last_purse_deposits_serial_id),
     GNUNET_PQ_query_param_uint64 (&ppr->last_account_merges_serial_id),
     GNUNET_PQ_query_param_uint64 (&ppr->last_history_requests_serial_id),
     GNUNET_PQ_query_param_uint64 (&ppr->last_close_requests_serial_id),
@@ -1278,6 +1294,7 @@ postgres_update_auditor_progress_reserve (
     GNUNET_PQ_query_param_uint64 (&ppr->last_reserve_recoup_serial_id),
     GNUNET_PQ_query_param_uint64 (&ppr->last_reserve_close_serial_id),
     GNUNET_PQ_query_param_uint64 (&ppr->last_purse_merges_serial_id),
+    GNUNET_PQ_query_param_uint64 (&ppr->last_purse_deposits_serial_id),
     GNUNET_PQ_query_param_uint64 (&ppr->last_account_merges_serial_id),
     GNUNET_PQ_query_param_uint64 (&ppr->last_history_requests_serial_id),
     GNUNET_PQ_query_param_uint64 (&ppr->last_close_requests_serial_id),
@@ -1321,6 +1338,8 @@ postgres_get_auditor_progress_reserve (
                                   &ppr->last_reserve_close_serial_id),
     GNUNET_PQ_result_spec_uint64 ("last_purse_merges_serial_id",
                                   &ppr->last_purse_merges_serial_id),
+    GNUNET_PQ_result_spec_uint64 ("last_purse_deposits_serial_id",
+                                  &ppr->last_purse_deposits_serial_id),
     GNUNET_PQ_result_spec_uint64 ("last_account_merges_serial_id",
                                   &ppr->last_account_merges_serial_id),
     GNUNET_PQ_result_spec_uint64 ("last_history_requests_serial_id",
@@ -2007,7 +2026,8 @@ postgres_get_reserve_info (void *cls,
  * @param master_pub master public key of the exchange
  * @param reserve_balance amount stored in the reserve
  * @param withdraw_fee_balance amount the exchange gained in withdraw fees
- *                             due to withdrawals from this reserve
+ * @param purse_fee_balance amount the exchange gained in purse fees
+ * @param history_fee_balance amount the exchange gained in history fees
  * @return transaction status code
  */
 static enum GNUNET_DB_QueryStatus
@@ -2015,13 +2035,17 @@ postgres_insert_reserve_summary (
   void *cls,
   const struct TALER_MasterPublicKeyP *master_pub,
   const struct TALER_Amount *reserve_balance,
-  const struct TALER_Amount *withdraw_fee_balance)
+  const struct TALER_Amount *withdraw_fee_balance,
+  const struct TALER_Amount *purse_fee_balance,
+  const struct TALER_Amount *history_fee_balance)
 {
   struct PostgresClosure *pg = cls;
   struct GNUNET_PQ_QueryParam params[] = {
     GNUNET_PQ_query_param_auto_from_type (master_pub),
     TALER_PQ_query_param_amount (reserve_balance),
     TALER_PQ_query_param_amount (withdraw_fee_balance),
+    TALER_PQ_query_param_amount (purse_fee_balance),
+    TALER_PQ_query_param_amount (history_fee_balance),
     GNUNET_PQ_query_param_end
   };
 
@@ -2051,12 +2075,16 @@ postgres_update_reserve_summary (
   void *cls,
   const struct TALER_MasterPublicKeyP *master_pub,
   const struct TALER_Amount *reserve_balance,
-  const struct TALER_Amount *withdraw_fee_balance)
+  const struct TALER_Amount *withdraw_fee_balance,
+  const struct TALER_Amount *purse_fee_balance,
+  const struct TALER_Amount *history_fee_balance)
 {
   struct PostgresClosure *pg = cls;
   struct GNUNET_PQ_QueryParam params[] = {
     TALER_PQ_query_param_amount (reserve_balance),
     TALER_PQ_query_param_amount (withdraw_fee_balance),
+    TALER_PQ_query_param_amount (purse_fee_balance),
+    TALER_PQ_query_param_amount (history_fee_balance),
     GNUNET_PQ_query_param_auto_from_type (master_pub),
     GNUNET_PQ_query_param_end
   };
@@ -2072,16 +2100,19 @@ postgres_update_reserve_summary (
  *
  * @param cls the @e cls of this struct with the plugin-specific state
  * @param master_pub master public key of the exchange
- * @param[out] reserve_balance amount stored in the reserve
+ * @param[out] reserve_balance amount stored in reserves
  * @param[out] withdraw_fee_balance amount the exchange gained in withdraw fees
- *                             due to withdrawals from this reserve
+ * @param[out] purse_fee_balance amount the exchange gained in purse fees
+ * @param[out] history_fee_balance amount the exchange gained in history fees
  * @return transaction status code
  */
 static enum GNUNET_DB_QueryStatus
 postgres_get_reserve_summary (void *cls,
                               const struct TALER_MasterPublicKeyP *master_pub,
                               struct TALER_Amount *reserve_balance,
-                              struct TALER_Amount *withdraw_fee_balance)
+                              struct TALER_Amount *withdraw_fee_balance,
+                              struct TALER_Amount *purse_fee_balance,
+                              struct TALER_Amount *history_fee_balance)
 {
   struct PostgresClosure *pg = cls;
   struct GNUNET_PQ_QueryParam params[] = {
@@ -2091,7 +2122,8 @@ postgres_get_reserve_summary (void *cls,
   struct GNUNET_PQ_ResultSpec rs[] = {
     TALER_PQ_RESULT_SPEC_AMOUNT ("reserve_balance", reserve_balance),
     TALER_PQ_RESULT_SPEC_AMOUNT ("withdraw_fee_balance", withdraw_fee_balance),
-
+    TALER_PQ_RESULT_SPEC_AMOUNT ("purse_fee_balance", purse_fee_balance),
+    TALER_PQ_RESULT_SPEC_AMOUNT ("history_fee_balance", history_fee_balance),
     GNUNET_PQ_result_spec_end
   };
 
diff --git a/src/include/taler_auditordb_plugin.h 
b/src/include/taler_auditordb_plugin.h
index 15253062..b0677739 100644
--- a/src/include/taler_auditordb_plugin.h
+++ b/src/include/taler_auditordb_plugin.h
@@ -163,6 +163,12 @@ struct TALER_AUDITORDB_ProgressPointReserve
    */
   uint64_t last_purse_merges_serial_id;
 
+  /**
+   * Serial ID of the last purse_deposits
+   * entry the auditor processed.
+   */
+  uint64_t last_purse_deposits_serial_id;
+
   /**
    * serial ID of the last account_merges
    * entry the auditor processed.
@@ -979,14 +985,17 @@ struct TALER_AUDITORDB_Plugin
    * @param master_pub master public key of the exchange
    * @param reserve_balance amount stored in the reserve
    * @param withdraw_fee_balance amount the exchange gained in withdraw fees
-   *                             due to withdrawals from this reserve
+   * @param purse_fee_balance amount the exchange gained in purse fees
+   * @param history_fee_balance amount the exchange gained in history fees
    * @return transaction status code
    */
   enum GNUNET_DB_QueryStatus
   (*insert_reserve_summary)(void *cls,
                             const struct TALER_MasterPublicKeyP *master_pub,
                             const struct TALER_Amount *reserve_balance,
-                            const struct TALER_Amount *withdraw_fee_balance);
+                            const struct TALER_Amount *withdraw_fee_balance,
+                            const struct TALER_Amount *purse_fee_balance,
+                            const struct TALER_Amount *history_fee_balance);
 
 
   /**
@@ -997,14 +1006,17 @@ struct TALER_AUDITORDB_Plugin
    * @param master_pub master public key of the exchange
    * @param reserve_balance amount stored in the reserve
    * @param withdraw_fee_balance amount the exchange gained in withdraw fees
-   *                             due to withdrawals from this reserve
+   * @param purse_fee_balance amount the exchange gained in purse fees
+   * @param history_fee_balance amount the exchange gained in history fees
    * @return transaction status code
    */
   enum GNUNET_DB_QueryStatus
   (*update_reserve_summary)(void *cls,
                             const struct TALER_MasterPublicKeyP *master_pub,
                             const struct TALER_Amount *reserve_balance,
-                            const struct TALER_Amount *withdraw_fee_balance);
+                            const struct TALER_Amount *withdraw_fee_balance,
+                            const struct TALER_Amount *purse_fee_balance,
+                            const struct TALER_Amount *history_fee_balance);
 
 
   /**
@@ -1012,16 +1024,19 @@ struct TALER_AUDITORDB_Plugin
    *
    * @param cls the @e cls of this struct with the plugin-specific state
    * @param master_pub master public key of the exchange
-   * @param[out] reserve_balance amount stored in the reserve
+   * @param[out] reserve_balance amount stored in reserves
    * @param[out] withdraw_fee_balance amount the exchange gained in withdraw 
fees
-   *                             due to withdrawals from this reserve
+   * @param[out] purse_fee_balance amount the exchange gained in purse fees
+   * @param[out] history_fee_balance amount the exchange gained in history fees
    * @return transaction status code
    */
   enum GNUNET_DB_QueryStatus
   (*get_reserve_summary)(void *cls,
                          const struct TALER_MasterPublicKeyP *master_pub,
                          struct TALER_Amount *reserve_balance,
-                         struct TALER_Amount *withdraw_fee_balance);
+                         struct TALER_Amount *withdraw_fee_balance,
+                         struct TALER_Amount *purse_fee_balance,
+                         struct TALER_Amount *history_fee_balance);
 
 
   /**

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]