ccxt 4.4.86 → 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 (70) hide show
  1. package/README.md +17 -5
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +11 -1
  4. package/dist/cjs/src/abstract/modetrade.js +9 -0
  5. package/dist/cjs/src/base/Exchange.js +10 -8
  6. package/dist/cjs/src/binance.js +1 -1
  7. package/dist/cjs/src/bitteam.js +31 -0
  8. package/dist/cjs/src/coinmetro.js +5 -1
  9. package/dist/cjs/src/derive.js +4 -5
  10. package/dist/cjs/src/ellipx.js +2 -3
  11. package/dist/cjs/src/gate.js +92 -76
  12. package/dist/cjs/src/htx.js +10 -8
  13. package/dist/cjs/src/hyperliquid.js +32 -16
  14. package/dist/cjs/src/kraken.js +5 -8
  15. package/dist/cjs/src/modetrade.js +2839 -0
  16. package/dist/cjs/src/okx.js +95 -2
  17. package/dist/cjs/src/okxus.js +53 -0
  18. package/dist/cjs/src/paradex.js +6 -1
  19. package/dist/cjs/src/phemex.js +4 -6
  20. package/dist/cjs/src/poloniex.js +181 -170
  21. package/dist/cjs/src/pro/modetrade.js +1334 -0
  22. package/dist/cjs/src/pro/okxus.js +38 -0
  23. package/dist/cjs/src/probit.js +18 -51
  24. package/dist/cjs/src/timex.js +5 -10
  25. package/dist/cjs/src/vertex.js +3 -4
  26. package/dist/cjs/src/whitebit.js +41 -11
  27. package/dist/cjs/src/woo.js +101 -77
  28. package/dist/cjs/src/woofipro.js +24 -21
  29. package/dist/cjs/src/xt.js +36 -44
  30. package/js/ccxt.d.ts +14 -2
  31. package/js/ccxt.js +10 -2
  32. package/js/src/abstract/modetrade.d.ts +122 -0
  33. package/js/src/abstract/modetrade.js +11 -0
  34. package/js/src/abstract/okxus.d.ts +352 -0
  35. package/js/src/abstract/okxus.js +11 -0
  36. package/js/src/base/Exchange.js +10 -8
  37. package/js/src/binance.js +1 -1
  38. package/js/src/bitteam.js +31 -0
  39. package/js/src/coinmetro.js +5 -1
  40. package/js/src/derive.js +4 -3
  41. package/js/src/ellipx.d.ts +1 -1
  42. package/js/src/ellipx.js +3 -5
  43. package/js/src/gate.js +92 -76
  44. package/js/src/htx.js +10 -8
  45. package/js/src/hyperliquid.js +32 -16
  46. package/js/src/kraken.js +5 -8
  47. package/js/src/modetrade.d.ts +475 -0
  48. package/js/src/modetrade.js +2840 -0
  49. package/js/src/okx.d.ts +24 -1
  50. package/js/src/okx.js +95 -2
  51. package/js/src/okxus.d.ts +4 -0
  52. package/js/src/okxus.js +54 -0
  53. package/js/src/paradex.js +6 -1
  54. package/js/src/phemex.js +4 -6
  55. package/js/src/poloniex.d.ts +2 -0
  56. package/js/src/poloniex.js +181 -170
  57. package/js/src/pro/modetrade.d.ts +155 -0
  58. package/js/src/pro/modetrade.js +1335 -0
  59. package/js/src/pro/okxus.d.ts +4 -0
  60. package/js/src/pro/okxus.js +39 -0
  61. package/js/src/probit.js +18 -51
  62. package/js/src/timex.js +5 -10
  63. package/js/src/vertex.js +3 -4
  64. package/js/src/whitebit.js +42 -11
  65. package/js/src/woo.d.ts +2 -0
  66. package/js/src/woo.js +101 -77
  67. package/js/src/woofipro.d.ts +2 -1
  68. package/js/src/woofipro.js +24 -21
  69. package/js/src/xt.js +36 -44
  70. package/package.json +1 -1
@@ -1526,7 +1526,9 @@ class hyperliquid extends hyperliquid$1 {
1526
1526
  }
1527
1527
  orderReq.push(orderObj);
1528
1528
  }
