diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-04-15 15:00:26 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-04-15 15:00:26 +0200 |
commit | 74e237164ce7958c19467ad440e45576c4425570 (patch) | |
tree | e5156b7197cbb76ad0b0d617d9a04eeb2c08ea48 /src/include/taler_wire_plugin.h | |
parent | ebf049a8c2d982e723fe67dbff64e1eea14d8247 (diff) | |
parent | 3098c0a9e0b18a436e484ef693cdebeb16d4c131 (diff) | |
download | exchange-74e237164ce7958c19467ad440e45576c4425570.tar.gz exchange-74e237164ce7958c19467ad440e45576c4425570.tar.bz2 exchange-74e237164ce7958c19467ad440e45576c4425570.zip |
Merge branch 'master' of ssh://taler.net:/var/git/exchange
Diffstat (limited to 'src/include/taler_wire_plugin.h')
-rw-r--r-- | src/include/taler_wire_plugin.h | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/src/include/taler_wire_plugin.h b/src/include/taler_wire_plugin.h index 8fb194c57..9b2bc8fde 100644 --- a/src/include/taler_wire_plugin.h +++ b/src/include/taler_wire_plugin.h @@ -99,13 +99,50 @@ struct TALER_WIRE_Plugin /** + * Obtain wire transfer details in the plugin-specific format + * from the configuration. + * + * @param cls closure + * @param cfg configuration with details about wire accounts + * @param account_name which section in the configuration should we parse + * @return NULL if @a cfg fails to have valid wire details for @a account_name + */ + json_t * + (*get_wire_details)(void *cls, + const struct GNUNET_CONFIGURATION_Handle *cfg, + 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 * + * @param cls the @e cls of this struct with the plugin-specific state * @param wire the JSON wire format object + * @param master_pub public key of the exchange to verify against * @return #GNUNET_YES if correctly formatted; #GNUNET_NO if not */ int - (*wire_validate) (const json_t *wire); + (*wire_validate) (void *cls, + const json_t *wire, + const struct TALER_MasterPublicKeyP *master_pub); /** |