fixing #4520: be more aggressive at asserting when API is violated
This commit is contained in:
parent
f471cfcec5
commit
079ef7cb6f
@ -406,42 +406,21 @@ TALER_EXCHANGE_deposit (struct TALER_EXCHANGE_Handle *exchange,
|
||||
|
||||
(void) GNUNET_TIME_round_abs (&wire_deadline);
|
||||
(void) GNUNET_TIME_round_abs (&refund_deadline);
|
||||
if (refund_deadline.abs_value_us > wire_deadline.abs_value_us)
|
||||
{
|
||||
GNUNET_break (0);
|
||||
return NULL;
|
||||
}
|
||||
if (GNUNET_YES !=
|
||||
MAH_handle_is_ready (exchange))
|
||||
{
|
||||
GNUNET_break (0);
|
||||
return NULL;
|
||||
}
|
||||
GNUNET_assert (refund_deadline.abs_value_us <= wire_deadline.abs_value_us);
|
||||
GNUNET_assert (GNUNET_YES ==
|
||||
MAH_handle_is_ready (exchange));
|
||||
/* initialize h_wire */
|
||||
if (GNUNET_OK !=
|
||||
TALER_JSON_hash (wire_details,
|
||||
&h_wire))
|
||||
{
|
||||
GNUNET_break (0);
|
||||
return NULL;
|
||||
}
|
||||
GNUNET_assert (GNUNET_OK ==
|
||||
TALER_JSON_hash (wire_details,
|
||||
&h_wire));
|
||||
key_state = TALER_EXCHANGE_get_keys (exchange);
|
||||
dki = TALER_EXCHANGE_get_denomination_key (key_state,
|
||||
denom_pub);
|
||||
if (NULL == dki)
|
||||
{
|
||||
TALER_LOG_WARNING ("Denomination key unknown to exchange\n");
|
||||
return NULL;
|
||||
}
|
||||
if (GNUNET_SYSERR ==
|
||||
TALER_amount_subtract (&amount_without_fee,
|
||||
amount,
|
||||
&dki->fee_deposit))
|
||||
{
|
||||
GNUNET_break (0);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
GNUNET_assert (NULL != dki);
|
||||
GNUNET_assert (GNUNET_SYSERR !=
|
||||
TALER_amount_subtract (&amount_without_fee,
|
||||
amount,
|
||||
&dki->fee_deposit));
|
||||
if (GNUNET_OK !=
|
||||
verify_signatures (dki,
|
||||
amount,
|
||||
@ -523,10 +502,10 @@ TALER_EXCHANGE_deposit (struct TALER_EXCHANGE_Handle *exchange,
|
||||
strlen (dh->json_enc)));
|
||||
ctx = MAH_handle_to_context (exchange);
|
||||
dh->job = GNUNET_CURL_job_add (ctx,
|
||||
eh,
|
||||
GNUNET_YES,
|
||||
&handle_deposit_finished,
|
||||
dh);
|
||||
eh,
|
||||
GNUNET_YES,
|
||||
&handle_deposit_finished,
|
||||
dh);
|
||||
return dh;
|
||||
}
|
||||
|
||||
|
@ -1277,12 +1277,8 @@ TALER_EXCHANGE_refresh_melt (struct TALER_EXCHANGE_Handle *exchange,
|
||||
unsigned int i;
|
||||
unsigned int j;
|
||||
|
||||
if (GNUNET_YES !=
|
||||
MAH_handle_is_ready (exchange))
|
||||
{
|
||||
GNUNET_break (0);
|
||||
return NULL;
|
||||
}
|
||||
GNUNET_assert (GNUNET_YES ==
|
||||
MAH_handle_is_ready (exchange));
|
||||
md = deserialize_melt_data (refresh_data,
|
||||
refresh_data_length);
|
||||
if (NULL == md)
|
||||
@ -1722,11 +1718,11 @@ handle_refresh_reveal_finished (void *cls,
|
||||
*/
|
||||
struct TALER_EXCHANGE_RefreshRevealHandle *
|
||||
TALER_EXCHANGE_refresh_reveal (struct TALER_EXCHANGE_Handle *exchange,
|
||||
size_t refresh_data_length,
|
||||
const char *refresh_data,
|
||||
uint16_t noreveal_index,
|
||||
TALER_EXCHANGE_RefreshRevealCallback reveal_cb,
|
||||
void *reveal_cb_cls)
|
||||
size_t refresh_data_length,
|
||||
const char *refresh_data,
|
||||
uint16_t noreveal_index,
|
||||
TALER_EXCHANGE_RefreshRevealCallback reveal_cb,
|
||||
void *reveal_cb_cls)
|
||||
{
|
||||
struct TALER_EXCHANGE_RefreshRevealHandle *rrh;
|
||||
json_t *transfer_privs;
|
||||
@ -1735,13 +1731,9 @@ TALER_EXCHANGE_refresh_reveal (struct TALER_EXCHANGE_Handle *exchange,
|
||||
struct GNUNET_CURL_Context *ctx;
|
||||
struct MeltData *md;
|
||||
unsigned int j;
|
||||
|
||||
if (GNUNET_YES !=
|
||||
MAH_handle_is_ready (exchange))
|
||||
{
|
||||
GNUNET_break (0);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
GNUNET_assert (GNUNET_YES ==
|
||||
MAH_handle_is_ready (exchange));
|
||||
md = deserialize_melt_data (refresh_data,
|
||||
refresh_data_length);
|
||||
if (NULL == md)
|
||||
|
@ -243,12 +243,8 @@ TALER_EXCHANGE_refund (struct TALER_EXCHANGE_Handle *exchange,
|
||||
json_t *refund_obj;
|
||||
CURL *eh;
|
||||
|
||||
if (GNUNET_YES !=
|
||||
MAH_handle_is_ready (exchange))
|
||||
{
|
||||
GNUNET_break (0);
|
||||
return NULL;
|
||||
}
|
||||
GNUNET_assert (GNUNET_YES ==
|
||||
MAH_handle_is_ready (exchange));
|
||||
rr.purpose.purpose = htonl (TALER_SIGNATURE_MERCHANT_REFUND);
|
||||
rr.purpose.size = htonl (sizeof (struct TALER_RefundRequestPS));
|
||||
rr.h_contract = *h_contract;
|
||||
|
Loading…
Reference in New Issue
Block a user