gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-docs] branch master updated: more DD23 updates


From: gnunet
Subject: [taler-docs] branch master updated: more DD23 updates
Date: Mon, 22 Apr 2024 21:20:56 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository docs.

The following commit(s) were added to refs/heads/master by this push:
     new 8076c1f7 more DD23 updates
8076c1f7 is described below

commit 8076c1f79719d2eac5c28afd165deb9ccd988c90
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Mon Apr 22 21:16:17 2024 +0200

    more DD23 updates
---
 design-documents/023-taler-kyc.rst | 79 +++++++++++++++++++-------------------
 1 file changed, 39 insertions(+), 40 deletions(-)

diff --git a/design-documents/023-taler-kyc.rst 
b/design-documents/023-taler-kyc.rst
index 6b2629c4..8b9b6054 100644
--- a/design-documents/023-taler-kyc.rst
+++ b/design-documents/023-taler-kyc.rst
@@ -1713,20 +1713,19 @@ on GET ``/deposits/`` with the respective 
legitimization requirement row.
 
   CREATE TABLE wire_targets
     (wire_target_serial_id BIGSERIAL UNIQUE
-    ,h_payto BYTEA NOT NULL CHECK (LENGTH(h_payto)=64),
-    ,target_token BYTEA UNIQUE CHECK (LENGTH(target_token)=32)
-    ,target_pub BYTEA CHECK (LENGTH(target_pub)=32)
+    ,wire_target_h_payto BYTEA PRIMARY KEY CHECK 
(LENGTH(wire_target_h_payto)=32),
+    ,target_token BYTEA UNIQUE CHECK (LENGTH(target_token)=32) DEFAULT 
gen_random_bytes(32)
+    ,target_pub BYTEA CHECK (LENGTH(target_pub)=32) DEFAULT NULL
     ,payto_uri STRING NOT NULL
-    ,PRIMARY KEY (h_payto,target_pub)
     )
-    PARTITION BY HASH (h_payto);
+    PARTITION BY HASH (wire_target_h_payto);
 
   COMMENT ON TABLE wire_targets
     IS 'All recipients of money via the exchange';
   COMMENT ON COLUMN wire_targets.h_payto
     IS 'Unsalted hash of payto_uri';
   COMMENT ON COLUMN wire_targets.target_token
-    IS 'high-entropy random value that is used as a token to authorize access 
to the KYC process (without requiring a signature by target_priv); NULL if KYC 
is not allowed for the account (legacy)';
+    IS 'high-entropy random value that is used as a token to authorize access 
to the KYC process (without requiring a signature by target_priv)';
   COMMENT ON COLUMN wire_targets.target_pub
     IS 'Public key (reserve_pub or merchant_pub) associated with the account; 
NULL if KYC is not allowed for the account (if there was no incoming KYC wire 
transfer yet); updated, thus NOT available to the auditor';
   COMMENT ON COLUMN wire_targets.payto_uri
@@ -1737,36 +1736,36 @@ on GET ``/deposits/`` with the respective 
legitimization requirement row.
     ,target_token BYTEA NOT NULL UNIQUE CHECK (LENGTH(target_token)=32)
      REFERENCES wire_targets (target_token)
     ,start_time INT8 NOT NULL
-    ,jmeasures VARCHAR[] NOT NULL
+    ,jmeasures TEXT NOT NULL
     ,display_priority INT4 NOT NULL
     ,is_finished BOOL NOT NULL DEFAULT(FALSE)
     )
-    PARTITION BY HASH (h_payto);
+    PARTITION BY HASH (target_token);
 
-  COMMENT ON COLUMN legitimization_requirements.target_token
+  COMMENT ON COLUMN legitimization_measures.target_token
     IS 'Used to uniquely identify the account and as a symmetric access 
control mechanism for the SPA';
-  COMMENT ON COLUMN legitimization_requirements.start_time
+  COMMENT ON COLUMN legitimization_measures.start_time
     IS 'Time when the measure was triggered (by decision or rule)';
-  COMMENT ON COLUMN legitimization_requirements.jmeasures
+  COMMENT ON COLUMN legitimization_measures.jmeasures
     IS 'JSON object of type LegitimizationMeasures with KYC/AML measures for 
the account encoded';
-  COMMENT ON COLUMN legitimization_requirements.display_priority
+  COMMENT ON COLUMN legitimization_measures.display_priority
     IS 'Display priority of the rule that triggered this measure; if in the 
