UNPKG

okex-api

Version:

A modern, asynchronous, and easy-to-use [Okx API](https://www.okx.com/docs-v5) wrapper for Node.js/bun/Web Browser/Cloudflare workers.

241 lines (240 loc) 5.51 kB
import type { WsChannelSubUnSubRequestArg, WsTradeOp } from './request'; export interface WsEvent { event: 'error' | 'login' | 'subscribe' | 'unsubscribe' | 'channel-conn-count'; code?: string; msg?: string; arg?: any; data?: any; } export interface WsDataEvent<T = any> { arg: WsChannelSubUnSubRequestArg; data: T; } export interface WsLoginEvent extends WsEvent { event: 'login'; } export interface WsChannelConnInfoEvent extends WsEvent { event: 'channel-conn-count'; channel: string; connId: string; connCount: string; } export type WsResponse = WsEvent; export interface WsTicker { instType: string; instId: string; last: string; lastSz: string; askPx: string; askSz: string; bidPx: string; bidSz: string; open24h: string; high24h: string; low24h: string; sodUtc0: string; sodUtc8: string; volCcy24h: string; vol24h: string; ts: string; } export interface WsAccount { adjEq: string; borrowFroz: string; imr: string; isoEq: string; mgnRatio: string; mmr: string; notionalUsd: string; notionalUsdForBorrow: string; notionalUsdForFutures: string; notionalUsdForOption: string; notionalUsdForSwap: string; ordFroz: string; totalEq: string; uTime: string; upl: string; details: { availBal: string; availEq: string; borrowFroz: string; cashBal: string; ccy: string; coinUsdPrice: string; crossLiab: string; collateralEnabled: boolean; disEq: string; eq: string; eqUsd: string; smtSyncEq: string; spotCopyTradingEq: string; fixedBal: string; frozenBal: string; imr: string; interest: string; isoEq: string; isoLiab: string; isoUpl: string; liab: string; maxLoan: string; mgnRatio: string; mmr: string; notionalLever: string; ordFrozen: string; rewardBal: string; spotInUseAmt: string; clSpotInUseAmt: string; maxSpotInUseAmt: string; spotIsoBal: string; stgyEq: string; twap: string; uTime: string; upl: string; uplLiab: string; spotBal: string; openAvgPx: string; accAvgPx: string; spotUpl: string; spotUplRatio: string; totalPnl: string; totalPnlRatio: string; }[]; } export interface WsOrder { accFillSz: string; amendResult: string; avgPx: string; cTime: string; category: string; ccy: string; clOrdId: string; code: string; execType: string; fee: string; feeCcy: string; fillFee: string; fillFeeCcy: string; fillNotionalUsd: string; fillPx: string; fillSz: string; fillPnl: string; fillTime: string; fillPxVol: string; fillPxUsd: string; fillMarkVol: string; fillFwdPx: string; fillMarkPx: string; instId: string; instType: string; lever: string; msg: string; notionalUsd: string; ordId: string; ordType: string; pnl: string; posSide: string; px: string; pxUsd: string; pxVol: string; pxType: string; rebate: string; rebateCcy: string; reduceOnly: string; reqId: string; side: string; attachAlgoClOrdId: string; slOrdPx: string; slTriggerPx: string; slTriggerPxType: string; source: string; state: string; stpId: string; stpMode: string; sz: string; tag: string; tdMode: string; tgtCcy: string; tpOrdPx: string; tpTriggerPx: string; tpTriggerPxType: string; tradeId: string; lastPx: string; quickMgnType: string; algoClOrdId: string; algoId: string; amendSource: string; cancelSource: string; isTpLimit: string; uTime: string; } export interface WsPosition { instType: string; instId: string; lever: string; mgnMode: string; posId: string; posSide: string; pos: string; posCcy: string; availPos: string; avgPx: string; upl: string; uplRatio: string; uplLastPx: string; uplRatioLastPx: string; liqPx: string; markPx: string; imr: string; margin: string; mgnRatio: string; mmr: string; tradeId: string; ccy: string; last: string; realizedPnl: string; settledPnl: string; pnl: string; } export interface WsTradeRequest<T> { id: string; op: WsTradeOp; args: T[]; } export interface WsOrderArg { instId: string; tdMode: 'isolated' | 'cross' | 'cash' | 'spot_isolated'; ccy?: string; clOrdId?: string; tag?: string; side: 'buy' | 'sell'; posSide?: 'net' | 'long' | 'short'; ordType: 'market' | 'limit' | 'post_only' | 'ioc' | 'fok' | 'optimal_limit_ioc' | 'mmp' | 'mmp_and_post_only'; px?: string; sz: string; reduceOnly?: boolean; tgtCcy?: string; stpMode?: 'cancel_maker' | 'cancel_taker' | 'cancel_both'; } export interface WsCancelOrderArg { instId: string; ordId: string; clOrdId?: string; } export interface WsTradeOrderResult { clOrdId: string; ordId: string; ts: string; sCode: string; sMsg: string; reqId?: string; tag?: string; } export interface WsTradeOpEvent { id: string; op: WsTradeOp; data: WsTradeOrderResult[]; code: string; msg: string; inTime: string; outTime: string; }