binance
Version:
Professional Node.js & JavaScript SDK for Binance REST APIs & WebSockets, with TypeScript & end-to-end tests.
414 lines (413 loc) • 11.1 kB
TypeScript
import { FuturesOrderType, MarginType, PositionSide, WorkingType } from '../futures';
import { KlineInterval, numberInString, OCOOrderStatus, OCOStatus, OrderBookRow, OrderExecutionType, OrderSide, OrderStatus, OrderTimeInForce, OrderType, SelfTradePreventionMode } from '../shared';
import { WsSharedBase } from './ws-general';
export interface WsMessageKlineRaw extends WsSharedBase {
e: 'kline';
E: number;
s: string;
k: {
t: number;
T: number;
s: string;
i: KlineInterval;
f: number;
L: number;
o: numberInString;
c: numberInString;
h: numberInString;
l: numberInString;
v: numberInString;
n: number;
x: boolean;
q: numberInString;
V: numberInString;
Q: numberInString;
B: numberInString;
};
}
export interface WsMessageAggTradeRaw extends WsSharedBase {
e: 'aggTrade';
E: number;
s: string;
a: number;
p: numberInString;
q: numberInString;
f: number;
l: number;
T: number;
m: boolean;
M: boolean;
}
export interface WsMessageTradeRaw extends WsSharedBase {
e: 'trade';
E: number;
s: string;
t: number;
p: numberInString;
q: numberInString;
b: number;
a: number;
T: number;
m: boolean;
M: boolean;
}
export interface WsMessage24hrMiniTickerRaw extends WsSharedBase {
e: '24hrMiniTicker';
E: number;
s: string;
c: numberInString;
o: numberInString;
h: numberInString;
l: numberInString;
v: numberInString;
q: numberInString;
}
export interface WsMessage24hrTickerRaw extends WsSharedBase {
e: '24hrTicker';
E: number;
s: string;
p: numberInString;
P: numberInString;
w: numberInString;
x: numberInString;
c: numberInString;
Q: numberInString;
b: numberInString;
B: numberInString;
a: numberInString;
A: numberInString;
o: numberInString;
h: numberInString;
l: numberInString;
v: numberInString;
q: numberInString;
O: numberInString;
C: numberInString;
F: number;
L: number;
n: number;
}
export interface WsMessageRollingWindowTickerRaw extends WsSharedBase {
e: '1hTicker' | '4hTicker' | '1dTicker';
E: number;
s: string;
p: string;
P: string;
w: string;
o: string;
h: string;
l: string;
c: string;
v: string;
q: string;
O: number;
C: number;
F: number;
L: number;
n: number;
}
export interface WsMessageBookTickerEventRaw extends WsSharedBase {
e: 'bookTicker';
u: number;
E: number;
T: number;
s: string;
b: numberInString;
B: numberInString;
a: numberInString;
A: numberInString;
}
export interface WsMessagePartialBookDepthEventRaw extends WsSharedBase {
e: 'partialBookDepth';
lastUpdateId: number;
bids: OrderBookRow[];
asks: OrderBookRow[];
}
/**
* USER DATA WS EVENTS
**/
interface SpotBalanceRaw {
a: string;
f: numberInString;
l: numberInString;
}
export interface WsMessageSpotOutboundAccountPositionRaw extends WsSharedBase {
e: 'outboundAccountPosition';
E: number;
u: number;
B: SpotBalanceRaw[];
}
export interface WsMessageSpotBalanceUpdateRaw extends WsSharedBase {
e: 'balanceUpdate';
E: number;
a: string;
d: numberInString;
T: number;
}
export interface WsMessageSpotUserDataExecutionReportEventRaw extends WsSharedBase {
e: 'executionReport';
E: number;
s: string;
c: string;
S: OrderSide;
o: OrderType;
f: OrderTimeInForce;
q: numberInString;
p: numberInString;
P: numberInString;
F: numberInString;
g: number;
C: string;
x: OrderExecutionType;
X: OrderStatus;
r: string;
i: number;
l: numberInString;
z: numberInString;
L: numberInString;
n: numberInString;
N: string | null;
T: number;
t: number;
I: number;
w: boolean;
m: boolean;
M: boolean;
O: number;
Z: numberInString;
Y: numberInString;
Q: numberInString;
W: number;
V: SelfTradePreventionMode;
}
export interface OrderObjectRaw {
s: string;
i: number;
c: string;
}
export interface WsMessageSpotUserDataListStatusEventRaw extends WsSharedBase {
e: 'listStatus';
E: number;
s: string;
g: number;
c: 'OCO';
l: OCOStatus;
L: OCOOrderStatus;
r: string;
C: string;
T: number;
O: OrderObjectRaw[];
}
export type AccountUpdateEventType = 'DEPOSIT' | 'WITHDRAW' | 'ORDER' | 'FUNDING_FEE' | 'WITHDRAW_REJECT' | 'ADJUSTMENT' | 'INSURANCE_CLEAR' | 'ADMIN_DEPOSIT' | 'ADMIN_WITHDRAW' | 'MARGIN_TRANSFER' | 'MARGIN_TYPE_CHANGE' | 'ASSET_TRANSFER' | 'OPTIONS_PREMIUM_FEE' | 'OPTIONS_SETTLE_PROFIT' | 'AUTO_EXCHANGE';
export interface WsMessageFuturesUserDataListenKeyExpiredRaw extends WsSharedBase {
e: 'listenKeyExpired';
E: number;
}
export interface WsMessageFuturesMarginCalledPositionRaw {
s: string;
ps: PositionSide;
pa: numberInString;
mt: Uppercase<MarginType>;
iw: numberInString;
mp: numberInString;
up: numberInString;
mm: numberInString;
}
export interface WsMessageFuturesUserDataMarginCallRaw extends WsSharedBase {
e: 'MARGIN_CALL';
E: number;
cw: numberInString;
p: WsMessageFuturesMarginCalledPositionRaw[];
}
export interface WsMessageFuturesAccountUpdatePositionRaw {
s: string;
pa: numberInString;
ep: numberInString;
cr: numberInString;
up: numberInString;
mt: 'cross' | 'isolated';
iw: numberInString;
ps: PositionSide;
}
export interface WsMessageFuturesAccountUpdateBalanceRaw {
a: string;
wb: numberInString;
cw: numberInString;
bc: numberInString;
}
export interface WsMessageFuturesUserDataAccountUpdateRaw extends WsSharedBase {
e: 'ACCOUNT_UPDATE';
E: number;
T: number;
a: {
m: AccountUpdateEventType;
B: WsMessageFuturesAccountUpdateBalanceRaw[];
P: WsMessageFuturesAccountUpdatePositionRaw[];
};
}
export interface WsMessageFuturesUserDataCondOrderTriggerRejectEventRaw extends WsSharedBase {
e: 'CONDITIONAL_ORDER_TRIGGER_REJECT';
E: number;
T: number;
or: {
s: string;
i: number;
r: string;
};
}
export interface WsMessageFuturesUserDataOrderTradeUpdateEventRaw extends WsSharedBase {
e: 'ORDER_TRADE_UPDATE';
E: number;
T: number;
o: {
s: string;
c: string;
S: OrderSide;
o: FuturesOrderType;
f: OrderTimeInForce;
q: numberInString;
p: numberInString;
ap: numberInString;
sp: numberInString;
x: OrderExecutionType;
X: OrderStatus;
i: number;
l: numberInString;
z: numberInString;
L: numberInString;
N: string;
n: numberInString;
T: numberInString;
t: number;
b: numberInString;
a: numberInString;
m: boolean;
R: boolean;
wt: WorkingType;
ot: FuturesOrderType;
ps: PositionSide;
cp: boolean;
AP: numberInString;
cr: numberInString;
rp: numberInString;
pP: boolean;
si: numberInString;
ss: numberInString;
V: string;
pm: string;
gtd: number;
};
}
export interface WsMessageFuturesUserDataTradeLiteEventRaw extends WsSharedBase {
e: 'TRADE_LITE';
E: number;
T: number;
s: string;
q: string;
p: string;
m: boolean;
c: string;
S: 'BUY' | 'SELL';
L: string;
l: string;
t: number;
i: number;
}
export interface WsMessageFuturesUserDataAccountConfigUpdateEventRaw extends WsSharedBase {
e: 'ACCOUNT_CONFIG_UPDATE';
E: number;
T: number;
ac?: {
s: string;
l: number;
};
ai?: {
j: boolean;
};
}
export interface WsMessageIndexPriceUpdateEventRaw extends WsSharedBase {
e: 'indexPriceUpdate';
E: number;
i: string;
p: numberInString;
}
export interface WsMessageMarkPriceUpdateEventRaw extends WsSharedBase {
e: 'markPriceUpdate';
E: number;
s: string;
p: string;
P: string;
i: string;
r: string;
T: number;
}
export interface WsMessageForceOrderRaw extends WsSharedBase {
e: 'forceOrder';
E: number;
o: {
s: string;
S: string;
o: string;
f: string;
q: string;
p: string;
ap: string;
X: string;
l: string;
z: string;
T: number;
};
}
export interface WsMessageFuturesUserDataStrategyUpdateRaw extends WsSharedBase {
e: 'STRATEGY_UPDATE';
T: number;
E: number;
su: {
si: number;
st: string;
ss: string;
s: string;
ut: number;
c: number;
};
}
export interface WsMessageFuturesUserDataGridUpdateRaw extends WsSharedBase {
e: 'GRID_UPDATE';
T: number;
E: number;
gu: {
si: number;
st: string;
ss: string;
s: string;
r: numberInString;
up: numberInString;
uq: numberInString;
uf: numberInString;
mp: numberInString;
ut: number;
};
}
export interface WsMessageFuturesUserDataContractInfoRaw extends WsSharedBase {
e: 'contractInfo';
E: number;
s: string;
ps: string;
ct: string;
dt: number;
ot: number;
cs: string;
bks: {
bs: number;
bnf: number;
bnc: number;
mmr: number;
cf: number;
mi: number;
ma: number;
}[];
}
export type WsRawSpotUserDataEventRaw = WsMessageSpotUserDataExecutionReportEventRaw | WsMessageSpotOutboundAccountPositionRaw | WsMessageSpotBalanceUpdateRaw | WsMessageSpotUserDataListStatusEventRaw;
export type WsMessageFuturesUserDataEventRaw = WsMessageFuturesUserDataAccountUpdateRaw | WsMessageFuturesUserDataListenKeyExpiredRaw | WsMessageFuturesUserDataMarginCallRaw | WsMessageFuturesUserDataOrderTradeUpdateEventRaw | WsMessageFuturesUserDataAccountConfigUpdateEventRaw | WsMessageFuturesUserDataCondOrderTriggerRejectEventRaw | WsMessageFuturesUserDataTradeLiteEventRaw | WsMessageFuturesUserDataStrategyUpdateRaw | WsMessageFuturesUserDataGridUpdateRaw | WsMessageFuturesUserDataContractInfoRaw;
export type WsRawMessage = WsMessageKlineRaw | WsMessageAggTradeRaw | WsMessageTradeRaw | WsMessage24hrMiniTickerRaw | WsMessage24hrMiniTickerRaw[] | WsMessage24hrTickerRaw | WsMessage24hrTickerRaw[] | WsMessageRollingWindowTickerRaw[] | WsMessageBookTickerEventRaw | WsMessagePartialBookDepthEventRaw | WsMessageForceOrderRaw | WsRawSpotUserDataEventRaw | WsMessageIndexPriceUpdateEventRaw | WsMessageFuturesUserDataAccountUpdateRaw | WsMessageFuturesUserDataListenKeyExpiredRaw | WsMessageFuturesUserDataMarginCallRaw | WsMessageFuturesUserDataOrderTradeUpdateEventRaw | WsMessageFuturesUserDataAccountConfigUpdateEventRaw | WsMessageFuturesUserDataCondOrderTriggerRejectEventRaw;
export {};