add api to allow clients to force auditor notification of dc

This commit is contained in:
Christian Grothoff 2019-10-26 20:51:21 +02:00
parent c1ce2a03ed
commit 47e4dc13ed
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
2 changed files with 31 additions and 1 deletions

View File

@ -770,6 +770,16 @@ TALER_EXCHANGE_deposit (struct TALER_EXCHANGE_Handle *exchange,
void *cb_cls);
/**
* Change the chance that our deposit confirmation will be given to the
* auditor to 100%.
*
* @param deposit the deposit permission request handle
*/
void
TALER_EXCHANGE_deposit_force_dc (struct TALER_EXCHANGE_DepositHandle *deposit);
/**
* Cancel a deposit permission request. This function cannot be used
* on a request handle if a response is already served for it.

View File

@ -105,6 +105,12 @@ struct TALER_EXCHANGE_DepositHandle
*/
struct TALER_Amount coin_value;
/**
* Chance that we will inform the auditor about the deposit
* is 1:n, where the value of this field is "n".
*/
unsigned int auditor_chance;
};
@ -129,7 +135,7 @@ auditor_cb (void *cls,
struct TEAH_AuditorInteractionEntry *aie;
if (0 != GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK,
AUDITOR_CHANCE))
dh->auditor_chance))
return NULL;
key_state = TALER_EXCHANGE_get_keys (dh->exchange);
spk = TALER_EXCHANGE_get_signing_key_details (key_state,
@ -573,6 +579,7 @@ TALER_EXCHANGE_deposit (struct TALER_EXCHANGE_Handle *exchange,
}
dh = GNUNET_new (struct TALER_EXCHANGE_DepositHandle);
dh->auditor_chance = AUDITOR_CHANCE;
dh->exchange = exchange;
dh->cb = cb;
dh->cb_cls = cb_cls;
@ -619,6 +626,19 @@ TALER_EXCHANGE_deposit (struct TALER_EXCHANGE_Handle *exchange,
}
/**
* Change the chance that our deposit confirmation will be given to the
* auditor to 100%.
*
* @param deposit the deposit permission request handle
*/
void
TALER_EXCHANGE_deposit_force_dc (struct TALER_EXCHANGE_DepositHandle *deposit)
{
deposit->auditor_chance = 1;
}
/**
* Cancel a deposit permission request. This function cannot be used
* on a request handle if a response is already served for it.