gnunet-svn
[Top][All Lists]
Advanced

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

[taler-docs] 06/36: add inbound wad tables


From: gnunet
Subject: [taler-docs] 06/36: add inbound wad tables
Date: Tue, 22 Jun 2021 19:35:02 +0200

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

grothoff pushed a commit to branch master
in repository docs.

commit 1cb61c4f8e0a1b02d9689d375c39ab4554880347
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sun May 9 14:34:50 2021 +0200

    add inbound wad tables
---
 core/api-exchange.rst                          |   5 -
 design-documents/013-peer-to-peer-payments.rst | 185 ++++++++++++++++++++++++-
 2 files changed, 178 insertions(+), 12 deletions(-)

diff --git a/core/api-exchange.rst b/core/api-exchange.rst
index a2e3257..d300025 100644
--- a/core/api-exchange.rst
+++ b/core/api-exchange.rst
@@ -2432,11 +2432,6 @@ Wallet-to-wallet transfers
 
 TODO for the spec:
 
-  * update DD13 eDB SQL: tables for incoming wads!
-  * do we need some special entry in account/reserve
-    histories for incoming WAD-transfers vs. other merges,
-    or do we re-use the existing 'merge' entry and just
-    generate it from the incoming-wad table?
   * update wire transfer API to enable WAD IDs (and while we are
     at it, should probably also write extended version to allow
     _merchants_ to query for their inbound transfers, so spec
diff --git a/design-documents/013-peer-to-peer-payments.rst 
b/design-documents/013-peer-to-peer-payments.rst
index 5e78620..eda407e 100644
--- a/design-documents/013-peer-to-peer-payments.rst
+++ b/design-documents/013-peer-to-peer-payments.rst
@@ -631,6 +631,8 @@ also be possible to keep that link only in the external KYC 
service's
 database.)
 
 
+TODO/FIXME: update the following SQL: add missing comments!
+
 
 .. sourcecode:: sql
 
@@ -664,6 +666,8 @@ database.)
   ,kyc_id TEXT NOT NULL
   ,PRIMARY KEY (reserve_uuid, kyc_date)
   );
+  COMMENT ON TABLE kyc_requests
+    IS '';
   COMMENT ON COLUMN kyc_requests.reserve_uuid
     IS 'Reserve for which the KYC request was triggered.';
   COMMENT ON COLUMN kyc_requests.reserve_sig
@@ -692,6 +696,32 @@ database.)
   ,purse_frac INT4 NOT NULL
   ,PRIMARY KEY (purse_pub)
   );
+  COMMENT ON TABLE mergers
+    IS '';
+  COMMENT ON COLUMN mergers.reserve_uuid
+    IS '';
+  COMMENT ON COLUMN mergers.purse_url
+    IS '';
+  COMMENT ON COLUMN mergers.purse_pub
+    IS '';
+  COMMENT ON COLUMN mergers.reserve_sig
+    IS '';
+  COMMENT ON COLUMN mergers.purse_sig
+    IS '';
+  COMMENT ON COLUMN mergers.merge_timestamp
+    IS '';
+  COMMENT ON COLUMN mergers.purse_expiration
+    IS '';
+  COMMENT ON COLUMN mergers.h_contract_terms
+    IS '';
+  COMMENT ON COLUMN mergers.h_wire
+    IS '';
+  COMMENT ON COLUMN mergers.purse_val
+    IS '';
+  CREATE INDEX IF NOT EXISTS mergers_reserve_uuid
+    ON mergers (reserve_uuid);
+  COMMENT ON INDEX mergers_reserve_uuid
+    IS '';
   --
   CREATE TABLE IF NOT EXISTS contracts
   (contract_serial_id BIGSERIAL UNIQUE
@@ -700,13 +730,31 @@ database.)
   ,e_contract BYTEA NOT NULL,
   ,PRIMARY KEY (purse_pub)
   );
+  COMMENT ON TABLE contracts
+    IS '';
+  COMMENT ON COLUMN contracts.purse_pub
+    IS '';
+  COMMENT ON COLUMN contracts.pub_ckey
+    IS '';
+  COMMENT ON COLUMN contracts.e_contract
+    IS '';
   --
   CREATE TABLE IF NOT EXISTS history_requests
   (reserve_uuid INT8 NOT NULL REFERENCES reserves(reserve_uuid) ON DELETE 
CASCADE,
   ,request_timestamp INT8 NOT NULL
   ,reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64))
