UNPKG

@exchanges/binance

Version:

Exchange provider for Binance API

166 lines (165 loc) 4.58 kB
import { coinM } from '../../../info'; export declare type UserDataResponse = MarginCallResponse | AccountUpdateResponse | OrderTradeUpdateResponse; export declare type UserDataResponseRaw = MarginCallResponseRaw | AccountUpdateResponseRaw | OrderTradeUpdateResponseRaw; export interface MarginCallResponse { eventType: 'MARGIN_CALL'; eventTime: Date; accountAlias: string; crossWalletBalance: number; positionsOfMarginCall: { symbol: string; positionSide: coinM.PositionSide; positionAmount: number; marginType: coinM.MarginType; isolatedWallet: number; markPrice: number; unrealizedPnL: number; maintenanceMarginRequired: number; }[]; } export interface MarginCallResponseRaw { e: 'MARGIN_CALL'; E: number; i: string; cw: string; p: { s: string; ps: coinM.PositionSide; pa: string; mt: coinM.MarginType; iw: string; mp: string; up: string; mm: string; }[]; } export interface AccountUpdateResponse { eventType: 'ACCOUNT_UPDATE'; eventTime: Date; transactionTime: Date; accountAlias: string; updateData: { eventReasonType: string; balances: { asset: string; walletBalance: number; crossWalletBalance: number; }[]; positions: { symbol: string; positionAmount: number; entryPrice: number; preFeeAccumulatedRealized: number; unrealizedPnL: number; marginType: coinM.MarginType; isolatedWallet: number; positionSide: coinM.PositionSide; }[]; }; } export interface AccountUpdateResponseRaw { e: 'ACCOUNT_UPDATE'; E: number; T: number; i: string; a: { m: string; B: { a: string; wb: string; cw: string; }[]; P: { s: string; pa: string; ep: string; cr: string; up: string; mt: coinM.MarginType; iw: string; ps: coinM.PositionSide; }[]; }; } export interface OrderTradeUpdateResponse { eventType: 'ORDER_TRADE_UPDATE'; eventTime: Date; transactionTime: Date; accountAlias: string; symbol: string; clientOrderId: string; side: coinM.OrderSide; orderType: coinM.OrderType; timeInForce: coinM.TimeInForce; originalQuantity: number; originalPrice: number; averagePrice: number; stopPrice: number; executionType: coinM.ExecutionType; orderStatus: coinM.OrderStatus; orderId: number; orderLastFilledQuantity: number; orderFilledAccumulatedQuantity: number; lastFilledPrice: number; marginAsset: string; commissionAsset: string; commissionAmount: number; orderTradeTime: Date; tradeId: number; realizedProfit: number; bidQuantityOfBaseAsset: number; askQuantityOfBaseAsset: number; isBuyerMaker: boolean; isReduceOnly: boolean; stopPriceWorkingType: coinM.WorkingType; originalOrderType: coinM.OrderType; positionSide: coinM.PositionSide; isConditionalOrder: boolean; activationPrice: number; callbackRate: number; isConditionalOrderProtected: boolean; } export interface OrderTradeUpdateResponseRaw { e: 'ORDER_TRADE_UPDATE'; E: number; T: number; i: string; o: { s: string; c: string; S: coinM.OrderSide; o: coinM.OrderType; f: coinM.TimeInForce; q: string; p: string; ap: string; sp: string; x: coinM.ExecutionType; X: coinM.OrderStatus; i: number; l: string; z: string; L: string; ma: string; N: string; n: string; T: number; t: number; rp: string; b: string; a: string; m: boolean; R: boolean; wt: coinM.WorkingType; ot: coinM.OrderType; ps: coinM.PositionSide; cp: boolean; AP: string; cr: string; pP: boolean; }; } export declare function parseMarginCall(data: MarginCallResponseRaw): MarginCallResponse; export declare function parseAccountUpdate(data: AccountUpdateResponseRaw): AccountUpdateResponse; export declare function parseOrderTradeUpdate(data: OrderTradeUpdateResponseRaw): OrderTradeUpdateResponse; export declare function parseUserData(data: UserDataResponseRaw): UserDataResponse;