ccxt 4.2.30 → 4.2.34

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 (318) hide show
  1. package/.gitattributes +1 -0
  2. package/CONTRIBUTING.md +20 -1
  3. package/README.md +9 -9
  4. package/build.sh +9 -2
  5. package/cleanup.sh +3 -0
  6. package/dist/ccxt.browser.js +1136 -561
  7. package/dist/ccxt.browser.min.js +3 -3
  8. package/dist/cjs/ccxt.js +1 -1
  9. package/dist/cjs/src/ace.js +3 -2
  10. package/dist/cjs/src/ascendex.js +1 -1
  11. package/dist/cjs/src/base/Exchange.js +66 -24
  12. package/dist/cjs/src/bigone.js +21 -1
  13. package/dist/cjs/src/binance.js +6 -5
  14. package/dist/cjs/src/bingx.js +4 -3
  15. package/dist/cjs/src/bit2c.js +12 -0
  16. package/dist/cjs/src/bitfinex2.js +415 -41
  17. package/dist/cjs/src/bitforex.js +3 -0
  18. package/dist/cjs/src/bitget.js +3 -3
  19. package/dist/cjs/src/bitmart.js +1 -1
  20. package/dist/cjs/src/bitrue.js +3 -3
  21. package/dist/cjs/src/blockchaincom.js +1 -1
  22. package/dist/cjs/src/bybit.js +1 -1
  23. package/dist/cjs/src/coinbase.js +12 -2
  24. package/dist/cjs/src/coinex.js +1 -1
  25. package/dist/cjs/src/cryptocom.js +10 -10
  26. package/dist/cjs/src/deribit.js +1 -0
  27. package/dist/cjs/src/gate.js +34 -29
  28. package/dist/cjs/src/htx.js +1 -1
  29. package/dist/cjs/src/kraken.js +42 -1
  30. package/dist/cjs/src/krakenfutures.js +3 -0
  31. package/dist/cjs/src/kucoin.js +1 -1
  32. package/dist/cjs/src/lbank.js +27 -26
  33. package/dist/cjs/src/mexc.js +2 -1
  34. package/dist/cjs/src/okx.js +20 -5
  35. package/dist/cjs/src/phemex.js +8 -8
  36. package/dist/cjs/src/poloniexfutures.js +3 -0
  37. package/dist/cjs/src/pro/alpaca.js +8 -4
  38. package/dist/cjs/src/pro/ascendex.js +1 -2
  39. package/dist/cjs/src/pro/binance.js +14 -10
  40. package/dist/cjs/src/pro/bingx.js +1 -1
  41. package/dist/cjs/src/pro/bitfinex.js +21 -24
  42. package/dist/cjs/src/pro/bitfinex2.js +13 -17
  43. package/dist/cjs/src/pro/bitget.js +3 -1
  44. package/dist/cjs/src/pro/bitmart.js +3 -8
  45. package/dist/cjs/src/pro/bitmex.js +4 -7
  46. package/dist/cjs/src/pro/bitopro.js +2 -5
  47. package/dist/cjs/src/pro/bitrue.js +1 -1
  48. package/dist/cjs/src/pro/bitstamp.js +2 -3
  49. package/dist/cjs/src/pro/bitvavo.js +12 -5
  50. package/dist/cjs/src/pro/blockchaincom.js +22 -23
  51. package/dist/cjs/src/pro/bybit.js +5 -5
  52. package/dist/cjs/src/pro/cex.js +7 -7
  53. package/dist/cjs/src/pro/coinbase.js +3 -2
  54. package/dist/cjs/src/pro/coinbasepro.js +1 -1
  55. package/dist/cjs/src/pro/coinex.js +15 -13
  56. package/dist/cjs/src/pro/currencycom.js +5 -7
  57. package/dist/cjs/src/pro/deribit.js +4 -4
  58. package/dist/cjs/src/pro/exmo.js +15 -13
  59. package/dist/cjs/src/pro/gate.js +1 -1
  60. package/dist/cjs/src/pro/gemini.js +4 -2
  61. package/dist/cjs/src/pro/hitbtc.js +9 -8
  62. package/dist/cjs/src/pro/hollaex.js +2 -2
  63. package/dist/cjs/src/pro/htx.js +6 -7
  64. package/dist/cjs/src/pro/huobijp.js +3 -5
  65. package/dist/cjs/src/pro/idex.js +1 -1
  66. package/dist/cjs/src/pro/independentreserve.js +14 -13
  67. package/dist/cjs/src/pro/kraken.js +10 -16
  68. package/dist/cjs/src/pro/krakenfutures.js +10 -6
  69. package/dist/cjs/src/pro/kucoin.js +10 -11
  70. package/dist/cjs/src/pro/kucoinfutures.js +12 -11
  71. package/dist/cjs/src/pro/lbank.js +10 -10
  72. package/dist/cjs/src/pro/luno.js +12 -14
  73. package/dist/cjs/src/pro/mexc.js +3 -2
  74. package/dist/cjs/src/pro/ndax.js +7 -13
  75. package/dist/cjs/src/pro/okcoin.js +7 -12
  76. package/dist/cjs/src/pro/okx.js +6 -11
  77. package/dist/cjs/src/pro/onetrading.js +16 -15
  78. package/dist/cjs/src/pro/p2b.js +5 -3
  79. package/dist/cjs/src/pro/phemex.js +16 -11
  80. package/dist/cjs/src/pro/poloniex.js +6 -4
  81. package/dist/cjs/src/pro/poloniexfutures.js +14 -9
  82. package/dist/cjs/src/pro/probit.js +15 -11
  83. package/dist/cjs/src/pro/upbit.js +8 -8
  84. package/dist/cjs/src/pro/wazirx.js +6 -3
  85. package/dist/cjs/src/pro/woo.js +8 -6
  86. package/dist/cjs/src/probit.js +3 -3
  87. package/dist/cjs/src/timex.js +1 -1
  88. package/dist/cjs/src/tokocrypto.js +2 -2
  89. package/dist/cjs/src/wavesexchange.js +2 -1
  90. package/dist/cjs/src/whitebit.js +1 -1
  91. package/dist/cjs/src/woo.js +1 -1
  92. package/dist/cjs/src/yobit.js +39 -0
  93. package/js/ccxt.d.ts +1 -1
  94. package/js/ccxt.js +1 -1
  95. package/js/src/abstract/coinbase.d.ts +10 -0
  96. package/js/src/abstract/okx.d.ts +12 -1
  97. package/js/src/ace.d.ts +1 -1
  98. package/js/src/ace.js +3 -2
  99. package/js/src/alpaca.d.ts +1 -1
  100. package/js/src/ascendex.d.ts +5 -15
  101. package/js/src/ascendex.js +1 -1
  102. package/js/src/base/Exchange.d.ts +88 -79
  103. package/js/src/base/Exchange.js +66 -24
  104. package/js/src/base/types.d.ts +90 -6
  105. package/js/src/bigone.d.ts +5 -15
  106. package/js/src/bigone.js +21 -1
  107. package/js/src/binance.d.ts +13 -23
  108. package/js/src/binance.js +6 -5
  109. package/js/src/bingx.d.ts +6 -16
  110. package/js/src/bingx.js +4 -3
  111. package/js/src/bit2c.d.ts +1 -1
  112. package/js/src/bit2c.js +12 -0
  113. package/js/src/bitbank.d.ts +2 -2
  114. package/js/src/bitbns.d.ts +1 -1
  115. package/js/src/bitfinex.d.ts +5 -5
  116. package/js/src/bitfinex2.d.ts +11 -16
  117. package/js/src/bitfinex2.js +415 -41
  118. package/js/src/bitflyer.d.ts +5 -5
  119. package/js/src/bitforex.d.ts +1 -1
  120. package/js/src/bitforex.js +3 -0
  121. package/js/src/bitget.d.ts +8 -38
  122. package/js/src/bitget.js +3 -3
  123. package/js/src/bithumb.d.ts +2 -2
  124. package/js/src/bitmart.d.ts +10 -21
  125. package/js/src/bitmart.js +1 -1
  126. package/js/src/bitmex.d.ts +3 -3
  127. package/js/src/bitopro.d.ts +2 -2
  128. package/js/src/bitrue.d.ts +5 -15
  129. package/js/src/bitrue.js +3 -3
  130. package/js/src/bitso.d.ts +4 -4
  131. package/js/src/bitstamp.d.ts +2 -2
  132. package/js/src/bitteam.d.ts +1 -1
  133. package/js/src/bitvavo.d.ts +3 -3
  134. package/js/src/bl3p.d.ts +1 -1
  135. package/js/src/blockchaincom.d.ts +2 -2
  136. package/js/src/blockchaincom.js +1 -1
  137. package/js/src/btcalpha.d.ts +1 -1
  138. package/js/src/btcbox.d.ts +1 -1
  139. package/js/src/btcmarkets.d.ts +3 -3
  140. package/js/src/btcturk.d.ts +1 -1
  141. package/js/src/bybit.d.ts +8 -8
  142. package/js/src/bybit.js +1 -1
  143. package/js/src/cex.d.ts +1 -1
  144. package/js/src/coinbase.d.ts +6 -50
  145. package/js/src/coinbase.js +12 -2
  146. package/js/src/coinbasepro.d.ts +2 -2
  147. package/js/src/coincheck.d.ts +1 -1
  148. package/js/src/coinex.d.ts +8 -8
  149. package/js/src/coinex.js +1 -1
  150. package/js/src/coinlist.d.ts +4 -14
  151. package/js/src/coinmate.d.ts +2 -2
  152. package/js/src/coinmetro.d.ts +2 -2
  153. package/js/src/coinone.d.ts +1 -1
  154. package/js/src/coinsph.d.ts +2 -2
  155. package/js/src/coinspot.d.ts +1 -1
  156. package/js/src/cryptocom.d.ts +4 -4
  157. package/js/src/cryptocom.js +10 -10
  158. package/js/src/currencycom.d.ts +2 -2
  159. package/js/src/delta.d.ts +2 -2
  160. package/js/src/deribit.d.ts +4 -14
  161. package/js/src/deribit.js +1 -0
  162. package/js/src/digifinex.d.ts +10 -38
  163. package/js/src/exmo.d.ts +2 -2
  164. package/js/src/gate.d.ts +8 -18
  165. package/js/src/gate.js +34 -29
  166. package/js/src/gemini.d.ts +2 -2
  167. package/js/src/hitbtc.d.ts +6 -16
  168. package/js/src/hollaex.d.ts +2 -2
  169. package/js/src/htx.d.ts +11 -21
  170. package/js/src/htx.js +1 -1
  171. package/js/src/huobijp.d.ts +4 -4
  172. package/js/src/idex.d.ts +3 -3
  173. package/js/src/independentreserve.d.ts +2 -2
  174. package/js/src/indodax.d.ts +2 -2
  175. package/js/src/kraken.d.ts +5 -5
  176. package/js/src/kraken.js +42 -1
  177. package/js/src/krakenfutures.d.ts +7 -7
  178. package/js/src/krakenfutures.js +3 -0
  179. package/js/src/kucoin.d.ts +8 -29
  180. package/js/src/kucoin.js +1 -1
  181. package/js/src/kucoinfutures.d.ts +4 -4
  182. package/js/src/kuna.d.ts +2 -2
  183. package/js/src/latoken.d.ts +4 -14
  184. package/js/src/lbank.d.ts +3 -6
  185. package/js/src/lbank.js +27 -26
  186. package/js/src/luno.d.ts +1 -1
  187. package/js/src/lykke.d.ts +2 -2
  188. package/js/src/mercado.d.ts +2 -2
  189. package/js/src/mexc.d.ts +6 -6
  190. package/js/src/mexc.js +2 -1
  191. package/js/src/ndax.d.ts +2 -2
  192. package/js/src/novadax.d.ts +4 -15
  193. package/js/src/oceanex.d.ts +1 -1
  194. package/js/src/okcoin.d.ts +5 -15
  195. package/js/src/okx.d.ts +8 -18
  196. package/js/src/okx.js +20 -5
  197. package/js/src/onetrading.d.ts +2 -2
  198. package/js/src/p2b.d.ts +1 -1
  199. package/js/src/paymium.d.ts +3 -13
  200. package/js/src/phemex.d.ts +5 -5
  201. package/js/src/phemex.js +8 -8
  202. package/js/src/poloniex.d.ts +4 -14
  203. package/js/src/poloniexfutures.d.ts +1 -1
  204. package/js/src/poloniexfutures.js +3 -0
  205. package/js/src/pro/alpaca.d.ts +2 -2
  206. package/js/src/pro/alpaca.js +8 -4
  207. package/js/src/pro/ascendex.d.ts +2 -2
  208. package/js/src/pro/ascendex.js +1 -2
  209. package/js/src/pro/binance.d.ts +3 -3
  210. package/js/src/pro/binance.js +14 -10
  211. package/js/src/pro/bingx.d.ts +1 -1
  212. package/js/src/pro/bingx.js +1 -1
  213. package/js/src/pro/bitfinex.d.ts +2 -2
  214. package/js/src/pro/bitfinex.js +21 -24
  215. package/js/src/pro/bitfinex2.d.ts +2 -2
  216. package/js/src/pro/bitfinex2.js +13 -17
  217. package/js/src/pro/bitget.js +3 -1
  218. package/js/src/pro/bitmart.d.ts +3 -3
  219. package/js/src/pro/bitmart.js +3 -8
  220. package/js/src/pro/bitmex.d.ts +1 -1
  221. package/js/src/pro/bitmex.js +4 -7
  222. package/js/src/pro/bitopro.d.ts +1 -1
  223. package/js/src/pro/bitopro.js +2 -5
  224. package/js/src/pro/bitrue.js +1 -1
  225. package/js/src/pro/bitstamp.d.ts +1 -1
  226. package/js/src/pro/bitstamp.js +2 -3
  227. package/js/src/pro/bitvavo.d.ts +3 -3
  228. package/js/src/pro/bitvavo.js +12 -5
  229. package/js/src/pro/blockchaincom.d.ts +8 -8
  230. package/js/src/pro/blockchaincom.js +22 -23
  231. package/js/src/pro/bybit.d.ts +2 -2
  232. package/js/src/pro/bybit.js +5 -5
  233. package/js/src/pro/cex.d.ts +1 -1
  234. package/js/src/pro/cex.js +7 -7
  235. package/js/src/pro/coinbase.d.ts +1 -1
  236. package/js/src/pro/coinbase.js +3 -2
  237. package/js/src/pro/coinbasepro.d.ts +1 -1
  238. package/js/src/pro/coinbasepro.js +1 -1
  239. package/js/src/pro/coinex.d.ts +2 -2
  240. package/js/src/pro/coinex.js +15 -13
  241. package/js/src/pro/currencycom.d.ts +1 -1
  242. package/js/src/pro/currencycom.js +5 -7
  243. package/js/src/pro/deribit.d.ts +2 -2
  244. package/js/src/pro/deribit.js +4 -4
  245. package/js/src/pro/exmo.d.ts +2 -2
  246. package/js/src/pro/exmo.js +15 -13
  247. package/js/src/pro/gate.js +1 -1
  248. package/js/src/pro/gemini.d.ts +1 -1
  249. package/js/src/pro/gemini.js +4 -2
  250. package/js/src/pro/hitbtc.d.ts +2 -2
  251. package/js/src/pro/hitbtc.js +9 -8
  252. package/js/src/pro/hollaex.d.ts +2 -2
  253. package/js/src/pro/hollaex.js +2 -2
  254. package/js/src/pro/htx.d.ts +2 -2
  255. package/js/src/pro/htx.js +6 -7
  256. package/js/src/pro/huobijp.d.ts +1 -1
  257. package/js/src/pro/huobijp.js +3 -5
  258. package/js/src/pro/idex.js +1 -1
  259. package/js/src/pro/independentreserve.d.ts +1 -1
  260. package/js/src/pro/independentreserve.js +14 -13
  261. package/js/src/pro/kraken.d.ts +2 -2
  262. package/js/src/pro/kraken.js +10 -16
  263. package/js/src/pro/krakenfutures.d.ts +1 -1
  264. package/js/src/pro/krakenfutures.js +10 -6
  265. package/js/src/pro/kucoin.d.ts +3 -3
  266. package/js/src/pro/kucoin.js +10 -11
  267. package/js/src/pro/kucoinfutures.d.ts +3 -3
  268. package/js/src/pro/kucoinfutures.js +12 -11
  269. package/js/src/pro/lbank.d.ts +1 -1
  270. package/js/src/pro/lbank.js +10 -10
  271. package/js/src/pro/luno.d.ts +2 -2
  272. package/js/src/pro/luno.js +12 -14
  273. package/js/src/pro/mexc.d.ts +2 -2
  274. package/js/src/pro/mexc.js +3 -2
  275. package/js/src/pro/ndax.d.ts +3 -3
  276. package/js/src/pro/ndax.js +7 -13
  277. package/js/src/pro/okcoin.d.ts +1 -1
  278. package/js/src/pro/okcoin.js +7 -12
  279. package/js/src/pro/okx.d.ts +1 -1
  280. package/js/src/pro/okx.js +6 -11
  281. package/js/src/pro/onetrading.d.ts +1 -1
  282. package/js/src/pro/onetrading.js +16 -15
  283. package/js/src/pro/p2b.d.ts +1 -1
  284. package/js/src/pro/p2b.js +5 -3
  285. package/js/src/pro/phemex.d.ts +3 -3
  286. package/js/src/pro/phemex.js +16 -11
  287. package/js/src/pro/poloniex.d.ts +1 -1
  288. package/js/src/pro/poloniex.js +6 -4
  289. package/js/src/pro/poloniexfutures.d.ts +4 -4
  290. package/js/src/pro/poloniexfutures.js +13 -10
  291. package/js/src/pro/probit.d.ts +1 -1
  292. package/js/src/pro/probit.js +14 -12
  293. package/js/src/pro/upbit.js +8 -8
  294. package/js/src/pro/wazirx.d.ts +1 -1
  295. package/js/src/pro/wazirx.js +6 -3
  296. package/js/src/pro/woo.d.ts +3 -3
  297. package/js/src/pro/woo.js +8 -6
  298. package/js/src/probit.d.ts +3 -3
  299. package/js/src/probit.js +3 -3
  300. package/js/src/timex.d.ts +1 -1
  301. package/js/src/timex.js +1 -1
  302. package/js/src/tokocrypto.d.ts +3 -3
  303. package/js/src/tokocrypto.js +2 -2
  304. package/js/src/upbit.d.ts +2 -2
  305. package/js/src/wavesexchange.d.ts +3 -4
  306. package/js/src/wavesexchange.js +2 -1
  307. package/js/src/wazirx.d.ts +1 -1
  308. package/js/src/whitebit.d.ts +5 -15
  309. package/js/src/whitebit.js +1 -1
  310. package/js/src/woo.d.ts +5 -15
  311. package/js/src/woo.js +1 -1
  312. package/js/src/yobit.d.ts +21 -6
  313. package/js/src/yobit.js +39 -0
  314. package/js/src/zaif.d.ts +2 -2
  315. package/js/src/zonda.d.ts +4 -14
  316. package/package.json +22 -8
  317. package/skip-tests.json +9 -1
  318. package/tests-manager.sh +1 -2