+  ,history_fee_val INT8 NOT NULL
+  ,history_fee_frac INT4 NOT NULL
   ,PRIMARY KEY (reserve_uuid,request_timestamp)
   );
+  COMMENT ON TABLE history_requests
+    IS '';
+  COMMENT ON COLUMN history_requests.request_timestamp
+    IS '';
+  COMMENT ON COLUMN history_requests.reserve_sig
+    IS '';
+  COMMENT ON COLUMN history_requests.history_fee_val
+    IS '';
   --
   CREATE TABLE IF NOT EXISTS close_requests
   (reserve_uuid INT8 NOT NULL REFERENCES reserves(reserve_uuid) ON DELETE 
CASCADE,
@@ -716,6 +764,14 @@ database.)
   ,close_frac INT4 NOT NULL
   ,PRIMARY KEY (reserve_uuid,close_timestamp)
   );
+  COMMENT ON TABLE close_requests
+    IS '';
+  COMMENT ON COLUMN close_requests.close_timestamp
+    IS '';
+  COMMENT ON COLUMN close_requests.reserve_sig
+    IS '';
+  COMMENT ON COLUMN close_requests.close_val
+    IS '';
   --
   CREATE TABLE IF NOT EXISTS purse_deposits
   (purse_deposit_serial_id BIGSERIAL UNIQUE
@@ -727,20 +783,104 @@ database.)
   ,coin_sig BYTEA NOT NULL CHECK(LENGTH(coin_sig)=64)
   ,PRIMARY KEY (purse_pub,coin_pub)
   );
+  COMMENT ON TABLE purse_deposits
+    IS '';
+  COMMENT ON COLUMN purse_deposits.purse_pub
+    IS '';
+  COMMENT ON COLUMN purse_deposits.purse_expiration
+    IS '';
+  COMMENT ON COLUMN purse_deposits.coin_pub
+    IS '';
+  COMMENT ON COLUMN purse_deposits.amount_with_fee_val
+    IS '';
+  COMMENT ON COLUMN purse_deposits.coin_sig
+    IS '';
   --
-  CREATE TABLE IF NOT EXISTS wads
-  (wad_serial_id BIGSERIAL UNIQUE
+  CREATE TABLE IF NOT EXISTS wads_out
+  (wad_out_serial_id BIGSERIAL UNIQUE
   ,wad_id BYTEA PRIMARY KEY CHECK (LENGTH(wad_id)=24)
-  ,exchange_url TEXT NOT NULL
+  ,target_exchange_url TEXT NOT NULL
   ,amount_val INT8 NOT NULL
   ,amount_frac INT4 NOT NULL
   ,execution_time INT8 NOT NULL
   ,UNIQUE (exchange_url, execution_time)
   );
+  COMMENT ON TABLE wads_out
+    IS '';
+  COMMENT ON COLUMN wads_out.wad_id
+    IS '';
+  COMMENT ON COLUMN wads_out.target_exchange_url
+    IS '';
+  COMMENT ON COLUMN wads_out.amount_val
+    IS '';
+  COMMENT ON COLUMN wads_out.execution_time
+    IS '';
+  --
+  CREATE TABLE IF NOT EXISTS wad_out_entries
+  (wad_out_entry_serial_id BIGSERIAL UNIQUE
+  ,wad_out_serial_id INT8 REFERENCES wads_out (wad_out_serial_id) ON DELETE 
CASCADE
+  ,reserve_pub BYTEA NOT NULL CHECK(LENGTH(reserve_pub)=32)
+  ,purse_pub BYTEA PRIMARY KEY CHECK(LENGTH(purse_pub)=32)
+  ,h_contract BYTEA NOT NULL CHECK(LENGTH(h_contract)=64)
+  ,purse_expiration INT8 NOT NULL
+  ,merge_timestamp INT8 NOT NULL
+  ,amount_with_fee_val INT8 NOT NULL
+  ,amount_with_fee_frac INT4 NOT NULL
+  ,wad_fee_val INT8 NOT NULL
+  ,wad_fee_frac INT4 NOT NULL
+  ,deposit_fees_val INT8 NOT NULL
+  ,deposit_fees_frac INT4 NOT NULL
+  ,reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64))
+  ,purse_sig BYTEA NOT NULL CHECK (LENGTH(purse_sig)=64))
+  );
+  COMMENT ON TABLE wad_out_entries
+    IS '';
+  COMMENT ON COLUMN wad_out_entries.wad_out_serial_id
+    IS '';
+  COMMENT ON COLUMN wad_out_entries.reserve_pub
+    IS '';
+  COMMENT ON COLUMN wad_out_entries.purse_pub
+    IS '';
+  COMMENT ON COLUMN wad_out_entries.h_contract
+    IS '';
+  COMMENT ON COLUMN wad_out_entries.purse_expiration
+    IS '';
+  COMMENT ON COLUMN wad_out_entries.merge_timestamp
+    IS '';
+  COMMENT ON COLUMN wad_out_entries.amount_with_fee_val
+    IS '';
+  COMMENT ON COLUMN wad_out_entries.wad_fee_val
+    IS '';
+  COMMENT ON COLUMN wad_out_entries.deposit_fees_val
+    IS '';
+  COMMENT ON COLUMN wad_out_entries.reserve_sig
+    IS '';
+  COMMENT ON COLUMN wad_out_entries.purse_sig
+    IS '';
+  --
+  CREATE TABLE IF NOT EXISTS wads_in
+  (wad_in_serial_id BIGSERIAL UNIQUE
+  ,wad_id BYTEA PRIMARY KEY CHECK (LENGTH(wad_id)=24)
+  ,origin_exchange_url TEXT NOT NULL
+  ,amount_val INT8 NOT NULL
+  ,amount_frac INT4 NOT NULL
+  ,arrival_time INT8 NOT NULL
+  ,UNIQUE (wad_id, origin_exchange_url)
+  );
+  COMMENT ON TABLE wads_in_entries
+    IS '';
+  COMMENT ON COLUMN wads_in.wad_id
+    IS '';
+  COMMENT ON COLUMN wads_in.origin_exchange_url
+    IS '';
+  COMMENT ON COLUMN wads_in.amount_val
+    IS '';
+  COMMENT ON COLUMN wads_in.arrival_time
+    IS '';
   --
