[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-exchange] 34/124: store provider_name, instead of provider_sectio
From: |
gnunet |
Subject: |
[taler-exchange] 34/124: store provider_name, instead of provider_section |
Date: |
Tue, 17 Sep 2024 21:27:26 +0200 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to tag cg-aml-branch-compiles
in repository exchange.
commit 091f45e0dc3d3250cdc489bef9d3ca89ae39ae11
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Tue May 14 10:19:17 2024 +0200
store provider_name, instead of provider_section
---
src/exchange/taler-exchange-httpd_kyc-proof.c | 30 ++--
src/exchange/taler-exchange-httpd_kyc-webhook.c | 18 +--
src/exchangedb/0005-legitimization_processes.sql | 1 +
.../exchange_do_insert_kyc_attributes.sql | 5 +-
.../pg_get_pending_kyc_requirement_process.c | 6 +-
.../pg_get_pending_kyc_requirement_process.h | 4 +-
src/exchangedb/pg_insert_kyc_attributes.c | 4 +-
src/exchangedb/pg_insert_kyc_attributes.h | 10 +-
src/exchangedb/pg_insert_kyc_failure.c | 6 +-
src/exchangedb/pg_insert_kyc_failure.h | 4 +-
.../pg_insert_kyc_requirement_for_account.c | 4 +-
.../pg_insert_kyc_requirement_for_account.h | 4 +-
src/exchangedb/pg_insert_kyc_requirement_process.c | 6 +-
src/exchangedb/pg_insert_kyc_requirement_process.h | 4 +-
src/exchangedb/pg_insert_records_by_table.c | 4 +-
src/exchangedb/pg_iterate_kyc_reference.c | 10 +-
src/exchangedb/pg_kyc_provider_account_lookup.c | 6 +-
src/exchangedb/pg_kyc_provider_account_lookup.h | 4 +-
src/exchangedb/pg_lookup_kyc_process_by_account.c | 6 +-
src/exchangedb/pg_lookup_kyc_process_by_account.h | 4 +-
src/exchangedb/pg_lookup_records_by_table.c | 6 +-
src/exchangedb/pg_update_kyc_process_by_row.c | 8 +-
src/exchangedb/pg_update_kyc_process_by_row.h | 4 +-
src/include/taler_exchangedb_plugin.h | 36 +++--
src/include/taler_kyclogic_lib.h | 2 +-
src/include/taler_kyclogic_plugin.h | 8 +-
src/kyclogic/kyclogic_api.c | 174 ++-------------------
27 files changed, 115 insertions(+), 263 deletions(-)
diff --git a/src/exchange/taler-exchange-httpd_kyc-proof.c
b/src/exchange/taler-exchange-httpd_kyc-proof.c
index bad377a2a..6bcdba6a7 100644
--- a/src/exchange/taler-exchange-httpd_kyc-proof.c
+++ b/src/exchange/taler-exchange-httpd_kyc-proof.c
@@ -99,7 +99,7 @@ struct KycProofContext
/**
* Provider configuration section name of the logic we are running.
*/
- const char *provider_section;
+ const char *provider_name;
/**
* Row in the database for this legitimization operation.
@@ -302,7 +302,7 @@ proof_cb (
kpc->kat = TEH_kyc_finished (&rc->async_scope_id,
kpc->process_row,
&kpc->h_payto,
- kpc->provider_section,
+ kpc->provider_name,
provider_user_id,
provider_legitimization_id,
expiration,
@@ -356,7 +356,7 @@ proof_cb (
{
if (! TEH_kyc_failed (kpc->process_row,
&kpc->h_payto,
- kpc->provider_section,
+ kpc->provider_name,
provider_user_id,
provider_legitimization_id))
{
@@ -432,19 +432,19 @@ TEH_handler_kyc_proof (
const char *const args[1])
{
struct KycProofContext *kpc = rc->rh_ctx;
- const char *provider_section_or_logic = args[0];
+ const char *provider_name_or_logic = args[0];
if (NULL == kpc)
{
/* first time */
- if (NULL == provider_section_or_logic)
+ if (NULL == provider_name_or_logic)
{
GNUNET_break_op (0);
return respond_html_ec (rc,
MHD_HTTP_NOT_FOUND,
"kyc-proof-endpoint-unknown",
TALER_EC_GENERIC_ENDPOINT_UNKNOWN,
- "'/kyc-proof/$PROVIDER_SECTION?state=$H_PAYTO'
required");
+ "'/kyc-proof/$PROVIDER_NAME?state=$H_PAYTO'
required");
}
kpc = GNUNET_new (struct KycProofContext);
kpc->rc = rc;
@@ -454,37 +454,37 @@ TEH_handler_kyc_proof (
"state",
&kpc->h_payto);
if (GNUNET_OK !=
- TALER_KYCLOGIC_lookup_logic (provider_section_or_logic,
+ TALER_KYCLOGIC_lookup_logic (provider_name_or_logic,
&kpc->logic,
&kpc->pd,
- &kpc->provider_section))
+ &kpc->provider_name))
{
GNUNET_break_op (0);
return respond_html_ec (rc,
MHD_HTTP_NOT_FOUND,
"kyc-proof-target-unknown",
TALER_EC_EXCHANGE_KYC_GENERIC_LOGIC_UNKNOWN,
- provider_section_or_logic);
+ provider_name_or_logic);
}
- if (NULL != kpc->provider_section)
+ if (NULL != kpc->provider_name)
{
enum GNUNET_DB_QueryStatus qs;
struct GNUNET_TIME_Absolute expiration;
- if (0 != strcmp (provider_section_or_logic,
- kpc->provider_section))
+ if (0 != strcmp (provider_name_or_logic,
+ kpc->provider_name))
{
GNUNET_break_op (0);
return respond_html_ec (rc,
MHD_HTTP_BAD_REQUEST,
"kyc-proof-bad-request",
TALER_EC_GENERIC_PARAMETER_MALFORMED,
- "PROVIDER_SECTION");
+ "PROVIDER_NAME");
}
qs = TEH_plugin->lookup_kyc_process_by_account (
TEH_plugin->cls,
- kpc->provider_section,
+ kpc->provider_name,
&kpc->h_payto,
&kpc->process_row,
&expiration,
@@ -504,7 +504,7 @@ TEH_handler_kyc_proof (
MHD_HTTP_NOT_FOUND,
"kyc-proof-target-unknown",
TALER_EC_EXCHANGE_KYC_PROOF_REQUEST_UNKNOWN,
- kpc->provider_section);
+ kpc->provider_name);
case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
break;
}
diff --git a/src/exchange/taler-exchange-httpd_kyc-webhook.c
b/src/exchange/taler-exchange-httpd_kyc-webhook.c
index b92b43e69..279ee7d76 100644
--- a/src/exchange/taler-exchange-httpd_kyc-webhook.c
+++ b/src/exchange/taler-exchange-httpd_kyc-webhook.c
@@ -65,10 +65,10 @@ struct KycWebhookContext
struct TALER_KYCLOGIC_Plugin *plugin;
/**
- * Section in the configuration of the configured
- * KYC provider.
+ * Name of the KYC provider (suffix of the
+ * section name in the configuration).
*/
- const char *provider_section;
+ const char *provider_name;
/**
* Configuration for the specific action.
@@ -177,7 +177,7 @@ kyc_aml_webhook_finished (
* @param cls closure
* @param process_row legitimization process the webhook was about
* @param account_id account the webhook was about
- * @param provider_section name of the configuration section of the logic that
was run
+ * @param provider_name name of the KYC provider that was run
* @param provider_user_id set to user ID at the provider, or NULL if not
supported or unknown
* @param provider_legitimization_id set to legitimization process ID at the
provider, or NULL if not supported or unknown
* @param status KYC status
@@ -191,7 +191,7 @@ webhook_finished_cb (
void *cls,
uint64_t process_row,
const struct TALER_PaytoHashP *account_id,
- const char *provider_section,
+ const char *provider_name,
const char *provider_user_id,
const char *provider_legitimization_id,
enum TALER_KYCLOGIC_KycStatus status,
@@ -210,7 +210,7 @@ webhook_finished_cb (
&kwh->rc->async_scope_id,
process_row,
account_id,
- provider_section,
+ provider_name,
provider_user_id,
provider_legitimization_id,
expiration,
@@ -242,7 +242,7 @@ webhook_finished_cb (
status);
if (! TEH_kyc_failed (process_row,
account_id,
- provider_section,
+ provider_name,
provider_user_id,
provider_legitimization_id))
{
@@ -330,7 +330,7 @@ handler_kyc_webhook_generic (
TALER_KYCLOGIC_lookup_logic (args[0],
&kwh->plugin,
&kwh->pd,
- &kwh->provider_section)) )
+ &kwh->provider_name)) )
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"KYC logic `%s' unknown (check KYC provider
configuration)\n",
@@ -343,7 +343,7 @@ handler_kyc_webhook_generic (
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"KYC logic `%s' mapped to section %s\n",
args[0],
- kwh->provider_section);
+ kwh->provider_name);
kwh->wh = kwh->plugin->webhook (kwh->plugin->cls,
kwh->pd,
TEH_plugin->kyc_provider_account_lookup,
diff --git a/src/exchangedb/0005-legitimization_processes.sql
b/src/exchangedb/0005-legitimization_processes.sql
index 49e9d68e8..0c7935f39 100644
--- a/src/exchangedb/0005-legitimization_processes.sql
+++ b/src/exchangedb/0005-legitimization_processes.sql
@@ -24,6 +24,7 @@ BEGIN
PERFORM create_partitioned_table(
'ALTER TABLE %I'
' ADD COLUMN legitimization_measure_serial_id BIGINT'
+ ',RENAME COLUMN provider_section TO provider_name'
',ADD COLUMN measure_index INT4'
';'
,'legitimization_processes'
diff --git a/src/exchangedb/exchange_do_insert_kyc_attributes.sql
b/src/exchangedb/exchange_do_insert_kyc_attributes.sql
index 2e25e7dba..54ab51bbe 100644
--- a/src/exchangedb/exchange_do_insert_kyc_attributes.sql
+++ b/src/exchangedb/exchange_do_insert_kyc_attributes.sql
@@ -18,6 +18,7 @@ CREATE OR REPLACE FUNCTION exchange_do_insert_kyc_attributes(
IN in_process_row INT8,
IN in_h_payto BYTEA,
IN in_birthday INT4,
+ IN in_provider_name TEXT,
IN in_provider_account_id TEXT,
IN in_provider_legitimization_id TEXT,
IN in_collection_time_ts INT8,
@@ -54,7 +55,7 @@ UPDATE legitimization_processes
,finished=TRUE
WHERE h_payto=in_h_payto
AND legitimization_process_serial_id=in_process_row
- AND provider_section=in_provider_section;
+ AND provider_name=in_provider_name;
out_ok = FOUND;
@@ -101,5 +102,5 @@ INSERT INTO kyc_alerts
END $$;
-COMMENT ON FUNCTION exchange_do_insert_kyc_attributes(INT8, BYTEA, INT4, TEXT,
TEXT, INT8, INT8, INT8, BYTEA, BOOL, TEXT)
+COMMENT ON FUNCTION exchange_do_insert_kyc_attributes(INT8, BYTEA, INT4, TEXT,
TEXT, TEXT, INT8, INT8, INT8, BYTEA, BOOL, TEXT)
IS 'Inserts new KYC attributes and updates the status of the legitimization
process and the AML status for the account';
diff --git a/src/exchangedb/pg_get_pending_kyc_requirement_process.c
b/src/exchangedb/pg_get_pending_kyc_requirement_process.c
index b9acddad1..ddb353e1e 100644
--- a/src/exchangedb/pg_get_pending_kyc_requirement_process.c
+++ b/src/exchangedb/pg_get_pending_kyc_requirement_process.c
@@ -30,12 +30,12 @@ enum GNUNET_DB_QueryStatus
TEH_PG_get_pending_kyc_requirement_process (
void *cls,
const struct TALER_PaytoHashP *h_payto,
- const char *provider_section,
+ const char *provider_name,
char **redirect_url)
{
struct PostgresClosure *pg = cls;
struct GNUNET_PQ_QueryParam params[] = {
- GNUNET_PQ_query_param_string (provider_section),
+ GNUNET_PQ_query_param_string (provider_name),
GNUNET_PQ_query_param_auto_from_type (h_payto),
GNUNET_PQ_query_param_end
};
@@ -53,7 +53,7 @@ TEH_PG_get_pending_kyc_requirement_process (
"SELECT"
" redirect_url"
" FROM legitimization_processes"
- " WHERE provider_section=$1"
+ " WHERE provider_name=$1"
" AND h_payto=$2"
" AND NOT finished"
" ORDER BY start_time DESC"
diff --git a/src/exchangedb/pg_get_pending_kyc_requirement_process.h
b/src/exchangedb/pg_get_pending_kyc_requirement_process.h
index 738c4d65b..d2561a6da 100644
--- a/src/exchangedb/pg_get_pending_kyc_requirement_process.h
+++ b/src/exchangedb/pg_get_pending_kyc_requirement_process.h
@@ -31,7 +31,7 @@
*
* @param cls closure
* @param h_payto account that must be KYC'ed
- * @param provider_section provider that must be checked
+ * @param provider_name provider that must be checked
* @param[out] redirect_url set to redirect URL for the process
* @return database transaction status
*/
@@ -39,7 +39,7 @@ enum GNUNET_DB_QueryStatus
TEH_PG_get_pending_kyc_requirement_process (
void *cls,
const struct TALER_PaytoHashP *h_payto,
- const char *provider_section,
+ const char *provider_name,
char **redirect_url);
#endif
diff --git a/src/exchangedb/pg_insert_kyc_attributes.c
b/src/exchangedb/pg_insert_kyc_attributes.c
index 76dbe1aa7..45d53347a 100644
--- a/src/exchangedb/pg_insert_kyc_attributes.c
+++ b/src/exchangedb/pg_insert_kyc_attributes.c
@@ -33,6 +33,7 @@ TEH_PG_insert_kyc_attributes (
const struct TALER_PaytoHashP *h_payto,
uint32_t birthday,
struct GNUNET_TIME_Timestamp collection_time,
+ const char *provider_name,
const char *provider_account_id,
const char *provider_legitimization_id,
struct GNUNET_TIME_Absolute expiration_time,
@@ -54,6 +55,7 @@ TEH_PG_insert_kyc_attributes (
GNUNET_PQ_query_param_uint64 (&process_row),
GNUNET_PQ_query_param_auto_from_type (h_payto),
GNUNET_PQ_query_param_uint32 (&birthday),
+ GNUNET_PQ_query_param_string (provider_name),
(NULL == provider_account_id)
? GNUNET_PQ_query_param_null ()
: GNUNET_PQ_query_param_string (provider_account_id),
@@ -85,7 +87,7 @@ TEH_PG_insert_kyc_attributes (
"SELECT "
" out_ok"
" FROM exchange_do_insert_kyc_attributes "
- "($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11);");
+ "($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12);");
qs = GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
"insert_kyc_attributes",
params,
diff --git a/src/exchangedb/pg_insert_kyc_attributes.h
b/src/exchangedb/pg_insert_kyc_attributes.h
index e8650f969..09ebbf04a 100644
--- a/src/exchangedb/pg_insert_kyc_attributes.h
+++ b/src/exchangedb/pg_insert_kyc_attributes.h
@@ -33,14 +33,11 @@
* @param cls closure
* @param process_row KYC process row to update
* @param h_payto account for which the attribute data is stored
- * @param kyc_prox key for similarity search
- * @param provider_section provider that must be checked
- * @param num_checks how many checks do these attributes satisfy
- * @param satisfied_checks array of checks satisfied by these attributes
- * @param provider_account_id provider account ID
- * @param provider_legitimization_id provider legitimization ID
* @param birthday birthdate of user, in days after 1990, or 0 if unknown or
definitively adult
* @param collection_time when was the data collected
+ * @param provider_name name of the provider that provided the attributes
+ * @param provider_account_id provider account ID
+ * @param provider_legitimization_id provider legitimization ID
* @param expiration_time when does the data expire
* @param enc_attributes_size number of bytes in @a enc_attributes
* @param enc_attributes encrypted attribute data
@@ -54,6 +51,7 @@ TEH_PG_insert_kyc_attributes (
const struct TALER_PaytoHashP *h_payto,
uint32_t birthday,
struct GNUNET_TIME_Timestamp collection_time,
+ const char *provider_name,
const char *provider_account_id,
const char *provider_legitimization_id,
struct GNUNET_TIME_Absolute expiration_time,
diff --git a/src/exchangedb/pg_insert_kyc_failure.c
b/src/exchangedb/pg_insert_kyc_failure.c
index 568c39ca8..c5d1a7085 100644
--- a/src/exchangedb/pg_insert_kyc_failure.c
+++ b/src/exchangedb/pg_insert_kyc_failure.c
@@ -32,7 +32,7 @@ TEH_PG_insert_kyc_failure (
void *cls,
uint64_t process_row,
const struct TALER_PaytoHashP *h_payto,
- const char *provider_section,
+ const char *provider_name,
const char *provider_account_id,
const char *provider_legitimization_id)
{
@@ -40,7 +40,7 @@ TEH_PG_insert_kyc_failure (
struct GNUNET_PQ_QueryParam params[] = {
GNUNET_PQ_query_param_uint64 (&process_row),
GNUNET_PQ_query_param_auto_from_type (h_payto),
- GNUNET_PQ_query_param_string (provider_section),
+ GNUNET_PQ_query_param_string (provider_name),
NULL != provider_account_id
? GNUNET_PQ_query_param_string (provider_account_id)
: GNUNET_PQ_query_param_null (),
@@ -60,7 +60,7 @@ TEH_PG_insert_kyc_failure (
" ,provider_legitimization_id=$5"
" WHERE h_payto=$2"
" AND legitimization_process_serial_id=$1"
- " AND provider_section=$3;");
+ " AND provider_name=$3;");
qs = GNUNET_PQ_eval_prepared_non_select (pg->conn,
"insert_kyc_failure",
params);
diff --git a/src/exchangedb/pg_insert_kyc_failure.h
b/src/exchangedb/pg_insert_kyc_failure.h
index 46d08df9c..bacdefe99 100644
--- a/src/exchangedb/pg_insert_kyc_failure.h
+++ b/src/exchangedb/pg_insert_kyc_failure.h
@@ -32,7 +32,7 @@
* @param cls closure
* @param process_row KYC process row to update
* @param h_payto account for which the attribute data is stored
- * @param provider_section provider that must be checked
+ * @param provider_name provider that must be checked
* @param provider_account_id provider account ID
* @param provider_legitimization_id provider legitimization ID
* @return database transaction status
@@ -42,7 +42,7 @@ TEH_PG_insert_kyc_failure (
void *cls,
uint64_t process_row,
const struct TALER_PaytoHashP *h_payto,
- const char *provider_section,
+ const char *provider_name,
const char *provider_account_id,
const char *provider_legitimization_id);
diff --git a/src/exchangedb/pg_insert_kyc_requirement_for_account.c
b/src/exchangedb/pg_insert_kyc_requirement_for_account.c
index 95f695297..776b79ff8 100644
--- a/src/exchangedb/pg_insert_kyc_requirement_for_account.c
+++ b/src/exchangedb/pg_insert_kyc_requirement_for_account.c
@@ -28,7 +28,7 @@
enum GNUNET_DB_QueryStatus
TEH_PG_insert_kyc_requirement_for_account (
void *cls,
- const char *provider_section,
+ const char *provider_name,
const struct TALER_PaytoHashP *h_payto,
const struct TALER_ReservePublicKeyP *reserve_pub,
uint64_t *requirement_row)
@@ -39,7 +39,7 @@ TEH_PG_insert_kyc_requirement_for_account (
(NULL == reserve_pub)
? GNUNET_PQ_query_param_null ()
: GNUNET_PQ_query_param_auto_from_type (reserve_pub),
- GNUNET_PQ_query_param_string (provider_section),
+ GNUNET_PQ_query_param_string (provider_name),
GNUNET_PQ_query_param_end
};
struct GNUNET_PQ_ResultSpec rs[] = {
diff --git a/src/exchangedb/pg_insert_kyc_requirement_for_account.h
b/src/exchangedb/pg_insert_kyc_requirement_for_account.h
index 331c8ba0c..db95502fb 100644
--- a/src/exchangedb/pg_insert_kyc_requirement_for_account.h
+++ b/src/exchangedb/pg_insert_kyc_requirement_for_account.h
@@ -30,7 +30,7 @@
* Insert KYC requirement for @a h_payto account into table.
*
* @param cls closure
- * @param provider_section provider that must be checked
+ * @param provider_name provider that must be checked
* @param h_payto account that must be KYC'ed
* @param reserve_pub if the account is a reserve, its public key. Maybe NULL
* @param[out] requirement_row set to legitimization requirement row for this
check
@@ -39,7 +39,7 @@
enum GNUNET_DB_QueryStatus
TEH_PG_insert_kyc_requirement_for_account (
void *cls,
- const char *provider_section,
+ const char *provider_name,
const struct TALER_PaytoHashP *h_payto,
const struct TALER_ReservePublicKeyP *reserve_pub,
uint64_t *requirement_row);
diff --git a/src/exchangedb/pg_insert_kyc_requirement_process.c
b/src/exchangedb/pg_insert_kyc_requirement_process.c
index a20db3388..8f5468b69 100644
--- a/src/exchangedb/pg_insert_kyc_requirement_process.c
+++ b/src/exchangedb/pg_insert_kyc_requirement_process.c
@@ -30,7 +30,7 @@ enum GNUNET_DB_QueryStatus
TEH_PG_insert_kyc_requirement_process (
void *cls,
const struct TALER_PaytoHashP *h_payto,
- const char *provider_section,
+ const char *provider_name,
const char *provider_account_id,
const char *provider_legitimization_id,
uint64_t *process_row)
@@ -41,7 +41,7 @@ TEH_PG_insert_kyc_requirement_process (
struct GNUNET_PQ_QueryParam params[] = {
GNUNET_PQ_query_param_auto_from_type (h_payto),
GNUNET_PQ_query_param_absolute_time (&now),
- GNUNET_PQ_query_param_string (provider_section),
+ GNUNET_PQ_query_param_string (provider_name),
(NULL != provider_account_id)
? GNUNET_PQ_query_param_string (provider_account_id)
: GNUNET_PQ_query_param_null (),
@@ -61,7 +61,7 @@ TEH_PG_insert_kyc_requirement_process (
"INSERT INTO legitimization_processes"
" (h_payto"
" ,start_time"
- " ,provider_section"
+ " ,provider_name"
" ,provider_user_id"
" ,provider_legitimization_id"
" ) VALUES "
diff --git a/src/exchangedb/pg_insert_kyc_requirement_process.h
b/src/exchangedb/pg_insert_kyc_requirement_process.h
index df21db8cd..30e15555d 100644
--- a/src/exchangedb/pg_insert_kyc_requirement_process.h
+++ b/src/exchangedb/pg_insert_kyc_requirement_process.h
@@ -31,7 +31,7 @@
*
* @param cls closure
* @param h_payto account that must be KYC'ed
- * @param provider_section provider that must be checked
+ * @param provider_name provider that must be checked
* @param provider_account_id provider account ID
* @param provider_legitimization_id provider legitimization ID
* @param[out] process_row row the process is stored under
@@ -41,7 +41,7 @@ enum GNUNET_DB_QueryStatus
TEH_PG_insert_kyc_requirement_process (
void *cls,
const struct TALER_PaytoHashP *h_payto,
- const char *provider_section,
+ const char *provider_name,
const char *provider_account_id,
const char *provider_legitimization_id,
uint64_t *process_row);
diff --git a/src/exchangedb/pg_insert_records_by_table.c
b/src/exchangedb/pg_insert_records_by_table.c
index 963246191..3c3e0f657 100644
--- a/src/exchangedb/pg_insert_records_by_table.c
+++ b/src/exchangedb/pg_insert_records_by_table.c
@@ -307,7 +307,7 @@ irbt_cb_table_legitimization_processes (
GNUNET_PQ_query_param_uint32 (
&td->details.legitimization_processes.measure_index),
GNUNET_PQ_query_param_string (
- td->details.legitimization_processes.provider_section),
+ td->details.legitimization_processes.provider_name),
GNUNET_PQ_query_param_string (
td->details.legitimization_processes.provider_user_id),
GNUNET_PQ_query_param_string (
@@ -326,7 +326,7 @@ irbt_cb_table_legitimization_processes (
",expiration_time"
",legitimization_measure_serial_id"
",measure_index"
- ",provider_section"
+ ",provider_name"
",provider_user_id"
",provider_legitimization_id"
",redirect_url"
diff --git a/src/exchangedb/pg_iterate_kyc_reference.c
b/src/exchangedb/pg_iterate_kyc_reference.c
index 772c51e2c..ee67eb13c 100644
--- a/src/exchangedb/pg_iterate_kyc_reference.c
+++ b/src/exchangedb/pg_iterate_kyc_reference.c
@@ -65,12 +65,12 @@ iterate_kyc_reference_cb (void *cls,
for (unsigned int i = 0; i<num_results; i++)
{
- char *kyc_provider_section_name;
+ char *kyc_provider_name_name;
char *provider_user_id;
char *legitimization_id;
struct GNUNET_PQ_ResultSpec rs[] = {
- GNUNET_PQ_result_spec_string ("provider_section",
- &kyc_provider_section_name),
+ GNUNET_PQ_result_spec_string ("provider_name",
+ &kyc_provider_name_name),
GNUNET_PQ_result_spec_string ("provider_user_id",
&provider_user_id),
GNUNET_PQ_result_spec_string ("provider_legitimization_id",
@@ -87,7 +87,7 @@ iterate_kyc_reference_cb (void *cls,
return;
}
ic->cb (ic->cb_cls,
- kyc_provider_section_name,
+ kyc_provider_name_name,
provider_user_id,
legitimization_id);
GNUNET_PQ_cleanup_result (rs);
@@ -116,7 +116,7 @@ TEH_PG_iterate_kyc_reference (
PREPARE (pg,
"iterate_kyc_reference",
"SELECT "
- " provider_section"
+ " provider_name"
",provider_user_id"
",provider_legitimization_id"
" FROM legitimization_processes"
diff --git a/src/exchangedb/pg_kyc_provider_account_lookup.c
b/src/exchangedb/pg_kyc_provider_account_lookup.c
index f9db2cbc1..847f8e713 100644
--- a/src/exchangedb/pg_kyc_provider_account_lookup.c
+++ b/src/exchangedb/pg_kyc_provider_account_lookup.c
@@ -29,7 +29,7 @@
enum GNUNET_DB_QueryStatus
TEH_PG_kyc_provider_account_lookup (
void *cls,
- const char *provider_section,
+ const char *provider_name,
const char *provider_legitimization_id,
struct TALER_PaytoHashP *h_payto,
uint64_t *process_row)
@@ -37,7 +37,7 @@ TEH_PG_kyc_provider_account_lookup (
struct PostgresClosure *pg = cls;
struct GNUNET_PQ_QueryParam params[] = {
GNUNET_PQ_query_param_string (provider_legitimization_id),
- GNUNET_PQ_query_param_string (provider_section),
+ GNUNET_PQ_query_param_string (provider_name),
GNUNET_PQ_query_param_end
};
struct GNUNET_PQ_ResultSpec rs[] = {
@@ -55,7 +55,7 @@ TEH_PG_kyc_provider_account_lookup (
",legitimization_process_serial_id"
" FROM legitimization_processes"
" WHERE provider_legitimization_id=$1"
- " AND provider_section=$2;");
+ " AND provider_name=$2;");
return GNUNET_PQ_eval_prepared_singleton_select (
pg->conn,
"get_wire_target_by_legitimization_id",
diff --git a/src/exchangedb/pg_kyc_provider_account_lookup.h
b/src/exchangedb/pg_kyc_provider_account_lookup.h
index 74f90d88d..bafc42b6f 100644
--- a/src/exchangedb/pg_kyc_provider_account_lookup.h
+++ b/src/exchangedb/pg_kyc_provider_account_lookup.h
@@ -31,7 +31,7 @@
* @a h_payto by @a provider_legitimization_id.
*
* @param cls closure
- * @param provider_section
+ * @param provider_name
* @param provider_legitimization_id legi to look up
* @param[out] h_payto where to write the result
* @param[out] process_row where to write the row of the entry
@@ -40,7 +40,7 @@
enum GNUNET_DB_QueryStatus
TEH_PG_kyc_provider_account_lookup (
void *cls,
- const char *provider_section,
+ const char *provider_name,
const char *provider_legitimization_id,
struct TALER_PaytoHashP *h_payto,
uint64_t *process_row);
diff --git a/src/exchangedb/pg_lookup_kyc_process_by_account.c
b/src/exchangedb/pg_lookup_kyc_process_by_account.c
index b077661c5..2002d3cb3 100644
--- a/src/exchangedb/pg_lookup_kyc_process_by_account.c
+++ b/src/exchangedb/pg_lookup_kyc_process_by_account.c
@@ -29,7 +29,7 @@
enum GNUNET_DB_QueryStatus
TEH_PG_lookup_kyc_process_by_account (
void *cls,
- const char *provider_section,
+ const char *provider_name,
const struct TALER_PaytoHashP *h_payto,
uint64_t *process_row,
struct GNUNET_TIME_Absolute *expiration,
@@ -39,7 +39,7 @@ TEH_PG_lookup_kyc_process_by_account (
struct PostgresClosure *pg = cls;
struct GNUNET_PQ_QueryParam params[] = {
GNUNET_PQ_query_param_auto_from_type (h_payto),
- GNUNET_PQ_query_param_string (provider_section),
+ GNUNET_PQ_query_param_string (provider_name),
GNUNET_PQ_query_param_end
};
struct GNUNET_PQ_ResultSpec rs[] = {
@@ -69,7 +69,7 @@ TEH_PG_lookup_kyc_process_by_account (
",provider_legitimization_id"
" FROM legitimization_processes"
" WHERE h_payto=$1"
- " AND provider_section=$2"
+ " AND provider_name=$2"
" AND NOT finished"
/* Note: there *should* only be one unfinished
match, so this is just to be safe(r): */
diff --git a/src/exchangedb/pg_lookup_kyc_process_by_account.h
b/src/exchangedb/pg_lookup_kyc_process_by_account.h
index 0300b498c..1068380e9 100644
--- a/src/exchangedb/pg_lookup_kyc_process_by_account.h
+++ b/src/exchangedb/pg_lookup_kyc_process_by_account.h
@@ -30,7 +30,7 @@
* Lookup KYC provider meta data.
*
* @param cls closure
- * @param provider_section provider that must be checked
+ * @param provider_name provider that must be checked
* @param h_payto account that must be KYC'ed
* @param[out] process_row row with the legitimization data
* @param[out] expiration how long is this KYC check set to be valid (in the
past if invalid)
@@ -41,7 +41,7 @@
enum GNUNET_DB_QueryStatus
TEH_PG_lookup_kyc_process_by_account (
void *cls,
- const char *provider_section,
+ const char *provider_name,
const struct TALER_PaytoHashP *h_payto,
uint64_t *process_row,
struct GNUNET_TIME_Absolute *expiration,
diff --git a/src/exchangedb/pg_lookup_records_by_table.c
b/src/exchangedb/pg_lookup_records_by_table.c
index 1fc56eea4..1e57a950d 100644
--- a/src/exchangedb/pg_lookup_records_by_table.c
+++ b/src/exchangedb/pg_lookup_records_by_table.c
@@ -2788,8 +2788,8 @@ lrbt_cb_table_legitimization_processes (void *cls,
"measure_index",
&td.details.legitimization_processes.measure_index),
GNUNET_PQ_result_spec_string (
- "provider_section",
- &td.details.legitimization_processes.provider_section),
+ "provider_name",
+ &td.details.legitimization_processes.provider_name),
GNUNET_PQ_result_spec_string (
"provider_user_id",
&td.details.legitimization_processes.provider_user_id),
@@ -3660,7 +3660,7 @@ TEH_PG_lookup_records_by_table (void *cls,
",expiration_time"
",legitimization_measure_serial_id"
",measure_index"
- ",provider_section"
+ ",provider_name"
",provider_user_id"
",provider_legitimization_id"
",redirect_url"
diff --git a/src/exchangedb/pg_update_kyc_process_by_row.c
b/src/exchangedb/pg_update_kyc_process_by_row.c
index c339436a8..448ac2154 100644
--- a/src/exchangedb/pg_update_kyc_process_by_row.c
+++ b/src/exchangedb/pg_update_kyc_process_by_row.c
@@ -30,7 +30,7 @@ enum GNUNET_DB_QueryStatus
TEH_PG_update_kyc_process_by_row (
void *cls,
uint64_t process_row,
- const char *provider_section,
+ const char *provider_name,
const struct TALER_PaytoHashP *h_payto,
const char *provider_account_id,
const char *provider_legitimization_id,
@@ -40,7 +40,7 @@ TEH_PG_update_kyc_process_by_row (
struct PostgresClosure *pg = cls;
struct GNUNET_PQ_QueryParam params[] = {
GNUNET_PQ_query_param_uint64 (&process_row),
- GNUNET_PQ_query_param_string (provider_section),
+ GNUNET_PQ_query_param_string (provider_name),
GNUNET_PQ_query_param_auto_from_type (h_payto),
(NULL != provider_account_id)
? GNUNET_PQ_query_param_string (provider_account_id)
@@ -59,7 +59,7 @@ TEH_PG_update_kyc_process_by_row (
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"Updating KYC data for %llu (%s)\n",
(unsigned long long) process_row,
- provider_section);
+ provider_name);
PREPARE (pg,
"update_legitimization_process",
"UPDATE legitimization_processes"
@@ -70,7 +70,7 @@ TEH_PG_update_kyc_process_by_row (
" WHERE"
" h_payto=$3"
" AND legitimization_process_serial_id=$1"
- " AND provider_section=$2;");
+ " AND provider_name=$2;");
qs = GNUNET_PQ_eval_prepared_non_select (
pg->conn,
"update_legitimization_process",
diff --git a/src/exchangedb/pg_update_kyc_process_by_row.h
b/src/exchangedb/pg_update_kyc_process_by_row.h
index 7ef5285e9..150e6e8c3 100644
--- a/src/exchangedb/pg_update_kyc_process_by_row.h
+++ b/src/exchangedb/pg_update_kyc_process_by_row.h
@@ -31,7 +31,7 @@
*
* @param cls closure
* @param process_row row to select by
- * @param provider_section provider that must be checked (technically
redundant)
+ * @param provider_name provider that must be checked (technically redundant)
* @param h_payto account that must be KYC'ed (helps access by shard,
otherwise also redundant)
* @param provider_account_id provider account ID
* @param provider_legitimization_id provider legitimization ID
@@ -43,7 +43,7 @@ enum GNUNET_DB_QueryStatus
TEH_PG_update_kyc_process_by_row (
void *cls,
uint64_t process_row,
- const char *provider_section,
+ const char *provider_name,
const struct TALER_PaytoHashP *h_payto,
const char *provider_account_id,
const char *provider_legitimization_id,
diff --git a/src/include/taler_exchangedb_plugin.h
b/src/include/taler_exchangedb_plugin.h
index 2f329ff60..10cda44d1 100644
--- a/src/include/taler_exchangedb_plugin.h
+++ b/src/include/taler_exchangedb_plugin.h
@@ -411,7 +411,7 @@ struct TALER_EXCHANGEDB_TableData
struct GNUNET_TIME_Timestamp expiration_time;
uint64_t legitimization_measure_serial_id;
uint32_t measure_index;
- char *provider_section;
+ char *provider_name;
char *provider_user_id;
char *provider_legitimization_id;
char *redirect_url;
@@ -1117,7 +1117,7 @@ typedef void
* (and that have not yet expired).
*
* @param cls closure
- * @param kyc_provider_section_name configuration section
+ * @param kyc_provider_name name of the provider
* of the respective KYC process
* @param provider_user_id UID at a provider (can be NULL)
* @param legi_id legitimization process ID (can be NULL)
@@ -1125,7 +1125,7 @@ typedef void
typedef void
(*TALER_EXCHANGEDB_LegitimizationProcessCallback)(
void *cls,
- const char *kyc_provider_section_name,
+ const char *kyc_provider_name,
const char *provider_user_id,
const char *legi_id);
@@ -2638,7 +2638,7 @@ typedef void
*
* @param cls closure
* @param h_payto account for which the attribute data is stored
- * @param provider_section provider that must be checked
+ * @param provider_name provider that must be checked
* @param collection_time when was the data collected
* @param expiration_time when does the data expire
* @param enc_attributes_size number of bytes in @a enc_attributes
@@ -2648,7 +2648,7 @@ typedef void
(*TALER_EXCHANGEDB_AttributeCallback)(
void *cls,
const struct TALER_PaytoHashP *h_payto,
- const char *provider_section,
+ const char *provider_name,
struct GNUNET_TIME_Timestamp collection_time,
struct GNUNET_TIME_Timestamp expiration_time,
size_t enc_attributes_size,
@@ -6742,7 +6742,7 @@ struct TALER_EXCHANGEDB_Plugin
*
* @param cls closure
* @param h_payto account that must be KYC'ed
- * @param provider_section provider that must be checked
+ * @param provider_name provider that must be checked
* @param provider_account_id provider account ID
* @param provider_legitimization_id provider legitimization ID
* @param[out] process_row row the process is stored under
@@ -6752,7 +6752,7 @@ struct TALER_EXCHANGEDB_Plugin
(*insert_kyc_requirement_process)(
void *cls,
const struct TALER_PaytoHashP *h_payto,
- const char *provider_section,
+ const char *provider_name,
const char *provider_account_id,
const char *provider_legitimization_id,
uint64_t *process_row);
@@ -6763,7 +6763,7 @@ struct TALER_EXCHANGEDB_Plugin
*
* @param cls closure
* @param h_payto account that must be KYC'ed
- * @param provider_section provider that must be checked
+ * @param provider_name provider that must be checked
* @param[out] redirect_url set to redirect URL for the process
* @return database transaction status
*/
@@ -6771,7 +6771,7 @@ struct TALER_EXCHANGEDB_Plugin
(*get_pending_kyc_requirement_process)(
void *cls,
const struct TALER_PaytoHashP *h_payto,
- const char *provider_section,
+ const char *provider_name,
char **redirect_url);
@@ -6781,7 +6781,7 @@ struct TALER_EXCHANGEDB_Plugin
*
* @param cls closure
* @param process_row row to select by
- * @param provider_section provider that must be checked (technically
redundant)
+ * @param provider_name provider that must be checked (technically redundant)
* @param h_payto account that must be KYC'ed (helps access by shard,
otherwise also redundant)
* @param provider_account_id provider account ID
* @param provider_legitimization_id provider legitimization ID
@@ -6793,7 +6793,7 @@ struct TALER_EXCHANGEDB_Plugin
(*update_kyc_process_by_row)(
void *cls,
uint64_t process_row,
- const char *provider_section,
+ const char *provider_name,
const struct TALER_PaytoHashP *h_payto,
const char *provider_account_id,
const char *provider_legitimization_id,
@@ -6825,7 +6825,7 @@ struct TALER_EXCHANGEDB_Plugin
* Lookup KYC process meta data.
*
* @param cls closure
- * @param provider_section provider that must be checked
+ * @param provider_name provider that must be checked
* @param h_payto account that must be KYC'ed
* @param[out] process_row set to row with the legitimization data
* @param[out] expiration how long is this KYC check set to be valid (in the
past if invalid)
@@ -6836,7 +6836,7 @@ struct TALER_EXCHANGEDB_Plugin
enum GNUNET_DB_QueryStatus
(*lookup_kyc_process_by_account)(
void *cls,
- const char *provider_section,
+ const char *provider_name,
const struct TALER_PaytoHashP *h_payto,
uint64_t *process_row,
struct GNUNET_TIME_Absolute *expiration,
@@ -6849,7 +6849,7 @@ struct TALER_EXCHANGEDB_Plugin
* @a h_payto by @a provider_legitimization_id.
*
* @param cls closure
- * @param provider_section
+ * @param provider_name
* @param provider_legitimization_id legi to look up
* @param[out] h_payto where to write the result
* @param[out] process_row identifies the legitimization process on our end
@@ -6858,7 +6858,7 @@ struct TALER_EXCHANGEDB_Plugin
enum GNUNET_DB_QueryStatus
(*kyc_provider_account_lookup)(
void *cls,
- const char *provider_section,
+ const char *provider_name,
const char *provider_legitimization_id,
struct TALER_PaytoHashP *h_payto,
uint64_t *process_row);
@@ -6965,6 +6965,7 @@ struct TALER_EXCHANGEDB_Plugin
* @param cls closure
* @param process_row KYC process row to update
* @param h_payto account for which the attribute data is stored
+ * @param provider_name name of the provider that collected the data
* @param provider_account_id provider account ID
* @param provider_legitimization_id provider legitimization ID
* @param birthday birthdate of user, in days after 1990, or 0 if unknown or
definitively adult
@@ -6982,6 +6983,7 @@ struct TALER_EXCHANGEDB_Plugin
const struct TALER_PaytoHashP *h_payto,
uint32_t birthday,
struct GNUNET_TIME_Timestamp collection_time,
+ const char *provider_name,
const char *provider_account_id,
const char *provider_legitimization_id,
struct GNUNET_TIME_Absolute expiration_time,
@@ -7186,7 +7188,7 @@ struct TALER_EXCHANGEDB_Plugin
* @param cls closure
* @param process_row KYC process row to update
* @param h_payto account for which the attribute data is stored
- * @param provider_section provider that must be checked
+ * @param provider_name provider that must be checked
* @param provider_account_id provider account ID
* @param provider_legitimization_id provider legitimization ID
* @return database transaction status
@@ -7196,7 +7198,7 @@ struct TALER_EXCHANGEDB_Plugin
void *cls,
uint64_t process_row,
const struct TALER_PaytoHashP *h_payto,
- const char *provider_section,
+ const char *provider_name,
const char *provider_account_id,
const char *provider_legitimization_id);
diff --git a/src/include/taler_kyclogic_lib.h b/src/include/taler_kyclogic_lib.h
index 7308a29d5..373e6d69b 100644
--- a/src/include/taler_kyclogic_lib.h
+++ b/src/include/taler_kyclogic_lib.h
@@ -289,7 +289,7 @@ TALER_KYCLOGIC_requirements_to_logic (
/**
* Obtain the provider logic for a given @a name.
*
- * @param name name of the logic or provider section
+ * @param name name of the logic or provider
* @param[out] plugin set to the KYC logic API
* @param[out] pd set to the specific operation context
* @param[out] configuration_section set to the name of the KYC logic
configuration section
diff --git a/src/include/taler_kyclogic_plugin.h
b/src/include/taler_kyclogic_plugin.h
index a9a4dd97a..0018086b6 100644
--- a/src/include/taler_kyclogic_plugin.h
+++ b/src/include/taler_kyclogic_plugin.h
@@ -188,7 +188,7 @@ typedef void
* @param cls closure
* @param process_row legitimization process the webhook was about
* @param account_id account the webhook was about
- * @param provider_section name of the configuration section of the logic that
was run
+ * @param provider_name name of the provider that was run
* @param provider_user_id set to user ID at the provider, or NULL if not
supported or unknown
* @param provider_legitimization_id set to legitimization process ID at the
provider, or NULL if not supported or unknown
* @param status KYC status
@@ -202,7 +202,7 @@ typedef void
void *cls,
uint64_t process_row,
const struct TALER_PaytoHashP *account_id,
- const char *provider_section,
+ const char *provider_name,
const char *provider_user_id,
const char *provider_legitimization_id,
enum TALER_KYCLOGIC_KycStatus status,
@@ -218,7 +218,7 @@ typedef void
* of the exchange's database plugin.
*
* @param cls closure
- * @param provider_section
+ * @param provider_name
* @param provider_legitimization_id legi to look up
* @param[out] h_payto where to write the result
* @param[out] process_row where to write the row of the entry
@@ -227,7 +227,7 @@ typedef void
typedef enum GNUNET_DB_QueryStatus
(*TALER_KYCLOGIC_ProviderLookupCallback)(
void *cls,
- const char *provider_section,
+ const char *provider_name,
const char *provider_legitimization_id,
struct TALER_PaytoHashP *h_payto,
uint64_t *process_row);
diff --git a/src/kyclogic/kyclogic_api.c b/src/kyclogic/kyclogic_api.c
index d2eb23b3d..bd08de3d5 100644
--- a/src/kyclogic/kyclogic_api.c
+++ b/src/kyclogic/kyclogic_api.c
@@ -40,10 +40,15 @@ struct TALER_KYCLOGIC_KycProvider
struct TALER_Amount cost;
/**
- * Name of the provider (configuration section name).
+ * Name of the provider.
*/
char *provider_name;
+ /**
+ * Name of the configuration section of the provider.
+ */
+ char *provider_section_name;
+
/**
* Name of a program to run to convert output of the
* plugin into the desired set of attributes.
@@ -781,6 +786,7 @@ add_provider (const struct GNUNET_CONFIGURATION_Handle *cfg,
kp->cost = cost;
kp->provider_name
= GNUNET_strdup (§ion[strlen ("kyc-provider-")]);
+ kp->provider_section_name = GNUNET_strdup (section);
kp->converter_name = converter;
kp->logic = lp;
kp->pd = pd;
@@ -1456,6 +1462,7 @@ TALER_KYCLOGIC_kyc_done (void)
kp->logic->unload_configuration (kp->pd);
GNUNET_free (kp->provider_name);
+ GNUNET_free (kp->provider_section_name);
GNUNET_free (kp->converter_name);
GNUNET_free (kp);
}
@@ -1694,20 +1701,19 @@ TALER_KYCLOGIC_lookup_logic (
const char *name,
struct TALER_KYCLOGIC_Plugin **plugin,
struct TALER_KYCLOGIC_ProviderDetails **pd,
- const char **provider_section)
+ const char **provider_name)
{
-#if FIXME
for (unsigned int i = 0; i<num_kyc_providers; i++)
{
struct TALER_KYCLOGIC_KycProvider *kp = kyc_providers[i];
if (0 !=
strcasecmp (name,
- kp->provider_section_name))
+ kp->provider_name))
continue;
*plugin = kp->logic;
*pd = kp->pd;
- *provider_section = kp->provider_section_name;
+ *provider_section = kp->provider_name;
return GNUNET_OK;
}
for (unsigned int i = 0; i<num_kyc_logics; i++)
@@ -1726,9 +1732,6 @@ TALER_KYCLOGIC_lookup_logic (
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"Provider `%s' unknown\n",
name);
-#else
- GNUNET_break (0);
-#endif
return GNUNET_SYSERR;
}
@@ -1885,161 +1888,6 @@ TALER_KYCLOGIC_kyc_test_required (
/* end of kyclogic_api.c */
#if 0
-// FIXME from here...
-
-
-/**
- * Closure for the #eval_trigger().
- */
-struct ThresholdTestContext
-{
- /**
- * Total amount so far.
- */
- struct TALER_Amount total;
-
- /**
- * Trigger event to evaluate triggers of.
- */
- enum TALER_KYCLOGIC_KycTriggerEvent event;
-
- /**
- * Offset in the triggers array where we need to start
- * checking for triggers. All trigges below this
- * offset were already hit.
- */
- unsigned int start;
-
- /**
- * Array of checks needed so far.
- */
- struct TALER_KYCLOGIC_KycCheck **needed;
-
- /**
- * Pointer to number of entries used in @a needed.
- */
- unsigned int *needed_cnt;
-
- /**
- * Has @e total been initialized yet?
- */
- bool have_total;
-};
-
-
-/**
- * Function called on each @a amount that was found to
- * be relevant for a KYC check.
- *
- * @param cls closure to allow the KYC module to
- * total up amounts and evaluate rules
- * @param amount encountered transaction amount
- * @param date when was the amount encountered
- * @return #GNUNET_OK to continue to iterate,
- * #GNUNET_NO to abort iteration
- * #GNUNET_SYSERR on internal error (also abort itaration)
- */
-static enum GNUNET_GenericReturnValue
-eval_trigger (void *cls,
- const struct TALER_Amount *amount,
- struct GNUNET_TIME_Absolute date)
-{
- struct ThresholdTestContext *ttc = cls;
- struct GNUNET_TIME_Relative duration;
- bool bump = true;
-
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "KYC check with new amount %s\n",
- TALER_amount2s (amount));
- duration = GNUNET_TIME_absolute_get_duration (date);
- if (ttc->have_total)
- {
- if (0 >
- TALER_amount_add (&ttc->total,
- &ttc->total,
- amount))
- {
- GNUNET_break (0);
- return GNUNET_SYSERR;
- }
- }
- else
- {
- ttc->total = *amount;
- ttc->have_total = true;
- }
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "KYC check: new total is %s\n",
- TALER_amount2s (&ttc->total));
- for (unsigned int i = ttc->start; i<num_kyc_triggers; i++)
- {
- const struct TALER_KYCLOGIC_KycTrigger *kt = kyc_triggers[i];
-
- if (ttc->event != kt->trigger)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "KYC check #%u: trigger type does not match\n",
- i);
- continue;
- }
- duration = GNUNET_TIME_relative_max (duration,
- kt->timeframe);
- if (GNUNET_TIME_relative_cmp (kt->timeframe,
- >,
- duration))
- {
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "KYC check #%u: amount is beyond time limit\n",
- i);
- if (bump)
- ttc->start = i;
- return GNUNET_OK;
- }
- if (-1 ==
- TALER_amount_cmp (&ttc->total,
- &kt->threshold))
- {
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "KYC check #%u: amount is below threshold\n",
- i);
- if (bump)
- ttc->start = i;
- bump = false;
- continue; /* amount too low to trigger */
- }
- /* add check to list of required checks, unless
- already present... */
- for (unsigned int j = 0; j<kt->num_checks; j++)
- {
- struct TALER_KYCLOGIC_KycCheck *rc = kt->required_checks[j];
- bool found = false;
-
- for (unsigned int k = 0; k<*ttc->needed_cnt; k++)
- if (ttc->needed[k] == rc)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "KYC rule #%u already listed\n",
- j);
- found = true;
- break;
- }
- if (! found)
- {
- ttc->needed[*ttc->needed_cnt] = rc;
- (*ttc->needed_cnt)++;
- }
- }
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "KYC check #%u (%s) is applicable, %u checks needed so far\n",
- i,
- ttc->needed[(*ttc->needed_cnt) - 1]->name,
- *ttc->needed_cnt);
- }
- if (bump)
- return GNUNET_NO; /* we hit all possible triggers! */
- return GNUNET_OK;
-}
-
void
TALER_KYCLOGIC_lookup_checks (const char *section_name,
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-exchange] 74/124: enable kyc-info endpoint, (continued)
- [taler-exchange] 74/124: enable kyc-info endpoint, gnunet, 2024/09/17
- [taler-exchange] 39/124: work on KycRule parsing, gnunet, 2024/09/17
- [taler-exchange] 56/124: work on select_aml_decisions, gnunet, 2024/09/17
- [taler-exchange] 65/124: finish AML measures, gnunet, 2024/09/17
- [taler-exchange] 55/124: finish request parsing for aml-decisions-get, gnunet, 2024/09/17
- [taler-exchange] 35/124: fix FTBFS, gnunet, 2024/09/17
- [taler-exchange] 37/124: DCE, gnunet, 2024/09/17
- [taler-exchange] 57/124: handle POST aml /decision, gnunet, 2024/09/17
- [taler-exchange] 80/124: -fix FTBFS of new kyc-start logic, gnunet, 2024/09/17
- [taler-exchange] 49/124: -implement new AML/SPA handlers, gnunet, 2024/09/17
- [taler-exchange] 34/124: store provider_name, instead of provider_section,
gnunet <=
- [taler-exchange] 63/124: complete GET /aml//measures endpoint, gnunet, 2024/09/17
- [taler-exchange] 46/124: -minor testing fixups, gnunet, 2024/09/17
- [taler-exchange] 77/124: finish kyc_start API, gnunet, 2024/09/17
- [taler-exchange] 41/124: work all over the place, gnunet, 2024/09/17
- [taler-exchange] 67/124: -fix FTBFS, gnunet, 2024/09/17
- [taler-exchange] 53/124: work on kyc-info endpoint, gnunet, 2024/09/17
- [taler-exchange] 32/124: work on taler-exchange-kyc-tester, gnunet, 2024/09/17
- [taler-exchange] 76/124: start on kyc_start API, gnunet, 2024/09/17
- [taler-exchange] 72/124: first draft for kyc-upload, gnunet, 2024/09/17
- [taler-exchange] 60/124: implement TALER_EXCHANGE_lookup_kyc_attributes, gnunet, 2024/09/17