ccxt 4.2.72 → 4.2.74

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 (379) hide show
  1. package/README.md +124 -122
  2. package/build.sh +2 -2
  3. package/dist/ccxt.browser.js +3277 -460
  4. package/dist/ccxt.browser.min.js +4 -4
  5. package/dist/cjs/ccxt.js +6 -1
  6. package/dist/cjs/src/abstract/coinbaseinternational.js +9 -0
  7. package/dist/cjs/src/base/Exchange.js +31 -7
  8. package/dist/cjs/src/bitget.js +62 -50
  9. package/dist/cjs/src/btcturk.js +3 -3
  10. package/dist/cjs/src/bybit.js +90 -30
  11. package/dist/cjs/src/coinbaseinternational.js +2019 -0
  12. package/dist/cjs/src/gate.js +1 -1
  13. package/dist/cjs/src/htx.js +16 -9
  14. package/dist/cjs/src/hyperliquid.js +9 -2
  15. package/dist/cjs/src/mexc.js +1 -1
  16. package/dist/cjs/src/okx.js +1 -1
  17. package/dist/cjs/src/pro/coinbaseinternational.js +645 -0
  18. package/dist/cjs/src/pro/krakenfutures.js +8 -7
  19. package/examples/README.md +308 -0
  20. package/examples/ccxt.pro/html/watchTicker.html +51 -0
  21. package/examples/ccxt.pro/js/binance-fetch-balance-snapshot-watch-balance-updates.js +55 -0
  22. package/examples/ccxt.pro/js/binance-https-proxy.js +48 -0
  23. package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols-continuously.js +38 -0
  24. package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols.js +64 -0
  25. package/examples/ccxt.pro/js/binance-watch-ticker-many-symbols.js +62 -0
  26. package/examples/ccxt.pro/js/build-ohlcv-many-symbols.js +68 -0
  27. package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades-warmup.js +82 -0
  28. package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades.js +59 -0
  29. package/examples/ccxt.pro/js/exchange-capabitities.js +72 -0
  30. package/examples/ccxt.pro/js/exchange-close.js +46 -0
  31. package/examples/ccxt.pro/js/gateio-swap-watch-many-orderbooks.js +30 -0
  32. package/examples/ccxt.pro/js/gateio-watch-balance.js +23 -0
  33. package/examples/ccxt.pro/js/gateio-watch-order-book.js +71 -0
  34. package/examples/ccxt.pro/js/graceful-shutdown.js +43 -0
  35. package/examples/ccxt.pro/js/many-exchanges-many-streams.js +37 -0
  36. package/examples/ccxt.pro/js/okex-create-futures-order.js +48 -0
  37. package/examples/ccxt.pro/js/okex-watch-balance-and-create-order.js +54 -0
  38. package/examples/ccxt.pro/js/okx-watch-tickers.js +31 -0
  39. package/examples/ccxt.pro/js/one-exchange-many-different-streams.js +46 -0
  40. package/examples/ccxt.pro/js/one-exchange-many-streams-2.js +26 -0
  41. package/examples/ccxt.pro/js/one-exchange-many-streams.js +28 -0
  42. package/examples/ccxt.pro/js/socks-binance-watch-orderbook.js +30 -0
  43. package/examples/ccxt.pro/js/watch-fetch-many-exchanges-many-ordersbooks.js +40 -0
  44. package/examples/ccxt.pro/js/watch-many-exchanges-many-ordersbooks.js +38 -0
  45. package/examples/ccxt.pro/js/watch-many-exchanges-many-symbols.js +40 -0
  46. package/examples/ccxt.pro/js/watch-many-orderbooks.js +27 -0
  47. package/examples/ccxt.pro/js/watch-new-trades-only.js +43 -0
  48. package/examples/ccxt.pro/js/watch-new-trades.js +42 -0
  49. package/examples/ccxt.pro/js/watch-trades-many-symbols.js +29 -0
  50. package/examples/ccxt.pro/js/watch-vs-fetch.js +29 -0
  51. package/examples/cs/Examples.sln +22 -0
  52. package/examples/cs/c#.csproj +19 -0
  53. package/examples/html/basic-cors-proxy.html +46 -0
  54. package/examples/html/basic-inheritance.html +47 -0
  55. package/examples/html/basic-poller.html +52 -0
  56. package/examples/html/basic-rate-limiting.html +49 -0
  57. package/examples/html/basic.html +43 -0
  58. package/examples/html/binance-cors-proxy.html +28 -0
  59. package/examples/html/bitmex-browser-cors-proxy.js +7 -0
  60. package/examples/html/bitmex-cors.html +46 -0
  61. package/examples/html/tradingview-charts.html +61 -0
  62. package/examples/html/webworker/index.html +97 -0
  63. package/examples/html/webworker/worker.js +43 -0
  64. package/examples/js/README.md +15 -0
  65. package/examples/js/advanced-error-handling.js +39 -0
  66. package/examples/js/aggregate-orderbook.js +54 -0
  67. package/examples/js/arbitrage-pairs.js +130 -0
  68. package/examples/js/basic-chart.js +29 -0
  69. package/examples/js/basic-orderbook-polling.js +13 -0
  70. package/examples/js/bcc-vs-bch.js +115 -0
  71. package/examples/js/binance-fetch-all-deposits.js +45 -0
  72. package/examples/js/binance-fetch-ohlcv-many-symbols-async-await.js +34 -0
  73. package/examples/js/binance-fetch-ohlcv-many-symbols-promise-then-callbacks.js +33 -0
  74. package/examples/js/binance-fetchTicker-delivery-vs-future.js +31 -0
  75. package/examples/js/binance-futures-transfer-from-sub-account-to-master.js +41 -0
  76. package/examples/js/binance-margin-stop-order.js +39 -0
  77. package/examples/js/binance-server-time.js +34 -0
  78. package/examples/js/binance-universal-transfer.js +16 -0
  79. package/examples/js/bitfinex-fetch-trades.js +35 -0
  80. package/examples/js/bitfinex2-fetch-trades.js +35 -0
  81. package/examples/js/bitmex-browser-cors-proxy.js +7 -0
  82. package/examples/js/bitpanda-fetchMyTrades-reduce.js +36 -0
  83. package/examples/js/bitrue-fetch-balance.js +28 -0
  84. package/examples/js/bitstamp-private-api.js +115 -0
  85. package/examples/js/bitstamp-public-api.js +39 -0
  86. package/examples/js/bittrex-balance.js +50 -0
  87. package/examples/js/bittrex-fetch-closed-orders-history.js +69 -0
  88. package/examples/js/blockchaincom-withdrawal.js +59 -0
  89. package/examples/js/build-ohlcv-bars.js +48 -0
  90. package/examples/js/builtin-rate-limiting-rest-poller.js +25 -0
  91. package/examples/js/bybit-trailing.js +62 -0
  92. package/examples/js/bybit-updated.cjs +154 -0
  93. package/examples/js/cli.js +405 -0
  94. package/examples/js/coinbase-fetch-all-balances.js +36 -0
  95. package/examples/js/coinex-fetch-all-deposit-addresses-using-fetchDepositAddress.js +47 -0
  96. package/examples/js/coinex-futures.js +75 -0
  97. package/examples/js/coinone-fetch-tickers.js +54 -0
  98. package/examples/js/coinone-markets.js +16 -0
  99. package/examples/js/compare-two-exchanges-capabilities.js +36 -0
  100. package/examples/js/cors-proxy.js +5 -0
  101. package/examples/js/create-order-handle-errors.js +55 -0
  102. package/examples/js/create-order-position-with-takeprofit-stoploss.js +71 -0
  103. package/examples/js/create-order-with-retry.js +65 -0
  104. package/examples/js/create-order-ws-example.js +25 -0
  105. package/examples/js/create-orders-example.js +17 -0
  106. package/examples/js/create-trailing-amount-order.js +36 -0
  107. package/examples/js/create-trailing-percent-order.js +36 -0
  108. package/examples/js/credentials.json +5 -0
  109. package/examples/js/custom-proxy-agent-for-js.js +10 -0
  110. package/examples/js/custom-proxy-url.js +23 -0
  111. package/examples/js/delta-maintenance-margin-rate-max-leverage.js +60 -0
  112. package/examples/js/env-variables.js +26 -0
  113. package/examples/js/error-handling.js +89 -0
  114. package/examples/js/exchange-capabilities.js +135 -0
  115. package/examples/js/exchanges-by-volume.js +60 -0
  116. package/examples/js/exchanges.js +40 -0
  117. package/examples/js/fetch-all-balances.js +219 -0
  118. package/examples/js/fetch-all-tickers-to-files-2.js +53 -0
  119. package/examples/js/fetch-all-tickers-to-files.js +77 -0
  120. package/examples/js/fetch-balance.js +28 -0
  121. package/examples/js/fetch-create-deposit-address.js +101 -0
  122. package/examples/js/fetch-from-many-exchanges-simultaneously.js +21 -0
  123. package/examples/js/fetch-funding-rate-history.js +25 -0
  124. package/examples/js/fetch-futures/prettier.config.js +5 -0
  125. package/examples/js/fetch-futures/src/index.js +25 -0
  126. package/examples/js/fetch-ohlcv-from-to-mark-index-premium.js +72 -0
  127. package/examples/js/fetch-ohlcv-many-exchanges-continuosly.js +39 -0
  128. package/examples/js/fetch-ohlcv.js +16 -0
  129. package/examples/js/fetch-okex-futures.js +22 -0
  130. package/examples/js/fetch-orders.js +27 -0
  131. package/examples/js/fetch-ticker-from-multiple-exchanges.js +35 -0
  132. package/examples/js/fetch-ticker-where-available.js +75 -0
  133. package/examples/js/fetch-tickers/build/index.js +19 -0
  134. package/examples/js/fetch-tickers/prettier.config.js +5 -0
  135. package/examples/js/fetch-tickers/src/index.js +17 -0
  136. package/examples/js/gateio-create-batch-order.js +43 -0
  137. package/examples/js/gateio-futures.js +49 -0
  138. package/examples/js/gateio-open-close-contract.js +49 -0
  139. package/examples/js/gateio-swaps.js +74 -0
  140. package/examples/js/gdax-fetch-trades-pagination.js +29 -0
  141. package/examples/js/hitbtc2-withdraw.js +61 -0
  142. package/examples/js/how-to-import-one-exchange-esm.js +10 -0
  143. package/examples/js/huobi-futures.js +71 -0
  144. package/examples/js/huobi-open-close-contract.js +63 -0
  145. package/examples/js/huobi-swaps.js +70 -0
  146. package/examples/js/huobipro-market-buy-sell-fetch-trading-limits.js +98 -0
  147. package/examples/js/hybridCJSExample.cjs +19 -0
  148. package/examples/js/hybridESMExample.js +19 -0
  149. package/examples/js/idex-fetch-balance.js +13 -0
  150. package/examples/js/instantiate-all-at-once.js +46 -0
  151. package/examples/js/instantiate-all-from-json.js +31 -0
  152. package/examples/js/kraken-create-and-close-position.js +54 -0
  153. package/examples/js/kraken-fetch-order-trades.js +33 -0
  154. package/examples/js/kraken-margin-trading.js +89 -0
  155. package/examples/js/kucoin-rate-limit.js +38 -0
  156. package/examples/js/latoken-example.js +108 -0
  157. package/examples/js/live-orderbook.js +106 -0
  158. package/examples/js/live-ticker.js +80 -0
  159. package/examples/js/live-tickers.js +74 -0
  160. package/examples/js/load-all-contracts.js +41 -0
  161. package/examples/js/load-all-symbols-at-once.js +69 -0
  162. package/examples/js/load-all-tickers-at-once.js +91 -0
  163. package/examples/js/load-markets-to-files.js +57 -0
  164. package/examples/js/looping-over-all-symbols-of-specific-exchanges.js +61 -0
  165. package/examples/js/looping-over-specific-symbols-of-all-exchanges.js +91 -0
  166. package/examples/js/margin-loan-borrow-buy-sell-repay.js +70 -0
  167. package/examples/js/market-status-and-currency-status.js +29 -0
  168. package/examples/js/ohlcv-console-chart.js +29 -0
  169. package/examples/js/okex-fetch-closed-orders-archive.js +31 -0
  170. package/examples/js/okex-transfer.js +51 -0
  171. package/examples/js/okx-poll-fetch-my-trades.js +37 -0
  172. package/examples/js/okx-poll-rate-limit.js +48 -0
  173. package/examples/js/order-book-extra-level-depth-param.js +20 -0
  174. package/examples/js/phemex-create-order-position-with-takeprofit-stoploss.js +49 -0
  175. package/examples/js/poll-ohlcv.js +43 -0
  176. package/examples/js/poloniex-fetch-order-books.js +35 -0
  177. package/examples/js/poloniex-limits-amount-min.js +62 -0
  178. package/examples/js/proxy-round-robin.js +98 -0
  179. package/examples/js/proxy-usage.js +32 -0
  180. package/examples/js/sample-local-proxy-server-with-cors.js +12 -0
  181. package/examples/js/search-all-exchanges.js +159 -0
  182. package/examples/js/shared-load-markets.js +80 -0
  183. package/examples/js/sort-swap-markets-by-hourly-price-change.js +55 -0
  184. package/examples/js/symbols.js +110 -0
  185. package/examples/js/theocean.js +41 -0
  186. package/examples/js/tickers.js +106 -0
  187. package/examples/js/validate-paginated-data.js +61 -0
  188. package/examples/js/watch-OHLCV-For-Symbols.js +15 -0
  189. package/examples/js/watch-OHLCV.js +12 -0
  190. package/examples/js/watch-OrderBook-For-Symbols.js +11 -0
  191. package/examples/js/watch-Trades-For-Symbols.js +11 -0
  192. package/examples/js/watch-tickers.js +11 -0
  193. package/examples/js/watchOHLCVForSymbols.js +15 -0
  194. package/examples/js/watchOrderBookForSymbols.js +11 -0
  195. package/examples/js/watchPositions-many-exchanges-continuosly.d.ts +2 -0
  196. package/examples/js/watchPositions-many-exchanges-continuosly.d.ts.map +1 -0
  197. package/examples/js/watchPositions-many-exchanges-continuosly.js +49 -0
  198. package/examples/js/watchPositions.d.ts +2 -0
  199. package/examples/js/watchPositions.d.ts.map +1 -0
  200. package/examples/js/watchPositions.js +13 -0
  201. package/examples/js/watchPositionsForSymbols.d.ts +2 -0
  202. package/examples/js/watchPositionsForSymbols.d.ts.map +1 -0
  203. package/examples/js/watchPositionsForSymbols.js +14 -0
  204. package/examples/js/watchTradesForSymbols.js +11 -0
  205. package/examples/js/withdraw-from-one-exchange-to-another.js +50 -0
  206. package/examples/php/README.md +7 -0
  207. package/examples/py/README.md +15 -0
  208. package/examples/py/playing_with_ccxt_example.ipynb +222 -0
  209. package/examples/ts/.eslintrc +111 -0
  210. package/examples/ts/build-ohlcv-bars.ts +53 -0
  211. package/examples/ts/cli.ts +397 -0
  212. package/examples/ts/compare-two-exchanges-capabilities.ts +36 -0
  213. package/examples/ts/create-order-position-with-takeprofit-stoploss.ts +89 -0
  214. package/examples/ts/create-order-ws-example.ts +33 -0
  215. package/examples/ts/create-orders-example.ts +21 -0
  216. package/examples/ts/create-trailing-amount-order.ts +37 -0
  217. package/examples/ts/create-trailing-percent-order.ts +37 -0
  218. package/examples/ts/custom-proxy-agent-for-js.ts +14 -0
  219. package/examples/ts/fetch-futures/package-lock.json +116 -0
  220. package/examples/ts/fetch-futures/package.json +34 -0
  221. package/examples/ts/fetch-futures/prettier.config.js +4 -0
  222. package/examples/ts/fetch-futures/src/index.ts +28 -0
  223. package/examples/ts/fetch-futures/tsconfig.json +28 -0
  224. package/examples/ts/fetch-ohlcv-many-exchanges-continuosly.ts +44 -0
  225. package/examples/ts/fetch-ohlcv.ts +17 -0
  226. package/examples/ts/fetch-tickers/package-lock.json +116 -0
  227. package/examples/ts/fetch-tickers/package.json +34 -0
  228. package/examples/ts/fetch-tickers/prettier.config.js +4 -0
  229. package/examples/ts/fetch-tickers/src/index.ts +21 -0
  230. package/examples/ts/fetch-tickers/tsconfig.json +28 -0
  231. package/examples/ts/how-to-import-one-exchange-esm.ts +11 -0
  232. package/examples/ts/kraken-create-and-close-position.ts +69 -0
  233. package/examples/ts/margin-loan-borrow-buy-sell-repay.ts +72 -0
  234. package/examples/ts/nextjs-page-router/.eslintrc.json +3 -0
  235. package/examples/ts/nextjs-page-router/README.md +43 -0
  236. package/examples/ts/nextjs-page-router/next.config.js +6 -0
  237. package/examples/ts/nextjs-page-router/package-lock.json +7425 -0
  238. package/examples/ts/nextjs-page-router/package.json +28 -0
  239. package/examples/ts/nextjs-page-router/postcss.config.js +6 -0
  240. package/examples/ts/nextjs-page-router/public/favicon.ico +0 -0
  241. package/examples/ts/nextjs-page-router/src/pages/_app.tsx +6 -0
  242. package/examples/ts/nextjs-page-router/src/pages/_document.tsx +13 -0
  243. package/examples/ts/nextjs-page-router/src/pages/balance.tsx +46 -0
  244. package/examples/ts/nextjs-page-router/src/pages/index.tsx +8 -0
  245. package/examples/ts/nextjs-page-router/src/pages/tickers.tsx +61 -0
  246. package/examples/ts/nextjs-page-router/src/styles/globals.css +27 -0
  247. package/examples/ts/nextjs-page-router/tailwind.config.ts +20 -0
  248. package/examples/ts/nextjs-page-router/tsconfig.json +22 -0
  249. package/examples/ts/phemex-create-order-position-with-takeprofit-stoploss.ts +62 -0
  250. package/examples/ts/proxy-usage.ts +41 -0
  251. package/examples/ts/sample-local-proxy-server-with-cors.ts +15 -0
  252. package/examples/ts/watch-OHLCV-For-Symbols.ts +17 -0
  253. package/examples/ts/watch-OHLCV.ts +14 -0
  254. package/examples/ts/watch-OrderBook-For-Symbols.ts +13 -0
  255. package/examples/ts/watch-Trades-For-Symbols.ts +13 -0
  256. package/examples/ts/watch-tickers.ts +13 -0
  257. package/examples/ts/watchPositions-many-exchanges-continuosly.ts +53 -0
  258. package/examples/ts/watchPositions.ts +15 -0
  259. package/examples/ts/watchPositionsForSymbols.ts +16 -0
  260. package/examples/tsconfig.json +27 -0
  261. package/js/ccxt.d.ts +8 -2
  262. package/js/ccxt.js +6 -2
  263. package/js/src/abstract/coinbaseinternational.d.ts +42 -0
  264. package/js/src/abstract/coinbaseinternational.js +11 -0
  265. package/js/src/ace.d.ts +2 -2
  266. package/js/src/alpaca.d.ts +2 -2
  267. package/js/src/ascendex.d.ts +3 -3
  268. package/js/src/base/Exchange.d.ts +27 -24
  269. package/js/src/base/Exchange.js +31 -7
  270. package/js/src/bigone.d.ts +2 -2
  271. package/js/src/binance.d.ts +7 -7
  272. package/js/src/bingx.d.ts +4 -4
  273. package/js/src/bit2c.d.ts +2 -2
  274. package/js/src/bitbank.d.ts +2 -2
  275. package/js/src/bitbns.d.ts +2 -2
  276. package/js/src/bitfinex.d.ts +3 -3
  277. package/js/src/bitfinex2.d.ts +4 -4
  278. package/js/src/bitflyer.d.ts +2 -2
  279. package/js/src/bitget.d.ts +4 -4
  280. package/js/src/bitget.js +62 -50
  281. package/js/src/bithumb.d.ts +2 -2
  282. package/js/src/bitmart.d.ts +4 -4
  283. package/js/src/bitmex.d.ts +3 -3
  284. package/js/src/bitopro.d.ts +2 -2
  285. package/js/src/bitrue.d.ts +2 -2
  286. package/js/src/bitso.d.ts +2 -2
  287. package/js/src/bitstamp.d.ts +2 -2
  288. package/js/src/bitteam.d.ts +2 -2
  289. package/js/src/bitvavo.d.ts +4 -4
  290. package/js/src/bl3p.d.ts +2 -2
  291. package/js/src/blockchaincom.d.ts +2 -2
  292. package/js/src/blofin.d.ts +4 -4
  293. package/js/src/btcalpha.d.ts +2 -2
  294. package/js/src/btcbox.d.ts +2 -2
  295. package/js/src/btcmarkets.d.ts +2 -2
  296. package/js/src/btcturk.d.ts +2 -2
  297. package/js/src/btcturk.js +3 -3
  298. package/js/src/bybit.d.ts +8 -6
  299. package/js/src/bybit.js +90 -30
  300. package/js/src/cex.d.ts +3 -3
  301. package/js/src/coinbase.d.ts +3 -3
  302. package/js/src/coinbaseinternational.d.ts +146 -0
  303. package/js/src/coinbaseinternational.js +2020 -0
  304. package/js/src/coinbasepro.d.ts +2 -2
  305. package/js/src/coincheck.d.ts +2 -2
  306. package/js/src/coinex.d.ts +4 -4
  307. package/js/src/coinlist.d.ts +3 -3
  308. package/js/src/coinmate.d.ts +2 -2
  309. package/js/src/coinmetro.d.ts +2 -2
  310. package/js/src/coinone.d.ts +2 -2
  311. package/js/src/coinsph.d.ts +2 -2
  312. package/js/src/coinspot.d.ts +2 -2
  313. package/js/src/cryptocom.d.ts +4 -4
  314. package/js/src/currencycom.d.ts +2 -2
  315. package/js/src/delta.d.ts +3 -3
  316. package/js/src/deribit.d.ts +3 -3
  317. package/js/src/digifinex.d.ts +3 -3
  318. package/js/src/exmo.d.ts +3 -3
  319. package/js/src/gate.d.ts +4 -4
  320. package/js/src/gate.js +1 -1
  321. package/js/src/gemini.d.ts +2 -2
  322. package/js/src/hitbtc.d.ts +4 -4
  323. package/js/src/hollaex.d.ts +2 -2
  324. package/js/src/htx.d.ts +5 -5
  325. package/js/src/htx.js +16 -9
  326. package/js/src/huobijp.d.ts +2 -2
  327. package/js/src/hyperliquid.d.ts +4 -3
  328. package/js/src/hyperliquid.js +10 -3
  329. package/js/src/idex.d.ts +2 -2
  330. package/js/src/independentreserve.d.ts +2 -2
  331. package/js/src/indodax.d.ts +2 -2
  332. package/js/src/kraken.d.ts +3 -3
  333. package/js/src/krakenfutures.d.ts +4 -4
  334. package/js/src/kucoin.d.ts +4 -4
  335. package/js/src/kucoinfutures.d.ts +3 -3
  336. package/js/src/kuna.d.ts +2 -2
  337. package/js/src/latoken.d.ts +2 -2
  338. package/js/src/lbank.d.ts +2 -2
  339. package/js/src/luno.d.ts +2 -2
  340. package/js/src/lykke.d.ts +2 -2
  341. package/js/src/mercado.d.ts +2 -2
  342. package/js/src/mexc.d.ts +2 -2
  343. package/js/src/mexc.js +1 -1
  344. package/js/src/ndax.d.ts +3 -3
  345. package/js/src/novadax.d.ts +2 -2
  346. package/js/src/oceanex.d.ts +2 -2
  347. package/js/src/okcoin.d.ts +3 -3
  348. package/js/src/okx.d.ts +4 -4
  349. package/js/src/okx.js +1 -1
  350. package/js/src/onetrading.d.ts +2 -2
  351. package/js/src/p2b.d.ts +2 -2
  352. package/js/src/paymium.d.ts +2 -2
  353. package/js/src/phemex.d.ts +3 -3
  354. package/js/src/poloniex.d.ts +3 -3
  355. package/js/src/poloniexfutures.d.ts +2 -2
  356. package/js/src/pro/binance.d.ts +3 -3
  357. package/js/src/pro/bitvavo.d.ts +3 -3
  358. package/js/src/pro/cex.d.ts +3 -3
  359. package/js/src/pro/coinbaseinternational.d.ts +28 -0
  360. package/js/src/pro/coinbaseinternational.js +646 -0
  361. package/js/src/pro/cryptocom.d.ts +2 -2
  362. package/js/src/pro/hitbtc.d.ts +2 -2
  363. package/js/src/pro/kraken.d.ts +3 -3
  364. package/js/src/pro/krakenfutures.js +8 -7
  365. package/js/src/pro/okx.d.ts +3 -3
  366. package/js/src/pro/poloniex.d.ts +2 -2
  367. package/js/src/probit.d.ts +2 -2
  368. package/js/src/timex.d.ts +3 -3
  369. package/js/src/tokocrypto.d.ts +2 -2
  370. package/js/src/upbit.d.ts +2 -2
  371. package/js/src/wavesexchange.d.ts +2 -2
  372. package/js/src/wazirx.d.ts +2 -2
  373. package/js/src/whitebit.d.ts +2 -2
  374. package/js/src/woo.d.ts +5 -5
  375. package/js/src/yobit.d.ts +2 -2
  376. package/js/src/zaif.d.ts +2 -2
  377. package/js/src/zonda.d.ts +2 -2
  378. package/package.json +4 -1
  379. package/skip-tests.json +227 -424
