ccxt 4.4.85 → 4.4.87

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 (115) hide show
  1. package/README.md +18 -7
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +16 -9
  4. package/dist/cjs/src/abstract/bittrade.js +9 -0
  5. package/dist/cjs/src/abstract/modetrade.js +9 -0
  6. package/dist/cjs/src/ascendex.js +189 -155
  7. package/dist/cjs/src/base/Exchange.js +10 -8
  8. package/dist/cjs/src/bequant.js +1 -1
  9. package/dist/cjs/src/binance.js +1 -1
  10. package/dist/cjs/src/bitget.js +5 -4
  11. package/dist/cjs/src/bitmart.js +1 -1
  12. package/dist/cjs/src/bitteam.js +31 -0
  13. package/dist/cjs/src/bittrade.js +2049 -0
  14. package/dist/cjs/src/coinbase.js +2 -6
  15. package/dist/cjs/src/coinmetro.js +5 -1
  16. package/dist/cjs/src/deribit.js +4 -5
  17. package/dist/cjs/src/derive.js +4 -5
  18. package/dist/cjs/src/ellipx.js +2 -3
  19. package/dist/cjs/src/gate.js +92 -76
  20. package/dist/cjs/src/hollaex.js +107 -49
  21. package/dist/cjs/src/htx.js +30 -52
  22. package/dist/cjs/src/hyperliquid.js +36 -20
  23. package/dist/cjs/src/kraken.js +5 -8
  24. package/dist/cjs/src/mexc.js +2 -2
  25. package/dist/cjs/src/modetrade.js +2839 -0
  26. package/dist/cjs/src/ndax.js +25 -24
  27. package/dist/cjs/src/okcoin.js +12 -31
  28. package/dist/cjs/src/okx.js +104 -2
  29. package/dist/cjs/src/okxus.js +53 -0
  30. package/dist/cjs/src/onetrading.js +9 -6
  31. package/dist/cjs/src/oxfun.js +42 -114
  32. package/dist/cjs/src/paradex.js +10 -1
  33. package/dist/cjs/src/phemex.js +4 -6
  34. package/dist/cjs/src/poloniex.js +181 -170
  35. package/dist/cjs/src/pro/binance.js +1 -0
  36. package/dist/cjs/src/pro/bittrade.js +605 -0
  37. package/dist/cjs/src/pro/luno.js +6 -5
  38. package/dist/cjs/src/pro/mexc.js +3 -0
  39. package/dist/cjs/src/pro/modetrade.js +1334 -0
  40. package/dist/cjs/src/pro/okxus.js +38 -0
  41. package/dist/cjs/src/probit.js +18 -51
  42. package/dist/cjs/src/timex.js +5 -10
  43. package/dist/cjs/src/vertex.js +3 -4
  44. package/dist/cjs/src/whitebit.js +41 -11
  45. package/dist/cjs/src/woo.js +101 -77
  46. package/dist/cjs/src/woofipro.js +24 -21
  47. package/dist/cjs/src/xt.js +36 -44
  48. package/js/ccxt.d.ts +20 -11
  49. package/js/ccxt.js +14 -8
  50. package/js/src/abstract/modetrade.d.ts +122 -0
  51. package/js/src/abstract/myokx.d.ts +2 -0
  52. package/js/src/abstract/okx.d.ts +2 -0
  53. package/js/src/abstract/okxus.d.ts +352 -0
  54. package/js/src/abstract/okxus.js +11 -0
  55. package/js/src/ascendex.d.ts +2 -0
  56. package/js/src/ascendex.js +189 -155
  57. package/js/src/base/Exchange.js +10 -8
  58. package/js/src/bequant.js +1 -1
  59. package/js/src/binance.js +1 -1
  60. package/js/src/bitget.js +5 -4
  61. package/js/src/bitmart.js +1 -1
  62. package/js/src/bitteam.js +31 -0
  63. package/js/src/{huobijp.d.ts → bittrade.d.ts} +29 -29
  64. package/js/src/{huobijp.js → bittrade.js} +35 -35
  65. package/js/src/coinbase.js +2 -6
  66. package/js/src/coinmetro.js +5 -1
  67. package/js/src/deribit.js +4 -5
  68. package/js/src/derive.js +4 -3
  69. package/js/src/ellipx.d.ts +1 -1
  70. package/js/src/ellipx.js +3 -5
  71. package/js/src/gate.js +92 -76
  72. package/js/src/hollaex.js +107 -49
  73. package/js/src/htx.js +30 -52
  74. package/js/src/hyperliquid.js +36 -20
  75. package/js/src/kraken.js +5 -8
  76. package/js/src/mexc.js +2 -2
  77. package/js/src/modetrade.d.ts +475 -0
  78. package/js/src/modetrade.js +2840 -0
  79. package/js/src/ndax.js +25 -24
  80. package/js/src/okcoin.js +12 -31
  81. package/js/src/okx.d.ts +24 -1
  82. package/js/src/okx.js +104 -2
  83. package/js/src/okxus.d.ts +4 -0
  84. package/js/src/okxus.js +54 -0
  85. package/js/src/onetrading.js +9 -6
  86. package/js/src/oxfun.js +42 -114
  87. package/js/src/paradex.js +10 -1
  88. package/js/src/phemex.js +4 -6
  89. package/js/src/poloniex.d.ts +2 -0
  90. package/js/src/poloniex.js +181 -170
  91. package/js/src/pro/binance.js +1 -0
  92. package/js/src/pro/{huobijp.d.ts → bittrade.d.ts} +6 -6
  93. package/js/src/pro/{huobijp.js → bittrade.js} +7 -7
  94. package/js/src/pro/luno.js +6 -5
  95. package/js/src/pro/mexc.js +3 -0
  96. package/js/src/pro/modetrade.d.ts +155 -0
  97. package/js/src/pro/modetrade.js +1335 -0
  98. package/js/src/pro/okxus.d.ts +4 -0
  99. package/js/src/pro/okxus.js +39 -0
  100. package/js/src/probit.js +18 -51
  101. package/js/src/timex.js +5 -10
  102. package/js/src/vertex.js +3 -4
  103. package/js/src/whitebit.js +42 -11
  104. package/js/src/woo.d.ts +2 -0
  105. package/js/src/woo.js +101 -77
  106. package/js/src/woofipro.d.ts +2 -1
  107. package/js/src/woofipro.js +24 -21
  108. package/js/src/xt.js +36 -44
  109. package/package.json +1 -1
  110. package/js/src/abstract/kuna.d.ts +0 -185
  111. package/js/src/kuna.d.ts +0 -335
  112. package/js/src/kuna.js +0 -2006
  113. /package/js/src/abstract/{huobijp.d.ts → bittrade.d.ts} +0 -0
  114. /package/js/src/abstract/{huobijp.js → bittrade.js} +0 -0
  115. /package/js/src/abstract/{kuna.js → modetrade.js} +0 -0
