summaryrefslogtreecommitdiff
path: root/src/json/json_pack.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-02-09 22:02:29 +0100
committerChristian Grothoff <christian@grothoff.org>2022-02-09 22:02:29 +0100
commit025922950dcf39700625e04be9f6037af67dddf5 (patch)
tree89b14956f470210e716b46dde8615221e51d1d72 /src/json/json_pack.c
parente6598cfa1a81f6b040718933496436987d21194b (diff)
downloadexchange-025922950dcf39700625e04be9f6037af67dddf5.tar.gz
exchange-025922950dcf39700625e04be9f6037af67dddf5.tar.bz2
exchange-025922950dcf39700625e04be9f6037af67dddf5.zip
pass exchange values to /recoup
Diffstat (limited to 'src/json/json_pack.c')
-rw-r--r--src/json/json_pack.c39
1 files changed, 38 insertions, 1 deletions
diff --git a/src/json/json_pack.c b/src/json/json_pack.c
index cf6504c0..043fa846 100644
--- a/src/json/json_pack.c
+++ b/src/json/json_pack.c
@@ -1,6 +1,6 @@
/*
This file is part of TALER
- Copyright (C) 2021 Taler Systems SA
+ Copyright (C) 2021, 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
@@ -121,6 +121,43 @@ TALER_JSON_pack_denom_sig (
struct GNUNET_JSON_PackSpec
+TALER_JSON_pack_exchange_withdraw_values (
+ const char *name,
+ const struct TALER_ExchangeWithdrawValues *ewv)
+{
+ struct GNUNET_JSON_PackSpec ps = {
+ .field_name = name,
+ };
+
+ switch (ewv->cipher)
+ {
+ case TALER_DENOMINATION_RSA:
+ ps.object = GNUNET_JSON_PACK (
+ GNUNET_JSON_pack_uint64 ("cipher",
+ TALER_DENOMINATION_RSA));
+ break;
+ case TALER_DENOMINATION_CS:
+ ps.object = GNUNET_JSON_PACK (
+ GNUNET_JSON_pack_uint64 ("cipher",
+ TALER_DENOMINATION_CS),
+ GNUNET_JSON_pack_data_varsize (
+ "r_pub_0",
+ &ewv->details.cs_values.r_pub_pair.r_pub[0],
+ sizeof(struct GNUNET_CRYPTO_CsRPublic)),
+ GNUNET_JSON_pack_data_varsize (
+ "r_pub_1",
+ &ewv->details.cs_values.r_pub_pair.r_pub[1],
+ sizeof(struct GNUNET_CRYPTO_CsRPublic))
+ );
+ break;
+ default:
+ GNUNET_assert (0);
+ }
+ return ps;
+}
+
+
+struct GNUNET_JSON_PackSpec
TALER_JSON_pack_blinded_denom_sig (
const char *name,
const struct TALER_BlindedDenominationSignature *sig)