ccxt 4.3.57 → 4.3.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 (82) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +4 -2
  4. package/dist/cjs/src/alpaca.js +5 -1
  5. package/dist/cjs/src/base/Exchange.js +4 -4
  6. package/dist/cjs/src/base/errors.js +22 -22
  7. package/dist/cjs/src/bigone.js +21 -1
  8. package/dist/cjs/src/bingx.js +131 -26
  9. package/dist/cjs/src/bitmart.js +1 -0
  10. package/dist/cjs/src/btcbox.js +149 -7
  11. package/dist/cjs/src/bybit.js +2 -2
  12. package/dist/cjs/src/coinmate.js +28 -35
  13. package/dist/cjs/src/coinone.js +1 -1
  14. package/dist/cjs/src/deribit.js +15 -1
  15. package/dist/cjs/src/digifinex.js +32 -7
  16. package/dist/cjs/src/gate.js +24 -18
  17. package/dist/cjs/src/htx.js +10 -8
  18. package/dist/cjs/src/hyperliquid.js +107 -1
  19. package/dist/cjs/src/kucoin.js +3 -0
  20. package/dist/cjs/src/latoken.js +5 -1
  21. package/dist/cjs/src/mexc.js +11 -11
  22. package/dist/cjs/src/okx.js +3 -0
  23. package/dist/cjs/src/pro/binance.js +11 -13
  24. package/dist/cjs/src/pro/bingx.js +11 -8
  25. package/dist/cjs/src/pro/okx.js +3 -3
  26. package/dist/cjs/src/pro/xt.js +1108 -0
  27. package/dist/cjs/src/upbit.js +148 -49
  28. package/dist/cjs/src/woo.js +1 -1
  29. package/dist/cjs/src/xt.js +72 -7
  30. package/js/ccxt.d.ts +6 -3
  31. package/js/ccxt.js +5 -3
  32. package/js/src/abstract/bitmart.d.ts +1 -0
  33. package/js/src/abstract/btcbox.d.ts +1 -0
  34. package/js/src/abstract/kucoin.d.ts +1 -0
  35. package/js/src/abstract/kucoinfutures.d.ts +1 -0
  36. package/js/src/abstract/upbit.d.ts +3 -0
  37. package/js/src/abstract/xt.d.ts +1 -0
  38. package/js/src/alpaca.d.ts +1 -1
  39. package/js/src/alpaca.js +5 -1
  40. package/js/src/base/Exchange.d.ts +3 -3
  41. package/js/src/base/Exchange.js +5 -5
  42. package/js/src/base/errorHierarchy.d.ts +5 -5
  43. package/js/src/base/errorHierarchy.js +5 -5
  44. package/js/src/base/errors.d.ts +15 -15
  45. package/js/src/base/errors.js +22 -22
  46. package/js/src/bigone.d.ts +1 -1
  47. package/js/src/bigone.js +21 -1
  48. package/js/src/bingx.js +131 -26
  49. package/js/src/bitmart.js +1 -0
  50. package/js/src/btcbox.d.ts +4 -1
  51. package/js/src/btcbox.js +149 -7
  52. package/js/src/bybit.js +2 -2
  53. package/js/src/coinmate.js +28 -35
  54. package/js/src/coinone.js +1 -1
  55. package/js/src/deribit.d.ts +1 -1
  56. package/js/src/deribit.js +15 -1
  57. package/js/src/digifinex.d.ts +3 -2
  58. package/js/src/digifinex.js +32 -7
  59. package/js/src/gate.js +24 -18
  60. package/js/src/htx.js +10 -8
  61. package/js/src/hyperliquid.d.ts +3 -1
  62. package/js/src/hyperliquid.js +107 -1
  63. package/js/src/kucoin.js +3 -0
  64. package/js/src/latoken.d.ts +1 -1
  65. package/js/src/latoken.js +5 -1
  66. package/js/src/mexc.js +11 -11
  67. package/js/src/okx.js +3 -0
  68. package/js/src/pro/binance.js +11 -13
  69. package/js/src/pro/bingx.js +11 -8
  70. package/js/src/pro/bitmart.d.ts +3 -3
  71. package/js/src/pro/bitopro.d.ts +2 -2
  72. package/js/src/pro/coincheck.d.ts +2 -2
  73. package/js/src/pro/coinone.d.ts +2 -2
  74. package/js/src/pro/hyperliquid.d.ts +2 -2
  75. package/js/src/pro/okx.js +3 -3
  76. package/js/src/pro/xt.d.ts +31 -0
  77. package/js/src/pro/xt.js +1109 -0
  78. package/js/src/upbit.d.ts +0 -1
  79. package/js/src/upbit.js +148 -49
  80. package/js/src/woo.js +2 -2
  81. package/js/src/xt.js +72 -7
  82. package/package.json +1 -1
