ccxt 4.1.52 → 4.1.53

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 (198) hide show
  1. package/README.md +6 -8
  2. package/dist/ccxt.browser.js +1311 -2712
  3. package/dist/ccxt.browser.min.js +7 -7
  4. package/dist/cjs/ccxt.js +1 -7
  5. package/dist/cjs/src/ace.js +56 -59
  6. package/dist/cjs/src/ascendex.js +1 -2
  7. package/dist/cjs/src/base/Exchange.js +1 -11
  8. package/dist/cjs/src/bingx.js +48 -8
  9. package/dist/cjs/src/bybit.js +2 -11
  10. package/dist/cjs/src/cryptocom.js +1 -0
  11. package/dist/cjs/src/digifinex.js +9 -6
  12. package/dist/cjs/src/lbank.js +2333 -443
  13. package/dist/cjs/src/ndax.js +59 -61
  14. package/dist/cjs/src/novadax.js +57 -59
  15. package/dist/cjs/src/oceanex.js +58 -60
  16. package/dist/cjs/src/okcoin.js +1 -9
  17. package/dist/cjs/src/okx.js +0 -7
  18. package/dist/cjs/src/poloniex.js +55 -57
  19. package/dist/cjs/src/poloniexfutures.js +67 -70
  20. package/dist/cjs/src/pro/bingx.js +18 -11
  21. package/dist/cjs/src/pro/poloniexfutures.js +9 -0
  22. package/dist/cjs/src/probit.js +62 -65
  23. package/dist/cjs/src/timex.js +1 -5
  24. package/dist/cjs/src/upbit.js +56 -58
  25. package/dist/cjs/src/wazirx.js +72 -74
  26. package/dist/cjs/src/whitebit.js +88 -91
  27. package/dist/cjs/src/woo.js +75 -77
  28. package/dist/cjs/src/zaif.js +57 -71
  29. package/dist/cjs/src/zonda.js +67 -70
  30. package/js/ccxt.d.ts +2 -8
  31. package/js/ccxt.js +2 -6
  32. package/js/src/abstract/bybit.d.ts +1 -0
  33. package/js/src/abstract/lbank.d.ts +57 -15
  34. package/js/src/ace.d.ts +8 -7
  35. package/js/src/ace.js +56 -59
  36. package/js/src/alpaca.d.ts +4 -4
  37. package/js/src/ascendex.d.ts +12 -12
  38. package/js/src/ascendex.js +1 -2
  39. package/js/src/base/Exchange.js +1 -11
  40. package/js/src/base/types.d.ts +73 -71
  41. package/js/src/bigone.d.ts +10 -10
  42. package/js/src/binance.d.ts +27 -27
  43. package/js/src/bingx.d.ts +15 -15
  44. package/js/src/bingx.js +48 -8
  45. package/js/src/bit2c.d.ts +5 -5
  46. package/js/src/bitbank.d.ts +5 -5
  47. package/js/src/bitbns.d.ts +7 -7
  48. package/js/src/bitfinex.d.ts +8 -8
  49. package/js/src/bitfinex2.d.ts +12 -12
  50. package/js/src/bitflyer.d.ts +9 -9
  51. package/js/src/bitforex.d.ts +6 -6
  52. package/js/src/bitget.d.ts +24 -24
  53. package/js/src/bithumb.d.ts +4 -4
  54. package/js/src/bitmart.d.ts +21 -21
  55. package/js/src/bitmex.d.ts +14 -14
  56. package/js/src/bitopro.d.ts +12 -12
  57. package/js/src/bitpanda.d.ts +11 -11
  58. package/js/src/bitrue.d.ts +8 -8
  59. package/js/src/bitso.d.ts +11 -11
  60. package/js/src/bitstamp.d.ts +10 -10
  61. package/js/src/bitstamp1.d.ts +4 -4
  62. package/js/src/bittrex.d.ts +14 -14
  63. package/js/src/bitvavo.d.ts +9 -9
  64. package/js/src/bl3p.d.ts +2 -2
  65. package/js/src/blockchaincom.d.ts +13 -13
  66. package/js/src/btcalpha.d.ts +9 -9
  67. package/js/src/btcbox.d.ts +6 -6
  68. package/js/src/btcmarkets.d.ts +12 -12
  69. package/js/src/btcturk.d.ts +5 -5
  70. package/js/src/bybit.d.ts +28 -28
  71. package/js/src/bybit.js +2 -11
  72. package/js/src/cex.d.ts +6 -6
  73. package/js/src/coinbase.d.ts +17 -17
  74. package/js/src/coinbasepro.d.ts +13 -13
  75. package/js/src/coincheck.d.ts +6 -6
  76. package/js/src/coinex.d.ts +18 -18
  77. package/js/src/coinlist.d.ts +14 -14
  78. package/js/src/coinmate.d.ts +7 -7
  79. package/js/src/coinone.d.ts +5 -5
  80. package/js/src/coinsph.d.ts +10 -10
  81. package/js/src/coinspot.d.ts +3 -3
  82. package/js/src/cryptocom.d.ts +16 -16
  83. package/js/src/cryptocom.js +1 -0
  84. package/js/src/currencycom.d.ts +10 -10
  85. package/js/src/delta.d.ts +10 -10
  86. package/js/src/deribit.d.ts +13 -13
  87. package/js/src/digifinex.d.ts +17 -17
  88. package/js/src/digifinex.js +9 -6
  89. package/js/src/exmo.d.ts +12 -12
  90. package/js/src/gate.d.ts +20 -20
  91. package/js/src/gemini.d.ts +6 -6
  92. package/js/src/hitbtc.d.ts +15 -15
  93. package/js/src/hollaex.d.ts +12 -12
  94. package/js/src/htx.d.ts +27 -27
  95. package/js/src/huobijp.d.ts +16 -16
  96. package/js/src/idex.d.ts +13 -13
  97. package/js/src/independentreserve.d.ts +6 -6
  98. package/js/src/indodax.d.ts +6 -6
  99. package/js/src/kraken.d.ts +16 -16
  100. package/js/src/krakenfutures.d.ts +9 -9
  101. package/js/src/kucoin.d.ts +15 -15
  102. package/js/src/kucoinfutures.d.ts +11 -11
  103. package/js/src/kuna.d.ts +12 -12
  104. package/js/src/latoken.d.ts +9 -9
  105. package/js/src/lbank.d.ts +65 -12
  106. package/js/src/lbank.js +2334 -444
  107. package/js/src/lbank2.d.ts +11 -11
  108. package/js/src/luno.d.ts +10 -10
  109. package/js/src/lykke.d.ts +8 -8
  110. package/js/src/mercado.d.ts +6 -6
  111. package/js/src/mexc.d.ts +23 -23
  112. package/js/src/ndax.d.ts +13 -12
  113. package/js/src/ndax.js +59 -61
  114. package/js/src/novadax.d.ts +13 -12
  115. package/js/src/novadax.js +57 -59
  116. package/js/src/oceanex.d.ts +10 -9
  117. package/js/src/oceanex.js +58 -60
  118. package/js/src/okcoin.d.ts +12 -13
  119. package/js/src/okcoin.js +1 -9
  120. package/js/src/okx.d.ts +26 -27
  121. package/js/src/okx.js +0 -7
  122. package/js/src/paymium.d.ts +2 -2
  123. package/js/src/phemex.d.ts +16 -16
  124. package/js/src/poloniex.d.ts +15 -14
  125. package/js/src/poloniex.js +55 -57
  126. package/js/src/poloniexfutures.d.ts +11 -10
  127. package/js/src/poloniexfutures.js +67 -70
  128. package/js/src/pro/alpaca.d.ts +3 -3
  129. package/js/src/pro/ascendex.d.ts +2 -2
  130. package/js/src/pro/binance.d.ts +9 -9
  131. package/js/src/pro/bingx.d.ts +3 -3
  132. package/js/src/pro/bingx.js +19 -12
  133. package/js/src/pro/bitfinex.d.ts +3 -3
  134. package/js/src/pro/bitfinex2.d.ts +3 -3
  135. package/js/src/pro/bitget.d.ts +3 -3
  136. package/js/src/pro/bitmart.d.ts +2 -2
  137. package/js/src/pro/bitmex.d.ts +3 -3
  138. package/js/src/pro/bitpanda.d.ts +3 -3
  139. package/js/src/pro/bitrue.d.ts +2 -2
  140. package/js/src/pro/bitstamp.d.ts +2 -2
  141. package/js/src/pro/bittrex.d.ts +3 -3
  142. package/js/src/pro/bitvavo.d.ts +3 -3
  143. package/js/src/pro/blockchaincom.d.ts +2 -2
  144. package/js/src/pro/bybit.d.ts +4 -4
  145. package/js/src/pro/cex.d.ts +3 -3
  146. package/js/src/pro/coinbasepro.d.ts +3 -3
  147. package/js/src/pro/coinex.d.ts +2 -2
  148. package/js/src/pro/cryptocom.d.ts +5 -5
  149. package/js/src/pro/deribit.d.ts +3 -3
  150. package/js/src/pro/exmo.d.ts +2 -2
  151. package/js/src/pro/gate.d.ts +3 -3
  152. package/js/src/pro/gemini.d.ts +2 -2
  153. package/js/src/pro/hitbtc.d.ts +3 -3
  154. package/js/src/pro/hollaex.d.ts +3 -3
  155. package/js/src/pro/htx.d.ts +3 -3
  156. package/js/src/pro/idex.d.ts +3 -3
  157. package/js/src/pro/kraken.d.ts +7 -7
  158. package/js/src/pro/krakenfutures.d.ts +4 -4
  159. package/js/src/pro/kucoin.d.ts +3 -3
  160. package/js/src/pro/kucoinfutures.d.ts +3 -3
  161. package/js/src/pro/mexc.d.ts +3 -3
  162. package/js/src/pro/okcoin.d.ts +2 -2
  163. package/js/src/pro/okx.d.ts +6 -6
  164. package/js/src/pro/phemex.d.ts +3 -3
  165. package/js/src/pro/poloniex.d.ts +3 -3
  166. package/js/src/pro/poloniexfutures.d.ts +3 -3
  167. package/js/src/pro/poloniexfutures.js +9 -0
  168. package/js/src/pro/probit.d.ts +3 -3
  169. package/js/src/pro/wazirx.d.ts +3 -3
  170. package/js/src/pro/whitebit.d.ts +3 -3
  171. package/js/src/pro/woo.d.ts +2 -2
  172. package/js/src/probit.d.ts +11 -10
  173. package/js/src/probit.js +62 -65
  174. package/js/src/tidex.d.ts +5 -5
  175. package/js/src/timex.d.ts +10 -10
  176. package/js/src/timex.js +1 -5
  177. package/js/src/tokocrypto.d.ts +9 -9
  178. package/js/src/upbit.d.ts +11 -10
  179. package/js/src/upbit.js +56 -58
  180. package/js/src/wavesexchange.d.ts +7 -7
  181. package/js/src/wazirx.d.ts +7 -6
  182. package/js/src/wazirx.js +72 -74
  183. package/js/src/whitebit.d.ts +12 -11
  184. package/js/src/whitebit.js +88 -91
  185. package/js/src/woo.d.ts +20 -19
  186. package/js/src/woo.js +75 -77
  187. package/js/src/yobit.d.ts +5 -5
  188. package/js/src/zaif.d.ts +6 -5
  189. package/js/src/zaif.js +57 -71
  190. package/js/src/zonda.d.ts +7 -6
  191. package/js/src/zonda.js +67 -70
  192. package/package.json +1 -1
  193. package/skip-tests.json +0 -15
  194. package/test.ts +0 -0
  195. package/js/src/abstract/bitstamp1.d.ts +0 -26
  196. package/js/src/abstract/bitstamp1.js +0 -11
  197. package/js/src/abstract/lbank2.d.ts +0 -64
  198. package/js/src/abstract/lbank2.js +0 -11
