diff options
author | Christian Grothoff <christian@grothoff.org> | 2022-04-12 11:58:21 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2022-04-12 11:58:21 +0200 |
commit | 3893afa49c689288734bfee9091afc1010ae4f11 (patch) | |
tree | e1c514c4e1d7ebfbeab49358ea4d065b4bc6c359 /src/include | |
parent | cacb0195015bcffbbdcbd6b2c8a6578911b27df1 (diff) |
-implementing purse merge DB logic
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/taler_exchangedb_plugin.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/include/taler_exchangedb_plugin.h b/src/include/taler_exchangedb_plugin.h index 39fa2ecdf..18f2fd924 100644 --- a/src/include/taler_exchangedb_plugin.h +++ b/src/include/taler_exchangedb_plugin.h @@ -4628,14 +4628,19 @@ struct TALER_EXCHANGEDB_Plugin /** * Function called to approve merging a purse into a - * reserve by the respective purse merge key. + * reserve by the respective purse merge key. The purse + * must not have been merged into a different reserve. * * @param cls the @e cls of this struct with the plugin-specific state * @param purse_pub purse to merge * @param merge_sig signature affirming the merge * @param merge_timestamp time of the merge + * @param reserve_sig signature of the reserve affirming the merge * @param partner_url URL of the partner exchange, can be NULL if the reserves lives with us * @param reserve_pub public key of the reserve to credit + * @param[out] no_partner set to true if @a partner_url is unknown + * @param[out] no_balance set to true if the @a purse_pub is not paid up yet + * @param[out] in_conflict set to true if @a purse_pub was merged into a different reserve already * @return transaction status code */ enum GNUNET_DB_QueryStatus @@ -4644,8 +4649,12 @@ struct TALER_EXCHANGEDB_Plugin const struct TALER_PurseContractPublicKeyP *purse_pub, const struct TALER_PurseMergeSignatureP *merge_sig, const struct GNUNET_TIME_Timestamp merge_timestamp, + const struct TALER_ReserveSignatureP *reserve_sig, const char *partner_url, - const struct TALER_ReservePublicKeyP *reserve_pub); + const struct TALER_ReservePublicKeyP *reserve_pub, + bool *no_partner, + bool *no_balance, + bool *in_conflict); /** |