ccxt 4.5.55 → 4.5.57
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/README.md +215 -10
- package/dist/ccxt.browser.min.js +10 -10
- package/dist/cjs/ccxt.js +6 -11
- package/dist/cjs/src/aftermath.js +10 -5
- package/dist/cjs/src/alpaca.js +2 -2
- package/dist/cjs/src/apex.js +26 -17
- package/dist/cjs/src/arkham.js +10 -7
- package/dist/cjs/src/ascendex.js +8 -5
- package/dist/cjs/src/aster.js +7 -4
- package/dist/cjs/src/backpack.js +4 -4
- package/dist/cjs/src/base/Exchange.js +72 -35
- package/dist/cjs/src/base/functions/io.js +25 -0
- package/dist/cjs/src/base/functions.js +1 -0
- package/dist/cjs/src/bigone.js +10 -7
- package/dist/cjs/src/binance.js +196 -198
- package/dist/cjs/src/bingx.js +7 -7
- package/dist/cjs/src/bitfinex.js +71 -58
- package/dist/cjs/src/bitflyer.js +2 -1
- package/dist/cjs/src/bitget.js +16 -5
- package/dist/cjs/src/bitmart.js +18 -10
- package/dist/cjs/src/bitmex.js +8 -5
- package/dist/cjs/src/bitopro.js +2 -2
- package/dist/cjs/src/bitrue.js +4 -3
- package/dist/cjs/src/bitso.js +7 -4
- package/dist/cjs/src/bitstamp.js +7 -4
- package/dist/cjs/src/bitteam.js +1 -1
- package/dist/cjs/src/bittrade.js +2 -2
- package/dist/cjs/src/bitvavo.js +457 -34
- package/dist/cjs/src/blofin.js +28 -4
- package/dist/cjs/src/bullish.js +6 -5
- package/dist/cjs/src/bybit.js +19 -17
- package/dist/cjs/src/bybiteu.js +1 -0
- package/dist/cjs/src/bydfi.js +1 -1
- package/dist/cjs/src/cex.js +3 -3
- package/dist/cjs/src/coinbase.js +75 -65
- package/dist/cjs/src/coinbaseexchange.js +4 -3
- package/dist/cjs/src/coinbaseinternational.js +17 -10
- package/dist/cjs/src/coinex.js +79 -77
- package/dist/cjs/src/coinmetro.js +1 -1
- package/dist/cjs/src/coinsph.js +5 -5
- package/dist/cjs/src/cryptocom.js +52 -54
- package/dist/cjs/src/cryptomus.js +43 -39
- package/dist/cjs/src/deepcoin.js +9 -5
- package/dist/cjs/src/delta.js +53 -53
- package/dist/cjs/src/deribit.js +35 -35
- package/dist/cjs/src/derive.js +31 -31
- package/dist/cjs/src/digifinex.js +45 -45
- package/dist/cjs/src/exmo.js +104 -122
- package/dist/cjs/src/extended.js +3497 -0
- package/dist/cjs/src/foxbit.js +72 -76
- package/dist/cjs/src/gate.js +53 -53
- package/dist/cjs/src/gemini.js +45 -45
- package/dist/cjs/src/grvt.js +17 -11
- package/dist/cjs/src/hashkey.js +56 -58
- package/dist/cjs/src/hibachi.js +1 -1
- package/dist/cjs/src/hitbtc.js +5 -14
- package/dist/cjs/src/hollaex.js +51 -54
- package/dist/cjs/src/htx.js +84 -72
- package/dist/cjs/src/hyperliquid.js +60 -55
- package/dist/cjs/src/indodax.js +4 -3
- package/dist/cjs/src/kraken.js +71 -71
- package/dist/cjs/src/krakenfutures.js +2 -1
- package/dist/cjs/src/kucoin.js +3 -2
- package/dist/cjs/src/latoken.js +30 -32
- package/dist/cjs/src/lbank.js +64 -60
- package/dist/cjs/src/lighter.js +36 -38
- package/dist/cjs/src/luno.js +36 -44
- package/dist/cjs/src/mercado.js +2 -1
- package/dist/cjs/src/mexc.js +72 -63
- package/dist/cjs/src/modetrade.js +51 -53
- package/dist/cjs/src/ndax.js +35 -37
- package/dist/cjs/src/okx.js +23 -5
- package/dist/cjs/src/onetrading.js +21 -23
- package/dist/cjs/src/p2b.js +8 -4
- package/dist/cjs/src/paradex.js +3 -2
- package/dist/cjs/src/phemex.js +47 -47
- package/dist/cjs/src/poloniex.js +19 -13
- package/dist/cjs/src/pro/alpaca.js +1 -1
- package/dist/cjs/src/pro/apex.js +11 -2
- package/dist/cjs/src/pro/arkham.js +1 -1
- package/dist/cjs/src/pro/aster.js +10 -9
- package/dist/cjs/src/pro/backpack.js +1 -1
- package/dist/cjs/src/pro/binance.js +6 -6
- package/dist/cjs/src/pro/bingx.js +7 -2
- package/dist/cjs/src/pro/bitget.js +1 -1
- package/dist/cjs/src/pro/bithumb.js +1 -1
- package/dist/cjs/src/pro/bitmart.js +10 -0
- package/dist/cjs/src/pro/bitmex.js +1 -1
- package/dist/cjs/src/pro/bitstamp.js +1 -1
- package/dist/cjs/src/pro/blockchaincom.js +1 -1
- package/dist/cjs/src/pro/bybit.js +1 -1
- package/dist/cjs/src/pro/cex.js +1 -1
- package/dist/cjs/src/pro/coinex.js +1 -1
- package/dist/cjs/src/pro/coinone.js +1 -1
- package/dist/cjs/src/pro/cryptocom.js +3 -1
- package/dist/cjs/src/pro/dydx.js +1 -1
- package/dist/cjs/src/pro/exmo.js +1 -1
- package/dist/cjs/src/pro/extended.js +865 -0
- package/dist/cjs/src/pro/gate.js +1 -1
- package/dist/cjs/src/pro/grvt.js +8 -0
- package/dist/cjs/src/pro/htx.js +4 -4
- package/dist/cjs/src/pro/independentreserve.js +1 -1
- package/dist/cjs/src/pro/krakenfutures.js +16 -4
- package/dist/cjs/src/pro/kucoin.js +1 -1
- package/dist/cjs/src/pro/luno.js +3 -3
- package/dist/cjs/src/pro/modetrade.js +3 -3
- package/dist/cjs/src/pro/okx.js +4 -4
- package/dist/cjs/src/pro/onetrading.js +1 -1
- package/dist/cjs/src/pro/toobit.js +1 -1
- package/dist/cjs/src/pro/weex.js +1 -1
- package/dist/cjs/src/pro/woo.js +4 -4
- package/dist/cjs/src/pro/woofipro.js +3 -3
- package/dist/cjs/src/pro/xt.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +7 -7
- package/dist/cjs/src/tokocrypto.js +1 -1
- package/dist/cjs/src/toobit.js +3 -3
- package/dist/cjs/src/upbit.js +3 -3
- package/dist/cjs/src/weex.js +57 -62
- package/dist/cjs/src/whitebit.js +61 -63
- package/dist/cjs/src/woo.js +66 -55
- package/dist/cjs/src/woofipro.js +54 -48
- package/dist/cjs/src/xt.js +3 -2
- package/dist/cjs/src/yobit.js +4 -2
- package/dist/cjs/src/zebpay.js +73 -75
- package/js/ccxt.d.ts +8 -14
- package/js/ccxt.js +6 -10
- package/js/src/abstract/bitvavo.d.ts +15 -7
- package/js/src/abstract/extended.d.ts +58 -0
- package/js/src/abstract/mexc.d.ts +1 -0
- package/js/src/aftermath.js +10 -5
- package/js/src/alpaca.js +2 -2
- package/js/src/apex.d.ts +1 -1
- package/js/src/apex.js +26 -17
- package/js/src/arkham.js +10 -7
- package/js/src/ascendex.js +8 -5
- package/js/src/aster.js +7 -4
- package/js/src/backpack.js +4 -4
- package/js/src/base/Exchange.d.ts +10 -6
- package/js/src/base/Exchange.js +72 -35
- package/js/src/base/functions/io.d.ts +7 -0
- package/js/src/base/functions/io.js +24 -0
- package/js/src/bigone.js +10 -7
- package/js/src/binance.d.ts +2 -0
- package/js/src/binance.js +200 -202
- package/js/src/bingx.js +7 -7
- package/js/src/bitfinex.d.ts +2 -0
- package/js/src/bitfinex.js +71 -58
- package/js/src/bitflyer.js +2 -1
- package/js/src/bitget.js +16 -5
- package/js/src/bitmart.js +18 -10
- package/js/src/bitmex.js +8 -5
- package/js/src/bitopro.js +2 -2
- package/js/src/bitrue.js +4 -3
- package/js/src/bitso.js +7 -4
- package/js/src/bitstamp.js +7 -4
- package/js/src/bitteam.js +1 -1
- package/js/src/bittrade.js +2 -2
- package/js/src/bitvavo.d.ts +114 -21
- package/js/src/bitvavo.js +457 -34
- package/js/src/blofin.d.ts +1 -0
- package/js/src/blofin.js +28 -4
- package/js/src/bullish.js +6 -5
- package/js/src/bybit.d.ts +1 -1
- package/js/src/bybit.js +19 -17
- package/js/src/bybiteu.js +1 -0
- package/js/src/bydfi.js +1 -1
- package/js/src/cex.js +3 -3
- package/js/src/coinbase.d.ts +63 -56
- package/js/src/coinbase.js +75 -65
- package/js/src/coinbaseexchange.js +4 -3
- package/js/src/coinbaseinternational.d.ts +1 -1
- package/js/src/coinbaseinternational.js +17 -10
- package/js/src/coinex.d.ts +2 -1
- package/js/src/coinex.js +79 -77
- package/js/src/coinmetro.d.ts +1 -1
- package/js/src/coinmetro.js +1 -1
- package/js/src/coinsph.js +5 -5
- package/js/src/cryptocom.d.ts +1 -0
- package/js/src/cryptocom.js +52 -54
- package/js/src/cryptomus.d.ts +2 -1
- package/js/src/cryptomus.js +43 -39
- package/js/src/deepcoin.js +9 -5
- package/js/src/delta.d.ts +1 -0
- package/js/src/delta.js +53 -53
- package/js/src/deribit.d.ts +1 -0
- package/js/src/deribit.js +35 -35
- package/js/src/derive.d.ts +1 -0
- package/js/src/derive.js +31 -31
- package/js/src/digifinex.d.ts +1 -0
- package/js/src/digifinex.js +45 -45
- package/js/src/exmo.d.ts +1 -0
- package/js/src/exmo.js +104 -122
- package/js/src/extended.d.ts +554 -0
- package/js/src/extended.js +3490 -0
- package/js/src/foxbit.d.ts +1 -0
- package/js/src/foxbit.js +72 -76
- package/js/src/gate.d.ts +1 -0
- package/js/src/gate.js +53 -53
- package/js/src/gemini.d.ts +2 -1
- package/js/src/gemini.js +45 -45
- package/js/src/grvt.d.ts +1 -1
- package/js/src/grvt.js +17 -11
- package/js/src/hashkey.d.ts +1 -0
- package/js/src/hashkey.js +56 -58
- package/js/src/hibachi.d.ts +1 -1
- package/js/src/hibachi.js +1 -1
- package/js/src/hitbtc.d.ts +0 -1
- package/js/src/hitbtc.js +5 -14
- package/js/src/hollaex.d.ts +1 -0
- package/js/src/hollaex.js +51 -54
- package/js/src/htx.d.ts +1 -0
- package/js/src/htx.js +84 -72
- package/js/src/hyperliquid.d.ts +5 -4
- package/js/src/hyperliquid.js +60 -55
- package/js/src/indodax.js +4 -3
- package/js/src/kraken.d.ts +2 -1
- package/js/src/kraken.js +71 -71
- package/js/src/krakenfutures.js +2 -1
- package/js/src/kucoin.js +3 -2
- package/js/src/latoken.d.ts +1 -0
- package/js/src/latoken.js +30 -32
- package/js/src/lbank.d.ts +1 -0
- package/js/src/lbank.js +64 -60
- package/js/src/lighter.d.ts +2 -1
- package/js/src/lighter.js +36 -38
- package/js/src/luno.d.ts +1 -0
- package/js/src/luno.js +36 -44
- package/js/src/mercado.js +2 -1
- package/js/src/mexc.d.ts +4 -3
- package/js/src/mexc.js +72 -63
- package/js/src/modetrade.d.ts +1 -0
- package/js/src/modetrade.js +51 -53
- package/js/src/ndax.d.ts +1 -0
- package/js/src/ndax.js +35 -37
- package/js/src/okx.js +23 -5
- package/js/src/onetrading.d.ts +2 -1
- package/js/src/onetrading.js +21 -23
- package/js/src/p2b.js +8 -4
- package/js/src/paradex.js +3 -2
- package/js/src/phemex.d.ts +1 -0
- package/js/src/phemex.js +47 -47
- package/js/src/poloniex.js +19 -13
- package/js/src/pro/alpaca.js +1 -1
- package/js/src/pro/apex.js +11 -2
- package/js/src/pro/arkham.js +1 -1
- package/js/src/pro/aster.js +10 -9
- package/js/src/pro/backpack.js +1 -1
- package/js/src/pro/binance.d.ts +1 -1
- package/js/src/pro/binance.js +6 -6
- package/js/src/pro/bingx.js +7 -2
- package/js/src/pro/bitget.js +1 -1
- package/js/src/pro/bithumb.js +1 -1
- package/js/src/pro/bitmart.js +10 -0
- package/js/src/pro/bitmex.js +1 -1
- package/js/src/pro/bitstamp.js +1 -1
- package/js/src/pro/blockchaincom.js +1 -1
- package/js/src/pro/bybit.js +1 -1
- package/js/src/pro/cex.js +1 -1
- package/js/src/pro/coinex.js +1 -1
- package/js/src/pro/coinone.js +1 -1
- package/js/src/pro/cryptocom.js +3 -1
- package/js/src/pro/dydx.js +1 -1
- package/js/src/pro/exmo.js +1 -1
- package/js/src/pro/extended.d.ts +126 -0
- package/js/src/pro/extended.js +858 -0
- package/js/src/pro/gate.js +1 -1
- package/js/src/pro/grvt.js +8 -0
- package/js/src/pro/htx.d.ts +4 -4
- package/js/src/pro/htx.js +4 -4
- package/js/src/pro/independentreserve.js +1 -1
- package/js/src/pro/krakenfutures.d.ts +4 -4
- package/js/src/pro/krakenfutures.js +16 -4
- package/js/src/pro/kucoin.js +1 -1
- package/js/src/pro/luno.d.ts +1 -1
- package/js/src/pro/luno.js +3 -3
- package/js/src/pro/modetrade.d.ts +3 -3
- package/js/src/pro/modetrade.js +3 -3
- package/js/src/pro/okx.d.ts +4 -4
- package/js/src/pro/okx.js +4 -4
- package/js/src/pro/onetrading.js +1 -1
- package/js/src/pro/toobit.js +1 -1
- package/js/src/pro/weex.js +1 -1
- package/js/src/pro/woo.d.ts +4 -4
- package/js/src/pro/woo.js +4 -4
- package/js/src/pro/woofipro.d.ts +3 -3
- package/js/src/pro/woofipro.js +3 -3
- package/js/src/pro/xt.js +1 -1
- package/js/src/tokocrypto.js +1 -1
- package/js/src/toobit.d.ts +1 -1
- package/js/src/toobit.js +3 -3
- package/js/src/upbit.js +3 -3
- package/js/src/weex.d.ts +1 -0
- package/js/src/weex.js +57 -62
- package/js/src/whitebit.d.ts +1 -0
- package/js/src/whitebit.js +61 -63
- package/js/src/woo.d.ts +1 -0
- package/js/src/woo.js +66 -55
- package/js/src/woofipro.d.ts +1 -0
- package/js/src/woofipro.js +54 -48
- package/js/src/xt.js +3 -2
- package/js/src/yobit.js +4 -2
- package/js/src/zebpay.d.ts +2 -1
- package/js/src/zebpay.js +73 -75
- package/package.json +25 -11
- package/dist/cjs/src/gateio.js +0 -18
- package/dist/cjs/src/oxfun.js +0 -2931
- package/dist/cjs/src/pro/gateio.js +0 -18
- package/dist/cjs/src/pro/oxfun.js +0 -1113
- package/js/src/abstract/gateio.d.ts +0 -346
- package/js/src/abstract/gateio.js +0 -5
- package/js/src/abstract/oxfun.d.ts +0 -37
- package/js/src/gateio.d.ts +0 -4
- package/js/src/gateio.js +0 -11
- package/js/src/oxfun.d.ts +0 -442
- package/js/src/oxfun.js +0 -2924
- package/js/src/pro/gateio.d.ts +0 -4
- package/js/src/pro/gateio.js +0 -11
- package/js/src/pro/oxfun.d.ts +0 -234
- package/js/src/pro/oxfun.js +0 -1106
- /package/dist/cjs/src/abstract/{oxfun.js → extended.js} +0 -0
- /package/js/src/abstract/{oxfun.js → extended.js} +0 -0
package/dist/cjs/src/phemex.js
CHANGED
|
@@ -731,6 +731,7 @@ class phemex extends phemex$1["default"] {
|
|
|
731
731
|
// "1.0"
|
|
732
732
|
contractSize = this.parseNumber(contractSizeString);
|
|
733
733
|
}
|
|
734
|
+
const isLinear = !inverse;
|
|
734
735
|
return this.safeMarketStructure({
|
|
735
736
|
'id': id,
|
|
736
737
|
'symbol': base + '/' + quote + ':' + settle,
|
|
@@ -748,7 +749,7 @@ class phemex extends phemex$1["default"] {
|
|
|
748
749
|
'option': false,
|
|
749
750
|
'active': status === 'Listed',
|
|
750
751
|
'contract': true,
|
|
751
|
-
'linear':
|
|
752
|
+
'linear': isLinear,
|
|
752
753
|
'inverse': inverse,
|
|
753
754
|
'taker': this.parseNumber(this.fromEn(takerFeeRateEr, ratioScale)),
|
|
754
755
|
'maker': this.parseNumber(this.fromEn(makerFeeRateEr, ratioScale)),
|
|
@@ -1143,50 +1144,48 @@ class phemex extends phemex$1["default"] {
|
|
|
1143
1144
|
// }
|
|
1144
1145
|
const data = this.safeValue(response, 'data', {});
|
|
1145
1146
|
const currencies = this.safeValue(data, 'currencies', []);
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
},
|
|
1179
|
-
'withdraw': {
|
|
1180
|
-
'min': undefined,
|
|
1181
|
-
'max': undefined,
|
|
1182
|
-
},
|
|
1147
|
+
return this.parseCurrencies(currencies);
|
|
1148
|
+
}
|
|
1149
|
+
parseCurrency(rawCurrency) {
|
|
1150
|
+
const id = this.safeString(rawCurrency, 'currency');
|
|
1151
|
+
const code = this.safeCurrencyCode(id);
|
|
1152
|
+
const valueScaleString = this.safeString(rawCurrency, 'valueScale');
|
|
1153
|
+
const valueScale = parseInt(valueScaleString);
|
|
1154
|
+
const minValueEv = this.safeString(rawCurrency, 'minValueEv');
|
|
1155
|
+
const maxValueEv = this.safeString(rawCurrency, 'maxValueEv');
|
|
1156
|
+
let minAmount = undefined;
|
|
1157
|
+
let maxAmount = undefined;
|
|
1158
|
+
let precision = undefined;
|
|
1159
|
+
if (valueScale !== undefined) {
|
|
1160
|
+
const precisionString = this.parsePrecision(valueScaleString);
|
|
1161
|
+
precision = this.parseNumber(precisionString);
|
|
1162
|
+
minAmount = this.parseNumber(Precise["default"].stringMul(minValueEv, precisionString));
|
|
1163
|
+
maxAmount = this.parseNumber(Precise["default"].stringMul(maxValueEv, precisionString));
|
|
1164
|
+
}
|
|
1165
|
+
return this.safeCurrencyStructure({
|
|
1166
|
+
'id': id,
|
|
1167
|
+
'info': rawCurrency,
|
|
1168
|
+
'code': code,
|
|
1169
|
+
'name': this.safeString(rawCurrency, 'name'),
|
|
1170
|
+
'active': this.safeString(rawCurrency, 'status') === 'Listed',
|
|
1171
|
+
'deposit': undefined,
|
|
1172
|
+
'withdraw': undefined,
|
|
1173
|
+
'fee': undefined,
|
|
1174
|
+
'precision': precision,
|
|
1175
|
+
'limits': {
|
|
1176
|
+
'amount': {
|
|
1177
|
+
'min': minAmount,
|
|
1178
|
+
'max': maxAmount,
|
|
1183
1179
|
},
|
|
1184
|
-
'
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1180
|
+
'withdraw': {
|
|
1181
|
+
'min': undefined,
|
|
1182
|
+
'max': undefined,
|
|
1183
|
+
},
|
|
1184
|
+
},
|
|
1185
|
+
'valueScale': valueScale,
|
|
1186
|
+
'networks': undefined,
|
|
1187
|
+
'type': 'crypto',
|
|
1188
|
+
});
|
|
1190
1189
|
}
|
|
1191
1190
|
customParseBidAsk(bidask, priceKey = 0, amountKey = 1, market = undefined) {
|
|
1192
1191
|
if (market === undefined) {
|
|
@@ -3810,7 +3809,7 @@ class phemex extends phemex$1["default"] {
|
|
|
3810
3809
|
'txid': txid,
|
|
3811
3810
|
'timestamp': timestamp,
|
|
3812
3811
|
'datetime': this.iso8601(timestamp),
|
|
3813
|
-
'network': this.networkIdToCode(networkId),
|
|
3812
|
+
'network': this.networkIdToCode(networkId, code),
|
|
3814
3813
|
'address': address,
|
|
3815
3814
|
'addressTo': address,
|
|
3816
3815
|
'addressFrom': undefined,
|
|
@@ -4667,11 +4666,12 @@ class phemex extends phemex$1["default"] {
|
|
|
4667
4666
|
for (let i = 0; i < riskLimits.length; i++) {
|
|
4668
4667
|
const tier = riskLimits[i];
|
|
4669
4668
|
const maxNotional = this.safeInteger(tier, 'limit');
|
|
4669
|
+
const minNotionalResponse = minNotional; // java req
|
|
4670
4670
|
tiers.push({
|
|
4671
4671
|
'tier': this.sum(i, 1),
|
|
4672
4672
|
'symbol': this.safeSymbol(marketId, market),
|
|
4673
4673
|
'currency': market['settle'],
|
|
4674
|
-
'minNotional':
|
|
4674
|
+
'minNotional': minNotionalResponse,
|
|
4675
4675
|
'maxNotional': maxNotional,
|
|
4676
4676
|
'maintenanceMarginRate': this.safeString(tier, 'maintenanceMargin'),
|
|
4677
4677
|
'maxLeverage': undefined,
|
|
@@ -5082,7 +5082,7 @@ class phemex extends phemex$1["default"] {
|
|
|
5082
5082
|
[networkCode, params] = this.handleNetworkCodeAndParams(params);
|
|
5083
5083
|
let networkId = undefined;
|
|
5084
5084
|
if (networkCode !== undefined) {
|
|
5085
|
-
networkId = this.networkCodeToId(networkCode);
|
|
5085
|
+
networkId = this.networkCodeToId(networkCode, code);
|
|
5086
5086
|
}
|
|
5087
5087
|
const stableCoins = this.safeValue(this.options, 'stableCoins');
|
|
5088
5088
|
if (networkId === undefined) {
|
package/dist/cjs/src/poloniex.js
CHANGED
|
@@ -922,6 +922,7 @@ class poloniex extends poloniex$1["default"] {
|
|
|
922
922
|
if (alias !== undefined) {
|
|
923
923
|
type = 'future';
|
|
924
924
|
}
|
|
925
|
+
const marketType = (type === 'future') ? 'future' : 'swap';
|
|
925
926
|
return {
|
|
926
927
|
'id': id,
|
|
927
928
|
'symbol': symbol,
|
|
@@ -931,7 +932,7 @@ class poloniex extends poloniex$1["default"] {
|
|
|
931
932
|
'baseId': baseId,
|
|
932
933
|
'quoteId': quoteId,
|
|
933
934
|
'settleId': settleId,
|
|
934
|
-
'type':
|
|
935
|
+
'type': marketType,
|
|
935
936
|
'spot': false,
|
|
936
937
|
'margin': false,
|
|
937
938
|
'swap': type === 'swap',
|
|
@@ -2777,14 +2778,23 @@ class poloniex extends poloniex$1["default"] {
|
|
|
2777
2778
|
async withdraw(code, amount, address, tag = undefined, params = {}) {
|
|
2778
2779
|
[tag, params] = this.handleWithdrawTagAndParams(tag, params);
|
|
2779
2780
|
this.checkAddress(address);
|
|
2780
|
-
const
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2781
|
+
const currency = this.currency(code);
|
|
2782
|
+
const request = {
|
|
2783
|
+
'coin': currency['id'],
|
|
2784
|
+
'amount': this.currencyToPrecision(code, amount),
|
|
2785
|
+
'address': address,
|
|
2786
|
+
};
|
|
2787
|
+
let networkCode = undefined;
|
|
2788
|
+
[networkCode, params] = this.handleNetworkCodeAndParams(params);
|
|
2789
|
+
if (networkCode === undefined) {
|
|
2790
|
+
// we need to know the network to find out the currency-junction
|
|
2791
|
+
throw new errors.ArgumentsRequired(this.id + ' withdraw requires a network parameter for ' + code + '.');
|
|
2792
|
+
}
|
|
2793
|
+
request['network'] = this.networkCodeToId(networkCode, code);
|
|
2784
2794
|
if (tag !== undefined) {
|
|
2785
2795
|
request['paymentId'] = tag;
|
|
2786
2796
|
}
|
|
2787
|
-
const response = await this.
|
|
2797
|
+
const response = await this.privatePostV2WalletsWithdraw(this.extend(request, params));
|
|
2788
2798
|
//
|
|
2789
2799
|
// {
|
|
2790
2800
|
// "response": "Withdrew 1.00000000 USDT.",
|
|
@@ -2792,11 +2802,7 @@ class poloniex extends poloniex$1["default"] {
|
|
|
2792
2802
|
// "withdrawalNumber": 13449869
|
|
2793
2803
|
// }
|
|
2794
2804
|
//
|
|
2795
|
-
|
|
2796
|
-
'response': response,
|
|
2797
|
-
'withdrawNetworkEntry': networkEntry,
|
|
2798
|
-
};
|
|
2799
|
-
return this.parseTransaction(withdrawResponse, currency);
|
|
2805
|
+
return this.parseTransaction(response, currency);
|
|
2800
2806
|
}
|
|
2801
2807
|
async fetchTransactionsHelper(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
2802
2808
|
await this.loadMarkets();
|
|
@@ -3009,7 +3015,7 @@ class poloniex extends poloniex$1["default"] {
|
|
|
3009
3015
|
for (let j = 0; j < childChains.length; j++) {
|
|
3010
3016
|
let networkId = childChains[j];
|
|
3011
3017
|
networkId = networkId.replace(code, '');
|
|
3012
|
-
const networkCode = this.networkIdToCode(networkId);
|
|
3018
|
+
const networkCode = this.networkIdToCode(networkId, currency['code']);
|
|
3013
3019
|
const networkInfo = this.safeValue(response, networkId);
|
|
3014
3020
|
const networkObject = {};
|
|
3015
3021
|
const withdrawFee = this.safeNumber(networkInfo, 'withdrawalFee');
|
|
@@ -3045,7 +3051,7 @@ class poloniex extends poloniex$1["default"] {
|
|
|
3045
3051
|
};
|
|
3046
3052
|
depositWithdrawFee['withdraw'] = withdrawResult;
|
|
3047
3053
|
depositWithdrawFee['deposit'] = depositResult;
|
|
3048
|
-
const networkCode = this.networkIdToCode(networkId);
|
|
3054
|
+
const networkCode = this.networkIdToCode(networkId, this.safeString(currency, 'code'));
|
|
3049
3055
|
depositWithdrawFee['networks'][networkCode] = {
|
|
3050
3056
|
'withdraw': withdrawResult,
|
|
3051
3057
|
'deposit': depositResult,
|
|
@@ -267,7 +267,7 @@ class alpaca extends alpaca$1["default"] {
|
|
|
267
267
|
client.resolve(orderbook, messageHash);
|
|
268
268
|
}
|
|
269
269
|
handleDelta(bookside, delta) {
|
|
270
|
-
const bidAsk = this.
|
|
270
|
+
const bidAsk = this.parseOrderBookBidAsk(delta, 'p', 's');
|
|
271
271
|
bookside.storeArray(bidAsk);
|
|
272
272
|
}
|
|
273
273
|
handleDeltas(bookside, deltas) {
|
package/dist/cjs/src/pro/apex.js
CHANGED
|
@@ -341,7 +341,7 @@ class apex extends apex$1["default"] {
|
|
|
341
341
|
client.resolve(orderbook, messageHash);
|
|
342
342
|
}
|
|
343
343
|
handleDelta(bookside, delta) {
|
|
344
|
-
const bidAsk = this.
|
|
344
|
+
const bidAsk = this.parseOrderBookBidAsk(delta, 0, 1);
|
|
345
345
|
bookside.storeArray(bidAsk);
|
|
346
346
|
}
|
|
347
347
|
handleDeltas(bookside, deltas) {
|
|
@@ -767,7 +767,7 @@ class apex extends apex$1["default"] {
|
|
|
767
767
|
async loadPositionsSnapshot(client, messageHash) {
|
|
768
768
|
// as only one ws channel gives positions for all types, for snapshot must load all positions
|
|
769
769
|
const fetchFunctions = [
|
|
770
|
-
this.fetchPositions(
|
|
770
|
+
this.fetchPositions(),
|
|
771
771
|
];
|
|
772
772
|
const promises = await Promise.all(fetchFunctions);
|
|
773
773
|
this.positions = new Cache.ArrayCacheBySymbolBySide();
|
|
@@ -937,6 +937,15 @@ class apex extends apex$1["default"] {
|
|
|
937
937
|
const ret_msg = this.safeString(message, 'ret_msg');
|
|
938
938
|
const request = this.safeValue(message, 'request', {});
|
|
939
939
|
const op = this.safeString(request, 'op');
|
|
940
|
+
// Benign re-subscribe notice (same shape as bitmart 90008 /
|
|
941
|
+
// krakenfutures "Already subscribed"): the original subscription
|
|
942
|
+
// is still active and delivering data on this socket. Without
|
|
943
|
+
// this short-circuit the catch-clause's `client.reject(error,
|
|
944
|
+
// messageHash)` rejects every in-flight future on the connection
|
|
945
|
+
// because apex doesn't echo a `reqId` on these warnings.
|
|
946
|
+
if (ret_msg !== undefined && ret_msg.indexOf('already subscribed') >= 0) {
|
|
947
|
+
return false;
|
|
948
|
+
}
|
|
940
949
|
if (op === 'auth') {
|
|
941
950
|
throw new errors.AuthenticationError('Authentication failed: ' + ret_msg);
|
|
942
951
|
}
|
|
@@ -297,7 +297,7 @@ class arkham extends arkham$1["default"] {
|
|
|
297
297
|
client.resolve(this.orderbooks[symbol], messageHash);
|
|
298
298
|
}
|
|
299
299
|
handleDelta(bookside, delta) {
|
|
300
|
-
const bidAsk = this.
|
|
300
|
+
const bidAsk = this.parseOrderBookBidAsk(delta, 'price', 'size');
|
|
301
301
|
bookside.storeArray(bidAsk);
|
|
302
302
|
}
|
|
303
303
|
/**
|
|
@@ -377,13 +377,11 @@ class aster extends aster$1["default"] {
|
|
|
377
377
|
}
|
|
378
378
|
parseWsTicker(message, marketType) {
|
|
379
379
|
const event = this.safeString(message, 'e');
|
|
380
|
-
const part = event.split('@');
|
|
381
|
-
const channel = this.safeString(part, 1);
|
|
382
380
|
const marketId = this.safeString(message, 's');
|
|
383
381
|
const timestamp = this.safeInteger(message, 'E');
|
|
384
382
|
const market = this.safeMarket(marketId, undefined, undefined, marketType);
|
|
385
383
|
const last = this.safeString(message, 'c');
|
|
386
|
-
if (
|
|
384
|
+
if (event === 'markPriceUpdate') {
|
|
387
385
|
return this.safeTicker({
|
|
388
386
|
'symbol': market['symbol'],
|
|
389
387
|
'timestamp': timestamp,
|
|
@@ -1203,7 +1201,12 @@ class aster extends aster$1["default"] {
|
|
|
1203
1201
|
return;
|
|
1204
1202
|
}
|
|
1205
1203
|
try {
|
|
1206
|
-
|
|
1204
|
+
if (type === 'spot') {
|
|
1205
|
+
await this.sapiPrivatePutV3ListenKey(); // extend the expiry
|
|
1206
|
+
}
|
|
1207
|
+
else {
|
|
1208
|
+
await this.fapiPrivatePutV3ListenKey(); // extend the expiry
|
|
1209
|
+
}
|
|
1207
1210
|
}
|
|
1208
1211
|
catch (error) {
|
|
1209
1212
|
const url = this.urls['api']['ws']['private'][type] + '/' + listenKey;
|
|
@@ -1880,13 +1883,11 @@ class aster extends aster$1["default"] {
|
|
|
1880
1883
|
const messageInner = this.safeDict(message, 'data', message); // can be either wrapped in 'data' or full object itself
|
|
1881
1884
|
const event = this.safeString(messageInner, 'e');
|
|
1882
1885
|
const methods = {
|
|
1883
|
-
'
|
|
1886
|
+
'24hrTicker': this.handleTicker,
|
|
1884
1887
|
'aggTrade': this.handleTrade,
|
|
1885
|
-
'
|
|
1886
|
-
'depth10': this.handleOrderBook,
|
|
1887
|
-
'depth20': this.handleOrderBook,
|
|
1888
|
+
'depthUpdate': this.handleOrderBook,
|
|
1888
1889
|
'kline': this.handleOHLCV,
|
|
1889
|
-
'
|
|
1890
|
+
'markPriceUpdate': this.handleTicker,
|
|
1890
1891
|
'bookTicker': this.handleBidAsk,
|
|
1891
1892
|
'outboundAccountPosition': this.handleBalance,
|
|
1892
1893
|
'ACCOUNT_UPDATE': this.handleBalanceAndPosition,
|
|
@@ -894,7 +894,7 @@ class backpack extends backpack$1["default"] {
|
|
|
894
894
|
}
|
|
895
895
|
handleBidAsks(bookSide, bidAsks) {
|
|
896
896
|
for (let i = 0; i < bidAsks.length; i++) {
|
|
897
|
-
const bidAsk = this.
|
|
897
|
+
const bidAsk = this.parseOrderBookBidAsk(bidAsks[i]);
|
|
898
898
|
bookSide.storeArray(bidAsk);
|
|
899
899
|
}
|
|
900
900
|
}
|
|
@@ -1504,7 +1504,7 @@ class binance extends binance$1["default"] {
|
|
|
1504
1504
|
}
|
|
1505
1505
|
const isSpot = (type === 'spot');
|
|
1506
1506
|
let timezone = undefined;
|
|
1507
|
-
[timezone, params] = this.handleParamString(params, 'timezone'
|
|
1507
|
+
[timezone, params] = this.handleParamString(params, 'timezone');
|
|
1508
1508
|
const isUtc8 = (timezone !== undefined) && ((timezone === '+08:00') || Precise["default"].stringEq(timezone, '8'));
|
|
1509
1509
|
const rawHashes = [];
|
|
1510
1510
|
const messageHashes = [];
|
|
@@ -1569,7 +1569,7 @@ class binance extends binance$1["default"] {
|
|
|
1569
1569
|
}
|
|
1570
1570
|
const isSpot = (type === 'spot');
|
|
1571
1571
|
let timezone = undefined;
|
|
1572
|
-
[timezone, params] = this.handleParamString(params, 'timezone'
|
|
1572
|
+
[timezone, params] = this.handleParamString(params, 'timezone');
|
|
1573
1573
|
const isUtc8 = (timezone !== undefined) && ((timezone === '+08:00') || Precise["default"].stringEq(timezone, '8'));
|
|
1574
1574
|
const rawHashes = [];
|
|
1575
1575
|
const subMessageHashes = [];
|
|
@@ -2244,7 +2244,7 @@ class binance extends binance$1["default"] {
|
|
|
2244
2244
|
// "status":200,
|
|
2245
2245
|
// "result":{
|
|
2246
2246
|
// "symbol":"BTCUSDT",
|
|
2247
|
-
// "price":"73178.
|
|
2247
|
+
// "price":"73178.60",
|
|
2248
2248
|
// "time":1712527052374
|
|
2249
2249
|
// }
|
|
2250
2250
|
// }
|
|
@@ -2407,7 +2407,7 @@ class binance extends binance$1["default"] {
|
|
|
2407
2407
|
/**
|
|
2408
2408
|
* @name binance#ensureUserDataStreamWsSubscribeSignature
|
|
2409
2409
|
* @description watches best bid & ask for symbols
|
|
2410
|
-
* @param
|
|
2410
|
+
* @param {string} [marketType] only supports 'spot'
|
|
2411
2411
|
* @see {@link https://developers.binance.com/docs/binance-spot-api-docs/websocket-api/user-data-stream-requests#subscribe-to-user-data-stream-through-signature-subscription-user_data Binance User Data Stream Documentation}
|
|
2412
2412
|
* @returns Promise<number> The subscription ID for the user data stream
|
|
2413
2413
|
*/
|
|
@@ -3679,8 +3679,8 @@ class binance extends binance$1["default"] {
|
|
|
3679
3679
|
await this.loadMarkets();
|
|
3680
3680
|
const market = this.market(symbol);
|
|
3681
3681
|
const type = this.getMarketType('fetchOpenOrdersWs', market, params);
|
|
3682
|
-
if (type !== 'spot'
|
|
3683
|
-
throw new errors.BadRequest(this.id + ' fetchOpenOrdersWs only supports spot
|
|
3682
|
+
if (type !== 'spot') {
|
|
3683
|
+
throw new errors.BadRequest(this.id + ' fetchOpenOrdersWs only supports spot markets');
|
|
3684
3684
|
}
|
|
3685
3685
|
const url = this.urls['api']['ws']['ws-api'][type];
|
|
3686
3686
|
const requestId = this.requestId(url);
|
|
@@ -696,7 +696,9 @@ class bingx extends bingx$1["default"] {
|
|
|
696
696
|
// const limit = [ 5, 10, 20, 50, 100 ]
|
|
697
697
|
const subscriptionHash = dataType;
|
|
698
698
|
const subscription = client.subscriptions[subscriptionHash];
|
|
699
|
-
|
|
699
|
+
// see handleOHLCV — subscription.limit may be missing for non-orderbook callers;
|
|
700
|
+
// default to a reasonable depth instead of throwing NPE in the Java port.
|
|
701
|
+
const limit = this.safeInteger(subscription, 'limit', 100);
|
|
700
702
|
this.orderbooks[symbol] = this.orderBook({}, limit);
|
|
701
703
|
}
|
|
702
704
|
orderbook = this.orderbooks[symbol];
|
|
@@ -842,7 +844,10 @@ class bingx extends bingx$1["default"] {
|
|
|
842
844
|
if (this.safeValue(this.ohlcvs[symbol], rawTimeframe) === undefined) {
|
|
843
845
|
const subscriptionHash = dataType;
|
|
844
846
|
const subscription = client.subscriptions[subscriptionHash];
|
|
845
|
-
|
|
847
|
+
// subscription.limit is only set when watchOHLCV registers the subscription;
|
|
848
|
+
// when handleMessage routes a non-OHLCV-originated subscription here (or the
|
|
849
|
+
// subscription dict was reset on reconnect), fall back to the OHLCVLimit option.
|
|
850
|
+
const limit = this.safeInteger(subscription, 'limit', this.safeInteger(this.options, 'OHLCVLimit', 1000));
|
|
846
851
|
this.ohlcvs[symbol][unifiedTimeframe] = new Cache.ArrayCacheByTimestamp(limit);
|
|
847
852
|
}
|
|
848
853
|
const stored = this.ohlcvs[symbol][unifiedTimeframe];
|
|
@@ -942,7 +942,7 @@ class bitget extends bitget$1["default"] {
|
|
|
942
942
|
client.reject(error, messageHash);
|
|
943
943
|
}
|
|
944
944
|
handleDelta(bookside, delta) {
|
|
945
|
-
const bidAsk = this.
|
|
945
|
+
const bidAsk = this.parseOrderBookBidAsk(delta, 0, 1);
|
|
946
946
|
// we store the string representations in the orderbook for checksum calculation
|
|
947
947
|
// this simplifies the code for generating checksums as we do not need to do any complex number transformations
|
|
948
948
|
bidAsk.push(delta);
|
|
@@ -252,7 +252,7 @@ class bithumb extends bithumb$1["default"] {
|
|
|
252
252
|
//
|
|
253
253
|
const sideId = this.safeString(delta, 'orderType');
|
|
254
254
|
const side = (sideId === 'bid') ? 'bids' : 'asks';
|
|
255
|
-
const bidAsk = this.
|
|
255
|
+
const bidAsk = this.parseOrderBookBidAsk(delta, 'price', 'quantity');
|
|
256
256
|
const orderbookSide = orderbook[side];
|
|
257
257
|
orderbookSide.storeArray(bidAsk);
|
|
258
258
|
}
|
|
@@ -1874,6 +1874,16 @@ class bitmart extends bitmart$1["default"] {
|
|
|
1874
1874
|
//
|
|
1875
1875
|
const errorCode = this.safeString(message, 'errorCode');
|
|
1876
1876
|
const error = this.safeString(message, 'error');
|
|
1877
|
+
// Duplicate-subscription notice errorCode 90008: bitmart's WS rejects
|
|
1878
|
+
// a re-subscribe attempt on a topic that's already active on this
|
|
1879
|
+
// connection, but the original subscription keeps delivering data —
|
|
1880
|
+
// so treat it as benign. Without this short-circuit, the generic
|
|
1881
|
+
// client.reject below kills every unrelated in-flight future —
|
|
1882
|
+
// e.g. a watchOHLCV waiting on its kline subscription gets rejected
|
|
1883
|
+
// by an orderbook 90008 raised on the same socket.
|
|
1884
|
+
if (errorCode === '90008') {
|
|
1885
|
+
return false;
|
|
1886
|
+
}
|
|
1877
1887
|
try {
|
|
1878
1888
|
if (errorCode !== undefined || error !== undefined) {
|
|
1879
1889
|
const feedback = this.id + ' ' + this.json(message);
|
|
@@ -1595,7 +1595,7 @@ class bitmex extends bitmex$1["default"] {
|
|
|
1595
1595
|
if (!(marketId in numUpdatesByMarketId)) {
|
|
1596
1596
|
numUpdatesByMarketId[marketId] = 0;
|
|
1597
1597
|
}
|
|
1598
|
-
numUpdatesByMarketId[marketId] = this.sum(numUpdatesByMarketId, 1);
|
|
1598
|
+
numUpdatesByMarketId[marketId] = this.sum(numUpdatesByMarketId[marketId], 1);
|
|
1599
1599
|
const market = this.safeMarket(marketId);
|
|
1600
1600
|
const symbol = market['symbol'];
|
|
1601
1601
|
const orderbook = this.orderbooks[symbol];
|
|
@@ -135,7 +135,7 @@ class bitstamp extends bitstamp$1["default"] {
|
|
|
135
135
|
}
|
|
136
136
|
handleBidAsks(bookSide, bidAsks) {
|
|
137
137
|
for (let i = 0; i < bidAsks.length; i++) {
|
|
138
|
-
const bidAsk = this.
|
|
138
|
+
const bidAsk = this.parseOrderBookBidAsk(bidAsks[i]);
|
|
139
139
|
bookSide.storeArray(bidAsk);
|
|
140
140
|
}
|
|
141
141
|
}
|
|
@@ -711,7 +711,7 @@ class blockchaincom extends blockchaincom$1["default"] {
|
|
|
711
711
|
client.resolve(orderbook, messageHash);
|
|
712
712
|
}
|
|
713
713
|
handleDelta(bookside, delta) {
|
|
714
|
-
const bookArray = this.
|
|
714
|
+
const bookArray = this.parseOrderBookBidAsk(delta, 'px', 'qty', 'num');
|
|
715
715
|
bookside.storeArray(bookArray);
|
|
716
716
|
}
|
|
717
717
|
handleDeltas(bookside, deltas) {
|
|
@@ -1024,7 +1024,7 @@ class bybit extends bybit$1["default"] {
|
|
|
1024
1024
|
}
|
|
1025
1025
|
}
|
|
1026
1026
|
handleDelta(bookside, delta) {
|
|
1027
|
-
const bidAsk = this.
|
|
1027
|
+
const bidAsk = this.parseOrderBookBidAsk(delta, 0, 1);
|
|
1028
1028
|
bookside.storeArray(bidAsk);
|
|
1029
1029
|
}
|
|
1030
1030
|
handleDeltas(bookside, deltas) {
|
package/dist/cjs/src/pro/cex.js
CHANGED
|
@@ -1034,7 +1034,7 @@ class cex extends cex$1["default"] {
|
|
|
1034
1034
|
client.resolve(storedOrderBook, messageHash);
|
|
1035
1035
|
}
|
|
1036
1036
|
handleDelta(bookside, delta) {
|
|
1037
|
-
const bidAsk = this.
|
|
1037
|
+
const bidAsk = this.parseOrderBookBidAsk(delta, 0, 1);
|
|
1038
1038
|
bookside.storeArray(bidAsk);
|
|
1039
1039
|
}
|
|
1040
1040
|
handleDeltas(bookside, deltas) {
|
|
@@ -814,7 +814,7 @@ class coinex extends coinex$1["default"] {
|
|
|
814
814
|
return await this.watchOrderBookForSymbols([symbol], limit, params);
|
|
815
815
|
}
|
|
816
816
|
handleDelta(bookside, delta) {
|
|
817
|
-
const bidAsk = this.
|
|
817
|
+
const bidAsk = this.parseOrderBookBidAsk(delta, 0, 1);
|
|
818
818
|
bookside.storeArray(bidAsk);
|
|
819
819
|
}
|
|
820
820
|
handleDeltas(bookside, deltas) {
|
|
@@ -126,7 +126,7 @@ class coinone extends coinone$1["default"] {
|
|
|
126
126
|
client.resolve(orderbook, messageHash);
|
|
127
127
|
}
|
|
128
128
|
handleDelta(bookside, delta) {
|
|
129
|
-
const bidAsk = this.
|
|
129
|
+
const bidAsk = this.parseOrderBookBidAsk(delta, 'price', 'qty');
|
|
130
130
|
bookside.storeArray(bidAsk);
|
|
131
131
|
}
|
|
132
132
|
/**
|
|
@@ -1039,7 +1039,9 @@ class cryptocom extends cryptocom$1["default"] {
|
|
|
1039
1039
|
}
|
|
1040
1040
|
client.resolve(this.balance, messageHash);
|
|
1041
1041
|
const messageHashRequest = this.safeString(message, 'id');
|
|
1042
|
-
|
|
1042
|
+
if (messageHashRequest !== undefined) {
|
|
1043
|
+
client.resolve(this.balance, messageHashRequest);
|
|
1044
|
+
}
|
|
1043
1045
|
}
|
|
1044
1046
|
/**
|
|
1045
1047
|
* @method
|
package/dist/cjs/src/pro/dydx.js
CHANGED
|
@@ -245,7 +245,7 @@ class dydx extends dydx$1["default"] {
|
|
|
245
245
|
bookside.store(price, amount);
|
|
246
246
|
}
|
|
247
247
|
else {
|
|
248
|
-
const bidAsk = this.
|
|
248
|
+
const bidAsk = this.parseOrderBookBidAsk(delta, 'price', 'size');
|
|
249
249
|
bookside.storeArray(bidAsk);
|
|
250
250
|
}
|
|
251
251
|
}
|
package/dist/cjs/src/pro/exmo.js
CHANGED
|
@@ -566,7 +566,7 @@ class exmo extends exmo$1["default"] {
|
|
|
566
566
|
client.resolve(orderbook, messageHash);
|
|
567
567
|
}
|
|
568
568
|
handleDelta(bookside, delta) {
|
|
569
|
-
const bidAsk = this.
|
|
569
|
+
const bidAsk = this.parseOrderBookBidAsk(delta, 0, 1);
|
|
570
570
|
bookside.storeArray(bidAsk);
|
|
571
571
|
}
|
|
572
572
|
handleDeltas(bookside, deltas) {
|