deal with some minor FIXMEs in auditor
This commit is contained in:
parent
69ac028a13
commit
0f5ce284c4
@ -25,15 +25,18 @@
|
||||
* given in the 'wire_out' table. This needs to be checked separately!
|
||||
*
|
||||
* TODO:
|
||||
* - COMPLETE: implement misc. FIXMEs
|
||||
* - COMPLETE: deal with risk / expired denomination keys in #sync_denomination
|
||||
* - SANITY: rename operations to better describe what they do!
|
||||
* - FIXME: do proper transaction history check in #check_transaction_history()
|
||||
* - COMPLETE: deal with risk / expired denomination keys in #sync_denomination()
|
||||
* - SANITY: rename functions/operations to better describe what they do!
|
||||
* - OPTIMIZE/SIMPLIFY: modify auditordb to return DK when we inquire about deposit/refresh/refund,
|
||||
* so we can avoid the costly #get_coin_summary with the transaction history building
|
||||
* (at least during #analyze_coins); the logic may be partially useful in
|
||||
* #analyze_merchants (but we won't need the cache!)
|
||||
* - MAJOR: check that aggregation records exist for deposits past payment deadline
|
||||
* (or that there was a full refund and thus there is no aggregation)
|
||||
* Conceptual issue: how do we deal with deposits that we already checked
|
||||
* in the past? => Need a very separate check / pass for this!
|
||||
* - BEAUTIFY: write reporting logic to output nice report beyond GNUNET_log()
|
||||
* - write logic to deal with emergency (#3887) -- and emergency-related tables!
|
||||
*/
|
||||
#include "platform.h"
|
||||
#include <gnunet/gnunet_util_lib.h>
|
||||
@ -416,18 +419,6 @@ struct ReserveSummary
|
||||
*/
|
||||
struct GNUNET_TIME_Absolute a_expiration_date;
|
||||
|
||||
/**
|
||||
* Previous last processed reserve_in serial ID, as remembered by the auditor.
|
||||
* (updated on-the-fly in #handle_reserve_in()).
|
||||
*/
|
||||
uint64_t a_last_reserve_in_serial_id;
|
||||
|
||||
/**
|
||||
* Previous last processed reserve_out serial ID, as remembered by the auditor.
|
||||
* (updated on-the-fly in #handle_reserve_out()).
|
||||
*/
|
||||
uint64_t a_last_reserve_out_serial_id;
|
||||
|
||||
/**
|
||||
* Did we have a previous reserve info? Used to decide between
|
||||
* UPDATE and INSERT later. Initialized in
|
||||
@ -460,9 +451,7 @@ load_auditor_reserve_summary (struct ReserveSummary *rs)
|
||||
&rowid,
|
||||
&rs->a_balance,
|
||||
&rs->a_withdraw_fee_balance,
|
||||
&rs->a_expiration_date,
|
||||
&rs->a_last_reserve_in_serial_id,
|
||||
&rs->a_last_reserve_out_serial_id);
|
||||
&rs->a_expiration_date);
|
||||
if (GNUNET_SYSERR == ret)
|
||||
{
|
||||
GNUNET_break (0);
|
||||
@ -585,8 +574,6 @@ handle_reserve_in (void *cls,
|
||||
&rs->total_in,
|
||||
credit));
|
||||
}
|
||||
GNUNET_assert (rowid >= rs->a_last_reserve_in_serial_id);
|
||||
rs->a_last_reserve_in_serial_id = rowid + 1;
|
||||
expiry = GNUNET_TIME_absolute_add (execution_date,
|
||||
TALER_IDLE_RESERVE_EXPIRATION_TIME);
|
||||
rs->a_expiration_date = GNUNET_TIME_absolute_max (rs->a_expiration_date,
|
||||
@ -718,8 +705,6 @@ handle_reserve_out (void *cls,
|
||||
&rs->total_out,
|
||||
amount_with_fee));
|
||||
}
|
||||
GNUNET_assert (rowid >= rs->a_last_reserve_out_serial_id);
|
||||
rs->a_last_reserve_out_serial_id = rowid + 1;
|
||||
|
||||
TALER_amount_ntoh (&withdraw_fee,
|
||||
&dki->properties.fee_withdraw);
|
||||
@ -862,9 +847,7 @@ verify_reserve_balance (void *cls,
|
||||
&master_pub,
|
||||
&balance,
|
||||
&rs->a_withdraw_fee_balance,
|
||||
rs->a_expiration_date,
|
||||
rs->a_last_reserve_in_serial_id,
|
||||
rs->a_last_reserve_out_serial_id);
|
||||
rs->a_expiration_date);
|
||||
else
|
||||
ret = adb->insert_reserve_info (adb->cls,
|
||||
asession,
|
||||
@ -872,9 +855,7 @@ verify_reserve_balance (void *cls,
|
||||
&master_pub,
|
||||
&balance,
|
||||
&rs->a_withdraw_fee_balance,
|
||||
rs->a_expiration_date,
|
||||
rs->a_last_reserve_in_serial_id,
|
||||
rs->a_last_reserve_out_serial_id);
|
||||
rs->a_expiration_date);
|
||||
|
||||
if ( (GNUNET_YES !=
|
||||
TALER_amount_add (&rc->total_balance,
|
||||
@ -1203,9 +1184,9 @@ sync_denomination (void *cls,
|
||||
int ret;
|
||||
|
||||
|
||||
// FIXME: if expired, insert remaining balance historic denomination revenue,
|
||||
// COMPLETE: if expired, insert remaining balance historic denomination revenue,
|
||||
// DELETE denomination balance, and REDUCE cc->risk exposure!
|
||||
if (0)
|
||||
if (0 /* COMPLETE: add expiration check! */)
|
||||
{
|
||||
if (ds->in_db)
|
||||
ret = adb->del_denomination_balance (adb->cls,
|
||||
@ -1306,7 +1287,7 @@ free_coin (void *cls,
|
||||
* @param coin_pub public key of the coin to get information about
|
||||
* @return NULL on error
|
||||
*/
|
||||
// FIXME: replace by something that just gets the denomination hash!
|
||||
// OPTIMIZE/SIMPLIFY: replace by something that just gets the denomination hash!
|
||||
// (makes this part WAY more efficient!)
|
||||
static struct CoinSummary *
|
||||
get_coin_summary (struct CoinContext *cc,
|
||||
@ -1774,10 +1755,6 @@ deposit_cb (void *cls,
|
||||
}
|
||||
}
|
||||
|
||||
/* TODO: *if* past pay_deadline, check that aggregation record
|
||||
exists for the deposit, and if NOT, check that full _refund_
|
||||
exists. */
|
||||
|
||||
return GNUNET_OK;
|
||||
}
|
||||
|
||||
@ -1903,7 +1880,7 @@ analyze_coins (void *cls)
|
||||
|
||||
/* setup 'cc' */
|
||||
cc.ret = GNUNET_OK;
|
||||
// FIXME: FIX misnomer "denomination_summary", as this is no longer exactly about denominations!
|
||||
// SANITY: FIX misnomer "denomination_summary", as this is no longer exactly about denominations!
|
||||
dret = adb->get_denomination_summary (adb->cls,
|
||||
asession,
|
||||
&master_pub,
|
||||
@ -1945,7 +1922,7 @@ analyze_coins (void *cls)
|
||||
if (GNUNET_OK !=
|
||||
edb->select_reserves_out_above_serial_id (edb->cls,
|
||||
esession,
|
||||
42LL, // FIXME
|
||||
pp.last_reserve_out_serial_id,
|
||||
&withdraw_cb,
|
||||
&cc))
|
||||
{
|
||||
@ -1957,7 +1934,7 @@ analyze_coins (void *cls)
|
||||
if (GNUNET_OK !=
|
||||
edb->select_refreshs_above_serial_id (edb->cls,
|
||||
esession,
|
||||
42LL, // FIXME
|
||||
pp.last_melt_serial_id,
|
||||
&refresh_session_cb,
|
||||
&cc))
|
||||
{
|
||||
@ -1969,7 +1946,7 @@ analyze_coins (void *cls)
|
||||
if (GNUNET_OK !=
|
||||
edb->select_deposits_above_serial_id (edb->cls,
|
||||
esession,
|
||||
42LL, // FIXME
|
||||
pp.last_deposit_serial_id,
|
||||
&deposit_cb,
|
||||
&cc))
|
||||
{
|
||||
@ -1981,7 +1958,7 @@ analyze_coins (void *cls)
|
||||
if (GNUNET_OK !=
|
||||
edb->select_refunds_above_serial_id (edb->cls,
|
||||
esession,
|
||||
42LL, // FIXME
|
||||
pp.last_refund_serial_id,
|
||||
&refund_cb,
|
||||
&cc))
|
||||
{
|
||||
@ -1999,7 +1976,7 @@ analyze_coins (void *cls)
|
||||
&cc);
|
||||
GNUNET_CONTAINER_multihashmap_destroy (cc.coins);
|
||||
|
||||
// FIXME: FIX misnomer "denomination_summary", as this is no longer about denominations!
|
||||
// SANITY: FIX misnomer "denomination_summary", as this is no longer about denominations!
|
||||
if (GNUNET_YES == dret)
|
||||
dret = adb->update_denomination_summary (adb->cls,
|
||||
asession,
|
||||
@ -2547,7 +2524,7 @@ analyze_merchants (void *cls)
|
||||
if (GNUNET_SYSERR ==
|
||||
edb->select_wire_out_above_serial_id (edb->cls,
|
||||
esession,
|
||||
42 /* FIXME */,
|
||||
pp.last_wire_out_serial_id,
|
||||
&check_wire_out_cb,
|
||||
&mc))
|
||||
{
|
||||
@ -2618,7 +2595,7 @@ incremental_processing (Analysis analysis,
|
||||
(unsigned long long) pp.last_deposit_serial_id,
|
||||
(unsigned long long) pp.last_melt_serial_id,
|
||||
(unsigned long long) pp.last_refund_serial_id,
|
||||
(unsigned long long) pp.last_prewire_serial_id);
|
||||
(unsigned long long) pp.last_wire_out_serial_id);
|
||||
}
|
||||
ret = analysis (analysis_cls);
|
||||
if (GNUNET_OK != ret)
|
||||
@ -2643,7 +2620,7 @@ incremental_processing (Analysis analysis,
|
||||
(unsigned long long) pp.last_deposit_serial_id,
|
||||
(unsigned long long) pp.last_melt_serial_id,
|
||||
(unsigned long long) pp.last_refund_serial_id,
|
||||
(unsigned long long) pp.last_prewire_serial_id);
|
||||
(unsigned long long) pp.last_wire_out_serial_id);
|
||||
return GNUNET_OK;
|
||||
}
|
||||
|
||||
|
@ -279,7 +279,7 @@ postgres_create_tables (void *cls)
|
||||
",last_deposit_serial_id INT8 NOT NULL"
|
||||
",last_melt_serial_id INT8 NOT NULL"
|
||||
",last_refund_serial_id INT8 NOT NULL"
|
||||
",last_prewire_serial_id INT8 NOT NULL"
|
||||
",last_wire_out_serial_id INT8 NOT NULL"
|
||||
")");
|
||||
|
||||
/* Table with all of the customer reserves and their respective
|
||||
@ -298,8 +298,6 @@ postgres_create_tables (void *cls)
|
||||
",withdraw_fee_balance_frac INT4 NOT NULL"
|
||||
",withdraw_fee_balance_curr VARCHAR("TALER_CURRENCY_LEN_STR") NOT NULL"
|
||||
",expiration_date INT8 NOT NULL"
|
||||
",last_reserve_in_serial_id INT8 NOT NULL"
|
||||
",last_reserve_out_serial_id INT8 NOT NULL"
|
||||
",auditor_reserves_rowid BIGSERIAL"
|
||||
")");
|
||||
|
||||
@ -552,7 +550,7 @@ postgres_prepare (PGconn *db_conn)
|
||||
",last_deposit_serial_id"
|
||||
",last_melt_serial_id"
|
||||
",last_refund_serial_id"
|
||||
",last_prewire_serial_id"
|
||||
",last_wire_out_serial_id"
|
||||
") VALUES ($1,$2,$3,$4,$5,$6,$7);",
|
||||
7, NULL);
|
||||
|
||||
@ -564,7 +562,7 @@ postgres_prepare (PGconn *db_conn)
|
||||
",last_deposit_serial_id=$3"
|
||||
",last_melt_serial_id=$4"
|
||||
",last_refund_serial_id=$5"
|
||||
",last_prewire_serial_id=$6"
|
||||
",last_wire_out_serial_id=$6"
|
||||
" WHERE master_pub=$7",
|
||||
7, NULL);
|
||||
|
||||
@ -576,7 +574,7 @@ postgres_prepare (PGconn *db_conn)
|
||||
",last_deposit_serial_id"
|
||||
",last_melt_serial_id"
|
||||
",last_refund_serial_id"
|
||||
",last_prewire_serial_id"
|
||||
",last_wire_out_serial_id"
|
||||
" FROM auditor_progress"
|
||||
" WHERE master_pub=$1;",
|
||||
1, NULL);
|
||||
@ -593,10 +591,8 @@ postgres_prepare (PGconn *db_conn)
|
||||
",withdraw_fee_balance_frac"
|
||||
",withdraw_fee_balance_curr"
|
||||
",expiration_date"
|
||||
",last_reserve_in_serial_id"
|
||||
",last_reserve_out_serial_id"
|
||||
") VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11);",
|
||||
11, NULL);
|
||||
") VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9);",
|
||||
9, NULL);
|
||||
|
||||
/* Used in #postgres_update_reserve_info() */
|
||||
PREPARE ("auditor_reserves_update",
|
||||
@ -608,10 +604,8 @@ postgres_prepare (PGconn *db_conn)
|
||||
",withdraw_fee_balance_frac=$5"
|
||||
",withdraw_fee_balance_curr=$6"
|
||||
",expiration_date=$7"
|
||||
",last_reserve_in_serial_id=$8"
|
||||
",last_reserve_out_serial_id=$9"
|
||||
" WHERE reserve_pub=$10 AND master_pub=$11;",
|
||||
11, NULL);
|
||||
" WHERE reserve_pub=$8 AND master_pub=$9;",
|
||||
9, NULL);
|
||||
|
||||
/* Used in #postgres_get_reserve_info() */
|
||||
PREPARE ("auditor_reserves_select",
|
||||
@ -623,8 +617,6 @@ postgres_prepare (PGconn *db_conn)
|
||||
",withdraw_fee_balance_frac"
|
||||
",withdraw_fee_balance_curr"
|
||||
",expiration_date"
|
||||
",last_reserve_in_serial_id"
|
||||
",last_reserve_out_serial_id"
|
||||
",auditor_reserves_rowid"
|
||||
" FROM auditor_reserves"
|
||||
" WHERE reserve_pub=$1 AND master_pub=$2;",
|
||||
@ -1278,7 +1270,7 @@ postgres_insert_auditor_progress (void *cls,
|
||||
GNUNET_PQ_query_param_uint64 (&pp->last_deposit_serial_id),
|
||||
GNUNET_PQ_query_param_uint64 (&pp->last_melt_serial_id),
|
||||
GNUNET_PQ_query_param_uint64 (&pp->last_refund_serial_id),
|
||||
GNUNET_PQ_query_param_uint64 (&pp->last_prewire_serial_id),
|
||||
GNUNET_PQ_query_param_uint64 (&pp->last_wire_out_serial_id),
|
||||
GNUNET_PQ_query_param_end
|
||||
};
|
||||
int ret;
|
||||
@ -1323,7 +1315,7 @@ postgres_update_auditor_progress (void *cls,
|
||||
GNUNET_PQ_query_param_uint64 (&pp->last_deposit_serial_id),
|
||||
GNUNET_PQ_query_param_uint64 (&pp->last_melt_serial_id),
|
||||
GNUNET_PQ_query_param_uint64 (&pp->last_refund_serial_id),
|
||||
GNUNET_PQ_query_param_uint64 (&pp->last_prewire_serial_id),
|
||||
GNUNET_PQ_query_param_uint64 (&pp->last_wire_out_serial_id),
|
||||
GNUNET_PQ_query_param_auto_from_type (master_pub),
|
||||
GNUNET_PQ_query_param_end
|
||||
};
|
||||
@ -1373,7 +1365,7 @@ postgres_get_auditor_progress (void *cls,
|
||||
GNUNET_PQ_result_spec_uint64 ("last_deposit_serial_id", &pp->last_deposit_serial_id),
|
||||
GNUNET_PQ_result_spec_uint64 ("last_melt_serial_id", &pp->last_melt_serial_id),
|
||||
GNUNET_PQ_result_spec_uint64 ("last_refund_serial_id", &pp->last_refund_serial_id),
|
||||
GNUNET_PQ_result_spec_uint64 ("last_prewire_serial_id", &pp->last_prewire_serial_id),
|
||||
GNUNET_PQ_result_spec_uint64 ("last_wire_out_serial_id", &pp->last_wire_out_serial_id),
|
||||
GNUNET_PQ_result_spec_end
|
||||
};
|
||||
|
||||
@ -1424,10 +1416,6 @@ postgres_get_auditor_progress (void *cls,
|
||||
* @param withdraw_fee_balance amount the exchange gained in withdraw fees
|
||||
* due to withdrawals from this reserve
|
||||
* @param expiration_date expiration date of the reserve
|
||||
* @param last_reserve_in_serial_id up to which point did we consider
|
||||
* incoming transfers for the above information
|
||||
* @param last_reserve_out_serial_id up to which point did we consider
|
||||
* withdrawals for the above information
|
||||
* @return #GNUNET_OK on success; #GNUNET_SYSERR on failure
|
||||
*/
|
||||
static int
|
||||
@ -1437,9 +1425,7 @@ postgres_insert_reserve_info (void *cls,
|
||||
const struct TALER_MasterPublicKeyP *master_pub,
|
||||
const struct TALER_Amount *reserve_balance,
|
||||
const struct TALER_Amount *withdraw_fee_balance,
|
||||
struct GNUNET_TIME_Absolute expiration_date,
|
||||
uint64_t last_reserve_in_serial_id,
|
||||
uint64_t last_reserve_out_serial_id)
|
||||
struct GNUNET_TIME_Absolute expiration_date)
|
||||
{
|
||||
PGresult *result;
|
||||
int ret;
|
||||
@ -1449,8 +1435,6 @@ postgres_insert_reserve_info (void *cls,
|
||||
TALER_PQ_query_param_amount (reserve_balance),
|
||||
TALER_PQ_query_param_amount (withdraw_fee_balance),
|
||||
GNUNET_PQ_query_param_auto_from_type (&expiration_date),
|
||||
GNUNET_PQ_query_param_uint64 (&last_reserve_in_serial_id),
|
||||
GNUNET_PQ_query_param_uint64 (&last_reserve_out_serial_id),
|
||||
GNUNET_PQ_query_param_end
|
||||
};
|
||||
|
||||
@ -1487,10 +1471,6 @@ postgres_insert_reserve_info (void *cls,
|
||||
* @param withdraw_fee_balance amount the exchange gained in withdraw fees
|
||||
* due to withdrawals from this reserve
|
||||
* @param expiration_date expiration date of the reserve
|
||||
* @param last_reserve_in_serial_id up to which point did we consider
|
||||
* incoming transfers for the above information
|
||||
* @param last_reserve_out_serial_id up to which point did we consider
|
||||
* withdrawals for the above information
|
||||
* @return #GNUNET_OK on success; #GNUNET_SYSERR on failure
|
||||
*/
|
||||
static int
|
||||
@ -1500,9 +1480,7 @@ postgres_update_reserve_info (void *cls,
|
||||
const struct TALER_MasterPublicKeyP *master_pub,
|
||||
const struct TALER_Amount *reserve_balance,
|
||||
const struct TALER_Amount *withdraw_fee_balance,
|
||||
struct GNUNET_TIME_Absolute expiration_date,
|
||||
uint64_t last_reserve_in_serial_id,
|
||||
uint64_t last_reserve_out_serial_id)
|
||||
struct GNUNET_TIME_Absolute expiration_date)
|
||||
{
|
||||
PGresult *result;
|
||||
int ret;
|
||||
@ -1510,8 +1488,6 @@ postgres_update_reserve_info (void *cls,
|
||||
TALER_PQ_query_param_amount (reserve_balance),
|
||||
TALER_PQ_query_param_amount (withdraw_fee_balance),
|
||||
GNUNET_PQ_query_param_auto_from_type (&expiration_date),
|
||||
GNUNET_PQ_query_param_uint64 (&last_reserve_in_serial_id),
|
||||
GNUNET_PQ_query_param_uint64 (&last_reserve_out_serial_id),
|
||||
GNUNET_PQ_query_param_auto_from_type (reserve_pub),
|
||||
GNUNET_PQ_query_param_auto_from_type (master_pub),
|
||||
GNUNET_PQ_query_param_end
|
||||
@ -1591,10 +1567,6 @@ postgres_del_reserve_info (void *cls,
|
||||
* @param[out] withdraw_fee_balance amount the exchange gained in withdraw fees
|
||||
* due to withdrawals from this reserve
|
||||
* @param[out] expiration_date expiration date of the reserve
|
||||
* @param[out] last_reserve_in_serial_id up to which point did we consider
|
||||
* incoming transfers for the above information
|
||||
* @param[out] last_reserve_out_serial_id up to which point did we consider
|
||||
* withdrawals for the above information
|
||||
* @return #GNUNET_OK on success; #GNUNET_NO if there is no known
|
||||
* record about this reserve; #GNUNET_SYSERR on failure
|
||||
*/
|
||||
@ -1606,9 +1578,7 @@ postgres_get_reserve_info (void *cls,
|
||||
uint64_t *rowid,
|
||||
struct TALER_Amount *reserve_balance,
|
||||
struct TALER_Amount *withdraw_fee_balance,
|
||||
struct GNUNET_TIME_Absolute *expiration_date,
|
||||
uint64_t *last_reserve_in_serial_id,
|
||||
uint64_t *last_reserve_out_serial_id)
|
||||
struct GNUNET_TIME_Absolute *expiration_date)
|
||||
{
|
||||
struct GNUNET_PQ_QueryParam params[] = {
|
||||
GNUNET_PQ_query_param_auto_from_type (reserve_pub),
|
||||
@ -1641,8 +1611,6 @@ postgres_get_reserve_info (void *cls,
|
||||
TALER_PQ_result_spec_amount ("reserve_balance", reserve_balance),
|
||||
TALER_PQ_result_spec_amount ("withdraw_fee_balance", withdraw_fee_balance),
|
||||
GNUNET_PQ_result_spec_auto_from_type ("expiration_date", expiration_date),
|
||||
GNUNET_PQ_result_spec_uint64 ("last_reserve_in_serial_id", last_reserve_in_serial_id),
|
||||
GNUNET_PQ_result_spec_uint64 ("last_reserve_out_serial_id", last_reserve_out_serial_id),
|
||||
GNUNET_PQ_result_spec_uint64 ("auditor_reserves_rowid", rowid),
|
||||
GNUNET_PQ_result_spec_end
|
||||
};
|
||||
|
@ -208,7 +208,7 @@ run (void *cls)
|
||||
.last_deposit_serial_id = 123,
|
||||
.last_melt_serial_id = 456,
|
||||
.last_refund_serial_id = 789,
|
||||
.last_prewire_serial_id = 555
|
||||
.last_wire_out_serial_id = 555
|
||||
};
|
||||
struct TALER_AUDITORDB_ProgressPoint pp2 = {
|
||||
.last_reserve_in_serial_id = 0,
|
||||
@ -216,7 +216,7 @@ run (void *cls)
|
||||
.last_deposit_serial_id = 0,
|
||||
.last_melt_serial_id = 0,
|
||||
.last_refund_serial_id = 0,
|
||||
.last_prewire_serial_id = 0
|
||||
.last_wire_out_serial_id = 0
|
||||
};
|
||||
|
||||
FAILIF (GNUNET_OK !=
|
||||
@ -232,7 +232,7 @@ run (void *cls)
|
||||
pp.last_deposit_serial_id++;
|
||||
pp.last_melt_serial_id++;
|
||||
pp.last_refund_serial_id++;
|
||||
pp.last_prewire_serial_id++;
|
||||
pp.last_wire_out_serial_id++;
|
||||
|
||||
FAILIF (GNUNET_OK !=
|
||||
plugin->update_auditor_progress (plugin->cls,
|
||||
@ -253,7 +253,7 @@ run (void *cls)
|
||||
(pp.last_deposit_serial_id != pp2.last_deposit_serial_id) ||
|
||||
(pp.last_melt_serial_id != pp2.last_melt_serial_id) ||
|
||||
(pp.last_refund_serial_id != pp2.last_refund_serial_id) ||
|
||||
(pp.last_prewire_serial_id != pp2.last_prewire_serial_id) );
|
||||
(pp.last_wire_out_serial_id != pp2.last_wire_out_serial_id) );
|
||||
|
||||
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
|
||||
"Test: insert_reserve_info\n");
|
||||
@ -275,16 +275,11 @@ run (void *cls)
|
||||
&master_pub,
|
||||
&reserve_balance,
|
||||
&withdraw_fee_balance,
|
||||
past,
|
||||
pp.last_reserve_in_serial_id,
|
||||
pp.last_reserve_out_serial_id));
|
||||
past));
|
||||
|
||||
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
|
||||
"Test: update_reserve_info\n");
|
||||
|
||||
pp.last_reserve_in_serial_id++;
|
||||
pp.last_reserve_out_serial_id++;
|
||||
|
||||
FAILIF (GNUNET_OK !=
|
||||
plugin->update_reserve_info (plugin->cls,
|
||||
session,
|
||||
@ -292,9 +287,7 @@ run (void *cls)
|
||||
&master_pub,
|
||||
&reserve_balance,
|
||||
&withdraw_fee_balance,
|
||||
future,
|
||||
pp.last_reserve_in_serial_id,
|
||||
pp.last_reserve_out_serial_id));
|
||||
future));
|
||||
|
||||
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
|
||||
"Test: get_reserve_info\n");
|
||||
@ -307,15 +300,11 @@ run (void *cls)
|
||||
&rowid,
|
||||
&reserve_balance2,
|
||||
&withdraw_fee_balance2,
|
||||
&date,
|
||||
&pp2.last_reserve_in_serial_id,
|
||||
&pp2.last_reserve_out_serial_id));
|
||||
&date));
|
||||
|
||||
FAILIF (0 != memcmp (&date, &future, sizeof (future))
|
||||
|| 0 != memcmp (&reserve_balance2, &reserve_balance, sizeof (reserve_balance))
|
||||
|| 0 != memcmp (&withdraw_fee_balance2, &withdraw_fee_balance, sizeof (withdraw_fee_balance))
|
||||
|| pp2.last_reserve_in_serial_id != pp.last_reserve_in_serial_id
|
||||
|| pp2.last_reserve_out_serial_id != pp.last_reserve_out_serial_id);
|
||||
|| 0 != memcmp (&withdraw_fee_balance2, &withdraw_fee_balance, sizeof (withdraw_fee_balance)));
|
||||
|
||||
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
|
||||
"Test: insert_reserve_summary\n");
|
||||
|
@ -146,11 +146,7 @@ struct TALER_AUDITORDB_ProgressPoint
|
||||
/**
|
||||
* last_prewire_serial_id serial ID of the last prewire transfer the auditor processed
|
||||
*/
|
||||
uint64_t last_prewire_serial_id;
|
||||
|
||||
// FIXME: the above does not quite work, as independent transactions
|
||||
// touch certain tables (i.e. reserves_out), so we need some of
|
||||
// these counters more than once!
|
||||
uint64_t last_wire_out_serial_id;
|
||||
|
||||
};
|
||||
|
||||
@ -358,10 +354,6 @@ struct TALER_AUDITORDB_Plugin
|
||||
* @param withdraw_fee_balance amount the exchange gained in withdraw fees
|
||||
* due to withdrawals from this reserve
|
||||
* @param expiration_date expiration date of the reserve
|
||||
* @param last_reserve_in_serial_id up to which point did we consider
|
||||
* incoming transfers for the above information
|
||||
* @param last_reserve_out_serial_id up to which point did we consider
|
||||
* withdrawals for the above information
|
||||
* @return #GNUNET_OK on success; #GNUNET_SYSERR on failure
|
||||
*/
|
||||
int
|
||||
@ -371,9 +363,7 @@ struct TALER_AUDITORDB_Plugin
|
||||
const struct TALER_MasterPublicKeyP *master_pub,
|
||||
const struct TALER_Amount *reserve_balance,
|
||||
const struct TALER_Amount *withdraw_fee_balance,
|
||||
struct GNUNET_TIME_Absolute expiration_date,
|
||||
uint64_t last_reserve_in_serial_id,
|
||||
uint64_t last_reserve_out_serial_id);
|
||||
struct GNUNET_TIME_Absolute expiration_date);
|
||||
|
||||
|
||||
/**
|
||||
@ -388,10 +378,6 @@ struct TALER_AUDITORDB_Plugin
|
||||
* @param withdraw_fee_balance amount the exchange gained in withdraw fees
|
||||
* due to withdrawals from this reserve
|
||||
* @param expiration_date expiration date of the reserve
|
||||
* @param last_reserve_in_serial_id up to which point did we consider
|
||||
* incoming transfers for the above information
|
||||
* @param last_reserve_out_serial_id up to which point did we consider
|
||||
* withdrawals for the above information
|
||||
* @return #GNUNET_OK on success; #GNUNET_SYSERR on failure
|
||||
*/
|
||||
int
|
||||
@ -401,9 +387,7 @@ struct TALER_AUDITORDB_Plugin
|
||||
const struct TALER_MasterPublicKeyP *master_pub,
|
||||
const struct TALER_Amount *reserve_balance,
|
||||
const struct TALER_Amount *withdraw_fee_balance,
|
||||
struct GNUNET_TIME_Absolute expiration_date,
|
||||
uint64_t last_reserve_in_serial_id,
|
||||
uint64_t last_reserve_out_serial_id);
|
||||
struct GNUNET_TIME_Absolute expiration_date);
|
||||
|
||||
|
||||
/**
|
||||
@ -418,10 +402,6 @@ struct TALER_AUDITORDB_Plugin
|
||||
* @param[out] withdraw_fee_balance amount the exchange gained in withdraw fees
|
||||
* due to withdrawals from this reserve
|
||||
* @param[out] expiration_date expiration date of the reserve
|
||||
* @param[out] last_reserve_in_serial_id up to which point did we consider
|
||||
* incoming transfers for the above information
|
||||
* @param[out] last_reserve_out_serial_id up to which point did we consider
|
||||
* withdrawals for the above information
|
||||
* @return #GNUNET_OK on success; #GNUNET_NO if there is no known
|
||||
* record about this reserve; #GNUNET_SYSERR on failure
|
||||
*/
|
||||
@ -433,9 +413,7 @@ struct TALER_AUDITORDB_Plugin
|
||||
uint64_t *rowid,
|
||||
struct TALER_Amount *reserve_balance,
|
||||
struct TALER_Amount *withdraw_fee_balance,
|
||||
struct GNUNET_TIME_Absolute *expiration_date,
|
||||
uint64_t *last_reserve_in_serial_id,
|
||||
uint64_t *last_reserve_out_serial_id);
|
||||
struct GNUNET_TIME_Absolute *expiration_date);
|
||||
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user