aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2019-10-26 20:51:21 +0200
committerChristian Grothoff <christian@grothoff.org>2019-10-26 20:51:21 +0200
commit47e4dc13ed7bbfd6504f0ada9bc571564876d9a7 (patch)
tree1ae3106c313503825408fbb31038bdc2ae4fb5c7
parentc1ce2a03ed24769af970985b07c30fc2c434526c (diff)
add api to allow clients to force auditor notification of dc
-rw-r--r--src/include/taler_exchange_service.h10
-rw-r--r--src/lib/exchange_api_deposit.c22
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.
*