commit 06aa423d1f9f2aae290d430ee8199cc88b7b9c1a parent 06148b2b53566eba17e75018ebf0ee7925fbad43 Author: bohdan-potuzhnyi <bohdan.potuzhnyi@gmail.com> Date: Sun, 1 Dec 2024 15:13:28 +0100 merge of master Diffstat:
445 files changed, 648 insertions(+), 488 deletions(-)
diff --git a/README b/README @@ -29,20 +29,64 @@ instructions on how to do so at http://www.gnu.org/help/evaluation. We are looking forward to hacking with you! -Installation -============ +Dependencies: +============= -libjansson: MIT License, AGPL- and LGPL-Compatible, owned by Petri Lehtinen and other individuals -libgcrypt: LGPL, owned by Free Software Foundation -postgresql: PostgreSQL License, AGPL- and LGPL-Compatible, owned by The PostgreSQL -Global Development Group -libgnunetutil (in all of its variants): GPLv3+, owned by GNUnet e.V. -libqrencode: LGPL v2.1+, Copyright Kentaro Fukuchi +Build tools for compiling Taler merchant from source: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- gcc or clang +- autoconf >= 2.69 (building from git) +- automake >= 1.11.1 (building from git) +- recutils >= 1.0 (building from git) +- libtool >= 2.2 +- makeinfo >= 4.8 +- make[*3] +- pkgconf or pkg-config +- sphinx +- sphinx-rtd-theme +- sphinx-multiversion -Source guide -============ -'src/' contains the "backend", a C piece of software which implements crypto routines +Direct dependencies +~~~~~~~~~~~~~~~~~~~ + +These are the direct dependencies for running a Taler exchange: + +- GNU Taler exchange >= 0.14.0 +- PostgreSQL >= 15.0 +- libqrencode + + +Project structure +================= + +src/backend/ + contains the "backend", a C piece of software which implements crypto routines and communication with the 'exchange' -'doc/' contains documentation files, like TeXinfo + +src/backenddb/ + contains the database interactions (for now only PostgreSQL) + +src/lib/ + contains a C API to talk to the REST API of merchant backend + +src/util/ + common utility functions + +src/bank/ + utility functions to talk to the Taler bank revenue API to + reconcile transactions + +src/merchant-tools/ + contains helper programs to setup or manipulate the merchant backend + +src/testing/ + contains test cases for the merchant backend + +doc/ + contains documentation files, like TeXinfo + +contrib/ + contains the single-page-app (Web interface) as a submodule, + as well as CI/CD logic. diff --git a/configure.ac b/configure.ac @@ -494,6 +494,7 @@ src/backenddb/Makefile src/include/Makefile src/lib/Makefile src/merchant-tools/Makefile +src/util/Makefile src/testing/Makefile ]) AC_OUTPUT diff --git a/contrib/Makefile.am.in b/contrib/Makefile.am.in @@ -1,8 +1,8 @@ # This file is in the public domain. -tmplpkgdatadir = $(prefix)/share/taler/merchant/templates/ -staticpkgdatadir = $(prefix)/share/taler/merchant/static/ -spapkgdatadir = $(prefix)/share/taler/merchant/spa/ +tmplpkgdatadir = $(prefix)/share/taler-merchant/templates/ +staticpkgdatadir = $(prefix)/share/taler-merchant/static/ +spapkgdatadir = $(prefix)/share/taler-merchant/spa/ bin_SCRIPTS = \ taler-merchant-dbconfig diff --git a/contrib/taler-merchant-dbconfig b/contrib/taler-merchant-dbconfig @@ -22,7 +22,7 @@ set -eu RESET_DB=0 SKIP_DBINIT=0 DBUSER="taler-merchant-httpd" -CFGFILE="/etc/taler/taler.conf" +CFGFILE="/etc/taler-merchant/taler-merchant.conf" # Parse command-line options while getopts 'c:hrsu:' OPTION; do @@ -33,6 +33,7 @@ while getopts 'c:hrsu:' OPTION; do h) echo 'Supported options:' echo " -c FILENAME -- use configuration FILENAME (default: $CFGFILE)" + echo " -h -- print this help text" echo " -r -- reset database (dangerous)" echo " -s -- skip database initialization" echo " -u USER -- taler-merchant to be run by USER (default: $DBUSER)" @@ -48,7 +49,8 @@ while getopts 'c:hrsu:' OPTION; do DBUSER="$OPTARG" ;; ?) - exit_fail "Unrecognized command line option" + echo "Unrecognized command line option '$OPTION'" 1&>2 + exit 1 ;; esac done diff --git a/debian/etc/taler/conf.d/merchant.conf b/debian/etc/taler-merchant/conf.d/merchant.conf diff --git a/debian/etc/taler/secrets/merchant-db.secret.conf b/debian/etc/taler-merchant/secrets/merchant-db.secret.conf diff --git a/debian/etc/taler-merchant/taler-merchant.conf b/debian/etc/taler-merchant/taler-merchant.conf @@ -0,0 +1,37 @@ +# Main entry point for the GNU Taler configuration. +# +# Structure: +# - taler-merchant.conf is the main configuration entry point +# used by all Taler merchant components (the file you are currently +# looking at. +# - overrides.conf contains configuration overrides that are +# set by some tools that help with the configuration, +# and should not be edited by humans. Comments in this file +# are not preserved. +# - conf.d/ contains configuration files for +# Taler components, which can be read by all +# users of the system and are included by the main +# configuration. +# - secrets/ contains configuration snippets +# with secrets for particular services. +# These files should have restrictive permissions +# so that only users of the relevant services +# can read it. All files in it should end with +# ".secret.conf". + +# Inline configurations from all Taler components. +@inline-matching@ conf.d/*.conf + +# Overrides from tools that help with configuration. +@inline@ overrides.conf + +[paths] + +# Paths for the system-wide installation of the Taler merchant. Do not remove +# or change these unless you are very sure of what you are doing. + +TALER_HOME = /var/lib/taler-merchant/ +TALER_RUNTIME_DIR = /run/taler-merchant/ +TALER_CACHE_HOME = /var/cache/taler-merchant/ +TALER_CONFIG_HOME = /etc/taler-merchant/ +TALER_DATA_HOME = /var/lib/taler-merchant/ diff --git a/debian/libtalermerchant-dev.install b/debian/libtalermerchant-dev.install @@ -1,8 +1,14 @@ +# Dev-only binaries, usually not needed usr/bin/taler-merchant-benchmark + +# Headers usr/include -usr/lib/*/*.so + +# Dev-only library, used by benchmark. usr/lib/*/libtalermerchanttesting.so.* -usr/lib/*/libtalermerchanttesting.so + +# The .so symlinks are only needed for development +usr/lib/*/*.so # Man pages usr/share/man/man1/taler-merchant-benchmark* diff --git a/debian/libtalermerchant.install b/debian/libtalermerchant.install @@ -1,2 +1,5 @@ -usr/lib/*/libtalermerchant.so.* +# Note that this only picks up the versioned +# shared objects, not the symlinks. usr/lib/*/libtalermerchantbank.so.* +usr/lib/*/libtalermerchantutil.so.* +usr/lib/*/libtalermerchant.so.* diff --git a/debian/taler-merchant.install b/debian/taler-merchant.install @@ -1,11 +1,10 @@ -usr/bin/ -usr/lib/*/taler/*.so +usr/bin/taler-merchant-* + +# FIXME: Why does this not go into libtalermerchant? usr/lib/*/libtalermerchantdb.so.* -usr/share/man/man1/* -/usr/share/info/taler-merchant* -/usr/share/taler/merchant/* -/usr/share/taler/sql/merchant/* -/usr/share/taler/config.d/* -debian/etc/* /etc/ +usr/share/man/man*/taler-merchant* +usr/share/info/taler-merchant* +usr/share/taler-merchant/* +debian/etc/* /etc/ diff --git a/doc/Makefile.am b/doc/Makefile.am @@ -1,16 +1,17 @@ SUBDIRS = . doxygen man_MANS = \ - prebuilt/man/taler-merchant-benchmark.1 \ - prebuilt/man/taler-merchant-dbconfig.1 \ - prebuilt/man/taler-merchant-dbinit.1 \ - prebuilt/man/taler-merchant-depositcheck.1 \ + prebuilt/man/taler-merchant-benchmark.1 \ + prebuilt/man/taler-merchant-config.1 \ + prebuilt/man/taler-merchant-dbconfig.1 \ + prebuilt/man/taler-merchant-dbinit.1 \ + prebuilt/man/taler-merchant-depositcheck.1 \ prebuilt/man/taler-merchant-exchangekeyupdate.1 \ - prebuilt/man/taler-merchant-httpd.1 \ - prebuilt/man/taler-merchant-kyccheck.1 \ - prebuilt/man/taler-merchant-passwd.1 \ - prebuilt/man/taler-merchant-reconciliation.1 \ - prebuilt/man/taler-merchant-webhook.1 \ + prebuilt/man/taler-merchant-httpd.1 \ + prebuilt/man/taler-merchant-kyccheck.1 \ + prebuilt/man/taler-merchant-passwd.1 \ + prebuilt/man/taler-merchant-reconciliation.1 \ + prebuilt/man/taler-merchant-webhook.1 \ prebuilt/man/taler-merchant-wirewatch.1 info_TEXINFOS = \ diff --git a/src/Makefile.am b/src/Makefile.am @@ -1,3 +1,3 @@ # This Makefile is in the public domain AM_CPPFLAGS = -I$(top_srcdir)/src/include -SUBDIRS = include bank backenddb backend lib testing merchant-tools +SUBDIRS = include util bank backenddb backend lib testing merchant-tools diff --git a/src/backend/Makefile.am b/src/backend/Makefile.am @@ -6,7 +6,7 @@ if USE_COVERAGE XLIB = -lgcov endif -pkgcfgdir = $(prefix)/share/taler/config.d/ +pkgcfgdir = $(prefix)/share/taler-merchant/config.d/ pkgcfg_DATA = \ kudos.conf \ @@ -33,6 +33,7 @@ taler_merchant_depositcheck_SOURCES = \ taler-merchant-depositcheck.c taler_merchant_depositcheck_LDADD = \ $(top_builddir)/src/backenddb/libtalermerchantdb.la \ + $(top_builddir)/src/util/libtalermerchantutil.la \ -ltalerexchange \ -ltalerjson \ -ltalerutil \ @@ -51,6 +52,7 @@ taler_merchant_exchangekeyupdate_SOURCES = \ taler-merchant-exchangekeyupdate.c taler_merchant_exchangekeyupdate_LDADD = \ $(top_builddir)/src/backenddb/libtalermerchantdb.la \ + $(top_builddir)/src/util/libtalermerchantutil.la \ -ltalerexchange \ -ltalerjson \ -ltalerutil \ @@ -209,6 +211,7 @@ taler_merchant_httpd_SOURCES = \ taler_merchant_httpd_LDADD = \ $(top_builddir)/src/backenddb/libtalermerchantdb.la \ $(top_builddir)/src/bank/libtalermerchantbank.la \ + $(top_builddir)/src/util/libtalermerchantutil.la \ -ltalerexchange \ -ltalertemplating \ -ltalermhd \ @@ -247,6 +250,7 @@ taler_merchant_kyccheck_SOURCES = \ taler-merchant-kyccheck.c taler_merchant_kyccheck_LDADD = \ $(top_builddir)/src/backenddb/libtalermerchantdb.la \ + $(top_builddir)/src/util/libtalermerchantutil.la \ -ltalerexchange \ -ltalerjson \ -ltalerutil \ @@ -264,6 +268,7 @@ taler_merchant_reconciliation_SOURCES = \ taler-merchant-reconciliation.c taler_merchant_reconciliation_LDADD = \ $(top_builddir)/src/backenddb/libtalermerchantdb.la \ + $(top_builddir)/src/util/libtalermerchantutil.la \ -ltalerexchange \ -ltalerjson \ -ltalerutil \ @@ -282,6 +287,7 @@ taler_merchant_webhook_SOURCES = \ taler-merchant-webhook.c taler_merchant_webhook_LDADD = \ $(top_builddir)/src/backenddb/libtalermerchantdb.la \ + $(top_builddir)/src/util/libtalermerchantutil.la \ -ltalertemplating \ -ltalermhd \ -ltalerjson \ @@ -302,6 +308,7 @@ taler_merchant_wirewatch_SOURCES = \ taler_merchant_wirewatch_LDADD = \ $(top_builddir)/src/bank/libtalermerchantbank.la \ $(top_builddir)/src/backenddb/libtalermerchantdb.la \ + $(top_builddir)/src/util/libtalermerchantutil.la \ -ltalermhd \ -ltalerjson \ -ltalerutil \ diff --git a/src/backend/merchant.conf b/src/backend/merchant.conf @@ -6,6 +6,9 @@ # General settings for the backend. [merchant] +# Default currency we use. +CURRENCY = KUDOS + # Use TCP or UNIX domain sockets? SERVE = tcp diff --git a/src/backend/taler-merchant-depositcheck.c b/src/backend/taler-merchant-depositcheck.c @@ -22,6 +22,7 @@ #include <gnunet/gnunet_util_lib.h> #include <jansson.h> #include <pthread.h> +#include "taler_merchant_util.h" #include "taler_merchantdb_lib.h" #include "taler_merchantdb_plugin.h" #include <taler/taler_dbevents.h> @@ -1017,7 +1018,7 @@ run (void *cls, db_plugin->connect (db_plugin->cls)) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Failed to connect to database\n"); + "Failed to connect to database. Consider running taler-merchant-dbinit!\n"); GNUNET_SCHEDULER_shutdown (); global_ret = EXIT_NO_RESTART; return; @@ -1081,8 +1082,8 @@ main (int argc, }; enum GNUNET_GenericReturnValue ret; - TALER_OS_init (); ret = GNUNET_PROGRAM_run ( + TALER_MERCHANT_project_data (), argc, argv, "taler-merchant-depositcheck", gettext_noop ( diff --git a/src/backend/taler-merchant-exchangekeyupdate.c b/src/backend/taler-merchant-exchangekeyupdate.c @@ -23,6 +23,7 @@ #include <jansson.h> #include <pthread.h> #include <taler/taler_dbevents.h> +#include "taler_merchant_util.h" #include "taler_merchant_bank_lib.h" #include "taler_merchantdb_lib.h" #include "taler_merchantdb_plugin.h" @@ -954,7 +955,7 @@ run (void *cls, db_plugin->connect (db_plugin->cls)) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Failed to connect to database\n"); + "Failed to connect to database. Consider running taler-merchant-dbinit!\n"); GNUNET_SCHEDULER_shutdown (); global_ret = EXIT_FAILURE; return; @@ -1008,8 +1009,8 @@ main (int argc, }; enum GNUNET_GenericReturnValue ret; - TALER_OS_init (); ret = GNUNET_PROGRAM_run ( + TALER_MERCHANT_project_data (), argc, argv, "taler-merchant-exchangekeyupdate", gettext_noop ( diff --git a/src/backend/taler-merchant-httpd.c b/src/backend/taler-merchant-httpd.c @@ -28,6 +28,7 @@ #include <taler/taler_mhd_lib.h> #include <taler/taler_templating_lib.h> #include <taler/taler_exchange_service.h> +#include "taler_merchant_util.h" #include "taler-merchant-httpd_config.h" #include "taler-merchant-httpd_exchanges.h" #include "taler-merchant-httpd_get-orders-ID.h" @@ -2288,6 +2289,7 @@ run (void *cls, if (GNUNET_SYSERR == TALER_config_get_currency (cfg, + "merchant", &TMH_currency)) { @@ -2342,7 +2344,14 @@ run (void *cls, "merchant", "FORCE_AUDIT")) TMH_force_audit = GNUNET_YES; - TALER_TEMPLATING_init ("merchant"); + if (GNUNET_OK != + TALER_TEMPLATING_init (TALER_EXCHANGE_project_data ())) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Failed to setup templates\n"); + GNUNET_SCHEDULER_shutdown (); + return; + } if (GNUNET_OK != TMH_spa_init ()) { @@ -2370,7 +2379,7 @@ run (void *cls, TMH_db->connect (TMH_db->cls)) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Failed to initialize database connection\n"); + "Failed to connect to database. Consider running taler-merchant-dbinit!\n"); GNUNET_SCHEDULER_shutdown (); return; } @@ -2470,12 +2479,13 @@ main (int argc, GNUNET_GETOPT_OPTION_END }; - TALER_OS_init (); - res = GNUNET_PROGRAM_run (argc, argv, - "taler-merchant-httpd", - "Taler merchant's HTTP backend interface", - options, - &run, NULL); + res = GNUNET_PROGRAM_run ( + TALER_MERCHANT_project_data (), + argc, argv, + "taler-merchant-httpd", + "Taler merchant's HTTP backend interface", + options, + &run, NULL); if (GNUNET_SYSERR == res) return EXIT_INVALIDARGUMENT; if (GNUNET_NO == res) diff --git a/src/backend/taler-merchant-httpd_helper.c b/src/backend/taler-merchant-httpd_helper.c @@ -143,7 +143,7 @@ TMH_accounts_array_valid (const json_t *accounts) } /* Test for the same payto:// URI being given twice */ - for (unsigned int j = 0; j<i; j++) + for (size_t j = 0; j<i; j++) { json_t *old_uri = json_array_get (accounts, j); diff --git a/src/backend/taler-merchant-httpd_post-orders-ID-abort.c b/src/backend/taler-merchant-httpd_post-orders-ID-abort.c @@ -884,6 +884,7 @@ parse_abort (struct MHD_Connection *connection, struct RefundDetails *rd = &ac->rd[coins_index]; const char *exchange_url; struct GNUNET_JSON_Specification ispec[] = { + /* FIXME: this is breaking multi-currency support! */ TALER_JSON_spec_amount ("contribution", TMH_currency, &rd->amount_with_fee), diff --git a/src/backend/taler-merchant-httpd_post-orders-ID-claim.c b/src/backend/taler-merchant-httpd_post-orders-ID-claim.c @@ -272,7 +272,7 @@ TMH_post_orders_ID_claim (const struct TMH_RequestHandler *rh, /* create contract signature */ { struct TALER_PrivateContractHashP hash; - struct GNUNET_CRYPTO_EddsaSignature merchant_sig; + struct TALER_MerchantSignatureP merchant_sig; /** * Hash of the JSON contract in UTF-8 including 0-termination, diff --git a/src/backend/taler-merchant-httpd_post-orders-ID-paid.c b/src/backend/taler-merchant-httpd_post-orders-ID-paid.c @@ -27,6 +27,7 @@ #include <taler/taler_signatures.h> #include <taler/taler_json_lib.h> #include <taler/taler_exchange_service.h> +#include "taler-merchant-httpd_helper.h" #include "taler-merchant-httpd_post-orders-ID-paid.h" @@ -219,6 +220,34 @@ TMH_post_orders_ID_paid (const struct TMH_RequestHandler *rh, trigger_session_notification (hc, session_id, fulfillment_url); + + /*Trigger webhook */ + /*Commented out until its purpose is defined + { + enum GNUNET_DB_QueryStatus qs; + json_t *jhook; + + jhook = GNUNET_JSON_PACK ( + GNUNET_JSON_pack_object_incref ("contract_terms", + contract_terms), + GNUNET_JSON_pack_string ("order_id", + order_id) + ); + GNUNET_assert (NULL != jhook); + qs = TMH_trigger_webhook (hc->instance->settings.id, + "paid", + jhook); + json_decref (jhook); + if (qs < 0) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Failed to init the webhook for contract %s with %s/%s as paid\n", + order_id, + session_id, + fulfillment_url); + } + }*/ + /* fulfillment_url is part of the contract_terms */ { bool refunded = false; diff --git a/src/backend/taler-merchant-httpd_post-orders-ID-pay.c b/src/backend/taler-merchant-httpd_post-orders-ID-pay.c @@ -1458,6 +1458,9 @@ AGE_FAIL: enum TALER_ErrorCode ec; size_t off = 0; + TALER_merchant_contract_sign (&pc->h_contract_terms, + &pc->hc->instance->merchant_priv, + &dcd.merchant_sig); for (size_t i = 0; i<pc->coins_cnt; i++) { struct DepositConfirmation *dc = &pc->dc[i]; diff --git a/src/backend/taler-merchant-httpd_private-get-instances-ID-kyc.c b/src/backend/taler-merchant-httpd_private-get-instances-ID-kyc.c @@ -513,6 +513,73 @@ get_exchange_limits ( /** + * Maps @a ekr to a status code for clients to interpret the + * overall result. + * + * @param ekr request summary + * @return status of the KYC state as a string + */ +static const char * +map_to_status (const struct ExchangeKycRequest *ekr) +{ + if (ekr->no_keys) + { + return "no-exchange-keys"; + } + if (ekr->kyc_ok) + { + return "ready"; + } + if (! ekr->auth_ok) + { + if (ekr->kyc_auth_conflict) + return "kyc-wire-impossible"; + return "kyc-wire-required"; + } + if (ekr->in_aml_review) + return "awaiting-aml-review"; + switch (ekr->last_http_status) + { + case 0: + return "exchange-unreachable"; + case MHD_HTTP_OK: + /* then we should have kyc_ok */ + GNUNET_break (0); + return NULL; + case MHD_HTTP_ACCEPTED: + /* Then KYC is really what is needed */ + return "kyc-required"; + case MHD_HTTP_NO_CONTENT: + /* then we should have had kyc_ok! */ + GNUNET_break (0); + return NULL; + case MHD_HTTP_FORBIDDEN: + /* then we should have had ! auth_ok */ + GNUNET_break (0); + return NULL; + case MHD_HTTP_NOT_FOUND: + /* then we should have had ! auth_ok */ + GNUNET_break (0); + return NULL; + case MHD_HTTP_CONFLICT: + /* then we should have had ! auth_ok */ + GNUNET_break (0); + return NULL; + case MHD_HTTP_INTERNAL_SERVER_ERROR: + return "exchange-internal-error"; + case MHD_HTTP_GATEWAY_TIMEOUT: + return "exchange-gateway-timeout"; + default: + GNUNET_log (GNUNET_ERROR_TYPE_WARNING, + "Exchange responded with unexpected HTTP status %u to /kyc-check request!\n", + ekr->last_http_status); + break; + } + return "exchange-status-invalid"; +} + + +/** * Take data from @a ekr to expand our response. * * @param ekr exchange we are done inspecting @@ -520,6 +587,14 @@ get_exchange_limits ( static void ekr_expand_response (struct ExchangeKycRequest *ekr) { + const char *status; + + status = map_to_status (ekr); + if (NULL == status) + { + GNUNET_break (0); + status = "logic-bug"; + } GNUNET_assert ( 0 == json_array_append_new ( @@ -532,6 +607,9 @@ ekr_expand_response (struct ExchangeKycRequest *ekr) "h_wire", &ekr->h_wire), GNUNET_JSON_pack_string ( + "status", + status), + GNUNET_JSON_pack_string ( "exchange_url", ekr->exchange_url), GNUNET_JSON_pack_bool ("no_keys", diff --git a/src/backend/taler-merchant-httpd_private-post-orders.c b/src/backend/taler-merchant-httpd_private-post-orders.c @@ -884,6 +884,41 @@ execute_transaction (struct OrderContext *oc) TMH_db->rollback (TMH_db->cls); return qs; } + + { + enum GNUNET_DB_QueryStatus wqs; + json_t *jhook; + + jhook = GNUNET_JSON_PACK ( + GNUNET_JSON_pack_string ("order_id", + oc->parse_order.order_id), + GNUNET_JSON_pack_object_incref ("contract", + oc->serialize_order.contract), + GNUNET_JSON_pack_string ("instance_id", + oc->hc->instance->settings.id) + ); + GNUNET_assert (NULL != jhook); + + wqs = TMH_trigger_webhook (oc->hc->instance->settings.id, + "order_created", + jhook); + + json_decref (jhook); + + if (0 < wqs) + { + TMH_db->rollback (TMH_db->cls); + if (GNUNET_DB_STATUS_SOFT_ERROR == wqs) + return wqs; + GNUNET_break (GNUNET_DB_STATUS_HARD_ERROR == wqs); + reply_with_error (oc, + MHD_HTTP_INTERNAL_SERVER_ERROR, + TALER_EC_GENERIC_DB_STORE_FAILED, + "failed to trigger webhooks"); + return wqs; + } + } + TMH_notify_order_change (oc->hc->instance, TMH_OSF_NONE, timestamp, @@ -1077,6 +1112,7 @@ execute_order (struct OrderContext *oc) /* Everything in-stock, generate positive response */ GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Order creation succeeded\n"); + { MHD_RESULT ret; diff --git a/src/backend/taler-merchant-httpd_spa.c b/src/backend/taler-merchant-httpd_spa.c @@ -22,6 +22,7 @@ #include <gnunet/gnunet_util_lib.h> #include <taler/taler_util.h> #include <taler/taler_mhd_lib.h> +#include "taler_merchant_util.h" #include "taler-merchant-httpd_statics.h" #include "taler-merchant-httpd_spa.h" #include <gnunet/gnunet_mhd_compat.h> @@ -307,14 +308,15 @@ TMH_spa_init () { char *path; - path = GNUNET_OS_installation_get_path (GNUNET_OS_IPK_DATADIR); + path = GNUNET_OS_installation_get_path (TALER_MERCHANT_project_data (), + GNUNET_OS_IPK_DATADIR); if (NULL == path) { GNUNET_break (0); return GNUNET_SYSERR; } GNUNET_asprintf (&dn, - "%smerchant/spa/", + "%s/spa/", path); GNUNET_free (path); } diff --git a/src/backend/taler-merchant-httpd_statics.c b/src/backend/taler-merchant-httpd_statics.c @@ -20,6 +20,7 @@ */ #include "platform.h" #include <gnunet/gnunet_util_lib.h> +#include "taler_merchant_util.h" #include <taler/taler_util.h> #include <taler/taler_mhd_lib.h> #include <taler/taler_templating_lib.h> @@ -284,7 +285,8 @@ TMH_statics_init () { char *path; - path = GNUNET_OS_installation_get_path (GNUNET_OS_IPK_DATADIR); + path = GNUNET_OS_installation_get_path (TALER_MERCHANT_project_data (), + GNUNET_OS_IPK_DATADIR); if (NULL == path) { GNUNET_break (0); diff --git a/src/backend/taler-merchant-kyccheck.c b/src/backend/taler-merchant-kyccheck.c @@ -26,6 +26,7 @@ #include <taler/taler_dbevents.h> #include <taler/taler_json_lib.h> #include <taler/taler_exchange_service.h> +#include "taler_merchant_util.h" #include "taler_merchant_bank_lib.h" #include "taler_merchantdb_lib.h" #include "taler_merchantdb_plugin.h" @@ -1379,7 +1380,7 @@ run (void *cls, db_plugin->connect (db_plugin->cls)) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Failed to connect to database\n"); + "Failed to connect to database. Consider running taler-merchant-dbinit.\n"); GNUNET_SCHEDULER_shutdown (); global_ret = EXIT_FAILURE; return; @@ -1456,8 +1457,8 @@ main (int argc, }; enum GNUNET_GenericReturnValue ret; - TALER_OS_init (); ret = GNUNET_PROGRAM_run ( + TALER_MERCHANT_project_data (), argc, argv, "taler-merchant-kyccheck", gettext_noop ( diff --git a/src/backend/taler-merchant-reconciliation.c b/src/backend/taler-merchant-reconciliation.c @@ -23,6 +23,7 @@ #include <jansson.h> #include <pthread.h> #include <taler/taler_dbevents.h> +#include "taler_merchant_util.h" #include "taler_merchant_bank_lib.h" #include "taler_merchantdb_lib.h" #include "taler_merchantdb_plugin.h" @@ -1192,7 +1193,7 @@ run (void *cls, db_plugin->connect (db_plugin->cls)) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Failed to connect to database\n"); + "Failed to connect to database. Consider running taler-merchant-dbinit!\n"); GNUNET_SCHEDULER_shutdown (); global_ret = EXIT_FAILURE; return; @@ -1252,8 +1253,8 @@ main (int argc, }; enum GNUNET_GenericReturnValue ret; - TALER_OS_init (); ret = GNUNET_PROGRAM_run ( + TALER_MERCHANT_project_data (), argc, argv, "taler-merchant-reconciliation", gettext_noop ( diff --git a/src/backend/taler-merchant-webhook.c b/src/backend/taler-merchant-webhook.c @@ -22,6 +22,7 @@ #include <gnunet/gnunet_util_lib.h> #include <jansson.h> #include <pthread.h> +#include "taler_merchant_util.h" #include "taler_merchantdb_lib.h" #include "taler_merchantdb_plugin.h" #include <taler/taler_dbevents.h> @@ -522,7 +523,7 @@ run (void *cls, db_plugin->connect (db_plugin->cls)) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Failed to connect to database\n"); + "Failed to connect to database. Consider running taler-merchant-dbinit!\n"); GNUNET_SCHEDULER_shutdown (); global_ret = EXIT_FAILURE; return; @@ -567,8 +568,8 @@ main (int argc, }; enum GNUNET_GenericReturnValue ret; - TALER_OS_init (); ret = GNUNET_PROGRAM_run ( + TALER_MERCHANT_project_data (), argc, argv, "taler-merchant-webhook", gettext_noop ( diff --git a/src/backend/taler-merchant-wirewatch.c b/src/backend/taler-merchant-wirewatch.c @@ -23,6 +23,7 @@ #include <jansson.h> #include <pthread.h> #include <taler/taler_dbevents.h> +#include "taler_merchant_util.h" #include "taler_merchant_bank_lib.h" #include "taler_merchantdb_lib.h" #include "taler_merchantdb_plugin.h" @@ -654,7 +655,7 @@ run (void *cls, db_plugin->connect (db_plugin->cls)) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Failed to connect to database\n"); + "Failed to connect to database. Consider running taler-merchant-dbinit!\n"); GNUNET_SCHEDULER_shutdown (); global_ret = EXIT_FAILURE; return; @@ -725,10 +726,10 @@ main (int argc, }; enum GNUNET_GenericReturnValue ret; - TALER_OS_init (); do { config_changed_flag = false; ret = GNUNET_PROGRAM_run ( + TALER_MERCHANT_project_data (), argc, argv, "taler-merchant-wirewatch", gettext_noop ( diff --git a/src/backenddb/Makefile.am b/src/backenddb/Makefile.am @@ -1,14 +1,14 @@ # This Makefile.am is in the public domain AM_CPPFLAGS = -I$(top_srcdir)/src/include -plugindir = $(libdir)/taler +plugindir = $(libdir)/taler-merchant -pkgcfgdir = $(prefix)/share/taler/config.d/ +pkgcfgdir = $(prefix)/share/taler-merchant/config.d/ pkgcfg_DATA = \ merchantdb-postgres.conf -sqldir = $(prefix)/share/taler/sql/merchant/ +sqldir = $(prefix)/share/taler-merchant/sql/ sqlinputs = \ pg_*.sql \ @@ -247,6 +247,7 @@ test_merchantdb_postgres_LDFLAGS = \ $(XLIB) test_merchantdb_postgres_LDADD = \ + $(top_builddir)/src/util/libtalermerchantutil.la \ $(top_builddir)/src/backenddb/libtalermerchantdb.la TESTS = \ diff --git a/src/backenddb/merchantdb-postgres.conf b/src/backenddb/merchantdb-postgres.conf @@ -1,6 +1,6 @@ [merchantdb-postgres] -CONFIG = "postgres:///talermerchant" +CONFIG = "postgres:///taler-merchant" # Where are the SQL files to setup our tables? # Important: this MUST end with a "/"! -SQL_DIR = ${DATADIR}sql/merchant/ +SQL_DIR = ${DATADIR}sql/ diff --git a/src/backenddb/merchantdb_plugin.c b/src/backenddb/merchantdb_plugin.c @@ -21,6 +21,7 @@ */ #include "platform.h" #include <taler/taler_util.h> +#include "taler_merchant_util.h" #include "taler_merchantdb_plugin.h" #include "taler_merchantdb_lib.h" #include <ltdl.h> @@ -48,7 +49,8 @@ TALER_MERCHANTDB_plugin_load (const struct GNUNET_CONFIGURATION_Handle *cfg) "libtaler_plugin_merchantdb_%s", plugin_name); GNUNET_free (plugin_name); - plugin = GNUNET_PLUGIN_load (lib_name, + plugin = GNUNET_PLUGIN_load (TALER_MERCHANT_project_data (), + lib_name, (void *) cfg); if (NULL == plugin) { @@ -74,75 +76,4 @@ TALER_MERCHANTDB_plugin_unload (struct TALER_MERCHANTDB_Plugin *plugin) } -/** - * Libtool search path before we started. - */ -static char *old_dlsearchpath; - - -/** - * Setup libtool paths. - */ -void __attribute__ ((constructor)) -plugin_init (void); - -/* Declaration to avoid compiler warning */ -void __attribute__ ((constructor)) -plugin_init (void) -{ - int err; - const char *opath; - char *path; - char *cpath; - - err = lt_dlinit (); - if (err > 0) - { - fprintf (stderr, - _ ("Initialization of plugin mechanism failed: %s!\n"), - lt_dlerror ()); - return; - } - opath = lt_dlgetsearchpath (); - if (NULL != opath) - old_dlsearchpath = GNUNET_strdup (opath); - path = GNUNET_OS_installation_get_path (GNUNET_OS_IPK_LIBDIR); - if (NULL != path) - { - if (NULL != opath) - { - GNUNET_asprintf (&cpath, "%s:%s", opath, path); - lt_dlsetsearchpath (cpath); - GNUNET_free (path); - GNUNET_free (cpath); - } - else - { - lt_dlsetsearchpath (path); - GNUNET_free (path); - } - } -} - - -/** - * Shutdown libtool. - */ -void __attribute__ ((destructor)) -plugin_fini (void); - -/* Declaration to avoid compiler warning */ -void __attribute__ ((destructor)) -plugin_fini (void) -{ - lt_dlsetsearchpath (old_dlsearchpath); - if (NULL != old_dlsearchpath) - { - GNUNET_free (old_dlsearchpath); - old_dlsearchpath = NULL; - } - lt_dlexit (); -} - - /* end of merchantdb_plugin.c */ diff --git a/src/backenddb/plugin_merchantdb_postgres.c b/src/backenddb/plugin_merchantdb_postgres.c @@ -328,11 +328,12 @@ postgres_connect (void *cls) GNUNET_PQ_EXECUTE_STATEMENT_END }; - pg->conn = GNUNET_PQ_connect_with_cfg (pg->cfg, - "merchantdb-postgres", - NULL, - es, - NULL); + pg->conn = GNUNET_PQ_connect_with_cfg2 (pg->cfg, + "merchantdb-postgres", + "merchant-", + es, + NULL, /* prepared statemetns */ + GNUNET_PQ_FLAG_CHECK_CURRENT); pg->prep_gen++; if (NULL == pg->conn) return GNUNET_SYSERR; diff --git a/src/backenddb/test-merchantdb-postgres.conf b/src/backenddb/test-merchantdb-postgres.conf @@ -6,7 +6,7 @@ CONFIG = postgres:///talercheck # Where are the SQL files to setup our tables? # Important: this MUST end with a "/"! -SQL_DIR = ${DATADIR}sql/merchant/ +SQL_DIR = ${DATADIR}sql/ [taler] CURRENCY = "EUR" \ No newline at end of file diff --git a/src/backenddb/test_merchantdb.c b/src/backenddb/test_merchantdb.c @@ -24,6 +24,7 @@ #include <taler/taler_util.h> #include <taler/taler_json_lib.h> #include <taler/taler_signatures.h> +#include "taler_merchant_util.h" #include "taler_merchantdb_lib.h" @@ -7307,6 +7308,7 @@ run (void *cls) if (GNUNET_OK != plugin->connect (plugin->cls)) { + GNUNET_break (0); result = 17; return; } @@ -7362,7 +7364,7 @@ main (int argc, "%s.conf", testname); fprintf (stdout, "Using %s\n", config_filename); - cfg = GNUNET_CONFIGURATION_create (); + cfg = GNUNET_CONFIGURATION_create (TALER_MERCHANT_project_data ()); if (GNUNET_OK != GNUNET_CONFIGURATION_parse (cfg, config_filename)) diff --git a/src/include/taler_merchant_util.h b/src/include/taler_merchant_util.h @@ -0,0 +1,32 @@ +/* + This file is part of GNU Taler + Copyright (C) 2024 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 + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> +*/ +/** + * @file include/taler_merchant_util.h + * @brief Interface for common utility functions + * @author Christian Grothoff + */ +#ifndef TALER_MERCHANT_UTIL_H +#define TALER_MERCHANT_UTIL_H + +#include <gnunet/gnunet_util_lib.h> + +/** + * Return default project data used by Taler merchant. + */ +const struct GNUNET_OS_ProjectData * +TALER_MERCHANT_project_data (void); + +#endif diff --git a/src/merchant-tools/Makefile.am b/src/merchant-tools/Makefile.am @@ -24,6 +24,7 @@ taler_merchant_benchmark_LDADD = \ $(top_srcdir)/src/backenddb/libtalermerchantdb.la \ $(top_srcdir)/src/lib/libtalermerchant.la \ $(top_srcdir)/src/testing/libtalermerchanttesting.la \ + $(top_srcdir)/src/util/libtalermerchantutil.la \ $(LIBGCRYPT_LIBS) \ -ltalertesting \ -ltalerfakebank \ @@ -42,6 +43,7 @@ taler_merchant_dbinit_SOURCES = \ taler_merchant_dbinit_LDADD = \ $(LIBGCRYPT_LIBS) \ $(top_builddir)/src/backenddb/libtalermerchantdb.la \ + $(top_srcdir)/src/util/libtalermerchantutil.la \ -ltalerutil \ -ltalerpq \ -lgnunetutil \ @@ -52,6 +54,7 @@ taler_merchant_passwd_SOURCES = \ taler_merchant_passwd_LDADD = \ $(LIBGCRYPT_LIBS) \ $(top_builddir)/src/backenddb/libtalermerchantdb.la \ + $(top_srcdir)/src/util/libtalermerchantutil.la \ -ltalerutil \ -ltalerpq \ -lgnunetutil \ diff --git a/src/merchant-tools/benchmark-common.conf b/src/merchant-tools/benchmark-common.conf @@ -2,10 +2,13 @@ [paths] TALER_TEST_HOME=exchange_benchmark_home/ -[taler] +[exchange] CURRENCY=EUR CURRENCY_ROUND_UNIT=EUR:0.01 +[merchant] +CURRENCY=EUR + [merchant-benchmark] MERCHANT_URL = "http://localhost:9966/" diff --git a/src/merchant-tools/taler-merchant-benchmark.c b/src/merchant-tools/taler-merchant-benchmark.c @@ -25,6 +25,7 @@ #include "platform.h" #include <taler/taler_util.h> #include <taler/taler_testing_lib.h> +#include "taler_merchant_util.h" #include "taler_merchant_testing_lib.h" @@ -407,6 +408,7 @@ main (int argc, &use_fakebank), GNUNET_GETOPT_option_version (PACKAGE_VERSION " " VCS_VERSION), GNUNET_GETOPT_option_help ( + TALER_MERCHANT_project_data (), "Runs benchmark logic against merchant backend. " "Must be used with either 'ordinary' or 'corner' sub-commands."), GNUNET_GETOPT_option_string ( @@ -431,7 +433,9 @@ main (int argc, "fakebank", "use fakebank for the banking system", &use_fakebank), - GNUNET_GETOPT_option_help ("Populate databases with corner case payments"), + GNUNET_GETOPT_option_help ( + TALER_MERCHANT_project_data (), + "Populate databases with corner case payments"), GNUNET_GETOPT_option_string ( 'l', "logfile", @@ -480,6 +484,7 @@ main (int argc, "use fakebank for the banking system", &use_fakebank), GNUNET_GETOPT_option_help ( + TALER_MERCHANT_project_data (), "Generate Taler ordinary payments" " to populate the databases"), GNUNET_GETOPT_option_string ( @@ -500,7 +505,7 @@ main (int argc, }; const char *default_config_file; - default_config_file = GNUNET_OS_project_data_get ()->user_config_file; + default_config_file = TALER_MERCHANT_project_data ()->user_config_file; options = root_options; if (NULL != argv[1]) { @@ -552,7 +557,7 @@ main (int argc, { struct GNUNET_CONFIGURATION_Handle *cfg; - cfg = GNUNET_CONFIGURATION_create (); + cfg = GNUNET_CONFIGURATION_create (TALER_MERCHANT_project_data ()); if (GNUNET_OK != GNUNET_CONFIGURATION_load (cfg, cfg_filename)) @@ -562,6 +567,7 @@ main (int argc, } if (GNUNET_OK != TALER_config_get_currency (cfg, + "merchant", ¤cy)) { TALER_LOG_ERROR ("Failed to read currency from configuration\n"); diff --git a/src/merchant-tools/taler-merchant-dbinit.c b/src/merchant-tools/taler-merchant-dbinit.c @@ -22,6 +22,7 @@ #include "platform.h" #include <taler/taler_util.h> #include <gnunet/gnunet_util_lib.h> +#include "taler_merchant_util.h" #include "taler_merchantdb_lib.h" @@ -106,11 +107,8 @@ main (int argc, }; enum GNUNET_GenericReturnValue ret; - /* force linker to link against libtalerutil; if we do - not do this, the linker may "optimize" libtalerutil - away and skip #TALER_OS_init(), which we do need */ - (void) TALER_project_data_default (); ret = GNUNET_PROGRAM_run ( + TALER_MERCHANT_project_data (), argc, argv, "taler-merchant-dbinit", gettext_noop ("Initialize Taler merchant database"), diff --git a/src/merchant-tools/taler-merchant-passwd.c b/src/merchant-tools/taler-merchant-passwd.c @@ -22,6 +22,7 @@ #include <taler/taler_util.h> #include <taler/taler_dbevents.h> #include <gnunet/gnunet_util_lib.h> +#include "taler_merchant_util.h" #include "taler_merchantdb_lib.h" #include "taler_merchantdb_lib.h" @@ -105,7 +106,7 @@ run (void *cls, plugin->connect (plugin->cls)) { fprintf (stderr, - "Failed to connect to database\n"); + "Failed to connect to database. Consider running taler-merchant-dbinit!\n"); global_ret = 1; TALER_MERCHANTDB_plugin_unload (plugin); GNUNET_CONFIGURATION_destroy (cfg); @@ -171,11 +172,8 @@ main (int argc, }; enum GNUNET_GenericReturnValue ret; - /* force linker to link against libtalerutil; if we do - not do this, the linker may "optimize" libtalerutil - away and skip #TALER_OS_init(), which we do need */ - (void) TALER_project_data_default (); ret = GNUNET_PROGRAM_run ( + TALER_MERCHANT_project_data (), argc, argv, "taler-merchant-passwd", gettext_noop ("Reset instance password"), diff --git a/src/testing/.gitignore b/src/testing/.gitignore @@ -16,3 +16,7 @@ test_kyc_api test_merchant_api_home/taler/exchange-secmod-* *.edited test_merchant_api_home/taler/exchange-offline/secm_tofus.pub +test_merchant_api_home/.local/share/taler-exchange/exchange-secmod-cs/ +test_merchant_api_home/.local/share/taler-exchange/exchange-secmod-eddsa/ +test_merchant_api_home/.local/share/taler-exchange/exchange-secmod-rsa/ +test_merchant_api_home/.local/share/taler-exchange/exchange-offline/secm_tofus.pub diff --git a/src/testing/test_kyc_api.conf b/src/testing/test_kyc_api.conf @@ -3,10 +3,6 @@ [PATHS] TALER_TEST_HOME = test_merchant_api_home/ -[taler] -CURRENCY = EUR -CURRENCY_ROUND_UNIT = EUR:0.01 - [merchant-exchange-kudos] DISABLED = YES @@ -28,19 +24,28 @@ DB = postgres # This specifies which database the postgres backend uses. [merchantdb-postgres] CONFIG = postgres:///talercheck -SQL_DIR = $DATADIR/sql/merchant/ +SQL_DIR = ${DATADIR}sql/ [merchant-exchange-test] -MASTER_KEY = NKX42KSCQHDQK7CF1PC6X9DMQPXW6KHXKGD3DPQJMP32FKXSWYK0 +MASTER_KEY = KHA6YSPRQV1ZFCF144SY8KJNR588XA8DA0F6510FKJW30DJFJNAG EXCHANGE_BASE_URL = http://localhost:8081/ CURRENCY = EUR +[auditor] +BASE_URL = "http://localhost:8083/" +AUDITOR_PRIV_FILE = ${TALER_DATA_HOME}/auditor/offline-keys/auditor.priv +DB = postgres +PUBLIC_KEY = A29P1DRGXVTJZV1HFG251QPAW3ZTC681ZJWXB1T0RWGPE2HQSGZG +TALER_AUDITOR_SALT = test + [auditordb-postgres] CONFIG = postgres:///talercheck [exchange] +CURRENCY = EUR +CURRENCY_ROUND_UNIT = EUR:0.01 PORT = 8081 -MASTER_PUBLIC_KEY = NKX42KSCQHDQK7CF1PC6X9DMQPXW6KHXKGD3DPQJMP32FKXSWYK0 +MASTER_PUBLIC_KEY = KHA6YSPRQV1ZFCF144SY8KJNR588XA8DA0F6510FKJW30DJFJNAG BASE_URL = "http://localhost:8081/" STEFAN_ABS = "EUR:5" ENABLE_KYC = YES diff --git a/src/testing/test_merchant_api.conf b/src/testing/test_merchant_api.conf @@ -4,10 +4,6 @@ TALER_TEST_HOME = test_merchant_api_home/ DONAU_RUNTIME_DIR = ${TMPDIR:-${TMP:-/tmp}}/donau-system-runtime/ -[taler] -CURRENCY = EUR -CURRENCY_ROUND_UNIT = EUR:0.01 - [merchant-exchange-kudos] DISABLED = YES @@ -36,29 +32,39 @@ PWD_HASH_CONFIG = { "cost": 4 } PWD_AUTH_COMPAT = yes [merchant] +CURRENCY = EUR PORT = 8080 SERVE = tcp DB = postgres [merchantdb-postgres] CONFIG = postgres:///talercheck -SQL_DIR = $DATADIR/sql/merchant/ +SQL_DIR = ${DATADIR}sql/ [merchant-exchange-test] -MASTER_KEY = NKX42KSCQHDQK7CF1PC6X9DMQPXW6KHXKGD3DPQJMP32FKXSWYK0 +MASTER_KEY = KHA6YSPRQV1ZFCF144SY8KJNR588XA8DA0F6510FKJW30DJFJNAG EXCHANGE_BASE_URL = http://localhost:8081/ CURRENCY = EUR [exchange] +CURRENCY = EUR +CURRENCY_ROUND_UNIT = EUR:0.01 AML_THRESHOLD = EUR:1000000 PORT = 8081 -MASTER_PUBLIC_KEY = NKX42KSCQHDQK7CF1PC6X9DMQPXW6KHXKGD3DPQJMP32FKXSWYK0 +MASTER_PUBLIC_KEY = KHA6YSPRQV1ZFCF144SY8KJNR588XA8DA0F6510FKJW30DJFJNAG BASE_URL = "http://localhost:8081/" STEFAN_ABS = "EUR:5" [exchangedb-postgres] CONFIG = "postgres:///talercheck" +[auditor] +BASE_URL = "http://localhost:8083/" +AUDITOR_PRIV_FILE = ${TALER_DATA_HOME}/auditor/offline-keys/auditor.priv +DB = postgres +PUBLIC_KEY = A29P1DRGXVTJZV1HFG251QPAW3ZTC681ZJWXB1T0RWGPE2HQSGZG +TALER_AUDITOR_SALT = test + [auditordb-postgres] CONFIG = postgres:///talercheck diff --git a/src/testing/test_merchant_api_home/.config/taler/merchant/account-3.json b/src/testing/test_merchant_api_home/.config/taler/merchant/account-3.json @@ -1 +0,0 @@ -{"payto_uri":"payto://x-taler-bank/localhost/3","salt":"KHMDP5RV4K75TYZAAZEFSB33AQK5DECEDAQB3AYCXZHB50W83RC5C08H5CRNNG9BWQXN3RD52WCQ09A3MFJDJASGB3PRPA03V3TEGCR"} -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/.config/taler/merchant/default.priv b/src/testing/test_merchant_api_home/.config/taler/merchant/default.priv @@ -1 +0,0 @@ -~~j&i4qlBM:ƾOߪ# -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/.config/taler/merchant/dtip.priv b/src/testing/test_merchant_api_home/.config/taler/merchant/dtip.priv @@ -1 +0,0 @@ -47%Tҟ\v}"hP!. -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/.config/taler/merchant/nulltip.priv b/src/testing/test_merchant_api_home/.config/taler/merchant/nulltip.priv @@ -1,2 +0,0 @@ -by~]m~r1fcT04Q -ds -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/.config/taler/merchant/reserve/dtip.priv b/src/testing/test_merchant_api_home/.config/taler/merchant/reserve/dtip.priv Binary files differ. diff --git a/src/testing/test_merchant_api_home/.config/taler/merchant/reserve/nulltip.priv b/src/testing/test_merchant_api_home/.config/taler/merchant/reserve/nulltip.priv @@ -1 +0,0 @@ -Bu#ĜW0*~$ROpk -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/.config/taler/merchant/reserve/tip.priv b/src/testing/test_merchant_api_home/.config/taler/merchant/reserve/tip.priv @@ -1 +0,0 @@ -V<gJΰXc;Ki" -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/.config/taler/merchant/tip.priv b/src/testing/test_merchant_api_home/.config/taler/merchant/tip.priv @@ -1 +0,0 @@ --ylx;b~2.l8Pĕb -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/.config/taler/merchant/tor.priv b/src/testing/test_merchant_api_home/.config/taler/merchant/tor.priv @@ -1 +0,0 @@ -d\2ȈaK#+Nf/FslG -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/.config/taler/test.json b/src/testing/test_merchant_api_home/.config/taler/test.json @@ -1,8 +0,0 @@ -{ - "name": "The exchange", - "account_number": 3, - "bank_url": "http://localhost:8083/", - "salt": "6259MV4W9V8D2A75RSGGPKYHQRXRPQZ33EBG263JZRJ6SA5HK0RRKHV70TNA1RVRG77M57CCFVSK2B0EJN3SR8S21F0ZX2MR9DNVG50", - "type": "test", - "sig": "8C3D3J816S29AA2AJ7P9TS6W13KFNFS2RCVYJEWRBNHRRMTTRAWKY7WA1N3G54E4K3XAC2HN6JDHS42TWR5315J34JHHCKV618K221G" -} diff --git a/src/testing/test_merchant_api_home/.local/share/taler-auditor/offline-keys/auditor.priv b/src/testing/test_merchant_api_home/.local/share/taler-auditor/offline-keys/auditor.priv @@ -0,0 +1 @@ +"0Ll(&\d%쎫 +\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/.local/share/taler-exchange/exchange-offline/master.priv b/src/testing/test_merchant_api_home/.local/share/taler-exchange/exchange-offline/master.priv @@ -0,0 +1 @@ +sJh,Ţ<kyV㮷 +\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/.local/share/taler/exchange-offline/master.priv b/src/testing/test_merchant_api_home/.local/share/taler/exchange-offline/master.priv @@ -1 +0,0 @@ -LkCOױaM)G@_ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/.local/share/taler/merchant/merchant.priv b/src/testing/test_merchant_api_home/.local/share/taler/merchant/merchant.priv @@ -1 +0,0 @@ -,Y%FF<R9ϳ5v\k46 -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/auditor/offline-keys/auditor.priv b/src/testing/test_merchant_api_home/taler/auditor/offline-keys/auditor.priv @@ -1 +0,0 @@ -Y74NOV|1\uY0Gr -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1696437704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1696437704 @@ -1 +0,0 @@ -ٞ>e@cDӴ_!." -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1697042204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1697042204 @@ -1 +0,0 @@ -57洴TU^Q&k'GRTJ diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1697646704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1697646704 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1698251204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1698251204 @@ -1 +0,0 @@ -^t92Lj7iS7D^t(| -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1698855704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1698855704 @@ -1 +0,0 @@ -Fl6;Z̥hd>cȩ+q8i] -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1699460204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1699460204 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1700064704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1700064704 @@ -1 +0,0 @@ -vk=hL2PoK~҈ik8X -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1700669204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1700669204 @@ -1 +0,0 @@ -GȐMw7#9\r\#)(K -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1701273704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1701273704 @@ -1 +0,0 @@ -As2I}yeЪc0- K -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1701878204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1701878204 @@ -1 +0,0 @@ -~eGZ; l¾~~KLm% -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1702482704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1702482704 @@ -1,2 +0,0 @@ -4|7&< -_})|5VY:P -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1703087204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1703087204 @@ -1 +0,0 @@ -A0>gc FUht.Q -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1703691704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1703691704 @@ -1,2 +0,0 @@ -ʾ:C%yA -J5- -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1704296204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1704296204 @@ -1 +0,0 @@ -{upSW/WpVfKj -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1704900704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1704900704 @@ -1 +0,0 @@ -KxƏaA'D41B4O[ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1705505204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1705505204 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1706109704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1706109704 @@ -1 +0,0 @@ -D-dÿ!![yH$m7% -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1706714204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1706714204 @@ -1 +0,0 @@ -b$ߗq_~9og`;c -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1707318704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1707318704 @@ -1,2 +0,0 @@ -6_k}6"TiC͎f - -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1707923204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1707923204 @@ -1,2 +0,0 @@ - -*[ (mabM^+x_MגҖD -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1708527704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1708527704 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1709132204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1709132204 @@ -1 +0,0 @@ -Yx/*ǭMd2-gyjΐN -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1709736704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1709736704 @@ -1 +0,0 @@ -pusFmmDrL<w;?< -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1710341204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1710341204 @@ -1 +0,0 @@ -3c&K3P<YgPeR~uQ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1710945704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1710945704 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1711550204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1711550204 @@ -1,2 +0,0 @@ -68hwb=u/ -@P_jD6 -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1712154704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1712154704 @@ -1 +0,0 @@ -sISn=kF%*YTkia -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1712759204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1712759204 @@ -1 +0,0 @@ -ԞuBUߓ(0\Gg -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1713363704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1713363704 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1713968204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1713968204 @@ -1 +0,0 @@ -|XCFm6cB*)?Wr -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1714572704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1714572704 @@ -1 +0,0 @@ -NTFpI~WZ$n^}Aз -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1715177204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1715177204 @@ -1 +0,0 @@ -qM/ӖΰQйChL -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1715781704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1715781704 @@ -1 +0,0 @@ -7֖^;P_`)3:Q -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1716386204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1716386204 @@ -1 +0,0 @@ -0s23JzBp{Q%ɜu Ә -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1716990704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1716990704 @@ -1 +0,0 @@ -<Z~V8l(3LJ7L" -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1717595204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_1/1717595204 @@ -1 +0,0 @@ -;~Dl*,ij -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1696437704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1696437704 @@ -1 +0,0 @@ -9&gهPH<Ja8D#NB -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1697042204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1697042204 @@ -1 +0,0 @@ -;sڛ[tںf'kkC -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1697646704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1697646704 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1698251204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1698251204 @@ -1 +0,0 @@ -ʠ;Tp2)D-hwM:7ŝQM -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1698855704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1698855704 @@ -1 +0,0 @@ -}묾@," LGt߲ʸN -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1699460204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1699460204 @@ -1 +0,0 @@ -zrɳ cFPR5k~_ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1700064704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1700064704 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1700669204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1700669204 @@ -1 +0,0 @@ -kSM(!tΠGL=: -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1701273704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1701273704 @@ -1 +0,0 @@ -nq5yT#F3 -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1701878204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1701878204 @@ -1 +0,0 @@ -E|`5;ró]` -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1702482704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1702482704 @@ -1,2 +0,0 @@ -0jɋÏVZъ۫ -כ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1703087204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1703087204 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1703691704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1703691704 @@ -1 +0,0 @@ -`+zg0bk?mi3ub -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1704296204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1704296204 @@ -1 +0,0 @@ -Y>š}οyKEv022PZ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1704900704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1704900704 @@ -1 +0,0 @@ -IERÅp!"5I p(C~ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1705505204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1705505204 @@ -1 +0,0 @@ -HfY_<iii]%⩨Q.| -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1706109704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1706109704 @@ -1,3 +0,0 @@ -9B1Z -_rpn2,h{ڤ - -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1706714204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1706714204 @@ -1 +0,0 @@ -Γ[JQMOTN[y26I -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1707318704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1707318704 @@ -1 +0,0 @@ -OC;.Kf0bgiV=cF}:Jż -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1707923204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1707923204 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1708527704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1708527704 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1709132204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1709132204 @@ -1 +0,0 @@ -s-*8Ji<ۑp\ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1709736704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1709736704 @@ -1 +0,0 @@ -SI@fSGSVd⽄&ޑb -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1710341204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1710341204 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1710945704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1710945704 @@ -1 +0,0 @@ -Ke6nCAF~<c{R -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1711550204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1711550204 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1712154704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1712154704 @@ -1 +0,0 @@ -~vlZČdciz?C -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1712759204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1712759204 @@ -1 +0,0 @@ -2ϚUx^PKDx6 -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1713363704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1713363704 @@ -1 +0,0 @@ -vQ7aphl;M^U g- -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1713968204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1713968204 @@ -1 +0,0 @@ -FR(r;:[N<M7}Ā͂IT -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1714572704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1714572704 @@ -1 +0,0 @@ -ȝ?̵,@Nr91˥ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1715177204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1715177204 @@ -1 +0,0 @@ -N^0Ymtү*8єMdֈ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1715781704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1715781704 @@ -1 +0,0 @@ -M*d&L_Z͵I -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1716386204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1716386204 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1716990704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1716990704 @@ -1 +0,0 @@ ->]y%Y}DxCm$wGE -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1717595204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_5/1717595204 @@ -1,2 +0,0 @@ -+_RmOְAJd&} -", -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1696437704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1696437704 @@ -1 +0,0 @@ -u4Gxnv],uyH1rӸ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1697042204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1697042204 @@ -1,2 +0,0 @@ -]H< -".k43hWx -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1697646704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1697646704 @@ -1 +0,0 @@ -Äհ@[*Ukr -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1698251204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1698251204 @@ -1 +0,0 @@ -SGe݉G`\֜XYP/حPN -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1698855704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1698855704 @@ -1 +0,0 @@ -Z<îf"!)%iܠât -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1699460204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1699460204 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1700064704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1700064704 @@ -1 +0,0 @@ -faNH'^>Atn+[#5Y -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1700669204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1700669204 @@ -1 +0,0 @@ -˛oOP6QDWq$k0J -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1701273704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1701273704 @@ -1 +0,0 @@ -ⲭw/ɕVv%,i 6# -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1701878204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1701878204 @@ -1 +0,0 @@ -=p;ƐT3M[x|m~O -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1702482704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1702482704 @@ -1 +0,0 @@ -t6Joq`KKd:%(S) -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1703087204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1703087204 @@ -1 +0,0 @@ -M9; Yi&!BOź0,A˒ b -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1703691704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1703691704 @@ -1 +0,0 @@ -N،D־q>A-;irf -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1704296204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1704296204 @@ -1 +0,0 @@ -maH0l%yX?Y6_8XG -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1704900704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1704900704 @@ -1 +0,0 @@ -_2y|Ӡo[ڣoVRm -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1705505204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1705505204 @@ -1 +0,0 @@ -ˈjɥ<M*Ұ{SH4jQ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1706109704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1706109704 @@ -1 +0,0 @@ -Byؗ~{MNW3KQ5 -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1706714204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1706714204 @@ -1 +0,0 @@ -^[Ŀj>m0Ygڳy -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1707318704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1707318704 @@ -1 +0,0 @@ -m {LO|SߌGT3e -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1707923204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1707923204 @@ -1 +0,0 @@ -Th2{5ZzDS*)6a -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1709132204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1709132204 @@ -1 +0,0 @@ -n/3W'ۗ=5mV[ diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1709736704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1709736704 @@ -1 +0,0 @@ -HO˲%ྡc]X> -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1710341204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1710341204 @@ -1 +0,0 @@ -yzͥHW@-&y./`- -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1710945704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1710945704 @@ -1 +0,0 @@ -܀އ#x0ƚTcn٢-r -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1711550204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1711550204 @@ -1 +0,0 @@ -MdHn?3ЏH/"Q -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1712154704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1712154704 @@ -1 +0,0 @@ -79}3NvV4VM*džVZ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1712759204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1712759204 @@ -1 +0,0 @@ -xH0iKFoO?PІͤd08 -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1713363704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1713363704 @@ -1 +0,0 @@ -4,@W!X~<Txqf8A'C -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1713968204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1713968204 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1714572704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1714572704 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1715177204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1715177204 @@ -1 +0,0 @@ -I<58N*'!\AX,S<~<Eh -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1715781704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1715781704 @@ -1,2 +0,0 @@ -rj>ulH۩T!ˡ? -ID diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1716386204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1716386204 @@ -1 +0,0 @@ -)F!@bL`O]FD,(> -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1716990704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1716990704 @@ -1 +0,0 @@ - ܻ(FN)1cn8TxU -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1717595204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_1/1717595204 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1696437704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1696437704 @@ -1 +0,0 @@ - 1pJ9A[x7.kap -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1697042204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1697042204 @@ -1 +0,0 @@ -((F;3,ʇțWIhz!؇[ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1697646704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1697646704 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1698251204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1698251204 @@ -1 +0,0 @@ -Cx,KNƆkUYz9Ro+nf -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1698855704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1698855704 @@ -1 +0,0 @@ -MqB4鎥rPƇHgi -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1699460204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1699460204 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1700064704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1700064704 @@ -1 +0,0 @@ -9RNHěL+7NLiL -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1700669204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1700669204 @@ -1 +0,0 @@ -A0$^뢈/uSE} -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1701273704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1701273704 @@ -1 +0,0 @@ -(* UB㫼,X'"\J|k3 -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1701878204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1701878204 @@ -1 +0,0 @@ -sRz4Ÿsd_Jߣu -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1702482704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1702482704 @@ -1 +0,0 @@ -Mne6{ᒘE1U VхP"?R -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1703087204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1703087204 @@ -1 +0,0 @@ -$[RnP7G) -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1703691704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1703691704 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1704296204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1704296204 @@ -1 +0,0 @@ -%yk/lw5^_و٭t`2{T8i -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1704900704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1704900704 @@ -1 +0,0 @@ -MrqDqrEtjXN{ZT4 diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1705505204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1705505204 @@ -1 +0,0 @@ -xCa^dO?[x1V -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1706109704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1706109704 @@ -1 +0,0 @@ -PEƞO5r0iHKb13 -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1706714204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1706714204 @@ -1 +0,0 @@ -BǀE{+oPᕲ" -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1707318704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1707318704 @@ -1,2 +0,0 @@ -=ʾE -VS9X{}ei\u -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1707923204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1707923204 @@ -1 +0,0 @@ -!2^.OI$^0XĴqn|4 -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1708527704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1708527704 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1709132204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1709132204 @@ -1 +0,0 @@ -CCeA MBd;/n -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1709736704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1709736704 @@ -1 +0,0 @@ -o>IDŅbvJHNa7)1i -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1710341204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1710341204 @@ -1 +0,0 @@ -Rۦ%D1gBYyp@㥎ix diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1710945704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1710945704 @@ -1 +0,0 @@ -(~cfaM MJjR -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1711550204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1711550204 @@ -1 +0,0 @@ -!QV^p7"/v]ߤdūDr= -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1712154704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1712154704 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1712759204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1712759204 @@ -1 +0,0 @@ -ڊn<;q.N -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1713363704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1713363704 @@ -1 +0,0 @@ -u>/{&AN|s3 CZ- -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1713968204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1713968204 @@ -1 +0,0 @@ -?7!CS%A ¦5C4 -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1714572704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1714572704 @@ -1 +0,0 @@ -ctBi6,uWC2nY] -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1715177204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1715177204 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1715781704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1715781704 @@ -1 +0,0 @@ -AvG!<oS6߈n" diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1716386204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1716386204 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1716990704 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1716990704 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1717595204 b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/keys/coin_eur_ct_10/1717595204 @@ -1 +0,0 @@ -A)/V.qu/5Px -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/secmod-private-key b/src/testing/test_merchant_api_home/taler/exchange-secmod-cs/secmod-private-key Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-eddsa/secmod-private-key b/src/testing/test_merchant_api_home/taler/exchange-secmod-eddsa/secmod-private-key @@ -1 +0,0 @@ -\"h(QH,e҃=ۜ2NXښ8 -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/exchange-secmod-rsa/secmod-private-key b/src/testing/test_merchant_api_home/taler/exchange-secmod-rsa/secmod-private-key @@ -1 +0,0 @@ -=E<6$1DqzjpJ On -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/auditor/offline-keys/auditor.priv b/src/testing/test_merchant_api_home/taler/taler/auditor/offline-keys/auditor.priv @@ -1 +0,0 @@ -Y74NOV|1\uY0Gr -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-eddsa/1626561343 b/src/testing/test_merchant_api_home/taler/taler/crypto-eddsa/1626561343 @@ -1 +0,0 @@ -_ۥ2r+j@(ldTeKJUtZ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-eddsa/1633818643 b/src/testing/test_merchant_api_home/taler/taler/crypto-eddsa/1633818643 @@ -1 +0,0 @@ -]tR~9-0FNPgzܤIBH>A -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-eddsa/1641075943 b/src/testing/test_merchant_api_home/taler/taler/crypto-eddsa/1641075943 @@ -1 +0,0 @@ -7M"s`e|ݓN-k -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-eddsa/1648333243 b/src/testing/test_merchant_api_home/taler/taler/crypto-eddsa/1648333243 @@ -1 +0,0 @@ -8:o`-ciKlçn4<bJz'I -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-eddsa/1655590543 b/src/testing/test_merchant_api_home/taler/taler/crypto-eddsa/1655590543 @@ -1 +0,0 @@ -9$k..l_Lo -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1626554443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1626554443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1627158943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1627158943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1627763443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1627763443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1628367943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1628367943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1628972443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1628972443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1629576943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1629576943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1630181443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1630181443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1630785943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1630785943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1631390443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1631390443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1631994943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1631994943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1632599443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1632599443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1633203943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1633203943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1633808443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1633808443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1634412943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1634412943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1635017443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1635017443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1635621943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1635621943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1636226443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1636226443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1636830943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1636830943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1637435443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1637435443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1638039943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1638039943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1638644443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1638644443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1639248943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1639248943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1639853443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1639853443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1640457943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1640457943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1641062443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1641062443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1641666943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1641666943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1642271443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1642271443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1642875943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1642875943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1643480443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1643480443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1644084943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1644084943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1644689443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1644689443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1645293943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1645293943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1645898443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1645898443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1646502943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1646502943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1647107443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1647107443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1647711943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1647711943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1648316443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1648316443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1648920943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1648920943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1649525443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1649525443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1650129943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1650129943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1650734443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1650734443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1651338943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1651338943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1651943443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1651943443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1652547943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1652547943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1653152443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1653152443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1653756943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1653756943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1654361443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1654361443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1654965943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1654965943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1655570443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1655570443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1656174943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1656174943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1656779443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1656779443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1657383943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1657383943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1657988443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1657988443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1658592943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_1/1658592943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1626554443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1626554443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1627158943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1627158943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1627763443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1627763443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1628367943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1628367943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1628972443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1628972443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1629576943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1629576943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1630181443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1630181443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1630785943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1630785943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1631390443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1631390443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1631994943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1631994943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1632599443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1632599443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1633203943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1633203943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1633808443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1633808443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1634412943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1634412943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1635017443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1635017443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1635621943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1635621943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1636226443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1636226443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1636830943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1636830943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1637435443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1637435443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1638039943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1638039943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1638644443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1638644443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1639248943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1639248943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1639853443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1639853443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1640457943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1640457943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1641062443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1641062443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1641666943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1641666943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1642271443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1642271443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1642875943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1642875943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1643480443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1643480443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1644084943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1644084943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1644689443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1644689443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1645293943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1645293943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1645898443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1645898443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1646502943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1646502943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1647107443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1647107443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1647711943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1647711943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1648316443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1648316443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1648920943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1648920943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1649525443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1649525443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1650129943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1650129943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1650734443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1650734443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1651338943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1651338943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1651943443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1651943443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1652547943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1652547943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1653152443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1653152443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1653756943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1653756943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1654361443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1654361443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1654965943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1654965943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1655570443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1655570443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1656174943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1656174943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1656779443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1656779443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1657383943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1657383943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1657988443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1657988443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1658592943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_5/1658592943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1626554443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1626554443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1627158943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1627158943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1627763443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1627763443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1628367943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1628367943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1628972443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1628972443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1629576943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1629576943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1630181443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1630181443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1630785943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1630785943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1631390443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1631390443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1631994943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1631994943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1632599443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1632599443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1633203943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1633203943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1633808443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1633808443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1634412943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1634412943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1635017443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1635017443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1635621943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1635621943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1636226443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1636226443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1636830943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1636830943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1637435443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1637435443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1638039943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1638039943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1638644443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1638644443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1639248943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1639248943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1639853443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1639853443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1640457943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1640457943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1641062443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1641062443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1641666943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1641666943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1642271443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1642271443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1642875943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1642875943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1643480443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1643480443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1644084943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1644084943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1644689443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1644689443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1645293943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1645293943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1645898443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1645898443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1646502943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1646502943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1647107443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1647107443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1647711943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1647711943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1648316443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1648316443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1648920943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1648920943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1649525443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1649525443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1650129943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1650129943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1650734443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1650734443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1651338943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1651338943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1651943443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1651943443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1652547943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1652547943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1653152443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1653152443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1653756943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1653756943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1654361443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1654361443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1654965943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1654965943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1655570443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1655570443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1656174943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1656174943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1656779443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1656779443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1657383943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1657383943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1657988443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1657988443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1658592943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_1/1658592943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1626554443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1626554443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1627158943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1627158943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1627763443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1627763443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1628367943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1628367943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1628972443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1628972443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1629576943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1629576943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1630181443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1630181443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1630785943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1630785943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1631390443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1631390443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1631994943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1631994943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1632599443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1632599443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1633203943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1633203943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1633808443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1633808443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1634412943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1634412943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1635017443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1635017443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1635621943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1635621943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1636226443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1636226443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1636830943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1636830943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1637435443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1637435443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1638039943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1638039943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1638644443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1638644443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1639248943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1639248943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1639853443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1639853443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1640457943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1640457943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1641062443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1641062443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1641666943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1641666943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1642271443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1642271443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1642875943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1642875943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1643480443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1643480443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1644084943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1644084943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1644689443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1644689443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1645293943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1645293943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1645898443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1645898443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1646502943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1646502943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1647107443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1647107443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1647711943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1647711943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1648316443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1648316443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1648920943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1648920943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1649525443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1649525443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1650129943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1650129943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1650734443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1650734443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1651338943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1651338943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1651943443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1651943443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1652547943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1652547943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1653152443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1653152443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1653756943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1653756943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1654361443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1654361443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1654965943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1654965943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1655570443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1655570443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1656174943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1656174943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1656779443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1656779443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1657383943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1657383943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1657988443 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1657988443 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1658592943 b/src/testing/test_merchant_api_home/taler/taler/crypto-rsa/coin_eur_ct_10/1658592943 Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/exchange-offline/master.priv b/src/testing/test_merchant_api_home/taler/taler/exchange-offline/master.priv @@ -1 +0,0 @@ -k;d_U}A.w"!Gv_m"_ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/exchange-offline/secm_tofus.pub b/src/testing/test_merchant_api_home/taler/taler/exchange-offline/secm_tofus.pub Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/exchange-secmod-eddsa/keys/1686160442 b/src/testing/test_merchant_api_home/taler/taler/exchange-secmod-eddsa/keys/1686160442 @@ -1 +0,0 @@ -ȾƾH+OH棁оrk -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/exchange-secmod-eddsa/keys/1693417742 b/src/testing/test_merchant_api_home/taler/taler/exchange-secmod-eddsa/keys/1693417742 @@ -1 +0,0 @@ -#[ۖRlgIAӼ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/exchange-secmod-eddsa/keys/1700675042 b/src/testing/test_merchant_api_home/taler/taler/exchange-secmod-eddsa/keys/1700675042 @@ -1 +0,0 @@ -56`5}DOoz!r{ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/exchange-secmod-eddsa/keys/1707932342 b/src/testing/test_merchant_api_home/taler/taler/exchange-secmod-eddsa/keys/1707932342 @@ -1 +0,0 @@ -e)`#RRkbdXvj -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/exchange-secmod-eddsa/keys/1715189642 b/src/testing/test_merchant_api_home/taler/taler/exchange-secmod-eddsa/keys/1715189642 @@ -1 +0,0 @@ -=YԲ\dxwz^-!U -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/exchange-secmod-eddsa/secmod-private-key b/src/testing/test_merchant_api_home/taler/taler/exchange-secmod-eddsa/secmod-private-key @@ -1,2 +0,0 @@ -]TL` -)3E+#G* -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/exchange/offline-keys/master.priv b/src/testing/test_merchant_api_home/taler/taler/exchange/offline-keys/master.priv @@ -1 +0,0 @@ -k;d_U}A.w"!Gv_m"_ -\ No newline at end of file diff --git a/src/testing/test_merchant_api_home/taler/taler/exchange/wirefees/x-taler-bank.fee b/src/testing/test_merchant_api_home/taler/taler/exchange/wirefees/x-taler-bank.fee Binary files differ. diff --git a/src/testing/test_merchant_api_home/taler/taler/merchant/merchant.priv b/src/testing/test_merchant_api_home/taler/taler/merchant/merchant.priv @@ -1 +0,0 @@ -,Y%FF<R9ϳ5v\k46 -\ No newline at end of file diff --git a/src/testing/test_template.conf b/src/testing/test_template.conf @@ -1,18 +1,16 @@ [PATHS] TALER_TEST_HOME = test_merchant_api_home/ -[taler] -CURRENCY = TESTKUDOS -CURRENCY_ROUND_UNIT = TESTKUDOS:0.01 - [merchant-exchange-kudos] DISABLED = YES [exchange] +CURRENCY = TESTKUDOS +CURRENCY_ROUND_UNIT = TESTKUDOS:0.01 AML_THRESHOLD = TESTKUDOS:1000000 MAX_KEYS_CACHING = forever DB = postgres -MASTER_PUBLIC_KEY = NKX42KSCQHDQK7CF1PC6X9DMQPXW6KHXKGD3DPQJMP32FKXSWYK0 +MASTER_PUBLIC_KEY = KHA6YSPRQV1ZFCF144SY8KJNR588XA8DA0F6510FKJW30DJFJNAG SERVE = tcp UNIXPATH = ${TALER_RUNTIME_DIR}/exchange.http UNIXPATH_MODE = 660 @@ -46,7 +44,7 @@ FORCE_AUDIT = YES [merchantdb-postgres] CONFIG = postgres:///talercheck -SQL_DIR = $DATADIR/sql/merchant/ +SQL_DIR = ${DATADIR}sql/ [bank] HTTP_PORT = 8082 @@ -106,7 +104,7 @@ WIRE_GATEWAY_URL = "http://localhost:8082/accounts/exchange/taler-wire-gateway/" [merchant-exchange-default] EXCHANGE_BASE_URL = http://localhost:8081/ CURRENCY = TESTKUDOS -MASTER_KEY = NKX42KSCQHDQK7CF1PC6X9DMQPXW6KHXKGD3DPQJMP32FKXSWYK0 +MASTER_KEY = KHA6YSPRQV1ZFCF144SY8KJNR588XA8DA0F6510FKJW30DJFJNAG [payments-generator] currency = TESTKUDOS diff --git a/src/util/.gitignore b/src/util/.gitignore @@ -0,0 +1 @@ +taler-merchant-config diff --git a/src/util/Makefile.am b/src/util/Makefile.am @@ -0,0 +1,39 @@ +# This Makefile.am is in the public domain +AM_CPPFLAGS = -I$(top_srcdir)/src/include $(LIBGCRYPT_CFLAGS) + +if USE_COVERAGE + AM_CFLAGS = --coverage -O0 + XLIB = -lgcov +endif + + +pkgcfgdir = $(prefix)/share/taler-merchant/config.d/ + +pkgcfg_DATA = \ + merchant-paths.conf + +bin_PROGRAMS = \ + taler-merchant-config + +taler_merchant_config_SOURCES = \ + taler-merchant-config.c +taler_merchant_config_LDADD = \ + libtalermerchantutil.la \ + -lgnunetutil \ + $(XLIB) + +EXTRA_DIST = \ + $(bin_SCRIPTS) \ + $(pkgcfg_DATA) + +lib_LTLIBRARIES = \ + libtalermerchantutil.la + +libtalermerchantutil_la_SOURCES = \ + os_installation.c +libtalermerchantutil_la_LIBADD = \ + -lgnunetutil \ + $(XLIB) +libtalermerchantutil_la_LDFLAGS = \ + -version-info 0:0:0 \ + -export-dynamic -no-undefined diff --git a/src/util/merchant-paths.conf b/src/util/merchant-paths.conf @@ -0,0 +1,29 @@ +[PATHS] +# The PATHS section is special, as filenames including $-expression are +# expanded using the values from PATHS or the system environment (PATHS +# is checked first). libgnunetutil supports expanding $-expressions using +# defaults with the syntax "${VAR:-default}". Here, "default" can again +# be a $-expression. +# +# We usually want $HOME for $TALER_HOME +# +TALER_HOME = ${HOME:-${USERPROFILE}} + +# see XDG Base Directory Specification at +# http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html +# for how these should be used. + +# Persistent data storage +TALER_DATA_HOME = ${XDG_DATA_HOME:-$TALER_HOME/.local/share}/taler-merchant/ + +# Configuration files +TALER_CONFIG_HOME = ${XDG_CONFIG_HOME:-$TALER_HOME/.config}/taler-merchant/ + +# Cached data, no big deal if lost +TALER_CACHE_HOME = ${XDG_CACHE_HOME:-$TALER_HOME/.cache}/taler-merchant/ + +# Runtime data (i.e UNIX domain sockets, locks, always lost on system boot) +TALER_RUNTIME_DIR = ${TMPDIR:-${TMP:-/tmp}}/taler-merchant-runtime/ + +# Directory to use for temporary files. +TALER_TMP = ${TMPDIR:-${TMP:-/tmp}}/taler-merchant/ diff --git a/src/util/os_installation.c b/src/util/os_installation.c @@ -0,0 +1,62 @@ +/* + This file is part of GNU Taler. + Copyright (C) 2019 Taler Systems SA + + Sync 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 Foundation; either version 3, or (at your + option) any later version. + + Sync is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Sync; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +/** + * @file os_installation.c + * @brief initialize libgnunet OS subsystem for taler-merchant. + * @author Christian Grothoff + */ +#include "platform.h" +#include <gnunet/gnunet_util_lib.h> +#include "taler_merchant_util.h" + + +/** + * Default project data used for installation path detection + * for GNU Taler merchant. + */ +static const struct GNUNET_OS_ProjectData merchant_pd = { + .libname = "libtalermerchantutil", + .project_dirname = "taler-merchant", + .binary_name = "taler-merchant-httpd", + .env_varname = "TALER_PREFIX", + .base_config_varname = "TALER_BASE_CONFIG", + .bug_email = "taler@lists.gnu.org", + .homepage = "http://www.gnu.org/s/taler/", + .config_file = "taler.conf", + .user_config_file = "~/.config/taler.conf", + .version = PACKAGE_VERSION, + .is_gnu = 1, + .gettext_domain = "taler", + .gettext_path = NULL, +}; + + +/** + * Return default project data used by Taler merchant. + */ +const struct GNUNET_OS_ProjectData * +TALER_MERCHANT_project_data (void) +{ + return &merchant_pd; +} + + +/* end of os_installation.c */ diff --git a/src/util/taler-merchant-config.c b/src/util/taler-merchant-config.c @@ -0,0 +1,73 @@ +/* + This file is part of Taler. + Copyright (C) 2012-2024 Taler Systems SA + + Taler is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. + + Taler is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + + SPDX-License-Identifier: AGPL3.0-or-later + */ + +/** + * @file util/taler-merchant-config.c + * @brief tool to access and manipulate Taler merchant configuration files + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_merchant_util.h" + + +/** + * Program to manipulate configuration files. + * + * @param argc number of arguments from the command line + * @param argv command line arguments + * @return 0 ok, 1 on error + */ +int +main (int argc, + char *const *argv) +{ + struct GNUNET_CONFIGURATION_ConfigSettings cs = { + .api_version = GNUNET_UTIL_VERSION, + .global_ret = EXIT_SUCCESS + }; + struct GNUNET_GETOPT_CommandLineOption options[] = { + GNUNET_GETOPT_option_help (TALER_MERCHANT_project_data (), + "taler-merchant-config [OPTIONS]"), + GNUNET_GETOPT_option_version (TALER_MERCHANT_project_data ()->version), + GNUNET_CONFIGURATION_CONFIG_OPTIONS (&cs), + GNUNET_GETOPT_OPTION_END + }; + enum GNUNET_GenericReturnValue ret; + + ret = GNUNET_PROGRAM_run ( + TALER_MERCHANT_project_data (), + argc, + argv, + "taler-merchant-config [OPTIONS]", + gettext_noop ( + "Manipulate taler-merchant configuration files"), + options, + &GNUNET_CONFIGURATION_config_tool_run, + &cs); + GNUNET_CONFIGURATION_config_settings_free (&cs); + if (GNUNET_NO == ret) + return 0; + if (GNUNET_SYSERR == ret) + return EXIT_INVALIDARGUMENT; + return cs.global_ret; +} + + +/* end of taler-merchant-config.c */