@@ -1,11 +1,11 @@
1
1
  import krakenRest from '../kraken.js';
2
- import type { Int, OrderSide, OrderType, Str, OrderBook, Order, Trade, Ticker, OHLCV } from '../base/types.js';
2
+ import type { Int, OrderSide, OrderType, Str, OrderBook, Order, Trade, Ticker, OHLCV, Num } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class kraken extends krakenRest {
5
5
  describe(): any;
6
- createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
6
+ createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
7
7
  handleCreateEditOrder(client: any, message: any): void;
8
- editOrderWs(id: string, symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
8
+ editOrderWs(id: string, symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
9
9
  cancelOrdersWs(ids: string[], symbol?: Str, params?: {}): Promise<any>;
10
10
  cancelOrderWs(id: string, symbol?: Str, params?: {}): Promise<Order>;
11
11
  handleCancelOrder(client: any, message: any): void;
@@ -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
  }
@@ -1,5 +1,5 @@
1
1
  import okxRest from '../okx.js';
2
- import type { Int, OrderSide, OrderType, Str, Strings, OrderBook, Order, Trade, Ticker, Tickers, OHLCV, Position, Balances } from '../base/types.js';
2
+ import type { Int, OrderSide, OrderType, Str, Strings, OrderBook, Order, Trade, Ticker, Tickers, OHLCV, Position, Balances, Num } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class okx extends okxRest {
5
5
  describe(): any;
@@ -31,9 +31,9 @@ export default class okx extends okxRest {
31
31
  watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
32
32
  handleOrders(client: Client, message: any, subscription?: any): void;
33
33
  handleMyTrades(client: Client, message: any): void;
34
- createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
34
+ createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
35
35
  handlePlaceOrders(client: Client, message: any): void;
36
- editOrderWs(id: string, symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
36
+ editOrderWs(id: string, symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
37
37
  cancelOrderWs(id: string, symbol?: Str, params?: {}): Promise<Order>;
38
38
  cancelOrdersWs(ids: string[], symbol?: Str, params?: {}): Promise<any>;
39
39
  cancelAllOrdersWs(symbol?: Str, params?: {}): Promise<any>;
@@ -1,12 +1,12 @@
1
1
  import poloniexRest from '../poloniex.js';
2
- import type { Tickers, Int, OHLCV, OrderSide, OrderType, Str, Strings, OrderBook, Order, Trade, Ticker, Balances } from '../base/types.js';
2
+ import type { Tickers, Int, OHLCV, OrderSide, OrderType, Str, Strings, OrderBook, Order, Trade, Ticker, Balances, Num } from '../base/types.js';
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class poloniex extends poloniexRest {
5
5
  describe(): any;
6
6
  authenticate(params?: {}): Promise<any>;
7
7
  subscribe(name: string, messageHash: string, isPrivate: boolean, symbols?: Strings, params?: {}): Promise<any>;
8
8
  tradeRequest(name: string, params?: {}): Promise<any>;
9
- createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
9
+ createOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
10
10
  cancelOrderWs(id: string, symbol?: Str, params?: {}): Promise<any>;
11
11
  cancelOrdersWs(ids: string[], symbol?: Str, params?: {}): Promise<any>;
12
12
  cancelAllOrdersWs(symbol?: Str, params?: {}): Promise<any>;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/probit.js';
2
- import type { Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import type { 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 probit
5
5
  * @augments Exchange
@@ -28,7 +28,7 @@ export default class probit extends Exchange {
28
28
  parseOrderStatus(status: any): string;
29
29
  parseOrder(order: any, market?: Market): Order;
30
30
  costToPrecision(symbol: any, cost: any): any;
31
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
31
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
32
32
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
33
33
  parseDepositAddress(depositAddress: any, currency?: Currency): {
34
34
  currency: string;
package/js/src/timex.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/timex.js';
2
- import type { Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import type { 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 timex
5
5
  * @augments Exchange
@@ -20,8 +20,8 @@ export default class timex extends Exchange {
20
20
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
21
21
  parseBalance(response: any): Balances;
22
22
  fetchBalance(params?: {}): Promise<Balances>;
23
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
24
- editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: number, price?: number, params?: {}): Promise<Order>;
23
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
24
+ editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: Num, price?: Num, params?: {}): Promise<Order>;
25
25
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
26
26
  cancelOrders(ids: any, symbol?: Str, params?: {}): Promise<any>;
27
27
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/tokocrypto.js';
2
- import type { Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import type { 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 tokocrypto
5
5
  * @augments Exchange
@@ -24,7 +24,7 @@ export default class tokocrypto extends Exchange {
24
24
  parseOrderStatus(status: any): string;
25
25
  parseOrder(order: any, market?: Market): Order;
26
26
  parseOrderType(status: any): string;
27
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
27
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
28
28
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
29
29
  fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
30
30
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
package/js/src/upbit.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/upbit.js';
2
- import type { Balances, Currency, Dictionary, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import type { Balances, Currency, Dictionary, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class upbit
5
5
  * @augments Exchange
@@ -59,7 +59,7 @@ export default class upbit extends Exchange {
59
59
  }>;
60
60
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
61
61
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
62
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
62
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
63
63
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
64
64
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
65
65
  fetchDeposit(id: string, code?: Str, params?: {}): Promise<Transaction>;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/wavesexchange.js';
2
- import type { Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import type { 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 wavesexchange
5
5
  * @augments Exchange
@@ -52,7 +52,7 @@ export default class wavesexchange extends Exchange {
52
52
  priceFromPrecision(symbol: any, price: any): string;
53
53
  safeGetDynamic(settings: any): any;
54
54
  safeGetRates(dynamic: any): any;
55
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
55
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
56
56
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<{
57
57
  info: any;
58
58
  id: string;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/wazirx.js';
2
- import type { Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
2
+ import type { 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 wazirx
5
5
  * @augments Exchange
@@ -30,7 +30,7 @@ export default class wazirx extends Exchange {
30
30
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
31
31
  cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
32
32
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
33
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
33
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
34
34
  parseOrder(order: any, market?: Market): Order;
35
35
  parseOrderStatus(status: any): string;
36
36
  fetchCurrencies(params?: {}): Promise<{}>;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/whitebit.js';
2
- import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.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';
3
3
  /**
4
4
  * @class whitebit
5
5
  * @augments Exchange
@@ -34,7 +34,7 @@ export default class whitebit extends Exchange {
34
34
  info: any;
35
35
  }>;
36
36
  fetchTime(params?: {}): Promise<number>;
37
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
37
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
38
38
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
39
39
  parseBalance(response: any): Balances;
40
40
  fetchBalance(params?: {}): Promise<Balances>;
package/js/src/woo.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/woo.js';
2
- import type { TransferEntry, Balances, Currency, FundingRateHistory, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Trade, Transaction, Leverage } from './base/types.js';
2
+ import type { TransferEntry, Balances, Currency, FundingRateHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Trade, Transaction, Leverage } from './base/types.js';
3
3
  /**
4
4
  * @class woo
5
5
  * @augments Exchange
@@ -22,10 +22,10 @@ export default class woo extends Exchange {
22
22
  fetchTradingFees(params?: {}): Promise<{}>;
23
23
  fetchCurrencies(params?: {}): Promise<{}>;
24
24
  createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
25
- createTrailingAmountOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, trailingAmount?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
26
- createTrailingPercentOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, trailingPercent?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
27
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
28
- editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: number, price?: number, params?: {}): Promise<Order>;
25
+ createTrailingAmountOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, trailingAmount?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
26
+ createTrailingPercentOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, trailingPercent?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
27
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
28
+ editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: Num, price?: Num, params?: {}): Promise<Order>;
29
29
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
30
30
  cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
31
31
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
package/js/src/yobit.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/yobit.js';
2
- import type { Transaction, Balances, Dictionary, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade } from './base/types.js';
2
+ import type { Transaction, Balances, Dictionary, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Num } from './base/types.js';
3
3
  /**
4
4
  * @class yobit
5
5
  * @augments Exchange
@@ -17,7 +17,7 @@ export default class yobit extends Exchange {
17
17
  parseTrade(trade: any, market?: Market): Trade;
18
18
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
19
19
  fetchTradingFees(params?: {}): Promise<{}>;
20
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
20
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
21
21
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
22
22
  parseOrderStatus(status: any): string;
23
23
  parseOrder(order: any, market?: Market): Order;
package/js/src/zaif.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/zaif.js';
2
- import type { Balances, Currency, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction } from './base/types.js';
2
+ import type { Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction } from './base/types.js';
3
3
  /**
4
4
  * @class zaif
5
5
  * @augments Exchange
@@ -15,7 +15,7 @@ export default class zaif extends Exchange {
15
15
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
16
16
  parseTrade(trade: any, market?: Market): Trade;
17
17
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
18
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
18
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
19
19
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
20
20
  parseOrder(order: any, market?: Market): Order;
21
21
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
package/js/src/zonda.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/zonda.js';
2
- import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.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';
3
3
  /**
4
4
  * @class zonda
5
5
  * @augments Exchange
@@ -40,7 +40,7 @@ export default class zonda extends Exchange {
40
40
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
41
41
  parseTrade(trade: any, market?: Market): Trade;
42
42
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
43
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
43
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
44
44
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
45
45
  isFiat(currency: any): boolean;
46
46
  parseDepositAddress(depositAddress: any, currency?: Currency): {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.2.72",
3
+ "version": "4.2.74",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.js",
6
6
  "type": "module",
@@ -10,6 +10,9 @@
10
10
  "require": "./dist/ccxt.cjs"
11
11
  }
12
12
  },
13
+ "bin": {
14
+ "ccxt": "examples/js/cli.js"
15
+ },
13
16
  "engines": {
14
17
  "node": ">=15.0.0"
15
18
  },