@@ -127,6 +127,9 @@ class upbit extends upbit$1 {
127
127
  'orders/chance',
128
128
  'order',
129
129
  'orders',
130
+ 'orders/closed',
131
+ 'orders/open',
132
+ 'orders/uuids',
130
133
  'withdraws',
131
134
  'withdraw',
132
135
  'withdraws/chance',
@@ -1460,6 +1463,28 @@ class upbit extends upbit$1 {
1460
1463
  // ],
1461
1464
  // }
1462
1465
  //
1466
+ // fetchOpenOrders, fetchClosedOrders, fetchCanceledOrders
1467
+ //
1468
+ // {
1469
+ // "uuid": "637fd66-d019-4d77-bee6-8e0cff28edd9",
1470
+ // "side": "ask",
1471
+ // "ord_type": "limit",
1472
+ // "price": "1.5",
1473
+ // "state": "wait",
1474
+ // "market": "SGD-XRP",
1475
+ // "created_at": "2024-06-05T09:37:10Z",
1476
+ // "volume": "10",
1477
+ // "remaining_volume": "10",
1478
+ // "reserved_fee": "0",
1479
+ // "remaining_fee": "0",
1480
+ // "paid_fee": "0",
1481
+ // "locked": "10",
1482
+ // "executed_volume": "0",
1483
+ // "executed_funds": "0",
1484
+ // "trades_count": 0,
1485
+ // "time_in_force": "ioc"
1486
+ // }
1487
+ //
1463
1488
  const id = this.safeString(order, 'uuid');
1464
1489
  let side = this.safeString(order, 'side');
1465
1490
  if (side === 'bid') {
@@ -1530,7 +1555,7 @@ class upbit extends upbit$1 {
1530
1555
  'lastTradeTimestamp': lastTradeTimestamp,
1531
1556
  'symbol': market['symbol'],
1532
1557
  'type': type,
1533
- 'timeInForce': undefined,
1558
+ 'timeInForce': this.safeStringUpper(order, 'time_in_force'),
1534
1559
  'postOnly': undefined,
1535
1560
  'side': side,
1536
1561
  'price': price,
@@ -1546,84 +1571,163 @@ class upbit extends upbit$1 {
1546
1571
  'trades': trades,
1547
1572
  });
1548
1573
  }
1549
- async fetchOrdersByState(state, symbol = undefined, since = undefined, limit = undefined, params = {}) {
1574
+ async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1575
+ /**
1576
+ * @method
1577
+ * @name upbit#fetchOpenOrders
1578
+ * @description fetch all unfilled currently open orders
1579
+ * @see https://global-docs.upbit.com/reference/open-order
1580
+ * @param {string} symbol unified market symbol
1581
+ * @param {int} [since] the earliest time in ms to fetch open orders for
1582
+ * @param {int} [limit] the maximum number of open order structures to retrieve
1583
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1584
+ * @param {string} [params.state] default is 'wait', set to 'watch' for stop limit orders
1585
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1586
+ */
1550
1587
  await this.loadMarkets();
1551
- const request = {
1552
- // 'market': this.marketId (symbol),
1553
- 'state': state,
1554
- // 'page': 1,
1555
- // 'order_by': 'asc',
1556
- };
1588
+ const request = {};
1557
1589
  let market = undefined;
1558
1590
  if (symbol !== undefined) {
1559
1591
  market = this.market(symbol);
1560
1592
  request['market'] = market['id'];
1561
1593
  }
1562
- const response = await this.privateGetOrders(this.extend(request, params));
1594
+ if (limit !== undefined) {
1595
+ request['limit'] = limit;
1596
+ }
1597
+ const response = await this.privateGetOrdersOpen(this.extend(request, params));
1563
1598
  //
1564
1599
  // [
1565
1600
  // {
1566
- // "uuid": "a08f09b1-1718-42e2-9358-f0e5e083d3ee",
1567
- // "side": "bid",
1601
+ // "uuid": "637fd66-d019-4d77-bee6-8e0cff28edd9",
1602
+ // "side": "ask",
1568
1603
  // "ord_type": "limit",
1569
- // "price": "17417000.0",
1570
- // "state": "done",
1571
- // "market": "KRW-BTC",
1572
- // "created_at": "2018-04-05T14:09:14+09:00",
1573
- // "volume": "1.0",
1574
- // "remaining_volume": "0.0",
1575
- // "reserved_fee": "26125.5",
1576
- // "remaining_fee": "25974.0",
1577
- // "paid_fee": "151.5",
1578
- // "locked": "17341974.0",
1579
- // "executed_volume": "1.0",
1580
- // "trades_count":2
1581
- // },
1604
+ // "price": "1.5",
1605
+ // "state": "wait",
1606
+ // "market": "SGD-XRP",
1607
+ // "created_at": "2024-06-05T09:37:10Z",
1608
+ // "volume": "10",
1609
+ // "remaining_volume": "10",
1610
+ // "reserved_fee": "0",
1611
+ // "remaining_fee": "0",
1612
+ // "paid_fee": "0",
1613
+ // "locked": "10",
1614
+ // "executed_volume": "0",
1615
+ // "executed_funds": "0",
1616
+ // "trades_count": 0
1617
+ // }
1582
1618
  // ]
1583
1619
  //
1584
1620
  return this.parseOrders(response, market, since, limit);
1585
1621
  }
1586
- async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1587
- /**
1588
- * @method
1589
- * @name upbit#fetchOpenOrders
1590
- * @see https://docs.upbit.com/reference/%EC%A3%BC%EB%AC%B8-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%A1%B0%ED%9A%8C
1591
- * @description fetch all unfilled currently open orders
1592
- * @param {string} symbol unified market symbol
1593
- * @param {int} [since] the earliest time in ms to fetch open orders for
1594
- * @param {int} [limit] the maximum number of open orders structures to retrieve
1595
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1596
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1597
- */
1598
- return await this.fetchOrdersByState('wait', symbol, since, limit, params);
1599
- }
1600
1622
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1601
1623
  /**
1602
1624
  * @method
1603
1625
  * @name upbit#fetchClosedOrders
1604
- * @see https://docs.upbit.com/reference/%EC%A3%BC%EB%AC%B8-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%A1%B0%ED%9A%8C
1605
1626
  * @description fetches information on multiple closed orders made by the user
1627
+ * @see https://global-docs.upbit.com/reference/closed-order
1606
1628
  * @param {string} symbol unified market symbol of the market orders were made in
1607
1629
  * @param {int} [since] the earliest time in ms to fetch orders for
1608
1630
  * @param {int} [limit] the maximum number of order structures to retrieve
1609
1631
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1632
+ * @param {int} [params.until] timestamp in ms of the latest order
1610
1633
  * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1611
1634
  */
1612
- return await this.fetchOrdersByState('done', symbol, since, limit, params);
1635
+ await this.loadMarkets();
1636
+ let request = {
1637
+ 'state': 'done',
1638
+ };
1639
+ let market = undefined;
1640
+ if (symbol !== undefined) {
1641
+ market = this.market(symbol);
1642
+ request['market'] = market['id'];
1643
+ }
1644
+ if (since !== undefined) {
1645
+ request['start_time'] = since;
1646
+ }
1647
+ if (limit !== undefined) {
1648
+ request['limit'] = limit;
1649
+ }
1650
+ [request, params] = this.handleUntilOption('end_time', request, params);
1651
+ const response = await this.privateGetOrdersClosed(this.extend(request, params));
1652
+ //
1653
+ // [
1654
+ // {
1655
+ // "uuid": "637fd66-d019-4d77-bee6-8e0cff28edd9",
1656
+ // "side": "ask",
1657
+ // "ord_type": "limit",
1658
+ // "price": "1.5",
1659
+ // "state": "done",
1660
+ // "market": "SGD-XRP",
1661
+ // "created_at": "2024-06-05T09:37:10Z",
1662
+ // "volume": "10",
1663
+ // "remaining_volume": "10",
1664
+ // "reserved_fee": "0",
1665
+ // "remaining_fee": "0",
1666
+ // "paid_fee": "0",
1667
+ // "locked": "10",
1668
+ // "executed_volume": "0",
1669
+ // "executed_funds": "0",
1670
+ // "trades_count": 0,
1671
+ // "time_in_force": "ioc"
1672
+ // }
1673
+ // ]
1674
+ //
1675
+ return this.parseOrders(response, market, since, limit);
1613
1676
  }
