ccxt 4.3.6 → 4.3.7

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 (193) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/ccxt.js +1 -1
  3. package/dist/cjs/src/ace.js +5 -0
  4. package/dist/cjs/src/alpaca.js +6 -0
  5. package/dist/cjs/src/base/Exchange.js +34 -0
  6. package/dist/cjs/src/binance.js +2 -0
  7. package/dist/cjs/src/bingx.js +2 -0
  8. package/dist/cjs/src/bitbank.js +3 -0
  9. package/dist/cjs/src/bitget.js +74 -1
  10. package/dist/cjs/src/bithumb.js +4 -0
  11. package/dist/cjs/src/bitmex.js +2 -0
  12. package/dist/cjs/src/bitopro.js +5 -0
  13. package/dist/cjs/src/bitso.js +3 -0
  14. package/dist/cjs/src/bitstamp.js +3 -0
  15. package/dist/cjs/src/bitteam.js +4 -0
  16. package/dist/cjs/src/bitvavo.js +3 -0
  17. package/dist/cjs/src/bl3p.js +3 -0
  18. package/dist/cjs/src/btcalpha.js +3 -0
  19. package/dist/cjs/src/btcbox.js +3 -0
  20. package/dist/cjs/src/btcmarkets.js +3 -0
  21. package/dist/cjs/src/btcturk.js +3 -0
  22. package/dist/cjs/src/bybit.js +123 -12
  23. package/dist/cjs/src/cex.js +6 -0
  24. package/dist/cjs/src/coinbase.js +95 -17
  25. package/dist/cjs/src/coinbaseinternational.js +2 -0
  26. package/dist/cjs/src/coinbasepro.js +6 -0
  27. package/dist/cjs/src/coincheck.js +3 -0
  28. package/dist/cjs/src/coinex.js +150 -43
  29. package/dist/cjs/src/coinlist.js +4 -0
  30. package/dist/cjs/src/coinmate.js +3 -0
  31. package/dist/cjs/src/coinone.js +3 -0
  32. package/dist/cjs/src/coinsph.js +4 -0
  33. package/dist/cjs/src/coinspot.js +3 -0
  34. package/dist/cjs/src/cryptocom.js +2 -0
  35. package/dist/cjs/src/exmo.js +5 -0
  36. package/dist/cjs/src/gate.js +124 -22
  37. package/dist/cjs/src/hitbtc.js +4 -3
  38. package/dist/cjs/src/htx.js +2 -0
  39. package/dist/cjs/src/idex.js +3 -0
  40. package/dist/cjs/src/independentreserve.js +3 -0
  41. package/dist/cjs/src/indodax.js +3 -0
  42. package/dist/cjs/src/kucoin.js +2 -0
  43. package/dist/cjs/src/kucoinfutures.js +2 -0
  44. package/dist/cjs/src/latoken.js +6 -0
  45. package/dist/cjs/src/luno.js +3 -0
  46. package/dist/cjs/src/lykke.js +5 -0
  47. package/dist/cjs/src/mercado.js +3 -0
  48. package/dist/cjs/src/mexc.js +111 -0
  49. package/dist/cjs/src/ndax.js +4 -0
  50. package/dist/cjs/src/novadax.js +4 -0
  51. package/dist/cjs/src/okx.js +83 -0
  52. package/dist/cjs/src/onetrading.js +3 -0
  53. package/dist/cjs/src/p2b.js +3 -0
  54. package/dist/cjs/src/pro/bybit.js +1 -1
  55. package/dist/cjs/src/pro/coinbase.js +30 -29
  56. package/dist/cjs/src/probit.js +3 -0
  57. package/dist/cjs/src/timex.js +3 -0
  58. package/dist/cjs/src/tradeogre.js +3 -0
  59. package/dist/cjs/src/wavesexchange.js +3 -0
  60. package/dist/cjs/src/wazirx.js +3 -0
  61. package/dist/cjs/src/woo.js +2 -0
  62. package/dist/cjs/src/yobit.js +3 -0
  63. package/js/ccxt.d.ts +1 -1
  64. package/js/ccxt.js +1 -1
  65. package/js/src/abstract/coinbase.d.ts +5 -0
  66. package/js/src/ace.js +5 -0
  67. package/js/src/alpaca.js +6 -0
  68. package/js/src/ascendex.d.ts +2 -2
  69. package/js/src/base/Exchange.d.ts +4 -0
  70. package/js/src/base/Exchange.js +34 -0
  71. package/js/src/bigone.d.ts +1 -1
  72. package/js/src/binance.d.ts +3 -3
  73. package/js/src/binance.js +2 -0
  74. package/js/src/bingx.d.ts +1 -1
  75. package/js/src/bingx.js +2 -0
  76. package/js/src/bitbank.d.ts +1 -1
  77. package/js/src/bitbank.js +3 -0
  78. package/js/src/bitfinex.d.ts +1 -1
  79. package/js/src/bitfinex2.d.ts +1 -1
  80. package/js/src/bitflyer.d.ts +1 -1
  81. package/js/src/bitget.d.ts +4 -3
  82. package/js/src/bitget.js +74 -1
  83. package/js/src/bithumb.d.ts +1 -1
  84. package/js/src/bithumb.js +4 -0
  85. package/js/src/bitmart.d.ts +1 -1
  86. package/js/src/bitmex.d.ts +1 -1
  87. package/js/src/bitmex.js +2 -0
  88. package/js/src/bitopro.d.ts +1 -1
  89. package/js/src/bitopro.js +5 -0
  90. package/js/src/bitrue.d.ts +1 -1
  91. package/js/src/bitso.d.ts +1 -1
  92. package/js/src/bitso.js +3 -0
  93. package/js/src/bitstamp.d.ts +1 -1
  94. package/js/src/bitstamp.js +3 -0
  95. package/js/src/bitteam.js +4 -0
  96. package/js/src/bitvavo.d.ts +1 -1
  97. package/js/src/bitvavo.js +3 -0
  98. package/js/src/bl3p.js +3 -0
  99. package/js/src/blockchaincom.d.ts +1 -1
  100. package/js/src/btcalpha.js +3 -0
  101. package/js/src/btcbox.js +3 -0
  102. package/js/src/btcmarkets.d.ts +1 -1
  103. package/js/src/btcmarkets.js +3 -0
  104. package/js/src/btcturk.js +3 -0
  105. package/js/src/bybit.d.ts +7 -6
  106. package/js/src/bybit.js +123 -12
  107. package/js/src/cex.js +6 -0
  108. package/js/src/coinbase.d.ts +1 -1
  109. package/js/src/coinbase.js +95 -17
  110. package/js/src/coinbaseinternational.d.ts +1 -1
  111. package/js/src/coinbaseinternational.js +2 -0
  112. package/js/src/coinbasepro.d.ts +1 -1
  113. package/js/src/coinbasepro.js +6 -0
  114. package/js/src/coincheck.js +3 -0
  115. package/js/src/coinex.d.ts +8 -7
  116. package/js/src/coinex.js +150 -43
  117. package/js/src/coinlist.d.ts +1 -1
  118. package/js/src/coinlist.js +4 -0
  119. package/js/src/coinmate.d.ts +1 -1
  120. package/js/src/coinmate.js +3 -0
  121. package/js/src/coinone.js +3 -0
  122. package/js/src/coinsph.d.ts +1 -1
  123. package/js/src/coinsph.js +4 -0
  124. package/js/src/coinspot.js +3 -0
  125. package/js/src/cryptocom.d.ts +1 -1
  126. package/js/src/cryptocom.js +2 -0
  127. package/js/src/delta.d.ts +2 -2
  128. package/js/src/deribit.d.ts +1 -1
  129. package/js/src/digifinex.d.ts +3 -3
  130. package/js/src/exmo.d.ts +3 -3
  131. package/js/src/exmo.js +5 -0
  132. package/js/src/gate.d.ts +8 -7
  133. package/js/src/gate.js +124 -22
  134. package/js/src/gemini.d.ts +1 -1
  135. package/js/src/hitbtc.d.ts +3 -3
  136. package/js/src/hitbtc.js +4 -3
  137. package/js/src/hollaex.d.ts +1 -1
  138. package/js/src/htx.d.ts +1 -1
  139. package/js/src/htx.js +2 -0
  140. package/js/src/huobijp.d.ts +1 -1
  141. package/js/src/hyperliquid.d.ts +2 -2
  142. package/js/src/idex.d.ts +1 -1
  143. package/js/src/idex.js +3 -0
  144. package/js/src/independentreserve.js +3 -0
  145. package/js/src/indodax.d.ts +1 -1
  146. package/js/src/indodax.js +3 -0
  147. package/js/src/kraken.d.ts +1 -1
  148. package/js/src/kucoin.d.ts +1 -1
  149. package/js/src/kucoin.js +2 -0
  150. package/js/src/kucoinfutures.d.ts +1 -1
  151. package/js/src/kucoinfutures.js +2 -0
  152. package/js/src/kuna.d.ts +1 -1
  153. package/js/src/latoken.js +6 -0
  154. package/js/src/lbank.d.ts +1 -1
  155. package/js/src/luno.js +3 -0
  156. package/js/src/lykke.d.ts +1 -1
  157. package/js/src/lykke.js +5 -0
  158. package/js/src/mercado.d.ts +1 -1
  159. package/js/src/mercado.js +3 -0
  160. package/js/src/mexc.d.ts +4 -3
  161. package/js/src/mexc.js +111 -0
  162. package/js/src/ndax.d.ts +1 -1
  163. package/js/src/ndax.js +4 -0
  164. package/js/src/novadax.d.ts +1 -1
  165. package/js/src/novadax.js +4 -0
  166. package/js/src/okcoin.d.ts +1 -1
  167. package/js/src/okx.d.ts +9 -8
  168. package/js/src/okx.js +83 -0
  169. package/js/src/onetrading.d.ts +1 -1
  170. package/js/src/onetrading.js +3 -0
  171. package/js/src/p2b.js +3 -0
  172. package/js/src/phemex.d.ts +1 -1
  173. package/js/src/poloniex.d.ts +1 -1
  174. package/js/src/pro/bybit.js +1 -1
  175. package/js/src/pro/coinbase.d.ts +2 -2
  176. package/js/src/pro/coinbase.js +30 -29
  177. package/js/src/probit.d.ts +1 -1
  178. package/js/src/probit.js +3 -0
  179. package/js/src/timex.js +3 -0
  180. package/js/src/tokocrypto.d.ts +1 -1
  181. package/js/src/tradeogre.js +3 -0
  182. package/js/src/upbit.d.ts +1 -1
  183. package/js/src/wavesexchange.d.ts +1 -1
  184. package/js/src/wavesexchange.js +3 -0
  185. package/js/src/wazirx.js +3 -0
  186. package/js/src/whitebit.d.ts +1 -1
  187. package/js/src/woo.d.ts +1 -1
  188. package/js/src/woo.js +2 -0
  189. package/js/src/yobit.d.ts +1 -1
  190. package/js/src/yobit.js +3 -0
  191. package/js/src/zaif.d.ts +1 -1
  192. package/js/src/zonda.d.ts +1 -1
  193. package/package.json +1 -1