@@ -178,12 +178,12 @@ export default class hyperliquid extends Exchange {
178
178
  },
179
179
  'fees': {
180
180
  'swap': {
181
- 'taker': this.parseNumber('0.00035'),
182
- 'maker': this.parseNumber('0.0001'),
181
+ 'taker': this.parseNumber('0.00045'),
182
+ 'maker': this.parseNumber('0.00015'),
183
183
  },
184
184
  'spot': {
185
- 'taker': this.parseNumber('0.00035'),
186
- 'maker': this.parseNumber('0.0001'),
185
+ 'taker': this.parseNumber('0.0007'),
186
+ 'maker': this.parseNumber('0.0004'),
187
187
  },
188
188
  },
189
189
  'requiredCredentials': {
@@ -1529,7 +1529,9 @@ export default class hyperliquid extends Exchange {
1529
1529
  }
1530
1530
  orderReq.push(orderObj);
1531
1531
  }
1532
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
1532
+ let vaultAddress = undefined;
1533
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'createOrder', 'vaultAddress');
1534
+ vaultAddress = this.formatVaultAddress(vaultAddress);
1533
1535
  const orderAction = {
1534
1536
  'type': 'order',
1535
1537
  'orders': orderReq,
@@ -1624,7 +1626,9 @@ export default class hyperliquid extends Exchange {
1624
1626
  }
1625
1627
  }
1626
1628
  cancelAction['cancels'] = cancelReq;
1627
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
1629
+ let vaultAddress = undefined;
1630
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'cancelOrders', 'vaultAddress');
1631
+ vaultAddress = this.formatVaultAddress(vaultAddress);
1628
1632
  const signature = this.signL1Action(cancelAction, nonce, vaultAddress);
1629
1633
  request['action'] = cancelAction;
1630
1634
  request['signature'] = signature;
@@ -1708,7 +1712,9 @@ export default class hyperliquid extends Exchange {
1708
1712
  }
1709
1713
  cancelAction['type'] = cancelByCloid ? 'cancelByCloid' : 'cancel';
