@exchanges/binance
Version:
Exchange provider for Binance API
141 lines (140 loc) • 3.85 kB
TypeScript
import { spot } from '../../../info';
export declare type UserDataResponse = OutboundAccountPositionResponse | BalanceUpdateResponse | ExecutionReportResponse | ListStatusResponse;
export declare type UserDataResponseRaw = OutboundAccountPositionResponseRaw | BalanceUpdateResponseRaw | ExecutionReportResponseRaw | ListStatusResponseRaw;
export interface OutboundAccountPositionResponse {
eventType: 'outboundAccountPosition';
eventTime: Date;
timeOfLastAccountUpdate: Date;
balances: {
assetName: string;
free: number;
locked: number;
}[];
}
export interface OutboundAccountPositionResponseRaw {
e: 'outboundAccountPosition';
E: number;
u: number;
B: {
a: string;
f: string;
l: string;
}[];
}
export interface BalanceUpdateResponse {
eventType: 'balanceUpdate';
eventTime: Date;
asset: string;
balanceDelta: number;
clearTime: Date;
}
export interface BalanceUpdateResponseRaw {
e: 'balanceUpdate';
E: number;
a: string;
d: string;
T: number;
}
export interface ExecutionReportResponse {
eventType: 'executionReport';
eventTime: Date;
symbol: string;
clientOrderId: string;
side: spot.OrderSide;
orderType: spot.OrderType;
timeInForce: spot.TimeInForce;
orderQuantity: number;
orderPrice: number;
stopPrice: number;
icebergQuantity: number;
orderListId: number;
origClientOrderId: string;
executionType: spot.ExecutionType;
orderStatus: spot.OrderStatus;
orderRejectReason: string;
orderId: number;
lastExecutedQuantity: number;
cumulativeFilledQuantity: number;
lastExecutedPrice: number;
commissionAmount: number;
commissionAsset: string;
transactionTime: Date;
tradeId: number;
isBestMatch: boolean;
isBuyerMaker: boolean;
orderCreationTime: Date;
cumulativeQuoteAssetTransactedQuantity: number;
lastQuoteAssetTransactedQuantity: number;
quoteOrderQuantity: number;
}
export interface ExecutionReportResponseRaw {
e: 'executionReport';
E: number;
s: string;
c: string;
S: spot.OrderSide;
o: spot.OrderType;
f: spot.TimeInForce;
q: string;
p: string;
P: string;
F: string;
g: number;
C: string;
x: spot.ExecutionType;
X: spot.OrderStatus;
r: string;
i: number;
l: string;
z: string;
L: string;
n: string;
N: string;
T: number;
t: number;
w: boolean;
m: boolean;
O: number;
Z: string;
Y: string;
Q: string;
}
export interface ListStatusResponse {
eventType: 'listStatus';
eventTime: Date;
symbol: string;
orderListId: number;
contingencyType: spot.ContingencyType;
listStatusType: spot.OCOStatus;
listOrderStatusType: spot.OCOOrderStatus;
listRejectReason: string;
listClientOrderId: string;
transactionTime: Date;
orders: {
symbol: string;
orderId: number;
clientOrderId: string;
}[];
}
export interface ListStatusResponseRaw {
e: 'listStatus';
E: number;
s: string;
g: number;
c: spot.ContingencyType;
l: spot.OCOStatus;
L: spot.OCOOrderStatus;
r: string;
C: string;
T: number;
O: {
s: string;
i: number;
c: string;
}[];
}
export declare function parseOutboundAccountPosition(data: OutboundAccountPositionResponseRaw): OutboundAccountPositionResponse;
export declare function parseBalanceUpdate(data: BalanceUpdateResponseRaw): BalanceUpdateResponse;
export declare function parseExecutionReport(data: ExecutionReportResponseRaw): ExecutionReportResponse;
export declare function parseListStatus(data: ListStatusResponseRaw): ListStatusResponse;
export declare function parseUserData(data: UserDataResponseRaw): UserDataResponse;