exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 47e4dc13ed7bbfd6504f0ada9bc571564876d9a7
parent c1ce2a03ed24769af970985b07c30fc2c434526c
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sat, 26 Oct 2019 20:51:21 +0200

add api to allow clients to force auditor notification of dc

Diffstat:
Msrc/include/taler_exchange_service.h | 10++++++++++
Msrc/lib/exchange_api_deposit.c | 22+++++++++++++++++++++-
2 files changed, 31 insertions(+), 1 deletion(-)

diff --git 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 @@ -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. *