ccxt 4.1.58 → 4.1.59

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 (64) hide show
  1. package/README.md +5 -5
  2. package/build.sh +2 -2
  3. package/dist/ccxt.browser.js +757 -818
  4. package/dist/ccxt.browser.min.js +2 -2
  5. package/dist/cjs/ccxt.js +1 -19
  6. package/dist/cjs/src/base/Exchange.js +38 -17
  7. package/dist/cjs/src/binance.js +70 -22
  8. package/dist/cjs/src/bitget.js +74 -52
  9. package/dist/cjs/src/bitmart.js +10 -18
  10. package/dist/cjs/src/bitrue.js +1 -1
  11. package/dist/cjs/src/bybit.js +36 -33
  12. package/dist/cjs/src/coinex.js +25 -30
  13. package/dist/cjs/src/htx.js +82 -39
  14. package/dist/cjs/src/kucoin.js +83 -35
  15. package/dist/cjs/src/mexc.js +3 -105
  16. package/dist/cjs/src/okx.js +8 -16
  17. package/dist/cjs/src/pro/bitget.js +7 -0
  18. package/dist/cjs/src/pro/bitmart.js +7 -0
  19. package/dist/cjs/src/pro/bitvavo.js +9 -0
  20. package/dist/cjs/src/pro/bybit.js +9 -0
  21. package/dist/cjs/src/pro/htx.js +16 -5
  22. package/dist/cjs/src/pro/kucoin.js +7 -0
  23. package/dist/cjs/src/pro/mexc.js +9 -0
  24. package/js/ccxt.d.ts +2 -23
  25. package/js/ccxt.js +2 -16
  26. package/js/src/abstract/mexc.d.ts +0 -4
  27. package/js/src/base/Exchange.d.ts +7 -0
  28. package/js/src/base/Exchange.js +38 -17
  29. package/js/src/binance.d.ts +20 -2
  30. package/js/src/binance.js +70 -22
  31. package/js/src/bitget.d.ts +20 -2
  32. package/js/src/bitget.js +74 -52
  33. package/js/src/bitmart.d.ts +2 -2
  34. package/js/src/bitmart.js +10 -18
  35. package/js/src/bitrue.js +1 -1
  36. package/js/src/bybit.d.ts +2 -2
  37. package/js/src/bybit.js +36 -33
  38. package/js/src/coinex.d.ts +2 -2
  39. package/js/src/coinex.js +25 -30
  40. package/js/src/htx.d.ts +5 -3
  41. package/js/src/htx.js +82 -39
  42. package/js/src/kucoin.d.ts +20 -2
  43. package/js/src/kucoin.js +83 -35
  44. package/js/src/mexc.d.ts +0 -11
  45. package/js/src/mexc.js +3 -105
  46. package/js/src/okx.d.ts +18 -2
  47. package/js/src/okx.js +8 -16
  48. package/js/src/pro/bitget.js +7 -0
  49. package/js/src/pro/bitmart.js +7 -0
  50. package/js/src/pro/bitvavo.js +9 -0
  51. package/js/src/pro/bybit.js +9 -0
  52. package/js/src/pro/htx.js +16 -5
  53. package/js/src/pro/kucoin.js +7 -0
  54. package/js/src/pro/mexc.js +9 -0
  55. package/package.json +1 -1
  56. package/skip-tests.json +5 -0
  57. package/js/src/abstract/huobipro.d.ts +0 -547
  58. package/js/src/abstract/huobipro.js +0 -11
  59. package/js/src/abstract/mexc3.d.ts +0 -180
  60. package/js/src/abstract/mexc3.js +0 -11
  61. package/js/src/abstract/okex.d.ts +0 -280
  62. package/js/src/abstract/okex.js +0 -11
  63. package/js/src/abstract/okex5.d.ts +0 -280
  64. package/js/src/abstract/okex5.js +0 -11
