ccxt 4.4.82 → 4.4.86

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.
Files changed (145) hide show
  1. package/README.md +6 -9
  2. package/dist/ccxt.browser.min.js +7 -7
  3. package/dist/cjs/ccxt.js +6 -17
  4. package/dist/cjs/src/abstract/bittrade.js +9 -0
  5. package/dist/cjs/src/apex.js +2 -1
  6. package/dist/cjs/src/ascendex.js +189 -155
  7. package/dist/cjs/src/base/Exchange.js +15 -2
  8. package/dist/cjs/src/bequant.js +1 -1
  9. package/dist/cjs/src/bitget.js +6 -7
  10. package/dist/cjs/src/bitmart.js +1 -1
  11. package/dist/cjs/src/bitrue.js +14 -35
  12. package/dist/cjs/src/bitso.js +33 -0
  13. package/dist/cjs/src/bitstamp.js +33 -0
  14. package/dist/cjs/src/bittrade.js +2049 -0
  15. package/dist/cjs/src/blofin.js +154 -13
  16. package/dist/cjs/src/btcbox.js +25 -5
  17. package/dist/cjs/src/bybit.js +16 -40
  18. package/dist/cjs/src/cex.js +2 -4
  19. package/dist/cjs/src/coinbase.js +58 -46
  20. package/dist/cjs/src/coinbaseexchange.js +142 -32
  21. package/dist/cjs/src/coincatch.js +14 -67
  22. package/dist/cjs/src/coinex.js +29 -32
  23. package/dist/cjs/src/coinlist.js +16 -15
  24. package/dist/cjs/src/coinmetro.js +22 -11
  25. package/dist/cjs/src/coinone.js +8 -10
  26. package/dist/cjs/src/coinsph.js +126 -1
  27. package/dist/cjs/src/cryptocom.js +111 -1
  28. package/dist/cjs/src/cryptomus.js +43 -89
  29. package/dist/cjs/src/delta.js +76 -36
  30. package/dist/cjs/src/deribit.js +4 -5
  31. package/dist/cjs/src/derive.js +46 -10
  32. package/dist/cjs/src/ellipx.js +175 -79
  33. package/dist/cjs/src/gate.js +1 -1
  34. package/dist/cjs/src/gemini.js +3 -5
  35. package/dist/cjs/src/hitbtc.js +56 -69
  36. package/dist/cjs/src/hollaex.js +107 -49
  37. package/dist/cjs/src/htx.js +20 -44
  38. package/dist/cjs/src/hyperliquid.js +6 -6
  39. package/dist/cjs/src/kraken.js +29 -24
  40. package/dist/cjs/src/kucoinfutures.js +6 -0
  41. package/dist/cjs/src/lbank.js +1 -1
  42. package/dist/cjs/src/mexc.js +2 -2
  43. package/dist/cjs/src/ndax.js +25 -24
  44. package/dist/cjs/src/okcoin.js +12 -31
  45. package/dist/cjs/src/okx.js +9 -0
  46. package/dist/cjs/src/onetrading.js +9 -6
  47. package/dist/cjs/src/oxfun.js +42 -114
  48. package/dist/cjs/src/paradex.js +124 -4
  49. package/dist/cjs/src/pro/binance.js +32 -33
  50. package/dist/cjs/src/pro/bithumb.js +5 -3
  51. package/dist/cjs/src/pro/bittrade.js +605 -0
  52. package/dist/cjs/src/pro/kraken.js +289 -79
  53. package/dist/cjs/src/pro/luno.js +6 -5
  54. package/dist/cjs/src/pro/mexc.js +304 -7
  55. package/dist/cjs/src/pro/poloniex.js +6 -2
  56. package/examples/js/cli.js +127 -13
  57. package/js/ccxt.d.ts +8 -20
  58. package/js/ccxt.js +6 -14
  59. package/js/src/abstract/blofin.d.ts +8 -0
  60. package/js/src/abstract/btcbox.d.ts +1 -0
  61. package/js/src/abstract/myokx.d.ts +2 -0
  62. package/js/src/abstract/okx.d.ts +2 -0
  63. package/js/src/apex.js +2 -1
  64. package/js/src/ascendex.d.ts +2 -0
  65. package/js/src/ascendex.js +189 -155
  66. package/js/src/base/Exchange.d.ts +15 -1
  67. package/js/src/base/Exchange.js +15 -2
  68. package/js/src/base/types.d.ts +3 -0
  69. package/js/src/bequant.js +1 -1
  70. package/js/src/bitget.js +6 -7
  71. package/js/src/bitmart.js +1 -1
  72. package/js/src/bitrue.js +14 -35
  73. package/js/src/bitso.js +33 -0
  74. package/js/src/bitstamp.js +33 -0
  75. package/js/src/{huobijp.d.ts → bittrade.d.ts} +29 -29
  76. package/js/src/{huobijp.js → bittrade.js} +35 -35
  77. package/js/src/blofin.d.ts +42 -2
  78. package/js/src/blofin.js +154 -13
  79. package/js/src/btcbox.js +25 -5
  80. package/js/src/bybit.js +16 -40
  81. package/js/src/cex.js +2 -4
  82. package/js/src/coinbase.js +58 -46
  83. package/js/src/coinbaseexchange.js +142 -32
  84. package/js/src/coincatch.js +14 -67
  85. package/js/src/coinex.js +28 -29
  86. package/js/src/coinlist.js +16 -15
  87. package/js/src/coinmetro.js +22 -11
  88. package/js/src/coinone.js +8 -10
  89. package/js/src/coinsph.d.ts +10 -1
  90. package/js/src/coinsph.js +126 -1
  91. package/js/src/cryptocom.d.ts +10 -1
  92. package/js/src/cryptocom.js +111 -1
  93. package/js/src/cryptomus.js +43 -89
  94. package/js/src/delta.js +76 -36
  95. package/js/src/deribit.js +4 -5
  96. package/js/src/derive.js +46 -10
  97. package/js/src/ellipx.d.ts +2 -3
  98. package/js/src/ellipx.js +175 -80
  99. package/js/src/gate.js +1 -1
  100. package/js/src/gemini.js +3 -5
  101. package/js/src/hitbtc.js +56 -69
  102. package/js/src/hollaex.js +107 -49
  103. package/js/src/htx.js +20 -44
  104. package/js/src/hyperliquid.js +6 -6
  105. package/js/src/kraken.js +29 -24
  106. package/js/src/kucoinfutures.d.ts +1 -0
  107. package/js/src/kucoinfutures.js +6 -0
  108. package/js/src/lbank.js +1 -1
  109. package/js/src/mexc.js +2 -2
  110. package/js/src/ndax.js +25 -24
  111. package/js/src/okcoin.js +12 -31
  112. package/js/src/okx.js +9 -0
  113. package/js/src/onetrading.js +9 -6
  114. package/js/src/oxfun.js +42 -114
  115. package/js/src/paradex.d.ts +12 -1
  116. package/js/src/paradex.js +124 -4
  117. package/js/src/pro/binance.d.ts +26 -26
  118. package/js/src/pro/binance.js +32 -33
  119. package/js/src/pro/bithumb.js +5 -3
  120. package/js/src/pro/{huobijp.d.ts → bittrade.d.ts} +6 -6
  121. package/js/src/pro/{huobijp.js → bittrade.js} +7 -7
  122. package/js/src/pro/kraken.d.ts +7 -6
  123. package/js/src/pro/kraken.js +290 -80
  124. package/js/src/pro/luno.js +6 -5
  125. package/js/src/pro/mexc.d.ts +58 -0
  126. package/js/src/pro/mexc.js +304 -7
  127. package/js/src/pro/poloniex.d.ts +1 -1
  128. package/js/src/pro/poloniex.js +6 -2
  129. package/package.json +1 -1
  130. package/js/src/abstract/bl3p.d.ts +0 -22
  131. package/js/src/abstract/huobijp.js +0 -11
  132. package/js/src/abstract/idex.d.ts +0 -29
  133. package/js/src/abstract/idex.js +0 -11
  134. package/js/src/abstract/kuna.d.ts +0 -185
  135. package/js/src/abstract/kuna.js +0 -11
  136. package/js/src/bl3p.d.ts +0 -116
  137. package/js/src/bl3p.js +0 -552
  138. package/js/src/idex.d.ts +0 -312
  139. package/js/src/idex.js +0 -1961
  140. package/js/src/kuna.d.ts +0 -335
  141. package/js/src/kuna.js +0 -2006
  142. package/js/src/pro/idex.d.ts +0 -81
  143. package/js/src/pro/idex.js +0 -720
  144. /package/js/src/abstract/{huobijp.d.ts → bittrade.d.ts} +0 -0
  145. /package/js/src/abstract/{bl3p.js → bittrade.js} +0 -0
