ccxt 4.2.31 → 4.2.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +1 -0
- package/CONTRIBUTING.md +20 -1
- package/README.md +8 -7
- package/build.sh +9 -2
- package/cleanup.sh +3 -0
- package/dist/ccxt.browser.js +741 -501
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ace.js +3 -2
- package/dist/cjs/src/ascendex.js +1 -1
- package/dist/cjs/src/base/Exchange.js +62 -20
- package/dist/cjs/src/bigone.js +21 -1
- package/dist/cjs/src/binance.js +59 -15
- package/dist/cjs/src/bingx.js +4 -3
- package/dist/cjs/src/bit2c.js +12 -0
- package/dist/cjs/src/bitfinex2.js +12 -1
- package/dist/cjs/src/bitget.js +3 -3
- package/dist/cjs/src/bitmart.js +1 -1
- package/dist/cjs/src/bitrue.js +3 -3
- package/dist/cjs/src/blockchaincom.js +1 -1
- package/dist/cjs/src/bybit.js +1 -1
- package/dist/cjs/src/coinbase.js +2 -2
- package/dist/cjs/src/coinex.js +1 -1
- package/dist/cjs/src/cryptocom.js +10 -10
- package/dist/cjs/src/gate.js +34 -29
- package/dist/cjs/src/kraken.js +39 -0
- package/dist/cjs/src/krakenfutures.js +25 -3
- package/dist/cjs/src/kucoin.js +1 -1
- package/dist/cjs/src/mexc.js +2 -1
- package/dist/cjs/src/okx.js +4 -3
- package/dist/cjs/src/phemex.js +8 -8
- package/dist/cjs/src/pro/alpaca.js +8 -4
- package/dist/cjs/src/pro/ascendex.js +1 -2
- package/dist/cjs/src/pro/binance.js +17 -13
- package/dist/cjs/src/pro/bingx.js +1 -1
- package/dist/cjs/src/pro/bitfinex.js +21 -24
- package/dist/cjs/src/pro/bitfinex2.js +13 -17
- package/dist/cjs/src/pro/bitget.js +3 -1
- package/dist/cjs/src/pro/bitmart.js +3 -8
- package/dist/cjs/src/pro/bitmex.js +4 -7
- package/dist/cjs/src/pro/bitopro.js +2 -5
- package/dist/cjs/src/pro/bitrue.js +1 -1
- package/dist/cjs/src/pro/bitstamp.js +2 -3
- package/dist/cjs/src/pro/bitvavo.js +12 -5
- package/dist/cjs/src/pro/blockchaincom.js +22 -23
- package/dist/cjs/src/pro/bybit.js +5 -5
- package/dist/cjs/src/pro/cex.js +7 -7
- package/dist/cjs/src/pro/coinbase.js +3 -2
- package/dist/cjs/src/pro/coinbasepro.js +1 -1
- package/dist/cjs/src/pro/coinex.js +15 -13
- package/dist/cjs/src/pro/currencycom.js +5 -7
- package/dist/cjs/src/pro/deribit.js +4 -4
- package/dist/cjs/src/pro/exmo.js +15 -13
- package/dist/cjs/src/pro/gate.js +1 -1
- package/dist/cjs/src/pro/gemini.js +4 -2
- package/dist/cjs/src/pro/hitbtc.js +9 -8
- package/dist/cjs/src/pro/hollaex.js +2 -2
- package/dist/cjs/src/pro/htx.js +6 -7
- package/dist/cjs/src/pro/huobijp.js +3 -5
- package/dist/cjs/src/pro/idex.js +1 -1
- package/dist/cjs/src/pro/independentreserve.js +14 -13
- package/dist/cjs/src/pro/kraken.js +10 -16
- package/dist/cjs/src/pro/krakenfutures.js +10 -6
- package/dist/cjs/src/pro/kucoin.js +10 -11
- package/dist/cjs/src/pro/kucoinfutures.js +12 -11
- package/dist/cjs/src/pro/lbank.js +10 -10
- package/dist/cjs/src/pro/luno.js +12 -14
- package/dist/cjs/src/pro/mexc.js +3 -2
- package/dist/cjs/src/pro/ndax.js +7 -13
- package/dist/cjs/src/pro/okcoin.js +7 -12
- package/dist/cjs/src/pro/okx.js +6 -11
- package/dist/cjs/src/pro/onetrading.js +16 -15
- package/dist/cjs/src/pro/p2b.js +5 -3
- package/dist/cjs/src/pro/phemex.js +16 -11
- package/dist/cjs/src/pro/poloniex.js +6 -4
- package/dist/cjs/src/pro/poloniexfutures.js +14 -9
- package/dist/cjs/src/pro/probit.js +15 -11
- package/dist/cjs/src/pro/upbit.js +8 -8
- package/dist/cjs/src/pro/wazirx.js +6 -3
- package/dist/cjs/src/pro/woo.js +8 -6
- package/dist/cjs/src/probit.js +3 -3
- package/dist/cjs/src/tokocrypto.js +2 -2
- package/dist/cjs/src/wavesexchange.js +2 -1
- package/dist/cjs/src/woo.js +1 -1
- package/dist/cjs/src/yobit.js +39 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/ace.d.ts +1 -1
- package/js/src/ace.js +3 -2
- package/js/src/alpaca.d.ts +1 -1
- package/js/src/ascendex.d.ts +5 -15
- package/js/src/ascendex.js +1 -1
- package/js/src/base/Exchange.d.ts +86 -78
- package/js/src/base/Exchange.js +62 -20
- package/js/src/base/types.d.ts +90 -6
- package/js/src/bigone.d.ts +5 -15
- package/js/src/bigone.js +21 -1
- package/js/src/binance.d.ts +13 -23
- package/js/src/binance.js +59 -15
- package/js/src/bingx.d.ts +6 -16
- package/js/src/bingx.js +4 -3
- package/js/src/bit2c.d.ts +1 -1
- package/js/src/bit2c.js +12 -0
- package/js/src/bitbank.d.ts +2 -2
- package/js/src/bitbns.d.ts +1 -1
- package/js/src/bitfinex.d.ts +5 -5
- package/js/src/bitfinex2.d.ts +7 -17
- package/js/src/bitfinex2.js +12 -1
- package/js/src/bitflyer.d.ts +5 -5
- package/js/src/bitforex.d.ts +1 -1
- package/js/src/bitget.d.ts +8 -38
- package/js/src/bitget.js +3 -3
- package/js/src/bithumb.d.ts +2 -2
- package/js/src/bitmart.d.ts +10 -21
- package/js/src/bitmart.js +1 -1
- package/js/src/bitmex.d.ts +3 -3
- package/js/src/bitopro.d.ts +2 -2
- package/js/src/bitrue.d.ts +5 -15
- package/js/src/bitrue.js +3 -3
- package/js/src/bitso.d.ts +4 -4
- package/js/src/bitstamp.d.ts +2 -2
- package/js/src/bitteam.d.ts +1 -1
- package/js/src/bitvavo.d.ts +3 -3
- package/js/src/bl3p.d.ts +1 -1
- package/js/src/blockchaincom.d.ts +2 -2
- package/js/src/blockchaincom.js +1 -1
- package/js/src/btcalpha.d.ts +1 -1
- package/js/src/btcbox.d.ts +1 -1
- package/js/src/btcmarkets.d.ts +3 -3
- package/js/src/btcturk.d.ts +1 -1
- package/js/src/bybit.d.ts +8 -8
- package/js/src/bybit.js +1 -1
- package/js/src/cex.d.ts +1 -1
- package/js/src/coinbase.d.ts +6 -50
- package/js/src/coinbase.js +2 -2
- package/js/src/coinbasepro.d.ts +2 -2
- package/js/src/coincheck.d.ts +1 -1
- package/js/src/coinex.d.ts +8 -8
- package/js/src/coinex.js +1 -1
- package/js/src/coinlist.d.ts +4 -14
- package/js/src/coinmate.d.ts +2 -2
- package/js/src/coinmetro.d.ts +2 -2
- package/js/src/coinone.d.ts +1 -1
- package/js/src/coinsph.d.ts +2 -2
- package/js/src/coinspot.d.ts +1 -1
- package/js/src/cryptocom.d.ts +4 -4
- package/js/src/cryptocom.js +10 -10
- package/js/src/currencycom.d.ts +2 -2
- package/js/src/delta.d.ts +2 -2
- package/js/src/deribit.d.ts +4 -14
- package/js/src/digifinex.d.ts +10 -38
- package/js/src/exmo.d.ts +2 -2
- package/js/src/gate.d.ts +8 -18
- package/js/src/gate.js +34 -29
- package/js/src/gemini.d.ts +2 -2
- package/js/src/hitbtc.d.ts +6 -16
- package/js/src/hollaex.d.ts +2 -2
- package/js/src/htx.d.ts +11 -21
- package/js/src/huobijp.d.ts +4 -4
- package/js/src/idex.d.ts +3 -3
- package/js/src/independentreserve.d.ts +2 -2
- package/js/src/indodax.d.ts +2 -2
- package/js/src/kraken.d.ts +5 -5
- package/js/src/kraken.js +39 -0
- package/js/src/krakenfutures.d.ts +7 -7
- package/js/src/krakenfutures.js +25 -3
- package/js/src/kucoin.d.ts +8 -29
- package/js/src/kucoin.js +1 -1
- package/js/src/kucoinfutures.d.ts +4 -4
- package/js/src/kuna.d.ts +2 -2
- package/js/src/latoken.d.ts +4 -14
- package/js/src/lbank.d.ts +2 -5
- package/js/src/luno.d.ts +1 -1
- package/js/src/lykke.d.ts +2 -2
- package/js/src/mercado.d.ts +2 -2
- package/js/src/mexc.d.ts +6 -6
- package/js/src/mexc.js +2 -1
- package/js/src/ndax.d.ts +2 -2
- package/js/src/novadax.d.ts +4 -15
- package/js/src/oceanex.d.ts +1 -1
- package/js/src/okcoin.d.ts +5 -15
- package/js/src/okx.d.ts +8 -18
- package/js/src/okx.js +4 -3
- package/js/src/onetrading.d.ts +2 -2
- package/js/src/p2b.d.ts +1 -1
- package/js/src/paymium.d.ts +3 -13
- package/js/src/phemex.d.ts +5 -5
- package/js/src/phemex.js +8 -8
- package/js/src/poloniex.d.ts +4 -14
- package/js/src/poloniexfutures.d.ts +1 -1
- package/js/src/pro/alpaca.d.ts +2 -2
- package/js/src/pro/alpaca.js +8 -4
- package/js/src/pro/ascendex.d.ts +2 -2
- package/js/src/pro/ascendex.js +1 -2
- package/js/src/pro/binance.d.ts +3 -3
- package/js/src/pro/binance.js +17 -13
- package/js/src/pro/bingx.d.ts +1 -1
- package/js/src/pro/bingx.js +1 -1
- package/js/src/pro/bitfinex.d.ts +2 -2
- package/js/src/pro/bitfinex.js +21 -24
- package/js/src/pro/bitfinex2.d.ts +2 -2
- package/js/src/pro/bitfinex2.js +13 -17
- package/js/src/pro/bitget.js +3 -1
- package/js/src/pro/bitmart.d.ts +3 -3
- package/js/src/pro/bitmart.js +3 -8
- package/js/src/pro/bitmex.d.ts +1 -1
- package/js/src/pro/bitmex.js +4 -7
- package/js/src/pro/bitopro.d.ts +1 -1
- package/js/src/pro/bitopro.js +2 -5
- package/js/src/pro/bitrue.js +1 -1
- package/js/src/pro/bitstamp.d.ts +1 -1
- package/js/src/pro/bitstamp.js +2 -3
- package/js/src/pro/bitvavo.d.ts +3 -3
- package/js/src/pro/bitvavo.js +12 -5
- package/js/src/pro/blockchaincom.d.ts +8 -8
- package/js/src/pro/blockchaincom.js +22 -23
- package/js/src/pro/bybit.d.ts +2 -2
- package/js/src/pro/bybit.js +5 -5
- package/js/src/pro/cex.d.ts +1 -1
- package/js/src/pro/cex.js +7 -7
- package/js/src/pro/coinbase.d.ts +1 -1
- package/js/src/pro/coinbase.js +3 -2
- package/js/src/pro/coinbasepro.d.ts +1 -1
- package/js/src/pro/coinbasepro.js +1 -1
- package/js/src/pro/coinex.d.ts +2 -2
- package/js/src/pro/coinex.js +15 -13
- package/js/src/pro/currencycom.d.ts +1 -1
- package/js/src/pro/currencycom.js +5 -7
- package/js/src/pro/deribit.d.ts +2 -2
- package/js/src/pro/deribit.js +4 -4
- package/js/src/pro/exmo.d.ts +2 -2
- package/js/src/pro/exmo.js +15 -13
- package/js/src/pro/gate.js +1 -1
- package/js/src/pro/gemini.d.ts +1 -1
- package/js/src/pro/gemini.js +4 -2
- package/js/src/pro/hitbtc.d.ts +2 -2
- package/js/src/pro/hitbtc.js +9 -8
- package/js/src/pro/hollaex.d.ts +2 -2
- package/js/src/pro/hollaex.js +2 -2
- package/js/src/pro/htx.d.ts +2 -2
- package/js/src/pro/htx.js +6 -7
- package/js/src/pro/huobijp.d.ts +1 -1
- package/js/src/pro/huobijp.js +3 -5
- package/js/src/pro/idex.js +1 -1
- package/js/src/pro/independentreserve.d.ts +1 -1
- package/js/src/pro/independentreserve.js +14 -13
- package/js/src/pro/kraken.d.ts +2 -2
- package/js/src/pro/kraken.js +10 -16
- package/js/src/pro/krakenfutures.d.ts +1 -1
- package/js/src/pro/krakenfutures.js +10 -6
- package/js/src/pro/kucoin.d.ts +3 -3
- package/js/src/pro/kucoin.js +10 -11
- package/js/src/pro/kucoinfutures.d.ts +3 -3
- package/js/src/pro/kucoinfutures.js +12 -11
- package/js/src/pro/lbank.d.ts +1 -1
- package/js/src/pro/lbank.js +10 -10
- package/js/src/pro/luno.d.ts +2 -2
- package/js/src/pro/luno.js +12 -14
- package/js/src/pro/mexc.d.ts +2 -2
- package/js/src/pro/mexc.js +3 -2
- package/js/src/pro/ndax.d.ts +3 -3
- package/js/src/pro/ndax.js +7 -13
- package/js/src/pro/okcoin.d.ts +1 -1
- package/js/src/pro/okcoin.js +7 -12
- package/js/src/pro/okx.d.ts +1 -1
- package/js/src/pro/okx.js +6 -11
- package/js/src/pro/onetrading.d.ts +1 -1
- package/js/src/pro/onetrading.js +16 -15
- package/js/src/pro/p2b.d.ts +1 -1
- package/js/src/pro/p2b.js +5 -3
- package/js/src/pro/phemex.d.ts +3 -3
- package/js/src/pro/phemex.js +16 -11
- package/js/src/pro/poloniex.d.ts +1 -1
- package/js/src/pro/poloniex.js +6 -4
- package/js/src/pro/poloniexfutures.d.ts +4 -4
- package/js/src/pro/poloniexfutures.js +13 -10
- package/js/src/pro/probit.d.ts +1 -1
- package/js/src/pro/probit.js +14 -12
- package/js/src/pro/upbit.js +8 -8
- package/js/src/pro/wazirx.d.ts +1 -1
- package/js/src/pro/wazirx.js +6 -3
- package/js/src/pro/woo.d.ts +3 -3
- package/js/src/pro/woo.js +8 -6
- package/js/src/probit.d.ts +3 -3
- package/js/src/probit.js +3 -3
- package/js/src/timex.d.ts +1 -1
- package/js/src/tokocrypto.d.ts +3 -3
- package/js/src/tokocrypto.js +2 -2
- package/js/src/upbit.d.ts +2 -2
- package/js/src/wavesexchange.d.ts +3 -4
- package/js/src/wavesexchange.js +2 -1
- package/js/src/wazirx.d.ts +1 -1
- package/js/src/whitebit.d.ts +5 -15
- package/js/src/woo.d.ts +5 -15
- package/js/src/woo.js +1 -1
- package/js/src/yobit.d.ts +21 -6
- package/js/src/yobit.js +39 -0
- package/js/src/zaif.d.ts +2 -2
- package/js/src/zonda.d.ts +4 -14
- package/package.json +22 -8
- package/skip-tests.json +9 -1
- package/tests-manager.sh +1 -2
package/js/src/pro/bingx.js
CHANGED
|
@@ -720,7 +720,7 @@ export default class bingx extends bingxRest {
|
|
|
720
720
|
}
|
|
721
721
|
setBalanceCache(client, type, subscriptionHash, params) {
|
|
722
722
|
if (subscriptionHash in client.subscriptions) {
|
|
723
|
-
return
|
|
723
|
+
return;
|
|
724
724
|
}
|
|
725
725
|
const fetchBalanceSnapshot = this.handleOptionAndParams(params, 'watchBalance', 'fetchBalanceSnapshot', true);
|
|
726
726
|
if (fetchBalanceSnapshot) {
|
package/js/src/pro/bitfinex.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export default class bitfinex extends bitfinexRest {
|
|
|
6
6
|
subscribe(channel: any, symbol: any, params?: {}): Promise<any>;
|
|
7
7
|
watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
8
8
|
watchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
9
|
-
handleTrades(client: Client, message: any, subscription: any):
|
|
9
|
+
handleTrades(client: Client, message: any, subscription: any): void;
|
|
10
10
|
parseTrade(trade: any, market?: any): Trade;
|
|
11
11
|
handleTicker(client: Client, message: any, subscription: any): void;
|
|
12
12
|
watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
@@ -21,5 +21,5 @@ export default class bitfinex extends bitfinexRest {
|
|
|
21
21
|
handleOrders(client: Client, message: any, subscription: any): void;
|
|
22
22
|
parseWsOrderStatus(status: any): string;
|
|
23
23
|
handleOrder(client: Client, order: any): Order;
|
|
24
|
-
handleMessage(client: Client, message: any):
|
|
24
|
+
handleMessage(client: Client, message: any): void;
|
|
25
25
|
}
|
package/js/src/pro/bitfinex.js
CHANGED
|
@@ -135,7 +135,6 @@ export default class bitfinex extends bitfinexRest {
|
|
|
135
135
|
stored.append(trade);
|
|
136
136
|
}
|
|
137
137
|
client.resolve(stored, messageHash);
|
|
138
|
-
return message;
|
|
139
138
|
}
|
|
140
139
|
parseTrade(trade, market = undefined) {
|
|
141
140
|
//
|
|
@@ -325,8 +324,9 @@ export default class bitfinex extends bitfinexRest {
|
|
|
325
324
|
const delta = deltas[i];
|
|
326
325
|
const id = this.safeString(delta, 0);
|
|
327
326
|
const price = this.safeFloat(delta, 1);
|
|
328
|
-
const
|
|
329
|
-
const
|
|
327
|
+
const delta2Value = delta[2];
|
|
328
|
+
const size = (delta2Value < 0) ? -delta2Value : delta2Value;
|
|
329
|
+
const side = (delta2Value < 0) ? 'asks' : 'bids';
|
|
330
330
|
const bookside = orderbook[side];
|
|
331
331
|
bookside.store(price, size, id);
|
|
332
332
|
}
|
|
@@ -335,10 +335,11 @@ export default class bitfinex extends bitfinexRest {
|
|
|
335
335
|
const deltas = message[1];
|
|
336
336
|
for (let i = 0; i < deltas.length; i++) {
|
|
337
337
|
const delta = deltas[i];
|
|
338
|
-
const
|
|
339
|
-
const
|
|
340
|
-
const
|
|
341
|
-
|
|
338
|
+
const delta2 = delta[2];
|
|
339
|
+
const size = (delta2 < 0) ? -delta2 : delta2;
|
|
340
|
+
const side = (delta2 < 0) ? 'asks' : 'bids';
|
|
341
|
+
const countedBookSide = orderbook[side];
|
|
342
|
+
countedBookSide.store(delta[0], size, delta[1]);
|
|
342
343
|
}
|
|
343
344
|
}
|
|
344
345
|
client.resolve(orderbook, messageHash);
|
|
@@ -348,18 +349,20 @@ export default class bitfinex extends bitfinexRest {
|
|
|
348
349
|
if (isRaw) {
|
|
349
350
|
const id = this.safeString(message, 1);
|
|
350
351
|
const price = this.safeString(message, 2);
|
|
351
|
-
const
|
|
352
|
-
const
|
|
352
|
+
const message3 = message[3];
|
|
353
|
+
const size = (message3 < 0) ? -message3 : message3;
|
|
354
|
+
const side = (message3 < 0) ? 'asks' : 'bids';
|
|
353
355
|
const bookside = orderbook[side];
|
|
354
356
|
// price = 0 means that you have to remove the order from your book
|
|
355
357
|
const amount = Precise.stringGt(price, '0') ? size : '0';
|
|
356
358
|
bookside.store(this.parseNumber(price), this.parseNumber(amount), id);
|
|
357
359
|
}
|
|
358
360
|
else {
|
|
359
|
-
const
|
|
360
|
-
const
|
|
361
|
-
const
|
|
362
|
-
|
|
361
|
+
const message3Value = message[3];
|
|
362
|
+
const size = (message3Value < 0) ? -message3Value : message3Value;
|
|
363
|
+
const side = (message3Value < 0) ? 'asks' : 'bids';
|
|
364
|
+
const countedBookSide = orderbook[side];
|
|
365
|
+
countedBookSide.store(message[1], size, message[2]);
|
|
363
366
|
}
|
|
364
367
|
client.resolve(orderbook, messageHash);
|
|
365
368
|
}
|
|
@@ -620,7 +623,7 @@ export default class bitfinex extends bitfinexRest {
|
|
|
620
623
|
// ]
|
|
621
624
|
//
|
|
622
625
|
if (message[1] === 'hb') {
|
|
623
|
-
return
|
|
626
|
+
return; // skip heartbeats within subscription channels for now
|
|
624
627
|
}
|
|
625
628
|
const subscription = this.safeValue(client.subscriptions, channelId, {});
|
|
626
629
|
const channel = this.safeString(subscription, 'channel');
|
|
@@ -635,11 +638,8 @@ export default class bitfinex extends bitfinexRest {
|
|
|
635
638
|
'oc': this.handleOrders,
|
|
636
639
|
};
|
|
637
640
|
const method = this.safeValue2(methods, channel, name);
|
|
638
|
-
if (method
|
|
639
|
-
|
|
640
|
-
}
|
|
641
|
-
else {
|
|
642
|
-
return method.call(this, client, message, subscription);
|
|
641
|
+
if (method !== undefined) {
|
|
642
|
+
method.call(this, client, message, subscription);
|
|
643
643
|
}
|
|
644
644
|
}
|
|
645
645
|
else {
|
|
@@ -661,11 +661,8 @@ export default class bitfinex extends bitfinexRest {
|
|
|
661
661
|
'auth': this.handleAuthenticationMessage,
|
|
662
662
|
};
|
|
663
663
|
const method = this.safeValue(methods, event);
|
|
664
|
-
if (method
|
|
665
|
-
|
|
666
|
-
}
|
|
667
|
-
else {
|
|
668
|
-
return method.call(this, client, message);
|
|
664
|
+
if (method !== undefined) {
|
|
665
|
+
method.call(this, client, message);
|
|
669
666
|
}
|
|
670
667
|
}
|
|
671
668
|
}
|
|
@@ -11,7 +11,7 @@ export default class bitfinex2 extends bitfinex2Rest {
|
|
|
11
11
|
watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
12
12
|
watchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
13
13
|
handleMyTrade(client: Client, message: any, subscription?: {}): void;
|
|
14
|
-
handleTrades(client: Client, message: any, subscription: any):
|
|
14
|
+
handleTrades(client: Client, message: any, subscription: any): void;
|
|
15
15
|
parseWsTrade(trade: any, market?: any): Trade;
|
|
16
16
|
handleTicker(client: Client, message: any, subscription: any): void;
|
|
17
17
|
parseWsTicker(ticker: any, market?: any): Ticker;
|
|
@@ -29,5 +29,5 @@ export default class bitfinex2 extends bitfinex2Rest {
|
|
|
29
29
|
handleOrders(client: Client, message: any, subscription: any): void;
|
|
30
30
|
parseWsOrderStatus(status: any): string;
|
|
31
31
|
parseWsOrder(order: any, market?: any): Order;
|
|
32
|
-
handleMessage(client: Client, message: any):
|
|
32
|
+
handleMessage(client: Client, message: any): void;
|
|
33
33
|
}
|
package/js/src/pro/bitfinex2.js
CHANGED
|
@@ -342,7 +342,6 @@ export default class bitfinex2 extends bitfinex2Rest {
|
|
|
342
342
|
stored.append(parsed);
|
|
343
343
|
}
|
|
344
344
|
client.resolve(stored, messageHash);
|
|
345
|
-
return message;
|
|
346
345
|
}
|
|
347
346
|
parseWsTrade(trade, market = undefined) {
|
|
348
347
|
//
|
|
@@ -594,8 +593,9 @@ export default class bitfinex2 extends bitfinex2Rest {
|
|
|
594
593
|
const deltas = message[1];
|
|
595
594
|
for (let i = 0; i < deltas.length; i++) {
|
|
596
595
|
const delta = deltas[i];
|
|
597
|
-
const
|
|
598
|
-
const
|
|
596
|
+
const delta2 = delta[2];
|
|
597
|
+
const size = (delta2 < 0) ? -delta2 : delta2;
|
|
598
|
+
const side = (delta2 < 0) ? 'asks' : 'bids';
|
|
599
599
|
const bookside = orderbook[side];
|
|
600
600
|
const idString = this.safeString(delta, 0);
|
|
601
601
|
const price = this.safeFloat(delta, 1);
|
|
@@ -623,8 +623,9 @@ export default class bitfinex2 extends bitfinex2Rest {
|
|
|
623
623
|
const orderbookItem = this.orderbooks[symbol];
|
|
624
624
|
if (isRaw) {
|
|
625
625
|
const price = this.safeString(deltas, 1);
|
|
626
|
-
const
|
|
627
|
-
const
|
|
626
|
+
const deltas2 = deltas[2];
|
|
627
|
+
const size = (deltas2 < 0) ? -deltas2 : deltas2;
|
|
628
|
+
const side = (deltas2 < 0) ? 'asks' : 'bids';
|
|
628
629
|
const bookside = orderbookItem[side];
|
|
629
630
|
// price = 0 means that you have to remove the order from your book
|
|
630
631
|
const amount = Precise.stringGt(price, '0') ? size : '0';
|
|
@@ -672,7 +673,8 @@ export default class bitfinex2 extends bitfinex2Rest {
|
|
|
672
673
|
}
|
|
673
674
|
if (ask !== undefined) {
|
|
674
675
|
stringArray.push(this.numberToString(asks[i][idToCheck]));
|
|
675
|
-
|
|
676
|
+
const aski1 = asks[i][1];
|
|
677
|
+
stringArray.push(this.numberToString(-aski1));
|
|
676
678
|
}
|
|
677
679
|
}
|
|
678
680
|
const payload = stringArray.join(':');
|
|
@@ -1104,7 +1106,7 @@ export default class bitfinex2 extends bitfinex2Rest {
|
|
|
1104
1106
|
//
|
|
1105
1107
|
if (Array.isArray(message)) {
|
|
1106
1108
|
if (message[1] === 'hb') {
|
|
1107
|
-
return
|
|
1109
|
+
return; // skip heartbeats within subscription channels for now
|
|
1108
1110
|
}
|
|
1109
1111
|
const subscription = this.safeValue(client.subscriptions, channelId, {});
|
|
1110
1112
|
const channel = this.safeString(subscription, 'channel');
|
|
@@ -1132,11 +1134,8 @@ export default class bitfinex2 extends bitfinex2Rest {
|
|
|
1132
1134
|
else {
|
|
1133
1135
|
method = this.safeValue2(publicMethods, name, channel);
|
|
1134
1136
|
}
|
|
1135
|
-
if (method
|
|
1136
|
-
|
|
1137
|
-
}
|
|
1138
|
-
else {
|
|
1139
|
-
return method.call(this, client, message, subscription);
|
|
1137
|
+
if (method !== undefined) {
|
|
1138
|
+
method.call(this, client, message, subscription);
|
|
1140
1139
|
}
|
|
1141
1140
|
}
|
|
1142
1141
|
else {
|
|
@@ -1148,11 +1147,8 @@ export default class bitfinex2 extends bitfinex2Rest {
|
|
|
1148
1147
|
'auth': this.handleAuthenticationMessage,
|
|
1149
1148
|
};
|
|
1150
1149
|
const method = this.safeValue(methods, event);
|
|
1151
|
-
if (method
|
|
1152
|
-
|
|
1153
|
-
}
|
|
1154
|
-
else {
|
|
1155
|
-
return method.call(this, client, message);
|
|
1150
|
+
if (method !== undefined) {
|
|
1151
|
+
method.call(this, client, message);
|
|
1156
1152
|
}
|
|
1157
1153
|
}
|
|
1158
1154
|
}
|
package/js/src/pro/bitget.js
CHANGED
|
@@ -98,7 +98,9 @@ export default class bitget extends bitgetRest {
|
|
|
98
98
|
else {
|
|
99
99
|
instType = 'SPOT';
|
|
100
100
|
}
|
|
101
|
-
|
|
101
|
+
let instypeAux = undefined;
|
|
102
|
+
[instypeAux, params] = this.handleOptionAndParams(params, 'getInstType', 'instType', instType);
|
|
103
|
+
instType = instypeAux;
|
|
102
104
|
return [instType, params];
|
|
103
105
|
}
|
|
104
106
|
async watchTicker(symbol, params = {}) {
|
package/js/src/pro/bitmart.d.ts
CHANGED
|
@@ -19,9 +19,9 @@ export default class bitmart extends bitmartRest {
|
|
|
19
19
|
watchPositions(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
|
|
20
20
|
handlePositions(client: Client, message: any): void;
|
|
21
21
|
parseWsPosition(position: any, market?: Market): Position;
|
|
22
|
-
handleTrade(client: Client, message: any):
|
|
22
|
+
handleTrade(client: Client, message: any): void;
|
|
23
23
|
parseWsTrade(trade: any, market?: Market): Trade;
|
|
24
|
-
handleTicker(client: Client, message: any):
|
|
24
|
+
handleTicker(client: Client, message: any): void;
|
|
25
25
|
resolveMessageHashesForSymbol(client: any, symbol: any, result: any, prexif: any): void;
|
|
26
26
|
parseWsSwapTicker(ticker: any, market?: Market): Ticker;
|
|
27
27
|
watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
@@ -35,5 +35,5 @@ export default class bitmart extends bitmartRest {
|
|
|
35
35
|
handleSubscriptionStatus(client: Client, message: any): any;
|
|
36
36
|
handleAuthenticate(client: Client, message: any): void;
|
|
37
37
|
handleErrorMessage(client: Client, message: any): boolean;
|
|
38
|
-
handleMessage(client: Client, message: any):
|
|
38
|
+
handleMessage(client: Client, message: any): void;
|
|
39
39
|
}
|
package/js/src/pro/bitmart.js
CHANGED
|
@@ -819,7 +819,6 @@ export default class bitmart extends bitmartRest {
|
|
|
819
819
|
messageHash += ':' + this.safeString(data[0], 'symbol');
|
|
820
820
|
}
|
|
821
821
|
client.resolve(stored, messageHash);
|
|
822
|
-
return message;
|
|
823
822
|
}
|
|
824
823
|
parseWsTrade(trade, market = undefined) {
|
|
825
824
|
// spot
|
|
@@ -921,7 +920,6 @@ export default class bitmart extends bitmartRest {
|
|
|
921
920
|
client.resolve(ticker, 'tickers::swap');
|
|
922
921
|
this.resolveMessageHashesForSymbol(client, symbol, ticker, 'tickers::');
|
|
923
922
|
}
|
|
924
|
-
return message;
|
|
925
923
|
}
|
|
926
924
|
resolveMessageHashesForSymbol(client, symbol, result, prexif) {
|
|
927
925
|
const prefixSeparator = '::';
|
|
@@ -1455,11 +1453,8 @@ export default class bitmart extends bitmartRest {
|
|
|
1455
1453
|
'subscribe': this.handleSubscriptionStatus,
|
|
1456
1454
|
};
|
|
1457
1455
|
const method = this.safeValue(methods, event);
|
|
1458
|
-
if (method
|
|
1459
|
-
|
|
1460
|
-
}
|
|
1461
|
-
else {
|
|
1462
|
-
return method.call(this, client, message);
|
|
1456
|
+
if (method !== undefined) {
|
|
1457
|
+
method.call(this, client, message);
|
|
1463
1458
|
}
|
|
1464
1459
|
}
|
|
1465
1460
|
}
|
|
@@ -1479,7 +1474,7 @@ export default class bitmart extends bitmartRest {
|
|
|
1479
1474
|
const key = keys[i];
|
|
1480
1475
|
if (channel.indexOf(key) >= 0) {
|
|
1481
1476
|
const method = this.safeValue(methods, key);
|
|
1482
|
-
|
|
1477
|
+
method.call(this, client, message);
|
|
1483
1478
|
}
|
|
1484
1479
|
}
|
|
1485
1480
|
}
|
package/js/src/pro/bitmex.d.ts
CHANGED
|
@@ -27,5 +27,5 @@ export default class bitmex extends bitmexRest {
|
|
|
27
27
|
handleSystemStatus(client: Client, message: any): any;
|
|
28
28
|
handleSubscriptionStatus(client: Client, message: any): any;
|
|
29
29
|
handleErrorMessage(client: Client, message: any): boolean;
|
|
30
|
-
handleMessage(client: Client, message: any):
|
|
30
|
+
handleMessage(client: Client, message: any): void;
|
|
31
31
|
}
|
package/js/src/pro/bitmex.js
CHANGED
|
@@ -1527,7 +1527,7 @@ export default class bitmex extends bitmexRest {
|
|
|
1527
1527
|
//
|
|
1528
1528
|
// { "error": "Rate limit exceeded, retry in 29 seconds." }
|
|
1529
1529
|
//
|
|
1530
|
-
const error = this.
|
|
1530
|
+
const error = this.safeString(message, 'error');
|
|
1531
1531
|
if (error !== undefined) {
|
|
1532
1532
|
const request = this.safeValue(message, 'request', {});
|
|
1533
1533
|
const args = this.safeValue(request, 'args', []);
|
|
@@ -1538,7 +1538,7 @@ export default class bitmex extends bitmexRest {
|
|
|
1538
1538
|
const broadKey = this.findBroadlyMatchedKey(broad, error);
|
|
1539
1539
|
let exception = undefined;
|
|
1540
1540
|
if (broadKey === undefined) {
|
|
1541
|
-
exception = new ExchangeError(error);
|
|
1541
|
+
exception = new ExchangeError(error); // c# requirement for now
|
|
1542
1542
|
}
|
|
1543
1543
|
else {
|
|
1544
1544
|
exception = new broad[broadKey](error);
|
|
@@ -1606,14 +1606,11 @@ export default class bitmex extends bitmexRest {
|
|
|
1606
1606
|
const request = this.safeValue(message, 'request', {});
|
|
1607
1607
|
const op = this.safeValue(request, 'op');
|
|
1608
1608
|
if (op === 'authKeyExpires') {
|
|
1609
|
-
|
|
1610
|
-
}
|
|
1611
|
-
else {
|
|
1612
|
-
return message;
|
|
1609
|
+
this.handleAuthenticationMessage(client, message);
|
|
1613
1610
|
}
|
|
1614
1611
|
}
|
|
1615
1612
|
else {
|
|
1616
|
-
|
|
1613
|
+
method.call(this, client, message);
|
|
1617
1614
|
}
|
|
1618
1615
|
}
|
|
1619
1616
|
}
|
package/js/src/pro/bitopro.d.ts
CHANGED
|
@@ -16,5 +16,5 @@ export default class bitopro extends bitoproRest {
|
|
|
16
16
|
authenticate(url: any): void;
|
|
17
17
|
watchBalance(params?: {}): Promise<Balances>;
|
|
18
18
|
handleBalance(client: Client, message: any): void;
|
|
19
|
-
handleMessage(client: Client, message: any):
|
|
19
|
+
handleMessage(client: Client, message: any): void;
|
|
20
20
|
}
|
package/js/src/pro/bitopro.js
CHANGED
|
@@ -467,11 +467,8 @@ export default class bitopro extends bitoproRest {
|
|
|
467
467
|
};
|
|
468
468
|
const event = this.safeString(message, 'event');
|
|
469
469
|
const method = this.safeValue(methods, event);
|
|
470
|
-
if (method
|
|
471
|
-
|
|
472
|
-
}
|
|
473
|
-
else {
|
|
474
|
-
return method.call(this, client, message);
|
|
470
|
+
if (method !== undefined) {
|
|
471
|
+
method.call(this, client, message);
|
|
475
472
|
}
|
|
476
473
|
}
|
|
477
474
|
}
|
package/js/src/pro/bitrue.js
CHANGED
package/js/src/pro/bitstamp.d.ts
CHANGED
|
@@ -19,6 +19,6 @@ export default class bitstamp extends bitstampRest {
|
|
|
19
19
|
handleSubject(client: Client, message: any): void;
|
|
20
20
|
handleErrorMessage(client: Client, message: any): any;
|
|
21
21
|
handleMessage(client: Client, message: any): void;
|
|
22
|
-
authenticate(params?: {}): Promise<
|
|
22
|
+
authenticate(params?: {}): Promise<void>;
|
|
23
23
|
subscribePrivate(subscription: any, messageHash: any, params?: {}): Promise<any>;
|
|
24
24
|
}
|
package/js/src/pro/bitstamp.js
CHANGED
|
@@ -501,10 +501,10 @@ export default class bitstamp extends bitstampRest {
|
|
|
501
501
|
//
|
|
502
502
|
const event = this.safeString(message, 'event');
|
|
503
503
|
if (event === 'bts:subscription_succeeded') {
|
|
504
|
-
|
|
504
|
+
this.handleSubscriptionStatus(client, message);
|
|
505
505
|
}
|
|
506
506
|
else {
|
|
507
|
-
|
|
507
|
+
this.handleSubject(client, message);
|
|
508
508
|
}
|
|
509
509
|
}
|
|
510
510
|
async authenticate(params = {}) {
|
|
@@ -527,7 +527,6 @@ export default class bitstamp extends bitstampRest {
|
|
|
527
527
|
this.options['expiresIn'] = this.sum(time, validity);
|
|
528
528
|
this.options['userId'] = userId;
|
|
529
529
|
this.options['wsSessionToken'] = sessionToken;
|
|
530
|
-
return response;
|
|
531
530
|
}
|
|
532
531
|
}
|
|
533
532
|
}
|
package/js/src/pro/bitvavo.d.ts
CHANGED
|
@@ -17,12 +17,12 @@ export default class bitvavo extends bitvavoRest {
|
|
|
17
17
|
handleOrderBookMessage(client: Client, message: any, orderbook: any): any;
|
|
18
18
|
handleOrderBook(client: Client, message: any): void;
|
|
19
19
|
watchOrderBookSnapshot(client: any, message: any, subscription: any): Promise<any>;
|
|
20
|
-
handleOrderBookSnapshot(client: Client, message: any):
|
|
20
|
+
handleOrderBookSnapshot(client: Client, message: any): void;
|
|
21
21
|
handleOrderBookSubscription(client: Client, message: any, subscription: any): void;
|
|
22
22
|
handleOrderBookSubscriptions(client: Client, message: any, marketIds: any): void;
|
|
23
23
|
watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
24
24
|
watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
25
|
-
createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount:
|
|
25
|
+
createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
|
|
26
26
|
editOrderWs(id: string, symbol: any, type: any, side: any, amount?: any, price?: any, params?: {}): Promise<Order>;
|
|
27
27
|
cancelOrderWs(id: string, symbol?: string, params?: {}): Promise<any>;
|
|
28
28
|
cancelAllOrdersWs(symbol?: string, params?: {}): Promise<any>;
|
|
@@ -56,7 +56,7 @@ export default class bitvavo extends bitvavoRest {
|
|
|
56
56
|
handleOrder(client: Client, message: any): void;
|
|
57
57
|
handleMyTrade(client: Client, message: any): void;
|
|
58
58
|
handleSubscriptionStatus(client: Client, message: any): any;
|
|
59
|
-
authenticate(params?: {}): any
|
|
59
|
+
authenticate(params?: {}): Promise<any>;
|
|
60
60
|
handleAuthenticationMessage(client: Client, message: any): void;
|
|
61
61
|
handleErrorMessage(client: Client, message: any): void;
|
|
62
62
|
handleMessage(client: Client, message: any): void;
|
package/js/src/pro/bitvavo.js
CHANGED
|
@@ -415,7 +415,7 @@ export default class bitvavo extends bitvavoRest {
|
|
|
415
415
|
//
|
|
416
416
|
const response = this.safeValue(message, 'response');
|
|
417
417
|
if (response === undefined) {
|
|
418
|
-
return
|
|
418
|
+
return;
|
|
419
419
|
}
|
|
420
420
|
const marketId = this.safeString(response, 'market');
|
|
421
421
|
const symbol = this.safeSymbol(marketId, undefined, '-');
|
|
@@ -1197,7 +1197,7 @@ export default class bitvavo extends bitvavoRest {
|
|
|
1197
1197
|
}
|
|
1198
1198
|
return message;
|
|
1199
1199
|
}
|
|
1200
|
-
authenticate(params = {}) {
|
|
1200
|
+
async authenticate(params = {}) {
|
|
1201
1201
|
const url = this.urls['api']['ws'];
|
|
1202
1202
|
const client = this.client(url);
|
|
1203
1203
|
const messageHash = 'authenticated';
|
|
@@ -1342,9 +1342,16 @@ export default class bitvavo extends bitvavoRest {
|
|
|
1342
1342
|
'getCandles': this.handleFetchOHLCV,
|
|
1343
1343
|
'getMarkets': this.handleMarkets,
|
|
1344
1344
|
};
|
|
1345
|
-
const event = this.
|
|
1346
|
-
|
|
1347
|
-
if (method
|
|
1345
|
+
const event = this.safeString(message, 'event');
|
|
1346
|
+
let method = this.safeValue(methods, event);
|
|
1347
|
+
if (method === undefined) {
|
|
1348
|
+
const action = this.safeString(message, 'action');
|
|
1349
|
+
method = this.safeValue(methods, action);
|
|
1350
|
+
if (method !== undefined) {
|
|
1351
|
+
method.call(this, client, message);
|
|
1352
|
+
}
|
|
1353
|
+
}
|
|
1354
|
+
else {
|
|
1348
1355
|
method.call(this, client, message);
|
|
1349
1356
|
}
|
|
1350
1357
|
}
|
|
@@ -4,25 +4,25 @@ import Client from '../base/ws/Client.js';
|
|
|
4
4
|
export default class blockchaincom extends blockchaincomRest {
|
|
5
5
|
describe(): any;
|
|
6
6
|
watchBalance(params?: {}): Promise<Balances>;
|
|
7
|
-
handleBalance(client: Client, message: any):
|
|
7
|
+
handleBalance(client: Client, message: any): void;
|
|
8
8
|
watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
9
|
-
handleOHLCV(client: Client, message: any):
|
|
9
|
+
handleOHLCV(client: Client, message: any): void;
|
|
10
10
|
watchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
11
|
-
handleTicker(client: Client, message: any):
|
|
11
|
+
handleTicker(client: Client, message: any): void;
|
|
12
12
|
parseWsUpdatedTicker(ticker: any, lastTicker?: any, market?: any): Ticker;
|
|
13
13
|
watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
14
|
-
handleTrades(client: Client, message: any):
|
|
14
|
+
handleTrades(client: Client, message: any): void;
|
|
15
15
|
parseWsTrade(trade: any, market?: any): Trade;
|
|
16
16
|
watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
17
|
-
handleOrders(client: Client, message: any):
|
|
17
|
+
handleOrders(client: Client, message: any): void;
|
|
18
18
|
parseWsOrder(order: any, market?: any): Order;
|
|
19
19
|
parseWsOrderStatus(status: any): string;
|
|
20
20
|
watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
21
|
-
handleOrderBook(client: Client, message: any):
|
|
21
|
+
handleOrderBook(client: Client, message: any): void;
|
|
22
22
|
handleDelta(bookside: any, delta: any): void;
|
|
23
23
|
handleDeltas(bookside: any, deltas: any): void;
|
|
24
24
|
checkSequenceNumber(client: Client, message: any): void;
|
|
25
|
-
handleMessage(client: Client, message: any):
|
|
25
|
+
handleMessage(client: Client, message: any): void;
|
|
26
26
|
handleAuthenticationMessage(client: Client, message: any): void;
|
|
27
|
-
authenticate(params?: {}): any
|
|
27
|
+
authenticate(params?: {}): Promise<any>;
|
|
28
28
|
}
|
|
@@ -102,7 +102,7 @@ export default class blockchaincom extends blockchaincomRest {
|
|
|
102
102
|
//
|
|
103
103
|
const event = this.safeString(message, 'event');
|
|
104
104
|
if (event === 'subscribed') {
|
|
105
|
-
return
|
|
105
|
+
return;
|
|
106
106
|
}
|
|
107
107
|
const result = { 'info': message };
|
|
108
108
|
const balances = this.safeValue(message, 'balances', []);
|
|
@@ -172,11 +172,9 @@ export default class blockchaincom extends blockchaincomRest {
|
|
|
172
172
|
// }
|
|
173
173
|
//
|
|
174
174
|
const event = this.safeString(message, 'event');
|
|
175
|
-
if (event === '
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
else if (event === 'rejected') {
|
|
179
|
-
throw new ExchangeError(this.id + ' ' + this.json(message));
|
|
175
|
+
if (event === 'rejected') {
|
|
176
|
+
const jsonMessage = this.json(message);
|
|
177
|
+
throw new ExchangeError(this.id + ' ' + jsonMessage);
|
|
180
178
|
}
|
|
181
179
|
else if (event === 'updated') {
|
|
182
180
|
const marketId = this.safeString(message, 'symbol');
|
|
@@ -196,7 +194,7 @@ export default class blockchaincom extends blockchaincomRest {
|
|
|
196
194
|
stored.append(ohlcv);
|
|
197
195
|
client.resolve(stored, messageHash);
|
|
198
196
|
}
|
|
199
|
-
else {
|
|
197
|
+
else if (event !== 'subscribed') {
|
|
200
198
|
throw new NotSupported(this.id + ' ' + this.json(message));
|
|
201
199
|
}
|
|
202
200
|
}
|
|
@@ -258,7 +256,7 @@ export default class blockchaincom extends blockchaincomRest {
|
|
|
258
256
|
const symbol = market['symbol'];
|
|
259
257
|
let ticker = undefined;
|
|
260
258
|
if (event === 'subscribed') {
|
|
261
|
-
return
|
|
259
|
+
return;
|
|
262
260
|
}
|
|
263
261
|
else if (event === 'snapshot') {
|
|
264
262
|
ticker = this.parseTicker(message, market);
|
|
@@ -357,7 +355,7 @@ export default class blockchaincom extends blockchaincomRest {
|
|
|
357
355
|
//
|
|
358
356
|
const event = this.safeString(message, 'event');
|
|
359
357
|
if (event !== 'updated') {
|
|
360
|
-
return
|
|
358
|
+
return;
|
|
361
359
|
}
|
|
362
360
|
const marketId = this.safeString(message, 'symbol');
|
|
363
361
|
const symbol = this.safeSymbol(marketId);
|
|
@@ -519,7 +517,7 @@ export default class blockchaincom extends blockchaincomRest {
|
|
|
519
517
|
this.orders = new ArrayCacheBySymbolById(limit);
|
|
520
518
|
}
|
|
521
519
|
if (event === 'subscribed') {
|
|
522
|
-
return
|
|
520
|
+
return;
|
|
523
521
|
}
|
|
524
522
|
else if (event === 'rejected') {
|
|
525
523
|
throw new ExchangeError(this.id + ' ' + this.json(message));
|
|
@@ -689,30 +687,30 @@ export default class blockchaincom extends blockchaincomRest {
|
|
|
689
687
|
const messageHash = 'orderbook:' + symbol + ':' + type;
|
|
690
688
|
const datetime = this.safeString(message, 'timestamp');
|
|
691
689
|
const timestamp = this.parse8601(datetime);
|
|
692
|
-
let
|
|
693
|
-
if (
|
|
694
|
-
|
|
695
|
-
this.orderbooks[symbol] =
|
|
690
|
+
let orderbook = this.safeValue(this.orderbooks, symbol);
|
|
691
|
+
if (orderbook === undefined) {
|
|
692
|
+
orderbook = this.countedOrderBook({});
|
|
693
|
+
this.orderbooks[symbol] = orderbook;
|
|
696
694
|
}
|
|
697
695
|
if (event === 'subscribed') {
|
|
698
|
-
return
|
|
696
|
+
return;
|
|
699
697
|
}
|
|
700
698
|
else if (event === 'snapshot') {
|
|
701
699
|
const snapshot = this.parseOrderBook(message, symbol, timestamp, 'bids', 'asks', 'px', 'qty', 'num');
|
|
702
|
-
|
|
700
|
+
orderbook.reset(snapshot);
|
|
703
701
|
}
|
|
704
702
|
else if (event === 'updated') {
|
|
705
703
|
const asks = this.safeValue(message, 'asks', []);
|
|
706
704
|
const bids = this.safeValue(message, 'bids', []);
|
|
707
|
-
this.handleDeltas(
|
|
708
|
-
this.handleDeltas(
|
|
709
|
-
|
|
710
|
-
|
|
705
|
+
this.handleDeltas(orderbook['asks'], asks);
|
|
706
|
+
this.handleDeltas(orderbook['bids'], bids);
|
|
707
|
+
orderbook['timestamp'] = timestamp;
|
|
708
|
+
orderbook['datetime'] = datetime;
|
|
711
709
|
}
|
|
712
710
|
else {
|
|
713
711
|
throw new NotSupported(this.id + ' watchOrderBook() does not support ' + event + ' yet');
|
|
714
712
|
}
|
|
715
|
-
client.resolve(
|
|
713
|
+
client.resolve(orderbook, messageHash);
|
|
716
714
|
}
|
|
717
715
|
handleDelta(bookside, delta) {
|
|
718
716
|
const bookArray = this.parseBidAsk(delta, 'px', 'qty', 'num');
|
|
@@ -753,7 +751,8 @@ export default class blockchaincom extends blockchaincomRest {
|
|
|
753
751
|
};
|
|
754
752
|
const handler = this.safeValue(handlers, channel);
|
|
755
753
|
if (handler !== undefined) {
|
|
756
|
-
|
|
754
|
+
handler.call(this, client, message);
|
|
755
|
+
return;
|
|
757
756
|
}
|
|
758
757
|
throw new NotSupported(this.id + ' received an unsupported message: ' + this.json(message));
|
|
759
758
|
}
|
|
@@ -775,7 +774,7 @@ export default class blockchaincom extends blockchaincomRest {
|
|
|
775
774
|
future.resolve(true);
|
|
776
775
|
}
|
|
777
776
|
}
|
|
778
|
-
authenticate(params = {}) {
|
|
777
|
+
async authenticate(params = {}) {
|
|
779
778
|
const url = this.urls['api']['ws'];
|
|
780
779
|
const client = this.client(url);
|
|
781
780
|
const messageHash = 'authenticated';
|
package/js/src/pro/bybit.d.ts
CHANGED
|
@@ -25,11 +25,11 @@ export default class bybit extends bybitRest {
|
|
|
25
25
|
watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
26
26
|
handleMyTrades(client: Client, message: any): void;
|
|
27
27
|
watchPositions(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
|
|
28
|
-
setPositionsCache(client: Client, symbols?: Strings):
|
|
28
|
+
setPositionsCache(client: Client, symbols?: Strings): void;
|
|
29
29
|
loadPositionsSnapshot(client: any, messageHash: any): Promise<void>;
|
|
30
30
|
handlePositions(client: any, message: any): void;
|
|
31
31
|
watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
32
|
-
handleOrder(client: Client, message: any
|
|
32
|
+
handleOrder(client: Client, message: any): void;
|
|
33
33
|
parseWsSpotOrder(order: any, market?: any): Order;
|
|
34
34
|
watchBalance(params?: {}): Promise<Balances>;
|
|
35
35
|
handleBalance(client: Client, message: any): void;
|