ccxt 4.2.30 → 4.2.34
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 +9 -9
- package/build.sh +9 -2
- package/cleanup.sh +3 -0
- package/dist/ccxt.browser.js +1136 -561
- 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 +66 -24
- package/dist/cjs/src/bigone.js +21 -1
- package/dist/cjs/src/binance.js +6 -5
- package/dist/cjs/src/bingx.js +4 -3
- package/dist/cjs/src/bit2c.js +12 -0
- package/dist/cjs/src/bitfinex2.js +415 -41
- package/dist/cjs/src/bitforex.js +3 -0
- 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 +12 -2
- package/dist/cjs/src/coinex.js +1 -1
- package/dist/cjs/src/cryptocom.js +10 -10
- package/dist/cjs/src/deribit.js +1 -0
- package/dist/cjs/src/gate.js +34 -29
- package/dist/cjs/src/htx.js +1 -1
- package/dist/cjs/src/kraken.js +42 -1
- package/dist/cjs/src/krakenfutures.js +3 -0
- package/dist/cjs/src/kucoin.js +1 -1
- package/dist/cjs/src/lbank.js +27 -26
- package/dist/cjs/src/mexc.js +2 -1
- package/dist/cjs/src/okx.js +20 -5
- package/dist/cjs/src/phemex.js +8 -8
- package/dist/cjs/src/poloniexfutures.js +3 -0
- 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 +14 -10
- 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/timex.js +1 -1
- package/dist/cjs/src/tokocrypto.js +2 -2
- package/dist/cjs/src/wavesexchange.js +2 -1
- package/dist/cjs/src/whitebit.js +1 -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/abstract/coinbase.d.ts +10 -0
- package/js/src/abstract/okx.d.ts +12 -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 +88 -79
- package/js/src/base/Exchange.js +66 -24
- 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 +6 -5
- 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 +11 -16
- package/js/src/bitfinex2.js +415 -41
- package/js/src/bitflyer.d.ts +5 -5
- package/js/src/bitforex.d.ts +1 -1
- package/js/src/bitforex.js +3 -0
- 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 +12 -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/deribit.js +1 -0
- 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/htx.js +1 -1
- 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 +42 -1
- package/js/src/krakenfutures.d.ts +7 -7
- package/js/src/krakenfutures.js +3 -0
- 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 +3 -6
- package/js/src/lbank.js +27 -26
- 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 +20 -5
- 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/poloniexfutures.js +3 -0
- 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 +14 -10
- 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/timex.js +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/whitebit.js +1 -1
- 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
|
@@ -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;
|
package/js/src/pro/bybit.js
CHANGED
|
@@ -909,7 +909,7 @@ export default class bybit extends bybitRest {
|
|
|
909
909
|
* @name bybit#watchPositions
|
|
910
910
|
* @see https://bybit-exchange.github.io/docs/v5/websocket/private/position
|
|
911
911
|
* @description watch all open positions
|
|
912
|
-
* @param {string[]
|
|
912
|
+
* @param {string[]} [symbols] list of unified market symbols
|
|
913
913
|
* @param {object} params extra parameters specific to the exchange API endpoint
|
|
914
914
|
* @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
|
|
915
915
|
*/
|
|
@@ -942,7 +942,7 @@ export default class bybit extends bybitRest {
|
|
|
942
942
|
}
|
|
943
943
|
setPositionsCache(client, symbols = undefined) {
|
|
944
944
|
if (this.positions !== undefined) {
|
|
945
|
-
return
|
|
945
|
+
return;
|
|
946
946
|
}
|
|
947
947
|
const fetchPositionsSnapshot = this.handleOption('watchPositions', 'fetchPositionsSnapshot', true);
|
|
948
948
|
if (fetchPositionsSnapshot) {
|
|
@@ -1075,7 +1075,7 @@ export default class bybit extends bybitRest {
|
|
|
1075
1075
|
}
|
|
1076
1076
|
return this.filterBySymbolSinceLimit(orders, symbol, since, limit, true);
|
|
1077
1077
|
}
|
|
1078
|
-
handleOrder(client, message
|
|
1078
|
+
handleOrder(client, message) {
|
|
1079
1079
|
//
|
|
1080
1080
|
// spot
|
|
1081
1081
|
// {
|
|
@@ -1641,7 +1641,7 @@ export default class bybit extends bybitRest {
|
|
|
1641
1641
|
const authenticated = this.safeValue(client.subscriptions, messageHash);
|
|
1642
1642
|
if (authenticated === undefined) {
|
|
1643
1643
|
const expiresInt = this.milliseconds() + 10000;
|
|
1644
|
-
const expires =
|
|
1644
|
+
const expires = this.numberToString(expiresInt);
|
|
1645
1645
|
const path = 'GET/realtime';
|
|
1646
1646
|
const auth = path + expires;
|
|
1647
1647
|
const signature = this.hmac(this.encode(auth), this.encode(this.secret), sha256, 'hex');
|
|
@@ -1654,7 +1654,7 @@ export default class bybit extends bybitRest {
|
|
|
1654
1654
|
const message = this.extend(request, params);
|
|
1655
1655
|
this.watch(url, messageHash, message, messageHash);
|
|
1656
1656
|
}
|
|
1657
|
-
return future;
|
|
1657
|
+
return await future;
|
|
1658
1658
|
}
|
|
1659
1659
|
handleErrorMessage(client, message) {
|
|
1660
1660
|
//
|
package/js/src/pro/cex.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ export default class cex extends cexRest {
|
|
|
46
46
|
resolveData(client: Client, message: any): void;
|
|
47
47
|
handleConnected(client: Client, message: any): any;
|
|
48
48
|
handleErrorMessage(client: Client, message: any): void;
|
|
49
|
-
handleMessage(client: Client, message: any):
|
|
49
|
+
handleMessage(client: Client, message: any): void;
|
|
50
50
|
handleAuthenticationMessage(client: Client, message: any): void;
|
|
51
51
|
authenticate(params?: {}): Promise<any>;
|
|
52
52
|
}
|
package/js/src/pro/cex.js
CHANGED
|
@@ -963,15 +963,15 @@ export default class cex extends cexRest {
|
|
|
963
963
|
const messageHash = 'orderbook:' + symbol;
|
|
964
964
|
const timestamp = this.safeInteger2(data, 'timestamp_ms', 'timestamp');
|
|
965
965
|
const incrementalId = this.safeNumber(data, 'id');
|
|
966
|
-
const
|
|
966
|
+
const orderbook = this.orderBook({});
|
|
967
967
|
const snapshot = this.parseOrderBook(data, symbol, timestamp, 'bids', 'asks');
|
|
968
968
|
snapshot['nonce'] = incrementalId;
|
|
969
|
-
|
|
969
|
+
orderbook.reset(snapshot);
|
|
970
970
|
this.options['orderbook'][symbol] = {
|
|
971
971
|
'incrementalId': incrementalId,
|
|
972
972
|
};
|
|
973
|
-
this.orderbooks[symbol] =
|
|
974
|
-
client.resolve(
|
|
973
|
+
this.orderbooks[symbol] = orderbook;
|
|
974
|
+
client.resolve(orderbook, messageHash);
|
|
975
975
|
}
|
|
976
976
|
pairToSymbol(pair) {
|
|
977
977
|
const parts = pair.split(':');
|
|
@@ -1437,7 +1437,8 @@ export default class cex extends cexRest {
|
|
|
1437
1437
|
handleMessage(client, message) {
|
|
1438
1438
|
const ok = this.safeString(message, 'ok');
|
|
1439
1439
|
if (ok === 'error') {
|
|
1440
|
-
|
|
1440
|
+
this.handleErrorMessage(client, message);
|
|
1441
|
+
return;
|
|
1441
1442
|
}
|
|
1442
1443
|
const event = this.safeString(message, 'e');
|
|
1443
1444
|
const handlers = {
|
|
@@ -1465,9 +1466,8 @@ export default class cex extends cexRest {
|
|
|
1465
1466
|
};
|
|
1466
1467
|
const handler = this.safeValue(handlers, event);
|
|
1467
1468
|
if (handler !== undefined) {
|
|
1468
|
-
|
|
1469
|
+
handler.call(this, client, message);
|
|
1469
1470
|
}
|
|
1470
|
-
return message;
|
|
1471
1471
|
}
|
|
1472
1472
|
handleAuthenticationMessage(client, message) {
|
|
1473
1473
|
//
|
package/js/src/pro/coinbase.d.ts
CHANGED
|
@@ -16,5 +16,5 @@ export default class coinbase extends coinbaseRest {
|
|
|
16
16
|
handleOrderBookHelper(orderbook: any, updates: any): void;
|
|
17
17
|
handleOrderBook(client: any, message: any): any;
|
|
18
18
|
handleSubscriptionStatus(client: any, message: any): any;
|
|
19
|
-
handleMessage(client: any, message: any):
|
|
19
|
+
handleMessage(client: any, message: any): void;
|
|
20
20
|
}
|
package/js/src/pro/coinbase.js
CHANGED
|
@@ -464,7 +464,8 @@ export default class coinbase extends coinbaseRest {
|
|
|
464
464
|
const side = this.safeString(this.options['sides'], sideId);
|
|
465
465
|
const price = this.safeNumber(trade, 'price_level');
|
|
466
466
|
const amount = this.safeNumber(trade, 'new_quantity');
|
|
467
|
-
orderbook[side]
|
|
467
|
+
const orderbookSide = orderbook[side];
|
|
468
|
+
orderbookSide.store(price, amount);
|
|
468
469
|
}
|
|
469
470
|
}
|
|
470
471
|
handleOrderBook(client, message) {
|
|
@@ -557,6 +558,6 @@ export default class coinbase extends coinbaseRest {
|
|
|
557
558
|
throw new ExchangeError(errorMessage);
|
|
558
559
|
}
|
|
559
560
|
const method = this.safeValue(methods, channel);
|
|
560
|
-
|
|
561
|
+
method.call(this, client, message);
|
|
561
562
|
}
|
|
562
563
|
}
|
|
@@ -34,5 +34,5 @@ export default class coinbasepro extends coinbaseproRest {
|
|
|
34
34
|
handleOrderBook(client: Client, message: any): void;
|
|
35
35
|
handleSubscriptionStatus(client: Client, message: any): any;
|
|
36
36
|
handleErrorMessage(client: Client, message: any): boolean;
|
|
37
|
-
handleMessage(client: Client, message: any):
|
|
37
|
+
handleMessage(client: Client, message: any): void;
|
|
38
38
|
}
|
package/js/src/pro/coinex.d.ts
CHANGED
|
@@ -24,8 +24,8 @@ export default class coinex extends coinexRest {
|
|
|
24
24
|
handleOrders(client: Client, message: any): void;
|
|
25
25
|
parseWsOrder(order: any, market?: any): Order;
|
|
26
26
|
parseWsOrderStatus(status: any): string;
|
|
27
|
-
handleMessage(client: Client, message: any):
|
|
27
|
+
handleMessage(client: Client, message: any): void;
|
|
28
28
|
handleAuthenticationMessage(client: Client, message: any): any;
|
|
29
29
|
handleSubscriptionStatus(client: Client, message: any): void;
|
|
30
|
-
authenticate(params?: {}): any
|
|
30
|
+
authenticate(params?: {}): Promise<any>;
|
|
31
31
|
}
|
package/js/src/pro/coinex.js
CHANGED
|
@@ -656,29 +656,29 @@ export default class coinex extends coinexRest {
|
|
|
656
656
|
//
|
|
657
657
|
const params = this.safeValue(message, 'params', []);
|
|
658
658
|
const fullOrderBook = this.safeValue(params, 0);
|
|
659
|
-
let
|
|
659
|
+
let orderbook = this.safeValue(params, 1);
|
|
660
660
|
const marketId = this.safeString(params, 2);
|
|
661
661
|
const defaultType = this.safeString(this.options, 'defaultType');
|
|
662
662
|
const market = this.safeMarket(marketId, undefined, undefined, defaultType);
|
|
663
663
|
const symbol = market['symbol'];
|
|
664
664
|
const name = 'orderbook';
|
|
665
665
|
const messageHash = name + ':' + symbol;
|
|
666
|
-
const timestamp = this.safeInteger(
|
|
666
|
+
const timestamp = this.safeInteger(orderbook, 'time');
|
|
667
667
|
const currentOrderBook = this.safeValue(this.orderbooks, symbol);
|
|
668
668
|
if (fullOrderBook) {
|
|
669
|
-
const snapshot = this.parseOrderBook(
|
|
669
|
+
const snapshot = this.parseOrderBook(orderbook, symbol, timestamp);
|
|
670
670
|
if (currentOrderBook === undefined) {
|
|
671
|
-
|
|
672
|
-
this.orderbooks[symbol] =
|
|
671
|
+
orderbook = this.orderBook(snapshot);
|
|
672
|
+
this.orderbooks[symbol] = orderbook;
|
|
673
673
|
}
|
|
674
674
|
else {
|
|
675
|
-
|
|
676
|
-
|
|
675
|
+
orderbook = this.orderbooks[symbol];
|
|
676
|
+
orderbook.reset(snapshot);
|
|
677
677
|
}
|
|
678
678
|
}
|
|
679
679
|
else {
|
|
680
|
-
const asks = this.safeValue(
|
|
681
|
-
const bids = this.safeValue(
|
|
680
|
+
const asks = this.safeValue(orderbook, 'asks', []);
|
|
681
|
+
const bids = this.safeValue(orderbook, 'bids', []);
|
|
682
682
|
this.handleDeltas(currentOrderBook['asks'], asks);
|
|
683
683
|
this.handleDeltas(currentOrderBook['bids'], bids);
|
|
684
684
|
currentOrderBook['nonce'] = timestamp;
|
|
@@ -999,9 +999,10 @@ export default class coinex extends coinexRest {
|
|
|
999
999
|
};
|
|
1000
1000
|
const handler = this.safeValue(handlers, method);
|
|
1001
1001
|
if (handler !== undefined) {
|
|
1002
|
-
|
|
1002
|
+
handler.call(this, client, message);
|
|
1003
|
+
return;
|
|
1003
1004
|
}
|
|
1004
|
-
|
|
1005
|
+
this.handleSubscriptionStatus(client, message);
|
|
1005
1006
|
}
|
|
1006
1007
|
handleAuthenticationMessage(client, message) {
|
|
1007
1008
|
//
|
|
@@ -1025,7 +1026,8 @@ export default class coinex extends coinexRest {
|
|
|
1025
1026
|
if (subscription !== undefined) {
|
|
1026
1027
|
const futureIndex = this.safeString(subscription, 'future');
|
|
1027
1028
|
if (futureIndex === 'ohlcv') {
|
|
1028
|
-
|
|
1029
|
+
this.handleOHLCV(client, message);
|
|
1030
|
+
return;
|
|
1029
1031
|
}
|
|
1030
1032
|
const future = this.safeValue(client.futures, futureIndex);
|
|
1031
1033
|
if (future !== undefined) {
|
|
@@ -1034,7 +1036,7 @@ export default class coinex extends coinexRest {
|
|
|
1034
1036
|
delete client.subscriptions[id];
|
|
1035
1037
|
}
|
|
1036
1038
|
}
|
|
1037
|
-
authenticate(params = {}) {
|
|
1039
|
+
async authenticate(params = {}) {
|
|
1038
1040
|
let type = undefined;
|
|
1039
1041
|
[type, params] = this.handleMarketTypeAndParams('authenticate', undefined, params);
|
|
1040
1042
|
const url = this.urls['api']['ws'][type];
|
|
@@ -39,5 +39,5 @@ export default class currencycom extends currencycomRest {
|
|
|
39
39
|
watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
40
40
|
handleDeltas(bookside: any, deltas: any): void;
|
|
41
41
|
handleOrderBook(client: Client, message: any): void;
|
|
42
|
-
handleMessage(client: Client, message: any):
|
|
42
|
+
handleMessage(client: Client, message: any): void;
|
|
43
43
|
}
|
|
@@ -535,10 +535,11 @@ export default class currencycom extends currencycomRest {
|
|
|
535
535
|
};
|
|
536
536
|
const method = this.safeValue(methods, subscriptionDestination);
|
|
537
537
|
if (method === undefined) {
|
|
538
|
-
return
|
|
538
|
+
return;
|
|
539
539
|
}
|
|
540
540
|
else {
|
|
541
|
-
|
|
541
|
+
method.call(this, client, message, subscription);
|
|
542
|
+
return;
|
|
542
543
|
}
|
|
543
544
|
}
|
|
544
545
|
}
|
|
@@ -553,11 +554,8 @@ export default class currencycom extends currencycomRest {
|
|
|
553
554
|
'ping': this.handlePong,
|
|
554
555
|
};
|
|
555
556
|
const method = this.safeValue(methods, destination);
|
|
556
|
-
if (method
|
|
557
|
-
|
|
558
|
-
}
|
|
559
|
-
else {
|
|
560
|
-
return method.call(this, client, message);
|
|
557
|
+
if (method !== undefined) {
|
|
558
|
+
method.call(this, client, message);
|
|
561
559
|
}
|
|
562
560
|
}
|
|
563
561
|
}
|
package/js/src/pro/deribit.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export default class deribit extends deribitRest {
|
|
|
21
21
|
handleOrders(client: Client, message: any): void;
|
|
22
22
|
watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
23
23
|
handleOHLCV(client: Client, message: any): void;
|
|
24
|
-
handleMessage(client: Client, message: any):
|
|
24
|
+
handleMessage(client: Client, message: any): void;
|
|
25
25
|
handleAuthenticationMessage(client: Client, message: any): any;
|
|
26
|
-
authenticate(params?: {}): any
|
|
26
|
+
authenticate(params?: {}): Promise<any>;
|
|
27
27
|
}
|
package/js/src/pro/deribit.js
CHANGED
|
@@ -762,16 +762,16 @@ export default class deribit extends deribitRest {
|
|
|
762
762
|
};
|
|
763
763
|
const handler = this.safeValue(handlers, channelId);
|
|
764
764
|
if (handler !== undefined) {
|
|
765
|
-
|
|
765
|
+
handler.call(this, client, message);
|
|
766
|
+
return;
|
|
766
767
|
}
|
|
767
768
|
throw new NotSupported(this.id + ' no handler found for this message ' + this.json(message));
|
|
768
769
|
}
|
|
769
770
|
const result = this.safeValue(message, 'result', {});
|
|
770
771
|
const accessToken = this.safeString(result, 'access_token');
|
|
771
772
|
if (accessToken !== undefined) {
|
|
772
|
-
|
|
773
|
+
this.handleAuthenticationMessage(client, message);
|
|
773
774
|
}
|
|
774
|
-
return message;
|
|
775
775
|
}
|
|
776
776
|
handleAuthenticationMessage(client, message) {
|
|
777
777
|
//
|
|
@@ -795,7 +795,7 @@ export default class deribit extends deribitRest {
|
|
|
795
795
|
client.resolve(message, messageHash);
|
|
796
796
|
return message;
|
|
797
797
|
}
|
|
798
|
-
authenticate(params = {}) {
|
|
798
|
+
async authenticate(params = {}) {
|
|
799
799
|
const url = this.urls['api']['ws'];
|
|
800
800
|
const client = this.client(url);
|
|
801
801
|
const time = this.milliseconds();
|
package/js/src/pro/exmo.d.ts
CHANGED
|
@@ -18,9 +18,9 @@ export default class exmo extends exmoRest {
|
|
|
18
18
|
handleOrderBook(client: Client, message: any): void;
|
|
19
19
|
handleDelta(bookside: any, delta: any): void;
|
|
20
20
|
handleDeltas(bookside: any, deltas: any): void;
|
|
21
|
-
handleMessage(client: Client, message: any):
|
|
21
|
+
handleMessage(client: Client, message: any): void;
|
|
22
22
|
handleSubscribed(client: Client, message: any): any;
|
|
23
23
|
handleInfo(client: Client, message: any): any;
|
|
24
24
|
handleAuthenticationMessage(client: Client, message: any): void;
|
|
25
|
-
authenticate(params?: {}): any
|
|
25
|
+
authenticate(params?: {}): Promise<any>;
|
|
26
26
|
}
|
package/js/src/pro/exmo.js
CHANGED
|
@@ -515,25 +515,25 @@ export default class exmo extends exmoRest {
|
|
|
515
515
|
const orderBook = this.safeValue(message, 'data', {});
|
|
516
516
|
const messageHash = 'orderbook:' + symbol;
|
|
517
517
|
const timestamp = this.safeInteger(message, 'ts');
|
|
518
|
-
let
|
|
519
|
-
if (
|
|
520
|
-
|
|
521
|
-
this.orderbooks[symbol] =
|
|
518
|
+
let orderbook = this.safeValue(this.orderbooks, symbol);
|
|
519
|
+
if (orderbook === undefined) {
|
|
520
|
+
orderbook = this.orderBook({});
|
|
521
|
+
this.orderbooks[symbol] = orderbook;
|
|
522
522
|
}
|
|
523
523
|
const event = this.safeString(message, 'event');
|
|
524
524
|
if (event === 'snapshot') {
|
|
525
525
|
const snapshot = this.parseOrderBook(orderBook, symbol, timestamp, 'bid', 'ask');
|
|
526
|
-
|
|
526
|
+
orderbook.reset(snapshot);
|
|
527
527
|
}
|
|
528
528
|
else {
|
|
529
529
|
const asks = this.safeValue(orderBook, 'ask', []);
|
|
530
530
|
const bids = this.safeValue(orderBook, 'bid', []);
|
|
531
|
-
this.handleDeltas(
|
|
532
|
-
this.handleDeltas(
|
|
533
|
-
|
|
534
|
-
|
|
531
|
+
this.handleDeltas(orderbook['asks'], asks);
|
|
532
|
+
this.handleDeltas(orderbook['bids'], bids);
|
|
533
|
+
orderbook['timestamp'] = timestamp;
|
|
534
|
+
orderbook['datetime'] = this.iso8601(timestamp);
|
|
535
535
|
}
|
|
536
|
-
client.resolve(
|
|
536
|
+
client.resolve(orderbook, messageHash);
|
|
537
537
|
}
|
|
538
538
|
handleDelta(bookside, delta) {
|
|
539
539
|
const bidAsk = this.parseBidAsk(delta, 0, 1);
|
|
@@ -568,7 +568,8 @@ export default class exmo extends exmoRest {
|
|
|
568
568
|
};
|
|
569
569
|
const eventHandler = this.safeValue(events, event);
|
|
570
570
|
if (eventHandler !== undefined) {
|
|
571
|
-
|
|
571
|
+
eventHandler.call(this, client, message);
|
|
572
|
+
return;
|
|
572
573
|
}
|
|
573
574
|
if ((event === 'update') || (event === 'snapshot')) {
|
|
574
575
|
const topic = this.safeString(message, 'topic');
|
|
@@ -590,7 +591,8 @@ export default class exmo extends exmoRest {
|
|
|
590
591
|
};
|
|
591
592
|
const handler = this.safeValue(handlers, channel);
|
|
592
593
|
if (handler !== undefined) {
|
|
593
|
-
|
|
594
|
+
handler.call(this, client, message);
|
|
595
|
+
return;
|
|
594
596
|
}
|
|
595
597
|
}
|
|
596
598
|
}
|
|
@@ -631,7 +633,7 @@ export default class exmo extends exmoRest {
|
|
|
631
633
|
const messageHash = 'authenticated';
|
|
632
634
|
client.resolve(message, messageHash);
|
|
633
635
|
}
|
|
634
|
-
authenticate(params = {}) {
|
|
636
|
+
async authenticate(params = {}) {
|
|
635
637
|
const messageHash = 'authenticated';
|
|
636
638
|
const [type, query] = this.handleMarketTypeAndParams('authenticate', undefined, params);
|
|
637
639
|
const url = this.urls['api']['ws'][type];
|
package/js/src/pro/gate.js
CHANGED
|
@@ -210,7 +210,7 @@ export default class gate extends gateRest {
|
|
|
210
210
|
// max limit is 100
|
|
211
211
|
const subscription = client.subscriptions[messageHash];
|
|
212
212
|
const limit = this.safeInteger(subscription, 'limit');
|
|
213
|
-
this.spawn(this.loadOrderBook, client, messageHash, symbol, limit);
|
|
213
|
+
this.spawn(this.loadOrderBook, client, messageHash, symbol, limit, {}); // needed for c#, number of args needs to match
|
|
214
214
|
}
|
|
215
215
|
storedOrderBook.cache.push(delta);
|
|
216
216
|
return;
|
package/js/src/pro/gemini.d.ts
CHANGED
|
@@ -20,6 +20,6 @@ export default class gemini extends geminiRest {
|
|
|
20
20
|
parseWsOrderStatus(status: any): string;
|
|
21
21
|
parseWsOrderType(type: any): string;
|
|
22
22
|
handleError(client: Client, message: any): void;
|
|
23
|
-
handleMessage(client: Client, message: any):
|
|
23
|
+
handleMessage(client: Client, message: any): void;
|
|
24
24
|
authenticate(params?: {}): Promise<void>;
|
|
25
25
|
}
|
package/js/src/pro/gemini.js
CHANGED
|
@@ -591,7 +591,8 @@ export default class gemini extends geminiRest {
|
|
|
591
591
|
//
|
|
592
592
|
const isArray = Array.isArray(message);
|
|
593
593
|
if (isArray) {
|
|
594
|
-
|
|
594
|
+
this.handleOrder(client, message);
|
|
595
|
+
return;
|
|
595
596
|
}
|
|
596
597
|
const reason = this.safeString(message, 'reason');
|
|
597
598
|
if (reason === 'error') {
|
|
@@ -605,7 +606,8 @@ export default class gemini extends geminiRest {
|
|
|
605
606
|
};
|
|
606
607
|
const type = this.safeString(message, 'type', '');
|
|
607
608
|
if (type.indexOf('candles') >= 0) {
|
|
608
|
-
|
|
609
|
+
this.handleOHLCV(client, message);
|
|
610
|
+
return;
|
|
609
611
|
}
|
|
610
612
|
const method = this.safeValue(methods, type);
|
|
611
613
|
if (method !== undefined) {
|
package/js/src/pro/hitbtc.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { Str, OrderBook, Order, Trade, Ticker, Balances } from '../base/types';
|
|
|
5
5
|
export default class hitbtc extends hitbtcRest {
|
|
6
6
|
describe(): any;
|
|
7
7
|
authenticate(): Promise<any>;
|
|
8
|
-
subscribePublic(name: string, symbols?: Strings, params?: {}): Promise<any>;
|
|
8
|
+
subscribePublic(name: string, messageHashPrefix: string, symbols?: Strings, params?: {}): Promise<any>;
|
|
9
9
|
subscribePrivate(name: string, symbol?: Str, params?: {}): Promise<any>;
|
|
10
10
|
tradeRequest(name: string, params?: {}): Promise<any>;
|
|
11
11
|
watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
@@ -29,7 +29,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
29
29
|
parseWsOrderTrade(trade: any, market?: any): Trade;
|
|
30
30
|
parseWsOrder(order: any, market?: any): Order;
|
|
31
31
|
watchBalance(params?: {}): Promise<Balances>;
|
|
32
|
-
createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount:
|
|
32
|
+
createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
|
|
33
33
|
cancelOrderWs(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
34
34
|
cancelAllOrdersWs(symbol?: Str, params?: {}): Promise<any>;
|
|
35
35
|
fetchOpenOrdersWs(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
package/js/src/pro/hitbtc.js
CHANGED
|
@@ -118,7 +118,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
118
118
|
}
|
|
119
119
|
return future;
|
|
120
120
|
}
|
|
121
|
-
async subscribePublic(name, symbols = undefined, params = {}) {
|
|
121
|
+
async subscribePublic(name, messageHashPrefix, symbols = undefined, params = {}) {
|
|
122
122
|
/**
|
|
123
123
|
* @ignore
|
|
124
124
|
* @method
|
|
@@ -128,7 +128,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
128
128
|
*/
|
|
129
129
|
await this.loadMarkets();
|
|
130
130
|
const url = this.urls['api']['ws']['public'];
|
|
131
|
-
let messageHash =
|
|
131
|
+
let messageHash = messageHashPrefix;
|
|
132
132
|
if (symbols !== undefined) {
|
|
133
133
|
messageHash = messageHash + '::' + symbols.join(',');
|
|
134
134
|
}
|
|
@@ -223,7 +223,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
223
223
|
'symbols': [market['id']],
|
|
224
224
|
},
|
|
225
225
|
};
|
|
226
|
-
const orderbook = await this.subscribePublic(name, [symbol], this.deepExtend(request, params));
|
|
226
|
+
const orderbook = await this.subscribePublic(name, name, [symbol], this.deepExtend(request, params));
|
|
227
227
|
return orderbook.limit();
|
|
228
228
|
}
|
|
229
229
|
handleOrderBook(client, message) {
|
|
@@ -316,7 +316,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
316
316
|
'symbols': [market['id']],
|
|
317
317
|
},
|
|
318
318
|
};
|
|
319
|
-
const result = await this.subscribePublic(name, [symbol], this.deepExtend(request, params));
|
|
319
|
+
const result = await this.subscribePublic(name, 'ticker', [symbol], this.deepExtend(request, params));
|
|
320
320
|
return this.safeValue(result, symbol);
|
|
321
321
|
}
|
|
322
322
|
async watchTickers(symbols = undefined, params = {}) {
|
|
@@ -352,7 +352,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
352
352
|
'symbols': marketIds,
|
|
353
353
|
},
|
|
354
354
|
};
|
|
355
|
-
const tickers = await this.subscribePublic(name, symbols, this.deepExtend(request, params));
|
|
355
|
+
const tickers = await this.subscribePublic(name, 'tickers', symbols, this.deepExtend(request, params));
|
|
356
356
|
if (this.newUpdates) {
|
|
357
357
|
return tickers;
|
|
358
358
|
}
|
|
@@ -411,7 +411,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
411
411
|
const messageHash = channel + '::' + symbol;
|
|
412
412
|
client.resolve(newTickers, messageHash);
|
|
413
413
|
}
|
|
414
|
-
const messageHashes = this.findMessageHashes(client,
|
|
414
|
+
const messageHashes = this.findMessageHashes(client, 'tickers::');
|
|
415
415
|
for (let i = 0; i < messageHashes.length; i++) {
|
|
416
416
|
const messageHash = messageHashes[i];
|
|
417
417
|
const parts = messageHash.split('::');
|
|
@@ -504,7 +504,8 @@ export default class hitbtc extends hitbtcRest {
|
|
|
504
504
|
if (limit !== undefined) {
|
|
505
505
|
request['limit'] = limit;
|
|
506
506
|
}
|
|
507
|
-
const
|
|
507
|
+
const name = 'trades';
|
|
508
|
+
const trades = await this.subscribePublic(name, name, [symbol], this.deepExtend(request, params));
|
|
508
509
|
if (this.newUpdates) {
|
|
509
510
|
limit = trades.getLimit(symbol, limit);
|
|
510
511
|
}
|
|
@@ -633,7 +634,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
633
634
|
if (limit !== undefined) {
|
|
634
635
|
request['params']['limit'] = limit;
|
|
635
636
|
}
|
|
636
|
-
const ohlcv = await this.subscribePublic(name, [symbol], this.deepExtend(request, params));
|
|
637
|
+
const ohlcv = await this.subscribePublic(name, name, [symbol], this.deepExtend(request, params));
|
|
637
638
|
if (this.newUpdates) {
|
|
638
639
|
limit = ohlcv.getLimit(symbol, limit);
|
|
639
640
|
}
|