1710
1714
  cancelAction['cancels'] = cancelReq;
1711
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
1715
+ let vaultAddress = undefined;
1716
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'cancelOrdersForSymbols', 'vaultAddress');
1717
+ vaultAddress = this.formatVaultAddress(vaultAddress);
1712
1718
  const signature = this.signL1Action(cancelAction, nonce, vaultAddress);
1713
1719
  request['action'] = cancelAction;
1714
1720
  request['signature'] = signature;
@@ -1754,7 +1760,9 @@ export default class hyperliquid extends Exchange {
1754
1760
  'type': 'scheduleCancel',
1755
1761
  'time': nonce + timeout,
1756
1762
  };
1757
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
1763
+ let vaultAddress = undefined;
1764
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'cancelAllOrdersAfter', 'vaultAddress');
1765
+ vaultAddress = this.formatVaultAddress(vaultAddress);
1758
1766
  const signature = this.signL1Action(cancelAction, nonce, vaultAddress);
1759
1767
  request['action'] = cancelAction;
1760
1768
  request['signature'] = signature;
@@ -1879,7 +1887,9 @@ export default class hyperliquid extends Exchange {
1879
1887
  'type': 'batchModify',
1880
1888
  'modifies': modifies,
1881
1889
  };
1882
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
1890
+ let vaultAddress = undefined;
1891
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'editOrder', 'vaultAddress');
1892
+ vaultAddress = this.formatVaultAddress(vaultAddress);
1883
1893
  const signature = this.signL1Action(modifyAction, nonce, vaultAddress);
1884
1894
  const request = {
1885
1895
  'action': modifyAction,
@@ -1888,7 +1898,6 @@ export default class hyperliquid extends Exchange {
1888
1898
  // 'vaultAddress': vaultAddress,
1889
1899
  };
1890
1900
  if (vaultAddress !== undefined) {
1891
- params = this.omit(params, 'vaultAddress');
1892
1901
  request['vaultAddress'] = vaultAddress;
1893
1902
  }
1894
1903
  return request;
@@ -2743,9 +2752,9 @@ export default class hyperliquid extends Exchange {
2743
2752
  'isCross': isCross,
2744
2753
  'leverage': leverage,
2745
2754
  };
2746
- let vaultAddress = this.safeString(params, 'vaultAddress');
2755
+ let vaultAddress = undefined;
2756
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'setMarginMode', 'vaultAddress');
2747
2757
  if (vaultAddress !== undefined) {
2748
- params = this.omit(params, 'vaultAddress');
2749
2758
  if (vaultAddress.startsWith('0x')) {
2750
2759
  vaultAddress = vaultAddress.replace('0x', '');
2751
2760
  }
@@ -2798,7 +2807,9 @@ export default class hyperliquid extends Exchange {
2798
2807
  'isCross': isCross,
2799
2808
  'leverage': leverage,
2800
2809
  };
2801
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
2810
+ let vaultAddress = undefined;
2811
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'setLeverage', 'vaultAddress');
2812
+ vaultAddress = this.formatVaultAddress(vaultAddress);
2802
2813
  const signature = this.signL1Action(updateAction, nonce, vaultAddress);
2803
2814
  const request = {
2804
2815
  'action': updateAction,
@@ -2862,7 +2873,9 @@ export default class hyperliquid extends Exchange {
2862
2873
  'isBuy': true,
2863
2874
  'ntli': sz,
2864
2875
  };
2865
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
2876
+ let vaultAddress = undefined;
2877
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'modifyMargin', 'vaultAddress');
2878
+ vaultAddress = this.formatVaultAddress(vaultAddress);
2866
2879
  const signature = this.signL1Action(updateAction, nonce, vaultAddress);
2867
2880
  const request = {
2868
2881
  'action': updateAction,
@@ -2871,7 +2884,6 @@ export default class hyperliquid extends Exchange {
2871
2884
  // 'vaultAddress': vaultAddress,
2872
2885
  };
2873
2886
  if (vaultAddress !== undefined) {
2874
- params = this.omit(params, 'vaultAddress');
2875
2887
  request['vaultAddress'] = vaultAddress;
2876
2888
  }
2877
2889
  const response = await this.privatePostExchange(request);
@@ -2930,8 +2942,9 @@ export default class hyperliquid extends Exchange {
2930
2942
  throw new NotSupported(this.id + ' transfer() only support spot <> swap transfer');
2931
2943
  }
2932
2944
  let strAmount = this.numberToString(amount);
2933
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
2934
- params = this.omit(params, 'vaultAddress');
2945
+ let vaultAddress = undefined;
2946
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'transfer', 'vaultAddress');
2947
+ vaultAddress = this.formatVaultAddress(vaultAddress);
2935
2948
  if (vaultAddress !== undefined) {
2936
2949
  strAmount = strAmount + ' subaccount:' + vaultAddress;
2937
2950
  }