meantime another rule also triggers, the measure is only replaced if the new 
rule has a higher display priority';
-  COMMENT ON COLUMN legitimization_requirements.is_finished
+  COMMENT ON COLUMN legitimization_measures.is_finished
     IS 'Set to TRUE if this set of measures was processed; used to avoid 
indexing measures that are done';
 
   CREATE INDEX ON legitimization_measures (target_token)
-    WHERE NOT finished;
+    WHERE NOT is_finished;
 
   CREATE TABLE legitimization_outcomes
     (outcome_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY
     ,h_payto BYTEA CHECK (LENGTH(h_payto)=32)
-     REFERENCES wire_targets (h_payto)
+     REFERENCES wire_targets (wire_target_h_payto)
     ,decision_time INT8 NOT NULL DEFAULT(0)
     ,expiration_time INT8 NOT NULL DEFAULT(0)
     ,jproperties TEXT,
     ,to_investigate BOOL NOT NULL
     ,is_active BOOL NOT NULL DEFAULT(TRUE)
-    ,jnew_rules NOT NULL TEXT
+    ,jnew_rules TEXT NOT NULL
     )
     PARTITION BY HASH (h_payto);
 
@@ -1777,7 +1776,7 @@ on GET ``/deposits/`` with the respective legitimization 
requirement row.
   COMMENT ON COLUMN legitimization_outcomes.decision_time
     IS 'when was this outcome decided';
   COMMENT ON COLUMN legitimization_outcomes.expiration_time
-    IS 'time when the decision expires and the expiration new_rules should be 
applied';
+    IS 'time when the decision expires and the expiration jnew_rules should be 
applied';
   COMMENT ON COLUMN legitimization_outcomes.jproperties
     IS 'JSON object of type AccountProperties, such as PEP status, business 
domain, risk assessment, etc.';
   COMMENT ON COLUMN legitimization_outcomes.to_investigate
@@ -1791,15 +1790,15 @@ on GET ``/deposits/`` with the respective 
legitimization requirement row.
     ON legitimization_outcomes(h_payto)
     WHERE is_active;
 