-  CREATE TABLE IF NOT EXISTS wad_entries
-  (wad_entry_serial_id BIGSERIAL UNIQUE
-  ,wad_serial_id INT8 REFERENCES wads (wad_serial_id) ON DELETE CASCADE
+  CREATE TABLE IF NOT EXISTS wad_in_entries
+  (wad_in_entry_serial_id BIGSERIAL UNIQUE
+  ,wad_in_serial_id INT8 REFERENCES wads_in (wad_serial_id) ON DELETE CASCADE
   ,reserve_pub BYTEA NOT NULL CHECK(LENGTH(reserve_pub)=32)
   ,purse_pub BYTEA PRIMARY KEY CHECK(LENGTH(purse_pub)=32)
   ,h_contract BYTEA NOT NULL CHECK(LENGTH(h_contract)=64)
@@ -755,7 +895,38 @@ database.)
   ,reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64))
   ,purse_sig BYTEA NOT NULL CHECK (LENGTH(purse_sig)=64))
   );
-  -- FIXME: need more tables for exchange RECEIVING a wad!
+  COMMENT ON TABLE wad_in_entries
+    IS '';
+  COMMENT ON COLUMN wad_in_entries.wad_in_serial_id
+    IS '';
+  COMMENT ON COLUMN wad_in_entries.reserve_pub
+    IS '';
+  COMMENT ON COLUMN wad_in_entries.purse_pub
+    IS '';
+  COMMENT ON COLUMN wad_in_entries.h_contract
+    IS '';
+  COMMENT ON COLUMN wad_in_entries.purse_expiration
+    IS '';
+  COMMENT ON COLUMN wad_in_entries.merge_timestamp
+    IS '';
+  COMMENT ON COLUMN wad_in_entries.amount_with_fee_val
+    IS '';
+  COMMENT ON COLUMN wad_in_entries.wad_fee_val
+    IS '';
+  COMMENT ON COLUMN wad_in_entries.deposit_fees_val
+    IS '';
+  COMMENT ON COLUMN wad_in_entries.reserve_sig
+    IS '';
+  COMMENT ON COLUMN wad_in_entries.purse_sig
+    IS '';
+  CREATE INDEX IF NOT EXISTS wad_in_entries_wad_in_serial
+    ON wad_in_entries (wad_in_serial_id);
+  CREATE INDEX IF NOT EXISTS wad_in_entries_reserve_pub
+    ON wad_in_entries (reserve_pub);
+  COMMENT ON INDEX wad_in_entries_wad_in_serial
+    IS '';
+  COMMENT ON INDEX wad_in_entries_reserve_pub
+    IS '';
   -- Complete transaction
   COMMIT;
 

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