summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorChristian Grothoff <grothoff@gnunet.org>2022-02-04 23:58:41 +0100
committerChristian Grothoff <grothoff@gnunet.org>2022-02-04 23:58:41 +0100
commitb30765c7d07240a48e66a551e6f82dc0a5670bec (patch)
treeb3a05d51662e3cfb6146dc15f5a11e07d1e48480 /src/include
parentcfc6c3fcd04e9bed639816828d05e8645d80860f (diff)
downloadexchange-b30765c7d07240a48e66a551e6f82dc0a5670bec.tar.gz
exchange-b30765c7d07240a48e66a551e6f82dc0a5670bec.tar.bz2
exchange-b30765c7d07240a48e66a551e6f82dc0a5670bec.zip
make API actually workable, sketch out melt
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_exchange_service.h30
1 files changed, 24 insertions, 6 deletions
diff --git a/src/include/taler_exchange_service.h b/src/include/taler_exchange_service.h
index 8fe1bf7db..44ef48d46 100644
--- a/src/include/taler_exchange_service.h
+++ b/src/include/taler_exchange_service.h
@@ -1063,9 +1063,10 @@ struct TALER_EXCHANGE_CsRResponse
struct
{
/**
- * Signature over the coin.
+ * Values contributed by the exchange for the
+ * respective coin's withdraw operation.
*/
- struct TALER_DenominationCsPublicR r_pubs;
+ const struct TALER_ExchangeWithdrawValues *alg_values;
} success;
/**
@@ -1093,11 +1094,28 @@ typedef void
/**
+ * Information we pass per coin to a /csr request.
+ */
+struct TALER_EXCHANGE_NonceKey
+{
+ /**
+ * Which denomination key is the /csr request for?
+ */
+ const struct TALER_EXCHANGE_DenomPublicKey *pk;
+
+ /**
+ * What is the client nonce for the request?
+ */
+ struct TALER_CsNonce nonce;
+};
+
+
+/**
* Get a CS R using a /csr request.
*
* @param exchange the exchange handle; the exchange must be ready to operate
- * @param pk denomination of coin the R's will be used for
- * @param nonce public nonce for CS R request
+ * @param nks_len length of the @a nks array
+ * @param nks array of denominations and nonces
* @param res_cb the callback to call when the final result for this request is available
* @param res_cb_cls closure for the above callback
* @return handle for the operation on success, NULL on error, i.e.
@@ -1106,8 +1124,8 @@ typedef void
*/
struct TALER_EXCHANGE_CsRHandle *
TALER_EXCHANGE_csr (struct TALER_EXCHANGE_Handle *exchange,
- const struct TALER_EXCHANGE_DenomPublicKey *pk,
- const struct TALER_CsNonce *nonce,
+ unsigned int nks_len,
+ struct TALER_EXCHANGE_NonceKey *nks,
TALER_EXCHANGE_CsRCallback res_cb,
void *res_cb_cls);