ccxt 4.5.44 → 4.5.46

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 (111) hide show
  1. package/README.md +9 -12
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -12
  4. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  5. package/dist/cjs/src/base/Exchange.js +39 -3
  6. package/dist/cjs/src/base/functions/encode.js +2 -2
  7. package/dist/cjs/src/base/functions/generic.js +8 -2
  8. package/dist/cjs/src/binance.js +11 -2
  9. package/dist/cjs/src/bitget.js +3 -1
  10. package/dist/cjs/src/bitmart.js +144 -21
  11. package/dist/cjs/src/bitrue.js +1 -1
  12. package/dist/cjs/src/bitteam.js +1 -1
  13. package/dist/cjs/src/btcbox.js +1 -1
  14. package/dist/cjs/src/bybit.js +58 -56
  15. package/dist/cjs/src/bydfi.js +102 -100
  16. package/dist/cjs/src/cex.js +1 -0
  17. package/dist/cjs/src/gate.js +264 -170
  18. package/dist/cjs/src/grvt.js +3 -2
  19. package/dist/cjs/src/hyperliquid.js +16 -5
  20. package/dist/cjs/src/kraken.js +4 -2
  21. package/dist/cjs/src/krakenfutures.js +1 -5
  22. package/dist/cjs/src/kucoin.js +4733 -972
  23. package/dist/cjs/src/kucoinfutures.js +14 -3434
  24. package/dist/cjs/src/lbank.js +1 -1
  25. package/dist/cjs/src/okx.js +75 -57
  26. package/dist/cjs/src/paradex.js +2 -6
  27. package/dist/cjs/src/poloniex.js +1 -1
  28. package/dist/cjs/src/pro/bydfi.js +19 -19
  29. package/dist/cjs/src/pro/gate.js +114 -53
  30. package/dist/cjs/src/pro/grvt.js +5 -3
  31. package/dist/cjs/src/pro/htx.js +4 -4
  32. package/dist/cjs/src/pro/kucoin.js +819 -178
  33. package/dist/cjs/src/pro/kucoinfutures.js +95 -1261
  34. package/dist/cjs/src/pro/mexc.js +10 -5
  35. package/dist/cjs/src/pro/okx.js +85 -40
  36. package/index.d.cts +2 -0
  37. package/js/ccxt.d.ts +2 -14
  38. package/js/ccxt.js +2 -10
  39. package/js/src/abstract/bitmart.d.ts +7 -0
  40. package/js/src/abstract/bydfi.d.ts +29 -29
  41. package/js/src/abstract/kraken.d.ts +1 -0
  42. package/js/src/abstract/kucoin.d.ts +46 -2
  43. package/js/src/abstract/kucoinfutures.d.ts +27 -11
  44. package/js/src/base/Exchange.d.ts +13 -1
  45. package/js/src/base/Exchange.js +39 -3
  46. package/js/src/base/functions/encode.js +2 -2
  47. package/js/src/base/functions/generic.js +9 -3
  48. package/js/src/binance.js +11 -2
  49. package/js/src/bitget.js +3 -1
  50. package/js/src/bitmart.d.ts +18 -4
  51. package/js/src/bitmart.js +144 -21
  52. package/js/src/bitrue.js +1 -1
  53. package/js/src/bitteam.js +1 -1
  54. package/js/src/btcbox.js +1 -1
  55. package/js/src/bybit.d.ts +1 -0
  56. package/js/src/bybit.js +58 -56
  57. package/js/src/bydfi.d.ts +31 -31
  58. package/js/src/bydfi.js +102 -100
  59. package/js/src/cex.js +2 -1
  60. package/js/src/gate.d.ts +125 -119
  61. package/js/src/gate.js +264 -170
  62. package/js/src/grvt.js +3 -2
  63. package/js/src/hyperliquid.d.ts +3 -1
  64. package/js/src/hyperliquid.js +16 -5
  65. package/js/src/kraken.js +4 -2
  66. package/js/src/krakenfutures.js +1 -5
  67. package/js/src/kucoin.d.ts +696 -100
  68. package/js/src/kucoin.js +4734 -973
  69. package/js/src/kucoinfutures.d.ts +4 -522
  70. package/js/src/kucoinfutures.js +14 -3434
  71. package/js/src/lbank.js +1 -1
  72. package/js/src/okx.d.ts +1 -0
  73. package/js/src/okx.js +75 -57
  74. package/js/src/paradex.d.ts +0 -1
  75. package/js/src/paradex.js +2 -6
  76. package/js/src/poloniex.js +1 -1
  77. package/js/src/pro/bydfi.d.ts +18 -18
  78. package/js/src/pro/bydfi.js +19 -19
  79. package/js/src/pro/gate.d.ts +30 -1
  80. package/js/src/pro/gate.js +114 -53
  81. package/js/src/pro/grvt.js +5 -3
  82. package/js/src/pro/htx.js +4 -4
  83. package/js/src/pro/kucoin.d.ts +70 -30
  84. package/js/src/pro/kucoin.js +821 -180
  85. package/js/src/pro/kucoinfutures.d.ts +17 -195
  86. package/js/src/pro/kucoinfutures.js +96 -1262
  87. package/js/src/pro/mexc.js +10 -5
  88. package/js/src/pro/okx.d.ts +1 -0
  89. package/js/src/pro/okx.js +85 -40
  90. package/package.json +2 -2
  91. package/dist/cjs/src/abstract/alp.js +0 -11
  92. package/dist/cjs/src/abstract/defx.js +0 -11
  93. package/dist/cjs/src/abstract/timex.js +0 -11
  94. package/dist/cjs/src/alp.js +0 -1059
  95. package/dist/cjs/src/defx.js +0 -2142
  96. package/dist/cjs/src/pro/defx.js +0 -866
  97. package/dist/cjs/src/timex.js +0 -1793
  98. package/js/src/abstract/alp.d.ts +0 -21
  99. package/js/src/abstract/alp.js +0 -5
  100. package/js/src/abstract/defx.d.ts +0 -72
  101. package/js/src/abstract/defx.js +0 -5
  102. package/js/src/abstract/timex.d.ts +0 -65
  103. package/js/src/abstract/timex.js +0 -5
  104. package/js/src/alp.d.ts +0 -209
  105. package/js/src/alp.js +0 -1052
  106. package/js/src/defx.d.ts +0 -348
  107. package/js/src/defx.js +0 -2135
  108. package/js/src/pro/defx.d.ts +0 -236
  109. package/js/src/pro/defx.js +0 -859
  110. package/js/src/timex.d.ts +0 -247
  111. package/js/src/timex.js +0 -1786
