gnunet-svn
[Top][All Lists]
Advanced

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

[taler-docs] branch master updated: DD50, notes and FIXMEs.


From: gnunet
Subject: [taler-docs] branch master updated: DD50, notes and FIXMEs.
Date: Mon, 09 Oct 2023 12:19:16 +0200

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

ms pushed a commit to branch master
in repository docs.

The following commit(s) were added to refs/heads/master by this push:
     new b5877926 DD50, notes and FIXMEs.
b5877926 is described below

commit b58779266ce7467a2fcaafe7e03337d9c0d262e9
Author: MS <ms@taler.net>
AuthorDate: Mon Oct 9 12:18:49 2023 +0200

    DD50, notes and FIXMEs.
---
 design-documents/050-libeufin-nexus.rst | 86 ++++++++++++++++++++-------------
 1 file changed, 52 insertions(+), 34 deletions(-)

diff --git a/design-documents/050-libeufin-nexus.rst 
b/design-documents/050-libeufin-nexus.rst
index 16d92c53..fc09888f 100644
--- a/design-documents/050-libeufin-nexus.rst
+++ b/design-documents/050-libeufin-nexus.rst
@@ -15,6 +15,10 @@ The existing Nexus design is overly complex to configure, 
develop and
 maintain.  It supports EBICS features we do not need, and lacks key features
 (like long-polling) that are absolutely needed.
 
+..
+  long-polling at the TWG is NOT NetzBon-critical, as the TWG is only offered
+  by the Bank.
+
 We also have several implementations with Nexus, Bank and Depolymerization
 subsystems, and it would be good to combine some of them.
 
@@ -56,11 +60,11 @@ Configuration file
   USER_ID = myuser
   PARTNER_ID = myorg
   SYSTEM_ID = banksys
-  ACCOUNT_NUMBER = DE1234567890 # could be an IBAN, does not have to be
+  ACCOUNT_NUMBER = DE1234567890 # could be an IBAN, does not have to be 
(FIXME: what? Maybe the alphanumeric name given by the bank?)
   BANK_PUBLIC_KEYS_FILE = enc-auth-keys.json
   CLIENT_PRIVATE_KEY_FILE = my-private-key.json
   ACCOUNT_META_DATA_FILE = ebics-meta.json
-  EBICS_DIALECT = postfinance
+  EBICS_DIALECT = postfinance # (FIXME: should this be removed and only do 
postfinance, at least for the very first version?  Also 'EBICS dialect' was 
always misleading because the variations happen at EBICS but also at the 
ISO20022 layer.)
   
   [nexus-postgres]
   CONFIG = postgres:///libeufin-nexus
@@ -117,42 +121,43 @@ JSON with:
   * bank_code
   * account_holder_name
 
-
 Database schema
 ---------------
 
-CREATE TABLE incoming_transactions
-  (incoming_transaction_id INT8 GENERATED BY DEFAULT AS IDENTITY
-  ,amount taler_amount NOT NULL
-  ,wire_transfer_subject TEXT
-  ,execution_time INT8 NOT NULL
-  ,debit_payto_uri TEXT NOT NULL
-  ,bank_transfer_id TEXT NOT NULL -- EBICS or Depolymerizer (generic)
-  ,bounced BOOL DEFAULT FALSE -- to track if we bounced it
-  );
-
-CREATE TABLE outgoing_transactions
-  (outgoing_transaction_id INT8 GENERATED BY DEFAULT AS IDENTITY
-  ,amount taler_amount NOT NULL
-  ,wire_transfer_subject TEXT
-  ,execution_time INT8 NOT NULL
-  ,credit_payto_uri TEXT NOT NULL
-  ,bank_transfer_id TEXT NOT NULL
-  );
-
-CREATE TABLE initiated_outgoing_transactions
-  (initiated_outgoing_transaction_id INT8 GENERATED BY DEFAULT AS IDENTITY -- 
used as our ID in PAIN
-  ,amount taler_amount NOT NULL
-  ,wire_transfer_subject TEXT
-  ,execution_time INT8 NOT NULL
-  ,credit_payto_uri TEXT NOT NULL
-  ,out_transaction_id INT8 REFERENCES outgoing_transactions 
(out_transaction_id) -- NULL if not initiated, set by EBICS server
-  ,initiated BOOL DEFAULT FALSE
-  ,hidden BOOL DEFAULT FALSE
-  ,client_request_uuid TEXT NOT NULL UNIQUE
-  ,failure_message TEXT
-  );
 