1529
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
1529
+ let vaultAddress = undefined;
1530
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'createOrder', 'vaultAddress');
1531
+ vaultAddress = this.formatVaultAddress(vaultAddress);
1530
1532
  const orderAction = {
1531
1533
  'type': 'order',
1532
1534
  'orders': orderReq,
@@ -1621,7 +1623,9 @@ class hyperliquid extends hyperliquid$1 {
1621
1623
  }
1622
1624
  }
1623
1625
  cancelAction['cancels'] = cancelReq;
1624
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
1626
+ let vaultAddress = undefined;
1627
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'cancelOrders', 'vaultAddress');
1628
+ vaultAddress = this.formatVaultAddress(vaultAddress);
1625
1629
  const signature = this.signL1Action(cancelAction, nonce, vaultAddress);
1626
1630
  request['action'] = cancelAction;
1627
1631
  request['signature'] = signature;
@@ -1705,7 +1709,9 @@ class hyperliquid extends hyperliquid$1 {
1705
1709
  }
1706
1710
  cancelAction['type'] = cancelByCloid ? 'cancelByCloid' : 'cancel';
1707
1711
  cancelAction['cancels'] = cancelReq;
1708
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
1712
+ let vaultAddress = undefined;
1713
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'cancelOrdersForSymbols', 'vaultAddress');
1714
+ vaultAddress = this.formatVaultAddress(vaultAddress);
1709
1715
  const signature = this.signL1Action(cancelAction, nonce, vaultAddress);
1710
1716
  request['action'] = cancelAction;
1711
1717
  request['signature'] = signature;
@@ -1751,7 +1757,9 @@ class hyperliquid extends hyperliquid$1 {
1751
1757
  'type': 'scheduleCancel',
1752
1758
  'time': nonce + timeout,
1753
1759
  };
1754
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
1760
+ let vaultAddress = undefined;
1761
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'cancelAllOrdersAfter', 'vaultAddress');
1762
+ vaultAddress = this.formatVaultAddress(vaultAddress);
1755
1763
  const signature = this.signL1Action(cancelAction, nonce, vaultAddress);
1756
1764
  request['action'] = cancelAction;
1757
1765
  request['signature'] = signature;
@@ -1876,7 +1884,9 @@ class hyperliquid extends hyperliquid$1 {
1876
1884
  'type': 'batchModify',
1877
1885
  'modifies': modifies,
1878
1886
  };
1879
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
1887
+ let vaultAddress = undefined;
1888
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'editOrder', 'vaultAddress');
1889
+ vaultAddress = this.formatVaultAddress(vaultAddress);
1880
1890
  const signature = this.signL1Action(modifyAction, nonce, vaultAddress);
1881
1891
  const request = {
1882
1892
  'action': modifyAction,
@@ -1885,7 +1895,6 @@ class hyperliquid extends hyperliquid$1 {
1885
1895
  // 'vaultAddress': vaultAddress,
1886
1896
  };
1887
1897
  if (vaultAddress !== undefined) {
1888
- params = this.omit(params, 'vaultAddress');
1889
1898
  request['vaultAddress'] = vaultAddress;
1890
1899
  }
1891
1900
  return request;
@@ -2740,9 +2749,9 @@ class hyperliquid extends hyperliquid$1 {
2740
2749
  'isCross': isCross,
2741
2750
  'leverage': leverage,
2742
2751
  };
2743
- let vaultAddress = this.safeString(params, 'vaultAddress');
2752
+ let vaultAddress = undefined;
2753
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'setMarginMode', 'vaultAddress');
2744
2754
  if (vaultAddress !== undefined) {
2745
- params = this.omit(params, 'vaultAddress');
2746
2755
  if (vaultAddress.startsWith('0x')) {
2747
2756
  vaultAddress = vaultAddress.replace('0x', '');
2748
2757
  }
@@ -2795,7 +2804,9 @@ class hyperliquid extends hyperliquid$1 {
2795
2804
  'isCross': isCross,
2796
2805
  'leverage': leverage,
2797
2806
  };
2798
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
2807
+ let vaultAddress = undefined;
2808
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'setLeverage', 'vaultAddress');
2809
+ vaultAddress = this.formatVaultAddress(vaultAddress);
2799
2810
  const signature = this.signL1Action(updateAction, nonce, vaultAddress);
