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
package/js/src/pro/binance.js
CHANGED
|
@@ -540,7 +540,7 @@ export default class binance extends binanceRest {
|
|
|
540
540
|
*/
|
|
541
541
|
return await this.watchTradesForSymbols([symbol], since, limit, params);
|
|
542
542
|
}
|
|
543
|
-
|
|
543
|
+
parseWsTrade(trade, market = undefined) {
|
|
544
544
|
//
|
|
545
545
|
// public watchTrades
|
|
546
546
|
//
|
|
@@ -648,7 +648,7 @@ export default class binance extends binanceRest {
|
|
|
648
648
|
const executionType = this.safeString(trade, 'x');
|
|
649
649
|
const isTradeExecution = (executionType === 'TRADE');
|
|
650
650
|
if (!isTradeExecution) {
|
|
651
|
-
return
|
|
651
|
+
return this.parseTrade(trade, market);
|
|
652
652
|
}
|
|
653
653
|
const id = this.safeString2(trade, 't', 'a');
|
|
654
654
|
const timestamp = this.safeInteger(trade, 'T');
|
|
@@ -713,7 +713,7 @@ export default class binance extends binanceRest {
|
|
|
713
713
|
const lowerCaseId = this.safeStringLower(message, 's');
|
|
714
714
|
const event = this.safeString(message, 'e');
|
|
715
715
|
const messageHash = lowerCaseId + '@' + event;
|
|
716
|
-
const trade = this.
|
|
716
|
+
const trade = this.parseWsTrade(message, market);
|
|
717
717
|
let tradesArray = this.safeValue(this.trades, symbol);
|
|
718
718
|
if (tradesArray === undefined) {
|
|
719
719
|
const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
|
|
@@ -1263,14 +1263,15 @@ export default class binance extends binanceRest {
|
|
|
1263
1263
|
for (let j = 0; j < subscriptionKeys.length; j++) {
|
|
1264
1264
|
const subscribeType = subscriptionKeys[j];
|
|
1265
1265
|
if (subscribeType === type) {
|
|
1266
|
-
|
|
1266
|
+
this.delay(listenKeyRefreshRate, this.keepAliveListenKey, params);
|
|
1267
|
+
return;
|
|
1267
1268
|
}
|
|
1268
1269
|
}
|
|
1269
1270
|
}
|
|
1270
1271
|
}
|
|
1271
1272
|
setBalanceCache(client, type) {
|
|
1272
1273
|
if (type in client.subscriptions) {
|
|
1273
|
-
return
|
|
1274
|
+
return;
|
|
1274
1275
|
}
|
|
1275
1276
|
const options = this.safeValue(this.options, 'watchBalance');
|
|
1276
1277
|
const fetchBalanceSnapshot = this.safeBool(options, 'fetchBalanceSnapshot', false);
|
|
@@ -1371,7 +1372,7 @@ export default class binance extends binanceRest {
|
|
|
1371
1372
|
//
|
|
1372
1373
|
const messageHash = this.safeString(message, 'id');
|
|
1373
1374
|
const result = this.safeValue(message, 'result', {});
|
|
1374
|
-
const parsedBalances = this.parseBalance(result
|
|
1375
|
+
const parsedBalances = this.parseBalance(result);
|
|
1375
1376
|
client.resolve(parsedBalances, messageHash);
|
|
1376
1377
|
}
|
|
1377
1378
|
async watchBalance(params = {}) {
|
|
@@ -2744,13 +2745,15 @@ export default class binance extends binanceRest {
|
|
|
2744
2745
|
const status = this.safeString(message, 'status');
|
|
2745
2746
|
const error = this.safeValue(message, 'error');
|
|
2746
2747
|
if ((error !== undefined) || (status !== undefined && status !== '200')) {
|
|
2747
|
-
|
|
2748
|
+
this.handleWsError(client, message);
|
|
2749
|
+
return;
|
|
2748
2750
|
}
|
|
2749
2751
|
const id = this.safeString(message, 'id');
|
|
2750
2752
|
const subscriptions = this.safeValue(client.subscriptions, id);
|
|
2751
2753
|
let method = this.safeValue(subscriptions, 'method');
|
|
2752
2754
|
if (method !== undefined) {
|
|
2753
|
-
|
|
2755
|
+
method.call(this, client, message);
|
|
2756
|
+
return;
|
|
2754
2757
|
}
|
|
2755
2758
|
// handle other APIs
|
|
2756
2759
|
const methods = {
|
|
@@ -2780,7 +2783,8 @@ export default class binance extends binanceRest {
|
|
|
2780
2783
|
if (method === undefined) {
|
|
2781
2784
|
const requestId = this.safeString(message, 'id');
|
|
2782
2785
|
if (requestId !== undefined) {
|
|
2783
|
-
|
|
2786
|
+
this.handleSubscriptionStatus(client, message);
|
|
2787
|
+
return;
|
|
2784
2788
|
}
|
|
2785
2789
|
// special case for the real-time bookTicker, since it comes without an event identifier
|
|
2786
2790
|
//
|
|
@@ -2799,7 +2803,7 @@ export default class binance extends binanceRest {
|
|
|
2799
2803
|
}
|
|
2800
2804
|
}
|
|
2801
2805
|
else {
|
|
2802
|
-
|
|
2806
|
+
method.call(this, client, message);
|
|
2803
2807
|
}
|
|
2804
2808
|
}
|
|
2805
2809
|
}
|
package/js/src/pro/bingx.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export default class bingx extends bingxRest {
|
|
|
17
17
|
watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
18
18
|
watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
19
19
|
watchBalance(params?: {}): Promise<Balances>;
|
|
20
|
-
setBalanceCache(client: Client, type: any, subscriptionHash: any, params: any):
|
|
20
|
+
setBalanceCache(client: Client, type: any, subscriptionHash: any, params: any): void;
|
|
21
21
|
loadBalanceSnapshot(client: any, messageHash: any, type: any): Promise<void>;
|
|
22
22
|
handleErrorMessage(client: any, message: any): boolean;
|
|
23
23
|
authenticate(params?: {}): Promise<void>;
|
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
|
}
|