aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-02-10 23:39:00 +0100
committerChristian Grothoff <christian@grothoff.org>2022-02-10 23:39:00 +0100
commit532d4ad0dca62055056e5b6093e82daa3541f690 (patch)
tree65e2d5b783d0a84b33779b8d0e89225d0e765353 /src/include
parentd58d89dcab91823dff208d230e1b1b3a742810bd (diff)
downloadexchange-532d4ad0dca62055056e5b6093e82daa3541f690.tar.xz
-fixes to tests, and half-baked fixes for CS-/link (still fails)
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_exchangedb_plugin.h18
-rw-r--r--src/include/taler_pq_lib.h27
2 files changed, 44 insertions, 1 deletions
diff --git a/src/include/taler_exchangedb_plugin.h b/src/include/taler_exchangedb_plugin.h
index 8269672fe..1cd90c28f 100644
--- a/src/include/taler_exchangedb_plugin.h
+++ b/src/include/taler_exchangedb_plugin.h
@@ -317,6 +317,7 @@ struct TALER_EXCHANGEDB_TableData
uint64_t denominations_serial;
void *coin_ev;
size_t coin_ev_size;
+ struct TALER_ExchangeWithdrawValues ewv;
// h_coin_ev omitted, to be recomputed!
struct TALER_BlindedDenominationSignature ev_sig;
} refresh_revealed_coins;
@@ -1369,11 +1370,22 @@ struct TALER_EXCHANGEDB_LinkList
struct TALER_BlindedDenominationSignature ev_sig;
/**
+ * Exchange-provided values during the coin generation.
+ */
+ struct TALER_ExchangeWithdrawValues alg_values;
+
+ /**
* Signature of the original coin being refreshed over the
* link data, of type #TALER_SIGNATURE_WALLET_COIN_LINK
*/
struct TALER_CoinSpendSignatureP orig_coin_link_sig;
+ /**
+ * Offset that generated this coin in the refresh
+ * operation.
+ */
+ uint32_t coin_refresh_offset;
+
};
@@ -1646,6 +1658,12 @@ struct TALER_EXCHANGEDB_RefreshRevealedCoin
struct TALER_BlindedDenominationSignature coin_sig;
/**
+ * Values contributed from the exchange to the
+ * coin generation (see /csr).
+ */
+ struct TALER_ExchangeWithdrawValues exchange_vals;
+
+ /**
* Blinded message to be signed (in envelope).
*/
struct TALER_BlindedPlanchet blinded_planchet;
diff --git a/src/include/taler_pq_lib.h b/src/include/taler_pq_lib.h
index fa3128462..81f5c9872 100644
--- a/src/include/taler_pq_lib.h
+++ b/src/include/taler_pq_lib.h
@@ -1,6 +1,6 @@
/*
This file is part of TALER
- Copyright (C) 2014, 2015, 2016 Taler Systems SA
+ Copyright (C) 2014-2022 Taler Systems SA
TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
@@ -103,6 +103,18 @@ TALER_PQ_query_param_blinded_denom_sig (
/**
+ * Generate query parameter for the exchange's contribution during a
+ * withdraw. Internally, the various attributes of the @a alg_values will be
+ * serialized into on variable-size BLOB.
+ *
+ * @param x pointer to the query parameter to pass
+ */
+struct GNUNET_PQ_QueryParam
+TALER_PQ_query_param_exchange_withdraw_values (
+ const struct TALER_ExchangeWithdrawValues *alg_values);
+
+
+/**
* Generate query parameter for a JSON object (stored as a string
* in the DB). Note that @a x must really be a JSON object or array,
* passing just a value (string, integer) is not supported and will
@@ -180,6 +192,19 @@ TALER_PQ_result_spec_blinded_denom_sig (
/**
+ * Exchange withdraw values expected.
+ *
+ * @param name name of the field in the table
+ * @param[out] ewv where to store the exchange values
+ * @return array entry for the result specification to use
+ */
+struct GNUNET_PQ_ResultSpec
+TALER_PQ_result_spec_exchange_withdraw_values (
+ const char *name,
+ struct TALER_ExchangeWithdrawValues *ewv);
+
+
+/**
* Blinded planchet expected.
*
* @param name name of the field in the table