misc fixes
This commit is contained in:
parent
b5e9523f94
commit
43ee9da01d
@ -789,8 +789,8 @@ wire_missing_cb (void *cls,
|
|||||||
const struct TALER_Amount *amount,
|
const struct TALER_Amount *amount,
|
||||||
const char *payto_uri,
|
const char *payto_uri,
|
||||||
struct GNUNET_TIME_Absolute deadline,
|
struct GNUNET_TIME_Absolute deadline,
|
||||||
/* bool? */ int tiny,
|
bool tiny,
|
||||||
/* bool? */ int done)
|
bool done)
|
||||||
{
|
{
|
||||||
json_t *rep;
|
json_t *rep;
|
||||||
|
|
||||||
@ -802,9 +802,9 @@ wire_missing_cb (void *cls,
|
|||||||
{
|
{
|
||||||
/* In internal mode, we insist that the entry was
|
/* In internal mode, we insist that the entry was
|
||||||
actually marked as tiny. */
|
actually marked as tiny. */
|
||||||
if ( (GNUNET_YES == tiny) &&
|
if (tiny &&
|
||||||
(0 > TALER_amount_cmp (amount,
|
(0 > TALER_amount_cmp (amount,
|
||||||
&tiny_amount)) )
|
&tiny_amount)) )
|
||||||
return; /* acceptable, amount was tiny */
|
return; /* acceptable, amount was tiny */
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -22,6 +22,9 @@ BEGIN;
|
|||||||
-- Unlike the other SQL files, it SHOULD be updated to reflect the
|
-- Unlike the other SQL files, it SHOULD be updated to reflect the
|
||||||
-- latest requirements for dropping tables.
|
-- latest requirements for dropping tables.
|
||||||
|
|
||||||
|
-- Unregister patch (exchange-0001.sql)
|
||||||
|
SELECT _v.unregister_patch('exchange-0001');
|
||||||
|
|
||||||
-- Drops for exchange-0001.sql
|
-- Drops for exchange-0001.sql
|
||||||
DROP TABLE IF EXISTS revolving_work_shards CASCADE;
|
DROP TABLE IF EXISTS revolving_work_shards CASCADE;
|
||||||
DROP TABLE IF EXISTS auditors CASCADE;
|
DROP TABLE IF EXISTS auditors CASCADE;
|
||||||
@ -51,8 +54,5 @@ DROP TABLE IF EXISTS denomination_revocations CASCADE;
|
|||||||
DROP TABLE IF EXISTS denominations CASCADE;
|
DROP TABLE IF EXISTS denominations CASCADE;
|
||||||
|
|
||||||
|
|
||||||
-- Unregister patch (exchange-0001.sql)
|
|
||||||
SELECT _v.unregister_patch('exchange-0001');
|
|
||||||
|
|
||||||
-- And we're out of here...
|
-- And we're out of here...
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
@ -143,8 +143,8 @@ CREATE INDEX IF NOT EXISTS reserves_in_exchange_account_serial
|
|||||||
reserve_in_serial_id DESC
|
reserve_in_serial_id DESC
|
||||||
);
|
);
|
||||||
|
|
||||||
qq
|
|
||||||
CREATE TABLE IF NOT EXISTS reserves_closeq
|
CREATE TABLE IF NOT EXISTS reserves_close
|
||||||
(close_uuid BIGSERIAL PRIMARY KEY
|
(close_uuid BIGSERIAL PRIMARY KEY
|
||||||
,reserve_uuid INT8 NOT NULL REFERENCES reserves (reserve_uuid) ON DELETE CASCADE
|
,reserve_uuid INT8 NOT NULL REFERENCES reserves (reserve_uuid) ON DELETE CASCADE
|
||||||
,execution_date INT8 NOT NULL
|
,execution_date INT8 NOT NULL
|
||||||
|
@ -423,16 +423,15 @@ prepare_statements (struct PostgresClosure *pg)
|
|||||||
GNUNET_PQ_make_prepare ("reserve_create",
|
GNUNET_PQ_make_prepare ("reserve_create",
|
||||||
"INSERT INTO reserves "
|
"INSERT INTO reserves "
|
||||||
"(reserve_pub"
|
"(reserve_pub"
|
||||||
",account_details"
|
|
||||||
",current_balance_val"
|
",current_balance_val"
|
||||||
",current_balance_frac"
|
",current_balance_frac"
|
||||||
",expiration_date"
|
",expiration_date"
|
||||||
",gc_date"
|
",gc_date"
|
||||||
") VALUES "
|
") VALUES "
|
||||||
"($1, $2, $3, $4, $5, $6)"
|
"($1, $2, $3, $4, $5)"
|
||||||
" ON CONFLICT DO NOTHING"
|
" ON CONFLICT DO NOTHING"
|
||||||
" RETURNING reserve_uuid;",
|
" RETURNING reserve_uuid;",
|
||||||
6),
|
5),
|
||||||
/* Used in #postgres_insert_reserve_closed() */
|
/* Used in #postgres_insert_reserve_closed() */
|
||||||
GNUNET_PQ_make_prepare ("reserves_close_insert",
|
GNUNET_PQ_make_prepare ("reserves_close_insert",
|
||||||
"INSERT INTO reserves_close "
|
"INSERT INTO reserves_close "
|
||||||
@ -999,6 +998,8 @@ prepare_statements (struct PostgresClosure *pg)
|
|||||||
"SELECT"
|
"SELECT"
|
||||||
" kyc_ok"
|
" kyc_ok"
|
||||||
",wire_target_serial_id AS payment_target_uuid"
|
",wire_target_serial_id AS payment_target_uuid"
|
||||||
|
",wire_salt"
|
||||||
|
",payto_uri AS receiver_wire_account"
|
||||||
",amount_with_fee_val"
|
",amount_with_fee_val"
|
||||||
",amount_with_fee_frac"
|
",amount_with_fee_frac"
|
||||||
",denom.fee_deposit_val"
|
",denom.fee_deposit_val"
|
||||||
@ -1009,11 +1010,10 @@ prepare_statements (struct PostgresClosure *pg)
|
|||||||
" JOIN known_coins USING (known_coin_id)"
|
" JOIN known_coins USING (known_coin_id)"
|
||||||
" JOIN denominations denom USING (denominations_serial)"
|
" JOIN denominations denom USING (denominations_serial)"
|
||||||
" WHERE ((coin_pub=$1)"
|
" WHERE ((coin_pub=$1)"
|
||||||
" AND (merchant_pub=$4)"
|
" AND (merchant_pub=$3)"
|
||||||
" AND (h_contract_terms=$2)"
|
" AND (h_contract_terms=$2)"
|
||||||
" AND (h_wire=$3)"
|
|
||||||
" );",
|
" );",
|
||||||
4),
|
3),
|
||||||
/* Used in #postgres_get_ready_deposit() */
|
/* Used in #postgres_get_ready_deposit() */
|
||||||
GNUNET_PQ_make_prepare ("deposits_get_ready",
|
GNUNET_PQ_make_prepare ("deposits_get_ready",
|
||||||
"SELECT"
|
"SELECT"
|
||||||
@ -1087,9 +1087,8 @@ prepare_statements (struct PostgresClosure *pg)
|
|||||||
" JOIN known_coins USING (known_coin_id)"
|
" JOIN known_coins USING (known_coin_id)"
|
||||||
" WHERE coin_pub=$1"
|
" WHERE coin_pub=$1"
|
||||||
" AND merchant_pub=$2"
|
" AND merchant_pub=$2"
|
||||||
" AND h_contract_terms=$3"
|
" AND h_contract_terms=$3;",
|
||||||
" AND h_wire=$4;",
|
3),
|
||||||
5),
|
|
||||||
/* Used in #postgres_get_coin_transactions() to obtain information
|
/* Used in #postgres_get_coin_transactions() to obtain information
|
||||||
about how a coin has been spend with /deposit requests. */
|
about how a coin has been spend with /deposit requests. */
|
||||||
GNUNET_PQ_make_prepare ("get_deposit_with_coin_pub",
|
GNUNET_PQ_make_prepare ("get_deposit_with_coin_pub",
|
||||||
@ -3945,7 +3944,6 @@ postgres_reserves_in_insert (void *cls,
|
|||||||
{
|
{
|
||||||
struct GNUNET_PQ_QueryParam params[] = {
|
struct GNUNET_PQ_QueryParam params[] = {
|
||||||
GNUNET_PQ_query_param_auto_from_type (reserve_pub),
|
GNUNET_PQ_query_param_auto_from_type (reserve_pub),
|
||||||
GNUNET_PQ_query_param_string (sender_account_details),
|
|
||||||
TALER_PQ_query_param_amount (balance),
|
TALER_PQ_query_param_amount (balance),
|
||||||
TALER_PQ_query_param_absolute_time (&expiry),
|
TALER_PQ_query_param_absolute_time (&expiry),
|
||||||
TALER_PQ_query_param_absolute_time (&gc),
|
TALER_PQ_query_param_absolute_time (&gc),
|
||||||
@ -5024,25 +5022,22 @@ postgres_mark_deposit_tiny (void *cls,
|
|||||||
* @param coin_pub the coin to check for deposit
|
* @param coin_pub the coin to check for deposit
|
||||||
* @param merchant_pub merchant to receive the deposit
|
* @param merchant_pub merchant to receive the deposit
|
||||||
* @param h_contract_terms contract terms of the deposit
|
* @param h_contract_terms contract terms of the deposit
|
||||||
* @param h_wire hash of the merchant's wire details
|
|
||||||
* @return #GNUNET_DB_STATUS_SUCCESS_ONE_RESULT if is is marked done,
|
* @return #GNUNET_DB_STATUS_SUCCESS_ONE_RESULT if is is marked done,
|
||||||
* #GNUNET_DB_STATUS_SUCCESS_NO_RESULTS if not,
|
* #GNUNET_DB_STATUS_SUCCESS_NO_RESULTS if not,
|
||||||
* otherwise transaction error status (incl. deposit unknown)
|
* otherwise transaction error status (incl. deposit unknown)
|
||||||
*/
|
*/
|
||||||
static enum GNUNET_DB_QueryStatus
|
static enum GNUNET_DB_QueryStatus
|
||||||
postgres_test_deposit_done (void *cls,
|
postgres_test_deposit_done (
|
||||||
const struct TALER_CoinSpendPublicKeyP *coin_pub,
|
void *cls,
|
||||||
const struct TALER_MerchantPublicKeyP *merchant_pub,
|
const struct TALER_CoinSpendPublicKeyP *coin_pub,
|
||||||
const struct
|
const struct TALER_MerchantPublicKeyP *merchant_pub,
|
||||||
TALER_PrivateContractHash *h_contract_terms,
|
const struct TALER_PrivateContractHash *h_contract_terms)
|
||||||
const struct TALER_MerchantWireHash *h_wire)
|
|
||||||
{
|
{
|
||||||
struct PostgresClosure *pg = cls;
|
struct PostgresClosure *pg = cls;
|
||||||
struct GNUNET_PQ_QueryParam params[] = {
|
struct GNUNET_PQ_QueryParam params[] = {
|
||||||
GNUNET_PQ_query_param_auto_from_type (coin_pub),
|
GNUNET_PQ_query_param_auto_from_type (coin_pub),
|
||||||
GNUNET_PQ_query_param_auto_from_type (merchant_pub),
|
GNUNET_PQ_query_param_auto_from_type (merchant_pub),
|
||||||
GNUNET_PQ_query_param_auto_from_type (h_contract_terms),
|
GNUNET_PQ_query_param_auto_from_type (h_contract_terms),
|
||||||
GNUNET_PQ_query_param_auto_from_type (h_wire),
|
|
||||||
GNUNET_PQ_query_param_end
|
GNUNET_PQ_query_param_end
|
||||||
};
|
};
|
||||||
uint8_t done = 0;
|
uint8_t done = 0;
|
||||||
@ -7139,6 +7134,10 @@ postgres_lookup_transfer_by_deposit (
|
|||||||
and return #GNUNET_YES! */
|
and return #GNUNET_YES! */
|
||||||
uint8_t ok8 = 0;
|
uint8_t ok8 = 0;
|
||||||
struct GNUNET_PQ_ResultSpec rs2[] = {
|
struct GNUNET_PQ_ResultSpec rs2[] = {
|
||||||
|
GNUNET_PQ_result_spec_auto_from_type ("wire_salt",
|
||||||
|
&wire_salt),
|
||||||
|
GNUNET_PQ_result_spec_string ("payto_uri",
|
||||||
|
&payto_uri),
|
||||||
GNUNET_PQ_result_spec_uint64 ("payment_target_uuid",
|
GNUNET_PQ_result_spec_uint64 ("payment_target_uuid",
|
||||||
&kyc->payment_target_uuid),
|
&kyc->payment_target_uuid),
|
||||||
GNUNET_PQ_result_spec_auto_from_type ("kyc_ok",
|
GNUNET_PQ_result_spec_auto_from_type ("kyc_ok",
|
||||||
@ -7156,6 +7155,19 @@ postgres_lookup_transfer_by_deposit (
|
|||||||
"get_deposit_for_wtid",
|
"get_deposit_for_wtid",
|
||||||
params,
|
params,
|
||||||
rs2);
|
rs2);
|
||||||
|
if (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT == qs)
|
||||||
|
{
|
||||||
|
struct TALER_MerchantWireHash wh;
|
||||||
|
|
||||||
|
TALER_merchant_wire_signature_hash (payto_uri,
|
||||||
|
&wire_salt,
|
||||||
|
&wh);
|
||||||
|
GNUNET_PQ_cleanup_result (rs);
|
||||||
|
if (0 !=
|
||||||
|
GNUNET_memcmp (&wh,
|
||||||
|
h_wire))
|
||||||
|
return GNUNET_DB_STATUS_SUCCESS_NO_RESULTS;
|
||||||
|
}
|
||||||
kyc->type = TALER_EXCHANGEDB_KYC_DEPOSIT;
|
kyc->type = TALER_EXCHANGEDB_KYC_DEPOSIT;
|
||||||
kyc->ok = (0 != ok8);
|
kyc->ok = (0 != ok8);
|
||||||
return qs;
|
return qs;
|
||||||
|
@ -1897,8 +1897,7 @@ run (void *cls)
|
|||||||
plugin->test_deposit_done (plugin->cls,
|
plugin->test_deposit_done (plugin->cls,
|
||||||
&deposit.coin.coin_pub,
|
&deposit.coin.coin_pub,
|
||||||
&deposit.merchant_pub,
|
&deposit.merchant_pub,
|
||||||
&deposit.h_contract_terms,
|
&deposit.h_contract_terms));
|
||||||
&h_wire));
|
|
||||||
FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
|
FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
|
||||||
plugin->mark_deposit_done (plugin->cls,
|
plugin->mark_deposit_done (plugin->cls,
|
||||||
deposit_rowid));
|
deposit_rowid));
|
||||||
@ -1908,8 +1907,7 @@ run (void *cls)
|
|||||||
plugin->test_deposit_done (plugin->cls,
|
plugin->test_deposit_done (plugin->cls,
|
||||||
&deposit.coin.coin_pub,
|
&deposit.coin.coin_pub,
|
||||||
&deposit.merchant_pub,
|
&deposit.merchant_pub,
|
||||||
&deposit.h_contract_terms,
|
&deposit.h_contract_terms));
|
||||||
&h_wire));
|
|
||||||
|
|
||||||
result = 10;
|
result = 10;
|
||||||
deposit2 = deposit;
|
deposit2 = deposit;
|
||||||
|
@ -2722,7 +2722,6 @@ struct TALER_EXCHANGEDB_Plugin
|
|||||||
* @param coin_pub the coin to check for deposit
|
* @param coin_pub the coin to check for deposit
|
||||||
* @param merchant_pub merchant to receive the deposit
|
* @param merchant_pub merchant to receive the deposit
|
||||||
* @param h_contract_terms contract terms of the deposit
|
* @param h_contract_terms contract terms of the deposit
|
||||||
* @param h_wire hash of the merchant's wire details
|
|
||||||
* @return #GNUNET_DB_STATUS_SUCCESS_ONE_RESULT if is is marked done,
|
* @return #GNUNET_DB_STATUS_SUCCESS_ONE_RESULT if is is marked done,
|
||||||
* #GNUNET_DB_STATUS_SUCCESS_NO_RESULTS if not,
|
* #GNUNET_DB_STATUS_SUCCESS_NO_RESULTS if not,
|
||||||
* otherwise transaction error status (incl. deposit unknown)
|
* otherwise transaction error status (incl. deposit unknown)
|
||||||
@ -2731,8 +2730,8 @@ struct TALER_EXCHANGEDB_Plugin
|
|||||||
(*test_deposit_done)(void *cls,
|
(*test_deposit_done)(void *cls,
|
||||||
const struct TALER_CoinSpendPublicKeyP *coin_pub,
|
const struct TALER_CoinSpendPublicKeyP *coin_pub,
|
||||||
const struct TALER_MerchantPublicKeyP *merchant_pub,
|
const struct TALER_MerchantPublicKeyP *merchant_pub,
|
||||||
const struct TALER_PrivateContractHash *h_contract_terms,
|
const struct
|
||||||
const struct TALER_MerchantWireHash *h_wire);
|
TALER_PrivateContractHash *h_contract_terms);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user