package/js/src/okx.js CHANGED
@@ -119,7 +119,7 @@ export default class okx extends Exchange {
119
119
  'fetchWithdrawals': true,
120
120
  'fetchWithdrawalWhitelist': false,
121
121
  'reduceMargin': true,
122
- 'repayMargin': true,
122
+ 'repayCrossMargin': true,
123
123
  'setLeverage': true,
124
124
  'setMargin': false,
125
125
  'setMarginMode': true,
@@ -6406,15 +6406,14 @@ export default class okx extends Exchange {
6406
6406
  'info': info,
6407
6407
  };
6408
6408
  }
6409
- async borrowMargin(code, amount, symbol = undefined, params = {}) {
6409
+ async borrowCrossMargin(code, amount, params = {}) {
6410
6410
  /**
6411
6411
  * @method
6412
- * @name okx#borrowMargin
6413
- * @description create a loan to borrow margin
6412
+ * @name okx#borrowCrossMargin
6413
+ * @description create a loan to borrow margin (need to be VIP 5 and above)
6414
6414
  * @see https://www.okx.com/docs-v5/en/#rest-api-account-vip-loans-borrow-and-repay
6415
6415
  * @param {string} code unified currency code of the currency to borrow
6416
6416
  * @param {float} amount the amount to borrow
6417
- * @param {string} symbol not used by okx.borrowMargin ()
6418
6417
  * @param {object} [params] extra parameters specific to the okx api endpoint
6419
6418
  * @returns {object} a [margin loan structure]{@link https://docs.ccxt.com/#/?id=margin-loan-structure}
6420
6419
  */
@@ -6445,20 +6444,16 @@ export default class okx extends Exchange {
6445
6444
  //
6446
6445
  const data = this.safeValue(response, 'data', []);
6447
6446
  const loan = this.safeValue(data, 0);
6448
- const transaction = this.parseMarginLoan(loan, currency);
6449
- return this.extend(transaction, {
6450
- 'symbol': symbol,
6451
- });
6447
+ return this.parseMarginLoan(loan, currency);
6452
6448
  }
6453
- async repayMargin(code, amount, symbol = undefined, params = {}) {
6449
+ async repayCrossMargin(code, amount, params = {}) {
6454
6450
  /**
6455
6451
  * @method
6456
- * @name okx#repayMargin
6452
+ * @name okx#repayCrossMargin
6457
6453
  * @description repay borrowed margin and interest
6458
6454
  * @see https://www.okx.com/docs-v5/en/#rest-api-account-vip-loans-borrow-and-repay
6459
6455
  * @param {string} code unified currency code of the currency to repay
6460
6456
  * @param {float} amount the amount to repay
6461
- * @param {string} symbol not used by okx.repayMargin ()
6462
6457
  * @param {object} [params] extra parameters specific to the okx api endpoint
6463
6458
  * @returns {object} a [margin loan structure]{@link https://docs.ccxt.com/#/?id=margin-loan-structure}
6464
6459
  */
@@ -6489,10 +6484,7 @@ export default class okx extends Exchange {
6489
6484
  //
6490
6485
  const data = this.safeValue(response, 'data', []);
6491
6486
  const loan = this.safeValue(data, 0);
6492
- const transaction = this.parseMarginLoan(loan, currency);
6493
- return this.extend(transaction, {
6494
- 'symbol': symbol,
6495
- });
6487
+ return this.parseMarginLoan(loan, currency);
6496
6488
  }
6497
6489
  parseMarginLoan(info, currency = undefined) {
6498
6490
  //
@@ -21,6 +21,13 @@ export default class bitget extends bitgetRest {
21
21
  return this.deepExtend(super.describe(), {
22
22
  'has': {
23
23
  'ws': true,
24
+ 'createOrderWs': false,
25
+ 'editOrderWs': false,
26
+ 'fetchOpenOrdersWs': false,
27
+ 'fetchOrderWs': false,
28
+ 'cancelOrderWs': false,
29
+ 'cancelOrdersWs': false,
30
+ 'cancelAllOrdersWs': false,
24
31
  'watchBalance': true,
25
32
  'watchMyTrades': true,
26
33
  'watchOHLCV': true,
@@ -14,6 +14,13 @@ export default class bitmart extends bitmartRest {
14
14
  describe() {
15
15
  return this.deepExtend(super.describe(), {
16
16
  'has': {
17
+ 'createOrderWs': false,
18
+ 'editOrderWs': false,
19
+ 'fetchOpenOrdersWs': false,
20
+ 'fetchOrderWs': false,
21
+ 'cancelOrderWs': false,
22
+ 'cancelOrdersWs': false,
23
+ 'cancelAllOrdersWs': false,
17
24
  'ws': true,
18
25
  'watchTicker': true,
19
26
  'watchOrderBook': true,
@@ -15,6 +15,15 @@ export default class bitvavo extends bitvavoRest {
15
15
  return this.deepExtend(super.describe(), {
16
16
  'has': {
17
17
  'ws': true,
18
+ 'createOrderWs': false,
19
+ 'editOrderWs': false,
20
+ 'fetchOpenOrdersWs': false,
21
+ 'fetchOrderWs': false,
22
+ 'cancelOrderWs': false,
23
+ 'cancelOrdersWs': false,
24
+ 'cancelAllOrdersWs': false,
25
+ 'fetchTradesWs': false,
26
+ 'fetchBalanceWs': false,
18
27
  'watchOrderBook': true,
19
28
  'watchTrades': true,
20
29
  'watchTicker': true,
@@ -15,6 +15,15 @@ export default class bybit extends bybitRest {
15
15
  return this.deepExtend(super.describe(), {
16
16
  'has': {
17
17
  'ws': true,
18
+ 'createOrderWs': false,
19
+ 'editOrderWs': false,
20
+ 'fetchOpenOrdersWs': false,
21
+ 'fetchOrderWs': false,
22
+ 'cancelOrderWs': false,
23
+ 'cancelOrdersWs': false,
24
+ 'cancelAllOrdersWs': false,
25
+ 'fetchTradesWs': false,
26
+ 'fetchBalanceWs': false,
18
27
  'watchBalance': true,
19
28
  'watchMyTrades': true,
20
29
  'watchOHLCV': true,
package/js/src/pro/htx.js CHANGED
@@ -15,6 +15,15 @@ export default class htx extends htxRest {
15
15
  return this.deepExtend(super.describe(), {
16
16
  'has': {
17
17
  'ws': true,
18
+ 'createOrderWs': false,
19
+ 'editOrderWs': false,
20
+ 'fetchOpenOrdersWs': false,
21
+ 'fetchOrderWs': false,
22
+ 'cancelOrderWs': false,
23
+ 'cancelOrdersWs': false,
24
+ 'cancelAllOrdersWs': false,
25
+ 'fetchTradesWs': false,
26
+ 'fetchBalanceWs': false,
18
27
  'watchOrderBook': true,
19
28
  'watchOrders': true,
20
29
  'watchTickers': false,
@@ -704,8 +713,8 @@ export default class htx extends htxRest {
704
713
  let orderType = this.safeString(this.options, 'orderType', 'orders'); // orders or matchOrders
705
714
  orderType = this.safeString(params, 'orderType', orderType);
706
715
  params = this.omit(params, 'orderType');
707
- const marketCode = (market !== undefined) ? market['lowercaseId'] : undefined;
708
- const baseId = (market !== undefined) ? market['lowercaseBaseId'] : undefined;
716
+ const marketCode = (market !== undefined) ? market['lowercaseId'].toLowerCase() : undefined;
717
+ const baseId = (market !== undefined) ? market['baseId'] : undefined;
709
718
  const prefix = orderType;
710
719
  messageHash = prefix;
711
720
  if (subType === 'linear') {
@@ -724,7 +733,7 @@ export default class htx extends htxRest {
724
733
  else if (type === 'future') {
725
734
  // inverse futures Example: BCH/USD:BCH-220408
726
735
  if (baseId !== undefined) {
727
- channel = prefix + '.' + baseId;
736
+ channel = prefix + '.' + baseId.toLowerCase();
728
737
  messageHash = channel;
729
738
  }
730
739
  else {
@@ -958,7 +967,8 @@ export default class htx extends htxRest {
958
967
  // when we make a global subscription (for contracts only) our message hash can't have a symbol/currency attached
959
968
  // so we're removing it here
960
969
  let genericMessageHash = messageHash.replace('.' + market['lowercaseId'], '');
961
- genericMessageHash = genericMessageHash.replace('.' + market['lowercaseBaseId'], '');
970
+ const lowerCaseBaseId = this.safeStringLower(market, 'baseId');
971
+ genericMessageHash = genericMessageHash.replace('.' + lowerCaseBaseId, '');
962
972
  client.resolve(this.orders, genericMessageHash);
963
973
  }
964
974
  parseWsOrder(order, market = undefined) {
@@ -2132,7 +2142,8 @@ export default class htx extends htxRest {
2132
2142
  // since this is a global sub, our messageHash does not specify any symbol (ex: orders_cross:trade)
2133
2143
  // so we must remove it
2134
2144
  let genericOrderHash = messageHash.replace('.' + market['lowercaseId'], '');
2135
- genericOrderHash = genericOrderHash.replace('.' + market['lowercaseBaseId'], '');
2145
+ const lowerCaseBaseId = this.safeStringLower(market, 'baseId');
2146
+ genericOrderHash = genericOrderHash.replace('.' + lowerCaseBaseId, '');
2136
2147
  const genericTradesHash = genericOrderHash + ':' + 'trade';
2137
2148
  client.resolve(this.myTrades, genericTradesHash);
2138
2149
  }
@@ -14,6 +14,13 @@ export default class kucoin extends kucoinRest {
14
14
  return this.deepExtend(super.describe(), {
15
15
  'has': {
16
16
  'ws': true,
17
+ 'createOrderWs': false,
18
+ 'editOrderWs': false,
19
+ 'fetchOpenOrdersWs': false,
20
+ 'fetchOrderWs': false,
21
+ 'cancelOrderWs': false,
22
+ 'cancelOrdersWs': false,
23
+ 'cancelAllOrdersWs': false,
17
24
  'watchOrderBook': true,
18
25
  'watchOrders': true,
19
26
  'watchMyTrades': true,
@@ -15,6 +15,15 @@ export default class mexc extends mexcRest {
15
15
  return this.deepExtend(super.describe(), {
16
16
  'has': {
17
17
  'ws': true,
18
+ 'cancelAllOrdersWs': false,
19
+ 'cancelOrdersWs': false,
20
+ 'cancelOrderWs': false,
21
+ 'createOrderWs': false,
22
+ 'editOrderWs': false,
23
+ 'fetchBalanceWs': false,
24
+ 'fetchOpenOrdersWs': false,
25
+ 'fetchOrderWs': false,
26
+ 'fetchTradesWs': false,
18
27
  'watchBalance': true,
19
28
  'watchMyTrades': true,
20
29
  'watchOHLCV': true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.1.58",
3
+ "version": "4.1.59",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.js",
6
6
  "type": "module",
package/skip-tests.json CHANGED
@@ -554,6 +554,11 @@
554
554
  "fetchL2OrderBook": "same"
555
555
  }
556
556
  },
557
+ "btcturk": {
558
+ "skipMethods": {
559
+ "fetchOrderBook": "https://app.travis-ci.com/github/ccxt/ccxt/builds/263287870#L2201"
560
+ }
561
+ },
557
562
  "bybit": {
558
563
  "skipWs": "temporarily skipped because of RL issues. after proxy merge, turn it back on",
559
564
  "skipMethods": {