-- 002: Wallets table (user-service) CREATE TABLE IF NOT EXISTS wallets ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), user_id UUID NOT NULL UNIQUE REFERENCES users(id) ON DELETE CASCADE, balance NUMERIC(15,2) NOT NULL DEFAULT 0 CHECK (balance >= 0), frozen NUMERIC(15,2) NOT NULL DEFAULT 0 CHECK (frozen >= 0), currency VARCHAR(10) NOT NULL DEFAULT 'USD', created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), CONSTRAINT chk_frozen_le_balance CHECK (frozen <= balance) ); CREATE INDEX idx_wallets_user_id ON wallets(user_id);