ccxt 4.2.55 → 4.2.56

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/dist/cjs/ccxt.js CHANGED
@@ -176,7 +176,7 @@ var woo$1 = require('./src/pro/woo.js');
176
176
 
177
177
  //-----------------------------------------------------------------------------
178
178
  // this is updated by vss.js when building
179
- const version = '4.2.55';
179
+ const version = '4.2.56';
180
180
  Exchange["default"].ccxtVersion = version;
181
181
  const exchanges = {
182
182
  'ace': ace,
@@ -1399,7 +1399,9 @@ class bingx extends bingx$1 {
1399
1399
  if (symbols !== undefined) {
1400
1400
  symbols = this.marketSymbols(symbols);
1401
1401
  const firstSymbol = this.safeString(symbols, 0);
1402
- market = this.market(firstSymbol);
1402
+ if (firstSymbol !== undefined) {
1403
+ market = this.market(firstSymbol);
1404
+ }
1403
1405
  }
1404
1406
  let type = undefined;
1405
1407
  [type, params] = this.handleMarketTypeAndParams('fetchTickers', market, params);
@@ -89,7 +89,10 @@ class bitget extends bitget$1 {
89
89
  }
90
90
  getInstType(market, params = {}) {
91
91
  let instType = undefined;
92
- if ((market['swap']) || (market['future'])) {
92
+ if (market === undefined) {
93
+ [instType, params] = this.handleProductTypeAndParams(undefined, params);
94
+ }
95
+ else if ((market['swap']) || (market['future'])) {
93
96
  [instType, params] = this.handleProductTypeAndParams(market, params);
94
97
  }
95
98
  else {
@@ -666,9 +669,12 @@ class bitget extends bitget$1 {
666
669
  stored = new Cache.ArrayCache(limit);
667
670
  this.trades[symbol] = stored;
668
671
  }
669
- const data = this.safeValue(message, 'data', []);
670
- for (let j = 0; j < data.length; j++) {
671
- const rawTrade = data[j];
672
+ const data = this.safeList(message, 'data', []);
673
+ const length = data.length;
674
+ const maxLength = Math.max(length - 1, 0);
675
+ // fix chronological order by reversing
676
+ for (let i = maxLength; i >= 0; i--) {
677
+ const rawTrade = data[i];
672
678
  const parsed = this.parseWsTrade(rawTrade, market);
673
679
  stored.append(parsed);
674
680
  }
@@ -685,22 +691,71 @@ class bitget extends bitget$1 {
685
691
  // "tradeId": "1116461060594286593"
686
692
  // }
687
693
  //
688
- market = this.safeMarket(undefined, market);
689
- const timestamp = this.safeInteger(trade, 'ts');
694
+ // order with trade in it
695
+ // {
696
+ // accBaseVolume: '0.1',
697
+ // baseVolume: '0.1',
698
+ // cTime: '1709221342922',
699
+ // clientOid: '1147122943507734528',
700
+ // enterPointSource: 'API',
701
+ // feeDetail: [Array],
702
+ // fillFee: '-0.0049578',
703
+ // fillFeeCoin: 'USDT',
704
+ // fillNotionalUsd: '8.263',
705
+ // fillPrice: '82.63',
706
+ // fillTime: '1709221342986',
707
+ // force: 'gtc',
708
+ // instId: 'LTCUSDT',
709
+ // leverage: '10',
710
+ // marginCoin: 'USDT',
711
+ // marginMode: 'crossed',
712
+ // notionalUsd: '8.268',
713
+ // orderId: '1147122943499345921',
714
+ // orderType: 'market',
715
+ // pnl: '0',
716
+ // posMode: 'hedge_mode',
717
+ // posSide: 'short',
718
+ // price: '0',
719
+ // priceAvg: '82.63',
720
+ // reduceOnly: 'no',
721
+ // side: 'sell',
722
+ // size: '0.1',
723
+ // status: 'filled',
724
+ // tradeId: '1147122943772479563',
725
+ // tradeScope: 'T',
726
+ // tradeSide: 'open',
727
+ // uTime: '1709221342986'
728
+ // }
729
+ //
730
+ const instId = this.safeString(trade, 'instId');
731
+ if (market === undefined) {
732
+ market = this.safeMarket(instId, undefined, undefined, 'contract');
733
+ }
734
+ const timestamp = this.safeIntegerN(trade, ['uTime', 'cTime', 'ts']);
735
+ const feeCost = this.safeString(trade, 'fillFee');
736
+ let fee = undefined;
737
+ if (feeCost !== undefined) {
738
+ const feeCurrencyId = this.safeString(trade, 'fillFeeCoin');
739
+ const feeCurrencyCode = this.safeCurrencyCode(feeCurrencyId);
740
+ fee = {
741
+ 'cost': Precise["default"].stringAbs(feeCost),
742
+ 'currency': feeCurrencyCode,
743
+ };
744
+ }
690
745
  return this.safeTrade({
691
746
  'info': trade,
692
747
  'id': this.safeString(trade, 'tradeId'),
693
- 'order': undefined,
748
+ 'order': this.safeString(trade, 'orderId'),
694
749
  'timestamp': timestamp,
695
750
  'datetime': this.iso8601(timestamp),
696
751
  'symbol': market['symbol'],
697
752
  'type': undefined,
698
753
  'side': this.safeString(trade, 'side'),
699
754
  'takerOrMaker': undefined,
700
- 'price': this.safeString(trade, 'price'),
755
+ 'price': this.safeString2(trade, 'priceAvg', 'price'),
701
756
  'amount': this.safeString(trade, 'size'),
702
- 'cost': undefined,
703
- 'fee': undefined,
757
+ 'cost': this.safeString(trade, 'fillNotionalUsd'),
758
+ 'fee': fee,
704
759
  }, market);
705
760
  }
706
761
  async watchPositions(symbols = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1105,6 +1160,9 @@ class bitget extends bitget$1 {
1105
1160
  const marketSymbols = {};
1106
1161
  for (let i = 0; i < data.length; i++) {
1107
1162
  const order = data[i];
1163
+ if ('tradeId' in order) {
1164
+ this.handleMyTrades(client, order);
1165
+ }
1108
1166
  const marketId = this.safeString(order, 'instId');
1109
1167
  const market = this.safeMarket(marketId, undefined, undefined, marketType);
1110
1168
  const parsed = this.parseWsOrder(order, market);
@@ -1370,7 +1428,7 @@ class bitget extends bitget$1 {
1370
1428
  this.myTrades = new Cache.ArrayCache(limit);
1371
1429
  }
1372
1430
  const stored = this.myTrades;
1373
- const parsed = this.parseWsMyTrade(message);
1431
+ const parsed = this.parseWsTrade(message);
1374
1432
  stored.append(parsed);
1375
1433
  const symbol = parsed['symbol'];
1376
1434
  const messageHash = 'myTrades';
@@ -1378,68 +1436,6 @@ class bitget extends bitget$1 {
1378
1436
  const symbolSpecificMessageHash = 'myTrades:' + symbol;
1379
1437
  client.resolve(stored, symbolSpecificMessageHash);
1380
1438
  }
1381
- parseWsMyTrade(trade, market = undefined) {
1382
- //
1383
- // order and trade mixin (contract)
1384
- //
1385
- // {
1386
- // "accBaseVolume": "0",
1387
- // "cTime": "1701920553759",
1388
- // "clientOid": "1116501214318198793",
1389
- // "enterPointSource": "WEB",
1390
- // "feeDetail": [{
1391
- // "feeCoin": "USDT",
1392
- // "fee": "-0.162003"
1393
- // }],
1394
- // "force": "gtc",
1395
- // "instId": "BTCUSDT",
1396
- // "leverage": "20",
1397
- // "marginCoin": "USDT",
1398
- // "marginMode": "isolated",
1399
- // "notionalUsd": "105",
1400
- // "orderId": "1116501214293032964",
1401
- // "orderType": "limit",
1402
- // "posMode": "hedge_mode",
1403
- // "posSide": "long",
1404
- // "price": "35000",
1405
- // "reduceOnly": "no",
1406
- // "side": "buy",
1407
- // "size": "0.003",
1408
- // "status": "canceled",
1409
- // "tradeSide": "open",
1410
- // "uTime": "1701920595866"
1411
- // }
1412
- //
1413
- const marketId = this.safeString(trade, 'instId');
1414
- market = this.safeMarket(marketId, market, undefined, 'contract');
1415
- const timestamp = this.safeInteger2(trade, 'uTime', 'cTime');
1416
- const orderFee = this.safeValue(trade, 'feeDetail', []);
1417
- const fee = this.safeValue(orderFee, 0);
1418
- const feeAmount = this.safeString(fee, 'fee');
1419
- let feeObject = undefined;
1420
- if (feeAmount !== undefined) {
1421
- const feeCurrency = this.safeString(fee, 'feeCoin');
1422
- feeObject = {
1423
- 'cost': Precise["default"].stringAbs(feeAmount),
1424
- 'currency': this.safeCurrencyCode(feeCurrency),
1425
- };
1426
- }
1427
- return this.safeTrade({
1428
- 'info': trade,
1429
- 'id': undefined,
1430
- 'order': this.safeString(trade, 'orderId'),
1431
- 'timestamp': timestamp,
1432
- 'datetime': this.iso8601(timestamp),
1433
- 'symbol': market['symbol'],
1434
- 'type': this.safeString(trade, 'orderType'),
1435
- 'side': this.safeString(trade, 'side'),
1436
- 'takerOrMaker': undefined,
1437
- 'price': this.safeString(trade, 'price'),
1438
- 'amount': this.safeString(trade, 'size'),
1439
- 'cost': this.safeString(trade, 'notionalUsd'),
1440
- 'fee': feeObject,
1441
- }, market);
1442
- }
1443
1439
  async watchBalance(params = {}) {
1444
1440
  /**
1445
1441
  * @method
@@ -328,15 +328,29 @@ class bybit extends bybit$1 {
328
328
  // "price24hPcnt": "-0.0388"
329
329
  // }
330
330
  // }
331
+ // swap delta
332
+ // {
333
+ // "topic":"tickers.AAVEUSDT",
334
+ // "type":"delta",
335
+ // "data":{
336
+ // "symbol":"AAVEUSDT",
337
+ // "bid1Price":"112.89",
338
+ // "bid1Size":"2.12",
339
+ // "ask1Price":"112.90",
340
+ // "ask1Size":"5.02"
341
+ // },
342
+ // "cs":78039939929,
343
+ // "ts":1709210212704
344
+ // }
331
345
  //
332
346
  const topic = this.safeString(message, 'topic', '');
333
347
  const updateType = this.safeString(message, 'type', '');
334
- const data = this.safeValue(message, 'data', {});
335
- const isSpot = this.safeString(data, 'fundingRate') === undefined;
348
+ const data = this.safeDict(message, 'data', {});
349
+ const isSpot = this.safeString(data, 'usdIndexPrice') !== undefined;
336
350
  const type = isSpot ? 'spot' : 'contract';
337
351
  let symbol = undefined;
338
352
  let parsed = undefined;
339
- if ((updateType === 'snapshot') || isSpot) {
353
+ if ((updateType === 'snapshot')) {
340
354
  parsed = this.parseTicker(data);
341
355
  symbol = parsed['symbol'];
342
356
  }
@@ -347,8 +361,8 @@ class bybit extends bybit$1 {
347
361
  const market = this.safeMarket(marketId, undefined, undefined, type);
348
362
  symbol = market['symbol'];
349
363
  // update the info in place
350
- const ticker = this.safeValue(this.tickers, symbol, {});
351
- const rawTicker = this.safeValue(ticker, 'info', {});
364
+ const ticker = this.safeDict(this.tickers, symbol, {});
365
+ const rawTicker = this.safeDict(ticker, 'info', {});
352
366
  const merged = this.extend(rawTicker, data);
353
367
  parsed = this.parseTicker(merged);
354
368
  }
@@ -90,7 +90,7 @@ class currencycom extends currencycom$1 {
90
90
  // "accountId": 5470310874305732,
91
91
  // "collateralCurrency": true,
92
92
  // "asset": "USD",
93
- // "free": 47.82576735,
93
+ // "free": 47.82576736,
94
94
  // "locked": 1.187925,
95
95
  // "default": true
96
96
  // },
@@ -460,6 +460,7 @@ class currencycom extends currencycom$1 {
460
460
  orderbook = this.orderBook();
461
461
  }
462
462
  orderbook.reset({
463
+ 'symbol': symbol,
463
464
  'timestamp': timestamp,
464
465
  'datetime': this.iso8601(timestamp),
465
466
  });
@@ -355,7 +355,7 @@ class kraken extends kraken$1 {
355
355
  // [
356
356
  // 0, // channelID
357
357
  // [ // price volume time side type misc
358
- // [ "5541.20000", "0.15850568", "1534614057.321597", "s", "l", "" ],
358
+ // [ "5541.20000", "0.15850568", "1534614057.321596", "s", "l", "" ],
359
359
  // [ "6060.00000", "0.02455000", "1534614057.324998", "b", "l", "" ],
360
360
  // ],
361
361
  // "trade",
@@ -616,7 +616,7 @@ class upbit extends upbit$1 {
616
616
  // "trade_time": "104543",
617
617
  // "trade_date_kst": "20181122",
618
618
  // "trade_time_kst": "194543",
619
- // "trade_timestamp": 1542883543097,
619
+ // "trade_timestamp": 1542883543096,
620
620
  // "opening_price": 0.02976455,
621
621
  // "high_price": 0.02992577,
622
622
  // "low_price": 0.02934283,
@@ -97,6 +97,7 @@ class woo extends woo$1 {
97
97
  'reduceMargin': false,
98
98
  'setLeverage': true,
99
99
  'setMargin': false,
100
+ 'setPositionMode': true,
100
101
  'transfer': true,
101
102
  'withdraw': true, // exchange have that endpoint disabled atm, but was once implemented in ccxt per old docs: https://kronosresearch.github.io/wootrade-documents/#token-withdraw
102
103
  },
@@ -171,10 +172,16 @@ class woo extends woo$1 {
171
172
  'client/trade/{tid}': 1,
172
173
  'order/{oid}/trades': 1,
173
174
  'client/trades': 1,
175
+ 'client/hist_trades': 1,
176
+ 'staking/yield_history': 1,
177
+ 'client/holding': 1,
174
178
  'asset/deposit': 10,
175
179
  'asset/history': 60,
176
180
  'sub_account/all': 60,
177
181
  'sub_account/assets': 60,
182
+ 'sub_account/asset_detail': 60,
183
+ 'sub_account/ip_restriction': 10,
184
+ 'asset/main_sub_transfer_history': 30,
178
185
  'token_interest': 60,
179
186
  'token_interest/{token}': 60,
180
187
  'interest/history': 60,
@@ -187,9 +194,12 @@ class woo extends woo$1 {
187
194
  'post': {
188
195
  'order': 5,
189
196
  'asset/main_sub_transfer': 30,
197
+ 'asset/ltv': 30,
190
198
  'asset/withdraw': 30,
199
+ 'asset/internal_withdraw': 30,
191
200
  'interest/repay': 60,
192
201
  'client/account_mode': 120,
202
+ 'client/position_mode': 5,
193
203
  'client/leverage': 120,
194
204
  },
195
205
  'delete': {
@@ -2611,6 +2621,37 @@ class woo extends woo$1 {
2611
2621
  const sorted = this.sortBy(rates, 'timestamp');
2612
2622
  return this.filterBySymbolSinceLimit(sorted, symbol, since, limit);
2613
2623
  }
2624
+ async setPositionMode(hedged, symbol = undefined, params = {}) {
2625
+ /**
2626
+ * @method
2627
+ * @name woo#setPositionMode
2628
+ * @description set hedged to true or false for a market
2629
+ * @see https://docs.woo.org/#update-position-mode
2630
+ * @param {bool} hedged set to true to use HEDGE_MODE, false for ONE_WAY
2631
+ * @param {string} symbol not used by woo setPositionMode
2632
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2633
+ * @returns {object} response from the exchange
2634
+ */
2635
+ let hedgeMode = undefined;
2636
+ if (hedged) {
2637
+ hedgeMode = 'HEDGE_MODE';
2638
+ }
2639
+ else {
2640
+ hedgeMode = 'ONE_WAY';
2641
+ }
2642
+ const request = {
2643
+ 'position_mode': hedgeMode,
2644
+ };
2645
+ const response = await this.v1PrivatePostClientPositionMode(this.extend(request, params));
2646
+ //
2647
+ // {
2648
+ // "success": true,
2649
+ // "data": {},
2650
+ // "timestamp": "1709195608551"
2651
+ // }
2652
+ //
2653
+ return response;
2654
+ }
2614
2655
  async fetchLeverage(symbol, params = {}) {
2615
2656
  await this.loadMarkets();
2616
2657
  const response = await this.v3PrivateGetAccountinfo(params);
package/js/ccxt.d.ts CHANGED
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
4
4
  import * as errors from './src/base/errors.js';
5
5
  import type { Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation, FundingHistory, MarginMode, Greeks } from './src/base/types.js';
6
6
  import { BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange } from './src/base/errors.js';
7
- declare const version = "4.2.54";
7
+ declare const version = "4.2.55";
8
8
  import ace from './src/ace.js';
9
9
  import alpaca from './src/alpaca.js';
10
10
  import ascendex from './src/ascendex.js';
package/js/ccxt.js CHANGED
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
38
38
  import { BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange } from './src/base/errors.js';
39
39
  //-----------------------------------------------------------------------------
40
40
  // this is updated by vss.js when building
41
- const version = '4.2.55';
41
+ const version = '4.2.56';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import ace from './src/ace.js';
@@ -23,10 +23,16 @@ interface Exchange {
23
23
  v1PrivateGetClientTradeTid(params?: {}): Promise<implicitReturnType>;
24
24
  v1PrivateGetOrderOidTrades(params?: {}): Promise<implicitReturnType>;
25
25
  v1PrivateGetClientTrades(params?: {}): Promise<implicitReturnType>;
26
+ v1PrivateGetClientHistTrades(params?: {}): Promise<implicitReturnType>;
27
+ v1PrivateGetStakingYieldHistory(params?: {}): Promise<implicitReturnType>;
28
+ v1PrivateGetClientHolding(params?: {}): Promise<implicitReturnType>;
26
29
  v1PrivateGetAssetDeposit(params?: {}): Promise<implicitReturnType>;
27
30
  v1PrivateGetAssetHistory(params?: {}): Promise<implicitReturnType>;
28
31
  v1PrivateGetSubAccountAll(params?: {}): Promise<implicitReturnType>;
29
32
  v1PrivateGetSubAccountAssets(params?: {}): Promise<implicitReturnType>;
33
+ v1PrivateGetSubAccountAssetDetail(params?: {}): Promise<implicitReturnType>;
34
+ v1PrivateGetSubAccountIpRestriction(params?: {}): Promise<implicitReturnType>;
35
+ v1PrivateGetAssetMainSubTransferHistory(params?: {}): Promise<implicitReturnType>;
30
36
  v1PrivateGetTokenInterest(params?: {}): Promise<implicitReturnType>;
31
37
  v1PrivateGetTokenInterestToken(params?: {}): Promise<implicitReturnType>;
32
38
  v1PrivateGetInterestHistory(params?: {}): Promise<implicitReturnType>;
@@ -37,9 +43,12 @@ interface Exchange {
37
43
  v1PrivateGetClientTransactionHistory(params?: {}): Promise<implicitReturnType>;
38
44
  v1PrivatePostOrder(params?: {}): Promise<implicitReturnType>;
39
45
  v1PrivatePostAssetMainSubTransfer(params?: {}): Promise<implicitReturnType>;
46
+ v1PrivatePostAssetLtv(params?: {}): Promise<implicitReturnType>;
40
47
  v1PrivatePostAssetWithdraw(params?: {}): Promise<implicitReturnType>;
48
+ v1PrivatePostAssetInternalWithdraw(params?: {}): Promise<implicitReturnType>;
41
49
  v1PrivatePostInterestRepay(params?: {}): Promise<implicitReturnType>;
42
50
  v1PrivatePostClientAccountMode(params?: {}): Promise<implicitReturnType>;
51
+ v1PrivatePostClientPositionMode(params?: {}): Promise<implicitReturnType>;
43
52
  v1PrivatePostClientLeverage(params?: {}): Promise<implicitReturnType>;
44
53
  v1PrivateDeleteOrder(params?: {}): Promise<implicitReturnType>;
45
54
  v1PrivateDeleteClientOrder(params?: {}): Promise<implicitReturnType>;
@@ -636,7 +636,7 @@ export default class Exchange {
636
636
  filterByLimit(array: object[], limit?: Int, key?: IndexType, fromStart?: boolean): any;
637
637
  filterBySinceLimit(array: object[], since?: Int, limit?: Int, key?: IndexType, tail?: boolean): any;
638
638
  filterByValueSinceLimit(array: object[], field: IndexType, value?: any, since?: Int, limit?: Int, key?: string, tail?: boolean): any;
639
- setSandboxMode(enabled: any): void;
639
+ setSandboxMode(enabled: boolean): void;
640
640
  sign(path: any, api?: any, method?: string, params?: {}, headers?: any, body?: any): {};
641
641
  fetchAccounts(params?: {}): Promise<{}>;
642
642
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
@@ -11,8 +11,8 @@ export declare type SubType = 'linear' | 'inverse' | undefined;
11
11
  export interface Dictionary<T> {
12
12
  [key: string]: T;
13
13
  }
14
- export declare type Dict = Dictionary<any>;
15
- export declare type List = Array<any>;
14
+ export declare type Dict = Dictionary<any> | undefined;
15
+ export declare type List = Array<any> | undefined;
16
16
  /** Request parameters */
17
17
  export interface MinMax {
18
18
  min: Num;
package/js/src/bingx.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bingx.js';
2
- import type { TransferEntry, Int, OrderSide, OHLCV, FundingRateHistory, Order, OrderType, OrderRequest, Str, Trade, Balances, Transaction, Ticker, OrderBook, Tickers, Market, Strings, Currency, Position } from './base/types.js';
2
+ import type { TransferEntry, Int, OrderSide, OHLCV, FundingRateHistory, Order, OrderType, OrderRequest, Str, Trade, Balances, Transaction, Ticker, OrderBook, Tickers, Market, Strings, Currency, Position, Dict } from './base/types.js';
3
3
  /**
4
4
  * @class bingx
5
5
  * @augments Exchange
@@ -61,7 +61,7 @@ export default class bingx extends Exchange {
61
61
  parseOpenInterest(interest: any, market?: Market): import("./base/types.js").OpenInterest;
62
62
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
63
63
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
64
- parseTicker(ticker: any, market?: Market): Ticker;
64
+ parseTicker(ticker: Dict, market?: Market): Ticker;
65
65
  fetchBalance(params?: {}): Promise<Balances>;
66
66
  parseBalance(response: any): Balances;
67
67
  fetchPositions(symbols?: Strings, params?: {}): Promise<Position[]>;
@@ -107,7 +107,7 @@ export default class bingx extends Exchange {
107
107
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
108
108
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
109
109
  parseTransaction(transaction: any, currency?: Currency): Transaction;
110
- parseTransactionStatus(status: any): string;
110
+ parseTransactionStatus(status: string): string;
111
111
  setMarginMode(marginMode: string, symbol?: Str, params?: {}): Promise<any>;
112
112
  setMargin(symbol: string, amount: number, params?: {}): Promise<any>;
113
113
  fetchLeverage(symbol: string, params?: {}): Promise<any>;
@@ -145,6 +145,6 @@ export default class bingx extends Exchange {
145
145
  headers: any;
146
146
  };
147
147
  nonce(): number;
148
- setSandboxMode(enable: any): void;
148
+ setSandboxMode(enable: boolean): void;
149
149
  handleErrors(httpCode: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
150
150
  }
package/js/src/bingx.js CHANGED
@@ -1402,7 +1402,9 @@ export default class bingx extends Exchange {
1402
1402
  if (symbols !== undefined) {
1403
1403
  symbols = this.marketSymbols(symbols);
1404
1404
  const firstSymbol = this.safeString(symbols, 0);
1405
- market = this.market(firstSymbol);
1405
+ if (firstSymbol !== undefined) {
1406
+ market = this.market(firstSymbol);
1407
+ }
1406
1408
  }
1407
1409
  let type = undefined;
1408
1410
  [type, params] = this.handleMarketTypeAndParams('fetchTickers', market, params);
@@ -34,7 +34,6 @@ export default class bitget extends bitgetRest {
34
34
  parseWsOrderStatus(status: any): string;
35
35
  watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
36
36
  handleMyTrades(client: Client, message: any): void;
37
- parseWsMyTrade(trade: any, market?: any): Trade;
38
37
  watchBalance(params?: {}): Promise<Balances>;
39
38
  handleBalance(client: Client, message: any): void;
40
39
  watchPublic(messageHash: any, args: any, params?: {}): Promise<any>;