Skip to content

Commit 1a7c8d7

Browse files
committed
add some all_* callbacks
1 parent 6cadb33 commit 1a7c8d7

2 files changed

Lines changed: 60 additions & 8 deletions

File tree

src/node-binance-api.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2404,6 +2404,7 @@ export default class Binance {
24042404
*/
24052405
userDataHandler(data: any) {
24062406
const type = data.e;
2407+
this.Options.all_updates_callback(data);
24072408
if (type === 'outboundAccountInfo') {
24082409
// XXX: Deprecated in 2020-09-08
24092410
} else if (type === 'executionReport') {
@@ -2444,6 +2445,7 @@ export default class Binance {
24442445
*/
24452446
userFutureDataHandler(data: any) {
24462447
const type = data.e;
2448+
this.Options.futures_all_updates_callback(data);
24472449
if (type === 'MARGIN_CALL') {
24482450
this.Options.future_margin_call_callback(this.fUserDataMarginConvertData(data));
24492451
} else if (type === 'ACCOUNT_UPDATE') {
@@ -2458,8 +2460,6 @@ export default class Binance {
24582460
if (this.Options.future_account_config_update_callback) {
24592461
this.Options.future_account_config_update_callback(this.fUserConfigDataAccountUpdateConvertData(data));
24602462
}
2461-
} else {
2462-
this.Options.log('Unexpected userFutureData: ' + type);
24632463
}
24642464
}
24652465

@@ -5229,14 +5229,15 @@ export default class Binance {
52295229

52305230
/**
52315231
* Userdata websockets function
5232+
* @param {function} all_updates_callback
52325233
* @param {function} execution_callback - optional execution callback
52335234
* @param {function} subscribed_callback - subscription callback
52345235
* @param {function} list_status_callback - status callback
52355236
* @return {undefined}
52365237
*/
5237-
async userData(callback: Callback, execution_callback?: Callback, subscribed_callback?: Callback, list_status_callback?: Callback) {
5238+
async userData(all_updates_callback: Function, balance_callback?: Callback, execution_callback?: Callback, subscribed_callback?: Callback, list_status_callback?: Callback) {
52385239
const reconnect = () => {
5239-
if (this.Options.reconnect) this.userData(callback, execution_callback, subscribed_callback);
5240+
if (this.Options.reconnect) this.userData(all_updates_callback, balance_callback, execution_callback, subscribed_callback);
52405241
};
52415242
const response = await this.apiRequest(this.getSpotUrl() + 'v3/userDataStream', {}, 'POST');
52425243
this.Options.listenKey = response.listenKey;
@@ -5250,8 +5251,9 @@ export default class Binance {
52505251
setTimeout(userDataKeepAlive, 60000); // retry in 1 minute
52515252
}
52525253
}, 60 * 30 * 1000); // 30 minute keepalive
5253-
this.Options.balance_callback = callback;
5254-
this.Options.execution_callback = execution_callback ? execution_callback : callback;//This change is required to listen for Orders
5254+
this.Options.all_updates_callback = all_updates_callback;
5255+
this.Options.balance_callback = balance_callback;
5256+
this.Options.execution_callback = execution_callback ? execution_callback : balance_callback;//This change is required to listen for Orders
52555257
this.Options.list_status_callback = list_status_callback;
52565258
const subscription = this.subscribe(this.Options.listenKey, this.userDataHandler, reconnect);
52575259
if (subscribed_callback) subscribed_callback(subscription.endpoint);
@@ -5290,16 +5292,17 @@ export default class Binance {
52905292

52915293
/**
52925294
* Future Userdata websockets function
5295+
* @param {function} all_updates_callback
52935296
* @param {function} margin_call_callback
52945297
* @param {function} account_update_callback
52955298
* @param {function} order_update_callback
52965299
* @param {Function} subscribed_callback - subscription callback
52975300
*/
5298-
async userFutureData(margin_call_callback, account_update_callback?: Callback, order_update_callback?: Callback, subscribed_callback?: Callback, account_config_update_callback?: Callback) {
5301+
async userFutureData(all_updates_callback?: Callback, margin_call_callback?: Callback, account_update_callback?: Callback, order_update_callback?: Callback, subscribed_callback?: Callback, account_config_update_callback?: Callback) {
52995302
const url = (this.Options.test) ? this.fapiTest : this.fapi;
53005303

53015304
const reconnect = () => {
5302-
if (this.Options.reconnect) this.userFutureData(margin_call_callback, account_update_callback, order_update_callback, subscribed_callback);
5305+
if (this.Options.reconnect) this.userFutureData(all_updates_callback, margin_call_callback, account_update_callback, order_update_callback, subscribed_callback);
53035306
};
53045307

53055308
const response = await this.apiRequest(url + 'v1/listenKey', {}, 'POST');
@@ -5312,6 +5315,7 @@ export default class Binance {
53125315
setTimeout(userDataKeepAlive, 60000); // retry in 1 minute
53135316
}
53145317
}, 60 * 30 * 1000); // 30 minute keepalive
5318+
this.Options.futures_all_updates_callback = all_updates_callback;
53155319
this.Options.future_margin_call_callback = margin_call_callback;
53165320
this.Options.future_account_update_callback = account_update_callback;
53175321
this.Options.future_account_config_update_callback = account_config_update_callback;

src/types.ts

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,38 @@ export interface Bid {
334334
quantity: string
335335
}
336336

337+
export interface BookTicker {
338+
symbol: string
339+
bidPrice: string
340+
bidQty: string
341+
askPrice: string
342+
askQty: string
343+
}
344+
345+
export interface DailyStats {
346+
symbol: string
347+
priceChange: string
348+
priceChangePercent: string
349+
weightedAvgPrice: string
350+
prevClosePrice: string
351+
lastPrice: string
352+
lastQty: string
353+
bidPrice: string
354+
bidQty: string
355+
askPrice: string
356+
askQty: string
357+
openPrice: string
358+
highPrice: string
359+
lowPrice: string
360+
volume: string
361+
quoteVolume: string
362+
openTime: number
363+
closeTime: number
364+
firstId: number // First tradeId
365+
lastId: number // Last tradeId
366+
count: number // Trade count
367+
}
368+
337369
export interface Ticker {
338370
eventType: string
339371
eventTime: number
@@ -488,3 +520,19 @@ export interface QueryOrder {
488520
type: OrderType
489521
updateTime: number
490522
}
523+
524+
export interface PremiumIndex {
525+
symbol: string
526+
markPrice: string
527+
indexPrice: string
528+
lastFundingRate: string
529+
nextFundingTime: number
530+
estimatedSettlePrice: string
531+
time: number
532+
}
533+
534+
export interface OpenInterest {
535+
openInterest: string
536+
symbol: string
537+
time: number
538+
}

0 commit comments

Comments
 (0)