ccxt 4.3.36 → 4.3.38

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.
package/js/ccxt.js CHANGED
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
38
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';
39
39
  //-----------------------------------------------------------------------------
40
40
  // this is updated by vss.js when building
41
- const version = '4.3.36';
41
+ const version = '4.3.38';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import ace from './src/ace.js';
@@ -68,6 +68,9 @@ interface Exchange {
68
68
  publicGetFinanceStakingDefiEthApyHistory(params?: {}): Promise<implicitReturnType>;
69
69
  publicGetFinanceSavingsLendingRateSummary(params?: {}): Promise<implicitReturnType>;
70
70
  publicGetFinanceSavingsLendingRateHistory(params?: {}): Promise<implicitReturnType>;
71
+ publicGetFinanceFixedLoanLendingOffers(params?: {}): Promise<implicitReturnType>;
72
+ publicGetFinanceFixedLoanLendingApyHistory(params?: {}): Promise<implicitReturnType>;
73
+ publicGetFinanceFixedLoanPendingLendingVolume(params?: {}): Promise<implicitReturnType>;
71
74
  publicGetFinanceSfpDcdProducts(params?: {}): Promise<implicitReturnType>;
72
75
  publicGetCopytradingPublicLeadTraders(params?: {}): Promise<implicitReturnType>;
73
76
  publicGetCopytradingPublicWeeklyPnl(params?: {}): Promise<implicitReturnType>;
package/js/src/bingx.d.ts CHANGED
@@ -77,8 +77,8 @@ export default class bingx extends Exchange {
77
77
  parseOrder(order: Dict, market?: Market): Order;
78
78
  parseOrderStatus(status: Str): string;
79
79
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
80
- cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
81
- cancelOrders(ids: string[], symbol?: Str, params?: {}): Promise<any>;
80
+ cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
81
+ cancelOrders(ids: string[], symbol?: Str, params?: {}): Promise<Order[]>;
82
82
  cancelAllOrdersAfter(timeout: Int, params?: {}): Promise<any>;
83
83
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
84
84
  fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
package/js/src/bingx.js CHANGED
@@ -2736,7 +2736,9 @@ export default class bingx extends Exchange {
2736
2736
  else {
2737
2737
  throw new BadRequest(this.id + ' cancelAllOrders is only supported for spot and swap markets.');
2738
2738
  }
2739
- return response;
2739
+ const data = this.safeDict(response, 'data', {});
2740
+ const orders = this.safeList2(data, 'success', 'orders', []);
2741
+ return this.parseOrders(orders);
2740
2742
  }
2741
2743
  async cancelOrders(ids, symbol = undefined, params = {}) {
2742
2744
  /**
@@ -2777,6 +2779,32 @@ export default class bingx extends Exchange {
2777
2779
  const spotReqKey = areClientOrderIds ? 'clientOrderIDs' : 'orderIds';
2778
2780
  request[spotReqKey] = parsedIds.join(',');
2779
2781
  response = await this.spotV1PrivatePostTradeCancelOrders(this.extend(request, params));
2782
+ //
2783
+ // {
2784
+ // "code": 0,
2785
+ // "msg": "",
2786
+ // "debugMsg": "",
2787
+ // "data": {
2788
+ // "orders": [
2789
+ // {
2790
+ // "symbol": "SOL-USDT",
2791
+ // "orderId": 1795970045910614016,
2792
+ // "transactTime": 1717027601111,
2793
+ // "price": "180.25",
2794
+ // "stopPrice": "0",
2795
+ // "origQty": "0.03",
2796
+ // "executedQty": "0",
2797
+ // "cummulativeQuoteQty": "0",
2798
+ // "status": "CANCELED",
2799
+ // "type": "LIMIT",
2800
+ // "side": "SELL",
2801
+ // "clientOrderID": ""
2802
+ // },
2803
+ // ...
2804
+ // ]
2805
+ // }
2806
+ // }
2807
+ //
2780
2808
  }
2781
2809
  else {
2782
2810
  if (areClientOrderIds) {
@@ -2786,37 +2814,39 @@ export default class bingx extends Exchange {
2786
2814
  request['orderIdList'] = parsedIds;
2787
2815
  }
2788
2816
  response = await this.swapV2PrivateDeleteTradeBatchOrders(this.extend(request, params));
2817
+ //
2818
+ // {
2819
+ // "code": 0,
2820
+ // "msg": "",
2821
+ // "data": {
2822
+ // "success": [
2823
+ // {
2824
+ // "symbol": "LINK-USDT",
2825
+ // "orderId": 1597783850786750464,
2826
+ // "side": "BUY",
2827
+ // "positionSide": "LONG",
2828
+ // "type": "TRIGGER_MARKET",
2829
+ // "origQty": "5.0",
2830
+ // "price": "5.5710",
2831
+ // "executedQty": "0.0",
2832
+ // "avgPrice": "0.0000",
2833
+ // "cumQuote": "0",
2834
+ // "stopPrice": "5.0000",
2835
+ // "profit": "0.0000",
2836
+ // "commission": "0.000000",
2837
+ // "status": "CANCELLED",
2838
+ // "time": 1669776330000,
2839
+ // "updateTime": 1672370837000
2840
+ // }
2841
+ // ],
2842
+ // "failed": null
2843
+ // }
2844
+ // }
2845
+ //
2789
2846
  }
2790
- //
2791
- // {
2792
- // "code": 0,
2793
- // "msg": "",
2794
- // "data": {
2795
- // "success": [
2796
- // {
2797
- // "symbol": "LINK-USDT",
2798
- // "orderId": 1597783850786750464,
2799
- // "side": "BUY",
2800
- // "positionSide": "LONG",
2801
- // "type": "TRIGGER_MARKET",
2802
- // "origQty": "5.0",
2803
- // "price": "5.5710",
2804
- // "executedQty": "0.0",
2805
- // "avgPrice": "0.0000",
2806
- // "cumQuote": "0",
2807
- // "stopPrice": "5.0000",
2808
- // "profit": "0.0000",
2809
- // "commission": "0.000000",
2810
- // "status": "CANCELLED",
2811
- // "time": 1669776330000,
2812
- // "updateTime": 1672370837000
2813
- // }
2814
- // ],
2815
- // "failed": null
2816
- // }
2817
- // }
2818
- //
2819
- return response;
2847
+ const data = this.safeDict(response, 'data', {});
2848
+ const success = this.safeList2(data, 'success', 'orders', []);
2849
+ return this.parseOrders(success);
2820
2850
  }
2821
2851
  async cancelAllOrdersAfter(timeout, params = {}) {
2822
2852
  /**
@@ -21,7 +21,7 @@ export default class bitbank extends Exchange {
21
21
  parseOrderStatus(status: Str): string;
22
22
  parseOrder(order: Dict, market?: Market): Order;
23
23
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
24
- cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
24
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
25
25
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
26
26
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
27
27
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
package/js/src/bitbank.js CHANGED
@@ -688,8 +688,31 @@ export default class bitbank extends Exchange {
688
688
  'pair': market['id'],
689
689
  };
690
690
  const response = await this.privatePostUserSpotCancelOrder(this.extend(request, params));
691
+ //
692
+ // {
693
+ // "success": 1,
694
+ // "data": {
695
+ // "order_id": 0,
696
+ // "pair": "string",
697
+ // "side": "string",
698
+ // "type": "string",
699
+ // "start_amount": "string",
700
+ // "remaining_amount": "string",
701
+ // "executed_amount": "string",
702
+ // "price": "string",
703
+ // "post_only": false,
704
+ // "average_price": "string",
705
+ // "ordered_at": 0,
706
+ // "expire_at": 0,
707
+ // "canceled_at": 0,
708
+ // "triggered_at": 0,
709
+ // "trigger_price": "string",
710
+ // "status": "string"
711
+ // }
712
+ // }
713
+ //
691
714
  const data = this.safeValue(response, 'data');
692
- return data;
715
+ return this.parseOrder(data);
693
716
  }
694
717
  async fetchOrder(id, symbol = undefined, params = {}) {
695
718
  /**
@@ -708,6 +731,28 @@ export default class bitbank extends Exchange {
708
731
  'pair': market['id'],
709
732
  };
710
733
  const response = await this.privateGetUserSpotOrder(this.extend(request, params));
734
+ //
735
+ // {
736
+ // "success": 1,
737
+ // "data": {
738
+ // "order_id": 0,
739
+ // "pair": "string",
740
+ // "side": "string",
741
+ // "type": "string",
742
+ // "start_amount": "string",
743
+ // "remaining_amount": "string",
744
+ // "executed_amount": "string",
745
+ // "price": "string",
746
+ // "post_only": false,
747
+ // "average_price": "string",
748
+ // "ordered_at": 0,
749
+ // "expire_at": 0,
750
+ // "triggered_at": 0,
751
+ // "triger_price": "string",
752
+ // "status": "string"
753
+ // }
754
+ // }
755
+ //
711
756
  const data = this.safeDict(response, 'data');
712
757
  return this.parseOrder(data, market);
713
758
  }
package/js/src/bitmart.js CHANGED
@@ -1185,9 +1185,9 @@ export default class bitmart extends Exchange {
1185
1185
  market = this.safeMarket(marketId, market);
1186
1186
  const symbol = market['symbol'];
1187
1187
  const last = this.safeString2(ticker, 'close_24h', 'last_price');
1188
- let percentage = Precise.stringAbs(this.safeString(ticker, 'price_change_percent_24h'));
1188
+ let percentage = this.safeString(ticker, 'price_change_percent_24h');
1189
1189
  if (percentage === undefined) {
1190
- percentage = Precise.stringAbs(Precise.stringMul(this.safeString(ticker, 'fluctuation'), '100'));
1190
+ percentage = Precise.stringMul(this.safeString(ticker, 'fluctuation'), '100');
1191
1191
  }
1192
1192
  let baseVolume = this.safeString(ticker, 'base_volume_24h');
1193
1193
  let quoteVolume = this.safeString(ticker, 'quote_volume_24h');
@@ -1441,13 +1441,13 @@ export default class bitmart extends Exchange {
1441
1441
  //
1442
1442
  // public fetchTrades spot ( amount = count * price )
1443
1443
  //
1444
- // {
1445
- // "amount": "818.94",
1446
- // "order_time": "1637601839035", // ETH/USDT
1447
- // "price": "4221.99",
1448
- // "count": "0.19397",
1449
- // "type": "buy"
1450
- // }
1444
+ // [
1445
+ // "BTC_USDT", // symbol
1446
+ // "1717212457302", // timestamp
1447
+ // "67643.11", // price
1448
+ // "0.00106", // size
1449
+ // "sell" // side
1450
+ // ]
1451
1451
  //
1452
1452
  // spot: fetchMyTrades
1453
1453
  //
@@ -1494,16 +1494,17 @@ export default class bitmart extends Exchange {
1494
1494
  // 'lastTradeID': 6802340762
1495
1495
  // }
1496
1496
  //
1497
- const timestamp = this.safeIntegerN(trade, ['order_time', 'createTime', 'create_time']);
1498
- const isPublicTrade = ('order_time' in trade);
1497
+ const timestamp = this.safeIntegerN(trade, ['createTime', 'create_time', 1]);
1498
+ const isPublic = this.safeString(trade, 0);
1499
+ const isPublicTrade = (isPublic !== undefined);
1499
1500
  let amount = undefined;
1500
1501
  let cost = undefined;
1501
1502
  let type = undefined;
1502
1503
  let side = undefined;
1503
1504
  if (isPublicTrade) {
1504
- amount = this.safeString(trade, 'count');
1505
+ amount = this.safeString2(trade, 'count', 3);
1505
1506
  cost = this.safeString(trade, 'amount');
1506
- side = this.safeString(trade, 'type');
1507
+ side = this.safeString2(trade, 'type', 4);
1507
1508
  }
1508
1509
  else {
1509
1510
  amount = this.safeStringN(trade, ['size', 'vol', 'fillQty']);
@@ -1511,7 +1512,7 @@ export default class bitmart extends Exchange {
1511
1512
  type = this.safeString(trade, 'type');
1512
1513
  side = this.parseOrderSide(this.safeString(trade, 'side'));
1513
1514
  }
1514
- const marketId = this.safeString(trade, 'symbol');
1515
+ const marketId = this.safeString2(trade, 'symbol', 0);
1515
1516
  market = this.safeMarket(marketId, market);
1516
1517
  const feeCostString = this.safeString2(trade, 'fee', 'paid_fees');
1517
1518
  let fee = undefined;
@@ -1535,7 +1536,7 @@ export default class bitmart extends Exchange {
1535
1536
  'symbol': market['symbol'],
1536
1537
  'type': type,
1537
1538
  'side': side,
1538
- 'price': this.safeString2(trade, 'price', 'fillPrice'),
1539
+ 'price': this.safeStringN(trade, ['price', 'fillPrice', 2]),
1539
1540
  'amount': amount,
1540
1541
  'cost': cost,
1541
1542
  'takerOrMaker': this.safeStringLower2(trade, 'tradeRole', 'exec_type'),
@@ -1546,10 +1547,11 @@ export default class bitmart extends Exchange {
1546
1547
  /**
1547
1548
  * @method
1548
1549
  * @name bitmart#fetchTrades
1549
- * @description get the list of most recent trades for a particular symbol
1550
+ * @description get a list of the most recent trades for a particular symbol
1551
+ * @see https://developer-pro.bitmart.com/en/spot/#get-recent-trades-v3
1550
1552
  * @param {string} symbol unified symbol of the market to fetch trades for
1551
1553
  * @param {int} [since] timestamp in ms of the earliest trade to fetch
1552
- * @param {int} [limit] the maximum amount of trades to fetch
1554
+ * @param {int} [limit] the maximum number of trades to fetch
1553
1555
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1554
1556
  * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
1555
1557
  */
@@ -1561,30 +1563,28 @@ export default class bitmart extends Exchange {
1561
1563
  const request = {
1562
1564
  'symbol': market['id'],
1563
1565
  };
1564
- const response = await this.publicGetSpotV1SymbolsTrades(this.extend(request, params));
1565
- //
1566
- // spot
1566
+ if (limit !== undefined) {
1567
+ request['limit'] = limit;
1568
+ }
1569
+ const response = await this.publicGetSpotQuotationV3Trades(this.extend(request, params));
1567
1570
  //
1568
1571
  // {
1569
- // "message":"OK",
1570
- // "code":1000,
1571
- // "trace":"222d74c0-8f6d-49d9-8e1b-98118c50eeba",
1572
- // "data":{
1573
- // "trades":[
1574
- // {
1575
- // "amount":"0.005703",
1576
- // "order_time":1599652045394,
1577
- // "price":"0.034029",
1578
- // "count":"0.1676",
1579
- // "type":"sell"
1580
- // },
1581
- // ]
1582
- // }
1572
+ // "code": 1000,
1573
+ // "trace": "58031f9a5bd.111.17117",
1574
+ // "message": "success",
1575
+ // "data": [
1576
+ // [
1577
+ // "BTC_USDT",
1578
+ // "1717212457302",
1579
+ // "67643.11",
1580
+ // "0.00106",
1581
+ // "sell"
1582
+ // ],
1583
+ // ]
1583
1584
  // }
1584
1585
  //
1585
- const data = this.safeValue(response, 'data', {});
1586
- const trades = this.safeList(data, 'trades', []);
1587
- return this.parseTrades(trades, market, since, limit);
1586
+ const data = this.safeList(response, 'data', []);
1587
+ return this.parseTrades(data, market, since, limit);
1588
1588
  }
1589
1589
  parseOHLCV(ohlcv, market = undefined) {
1590
1590
  //
package/js/src/bl3p.d.ts CHANGED
@@ -16,7 +16,7 @@ export default class bl3p extends Exchange {
16
16
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
17
17
  fetchTradingFees(params?: {}): Promise<TradingFees>;
18
18
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<import("./base/types.js").Order>;
19
- cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
19
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<import("./base/types.js").Order>;
20
20
  createDepositAddress(code: string, params?: {}): Promise<{
21
21
  info: any;
22
22
  currency: string;
package/js/src/bl3p.js CHANGED
@@ -431,7 +431,13 @@ export default class bl3p extends Exchange {
431
431
  const request = {
432
432
  'order_id': id,
433
433
  };
434
- return await this.privatePostMarketMoneyOrderCancel(this.extend(request, params));
434
+ const response = await this.privatePostMarketMoneyOrderCancel(this.extend(request, params));
435
+ //
436
+ // "success"
437
+ //
438
+ return this.safeOrder({
439
+ 'info': response,
440
+ });
435
441
  }
436
442
  async createDepositAddress(code, params = {}) {
437
443
  /**
@@ -26,7 +26,7 @@ export default class btcalpha extends Exchange {
26
26
  parseOrderStatus(status: Str): string;
27
27
  parseOrder(order: Dict, market?: Market): Order;
28
28
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
29
- cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
29
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
30
30
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
31
31
  fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
32
32
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
@@ -706,7 +706,7 @@ export default class btcalpha extends Exchange {
706
706
  const filled = this.safeString(order, 'amount_filled');
707
707
  const amount = this.safeString(order, 'amount_original');
708
708
  const status = this.parseOrderStatus(this.safeString(order, 'status'));
709
- const id = this.safeString2(order, 'oid', 'id');
709
+ const id = this.safeStringN(order, ['oid', 'id', 'order']);
710
710
  const trades = this.safeValue(order, 'trades');
711
711
  const side = this.safeString2(order, 'my_side', 'type');
712
712
  return this.safeOrder({
@@ -784,7 +784,12 @@ export default class btcalpha extends Exchange {
784
784
  'order': id,
785
785
  };
786
786
  const response = await this.privatePostOrderCancel(this.extend(request, params));
787
- return response;
787
+ //
788
+ // {
789
+ // "order": 63568
790
+ // }
791
+ //
792
+ return this.parseOrder(response);
788
793
  }
789
794
  async fetchOrder(id, symbol = undefined, params = {}) {
790
795
  /**
@@ -20,7 +20,7 @@ export default class btcturk extends Exchange {
20
20
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
21
21
  parseOHLCVs(ohlcvs: any, market?: any, timeframe?: string, since?: Int, limit?: Int): OHLCV[];
22
22
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
23
- cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
23
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
24
24
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
25
25
  fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
26
26
  parseOrderStatus(status: Str): string;
package/js/src/btcturk.js CHANGED
@@ -714,7 +714,17 @@ export default class btcturk extends Exchange {
714
714
  const request = {
715
715
  'id': id,
716
716
  };
717
- return await this.privateDeleteOrder(this.extend(request, params));
717
+ const response = await this.privateDeleteOrder(this.extend(request, params));
718
+ //
719
+ // {
720
+ // "success": true,
721
+ // "message": "SUCCESS",
722
+ // "code": 0
723
+ // }
724
+ //
725
+ return this.safeOrder({
726
+ 'info': response,
727
+ });
718
728
  }
719
729
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
720
730
  /**
@@ -504,10 +504,10 @@ export default class coinbase extends Exchange {
504
504
  let paginate = false;
505
505
  [paginate, params] = this.handleOptionAndParams(params, 'fetchAccounts', 'paginate');
506
506
  if (paginate) {
507
- return await this.fetchPaginatedCallCursor('fetchAccounts', undefined, undefined, undefined, params, 'cursor', 'cursor', undefined, 100);
507
+ return await this.fetchPaginatedCallCursor('fetchAccounts', undefined, undefined, undefined, params, 'cursor', 'cursor', undefined, 250);
508
508
  }
509
509
  const request = {
510
- 'limit': 100,
510
+ 'limit': 250,
511
511
  };
512
512
  const response = await this.v3PrivateGetBrokerageAccounts(this.extend(request, params));
513
513
  //
@@ -18,7 +18,7 @@ export default class coincheck extends Exchange {
18
18
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
19
19
  fetchTradingFees(params?: {}): Promise<TradingFees>;
20
20
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
21
- cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
21
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
22
22
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
23
23
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
24
24
  parseTransactionStatus(status: Str): string;
@@ -626,7 +626,14 @@ export default class coincheck extends Exchange {
626
626
  const request = {
627
627
  'id': id,
628
628
  };
629
- return await this.privateDeleteExchangeOrdersId(this.extend(request, params));
629
+ const response = await this.privateDeleteExchangeOrdersId(this.extend(request, params));
630
+ //
631
+ // {
632
+ // "success": true,
633
+ // "id": 12345
634
+ // }
635
+ //
636
+ return this.parseOrder(response);
630
637
  }
631
638
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
632
639
  /**
@@ -36,7 +36,7 @@ export default class coinex extends Exchange {
36
36
  cancelOrders(ids: any, symbol?: Str, params?: {}): Promise<any[]>;
37
37
  editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: Num, price?: Num, params?: {}): Promise<Order>;
38
38
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
39
- cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
39
+ cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
40
40
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
41
41
  fetchOrdersByStatus(status: any, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
42
42
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
package/js/src/coinex.js CHANGED
@@ -1676,17 +1676,16 @@ export default class coinex extends Exchange {
1676
1676
  [marketType, params] = this.handleMarketTypeAndParams('fetchBalance', undefined, params);
1677
1677
  let marginMode = undefined;
1678
1678
  [marginMode, params] = this.handleMarginModeAndParams('fetchBalance', params);
1679
- marketType = (marginMode !== undefined) ? 'margin' : marketType;
1680
- params = this.omit(params, 'margin');
1681
- if (marketType === 'margin') {
1682
- return await this.fetchMarginBalance(params);
1683
- }
1684
- else if (marketType === 'swap') {
1679
+ const isMargin = (marginMode !== undefined) || (marketType === 'margin');
1680
+ if (marketType === 'swap') {
1685
1681
  return await this.fetchSwapBalance(params);
1686
1682
  }
1687
1683
  else if (marketType === 'financial') {
1688
1684
  return await this.fetchFinancialBalance(params);
1689
1685
  }
1686
+ else if (isMargin) {
1687
+ return await this.fetchMarginBalance(params);
1688
+ }
1690
1689
  else {
1691
1690
  return await this.fetchSpotBalance(params);
1692
1691
  }
@@ -3233,7 +3232,11 @@ export default class coinex extends Exchange {
3233
3232
  // {"code":0,"data":{},"message":"OK"}
3234
3233
  //
3235
3234
  }
3236
- return response;
3235
+ return [
3236
+ this.safeOrder({
3237
+ 'info': response,
3238
+ }),
3239
+ ];
3237
3240
  }
3238
3241
  async fetchOrder(id, symbol = undefined, params = {}) {
3239
3242
  /**
package/js/src/htx.d.ts CHANGED
@@ -238,5 +238,6 @@ export default class htx extends Exchange {
238
238
  };
239
239
  fetchLiquidations(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Liquidation[]>;
240
240
  parseLiquidation(liquidation: any, market?: Market): import("./base/types.js").Liquidation;
241
+ closePosition(symbol: string, side?: OrderSide, params?: {}): Promise<Order>;
241
242
  setPositionMode(hedged: boolean, symbol?: Str, params?: {}): Promise<any>;
242
243
  }