-  CREATE TABLE kyc_setups
-    (kyc_setup_serial_id BIGSERIAL UNIQUE
+  CREATE TABLE legitimization_processes
+    (legitimization_process_serial_id BIGSERIAL UNIQUE
     ,h_payto BYTEA NOT NULL CHECK (LENGTH(h_payto)=64)
-     REFERENCES wire_targets (h_payto)
+     REFERENCES wire_targets (wire_target_h_payto)
     ,start_time INT8 NOT NULL
     ,expiration_time INT8 NOT NULL DEFAULT (0)
     ,legitimization_measure_serial_id BIGINT
      REFERENCES legitimization_measures (legitimization_measure_serial_id)
-    ,measure_index INT8
+    ,measure_index INT4
     ,provider_section VARCHAR NOT NULL
     ,provider_user_id VARCHAR DEFAULT NULL
     ,provider_legitimization_id VARCHAR DEFAULT NULL
@@ -1808,35 +1807,35 @@ on GET ``/deposits/`` with the respective 
legitimization requirement row.
     )
     PARTITION BY HASH (h_payto);
 
-  COMMENT ON TABLE kyc_setups
+  COMMENT ON TABLE legitimization_processes
     IS 'here we track KYC processes we initiated with external providers; the 
main reason is so that we do not initiate a second process when an equivalent 
one is still active; note that h_payto, provider_section, jcontext must match 
and the process must not be finished or expired for an existing redirect_url to 
be re-used; given that clients may voluntarily initiate KYC processes, there 
may not always be a legitimization_measure that triggered the setup';
-  COMMENT ON COLUMN kyc_setups.h_payto
+  COMMENT ON COLUMN legitimization_processes.h_payto
     IS 'foreign key linking the entry to the wire_targets table, NOT a primary 
key (multiple KYC setups are possible per wire target)';
-  COMMENT ON COLUMN kyc_setups.start_time
+  COMMENT ON COLUMN legitimization_processes.start_time
     IS 'when was the legitimization process initiated';
-  COMMENT ON COLUMN kyc_setups.expiration_time
+  COMMENT ON COLUMN legitimization_processes.expiration_time
     IS 'when does the process expire (and needs to be manually set up again)';
-  COMMENT ON COLUMN kyc_setups.measure_index
+  COMMENT ON COLUMN legitimization_processes.measure_index
     IS 'index of the measure in legitimization_measures that was selected for 
this KYC setup; NULL if legitimization_measure_serial_id is NULL; enables 
determination of the context data provided to the external process';
-  COMMENT ON COLUMN kyc_setups.provider_section
+  COMMENT ON COLUMN legitimization_processes.provider_section
     IS 'Configuration file section with details about this provider';
-  COMMENT ON COLUMN kyc_setups.provider_user_id
+  COMMENT ON COLUMN legitimization_processes.provider_user_id
     IS 'Identifier for the user at the provider that was used for the 
legitimization. NULL if provider is unaware.';
-  COMMENT ON COLUMN kyc_setups.provider_legitimization_id
+  COMMENT ON COLUMN legitimization_processes.provider_legitimization_id
     IS 'Identifier for the specific legitimization process at the provider. 
NULL if legitimization was not started.';
-  COMMENT ON COLUMN kyc_setups.legitimization_measure_serial_id
+  COMMENT ON COLUMN legitimization_processes.legitimization_measure_serial_id
     IS 'measure that enabled this setup, NULL if client voluntarily initiated 
the process';
-  COMMENT ON COLUMN kyc_setups.redirect_url
+  COMMENT ON COLUMN legitimization_processes.redirect_url
     IS 'Where the user should be redirected for this external KYC process';
-  COMMENT ON COLUMN kyc_setups.finished
+  COMMENT ON COLUMN legitimization_processes.finished
     IS 'set to TRUE when the specific legitimization process is finished';
 
   CREATE TABLE kyc_attributes
     (kyc_attributes_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY
     ,h_payto BYTEA PRIMARY KEY CHECK (LENGTH(h_payto)=32)
-     REFERENCES wire_targets (h_payto)
-    ,kyc_setup_serial_id INT8
-     REFERENCES kyc_setups (kyc_setup_serial_id)
+     REFERENCES wire_targets (wire_target_h_payto)
+    ,legitimization_process_serial_id INT8
+     REFERENCES legitimization_processes (legitimization_process_serial_id)
      DEFAULT NULL
     ,collection_time INT8 NOT NULL
     ,expiration_time INT8 NOT NULL
@@ -1847,8 +1846,8 @@ on GET ``/deposits/`` with the respective legitimization 
requirement row.
 
   COMMENT ON COLUMN kyc_attributes.h_payto
     IS 'identifies the account this is about';
-  COMMENT ON COLUMN kyc_attributes.kyc_setup_serial_id
-    IS 'serial ID of the KYC setup that resulted in these attributes, NULL if 
the attributes are from a form directly supplied by the account owner';
+  COMMENT ON COLUMN kyc_attributes.legitimization_process_serial_id
+    IS 'serial ID of the legitimization process that resulted in these 
attributes, NULL if the attributes are from a form directly supplied by the 
account owner via a form';
   COMMENT ON COLUMN kyc_attributes.collection_time
     IS 'when were these attributes collected';
   COMMENT ON COLUMN kyc_attributes.expiration_time
@@ -1862,7 +1861,7 @@ on GET ``/deposits/`` with the respective legitimization 
requirement row.
     (aml_history_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY
     ,h_payto BYTEA CHECK (LENGTH(h_payto)=32)
      REFERENCES wire_targets (h_payto)
-    ,legitimization_outcome INT8 NOT NULL
+    ,outcome_serial_id INT8 NOT NULL
      REFERENCES legitimization_outcomes (outcome_serial_id)
     ,justification TEXT NOT NULL
     ,decider_pub BYTEA CHECK (LENGTH(decider_pub)=32)
@@ -1870,13 +1869,13 @@ on GET ``/deposits/`` with the respective 
legitimization requirement row.
 
   COMMENT ON TABLE aml_history
     IS 'Records decisions by AML staff with the respective signature and 
free-form justification.';
-  COMMENT ON COLUMN aml_history.legitimization_outcome
+  COMMENT ON COLUMN aml_history.outcome_serial_id
     IS 'Actual outcome for the account (included in what decider_sig signs 
over)';
   COMMENT ON COLUMN aml_history.decider_sig
     IS 'Signature key of the staff member affirming the AML decision; of type 
AML_DECISION';
 
   CREATE TABLE kyc_events
-    (event_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY
+    (kyc_event_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY
     ,event_timestamp INT8 NOT NULL
     ,event_type TEXT NOT NULL);
 

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

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