diff options
author | Christian Grothoff <grothoff@gnunet.org> | 2022-04-11 16:48:30 +0200 |
---|---|---|
committer | Christian Grothoff <grothoff@gnunet.org> | 2022-04-11 16:48:30 +0200 |
commit | 7a1dcc52ca9a6d79be10076b06b9a3e6ea35d395 (patch) | |
tree | b16344053dbf177032286a5083cc938c480b8292 /src/include/taler_exchangedb_plugin.h | |
parent | c8c100529711959a1c18a5591b450362e648a9f6 (diff) | |
download | exchange-7a1dcc52ca9a6d79be10076b06b9a3e6ea35d395.tar.xz |
-towards new GET /contracts/$C_PUB hander
Diffstat (limited to 'src/include/taler_exchangedb_plugin.h')
-rw-r--r-- | src/include/taler_exchangedb_plugin.h | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/src/include/taler_exchangedb_plugin.h b/src/include/taler_exchangedb_plugin.h index c065f581f..39fa2ecdf 100644 --- a/src/include/taler_exchangedb_plugin.h +++ b/src/include/taler_exchangedb_plugin.h @@ -4447,6 +4447,26 @@ struct TALER_EXCHANGEDB_Plugin * Function called to retrieve an encrypted contract. * * @param cls the @e cls of this struct with the plugin-specific state + * @param pub_ckey set to the ephemeral DH used to encrypt the contract, key used to lookup the contract by + * @param[out] purse_pub public key of the purse of the contract + * @param[out] econtract_sig set to the signature over the encrypted contract + * @param[out] econtract_size set to the number of bytes in @a econtract + * @param[out] econtract set to the encrypted contract on success, to be freed by the caller + * @return transaction status code + */ + enum GNUNET_DB_QueryStatus + (*select_contract)( + void *cls, + const struct TALER_ContractDiffiePublicP *pub_ckey, + struct TALER_PurseContractPublicKeyP *purse_pub, + struct TALER_PurseContractSignatureP *econtract_sig, + size_t *econtract_size, + void **econtract); + + /** + * Function called to retrieve an encrypted contract. + * + * @param cls the @e cls of this struct with the plugin-specific state * @param purse_pub key to lookup the contract by * @param[out] pub_ckey set to the ephemeral DH used to encrypt the contract * @param[out] econtract_sig set to the signature over the encrypted contract @@ -4455,12 +4475,13 @@ struct TALER_EXCHANGEDB_Plugin * @return transaction status code */ enum GNUNET_DB_QueryStatus - (*select_contract)(void *cls, - const struct TALER_PurseContractPublicKeyP *purse_pub, - struct TALER_ContractDiffiePublicP *pub_ckey, - struct TALER_PurseContractSignatureP *econtract_sig, - size_t *econtract_size, - void **econtract); + (*select_contract_by_purse)( + void *cls, + const struct TALER_PurseContractPublicKeyP *purse_pub, + struct TALER_ContractDiffiePublicP *pub_ckey, + struct TALER_PurseContractSignatureP *econtract_sig, + size_t *econtract_size, + void **econtract); /** |