ccxt 4.2.73 → 4.2.75

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 (309) hide show
  1. package/CHANGELOG.md +206 -10
  2. package/README.md +10 -9
  3. package/build.sh +1 -1
  4. package/dist/ccxt.browser.js +1042 -297
  5. package/dist/ccxt.browser.min.js +3 -3
  6. package/dist/cjs/ccxt.js +4 -1
  7. package/dist/cjs/src/abstract/tradeogre.js +9 -0
  8. package/dist/cjs/src/ascendex.js +3 -2
  9. package/dist/cjs/src/base/Exchange.js +1 -1
  10. package/dist/cjs/src/bitget.js +62 -50
  11. package/dist/cjs/src/bitmart.js +1 -0
  12. package/dist/cjs/src/bybit.js +90 -30
  13. package/dist/cjs/src/coinbaseinternational.js +1 -1
  14. package/dist/cjs/src/coinex.js +4 -3
  15. package/dist/cjs/src/gate.js +1 -0
  16. package/dist/cjs/src/htx.js +16 -9
  17. package/dist/cjs/src/hyperliquid.js +2 -1
  18. package/dist/cjs/src/kraken.js +3 -3
  19. package/dist/cjs/src/kucoin.js +1 -1
  20. package/dist/cjs/src/pro/krakenfutures.js +8 -7
  21. package/dist/cjs/src/tradeogre.js +632 -0
  22. package/examples/README.md +308 -0
  23. package/examples/ccxt.pro/html/watchTicker.html +51 -0
  24. package/examples/ccxt.pro/js/binance-fetch-balance-snapshot-watch-balance-updates.js +55 -0
  25. package/examples/ccxt.pro/js/binance-https-proxy.js +48 -0
  26. package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols-continuously.js +38 -0
  27. package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols.js +64 -0
  28. package/examples/ccxt.pro/js/binance-watch-ticker-many-symbols.js +62 -0
  29. package/examples/ccxt.pro/js/build-ohlcv-many-symbols.js +68 -0
  30. package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades-warmup.js +82 -0
  31. package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades.js +59 -0
  32. package/examples/ccxt.pro/js/exchange-capabitities.js +72 -0
  33. package/examples/ccxt.pro/js/exchange-close.js +46 -0
  34. package/examples/ccxt.pro/js/gateio-swap-watch-many-orderbooks.js +30 -0
  35. package/examples/ccxt.pro/js/gateio-watch-balance.js +23 -0
  36. package/examples/ccxt.pro/js/gateio-watch-order-book.js +71 -0
  37. package/examples/ccxt.pro/js/graceful-shutdown.js +43 -0
  38. package/examples/ccxt.pro/js/many-exchanges-many-streams.js +37 -0
  39. package/examples/ccxt.pro/js/okex-create-futures-order.js +48 -0
  40. package/examples/ccxt.pro/js/okex-watch-balance-and-create-order.js +54 -0
  41. package/examples/ccxt.pro/js/okx-watch-tickers.js +31 -0
  42. package/examples/ccxt.pro/js/one-exchange-many-different-streams.js +46 -0
  43. package/examples/ccxt.pro/js/one-exchange-many-streams-2.js +26 -0
  44. package/examples/ccxt.pro/js/one-exchange-many-streams.js +28 -0
  45. package/examples/ccxt.pro/js/socks-binance-watch-orderbook.js +30 -0
  46. package/examples/ccxt.pro/js/watch-fetch-many-exchanges-many-ordersbooks.js +40 -0
  47. package/examples/ccxt.pro/js/watch-many-exchanges-many-ordersbooks.js +38 -0
  48. package/examples/ccxt.pro/js/watch-many-exchanges-many-symbols.js +40 -0
  49. package/examples/ccxt.pro/js/watch-many-orderbooks.js +27 -0
  50. package/examples/ccxt.pro/js/watch-new-trades-only.js +43 -0
  51. package/examples/ccxt.pro/js/watch-new-trades.js +42 -0
  52. package/examples/ccxt.pro/js/watch-trades-many-symbols.js +29 -0
  53. package/examples/ccxt.pro/js/watch-vs-fetch.js +29 -0
  54. package/examples/cs/Examples.sln +22 -0
  55. package/examples/cs/c#.csproj +19 -0
  56. package/examples/html/basic-cors-proxy.html +46 -0
  57. package/examples/html/basic-inheritance.html +47 -0
  58. package/examples/html/basic-poller.html +52 -0
  59. package/examples/html/basic-rate-limiting.html +49 -0
  60. package/examples/html/basic.html +43 -0
  61. package/examples/html/binance-cors-proxy.html +28 -0
  62. package/examples/html/bitmex-browser-cors-proxy.js +7 -0
  63. package/examples/html/bitmex-cors.html +46 -0
  64. package/examples/html/tradingview-charts.html +61 -0
  65. package/examples/html/webworker/index.html +97 -0
  66. package/examples/html/webworker/worker.js +43 -0
  67. package/examples/js/README.md +15 -0
  68. package/examples/js/advanced-error-handling.js +39 -0
  69. package/examples/js/aggregate-orderbook.js +54 -0
  70. package/examples/js/arbitrage-pairs.js +130 -0
  71. package/examples/js/basic-chart.js +29 -0
  72. package/examples/js/basic-orderbook-polling.js +13 -0
  73. package/examples/js/bcc-vs-bch.js +115 -0
  74. package/examples/js/binance-fetch-all-deposits.js +45 -0
  75. package/examples/js/binance-fetch-ohlcv-many-symbols-async-await.js +34 -0
  76. package/examples/js/binance-fetch-ohlcv-many-symbols-promise-then-callbacks.js +33 -0
  77. package/examples/js/binance-fetchTicker-delivery-vs-future.js +31 -0
  78. package/examples/js/binance-futures-transfer-from-sub-account-to-master.js +41 -0
  79. package/examples/js/binance-margin-stop-order.js +39 -0
  80. package/examples/js/binance-server-time.js +34 -0
  81. package/examples/js/binance-universal-transfer.js +16 -0
  82. package/examples/js/bitfinex-fetch-trades.js +35 -0
  83. package/examples/js/bitfinex2-fetch-trades.js +35 -0
  84. package/examples/js/bitmex-browser-cors-proxy.js +7 -0
  85. package/examples/js/bitpanda-fetchMyTrades-reduce.js +36 -0
  86. package/examples/js/bitrue-fetch-balance.js +28 -0
  87. package/examples/js/bitstamp-private-api.js +115 -0
  88. package/examples/js/bitstamp-public-api.js +39 -0
  89. package/examples/js/bittrex-balance.js +50 -0
  90. package/examples/js/bittrex-fetch-closed-orders-history.js +69 -0
  91. package/examples/js/blockchaincom-withdrawal.js +59 -0
  92. package/examples/js/build-ohlcv-bars.js +48 -0
  93. package/examples/js/builtin-rate-limiting-rest-poller.js +25 -0
  94. package/examples/js/bybit-trailing.js +62 -0
  95. package/examples/js/bybit-updated.cjs +154 -0
  96. package/examples/js/cli.js +405 -0
  97. package/examples/js/coinbase-fetch-all-balances.js +36 -0
  98. package/examples/js/coinex-fetch-all-deposit-addresses-using-fetchDepositAddress.js +47 -0
  99. package/examples/js/coinex-futures.js +75 -0
  100. package/examples/js/coinone-fetch-tickers.js +54 -0
  101. package/examples/js/coinone-markets.js +16 -0
  102. package/examples/js/compare-two-exchanges-capabilities.js +36 -0
  103. package/examples/js/cors-proxy.js +5 -0
  104. package/examples/js/create-order-handle-errors.js +55 -0
  105. package/examples/js/create-order-position-with-takeprofit-stoploss.js +71 -0
  106. package/examples/js/create-order-with-retry.js +65 -0
  107. package/examples/js/create-order-ws-example.js +25 -0
  108. package/examples/js/create-orders-example.js +17 -0
  109. package/examples/js/create-trailing-amount-order.js +36 -0
  110. package/examples/js/create-trailing-percent-order.js +36 -0
  111. package/examples/js/credentials.json +5 -0
  112. package/examples/js/custom-proxy-agent-for-js.js +10 -0
  113. package/examples/js/custom-proxy-url.js +23 -0
  114. package/examples/js/delta-maintenance-margin-rate-max-leverage.js +60 -0
  115. package/examples/js/env-variables.js +26 -0
  116. package/examples/js/error-handling.js +89 -0
  117. package/examples/js/exchange-capabilities.js +135 -0
  118. package/examples/js/exchanges-by-volume.js +60 -0
  119. package/examples/js/exchanges.js +40 -0
  120. package/examples/js/fetch-all-balances.js +219 -0
  121. package/examples/js/fetch-all-tickers-to-files-2.js +53 -0
  122. package/examples/js/fetch-all-tickers-to-files.js +77 -0
  123. package/examples/js/fetch-balance.js +28 -0
  124. package/examples/js/fetch-create-deposit-address.js +101 -0
  125. package/examples/js/fetch-from-many-exchanges-simultaneously.js +21 -0
  126. package/examples/js/fetch-funding-rate-history.js +25 -0
  127. package/examples/js/fetch-futures/prettier.config.js +5 -0
  128. package/examples/js/fetch-futures/src/index.js +25 -0
  129. package/examples/js/fetch-ohlcv-from-to-mark-index-premium.js +72 -0
  130. package/examples/js/fetch-ohlcv-many-exchanges-continuosly.js +39 -0
  131. package/examples/js/fetch-ohlcv.js +16 -0
  132. package/examples/js/fetch-okex-futures.js +22 -0
  133. package/examples/js/fetch-orders.js +27 -0
  134. package/examples/js/fetch-ticker-from-multiple-exchanges.js +35 -0
  135. package/examples/js/fetch-ticker-where-available.js +75 -0
  136. package/examples/js/fetch-tickers/build/index.js +19 -0
  137. package/examples/js/fetch-tickers/prettier.config.js +5 -0
  138. package/examples/js/fetch-tickers/src/index.js +17 -0
  139. package/examples/js/gateio-create-batch-order.js +43 -0
  140. package/examples/js/gateio-futures.js +49 -0
  141. package/examples/js/gateio-open-close-contract.js +49 -0
  142. package/examples/js/gateio-swaps.js +74 -0
  143. package/examples/js/gdax-fetch-trades-pagination.js +29 -0
  144. package/examples/js/hitbtc2-withdraw.js +61 -0
  145. package/examples/js/how-to-import-one-exchange-esm.js +10 -0
  146. package/examples/js/huobi-futures.js +71 -0
  147. package/examples/js/huobi-open-close-contract.js +63 -0
  148. package/examples/js/huobi-swaps.js +70 -0
  149. package/examples/js/huobipro-market-buy-sell-fetch-trading-limits.js +98 -0
  150. package/examples/js/hybridCJSExample.cjs +19 -0
  151. package/examples/js/hybridESMExample.js +19 -0
  152. package/examples/js/idex-fetch-balance.js +13 -0
  153. package/examples/js/instantiate-all-at-once.js +46 -0
  154. package/examples/js/instantiate-all-from-json.js +31 -0
  155. package/examples/js/kraken-create-and-close-position.js +54 -0
  156. package/examples/js/kraken-fetch-order-trades.js +33 -0
  157. package/examples/js/kraken-margin-trading.js +89 -0
  158. package/examples/js/kucoin-rate-limit.js +38 -0
  159. package/examples/js/latoken-example.js +108 -0
  160. package/examples/js/live-orderbook.js +106 -0
  161. package/examples/js/live-ticker.js +80 -0
  162. package/examples/js/live-tickers.js +74 -0
  163. package/examples/js/load-all-contracts.js +41 -0
  164. package/examples/js/load-all-symbols-at-once.js +69 -0
  165. package/examples/js/load-all-tickers-at-once.js +91 -0
  166. package/examples/js/load-markets-to-files.js +57 -0
  167. package/examples/js/looping-over-all-symbols-of-specific-exchanges.js +61 -0
  168. package/examples/js/looping-over-specific-symbols-of-all-exchanges.js +91 -0
  169. package/examples/js/margin-loan-borrow-buy-sell-repay.js +70 -0
  170. package/examples/js/market-status-and-currency-status.js +29 -0
  171. package/examples/js/ohlcv-console-chart.js +29 -0
  172. package/examples/js/okex-fetch-closed-orders-archive.js +31 -0
  173. package/examples/js/okex-transfer.js +51 -0
  174. package/examples/js/okx-poll-fetch-my-trades.js +37 -0
  175. package/examples/js/okx-poll-rate-limit.js +48 -0
  176. package/examples/js/order-book-extra-level-depth-param.js +20 -0
  177. package/examples/js/phemex-create-order-position-with-takeprofit-stoploss.js +49 -0
  178. package/examples/js/poll-ohlcv.js +43 -0
  179. package/examples/js/poloniex-fetch-order-books.js +35 -0
  180. package/examples/js/poloniex-limits-amount-min.js +62 -0
  181. package/examples/js/proxy-round-robin.js +98 -0
  182. package/examples/js/proxy-usage.js +32 -0
  183. package/examples/js/sample-local-proxy-server-with-cors.js +12 -0
  184. package/examples/js/search-all-exchanges.js +159 -0
  185. package/examples/js/shared-load-markets.js +80 -0
  186. package/examples/js/sort-swap-markets-by-hourly-price-change.js +55 -0
  187. package/examples/js/symbols.js +110 -0
  188. package/examples/js/theocean.js +41 -0
  189. package/examples/js/tickers.js +106 -0
  190. package/examples/js/validate-paginated-data.js +61 -0
  191. package/examples/js/watch-OHLCV-For-Symbols.js +15 -0
  192. package/examples/js/watch-OHLCV.js +12 -0
  193. package/examples/js/watch-OrderBook-For-Symbols.js +11 -0
  194. package/examples/js/watch-Trades-For-Symbols.js +11 -0
  195. package/examples/js/watch-tickers.js +11 -0
  196. package/examples/js/watchOHLCVForSymbols.js +15 -0
  197. package/examples/js/watchOrderBookForSymbols.js +11 -0
  198. package/examples/js/watchPositions-many-exchanges-continuosly.d.ts +2 -0
  199. package/examples/js/watchPositions-many-exchanges-continuosly.d.ts.map +1 -0
  200. package/examples/js/watchPositions-many-exchanges-continuosly.js +49 -0
  201. package/examples/js/watchPositions.d.ts +2 -0
  202. package/examples/js/watchPositions.d.ts.map +1 -0
  203. package/examples/js/watchPositions.js +13 -0
  204. package/examples/js/watchPositionsForSymbols.d.ts +2 -0
  205. package/examples/js/watchPositionsForSymbols.d.ts.map +1 -0
  206. package/examples/js/watchPositionsForSymbols.js +14 -0
  207. package/examples/js/watchTradesForSymbols.js +11 -0
  208. package/examples/js/withdraw-from-one-exchange-to-another.js +50 -0
  209. package/examples/php/README.md +7 -0
  210. package/examples/py/README.md +15 -0
  211. package/examples/py/playing_with_ccxt_example.ipynb +222 -0
  212. package/examples/ts/.eslintrc +111 -0
  213. package/examples/ts/build-ohlcv-bars.ts +53 -0
  214. package/examples/ts/cli.ts +397 -0
  215. package/examples/ts/compare-two-exchanges-capabilities.ts +36 -0
  216. package/examples/ts/create-order-position-with-takeprofit-stoploss.ts +89 -0
  217. package/examples/ts/create-order-ws-example.ts +33 -0
  218. package/examples/ts/create-orders-example.ts +21 -0
  219. package/examples/ts/create-trailing-amount-order.ts +37 -0
  220. package/examples/ts/create-trailing-percent-order.ts +37 -0
  221. package/examples/ts/custom-proxy-agent-for-js.ts +14 -0
  222. package/examples/ts/fetch-futures/package-lock.json +116 -0
  223. package/examples/ts/fetch-futures/package.json +34 -0
  224. package/examples/ts/fetch-futures/prettier.config.js +4 -0
  225. package/examples/ts/fetch-futures/src/index.ts +28 -0
  226. package/examples/ts/fetch-futures/tsconfig.json +28 -0
  227. package/examples/ts/fetch-ohlcv-many-exchanges-continuosly.ts +44 -0
  228. package/examples/ts/fetch-ohlcv.ts +17 -0
  229. package/examples/ts/fetch-tickers/package-lock.json +116 -0
  230. package/examples/ts/fetch-tickers/package.json +34 -0
  231. package/examples/ts/fetch-tickers/prettier.config.js +4 -0
  232. package/examples/ts/fetch-tickers/src/index.ts +21 -0
  233. package/examples/ts/fetch-tickers/tsconfig.json +28 -0
  234. package/examples/ts/how-to-import-one-exchange-esm.ts +11 -0
  235. package/examples/ts/kraken-create-and-close-position.ts +69 -0
  236. package/examples/ts/margin-loan-borrow-buy-sell-repay.ts +72 -0
  237. package/examples/ts/nextjs-page-router/.eslintrc.json +3 -0
  238. package/examples/ts/nextjs-page-router/README.md +43 -0
  239. package/examples/ts/nextjs-page-router/next.config.js +6 -0
  240. package/examples/ts/nextjs-page-router/package-lock.json +7425 -0
  241. package/examples/ts/nextjs-page-router/package.json +28 -0
  242. package/examples/ts/nextjs-page-router/postcss.config.js +6 -0
  243. package/examples/ts/nextjs-page-router/public/favicon.ico +0 -0
  244. package/examples/ts/nextjs-page-router/src/pages/_app.tsx +6 -0
  245. package/examples/ts/nextjs-page-router/src/pages/_document.tsx +13 -0
  246. package/examples/ts/nextjs-page-router/src/pages/balance.tsx +46 -0
  247. package/examples/ts/nextjs-page-router/src/pages/index.tsx +8 -0
  248. package/examples/ts/nextjs-page-router/src/pages/tickers.tsx +61 -0
  249. package/examples/ts/nextjs-page-router/src/styles/globals.css +27 -0
  250. package/examples/ts/nextjs-page-router/tailwind.config.ts +20 -0
  251. package/examples/ts/nextjs-page-router/tsconfig.json +22 -0
  252. package/examples/ts/phemex-create-order-position-with-takeprofit-stoploss.ts +62 -0
  253. package/examples/ts/proxy-usage.ts +41 -0
  254. package/examples/ts/sample-local-proxy-server-with-cors.ts +15 -0
  255. package/examples/ts/watch-OHLCV-For-Symbols.ts +17 -0
  256. package/examples/ts/watch-OHLCV.ts +14 -0
  257. package/examples/ts/watch-OrderBook-For-Symbols.ts +13 -0
  258. package/examples/ts/watch-Trades-For-Symbols.ts +13 -0
  259. package/examples/ts/watch-tickers.ts +13 -0
  260. package/examples/ts/watchPositions-many-exchanges-continuosly.ts +53 -0
  261. package/examples/ts/watchPositions.ts +15 -0
  262. package/examples/ts/watchPositionsForSymbols.ts +16 -0
  263. package/examples/tsconfig.json +27 -0
  264. package/js/ccxt.d.ts +5 -2
  265. package/js/ccxt.js +4 -2
  266. package/js/src/abstract/tradeogre.d.ts +19 -0
  267. package/js/src/abstract/tradeogre.js +11 -0
  268. package/js/src/ascendex.d.ts +2 -7
  269. package/js/src/ascendex.js +3 -2
  270. package/js/src/base/Exchange.d.ts +7 -7
  271. package/js/src/base/Exchange.js +1 -1
  272. package/js/src/base/types.d.ts +7 -1
  273. package/js/src/binance.d.ts +1 -1
  274. package/js/src/bitget.js +62 -50
  275. package/js/src/bitmart.d.ts +1 -1
  276. package/js/src/bitmart.js +2 -1
  277. package/js/src/bybit.d.ts +3 -1
  278. package/js/src/bybit.js +90 -30
  279. package/js/src/coinbase.d.ts +4 -4
  280. package/js/src/coinbaseinternational.d.ts +1 -1
  281. package/js/src/coinbaseinternational.js +1 -1
  282. package/js/src/coinbasepro.d.ts +2 -2
  283. package/js/src/coinex.js +4 -3
  284. package/js/src/coinlist.d.ts +2 -2
  285. package/js/src/cryptocom.d.ts +2 -2
  286. package/js/src/currencycom.d.ts +2 -2
  287. package/js/src/deribit.d.ts +2 -2
  288. package/js/src/gate.d.ts +1 -1
  289. package/js/src/gate.js +1 -0
  290. package/js/src/htx.d.ts +2 -2
  291. package/js/src/htx.js +16 -9
  292. package/js/src/huobijp.d.ts +2 -2
  293. package/js/src/hyperliquid.js +2 -1
  294. package/js/src/kraken.d.ts +1 -1
  295. package/js/src/kraken.js +3 -3
  296. package/js/src/kucoin.d.ts +3 -3
  297. package/js/src/kucoin.js +1 -1
  298. package/js/src/luno.d.ts +2 -2
  299. package/js/src/mexc.d.ts +3 -3
  300. package/js/src/ndax.d.ts +2 -2
  301. package/js/src/novadax.d.ts +2 -2
  302. package/js/src/okx.d.ts +2 -2
  303. package/js/src/pro/bitfinex2.d.ts +1 -1
  304. package/js/src/pro/krakenfutures.js +8 -7
  305. package/js/src/tradeogre.d.ts +32 -0
  306. package/js/src/tradeogre.js +633 -0
  307. package/js/src/woo.d.ts +2 -2
  308. package/package.json +4 -1
  309. package/skip-tests.json +219 -424
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/cryptocom.js';
2
- import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, Str, Ticker, OrderRequest, Balances, Transaction, OrderBook, Tickers, Strings, Currency, Market, Num } from './base/types.js';
2
+ import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, Str, Ticker, OrderRequest, Balances, Transaction, OrderBook, Tickers, Strings, Currency, Market, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class cryptocom
5
5
  * @augments Exchange