@@ -1423,7 +1423,7 @@ export default class mexc extends mexcRest {
1423
1423
  //
1424
1424
  const timestamp = this.safeInteger(order, 'createTime');
1425
1425
  const side = this.safeString(order, 'tradeType');
1426
- const status = this.safeString(order, 'status');
1426
+ const status = this.safeString2(order, 'status', 'state');
1427
1427
  const type = this.safeString(order, 'orderType');
1428
1428
  let fee = undefined;
1429
1429
  const feeCurrency = this.safeString(order, 'N');
@@ -1445,8 +1445,8 @@ export default class mexc extends mexcRest {
1445
1445
  'timeInForce': this.parseWsTimeInForce(type),
1446
1446
  'side': (side === '1') ? 'buy' : 'sell',
1447
1447
  'price': this.safeString(order, 'price'),
1448
- 'stopPrice': undefined,
1449
- 'triggerPrice': undefined,
1448
+ 'stopPrice': this.safeString2(order, 'triggerPrice', 'P'),
1449
+ 'triggerPrice': this.safeString2(order, 'triggerPrice', 'P'),
1450
1450
  'average': this.safeString(order, 'avgPrice'),
1451
1451
  'amount': this.safeString(order, 'quantity'),
1452
1452
  'cost': this.safeString(order, 'amount'),
@@ -1459,6 +1459,7 @@ export default class mexc extends mexcRest {
1459
1459
  }
1460
1460
  parseWsOrderStatus(status, market = undefined) {
1461
1461
  const statuses = {
1462
+ '0': 'open',
1462
1463
  '1': 'open',
1463
1464
  '2': 'closed',
1464
1465
  '3': 'open',
@@ -1478,7 +1479,9 @@ export default class mexc extends mexcRest {
1478
1479
  '3': undefined,
1479
1480
  '4': undefined,
1480
1481
  '5': 'market',
1481
- '100': 'limit', // STOP_LIMIT
1482
+ '100': 'limit',
1483
+ '101': 'limit',
1484
+ '102': 'limit', // OCO_LIMIT
1482
1485
  };
1483
1486
  return this.safeString(types, type);
1484
1487
  }
@@ -1489,7 +1492,9 @@ export default class mexc extends mexcRest {
1489
1492
  '3': 'IOC',
1490
1493
  '4': 'FOK',
1491
1494
  '5': 'GTC',
1492
- '100': 'GTC', // STOP_LIMIT
1495
+ '100': 'GTC',
1496
+ '101': 'GTC',
1497
+ '102': 'GTC', // OCO_LIMIT
1493
1498
  };
1494
1499
  return this.safeString(timeInForceIds, timeInForce);
1495
1500
  }
@@ -280,6 +280,7 @@ export default class okx extends okxRest {
280
280
  /**
281
281
  * @method
282
282
  * @name okx#watchBalance
283
+ * @see https://www.okx.com/docs-v5/en/#trading-account-websocket-account-channel
283
284
  * @description watch balance and get the amount of funds available for trading or funds locked in orders
284
285
  * @param {object} [params] extra parameters specific to the exchange API endpoint
285
286
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
package/js/src/pro/okx.js CHANGED
@@ -1531,6 +1531,7 @@ export default class okx extends okxRest {
1531
1531
  /**
1532
1532
  * @method
1533
1533
  * @name okx#watchBalance
1534
+ * @see https://www.okx.com/docs-v5/en/#trading-account-websocket-account-channel
1534
1535
  * @description watch balance and get the amount of funds available for trading or funds locked in orders
1535
1536
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1536
1537
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
@@ -1546,55 +1547,99 @@ export default class okx extends okxRest {
1546
1547
  handleBalance(client, message) {
1547
1548
  //
1548
1549
  // {
1549
- // "arg": { channel: "account" },
1550
- // "data": [
1550
+ // arg: {
1551
+ // channel: 'account',
1552
+ // uid: '158635852459810816'
1553
+ // },
1554
+ // eventType: 'snapshot',
1555
+ // curPage: 1,
1556
+ // lastPage: true,
1557
+ // data: [
1551
1558
  // {
1552
- // "adjEq": '',
1553
- // "details": [
1559
+ // adjEq: '100942.13298468884',
1560
+ // availEq: '98461.99074635761',
1561
+ // borrowFroz: '409.3702076072169',
1562
+ // delta: '',
1563
+ // deltaLever: '',
1564
+ // deltaNeutralStatus: '',
1565
+ // details: [
1554
1566
  // {
1555
- // "availBal": '',
1556
- // "availEq": "8.21009913",
1557
- // "cashBal": "8.21009913",
1558
- // "ccy": "USDT",
1559
- // "coinUsdPrice": "0.99994",
1560
- // "crossLiab": '',
1561
- // "disEq": "8.2096065240522",
1562
- // "eq": "8.21009913",
1563
- // "eqUsd": "8.2096065240522",
1564
- // "frozenBal": "0",
1565
- // "interest": '',
1566
- // "isoEq": "0",
1567
- // "isoLiab": '',
1568
- // "liab": '',
1569
- // "maxLoan": '',
1570
- // "mgnRatio": '',
1571
- // "notionalLever": "0",
1572
- // "ordFrozen": "0",
1573
- // "twap": "0",
1574
- // "uTime": "1621927314996",
1575
- // "upl": "0"
1576
- // },
1567
+ // accAvgPx: '',
1568
+ // autoLendAmt: '0',
1569
+ // autoLendMtAmt: '0',
1570
+ // autoLendStatus: 'unsupported',
1571
+ // autoStakingStatus: 'unsupported',
1572
+ // availBal: '2900',
1573
+ // availEq: '2900',
1574
+ // borrowFroz: '0',
1575
+ // cashBal: '2900',
1576
+ // ccy: 'TUSD',
1577
+ // clSpotInUseAmt: '',
1578
+ // coinUsdPrice: '200.026',
1579
+ // colBorrAutoConversion: '0',
1580
+ // colRes: '0',
1581
+ // collateralEnabled: false,
1582
+ // collateralRestrict: false,
1583
+ // crossLiab: '0',
1584
+ // disEq: '0',
1585
+ // eq: '2900',
1586
+ // eqUsd: '580075.4',
1587
+ // fixedBal: '0',
1588
+ // frozenBal: '0',
1589
+ // frpType: '0',
1590
+ // imr: '',
1591
+ // interest: '0',
1592
+ // isoEq: '0',
1593
+ // isoLiab: '0',
1594
+ // isoUpl: '0',
1595
+ // liab: '0',
1596
+ // maxLoan: '0',
1597
+ // maxSpotInUseAmt: '',
1598
+ // mgnRatio: '',
1599
+ // mmr: '',
1600
+ // notionalLever: '',
1601
+ // openAvgPx: '',
1602
+ // ordFrozen: '0',
1603
+ // rewardBal: '',
1604
+ // smtSyncEq: '0',
1605
+ // spotBal: '',
1606
+ // spotCopyTradingEq: '0',
1607
+ // spotInUseAmt: '',
1608
+ // spotIsoBal: '0',
1609
+ // spotUpl: '',
1610
+ // spotUplRatio: '',
1611
+ // stgyEq: '0',
1612
+ // totalPnl: '',
1613
+ // totalPnlRatio: '',
1614
+ // twap: '0',
1615
+ // uTime: '1752243427083',
1616
+ // upl: '0',
1617
+ // uplLiab: '0'
1618
+ // }
1577
1619
  // ],
1578
- // "imr": '',
1579
- // "isoEq": "0",
1580
- // "mgnRatio": '',
1581
- // "mmr": '',
1582
- // "notionalUsd": '',
1583
- // "ordFroz": '',
1584
- // "totalEq": "22.1930992296832",
1585
- // "uTime": "1626692120916"
1620
+ // imr: '2480.1422383312265',
1621
+ // isoEq: '0',
1622
+ // mgnRatio: '1814.5924297007082',
1623
+ // mmr: '52.196024182958055',
1624
+ // notionalUsd: '4634.0971302081125',
1625
+ // notionalUsdForBorrow: '2046.8510380360844',
1626
+ // notionalUsdForFutures: '101.11322817202809',
1627
+ // notionalUsdForOption: '0',
1628
+ // notionalUsdForSwap: '2486.1328640000006',
1629
+ // ordFroz: '1208.3566666666668',
1630
+ // totalEq: '711018.8951315446',
1631
+ // uTime: '1773837554158',
1632
+ // upl: '9.244336372701904'
1586
1633
  // }
1587
1634
  // ]
1588
1635
  // }
1589
1636
  //
1590
1637
  const arg = this.safeValue(message, 'arg', {});
1591
1638
  const channel = this.safeString(arg, 'channel');
1592
- const type = 'spot';
1593
1639
  const balance = this.parseTradingBalance(message);
1594
- const oldBalance = this.safeValue(this.balance, type, {});
1595
- const newBalance = this.deepExtend(oldBalance, balance);
1596
- this.balance[type] = this.safeBalance(newBalance);
1597
- client.resolve(this.balance[type], channel);
1640
+ const newBalance = this.deepExtend(this.balance, balance);
1641
+ this.balance = this.safeBalance(newBalance);
1642
+ client.resolve(this.balance, channel);
1598
1643
  }
1599
1644
  orderToTrade(order, market = undefined) {
1600
1645
  const info = this.safeValue(order, 'info', {});
@@ -2329,7 +2374,7 @@ export default class okx extends okxRest {
2329
2374
  if (errorCode !== undefined) {
2330
2375
  this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, feedback);
2331
2376
  }
2332
- messageString = this.safeValue(message, 'sMsg');
2377
+ messageString = this.safeValue(d, 'sMsg');
2333
2378
  if (messageString !== undefined) {
2334
2379
  this.throwBroadlyMatchedException(this.exceptions['broad'], messageString, feedback);
2335
2380
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.5.44",
3
+ "version": "4.5.46",
4
4
  "description": "A cryptocurrency trading API with more than 100 exchanges in JavaScript / TypeScript / Python / C# / PHP / Go",
5
5
  "unpkg": "dist/ccxt.browser.min.js",
6
6
  "type": "module",
@@ -11,7 +11,7 @@
11
11
  "default": "./js/ccxt.js"
12
12
  },
13
13
  "require": {
14
- "types": "./index.d.ts",
14
+ "types": "./index.d.cts",
15
15
  "default": "./dist/ccxt.cjs"
16
16
  }
17
17
  }
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var Exchange$1 = require('../base/Exchange.js');
6
-
7
- // -------------------------------------------------------------------------------
8
- class Exchange extends Exchange$1["default"] {
9
- }
10
-
11
- exports["default"] = Exchange;
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var Exchange$1 = require('../base/Exchange.js');
6
-
7
- // -------------------------------------------------------------------------------
8
- class Exchange extends Exchange$1["default"] {
9
- }
10
-
11
- exports["default"] = Exchange;
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var Exchange$1 = require('../base/Exchange.js');
6
-
7
- // -------------------------------------------------------------------------------
8
- class Exchange extends Exchange$1["default"] {
9
- }
10
-
11
- exports["default"] = Exchange;