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 | |
| parent | 90ca90b576149c760a76a58f200aee64c416a6cb (diff) | |
return tipping_allowed from /keys
| -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 5ab0ea92..e06807b5 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 fa87a3b8..b39093ec 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 3769315e..6d4ca109 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 0e804630..601b163d 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 */    { | 
