ccxt 4.1.52 → 4.1.54

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 (207) hide show
  1. package/README.md +9 -10
  2. package/dist/ccxt.browser.js +3517 -3374
  3. package/dist/ccxt.browser.min.js +10 -10
  4. package/dist/cjs/ccxt.js +4 -7
  5. package/dist/cjs/src/abstract/p2b.js +9 -0
  6. package/dist/cjs/src/ace.js +56 -59
  7. package/dist/cjs/src/ascendex.js +1 -2
  8. package/dist/cjs/src/base/Exchange.js +11 -17
  9. package/dist/cjs/src/bingx.js +48 -8
  10. package/dist/cjs/src/bitget.js +670 -405
  11. package/dist/cjs/src/bybit.js +2 -11
  12. package/dist/cjs/src/cryptocom.js +1 -0
  13. package/dist/cjs/src/digifinex.js +9 -6
  14. package/dist/cjs/src/lbank.js +2333 -443
  15. package/dist/cjs/src/ndax.js +59 -61
  16. package/dist/cjs/src/novadax.js +57 -59
  17. package/dist/cjs/src/oceanex.js +58 -60
  18. package/dist/cjs/src/okcoin.js +1 -9
  19. package/dist/cjs/src/okx.js +0 -7
  20. package/dist/cjs/src/p2b.js +1246 -0
  21. package/dist/cjs/src/poloniex.js +55 -57
  22. package/dist/cjs/src/poloniexfutures.js +67 -70
  23. package/dist/cjs/src/pro/bingx.js +18 -11
  24. package/dist/cjs/src/pro/poloniexfutures.js +9 -0
  25. package/dist/cjs/src/probit.js +62 -65
  26. package/dist/cjs/src/timex.js +1 -5
  27. package/dist/cjs/src/upbit.js +56 -58
  28. package/dist/cjs/src/wazirx.js +72 -74
  29. package/dist/cjs/src/whitebit.js +88 -91
  30. package/dist/cjs/src/woo.js +75 -77
  31. package/dist/cjs/src/zaif.js +57 -71
  32. package/dist/cjs/src/zonda.js +67 -70
  33. package/js/ccxt.d.ts +5 -8
  34. package/js/ccxt.js +4 -6
  35. package/js/src/abstract/bitget.d.ts +495 -254
  36. package/js/src/abstract/bybit.d.ts +1 -0
  37. package/js/src/abstract/lbank.d.ts +57 -15
  38. package/js/src/abstract/p2b.d.ts +25 -0
  39. package/js/src/ace.d.ts +9 -8
  40. package/js/src/ace.js +56 -59
  41. package/js/src/alpaca.d.ts +5 -5
  42. package/js/src/ascendex.d.ts +17 -17
  43. package/js/src/ascendex.js +1 -2
  44. package/js/src/base/Exchange.d.ts +5 -5
  45. package/js/src/base/Exchange.js +11 -17
  46. package/js/src/base/types.d.ts +73 -68
  47. package/js/src/bigone.d.ts +12 -12
  48. package/js/src/binance.d.ts +37 -37
  49. package/js/src/bingx.d.ts +20 -20
  50. package/js/src/bingx.js +48 -8
  51. package/js/src/bit2c.d.ts +5 -5
  52. package/js/src/bitbank.d.ts +6 -6
  53. package/js/src/bitbns.d.ts +8 -8
  54. package/js/src/bitfinex.d.ts +11 -11
  55. package/js/src/bitfinex2.d.ts +15 -15
  56. package/js/src/bitflyer.d.ts +10 -10
  57. package/js/src/bitforex.d.ts +6 -6
  58. package/js/src/bitget.d.ts +28 -28
  59. package/js/src/bitget.js +670 -405
  60. package/js/src/bithumb.d.ts +5 -5
  61. package/js/src/bitmart.d.ts +23 -23
  62. package/js/src/bitmex.d.ts +19 -19
  63. package/js/src/bitopro.d.ts +15 -15
  64. package/js/src/bitpanda.d.ts +13 -13
  65. package/js/src/bitrue.d.ts +12 -12
  66. package/js/src/bitso.d.ts +13 -13
  67. package/js/src/bitstamp.d.ts +12 -12
  68. package/js/src/bitstamp1.d.ts +4 -4
  69. package/js/src/bittrex.d.ts +18 -18
  70. package/js/src/bitvavo.d.ts +11 -11
  71. package/js/src/bl3p.d.ts +2 -2
  72. package/js/src/blockchaincom.d.ts +14 -14
  73. package/js/src/btcalpha.d.ts +11 -11
  74. package/js/src/btcbox.d.ts +6 -6
  75. package/js/src/btcmarkets.d.ts +13 -13
  76. package/js/src/btcturk.d.ts +7 -7
  77. package/js/src/bybit.d.ts +33 -33
  78. package/js/src/bybit.js +2 -11
  79. package/js/src/cex.d.ts +7 -7
  80. package/js/src/coinbase.d.ts +21 -21
  81. package/js/src/coinbasepro.d.ts +14 -14
  82. package/js/src/coincheck.d.ts +6 -6
  83. package/js/src/coinex.d.ts +24 -24
  84. package/js/src/coinlist.d.ts +16 -16
  85. package/js/src/coinmate.d.ts +7 -7
  86. package/js/src/coinone.d.ts +6 -6
  87. package/js/src/coinsph.d.ts +11 -11
  88. package/js/src/coinspot.d.ts +4 -4
  89. package/js/src/cryptocom.d.ts +19 -19
  90. package/js/src/cryptocom.js +1 -0
  91. package/js/src/currencycom.d.ts +12 -12
  92. package/js/src/delta.d.ts +14 -14
  93. package/js/src/deribit.d.ts +16 -16
  94. package/js/src/digifinex.d.ts +22 -22
  95. package/js/src/digifinex.js +9 -6
  96. package/js/src/exmo.d.ts +15 -15
  97. package/js/src/gate.d.ts +25 -25
  98. package/js/src/gemini.d.ts +7 -7
  99. package/js/src/hitbtc.d.ts +20 -20
  100. package/js/src/hollaex.d.ts +16 -16
  101. package/js/src/htx.d.ts +34 -34
  102. package/js/src/huobijp.d.ts +18 -18
  103. package/js/src/idex.d.ts +14 -14
  104. package/js/src/independentreserve.d.ts +6 -6
  105. package/js/src/indodax.d.ts +7 -7
  106. package/js/src/kraken.d.ts +18 -18
  107. package/js/src/krakenfutures.d.ts +14 -14
  108. package/js/src/kucoin.d.ts +17 -17
  109. package/js/src/kucoinfutures.d.ts +12 -12
  110. package/js/src/kuna.d.ts +13 -13
  111. package/js/src/latoken.d.ts +10 -10
  112. package/js/src/lbank.d.ts +66 -13
  113. package/js/src/lbank.js +2334 -444
  114. package/js/src/lbank2.d.ts +11 -11
  115. package/js/src/luno.d.ts +11 -11
  116. package/js/src/lykke.d.ts +9 -9
  117. package/js/src/mercado.d.ts +6 -6
  118. package/js/src/mexc.d.ts +28 -28
  119. package/js/src/ndax.d.ts +13 -12
  120. package/js/src/ndax.js +59 -61
  121. package/js/src/novadax.d.ts +14 -13
  122. package/js/src/novadax.js +57 -59
  123. package/js/src/oceanex.d.ts +12 -11
  124. package/js/src/oceanex.js +58 -60
  125. package/js/src/okcoin.d.ts +13 -14
  126. package/js/src/okcoin.js +1 -9
  127. package/js/src/okx.d.ts +30 -31
  128. package/js/src/okx.js +0 -7
  129. package/js/src/p2b.d.ts +34 -0
  130. package/js/src/p2b.js +1246 -0
  131. package/js/src/paymium.d.ts +2 -2
  132. package/js/src/phemex.d.ts +19 -19
  133. package/js/src/poloniex.d.ts +17 -16
  134. package/js/src/poloniex.js +55 -57
  135. package/js/src/poloniexfutures.d.ts +13 -12
  136. package/js/src/poloniexfutures.js +67 -70
  137. package/js/src/pro/alpaca.d.ts +3 -3
  138. package/js/src/pro/ascendex.d.ts +2 -2
  139. package/js/src/pro/binance.d.ts +12 -12
  140. package/js/src/pro/bingx.d.ts +3 -3
  141. package/js/src/pro/bingx.js +19 -12
  142. package/js/src/pro/bitfinex.d.ts +3 -3
  143. package/js/src/pro/bitfinex2.d.ts +3 -3
  144. package/js/src/pro/bitget.d.ts +5 -5
  145. package/js/src/pro/bitmart.d.ts +2 -2
  146. package/js/src/pro/bitmex.d.ts +3 -3
  147. package/js/src/pro/bitpanda.d.ts +5 -5
  148. package/js/src/pro/bitrue.d.ts +2 -2
  149. package/js/src/pro/bitstamp.d.ts +2 -2
  150. package/js/src/pro/bittrex.d.ts +3 -3
  151. package/js/src/pro/bitvavo.d.ts +3 -3
  152. package/js/src/pro/blockchaincom.d.ts +2 -2
  153. package/js/src/pro/bybit.d.ts +7 -7
  154. package/js/src/pro/cex.d.ts +4 -4
  155. package/js/src/pro/coinbasepro.d.ts +6 -6
  156. package/js/src/pro/coinex.d.ts +3 -3
  157. package/js/src/pro/cryptocom.d.ts +7 -7
  158. package/js/src/pro/deribit.d.ts +3 -3
  159. package/js/src/pro/exmo.d.ts +2 -2
  160. package/js/src/pro/gate.d.ts +6 -6
  161. package/js/src/pro/gemini.d.ts +2 -2
  162. package/js/src/pro/hitbtc.d.ts +5 -5
  163. package/js/src/pro/hollaex.d.ts +3 -3
  164. package/js/src/pro/htx.d.ts +4 -4
  165. package/js/src/pro/idex.d.ts +3 -3
  166. package/js/src/pro/kraken.d.ts +8 -8
  167. package/js/src/pro/krakenfutures.d.ts +6 -6
  168. package/js/src/pro/kucoin.d.ts +4 -4
  169. package/js/src/pro/kucoinfutures.d.ts +3 -3
  170. package/js/src/pro/mexc.d.ts +3 -3
  171. package/js/src/pro/okcoin.d.ts +2 -2
  172. package/js/src/pro/okx.d.ts +9 -9
  173. package/js/src/pro/phemex.d.ts +3 -3
  174. package/js/src/pro/poloniex.d.ts +4 -4
  175. package/js/src/pro/poloniexfutures.d.ts +3 -3
  176. package/js/src/pro/poloniexfutures.js +9 -0
  177. package/js/src/pro/probit.d.ts +3 -3
  178. package/js/src/pro/wazirx.d.ts +4 -4
  179. package/js/src/pro/whitebit.d.ts +3 -3
  180. package/js/src/pro/woo.d.ts +3 -3
  181. package/js/src/probit.d.ts +13 -12
  182. package/js/src/probit.js +62 -65
  183. package/js/src/tidex.d.ts +7 -7
  184. package/js/src/timex.d.ts +11 -11
  185. package/js/src/timex.js +1 -5
  186. package/js/src/tokocrypto.d.ts +11 -11
  187. package/js/src/upbit.d.ts +13 -12
  188. package/js/src/upbit.js +56 -58
  189. package/js/src/wavesexchange.d.ts +10 -10
  190. package/js/src/wazirx.d.ts +8 -7
  191. package/js/src/wazirx.js +72 -74
  192. package/js/src/whitebit.d.ts +15 -14
  193. package/js/src/whitebit.js +88 -91
  194. package/js/src/woo.d.ts +22 -21
  195. package/js/src/woo.js +75 -77
  196. package/js/src/yobit.d.ts +7 -7
  197. package/js/src/zaif.d.ts +6 -5
  198. package/js/src/zaif.js +57 -71
  199. package/js/src/zonda.d.ts +8 -7
  200. package/js/src/zonda.js +67 -70
  201. package/package.json +1 -1
  202. package/skip-tests.json +7 -15
  203. package/test.ts +0 -0
  204. package/js/src/abstract/bitstamp1.d.ts +0 -26
  205. package/js/src/abstract/lbank2.d.ts +0 -64
  206. package/js/src/abstract/lbank2.js +0 -11
  207. /package/js/src/abstract/{bitstamp1.js → p2b.js} +0 -0
