From daae3d3ddf1cbee4761a6a2c0066732fb4723fb0 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sat, 2 Apr 2016 20:58:22 +0200 Subject: change taler-exchange-sepa to a more generic taler-exchange-wire tool using the wire plugins (#4237) --- src/include/taler_signatures.h | 13 ++++++++++--- src/include/taler_wire_plugin.h | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) (limited to 'src/include') 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 @@ -113,6 +113,24 @@ struct TALER_WIRE_Plugin const char *account_name); + /** + * 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 * -- cgit v1.2.3