diff options
Diffstat (limited to 'src/bank-lib')
-rw-r--r-- | src/bank-lib/bank_api_admin.c | 2 | ||||
-rw-r--r-- | src/bank-lib/fakebank.c | 91 | ||||
-rw-r--r-- | src/bank-lib/fakebank_bank.c | 501 | ||||
-rw-r--r-- | src/bank-lib/fakebank_bank_post_accounts_withdrawals.c | 2 | ||||
-rw-r--r-- | src/bank-lib/fakebank_tbr_get_history.c | 2 | ||||
-rw-r--r-- | src/bank-lib/taler-exchange-wire-gateway-client.c | 2 | ||||
-rwxr-xr-x | src/bank-lib/test_bank.sh | 8 |
7 files changed, 406 insertions, 202 deletions
diff --git a/src/bank-lib/bank_api_admin.c b/src/bank-lib/bank_api_admin.c index 47d8a5c6d..f12ab6ee2 100644 --- a/src/bank-lib/bank_api_admin.c +++ b/src/bank-lib/bank_api_admin.c @@ -1,6 +1,6 @@ /* This file is part of TALER - Copyright (C) 2015--2020 Taler Systems SA + Copyright (C) 2015--2023 Taler Systems SA TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software diff --git a/src/bank-lib/fakebank.c b/src/bank-lib/fakebank.c index 846695571..12302be7b 100644 --- a/src/bank-lib/fakebank.c +++ b/src/bank-lib/fakebank.c @@ -35,8 +35,6 @@ #include "fakebank_bank.h" #include "fakebank_common_lp.h" #include "fakebank_tbi.h" -#include "fakebank_tbr.h" -#include "fakebank_twg.h" /** @@ -96,16 +94,13 @@ handle_mhd_request (void *cls, void **con_cls) { struct TALER_FAKEBANK_Handle *h = cls; - char *account = NULL; - char *end; - MHD_RESULT ret; (void) version; if (0 == strncmp (url, - "/taler-bank-integration/", - strlen ("/taler-bank-integration/"))) + "/taler-integration/", + strlen ("/taler-integration/"))) { - url += strlen ("/taler-bank-integration"); + url += strlen ("/taler-integration"); return TALER_FAKEBANK_tbi_main_ (h, connection, url, @@ -114,79 +109,13 @@ handle_mhd_request (void *cls, upload_data_size, con_cls); } - if (0 == strncmp (url, - "/taler-bank-access/", - strlen ("/taler-bank-access/"))) - { - url += strlen ("/taler-bank-access"); - return TALER_FAKEBANK_bank_main_ (h, - connection, - url, - method, - upload_data, - upload_data_size, - con_cls); - } - /* Next is duplication to be more libeufin-like: */ - if (0 == strncmp (url, - "/access-api/", - strlen ("/access-api/"))) - { - url += strlen ("/access-api"); - return TALER_FAKEBANK_bank_main_ (h, - connection, - url, - method, - upload_data, - upload_data_size, - con_cls); - } - if (0 == strncmp (url, - "/anastasis-api/", - strlen ("/anastasis-api/"))) - { - url += strlen ("/anastasis-api"); - if ( (strlen (url) > 1) && - (NULL != (end = strchr (url + 1, '/'))) ) - { - account = GNUNET_strndup (url + 1, - end - url - 1); - url = end; - } - return TALER_FAKEBANK_tbr_main_ (h, - connection, - account, - url, - method, - upload_data, - upload_data_size, - con_cls); - } - - if (0 == strncmp (url, - "/taler-wire-gateway/", - strlen ("/taler-wire-gateway/"))) - url += strlen ("/taler-wire-gateway"); - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Handling request for `%s'\n", - url); - if ( (strlen (url) > 1) && - (NULL != (end = strchr (url + 1, '/'))) ) - { - account = GNUNET_strndup (url + 1, - end - url - 1); - url = end; - } - ret = TALER_FAKEBANK_twg_main_ (h, - connection, - account, - url, - method, - upload_data, - upload_data_size, - con_cls); - GNUNET_free (account); - return ret; + return TALER_FAKEBANK_bank_main_ (h, + connection, + url, + method, + upload_data, + upload_data_size, + con_cls); } diff --git a/src/bank-lib/fakebank_bank.c b/src/bank-lib/fakebank_bank.c index ede148a41..c55e9efc8 100644 --- a/src/bank-lib/fakebank_bank.c +++ b/src/bank-lib/fakebank_bank.c @@ -28,6 +28,8 @@ #include <gnunet/gnunet_mhd_compat.h> #include "fakebank.h" #include "fakebank_bank.h" +#include "fakebank_tbr.h" +#include "fakebank_twg.h" #include "fakebank_bank_get_accounts.h" #include "fakebank_bank_get_accounts_withdrawals.h" #include "fakebank_bank_get_root.h" @@ -50,11 +52,23 @@ TALER_FAKEBANK_bank_main_ ( if (0 == strcasecmp (method, MHD_HTTP_METHOD_HEAD)) method = MHD_HTTP_METHOD_GET; + + if ( (0 == strcmp (url, + "/")) && + (0 == strcasecmp (method, + MHD_HTTP_METHOD_GET)) ) + { + /* GET / */ + return TALER_FAKEBANK_bank_get_root_ (h, + connection); + } + if ( (0 == strcmp (url, "/config")) && (0 == strcasecmp (method, MHD_HTTP_METHOD_GET)) ) { + /* GET /config */ return TALER_MHD_REPLY_JSON_PACK ( connection, MHD_HTTP_OK, @@ -63,162 +77,423 @@ TALER_FAKEBANK_bank_main_ ( GNUNET_JSON_pack_string ("currency", h->currency), GNUNET_JSON_pack_string ("name", - "taler-bank-access")); + "libeufin-bank" /* FIXME: spec!? */)); } + if ( (0 == strcmp (url, "/public-accounts")) && (0 == strcasecmp (method, MHD_HTTP_METHOD_GET)) ) { + /* GET /public-accounts */ return TALER_MHD_REPLY_JSON_PACK ( connection, MHD_HTTP_OK, GNUNET_JSON_pack_array_steal ("public_accounts", json_array ())); } - if ( (0 == strncmp (url, - "/accounts/", - strlen ("/accounts/"))) && + + /* account registration API */ + if ( (0 == strcmp (url, + "/accounts")) && (0 == strcasecmp (method, MHD_HTTP_METHOD_POST)) ) { + /* POST /accounts */ + return TALER_FAKEBANK_bank_testing_register_ (h, + connection, + upload_data, + upload_data_size, + con_cls); + } + + if ( (0 == strcmp (url, + "/accounts")) && + (0 == strcasecmp (method, + MHD_HTTP_METHOD_GET)) ) + { + /* GET /accounts */ + GNUNET_break (0); /* not implemented */ + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } + + if ( (0 == strcmp (url, + "/cashout-rate")) && + (0 == strcasecmp (method, + MHD_HTTP_METHOD_GET)) ) + { + /* GET /cashout-rate */ + GNUNET_break (0); /* not implemented */ + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } + + if ( (0 == strcmp (url, + "/cashouts")) && + (0 == strcasecmp (method, + MHD_HTTP_METHOD_GET)) ) + { + /* GET /cashouts */ + GNUNET_break (0); /* not implemented */ + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } + + + if (0 == strncmp (url, + "/accounts/", + strlen ("/accounts/"))) + { const char *acc_name = &url[strlen ("/accounts/")]; const char *end_acc = strchr (acc_name, '/'); - char *acc; - MHD_RESULT ret; - if ( (NULL == end_acc) || - (0 != strncmp (end_acc, - "/withdrawals", - strlen ("/withdrawals"))) ) + if ( (NULL != end_acc) && + (0 == strncmp (end_acc, + "/taler-wire-gateway/", + strlen ("/taler-wire-gateway/"))) ) + { + /* $METHOD /accounts/$ACCOUNT/taler-wire-gateway/ */ + char *acc; + MHD_RESULT ret; + + acc = GNUNET_strndup (acc_name, + end_acc - acc_name); + end_acc += strlen ("/taler-wire-gateway"); + ret = TALER_FAKEBANK_twg_main_ (h, + connection, + acc, + end_acc, + method, + upload_data, + upload_data_size, + con_cls); + GNUNET_free (acc); + return ret; + } + + if ( (NULL != end_acc) && + (0 == strncmp (end_acc, + "/taler-revenue/", + strlen ("/taler-revenue/"))) ) + { + /* $METHOD /accounts/$ACCOUNT/taler-revenue/ */ + char *acc; + MHD_RESULT ret; + + acc = GNUNET_strndup (acc_name, + end_acc - acc_name); + end_acc += strlen ("/taler-revenue"); + ret = TALER_FAKEBANK_tbr_main_ (h, + connection, + acc, + end_acc, + method, + upload_data, + upload_data_size, + con_cls); + GNUNET_free (acc); + return ret; + } + + if ( (NULL == end_acc) && + (0 == strcasecmp (method, + MHD_HTTP_METHOD_GET)) ) { + /* GET /accounts/$ACCOUNT */ + return TALER_FAKEBANK_bank_get_accounts_ (h, + connection, + acc_name); + } + + if ( (NULL == end_acc) && + (0 == strcasecmp (method, + MHD_HTTP_METHOD_PATCH)) ) + { + /* PATCH /accounts/$USERNAME */ + GNUNET_break (0); /* not implemented */ + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } + + if ( (NULL == end_acc) && + (0 == strcasecmp (method, + MHD_HTTP_METHOD_DELETE)) ) + { + /* DELETE /accounts/$USERNAME */ + GNUNET_break (0); /* not implemented */ + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } + + if ( (NULL == end_acc) && + (0 == strcmp ("/auth", + end_acc)) && + (0 == strcasecmp (method, + MHD_HTTP_METHOD_PATCH)) ) + { + /* PATCH /accounts/$USERNAME/auth */ + GNUNET_break (0); /* not implemented */ + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } + + if ( (NULL != end_acc) && + (0 == strcasecmp (method, + MHD_HTTP_METHOD_GET)) ) + { + /* GET /accounts/$ACCOUNT/+ */ + + if (0 == strcmp (end_acc, + "/transactions")) + { + /* GET /accounts/$USERNAME/transactions */ + GNUNET_break (0); /* not implemented */ + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } + if (0 == strncmp (end_acc, + "/transactions/", + strlen ("/transactions/"))) + { + /* GET /accounts/$USERNAME/transactions/$TID */ + GNUNET_break (0); /* not implemented */ + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } + if (0 == strcmp (end_acc, + "/withdrawals")) + { + /* GET /accounts/$USERNAME/withdrawals */ + GNUNET_break (0); /* not implemented */ + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } + if (0 == strncmp (end_acc, + "/withdrawals/", + strlen ("/withdrawals/"))) + { + /* GET /accounts/$ACCOUNT/withdrawals/$WID */ + const char *wid; + char *acc; + MHD_RESULT ret; + + acc = GNUNET_strndup (acc_name, + end_acc - acc_name); + wid = &end_acc[strlen ("/withdrawals/")]; + ret = TALER_FAKEBANK_bank_get_accounts_withdrawals_ (h, + connection, + acc, + wid); + GNUNET_free (acc); + return ret; + } + if (0 == strcmp (end_acc, + "/cashouts")) + { + /* GET /accounts/$USERNAME/cashouts */ + GNUNET_break (0); /* not implemented */ + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } + if (0 == strncmp (end_acc, + "/cashouts/", + strlen ("/cashouts/"))) + { + /* GET /accounts/$USERNAME/cashouts/$CID */ + GNUNET_break (0); /* not implemented */ + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } + + GNUNET_break_op (0); return TALER_MHD_reply_with_error (connection, MHD_HTTP_NOT_FOUND, TALER_EC_GENERIC_ENDPOINT_UNKNOWN, acc_name); } - acc = GNUNET_strndup (acc_name, - end_acc - acc_name); - end_acc += strlen ("/withdrawals"); - if ('/' == *end_acc) + + if ( (NULL != end_acc) && + (0 == strcasecmp (method, + MHD_HTTP_METHOD_POST)) ) { - const char *wid = end_acc + 1; - const char *opid = strchr (wid, - '/'); - char *wi; - - if ( (NULL == opid) || - ( (0 != strcmp (opid, - "/abort")) && - (0 != strcmp (opid, - "/confirm")) ) ) + /* POST /accounts/$ACCOUNT/+ */ + char *acc; + + acc = GNUNET_strndup (acc_name, + end_acc - acc_name); + if (0 == strcmp (end_acc, + "/cashouts")) { - GNUNET_break_op (0); + /* POST /accounts/$USERNAME/cashouts */ + GNUNET_break (0); /* not implemented */ GNUNET_free (acc); - return TALER_MHD_reply_with_error (connection, - MHD_HTTP_NOT_FOUND, - TALER_EC_GENERIC_ENDPOINT_UNKNOWN, - acc_name); + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } + if (0 == strncmp (end_acc, + "/cashouts/", + strlen ("/cashouts/"))) + { + /* POST /accounts/$USERNAME/cashouts/+ */ + const char *cid = end_acc + strlen ("/cashouts/"); + const char *opid = strchr (cid, + '/'); + char *ci; + + if (NULL == opid) + { + /* POST /accounts/$ACCOUNT/cashouts/$CID (not defined) */ + GNUNET_break_op (0); + GNUNET_free (acc); + return TALER_MHD_reply_with_error (connection, + MHD_HTTP_NOT_FOUND, + TALER_EC_GENERIC_ENDPOINT_UNKNOWN, + acc_name); + } + ci = GNUNET_strndup (cid, + opid - cid); + if (0 == strcmp (opid, + "/abort")) + { + GNUNET_break (0); /* not implemented */ + GNUNET_free (ci); + GNUNET_free (acc); + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } + if (0 == strcmp (opid, + "/confirm")) + { + GNUNET_break (0); /* not implemented */ + GNUNET_free (ci); + GNUNET_free (acc); + return TALER_MHD_reply_with_error ( + connection, + MHD_HTTP_NOT_IMPLEMENTED, + TALER_EC_GENERIC_CLIENT_INTERNAL_ERROR, + url); + } } - wi = GNUNET_strndup (wid, - opid - wid); - if (0 == strcmp (opid, - "/abort")) + + if (0 == strcmp (end_acc, + "/withdrawals")) { - ret = TALER_FAKEBANK_bank_withdrawals_abort_ (h, - connection, - acc, - wi); - GNUNET_free (wi); + /* POST /accounts/$ACCOUNT/withdrawals */ + MHD_RESULT ret; + + ret = TALER_FAKEBANK_bank_post_account_withdrawals_ ( + h, + connection, + acc, + upload_data, + upload_data_size, + con_cls); GNUNET_free (acc); return ret; } - if (0 == strcmp (opid, - "/confirm")) + + if (0 == strncmp (end_acc, + "/withdrawals/", + strlen ("/withdrawals/"))) { - ret = TALER_FAKEBANK_bank_withdrawals_confirm_ (h, + /* POST /accounts/$ACCOUNT/withdrawals/$WID* */ + const char *wid = end_acc + strlen ("/withdrawals/"); + const char *opid = strchr (wid, + '/'); + char *wi; + + if (NULL == opid) + { + /* POST /accounts/$ACCOUNT/withdrawals/$WID (not defined) */ + GNUNET_break_op (0); + GNUNET_free (acc); + return TALER_MHD_reply_with_error (connection, + MHD_HTTP_NOT_FOUND, + TALER_EC_GENERIC_ENDPOINT_UNKNOWN, + acc_name); + } + wi = GNUNET_strndup (wid, + opid - wid); + if (0 == strcmp (opid, + "/abort")) + { + /* POST /accounts/$ACCOUNT/withdrawals/$WID/abort */ + MHD_RESULT ret; + + ret = TALER_FAKEBANK_bank_withdrawals_abort_ (h, connection, acc, wi); - GNUNET_free (wi); - GNUNET_free (acc); - return ret; - } - GNUNET_assert (0); - } - ret = TALER_FAKEBANK_bank_post_account_withdrawals_ ( - h, - connection, - acc, - upload_data, - upload_data_size, - con_cls); - GNUNET_free (acc); - return ret; - } - - if ( (0 == strncmp (url, - "/accounts/", - strlen ("/accounts/"))) && - (0 == strcasecmp (method, - MHD_HTTP_METHOD_GET)) ) - { - const char *acc_name = &url[strlen ("/accounts/")]; - const char *end_acc = strchr (acc_name, - '/'); - const char *wid; - char *acc; - MHD_RESULT ret; + GNUNET_free (wi); + GNUNET_free (acc); + return ret; + } + if (0 == strcmp (opid, + "/confirm")) + { + /* POST /accounts/$ACCOUNT/withdrawals/$WID/confirm */ + MHD_RESULT ret; - if (NULL == end_acc) - { - return TALER_FAKEBANK_bank_get_accounts_ (h, - connection, - acc_name); - } - if (0 != strncmp (end_acc, - "/withdrawals/", - strlen ("/withdrawals/"))) - { - GNUNET_break_op (0); - return TALER_MHD_reply_with_error (connection, - MHD_HTTP_NOT_FOUND, - TALER_EC_GENERIC_ENDPOINT_UNKNOWN, - acc_name); + ret = TALER_FAKEBANK_bank_withdrawals_confirm_ (h, + connection, + acc, + wi); + GNUNET_free (wi); + GNUNET_free (acc); + return ret; + } + } } - acc = GNUNET_strndup (acc_name, - end_acc - acc_name); - wid = &end_acc[strlen ("/withdrawals/")]; - ret = TALER_FAKEBANK_bank_get_accounts_withdrawals_ (h, - connection, - acc, - wid); - GNUNET_free (acc); - return ret; } - /* FIXME: implement transactions API: 1.12.2 */ - /* registration API */ - if ( (0 == strcmp (url, - "/testing/register")) && - (0 == strcasecmp (method, - MHD_HTTP_METHOD_POST)) ) - { - return TALER_FAKEBANK_bank_testing_register_ (h, - connection, - upload_data, - upload_data_size, - con_cls); - } + GNUNET_break_op (0); TALER_LOG_ERROR ("Breaking URL: %s %s\n", method, url); - GNUNET_break_op (0); - return TALER_MHD_reply_with_error ( - connection, - MHD_HTTP_NOT_FOUND, - TALER_EC_GENERIC_ENDPOINT_UNKNOWN, - url); + return TALER_MHD_reply_with_error (connection, + MHD_HTTP_NOT_FOUND, + TALER_EC_GENERIC_ENDPOINT_UNKNOWN, + url); } diff --git a/src/bank-lib/fakebank_bank_post_accounts_withdrawals.c b/src/bank-lib/fakebank_bank_post_accounts_withdrawals.c index f05faf14d..10a241fa8 100644 --- a/src/bank-lib/fakebank_bank_post_accounts_withdrawals.c +++ b/src/bank-lib/fakebank_bank_post_accounts_withdrawals.c @@ -93,7 +93,7 @@ do_post_account_withdrawals ( wopids = GNUNET_STRINGS_data_to_string_alloc (&wo->wopid, sizeof (wo->wopid)); GNUNET_asprintf (&uri, - "taler+http://withdraw/%s:%u/taler-bank-integration/%s", + "taler+http://withdraw/%s:%u/taler-integration/%s", h->hostname, (unsigned int) h->port, wopids); diff --git a/src/bank-lib/fakebank_tbr_get_history.c b/src/bank-lib/fakebank_tbr_get_history.c index 3a7bfa450..59efd8ea4 100644 --- a/src/bank-lib/fakebank_tbr_get_history.c +++ b/src/bank-lib/fakebank_tbr_get_history.c @@ -71,7 +71,7 @@ TALER_FAKEBANK_tbr_get_history_incoming ( cc->ctx = hc; GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Handling /history/incoming connection %p\n", + "Handling /accounts/$USERNAME/taler-revenue/history/incoming request %p\n", connection); if (GNUNET_OK != (ret = TALER_FAKEBANK_common_parse_history_args (h, diff --git a/src/bank-lib/taler-exchange-wire-gateway-client.c b/src/bank-lib/taler-exchange-wire-gateway-client.c index 0d4bba000..b20a5fd32 100644 --- a/src/bank-lib/taler-exchange-wire-gateway-client.c +++ b/src/bank-lib/taler-exchange-wire-gateway-client.c @@ -1,6 +1,6 @@ /* This file is part of TALER - Copyright (C) 2017-2021 Taler Systems SA + Copyright (C) 2017-2023 Taler Systems SA TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software diff --git a/src/bank-lib/test_bank.sh b/src/bank-lib/test_bank.sh index 686f78dde..5ee2bd836 100755 --- a/src/bank-lib/test_bank.sh +++ b/src/bank-lib/test_bank.sh @@ -57,7 +57,7 @@ echo "OK" echo -n "Making wire transfer to exchange ..." taler-exchange-wire-gateway-client \ - -b http://localhost:8899/exchange/ \ + -b http://localhost:8899/accounts/exchange/taler-wire-gateway/ \ -S 0ZSX8SH0M30KHX8K3Y1DAMVGDQV82XEF9DG1HC4QMQ3QWYT4AF00 \ -D payto://x-taler-bank/localhost:8899/user?receiver-name=user \ -a TESTKUDOS:4 > /dev/null @@ -66,7 +66,7 @@ echo " OK" echo -n "Requesting exchange incoming transaction list ..." ./taler-exchange-wire-gateway-client \ - -b http://localhost:8899/exchange/ \ + -b http://localhost:8899/accounts/exchange/taler-wire-gateway/ \ -i \ | grep TESTKUDOS:4 \ > /dev/null @@ -76,7 +76,7 @@ echo " OK" echo -n "Making wire transfer from exchange..." ./taler-exchange-wire-gateway-client \ - -b http://localhost:8899/exchange/ \ + -b http://localhost:8899/accounts/exchange/taler-wire-gateway/ \ -S 0ZSX8SH0M30KHX8K3Y1DAMVGDQV82XEF9DG1HC4QMQ3QWYT4AF00 \ -C payto://x-taler-bank/localhost:8899/merchant?receiver-name=merchant \ -a TESTKUDOS:2 \ @@ -87,7 +87,7 @@ echo " OK" echo -n "Requesting exchange's outgoing transaction list..." ./taler-exchange-wire-gateway-client \ - -b http://localhost:8899/exchange/ \ + -b http://localhost:8899/accounts/exchange/taler-wire-gateway/ \ -o \ | grep TESTKUDOS:2 \ > /dev/null |