@@ -1,27 +1,28 @@
1
1
  import Exchange from './abstract/whitebit.js';
2
- import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import { Balances, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class whitebit
5
5
  * @extends Exchange
6
6
  */
7
7
  export default class whitebit extends Exchange {
8
8
  describe(): any;
9
- fetchMarkets(params?: {}): Promise<any[]>;
9
+ fetchMarkets(params?: {}): Promise<import("./base/types.js").MarketInterface[]>;
10
+ parseMarket(market: any): Market;
10
11
  fetchCurrencies(params?: {}): Promise<{}>;
11
12
  fetchTransactionFees(codes?: any, params?: {}): Promise<{
12
13
  withdraw: {};
13
14
  deposit: {};
14
15
  info: any;
15
16
  }>;
16
- fetchDepositWithdrawFees(codes?: string[], params?: {}): Promise<{}>;
17
+ fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<{}>;
17
18
  parseDepositWithdrawFees(response: any, codes?: any, currencyIdKey?: any): {};
18
19
  fetchTradingFees(params?: {}): Promise<{}>;
19
20
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
20
21
  parseTicker(ticker: any, market?: any): Ticker;
21
- fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
22
+ fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
22
23
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
23
24
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
24
- fetchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
25
+ fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
25
26
  parseTrade(trade: any, market?: any): Trade;
26
27
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
27
28
  parseOHLCV(ohlcv: any, market?: any): OHLCV;
@@ -34,14 +35,14 @@ export default class whitebit extends Exchange {
34
35
  }>;
35
36
  fetchTime(params?: {}): Promise<number>;
36
37
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
37
- cancelOrder(id: string, symbol?: string, params?: {}): Promise<any>;
38
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
38
39
  parseBalance(response: any): Balances;
39
40
  fetchBalance(params?: {}): Promise<Balances>;
40
- fetchOpenOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
41
- fetchClosedOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
41
+ fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
42
+ fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
42
43
  parseOrderType(type: any): string;
43
44
  parseOrder(order: any, market?: any): Order;
44
- fetchOrderTrades(id: string, symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
45
+ fetchOrderTrades(id: string, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
45
46
  fetchDepositAddress(code: string, params?: {}): Promise<{
46
47
  currency: string;
47
48
  address: string;
@@ -49,7 +50,7 @@ export default class whitebit extends Exchange {
49
50
  network: any;
50
51
  info: any;
51
52
  }>;
52
- setLeverage(leverage: any, symbol?: string, params?: {}): Promise<any>;
53
+ setLeverage(leverage: any, symbol?: Str, params?: {}): Promise<any>;
53
54
  transfer(code: string, amount: any, fromAccount: any, toAccount: any, params?: {}): Promise<{
54
55
  info: any;
55
56
  id: any;
@@ -75,9 +76,9 @@ export default class whitebit extends Exchange {
75
76
  withdraw(code: string, amount: any, address: any, tag?: any, params?: {}): Promise<any>;
76
77
  parseTransaction(transaction: any, currency?: any): Transaction;
77
78
  parseTransactionStatus(status: any): string;
78
- fetchDeposit(id: string, code?: string, params?: {}): Promise<Transaction>;
79
- fetchDeposits(code?: string, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
80
- fetchBorrowInterest(code?: string, symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
79
+ fetchDeposit(id: string, code?: Str, params?: {}): Promise<Transaction>;
80
+ fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
81
+ fetchBorrowInterest(code?: Str, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
81
82
  parseBorrowInterest(info: any, market?: any): {
82
83
  symbol: any;
83
84
  marginMode: string;
@@ -90,7 +91,7 @@ export default class whitebit extends Exchange {
90
91
  info: any;
91
92
  };
92
93
  fetchFundingRate(symbol: string, params?: {}): Promise<any>;
93
- fetchFundingRates(symbols?: string[], params?: {}): Promise<any>;
94
+ fetchFundingRates(symbols?: Strings, params?: {}): Promise<any>;
94
95
  parseFundingRate(contract: any, market?: any): {
95
96
  info: any;
96
97
  symbol: any;
@@ -300,99 +300,96 @@ export default class whitebit extends Exchange {
300
300
  // }
301
301
  // ]
302
302
  //
303
- const result = [];
304
- for (let i = 0; i < markets.length; i++) {
305
- const market = markets[i];
306
- const id = this.safeString(market, 'name');
307
- const baseId = this.safeString(market, 'stock');
308
- let quoteId = this.safeString(market, 'money');
309
- quoteId = (quoteId === 'PERP') ? 'USDT' : quoteId;
310
- const base = this.safeCurrencyCode(baseId);
311
- const quote = this.safeCurrencyCode(quoteId);
312
- const active = this.safeValue(market, 'tradesEnabled');
313
- const isCollateral = this.safeValue(market, 'isCollateral');
314
- const typeId = this.safeString(market, 'type');
315
- let type = undefined;
316
- let settle = undefined;
317
- let settleId = undefined;
318
- let symbol = base + '/' + quote;
319
- const swap = typeId === 'futures';
320
- const margin = isCollateral && !swap;
321
- let contract = false;
322
- const amountPrecision = this.parseNumber(this.parsePrecision(this.safeString(market, 'stockPrec')));
323
- const contractSize = amountPrecision;
324
- let linear = undefined;
325
- let inverse = undefined;
326
- if (swap) {
327
- settleId = quoteId;
328
- settle = this.safeCurrencyCode(settleId);
329
- symbol = symbol + ':' + settle;
330
- type = 'swap';
331
- contract = true;
332
- linear = true;
333
- inverse = false;
334
- }
335
- else {
336
- type = 'spot';
337
- }
338
- const takerFeeRate = this.safeString(market, 'takerFee');
339
- const taker = Precise.stringDiv(takerFeeRate, '100');
340
- const makerFeeRate = this.safeString(market, 'makerFee');
341
- const maker = Precise.stringDiv(makerFeeRate, '100');
342
- const entry = {
343
- 'id': id,
344
- 'symbol': symbol,
345
- 'base': base,
346
- 'quote': quote,
347
- 'settle': settle,
348
- 'baseId': baseId,
349
- 'quoteId': quoteId,
350
- 'settleId': settleId,
351
- 'type': type,
352
- 'spot': !swap,
353
- 'margin': margin,
354
- 'swap': swap,
355
- 'future': false,
356
- 'option': false,
357
- 'active': active,
358
- 'contract': contract,
359
- 'linear': linear,
360
- 'inverse': inverse,
361
- 'taker': this.parseNumber(taker),
362
- 'maker': this.parseNumber(maker),
363
- 'contractSize': contractSize,
364
- 'expiry': undefined,
365
- 'expiryDatetime': undefined,
366
- 'strike': undefined,
367
- 'optionType': undefined,
368
- 'precision': {
369
- 'amount': amountPrecision,
370
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'moneyPrec'))),
303
+ return this.parseMarkets(markets);
304
+ }
305
+ parseMarket(market) {
306
+ const id = this.safeString(market, 'name');
307
+ const baseId = this.safeString(market, 'stock');
308
+ let quoteId = this.safeString(market, 'money');
309
+ quoteId = (quoteId === 'PERP') ? 'USDT' : quoteId;
310
+ const base = this.safeCurrencyCode(baseId);
311
+ const quote = this.safeCurrencyCode(quoteId);
312
+ const active = this.safeValue(market, 'tradesEnabled');
313
+ const isCollateral = this.safeValue(market, 'isCollateral');
314
+ const typeId = this.safeString(market, 'type');
315
+ let type = undefined;
316
+ let settle = undefined;
317
+ let settleId = undefined;
318
+ let symbol = base + '/' + quote;
319
+ const swap = typeId === 'futures';
320
+ const margin = isCollateral && !swap;
321
+ let contract = false;
322
+ const amountPrecision = this.parseNumber(this.parsePrecision(this.safeString(market, 'stockPrec')));
323
+ const contractSize = amountPrecision;
324
+ let linear = undefined;
325
+ let inverse = undefined;
326
+ if (swap) {
327
+ settleId = quoteId;
328
+ settle = this.safeCurrencyCode(settleId);
329
+ symbol = symbol + ':' + settle;
330
+ type = 'swap';
331
+ contract = true;
332
+ linear = true;
333
+ inverse = false;
334
+ }
335
+ else {
336
+ type = 'spot';
337
+ }
338
+ const takerFeeRate = this.safeString(market, 'takerFee');
339
+ const taker = Precise.stringDiv(takerFeeRate, '100');
340
+ const makerFeeRate = this.safeString(market, 'makerFee');
341
+ const maker = Precise.stringDiv(makerFeeRate, '100');
342
+ return {
343
+ 'id': id,
344
+ 'symbol': symbol,
345
+ 'base': base,
346
+ 'quote': quote,
347
+ 'settle': settle,
348
+ 'baseId': baseId,
349
+ 'quoteId': quoteId,
350
+ 'settleId': settleId,
351
+ 'type': type,
352
+ 'spot': !swap,
353
+ 'margin': margin,
354
+ 'swap': swap,
355
+ 'future': false,
356
+ 'option': false,
357
+ 'active': active,
358
+ 'contract': contract,
359
+ 'linear': linear,
360
+ 'inverse': inverse,
361
+ 'taker': this.parseNumber(taker),
362
+ 'maker': this.parseNumber(maker),
363
+ 'contractSize': contractSize,
364
+ 'expiry': undefined,
365
+ 'expiryDatetime': undefined,
366
+ 'strike': undefined,
367
+ 'optionType': undefined,
368
+ 'precision': {
369
+ 'amount': amountPrecision,
370
+ 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'moneyPrec'))),
371
+ },
372
+ 'limits': {
373
+ 'leverage': {
374
+ 'min': undefined,
375
+ 'max': undefined,
371
376
  },
372
- 'limits': {
373
- 'leverage': {
374
- 'min': undefined,
375
- 'max': undefined,
376
- },
377
- 'amount': {
378
- 'min': this.safeNumber(market, 'minAmount'),
379
- 'max': undefined,
380
- },
381
- 'price': {
382
- 'min': undefined,
383
- 'max': undefined,
384
- },
385
- 'cost': {
386
- 'min': this.safeNumber(market, 'minTotal'),
387
- 'max': this.safeNumber(market, 'maxTotal'),
388
- },
377
+ 'amount': {
378
+ 'min': this.safeNumber(market, 'minAmount'),
379
+ 'max': undefined,
389
380
  },
390
- 'created': undefined,
391
- 'info': market,
392
- };
393
- result.push(entry);
394
- }
395
- return result;
381
+ 'price': {
382
+ 'min': undefined,
383
+ 'max': undefined,
384
+ },
385
+ 'cost': {
386
+ 'min': this.safeNumber(market, 'minTotal'),
387
+ 'max': this.safeNumber(market, 'maxTotal'),
388
+ },
389
+ },
390
+ 'created': undefined,
391
+ 'info': market,
392
+ };
396
393
  }
397
394
  async fetchCurrencies(params = {}) {
398
395
  /**
package/js/src/woo.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import Exchange from './abstract/woo.js';
2
- import { Balances, FundingRateHistory, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Trade, Transaction } from './base/types.js';
2
+ import { Balances, FundingRateHistory, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class woo
5
5
  * @extends Exchange
6
6
  */
7
7
  export default class woo extends Exchange {
8
8
  describe(): any;
9
- fetchMarkets(params?: {}): Promise<any[]>;
9
+ fetchMarkets(params?: {}): Promise<import("./base/types.js").MarketInterface[]>;
10
+ parseMarket(market: any): Market;
10
11
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
11
12
  parseTrade(trade: any, market?: any): Trade;
12
13
  parseTokenAndFeeTemp(item: any, feeTokenKey: any, feeAmountKey: any): any;
@@ -14,18 +15,18 @@ export default class woo extends Exchange {
14
15
  fetchCurrencies(params?: {}): Promise<{}>;
15
16
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
16
17
  editOrder(id: string, symbol: any, type: any, side: any, amount?: any, price?: any, params?: {}): Promise<Order>;
17
- cancelOrder(id: string, symbol?: string, params?: {}): Promise<any>;
18
- cancelAllOrders(symbol?: string, params?: {}): Promise<any>;
19
- fetchOrder(id: string, symbol?: string, params?: {}): Promise<Order>;
20
- fetchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
18
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
19
+ cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
20
+ fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
21
+ fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
21
22
  parseTimeInForce(timeInForce: any): string;
22
23
  parseOrder(order: any, market?: any): Order;
23
24
  parseOrderStatus(status: any): any;
24
25
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
25
26
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
26
27
  parseOHLCV(ohlcv: any, market?: any): OHLCV;
27
- fetchOrderTrades(id: string, symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
28
- fetchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
28
+ fetchOrderTrades(id: string, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
29
+ fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
29
30
  fetchAccounts(params?: {}): Promise<any[]>;
30
31
  parseAccount(account: any): {
31
32
  info: any;
@@ -43,8 +44,8 @@ export default class woo extends Exchange {
43
44
  network: string;
44
45
  info: any;
45
46
  }>;
46
- getAssetHistoryRows(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any[]>;
47
- fetchLedger(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
47
+ getAssetHistoryRows(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any[]>;
48
+ fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
48
49
  parseLedgerEntry(item: any, currency?: any): {
49
50
  id: string;
50
51
  currency: any;
@@ -64,9 +65,9 @@ export default class woo extends Exchange {
64
65
  };
65
66
  parseLedgerEntryType(type: any): string;
66
67
  getCurrencyFromChaincode(networkizedCode: any, currency: any): any;
67
- fetchDeposits(code?: string, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
68
- fetchWithdrawals(code?: string, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
69
- fetchDepositsWithdrawals(code?: string, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
68
+ fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
69
+ fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
70
+ fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
70
71
  parseTransaction(transaction: any, currency?: any): Transaction;
71
72
  parseTransactionStatus(status: any): string;
72
73
  transfer(code: string, amount: any, fromAccount: any, toAccount: any, params?: {}): Promise<{
@@ -80,7 +81,7 @@ export default class woo extends Exchange {
80
81
  status: string;
81
82
  info: any;
82
83
  }>;
83
- fetchTransfers(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
84
+ fetchTransfers(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
84
85
  parseTransfer(transfer: any, currency?: any): {
85
86
  id: string;
86
87
  timestamp: number;
@@ -94,7 +95,7 @@ export default class woo extends Exchange {
94
95
  };
95
96
  parseTransferStatus(status: any): string;
96
97
  withdraw(code: string, amount: any, address: any, tag?: any, params?: {}): Promise<Transaction>;
97
- repayMargin(code: string, amount: any, symbol?: string, params?: {}): Promise<any>;
98
+ repayMargin(code: string, amount: any, symbol?: Str, params?: {}): Promise<any>;
98
99
  parseMarginLoan(info: any, currency?: any): {
99
100
  id: any;
100
101
  currency: any;
@@ -122,7 +123,7 @@ export default class woo extends Exchange {
122
123
  amount: number;
123
124
  rate: number;
124
125
  };
125
- fetchFundingHistory(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").FundingHistory[]>;
126
+ fetchFundingHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").FundingHistory[]>;
126
127
  parseFundingRate(fundingRate: any, market?: any): {
127
128
  info: any;
128
129
  symbol: any;
@@ -161,15 +162,15 @@ export default class woo extends Exchange {
161
162
  previousFundingTimestamp: number;
162
163
  previousFundingDatetime: string;
163
164
  }>;
164
- fetchFundingRates(symbols?: string[], params?: {}): Promise<any>;
165
- fetchFundingRateHistory(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<FundingRateHistory[]>;
165
+ fetchFundingRates(symbols?: Strings, params?: {}): Promise<any>;
166
+ fetchFundingRateHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<FundingRateHistory[]>;
166
167
  fetchLeverage(symbol: string, params?: {}): Promise<{
167
168
  info: any;
168
169
  leverage: number;
169
170
  }>;
170
- setLeverage(leverage: any, symbol?: string, params?: {}): Promise<any>;
171
- fetchPosition(symbol?: string, params?: {}): Promise<import("./base/types.js").Position>;
172
- fetchPositions(symbols?: string[], params?: {}): Promise<import("./base/types.js").Position[]>;
171
+ setLeverage(leverage: any, symbol?: Str, params?: {}): Promise<any>;
172
+ fetchPosition(symbol?: Str, params?: {}): Promise<import("./base/types.js").Position>;
173
+ fetchPositions(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
173
174
  parsePosition(position: any, market?: any): import("./base/types.js").Position;
174
175
  defaultNetworkCodeForCurrency(code: any): any;
175
176
  setSandboxMode(enable: any): void;
package/js/src/woo.js CHANGED
@@ -332,86 +332,84 @@ export default class woo extends Exchange {
332
332
  // "success": true
333
333
  // }
334
334
  //
335
- const result = [];
336
335
  const data = this.safeValue(response, 'rows', []);
337
- for (let i = 0; i < data.length; i++) {
338
- const market = data[i];
339
- const marketId = this.safeString(market, 'symbol');
340
- const parts = marketId.split('_');
341
- let marketType = this.safeStringLower(parts, 0);
342
- const isSpot = marketType === 'spot';
343
- const isSwap = marketType === 'perp';
344
- const baseId = this.safeString(parts, 1);
345
- const quoteId = this.safeString(parts, 2);
346
- const base = this.safeCurrencyCode(baseId);
347
- const quote = this.safeCurrencyCode(quoteId);
348
- let settleId = undefined;
349
- let settle = undefined;
350
- let symbol = base + '/' + quote;
351
- let contractSize = undefined;
352
- let linear = undefined;
353
- let margin = true;
354
- const contract = isSwap;
355
- if (contract) {
356
- margin = false;
357
- settleId = this.safeString(parts, 2);
358
- settle = this.safeCurrencyCode(settleId);
359
- symbol = base + '/' + quote + ':' + settle;
360
- contractSize = this.parseNumber('1');
361
- marketType = 'swap';
362
- linear = true;
363
- }
364
- result.push({
365
- 'id': marketId,
366
- 'symbol': symbol,
367
- 'base': base,
368
- 'quote': quote,
369
- 'settle': settle,
370
- 'baseId': baseId,
371
- 'quoteId': quoteId,
372
- 'settleId': settleId,
373
- 'type': marketType,
374
- 'spot': isSpot,
375
- 'margin': margin,
376
- 'swap': isSwap,
377
- 'future': false,
378
- 'option': false,
379
- 'active': undefined,
380
- 'contract': contract,
381
- 'linear': linear,
382
- 'inverse': undefined,
383
- 'contractSize': contractSize,
384
- 'expiry': undefined,
385
- 'expiryDatetime': undefined,
386
- 'strike': undefined,
387
- 'optionType': undefined,
388
- 'precision': {
389
- 'amount': this.safeNumber(market, 'base_tick'),
390
- 'price': this.safeNumber(market, 'quote_tick'),
336
+ return this.parseMarkets(data);
337
+ }
338
+ parseMarket(market) {
339
+ const marketId = this.safeString(market, 'symbol');
340
+ const parts = marketId.split('_');
341
+ let marketType = this.safeStringLower(parts, 0);
342
+ const isSpot = marketType === 'spot';
343
+ const isSwap = marketType === 'perp';
344
+ const baseId = this.safeString(parts, 1);
345
+ const quoteId = this.safeString(parts, 2);
346
+ const base = this.safeCurrencyCode(baseId);
347
+ const quote = this.safeCurrencyCode(quoteId);
348
+ let settleId = undefined;
349
+ let settle = undefined;
350
+ let symbol = base + '/' + quote;
351
+ let contractSize = undefined;
352
+ let linear = undefined;
353
+ let margin = true;
354
+ const contract = isSwap;
355
+ if (contract) {
356
+ margin = false;
357
+ settleId = this.safeString(parts, 2);
358
+ settle = this.safeCurrencyCode(settleId);
359
+ symbol = base + '/' + quote + ':' + settle;
360
+ contractSize = this.parseNumber('1');
361
+ marketType = 'swap';
362
+ linear = true;
363
+ }
364
+ return {
365
+ 'id': marketId,
366
+ 'symbol': symbol,
367
+ 'base': base,
368
+ 'quote': quote,
369
+ 'settle': settle,
370
+ 'baseId': baseId,
371
+ 'quoteId': quoteId,
372
+ 'settleId': settleId,
373
+ 'type': marketType,
374
+ 'spot': isSpot,
375
+ 'margin': margin,
376
+ 'swap': isSwap,
377
+ 'future': false,
378
+ 'option': false,
379
+ 'active': undefined,
380
+ 'contract': contract,
381
+ 'linear': linear,
382
+ 'inverse': undefined,
383
+ 'contractSize': contractSize,
384
+ 'expiry': undefined,
385
+ 'expiryDatetime': undefined,
386
+ 'strike': undefined,
387
+ 'optionType': undefined,
388
+ 'precision': {
389
+ 'amount': this.safeNumber(market, 'base_tick'),
390
+ 'price': this.safeNumber(market, 'quote_tick'),
391
+ },
392
+ 'limits': {
393
+ 'leverage': {
394
+ 'min': undefined,
395
+ 'max': undefined,
391
396
  },
392
- 'limits': {
393
- 'leverage': {
394
- 'min': undefined,
395
- 'max': undefined,
396
- },
397
- 'amount': {
398
- 'min': this.safeNumber(market, 'base_min'),
399
- 'max': this.safeNumber(market, 'base_max'),
400
- },
401
- 'price': {
402
- 'min': this.safeNumber(market, 'quote_min'),
403
- 'max': this.safeNumber(market, 'quote_max'),
404
- },
405
- 'cost': {
406
- 'min': this.safeNumber(market, 'min_notional'),
407
- 'max': undefined,
408
- },
397
+ 'amount': {
398
+ 'min': this.safeNumber(market, 'base_min'),
399
+ 'max': this.safeNumber(market, 'base_max'),
409
400
  },
410
- 'created': this.safeTimestamp(market, 'created_time'),
411
- 'info': market,
412
- });
413
- }
414
- return result;
401
+ 'price': {
402
+ 'min': this.safeNumber(market, 'quote_min'),
403
+ 'max': this.safeNumber(market, 'quote_max'),
404
+ },
405
+ 'cost': {
406
+ 'min': this.safeNumber(market, 'min_notional'),
407
+ 'max': undefined,
408
+ },
409
+ },
410
+ 'created': this.safeTimestamp(market, 'created_time'),
411
+ 'info': market,
412
+ };
415
413
  }
416
414
  async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
417
415
  /**
package/js/src/yobit.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/yobit.js';
2
- import { Balances, Dictionary, Int, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade } from './base/types.js';
2
+ import { Balances, Dictionary, Int, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade } from './base/types.js';
3
3
  /**
4
4
  * @class yobit
5
5
  * @extends Exchange
@@ -10,20 +10,20 @@ export default class yobit extends Exchange {
10
10
  fetchBalance(params?: {}): Promise<Balances>;
11
11
  fetchMarkets(params?: {}): Promise<any[]>;
12
12
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
13
- fetchOrderBooks(symbols?: string[], limit?: Int, params?: {}): Promise<Dictionary<OrderBook>>;
13
+ fetchOrderBooks(symbols?: Strings, limit?: Int, params?: {}): Promise<Dictionary<OrderBook>>;
14
14
  parseTicker(ticker: any, market?: any): Ticker;
15
- fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
15
+ fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
16
16
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
17
17
  parseTrade(trade: any, market?: any): Trade;
18
18
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
19
19
  fetchTradingFees(params?: {}): Promise<{}>;
20
20
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
21
- cancelOrder(id: string, symbol?: string, params?: {}): Promise<Order>;
21
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
22
22
  parseOrderStatus(status: any): string;
23
23
  parseOrder(order: any, market?: any): Order;
24
- fetchOrder(id: string, symbol?: string, params?: {}): Promise<Order>;
25
- fetchOpenOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
26
- fetchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
24
+ fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
25
+ fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
26
+ fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
27
27
  createDepositAddress(code: string, params?: {}): Promise<{
28
28
  currency: string;
29
29
  address: string;
package/js/src/zaif.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import Exchange from './abstract/zaif.js';
2
- import { Balances, Int, Order, OrderBook, OrderSide, OrderType, Ticker, Trade, Transaction } from './base/types.js';
2
+ import { Balances, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class zaif
5
5
  * @extends Exchange
6
6
  */
7
7
  export default class zaif extends Exchange {
8
8
  describe(): any;
9
- fetchMarkets(params?: {}): Promise<any[]>;
9
+ fetchMarkets(params?: {}): Promise<import("./base/types.js").MarketInterface[]>;
10
+ parseMarket(market: any): Market;
10
11
  parseBalance(response: any): Balances;
11
12
  fetchBalance(params?: {}): Promise<Balances>;
12
13
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
@@ -15,10 +16,10 @@ export default class zaif extends Exchange {
15
16
  parseTrade(trade: any, market?: any): Trade;
16
17
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
17
18
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
18
- cancelOrder(id: string, symbol?: string, params?: {}): Promise<any>;
19
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
19
20
  parseOrder(order: any, market?: any): Order;
20
- fetchOpenOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
21
- fetchClosedOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
21
+ fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
22
+ fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
22
23
  withdraw(code: string, amount: any, address: any, tag?: any, params?: {}): Promise<Transaction>;
23
24
  parseTransaction(transaction: any, currency?: any): Transaction;
24
25
  customNonce(): string;