gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]