exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 89e21002d6e76148904bd96aaf9b2d3f5e5a2da1
parent 90ca90b576149c760a76a58f200aee64c416a6cb
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sat, 13 May 2023 20:31:47 +0200

return tipping_allowed from /keys

Diffstat:
Msrc/exchange/taler-exchange-httpd.h | 5+++++
Msrc/exchange/taler-exchange-httpd_keys.c | 2++
Msrc/include/taler_exchange_service.h | 4++++
Msrc/lib/exchange_api_handle.c | 6++++++
4 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/src/exchange/taler-exchange-httpd.h b/src/exchange/taler-exchange-httpd.h @@ -65,6 +65,11 @@ extern int TEH_check_invariants_flag; extern int TEH_allow_keys_timetravel; /** + * Option set to #GNUNET_YES if tipping is enabled. + */ +extern int TEH_enable_tipping; + +/** * Main directory with revocation data. */ extern char *TEH_revocation_directory; diff --git a/src/exchange/taler-exchange-httpd_keys.c b/src/exchange/taler-exchange-httpd_keys.c @@ -1857,6 +1857,8 @@ create_krd (struct TEH_KeyStateHandle *ksh, TEH_currency), GNUNET_JSON_pack_string ("asset_type", asset_type), + GNUNET_JSON_pack_bool ("tipping_allowed", + GNUNET_YES == TEH_enable_tipping), GNUNET_JSON_pack_data_auto ("master_public_key", &TEH_master_public_key), GNUNET_JSON_pack_time_rel ("reserve_closing_delay", diff --git a/src/include/taler_exchange_service.h b/src/include/taler_exchange_service.h @@ -366,6 +366,10 @@ struct TALER_EXCHANGE_Keys */ char *asset_type; + /** + * Set to true if tipping is allowed at this exchange. + */ + bool tipping_allowed; }; diff --git a/src/lib/exchange_api_handle.c b/src/lib/exchange_api_handle.c @@ -733,6 +733,7 @@ decode_keys_json (const json_t *resp_obj, struct TALER_ExchangePublicKeyP pub; const char *currency; const char *asset_type; + bool tipping_allowed = true; json_t *wblwk = NULL; struct GNUNET_JSON_Specification mspec[] = { GNUNET_JSON_spec_fixed_auto ("denominations_sig", @@ -750,6 +751,10 @@ decode_keys_json (const json_t *resp_obj, GNUNET_JSON_spec_string ("asset_type", &asset_type), GNUNET_JSON_spec_mark_optional ( + GNUNET_JSON_spec_bool ("tipping_allowed", + &tipping_allowed), + NULL), + GNUNET_JSON_spec_mark_optional ( GNUNET_JSON_spec_json ("wallet_balance_limit_without_kyc", &wblwk), NULL), @@ -819,6 +824,7 @@ decode_keys_json (const json_t *resp_obj, NULL, NULL)); key_data->currency = GNUNET_strdup (currency); key_data->asset_type = GNUNET_strdup (asset_type); + key_data->tipping_allowed = tipping_allowed; /* parse the global fees */ {