[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-exchange] branch master updated: -implement exchange URL suggesti
From: |
gnunet |
Subject: |
[taler-exchange] branch master updated: -implement exchange URL suggestion |
Date: |
Tue, 16 Aug 2022 13:34:35 +0200 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository exchange.
The following commit(s) were added to refs/heads/master by this push:
new ab7266fc -implement exchange URL suggestion
ab7266fc is described below
commit ab7266fc1c50ec9807f5d7278f0458efa19b24f8
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Tue Aug 16 13:34:33 2022 +0200
-implement exchange URL suggestion
---
src/bank-lib/fakebank.c | 16 +++++++++++++++-
src/bank-lib/taler-fakebank-run.c | 27 +++++++++++++++++++++++++--
src/include/taler_fakebank_lib.h | 2 ++
3 files changed, 42 insertions(+), 3 deletions(-)
diff --git a/src/bank-lib/fakebank.c b/src/bank-lib/fakebank.c
index accd2639..77650b29 100644
--- a/src/bank-lib/fakebank.c
+++ b/src/bank-lib/fakebank.c
@@ -447,6 +447,12 @@ struct TALER_FAKEBANK_Handle
*/
struct GNUNET_CONTAINER_MultiShortmap *wops;
+ /**
+ * (Base) URL to suggest for the exchange. Can
+ * be NULL if there is no suggestion to be made.
+ */
+ char *exchange_url;
+
/**
* Lock for accessing @a rpubs map.
*/
@@ -1539,6 +1545,7 @@ TALER_FAKEBANK_stop (struct TALER_FAKEBANK_Handle *h)
GNUNET_free (h->transactions);
GNUNET_free (h->my_baseurl);
GNUNET_free (h->currency);
+ GNUNET_free (h->exchange_url);
GNUNET_free (h->hostname);
GNUNET_free (h);
}
@@ -2669,7 +2676,7 @@ serve (struct TALER_FAKEBANK_Handle *h,
/**
- * Handle GET /withdrawal-operation/ request.
+ * Handle GET /withdrawal-operation/{wopid} request.
*
* @param h the handle
* @param connection the connection
@@ -2723,6 +2730,9 @@ get_withdrawal_operation (struct TALER_FAKEBANK_Handle *h,
wo->selection_done),
GNUNET_JSON_pack_bool ("transfer_done",
wo->confirmation_done),
+ GNUNET_JSON_pack_allow_null (
+ GNUNET_JSON_pack_string ("suggested_exchange",
+ h->exchange_url)),
TALER_JSON_pack_amount ("amount",
&wo->amount),
GNUNET_JSON_pack_array_steal ("wire_types",
@@ -4036,6 +4046,7 @@ TALER_FAKEBANK_start2 (uint16_t port,
{
return TALER_FAKEBANK_start3 ("localhost",
port,
+ NULL,
currency,
ram_limit,
num_threads);
@@ -4045,6 +4056,7 @@ TALER_FAKEBANK_start2 (uint16_t port,
struct TALER_FAKEBANK_Handle *
TALER_FAKEBANK_start3 (const char *hostname,
uint16_t port,
+ const char *exchange_url,
const char *currency,
uint64_t ram_limit,
unsigned int num_threads)
@@ -4060,6 +4072,8 @@ TALER_FAKEBANK_start3 (const char *hostname,
}
GNUNET_assert (strlen (currency) < TALER_CURRENCY_LEN);
h = GNUNET_new (struct TALER_FAKEBANK_Handle);
+ if (NULL != exchange_url)
+ h->exchange_url = GNUNET_strdup (exchange_url);
#ifdef __linux__
h->lp_event = -1;
#else
diff --git a/src/bank-lib/taler-fakebank-run.c
b/src/bank-lib/taler-fakebank-run.c
index 4e370607..d77d6b3d 100644
--- a/src/bank-lib/taler-fakebank-run.c
+++ b/src/bank-lib/taler-fakebank-run.c
@@ -103,6 +103,8 @@ run (void *cls,
unsigned long long port = 8082;
unsigned long long ram = 1024 * 128; /* 128 k entries */
char *currency_string;
+ char *hostname;
+ char *exchange_url;
(void) cls;
(void) args;
@@ -124,6 +126,23 @@ run (void *cls,
"Listening on default port %llu\n",
port);
}
+ if (GNUNET_OK !=
+ GNUNET_CONFIGURATION_get_value_string (cfg,
+ "bank",
+ "SUGGESTED_EXCHANGE",
+ &exchange_url))
+ {
+ /* no suggested exchange */
+ exchange_url = NULL;
+ }
+ if (GNUNET_OK !=
+ GNUNET_CONFIGURATION_get_value_string (cfg,
+ "bank",
+ "HOSTNAME",
+ &hostname))
+ {
+ hostname = GNUNET_strdup ("localhost");
+ }
if (GNUNET_OK !=
GNUNET_CONFIGURATION_get_value_number (cfg,
"bank",
@@ -142,17 +161,21 @@ run (void *cls,
go |= TALER_MHD_GO_FORCE_CONNECTION_CLOSE;
TALER_MHD_setup (go);
}
- fb = TALER_FAKEBANK_start2 ((uint16_t) port,
+ fb = TALER_FAKEBANK_start3 (hostname,
+ (uint16_t) port,
+ exchange_url,
currency_string,
ram,
num_threads);
+ GNUNET_free (hostname);
+ GNUNET_free (exchange_url);
+ GNUNET_free (currency_string);
if (NULL == fb)
{
GNUNET_break (0);
ret = EXIT_FAILURE;
return;
}
- GNUNET_free (currency_string);
keepalive = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
&keepalive_task,
NULL);
diff --git a/src/include/taler_fakebank_lib.h b/src/include/taler_fakebank_lib.h
index a4b182e5..54af1545 100644
--- a/src/include/taler_fakebank_lib.h
+++ b/src/include/taler_fakebank_lib.h
@@ -87,6 +87,7 @@ TALER_FAKEBANK_start2 (uint16_t port,
*
* @param hostname hostname to use in URLs and URIs.
* @param port port to listen to
+ * @param exchange_url suggested exchange base URL
* @param currency which currency should the bank offer
* @param ram_limit how much memory do we use at most
* @param num_threads size of the thread pool, 0 to use the GNUnet scheduler
@@ -95,6 +96,7 @@ TALER_FAKEBANK_start2 (uint16_t port,
struct TALER_FAKEBANK_Handle *
TALER_FAKEBANK_start3 (const char *hostname,
uint16_t port,
+ const char *exchange_url,
const char *currency,
uint64_t ram_limit,
unsigned int num_threads);
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-exchange] branch master updated: -implement exchange URL suggestion,
gnunet <=