--
-- This file is part of TALER
-- Copyright (C) 2014--2024 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 auditor_reserve_balance_insufficient_inconsistency
(
    row_id BIGINT GENERATED BY DEFAULT AS IDENTITY UNIQUE PRIMARY KEY,
    reserve_pub BYTEA NOT NULL CHECK (LENGTH(reserve_pub)=32),
    inconsistency_gain BOOLEAN NOT NULL,
    inconsistency_amount taler_amount NOT NULL,
    suppressed BOOLEAN NOT NULL DEFAULT FALSE,
    creation_date INT8 NOT NULL
      DEFAULT (EXTRACT(EPOCH FROM NOW()) * 1000 * 1000)::BIGINT
);
COMMENT ON TABLE auditor_reserve_balance_insufficient_inconsistency
    IS 'Report a (serious) balance insufficiency in the exchange''s database';
COMMENT ON COLUMN auditor_reserve_balance_insufficient_inconsistency.creation_date
  IS 'for garbage collection';
