aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-04-02 20:58:22 +0200
committerChristian Grothoff <christian@grothoff.org>2016-04-02 20:58:22 +0200
commitdaae3d3ddf1cbee4761a6a2c0066732fb4723fb0 (patch)
treeba2e9a677f6a1bede7f871adc9ca0c97ac62e7c6 /src/include
parent937078bbdc747c92d45a3879862ff4664d1ff636 (diff)
change taler-exchange-sepa to a more generic taler-exchange-wire tool using the wire plugins (#4237)
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_signatures.h13
-rw-r--r--src/include/taler_wire_plugin.h18
2 files changed, 28 insertions, 3 deletions
diff --git a/src/include/taler_signatures.h b/src/include/taler_signatures.h
index 23bdaa578..587cdcee5 100644
--- a/src/include/taler_signatures.h
+++ b/src/include/taler_signatures.h
@@ -69,10 +69,16 @@
/**
* Signature where the Exchange confirms its SEPA details in
- * the /wire/sepa response.
+ * the /wire response.
*/
#define TALER_SIGNATURE_MASTER_SEPA_DETAILS 1026
+/**
+ * Signature where the Exchange confirms its TEST details in
+ * the /wire response.
+ */
+#define TALER_SIGNATURE_MASTER_TEST_DETAILS 1027
+
/*********************************************/
/* Exchange online signatures (with signing key) */
@@ -762,11 +768,12 @@ struct TALER_RefreshCommitLinkP
* @brief Information signed by the exchange's master
* key affirming the SEPA details for the exchange.
*/
-struct TALER_MasterWireSepaDetailsPS
+struct TALER_MasterWireDetailsPS
{
/**
- * Purpose is #TALER_SIGNATURE_MASTER_SEPA_DETAILS.
+ * Purpose is #TALER_SIGNATURE_MASTER_SEPA_DETAILS or
+ * #TALER_SIGNATURE_MASTER_TEST_DETAILS.
*/
struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
diff --git a/src/include/taler_wire_plugin.h b/src/include/taler_wire_plugin.h
index e166558a7..9b2bc8fde 100644
--- a/src/include/taler_wire_plugin.h
+++ b/src/include/taler_wire_plugin.h
@@ -114,6 +114,24 @@ struct TALER_WIRE_Plugin
/**
+ * Sign wire transfer details in the plugin-specific format.
+ *
+ * @param cls closure
+ * @param in wire transfer details in JSON format
+ * @param key private signing key to use
+ * @param salt salt to add
+ * @param[out] sig where to write the signature
+ * @return #GNUNET_OK on success
+ */
+ int
+ (*sign_wire_details)(void *cls,
+ const json_t *in,
+ const struct TALER_MasterPrivateKeyP *key,
+ const struct GNUNET_HashCode *salt,
+ struct TALER_MasterSignatureP *sig);
+
+
+ /**
* Check if the given wire format JSON object is correctly formatted
*
* @param cls the @e cls of this struct with the plugin-specific state