summaryrefslogtreecommitdiff
path: root/src/backenddb/merchant-0001.sql
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-04-10 21:01:08 +0200
committerChristian Grothoff <christian@grothoff.org>2020-04-10 21:01:08 +0200
commit4f237e8aae9b67a0bdb9363934dcbbb3a7742daa (patch)
tree992a271f48bdb940f3251c0bd39158ffd0453194 /src/backenddb/merchant-0001.sql
parent0b945df357bf820540b67b412d47aa9073797267 (diff)
downloadmerchant-4f237e8aae9b67a0bdb9363934dcbbb3a7742daa.tar.gz
merchant-4f237e8aae9b67a0bdb9363934dcbbb3a7742daa.tar.bz2
merchant-4f237e8aae9b67a0bdb9363934dcbbb3a7742daa.zip
add API to store refund proofs
Diffstat (limited to 'src/backenddb/merchant-0001.sql')
-rw-r--r--src/backenddb/merchant-0001.sql22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/backenddb/merchant-0001.sql b/src/backenddb/merchant-0001.sql
index bfcc828a..63eb4bf7 100644
--- a/src/backenddb/merchant-0001.sql
+++ b/src/backenddb/merchant-0001.sql
@@ -59,7 +59,8 @@ CREATE TABLE IF NOT EXISTS merchant_deposits
,signkey_pub BYTEA NOT NULL CHECK (LENGTH(signkey_pub)=32)
,exchange_proof BYTEA NOT NULL
,PRIMARY KEY (h_contract_terms, coin_pub)
- ,FOREIGN KEY (h_contract_terms, merchant_pub) REFERENCES merchant_contract_terms (h_contract_terms, merchant_pub)
+ ,FOREIGN KEY (h_contract_terms, merchant_pub)
+ REFERENCES merchant_contract_terms (h_contract_terms, merchant_pub)
);
CREATE TABLE IF NOT EXISTS merchant_proofs
@@ -109,10 +110,25 @@ CREATE TABLE IF NOT EXISTS merchant_refunds
,reason VARCHAR NOT NULL
,refund_amount_val INT8 NOT NULL
,refund_amount_frac INT4 NOT NULL
- ,FOREIGN KEY (h_contract_terms, coin_pub) REFERENCES merchant_deposits (h_contract_terms, coin_pub)
- ,FOREIGN KEY (h_contract_terms, merchant_pub) REFERENCES merchant_contract_terms (h_contract_terms, merchant_pub)
+ ,FOREIGN KEY (h_contract_terms, coin_pub)
+ REFERENCES merchant_deposits (h_contract_terms, coin_pub)
+ ,FOREIGN KEY (h_contract_terms, merchant_pub)
+ REFERENCES merchant_contract_terms (h_contract_terms, merchant_pub)
+ ,PRIMARY KEY (h_contract_terms, merchant_pub, coin_pub, rtransaction_id)
);
+CREATE TABLE IF NOT EXISTS merchant_refund_proofs
+ (rtransaction_id BIGSERIAL UNIQUE
+ ,merchant_pub BYTEA NOT NULL CHECK (LENGTH(merchant_pub)=32)
+ ,h_contract_terms BYTEA NOT NULL CHECK (LENGTH(h_contract_terms)=64)
+ ,coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)
+ ,exchange_sig BYTEA NOT NULL CHECK (LENGTH(exchange_sig)=64)
+ ,exchange_pub BYTEA NOT NULL CHECK (LENGTH(exchange_pub)=32)
+ ,FOREIGN KEY (h_contract_terms, merchant_pub, coin_pub, rtransaction_id)
+ REFERENCES merchant_refunds (h_contract_terms, merchant_pub, coin_pub, rtransaction_id)
+ ,PRIMARY KEY (h_contract_terms, merchant_pub, coin_pub, rtransaction_id)
+);
+
-- balances of the reserves available for tips
CREATE TABLE IF NOT EXISTS merchant_tip_reserves
(reserve_priv BYTEA NOT NULL CHECK (LENGTH(reserve_priv)=32)