@@ -501,65 +501,63 @@ export default class poloniex extends Exchange {
501
501
  // }
502
502
  // ]
503
503
  //
504
- const result = [];
505
- for (let i = 0; i < markets.length; i++) {
506
- const market = this.safeValue(markets, i);
507
- const id = this.safeString(market, 'symbol');
508
- const baseId = this.safeString(market, 'baseCurrencyName');
509
- const quoteId = this.safeString(market, 'quoteCurrencyName');
510
- const base = this.safeCurrencyCode(baseId);
511
- const quote = this.safeCurrencyCode(quoteId);
512
- const state = this.safeString(market, 'state');
513
- const active = state === 'NORMAL';
514
- const symbolTradeLimit = this.safeValue(market, 'symbolTradeLimit');
515
- // these are known defaults
516
- result.push({
517
- 'id': id,
518
- 'symbol': base + '/' + quote,
519
- 'base': base,
520
- 'quote': quote,
521
- 'settle': undefined,
522
- 'baseId': baseId,
523
- 'quoteId': quoteId,
524
- 'settleId': undefined,
525
- 'type': 'spot',
526
- 'spot': true,
527
- 'margin': false,
528
- 'swap': false,
529
- 'future': false,
530
- 'option': false,
531
- 'active': active,
532
- 'contract': false,
533
- 'linear': undefined,
534
- 'inverse': undefined,
535
- 'contractSize': undefined,
536
- 'expiry': undefined,
537
- 'expiryDatetime': undefined,
538
- 'strike': undefined,
539
- 'optionType': undefined,
540
- 'precision': {
541
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(symbolTradeLimit, 'quantityScale'))),
542
- 'price': this.parseNumber(this.parsePrecision(this.safeString(symbolTradeLimit, 'priceScale'))),
504
+ return this.parseMarkets(markets);
505
+ }
506
+ parseMarket(market) {
507
+ const id = this.safeString(market, 'symbol');
508
+ const baseId = this.safeString(market, 'baseCurrencyName');
509
+ const quoteId = this.safeString(market, 'quoteCurrencyName');
510
+ const base = this.safeCurrencyCode(baseId);
511
+ const quote = this.safeCurrencyCode(quoteId);
512
+ const state = this.safeString(market, 'state');
513
+ const active = state === 'NORMAL';
514
+ const symbolTradeLimit = this.safeValue(market, 'symbolTradeLimit');
515
+ // these are known defaults
516
+ return {
517
+ 'id': id,
518
+ 'symbol': base + '/' + quote,
519
+ 'base': base,
520
+ 'quote': quote,
521
+ 'settle': undefined,
522
+ 'baseId': baseId,
523
+ 'quoteId': quoteId,
524
+ 'settleId': undefined,
525
+ 'type': 'spot',
526
+ 'spot': true,
527
+ 'margin': false,
528
+ 'swap': false,
529
+ 'future': false,
530
+ 'option': false,
531
+ 'active': active,
532
+ 'contract': false,
533
+ 'linear': undefined,
534
+ 'inverse': undefined,
535
+ 'contractSize': undefined,
536
+ 'expiry': undefined,
537
+ 'expiryDatetime': undefined,
538
+ 'strike': undefined,
539
+ 'optionType': undefined,
540
+ 'precision': {
541
+ 'amount': this.parseNumber(this.parsePrecision(this.safeString(symbolTradeLimit, 'quantityScale'))),
542
+ 'price': this.parseNumber(this.parsePrecision(this.safeString(symbolTradeLimit, 'priceScale'))),
543
+ },
544
+ 'limits': {
545
+ 'amount': {
546
+ 'min': this.safeNumber(symbolTradeLimit, 'minQuantity'),
547
+ 'max': undefined,
543
548
  },
544
- 'limits': {
545
- 'amount': {
546
- 'min': this.safeNumber(symbolTradeLimit, 'minQuantity'),
547
- 'max': undefined,
548
- },
549
- 'price': {
550
- 'min': undefined,
551
- 'max': undefined,
552
- },
553
- 'cost': {
554
- 'min': this.safeNumber(symbolTradeLimit, 'minAmount'),
555
- 'max': undefined,
556
- },
549
+ 'price': {
550
+ 'min': undefined,
551
+ 'max': undefined,
557
552
  },
558
- 'created': this.safeInteger(market, 'tradableStartTime'),
559
- 'info': market,
560
- });
561
- }
562
- return result;
553
+ 'cost': {
554
+ 'min': this.safeNumber(symbolTradeLimit, 'minAmount'),
555
+ 'max': undefined,
556
+ },
557
+ },
558
+ 'created': this.safeInteger(market, 'tradableStartTime'),
559
+ 'info': market,
560
+ };
563
561
  }