@@ -3034,7 +3047,9 @@ export default class hyperliquid extends Exchange {
3034
3047
  throw new NotSupported(this.id + ' withdraw() only support USDC');
3035
3048
  }
3036
3049
  }
3037
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
3050
+ let vaultAddress = undefined;
3051
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'withdraw', 'vaultAddress');
3052
+ vaultAddress = this.formatVaultAddress(vaultAddress);
3038
3053
  params = this.omit(params, 'vaultAddress');
3039
3054
  const nonce = this.milliseconds();
3040
3055
  let action = {};
@@ -3660,8 +3675,9 @@ export default class hyperliquid extends Exchange {
3660
3675
  }
3661
3676
  parseCreateEditOrderArgs(id, symbol, type, side, amount, price = undefined, params = {}) {
3662
3677
  const market = this.market(symbol);
3663
- const vaultAddress = this.safeString(params, 'vaultAddress');
3664
- params = this.omit(params, 'vaultAddress');
3678
+ let vaultAddress = undefined;
3679
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'createOrder', 'vaultAddress');
3680
+ vaultAddress = this.formatVaultAddress(vaultAddress);
3665
3681
  symbol = market['symbol'];
3666
3682
  const order = {
3667
3683
  'symbol': symbol,
package/js/src/kraken.js CHANGED
@@ -858,24 +858,21 @@ export default class kraken extends Exchange {
858
858
  code = this.safeCurrencyCode(id);
859
859
  }
860
860
  }
861
- const precision = this.parseNumber(this.parsePrecision(this.safeString(currency, 'decimals')));
862
- // assumes all currencies are active except those listed above
863
- const active = this.safeString(currency, 'status') === 'enabled';
864
861
  const isFiat = code.indexOf('.HOLD') >= 0;
865
- result[code] = {
862
+ result[code] = this.safeCurrencyStructure({
866
863
  'id': id,
867
864
  'code': code,
868
865
  'info': currency,
869
866
  'name': this.safeString(currency, 'altname'),
870
- 'active': active,
867
+ 'active': this.safeString(currency, 'status') === 'enabled',
871
868
  'type': isFiat ? 'fiat' : 'crypto',
872
869
  'deposit': undefined,
873
870
  'withdraw': undefined,
874
871
  'fee': undefined,
875
- 'precision': precision,
872
+ 'precision': this.parseNumber(this.parsePrecision(this.safeString(currency, 'decimals'))),
876
873
  'limits': {
877
874
  'amount': {
878
- 'min': precision,
875
+ 'min': undefined,
879
876
  'max': undefined,
880
877
  },
881
878
  'withdraw': {
@@ -884,7 +881,7 @@ export default class kraken extends Exchange {
884
881
  },
885
882
  },
886
883
  'networks': {},
887
- };
884
+ });
888
885
  }
889
886
  return result;
890
887
  }
package/js/src/mexc.js CHANGED
@@ -1090,7 +1090,6 @@ export default class mexc extends Exchange {
1090
1090
  const currency = response[i];
1091
1091
  const id = this.safeString(currency, 'coin');
1092
1092
  const code = this.safeCurrencyCode(id);
1093
- const name = this.safeString(currency, 'name');
1094
1093
  const networks = {};
1095
1094
  const chains = this.safeValue(currency, 'networkList', []);
1096
1095
  for (let j = 0; j < chains.length; j++) {
@@ -1112,13 +1111,14 @@ export default class mexc extends Exchange {
1112
1111
  'max': this.safeString(chain, 'withdrawMax'),
1113
1112
  },
1114
1113
  },
1114
+ 'contract': this.safeString(chain, 'contract'),
1115
1115
  };
1116
1116
  }
1117
1117
  result[code] = this.safeCurrencyStructure({
1118
1118
  'info': currency,
1119
1119
  'id': id,
1120
1120
  'code': code,
1121
- 'name': name,
1121
+ 'name': this.safeString(currency, 'name'),
1122
1122
  'active': undefined,
1123
1123
  'deposit': undefined,
1124
1124
  'withdraw': undefined,