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/js/src/digifinex.js
CHANGED
|
@@ -409,7 +409,7 @@ export default class digifinex extends Exchange {
|
|
|
409
409
|
'OTC': '3',
|
|
410
410
|
},
|
|
411
411
|
'networks': {
|
|
412
|
-
'
|
|
412
|
+
'ARBONE': 'Arbitrum',
|
|
413
413
|
'AVALANCEC': 'AVAX-CCHAIN',
|
|
414
414
|
'AVALANCEX': 'AVAX-XCHAIN',
|
|
415
415
|
'BEP20': 'BEP20',
|
|
@@ -426,20 +426,19 @@ export default class digifinex extends Exchange {
|
|
|
426
426
|
'ETHW': 'ETHW',
|
|
427
427
|
'IOTA': 'MIOTA',
|
|
428
428
|
'KLAYTN': 'KLAY',
|
|
429
|
-
'MATIC': 'Polygon',
|
|
430
429
|
'METIS': 'MetisDAO',
|
|
431
430
|
'MOONBEAM': 'GLMR',
|
|
432
431
|
'MOONRIVER': 'Moonriver',
|
|
433
432
|
'OPTIMISM': 'OPETH',
|
|
434
433
|
'POLYGON': 'Polygon',
|
|
434
|
+
'MATIC': 'Polygon',
|
|
435
435
|
'RIPPLE': 'XRP',
|
|
436
|
-
'
|
|
437
|
-
'
|
|
436
|
+
'SOL': 'SOL',
|
|
437
|
+
'XLM': 'Stella',
|
|
438
438
|
'TERRACLASSIC': 'TerraClassic',
|
|
439
439
|
'TERRA': 'Terra',
|
|
440
440
|
'TON': 'Ton',
|
|
441
441
|
'TRC20': 'TRC20',
|
|
442
|
-
'TRON': 'TRC20',
|
|
443
442
|
'TRX': 'TRC20',
|
|
444
443
|
'VECHAIN': 'Vechain', // VET
|
|
445
444
|
},
|
|
@@ -514,46 +513,46 @@ export default class digifinex extends Exchange {
|
|
|
514
513
|
//
|
|
515
514
|
const data = this.safeList(response, 'data', []);
|
|
516
515
|
const groupedById = this.groupBy(data, 'currency');
|
|
517
|
-
const
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
'
|
|
542
|
-
'min': this.safeNumber(networkEntry, 'min_deposit_amount'),
|
|
543
|
-
'max': undefined,
|
|
544
|
-
},
|
|
516
|
+
const values = Object.values(groupedById);
|
|
517
|
+
return this.parseCurrencies(values);
|
|
518
|
+
}
|
|
519
|
+
parseCurrency(rawCurrency) {
|
|
520
|
+
const networkEntries = rawCurrency;
|
|
521
|
+
const firstEntry = this.safeDict(networkEntries, 0, {}); // it must have at least one entry
|
|
522
|
+
const id = this.safeString(firstEntry, 'currency');
|
|
523
|
+
const code = this.safeCurrencyCode(id);
|
|
524
|
+
const networks = {};
|
|
525
|
+
for (let j = 0; j < networkEntries.length; j++) {
|
|
526
|
+
const networkEntry = networkEntries[j];
|
|
527
|
+
const networkId = this.safeString2(networkEntry, 'chain', 'currency');
|
|
528
|
+
const networkCode = this.networkIdToCode(networkId, code);
|
|
529
|
+
networks[networkCode] = {
|
|
530
|
+
'id': networkId,
|
|
531
|
+
'network': networkCode,
|
|
532
|
+
'active': undefined,
|
|
533
|
+
'deposit': this.safeInteger(networkEntry, 'deposit_status') === 1,
|
|
534
|
+
'withdraw': this.safeInteger(networkEntry, 'withdraw_status') === 1,
|
|
535
|
+
'fee': this.safeNumber(networkEntry, 'min_withdraw_fee'),
|
|
536
|
+
'precision': undefined,
|
|
537
|
+
'limits': {
|
|
538
|
+
'withdraw': {
|
|
539
|
+
'min': this.safeNumber(networkEntry, 'min_withdraw_amount'),
|
|
540
|
+
'max': undefined,
|
|
545
541
|
},
|
|
546
|
-
'
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
'
|
|
552
|
-
|
|
553
|
-
'networks': networks,
|
|
554
|
-
});
|
|
542
|
+
'deposit': {
|
|
543
|
+
'min': this.safeNumber(networkEntry, 'min_deposit_amount'),
|
|
544
|
+
'max': undefined,
|
|
545
|
+
},
|
|
546
|
+
},
|
|
547
|
+
'info': networkEntry,
|
|
548
|
+
};
|
|
555
549
|
}
|
|
556
|
-
return
|
|
550
|
+
return this.safeCurrencyStructure({
|
|
551
|
+
'id': id,
|
|
552
|
+
'code': code,
|
|
553
|
+
'info': networkEntries,
|
|
554
|
+
'networks': networks,
|
|
555
|
+
});
|
|
557
556
|
}
|
|
558
557
|
/**
|
|
559
558
|
* @method
|
|
@@ -677,6 +676,7 @@ export default class digifinex extends Exchange {
|
|
|
677
676
|
isAllowed = 1;
|
|
678
677
|
}
|
|
679
678
|
}
|
|
679
|
+
const isActive = isAllowed ? true : false;
|
|
680
680
|
result.push({
|
|
681
681
|
'id': id,
|
|
682
682
|
'symbol': symbol,
|
|
@@ -692,7 +692,7 @@ export default class digifinex extends Exchange {
|
|
|
692
692
|
'swap': swap,
|
|
693
693
|
'future': false,
|
|
694
694
|
'option': false,
|
|
695
|
-
'active':
|
|
695
|
+
'active': isActive,
|
|
696
696
|
'contract': swap,
|
|
697
697
|
'linear': isLinear,
|
|
698
698
|
'inverse': isInverse,
|
|
@@ -4170,7 +4170,7 @@ export default class digifinex extends Exchange {
|
|
|
4170
4170
|
'percentage': undefined,
|
|
4171
4171
|
};
|
|
4172
4172
|
if (networkId !== undefined) {
|
|
4173
|
-
const networkCode = this.networkIdToCode(networkId);
|
|
4173
|
+
const networkCode = this.networkIdToCode(networkId, code);
|
|
4174
4174
|
depositWithdrawFees[code]['networks'][networkCode] = {
|
|
4175
4175
|
'withdraw': withdrawResult,
|
|
4176
4176
|
'deposit': depositResult,
|
package/js/src/exmo.d.ts
CHANGED
|
@@ -75,6 +75,7 @@ export default class exmo extends Exchange {
|
|
|
75
75
|
* @returns {object} an associative dictionary of currencies
|
|
76
76
|
*/
|
|
77
77
|
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
78
|
+
parseCurrency(rawCurrency: Dict): Currency;
|
|
78
79
|
/**
|
|
79
80
|
* @method
|
|
80
81
|
* @name exmo#fetchMarkets
|
package/js/src/exmo.js
CHANGED
|
@@ -385,9 +385,7 @@ export default class exmo extends Exchange {
|
|
|
385
385
|
if (method === 'fetchPrivateTradingFees') {
|
|
386
386
|
return await this.fetchPrivateTradingFees(params);
|
|
387
387
|
}
|
|
388
|
-
|
|
389
|
-
return await this.fetchPublicTradingFees(params);
|
|
390
|
-
}
|
|
388
|
+
return await this.fetchPublicTradingFees(params);
|
|
391
389
|
}
|
|
392
390
|
async fetchPrivateTradingFees(params = {}) {
|
|
393
391
|
await this.loadMarkets();
|
|
@@ -628,7 +626,10 @@ export default class exmo extends Exchange {
|
|
|
628
626
|
const provider = fee[i];
|
|
629
627
|
const type = this.safeString(provider, 'type');
|
|
630
628
|
const networkId = this.safeString(provider, 'name');
|
|
631
|
-
const
|
|
629
|
+
const currencyId = this.safeString(provider, 'currency_name');
|
|
630
|
+
currency = this.safeCurrency(currencyId, currency);
|
|
631
|
+
const code = this.safeString(currency, 'code');
|
|
632
|
+
const networkCode = this.networkIdToCode(networkId, code);
|
|
632
633
|
const commissionDesc = this.safeString(provider, 'commission_desc');
|
|
633
634
|
let splitCommissionDesc = [];
|
|
634
635
|
let percentage = undefined;
|
|
@@ -706,97 +707,103 @@ export default class exmo extends Exchange {
|
|
|
706
707
|
const responses = await Promise.all(promises);
|
|
707
708
|
const currencyList = responses[0];
|
|
708
709
|
const cryptoList = responses[1];
|
|
709
|
-
const
|
|
710
|
+
const newArray = [];
|
|
710
711
|
for (let i = 0; i < currencyList.length; i++) {
|
|
711
712
|
const currency = currencyList[i];
|
|
712
713
|
const currencyId = this.safeString(currency, 'name');
|
|
713
|
-
const code = this.safeCurrencyCode(currencyId);
|
|
714
|
-
let type = 'crypto';
|
|
715
|
-
const networks = {};
|
|
716
714
|
const providers = this.safeList(cryptoList, currencyId);
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
715
|
+
newArray.push({ 'currency': currency, 'providers': providers });
|
|
716
|
+
}
|
|
717
|
+
return this.parseCurrencies(newArray);
|
|
718
|
+
}
|
|
719
|
+
parseCurrency(rawCurrency) {
|
|
720
|
+
const currency = this.safeDict(rawCurrency, 'currency', {});
|
|
721
|
+
const providers = this.safeList(rawCurrency, 'providers', []);
|
|
722
|
+
const currencyId = this.safeString(currency, 'name');
|
|
723
|
+
const code = this.safeCurrencyCode(currencyId);
|
|
724
|
+
let type = 'crypto';
|
|
725
|
+
const networks = {};
|
|
726
|
+
if (providers === undefined) {
|
|
727
|
+
type = 'fiat';
|
|
728
|
+
}
|
|
729
|
+
else {
|
|
730
|
+
for (let j = 0; j < providers.length; j++) {
|
|
731
|
+
const provider = providers[j];
|
|
732
|
+
const name = this.safeString(provider, 'name');
|
|
733
|
+
// get network-id by removing extra things
|
|
734
|
+
let networkId = name.replace(currencyId + ' ', '');
|
|
735
|
+
networkId = networkId.replace('(', '');
|
|
736
|
+
const replaceChar = ')'; // transpiler trick
|
|
737
|
+
networkId = networkId.replace(replaceChar, '');
|
|
738
|
+
const networkCode = this.networkIdToCode(networkId, code);
|
|
739
|
+
if (!(networkCode in networks)) {
|
|
740
|
+
networks[networkCode] = {
|
|
741
|
+
'id': networkId,
|
|
742
|
+
'network': networkCode,
|
|
743
|
+
'active': undefined,
|
|
744
|
+
'deposit': undefined,
|
|
745
|
+
'withdraw': undefined,
|
|
746
|
+
'fee': undefined,
|
|
747
|
+
'limits': {
|
|
748
|
+
'withdraw': {
|
|
749
|
+
'min': undefined,
|
|
750
|
+
'max': undefined,
|
|
747
751
|
},
|
|
748
|
-
'
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
networkEntry['
|
|
769
|
-
|
|
752
|
+
'deposit': {
|
|
753
|
+
'min': undefined,
|
|
754
|
+
'max': undefined,
|
|
755
|
+
},
|
|
756
|
+
},
|
|
757
|
+
'info': [], // set as array, because of multiple network sub-entries
|
|
758
|
+
};
|
|
759
|
+
}
|
|
760
|
+
const typeInner = this.safeString(provider, 'type');
|
|
761
|
+
const minValue = this.safeString(provider, 'min');
|
|
762
|
+
const maxValue = this.safeString(provider, 'max');
|
|
763
|
+
const activeProvider = this.safeBool(provider, 'enabled');
|
|
764
|
+
const networkEntry = networks[networkCode];
|
|
765
|
+
if (typeInner === 'deposit') {
|
|
766
|
+
networkEntry['deposit'] = activeProvider;
|
|
767
|
+
networkEntry['limits']['deposit']['min'] = minValue;
|
|
768
|
+
networkEntry['limits']['deposit']['max'] = maxValue;
|
|
769
|
+
}
|
|
770
|
+
else if (typeInner === 'withdraw') {
|
|
771
|
+
networkEntry['withdraw'] = activeProvider;
|
|
772
|
+
networkEntry['limits']['withdraw']['min'] = minValue;
|
|
773
|
+
networkEntry['limits']['withdraw']['max'] = maxValue;
|
|
770
774
|
}
|
|
775
|
+
const info = this.safeList(networkEntry, 'info');
|
|
776
|
+
info.push(provider);
|
|
777
|
+
networkEntry['info'] = info;
|
|
778
|
+
networks[networkCode] = networkEntry;
|
|
771
779
|
}
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
'deposit': {
|
|
788
|
-
'min': undefined,
|
|
789
|
-
'max': undefined,
|
|
790
|
-
},
|
|
780
|
+
}
|
|
781
|
+
return this.safeCurrencyStructure({
|
|
782
|
+
'id': currencyId,
|
|
783
|
+
'code': code,
|
|
784
|
+
'name': this.safeString(currency, 'description'),
|
|
785
|
+
'type': type,
|
|
786
|
+
'active': undefined,
|
|
787
|
+
'deposit': undefined,
|
|
788
|
+
'withdraw': undefined,
|
|
789
|
+
'fee': undefined,
|
|
790
|
+
'precision': this.parseNumber('1e-8'),
|
|
791
|
+
'limits': {
|
|
792
|
+
'withdraw': {
|
|
793
|
+
'min': undefined,
|
|
794
|
+
'max': undefined,
|
|
791
795
|
},
|
|
792
|
-
'
|
|
793
|
-
'
|
|
794
|
-
'
|
|
796
|
+
'deposit': {
|
|
797
|
+
'min': undefined,
|
|
798
|
+
'max': undefined,
|
|
795
799
|
},
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
+
},
|
|
801
|
+
'info': {
|
|
802
|
+
'currency': currency,
|
|
803
|
+
'providers': providers,
|
|
804
|
+
},
|
|
805
|
+
'networks': networks,
|
|
806
|
+
});
|
|
800
807
|
}
|
|
801
808
|
/**
|
|
802
809
|
* @method
|
|
@@ -1140,7 +1147,8 @@ export default class exmo extends Exchange {
|
|
|
1140
1147
|
await this.loadMarkets();
|
|
1141
1148
|
let ids = undefined;
|
|
1142
1149
|
if (symbols === undefined) {
|
|
1143
|
-
|
|
1150
|
+
const allIds = this.ids;
|
|
1151
|
+
ids = allIds.join(',');
|
|
1144
1152
|
// max URL length is 2083 symbols, including http schema, hostname, tld, etc...
|
|
1145
1153
|
if (ids.length > 2048) {
|
|
1146
1154
|
const numIds = this.ids.length;
|
|
@@ -2163,43 +2171,17 @@ export default class exmo extends Exchange {
|
|
|
2163
2171
|
});
|
|
2164
2172
|
return this.parseOrders(response, market, since, limit, params);
|
|
2165
2173
|
}
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
// "event_type": "OrderCancelStarted",
|
|
2175
|
-
// "order_id": "692862104561289319",
|
|
2176
|
-
// "order_type": "stop_limit_sell",
|
|
2177
|
-
// "order_status": "cancel_started",
|
|
2178
|
-
// "trade_id": "0",
|
|
2179
|
-
// "trade_type":"",
|
|
2180
|
-
// "trade_quantity": "0",
|
|
2181
|
-
// "trade_price": "0",
|
|
2182
|
-
// "pair": "ADA_USDT",
|
|
2183
|
-
// "quantity": "12",
|
|
2184
|
-
// "price": "0.23",
|
|
2185
|
-
// "stop_price": "0.22",
|
|
2186
|
-
// "distance": "0"
|
|
2187
|
-
// }
|
|
2188
|
-
// ...
|
|
2189
|
-
// ]
|
|
2190
|
-
// }
|
|
2191
|
-
//
|
|
2192
|
-
const items = this.safeValue(responseSwap, 'items');
|
|
2193
|
-
const orders = this.parseOrders(items, market, since, limit, params);
|
|
2194
|
-
const result = [];
|
|
2195
|
-
for (let i = 0; i < orders.length; i++) {
|
|
2196
|
-
const order = orders[i];
|
|
2197
|
-
if (order['status'] === 'canceled') {
|
|
2198
|
-
result.push(order);
|
|
2199
|
-
}
|
|
2174
|
+
const responseSwap = await this.privatePostMarginUserOrderHistory(this.extend(request, params));
|
|
2175
|
+
const items = this.safeValue(responseSwap, 'items');
|
|
2176
|
+
const orders = this.parseOrders(items, market, since, limit, params);
|
|
2177
|
+
const result = [];
|
|
2178
|
+
for (let i = 0; i < orders.length; i++) {
|
|
2179
|
+
const order = orders[i];
|
|
2180
|
+
if (order['status'] === 'canceled') {
|
|
2181
|
+
result.push(order);
|
|
2200
2182
|
}
|
|
2201
|
-
return result;
|
|
2202
2183
|
}
|
|
2184
|
+
return result;
|
|
2203
2185
|
}
|
|
2204
2186
|
/**
|
|
2205
2187
|
* @method
|