1614
1677
  async fetchCanceledOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1615
1678
  /**
1616
1679
  * @method
1617
1680
  * @name upbit#fetchCanceledOrders
1618
- * @see https://docs.upbit.com/reference/%EC%A3%BC%EB%AC%B8-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%A1%B0%ED%9A%8C
1619
1681
  * @description fetches information on multiple canceled orders made by the user
1682
+ * @see https://global-docs.upbit.com/reference/closed-order
1620
1683
  * @param {string} symbol unified market symbol of the market orders were made in
1621
1684
  * @param {int} [since] timestamp in ms of the earliest order, default is undefined
1622
1685
  * @param {int} [limit] max number of orders to return, default is undefined
1623
1686
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1687
+ * @param {int} [params.until] timestamp in ms of the latest order
1624
1688
  * @returns {object} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1625
1689
  */
1626
- return await this.fetchOrdersByState('cancel', symbol, since, limit, params);
1690
+ await this.loadMarkets();
1691
+ let request = {
1692
+ 'state': 'cancel',
1693
+ };
1694
+ let market = undefined;
1695
+ if (symbol !== undefined) {
1696
+ market = this.market(symbol);
1697
+ request['market'] = market['id'];
1698
+ }
1699
+ if (since !== undefined) {
1700
+ request['start_time'] = since;
1701
+ }
1702
+ if (limit !== undefined) {
1703
+ request['limit'] = limit;
1704
+ }
1705
+ [request, params] = this.handleUntilOption('end_time', request, params);
1706
+ const response = await this.privateGetOrdersClosed(this.extend(request, params));
1707
+ //
1708
+ // [
1709
+ // {
1710
+ // "uuid": "637fd66-d019-4d77-bee6-8e0cff28edd9",
1711
+ // "side": "ask",
1712
+ // "ord_type": "limit",
1713
+ // "price": "1.5",
1714
+ // "state": "cancel",
1715
+ // "market": "SGD-XRP",
1716
+ // "created_at": "2024-06-05T09:37:10Z",
1717
+ // "volume": "10",
1718
+ // "remaining_volume": "10",
1719
+ // "reserved_fee": "0",
1720
+ // "remaining_fee": "0",
1721
+ // "paid_fee": "0",
1722
+ // "locked": "10",
1723
+ // "executed_volume": "0",
1724
+ // "executed_funds": "0",
1725
+ // "trades_count": 0,
1726
+ // "time_in_force": "ioc"
1727
+ // }
1728
+ // ]
1729
+ //
1730
+ return this.parseOrders(response, market, since, limit);
1627
1731
  }
