remove /api/vault endpoints

This commit is contained in:
ZOMBIIIIIII
2026-05-11 18:36:44 +03:00
parent 64696b334c
commit 8d91dbeb14
10 changed files with 12 additions and 211 deletions

View File

@@ -1,14 +1,9 @@
-- ─────────────────────────────────────────────────────────────────────────
-- CryptoWallet API — DB schema (idempotent)
-- Применить один раз на внешнюю БД при первом деплое.
-- Версия 3.0 (custodial: AES-GCM encrypted_mnemonic на сервере).
-- ─────────────────────────────────────────────────────────────────────────
-- CryptoWallet API — DB schema (idempotent, custodial v3.0)
-- ── USERS ────────────────────────────────────────────────────────────────
CREATE TABLE IF NOT EXISTS users (
id VARCHAR(26) PRIMARY KEY, -- ULID из JWT.sub
id VARCHAR(26) PRIMARY KEY,
email VARCHAR(255) NOT NULL UNIQUE,
password_hash VARCHAR(255) NOT NULL, -- "EXTERNAL_AUTH" (auth у BITOK)
password_hash VARCHAR(255) NOT NULL,
last_name VARCHAR(255),
first_name VARCHAR(255),
middle_name VARCHAR(255),
@@ -22,14 +17,13 @@ CREATE TABLE IF NOT EXISTS users (
kyc_verified BOOLEAN NOT NULL DEFAULT FALSE,
kyc_verified_at TIMESTAMPTZ,
is_deleted BOOLEAN NOT NULL DEFAULT FALSE,
encrypted_vault TEXT, -- legacy client-side AES blob (opt)
vault_salt VARCHAR(128), -- legacy client KDF salt (opt)
encrypted_mnemonic TEXT, -- AES-256-GCM blob (custodial)
encrypted_vault TEXT,
vault_salt VARCHAR(128),
encrypted_mnemonic TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
-- Добавляем encrypted_mnemonic если таблица существует с прошлой версии
DO $$
BEGIN
IF NOT EXISTS (
@@ -40,11 +34,6 @@ BEGIN
END IF;
END $$;
-- CHECK: encrypted_mnemonic при значении должен иметь разумный размер.
-- AES-GCM blob: 12 IV + plaintext + 16 tag.
-- 12-word mnemonic ≈ 11*7 + 11 = 88 байт → 12+88+16 = 116 байт → ~156 base64 chars.
-- 24-word mnemonic ≈ 23*7 + 23 = 184 байт → 12+184+16 = 212 байт → ~284 base64 chars.
-- Минимум 140 (12 слов с маленькими словами), максимум 512 запас на 24 слова + padding.
DO $$
BEGIN
IF NOT EXISTS (
@@ -56,11 +45,10 @@ BEGIN
END IF;
END $$;
-- ── WALLETS ──────────────────────────────────────────────────────────────
CREATE TABLE IF NOT EXISTS wallets (
id VARCHAR(26) PRIMARY KEY, -- ULID
id VARCHAR(26) PRIMARY KEY,
user_id VARCHAR(26) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
chain VARCHAR(16) NOT NULL, -- ETH / BTC / SOL / TRX / BSC
chain VARCHAR(16) NOT NULL,
address VARCHAR(256) NOT NULL,
derivation_path VARCHAR(64) NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
@@ -69,7 +57,6 @@ CREATE TABLE IF NOT EXISTS wallets (
CREATE INDEX IF NOT EXISTS idx_wallets_user_id ON wallets(user_id);
-- ── SESSIONS (placeholder, не используется в текущей версии) ─────────────
CREATE TABLE IF NOT EXISTS sessions (
id VARCHAR(26) PRIMARY KEY,
user_id VARCHAR(26) NOT NULL REFERENCES users(id) ON DELETE CASCADE,