@@ -77,7 +77,7 @@ export default class cryptocom extends Exchange {
77
77
  info: any;
78
78
  };
79
79
  parseLedgerEntryType(type: any): string;
80
- fetchAccounts(params?: {}): Promise<any[]>;
80
+ fetchAccounts(params?: {}): Promise<Account[]>;
81
81
  parseAccount(account: any): {
82
82
  id: string;
83
83
  type: string;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/currencycom.js';
2
- import type { Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Leverage, Num } from './base/types.js';
2
+ import type { Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Leverage, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class currencycom
5
5
  * @augments Exchange
@@ -10,7 +10,7 @@ export default class currencycom extends Exchange {
10
10
  fetchTime(params?: {}): Promise<number>;
11
11
  fetchCurrencies(params?: {}): Promise<{}>;
12
12
  fetchMarkets(params?: {}): Promise<any[]>;
13
- fetchAccounts(params?: {}): Promise<any[]>;
13
+ fetchAccounts(params?: {}): Promise<Account[]>;
14
14
  fetchTradingFees(params?: {}): Promise<{}>;
15
15
  parseBalance(response: any, type?: any): Balances;
16
16
  fetchBalance(params?: {}): Promise<Balances>;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/deribit.js';
2
- import type { Balances, Currency, FundingRateHistory, Greeks, Int, Liquidation, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry, MarketInterface, Num } from './base/types.js';
2
+ import type { Balances, Currency, FundingRateHistory, Greeks, Int, Liquidation, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry, MarketInterface, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class deribit
5
5
  * @augments Exchange
@@ -21,7 +21,7 @@ export default class deribit extends Exchange {
21
21
  url: any;
22
22
  info: any;
23
23
  }>;
24
- fetchAccounts(params?: {}): Promise<any[]>;
24
+ fetchAccounts(params?: {}): Promise<Account[]>;
25
25
  parseAccount(account: any, currency?: Currency): {
26
26
  info: any;
27
27
  id: string;
package/js/src/gate.d.ts CHANGED
@@ -163,7 +163,7 @@ export default class gate extends Exchange {
163
163
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
164
164
  parseTicker(ticker: any, market?: Market): Ticker;
165
165
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
166
- parseBalanceHelper(entry: any): import("./base/types.js").Account;
166
+ parseBalanceHelper(entry: any): import("./base/types.js").BalanceAccount;
167
167
  fetchBalance(params?: {}): Promise<Balances>;
168
168
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
169
169
  fetchOptionOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
package/js/src/gate.js CHANGED
@@ -4289,6 +4289,7 @@ export default class gate extends Exchange {
4289
4289
  'failed': 'canceled',
4290
4290
  'expired': 'canceled',
4291
4291
  'finished': 'closed',
4292
+ 'finish': 'closed',
4292
4293
  'succeeded': 'closed',
4293
4294
  };
4294
4295
  return this.safeString(statuses, status, status);
package/js/src/htx.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/htx.js';
2
- import type { BorrowRate, TransferEntry, Int, OrderSide, OrderType, Order, OHLCV, Trade, FundingRateHistory, Balances, Str, Transaction, Ticker, OrderBook, Tickers, OrderRequest, Strings, Market, Currency, Num } from './base/types.js';
2
+ import type { BorrowRate, TransferEntry, Int, OrderSide, OrderType, Order, OHLCV, Trade, FundingRateHistory, Balances, Str, Transaction, Ticker, OrderBook, Tickers, OrderRequest, Strings, Market, Currency, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class huobi
5
5
  * @augments Exchange
@@ -68,7 +68,7 @@ export default class htx extends Exchange {
68
68
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
69
69
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
70
70
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
71
- fetchAccounts(params?: {}): Promise<any[]>;
71
+ fetchAccounts(params?: {}): Promise<Account[]>;
72
72
  parseAccount(account: any): {
73
73
  info: any;
74
74
  id: string;
package/js/src/htx.js CHANGED
@@ -952,6 +952,9 @@ export default class htx extends Exchange {
952
952
  },
953
953
  },
954
954
  },
955
+ 'fetchOHLCV': {
956
+ 'useHistoricalEndpointForSpot': true,
957
+ },
955
958
  'withdraw': {
956
959
  'includeFee': false,
957
960
  },
@@ -2959,6 +2962,7 @@ export default class htx extends Exchange {
2959
2962
  * @param {int} [limit] the maximum amount of candles to fetch
2960
2963
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2961
2964
  * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
2965
+ * @param {string} [params.useHistoricalEndpointForSpot] true/false - whether use the historical candles endpoint for spot markets or default klines endpoint
2962
2966
  * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
2963
2967
  */
2964
2968
  await this.loadMarkets();
@@ -3065,19 +3069,22 @@ export default class htx extends Exchange {
3065
3069
  }
3066
3070
  }
3067
3071
  else {
3068
- if (since !== undefined) {
3069
- request['from'] = this.parseToInt(since / 1000);
3070
- }
3071
- if (limit !== undefined) {
3072
- request['size'] = limit; // max 2000
3073
- }
3074
3072
  request['symbol'] = market['id'];
3075
- if (timeframe === '1M' || timeframe === '1y') {
3076
- // for some reason 1M and 1Y does not work with the regular endpoint
3077
- // https://github.com/ccxt/ccxt/issues/18006
3073
+ let useHistorical = undefined;
3074
+ [useHistorical, params] = this.handleOptionAndParams(params, 'fetchOHLCV', 'useHistoricalEndpointForSpot', true);
3075
+ if (!useHistorical) {
3076
+ // `limit` only available for the this endpoint
3077
+ if (limit !== undefined) {
3078
+ request['size'] = limit; // max 2000
3079
+ }
3078
3080
  response = await this.spotPublicGetMarketHistoryKline(this.extend(request, params));
3079
3081
  }
3080
3082
  else {
3083
+ // `since` only available for the this endpoint
3084
+ if (since !== undefined) {
3085
+ // default 150 bars
3086
+ request['from'] = this.parseToInt(since / 1000);
3087
+ }
3081
3088
  response = await this.spotPublicGetMarketHistoryCandles(this.extend(request, params));
3082
3089
  }
3083
3090
  }
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/huobijp.js';
2
- import type { Balances, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import type { Account, Balances, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class huobijp
5
5
  * @augments Exchange
@@ -38,7 +38,7 @@ export default class huobijp extends Exchange {
38
38
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
39
39
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
40
40
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
41
- fetchAccounts(params?: {}): Promise<any>;
41
+ fetchAccounts(params?: {}): Promise<Account[]>;
42
42
  fetchCurrencies(params?: {}): Promise<{}>;
43
43
  parseBalance(response: any): Balances;
44
44
  fetchBalance(params?: {}): Promise<Balances>;
@@ -368,7 +368,7 @@ export default class hyperliquid extends Exchange {
368
368
  'optionType': undefined,
369
369
  'precision': {
370
370
  'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'szDecimals'))),
371
- 'price': this.parseNumber('5'), // significant digits
371
+ 'price': 5, // significant digits
372
372
  },
373
373
  'limits': {
374
374
  'leverage': {
@@ -850,6 +850,7 @@ export default class hyperliquid extends Exchange {
850
850
  throw new ArgumentsRequired(this.id + ' market orders require price to calculate the max slippage price. Default slippage can be set in options (default is 5%).');
851
851
  }
852
852
  px = (isBuy) ? Precise.stringMul(price, Precise.stringAdd('1', slippage)) : Precise.stringMul(price, Precise.stringSub('1', slippage));
853
+ px = this.priceToPrecision(symbol, px); // round after adding slippage
853
854
  }
854
855
  else {
855
856
  px = this.priceToPrecision(symbol, price);
@@ -112,7 +112,7 @@ export default class kraken extends Exchange {
112
112
  };
113
113
  withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
114
114
  fetchPositions(symbols?: Strings, params?: {}): Promise<any>;
115
- parseAccount(account: any): string;
115
+ parseAccountType(account: any): string;
116
116
  transferOut(code: string, amount: any, params?: {}): Promise<TransferEntry>;
117
117
  transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
118
118
  parseTransfer(transfer: any, currency?: Currency): {
package/js/src/kraken.js CHANGED
@@ -2764,7 +2764,7 @@ export default class kraken extends Exchange {
2764
2764
  // todo unify parsePosition/parsePositions
2765
2765
  return result;
2766
2766
  }
2767
- parseAccount(account) {
2767
+ parseAccountType(account) {
2768
2768
  const accountByType = {
2769
2769
  'spot': 'Spot Wallet',
2770
2770
  'swap': 'Futures Wallet',
@@ -2798,8 +2798,8 @@ export default class kraken extends Exchange {
2798
2798
  */
2799
2799
  await this.loadMarkets();
2800
2800
  const currency = this.currency(code);
2801
- fromAccount = this.parseAccount(fromAccount);
2802
- toAccount = this.parseAccount(toAccount);
2801
+ fromAccount = this.parseAccountType(fromAccount);
2802
+ toAccount = this.parseAccountType(toAccount);
2803
2803
  const request = {
2804
2804
  'amount': this.currencyToPrecision(code, amount),
2805
2805
  'from': fromAccount,
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/kucoin.js';
2
- import type { TransferEntry, Int, OrderSide, OrderType, Order, OHLCV, Trade, Balances, OrderRequest, Str, Transaction, Ticker, OrderBook, Tickers, Strings, Currency, Market, Num } from './base/types.js';
2
+ import type { TransferEntry, Int, OrderSide, OrderType, Order, OHLCV, Trade, Balances, OrderRequest, Str, Transaction, Ticker, OrderBook, Tickers, Strings, Currency, Market, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class kucoin
5
5
  * @augments Exchange
@@ -17,7 +17,7 @@ export default class kucoin extends Exchange {
17
17
  }>;
18
18
  fetchMarkets(params?: {}): Promise<any[]>;
19
19
  fetchCurrencies(params?: {}): Promise<{}>;
20
- fetchAccounts(params?: {}): Promise<any[]>;
20
+ fetchAccounts(params?: {}): Promise<Account[]>;
21
21
  fetchTransactionFee(code: string, params?: {}): Promise<{
22
22
  info: any;
23
23
  withdraw: {};
@@ -97,7 +97,7 @@ export default class kucoin extends Exchange {
97
97
  parseTransaction(transaction: any, currency?: Currency): Transaction;
98
98
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
99
99
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
100
- parseBalanceHelper(entry: any): import("./base/types.js").Account;
100
+ parseBalanceHelper(entry: any): import("./base/types.js").BalanceAccount;
101
101
  fetchBalance(params?: {}): Promise<Balances>;
102
102
  transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
103
103
  parseTransfer(transfer: any, currency?: Currency): {
package/js/src/kucoin.js CHANGED
@@ -464,7 +464,7 @@ export default class kucoin extends Exchange {
464
464
  '400006': AuthenticationError,
465
465
  '400007': AuthenticationError,
466
466
  '400008': NotSupported,
467
- '400100': BadRequest,
467
+ '400100': InsufficientFunds,
468
468
  '400200': InvalidOrder,
469
469
  '400350': InvalidOrder,
470
470
  '400370': InvalidOrder,
package/js/src/luno.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/luno.js';
2
- import type { Balances, Currency, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, OHLCV, Num } from './base/types.js';
2
+ import type { Balances, Currency, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, OHLCV, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class luno
5
5
  * @augments Exchange
@@ -7,7 +7,7 @@ import type { Balances, Currency, Int, Market, Order, OrderBook, OrderSide, Orde
7
7
  export default class luno extends Exchange {
8
8
  describe(): any;
9
9
  fetchMarkets(params?: {}): Promise<any[]>;
10
- fetchAccounts(params?: {}): Promise<any[]>;
10
+ fetchAccounts(params?: {}): Promise<Account[]>;
11
11
  parseBalance(response: any): Balances;
12
12
  fetchBalance(params?: {}): Promise<Balances>;
13
13
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
package/js/src/mexc.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/mexc.js';
2
- import type { TransferEntry, IndexType, Int, OrderSide, Balances, OrderType, OHLCV, FundingRateHistory, Position, OrderBook, OrderRequest, FundingHistory, Order, Str, Trade, Transaction, Ticker, Tickers, Strings, Market, Currency, Leverage, Num } from './base/types.js';
2
+ import type { TransferEntry, IndexType, Int, OrderSide, Balances, OrderType, OHLCV, FundingRateHistory, Position, OrderBook, OrderRequest, FundingHistory, Order, Str, Trade, Transaction, Ticker, Tickers, Strings, Market, Currency, Leverage, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class mexc
5
5
  * @augments Exchange
@@ -51,10 +51,10 @@ export default class mexc extends Exchange {
51
51
  parseOrderStatus(status: any): string;
52
52
  parseOrderTimeInForce(status: any): string;
53
53
  fetchAccountHelper(type: any, params: any): Promise<any>;
54
- fetchAccounts(params?: {}): Promise<any[]>;
54
+ fetchAccounts(params?: {}): Promise<Account[]>;
55
55
  fetchTradingFees(params?: {}): Promise<{}>;
56
56
  customParseBalance(response: any, marketType: any): Balances;
57
- parseBalanceHelper(entry: any): import("./base/types.js").Account;
57
+ parseBalanceHelper(entry: any): import("./base/types.js").BalanceAccount;
58
58
  fetchBalance(params?: {}): Promise<Balances>;
59
59
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
60
60
  fetchOrderTrades(id: string, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
package/js/src/ndax.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/ndax.js';
2
- import type { IndexType, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction, Num } from './base/types.js';
2
+ import type { IndexType, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class ndax
5
5
  * @augments Exchange
@@ -18,7 +18,7 @@ export default class ndax extends Exchange {
18
18
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
19
19
  parseTrade(trade: any, market?: Market): Trade;
20
20
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
21
- fetchAccounts(params?: {}): Promise<any[]>;
21
+ fetchAccounts(params?: {}): Promise<Account[]>;
22
22
  parseBalance(response: any): Balances;
23
23
  fetchBalance(params?: {}): Promise<Balances>;
24
24
  parseLedgerEntryType(type: any): string;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/novadax.js';
2
- import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num } from './base/types.js';
2
+ import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class novadax
5
5
  * @augments Exchange
@@ -43,7 +43,7 @@ export default class novadax extends Exchange {
43
43
  };
44
44
  parseTransferStatus(status: any): string;
45
45
  withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
46
- fetchAccounts(params?: {}): Promise<any[]>;
46
+ fetchAccounts(params?: {}): Promise<Account[]>;
47
47
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
48
48
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
49
49
  fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
package/js/src/okx.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/okx.js';
2
- import type { TransferEntry, Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderRequest, FundingHistory, Str, Transaction, Ticker, OrderBook, Balances, Tickers, Market, Greeks, Strings, MarketInterface, Currency, Leverage, Num } from './base/types.js';
2
+ import type { TransferEntry, Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderRequest, FundingHistory, Str, Transaction, Ticker, OrderBook, Balances, Tickers, Market, Greeks, Strings, MarketInterface, Currency, Leverage, Num, Account } from './base/types.js';
3
3
  /**
4
4
  * @class okx
5
5
  * @augments Exchange
@@ -19,7 +19,7 @@ export default class okx extends Exchange {
19
19
  info: any;
20
20
  }>;
21
21
  fetchTime(params?: {}): Promise<number>;
22
- fetchAccounts(params?: {}): Promise<any[]>;
22
+ fetchAccounts(params?: {}): Promise<Account[]>;
23
23
  fetchMarkets(params?: {}): Promise<any[]>;
24
24
  parseMarket(market: any): Market;
25
25
  fetchMarketsByType(type: any, params?: {}): Promise<MarketInterface[]>;
@@ -20,7 +20,7 @@ export default class bitfinex2 extends bitfinex2Rest {
20
20
  handleChecksum(client: Client, message: any, subscription: any): void;
21
21
  watchBalance(params?: {}): Promise<Balances>;
22
22
  handleBalance(client: Client, message: any, subscription: any): void;
23
- parseWsBalance(balance: any): import("../base/types.js").Account;
23
+ parseWsBalance(balance: any): import("../base/types.js").BalanceAccount;
24
24
  handleSystemStatus(client: Client, message: any): any;
25
25
  handleSubscriptionStatus(client: Client, message: any): any;
26
26
  authenticate(params?: {}): Promise<any>;
@@ -470,16 +470,17 @@ export default class krakenfutures extends krakenfuturesRest {
470
470
  const market = this.market(marketId);
471
471
  const symbol = market['symbol'];
472
472
  const messageHash = 'trade:' + symbol;
473
- let tradesArray = this.safeValue(this.trades, symbol);
474
- if (tradesArray === undefined) {
473
+ if (this.safeList(this.trades, symbol) === undefined) {
475
474
  const tradesLimit = this.safeInteger(this.options, 'tradesLimit', 1000);
476
- tradesArray = new ArrayCache(tradesLimit);
477
- this.trades[symbol] = tradesArray;
475
+ this.trades[symbol] = new ArrayCache(tradesLimit);
478
476
  }
477
+ const tradesArray = this.trades[symbol];
479
478
  if (channel === 'trade_snapshot') {
480
- const trades = this.safeValue(message, 'trades', []);
481
- for (let i = 0; i < trades.length; i++) {
482
- const item = trades[i];
479
+ const trades = this.safeList(message, 'trades', []);
480
+ const length = trades.length;
481
+ for (let i = 0; i < length; i++) {
482
+ const index = length - 1 - i; // need reverse to correct chronology
483
+ const item = trades[index];
483
484
  const trade = this.parseWsTrade(item);
484
485
  tradesArray.append(trade);
485
486
  }
@@ -0,0 +1,32 @@
1
+ import { Market } from '../ccxt.js';
2
+ import Exchange from './abstract/tradeogre.js';
3
+ import type { Int, Num, Order, OrderSide, OrderType, Str, Ticker, IndexType } from './base/types.js';
4
+ /**
5
+ * @class tradeogre
6
+ * @augments Exchange
7
+ */
8
+ export default class tradeogre extends Exchange {
9
+ describe(): any;
10
+ fetchMarkets(params?: {}): Promise<any[]>;
11
+ fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
12
+ parseTicker(ticker: any, market?: Market): Ticker;
13
+ fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<import("./base/types.js").OrderBook>;
14
+ parseBidsAsks(bidasks: any, priceKey?: IndexType, amountKey?: IndexType, countOrIdKey?: IndexType): any[];
15
+ fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Trade[]>;
16
+ parseTrade(trade: any, market?: Market): import("./base/types.js").Trade;
17
+ fetchBalance(params?: {}): Promise<import("./base/types.js").Balances>;
18
+ parseBalance(response: any): import("./base/types.js").Balances;
19
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
20
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
21
+ cancelAllOrders(symbol?: Str, params?: {}): Promise<Order>;
22
+ fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
23
+ fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
24
+ parseOrder(order: any, market?: Market): Order;
25
+ sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
26
+ url: string;
27
+ method: string;
28
+ body: any;
29
+ headers: any;
30
+ };
31
+ handleErrors(code: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
32
+ }