@@ -16,7 +16,7 @@ export default class coinmate extends Exchange {
16
16
  fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
17
17
  parseTransactionStatus(status: any): string;
18
18
  parseTransaction(transaction: any, currency?: Currency): Transaction;
19
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
19
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
20
20
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
21
21
  parseTrade(trade: any, market?: Market): Trade;
22
22
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
@@ -60,8 +60,11 @@ export default class coinmate extends Exchange {
60
60
  'fetchOrderBook': true,
61
61
  'fetchOrders': true,
62
62
  'fetchPosition': false,
63
+ 'fetchPositionHistory': false,
63
64
  'fetchPositionMode': false,
64
65
  'fetchPositions': false,
66
+ 'fetchPositionsForSymbol': false,
67
+ 'fetchPositionsHistory': false,
65
68
  'fetchPositionsRisk': false,
66
69
  'fetchPremiumIndexOHLCV': false,
67
70
  'fetchTicker': true,
package/js/src/coinone.js CHANGED
@@ -68,8 +68,11 @@ export default class coinone extends Exchange {
68
68
  'fetchOrder': true,
69
69
  'fetchOrderBook': true,
70
70
  'fetchPosition': false,
71
+ 'fetchPositionHistory': false,
71
72
  'fetchPositionMode': false,
72
73
  'fetchPositions': false,
74
+ 'fetchPositionsForSymbol': false,
75
+ 'fetchPositionsHistory': false,
73
76
  'fetchPositionsRisk': false,
74
77
  'fetchPremiumIndexOHLCV': false,
75
78
  'fetchTicker': true,
@@ -44,7 +44,7 @@ export default class coinsph extends Exchange {
44
44
  fetchTradingFee(symbol: string, params?: {}): Promise<TradingFeeInterface>;
45
45
  fetchTradingFees(params?: {}): Promise<TradingFees>;
46
46
  parseTradingFee(fee: any, market?: Market): TradingFeeInterface;
47
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
47
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
48
48
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
49
49
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
50
50
  parseTransaction(transaction: any, currency?: Currency): Transaction;
package/js/src/coinsph.js CHANGED
@@ -92,7 +92,11 @@ export default class coinsph extends Exchange {
92
92
  'fetchOrders': false,
93
93
  'fetchOrderTrades': true,
94
94
  'fetchPosition': false,
95
+ 'fetchPositionHistory': false,
96
+ 'fetchPositionMode': false,
95
97
  'fetchPositions': false,
98
+ 'fetchPositionsForSymbol': false,
99
+ 'fetchPositionsHistory': false,
96
100
  'fetchPositionsRisk': false,
97
101
  'fetchPremiumIndexOHLCV': false,
98
102
  'fetchStatus': true,
@@ -60,8 +60,11 @@ export default class coinspot extends Exchange {
60
60
  'fetchOpenInterestHistory': false,
61
61
  'fetchOrderBook': true,
62
62
  'fetchPosition': false,
63
+ 'fetchPositionHistory': false,
63
64
  'fetchPositionMode': false,
64
65
  'fetchPositions': false,
66
+ 'fetchPositionsForSymbol': false,
67
+ 'fetchPositionsHistory': false,
65
68
  'fetchPositionsRisk': false,
66
69
  'fetchPremiumIndexOHLCV': false,
67
70
  'fetchTicker': true,
@@ -27,7 +27,7 @@ export default class cryptocom extends Exchange {
27
27
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
28
28
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
29
29
  parseAddress(addressString: any): any[];
30
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
30
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
31
31
  fetchDepositAddressesByNetwork(code: string, params?: {}): Promise<{}>;
32
32
  fetchDepositAddress(code: string, params?: {}): Promise<any>;
33
33
  safeNetwork(networkId: any): string;
@@ -83,8 +83,10 @@ export default class cryptocom extends Exchange {
83
83
  'fetchOrderBook': true,
84
84
  'fetchOrders': true,
85
85
  'fetchPosition': true,
86
+ 'fetchPositionHistory': false,
86
87
  'fetchPositionMode': false,
87
88
  'fetchPositions': true,
89
+ 'fetchPositionsHistory': false,
88
90
  'fetchPremiumIndexOHLCV': false,
89
91
  'fetchSettlementHistory': true,
90
92
  'fetchStatus': false,
package/js/src/delta.d.ts CHANGED
@@ -115,8 +115,8 @@ export default class delta extends Exchange {
115
115
  previousFundingTimestamp: any;
116
116
  previousFundingDatetime: any;
117
117
  };
118
- addMargin(symbol: string, amount: any, params?: {}): Promise<MarginModification>;
119
- reduceMargin(symbol: string, amount: any, params?: {}): Promise<MarginModification>;
118
+ addMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
119
+ reduceMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
120
120
  modifyMarginHelper(symbol: string, amount: any, type: any, params?: {}): Promise<MarginModification>;
121
121
  parseMarginModification(data: any, market?: Market): MarginModification;
122
122
  fetchOpenInterest(symbol: string, params?: {}): Promise<import("./base/types.js").OpenInterest>;
@@ -85,7 +85,7 @@ export default class deribit extends Exchange {
85
85
  datetime: string;
86
86
  };
87
87
  parseTransferStatus(status: any): string;
88
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
88
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
89
89
  parseDepositWithdrawFee(fee: any, currency?: Currency): {
90
90
  info: any;
91
91
  withdraw: {
@@ -85,7 +85,7 @@ export default class digifinex extends Exchange {
85
85
  status: string;
86
86
  };
87
87
  transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
88
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
88
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
89
89
  fetchBorrowInterest(code?: Str, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
90
90
  parseBorrowInterest(info: any, market?: Market): {
91
91
  account: string;
@@ -150,8 +150,8 @@ export default class digifinex extends Exchange {
150
150
  handleMarginModeAndParams(methodName: any, params?: {}, defaultValue?: any): any[];
151
151
  fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<{}>;
152
152
  parseDepositWithdrawFees(response: any, codes?: any, currencyIdKey?: any): {};
153
- addMargin(symbol: string, amount: any, params?: {}): Promise<MarginModification>;
154
- reduceMargin(symbol: string, amount: any, params?: {}): Promise<MarginModification>;
153
+ addMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
154
+ reduceMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
155
155
  modifyMarginHelper(symbol: string, amount: any, type: any, params?: {}): Promise<MarginModification>;
156
156
  parseMarginModification(data: any, market?: Market): MarginModification;
157
157
  fetchFundingHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").FundingHistory[]>;
package/js/src/exmo.d.ts CHANGED
@@ -8,8 +8,8 @@ export default class exmo extends Exchange {
8
8
  describe(): any;
9
9
  modifyMarginHelper(symbol: string, amount: any, type: any, params?: {}): Promise<MarginModification>;
10
10
  parseMarginModification(data: any, market?: Market): MarginModification;
11
- reduceMargin(symbol: string, amount: any, params?: {}): Promise<MarginModification>;
12
- addMargin(symbol: string, amount: any, params?: {}): Promise<MarginModification>;
11
+ reduceMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
12
+ addMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
13
13
  fetchTradingFees(params?: {}): Promise<TradingFees>;
14
14
  fetchPrivateTradingFees(params?: {}): Promise<{}>;
15
15
  fetchPublicTradingFees(params?: {}): Promise<{}>;
@@ -49,7 +49,7 @@ export default class exmo extends Exchange {
49
49
  info: any;
50
50
  }>;
51
51
  getMarketFromTrades(trades: any): any;
52
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
52
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
53
53
  parseTransactionStatus(status: any): string;
54
54
  parseTransaction(transaction: any, currency?: Currency): Transaction;
55
55
  fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
package/js/src/exmo.js CHANGED
@@ -65,7 +65,12 @@ export default class exmo extends Exchange {
65
65
  'fetchOrderBook': true,
66
66
  'fetchOrderBooks': true,
67
67
  'fetchOrderTrades': true,
68
+ 'fetchPosition': false,
69
+ 'fetchPositionHistory': false,
68
70
  'fetchPositionMode': false,
71
+ 'fetchPositions': false,
72
+ 'fetchPositionsHistory': false,
73
+ 'fetchPositionsRisk': false,
69
74
  'fetchPremiumIndexOHLCV': false,
70
75
  'fetchTicker': true,
71
76
  'fetchTickers': true,
package/js/src/gate.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/gate.js';
2
- import type { Int, OrderSide, OrderType, OHLCV, Trade, FundingRateHistory, OpenInterest, Order, Balances, OrderRequest, FundingHistory, Str, Transaction, Ticker, OrderBook, Tickers, Greeks, Strings, Market, Currency, MarketInterface, TransferEntry, Leverage, Leverages, Num, OptionChain, Option, MarginModification, TradingFeeInterface, Currencies, TradingFees } from './base/types.js';
2
+ import type { Int, OrderSide, OrderType, OHLCV, Trade, FundingRateHistory, OpenInterest, Order, Balances, OrderRequest, FundingHistory, Str, Transaction, Ticker, OrderBook, Tickers, Greeks, Strings, Market, Currency, MarketInterface, TransferEntry, Leverage, Leverages, Num, OptionChain, Option, MarginModification, TradingFeeInterface, Currencies, TradingFees, Position } from './base/types.js';
3
3
  /**
4
4
  * @class gate
5
5
  * @augments Exchange
@@ -171,7 +171,7 @@ export default class gate extends Exchange {
171
171
  parseTrade(trade: any, market?: Market): Trade;
172
172
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
173
173
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
174
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
174
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
175
175
  parseTransactionStatus(status: any): string;
176
176
  parseTransactionType(type: any): string;
177
177
  parseTransaction(transaction: any, currency?: Currency): Transaction;
@@ -201,9 +201,9 @@ export default class gate extends Exchange {
201
201
  info: any;
202
202
  };
203
203
  setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
204
- parsePosition(position: any, market?: Market): import("./base/types.js").Position;
205
- fetchPosition(symbol: string, params?: {}): Promise<import("./base/types.js").Position>;
206
- fetchPositions(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
204
+ parsePosition(position: any, market?: Market): Position;
205
+ fetchPosition(symbol: string, params?: {}): Promise<Position>;
206
+ fetchPositions(symbols?: Strings, params?: {}): Promise<Position[]>;
207
207
  fetchLeverageTiers(symbols?: Strings, params?: {}): Promise<{}>;
208
208
  fetchMarketLeverageTiers(symbol: string, params?: {}): Promise<any[]>;
209
209
  parseEmulatedLeverageTiers(info: any, market?: any): any[];
@@ -261,8 +261,8 @@ export default class gate extends Exchange {
261
261
  };
262
262
  modifyMarginHelper(symbol: string, amount: any, params?: {}): Promise<MarginModification>;
263
263
  parseMarginModification(data: any, market?: Market): MarginModification;
264
- reduceMargin(symbol: string, amount: any, params?: {}): Promise<MarginModification>;
265
- addMargin(symbol: string, amount: any, params?: {}): Promise<MarginModification>;
264
+ reduceMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
265
+ addMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
266
266
  fetchOpenInterestHistory(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OpenInterest[]>;
267
267
  parseOpenInterest(interest: any, market?: Market): {
268
268
  symbol: string;
@@ -353,5 +353,6 @@ export default class gate extends Exchange {
353
353
  baseVolume: any;
354
354
  quoteVolume: any;
355
355
  };
356
+ fetchPositionsHistory(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
356
357
  handleErrors(code: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
357
358
  }
package/js/src/gate.js CHANGED
@@ -141,8 +141,10 @@ export default class gate extends Exchange {
141
141
  'fetchOrder': true,
142
142
  'fetchOrderBook': true,
143
143
  'fetchPosition': true,
144
+ 'fetchPositionHistory': 'emulated',
144
145
  'fetchPositionMode': false,
145
146
  'fetchPositions': true,
147
+ 'fetchPositionsHistory': true,
146
148
  'fetchPremiumIndexOHLCV': false,
147
149
  'fetchSettlementHistory': true,
148
150
  'fetchTicker': true,
@@ -657,7 +659,6 @@ export default class gate extends Exchange {
657
659
  'option': 'options',
658
660
  'options': 'options',
659
661
  },
660
- 'defaultType': 'spot',
661
662
  'swap': {
662
663
  'fetchMarkets': {
663
664
  'settlementCurrencies': ['usdt', 'btc'],
@@ -5323,41 +5324,69 @@ export default class gate extends Exchange {
5323
5324
  // "pending_orders": 0
5324
5325
  // }
5325
5326
  //
5327
+ // fetchPositionsHistory (swap and future)
5328
+ //
5329
+ // {
5330
+ // "contract": "SLERF_USDT", // Futures contract
5331
+ // "text": "web", // Text of close order
5332
+ // "long_price": "0.766306", // When 'side' is 'long,' it indicates the opening average price; when 'side' is 'short,' it indicates the closing average price.
5333
+ // "pnl": "-23.41702352", // PNL
5334
+ // "pnl_pnl": "-22.7187", // Position P/L
5335
+ // "pnl_fee": "-0.06527125", // Transaction Fees
5336
+ // "pnl_fund": "-0.63305227", // Funding Fees
5337
+ // "accum_size": "100",
5338
+ // "time": 1711279263, // Position close time
5339
+ // "short_price": "0.539119", // When 'side' is 'long,' it indicates the opening average price; when 'side' is 'short,' it indicates the closing average price
5340
+ // "side": "long", // Position side, long or short
5341
+ // "max_size": "100", // Max Trade Size
5342
+ // "first_open_time": 1711037985 // First Open Time
5343
+ // }
5344
+ //
5326
5345
  const contract = this.safeString(position, 'contract');
5327
5346
  market = this.safeMarket(contract, market, '_', 'contract');
5328
- const size = this.safeString(position, 'size');
5329
- let side = undefined;
5330
- if (Precise.stringGt(size, '0')) {
5331
- side = 'long';
5332
- }
5333
- else if (Precise.stringLt(size, '0')) {
5334
- side = 'short';
5347
+ const size = this.safeString2(position, 'size', 'accum_size');
5348
+ let side = this.safeString(position, 'side');
5349
+ if (side === undefined) {
5350
+ if (Precise.stringGt(size, '0')) {
5351
+ side = 'long';
5352
+ }
5353
+ else if (Precise.stringLt(size, '0')) {
5354
+ side = 'short';
5355
+ }
5335
5356
  }
5336
5357
  const maintenanceRate = this.safeString(position, 'maintenance_rate');
5337
5358
  const notional = this.safeString(position, 'value');
5338
5359
  const leverage = this.safeString(position, 'leverage');
5339
5360
  let marginMode = undefined;
5340
- if (leverage === '0') {
5341
- marginMode = 'cross';
5342
- }
5343
- else {
5344
- marginMode = 'isolated';
5361
+ if (leverage !== undefined) {
5362
+ if (leverage === '0') {
5363
+ marginMode = 'cross';
5364
+ }
5365
+ else {
5366
+ marginMode = 'isolated';
5367
+ }
5345
5368
  }
5346
- const unrealisedPnl = this.safeString(position, 'unrealised_pnl');
5347
5369
  // Initial Position Margin = ( Position Value / Leverage ) + Close Position Fee
5348
5370
  // *The default leverage under the full position is the highest leverage in the market.
5349
5371
  // *Trading fee is charged as Taker Fee Rate (0.075%).
5350
- const takerFee = '0.00075';
5351
- const feePaid = Precise.stringMul(takerFee, notional);
5352
- const initialMarginString = Precise.stringAdd(Precise.stringDiv(notional, leverage), feePaid);
5353
- const timestamp = this.safeTimestamp(position, 'open_time');
5372
+ let feePaid = this.safeString(position, 'pnl_fee');
5373
+ let initialMarginString = undefined;
5374
+ if (feePaid === undefined) {
5375
+ const takerFee = '0.00075';
5376
+ feePaid = Precise.stringMul(takerFee, notional);
5377
+ initialMarginString = Precise.stringAdd(Precise.stringDiv(notional, leverage), feePaid);
5378
+ }
5379
+ let timestamp = this.safeTimestamp2(position, 'open_time', 'first_open_time');
5380
+ if (timestamp === 0) {
5381
+ timestamp = undefined;
5382
+ }
5354
5383
  return this.safePosition({
5355
5384
  'info': position,
5356
5385
  'id': undefined,
5357
5386
  'symbol': this.safeString(market, 'symbol'),
5358
5387
  'timestamp': timestamp,
5359
5388
  'datetime': this.iso8601(timestamp),
5360
- 'lastUpdateTimestamp': this.safeTimestamp(position, 'update_time'),
5389
+ 'lastUpdateTimestamp': this.safeTimestamp2(position, 'update_time', 'time'),
5361
5390
  'initialMargin': this.parseNumber(initialMarginString),
5362
5391
  'initialMarginPercentage': this.parseNumber(Precise.stringDiv(initialMarginString, notional)),
5363
5392
  'maintenanceMargin': this.parseNumber(Precise.stringMul(maintenanceRate, notional)),
@@ -5365,11 +5394,10 @@ export default class gate extends Exchange {
5365
5394
  'entryPrice': this.safeNumber(position, 'entry_price'),
5366
5395
  'notional': this.parseNumber(notional),
5367
5396
  'leverage': this.safeNumber(position, 'leverage'),
5368
- 'unrealizedPnl': this.parseNumber(unrealisedPnl),
5369
- 'realizedPnl': this.safeNumber(position, 'realised_pnl'),
5397
+ 'unrealizedPnl': this.safeNumber(position, 'unrealised_pnl'),
5398
+ 'realizedPnl': this.safeNumber2(position, 'realised_pnl', 'pnl'),
5370
5399
  'contracts': this.parseNumber(Precise.stringAbs(size)),
5371
5400
  'contractSize': this.safeNumber(market, 'contractSize'),
5372
- // 'realisedPnl': position['realised_pnl'],
5373
5401
  'marginRatio': undefined,
5374
5402
  'liquidationPrice': this.safeNumber(position, 'liq_price'),
5375
5403
  'markPrice': this.safeNumber(position, 'mark_price'),
@@ -7390,6 +7418,80 @@ export default class gate extends Exchange {
7390
7418
  'quoteVolume': undefined,
7391
7419
  };
7392
7420
  }
7421
+ async fetchPositionsHistory(symbols = undefined, since = undefined, limit = undefined, params = {}) {
7422
+ /**
7423
+ * @method
7424
+ * @name gate#fetchPositionsHistory
7425
+ * @description fetches historical positions
7426
+ * @see https://www.gate.io/docs/developers/apiv4/#list-position-close-history
7427
+ * @see https://www.gate.io/docs/developers/apiv4/#list-position-close-history-2
7428
+ * @param {string[]} symbols unified conract symbols, must all have the same settle currency and the same market type
7429
+ * @param {int} [since] the earliest time in ms to fetch positions for
7430
+ * @param {int} [limit] the maximum amount of records to fetch, default=1000
7431
+ * @param {object} params extra parameters specific to the exchange api endpoint
7432
+ * @param {int} [params.until] the latest time in ms to fetch positions for
7433
+ *
7434
+ * EXCHANGE SPECIFIC PARAMETERS
7435
+ * @param {int} offset list offset, starting from 0
7436
+ * @param {string} side long or short
7437
+ * @param {string} pnl query profit or loss
7438
+ * @returns {object[]} a list of [position structures]{@link https://docs.ccxt.com/#/?id=position-structure}
7439
+ */
7440
+ await this.loadMarkets();
7441
+ let market = undefined;
7442
+ if (symbols !== undefined) {
7443
+ const symbolsLength = symbols.length;
7444
+ if (symbolsLength === 1) {
7445
+ market = this.market(symbols[0]);
7446
+ }
7447
+ }
7448
+ let marketType = undefined;
7449
+ [marketType, params] = this.handleMarketTypeAndParams('fetchPositionsHistory', market, params, 'swap');
7450
+ const until = this.safeInteger(params, 'until');
7451
+ params = this.omit(params, 'until');
7452
+ let request = {};
7453
+ [request, params] = this.prepareRequest(market, marketType, params);
7454
+ if (limit !== undefined) {
7455
+ request['limit'] = limit;
7456
+ }
7457
+ if (since !== undefined) {
7458
+ request['from'] = this.parseToInt(since / 1000);
7459
+ }
7460
+ if (until !== undefined) {
7461
+ request['to'] = this.parseToInt(until / 1000);
7462
+ }
7463
+ let response = undefined;
7464
+ if (marketType === 'swap') {
7465
+ response = await this.privateFuturesGetSettlePositionClose(this.extend(request, params));
7466
+ }
7467
+ else if (marketType === 'future') {
7468
+ response = await this.privateDeliveryGetSettlePositionClose(this.extend(request, params));
7469
+ }
7470
+ else {
7471
+ throw new NotSupported(this.id + ' fetchPositionsHistory() does not support markets of type ' + marketType);
7472
+ }
7473
+ //
7474
+ // [
7475
+ // {
7476
+ // "contract": "SLERF_USDT",
7477
+ // "text": "web",
7478
+ // "long_price": "0.766306",
7479
+ // "pnl": "-23.41702352",
7480
+ // "pnl_pnl": "-22.7187",
7481
+ // "pnl_fee": "-0.06527125",
7482
+ // "pnl_fund": "-0.63305227",
7483
+ // "accum_size": "100",
7484
+ // "time": 1711279263,
7485
+ // "short_price": "0.539119",
7486
+ // "side": "long",
7487
+ // "max_size": "100",
7488
+ // "first_open_time": 1711037985
7489
+ // },
7490
+ // ...
7491
+ // ]
7492
+ //
7493
+ return this.parsePositions(response, symbols, params);
7494
+ }
7393
7495
  handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
7394
7496
  if (response === undefined) {
7395
7497
  return undefined;
@@ -32,7 +32,7 @@ export default class gemini extends Exchange {
32
32
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
33
33
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
34
34
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
35
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
35
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
36
36
  nonce(): number;
37
37
  fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
38
38
  parseTransaction(transaction: any, currency?: Currency): Transaction;
@@ -76,7 +76,7 @@ export default class hitbtc extends Exchange {
76
76
  convertCurrencyNetwork(code: string, amount: any, fromNetwork: any, toNetwork: any, params: any): Promise<{
77
77
  info: any;
78
78
  }>;
79
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
79
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
80
80
  fetchFundingRates(symbols?: Strings, params?: {}): Promise<any>;
81
81
  fetchFundingRateHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<FundingRateHistory[]>;
82
82
  fetchPositions(symbols?: Strings, params?: {}): Promise<Position[]>;
@@ -124,8 +124,8 @@ export default class hitbtc extends Exchange {
124
124
  };
125
125
  modifyMarginHelper(symbol: string, amount: any, type: any, params?: {}): Promise<MarginModification>;
126
126
  parseMarginModification(data: any, market?: Market): MarginModification;
127
- reduceMargin(symbol: string, amount: any, params?: {}): Promise<MarginModification>;
128
- addMargin(symbol: string, amount: any, params?: {}): Promise<MarginModification>;
127
+ reduceMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
128
+ addMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
129
129
  fetchLeverage(symbol: string, params?: {}): Promise<Leverage>;
130
130
  parseLeverage(leverage: any, market?: any): Leverage;
131
131
  setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
package/js/src/hitbtc.js CHANGED
@@ -3244,8 +3244,9 @@ export default class hitbtc extends Exchange {
3244
3244
  throw new ArgumentsRequired(this.id + ' modifyMarginHelper() requires a leverage parameter for swap markets');
3245
3245
  }
3246
3246
  }
3247
- if (amount !== 0) {
3248
- amount = this.amountToPrecision(symbol, amount);
3247
+ const stringAmount = this.numberToString(amount);
3248
+ if (stringAmount !== '0') {
3249
+ amount = this.amountToPrecision(symbol, stringAmount);
3249
3250
  }
3250
3251
  else {
3251
3252
  amount = '0';
@@ -3347,7 +3348,7 @@ export default class hitbtc extends Exchange {
3347
3348
  * @param {bool} [params.margin] true for reducing spot-margin
3348
3349
  * @returns {object} a [margin structure]{@link https://docs.ccxt.com/#/?id=reduce-margin-structure}
3349
3350
  */
3350
- if (amount !== 0) {
3351
+ if (this.numberToString(amount) !== '0') {
3351
3352
  throw new BadRequest(this.id + ' reduceMargin() on hitbtc requires the amount to be 0 and that will remove the entire margin amount');
3352
3353
  }
3353
3354
  return await this.modifyMarginHelper(symbol, amount, 'reduce', params);
@@ -44,7 +44,7 @@ export default class hollaex extends Exchange {
44
44
  fetchWithdrawal(id: string, code?: Str, params?: {}): Promise<Transaction>;
45
45
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
46
46
  parseTransaction(transaction: any, currency?: Currency): Transaction;
47
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
47
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
48
48
  parseDepositWithdrawFee(fee: any, currency?: Currency): {
49
49
  info: any;
50
50
  withdraw: {
package/js/src/htx.d.ts CHANGED
@@ -108,7 +108,7 @@ export default class htx extends Exchange {
108
108
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
109
109
  parseTransaction(transaction: any, currency?: Currency): Transaction;
110
110
  parseTransactionStatus(status: any): string;
111
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
111
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
112
112
  parseTransfer(transfer: any, currency?: Currency): {
113
113
  info: any;
114
114
  id: string;
package/js/src/htx.js CHANGED
@@ -105,7 +105,9 @@ export default class htx extends Exchange {
105
105
  'fetchOrders': true,
106
106
  'fetchOrderTrades': true,
107
107
  'fetchPosition': true,
108
+ 'fetchPositionHistory': 'emulated',
108
109
  'fetchPositions': true,
110
+ 'fetchPositionsHistory': false,
109
111
  'fetchPositionsRisk': false,
110
112
  'fetchPremiumIndexOHLCV': true,
111
113
  'fetchSettlementHistory': true,
@@ -69,7 +69,7 @@ export default class huobijp extends Exchange {
69
69
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
70
70
  parseTransaction(transaction: any, currency?: Currency): Transaction;
71
71
  parseTransactionStatus(status: any): string;
72
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
72
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
73
73
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
74
74
  url: string;
75
75
  method: string;
@@ -72,8 +72,8 @@ export default class hyperliquid extends Exchange {
72
72
  parsePosition(position: any, market?: Market): Position;
73
73
  setMarginMode(marginMode: string, symbol?: Str, params?: {}): Promise<any>;
74
74
  setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
75
- addMargin(symbol: string, amount: any, params?: {}): Promise<MarginModification>;
76
- reduceMargin(symbol: string, amount: any, params?: {}): Promise<MarginModification>;
75
+ addMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
76
+ reduceMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
77
77
  modifyMarginHelper(symbol: string, amount: any, type: any, params?: {}): Promise<MarginModification>;
78
78
  parseMarginModification(data: any, market?: Market): MarginModification;
79
79
  transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
package/js/src/idex.d.ts CHANGED
@@ -30,7 +30,7 @@ export default class idex extends Exchange {
30
30
  parseOrder(order: any, market?: Market): Order;
31
31
  associateWallet(walletAddress: any, params?: {}): Promise<any>;
32
32
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
33
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
33
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
34
34
  cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
35
35
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
36
36
  handleErrors(code: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
package/js/src/idex.js CHANGED
@@ -80,8 +80,11 @@ export default class idex extends Exchange {
80
80
  'fetchOrderBook': true,
81
81
  'fetchOrders': false,
82
82
  'fetchPosition': false,
83
+ 'fetchPositionHistory': false,
83
84
  'fetchPositionMode': false,
84
85
  'fetchPositions': false,
86
+ 'fetchPositionsForSymbol': false,
87
+ 'fetchPositionsHistory': false,
85
88
  'fetchPositionsRisk': false,
86
89
  'fetchPremiumIndexOHLCV': false,
87
90
  'fetchStatus': true,
@@ -65,8 +65,11 @@ export default class independentreserve extends Exchange {
65
65
  'fetchOrder': true,
66
66
  'fetchOrderBook': true,
67
67
  'fetchPosition': false,
68
+ 'fetchPositionHistory': false,
68
69
  'fetchPositionMode': false,
69
70
  'fetchPositions': false,
71
+ 'fetchPositionsForSymbol': false,
72
+ 'fetchPositionsHistory': false,
70
73
  'fetchPositionsRisk': false,
71
74
  'fetchPremiumIndexOHLCV': false,
72
75
  'fetchTicker': true,
@@ -32,7 +32,7 @@ export default class indodax extends Exchange {
32
32
  currency: string;
33
33
  }>;
34
34
  fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
35
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
35
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
36
36
  parseTransaction(transaction: any, currency?: Currency): Transaction;
37
37
  parseTransactionStatus(status: any): string;
38
38
  fetchDepositAddresses(codes?: string[], params?: {}): Promise<{
package/js/src/indodax.js CHANGED
@@ -72,8 +72,11 @@ export default class indodax extends Exchange {
72
72
  'fetchOrderBook': true,
73
73
  'fetchOrders': false,
74
74
  'fetchPosition': false,
75
+ 'fetchPositionHistory': false,
75
76
  'fetchPositionMode': false,
76
77
  'fetchPositions': false,
78
+ 'fetchPositionsForSymbol': false,
79
+ 'fetchPositionsHistory': false,
77
80
  'fetchPositionsRisk': false,
78
81
  'fetchPremiumIndexOHLCV': false,
79
82
  'fetchTicker': true,
@@ -104,7 +104,7 @@ export default class kraken extends Exchange {
104
104
  network: any;
105
105
  info: any;
106
106
  };
107
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
107
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
108
108
  fetchPositions(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
109
109
  parsePosition(position: any, market?: Market): import("./base/types.js").Position;
110
110
  parseAccountType(account: any): string;
@@ -86,7 +86,7 @@ export default class kucoin extends Exchange {
86
86
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
87
87
  parseTrade(trade: any, market?: Market): Trade;
88
88
  fetchTradingFee(symbol: string, params?: {}): Promise<TradingFeeInterface>;
89
- withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
89
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
90
90
  loadCurrencyPrecision(currency: any, networkCode?: Str): Promise<void>;
91
91
  parseTransactionStatus(status: any): string;
92
92
  parseTransaction(transaction: any, currency?: Currency): Transaction;
package/js/src/kucoin.js CHANGED
@@ -91,7 +91,9 @@ export default class kucoin extends Exchange {
91
91
  'fetchOrderBooks': false,
92
92
  'fetchOrdersByStatus': true,
93
93
  'fetchOrderTrades': true,
94
+ 'fetchPositionHistory': false,
94
95
  'fetchPositionMode': false,
96
+ 'fetchPositionsHistory': false,
95
97
  'fetchPremiumIndexOHLCV': false,
96
98
  'fetchStatus': true,
97
99
  'fetchTicker': true,