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
|
@@ -346,7 +346,7 @@ export default class coinbaseinternational extends Exchange {
|
|
|
346
346
|
}
|
|
347
347
|
throw new ArgumentsRequired(this.id + ' ' + methodName + '() requires a portfolio parameter or set the default portfolio with this.options["portfolio"]');
|
|
348
348
|
}
|
|
349
|
-
async handleNetworkIdAndParams(currencyCode, methodName, params) {
|
|
349
|
+
async handleNetworkIdAndParams(currencyCode, methodName, params = {}) {
|
|
350
350
|
let networkId = undefined;
|
|
351
351
|
[networkId, params] = this.handleOptionAndParams(params, methodName, 'network_arn_id');
|
|
352
352
|
if (networkId === undefined) {
|
|
@@ -522,9 +522,10 @@ export default class coinbaseinternational extends Exchange {
|
|
|
522
522
|
}
|
|
523
523
|
const market = this.market(symbol);
|
|
524
524
|
const page = this.safeInteger(params, pageKey, 1) - 1;
|
|
525
|
+
const offSet = this.safeInteger2(params, 'offset', 'result_offset', page * maxEntriesPerRequest);
|
|
525
526
|
const request = {
|
|
526
527
|
'instrument': market['id'],
|
|
527
|
-
'result_offset':
|
|
528
|
+
'result_offset': offSet,
|
|
528
529
|
};
|
|
529
530
|
if (limit !== undefined) {
|
|
530
531
|
request['result_limit'] = limit;
|
|
@@ -944,8 +945,9 @@ export default class coinbaseinternational extends Exchange {
|
|
|
944
945
|
return await this.fetchPaginatedCallIncremental('fetchDepositsWithdrawals', code, since, limit, params, pageKey, maxEntriesPerRequest);
|
|
945
946
|
}
|
|
946
947
|
const page = this.safeInteger(params, pageKey, 1) - 1;
|
|
948
|
+
const offSet = this.safeInteger2(params, 'offset', 'result_offset', page * maxEntriesPerRequest);
|
|
947
949
|
const request = {
|
|
948
|
-
'result_offset':
|
|
950
|
+
'result_offset': offSet,
|
|
949
951
|
};
|
|
950
952
|
if (since !== undefined) {
|
|
951
953
|
request['time_from'] = this.iso8601(since);
|
|
@@ -1182,13 +1184,14 @@ export default class coinbaseinternational extends Exchange {
|
|
|
1182
1184
|
const addressFrom = this.safeStringN(transaction, ['from_address', 'from_cb_account', this.safeStringN(fromPorfolio, ['id', 'uuid', 'name']), 'from_counterparty_id']);
|
|
1183
1185
|
const toPorfolio = this.safeDict(transaction, 'from_portfolio', {});
|
|
1184
1186
|
const addressTo = this.safeStringN(transaction, ['to_address', 'to_cb_account', this.safeStringN(toPorfolio, ['id', 'uuid', 'name']), 'to_counterparty_id']);
|
|
1187
|
+
const code = this.safeString(currency, 'code');
|
|
1185
1188
|
return {
|
|
1186
1189
|
'info': transaction,
|
|
1187
1190
|
'id': this.safeString(transaction, 'transfer_uuid'),
|
|
1188
1191
|
'txid': this.safeString(transaction, 'transaction_uuid'),
|
|
1189
1192
|
'timestamp': this.parse8601(datetime),
|
|
1190
1193
|
'datetime': datetime,
|
|
1191
|
-
'network': this.networkIdToCode(this.safeString(transaction, 'network_name')),
|
|
1194
|
+
'network': this.networkIdToCode(this.safeString(transaction, 'network_name'), code),
|
|
1192
1195
|
'address': undefined,
|
|
1193
1196
|
'addressTo': addressTo,
|
|
1194
1197
|
'addressFrom': addressFrom,
|
|
@@ -1380,16 +1383,18 @@ export default class coinbaseinternational extends Exchange {
|
|
|
1380
1383
|
settleId = quoteId;
|
|
1381
1384
|
symbol += ':' + quoteId;
|
|
1382
1385
|
}
|
|
1386
|
+
const isLinear = isSpot ? undefined : (settleId === quoteId);
|
|
1387
|
+
const isInverse = isSpot ? undefined : (settleId !== quoteId);
|
|
1383
1388
|
return {
|
|
1384
1389
|
'id': marketId,
|
|
1385
1390
|
'lowercaseId': marketId.toLowerCase(),
|
|
1386
1391
|
'symbol': symbol,
|
|
1387
1392
|
'base': baseId,
|
|
1388
1393
|
'quote': quoteId,
|
|
1389
|
-
'settle': settleId
|
|
1394
|
+
'settle': settleId,
|
|
1390
1395
|
'baseId': baseId,
|
|
1391
1396
|
'quoteId': quoteId,
|
|
1392
|
-
'settleId': settleId
|
|
1397
|
+
'settleId': settleId,
|
|
1393
1398
|
'type': isSpot ? 'spot' : 'swap',
|
|
1394
1399
|
'spot': isSpot,
|
|
1395
1400
|
'margin': false,
|
|
@@ -1398,8 +1403,8 @@ export default class coinbaseinternational extends Exchange {
|
|
|
1398
1403
|
'option': false,
|
|
1399
1404
|
'active': this.safeString(market, 'trading_state') === 'TRADING',
|
|
1400
1405
|
'contract': !isSpot,
|
|
1401
|
-
'linear':
|
|
1402
|
-
'inverse':
|
|
1406
|
+
'linear': isLinear,
|
|
1407
|
+
'inverse': isInverse,
|
|
1403
1408
|
'taker': fees['trading']['taker'],
|
|
1404
1409
|
'maker': fees['trading']['maker'],
|
|
1405
1410
|
'contractSize': isSpot ? undefined : 1,
|
|
@@ -2048,9 +2053,10 @@ export default class coinbaseinternational extends Exchange {
|
|
|
2048
2053
|
return await this.fetchPaginatedCallIncremental('fetchOpenOrders', symbol, since, limit, params, pageKey, maxEntriesPerRequest);
|
|
2049
2054
|
}
|
|
2050
2055
|
const page = this.safeInteger(params, pageKey, 1) - 1;
|
|
2056
|
+
const offSet = this.safeInteger2(params, 'offset', 'result_offset', page * maxEntriesPerRequest);
|
|
2051
2057
|
const request = {
|
|
2052
2058
|
'portfolio': portfolio,
|
|
2053
|
-
'result_offset':
|
|
2059
|
+
'result_offset': offSet,
|
|
2054
2060
|
};
|
|
2055
2061
|
let market = undefined;
|
|
2056
2062
|
if (symbol) {
|
|
@@ -2132,8 +2138,9 @@ export default class coinbaseinternational extends Exchange {
|
|
|
2132
2138
|
market = this.market(symbol);
|
|
2133
2139
|
}
|
|
2134
2140
|
const page = this.safeInteger(params, pageKey, 1) - 1;
|
|
2141
|
+
const offSet = this.safeInteger2(params, 'offset', 'result_offset', page * maxEntriesPerRequest);
|
|
2135
2142
|
const request = {
|
|
2136
|
-
'result_offset':
|
|
2143
|
+
'result_offset': offSet,
|
|
2137
2144
|
};
|
|
2138
2145
|
if (limit !== undefined) {
|
|
2139
2146
|
if (limit > 100) {
|
package/js/src/coinex.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export default class coinex extends Exchange {
|
|
|
15
15
|
* @returns {object} an associative dictionary of currencies
|
|
16
16
|
*/
|
|
17
17
|
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
18
|
+
parseCurrency(coin: any): Currency;
|
|
18
19
|
/**
|
|
19
20
|
* @method
|
|
20
21
|
* @name coinex#fetchMarkets
|
|
@@ -657,7 +658,7 @@ export default class coinex extends Exchange {
|
|
|
657
658
|
* @name coinex#fetchDepositWithdrawFees
|
|
658
659
|
* @description fetch the fees for deposits and withdrawals
|
|
659
660
|
* @see https://docs.coinex.com/api/v2/assets/deposit-withdrawal/http/list-all-deposit-withdrawal-config
|
|
660
|
-
* @param codes
|
|
661
|
+
* @param {string[]} [codes] list of unified currency codes
|
|
661
662
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
662
663
|
* @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/?id=fee-structure}
|
|
663
664
|
*/
|
package/js/src/coinex.js
CHANGED
|
@@ -725,90 +725,88 @@ export default class coinex extends Exchange {
|
|
|
725
725
|
// }
|
|
726
726
|
//
|
|
727
727
|
const data = this.safeList(response, 'data', []);
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
}
|
|
750
|
-
const precisionString = this.parsePrecision(this.safeString(chain, 'withdrawal_precision'));
|
|
751
|
-
const feeString = this.safeString(chain, 'withdrawal_fee');
|
|
752
|
-
const minNetworkDepositString = this.safeString(chain, 'min_deposit_amount');
|
|
753
|
-
const minNetworkWithdrawString = this.safeString(chain, 'min_withdraw_amount');
|
|
754
|
-
const canDepositChain = this.safeBool(chain, 'deposit_enabled');
|
|
755
|
-
const canWithdrawChain = this.safeBool(chain, 'withdraw_enabled');
|
|
756
|
-
const network = {
|
|
757
|
-
'id': networkId,
|
|
758
|
-
'network': networkCode,
|
|
759
|
-
'name': undefined,
|
|
760
|
-
'active': canDepositChain && canWithdrawChain,
|
|
761
|
-
'deposit': canDepositChain,
|
|
762
|
-
'withdraw': canWithdrawChain,
|
|
763
|
-
'fee': this.parseNumber(feeString),
|
|
764
|
-
'precision': this.parseNumber(precisionString),
|
|
765
|
-
'limits': {
|
|
766
|
-
'amount': {
|
|
767
|
-
'min': undefined,
|
|
768
|
-
'max': undefined,
|
|
769
|
-
},
|
|
770
|
-
'deposit': {
|
|
771
|
-
'min': this.parseNumber(minNetworkDepositString),
|
|
772
|
-
'max': undefined,
|
|
773
|
-
},
|
|
774
|
-
'withdraw': {
|
|
775
|
-
'min': this.parseNumber(minNetworkWithdrawString),
|
|
776
|
-
'max': undefined,
|
|
777
|
-
},
|
|
778
|
-
},
|
|
779
|
-
'info': chain,
|
|
780
|
-
};
|
|
781
|
-
networks[networkCode] = network;
|
|
728
|
+
return this.parseCurrencies(data);
|
|
729
|
+
}
|
|
730
|
+
parseCurrency(coin) {
|
|
731
|
+
const asset = this.safeDict(coin, 'asset', {});
|
|
732
|
+
const chains = this.safeList(coin, 'chains', []);
|
|
733
|
+
const currencyId = this.safeString(asset, 'ccy');
|
|
734
|
+
if (currencyId === undefined) {
|
|
735
|
+
return undefined; // coinex returns empty structures for some reason
|
|
736
|
+
}
|
|
737
|
+
const code = this.safeCurrencyCode(currencyId);
|
|
738
|
+
const canDeposit = this.safeBool(asset, 'deposit_enabled');
|
|
739
|
+
const canWithdraw = this.safeBool(asset, 'withdraw_enabled');
|
|
740
|
+
const firstChain = this.safeDict(chains, 0, {});
|
|
741
|
+
const firstPrecisionString = this.parsePrecision(this.safeString(firstChain, 'withdrawal_precision'));
|
|
742
|
+
const networks = {};
|
|
743
|
+
for (let j = 0; j < chains.length; j++) {
|
|
744
|
+
const chain = chains[j];
|
|
745
|
+
const networkId = this.safeString(chain, 'chain');
|
|
746
|
+
const networkCode = this.networkIdToCode(networkId, code);
|
|
747
|
+
if (networkId === undefined) {
|
|
748
|
+
continue;
|
|
782
749
|
}
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
750
|
+
const precisionString = this.parsePrecision(this.safeString(chain, 'withdrawal_precision'));
|
|
751
|
+
const feeString = this.safeString(chain, 'withdrawal_fee');
|
|
752
|
+
const minNetworkDepositString = this.safeString(chain, 'min_deposit_amount');
|
|
753
|
+
const minNetworkWithdrawString = this.safeString(chain, 'min_withdraw_amount');
|
|
754
|
+
const canDepositChain = this.safeBool(chain, 'deposit_enabled');
|
|
755
|
+
const canWithdrawChain = this.safeBool(chain, 'withdraw_enabled');
|
|
756
|
+
const network = {
|
|
757
|
+
'id': networkId,
|
|
758
|
+
'network': networkCode,
|
|
786
759
|
'name': undefined,
|
|
787
|
-
'active':
|
|
788
|
-
'deposit':
|
|
789
|
-
'withdraw':
|
|
790
|
-
'fee':
|
|
791
|
-
'precision': this.parseNumber(
|
|
760
|
+
'active': canDepositChain && canWithdrawChain,
|
|
761
|
+
'deposit': canDepositChain,
|
|
762
|
+
'withdraw': canWithdrawChain,
|
|
763
|
+
'fee': this.parseNumber(feeString),
|
|
764
|
+
'precision': this.parseNumber(precisionString),
|
|
792
765
|
'limits': {
|
|
793
766
|
'amount': {
|
|
794
767
|
'min': undefined,
|
|
795
768
|
'max': undefined,
|
|
796
769
|
},
|
|
797
770
|
'deposit': {
|
|
798
|
-
'min':
|
|
771
|
+
'min': this.parseNumber(minNetworkDepositString),
|
|
799
772
|
'max': undefined,
|
|
800
773
|
},
|
|
801
774
|
'withdraw': {
|
|
802
|
-
'min':
|
|
775
|
+
'min': this.parseNumber(minNetworkWithdrawString),
|
|
803
776
|
'max': undefined,
|
|
804
777
|
},
|
|
805
778
|
},
|
|
806
|
-
'
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
779
|
+
'info': chain,
|
|
780
|
+
};
|
|
781
|
+
networks[networkCode] = network;
|
|
782
|
+
}
|
|
783
|
+
return this.safeCurrencyStructure({
|
|
784
|
+
'id': currencyId,
|
|
785
|
+
'code': code,
|
|
786
|
+
'name': undefined,
|
|
787
|
+
'active': canDeposit && canWithdraw,
|
|
788
|
+
'deposit': canDeposit,
|
|
789
|
+
'withdraw': canWithdraw,
|
|
790
|
+
'fee': undefined,
|
|
791
|
+
'precision': this.parseNumber(firstPrecisionString),
|
|
792
|
+
'limits': {
|
|
793
|
+
'amount': {
|
|
794
|
+
'min': undefined,
|
|
795
|
+
'max': undefined,
|
|
796
|
+
},
|
|
797
|
+
'deposit': {
|
|
798
|
+
'min': undefined,
|
|
799
|
+
'max': undefined,
|
|
800
|
+
},
|
|
801
|
+
'withdraw': {
|
|
802
|
+
'min': undefined,
|
|
803
|
+
'max': undefined,
|
|
804
|
+
},
|
|
805
|
+
},
|
|
806
|
+
'networks': networks,
|
|
807
|
+
'type': 'crypto',
|
|
808
|
+
'info': coin,
|
|
809
|
+
});
|
|
812
810
|
}
|
|
813
811
|
/**
|
|
814
812
|
* @method
|
|
@@ -3993,7 +3991,7 @@ export default class coinex extends Exchange {
|
|
|
3993
3991
|
if (networkCode === undefined) {
|
|
3994
3992
|
throw new ArgumentsRequired(this.id + ' fetchDepositAddress() requires a "network" parameter');
|
|
3995
3993
|
}
|
|
3996
|
-
request['chain'] = this.networkCodeToId(networkCode); // required for on-chain, not required for inter-user transfer
|
|
3994
|
+
request['chain'] = this.networkCodeToId(networkCode, currency['code']); // required for on-chain, not required for inter-user transfer
|
|
3997
3995
|
const response = await this.v2PrivateGetAssetsDepositAddress(this.extend(request, params));
|
|
3998
3996
|
//
|
|
3999
3997
|
// {
|
|
@@ -4498,11 +4496,13 @@ export default class coinex extends Exchange {
|
|
|
4498
4496
|
const marketId = this.safeString(info, 'market');
|
|
4499
4497
|
market = this.safeMarket(marketId, market, undefined, 'swap');
|
|
4500
4498
|
const maxNotional = this.safeNumber(tier, 'amount');
|
|
4499
|
+
const curr = market['linear'] ? market['base'] : market['quote'];
|
|
4500
|
+
const notional = minNotional;
|
|
4501
4501
|
tiers.push({
|
|
4502
4502
|
'tier': this.sum(i, 1),
|
|
4503
4503
|
'symbol': this.safeSymbol(marketId, market, undefined, 'swap'),
|
|
4504
|
-
'currency':
|
|
4505
|
-
'minNotional':
|
|
4504
|
+
'currency': curr,
|
|
4505
|
+
'minNotional': notional,
|
|
4506
4506
|
'maxNotional': maxNotional,
|
|
4507
4507
|
'maintenanceMarginRate': this.safeNumber(tier, 'maintenance_margin_rate'),
|
|
4508
4508
|
'maxLeverage': this.safeInteger(tier, 'leverage'),
|
|
@@ -4917,7 +4917,7 @@ export default class coinex extends Exchange {
|
|
|
4917
4917
|
let networkCode = undefined;
|
|
4918
4918
|
[networkCode, params] = this.handleNetworkCodeAndParams(params);
|
|
4919
4919
|
if (networkCode !== undefined) {
|
|
4920
|
-
request['chain'] = this.networkCodeToId(networkCode); // required for on-chain, not required for inter-user transfer
|
|
4920
|
+
request['chain'] = this.networkCodeToId(networkCode, currency['code']); // required for on-chain, not required for inter-user transfer
|
|
4921
4921
|
}
|
|
4922
4922
|
const response = await this.v2PrivatePostAssetsWithdraw(this.extend(request, params));
|
|
4923
4923
|
//
|
|
@@ -5124,7 +5124,7 @@ export default class coinex extends Exchange {
|
|
|
5124
5124
|
'txid': txid,
|
|
5125
5125
|
'timestamp': timestamp,
|
|
5126
5126
|
'datetime': this.iso8601(timestamp),
|
|
5127
|
-
'network': this.networkIdToCode(networkId),
|
|
5127
|
+
'network': this.networkIdToCode(networkId, code),
|
|
5128
5128
|
'address': address,
|
|
5129
5129
|
'addressTo': address,
|
|
5130
5130
|
'addressFrom': undefined,
|
|
@@ -5717,7 +5717,7 @@ export default class coinex extends Exchange {
|
|
|
5717
5717
|
* @name coinex#fetchDepositWithdrawFees
|
|
5718
5718
|
* @description fetch the fees for deposits and withdrawals
|
|
5719
5719
|
* @see https://docs.coinex.com/api/v2/assets/deposit-withdrawal/http/list-all-deposit-withdrawal-config
|
|
5720
|
-
* @param codes
|
|
5720
|
+
* @param {string[]} [codes] list of unified currency codes
|
|
5721
5721
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
5722
5722
|
* @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/?id=fee-structure}
|
|
5723
5723
|
*/
|
|
@@ -5827,7 +5827,9 @@ export default class coinex extends Exchange {
|
|
|
5827
5827
|
result['withdraw']['percentage'] = false;
|
|
5828
5828
|
const networkId = this.safeString(entry, 'chain');
|
|
5829
5829
|
if (networkId) {
|
|
5830
|
-
const
|
|
5830
|
+
const currencyId = this.safeString(asset, 'ccy');
|
|
5831
|
+
const feeCode = this.safeCurrencyCode(currencyId, currency);
|
|
5832
|
+
const networkCode = this.networkIdToCode(networkId, feeCode);
|
|
5831
5833
|
result['networks'][networkCode] = {
|
|
5832
5834
|
'withdraw': {
|
|
5833
5835
|
'fee': this.safeNumber(entry, 'withdrawal_fee'),
|
package/js/src/coinmetro.d.ts
CHANGED
|
@@ -79,7 +79,7 @@ export default class coinmetro extends Exchange {
|
|
|
79
79
|
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure} indexed by market symbols
|
|
80
80
|
*/
|
|
81
81
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
82
|
-
|
|
82
|
+
parseOrderBookBidsAsks(bidasks: any, priceKey?: IndexType, amountKey?: IndexType, countOrIdKey?: IndexType): any[];
|
|
83
83
|
/**
|
|
84
84
|
* @method
|
|
85
85
|
* @name coinmetro#fetchTickers
|
package/js/src/coinmetro.js
CHANGED
|
@@ -886,7 +886,7 @@ export default class coinmetro extends Exchange {
|
|
|
886
886
|
orderbook['nonce'] = this.safeInteger(book, 'seqNumber');
|
|
887
887
|
return orderbook;
|
|
888
888
|
}
|
|
889
|
-
|
|
889
|
+
parseOrderBookBidsAsks(bidasks, priceKey = 0, amountKey = 1, countOrIdKey = 2) {
|
|
890
890
|
const prices = Object.keys(bidasks);
|
|
891
891
|
const result = [];
|
|
892
892
|
for (let i = 0; i < prices.length; i++) {
|
package/js/src/coinsph.js
CHANGED
|
@@ -623,7 +623,7 @@ export default class coinsph extends Exchange {
|
|
|
623
623
|
for (let j = 0; j < networkList.length; j++) {
|
|
624
624
|
const networkItem = networkList[j];
|
|
625
625
|
const network = this.safeString(networkItem, 'network');
|
|
626
|
-
const networkCode = this.networkIdToCode(network);
|
|
626
|
+
const networkCode = this.networkIdToCode(network, code);
|
|
627
627
|
networks[networkCode] = {
|
|
628
628
|
'info': networkItem,
|
|
629
629
|
'id': network,
|
|
@@ -1272,12 +1272,12 @@ export default class coinsph extends Exchange {
|
|
|
1272
1272
|
'currency': this.safeCurrencyCode(feeCurrencyId),
|
|
1273
1273
|
};
|
|
1274
1274
|
}
|
|
1275
|
-
const isBuyer = this.safeBool2(trade, 'isBuyer', 'isBuyerMaker'
|
|
1275
|
+
const isBuyer = this.safeBool2(trade, 'isBuyer', 'isBuyerMaker');
|
|
1276
1276
|
let side = undefined;
|
|
1277
1277
|
if (isBuyer !== undefined) {
|
|
1278
1278
|
side = (isBuyer === true) ? 'buy' : 'sell';
|
|
1279
1279
|
}
|
|
1280
|
-
const isMaker = this.
|
|
1280
|
+
const isMaker = this.safeString(trade, 'isMaker');
|
|
1281
1281
|
let takerOrMaker = undefined;
|
|
1282
1282
|
if (isMaker !== undefined) {
|
|
1283
1283
|
takerOrMaker = (isMaker === 'true') ? 'maker' : 'taker';
|
|
@@ -1672,7 +1672,7 @@ export default class coinsph extends Exchange {
|
|
|
1672
1672
|
const marketId = this.safeString(order, 'symbol');
|
|
1673
1673
|
market = this.safeMarket(marketId, market);
|
|
1674
1674
|
const timestamp = this.safeInteger2(order, 'time', 'transactTime');
|
|
1675
|
-
const trades = this.safeValue(order, 'fills'
|
|
1675
|
+
const trades = this.safeValue(order, 'fills');
|
|
1676
1676
|
let triggerPrice = this.safeString(order, 'stopPrice');
|
|
1677
1677
|
if (Precise.stringEq(triggerPrice, '0')) {
|
|
1678
1678
|
triggerPrice = undefined;
|
|
@@ -2213,7 +2213,7 @@ export default class coinsph extends Exchange {
|
|
|
2213
2213
|
if (response === undefined) {
|
|
2214
2214
|
return undefined;
|
|
2215
2215
|
}
|
|
2216
|
-
const responseCode = this.safeString(response, 'code'
|
|
2216
|
+
const responseCode = this.safeString(response, 'code');
|
|
2217
2217
|
if ((responseCode !== undefined) && (responseCode !== '200') && (responseCode !== '0')) {
|
|
2218
2218
|
const feedback = this.id + ' ' + body;
|
|
2219
2219
|
this.throwBroadlyMatchedException(this.exceptions['broad'], body, feedback);
|
package/js/src/cryptocom.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export default class cryptocom extends Exchange {
|
|
|
15
15
|
* @returns {object} an associative dictionary of currencies
|
|
16
16
|
*/
|
|
17
17
|
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
18
|
+
parseCurrency(currency: Dict): Currency;
|
|
18
19
|
/**
|
|
19
20
|
* @method
|
|
20
21
|
* @name cryptocom#fetchMarkets
|
package/js/src/cryptocom.js
CHANGED
|
@@ -559,7 +559,8 @@ export default class cryptocom extends Exchange {
|
|
|
559
559
|
response = await this.v1PrivatePostPrivateGetCurrencyNetworks(params);
|
|
560
560
|
}
|
|
561
561
|
catch (e) {
|
|
562
|
-
|
|
562
|
+
const erString = this.exceptionMessage(e);
|
|
563
|
+
if (erString.indexOf('"msg":"SYS_ERROR"') >= 0) {
|
|
563
564
|
// sub-accounts can't access this endpoint
|
|
564
565
|
// {"code":"10001","msg":"SYS_ERROR"}
|
|
565
566
|
return {};
|
|
@@ -612,57 +613,54 @@ export default class cryptocom extends Exchange {
|
|
|
612
613
|
//
|
|
613
614
|
const resultData = this.safeDict(response, 'result', {});
|
|
614
615
|
const currencyMap = this.safeDict(resultData, 'currency_map', {});
|
|
615
|
-
const
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
'network': network,
|
|
632
|
-
'active': undefined,
|
|
633
|
-
'deposit': this.safeBool(chain, 'deposit_enabled', false),
|
|
634
|
-
'withdraw': this.safeBool(chain, 'withdraw_enabled', false),
|
|
635
|
-
'fee': this.safeNumber(chain, 'withdrawal_fee'),
|
|
636
|
-
'precision': undefined,
|
|
637
|
-
'limits': {
|
|
638
|
-
'withdraw': {
|
|
639
|
-
'min': this.safeNumber(chain, 'min_withdrawal_amount'),
|
|
640
|
-
'max': undefined,
|
|
641
|
-
},
|
|
642
|
-
},
|
|
643
|
-
};
|
|
644
|
-
}
|
|
645
|
-
result[code] = this.safeCurrencyStructure({
|
|
646
|
-
'info': currency,
|
|
647
|
-
'id': id,
|
|
648
|
-
'code': code,
|
|
649
|
-
'name': this.safeString(currency, 'full_name'),
|
|
616
|
+
const enhancedArray = this.addKeyInArrayItems(currencyMap, '_coin_id');
|
|
617
|
+
return this.parseCurrencies(enhancedArray);
|
|
618
|
+
}
|
|
619
|
+
parseCurrency(currency) {
|
|
620
|
+
const id = this.safeString(currency, '_coin_id');
|
|
621
|
+
const code = this.safeCurrencyCode(id);
|
|
622
|
+
const networks = {};
|
|
623
|
+
const chains = this.safeList(currency, 'network_list', []);
|
|
624
|
+
for (let j = 0; j < chains.length; j++) {
|
|
625
|
+
const chain = chains[j];
|
|
626
|
+
const networkId = this.safeString(chain, 'network_id');
|
|
627
|
+
const network = this.networkIdToCode(networkId, code);
|
|
628
|
+
networks[network] = {
|
|
629
|
+
'info': chain,
|
|
630
|
+
'id': networkId,
|
|
631
|
+
'network': network,
|
|
650
632
|
'active': undefined,
|
|
651
|
-
'deposit':
|
|
652
|
-
'withdraw':
|
|
653
|
-
'fee':
|
|
633
|
+
'deposit': this.safeBool(chain, 'deposit_enabled', false),
|
|
634
|
+
'withdraw': this.safeBool(chain, 'withdraw_enabled', false),
|
|
635
|
+
'fee': this.safeNumber(chain, 'withdrawal_fee'),
|
|
654
636
|
'precision': undefined,
|
|
655
637
|
'limits': {
|
|
656
|
-
'
|
|
657
|
-
'min':
|
|
638
|
+
'withdraw': {
|
|
639
|
+
'min': this.safeNumber(chain, 'min_withdrawal_amount'),
|
|
658
640
|
'max': undefined,
|
|
659
641
|
},
|
|
660
642
|
},
|
|
661
|
-
|
|
662
|
-
'networks': networks,
|
|
663
|
-
});
|
|
643
|
+
};
|
|
664
644
|
}
|
|
665
|
-
return
|
|
645
|
+
return this.safeCurrencyStructure({
|
|
646
|
+
'info': currency,
|
|
647
|
+
'id': id,
|
|
648
|
+
'code': code,
|
|
649
|
+
'name': this.safeString(currency, 'full_name'),
|
|
650
|
+
'active': undefined,
|
|
651
|
+
'deposit': undefined,
|
|
652
|
+
'withdraw': undefined,
|
|
653
|
+
'fee': undefined,
|
|
654
|
+
'precision': undefined,
|
|
655
|
+
'limits': {
|
|
656
|
+
'amount': {
|
|
657
|
+
'min': undefined,
|
|
658
|
+
'max': undefined,
|
|
659
|
+
},
|
|
660
|
+
},
|
|
661
|
+
'type': 'crypto',
|
|
662
|
+
'networks': networks,
|
|
663
|
+
});
|
|
666
664
|
}
|
|
667
665
|
/**
|
|
668
666
|
* @method
|
|
@@ -806,6 +804,8 @@ export default class cryptocom extends Exchange {
|
|
|
806
804
|
symbol = symbol + ':' + quote + '-' + this.yymmdd(expiry) + '-' + strike + '-' + symbolOptionType;
|
|
807
805
|
contract = true;
|
|
808
806
|
}
|
|
807
|
+
const isLinear = (contract) ? true : undefined;
|
|
808
|
+
const isInverse = (contract) ? false : undefined;
|
|
809
809
|
result.push({
|
|
810
810
|
'id': this.safeString(market, 'symbol'),
|
|
811
811
|
'symbol': symbol,
|
|
@@ -823,8 +823,8 @@ export default class cryptocom extends Exchange {
|
|
|
823
823
|
'option': option,
|
|
824
824
|
'active': this.safeBool(market, 'tradable'),
|
|
825
825
|
'contract': contract,
|
|
826
|
-
'linear':
|
|
827
|
-
'inverse':
|
|
826
|
+
'linear': isLinear,
|
|
827
|
+
'inverse': isInverse,
|
|
828
828
|
'contractSize': this.safeNumber(market, 'contract_size'),
|
|
829
829
|
'expiry': expiry,
|
|
830
830
|
'expiryDatetime': this.iso8601(expiry),
|
|
@@ -2014,7 +2014,7 @@ export default class cryptocom extends Exchange {
|
|
|
2014
2014
|
}
|
|
2015
2015
|
let networkCode = undefined;
|
|
2016
2016
|
[networkCode, params] = this.handleNetworkCodeAndParams(params);
|
|
2017
|
-
const networkId = this.networkCodeToId(networkCode);
|
|
2017
|
+
const networkId = this.networkCodeToId(networkCode, code);
|
|
2018
2018
|
if (networkId !== undefined) {
|
|
2019
2019
|
request['network_id'] = networkId;
|
|
2020
2020
|
}
|
|
@@ -2115,10 +2115,8 @@ export default class cryptocom extends Exchange {
|
|
|
2115
2115
|
if (network in depositAddresses) {
|
|
2116
2116
|
return depositAddresses[network];
|
|
2117
2117
|
}
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
return depositAddresses[keys[0]];
|
|
2121
|
-
}
|
|
2118
|
+
const keys = Object.keys(depositAddresses);
|
|
2119
|
+
return depositAddresses[keys[0]];
|
|
2122
2120
|
}
|
|
2123
2121
|
/**
|
|
2124
2122
|
* @method
|
|
@@ -3329,8 +3327,8 @@ export default class cryptocom extends Exchange {
|
|
|
3329
3327
|
paramsKeys = object;
|
|
3330
3328
|
}
|
|
3331
3329
|
else {
|
|
3332
|
-
const
|
|
3333
|
-
paramsKeys =
|
|
3330
|
+
const objectKeys = Object.keys(object);
|
|
3331
|
+
paramsKeys = this.sort(objectKeys);
|
|
3334
3332
|
}
|
|
3335
3333
|
for (let i = 0; i < paramsKeys.length; i++) {
|
|
3336
3334
|
const key = paramsKeys[i];
|
package/js/src/cryptomus.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/cryptomus.js';
|
|
2
|
-
import type { Balances, Currencies, Dict, int, Int, Market, Num, Order, OrderBook, OrderType, OrderSide, Str, Strings, Ticker, Tickers, Trade, TradingFees } from './base/types.js';
|
|
2
|
+
import type { Balances, Currencies, Dict, int, Int, Market, Num, Order, OrderBook, OrderType, OrderSide, Str, Strings, Ticker, Tickers, Trade, TradingFees, Currency } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class cryptomus
|
|
5
5
|
* @augments Exchange
|
|
@@ -25,6 +25,7 @@ export default class cryptomus extends Exchange {
|
|
|
25
25
|
* @returns {object} an associative dictionary of currencies
|
|
26
26
|
*/
|
|
27
27
|
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
28
|
+
parseCurrency(rawCurrency: Dict): Currency;
|
|
28
29
|
/**
|
|
29
30
|
* @method
|
|
30
31
|
* @name cryptomus#fetchTickers
|