2800
2811
  const request = {
2801
2812
  'action': updateAction,
@@ -2859,7 +2870,9 @@ class hyperliquid extends hyperliquid$1 {
2859
2870
  'isBuy': true,
2860
2871
  'ntli': sz,
2861
2872
  };
2862
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
2873
+ let vaultAddress = undefined;
2874
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'modifyMargin', 'vaultAddress');
2875
+ vaultAddress = this.formatVaultAddress(vaultAddress);
2863
2876
  const signature = this.signL1Action(updateAction, nonce, vaultAddress);
2864
2877
  const request = {
2865
2878
  'action': updateAction,
@@ -2868,7 +2881,6 @@ class hyperliquid extends hyperliquid$1 {
2868
2881
  // 'vaultAddress': vaultAddress,
2869
2882
  };
2870
2883
  if (vaultAddress !== undefined) {
2871
- params = this.omit(params, 'vaultAddress');
2872
2884
  request['vaultAddress'] = vaultAddress;
2873
2885
  }
2874
2886
  const response = await this.privatePostExchange(request);
@@ -2927,8 +2939,9 @@ class hyperliquid extends hyperliquid$1 {
2927
2939
  throw new errors.NotSupported(this.id + ' transfer() only support spot <> swap transfer');
2928
2940
  }
2929
2941
  let strAmount = this.numberToString(amount);
2930
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
2931
- params = this.omit(params, 'vaultAddress');
2942
+ let vaultAddress = undefined;
2943
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'transfer', 'vaultAddress');
2944
+ vaultAddress = this.formatVaultAddress(vaultAddress);
2932
2945
  if (vaultAddress !== undefined) {
2933
2946
  strAmount = strAmount + ' subaccount:' + vaultAddress;
2934
2947
  }
@@ -3031,7 +3044,9 @@ class hyperliquid extends hyperliquid$1 {
3031
3044
  throw new errors.NotSupported(this.id + ' withdraw() only support USDC');
3032
3045
  }
3033
3046
  }
3034
- const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
3047
+ let vaultAddress = undefined;
3048
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'withdraw', 'vaultAddress');
3049
+ vaultAddress = this.formatVaultAddress(vaultAddress);
3035
3050
  params = this.omit(params, 'vaultAddress');
3036
3051
  const nonce = this.milliseconds();
3037
3052
  let action = {};
@@ -3657,8 +3672,9 @@ class hyperliquid extends hyperliquid$1 {
3657
3672
  }
3658
3673
  parseCreateEditOrderArgs(id, symbol, type, side, amount, price = undefined, params = {}) {
3659
3674
  const market = this.market(symbol);
3660
- const vaultAddress = this.safeString(params, 'vaultAddress');
3661
- params = this.omit(params, 'vaultAddress');
3675
+ let vaultAddress = undefined;
3676
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'createOrder', 'vaultAddress');
3677
+ vaultAddress = this.formatVaultAddress(vaultAddress);
3662
3678
  symbol = market['symbol'];
3663
3679
  const order = {
3664
3680
  'symbol': symbol,
@@ -855,24 +855,21 @@ class kraken extends kraken$1 {
855
855
  code = this.safeCurrencyCode(id);
856
856
  }
857
857
  }
858
- const precision = this.parseNumber(this.parsePrecision(this.safeString(currency, 'decimals')));
859
- // assumes all currencies are active except those listed above
860
- const active = this.safeString(currency, 'status') === 'enabled';
861
858
  const isFiat = code.indexOf('.HOLD') >= 0;
862
- result[code] = {
859
+ result[code] = this.safeCurrencyStructure({
863
860
  'id': id,
864
861
  'code': code,
865
862
  'info': currency,
866
863
  'name': this.safeString(currency, 'altname'),
867
- 'active': active,
864
+ 'active': this.safeString(currency, 'status') === 'enabled',
868
865
  'type': isFiat ? 'fiat' : 'crypto',
869
866
  'deposit': undefined,
870
867
  'withdraw': undefined,
871
868
  'fee': undefined,
872
- 'precision': precision,
869
+ 'precision': this.parseNumber(this.parsePrecision(this.safeString(currency, 'decimals'))),
873
870
  'limits': {
874
871
  'amount': {
875
- 'min': precision,
872
+ 'min': undefined,
876
873
  'max': undefined,
877
874
  },
878
875
  'withdraw': {
@@ -881,7 +878,7 @@ class kraken extends kraken$1 {
881
878
  },
882
879
  },
883
880
  'networks': {},
884
- };
881
+ });
885
882
  }
886
883
  return result;
887
884
  }