Files
GL/infrastructure/postgres/migrations/000003_kuknos_settlements.up.sql
T

23 lines
1.0 KiB
SQL

CREATE TABLE kuknos_settlements (
id uuid PRIMARY KEY,
source_service text NOT NULL CHECK (source_service <> ''),
source_transaction_id text NOT NULL CHECK (source_transaction_id <> ''),
idempotency_key text NOT NULL UNIQUE CHECK (idempotency_key <> ''),
status text NOT NULL CHECK (status IN ('PENDING','SUBMITTED','CONFIRMED','RETRYABLE','MANUAL_REVIEW')),
network text NOT NULL DEFAULT 'kuknos',
signed_transaction_xdr text NOT NULL DEFAULT '',
transaction_hash text NOT NULL DEFAULT '',
attempts integer NOT NULL DEFAULT 0 CHECK (attempts >= 0),
available_at timestamptz NOT NULL DEFAULT clock_timestamp(),
locked_at timestamptz,
locked_by text NOT NULL DEFAULT '',
last_error text NOT NULL DEFAULT '',
submitted_at timestamptz,
confirmed_at timestamptz,
manual_review_at timestamptz,
created_at timestamptz NOT NULL DEFAULT clock_timestamp(),
updated_at timestamptz NOT NULL DEFAULT clock_timestamp()
);
CREATE INDEX kuknos_settlements_due_idx ON kuknos_settlements (status, available_at);