@@ -3,7 +3,7 @@ import { // eslint-disable-line object-curly-newline
3
3
  ExchangeError, AuthenticationError, DDoSProtection, RequestTimeout, ExchangeNotAvailable, RateLimitExceeded } from "./errors.js";
4
4
  import WsClient from './ws/WsClient.js';
5
5
  import { OrderBook as WsOrderBook, IndexedOrderBook, CountedOrderBook } from './ws/OrderBook.js';
6
- import type { Market, Trade, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, FundingHistory, MarginMode, Tickers, Greeks, Str, Num, MarketInterface, CurrencyInterface, Account } from './types.js';
6
+ import type { Market, Trade, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, Transaction, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, FundingRate, DepositWithdrawFeeNetwork, LedgerEntry, BorrowInterest, OpenInterest, LeverageTier, TransferEntry, FundingRateHistory, Liquidation, FundingHistory, OrderRequest, MarginMode, Tickers, Greeks, Str, Num, MarketInterface, CurrencyInterface, Account } from './types.js';
7
7
  export type { Market, Trade, Fee, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, Transaction, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, FundingRateHistory, Liquidation, FundingHistory, Greeks } from './types.js';
8
8
  /**
9
9
  * @class Exchange
@@ -12,6 +12,7 @@ export default class Exchange {
12
12
  options: {
13
13
  [key: string]: any;
14
14
  };
15
+ throttleProp: any;
15
16
  api: any;
16
17
  proxy: any;
17
18
  proxyUrl: string;
@@ -161,6 +162,7 @@ export default class Exchange {
161
162
  clients: {};
162
163
  newUpdates: boolean;
163
164
  streaming: {};
165
+ alias: boolean;
164
166
  deepExtend: (...xs: any[]) => any;
165
167
  isNode: boolean;
166
168
  keys: {
@@ -554,6 +556,7 @@ export default class Exchange {
554
556
  indexedOrderBook(snapshot?: {}, depth?: number): IndexedOrderBook;
555
557
  countedOrderBook(snapshot?: {}, depth?: number): CountedOrderBook;
556
558
  handleMessage(client: any, message: any): void;
559
+ ping(client: any): any;
557
560
  client(url: any): WsClient;
558
561
  watchMultiple(url: any, messageHashes: any, message?: any, subscribeHashes?: any, subscription?: any): import("./ws/Future.js").FutureInterface;
559
562
  watch(url: any, messageHash: any, message?: any, subscribeHash?: any, subscription?: any): any;
@@ -588,12 +591,12 @@ export default class Exchange {
588
591
  checkWsProxySettings(): any[];
589
592
  checkConflictingProxies(proxyAgentSet: any, proxyUrlSet: any): void;
590
593
  findMessageHashes(client: any, element: string): string[];
591
- filterByLimit(array: object[], limit?: Int, key?: IndexType): any;
594
+ filterByLimit(array: object[], limit?: Int, key?: IndexType, fromStart?: boolean): any;
592
595
  filterBySinceLimit(array: object[], since?: Int, limit?: Int, key?: IndexType, tail?: boolean): any;
593
596
  filterByValueSinceLimit(array: object[], field: IndexType, value?: any, since?: Int, limit?: Int, key?: string, tail?: boolean): any;
594
597
  setSandboxMode(enabled: any): void;
595
598
  sign(path: any, api?: any, method?: string, params?: {}, headers?: any, body?: any): {};
596
- fetchAccounts(params?: {}): Promise<any>;
599
+ fetchAccounts(params?: {}): Promise<{}>;
597
600
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
598
601
  fetchTradesWs(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
599
602
  watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
@@ -602,39 +605,43 @@ export default class Exchange {
602
605
  watchOrdersForSymbols(symbols: string[], since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
603
606
  watchOHLCVForSymbols(symbolsAndTimeframes: string[][], since?: Int, limit?: Int, params?: {}): Promise<Dictionary<Dictionary<OHLCV[]>>>;
604
607
  watchOrderBookForSymbols(symbols: string[], limit?: Int, params?: {}): Promise<OrderBook>;
605
- fetchDepositAddresses(codes?: string[], params?: {}): Promise<any>;
608
+ fetchDepositAddresses(codes?: string[], params?: {}): Promise<{}>;
606
609
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
607
610
  fetchMarginMode(symbol?: string, params?: {}): Promise<MarginMode>;
608
611
  fetchRestOrderBookSafe(symbol: any, limit?: any, params?: {}): Promise<OrderBook>;
609
612
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
610
613
  fetchTime(params?: {}): Promise<Int>;
611
- fetchTradingLimits(symbols?: string[], params?: {}): Promise<any>;
614
+ fetchTradingLimits(symbols?: string[], params?: {}): Promise<{}>;
612
615
  parseMarket(market: any): Market;
613
616
  parseMarkets(markets: any): Market[];
614
617
  parseTicker(ticker: object, market?: Market): Ticker;
615
- parseDepositAddress(depositAddress: any, currency?: Currency): void;
618
+ parseDepositAddress(depositAddress: any, currency?: Currency): object;
616
619
  parseTrade(trade: object, market?: Market): Trade;
617
- parseTransaction(transaction: any, currency?: Currency): void;
618
- parseTransfer(transfer: any, currency?: Currency): void;
619
- parseAccount(account: any): void;
620
- parseLedgerEntry(item: any, currency?: Currency): void;
620
+ parseTransaction(transaction: any, currency?: Currency): Transaction;
621
+ parseTransfer(transfer: any, currency?: Currency): object;
622
+ parseAccount(account: any): {};
623
+ parseLedgerEntry(item: any, currency?: Currency): object;
621
624
  parseOrder(order: any, market?: Market): Order;
622
- fetchCrossBorrowRates(params?: {}): Promise<any>;
623
- fetchIsolatedBorrowRates(params?: {}): Promise<any>;
624
- parseMarketLeverageTiers(info: any, market?: Market): void;
625
- fetchLeverageTiers(symbols?: string[], params?: {}): Promise<any>;
626
- parsePosition(position: any, market?: Market): void;
625
+ fetchCrossBorrowRates(params?: {}): Promise<{}>;
626
+ fetchIsolatedBorrowRates(params?: {}): Promise<{}>;
627
+ parseMarketLeverageTiers(info: any, market?: Market): object;
628
+ fetchLeverageTiers(symbols?: string[], params?: {}): Promise<Dictionary<LeverageTier>>;
629
+ parsePosition(position: any, market?: Market): Position;
627
630
  parseFundingRateHistory(info: any, market?: Market): FundingRateHistory;
628
- parseBorrowInterest(info: any, market?: Market): void;
631
+ parseBorrowInterest(info: any, market?: Market): BorrowInterest;
629
632
  parseWsTrade(trade: any, market?: Market): Trade;
630
633
  parseWsOrder(order: any, market?: Market): Order;
631
634
  parseWsOrderTrade(trade: any, market?: Market): Trade;
632
635
  parseWsOHLCV(ohlcv: any, market?: Market): OHLCV;
633
- fetchFundingRates(symbols?: string[], params?: {}): Promise<any>;
634
- transfer(code: string, amount: any, fromAccount: any, toAccount: any, params?: {}): Promise<any>;
635
- withdraw(code: string, amount: any, address: any, tag?: any, params?: {}): Promise<any>;
636
+ fetchFundingRates(symbols?: string[], params?: {}): Promise<{}>;
637
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
638
+ withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
636
639
  createDepositAddress(code: string, params?: {}): Promise<DepositAddressResponse>;
637
- setLeverage(leverage: any, symbol?: string, params?: {}): Promise<any>;
640
+ setLeverage(leverage: Int, symbol?: string, params?: {}): Promise<{}>;
641
+ fetchOpenInterestHistory(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OpenInterest[]>;
642
+ fetchOpenInterest(symbol: string, params?: {}): Promise<OpenInterest>;
643
+ signIn(params?: {}): Promise<{}>;
644
+ fetchPaymentMethods(params?: {}): Promise<{}>;
638
645
  parseToInt(number: any): number;
639
646
  parseToNumeric(number: any): number;
640
647
  isRoundNumber(value: any): boolean;
@@ -687,13 +694,13 @@ export default class Exchange {
687
694
  invertFlatStringDictionary(dict: any): {};
688
695
  reduceFeesByCurrency(fees: any): any[];
689
696
  safeTicker(ticker: object, market?: Market): Ticker;
690
- fetchBorrowRate(code: string, amount: any, params?: {}): Promise<any>;
691
- repayCrossMargin(code: string, amount: any, params?: {}): Promise<any>;
692
- repayIsolatedMargin(symbol: string, code: string, amount: any, params?: {}): Promise<any>;
693
- borrowCrossMargin(code: string, amount: any, params?: {}): Promise<any>;
694
- borrowIsolatedMargin(symbol: string, code: string, amount: any, params?: {}): Promise<any>;
695
- borrowMargin(code: string, amount: any, symbol?: Str, params?: {}): Promise<any>;
696
- repayMargin(code: string, amount: any, symbol?: Str, params?: {}): Promise<any>;
697
+ fetchBorrowRate(code: string, amount: any, params?: {}): Promise<{}>;
698
+ repayCrossMargin(code: string, amount: any, params?: {}): Promise<{}>;
699
+ repayIsolatedMargin(symbol: string, code: string, amount: any, params?: {}): Promise<{}>;
700
+ borrowCrossMargin(code: string, amount: number, params?: {}): Promise<{}>;
701
+ borrowIsolatedMargin(symbol: string, code: string, amount: number, params?: {}): Promise<{}>;
702
+ borrowMargin(code: string, amount: any, symbol?: Str, params?: {}): Promise<{}>;
703
+ repayMargin(code: string, amount: any, symbol?: Str, params?: {}): Promise<{}>;
697
704
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
698
705
  fetchOHLCVWs(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
699
706
  watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
@@ -723,7 +730,7 @@ export default class Exchange {
723
730
  parsePositions(positions: any, symbols?: string[], params?: {}): Position[];
724
731
  parseAccounts(accounts: any, params?: {}): any[];
725
732
  parseTrades(trades: any, market?: Market, since?: Int, limit?: Int, params?: {}): Trade[];
726
- parseTransactions(transactions: any, currency?: Currency, since?: Int, limit?: Int, params?: {}): any;
733
+ parseTransactions(transactions: any, currency?: Currency, since?: Int, limit?: Int, params?: {}): Transaction[];
727
734
  parseTransfers(transfers: any, currency?: Currency, since?: Int, limit?: Int, params?: {}): any;
728
735
  parseLedger(data: any, currency?: Currency, since?: Int, limit?: Int, params?: {}): any;
729
736
  nonce(): number;
@@ -737,12 +744,12 @@ export default class Exchange {
737
744
  loadAccounts(reload?: boolean, params?: {}): Promise<any>;
738
745
  buildOHLCVC(trades: Trade[], timeframe?: string, since?: number, limit?: number): OHLCVC[];
739
746
  parseTradingViewOHLCV(ohlcvs: any, market?: any, timeframe?: string, since?: Int, limit?: Int): OHLCV[];
740
- editLimitBuyOrder(id: any, symbol: any, amount: any, price?: any, params?: {}): Promise<Order>;
741
- editLimitSellOrder(id: any, symbol: any, amount: any, price?: any, params?: {}): Promise<Order>;
742
- editLimitOrder(id: any, symbol: any, side: any, amount: any, price?: any, params?: {}): Promise<Order>;
743
- editOrder(id: string, symbol: any, type: any, side: any, amount?: any, price?: any, params?: {}): Promise<Order>;
747
+ editLimitBuyOrder(id: any, symbol: any, amount: number, price?: number, params?: {}): Promise<Order>;
748
+ editLimitSellOrder(id: any, symbol: any, amount: number, price?: number, params?: {}): Promise<Order>;
749
+ editLimitOrder(id: any, symbol: any, side: any, amount: number, price?: number, params?: {}): Promise<Order>;
750
+ editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: number, price?: number, params?: {}): Promise<Order>;
744
751
  editOrderWs(id: string, symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
745
- fetchPermissions(params?: {}): Promise<void>;
752
+ fetchPermissions(params?: {}): Promise<{}>;
746
753
  fetchPosition(symbol: string, params?: {}): Promise<Position>;
747
754
  watchPosition(symbol?: string, params?: {}): Promise<Position>;
748
755
  watchPositions(symbols?: string[], since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
@@ -751,6 +758,9 @@ export default class Exchange {
751
758
  fetchPositions(symbols?: string[], params?: {}): Promise<Position[]>;
752
759
  fetchPositionsRisk(symbols?: string[], params?: {}): Promise<Position[]>;
753
760
  fetchBidsAsks(symbols?: string[], params?: {}): Promise<Dictionary<Ticker>>;
761
+ fetchBorrowInterest(code?: string, symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<BorrowInterest[]>;
762
+ fetchLedger(code?: string, since?: Int, limit?: Int, params?: {}): Promise<LedgerEntry[]>;
763
+ fetchLedgerEntry(id: string, code?: string, params?: {}): Promise<LedgerEntry>;
754
764
  parseBidAsk(bidask: any, priceKey?: IndexType, amountKey?: IndexType, countOrIdKey?: IndexType): number[];
755
765
  safeCurrency(currencyId: Str, currency?: Currency): CurrencyInterface;
756
766
  safeMarket(marketId: Str, market?: Market, delimiter?: Str, marketType?: Str): MarketInterface;
@@ -765,15 +775,15 @@ export default class Exchange {
765
775
  fetchUsedBalance(params?: {}): Promise<Balance>;
766
776
  fetchTotalBalance(params?: {}): Promise<Balance>;
767
777
  fetchStatus(params?: {}): Promise<any>;
768
- fetchFundingFee(code: string, params?: {}): Promise<any>;
769
- fetchFundingFees(codes?: string[], params?: {}): Promise<any>;
770
- fetchTransactionFee(code: string, params?: {}): Promise<any>;
771
- fetchTransactionFees(codes?: string[], params?: {}): Promise<any>;
772
- fetchDepositWithdrawFees(codes?: string[], params?: {}): Promise<any>;
773
- fetchDepositWithdrawFee(code: string, params?: {}): Promise<any>;
778
+ fetchFundingFee(code: string, params?: {}): Promise<{}>;
779
+ fetchFundingFees(codes?: string[], params?: {}): Promise<{}>;
780
+ fetchTransactionFee(code: string, params?: {}): Promise<{}>;
781
+ fetchTransactionFees(codes?: string[], params?: {}): Promise<{}>;
782
+ fetchDepositWithdrawFees(codes?: string[], params?: {}): Promise<Dictionary<DepositWithdrawFeeNetwork>>;
783
+ fetchDepositWithdrawFee(code: string, params?: {}): Promise<DepositWithdrawFeeNetwork>;
774
784
  getSupportedMapping(key: any, mapping?: {}): any;
775
- fetchCrossBorrowRate(code: string, params?: {}): Promise<any>;
776
- fetchIsolatedBorrowRate(symbol: string, params?: {}): Promise<any>;
785
+ fetchCrossBorrowRate(code: string, params?: {}): Promise<{}>;
786
+ fetchIsolatedBorrowRate(symbol: string, params?: {}): Promise<{}>;
777
787
  handleOptionAndParams(params: any, methodName: any, optionName: any, defaultValue?: any): any[];
778
788
  handleOptionAndParams2(params: any, methodName: any, methodName2: any, optionName: any, defaultValue?: any): any[];
779
789
  handleOption(methodName: any, optionName: any, defaultValue?: any): any;
@@ -794,24 +804,24 @@ export default class Exchange {
794
804
  fetchOrderWs(id: string, symbol?: string, params?: {}): Promise<Order>;
795
805
  fetchOrderStatus(id: string, symbol?: string, params?: {}): Promise<string>;
796
806
  fetchUnifiedOrder(order: any, params?: {}): Promise<Order>;
797
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
807
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
798
808
  createTrailingAmountOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, trailingAmount?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
799
809
  createTrailingPercentOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, trailingPercent?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
800
- createMarketOrderWithCost(symbol: string, side: OrderSide, cost: any, params?: {}): Promise<Order>;
801
- createMarketBuyOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
802
- createMarketSellOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
810
+ createMarketOrderWithCost(symbol: string, side: OrderSide, cost: number, params?: {}): Promise<Order>;
811
+ createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
812
+ createMarketSellOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
803
813
  createTriggerOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, triggerPrice?: any, params?: {}): Promise<Order>;
804
- createStopLossOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, stopLossPrice?: any, params?: {}): Promise<Order>;
805
- createTakeProfitOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, takeProfitPrice?: any, params?: {}): Promise<Order>;
806
- createOrderWithTakeProfitAndStopLoss(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, takeProfit?: any, stopLoss?: any, params?: {}): Promise<Order>;
814
+ createStopLossOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, stopLossPrice?: number, params?: {}): Promise<Order>;
815
+ createTakeProfitOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, takeProfitPrice?: number, params?: {}): Promise<Order>;
816
+ createOrderWithTakeProfitAndStopLoss(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, takeProfit?: number, stopLoss?: number, params?: {}): Promise<Order>;
807
817
  createOrders(orders: OrderRequest[], params?: {}): Promise<Order[]>;
808
818
  createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
809
- cancelOrder(id: string, symbol?: string, params?: {}): Promise<any>;
810
- cancelOrderWs(id: string, symbol?: string, params?: {}): Promise<any>;
811
- cancelOrdersWs(ids: string[], symbol?: string, params?: {}): Promise<any>;
812
- cancelAllOrders(symbol?: string, params?: {}): Promise<any>;
813
- cancelAllOrdersWs(symbol?: string, params?: {}): Promise<any>;
814
- cancelUnifiedOrder(order: any, params?: {}): Promise<any>;
819
+ cancelOrder(id: string, symbol?: string, params?: {}): Promise<{}>;
820
+ cancelOrderWs(id: string, symbol?: string, params?: {}): Promise<{}>;
821
+ cancelOrdersWs(ids: string[], symbol?: string, params?: {}): Promise<{}>;
822
+ cancelAllOrders(symbol?: string, params?: {}): Promise<{}>;
823
+ cancelAllOrdersWs(symbol?: string, params?: {}): Promise<{}>;
824
+ cancelUnifiedOrder(order: any, params?: {}): Promise<{}>;
815
825
  fetchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
816
826
  fetchOrdersWs(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
817
827
  fetchOrderTrades(id: string, symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
@@ -827,12 +837,11 @@ export default class Exchange {
827
837
  fetchMyTradesWs(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
828
838
  watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
829
839
  fetchGreeks(symbol: string, params?: {}): Promise<Greeks>;
830
- fetchDepositsWithdrawals(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
831
- fetchDeposits(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
832
- fetchDepositsWs(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
833
- fetchWithdrawals(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
834
- fetchWithdrawalsWs(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
835
- fetchOpenInterest(symbol: string, params?: {}): Promise<OpenInterest>;
840
+ fetchDepositsWithdrawals(code?: string, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
841
+ fetchDeposits(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
842
+ fetchWithdrawals(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
843
+ fetchDepositsWs(code?: string, since?: Int, limit?: Int, params?: {}): Promise<{}>;
844
+ fetchWithdrawalsWs(code?: string, since?: Int, limit?: Int, params?: {}): Promise<{}>;
836
845
  fetchFundingRateHistory(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<FundingRateHistory[]>;
837
846
  fetchFundingHistory(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<FundingHistory[]>;
838
847
  closePosition(symbol: string, side?: OrderSide, params?: {}): Promise<Order>;
@@ -846,12 +855,12 @@ export default class Exchange {
846
855
  market(symbol: string): MarketInterface;
847
856
  createExpiredOptionMarket(symbol: string): MarketInterface;
848
857
  handleWithdrawTagAndParams(tag: any, params: any): any;
849
- createLimitOrder(symbol: string, side: OrderSide, amount: any, price: any, params?: {}): Promise<Order>;
850
- createMarketOrder(symbol: string, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
851
- createLimitBuyOrder(symbol: string, amount: any, price: any, params?: {}): Promise<Order>;
852
- createLimitSellOrder(symbol: string, amount: any, price: any, params?: {}): Promise<Order>;
853
- createMarketBuyOrder(symbol: string, amount: any, params?: {}): Promise<Order>;
854
- createMarketSellOrder(symbol: string, amount: any, params?: {}): Promise<Order>;
858
+ createLimitOrder(symbol: string, side: OrderSide, amount: number, price: number, params?: {}): Promise<Order>;
859
+ createMarketOrder(symbol: string, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
860
+ createLimitBuyOrder(symbol: string, amount: number, price: number, params?: {}): Promise<Order>;
861
+ createLimitSellOrder(symbol: string, amount: number, price: number, params?: {}): Promise<Order>;
862
+ createMarketBuyOrder(symbol: string, amount: number, params?: {}): Promise<Order>;
863
+ createMarketSellOrder(symbol: string, amount: number, params?: {}): Promise<Order>;
855
864
  costToPrecision(symbol: string, cost: any): any;
856
865
  priceToPrecision(symbol: string, price: any): string;
857
866
  amountToPrecision(symbol: string, amount: any): any;
@@ -867,11 +876,11 @@ export default class Exchange {
867
876
  loadTimeDifference(params?: {}): Promise<any>;
868
877
  implodeHostname(url: string): any;
869
878
  fetchMarketLeverageTiers(symbol: string, params?: {}): Promise<any>;
870
- createPostOnlyOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price: any, params?: {}): Promise<Order>;
871
- createReduceOnlyOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price: any, params?: {}): Promise<Order>;
872
- createStopOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, stopPrice?: any, params?: {}): Promise<Order>;
873
- createStopLimitOrder(symbol: string, side: OrderSide, amount: any, price: any, stopPrice: any, params?: {}): Promise<Order>;
874
- createStopMarketOrder(symbol: string, side: OrderSide, amount: any, stopPrice: any, params?: {}): Promise<Order>;
879
+ createPostOnlyOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
880
+ createReduceOnlyOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
881
+ createStopOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, stopPrice?: number, params?: {}): Promise<Order>;
882
+ createStopLimitOrder(symbol: string, side: OrderSide, amount: number, price: number, stopPrice: number, params?: {}): Promise<Order>;
883
+ createStopMarketOrder(symbol: string, side: OrderSide, amount: number, stopPrice: number, params?: {}): Promise<Order>;
875
884
  safeCurrencyCode(currencyId: Str, currency?: Currency): string;
876
885
  filterBySymbolSinceLimit(array: any, symbol?: string, since?: Int, limit?: Int, tail?: boolean): any;
877
886
  filterByCurrencySinceLimit(array: any, code?: any, since?: Int, limit?: Int, tail?: boolean): any;
@@ -882,18 +891,18 @@ export default class Exchange {
882
891
  parseBorrowInterests(response: any, market?: Market): any[];
883
892
  parseFundingRateHistories(response: any, market?: any, since?: Int, limit?: Int): FundingRateHistory[];
884
893
  safeSymbol(marketId: Str, market?: Market, delimiter?: Str, marketType?: Str): string;
885
- parseFundingRate(contract: string, market?: Market): void;
894
+ parseFundingRate(contract: string, market?: Market): object;
886
895
  parseFundingRates(response: any, market?: Market): {};
887
896
  isTriggerOrder(params: any): any[];
888
897
  isPostOnly(isMarketOrder: boolean, exchangeSpecificParam: any, params?: {}): boolean;
889
898
  handlePostOnly(isMarketOrder: boolean, exchangeSpecificPostOnlyOption: boolean, params?: any): any[];
890
- fetchLastPrices(symbols?: string[], params?: {}): Promise<void>;
891
- fetchTradingFees(params?: {}): Promise<any>;
892
- fetchTradingFeesWs(params?: {}): Promise<any>;
893
- fetchTradingFee(symbol: string, params?: {}): Promise<any>;
899
+ fetchLastPrices(symbols?: string[], params?: {}): Promise<{}>;
900
+ fetchTradingFees(params?: {}): Promise<{}>;
901
+ fetchTradingFeesWs(params?: {}): Promise<{}>;
902
+ fetchTradingFee(symbol: string, params?: {}): Promise<{}>;
894
903
  parseOpenInterest(interest: any, market?: Market): OpenInterest;
895
904
  parseOpenInterests(response: any, market?: any, since?: Int, limit?: Int): OpenInterest[];
896
- fetchFundingRate(symbol: string, params?: {}): Promise<any>;
905
+ fetchFundingRate(symbol: string, params?: {}): Promise<FundingRate>;
897
906
  fetchMarkOHLCV(symbol: any, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
898
907
  fetchIndexOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
899
908
  fetchPremiumIndexOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
@@ -905,11 +914,11 @@ export default class Exchange {
905
914
  parseDepositWithdrawFee(fee: any, currency?: Currency): any;
906
915
  depositWithdrawFee(info: any): any;
907
916
  assignDefaultDepositWithdrawFees(fee: any, currency?: any): any;
908
- parseIncome(info: any, market?: Market): void;
917
+ parseIncome(info: any, market?: Market): object;
909
918
  parseIncomes(incomes: any, market?: any, since?: Int, limit?: Int): FundingHistory[];
910
919
  getMarketFromSymbols(symbols?: string[]): MarketInterface;
911
920
  parseWsOHLCVs(ohlcvs: object[], market?: any, timeframe?: string, since?: Int, limit?: Int): any[];
912
- fetchTransactions(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
921
+ fetchTransactions(code?: string, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
913
922
  filterByArrayPositions(objects: any, key: IndexType, values?: any, indexed?: boolean): Position[];
914
923
  filterByArrayTickers(objects: any, key: IndexType, values?: any, indexed?: boolean): Dictionary<Ticker>;
915
924
  createOHLCVObject(symbol: string, timeframe: string, data: any): Dictionary<Dictionary<OHLCV[]>>;
@@ -27,6 +27,7 @@ import totp from './functions/totp.js';
27
27
  */
