diff options
author | Christian Grothoff <christian@grothoff.org> | 2019-10-26 20:51:21 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2019-10-26 20:51:21 +0200 |
commit | 47e4dc13ed7bbfd6504f0ada9bc571564876d9a7 (patch) | |
tree | 1ae3106c313503825408fbb31038bdc2ae4fb5c7 | |
parent | c1ce2a03ed24769af970985b07c30fc2c434526c (diff) |
add api to allow clients to force auditor notification of dc
-rw-r--r-- | src/include/taler_exchange_service.h | 10 | ||||
-rw-r--r-- | src/lib/exchange_api_deposit.c | 22 |
2 files changed, 31 insertions, 1 deletions
diff --git a/src/include/taler_exchange_service.h b/src/include/taler_exchange_service.h index 991e36f12..0aeffd324 100644 --- a/src/include/taler_exchange_service.h +++ b/src/include/taler_exchange_service.h @@ -771,6 +771,16 @@ 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); + + +/** * Cancel a deposit permission request. This function cannot be used * on a request handle if a response is already served for it. * diff --git a/src/lib/exchange_api_deposit.c b/src/lib/exchange_api_deposit.c index b9f535c7c..cb3e29588 100644 --- a/src/lib/exchange_api_deposit.c +++ b/src/lib/exchange_api_deposit.c @@ -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; @@ -620,6 +627,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. * |