remove dead transfer details field from reserves_in (API, exchangedb, etc.)
This commit is contained in:
parent
2dcaffe451
commit
20aad54c3e
@ -614,7 +614,6 @@ struct ReserveContext
|
|||||||
* @param reserve_pub public key of the reserve (also the WTID)
|
* @param reserve_pub public key of the reserve (also the WTID)
|
||||||
* @param credit amount that was received
|
* @param credit amount that was received
|
||||||
* @param sender_account_details information about the sender's bank account
|
* @param sender_account_details information about the sender's bank account
|
||||||
* @param transfer_details information that uniquely identifies the wire transfer
|
|
||||||
* @param wire_reference unique reference identifying the wire transfer (binary blob)
|
* @param wire_reference unique reference identifying the wire transfer (binary blob)
|
||||||
* @param wire_reference_size number of bytes in @a wire_reference
|
* @param wire_reference_size number of bytes in @a wire_reference
|
||||||
* @param execution_date when did we receive the funds
|
* @param execution_date when did we receive the funds
|
||||||
@ -626,7 +625,6 @@ handle_reserve_in (void *cls,
|
|||||||
const struct TALER_ReservePublicKeyP *reserve_pub,
|
const struct TALER_ReservePublicKeyP *reserve_pub,
|
||||||
const struct TALER_Amount *credit,
|
const struct TALER_Amount *credit,
|
||||||
const json_t *sender_account_details,
|
const json_t *sender_account_details,
|
||||||
const json_t *transfer_details,
|
|
||||||
const void *wire_reference,
|
const void *wire_reference,
|
||||||
size_t wire_reference_size,
|
size_t wire_reference_size,
|
||||||
struct GNUNET_TIME_Absolute execution_date)
|
struct GNUNET_TIME_Absolute execution_date)
|
||||||
|
@ -138,7 +138,17 @@ parse_reserve_history (struct TALER_EXCHANGE_Handle *exchange,
|
|||||||
"DEPOSIT"))
|
"DEPOSIT"))
|
||||||
{
|
{
|
||||||
json_t *wire_account;
|
json_t *wire_account;
|
||||||
json_t *transfer;
|
void *wire_reference;
|
||||||
|
size_t wire_reference_size;
|
||||||
|
|
||||||
|
struct GNUNET_JSON_Specification withdraw_spec[] = {
|
||||||
|
GNUNET_JSON_spec_varsize ("wire_reference",
|
||||||
|
&wire_reference,
|
||||||
|
&wire_reference_size),
|
||||||
|
GNUNET_JSON_spec_json ("sender_account_details",
|
||||||
|
&wire_account),
|
||||||
|
GNUNET_JSON_spec_end()
|
||||||
|
};
|
||||||
|
|
||||||
rhistory[off].type = TALER_EXCHANGE_RTT_DEPOSIT;
|
rhistory[off].type = TALER_EXCHANGE_RTT_DEPOSIT;
|
||||||
if (GNUNET_OK !=
|
if (GNUNET_OK !=
|
||||||
@ -150,33 +160,17 @@ parse_reserve_history (struct TALER_EXCHANGE_Handle *exchange,
|
|||||||
GNUNET_break_op (0);
|
GNUNET_break_op (0);
|
||||||
return GNUNET_SYSERR;
|
return GNUNET_SYSERR;
|
||||||
}
|
}
|
||||||
wire_account = json_object_get (transaction,
|
if (GNUNET_OK !=
|
||||||
"sender_account_details");
|
GNUNET_JSON_parse (transaction,
|
||||||
/* check 'wire_account' is a JSON object (no need to check wireformat,
|
withdraw_spec,
|
||||||
but we do at least expect "some" JSON object here) */
|
NULL, NULL))
|
||||||
if ( (NULL == wire_account) ||
|
|
||||||
(! json_is_object (wire_account)) )
|
|
||||||
{
|
|
||||||
/* not even a JSON 'wire' specification, not acceptable */
|
|
||||||
GNUNET_break_op (0);
|
|
||||||
if (NULL != wire_account)
|
|
||||||
json_decref (wire_account);
|
|
||||||
return GNUNET_SYSERR;
|
|
||||||
}
|
|
||||||
transfer = json_object_get (transaction,
|
|
||||||
"transfer_details");
|
|
||||||
/* check 'transfer' is a JSON object */
|
|
||||||
if ( (NULL == transfer) ||
|
|
||||||
(! json_is_object (transfer)) )
|
|
||||||
{
|
{
|
||||||
GNUNET_break_op (0);
|
GNUNET_break_op (0);
|
||||||
json_decref (wire_account);
|
|
||||||
if (NULL != transfer)
|
|
||||||
json_decref (transfer);
|
|
||||||
return GNUNET_SYSERR;
|
return GNUNET_SYSERR;
|
||||||
}
|
}
|
||||||
rhistory[off].details.in_details.sender_account_details = wire_account;
|
rhistory[off].details.in_details.sender_account_details = wire_account;
|
||||||
rhistory[off].details.in_details.transfer_details = transfer;
|
rhistory[off].details.in_details.wire_reference = wire_reference;
|
||||||
|
rhistory[off].details.in_details.wire_reference_size = wire_reference_size;
|
||||||
/* end type==DEPOSIT */
|
/* end type==DEPOSIT */
|
||||||
}
|
}
|
||||||
else if (0 == strcasecmp (type,
|
else if (0 == strcasecmp (type,
|
||||||
|
@ -80,6 +80,7 @@ run_transaction (const struct TALER_ReservePublicKeyP *reserve_pub,
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct TALER_EXCHANGEDB_Session *session;
|
struct TALER_EXCHANGEDB_Session *session;
|
||||||
|
void *json_str;
|
||||||
|
|
||||||
session = plugin->get_session (plugin->cls);
|
session = plugin->get_session (plugin->cls);
|
||||||
if (NULL == session)
|
if (NULL == session)
|
||||||
@ -89,15 +90,22 @@ run_transaction (const struct TALER_ReservePublicKeyP *reserve_pub,
|
|||||||
return GNUNET_SYSERR;
|
return GNUNET_SYSERR;
|
||||||
}
|
}
|
||||||
/* FIXME: maybe allow passing timestamp via command-line? */
|
/* FIXME: maybe allow passing timestamp via command-line? */
|
||||||
|
json_str = json_dumps (tdetails,
|
||||||
|
JSON_INDENT(2));
|
||||||
|
if (NULL == json_str)
|
||||||
|
{
|
||||||
|
GNUNET_break (0); /* out of memory? */
|
||||||
|
return GNUNET_SYSERR;
|
||||||
|
}
|
||||||
ret = plugin->reserves_in_insert (plugin->cls,
|
ret = plugin->reserves_in_insert (plugin->cls,
|
||||||
session,
|
session,
|
||||||
reserve_pub,
|
reserve_pub,
|
||||||
add_value,
|
add_value,
|
||||||
GNUNET_TIME_absolute_get (),
|
GNUNET_TIME_absolute_get (),
|
||||||
jdetails,
|
jdetails,
|
||||||
"FIXME",
|
json_str,
|
||||||
5,
|
strlen (json_str));
|
||||||
tdetails);
|
free (json_str);
|
||||||
if (GNUNET_SYSERR == ret)
|
if (GNUNET_SYSERR == ret)
|
||||||
{
|
{
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
|
@ -1867,6 +1867,7 @@ TEH_DB_execute_admin_add_incoming (struct MHD_Connection *connection,
|
|||||||
{
|
{
|
||||||
struct TALER_EXCHANGEDB_Session *session;
|
struct TALER_EXCHANGEDB_Session *session;
|
||||||
int ret;
|
int ret;
|
||||||
|
void *json_str;
|
||||||
|
|
||||||
if (NULL == (session = TEH_plugin->get_session (TEH_plugin->cls)))
|
if (NULL == (session = TEH_plugin->get_session (TEH_plugin->cls)))
|
||||||
{
|
{
|
||||||
@ -1874,15 +1875,23 @@ TEH_DB_execute_admin_add_incoming (struct MHD_Connection *connection,
|
|||||||
return TEH_RESPONSE_reply_internal_db_error (connection,
|
return TEH_RESPONSE_reply_internal_db_error (connection,
|
||||||
TALER_EC_DB_SETUP_FAILED);
|
TALER_EC_DB_SETUP_FAILED);
|
||||||
}
|
}
|
||||||
|
json_str = json_dumps (transfer_details,
|
||||||
|
JSON_INDENT(2));
|
||||||
|
if (NULL == json_str)
|
||||||
|
{
|
||||||
|
GNUNET_break (0);
|
||||||
|
return TEH_RESPONSE_reply_internal_db_error (connection,
|
||||||
|
TALER_EC_PARSER_OUT_OF_MEMORY);
|
||||||
|
}
|
||||||
ret = TEH_plugin->reserves_in_insert (TEH_plugin->cls,
|
ret = TEH_plugin->reserves_in_insert (TEH_plugin->cls,
|
||||||
session,
|
session,
|
||||||
reserve_pub,
|
reserve_pub,
|
||||||
amount,
|
amount,
|
||||||
execution_time,
|
execution_time,
|
||||||
sender_account_details,
|
sender_account_details,
|
||||||
"FIXME",
|
json_str,
|
||||||
5,
|
strlen (json_str));
|
||||||
transfer_details);
|
free (json_str);
|
||||||
if (GNUNET_SYSERR == ret)
|
if (GNUNET_SYSERR == ret)
|
||||||
{
|
{
|
||||||
GNUNET_break (0);
|
GNUNET_break (0);
|
||||||
|
@ -772,7 +772,8 @@ compile_reserve_history (const struct TALER_EXCHANGEDB_ReserveHistory *rh,
|
|||||||
json_pack ("{s:s, s:O, s:O, s:o}",
|
json_pack ("{s:s, s:O, s:O, s:o}",
|
||||||
"type", "DEPOSIT",
|
"type", "DEPOSIT",
|
||||||
"sender_account_details", pos->details.bank->sender_account_details,
|
"sender_account_details", pos->details.bank->sender_account_details,
|
||||||
"transfer_details", pos->details.bank->transfer_details,
|
"wire_reference", GNUNET_JSON_from_data (pos->details.bank->wire_reference,
|
||||||
|
pos->details.bank->wire_reference_size),
|
||||||
"amount", TALER_JSON_from_amount (&pos->details.bank->amount))));
|
"amount", TALER_JSON_from_amount (&pos->details.bank->amount))));
|
||||||
break;
|
break;
|
||||||
case TALER_EXCHANGEDB_RO_WITHDRAW_COIN:
|
case TALER_EXCHANGEDB_RO_WITHDRAW_COIN:
|
||||||
|
@ -238,7 +238,6 @@ history_cb (void *cls,
|
|||||||
NULL);
|
NULL);
|
||||||
return GNUNET_OK; /* will be ignored anyway */
|
return GNUNET_OK; /* will be ignored anyway */
|
||||||
}
|
}
|
||||||
// FIXME: create json!
|
|
||||||
ret = db_plugin->reserves_in_insert (db_plugin->cls,
|
ret = db_plugin->reserves_in_insert (db_plugin->cls,
|
||||||
session,
|
session,
|
||||||
&details->reserve_pub,
|
&details->reserve_pub,
|
||||||
@ -246,8 +245,7 @@ history_cb (void *cls,
|
|||||||
details->execution_date,
|
details->execution_date,
|
||||||
details->account_details,
|
details->account_details,
|
||||||
row_off,
|
row_off,
|
||||||
row_off_size,
|
row_off_size);
|
||||||
NULL /* FIXME */);
|
|
||||||
if (GNUNET_OK != ret)
|
if (GNUNET_OK != ret)
|
||||||
{
|
{
|
||||||
GNUNET_break (0);
|
GNUNET_break (0);
|
||||||
|
@ -1374,7 +1374,7 @@ interpret (struct PERF_TALER_EXCHANGEDB_interpreter_state *state)
|
|||||||
int ret;
|
int ret;
|
||||||
struct PERF_TALER_EXCHANGEDB_Reserve *reserve;
|
struct PERF_TALER_EXCHANGEDB_Reserve *reserve;
|
||||||
json_t *sndr;
|
json_t *sndr;
|
||||||
json_t *just;
|
uint32_t uid;
|
||||||
|
|
||||||
reserve_index = state->cmd[state->i].details.insert_reserve.index_reserve;
|
reserve_index = state->cmd[state->i].details.insert_reserve.index_reserve;
|
||||||
reserve = state->cmd[reserve_index].exposed.data.reserve;
|
reserve = state->cmd[reserve_index].exposed.data.reserve;
|
||||||
@ -1382,11 +1382,8 @@ interpret (struct PERF_TALER_EXCHANGEDB_interpreter_state *state)
|
|||||||
"account",
|
"account",
|
||||||
(int) GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK,
|
(int) GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK,
|
||||||
UINT32_MAX));
|
UINT32_MAX));
|
||||||
just = json_pack ("{s:i}",
|
uid = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK,
|
||||||
"justification",
|
UINT32_MAX);
|
||||||
(int) GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK,
|
|
||||||
UINT32_MAX));
|
|
||||||
GNUNET_assert (NULL != just);
|
|
||||||
GNUNET_assert (NULL != sndr);
|
GNUNET_assert (NULL != sndr);
|
||||||
ret = state->plugin->reserves_in_insert (state->plugin->cls,
|
ret = state->plugin->reserves_in_insert (state->plugin->cls,
|
||||||
state->session,
|
state->session,
|
||||||
@ -1394,12 +1391,10 @@ interpret (struct PERF_TALER_EXCHANGEDB_interpreter_state *state)
|
|||||||
&reserve->reserve.balance,
|
&reserve->reserve.balance,
|
||||||
GNUNET_TIME_absolute_get (),
|
GNUNET_TIME_absolute_get (),
|
||||||
sndr,
|
sndr,
|
||||||
"PERF",
|
&uid,
|
||||||
4,
|
sizeof (uid));
|
||||||
just);
|
|
||||||
GNUNET_assert (GNUNET_SYSERR != ret);
|
GNUNET_assert (GNUNET_SYSERR != ret);
|
||||||
json_decref (sndr);
|
json_decref (sndr);
|
||||||
json_decref (just);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1486,7 +1481,7 @@ interpret (struct PERF_TALER_EXCHANGEDB_interpreter_state *state)
|
|||||||
dki_index = state->cmd[state->i].details.create_withdraw.index_dki;
|
dki_index = state->cmd[state->i].details.create_withdraw.index_dki;
|
||||||
reserve_index = state->cmd[state->i].details.create_withdraw.index_reserve;
|
reserve_index = state->cmd[state->i].details.create_withdraw.index_reserve;
|
||||||
coin = PERF_TALER_EXCHANGEDB_coin_init (state->cmd[dki_index].exposed.data.dki,
|
coin = PERF_TALER_EXCHANGEDB_coin_init (state->cmd[dki_index].exposed.data.dki,
|
||||||
state->cmd[reserve_index].exposed.data.reserve);
|
state->cmd[reserve_index].exposed.data.reserve);
|
||||||
GNUNET_assert (NULL != coin);
|
GNUNET_assert (NULL != coin);
|
||||||
state->cmd[state->i].exposed.data.coin = coin;
|
state->cmd[state->i].exposed.data.coin = coin;
|
||||||
}
|
}
|
||||||
|
@ -44,8 +44,6 @@ common_free_reserve_history (void *cls,
|
|||||||
bt = rh->details.bank;
|
bt = rh->details.bank;
|
||||||
if (NULL != bt->sender_account_details)
|
if (NULL != bt->sender_account_details)
|
||||||
json_decref (bt->sender_account_details);
|
json_decref (bt->sender_account_details);
|
||||||
if (NULL != bt->transfer_details)
|
|
||||||
json_decref (bt->transfer_details);
|
|
||||||
GNUNET_free_non_null (bt->wire_reference);
|
GNUNET_free_non_null (bt->wire_reference);
|
||||||
GNUNET_free (bt);
|
GNUNET_free (bt);
|
||||||
break;
|
break;
|
||||||
|
@ -357,7 +357,6 @@ postgres_create_tables (void *cls)
|
|||||||
",credit_frac INT4 NOT NULL"
|
",credit_frac INT4 NOT NULL"
|
||||||
",credit_curr VARCHAR("TALER_CURRENCY_LEN_STR") NOT NULL"
|
",credit_curr VARCHAR("TALER_CURRENCY_LEN_STR") NOT NULL"
|
||||||
",sender_account_details TEXT NOT NULL"
|
",sender_account_details TEXT NOT NULL"
|
||||||
",transfer_details TEXT NOT NULL"
|
|
||||||
",execution_date INT8 NOT NULL"
|
",execution_date INT8 NOT NULL"
|
||||||
",PRIMARY KEY (reserve_pub, wire_reference)"
|
",PRIMARY KEY (reserve_pub, wire_reference)"
|
||||||
");");
|
");");
|
||||||
@ -764,11 +763,10 @@ postgres_prepare (PGconn *db_conn)
|
|||||||
",credit_frac"
|
",credit_frac"
|
||||||
",credit_curr"
|
",credit_curr"
|
||||||
",sender_account_details"
|
",sender_account_details"
|
||||||
",transfer_details"
|
|
||||||
",execution_date"
|
",execution_date"
|
||||||
") VALUES "
|
") VALUES "
|
||||||
"($1, $2, $3, $4, $5, $6, $7, $8);",
|
"($1, $2, $3, $4, $5, $6, $7);",
|
||||||
8, NULL);
|
7, NULL);
|
||||||
|
|
||||||
|
|
||||||
/* Used in postgres_select_reserves_in_above_serial_id() to obtain inbound
|
/* Used in postgres_select_reserves_in_above_serial_id() to obtain inbound
|
||||||
@ -782,7 +780,6 @@ postgres_prepare (PGconn *db_conn)
|
|||||||
",credit_curr"
|
",credit_curr"
|
||||||
",execution_date"
|
",execution_date"
|
||||||
",sender_account_details"
|
",sender_account_details"
|
||||||
",transfer_details"
|
|
||||||
",reserve_in_serial_id"
|
",reserve_in_serial_id"
|
||||||
" FROM reserves_in"
|
" FROM reserves_in"
|
||||||
" WHERE reserve_in_serial_id>=$1"
|
" WHERE reserve_in_serial_id>=$1"
|
||||||
@ -799,7 +796,6 @@ postgres_prepare (PGconn *db_conn)
|
|||||||
",credit_curr"
|
",credit_curr"
|
||||||
",execution_date"
|
",execution_date"
|
||||||
",sender_account_details"
|
",sender_account_details"
|
||||||
",transfer_details"
|
|
||||||
" FROM reserves_in"
|
" FROM reserves_in"
|
||||||
" WHERE reserve_pub=$1",
|
" WHERE reserve_pub=$1",
|
||||||
1, NULL);
|
1, NULL);
|
||||||
@ -2080,7 +2076,6 @@ reserves_update (void *cls,
|
|||||||
* @param sender_account_details account information for the sender
|
* @param sender_account_details account information for the sender
|
||||||
* @param wire_reference unique reference identifying the wire transfer (binary blob)
|
* @param wire_reference unique reference identifying the wire transfer (binary blob)
|
||||||
* @param wire_reference_size number of bytes in @a wire_reference
|
* @param wire_reference_size number of bytes in @a wire_reference
|
||||||
* @param transfer_details information that uniquely identifies the transfer
|
|
||||||
* @return #GNUNET_OK upon success; #GNUNET_NO if the given
|
* @return #GNUNET_OK upon success; #GNUNET_NO if the given
|
||||||
* @a details are already known for this @a reserve_pub,
|
* @a details are already known for this @a reserve_pub,
|
||||||
* #GNUNET_SYSERR upon failures (DB error, incompatible currency)
|
* #GNUNET_SYSERR upon failures (DB error, incompatible currency)
|
||||||
@ -2093,8 +2088,7 @@ postgres_reserves_in_insert (void *cls,
|
|||||||
struct GNUNET_TIME_Absolute execution_time,
|
struct GNUNET_TIME_Absolute execution_time,
|
||||||
const json_t *sender_account_details,
|
const json_t *sender_account_details,
|
||||||
const void *wire_reference,
|
const void *wire_reference,
|
||||||
size_t wire_reference_size,
|
size_t wire_reference_size)
|
||||||
const json_t *transfer_details)
|
|
||||||
{
|
{
|
||||||
struct PostgresClosure *pg = cls;
|
struct PostgresClosure *pg = cls;
|
||||||
PGresult *result;
|
PGresult *result;
|
||||||
@ -2178,7 +2172,6 @@ postgres_reserves_in_insert (void *cls,
|
|||||||
wire_reference_size),
|
wire_reference_size),
|
||||||
TALER_PQ_query_param_amount (balance),
|
TALER_PQ_query_param_amount (balance),
|
||||||
TALER_PQ_query_param_json (sender_account_details),
|
TALER_PQ_query_param_json (sender_account_details),
|
||||||
TALER_PQ_query_param_json (transfer_details),
|
|
||||||
GNUNET_PQ_query_param_absolute_time (&execution_time),
|
GNUNET_PQ_query_param_absolute_time (&execution_time),
|
||||||
GNUNET_PQ_query_param_end
|
GNUNET_PQ_query_param_end
|
||||||
};
|
};
|
||||||
@ -2479,8 +2472,6 @@ postgres_get_reserve_history (void *cls,
|
|||||||
&bt->execution_date),
|
&bt->execution_date),
|
||||||
TALER_PQ_result_spec_json ("sender_account_details",
|
TALER_PQ_result_spec_json ("sender_account_details",
|
||||||
&bt->sender_account_details),
|
&bt->sender_account_details),
|
||||||
TALER_PQ_result_spec_json ("transfer_details",
|
|
||||||
&bt->transfer_details),
|
|
||||||
GNUNET_PQ_result_spec_end
|
GNUNET_PQ_result_spec_end
|
||||||
};
|
};
|
||||||
if (GNUNET_OK !=
|
if (GNUNET_OK !=
|
||||||
@ -5369,7 +5360,7 @@ postgres_start_deferred_wire_out (void *cls,
|
|||||||
* @param session database connection
|
* @param session database connection
|
||||||
* @param date time of the wire transfer
|
* @param date time of the wire transfer
|
||||||
* @param wtid subject of the wire transfer
|
* @param wtid subject of the wire transfer
|
||||||
* @param wire details about the receiver account of the wire transfer
|
* @param wire_account details about the receiver account of the wire transfer
|
||||||
* @param amount amount that was transmitted
|
* @param amount amount that was transmitted
|
||||||
* @return #GNUNET_OK on success
|
* @return #GNUNET_OK on success
|
||||||
* #GNUNET_SYSERR on DB errors
|
* #GNUNET_SYSERR on DB errors
|
||||||
@ -5379,14 +5370,14 @@ postgres_store_wire_transfer_out (void *cls,
|
|||||||
struct TALER_EXCHANGEDB_Session *session,
|
struct TALER_EXCHANGEDB_Session *session,
|
||||||
struct GNUNET_TIME_Absolute date,
|
struct GNUNET_TIME_Absolute date,
|
||||||
const struct TALER_WireTransferIdentifierRawP *wtid,
|
const struct TALER_WireTransferIdentifierRawP *wtid,
|
||||||
const json_t *wire,
|
const json_t *wire_account,
|
||||||
const struct TALER_Amount *amount)
|
const struct TALER_Amount *amount)
|
||||||
{
|
{
|
||||||
PGresult *result;
|
PGresult *result;
|
||||||
struct GNUNET_PQ_QueryParam params[] = {
|
struct GNUNET_PQ_QueryParam params[] = {
|
||||||
GNUNET_PQ_query_param_absolute_time (&date),
|
GNUNET_PQ_query_param_absolute_time (&date),
|
||||||
GNUNET_PQ_query_param_auto_from_type (wtid),
|
GNUNET_PQ_query_param_auto_from_type (wtid),
|
||||||
TALER_PQ_query_param_json (wire),
|
TALER_PQ_query_param_json (wire_account),
|
||||||
TALER_PQ_query_param_amount (amount),
|
TALER_PQ_query_param_amount (amount),
|
||||||
GNUNET_PQ_query_param_end
|
GNUNET_PQ_query_param_end
|
||||||
};
|
};
|
||||||
@ -5840,7 +5831,6 @@ postgres_select_reserves_in_above_serial_id (void *cls,
|
|||||||
struct TALER_ReservePublicKeyP reserve_pub;
|
struct TALER_ReservePublicKeyP reserve_pub;
|
||||||
struct TALER_Amount credit;
|
struct TALER_Amount credit;
|
||||||
json_t *sender_account_details;
|
json_t *sender_account_details;
|
||||||
json_t *transfer_details;
|
|
||||||
struct GNUNET_TIME_Absolute execution_date;
|
struct GNUNET_TIME_Absolute execution_date;
|
||||||
uint64_t rowid;
|
uint64_t rowid;
|
||||||
void *wire_reference;
|
void *wire_reference;
|
||||||
@ -5858,8 +5848,6 @@ postgres_select_reserves_in_above_serial_id (void *cls,
|
|||||||
&execution_date),
|
&execution_date),
|
||||||
TALER_PQ_result_spec_json ("sender_account_details",
|
TALER_PQ_result_spec_json ("sender_account_details",
|
||||||
&sender_account_details),
|
&sender_account_details),
|
||||||
TALER_PQ_result_spec_json ("transfer_details",
|
|
||||||
&transfer_details),
|
|
||||||
GNUNET_PQ_result_spec_uint64 ("reserve_in_serial_id",
|
GNUNET_PQ_result_spec_uint64 ("reserve_in_serial_id",
|
||||||
&rowid),
|
&rowid),
|
||||||
GNUNET_PQ_result_spec_end
|
GNUNET_PQ_result_spec_end
|
||||||
@ -5879,7 +5867,6 @@ postgres_select_reserves_in_above_serial_id (void *cls,
|
|||||||
&reserve_pub,
|
&reserve_pub,
|
||||||
&credit,
|
&credit,
|
||||||
sender_account_details,
|
sender_account_details,
|
||||||
transfer_details,
|
|
||||||
wire_reference,
|
wire_reference,
|
||||||
wire_reference_size,
|
wire_reference_size,
|
||||||
execution_date);
|
execution_date);
|
||||||
|
@ -1032,7 +1032,6 @@ audit_refund_cb (void *cls,
|
|||||||
* @param reserve_pub public key of the reserve (also the WTID)
|
* @param reserve_pub public key of the reserve (also the WTID)
|
||||||
* @param credit amount that was received
|
* @param credit amount that was received
|
||||||
* @param sender_account_details information about the sender's bank account
|
* @param sender_account_details information about the sender's bank account
|
||||||
* @param transfer_details information that uniquely identifies the wire transfer
|
|
||||||
* @param wire_reference unique reference identifying the wire transfer (binary blob)
|
* @param wire_reference unique reference identifying the wire transfer (binary blob)
|
||||||
* @param wire_reference_size number of bytes in @a wire_reference
|
* @param wire_reference_size number of bytes in @a wire_reference
|
||||||
* @param execution_date when did we receive the funds
|
* @param execution_date when did we receive the funds
|
||||||
@ -1044,7 +1043,6 @@ audit_reserve_in_cb (void *cls,
|
|||||||
const struct TALER_ReservePublicKeyP *reserve_pub,
|
const struct TALER_ReservePublicKeyP *reserve_pub,
|
||||||
const struct TALER_Amount *credit,
|
const struct TALER_Amount *credit,
|
||||||
const json_t *sender_account_details,
|
const json_t *sender_account_details,
|
||||||
const json_t *transfer_details,
|
|
||||||
const void *wire_reference,
|
const void *wire_reference,
|
||||||
size_t wire_reference_size,
|
size_t wire_reference_size,
|
||||||
struct GNUNET_TIME_Absolute execution_date)
|
struct GNUNET_TIME_Absolute execution_date)
|
||||||
@ -1436,7 +1434,6 @@ run (void *cls)
|
|||||||
struct TALER_EXCHANGEDB_TransactionList *tl;
|
struct TALER_EXCHANGEDB_TransactionList *tl;
|
||||||
struct TALER_EXCHANGEDB_TransactionList *tlp;
|
struct TALER_EXCHANGEDB_TransactionList *tlp;
|
||||||
json_t *wire;
|
json_t *wire;
|
||||||
json_t *just;
|
|
||||||
json_t *sndr;
|
json_t *sndr;
|
||||||
unsigned int matched;
|
unsigned int matched;
|
||||||
const char * const json_wire_str =
|
const char * const json_wire_str =
|
||||||
@ -1506,8 +1503,6 @@ run (void *cls)
|
|||||||
result = 4;
|
result = 4;
|
||||||
sndr = json_loads ("{ \"account\":\"1\" }", 0, NULL);
|
sndr = json_loads ("{ \"account\":\"1\" }", 0, NULL);
|
||||||
GNUNET_assert (NULL != sndr);
|
GNUNET_assert (NULL != sndr);
|
||||||
just = json_loads ("{ \"justification\":\"1\" }", 0, NULL);
|
|
||||||
GNUNET_assert (NULL != just);
|
|
||||||
FAILIF (GNUNET_OK !=
|
FAILIF (GNUNET_OK !=
|
||||||
plugin->reserves_in_insert (plugin->cls,
|
plugin->reserves_in_insert (plugin->cls,
|
||||||
session,
|
session,
|
||||||
@ -1516,16 +1511,13 @@ run (void *cls)
|
|||||||
GNUNET_TIME_absolute_get (),
|
GNUNET_TIME_absolute_get (),
|
||||||
sndr,
|
sndr,
|
||||||
"TEST",
|
"TEST",
|
||||||
4,
|
4));
|
||||||
just));
|
|
||||||
json_decref (just);
|
|
||||||
FAILIF (GNUNET_OK !=
|
FAILIF (GNUNET_OK !=
|
||||||
check_reserve (session,
|
check_reserve (session,
|
||||||
&reserve_pub,
|
&reserve_pub,
|
||||||
value.value,
|
value.value,
|
||||||
value.fraction,
|
value.fraction,
|
||||||
value.currency));
|
value.currency));
|
||||||
just = json_loads ("{ \"justification\":\"2\" }", 0, NULL);
|
|
||||||
FAILIF (GNUNET_OK !=
|
FAILIF (GNUNET_OK !=
|
||||||
plugin->reserves_in_insert (plugin->cls,
|
plugin->reserves_in_insert (plugin->cls,
|
||||||
session,
|
session,
|
||||||
@ -1534,9 +1526,7 @@ run (void *cls)
|
|||||||
GNUNET_TIME_absolute_get (),
|
GNUNET_TIME_absolute_get (),
|
||||||
sndr,
|
sndr,
|
||||||
"TEST2",
|
"TEST2",
|
||||||
5,
|
5));
|
||||||
just));
|
|
||||||
json_decref (just);
|
|
||||||
json_decref (sndr);
|
json_decref (sndr);
|
||||||
FAILIF (GNUNET_OK !=
|
FAILIF (GNUNET_OK !=
|
||||||
check_reserve (session,
|
check_reserve (session,
|
||||||
@ -1672,7 +1662,6 @@ run (void *cls)
|
|||||||
FAILIF (1000 != bt->amount.fraction);
|
FAILIF (1000 != bt->amount.fraction);
|
||||||
FAILIF (0 != strcmp (CURRENCY, bt->amount.currency));
|
FAILIF (0 != strcmp (CURRENCY, bt->amount.currency));
|
||||||
FAILIF (NULL == bt->sender_account_details);
|
FAILIF (NULL == bt->sender_account_details);
|
||||||
FAILIF (NULL == bt->transfer_details);
|
|
||||||
break;
|
break;
|
||||||
case TALER_EXCHANGEDB_RO_WITHDRAW_COIN:
|
case TALER_EXCHANGEDB_RO_WITHDRAW_COIN:
|
||||||
withdraw = rh_head->details.withdraw;
|
withdraw = rh_head->details.withdraw;
|
||||||
|
@ -711,9 +711,14 @@ struct TALER_EXCHANGE_ReserveHistory
|
|||||||
json_t *sender_account_details;
|
json_t *sender_account_details;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wire transfer details for the incoming transfer.
|
* Information that uniquely identifies the wire transfer.
|
||||||
*/
|
*/
|
||||||
json_t *transfer_details;
|
void *wire_reference;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of bytes stored in @e wire_reference.
|
||||||
|
*/
|
||||||
|
size_t wire_reference_size;
|
||||||
|
|
||||||
} in_details;
|
} in_details;
|
||||||
|
|
||||||
|
@ -55,12 +55,6 @@ struct TALER_EXCHANGEDB_BankTransfer
|
|||||||
*/
|
*/
|
||||||
json_t *sender_account_details;
|
json_t *sender_account_details;
|
||||||
|
|
||||||
/**
|
|
||||||
* Detailed wire transfer information that uniquely identifies the
|
|
||||||
* wire transfer.
|
|
||||||
*/
|
|
||||||
json_t *transfer_details;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Data uniquely identifying the wire transfer (wire transfer-type specific)
|
* Data uniquely identifying the wire transfer (wire transfer-type specific)
|
||||||
*/
|
*/
|
||||||
@ -809,7 +803,6 @@ typedef int
|
|||||||
* @param reserve_pub public key of the reserve (also the WTID)
|
* @param reserve_pub public key of the reserve (also the WTID)
|
||||||
* @param credit amount that was received
|
* @param credit amount that was received
|
||||||
* @param sender_account_details information about the sender's bank account
|
* @param sender_account_details information about the sender's bank account
|
||||||
* @param transfer_details information that uniquely identifies the wire transfer
|
|
||||||
* @param wire_reference unique identifier for the wire transfer (plugin-specific format)
|
* @param wire_reference unique identifier for the wire transfer (plugin-specific format)
|
||||||
* @param wire_reference_size number of bytes in @a wire_reference
|
* @param wire_reference_size number of bytes in @a wire_reference
|
||||||
* @param execution_date when did we receive the funds
|
* @param execution_date when did we receive the funds
|
||||||
@ -821,7 +814,6 @@ typedef int
|
|||||||
const struct TALER_ReservePublicKeyP *reserve_pub,
|
const struct TALER_ReservePublicKeyP *reserve_pub,
|
||||||
const struct TALER_Amount *credit,
|
const struct TALER_Amount *credit,
|
||||||
const json_t *sender_account_details,
|
const json_t *sender_account_details,
|
||||||
const json_t *transfer_details,
|
|
||||||
const void *wire_reference,
|
const void *wire_reference,
|
||||||
size_t wire_reference_size,
|
size_t wire_reference_size,
|
||||||
struct GNUNET_TIME_Absolute execution_date);
|
struct GNUNET_TIME_Absolute execution_date);
|
||||||
@ -1197,7 +1189,6 @@ struct TALER_EXCHANGEDB_Plugin
|
|||||||
* @param sender_account_details information about the sender's bank account
|
* @param sender_account_details information about the sender's bank account
|
||||||
* @param wire_reference unique reference identifying the wire transfer (binary blob)
|
* @param wire_reference unique reference identifying the wire transfer (binary blob)
|
||||||
* @param wire_reference_size number of bytes in @a wire_reference
|
* @param wire_reference_size number of bytes in @a wire_reference
|
||||||
* @param transfer_details information that uniquely identifies the wire transfer
|
|
||||||
* @return #GNUNET_OK upon success; #GNUNET_NO if the given
|
* @return #GNUNET_OK upon success; #GNUNET_NO if the given
|
||||||
* @a details are already known for this @a reserve_pub,
|
* @a details are already known for this @a reserve_pub,
|
||||||
* #GNUNET_SYSERR upon failures (DB error, incompatible currency)
|
* #GNUNET_SYSERR upon failures (DB error, incompatible currency)
|
||||||
@ -1210,8 +1201,7 @@ struct TALER_EXCHANGEDB_Plugin
|
|||||||
struct GNUNET_TIME_Absolute execution_time,
|
struct GNUNET_TIME_Absolute execution_time,
|
||||||
const json_t *sender_account_details,
|
const json_t *sender_account_details,
|
||||||
const void *wire_reference,
|
const void *wire_reference,
|
||||||
size_t wire_reference_size,
|
size_t wire_reference_size);
|
||||||
const json_t *transfer_details);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1938,7 +1928,7 @@ struct TALER_EXCHANGEDB_Plugin
|
|||||||
* @param session database connection
|
* @param session database connection
|
||||||
* @param date time of the wire transfer
|
* @param date time of the wire transfer
|
||||||
* @param wtid subject of the wire transfer
|
* @param wtid subject of the wire transfer
|
||||||
* @param wire details about the receiver account of the wire transfer
|
* @param wire_account details about the receiver account of the wire transfer
|
||||||
* @param amount amount that was transmitted
|
* @param amount amount that was transmitted
|
||||||
* @return #GNUNET_OK on success
|
* @return #GNUNET_OK on success
|
||||||
* #GNUNET_SYSERR on DB errors
|
* #GNUNET_SYSERR on DB errors
|
||||||
@ -1948,7 +1938,7 @@ struct TALER_EXCHANGEDB_Plugin
|
|||||||
struct TALER_EXCHANGEDB_Session *session,
|
struct TALER_EXCHANGEDB_Session *session,
|
||||||
struct GNUNET_TIME_Absolute date,
|
struct GNUNET_TIME_Absolute date,
|
||||||
const struct TALER_WireTransferIdentifierRawP *wtid,
|
const struct TALER_WireTransferIdentifierRawP *wtid,
|
||||||
const json_t *wire,
|
const json_t *wire_account,
|
||||||
const struct TALER_Amount *amount);
|
const struct TALER_Amount *amount);
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user