51 lines
2.1 KiB
SQL
51 lines
2.1 KiB
SQL
--
|
|
-- 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 denominations
|
|
(denominations_serial BIGINT GENERATED BY DEFAULT AS IDENTITY UNIQUE
|
|
,denom_pub_hash BYTEA PRIMARY KEY CHECK (LENGTH(denom_pub_hash)=64)
|
|
,denom_type INT4 NOT NULL DEFAULT (1) -- 1 == RSA (for now, remove default later!)
|
|
,age_mask INT4 NOT NULL DEFAULT (0)
|
|
,denom_pub BYTEA NOT NULL
|
|
,master_sig BYTEA NOT NULL CHECK (LENGTH(master_sig)=64)
|
|
,valid_from INT8 NOT NULL
|
|
,expire_withdraw INT8 NOT NULL
|
|
,expire_deposit INT8 NOT NULL
|
|
,expire_legal INT8 NOT NULL
|
|
,coin_val INT8 NOT NULL
|
|
,coin_frac INT4 NOT NULL
|
|
,fee_withdraw_val INT8 NOT NULL
|
|
,fee_withdraw_frac INT4 NOT NULL
|
|
,fee_deposit_val INT8 NOT NULL
|
|
,fee_deposit_frac INT4 NOT NULL
|
|
,fee_refresh_val INT8 NOT NULL
|
|
,fee_refresh_frac INT4 NOT NULL
|
|
,fee_refund_val INT8 NOT NULL
|
|
,fee_refund_frac INT4 NOT NULL
|
|
);
|
|
COMMENT ON TABLE denominations
|
|
IS 'Main denominations table. All the valid denominations the exchange knows about.';
|
|
COMMENT ON COLUMN denominations.denom_type
|
|
IS 'determines cipher type for blind signatures used with this denomination; 0 is for RSA';
|
|
COMMENT ON COLUMN denominations.age_mask
|
|
IS 'bitmask with the age restrictions that are being used for this denomination; 0 if denomination does not support the use of age restrictions';
|
|
COMMENT ON COLUMN denominations.denominations_serial
|
|
IS 'needed for exchange-auditor replication logic';
|
|
|
|
CREATE INDEX denominations_by_expire_legal_index
|
|
ON denominations
|
|
(expire_legal);
|