diff options
author | Christian Grothoff <christian@grothoff.org> | 2022-11-27 02:00:38 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2022-11-27 02:00:38 +0100 |
commit | be2c11a1797d8d16b86439a80a4f110f82bb5829 (patch) | |
tree | f0a950be0f80ced5ab68b6f65d11edb5dc09a3b5 /src/exchangedb/0002-partners.sql | |
parent | 9580dd19c23e5591cc022dce717eca7bc745c5b0 (diff) |
more sql refactoring
Diffstat (limited to 'src/exchangedb/0002-partners.sql')
-rw-r--r-- | src/exchangedb/0002-partners.sql | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/exchangedb/0002-partners.sql b/src/exchangedb/0002-partners.sql new file mode 100644 index 000000000..992c04dac --- /dev/null +++ b/src/exchangedb/0002-partners.sql @@ -0,0 +1,63 @@ +-- +-- This file is part of TALER +-- Copyright (C) 2014--2022 Taler Systems SA +-- +-- TALER is free software; you can redistribute it and/or modify it under the +-- terms of the GNU General Public License as published by the Free Software +-- Foundation; either version 3, or (at your option) any later version. +-- +-- TALER is distributed in the hope that it will be useful, but WITHOUT ANY +-- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +-- A PARTICULAR PURPOSE. See the GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License along with +-- TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> +-- + +CREATE TABLE IF NOT EXISTS partners + (partner_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY UNIQUE + ,partner_master_pub BYTEA NOT NULL CHECK(LENGTH(partner_master_pub)=32) + ,start_date INT8 NOT NULL + ,end_date INT8 NOT NULL + ,next_wad INT8 NOT NULL DEFAULT (0) + ,wad_frequency INT8 NOT NULL + ,wad_fee_val INT8 NOT NULL + ,wad_fee_frac INT4 NOT NULL + ,master_sig BYTEA NOT NULL CHECK (LENGTH(master_sig)=64) + ,partner_base_url TEXT NOT NULL + ); +COMMENT ON TABLE partners + IS 'exchanges we do wad transfers to'; +COMMENT ON COLUMN partners.partner_master_pub + IS 'offline master public key of the partner'; +COMMENT ON COLUMN partners.start_date + IS 'starting date of the partnership'; +COMMENT ON COLUMN partners.end_date + IS 'end date of the partnership'; +COMMENT ON COLUMN partners.next_wad + IS 'at what time should we do the next wad transfer to this partner (frequently updated); set to forever after the end_date'; +COMMENT ON COLUMN partners.wad_frequency + IS 'how often do we promise to do wad transfers'; +COMMENT ON COLUMN partners.wad_fee_val + IS 'how high is the fee for a wallet to be added to a wad to this partner'; +COMMENT ON COLUMN partners.partner_base_url + IS 'base URL of the REST API for this partner'; +COMMENT ON COLUMN partners.master_sig + IS 'signature of our master public key affirming the partnership, of purpose TALER_SIGNATURE_MASTER_PARTNER_DETAILS'; + +CREATE INDEX IF NOT EXISTS partner_by_wad_time + ON partners (next_wad ASC); + + +INSERT INTO exchange_tables + (name + ,version + ,action + ,partitioned + ,by_range) + VALUES + ('partners' + ,'exchange-0002' + ,'create' + ,FALSE + ,FALSE); |