564
562
  async fetchTime(params = {}) {
565
563
  /**
@@ -1,12 +1,13 @@
1
1
  import Exchange from './abstract/poloniexfutures.js';
2
- import { Balances, FundingHistory, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade } from './base/types.js';
2
+ import { Balances, FundingHistory, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Tickers, Trade } from './base/types.js';
3
3
  /**
4
4
  * @class poloniexfutures
5
5
  * @extends Exchange
6
6
  */
7
7
  export default class poloniexfutures extends Exchange {
8
8
  describe(): any;
9
- fetchMarkets(params?: {}): Promise<any[]>;
9
+ fetchMarkets(params?: {}): Promise<Market[]>;
10
+ parseMarket(market: any): Market;
10
11
  parseTicker(ticker: any, market?: any): Ticker;
11
12
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
12
13
  fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
@@ -19,7 +20,7 @@ export default class poloniexfutures extends Exchange {
19
20
  parseBalance(response: any): Balances;
20
21
  fetchBalance(params?: {}): Promise<Balances>;
21
22
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
22
- cancelOrder(id: string, symbol?: string, params?: {}): Promise<Order>;
23
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
23
24
  fetchPositions(symbols?: string[], params?: {}): Promise<import("./base/types.js").Position[]>;
24
25
  parsePosition(position: any, market?: any): {
25
26
  info: any;
@@ -47,12 +48,12 @@ export default class poloniexfutures extends Exchange {
47
48
  stopLossPrice: any;
48
49
  takeProfitPrice: any;
49
50
  };
50
- fetchFundingHistory(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<FundingHistory[]>;
51
- cancelAllOrders(symbol?: string, params?: {}): Promise<any[]>;
52
- fetchOrdersByStatus(status: any, symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
53
- fetchOpenOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
54
- fetchClosedOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
55
- fetchOrder(id?: any, symbol?: string, params?: {}): Promise<Order>;
51
+ fetchFundingHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<FundingHistory[]>;
52
+ cancelAllOrders(symbol?: Str, params?: {}): Promise<any[]>;
53
+ fetchOrdersByStatus(status: any, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
54
+ fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
55
+ fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
56
+ fetchOrder(id?: any, symbol?: Str, params?: {}): Promise<Order>;
56
57
  parseOrder(order: any, market?: any): Order;
57
58
  fetchFundingRate(symbol: string, params?: {}): Promise<{
58
59
  info: any;
@@ -73,7 +74,7 @@ export default class poloniexfutures extends Exchange {
73
74
  previousFundingTimestamp: number;
74
75
  previousFundingDatetime: string;
75
76
  }>;
76
- fetchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
77
+ fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
77
78
  setMarginMode(marginMode: any, symbol: any, params?: {}): Promise<any>;
78
79
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
79
80
  url: any;
@@ -274,79 +274,76 @@ export default class poloniexfutures extends Exchange {
274
274
  // ]
275
275
  // }
276
276
  //
277
- const result = [];
278
277
  const data = this.safeValue(response, 'data', []);
279
- const dataLength = data.length;
280
- for (let i = 0; i < dataLength; i++) {
281
- const market = data[i];
282
- const id = this.safeString(market, 'symbol');
283
- const baseId = this.safeString(market, 'baseCurrency');
284
- const quoteId = this.safeString(market, 'quoteCurrency');
285
- const settleId = this.safeString(market, 'rootSymbol');
286
- const base = this.safeCurrencyCode(baseId);
287
- const quote = this.safeCurrencyCode(quoteId);
288
- const settle = this.safeCurrencyCode(settleId);
289
- const symbol = base + '/' + quote + ':' + settle;
290
- const inverse = this.safeValue(market, 'isInverse');
291
- const status = this.safeString(market, 'status');
292
- const multiplier = this.safeString(market, 'multiplier');
293
- const tickSize = this.safeNumber(market, 'indexPriceTickSize');
294
- const lotSize = this.safeNumber(market, 'lotSize');
295
- const limitAmountMax = this.safeNumber(market, 'maxOrderQty');
296
- const limitPriceMax = this.safeNumber(market, 'maxPrice');
297
- result.push({
298
- 'id': id,
299
- 'symbol': symbol,
300
- 'base': base,
301
- 'quote': quote,
302
- 'settle': settle,
303
- 'baseId': baseId,
304
- 'quoteId': quoteId,
305
- 'settleId': settleId,
306
- 'type': 'swap',
307
- 'spot': false,
308
- 'margin': false,
309
- 'swap': true,
310
- 'future': false,
311
- 'option': false,
312
- 'active': (status === 'Open'),
313
- 'contract': true,
314
- 'linear': !inverse,
315
- 'inverse': inverse,
316
- 'taker': this.safeNumber(market, 'takerFeeRate'),
317
- 'maker': this.safeNumber(market, 'makerFeeRate'),
318
- 'contractSize': this.parseNumber(Precise.stringAbs(multiplier)),
319
- 'expiry': undefined,
320
- 'expiryDatetime': undefined,
321
- 'strike': undefined,
322
- 'optionType': undefined,
323
- 'precision': {
324
- 'amount': lotSize,
325
- 'price': tickSize,
278
+ return this.parseMarkets(data);
279
+ }
280
+ parseMarket(market) {
281
+ const id = this.safeString(market, 'symbol');
282
+ const baseId = this.safeString(market, 'baseCurrency');
283
+ const quoteId = this.safeString(market, 'quoteCurrency');
284
+ const settleId = this.safeString(market, 'rootSymbol');
285
+ const base = this.safeCurrencyCode(baseId);
286
+ const quote = this.safeCurrencyCode(quoteId);
287
+ const settle = this.safeCurrencyCode(settleId);
288
+ const symbol = base + '/' + quote + ':' + settle;
289
+ const inverse = this.safeValue(market, 'isInverse');
290
+ const status = this.safeString(market, 'status');
291
+ const multiplier = this.safeString(market, 'multiplier');
292
+ const tickSize = this.safeNumber(market, 'indexPriceTickSize');
293
+ const lotSize = this.safeNumber(market, 'lotSize');
294
+ const limitAmountMax = this.safeNumber(market, 'maxOrderQty');
295
+ const limitPriceMax = this.safeNumber(market, 'maxPrice');
296
+ return {
297
+ 'id': id,
298
+ 'symbol': symbol,
299
+ 'base': base,
300
+ 'quote': quote,
301
+ 'settle': settle,
302
+ 'baseId': baseId,
303
+ 'quoteId': quoteId,
304
+ 'settleId': settleId,
305
+ 'type': 'swap',
306
+ 'spot': false,
307
+ 'margin': false,
308
+ 'swap': true,
309
+ 'future': false,
310
+ 'option': false,
311
+ 'active': (status === 'Open'),
312
+ 'contract': true,
313
+ 'linear': !inverse,
314
+ 'inverse': inverse,
315
+ 'taker': this.safeNumber(market, 'takerFeeRate'),
316
+ 'maker': this.safeNumber(market, 'makerFeeRate'),
317
+ 'contractSize': this.parseNumber(Precise.stringAbs(multiplier)),
318
+ 'expiry': undefined,
319
+ 'expiryDatetime': undefined,
320
+ 'strike': undefined,
321
+ 'optionType': undefined,
322
+ 'precision': {
323
+ 'amount': lotSize,
324
+ 'price': tickSize,
325
+ },
326
+ 'limits': {
327
+ 'leverage': {
328
+ 'min': this.parseNumber('1'),
329
+ 'max': this.safeNumber(market, 'maxLeverage'),
326
330
  },
327
- 'limits': {
328
- 'leverage': {
329
- 'min': this.parseNumber('1'),
330
- 'max': this.safeNumber(market, 'maxLeverage'),
331
- },
332
- 'amount': {
333
- 'min': lotSize,
334
- 'max': limitAmountMax,
335
- },
336
- 'price': {
337
- 'min': tickSize,
338
- 'max': limitPriceMax,
339
- },
340
- 'cost': {
341
- 'min': undefined,
342
- 'max': undefined,
343
- },
331
+ 'amount': {
332
+ 'min': lotSize,
333
+ 'max': limitAmountMax,
344
334
  },
345
- 'created': this.safeInteger(market, 'firstOpenDate'),
346
- 'info': market,
347
- });
348
- }
349
- return result;
335
+ 'price': {
336
+ 'min': tickSize,
337
+ 'max': limitPriceMax,
338
+ },
339
+ 'cost': {
340
+ 'min': undefined,
341
+ 'max': undefined,
342
+ },
343
+ },
344
+ 'created': this.safeInteger(market, 'firstOpenDate'),
345
+ 'info': market,
346
+ };
350
347
  }
351
348
  parseTicker(ticker, market = undefined) {
352
349
  //
@@ -1,5 +1,5 @@
1
1
  import alpacaRest from '../alpaca.js';
2
- import { Int, Ticker } from '../base/types.js';
2
+ import { Int, Str, Ticker } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class alpaca extends alpacaRest {
5
5
  describe(): any;
@@ -14,8 +14,8 @@ export default class alpaca extends alpacaRest {
14
14
  handleDeltas(bookside: any, deltas: any): void;
15
15
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
16
16
  handleTrades(client: Client, message: any): void;
17
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
18
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
17
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
18
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
19
19
  handleTradeUpdate(client: Client, message: any): void;
20
20
  handleOrder(client: Client, message: any): void;
21
21
  handleMyTrade(client: Client, message: any): void;
@@ -1,5 +1,5 @@
1
1
  import ascendexRest from '../ascendex.js';
2
- import { Int } from '../base/types.js';
2
+ import { Int, Str } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class ascendex extends ascendexRest {
5
5
  describe(): any;
@@ -18,7 +18,7 @@ export default class ascendex extends ascendexRest {
18
18
  handleOrderBookMessage(client: Client, message: any, orderbook: any): any;
19
19
  watchBalance(params?: {}): Promise<any>;
20
20
  handleBalance(client: Client, message: any): void;
21
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
21
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
22
22
  handleOrder(client: Client, message: any): void;
23
23
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
24
24
  handleErrorMessage(client: Client, message: any): boolean;
@@ -1,5 +1,5 @@
1
1
  import binanceRest from '../binance.js';
2
- import { Int, OrderSide, OrderType, Trade } from '../base/types.js';
2
+ import { Int, OrderSide, OrderType, Str, Trade } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class binance extends binanceRest {
5
5
  describe(): any;
@@ -62,12 +62,12 @@ export default class binance extends binanceRest {
62
62
  handleOrdersWs(client: Client, message: any): void;
63
63
  editOrderWs(id: string, symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<any>;
64
64
  handleEditOrderWs(client: Client, message: any): void;
65
- cancelOrderWs(id: string, symbol?: string, params?: {}): Promise<any>;
66
- cancelAllOrdersWs(symbol?: string, params?: {}): Promise<any>;
67
- fetchOrderWs(id: string, symbol?: string, params?: {}): Promise<any>;
68
- fetchOrdersWs(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
69
- fetchOpenOrdersWs(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
70
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
65
+ cancelOrderWs(id: string, symbol?: Str, params?: {}): Promise<any>;
66
+ cancelAllOrdersWs(symbol?: Str, params?: {}): Promise<any>;
67
+ fetchOrderWs(id: string, symbol?: Str, params?: {}): Promise<any>;
68
+ fetchOrdersWs(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
69
+ fetchOpenOrdersWs(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
70
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
71
71
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
72
72
  handleOrderUpdate(client: Client, message: any): void;
73
73
  watchPositions(symbols?: string[], since?: Int, limit?: Int, params?: {}): Promise<any>;
@@ -75,9 +75,9 @@ export default class binance extends binanceRest {
75
75
  loadPositionsSnapshot(client: any, messageHash: any, type: any): Promise<void>;
76
76
  handlePositions(client: any, message: any): void;
77
77
  parseWsPosition(position: any, market?: any): import("../base/types.js").Position;
78
- fetchMyTradesWs(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
78
+ fetchMyTradesWs(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
79
79
  handleTradesWs(client: Client, message: any): void;
80
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
80
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
81
81
  handleMyTrade(client: Client, message: any): void;
82
82
  handleOrder(client: Client, message: any): void;
83
83
  handleAcountUpdate(client: any, message: any): void;
@@ -1,5 +1,5 @@
1
1
  import bingxRest from '../bingx.js';
2
- import { Int, OHLCV } from '../base/types.js';
2
+ import { Int, OHLCV, Str } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class bingx extends bingxRest {
5
5
  describe(): any;
@@ -11,8 +11,8 @@ export default class bingx extends bingxRest {
11
11
  parseWsOHLCV(ohlcv: any, market?: any): OHLCV;
12
12
  handleOHLCV(client: Client, message: any): void;
13
13
  watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
14
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
15
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
14
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
15
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
16
16
  watchBalance(params?: {}): Promise<any>;
17
17
  handleErrorMessage(client: any, message: any): boolean;
18
18
  authenticate(params?: {}): Promise<void>;
@@ -6,7 +6,7 @@
6
6
 
7
7
  // ---------------------------------------------------------------------------
8
8
  import bingxRest from '../bingx.js';
9
- import { BadRequest } from '../base/errors.js';
9
+ import { BadRequest, NetworkError } from '../base/errors.js';
10
10
  import { ArrayCache, ArrayCacheByTimestamp, ArrayCacheBySymbolById } from '../base/ws/Cache.js';
11
11
  // ---------------------------------------------------------------------------
12
12
  export default class bingx extends bingxRest {
@@ -302,11 +302,12 @@ export default class bingx extends bingxRest {
302
302
  // "h": "28915.4",
303
303
  // "l": "28896.1",
304
304
  // "v": "27.6919",
305
- // "T": 1690907580000
305
+ // "T": 1696687499999,
306
+ // "t": 1696687440000
306
307
  // }
307
308
  //
308
309
  return [
309
- this.safeInteger(ohlcv, 'T'),
310
+ this.safeInteger(ohlcv, 't'),
310
311
  this.safeNumber(ohlcv, 'o'),
311
312
  this.safeNumber(ohlcv, 'h'),
312
313
  this.safeNumber(ohlcv, 'l'),
@@ -600,16 +601,22 @@ export default class bingx extends bingxRest {
600
601
  // swap
601
602
  // Ping
602
603
  //
603
- if (message === 'Ping') {
604
- await client.send('Pong');
604
+ try {
605
+ if (message === 'Ping') {
606
+ await client.send('Pong');
607
+ }
608
+ else {
609
+ const ping = this.safeString(message, 'ping');
610
+ const time = this.safeString(message, 'time');
611
+ await client.send({
612
+ 'pong': ping,
613
+ 'time': time,
614
+ });
615
+ }
605
616
  }
606
- else {
607
- const ping = this.safeString(message, 'ping');
608
- const time = this.safeString(message, 'time');
609
- await client.send({
610
- 'pong': ping,
611
- 'time': time,
612
- });
617
+ catch (e) {
618
+ const error = new NetworkError(this.id + ' pong failed with error ' + this.json(e));
619
+ client.reset(error);
613
620
  }
614
621
  }
615
622
  handleOrder(client, message) {
@@ -1,5 +1,5 @@
1
1
  import bitfinexRest from '../bitfinex.js';
2
- import { Int, Trade } from '../base/types.js';
2
+ import { Int, Str, Trade } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class bitfinex extends bitfinexRest {
5
5
  describe(): any;
@@ -16,8 +16,8 @@ export default class bitfinex extends bitfinexRest {
16
16
  handleSubscriptionStatus(client: Client, message: any): any;
17
17
  authenticate(params?: {}): Promise<any>;
18
18
  handleAuthenticationMessage(client: Client, message: any): void;
19
- watchOrder(id: any, symbol?: string, params?: {}): Promise<any>;
20
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
19
+ watchOrder(id: any, symbol?: Str, params?: {}): Promise<any>;
20
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
21
21
  handleOrders(client: Client, message: any, subscription: any): void;
22
22
  parseWsOrderStatus(status: any): string;
23
23
  handleOrder(client: Client, order: any): import("../base/types.js").Order;
@@ -1,5 +1,5 @@
1
1
  import bitfinex2Rest from '../bitfinex2.js';
2
- import { Int } from '../base/types.js';
2
+ import { Int, Str } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class bitfinex2 extends bitfinex2Rest {
5
5
  describe(): any;
@@ -8,7 +8,7 @@ export default class bitfinex2 extends bitfinex2Rest {
8
8
  watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
9
9
  handleOHLCV(client: Client, message: any, subscription: any): void;
10
10
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
11
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
11
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
12
12
  watchTicker(symbol: string, params?: {}): Promise<any>;
13
13
  handleMyTrade(client: Client, message: any, subscription?: {}): void;
14
14
  handleTrades(client: Client, message: any, subscription: any): any;
@@ -25,7 +25,7 @@ export default class bitfinex2 extends bitfinex2Rest {
25
25
  handleSubscriptionStatus(client: Client, message: any): any;
26
26
  authenticate(params?: {}): Promise<any>;
27
27
  handleAuthenticationMessage(client: Client, message: any): void;
28
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
28
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
29
29
  handleOrders(client: Client, message: any, subscription: any): void;
30
30
  parseWsOrderStatus(status: any): string;
31
31
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
@@ -1,5 +1,5 @@
1
1
  import bitgetRest from '../bitget.js';
2
- import { Int, OHLCV } from '../base/types.js';
2
+ import { Int, OHLCV, Str } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  /**
5
5
  * @class bitget
@@ -30,11 +30,11 @@ export default class bitget extends bitgetRest {
30
30
  watchPositions(symbols?: string[], since?: Int, limit?: Int, params?: {}): Promise<any>;
31
31
  handlePositions(client: Client, message: any): void;
32
32
  parseWsPosition(position: any, market?: any): import("../base/types.js").Position;
33
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
33
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
34
34
  handleOrder(client: Client, message: any, subscription?: any): void;
35
35
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
36
36
  parseWsOrderStatus(status: any): string;
37
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
37
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
38
38
  handleMyTrades(client: Client, message: any): void;
39
39
  parseWsMyTrade(trade: any, market?: any): import("../base/types.js").Trade;
40
40
  watchBalance(params?: {}): Promise<any>;
@@ -1,5 +1,5 @@
1
1
  import bitmartRest from '../bitmart.js';
2
- import { Int } from '../base/types.js';
2
+ import { Int, Str } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class bitmart extends bitmartRest {
5
5
  describe(): any;
@@ -7,7 +7,7 @@ export default class bitmart extends bitmartRest {
7
7
  subscribePrivate(channel: any, symbol: any, params?: {}): Promise<any>;
8
8
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
9
9
  watchTicker(symbol: string, params?: {}): Promise<any>;
10
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
10
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
11
11
  handleOrders(client: Client, message: any): void;
12
12
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
13
13
  handleTrade(client: Client, message: any): any;
@@ -1,5 +1,5 @@
1
1
  import bitmexRest from '../bitmex.js';
2
- import { Int } from '../base/types.js';
2
+ import { Int, Str } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class bitmex extends bitmexRest {
5
5
  describe(): any;
@@ -11,9 +11,9 @@ export default class bitmex extends bitmexRest {
11
11
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
12
12
  authenticate(params?: {}): Promise<any>;
13
13
  handleAuthenticationMessage(client: Client, message: any): void;
14
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
14
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
15
15
  handleOrders(client: Client, message: any): void;
16
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
16
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
17
17
  handleMyTrades(client: Client, message: any): void;
18
18
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<any>;
19
19
  watchOrderBookForSymbols(symbols: string[], limit?: Int, params?: {}): Promise<any>;
@@ -1,5 +1,5 @@
1
1
  import bitpandaRest from '../bitpanda.js';
2
- import { Int } from '../base/types.js';
2
+ import { Int, Str } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class bitpanda extends bitpandaRest {
5
5
  describe(): any;
@@ -9,12 +9,12 @@ export default class bitpanda extends bitpandaRest {
9
9
  watchTickers(symbols?: string[], params?: {}): Promise<any>;
10
10
  handleTicker(client: Client, message: any): void;
11
11
  parseWSTicker(ticker: any, market?: any): import("../base/types.js").Ticker;
12
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): any;
12
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): any;
13
13
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<any>;
14
14
  handleOrderBook(client: Client, message: any): void;
15
15
  handleDelta(orderbook: any, delta: any): void;
16
16
  handleDeltas(orderbook: any, deltas: any): void;
17
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): any;
17
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): any;
18
18
  handleTrading(client: Client, message: any): void;
19
19
  parseTradingOrder(order: any, market?: any): import("../base/types.js").Order;
20
20
  parseTradingOrderStatus(status: any): string;
@@ -1,12 +1,12 @@
1
1
  import bitrueRest from '../bitrue.js';
2
- import { Int } from '../base/types.js';
2
+ import { Int, Str } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class bitrue extends bitrueRest {
5
5
  describe(): any;
6
6
  watchBalance(params?: {}): Promise<any>;
7
7
  handleBalance(client: Client, message: any): void;
8
8
  parseWSBalances(balances: any): void;
9
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
9
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
10
10
  handleOrder(client: Client, message: any): void;
11
11
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
12
12
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<any>;
@@ -1,5 +1,5 @@
1
1
  import bitstampRest from '../bitstamp.js';
2
- import { Int } from '../base/types.js';
2
+ import { Int, Str } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class bitstamp extends bitstampRest {
5
5
  describe(): any;
@@ -11,7 +11,7 @@ export default class bitstamp extends bitstampRest {
11
11
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
12
12
  parseWsTrade(trade: any, market?: any): import("../base/types.js").Trade;
13
13
  handleTrade(client: Client, message: any): void;
14
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
14
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
15
15
  handleOrders(client: Client, message: any): void;
16
16
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
17
17
  handleOrderBookSubscription(client: Client, message: any): void;