@@ -2077,9 +2077,7 @@ class bitget extends bitget$1 {
2077
2077
  const chain = chains[j];
2078
2078
  const networkId = this.safeString(chain, 'chain');
2079
2079
  let network = this.networkIdToCode(networkId, code);
2080
- if (network !== undefined) {
2081
- network = network.toUpperCase();
2082
- }
2080
+ network = network.toUpperCase();
2083
2081
  networks[network] = {
2084
2082
  'info': chain,
2085
2083
  'id': networkId,
@@ -2392,7 +2390,7 @@ class bitget extends bitget$1 {
2392
2390
  'coin': currency['id'],
2393
2391
  'address': address,
2394
2392
  'chain': networkId,
2395
- 'size': amount,
2393
+ 'size': this.currencyToPrecision(code, amount, networkCode),
2396
2394
  'transferType': 'on_chain',
2397
2395
  };
2398
2396
  if (tag !== undefined) {
@@ -2417,8 +2415,6 @@ class bitget extends bitget$1 {
2417
2415
  const fillResponseFromRequest = this.safeBool(withdrawOptions, 'fillResponseFromRequest', true);
2418
2416
  if (fillResponseFromRequest) {
2419
2417
  result['currency'] = code;
2420
- result['timestamp'] = this.milliseconds();
2421
- result['datetime'] = this.iso8601(this.milliseconds());
2422
2418
  result['amount'] = amount;
2423
2419
  result['tag'] = tag;
2424
2420
  result['address'] = address;
@@ -2542,7 +2538,10 @@ class bitget extends bitget$1 {
2542
2538
  const status = this.safeString(transaction, 'status');
2543
2539
  const tag = this.safeString(transaction, 'tag');
2544
2540
  const feeCostString = this.safeString(transaction, 'fee');
2545
- const feeCostAbsString = Precise["default"].stringAbs(feeCostString);
2541
+ let feeCostAbsString = undefined;
2542
+ if (feeCostString !== undefined) {
2543
+ feeCostAbsString = Precise["default"].stringAbs(feeCostString);
2544
+ }
2546
2545
  let fee = undefined;
2547
2546
  let amountString = this.safeString(transaction, 'size');
2548
2547
  if (feeCostAbsString !== undefined) {
@@ -2371,7 +2371,7 @@ class bitmart extends bitmart$1 {
2371
2371
  const code = this.safeCurrencyCode(currencyId);
2372
2372
  const account = this.account();
2373
2373
  account['free'] = this.safeString2(balance, 'available', 'available_balance');
2374
- account['used'] = this.safeString2(balance, 'frozen', 'frozen_balance');
2374
+ account['used'] = this.safeStringN(balance, ['unAvailable', 'frozen', 'frozen_balance']);
2375
2375
  result[code] = account;
2376
2376
  }
2377
2377
  return this.safeBalance(result);
@@ -764,70 +764,49 @@ class bitrue extends bitrue$1 {
764
764
  const id = this.safeString(currency, 'coin');
765
765
  const name = this.safeString(currency, 'coinFulName');
766
766
  const code = this.safeCurrencyCode(id);
767
- let deposit = undefined;
768
- let withdraw = undefined;
769
- let minWithdrawString = undefined;
770
- let maxWithdrawString = undefined;
771
- let minWithdrawFeeString = undefined;
772
767
  const networkDetails = this.safeList(currency, 'chainDetail', []);
773
768
  const networks = {};
774
769
  for (let j = 0; j < networkDetails.length; j++) {
775
770
  const entry = networkDetails[j];
776
771
  const networkId = this.safeString(entry, 'chain');
777
772
  const network = this.networkIdToCode(networkId, code);
778
- const enableDeposit = this.safeBool(entry, 'enableDeposit');
779
- deposit = (enableDeposit) ? enableDeposit : deposit;
780
- const enableWithdraw = this.safeBool(entry, 'enableWithdraw');
781
- withdraw = (enableWithdraw) ? enableWithdraw : withdraw;
782
- const networkWithdrawFeeString = this.safeString(entry, 'withdrawFee');
783
- if (networkWithdrawFeeString !== undefined) {
784
- minWithdrawFeeString = (minWithdrawFeeString === undefined) ? networkWithdrawFeeString : Precise["default"].stringMin(networkWithdrawFeeString, minWithdrawFeeString);
785
- }
786
- const networkMinWithdrawString = this.safeString(entry, 'minWithdraw');
787
- if (networkMinWithdrawString !== undefined) {
788
- minWithdrawString = (minWithdrawString === undefined) ? networkMinWithdrawString : Precise["default"].stringMin(networkMinWithdrawString, minWithdrawString);
789
- }
790
- const networkMaxWithdrawString = this.safeString(entry, 'maxWithdraw');
791
- if (networkMaxWithdrawString !== undefined) {
792
- maxWithdrawString = (maxWithdrawString === undefined) ? networkMaxWithdrawString : Precise["default"].stringMax(networkMaxWithdrawString, maxWithdrawString);
793
- }
794
773
  networks[network] = {
795
774
  'info': entry,
796
775
  'id': networkId,
797
776
  'network': network,
798
- 'deposit': enableDeposit,
799
- 'withdraw': enableWithdraw,
800
- 'active': enableDeposit && enableWithdraw,
801
- 'fee': this.parseNumber(networkWithdrawFeeString),
777
+ 'deposit': this.safeBool(entry, 'enableDeposit'),
778
+ 'withdraw': this.safeBool(entry, 'enableWithdraw'),
779
+ 'active': undefined,
780
+ 'fee': this.safeNumber(entry, 'withdrawFee'),
802
781
  'precision': undefined,
803
782
  'limits': {
804
783
  'withdraw': {
805
- 'min': this.parseNumber(networkMinWithdrawString),
806
- 'max': this.parseNumber(networkMaxWithdrawString),
784
+ 'min': this.safeNumber(entry, 'minWithdraw'),
785
+ 'max': this.safeNumber(entry, 'maxWithdraw'),
807
786
  },
808
787
  },
809
788
  };
810
789
  }
811
- result[code] = {
790
+ result[code] = this.safeCurrencyStructure({
812
791
  'id': id,
813
792
  'name': name,
814
793
  'code': code,
815
794
  'precision': undefined,
816
795
  'info': currency,
817
- 'active': deposit && withdraw,
818
- 'deposit': deposit,
819
- 'withdraw': withdraw,
796
+ 'active': undefined,
797
+ 'deposit': undefined,
798
+ 'withdraw': undefined,
820
799
  'networks': networks,
821
- 'fee': this.parseNumber(minWithdrawFeeString),
800
+ 'fee': undefined,
822
801
  'fees': undefined,
823
802
  'type': 'crypto',
824
803
  'limits': {
825
804
  'withdraw': {
826
- 'min': this.parseNumber(minWithdrawString),
827
- 'max': this.parseNumber(maxWithdrawString),
805
+ 'min': undefined,
806
+ 'max': undefined,
828
807
  },
829
808
  },
830
- };
809
+ });
831
810
  }
832
811
  return result;
833
812
  }
@@ -28,6 +28,9 @@ class bitso extends bitso$1 {
28
28
  'future': false,
29
29
  'option': false,
30
30
  'addMargin': false,
31
+ 'borrowCrossMargin': false,
32
+ 'borrowIsolatedMargin': false,
33
+ 'borrowMargin': false,
31
34
  'cancelAllOrders': true,
32
35
  'cancelOrder': true,
33
36
  'cancelOrders': true,
@@ -35,11 +38,17 @@ class bitso extends bitso$1 {
35
38
  'closePosition': false,
36
39
  'createDepositAddress': false,
37
40
  'createOrder': true,
41
+ 'createOrderWithTakeProfitAndStopLoss': false,
42
+ 'createOrderWithTakeProfitAndStopLossWs': false,
38
43
  'createReduceOnlyOrder': false,
39
44
  'fetchAccounts': false,
40
45
  'fetchBalance': true,
46
+ 'fetchBorrowInterest': false,
47
+ 'fetchBorrowRate': false,
41
48
  'fetchBorrowRateHistories': false,
42
49
  'fetchBorrowRateHistory': false,
50
+ 'fetchBorrowRates': false,
51
+ 'fetchBorrowRatesPerSymbol': false,
43
52
  'fetchCrossBorrowRate': false,
44
53
  'fetchCrossBorrowRates': false,
45
54
  'fetchDeposit': true,
@@ -51,21 +60,40 @@ class bitso extends bitso$1 {
51
60
  'fetchDepositWithdrawFee': 'emulated',
52
61
  'fetchDepositWithdrawFees': true,
53
62
  'fetchFundingHistory': false,
63
+ 'fetchFundingInterval': false,
64
+ 'fetchFundingIntervals': false,
54
65
  'fetchFundingRate': false,
55
66
  'fetchFundingRateHistory': false,
56
67
  'fetchFundingRates': false,
68
+ 'fetchGreeks': false,
57
69
  'fetchIndexOHLCV': false,
58
70
  'fetchIsolatedBorrowRate': false,
59
71
  'fetchIsolatedBorrowRates': false,
72
+ 'fetchIsolatedPositions': false,
60
73
  'fetchLedger': true,
61
74
  'fetchLeverage': false,
75
+ 'fetchLeverages': false,
76
+ 'fetchLeverageTiers': false,
77
+ 'fetchLiquidations': false,
78
+ 'fetchLongShortRatio': false,
79
+ 'fetchLongShortRatioHistory': false,
80
+ 'fetchMarginAdjustmentHistory': false,
62
81
  'fetchMarginMode': false,
82
+ 'fetchMarginModes': false,
83
+ 'fetchMarketLeverageTiers': false,
63
84
  'fetchMarkets': true,
64
85
  'fetchMarkOHLCV': false,
86
+ 'fetchMarkPrices': false,
87
+ 'fetchMyLiquidations': false,
88
+ 'fetchMySettlementHistory': false,
65
89
  'fetchMyTrades': true,
66
90
  'fetchOHLCV': true,
91
+ 'fetchOpenInterest': false,
67
92
  'fetchOpenInterestHistory': false,
93
+ 'fetchOpenInterests': false,
68
94
  'fetchOpenOrders': true,
95
+ 'fetchOption': false,
96
+ 'fetchOptionChain': false,
69
97
  'fetchOrder': true,
70
98
  'fetchOrderBook': true,
71
99
  'fetchOrderTrades': true,
@@ -77,6 +105,7 @@ class bitso extends bitso$1 {
77
105
  'fetchPositionsHistory': false,
78
106
  'fetchPositionsRisk': false,
79
107
  'fetchPremiumIndexOHLCV': false,
108
+ 'fetchSettlementHistory': false,
80
109
  'fetchTicker': true,
81
110
  'fetchTickers': false,
82
111
  'fetchTime': false,
@@ -88,8 +117,12 @@ class bitso extends bitso$1 {
88
117
  'fetchTransactions': false,
89
118
  'fetchTransfer': false,
90
119
  'fetchTransfers': false,
120
+ 'fetchVolatilityHistory': false,
91
121
  'reduceMargin': false,
122
+ 'repayCrossMargin': false,
123
+ 'repayIsolatedMargin': false,
92
124
  'setLeverage': false,
125
+ 'setMargin': false,
93
126
  'setMarginMode': false,
94
127
  'setPositionMode': false,
95
128
  'transfer': false,
@@ -31,18 +31,27 @@ class bitstamp extends bitstamp$1 {
31
31
  'future': false,
32
32
  'option': false,
33
33
  'addMargin': false,
34
+ 'borrowCrossMargin': false,
35
+ 'borrowIsolatedMargin': false,
36
+ 'borrowMargin': false,
34
37
  'cancelAllOrders': true,
35
38
  'cancelOrder': true,
36
39
  'closeAllPositions': false,
37
40
  'closePosition': false,
38
41
  'createOrder': true,
42
+ 'createOrderWithTakeProfitAndStopLoss': false,
43
+ 'createOrderWithTakeProfitAndStopLossWs': false,
39
44
  'createReduceOnlyOrder': false,
40
45
  'createStopLimitOrder': false,
41
46
  'createStopMarketOrder': false,
42
47
  'createStopOrder': false,
43
48
  'fetchBalance': true,
49
+ 'fetchBorrowInterest': false,
50
+ 'fetchBorrowRate': false,
44
51
  'fetchBorrowRateHistories': false,
45
52
  'fetchBorrowRateHistory': false,
53
+ 'fetchBorrowRates': false,
54
+ 'fetchBorrowRatesPerSymbol': false,
46
55
  'fetchCrossBorrowRate': false,
47
56
  'fetchCrossBorrowRates': false,
48
57
  'fetchCurrencies': true,
@@ -53,21 +62,40 @@ class bitstamp extends bitstamp$1 {
53
62
  'fetchDepositWithdrawFee': 'emulated',
54
63
  'fetchDepositWithdrawFees': true,
55
64
  'fetchFundingHistory': false,
65
+ 'fetchFundingInterval': false,
66
+ 'fetchFundingIntervals': false,
56
67
  'fetchFundingRate': false,
57
68
  'fetchFundingRateHistory': false,
58
69
  'fetchFundingRates': false,
70
+ 'fetchGreeks': false,
59
71
  'fetchIndexOHLCV': false,
60
72
  'fetchIsolatedBorrowRate': false,
61
73
  'fetchIsolatedBorrowRates': false,
74
+ 'fetchIsolatedPositions': false,
62
75
  'fetchLedger': true,
63
76
  'fetchLeverage': false,
77
+ 'fetchLeverages': false,
78
+ 'fetchLeverageTiers': false,
79
+ 'fetchLiquidations': false,
80
+ 'fetchLongShortRatio': false,
81
+ 'fetchLongShortRatioHistory': false,
82
+ 'fetchMarginAdjustmentHistory': false,
64
83
  'fetchMarginMode': false,
84
+ 'fetchMarginModes': false,
85
+ 'fetchMarketLeverageTiers': false,
65
86
  'fetchMarkets': true,
66
87
  'fetchMarkOHLCV': false,
88
+ 'fetchMarkPrices': false,
89
+ 'fetchMyLiquidations': false,
90
+ 'fetchMySettlementHistory': false,
67
91
  'fetchMyTrades': true,
68
92
  'fetchOHLCV': true,
93
+ 'fetchOpenInterest': false,
69
94
  'fetchOpenInterestHistory': false,
95
+ 'fetchOpenInterests': false,
70
96
  'fetchOpenOrders': true,
97
+ 'fetchOption': false,
98
+ 'fetchOptionChain': false,
71
99
  'fetchOrder': true,
72
100
  'fetchOrderBook': true,
73
101
  'fetchPosition': false,
@@ -78,6 +106,7 @@ class bitstamp extends bitstamp$1 {
78
106
  'fetchPositionsHistory': false,
79
107
  'fetchPositionsRisk': false,
80
108
  'fetchPremiumIndexOHLCV': false,
109
+ 'fetchSettlementHistory': false,
81
110
  'fetchTicker': true,
82
111
  'fetchTickers': true,
83
112
  'fetchTrades': true,
@@ -85,9 +114,13 @@ class bitstamp extends bitstamp$1 {
85
114
  'fetchTradingFees': true,
86
115
  'fetchTransactionFees': true,
87
116
  'fetchTransactions': 'emulated',
117
+ 'fetchVolatilityHistory': false,
88
118
  'fetchWithdrawals': true,
89
119
  'reduceMargin': false,
120
+ 'repayCrossMargin': false,
121
+ 'repayIsolatedMargin': false,
90
122
  'setLeverage': false,
123
+ 'setMargin': false,
91
124
  'setMarginMode': false,
92
125
  'setPositionMode': false,
93
126
  'transfer': true,