1628
1732
  async fetchOrder(id, symbol = undefined, params = {}) {
1629
1733
  /**
@@ -1895,14 +1999,9 @@ class upbit extends upbit$1 {
1895
1999
  if ((method !== 'GET') && (method !== 'DELETE')) {
1896
2000
  body = this.json(params);
1897
2001
  headers['Content-Type'] = 'application/json';
1898
- if (hasQuery) {
1899
- auth = this.urlencode(query);
1900
- }
1901
2002
  }
1902
- else {
1903
- if (hasQuery) {
1904
- auth = this.urlencode(this.keysort(query));
1905
- }
2003
+ if (hasQuery) {
2004
+ auth = this.urlencode(query);
1906
2005
  }
1907
2006
  if (auth !== undefined) {
1908
2007
  const hash = this.hash(this.encode(auth), sha512.sha512);
@@ -306,7 +306,7 @@ class woo extends woo$1 {
306
306
  'commonCurrencies': {},
307
307
  'exceptions': {
308
308
  'exact': {
309
- '-1000': errors.ExchangeError,
309
+ '-1000': errors.OperationFailed,
310
310
  '-1001': errors.AuthenticationError,
311
311
  '-1002': errors.AuthenticationError,
312
312
  '-1003': errors.RateLimitExceeded,
@@ -21,7 +21,7 @@ class xt extends xt$1 {
21
21
  'rateLimit': 100,
22
22
  'version': 'v4',
23
23
  'certified': false,
24
- 'pro': false,
24
+ 'pro': true,
25
25
  'has': {
26
26
  'CORS': false,
27
27
  'spot': true,
@@ -216,6 +216,7 @@ class xt extends xt$1 {
216
216
  'withdraw': 1,
217
217
  'balance/transfer': 1,
218
218
  'balance/account/transfer': 1,
219
+ 'ws-token': 1,
219
220
  },
220
221
  'delete': {
221
222
  'batch-order': 1,
@@ -1457,9 +1458,13 @@ class xt extends xt$1 {
1457
1458
  const orderBook = this.safeValue(response, 'result', {});
1458
1459
  const timestamp = this.safeInteger2(orderBook, 'timestamp', 't');
1459
1460
  if (market['spot']) {
1460
- return this.parseOrderBook(orderBook, symbol, timestamp);
1461
+ const ob = this.parseOrderBook(orderBook, symbol, timestamp);
1462
+ ob['nonce'] = this.safeInteger(orderBook, 'lastUpdateId');
1463
+ return ob;
1461
1464
  }
1462
- return this.parseOrderBook(orderBook, symbol, timestamp, 'b', 'a');
1465
+ const swapOb = this.parseOrderBook(orderBook, symbol, timestamp, 'b', 'a');
1466
+ swapOb['nonce'] = this.safeInteger2(orderBook, 'u', 'lastUpdateId');
1467
+ return swapOb;
1463
1468
  }
1464
1469
  async fetchTicker(symbol, params = {}) {
1465
1470
  /**
@@ -1719,8 +1724,9 @@ class xt extends xt$1 {
1719
1724
  //
1720
1725
  const marketId = this.safeString(ticker, 's');
1721
1726
  let marketType = (market !== undefined) ? market['type'] : undefined;
1727
+ const hasSpotKeys = ('cv' in ticker) || ('aq' in ticker);
1722
1728
  if (marketType === undefined) {
1723
- marketType = ('cv' in ticker) || ('aq' in ticker) ? 'spot' : 'contract';
1729
+ marketType = hasSpotKeys ? 'spot' : 'contract';
1724
1730
  }
1725
1731
  market = this.safeMarket(marketId, market, '_', marketType);
1726
1732
  const symbol = market['symbol'];
@@ -1947,6 +1953,29 @@ class xt extends xt$1 {
1947
1953
  // "b": true
1948
1954
  // }
1949
1955
  //
1956
+ // spot: watchMyTrades
1957
+ //
1958
+ // {
1959
+ // "s": "btc_usdt", // symbol
1960
+ // "t": 1656043204763, // time
1961
+ // "i": "6316559590087251233", // tradeId
1962
+ // "oi": "6216559590087220004", // orderId
1963
+ // "p": "30000", // trade price
1964
+ // "q": "3", // qty quantity
1965
+ // "v": "90000" // volume trade amount
1966
+ // }
1967
+ //
1968
+ // spot: watchTrades
1969
+ //
1970
+ // {
1971
+ // s: 'btc_usdt',
1972
+ // i: '228825383103928709',
1973
+ // t: 1684258222702,
1974
+ // p: '27003.65',
1975
+ // q: '0.000796',
1976
+ // b: true
1977
+ // }
1978
+ //
1950
1979
  // swap and future: fetchTrades
1951
1980
  //
1952
1981
  // {
@@ -1991,10 +2020,39 @@ class xt extends xt$1 {
1991
2020
  // "takerMaker": "TAKER"
1992
2021
  // }
1993
2022
  //
2023
+ // contract watchMyTrades
2024
+ //
2025
+ // {
2026
+ // "symbol": 'btc_usdt',
2027
+ // "orderSide": 'SELL',
2028
+ // "positionSide": 'LONG',
2029
+ // "orderId": '231485367663419328',
2030
+ // "price": '27152.7',
2031
+ // "quantity": '33',
2032
+ // "marginUnfrozen": '2.85318000',
2033
+ // "timestamp": 1684892412565
2034
+ // }
2035
+ //
2036
+ // watchMyTrades (ws, swap)
2037
+ //
2038
+ // {
2039
+ // 'fee': '0.04080840',
2040
+ // 'isMaker': False,
2041
+ // 'marginUnfrozen': '0.75711984',
2042
+ // 'orderId': '376172779053188416',
2043
+ // 'orderSide': 'BUY',
2044
+ // 'positionSide': 'LONG',
2045
+ // 'price': '3400.70',
2046
+ // 'quantity': '2',
2047
+ // 'symbol': 'eth_usdt',
2048
+ // 'timestamp': 1719388579622
2049
+ // }
2050
+ //
1994
2051
  const marketId = this.safeString2(trade, 's', 'symbol');
1995
2052
  let marketType = (market !== undefined) ? market['type'] : undefined;
2053
+ const hasSpotKeys = ('b' in trade) || ('bizType' in trade) || ('oi' in trade);
1996
2054
  if (marketType === undefined) {
1997
- marketType = ('b' in trade) || ('bizType' in trade) ? 'spot' : 'contract';
2055
+ marketType = hasSpotKeys ? 'spot' : 'contract';
1998
2056
  }
1999
2057
  market = this.safeMarket(marketId, market, '_', marketType);
2000
2058
  const bidOrAsk = this.safeString(trade, 'm');
@@ -2003,10 +2061,17 @@ class xt extends xt$1 {
2003
2061
  side = (bidOrAsk === 'BID') ? 'buy' : 'sell';
2004
2062
  }
2005
2063
  const buyerMaker = this.safeValue(trade, 'b');
2064
+ if (buyerMaker !== undefined) {
2065
+ side = 'buy';
2066
+ }
2006
2067
  let takerOrMaker = this.safeStringLower(trade, 'takerMaker');
2007
2068
  if (buyerMaker !== undefined) {
2008
2069
  takerOrMaker = buyerMaker ? 'maker' : 'taker';
2009
2070
  }
2071
+ const isMaker = this.safeBool(trade, 'isMaker');
2072
+ if (isMaker !== undefined) {
2073
+ takerOrMaker = isMaker ? 'maker' : 'taker';
2074
+ }
2010
2075
  const timestamp = this.safeIntegerN(trade, ['t', 'time', 'timestamp']);
2011
2076
  const quantity = this.safeString2(trade, 'q', 'quantity');
2012
2077
  let amount = undefined;
@@ -2027,7 +2092,7 @@ class xt extends xt$1 {
2027
2092
  'timestamp': timestamp,
2028
2093
  'datetime': this.iso8601(timestamp),
2029
2094
  'symbol': market['symbol'],
2030
- 'order': this.safeString(trade, 'orderId'),
2095
+ 'order': this.safeString2(trade, 'orderId', 'oi'),
2031
2096
  'type': this.safeStringLower(trade, 'orderType'),
2032
2097
  'side': side,
2033
2098
  'takerOrMaker': takerOrMaker,
@@ -4708,7 +4773,7 @@ class xt extends xt$1 {
4708
4773
  body['media'] = id;
4709
4774
  }
4710
4775
  }
4711
- const isUndefinedBody = ((method === 'GET') || (path === 'order/{orderId}'));
4776
+ const isUndefinedBody = ((method === 'GET') || (path === 'order/{orderId}') || (path === 'ws-token'));
4712
4777
  body = isUndefinedBody ? undefined : this.json(body);
4713
4778
  let payloadString = undefined;
4714
4779
  if ((endpoint === 'spot') || (endpoint === 'user')) {
package/js/ccxt.d.ts CHANGED
@@ -3,8 +3,8 @@ import { Precise } from './src/base/Precise.js';
3
3
  import * as functions from './src/base/functions.js';
4
4
  import * as errors from './src/base/errors.js';
5
5
  import type { Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketInterface, Trade, Order, OrderBook, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, DepositAddressResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, TransferEntries, LeverageTiers } from './src/base/types.js';
6
- import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, ProxyError, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout } from './src/base/errors.js';
7
- declare const version = "4.3.56";
6
+ import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, BadResponse, NullResponse, CancelPending } from './src/base/errors.js';
7
+ declare const version = "4.3.58";
8
8
  import ace from './src/ace.js';
9
9
  import alpaca from './src/alpaca.js';
10
10
  import ascendex from './src/ascendex.js';
@@ -180,6 +180,7 @@ import wazirxPro from './src/pro/wazirx.js';
180
180
  import whitebitPro from './src/pro/whitebit.js';
181
181
  import wooPro from './src/pro/woo.js';
182
182
  import woofiproPro from './src/pro/woofipro.js';
183
+ import xtPro from './src/pro/xt.js';
183
184
  declare const exchanges: {
184
185
  ace: typeof ace;
185
186
  alpaca: typeof alpaca;
@@ -358,6 +359,7 @@ declare const pro: {
358
359
  whitebit: typeof whitebitPro;
359
360
  woo: typeof wooPro;
360
361
  woofipro: typeof woofiproPro;
362
+ xt: typeof xtPro;
361
363
  };
362
364
  declare const ccxt: {
363
365
  version: string;
@@ -432,6 +434,7 @@ declare const ccxt: {
432
434
  whitebit: typeof whitebitPro;
433
435
  woo: typeof wooPro;
434
436
  woofipro: typeof woofiproPro;
437
+ xt: typeof xtPro;
435
438
  };
436
439
  } & {
437
440
  ace: typeof ace;
@@ -543,5 +546,5 @@ declare const ccxt: {
543
546
  zaif: typeof zaif;
544
547
  zonda: typeof zonda;
545
548
  } & typeof functions & typeof errors;
546
- export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, ProxyError, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketInterface, Trade, Order, OrderBook, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, DepositAddressResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, TransferEntries, LeverageTiers, ace, alpaca, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbay, bitbns, bitcoincom, bitfinex, bitfinex2, bitflyer, bitget, bithumb, bitmart, bitmex, bitopro, bitpanda, bitrue, bitso, bitstamp, bitteam, bitvavo, bl3p, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, cex, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincheck, coinex, coinlist, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, currencycom, delta, deribit, digifinex, exmo, fmfwio, gate, gateio, gemini, hitbtc, hitbtc3, hollaex, htx, huobi, huobijp, hyperliquid, idex, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, kuna, latoken, lbank, luno, lykke, mercado, mexc, ndax, novadax, oceanex, okcoin, okx, onetrading, oxfun, p2b, paymium, phemex, poloniex, poloniexfutures, probit, timex, tokocrypto, tradeogre, upbit, vertex, wavesexchange, wazirx, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
549
+ export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, BadResponse, NullResponse, CancelPending, Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketInterface, Trade, Order, OrderBook, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, DepositAddressResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, TransferEntries, LeverageTiers, ace, alpaca, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbay, bitbns, bitcoincom, bitfinex, bitfinex2, bitflyer, bitget, bithumb, bitmart, bitmex, bitopro, bitpanda, bitrue, bitso, bitstamp, bitteam, bitvavo, bl3p, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, cex, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincheck, coinex, coinlist, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, currencycom, delta, deribit, digifinex, exmo, fmfwio, gate, gateio, gemini, hitbtc, hitbtc3, hollaex, htx, huobi, huobijp, hyperliquid, idex, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, kuna, latoken, lbank, luno, lykke, mercado, mexc, ndax, novadax, oceanex, okcoin, okx, onetrading, oxfun, p2b, paymium, phemex, poloniex, poloniexfutures, probit, timex, tokocrypto, tradeogre, upbit, vertex, wavesexchange, wazirx, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
547
550
  export default ccxt;
package/js/ccxt.js CHANGED
@@ -35,10 +35,10 @@ import { Exchange } from './src/base/Exchange.js';
35
35
  import { Precise } from './src/base/Precise.js';
36
36
  import * as functions from './src/base/functions.js';
37
37
  import * as errors from './src/base/errors.js';
38
- import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, ProxyError, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout } from './src/base/errors.js';
38
+ import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, BadResponse, NullResponse, CancelPending } from './src/base/errors.js';
39
39
  //-----------------------------------------------------------------------------
40
40
  // this is updated by vss.js when building
41
- const version = '4.3.57';
41
+ const version = '4.3.59';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import ace from './src/ace.js';
@@ -217,6 +217,7 @@ import wazirxPro from './src/pro/wazirx.js';
217
217
  import whitebitPro from './src/pro/whitebit.js';
218
218
  import wooPro from './src/pro/woo.js';
219
219
  import woofiproPro from './src/pro/woofipro.js';
220
+ import xtPro from './src/pro/xt.js';
220
221
  const exchanges = {
221
222
  'ace': ace,
222
223
  'alpaca': alpaca,
@@ -395,6 +396,7 @@ const pro = {
395
396
  'whitebit': whitebitPro,
396
397
  'woo': wooPro,
397
398
  'woofipro': woofiproPro,
399
+ 'xt': xtPro,
398
400
  };
399
401
  for (const exchange in pro) {
400
402
  // const ccxtExchange = exchanges[exchange]
@@ -408,6 +410,6 @@ pro.exchanges = Object.keys(pro);
408
410
  pro['Exchange'] = Exchange; // now the same for rest and ts
409
411
  //-----------------------------------------------------------------------------
410
412
  const ccxt = Object.assign({ version, Exchange, Precise, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, functions, errors);
411
- export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, ProxyError, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, ace, alpaca, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbay, bitbns, bitcoincom, bitfinex, bitfinex2, bitflyer, bitget, bithumb, bitmart, bitmex, bitopro, bitpanda, bitrue, bitso, bitstamp, bitteam, bitvavo, bl3p, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, cex, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincheck, coinex, coinlist, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, currencycom, delta, deribit, digifinex, exmo, fmfwio, gate, gateio, gemini, hitbtc, hitbtc3, hollaex, htx, huobi, huobijp, hyperliquid, idex, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, kuna, latoken, lbank, luno, lykke, mercado, mexc, ndax, novadax, oceanex, okcoin, okx, onetrading, oxfun, p2b, paymium, phemex, poloniex, poloniexfutures, probit, timex, tokocrypto, tradeogre, upbit, vertex, wavesexchange, wazirx, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
413
+ export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, BadResponse, NullResponse, CancelPending, ace, alpaca, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbay, bitbns, bitcoincom, bitfinex, bitfinex2, bitflyer, bitget, bithumb, bitmart, bitmex, bitopro, bitpanda, bitrue, bitso, bitstamp, bitteam, bitvavo, bl3p, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, cex, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincheck, coinex, coinlist, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, currencycom, delta, deribit, digifinex, exmo, fmfwio, gate, gateio, gemini, hitbtc, hitbtc3, hollaex, htx, huobi, huobijp, hyperliquid, idex, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, kuna, latoken, lbank, luno, lykke, mercado, mexc, ndax, novadax, oceanex, okcoin, okx, onetrading, oxfun, p2b, paymium, phemex, poloniex, poloniexfutures, probit, timex, tokocrypto, tradeogre, upbit, vertex, wavesexchange, wazirx, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
412
414
  export default ccxt;
413
415
  //-----------------------------------------------------------------------------
@@ -60,6 +60,7 @@ interface Exchange {
60
60
  privateGetContractPrivateGetOpenOrders(params?: {}): Promise<implicitReturnType>;
61
61
  privateGetContractPrivateCurrentPlanOrder(params?: {}): Promise<implicitReturnType>;
62
62
  privateGetContractPrivateTrades(params?: {}): Promise<implicitReturnType>;
63
+ privateGetContractPrivatePositionRisk(params?: {}): Promise<implicitReturnType>;
63
64
  privatePostAccountSubAccountMainV1SubToMain(params?: {}): Promise<implicitReturnType>;
64
65
  privatePostAccountSubAccountSubV1SubToMain(params?: {}): Promise<implicitReturnType>;
65
66
  privatePostAccountSubAccountMainV1MainToSub(params?: {}): Promise<implicitReturnType>;
@@ -4,6 +4,7 @@ interface Exchange {
4
4
  publicGetDepth(params?: {}): Promise<implicitReturnType>;
5
5
  publicGetOrders(params?: {}): Promise<implicitReturnType>;
6
6
  publicGetTicker(params?: {}): Promise<implicitReturnType>;
7
+ publicGetTickers(params?: {}): Promise<implicitReturnType>;
7
8
  privatePostBalance(params?: {}): Promise<implicitReturnType>;
8
9
  privatePostTradeAdd(params?: {}): Promise<implicitReturnType>;
9
10
  privatePostTradeCancel(params?: {}): Promise<implicitReturnType>;
@@ -86,6 +86,7 @@ interface Exchange {
86
86
  privateGetRedeemOrders(params?: {}): Promise<implicitReturnType>;
87
87
  privateGetPurchaseOrders(params?: {}): Promise<implicitReturnType>;
88
88
  privateGetBrokerApiRebaseDownload(params?: {}): Promise<implicitReturnType>;
89
+ privateGetAffiliateInviterStatistics(params?: {}): Promise<implicitReturnType>;
89
90
  privatePostSubUserCreated(params?: {}): Promise<implicitReturnType>;
90
91
  privatePostSubApiKey(params?: {}): Promise<implicitReturnType>;
91
92
  privatePostSubApiKeyUpdate(params?: {}): Promise<implicitReturnType>;
@@ -86,6 +86,7 @@ interface kucoin {
86
86
  privateGetRedeemOrders(params?: {}): Promise<implicitReturnType>;
87
87
  privateGetPurchaseOrders(params?: {}): Promise<implicitReturnType>;
88
88
  privateGetBrokerApiRebaseDownload(params?: {}): Promise<implicitReturnType>;
89
+ privateGetAffiliateInviterStatistics(params?: {}): Promise<implicitReturnType>;
89
90
  privatePostSubUserCreated(params?: {}): Promise<implicitReturnType>;
90
91
  privatePostSubApiKey(params?: {}): Promise<implicitReturnType>;
91
92
  privatePostSubApiKeyUpdate(params?: {}): Promise<implicitReturnType>;
@@ -23,6 +23,9 @@ interface Exchange {
23
23
  privateGetOrdersChance(params?: {}): Promise<implicitReturnType>;
24
24
  privateGetOrder(params?: {}): Promise<implicitReturnType>;
25
25
  privateGetOrders(params?: {}): Promise<implicitReturnType>;
26
+ privateGetOrdersClosed(params?: {}): Promise<implicitReturnType>;
27
+ privateGetOrdersOpen(params?: {}): Promise<implicitReturnType>;
28
+ privateGetOrdersUuids(params?: {}): Promise<implicitReturnType>;
26
29
  privateGetWithdraws(params?: {}): Promise<implicitReturnType>;
27
30
  privateGetWithdraw(params?: {}): Promise<implicitReturnType>;
28
31
  privateGetWithdrawsChance(params?: {}): Promise<implicitReturnType>;
@@ -68,6 +68,7 @@ interface Exchange {
68
68
  privateSpotPostWithdraw(params?: {}): Promise<implicitReturnType>;
69
69
  privateSpotPostBalanceTransfer(params?: {}): Promise<implicitReturnType>;
70
70
  privateSpotPostBalanceAccountTransfer(params?: {}): Promise<implicitReturnType>;
71
+ privateSpotPostWsToken(params?: {}): Promise<implicitReturnType>;
71
72
  privateSpotDeleteBatchOrder(params?: {}): Promise<implicitReturnType>;
72
73
  privateSpotDeleteOpenOrder(params?: {}): Promise<implicitReturnType>;
73
74
  privateSpotDeleteOrderOrderId(params?: {}): Promise<implicitReturnType>;
@@ -15,7 +15,7 @@ export default class alpaca extends Exchange {
15
15
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
16
16
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
17
17
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
18
- cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
18
+ cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
19
19
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
20
20
  fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
21
21
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
package/js/src/alpaca.js CHANGED
@@ -812,7 +812,11 @@ export default class alpaca extends Exchange {
812
812
  return this.parseOrders(response, undefined);
813
813
  }
814
814
  else {
815
- return response;
815
+ return [
816
+ this.safeOrder({
817
+ 'info': response,
818
+ }),
819
+ ];
816
820
  }
817
821
  }
818
822
  async fetchOrder(id, symbol = undefined, params = {}) {
@@ -733,9 +733,9 @@ export default class Exchange {
733
733
  parseFundingRateHistory(info: any, market?: Market): FundingRateHistory;
734
734
  parseBorrowInterest(info: Dict, market?: Market): BorrowInterest;
735
735
  parseIsolatedBorrowRate(info: Dict, market?: Market): IsolatedBorrowRate;
736
- parseWsTrade(trade: any, market?: Market): Trade;
737
- parseWsOrder(order: any, market?: Market): Order;
738
- parseWsOrderTrade(trade: any, market?: Market): Trade;
736
+ parseWsTrade(trade: Dict, market?: Market): Trade;
737
+ parseWsOrder(order: Dict, market?: Market): Order;
738
+ parseWsOrderTrade(trade: Dict, market?: Market): Trade;
739
739
  parseWsOHLCV(ohlcv: any, market?: Market): OHLCV;
740
740
  fetchFundingRates(symbols?: Strings, params?: {}): Promise<{}>;
741
741
  watchFundingRate(symbol: string, params?: {}): Promise<FundingRate>;