UNPKG

@bcswaper/apis

Version:

bcswaper apis

167 lines (166 loc) 3.87 kB
export type IsoString = string; export type ClientParams = { symbol: string; ccy: string; account: any; options: any; }; export declare enum ClientSettings { MaxFills = 200, OrderbookLength = 20, GTT = 300, ListLenths = 120, GoodTillTime = 2419200, OrderInterval = 1, OrderInterval2 = 2 } export type DydxAccount = { address: string; subaccount: number; privateKey?: string; mnemonic: string; }; export type OkxAccount = { apiKey: string; passphrase: string; secretKey: string; formally: boolean; }; export type PriceLevel = { price: number; size: number; }; export interface Orderbook { bids: PriceLevel[]; asks: PriceLevel[]; } export declare enum CandleResolution { MIN1 = "1MIN", MIN5 = "5MINS", MIN15 = "15MINS", MIN30 = "30MINS", HOUR1 = "1HOUR", HOUR4 = "4HOURS", DAY1 = "1DAY" } export interface Candle { startedAt: string; ticker: string; resolution: CandleResolution; low: number; high: number; open: number; close: number; baseTokenVolume: number; usdVolume: number; trades: string; startingOpenInterest: number; id: string; } export declare enum PositionSide { LONG = "LONG", SHORT = "SHORT" } export interface PositionData { symbol: string; side: PositionSide | null; size: number; } export declare enum PositionStatus { OPEN = "OPEN", CLOSED = "CLOSED", LIQUIDATED = "LIQUIDATED" } export declare enum OrderSide { BUY = "BUY", SELL = "SELL" } export declare enum OrderType { LIMIT = "LIMIT", MARKET = "MARKET", STOP_LIMIT = "STOP_LIMIT", TAKE_PROFIT_LIMIT = "TAKE_PROFIT", STOP_MARKET = "STOP_MARKET", TAKE_PROFIT_MARKET = "TAKE_PROFIT_MARKET" } export declare enum OrderTimeInForce { GTT = "GTT", IOC = "IOC", FOK = "FOK" } export declare enum OrderStatus { BEST_EFFORT_OPENED = "BEST_EFFORT_OPENED", OPEN = "OPEN", PARTIAL = "PARTIALLY_FILLED", FILLED = "FILLED", BEST_EFFORT_CANCELED = "BEST_EFFORT_CANCELED", CANCELED = "CANCELED" } export interface Order { id: string; account: string; subaccountId: string; clientId: number; side: OrderSide; size: number; ticker: string; price: number; type: OrderType; timeInForce: OrderTimeInForce; postOnly?: boolean; reduceOnly: boolean; status: OrderStatus; orderFlags: string; totalFilled?: number; filledPrice?: number; fee: number; goodTilBlock?: number; goodTilBlockTime?: number; createdAtHeight?: number; clientMetadata: string; triggerPrice?: string; updatedAt?: IsoString; updatedAtHeight?: number; } export interface Fill { id: string; account: string; subaccountId: string; orderId: string; side: OrderSide; size: number; type: OrderType; ticker: string; price: number; fee: number; createdAt?: IsoString; quoteAmount: number; } export declare enum SubTypes { Account = "account", Position = "position", Order = "order", Deal = "deal", Tick = "tick", Candles = "candles", Orderbook = "orderbook", Trades = "trades" } export type CallBackFuncs = { accountFunc?: (accountInfo: AccountInfo) => Promise<void>; positionFunc?: (positions: PositionData[]) => Promise<void>; orderFunc?: (order: Order) => Promise<void>; fillFunc?: (fill: Fill) => Promise<void>; tickFunc?: (price: number) => Promise<void>; candleFunc?: (candle: Candle, resolution: CandleResolution) => Promise<void>; orderBookFunc?: () => Promise<void>; tradesFunc?: () => Promise<void>; }; export interface AccountInfo { account: string; subaccount: number; equity: number; balance: number; positions: PositionData[]; asset: number; }