summaryrefslogtreecommitdiff
path: root/src/exchange/taler-exchange-httpd_refreshes_reveal.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-02-29 16:42:10 +0100
committerChristian Grothoff <christian@grothoff.org>2020-02-29 16:42:10 +0100
commit0a2b049864c8dae0c53c203d46fca89e0e66849d (patch)
tree3e836be37902320a4a3a099ee62d960198057952 /src/exchange/taler-exchange-httpd_refreshes_reveal.h
parentde9ab28ab9e55597baf2ca32194ec65b441f0f36 (diff)
downloadexchange-0a2b049864c8dae0c53c203d46fca89e0e66849d.tar.gz
exchange-0a2b049864c8dae0c53c203d46fca89e0e66849d.tar.bz2
exchange-0a2b049864c8dae0c53c203d46fca89e0e66849d.zip
big rename fest related to #6067 API renaming
Diffstat (limited to 'src/exchange/taler-exchange-httpd_refreshes_reveal.h')
-rw-r--r--src/exchange/taler-exchange-httpd_refreshes_reveal.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/exchange/taler-exchange-httpd_refreshes_reveal.h b/src/exchange/taler-exchange-httpd_refreshes_reveal.h
new file mode 100644
index 00000000..afc9adce
--- /dev/null
+++ b/src/exchange/taler-exchange-httpd_refreshes_reveal.h
@@ -0,0 +1,53 @@
+/*
+ This file is part of TALER
+ Copyright (C) 2014-2017 Taler Systems SA
+
+ TALER is free software; you can redistribute it and/or modify it under the
+ terms of the GNU Affero General Public License as published by the Free Software
+ Foundation; either version 3, or (at your option) any later version.
+
+ TALER is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License along with
+ TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
+*/
+/**
+ * @file taler-exchange-httpd_refresh_reveal.h
+ * @brief Handle /refresh/reveal requests
+ * @author Florian Dold
+ * @author Benedikt Mueller
+ * @author Christian Grothoff
+ */
+#ifndef TALER_EXCHANGE_HTTPD_REFRESH_REVEAL_H
+#define TALER_EXCHANGE_HTTPD_REFRESH_REVEAL_H
+
+#include <gnunet/gnunet_util_lib.h>
+#include <microhttpd.h>
+#include "taler-exchange-httpd.h"
+
+
+/**
+ * Handle a "/refreshes/$RCH/reveal" request. This time, the client reveals the
+ * private transfer keys except for the cut-and-choose value returned from
+ * "/coins/$COIN_PUB/melt". This function parses the revealed keys and secrets and
+ * ultimately passes everything to #resolve_refresh_reveal_denominations()
+ * which will verify that the revealed information is valid then runs the
+ * transaction in #refresh_reveal_transaction() and finally returns the signed
+ * refreshed coins.
+ *
+ * @param rh context of the handler
+ * @param coin_pub public key of the coin
+ * @param root uploaded JSON data
+ * @param args array of additional options (length: 2, session hash and the string "reveal")
+ * @return MHD result code
+ */
+int
+TEH_REFRESH_handler_reveal (const struct TEH_RequestHandler *rh,
+ struct MHD_Connection *connection,
+ const json_t *root,
+ const char *const args[2]);
+
+
+#endif