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/deepcoin.js
CHANGED
|
@@ -513,6 +513,8 @@ class deepcoin extends deepcoin$1["default"] {
|
|
|
513
513
|
const maxLimitSize = this.safeString(market, 'maxLmtSz');
|
|
514
514
|
const maxAmount = this.parseNumber(Precise["default"].stringMax(maxMarketSize, maxLimitSize));
|
|
515
515
|
const state = this.safeString(market, 'state');
|
|
516
|
+
const isMargin = spot && (Precise["default"].stringGt(maxLeverage, '1'));
|
|
517
|
+
const isInverse = swap ? (!isLinear) : undefined;
|
|
516
518
|
return this.extend(fees, {
|
|
517
519
|
'id': id,
|
|
518
520
|
'symbol': symbol,
|
|
@@ -524,14 +526,14 @@ class deepcoin extends deepcoin$1["default"] {
|
|
|
524
526
|
'settleId': settleId,
|
|
525
527
|
'type': type,
|
|
526
528
|
'spot': spot,
|
|
527
|
-
'margin':
|
|
529
|
+
'margin': isMargin,
|
|
528
530
|
'swap': swap,
|
|
529
531
|
'future': false,
|
|
530
532
|
'option': false,
|
|
531
533
|
'active': state === 'live',
|
|
532
534
|
'contract': swap,
|
|
533
535
|
'linear': isLinear,
|
|
534
|
-
'inverse':
|
|
536
|
+
'inverse': isInverse,
|
|
535
537
|
'contractSize': swap ? this.safeNumber(market, 'ctVal') : undefined,
|
|
536
538
|
'expiry': undefined,
|
|
537
539
|
'expiryDatetime': undefined,
|
|
@@ -1064,7 +1066,7 @@ class deepcoin extends deepcoin$1["default"] {
|
|
|
1064
1066
|
const amount = this.safeNumber(transaction, 'amount');
|
|
1065
1067
|
const timestamp = this.safeTimestamp(transaction, 'createTime');
|
|
1066
1068
|
const networkId = this.safeString(transaction, 'chainName');
|
|
1067
|
-
const network = this.networkIdToCode(networkId);
|
|
1069
|
+
const network = this.networkIdToCode(networkId, code);
|
|
1068
1070
|
const status = this.parseTransactionStatus(this.safeString(transaction, 'status'));
|
|
1069
1071
|
return {
|
|
1070
1072
|
'info': transaction,
|
|
@@ -1211,10 +1213,11 @@ class deepcoin extends deepcoin$1["default"] {
|
|
|
1211
1213
|
const chain = this.safeString(response, 'chain');
|
|
1212
1214
|
const address = this.safeString(response, 'address');
|
|
1213
1215
|
this.checkAddress(address);
|
|
1216
|
+
const code = this.safeString(currency, 'code');
|
|
1214
1217
|
return {
|
|
1215
1218
|
'info': response,
|
|
1216
1219
|
'currency': undefined,
|
|
1217
|
-
'network': this.networkIdToCode(chain),
|
|
1220
|
+
'network': this.networkIdToCode(chain, code),
|
|
1218
1221
|
'address': address,
|
|
1219
1222
|
'tag': this.safeString(response, 'memo'),
|
|
1220
1223
|
};
|
|
@@ -2192,11 +2195,12 @@ class deepcoin extends deepcoin$1["default"] {
|
|
|
2192
2195
|
}
|
|
2193
2196
|
let merged = true;
|
|
2194
2197
|
[merged, params] = this.handleOptionAndParams(params, 'cancelAllOrders', 'merged', merged);
|
|
2198
|
+
const isMergedMode = merged ? 1 : 0;
|
|
2195
2199
|
const request = {
|
|
2196
2200
|
'InstrumentID': market['id'],
|
|
2197
2201
|
'ProductGroup': productGroup,
|
|
2198
2202
|
'IsCrossMargin': encodedMarginMode,
|
|
2199
|
-
'IsMergeMode':
|
|
2203
|
+
'IsMergeMode': isMergedMode,
|
|
2200
2204
|
};
|
|
2201
2205
|
const response = await this.privatePostDeepcoinTradeSwapCancelAll(this.extend(request, params));
|
|
2202
2206
|
const data = this.safeList(response, 'data', []);
|
package/dist/cjs/src/delta.js
CHANGED
|
@@ -365,6 +365,7 @@ class delta extends delta$1["default"] {
|
|
|
365
365
|
const strike = this.safeString(optionParts, 2);
|
|
366
366
|
const datetime = this.convertExpireDate(expiry);
|
|
367
367
|
const timestamp = this.parse8601(datetime);
|
|
368
|
+
const optionTypeUnified = (optionType === 'C') ? 'call' : 'put';
|
|
368
369
|
return {
|
|
369
370
|
'id': optionType + '-' + base + '-' + strike + '-' + expiry,
|
|
370
371
|
'symbol': base + '/' + quote + ':' + settle + '-' + expiry + '-' + strike + '-' + optionType,
|
|
@@ -387,7 +388,7 @@ class delta extends delta$1["default"] {
|
|
|
387
388
|
'contractSize': this.parseNumber('1'),
|
|
388
389
|
'expiry': timestamp,
|
|
389
390
|
'expiryDatetime': datetime,
|
|
390
|
-
'optionType':
|
|
391
|
+
'optionType': optionTypeUnified,
|
|
391
392
|
'strike': this.parseNumber(strike),
|
|
392
393
|
'precision': {
|
|
393
394
|
'amount': undefined,
|
|
@@ -564,62 +565,60 @@ class delta extends delta$1["default"] {
|
|
|
564
565
|
// }
|
|
565
566
|
//
|
|
566
567
|
const currencies = this.safeList(response, 'result', []);
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
'limits': {
|
|
589
|
-
'deposit': {
|
|
590
|
-
'min': this.safeNumber(chain, 'min_deposit_amount'),
|
|
591
|
-
'max': undefined,
|
|
592
|
-
},
|
|
593
|
-
'withdraw': {
|
|
594
|
-
'min': this.safeNumber(chain, 'min_withdrawal_amount'),
|
|
595
|
-
'max': undefined,
|
|
596
|
-
},
|
|
597
|
-
},
|
|
598
|
-
};
|
|
599
|
-
}
|
|
600
|
-
result[code] = this.safeCurrencyStructure({
|
|
601
|
-
'id': id,
|
|
602
|
-
'numericId': numericId,
|
|
603
|
-
'code': code,
|
|
604
|
-
'name': this.safeString(currency, 'name'),
|
|
605
|
-
'info': currency,
|
|
606
|
-
'active': undefined,
|
|
607
|
-
'deposit': this.safeString(currency, 'deposit_status') === 'enabled',
|
|
608
|
-
'withdraw': this.safeString(currency, 'withdrawal_status') === 'enabled',
|
|
609
|
-
'fee': this.safeNumber(currency, 'base_withdrawal_fee'),
|
|
610
|
-
'precision': this.parseNumber(this.parsePrecision(this.safeString(currency, 'precision'))),
|
|
568
|
+
return this.parseCurrencies(currencies);
|
|
569
|
+
}
|
|
570
|
+
parseCurrency(rawCurrency) {
|
|
571
|
+
const id = this.safeString(rawCurrency, 'symbol');
|
|
572
|
+
const numericId = this.safeInteger(rawCurrency, 'id');
|
|
573
|
+
const code = this.safeCurrencyCode(id);
|
|
574
|
+
const chains = this.safeList(rawCurrency, 'networks', []);
|
|
575
|
+
const networks = {};
|
|
576
|
+
for (let j = 0; j < chains.length; j++) {
|
|
577
|
+
const chain = chains[j];
|
|
578
|
+
const networkId = this.safeString(chain, 'network');
|
|
579
|
+
const networkCode = this.networkIdToCode(networkId, code);
|
|
580
|
+
networks[networkCode] = {
|
|
581
|
+
'id': networkId,
|
|
582
|
+
'network': networkCode,
|
|
583
|
+
'name': this.safeString(chain, 'name'),
|
|
584
|
+
'info': chain,
|
|
585
|
+
'active': this.safeString(chain, 'status') === 'enabled',
|
|
586
|
+
'deposit': this.safeString(chain, 'deposit_status') === 'enabled',
|
|
587
|
+
'withdraw': this.safeString(chain, 'withdrawal_status') === 'enabled',
|
|
588
|
+
'fee': this.safeNumber(chain, 'base_withdrawal_fee'),
|
|
611
589
|
'limits': {
|
|
612
|
-
'
|
|
590
|
+
'deposit': {
|
|
591
|
+
'min': this.safeNumber(chain, 'min_deposit_amount'),
|
|
592
|
+
'max': undefined,
|
|
593
|
+
},
|
|
613
594
|
'withdraw': {
|
|
614
|
-
'min': this.safeNumber(
|
|
595
|
+
'min': this.safeNumber(chain, 'min_withdrawal_amount'),
|
|
615
596
|
'max': undefined,
|
|
616
597
|
},
|
|
617
598
|
},
|
|
618
|
-
|
|
619
|
-
'type': 'crypto',
|
|
620
|
-
});
|
|
599
|
+
};
|
|
621
600
|
}
|
|
622
|
-
return
|
|
601
|
+
return this.safeCurrencyStructure({
|
|
602
|
+
'id': id,
|
|
603
|
+
'numericId': numericId,
|
|
604
|
+
'code': code,
|
|
605
|
+
'name': this.safeString(rawCurrency, 'name'),
|
|
606
|
+
'info': rawCurrency,
|
|
607
|
+
'active': undefined,
|
|
608
|
+
'deposit': this.safeString(rawCurrency, 'deposit_status') === 'enabled',
|
|
609
|
+
'withdraw': this.safeString(rawCurrency, 'withdrawal_status') === 'enabled',
|
|
610
|
+
'fee': this.safeNumber(rawCurrency, 'base_withdrawal_fee'),
|
|
611
|
+
'precision': this.parseNumber(this.parsePrecision(this.safeString(rawCurrency, 'precision'))),
|
|
612
|
+
'limits': {
|
|
613
|
+
'amount': { 'min': undefined, 'max': undefined },
|
|
614
|
+
'withdraw': {
|
|
615
|
+
'min': this.safeNumber(rawCurrency, 'min_withdrawal_amount'),
|
|
616
|
+
'max': undefined,
|
|
617
|
+
},
|
|
618
|
+
},
|
|
619
|
+
'networks': networks,
|
|
620
|
+
'type': 'crypto',
|
|
621
|
+
});
|
|
623
622
|
}
|
|
624
623
|
async loadMarkets(reload = false, params = {}) {
|
|
625
624
|
const markets = await super.loadMarkets(reload, params);
|
|
@@ -2607,11 +2606,12 @@ class delta extends delta$1["default"] {
|
|
|
2607
2606
|
const address = this.safeString(depositAddress, 'address');
|
|
2608
2607
|
const marketId = this.safeString(depositAddress, 'asset_symbol');
|
|
2609
2608
|
const networkId = this.safeString(depositAddress, 'network');
|
|
2609
|
+
const code = this.safeCurrencyCode(marketId, currency);
|
|
2610
2610
|
this.checkAddress(address);
|
|
2611
2611
|
return {
|
|
2612
2612
|
'info': depositAddress,
|
|
2613
|
-
'currency':
|
|
2614
|
-
'network': this.networkIdToCode(networkId),
|
|
2613
|
+
'currency': code,
|
|
2614
|
+
'network': this.networkIdToCode(networkId, code),
|
|
2615
2615
|
'address': address,
|
|
2616
2616
|
'tag': this.safeString(depositAddress, 'memo'),
|
|
2617
2617
|
};
|
package/dist/cjs/src/deribit.js
CHANGED
|
@@ -531,9 +531,11 @@ class deribit extends deribit$1["default"] {
|
|
|
531
531
|
const optionType = this.safeString(optionParts, 3);
|
|
532
532
|
const datetime = this.convertExpireDate(expiry);
|
|
533
533
|
const timestamp = this.parse8601(datetime);
|
|
534
|
+
const id = base + '-' + this.convertExpireDateToMarketIdDate(expiry) + '-' + strike + '-' + optionType;
|
|
535
|
+
const symbolExpired = splitBase + '/' + quote + ':' + settle + '-' + expiry + '-' + strike + '-' + optionType;
|
|
534
536
|
return {
|
|
535
|
-
'id':
|
|
536
|
-
'symbol':
|
|
537
|
+
'id': id,
|
|
538
|
+
'symbol': symbolExpired,
|
|
537
539
|
'base': base,
|
|
538
540
|
'quote': quote,
|
|
539
541
|
'settle': settle,
|
|
@@ -641,40 +643,38 @@ class deribit extends deribit$1["default"] {
|
|
|
641
643
|
// }
|
|
642
644
|
//
|
|
643
645
|
const data = this.safeList(response, 'result', []);
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
},
|
|
665
|
-
'withdraw': {
|
|
666
|
-
'min': undefined,
|
|
667
|
-
'max': undefined,
|
|
668
|
-
},
|
|
669
|
-
'deposit': {
|
|
670
|
-
'min': undefined,
|
|
671
|
-
'max': undefined,
|
|
672
|
-
},
|
|
646
|
+
return this.parseCurrencies(data);
|
|
647
|
+
}
|
|
648
|
+
parseCurrency(rawCurrency) {
|
|
649
|
+
const currencyId = this.safeString(rawCurrency, 'currency');
|
|
650
|
+
const code = this.safeCurrencyCode(currencyId);
|
|
651
|
+
return this.safeCurrencyStructure({
|
|
652
|
+
'info': rawCurrency,
|
|
653
|
+
'code': code,
|
|
654
|
+
'id': currencyId,
|
|
655
|
+
'name': this.safeString(rawCurrency, 'currency_long'),
|
|
656
|
+
'active': undefined,
|
|
657
|
+
'deposit': undefined,
|
|
658
|
+
'withdraw': undefined,
|
|
659
|
+
'type': 'crypto',
|
|
660
|
+
'fee': this.safeNumber(rawCurrency, 'withdrawal_fee'),
|
|
661
|
+
'precision': undefined,
|
|
662
|
+
'limits': {
|
|
663
|
+
'amount': {
|
|
664
|
+
'min': undefined,
|
|
665
|
+
'max': undefined,
|
|
673
666
|
},
|
|
674
|
-
'
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
667
|
+
'withdraw': {
|
|
668
|
+
'min': undefined,
|
|
669
|
+
'max': undefined,
|
|
670
|
+
},
|
|
671
|
+
'deposit': {
|
|
672
|
+
'min': undefined,
|
|
673
|
+
'max': undefined,
|
|
674
|
+
},
|
|
675
|
+
},
|
|
676
|
+
'networks': undefined,
|
|
677
|
+
});
|
|
678
678
|
}
|
|
679
679
|
codeFromOptions(methodName, params = {}) {
|
|
680
680
|
const defaultCode = this.safeValue(this.options, 'code', 'BTC');
|
package/dist/cjs/src/derive.js
CHANGED
|
@@ -450,7 +450,6 @@ class derive extends derive$1["default"] {
|
|
|
450
450
|
* @returns {object} an associative dictionary of currencies
|
|
451
451
|
*/
|
|
452
452
|
async fetchCurrencies(params = {}) {
|
|
453
|
-
const result = {};
|
|
454
453
|
const tokenResponse = await this.publicGetGetAllCurrencies(params);
|
|
455
454
|
//
|
|
456
455
|
// {
|
|
@@ -501,34 +500,33 @@ class derive extends derive$1["default"] {
|
|
|
501
500
|
// }
|
|
502
501
|
//
|
|
503
502
|
const currencies = this.safeList(tokenResponse, 'result', []);
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
'withdraw': {
|
|
524
|
-
'min': undefined,
|
|
525
|
-
'max': undefined,
|
|
526
|
-
},
|
|
503
|
+
return this.parseCurrencies(currencies);
|
|
504
|
+
}
|
|
505
|
+
parseCurrency(rawCurrency) {
|
|
506
|
+
const currencyId = this.safeString(rawCurrency, 'currency');
|
|
507
|
+
const code = this.safeCurrencyCode(currencyId);
|
|
508
|
+
return this.safeCurrencyStructure({
|
|
509
|
+
'id': currencyId,
|
|
510
|
+
'name': undefined,
|
|
511
|
+
'code': code,
|
|
512
|
+
'precision': undefined,
|
|
513
|
+
'active': undefined,
|
|
514
|
+
'fee': undefined,
|
|
515
|
+
'networks': undefined,
|
|
516
|
+
'deposit': undefined,
|
|
517
|
+
'withdraw': undefined,
|
|
518
|
+
'limits': {
|
|
519
|
+
'deposit': {
|
|
520
|
+
'min': undefined,
|
|
521
|
+
'max': undefined,
|
|
527
522
|
},
|
|
528
|
-
'
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
523
|
+
'withdraw': {
|
|
524
|
+
'min': undefined,
|
|
525
|
+
'max': undefined,
|
|
526
|
+
},
|
|
527
|
+
},
|
|
528
|
+
'info': rawCurrency,
|
|
529
|
+
});
|
|
532
530
|
}
|
|
533
531
|
/**
|
|
534
532
|
* @method
|
|
@@ -677,6 +675,8 @@ class derive extends derive$1["default"] {
|
|
|
677
675
|
linear = true;
|
|
678
676
|
inverse = false;
|
|
679
677
|
}
|
|
678
|
+
const contractSize = (spot) ? undefined : 1;
|
|
679
|
+
const isContract = (swap || option);
|
|
680
680
|
return this.safeMarketStructure({
|
|
681
681
|
'id': marketId,
|
|
682
682
|
'symbol': symbol,
|
|
@@ -693,10 +693,10 @@ class derive extends derive$1["default"] {
|
|
|
693
693
|
'future': false,
|
|
694
694
|
'option': option,
|
|
695
695
|
'active': this.safeBool(market, 'is_active'),
|
|
696
|
-
'contract':
|
|
696
|
+
'contract': isContract,
|
|
697
697
|
'linear': linear,
|
|
698
698
|
'inverse': inverse,
|
|
699
|
-
'contractSize':
|
|
699
|
+
'contractSize': contractSize,
|
|
700
700
|
'expiry': expiry,
|
|
701
701
|
'expiryDatetime': this.iso8601(expiry),
|
|
702
702
|
'taker': this.safeNumber(market, 'taker_fee_rate'),
|
|
@@ -1822,7 +1822,7 @@ class derive extends derive$1["default"] {
|
|
|
1822
1822
|
'gtc': 'GTC',
|
|
1823
1823
|
'post_only': 'PO',
|
|
1824
1824
|
};
|
|
1825
|
-
return this.safeString(timeInForces, timeInForce
|
|
1825
|
+
return this.safeString(timeInForces, timeInForce);
|
|
1826
1826
|
}
|
|
1827
1827
|
parseOrderStatus(status) {
|
|
1828
1828
|
if (status !== undefined) {
|
|
@@ -414,7 +414,7 @@ class digifinex extends digifinex$1["default"] {
|
|
|
414
414
|
'OTC': '3',
|
|
415
415
|
},
|
|
416
416
|
'networks': {
|
|
417
|
-
'
|
|
417
|
+
'ARBONE': 'Arbitrum',
|
|
418
418
|
'AVALANCEC': 'AVAX-CCHAIN',
|
|
419
419
|
'AVALANCEX': 'AVAX-XCHAIN',
|
|
420
420
|
'BEP20': 'BEP20',
|
|
@@ -431,20 +431,19 @@ class digifinex extends digifinex$1["default"] {
|
|
|
431
431
|
'ETHW': 'ETHW',
|
|
432
432
|
'IOTA': 'MIOTA',
|
|
433
433
|
'KLAYTN': 'KLAY',
|
|
434
|
-
'MATIC': 'Polygon',
|
|
435
434
|
'METIS': 'MetisDAO',
|
|
436
435
|
'MOONBEAM': 'GLMR',
|
|
437
436
|
'MOONRIVER': 'Moonriver',
|
|
438
437
|
'OPTIMISM': 'OPETH',
|
|
439
438
|
'POLYGON': 'Polygon',
|
|
439
|
+
'MATIC': 'Polygon',
|
|
440
440
|
'RIPPLE': 'XRP',
|
|
441
|
-
'
|
|
442
|
-
'
|
|
441
|
+
'SOL': 'SOL',
|
|
442
|
+
'XLM': 'Stella',
|
|
443
443
|
'TERRACLASSIC': 'TerraClassic',
|
|
444
444
|
'TERRA': 'Terra',
|
|
445
445
|
'TON': 'Ton',
|
|
446
446
|
'TRC20': 'TRC20',
|
|
447
|
-
'TRON': 'TRC20',
|
|
448
447
|
'TRX': 'TRC20',
|
|
449
448
|
'VECHAIN': 'Vechain', // VET
|
|
450
449
|
},
|
|
@@ -519,46 +518,46 @@ class digifinex extends digifinex$1["default"] {
|
|
|
519
518
|
//
|
|
520
519
|
const data = this.safeList(response, 'data', []);
|
|
521
520
|
const groupedById = this.groupBy(data, 'currency');
|
|
522
|
-
const
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
'
|
|
547
|
-
'min': this.safeNumber(networkEntry, 'min_deposit_amount'),
|
|
548
|
-
'max': undefined,
|
|
549
|
-
},
|
|
521
|
+
const values = Object.values(groupedById);
|
|
522
|
+
return this.parseCurrencies(values);
|
|
523
|
+
}
|
|
524
|
+
parseCurrency(rawCurrency) {
|
|
525
|
+
const networkEntries = rawCurrency;
|
|
526
|
+
const firstEntry = this.safeDict(networkEntries, 0, {}); // it must have at least one entry
|
|
527
|
+
const id = this.safeString(firstEntry, 'currency');
|
|
528
|
+
const code = this.safeCurrencyCode(id);
|
|
529
|
+
const networks = {};
|
|
530
|
+
for (let j = 0; j < networkEntries.length; j++) {
|
|
531
|
+
const networkEntry = networkEntries[j];
|
|
532
|
+
const networkId = this.safeString2(networkEntry, 'chain', 'currency');
|
|
533
|
+
const networkCode = this.networkIdToCode(networkId, code);
|
|
534
|
+
networks[networkCode] = {
|
|
535
|
+
'id': networkId,
|
|
536
|
+
'network': networkCode,
|
|
537
|
+
'active': undefined,
|
|
538
|
+
'deposit': this.safeInteger(networkEntry, 'deposit_status') === 1,
|
|
539
|
+
'withdraw': this.safeInteger(networkEntry, 'withdraw_status') === 1,
|
|
540
|
+
'fee': this.safeNumber(networkEntry, 'min_withdraw_fee'),
|
|
541
|
+
'precision': undefined,
|
|
542
|
+
'limits': {
|
|
543
|
+
'withdraw': {
|
|
544
|
+
'min': this.safeNumber(networkEntry, 'min_withdraw_amount'),
|
|
545
|
+
'max': undefined,
|
|
550
546
|
},
|
|
551
|
-
'
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
'
|
|
557
|
-
|
|
558
|
-
'networks': networks,
|
|
559
|
-
});
|
|
547
|
+
'deposit': {
|
|
548
|
+
'min': this.safeNumber(networkEntry, 'min_deposit_amount'),
|
|
549
|
+
'max': undefined,
|
|
550
|
+
},
|
|
551
|
+
},
|
|
552
|
+
'info': networkEntry,
|
|
553
|
+
};
|
|
560
554
|
}
|
|
561
|
-
return
|
|
555
|
+
return this.safeCurrencyStructure({
|
|
556
|
+
'id': id,
|
|
557
|
+
'code': code,
|
|
558
|
+
'info': networkEntries,
|
|
559
|
+
'networks': networks,
|
|
560
|
+
});
|
|
562
561
|
}
|
|
563
562
|
/**
|
|
564
563
|
* @method
|
|
@@ -682,6 +681,7 @@ class digifinex extends digifinex$1["default"] {
|
|
|
682
681
|
isAllowed = 1;
|
|
683
682
|
}
|
|
684
683
|
}
|
|
684
|
+
const isActive = isAllowed ? true : false;
|
|
685
685
|
result.push({
|
|
686
686
|
'id': id,
|
|
687
687
|
'symbol': symbol,
|
|
@@ -697,7 +697,7 @@ class digifinex extends digifinex$1["default"] {
|
|
|
697
697
|
'swap': swap,
|
|
698
698
|
'future': false,
|
|
699
699
|
'option': false,
|
|
700
|
-
'active':
|
|
700
|
+
'active': isActive,
|
|
701
701
|
'contract': swap,
|
|
702
702
|
'linear': isLinear,
|
|
703
703
|
'inverse': isInverse,
|
|
@@ -4175,7 +4175,7 @@ class digifinex extends digifinex$1["default"] {
|
|
|
4175
4175
|
'percentage': undefined,
|
|
4176
4176
|
};
|
|
4177
4177
|
if (networkId !== undefined) {
|
|
4178
|
-
const networkCode = this.networkIdToCode(networkId);
|
|
4178
|
+
const networkCode = this.networkIdToCode(networkId, code);
|
|
4179
4179
|
depositWithdrawFees[code]['networks'][networkCode] = {
|
|
4180
4180
|
'withdraw': withdrawResult,
|
|
4181
4181
|
'deposit': depositResult,
|