diff options
author | Christian Grothoff <christian@grothoff.org> | 2022-04-05 17:15:50 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2022-04-05 17:15:50 +0200 |
commit | f3a4b00907410444055f47d4ff2074b44f981ad3 (patch) | |
tree | cb8f191a285152649e0b780aad8154f5b819f924 /src/include/taler_exchangedb_plugin.h | |
parent | 71916414069d18ec5b7d5901d52d62a2aaa1403d (diff) |
adapt to latest GNUnet API: GNUNET_JSON_spec_mark_optional() changed
Diffstat (limited to 'src/include/taler_exchangedb_plugin.h')
-rw-r--r-- | src/include/taler_exchangedb_plugin.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/include/taler_exchangedb_plugin.h b/src/include/taler_exchangedb_plugin.h index 9c9410d66..c065f581f 100644 --- a/src/include/taler_exchangedb_plugin.h +++ b/src/include/taler_exchangedb_plugin.h @@ -4567,6 +4567,8 @@ struct TALER_EXCHANGEDB_Plugin * remaining balance is below @a amount; * in this case, the return value will be * #GNUNET_DB_STATUS_SUCCESS_ONE despite the failure + * @param[out] conflict the same coin was deposited into + * this purse with a different amount already * @return transaction status code */ enum GNUNET_DB_QueryStatus @@ -4577,7 +4579,30 @@ struct TALER_EXCHANGEDB_Plugin const struct TALER_Amount *amount, const struct TALER_CoinSpendSignatureP *coin_sig, const struct TALER_Amount *amount_minus_fee, - bool *balance_ok); + bool *balance_ok, + bool *conflict); + + + /** + * Function called to obtain a coin deposit data from + * depositing the coin into a purse. + * + * @param cls the @e cls of this struct with the plugin-specific state + * @param purse_pub purse to credit + * @param coin_pub coin to deposit (debit) + * @param[out] amount set fraction of the coin's value that was deposited (with fee) + * @param[out] coin_sig set to signature affirming the operation + * @param[out] partner_url set to the URL of the partner exchange, or NULL for ourselves, must be freed by caller + * @return transaction status code + */ + enum GNUNET_DB_QueryStatus + (*get_purse_deposit)( + void *cls, + const struct TALER_PurseContractPublicKeyP *purse_pub, + const struct TALER_CoinSpendPublicKeyP *coin_pub, + struct TALER_Amount *amount, + struct TALER_CoinSpendSignatureP *coin_sig, + char **partner_url); /** |