commit 2204363cc713ba4f0b16022b43d0043de082d59a
parent 7f718eefc2aefba2d6f08201434a8126d6d465bb
Author: bohdan-potuzhnyi <bohdan.potuzhnyi@gmail.com>
Date: Sat, 12 Apr 2025 10:44:14 +0200
Merge branch 'master' into dev/bohdan-potuzhnyi/donau-integration
Diffstat:
6 files changed, 38 insertions(+), 10 deletions(-)
diff --git a/configure.ac b/configure.ac
@@ -18,7 +18,7 @@
# This configure file is in the public domain
AC_PREREQ([2.69])
-AC_INIT([taler-merchant],[0.14.6],[taler-bug@gnunet.org])
+AC_INIT([taler-merchant],[0.14.8],[taler-bug@gnunet.org])
AC_CONFIG_SRCDIR([src/backend/taler-merchant-httpd.c])
AC_CONFIG_HEADERS([taler_merchant_config.h])
# support for non-recursive builds
diff --git a/contrib/merchant-spa.lock b/contrib/merchant-spa.lock
@@ -1 +1 @@
-0.14.12-dev.1
+0.14.13-dev.4
diff --git a/debian/changelog b/debian/changelog
@@ -1,3 +1,15 @@
+taler-merchant (0.14.8) unstable; urgency=low
+
+ * Release version 0.14.8
+
+ -- Christian Grothoff <grothoff@gnu.org> Wed, 9 Apr 2025 06:51:13 +0200
+
+taler-merchant (0.14.7) unstable; urgency=low
+
+ * Release version 0.14.7
+
+ -- Christian Grothoff <grothoff@gnu.org> Mon, 7 Apr 2025 06:51:13 +0200
+
taler-merchant (0.14.6) unstable; urgency=low
* Release version 0.14.6
diff --git a/doc/doxygen/taler.doxy b/doc/doxygen/taler.doxy
@@ -5,7 +5,7 @@
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "GNU Taler: Merchant"
-PROJECT_NUMBER = 0.14.5
+PROJECT_NUMBER = 0.14.8
PROJECT_LOGO = logo.svg
OUTPUT_DIRECTORY = .
CREATE_SUBDIRS = YES
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
@@ -526,6 +526,10 @@ map_to_status (const struct ExchangeKycRequest *ekr)
{
return "no-exchange-keys";
}
+ if (ekr->kyc_ok)
+ {
+ return "ready";
+ }
if (! ekr->auth_ok)
{
if (ekr->kyc_auth_conflict)
@@ -534,10 +538,6 @@ map_to_status (const struct ExchangeKycRequest *ekr)
}
if (ekr->in_aml_review)
return "awaiting-aml-review";
- if (ekr->kyc_ok)
- {
- return "ready";
- }
switch (ekr->last_http_status)
{
case 0:
diff --git a/src/backend/taler-merchant-kyccheck.c b/src/backend/taler-merchant-kyccheck.c
@@ -229,6 +229,13 @@ struct Inquiry
bool not_first_time;
/**
+ * Do soft limits on transactions apply to this merchant for operations
+ * merchants care about? If so, we should increase our request frequency
+ * and ask more often to see if they were lifted.
+ */
+ bool zero_limited;
+
+ /**
* Did we not run this inquiry due to limits?
*/
bool limited;
@@ -447,6 +454,7 @@ store_kyc_status (
json_decref (i->jlimits);
jlimits = json_array ();
GNUNET_assert (NULL != jlimits);
+ i->zero_limited = false;
for (unsigned int j = 0; j<account_kyc_status->limits_length; j++)
{
const struct TALER_EXCHANGE_AccountLimit *limit
@@ -454,6 +462,14 @@ store_kyc_status (
pack_limit (limit,
jlimits);
+ if (TALER_amount_is_zero (&limit->threshold) &&
+ limit->soft_limit &&
+ ( (TALER_KYCLOGIC_KYC_TRIGGER_DEPOSIT == limit->operation_type) ||
+ (TALER_KYCLOGIC_KYC_TRIGGER_AGGREGATE == limit->operation_type) ||
+ (TALER_KYCLOGIC_KYC_TRIGGER_TRANSACTION == limit->operation_type) ) )
+ {
+ i->zero_limited = true;
+ }
}
i->jlimits = jlimits;
GNUNET_break (! GNUNET_is_zero (&account_kyc_status->access_token));
@@ -498,7 +514,7 @@ exchange_check_cb (
store_kyc_status (i,
&ks->details.ok);
i->backoff = GNUNET_TIME_UNIT_ZERO;
- if (i->aml_review)
+ if (i->aml_review || i->zero_limited)
{
if (! progress)
i->due = GNUNET_TIME_relative_to_absolute (AML_FREQ);
@@ -548,8 +564,8 @@ exchange_check_cb (
i->last_kyc_check = GNUNET_TIME_timestamp_get ();
/* Account unknown => no KYC auth yet */
i->auth_ok = false;
- /* unknown account => no requirements! */
- i->kyc_ok = true;
+ /* unknown account => wire transfer required! */
+ i->kyc_ok = false;
/* There should not be any limits yet, but clear them
just in case the exchange has amnesia */
json_decref (i->jlimits);