28
28
  export default class Exchange {
29
29
  constructor(userConfig = {}) {
30
+ this.throttleProp = undefined;
30
31
  this.api = undefined;
31
32
  this.userAgent = undefined;
32
33
  this.user_agent = undefined;
@@ -108,6 +109,7 @@ export default class Exchange {
108
109
  this.clients = {};
109
110
  this.newUpdates = true;
110
111
  this.streaming = {};
112
+ this.alias = false;
111
113
  this.deepExtend = deepExtend;
112
114
  this.isNode = isNode;
113
115
  this.keys = keysFunc;
@@ -689,7 +691,7 @@ export default class Exchange {
689
691
  // @ts-ignore
690
692
  this.httpProxyAgentModule = await import(/* webpackIgnore: true */ 'https-proxy-agent');
691
693
  }
692
- catch { }
694
+ catch (e) { }
693
695
  }
694
696
  if (this.socksProxyAgentModuleChecked === false) {
695
697
  this.socksProxyAgentModuleChecked = true;
@@ -951,7 +953,7 @@ export default class Exchange {
951
953
  const markets = await this.fetchMarkets(params);
952
954
  return this.setMarkets(markets, currencies);
953
955
  }
954
- loadMarkets(reload = false, params = {}) {
956
+ async loadMarkets(reload = false, params = {}) {
955
957
  // this method is async, it returns a promise
956
958
  if ((reload && !this.reloadingMarkets) || !this.marketsLoading) {
957
959
  this.reloadingMarkets = true;
@@ -965,28 +967,28 @@ export default class Exchange {
965
967
  }
966
968
  return this.marketsLoading;
967
969
  }
968
- fetchCurrencies(params = {}) {
970
+ async fetchCurrencies(params = {}) {
969
971
  // markets are returned as a list
970
972
  // currencies are returned as a dict
971
973
  // this is for historical reasons
972
974
  // and may be changed for consistency later
973
975
  return new Promise((resolve, reject) => resolve(this.currencies));
974
976
  }
975
- fetchCurrenciesWs(params = {}) {
977
+ async fetchCurrenciesWs(params = {}) {
976
978
  // markets are returned as a list
977
979
  // currencies are returned as a dict
978
980
  // this is for historical reasons
979
981
  // and may be changed for consistency later
980
982
  return new Promise((resolve, reject) => resolve(this.currencies));
981
983
  }
982
- fetchMarkets(params = {}) {
984
+ async fetchMarkets(params = {}) {
983
985
  // markets are returned as a list
984
986
  // currencies are returned as a dict
985
987
  // this is for historical reasons
986
988
  // and may be changed for consistency later
987
989
  return new Promise((resolve, reject) => resolve(Object.values(this.markets)));
988
990
  }
989
- fetchMarketsWs(params = {}) {
991
+ async fetchMarketsWs(params = {}) {
990
992
  // markets are returned as a list
991
993
  // currencies are returned as a dict
992
994
  // this is for historical reasons
@@ -1061,6 +1063,9 @@ export default class Exchange {
1061
1063
  }
1062
1064
  handleMessage(client, message) { } // stub to override
1063
1065
  // ping (client) {} // stub to override
1066
+ ping(client) {
1067
+ return undefined;
1068
+ }
1064
1069
  client(url) {
1065
1070
  this.clients = this.clients || {};
1066
1071
  if (!this.clients[url]) {
@@ -1677,7 +1682,7 @@ export default class Exchange {
1677
1682
  }
1678
1683
  return result;
1679
1684
  }
1680
- filterByLimit(array, limit = undefined, key = 'timestamp') {
1685
+ filterByLimit(array, limit = undefined, key = 'timestamp', fromStart = false) {
1681
1686
  if (this.valueIsDefined(limit)) {
1682
1687
  const arrayLength = array.length;
1683
1688
  if (arrayLength > 0) {
@@ -1689,7 +1694,15 @@ export default class Exchange {
1689
1694
  ascending = first <= last; // true if array is sorted in ascending order based on 'timestamp'
1690
1695
  }
1691
1696
  }
1692
- array = ascending ? this.arraySlice(array, -limit) : this.arraySlice(array, 0, limit);
1697
+ if (fromStart) {
1698
+ if (limit > arrayLength) {
1699
+ limit = arrayLength;
1700
+ }
1701
+ array = ascending ? this.arraySlice(array, 0, limit) : this.arraySlice(array, -limit);
1702
+ }
1703
+ else {
1704
+ array = ascending ? this.arraySlice(array, -limit) : this.arraySlice(array, 0, limit);
1705
+ }
1693
1706
  }
1694
1707
  }
1695
1708
  return array;
@@ -1711,7 +1724,10 @@ export default class Exchange {
1711
1724
  if (tail && limit !== undefined) {
1712
1725
  return this.arraySlice(result, -limit);
1713
1726
  }
1714
- return this.filterByLimit(result, limit, key);
1727
+ // if the user provided a 'since' argument
1728
+ // we want to limit the result starting from the 'since'
1729
+ const shouldFilterFromStart = !tail && sinceIsDefined;
1730
+ return this.filterByLimit(result, limit, key, shouldFilterFromStart);
1715
1731
  }
1716
1732
  filterByValueSinceLimit(array, field, value = undefined, since = undefined, limit = undefined, key = 'timestamp', tail = false) {
1717
1733
  const valueIsDefined = this.valueIsDefined(value);
@@ -1736,7 +1752,7 @@ export default class Exchange {
1736
1752
  if (tail && limit !== undefined) {
1737
1753
  return this.arraySlice(result, -limit);
1738
1754
  }
1739
- return this.filterByLimit(result, limit, key);
1755
+ return this.filterByLimit(result, limit, key, sinceIsDefined);
1740
1756
  }
1741
1757
  setSandboxMode(enabled) {
1742
1758
  if (enabled) {
@@ -1910,6 +1926,18 @@ export default class Exchange {
1910
1926
  async setLeverage(leverage, symbol = undefined, params = {}) {
1911
1927
  throw new NotSupported(this.id + ' setLeverage() is not supported yet');
1912
1928
  }
1929
+ async fetchOpenInterestHistory(symbol, timeframe = '1h', since = undefined, limit = undefined, params = {}) {
1930
+ throw new NotSupported(this.id + ' fetchOpenInterestHistory() is not supported yet');
1931
+ }
1932
+ async fetchOpenInterest(symbol, params = {}) {
1933
+ throw new NotSupported(this.id + ' fetchOpenInterest() is not supported yet');
1934
+ }
1935
+ async signIn(params = {}) {
1936
+ throw new NotSupported(this.id + ' signIn() is not supported yet');
1937
+ }
1938
+ async fetchPaymentMethods(params = {}) {
1939
+ throw new NotSupported(this.id + ' fetchPaymentMethods() is not supported yet');
1940
+ }
1913
1941
  parseToInt(number) {
1914
1942
  // Solve Common parseInt misuse ex: parseInt ((since / 1000).toString ())
1915
1943
  // using a number as parameter which is not valid in ts
@@ -3520,6 +3548,15 @@ export default class Exchange {
3520
3548
  async fetchBidsAsks(symbols = undefined, params = {}) {
3521
3549
  throw new NotSupported(this.id + ' fetchBidsAsks() is not supported yet');
3522
3550
  }
3551
+ async fetchBorrowInterest(code = undefined, symbol = undefined, since = undefined, limit = undefined, params = {}) {
3552
+ throw new NotSupported(this.id + ' fetchBorrowInterest() is not supported yet');
3553
+ }
3554
+ async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
3555
+ throw new NotSupported(this.id + ' fetchLedger() is not supported yet');
3556
+ }
3557
+ async fetchLedgerEntry(id, code = undefined, params = {}) {
3558
+ throw new NotSupported(this.id + ' fetchLedgerEntry() is not supported yet');
3559
+ }
3523
3560
  parseBidAsk(bidask, priceKey = 0, amountKey = 1, countOrIdKey = 2) {
3524
3561
  const price = this.safeNumber(bidask, priceKey);
3525
3562
  const amount = this.safeNumber(bidask, amountKey);
@@ -3820,6 +3857,9 @@ export default class Exchange {
3820
3857
  return this.handleOptionAndParams(params, methodName, 'marginMode', defaultValue);
3821
3858
  }
3822
3859
  throwExactlyMatchedException(exact, string, message) {
3860
+ if (string === undefined) {
3861
+ return;
3862
+ }
3823
3863
  if (string in exact) {
3824
3864
  throw new exact[string](message);
3825
3865
  }
@@ -4243,21 +4283,18 @@ export default class Exchange {
4243
4283
  */
4244
4284
  throw new NotSupported(this.id + ' fetchDepositsWithdrawals() is not supported yet');
4245
4285
  }
4246
- async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
4286
+ async fetchDeposits(symbol = undefined, since = undefined, limit = undefined, params = {}) {
4247
4287
  throw new NotSupported(this.id + ' fetchDeposits() is not supported yet');
4248
4288
  }
4289
+ async fetchWithdrawals(symbol = undefined, since = undefined, limit = undefined, params = {}) {
4290
+ throw new NotSupported(this.id + ' fetchWithdrawals() is not supported yet');
4291
+ }
4249
4292
  async fetchDepositsWs(code = undefined, since = undefined, limit = undefined, params = {}) {
4250
4293
  throw new NotSupported(this.id + ' fetchDepositsWs() is not supported yet');
4251
4294
  }
4252
- async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
4253
- throw new NotSupported(this.id + ' fetchWithdrawals() is not supported yet');
4254
- }
4255
4295
  async fetchWithdrawalsWs(code = undefined, since = undefined, limit = undefined, params = {}) {
4256
4296
  throw new NotSupported(this.id + ' fetchWithdrawalsWs() is not supported yet');
4257
4297
  }
4258
- async fetchOpenInterest(symbol, params = {}) {
4259
- throw new NotSupported(this.id + ' fetchOpenInterest() is not supported yet');
4260
- }
4261
4298
  async fetchFundingRateHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
4262
4299
  throw new NotSupported(this.id + ' fetchFundingRateHistory() is not supported yet');
4263
4300
  }
@@ -4345,7 +4382,7 @@ export default class Exchange {
4345
4382
  throw new NotSupported(this.id + ' createExpiredOptionMarket () is not supported yet');
4346
4383
  }
4347
4384
  handleWithdrawTagAndParams(tag, params) {
4348
- if (typeof tag === 'object') {
4385
+ if ((tag !== undefined) && (typeof tag === 'object')) {
4349
4386
  params = this.extend(tag, params);
4350
4387
  tag = undefined;
4351
4388
  }
@@ -4479,14 +4516,14 @@ export default class Exchange {
4479
4516
  throw new NotSupported(this.id + ' fetchMarketLeverageTiers() is not supported yet');
4480
4517
  }
4481
4518
  }
4482
- async createPostOnlyOrder(symbol, type, side, amount, price, params = {}) {
4519
+ async createPostOnlyOrder(symbol, type, side, amount, price = undefined, params = {}) {
4483
4520
  if (!this.has['createPostOnlyOrder']) {
4484
4521
  throw new NotSupported(this.id + 'createPostOnlyOrder() is not supported yet');
4485
4522
  }
4486
4523
  const query = this.extend(params, { 'postOnly': true });
4487
4524
  return await this.createOrder(symbol, type, side, amount, price, query);
4488
4525
  }
4489
- async createReduceOnlyOrder(symbol, type, side, amount, price, params = {}) {
4526
+ async createReduceOnlyOrder(symbol, type, side, amount, price = undefined, params = {}) {
4490
4527
  if (!this.has['createReduceOnlyOrder']) {
4491
4528
  throw new NotSupported(this.id + 'createReduceOnlyOrder() is not supported yet');
4492
4529
  }
@@ -5109,7 +5146,8 @@ export default class Exchange {
5109
5146
  const response = await this[method](symbol, undefined, maxEntriesPerRequest, params);
5110
5147
  const responseLength = response.length;
5111
5148
  if (this.verbose) {
5112
- this.log('Dynamic pagination call', calls, 'method', method, 'response length', responseLength, 'timestamp', paginationTimestamp);
5149
+ const backwardMessage = 'Dynamic pagination call ' + calls + ' method ' + method + ' response length ' + responseLength + ' timestamp ' + paginationTimestamp;
5150
+ this.log(backwardMessage);
5113
5151
  }
5114
5152
  if (responseLength === 0) {
5115
5153
  break;
@@ -5127,7 +5165,8 @@ export default class Exchange {
5127
5165
  const response = await this[method](symbol, paginationTimestamp, maxEntriesPerRequest, params);
5128
5166
  const responseLength = response.length;
5129
5167
  if (this.verbose) {
5130
- this.log('Dynamic pagination call', calls, 'method', method, 'response length', responseLength, 'timestamp', paginationTimestamp);
5168
+ const forwardMessage = 'Dynamic pagination call ' + calls + ' method ' + method + ' response length ' + responseLength + ' timestamp ' + paginationTimestamp;
5169
+ this.log(forwardMessage);
5131
5170
  }
5132
5171
  if (responseLength === 0) {
5133
5172
  break;
@@ -5173,6 +5212,7 @@ export default class Exchange {
5173
5212
  throw e;
5174
5213
  }
5175
5214
  }
5215
+ return undefined;
5176
5216
  }
5177
5217
  async fetchPaginatedCallDeterministic(method, symbol = undefined, since = undefined, limit = undefined, timeframe = undefined, params = {}, maxEntriesPerRequest = undefined) {
5178
5218
  let maxCalls = undefined;
@@ -5237,7 +5277,8 @@ export default class Exchange {
5237
5277
  errors = 0;
5238
5278
  const responseLength = response.length;
5239
5279
  if (this.verbose) {
5240
- this.log('Cursor pagination call', i + 1, 'method', method, 'response length', responseLength, 'cursor', cursorValue);
5280
+ const cursorMessage = 'Cursor pagination call ' + i + 1 + ' method ' + method + ' response length ' + responseLength + ' cursor ' + cursorValue;
5281
+ this.log(cursorMessage);
5241
5282
  }
5242
5283
  if (responseLength === 0) {
5243
5284
  break;
@@ -5281,7 +5322,8 @@ export default class Exchange {
5281
5322
  errors = 0;
5282
5323
  const responseLength = response.length;
5283
5324
  if (this.verbose) {
5284
- this.log('Incremental pagination call', i + 1, 'method', method, 'response length', responseLength);
5325
+ const incrementalMessage = 'Incremental pagination call ' + i + 1 + ' method ' + method + ' response length ' + responseLength;
5326
+ this.log(incrementalMessage);
5285
5327
  }
5286
5328
  if (responseLength === 0) {
5287
5329
  break;