+.. code-block:: shell-session
+
+  CREATE TABLE incoming_transactions
+    (incoming_transaction_id INT8 GENERATED BY DEFAULT AS IDENTITY
+    ,amount taler_amount NOT NULL
+    ,wire_transfer_subject TEXT
+    ,execution_time INT8 NOT NULL
+    ,debit_payto_uri TEXT NOT NULL
+    ,bank_transfer_id TEXT NOT NULL -- EBICS or Depolymerizer (generic)
+    ,bounced BOOL DEFAULT FALSE -- to track if we bounced it
+    );
+  
+  CREATE TABLE outgoing_transactions
+    (outgoing_transaction_id INT8 GENERATED BY DEFAULT AS IDENTITY
+    ,amount taler_amount NOT NULL
+    ,wire_transfer_subject TEXT
+    ,execution_time INT8 NOT NULL
+    ,credit_payto_uri TEXT NOT NULL
+    ,bank_transfer_id TEXT NOT NULL
+    );
+  
+  CREATE TABLE initiated_outgoing_transactions
+    (initiated_outgoing_transaction_id INT8 GENERATED BY DEFAULT AS IDENTITY 
-- used as our ID in PAIN
+    ,amount taler_amount NOT NULL
+    ,wire_transfer_subject TEXT
+    ,execution_time INT8 NOT NULL
+    ,credit_payto_uri TEXT NOT NULL
+    ,out_transaction_id INT8 REFERENCES outgoing_transactions 
(out_transaction_id) -- NULL if not initiated, set by EBICS server -- 
NOTE/FIXME: this is NULL also if it is initiated; it gets non-NULL only after 
it has been fetched from the bank.
+    ,initiated BOOL DEFAULT FALSE -- FIXME: would 'submitted' here be a better 
name?  initiated==false where the table name starts with 'initiated_..' sounds 
contradictory.
+    ,hidden BOOL DEFAULT FALSE -- NOTE/FIXME: please, exaplain this.
+    ,client_request_uuid TEXT NOT NULL UNIQUE
+    ,failure_message TEXT -- NOTE: that may mix soon failures (those found at 
initiation time), or late failures (those found out along a fetch operation)
+    );
 
 nexus-ebics-setup
 -----------------
@@ -164,6 +169,12 @@ The ebics-setup tool performs the following:
     --check-full-config, also sanity-check the configuration options of the
     other subsystems.
 
+..
+  Not extremely important, but: try to imitate the 'dry run' option offered
+  by the exchange, to avoid having a big config-check upfront, and instead
+  spread the check along the execution.
+
+
   * Checks if the private keys file exists, if not creates new private keys
     with flags "not submitted".
 
@@ -251,6 +262,13 @@ nexus-httpd
   * Runs facade-specific logic, such as bouncing transactions with mal-formed
     wire transfer subjects.
 
+..
+  FIXME (the above point): moving the bouncing to nexus-fetch would save one 
DB notification,
+  as nexus-fetch is the first component that's aware of incoming payments.
+  Another advantage is to still provide bouncing in case nexus-httpd is down.
+  That is still in line with the new policy of making Nexus Taler-specific,
+  as opposed to be a generic EBICS client.
+
   * Listens to notifications from nexus-ebics-fetch to run facade-logic and
     wake-up long pollers.
 

-- 
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]