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,5 +1,5 @@
1
1
  import idexRest from '../idex.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 idex extends idexRest {
5
5
  describe(): any;
@@ -20,9 +20,9 @@ export default class idex extends idexRest {
20
20
  handleDelta(bookside: any, delta: any): void;
21
21
  handleDeltas(bookside: any, deltas: any): void;
22
22
  authenticate(params?: {}): Promise<any>;
23
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
23
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
24
24
  handleOrder(client: Client, message: any): void;
25
- watchTransactions(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
25
+ watchTransactions(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
26
26
  handleTransaction(client: Client, message: any): void;
27
27
  handleMessage(client: Client, message: any): void;
28
28
  }
@@ -1,15 +1,15 @@
1
1
  import krakenRest from '../kraken.js';
2
- import { Int, OrderSide, OrderType } from '../base/types.js';
2
+ import { Int, OrderSide, OrderType, Str } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class kraken extends krakenRest {
5
5
  describe(): any;
6
6
  createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<any>;
7
7
  handleCreateEditOrder(client: any, message: any): void;
8
8
  editOrderWs(id: string, symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<any>;
9
- cancelOrdersWs(ids: string[], symbol?: string, params?: {}): Promise<any>;
10
- cancelOrderWs(id: string, symbol?: string, params?: {}): Promise<any>;
9
+ cancelOrdersWs(ids: string[], symbol?: Str, params?: {}): Promise<any>;
10
+ cancelOrderWs(id: string, symbol?: Str, params?: {}): Promise<any>;
11
11
  handleCancelOrder(client: any, message: any): void;
12
- cancelAllOrdersWs(symbol?: string, params?: {}): Promise<any>;
12
+ cancelAllOrdersWs(symbol?: Str, params?: {}): Promise<any>;
13
13
  handleCancelAllOrders(client: any, message: any): void;
14
14
  handleTicker(client: any, message: any, subscription: any): void;
15
15
  handleTrades(client: Client, message: any, subscription: any): void;
@@ -20,7 +20,7 @@ export default class kraken extends krakenRest {
20
20
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
21
21
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<any>;
22
22
  watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
23
- loadMarkets(reload?: boolean, params?: {}): Promise<import("../base/types.js").Dictionary<import("../base/types.js").Market>>;
23
+ loadMarkets(reload?: boolean, params?: {}): Promise<import("../base/types.js").Dictionary<import("../base/types.js").MarketInterface>>;
24
24
  watchHeartbeat(params?: {}): Promise<any>;
25
25
  handleHeartbeat(client: Client, message: any): void;
26
26
  handleOrderBook(client: Client, message: any, subscription: any): void;
@@ -28,8 +28,8 @@ export default class kraken extends krakenRest {
28
28
  handleDeltas(bookside: any, deltas: any, timestamp?: any): any;
29
29
  handleSystemStatus(client: Client, message: any): any;
30
30
  authenticate(params?: {}): Promise<string>;
31
- watchPrivate(name: any, symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
32
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
31
+ watchPrivate(name: any, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
32
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
33
33
  handleMyTrades(client: Client, message: any, subscription?: any): void;
34
34
  parseWsTrade(trade: any, market?: any): {
35
35
  id: string;
@@ -46,7 +46,7 @@ export default class kraken extends krakenRest {
46
46
  cost: any;
47
47
  fee: any;
48
48
  };
49
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
49
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
50
50
  handleOrders(client: Client, message: any, subscription?: any): void;
51
51
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
52
52
  handleSubscriptionStatus(client: Client, message: any): void;
@@ -1,5 +1,5 @@
1
1
  import krakenfuturesRest from '../krakenfutures.js';
2
- import { Int } from '../base/types.js';
2
+ import { Int, Str, Strings } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class krakenfutures extends krakenfuturesRest {
5
5
  describe(): any;
@@ -7,14 +7,14 @@ export default class krakenfutures extends krakenfuturesRest {
7
7
  subscribePublic(name: string, symbols: string[], params?: {}): Promise<any>;
8
8
  subscribePrivate(name: string, messageHash: string, params?: {}): Promise<any>;
9
9
  watchTicker(symbol: string, params?: {}): Promise<any>;
10
- watchTickers(symbols?: string[], params?: {}): Promise<any>;
11
- watchTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
10
+ watchTickers(symbols?: Strings, params?: {}): Promise<any>;
11
+ watchTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
12
12
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<any>;
13
- watchPositions(symbols?: string[], since?: Int, limit?: Int, params?: {}): Promise<any>;
13
+ watchPositions(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<any>;
14
14
  handlePositions(client: any, message: any): void;
15
15
  parseWsPosition(position: any, market?: any): import("../base/types.js").Position;
16
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
17
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
16
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
17
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
18
18
  watchBalance(params?: {}): Promise<any>;
19
19
  handleTrade(client: Client, message: any): any;
20
20
  parseWsTrade(trade: any, market?: any): import("../base/types.js").Trade;
@@ -1,5 +1,5 @@
1
1
  import kucoinRest from '../kucoin.js';
2
- import { Int } from '../base/types.js';
2
+ import { Int, Str, Strings } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class kucoin extends kucoinRest {
5
5
  describe(): any;
@@ -8,7 +8,7 @@ export default class kucoin extends kucoinRest {
8
8
  requestId(): any;
9
9
  subscribe(url: any, messageHash: any, subscriptionHash: any, params?: {}, subscription?: any): Promise<any>;
10
10
  watchTicker(symbol: string, params?: {}): Promise<any>;
11
- watchTickers(symbols?: string[], params?: {}): Promise<any>;
11
+ watchTickers(symbols?: Strings, params?: {}): Promise<any>;
12
12
  handleTicker(client: Client, message: any): void;
13
13
  watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
14
14
  handleOHLCV(client: Client, message: any): void;
@@ -24,11 +24,11 @@ export default class kucoin extends kucoinRest {
24
24
  handleOrderBookSubscription(client: Client, message: any, subscription: any): void;
25
25
  handleSubscriptionStatus(client: Client, message: any): void;
26
26
  handleSystemStatus(client: Client, message: any): any;
27
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
27
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
28
28
  parseWsOrderStatus(status: any): string;
29
29
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
30
30
  handleOrder(client: Client, message: any): void;
31
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
31
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
32
32
  handleMyTrade(client: Client, message: any): void;
33
33
  parseWsTrade(trade: any, market?: any): import("../base/types.js").Trade;
34
34
  watchBalance(params?: {}): Promise<any>;
@@ -1,5 +1,5 @@
1
1
  import kucoinfuturesRest from '../kucoinfutures.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 kucoinfutures extends kucoinfuturesRest {
5
5
  describe(): any;
@@ -9,7 +9,7 @@ export default class kucoinfutures extends kucoinfuturesRest {
9
9
  subscribe(url: any, messageHash: any, subscriptionHash: any, subscription: any, params?: {}): Promise<any>;
10
10
  watchTicker(symbol: string, params?: {}): Promise<any>;
11
11
  handleTicker(client: Client, message: any): any;
12
- watchPosition(symbol?: string, params?: {}): Promise<any>;
12
+ watchPosition(symbol?: Str, params?: {}): Promise<any>;
13
13
  getCurrentPosition(symbol: any): any;
14
14
  setPositionCache(client: Client, symbol: string): void;
15
15
  loadPositionSnapshot(client: any, messageHash: any, symbol: any): Promise<void>;
@@ -26,7 +26,7 @@ export default class kucoinfutures extends kucoinfuturesRest {
26
26
  handleOrderBookSubscription(client: Client, message: any, subscription: any): void;
27
27
  handleSubscriptionStatus(client: Client, message: any): any;
28
28
  handleSystemStatus(client: Client, message: any): any;
29
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
29
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
30
30
  parseWsOrderStatus(status: any): string;
31
31
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
32
32
  handleOrder(client: Client, message: any): void;
@@ -1,5 +1,5 @@
1
1
  import mexcRest from '../mexc.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 mexc extends mexcRest {
5
5
  describe(): any;
@@ -21,10 +21,10 @@ export default class mexc extends mexcRest {
21
21
  handleDelta(orderbook: any, delta: any): void;
22
22
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
23
23
  handleTrades(client: Client, message: any): void;
24
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
24
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
25
25
  handleMyTrade(client: Client, message: any, subscription?: any): void;
26
26
  parseWsTrade(trade: any, market?: any): import("../base/types.js").Trade;
27
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
27
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
28
28
  handleOrder(client: Client, message: any): void;
29
29
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
30
30
  parseWsOrderStatus(status: any, market?: any): string;
@@ -1,11 +1,11 @@
1
1
  import okcoinRest from '../okcoin.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 okcoin extends okcoinRest {
5
5
  describe(): any;
6
6
  subscribe(channel: any, symbol: any, params?: {}): Promise<any>;
7
7
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
8
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
8
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
9
9
  handleOrders(client: Client, message: any, subscription?: any): void;
10
10
  watchTicker(symbol: string, params?: {}): Promise<any>;
11
11
  handleTrade(client: Client, message: any): any;
@@ -1,16 +1,16 @@
1
1
  import okxRest from '../okx.js';
2
- import { Int, OrderSide, OrderType } from '../base/types.js';
2
+ import { Int, OrderSide, OrderType, Str, Strings } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class okx extends okxRest {
5
5
  describe(): any;
6
6
  getUrl(channel: string, access?: string): string;
7
- subscribeMultiple(access: any, channel: any, symbols?: string[], params?: {}): Promise<any>;
7
+ subscribeMultiple(access: any, channel: any, symbols?: Strings, params?: {}): Promise<any>;
8
8
  subscribe(access: any, messageHash: any, channel: any, symbol: any, params?: {}): Promise<any>;
9
9
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
10
10
  watchTradesForSymbols(symbols: string[], since?: Int, limit?: Int, params?: {}): Promise<any>;
11
11
  handleTrades(client: Client, message: any): any;
12
12
  watchTicker(symbol: string, params?: {}): Promise<any>;
13
- watchTickers(symbols?: string[], params?: {}): Promise<any>;
13
+ watchTickers(symbols?: Strings, params?: {}): Promise<any>;
14
14
  handleTicker(client: Client, message: any): any;
15
15
  watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
16
16
  handleOHLCV(client: Client, message: any): void;
@@ -24,18 +24,18 @@ export default class okx extends okxRest {
24
24
  watchBalance(params?: {}): Promise<any>;
25
25
  handleBalance(client: Client, message: any): void;
26
26
  orderToTrade(order: any, market?: any): import("../base/types.js").Trade;
27
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
28
- watchPositions(symbols?: string[], since?: Int, limit?: Int, params?: {}): Promise<any>;
27
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
28
+ watchPositions(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<any>;
29
29
  handlePositions(client: any, message: any): void;
30
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
30
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
31
31
  handleOrders(client: Client, message: any, subscription?: any): void;
32
32
  handleMyTrades(client: Client, message: any): void;
33
33
  createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<any>;
34
34
  handlePlaceOrders(client: Client, message: any): void;
35
35
  editOrderWs(id: string, symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<any>;
36
- cancelOrderWs(id: string, symbol?: string, params?: {}): Promise<any>;
37
- cancelOrdersWs(ids: string[], symbol?: string, params?: {}): Promise<any>;
38
- cancelAllOrdersWs(symbol?: string, params?: {}): Promise<any>;
36
+ cancelOrderWs(id: string, symbol?: Str, params?: {}): Promise<any>;
37
+ cancelOrdersWs(ids: string[], symbol?: Str, params?: {}): Promise<any>;
38
+ cancelAllOrdersWs(symbol?: Str, params?: {}): Promise<any>;
39
39
  handleCancelAllOrders(client: Client, message: any): void;
40
40
  handleSubscriptionStatus(client: Client, message: any): any;
41
41
  handleAuthenticate(client: Client, message: any): void;
@@ -1,5 +1,5 @@
1
1
  import phemexRest from '../phemex.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 phemex extends phemexRest {
5
5
  describe(): any;
@@ -64,9 +64,9 @@ export default class phemex extends phemexRest {
64
64
  handleDelta(bookside: any, delta: any, market?: any): void;
65
65
  handleDeltas(bookside: any, deltas: any, market?: any): void;
66
66
  handleOrderBook(client: Client, message: any): void;
67
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
67
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
68
68
  handleMyTrades(client: Client, message: any): void;
69
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
69
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
70
70
  handleOrders(client: Client, message: any): void;
71
71
  parseWSSwapOrder(order: any, market?: any): import("../base/types.js").Order;
72
72
  handleMessage(client: Client, message: any): any;
@@ -1,17 +1,17 @@
1
1
  import poloniexRest from '../poloniex.js';
2
- import { Int, OHLCV } from '../base/types.js';
2
+ import { Int, OHLCV, Str, Strings } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class poloniex extends poloniexRest {
5
5
  describe(): any;
6
6
  authenticate(params?: {}): Promise<any>;
7
- subscribe(name: string, messageHash: string, isPrivate: boolean, symbols?: string[], params?: {}): Promise<any>;
7
+ subscribe(name: string, messageHash: string, isPrivate: boolean, symbols?: Strings, params?: {}): Promise<any>;
8
8
  watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
9
9
  watchTicker(symbol: string, params?: {}): Promise<any>;
10
10
  watchTickers(symbols?: any, params?: {}): Promise<any>;
11
11
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
12
12
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<any>;
13
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
14
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
13
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
14
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
15
15
  watchBalance(params?: {}): Promise<any>;
16
16
  parseWsOHLCV(ohlcv: any, market?: any): OHLCV;
17
17
  handleOHLCV(client: Client, message: any): any;
@@ -1,12 +1,12 @@
1
1
  import poloniexfuturesRest from '../poloniexfutures.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 poloniexfutures extends poloniexfuturesRest {
5
5
  describe(): any;
6
6
  negotiate(privateChannel: any, params?: {}): any;
7
7
  negotiateHelper(privateChannel: any, params?: {}): Promise<string>;
8
8
  requestId(): any;
9
- subscribe(name: string, isPrivate: boolean, symbol?: string, subscription?: any, params?: {}): Promise<any>;
9
+ subscribe(name: string, isPrivate: boolean, symbol?: Str, subscription?: any, params?: {}): Promise<any>;
10
10
  onClose(client: any, error: any): void;
11
11
  stream(url: any, subscriptionHash: any): Promise<string>;
12
12
  handleOrderBookSubscription(client: Client, message: any, subscription: any): void;
@@ -15,7 +15,7 @@ export default class poloniexfutures extends poloniexfuturesRest {
15
15
  watchTicker(symbol: string, params?: {}): Promise<any>;
16
16
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
17
17
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<any>;
18
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): any;
18
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): any;
19
19
  watchBalance(params?: {}): Promise<any>;
20
20
  handleTrade(client: Client, message: any): any;
21
21
  parseWsTrade(trade: any, market?: any): import("../base/types.js").Trade;
@@ -15,6 +15,15 @@ export default class poloniexfutures extends poloniexfuturesRest {
15
15
  return this.deepExtend(super.describe(), {
16
16
  'has': {
17
17
  'ws': true,
18
+ 'cancelAllOrdersWs': false,
19
+ 'cancelOrdersWs': false,
20
+ 'cancelOrderWs': false,
21
+ 'createOrderWs': false,
22
+ 'editOrderWs': false,
23
+ 'fetchBalanceWs': false,
24
+ 'fetchOpenOrdersWs': false,
25
+ 'fetchOrderWs': false,
26
+ 'fetchTradesWs': false,
18
27
  'watchOHLCV': false,
19
28
  'watchOrderBook': true,
20
29
  'watchTicker': true,
@@ -1,5 +1,5 @@
1
1
  import probitRest from '../probit.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 probit extends probitRest {
5
5
  describe(): any;
@@ -10,9 +10,9 @@ export default class probit extends probitRest {
10
10
  handleTicker(client: Client, message: any): void;
11
11
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
12
12
  handleTrades(client: Client, message: any): void;
13
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
13
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
14
14
  handleMyTrades(client: Client, message: any): void;
15
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
15
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
16
16
  handleOrders(client: Client, message: any): void;
17
17
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<any>;
18
18
  subscribeOrderBook(symbol: string, messageHash: any, filter: any, params?: {}): Promise<any>;
@@ -1,5 +1,5 @@
1
1
  import wazirxRest from '../wazirx.js';
2
- import { Int, OHLCV } from '../base/types.js';
2
+ import { Int, OHLCV, Str, Strings } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class wazirx extends wazirxRest {
5
5
  describe(): any;
@@ -7,12 +7,12 @@ export default class wazirx extends wazirxRest {
7
7
  handleBalance(client: Client, message: any): void;
8
8
  parseWsTrade(trade: any, market?: any): import("../base/types.js").Trade;
9
9
  watchTicker(symbol: string, params?: {}): Promise<any>;
10
- watchTickers(symbols?: string[], params?: {}): Promise<any>;
10
+ watchTickers(symbols?: Strings, params?: {}): Promise<any>;
11
11
  handleTicker(client: Client, message: any): void;
12
12
  parseWSTicker(ticker: any, market?: any): import("../base/types.js").Ticker;
13
13
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
14
14
  handleTrades(client: Client, message: any): void;
15
- watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
15
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
16
16
  watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
17
17
  handleOHLCV(client: Client, message: any): void;
18
18
  parseWsOHLCV(ohlcv: any, market?: any): OHLCV;
@@ -20,7 +20,7 @@ export default class wazirx extends wazirxRest {
20
20
  handleDelta(bookside: any, delta: any): void;
21
21
  handleDeltas(bookside: any, deltas: any): void;
22
22
  handleOrderBook(client: Client, message: any): void;
23
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
23
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
24
24
  handleOrder(client: Client, message: any): void;
25
25
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
26
26
  handleMyTrades(client: Client, message: any): void;
@@ -1,5 +1,5 @@
1
1
  import whitebitRest from '../whitebit.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 whitebit extends whitebitRest {
5
5
  describe(): any;
@@ -13,10 +13,10 @@ export default class whitebit extends whitebitRest {
13
13
  handleTicker(client: Client, message: any): any;
14
14
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
15
15
  handleTrades(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, subscription?: any): void;
18
18
  parseWsTrade(trade: any, market?: any): import("../base/types.js").Trade;
19
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
19
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
20
20
  handleOrder(client: Client, message: any, subscription?: any): void;
21
21
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
22
22
  parseWsOrderType(status: any): string;
@@ -1,5 +1,5 @@
1
1
  import wooRest from '../woo.js';
2
- import { Int } from '../base/types.js';
2
+ import { Int, Str, Strings } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class woo extends wooRest {
5
5
  describe(): any;
@@ -10,7 +10,7 @@ export default class woo extends wooRest {
10
10
  watchTicker(symbol: string, params?: {}): Promise<any>;
11
11
  parseWsTicker(ticker: any, market?: any): import("../base/types.js").Ticker;
12
12
  handleTicker(client: Client, message: any): any;
13
- watchTickers(symbols?: string[], params?: {}): Promise<any>;
13
+ watchTickers(symbols?: Strings, params?: {}): Promise<any>;
14
14
  handleTickers(client: Client, message: any): void;
15
15
  watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
16
16
  handleOHLCV(client: Client, message: any): void;
@@ -20,7 +20,7 @@ export default class woo extends wooRest {
20
20
  checkRequiredUid(error?: boolean): boolean;
21
21
  authenticate(params?: {}): any;
22
22
  watchPrivate(messageHash: any, message: any, params?: {}): Promise<any>;
23
- watchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
23
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
24
24
  parseWsOrder(order: any, market?: any): import("../base/types.js").Order;
25
25
  handleOrderUpdate(client: Client, message: any): void;
26
26
  handleOrder(client: Client, message: any): void;
@@ -1,34 +1,35 @@
1
1
  import Exchange from './abstract/probit.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 probit
5
5
  * @extends Exchange
6
6
  */
7
7
  export default class probit 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
  parseBalance(response: any): Balances;
12
13
  fetchBalance(params?: {}): Promise<Balances>;
13
14
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
14
- fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
15
+ fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
15
16
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
16
17
  parseTicker(ticker: any, market?: any): Ticker;
17
- fetchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
18
+ fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
18
19
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
19
20
  parseTrade(trade: any, market?: any): Trade;
20
21
  fetchTime(params?: {}): Promise<number>;
21
22
  normalizeOHLCVTimestamp(timestamp: any, timeframe: any, after?: boolean): string;
22
23
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
23
24
  parseOHLCV(ohlcv: any, market?: any): OHLCV;
24
- fetchOpenOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
25
- fetchClosedOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
26
- fetchOrder(id: string, symbol?: string, params?: {}): Promise<Order>;
25
+ fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
26
+ fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
27
+ fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
27
28
  parseOrderStatus(status: any): string;
28
29
  parseOrder(order: any, market?: any): Order;
29
30
  costToPrecision(symbol: any, cost: any): any;
30
31
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
31
- cancelOrder(id: string, symbol?: string, params?: {}): Promise<Order>;
32
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
32
33
  parseDepositAddress(depositAddress: any, currency?: any): {
33
34
  currency: any;
34
35
  address: string;
@@ -45,12 +46,12 @@ export default class probit extends Exchange {
45
46
  }>;
46
47
  fetchDepositAddresses(codes?: any, params?: {}): Promise<{}>;
47
48
  withdraw(code: string, amount: any, address: any, tag?: any, params?: {}): Promise<Transaction>;
48
- fetchDeposits(code?: string, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
49
- fetchWithdrawals(code?: string, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
50
- fetchTransactions(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
49
+ fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
50
+ fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
51
+ fetchTransactions(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
51
52
  parseTransaction(transaction: any, currency?: any): Transaction;
52
53
  parseTransactionStatus(status: any): string;
53
- fetchDepositWithdrawFees(codes?: string[], params?: {}): Promise<any>;
54
+ fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<any>;
54
55
  parseDepositWithdrawFee(fee: any, currency?: any): any;
55
56
  nonce(): number;
56
57
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
package/js/src/probit.js CHANGED
@@ -275,73 +275,70 @@ export default class probit extends Exchange {
275
275
  // }
276
276
  //
277
277
  const markets = this.safeValue(response, 'data', []);
278
- const result = [];
279
- for (let i = 0; i < markets.length; i++) {
280
- const market = markets[i];
281
- const id = this.safeString(market, 'id');
282
- const baseId = this.safeString(market, 'base_currency_id');
283
- const quoteId = this.safeString(market, 'quote_currency_id');
284
- const base = this.safeCurrencyCode(baseId);
285
- const quote = this.safeCurrencyCode(quoteId);
286
- const closed = this.safeValue(market, 'closed', false);
287
- const takerFeeRate = this.safeString(market, 'taker_fee_rate');
288
- const taker = Precise.stringDiv(takerFeeRate, '100');
289
- const makerFeeRate = this.safeString(market, 'maker_fee_rate');
290
- const maker = Precise.stringDiv(makerFeeRate, '100');
291
- result.push({
292
- 'id': id,
293
- 'symbol': base + '/' + quote,
294
- 'base': base,
295
- 'quote': quote,
296
- 'settle': undefined,
297
- 'baseId': baseId,
298
- 'quoteId': quoteId,
299
- 'settleId': undefined,
300
- 'type': 'spot',
301
- 'spot': true,
302
- 'margin': false,
303
- 'swap': false,
304
- 'future': false,
305
- 'option': false,
306
- 'active': !closed,
307
- 'contract': false,
308
- 'linear': 'rfwf',
309
- 'inverse': 3,
310
- 'taker': this.parseNumber(taker),
311
- 'maker': this.parseNumber(maker),
312
- 'contractSize': undefined,
313
- 'expiry': undefined,
314
- 'expiryDatetime': undefined,
315
- 'strike': undefined,
316
- 'optionType': undefined,
317
- 'precision': {
318
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'quantity_precision'))),
319
- 'price': this.safeNumber(market, 'price_increment'),
320
- 'cost': this.parseNumber(this.parsePrecision(this.safeString(market, 'cost_precision'))),
278
+ return this.parseMarkets(markets);
279
+ }
280
+ parseMarket(market) {
281
+ const id = this.safeString(market, 'id');
282
+ const baseId = this.safeString(market, 'base_currency_id');
283
+ const quoteId = this.safeString(market, 'quote_currency_id');
284
+ const base = this.safeCurrencyCode(baseId);
285
+ const quote = this.safeCurrencyCode(quoteId);
286
+ const closed = this.safeValue(market, 'closed', false);
287
+ const takerFeeRate = this.safeString(market, 'taker_fee_rate');
288
+ const taker = Precise.stringDiv(takerFeeRate, '100');
289
+ const makerFeeRate = this.safeString(market, 'maker_fee_rate');
290
+ const maker = Precise.stringDiv(makerFeeRate, '100');
291
+ return {
292
+ 'id': id,
293
+ 'symbol': base + '/' + quote,
294
+ 'base': base,
295
+ 'quote': quote,
296
+ 'settle': undefined,
297
+ 'baseId': baseId,
298
+ 'quoteId': quoteId,
299
+ 'settleId': undefined,
300
+ 'type': 'spot',
301
+ 'spot': true,
302
+ 'margin': false,
303
+ 'swap': false,
304
+ 'future': false,
305
+ 'option': false,
306
+ 'active': !closed,
307
+ 'contract': false,
308
+ 'linear': undefined,
309
+ 'inverse': undefined,
310
+ 'taker': this.parseNumber(taker),
311
+ 'maker': this.parseNumber(maker),
312
+ 'contractSize': undefined,
313
+ 'expiry': undefined,
314
+ 'expiryDatetime': undefined,
315
+ 'strike': undefined,
316
+ 'optionType': undefined,
317
+ 'precision': {
318
+ 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'quantity_precision'))),
319
+ 'price': this.safeNumber(market, 'price_increment'),
320
+ },
321
+ 'limits': {
322
+ 'leverage': {
323
+ 'min': undefined,
324
+ 'max': undefined,
321
325
  },
322
- 'limits': {
323
- 'leverage': {
324
- 'min': undefined,
325
- 'max': undefined,
326
- },
327
- 'amount': {
328
- 'min': this.safeNumber(market, 'min_quantity'),
329
- 'max': this.safeNumber(market, 'max_quantity'),
330
- },
331
- 'price': {
332
- 'min': this.safeNumber(market, 'min_price'),
333
- 'max': this.safeNumber(market, 'max_price'),
334
- },
335
- 'cost': {
336
- 'min': this.safeNumber(market, 'min_cost'),
337
- 'max': this.safeNumber(market, 'max_cost'),
338
- },
326
+ 'amount': {
327
+ 'min': this.safeNumber(market, 'min_quantity'),
328
+ 'max': this.safeNumber(market, 'max_quantity'),
339
329
  },
340
- 'created': undefined,
341
- 'info': market,
342
- });
343
- }
344
- return result;
330
+ 'price': {
331
+ 'min': this.safeNumber(market, 'min_price'),
332
+ 'max': this.safeNumber(market, 'max_price'),
333
+ },
334
+ 'cost': {
335
+ 'min': this.safeNumber(market, 'min_cost'),
336
+ 'max': this.safeNumber(market, 'max_cost'),
337
+ },
338
+ },
339
+ 'created': undefined,
340
+ 'info': market,
341
+ };
345
342
  }
346
343
  async fetchCurrencies(params = {}) {
347
344
  /**