/**
 * 업비트 티커(현재가) 데이터 타입 정의
 */

/**
 * 업비트 WebSocket 티커 응답
 */
export interface UpbitTickerResponse {
  type: string;                    // "ticker"
  code: string;                    // "KRW-BTC"
  opening_price: number;           // 시가
  high_price: number;              // 고가
  low_price: number;               // 저가
  trade_price: number;             // 현재가
  prev_closing_price: number;      // 전일 종가
  change: 'RISE' | 'EVEN' | 'FALL'; // 전일 대비
  change_price: number;            // 전일 대비 가격
  change_rate: number;             // 전일 대비 등락률
  signed_change_price: number;     // 부호가 있는 전일 대비 가격
  signed_change_rate: number;      // 부호가 있는 전일 대비 등락률
  trade_volume: number;            // 가장 최근 거래량
  acc_trade_price: number;         // 누적 거래대금 (UTC 0시 기준)
  acc_trade_price_24h: number;     // 24시간 누적 거래대금
  acc_trade_volume: number;        // 누적 거래량 (UTC 0시 기준)
  acc_trade_volume_24h: number;    // 24시간 누적 거래량
  highest_52_week_price: number;   // 52주 최고가
  highest_52_week_date: string;    // 52주 최고가 달성일
  lowest_52_week_price: number;    // 52주 최저가
  lowest_52_week_date: string;     // 52주 최저가 달성일
  timestamp: number;               // 타임스탬프
  trade_timestamp?: number;        // 마지막 거래 타임스탬프
}

/**
 * 화면 표시용 티커 데이터
 */
export interface MarketTicker {
  code: string;                    // 마켓 코드 (KRW-BTC)
  symbol: string;                  // 심볼 (BTC)
  koreanName: string;              // 한글명 (비트코인)
  englishName: string;             // 영문명 (Bitcoin)
  tradePrice: number;              // 현재가
  change: 'RISE' | 'EVEN' | 'FALL'; // 등락
  changeRate: number;              // 등락률 (%)
  changePrice: number;             // 전일대비
  accTradePrice24h: number;        // 거래대금 (24시간)
  timestamp: number;               // 업데이트 시간
}

/**
 * 마켓 정보
 */
export interface MarketInfo {
  market: string;                  // KRW-BTC
  korean_name: string;             // 비트코인
  english_name: string;            // Bitcoin
}
