diff options
author | Christian Grothoff <christian@grothoff.org> | 2023-05-13 20:31:47 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2023-05-13 20:31:47 +0200 |
commit | 89e21002d6e76148904bd96aaf9b2d3f5e5a2da1 (patch) | |
tree | 226b146046cd586eaa8fe8520deedf5789723a0a /src | |
parent | 90ca90b576149c760a76a58f200aee64c416a6cb (diff) |
return tipping_allowed from /keys
Diffstat (limited to 'src')
-rw-r--r-- | src/exchange/taler-exchange-httpd.h | 5 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_keys.c | 2 | ||||
-rw-r--r-- | src/include/taler_exchange_service.h | 4 | ||||
-rw-r--r-- | src/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 index 5ab0ea92b..e06807b59 100644 --- 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 index fa87a3b84..b39093ec1 100644 --- 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 index 3769315e8..6d4ca1091 100644 --- 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 index 0e8046305..601b163db 100644 --- 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 */ { |