ccxt 4.2.100 → 4.3.2

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 (330) hide show
  1. package/README.md +6 -5
  2. package/dist/cjs/ccxt.js +1 -1
  3. package/dist/cjs/src/base/Exchange.js +3 -0
  4. package/dist/cjs/src/binance.js +56 -0
  5. package/dist/cjs/src/bingx.js +2 -2
  6. package/dist/cjs/src/bitget.js +69 -5
  7. package/dist/cjs/src/bybit.js +1 -1
  8. package/dist/cjs/src/coinbase.js +2 -1
  9. package/dist/cjs/src/coinbasepro.js +1 -1
  10. package/dist/cjs/src/coinex.js +164 -206
  11. package/dist/cjs/src/cryptocom.js +5 -5
  12. package/dist/cjs/src/hyperliquid.js +74 -0
  13. package/dist/cjs/src/kraken.js +8 -3
  14. package/dist/cjs/src/kucoin.js +13 -11
  15. package/dist/cjs/src/okx.js +76 -5
  16. package/dist/cjs/src/pro/kraken.js +2 -2
  17. package/dist/cjs/src/woo.js +40 -0
  18. package/js/ccxt.d.ts +1 -1
  19. package/js/ccxt.js +1 -1
  20. package/js/src/base/Exchange.d.ts +2 -1
  21. package/js/src/base/Exchange.js +3 -0
  22. package/js/src/base/types.d.ts +5 -0
  23. package/js/src/binance.d.ts +3 -1
  24. package/js/src/binance.js +56 -0
  25. package/js/src/bingx.js +3 -3
  26. package/js/src/bitget.d.ts +1 -0
  27. package/js/src/bitget.js +69 -5
  28. package/js/src/bybit.js +1 -1
  29. package/js/src/coinbase.js +2 -1
  30. package/js/src/coinbasepro.d.ts +1 -1
  31. package/js/src/coinbasepro.js +1 -1
  32. package/js/src/coinex.js +164 -206
  33. package/js/src/cryptocom.js +5 -5
  34. package/js/src/hyperliquid.d.ts +2 -1
  35. package/js/src/hyperliquid.js +75 -1
  36. package/js/src/kraken.js +8 -3
  37. package/js/src/kucoin.js +13 -11
  38. package/js/src/okx.d.ts +1 -0
  39. package/js/src/okx.js +76 -5
  40. package/js/src/pro/kraken.js +2 -2
  41. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  42. package/js/src/woo.d.ts +1 -0
  43. package/js/src/woo.js +40 -0
  44. package/package.json +2 -1
  45. package/.dockerignore +0 -6
  46. package/.eslintignore +0 -1
  47. package/.git-templates/hooks/pre-push +0 -55
  48. package/.gitattributes +0 -7
  49. package/CHANGELOG.md +0 -6003
  50. package/CODEOWNERS +0 -1
  51. package/CONTRIBUTING.md +0 -1099
  52. package/build.sh +0 -217
  53. package/change.sh +0 -18
  54. package/cleanup.sh +0 -18
  55. package/composer-install.sh +0 -20
  56. package/dist/ccxt.browser.js +0 -327256
  57. package/dist/ccxt.browser.min.js +0 -30
  58. package/dist/ccxt.browser.min.js.LICENSE.txt +0 -12
  59. package/doc/FAQ.rst +0 -1
  60. package/doc/Makefile +0 -20
  61. package/doc/_static/css/dark.css +0 -101
  62. package/doc/_static/css/index.css +0 -128
  63. package/doc/_static/favicon.ico +0 -0
  64. package/doc/_static/javascript/binance-portal.min.js +0 -2369
  65. package/doc/_static/javascript/index.js +0 -195
  66. package/doc/_static/javascript/jquery-ui.min.js +0 -6
  67. package/doc/ccxt.pro.install.rst +0 -1
  68. package/doc/ccxt.pro.manual.rst +0 -1665
  69. package/doc/exchange-markets-by-country.rst +0 -1423
  70. package/doc/exchange-markets.rst +0 -1441
  71. package/doc/index.rst +0 -35
  72. package/doc/install.rst +0 -1
  73. package/doc/make.bat +0 -36
  74. package/doc/manual.rst +0 -7471
  75. package/doc/readme.rst +0 -2191
  76. package/doc/requirements.txt +0 -6
  77. package/examples/ccxt.pro/html/watchTicker.html +0 -51
  78. package/examples/ccxt.pro/js/binance-fetch-balance-snapshot-watch-balance-updates.js +0 -55
  79. package/examples/ccxt.pro/js/binance-https-proxy.js +0 -48
  80. package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols-continuously.js +0 -38
  81. package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols.js +0 -64
  82. package/examples/ccxt.pro/js/binance-watch-ticker-many-symbols.js +0 -62
  83. package/examples/ccxt.pro/js/build-ohlcv-many-symbols.js +0 -68
  84. package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades-warmup.js +0 -82
  85. package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades.js +0 -59
  86. package/examples/ccxt.pro/js/exchange-capabitities.js +0 -72
  87. package/examples/ccxt.pro/js/exchange-close.js +0 -46
  88. package/examples/ccxt.pro/js/gateio-swap-watch-many-orderbooks.js +0 -30
  89. package/examples/ccxt.pro/js/gateio-watch-balance.js +0 -23
  90. package/examples/ccxt.pro/js/gateio-watch-order-book.js +0 -71
  91. package/examples/ccxt.pro/js/graceful-shutdown.js +0 -43
  92. package/examples/ccxt.pro/js/many-exchanges-many-streams.js +0 -37
  93. package/examples/ccxt.pro/js/okex-create-futures-order.js +0 -48
  94. package/examples/ccxt.pro/js/okex-watch-balance-and-create-order.js +0 -54
  95. package/examples/ccxt.pro/js/okx-watch-tickers.js +0 -31
  96. package/examples/ccxt.pro/js/one-exchange-many-different-streams.js +0 -46
  97. package/examples/ccxt.pro/js/one-exchange-many-streams-2.js +0 -26
  98. package/examples/ccxt.pro/js/one-exchange-many-streams.js +0 -28
  99. package/examples/ccxt.pro/js/socks-binance-watch-orderbook.js +0 -30
  100. package/examples/ccxt.pro/js/watch-fetch-many-exchanges-many-ordersbooks.js +0 -40
  101. package/examples/ccxt.pro/js/watch-many-exchanges-many-ordersbooks.js +0 -38
  102. package/examples/ccxt.pro/js/watch-many-exchanges-many-symbols.js +0 -40
  103. package/examples/ccxt.pro/js/watch-many-orderbooks.js +0 -27
  104. package/examples/ccxt.pro/js/watch-new-trades-only.js +0 -43
  105. package/examples/ccxt.pro/js/watch-new-trades.js +0 -42
  106. package/examples/ccxt.pro/js/watch-trades-many-symbols.js +0 -29
  107. package/examples/ccxt.pro/js/watch-vs-fetch.js +0 -29
  108. package/examples/cs/Examples.sln +0 -22
  109. package/examples/cs/c#.csproj +0 -19
  110. package/examples/html/basic-cors-proxy.html +0 -46
  111. package/examples/html/basic-inheritance.html +0 -47
  112. package/examples/html/basic-poller.html +0 -52
  113. package/examples/html/basic-rate-limiting.html +0 -49
  114. package/examples/html/basic.html +0 -43
  115. package/examples/html/binance-cors-proxy.html +0 -28
  116. package/examples/html/bitmex-browser-cors-proxy.js +0 -7
  117. package/examples/html/bitmex-cors.html +0 -46
  118. package/examples/html/tradingview-charts.html +0 -61
  119. package/examples/html/webworker/index.html +0 -97
  120. package/examples/html/webworker/worker.js +0 -43
  121. package/examples/js/advanced-error-handling.js +0 -39
  122. package/examples/js/aggregate-orderbook.js +0 -54
  123. package/examples/js/arbitrage-pairs.js +0 -130
  124. package/examples/js/basic-chart.js +0 -29
  125. package/examples/js/basic-orderbook-polling.js +0 -13
  126. package/examples/js/bcc-vs-bch.js +0 -115
  127. package/examples/js/benchmark.js +0 -104
  128. package/examples/js/binance-fetch-all-deposits.js +0 -45
  129. package/examples/js/binance-fetch-ohlcv-many-symbols-async-await.js +0 -34
  130. package/examples/js/binance-fetch-ohlcv-many-symbols-promise-then-callbacks.js +0 -33
  131. package/examples/js/binance-fetchTicker-delivery-vs-future.js +0 -31
  132. package/examples/js/binance-futures-transfer-from-sub-account-to-master.js +0 -41
  133. package/examples/js/binance-margin-stop-order.js +0 -39
  134. package/examples/js/binance-server-time.js +0 -34
  135. package/examples/js/binance-universal-transfer.js +0 -16
  136. package/examples/js/bitfinex-fetch-trades.js +0 -35
  137. package/examples/js/bitfinex2-fetch-trades.js +0 -35
  138. package/examples/js/bitmex-browser-cors-proxy.js +0 -7
  139. package/examples/js/bitpanda-fetchMyTrades-reduce.js +0 -36
  140. package/examples/js/bitrue-fetch-balance.js +0 -28
  141. package/examples/js/bitstamp-private-api.js +0 -115
  142. package/examples/js/bitstamp-public-api.js +0 -39
  143. package/examples/js/bittrex-balance.js +0 -50
  144. package/examples/js/bittrex-fetch-closed-orders-history.js +0 -69
  145. package/examples/js/blockchaincom-withdrawal.js +0 -59
  146. package/examples/js/build-ohlcv-bars.js +0 -48
  147. package/examples/js/builtin-rate-limiting-rest-poller.js +0 -25
  148. package/examples/js/bybit-trailing.js +0 -62
  149. package/examples/js/bybit-updated.cjs +0 -154
  150. package/examples/js/coinbase-fetch-all-balances.js +0 -36
  151. package/examples/js/coinex-fetch-all-deposit-addresses-using-fetchDepositAddress.js +0 -47
  152. package/examples/js/coinex-futures.js +0 -75
  153. package/examples/js/coinone-fetch-tickers.js +0 -54
  154. package/examples/js/coinone-markets.js +0 -16
  155. package/examples/js/compare-two-exchanges-capabilities.js +0 -36
  156. package/examples/js/cors-proxy.js +0 -5
  157. package/examples/js/create-order-handle-errors.js +0 -55
  158. package/examples/js/create-order-position-with-takeprofit-stoploss.js +0 -71
  159. package/examples/js/create-order-with-retry.js +0 -65
  160. package/examples/js/create-order-ws-example.js +0 -25
  161. package/examples/js/create-orders-example.js +0 -17
  162. package/examples/js/create-trailing-amount-order.js +0 -36
  163. package/examples/js/create-trailing-percent-order.js +0 -36
  164. package/examples/js/credentials.json +0 -5
  165. package/examples/js/custom-proxy-agent-for-js.js +0 -10
  166. package/examples/js/custom-proxy-url.js +0 -23
  167. package/examples/js/delta-maintenance-margin-rate-max-leverage.js +0 -60
  168. package/examples/js/env-variables.js +0 -26
  169. package/examples/js/error-handling.js +0 -89
  170. package/examples/js/exchange-capabilities.js +0 -135
  171. package/examples/js/exchanges-by-volume.js +0 -60
  172. package/examples/js/exchanges.js +0 -40
  173. package/examples/js/fetch-all-balances.js +0 -219
  174. package/examples/js/fetch-all-tickers-to-files-2.js +0 -53
  175. package/examples/js/fetch-all-tickers-to-files.js +0 -77
  176. package/examples/js/fetch-balance.js +0 -28
  177. package/examples/js/fetch-create-deposit-address.js +0 -101
  178. package/examples/js/fetch-from-many-exchanges-simultaneously.js +0 -21
  179. package/examples/js/fetch-funding-rate-history.js +0 -25
  180. package/examples/js/fetch-futures/prettier.config.js +0 -5
  181. package/examples/js/fetch-futures/src/index.js +0 -25
  182. package/examples/js/fetch-ohlcv-from-to-mark-index-premium.js +0 -72
  183. package/examples/js/fetch-ohlcv-many-exchanges-continuosly.js +0 -39
  184. package/examples/js/fetch-ohlcv.js +0 -16
  185. package/examples/js/fetch-okex-futures.js +0 -22
  186. package/examples/js/fetch-orders.js +0 -27
  187. package/examples/js/fetch-ticker-from-multiple-exchanges.js +0 -35
  188. package/examples/js/fetch-ticker-where-available.js +0 -75
  189. package/examples/js/fetch-tickers/build/index.js +0 -19
  190. package/examples/js/fetch-tickers/prettier.config.js +0 -5
  191. package/examples/js/fetch-tickers/src/index.js +0 -17
  192. package/examples/js/gateio-create-batch-order.js +0 -43
  193. package/examples/js/gateio-futures.js +0 -49
  194. package/examples/js/gateio-open-close-contract.js +0 -49
  195. package/examples/js/gateio-swaps.js +0 -74
  196. package/examples/js/gdax-fetch-trades-pagination.js +0 -29
  197. package/examples/js/hitbtc2-withdraw.js +0 -61
  198. package/examples/js/how-to-import-one-exchange-esm.js +0 -10
  199. package/examples/js/huobi-futures.js +0 -71
  200. package/examples/js/huobi-open-close-contract.js +0 -63
  201. package/examples/js/huobi-swaps.js +0 -70
  202. package/examples/js/huobipro-market-buy-sell-fetch-trading-limits.js +0 -98
  203. package/examples/js/hybridCJSExample.cjs +0 -19
  204. package/examples/js/hybridESMExample.js +0 -19
  205. package/examples/js/idex-fetch-balance.js +0 -13
  206. package/examples/js/instantiate-all-at-once.js +0 -46
  207. package/examples/js/instantiate-all-from-json.js +0 -31
  208. package/examples/js/kraken-create-and-close-position.js +0 -54
  209. package/examples/js/kraken-fetch-order-trades.js +0 -33
  210. package/examples/js/kraken-margin-trading.js +0 -89
  211. package/examples/js/kucoin-rate-limit.js +0 -38
  212. package/examples/js/latoken-example.js +0 -108
  213. package/examples/js/live-orderbook.js +0 -106
  214. package/examples/js/live-ticker.js +0 -80
  215. package/examples/js/live-tickers.js +0 -74
  216. package/examples/js/load-all-contracts.js +0 -41
  217. package/examples/js/load-all-symbols-at-once.js +0 -69
  218. package/examples/js/load-all-tickers-at-once.js +0 -91
  219. package/examples/js/load-markets-to-files.js +0 -57
  220. package/examples/js/looping-over-all-symbols-of-specific-exchanges.js +0 -61
  221. package/examples/js/looping-over-specific-symbols-of-all-exchanges.js +0 -91
  222. package/examples/js/margin-loan-borrow-buy-sell-repay.js +0 -70
  223. package/examples/js/market-status-and-currency-status.js +0 -29
  224. package/examples/js/ohlcv-console-chart.js +0 -29
  225. package/examples/js/okex-fetch-closed-orders-archive.js +0 -31
  226. package/examples/js/okex-transfer.js +0 -51
  227. package/examples/js/okx-poll-fetch-my-trades.js +0 -37
  228. package/examples/js/okx-poll-rate-limit.js +0 -48
  229. package/examples/js/order-book-extra-level-depth-param.js +0 -20
  230. package/examples/js/phemex-create-order-position-with-takeprofit-stoploss.js +0 -49
  231. package/examples/js/poll-ohlcv.js +0 -43
  232. package/examples/js/poloniex-fetch-order-books.js +0 -35
  233. package/examples/js/poloniex-limits-amount-min.js +0 -62
  234. package/examples/js/proxy-round-robin.js +0 -98
  235. package/examples/js/proxy-usage.js +0 -32
  236. package/examples/js/sample-local-proxy-server-with-cors.js +0 -12
  237. package/examples/js/search-all-exchanges.js +0 -159
  238. package/examples/js/shared-load-markets.js +0 -80
  239. package/examples/js/sort-swap-markets-by-hourly-price-change.js +0 -55
  240. package/examples/js/symbols.js +0 -110
  241. package/examples/js/theocean.js +0 -41
  242. package/examples/js/tickers.js +0 -106
  243. package/examples/js/validate-paginated-data.js +0 -61
  244. package/examples/js/watch-OHLCV-For-Symbols.js +0 -15
  245. package/examples/js/watch-OHLCV.js +0 -12
  246. package/examples/js/watch-OrderBook-For-Symbols.js +0 -11
  247. package/examples/js/watch-Trades-For-Symbols.js +0 -11
  248. package/examples/js/watch-tickers.js +0 -11
  249. package/examples/js/watchOHLCVForSymbols.js +0 -15
  250. package/examples/js/watchOrderBookForSymbols.js +0 -11
  251. package/examples/js/watchPositions-many-exchanges-continuosly.d.ts +0 -2
  252. package/examples/js/watchPositions-many-exchanges-continuosly.d.ts.map +0 -1
  253. package/examples/js/watchPositions-many-exchanges-continuosly.js +0 -49
  254. package/examples/js/watchPositions.d.ts +0 -2
  255. package/examples/js/watchPositions.d.ts.map +0 -1
  256. package/examples/js/watchPositions.js +0 -13
  257. package/examples/js/watchPositionsForSymbols.d.ts +0 -2
  258. package/examples/js/watchPositionsForSymbols.d.ts.map +0 -1
  259. package/examples/js/watchPositionsForSymbols.js +0 -14
  260. package/examples/js/watchTradesForSymbols.js +0 -11
  261. package/examples/js/withdraw-from-one-exchange-to-another.js +0 -50
  262. package/examples/php/README.md +0 -7
  263. package/examples/py/README.md +0 -15
  264. package/examples/py/playing_with_ccxt_example.ipynb +0 -222
  265. package/examples/ts/.eslintrc +0 -111
  266. package/examples/ts/benchmark.ts +0 -134
  267. package/examples/ts/build-ohlcv-bars.ts +0 -53
  268. package/examples/ts/cli.ts +0 -397
  269. package/examples/ts/compare-two-exchanges-capabilities.ts +0 -36
  270. package/examples/ts/create-order-position-with-takeprofit-stoploss.ts +0 -89
  271. package/examples/ts/create-order-ws-example.ts +0 -33
  272. package/examples/ts/create-orders-example.ts +0 -21
  273. package/examples/ts/create-trailing-amount-order.ts +0 -37
  274. package/examples/ts/create-trailing-percent-order.ts +0 -37
  275. package/examples/ts/custom-proxy-agent-for-js.ts +0 -14
  276. package/examples/ts/fetch-futures/package-lock.json +0 -116
  277. package/examples/ts/fetch-futures/package.json +0 -34
  278. package/examples/ts/fetch-futures/prettier.config.js +0 -4
  279. package/examples/ts/fetch-futures/src/index.ts +0 -28
  280. package/examples/ts/fetch-futures/tsconfig.json +0 -28
  281. package/examples/ts/fetch-ohlcv-many-exchanges-continuosly.ts +0 -44
  282. package/examples/ts/fetch-ohlcv.ts +0 -17
  283. package/examples/ts/fetch-tickers/package-lock.json +0 -116
  284. package/examples/ts/fetch-tickers/package.json +0 -34
  285. package/examples/ts/fetch-tickers/prettier.config.js +0 -4
  286. package/examples/ts/fetch-tickers/src/index.ts +0 -21
  287. package/examples/ts/fetch-tickers/tsconfig.json +0 -28
  288. package/examples/ts/how-to-import-one-exchange-esm.ts +0 -11
  289. package/examples/ts/kraken-create-and-close-position.ts +0 -69
  290. package/examples/ts/margin-loan-borrow-buy-sell-repay.ts +0 -72
  291. package/examples/ts/nextjs-page-router/.eslintrc.json +0 -3
  292. package/examples/ts/nextjs-page-router/README.md +0 -43
  293. package/examples/ts/nextjs-page-router/next.config.js +0 -6
  294. package/examples/ts/nextjs-page-router/package-lock.json +0 -7425
  295. package/examples/ts/nextjs-page-router/package.json +0 -28
  296. package/examples/ts/nextjs-page-router/postcss.config.js +0 -6
  297. package/examples/ts/nextjs-page-router/public/favicon.ico +0 -0
  298. package/examples/ts/nextjs-page-router/src/pages/_app.tsx +0 -6
  299. package/examples/ts/nextjs-page-router/src/pages/_document.tsx +0 -13
  300. package/examples/ts/nextjs-page-router/src/pages/balance.tsx +0 -46
  301. package/examples/ts/nextjs-page-router/src/pages/index.tsx +0 -8
  302. package/examples/ts/nextjs-page-router/src/pages/tickers.tsx +0 -61
  303. package/examples/ts/nextjs-page-router/src/styles/globals.css +0 -27
  304. package/examples/ts/nextjs-page-router/tailwind.config.ts +0 -20
  305. package/examples/ts/nextjs-page-router/tsconfig.json +0 -22
  306. package/examples/ts/phemex-create-order-position-with-takeprofit-stoploss.ts +0 -62
  307. package/examples/ts/proxy-usage.ts +0 -41
  308. package/examples/ts/sample-local-proxy-server-with-cors.ts +0 -15
  309. package/examples/ts/watch-OHLCV-For-Symbols.ts +0 -17
  310. package/examples/ts/watch-OHLCV.ts +0 -14
  311. package/examples/ts/watch-OrderBook-For-Symbols.ts +0 -13
  312. package/examples/ts/watch-Trades-For-Symbols.ts +0 -13
  313. package/examples/ts/watch-tickers.ts +0 -13
  314. package/examples/ts/watchPositions-many-exchanges-continuosly.ts +0 -53
  315. package/examples/ts/watchPositions.ts +0 -15
  316. package/examples/ts/watchPositionsForSymbols.ts +0 -16
  317. package/examples/tsconfig.json +0 -27
  318. package/examples2md.js +0 -79
  319. package/gource.sh +0 -3
  320. package/index.html +0 -7
  321. package/jsdoc2md.js +0 -122
  322. package/multilang.sh +0 -164
  323. package/pro-tests.json +0 -57
  324. package/pyproject.toml +0 -8
  325. package/rollup.config.js +0 -60
  326. package/skip-tests.json +0 -1653
  327. package/test-commonjs.cjs +0 -65
  328. package/tests-manager.sh +0 -96
  329. package/tsconfig.json +0 -111
  330. package/webpack.config.js +0 -46
package/README.md CHANGED
@@ -41,6 +41,7 @@ Current feature list:
41
41
  | [![bitmart](https://user-images.githubusercontent.com/1294454/129991357-8f47464b-d0f4-41d6-8a82-34122f0d1398.jpg)](http://www.bitmart.com/?r=rQCFLh) | bitmart | [BitMart](http://www.bitmart.com/?r=rQCFLh) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://developer-pro.bitmart.com/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with BitMart using CCXT's referral link for a 30% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d30%25&color=orange)](http://www.bitmart.com/?r=rQCFLh) |
42
42
  | [![bitmex](https://github.com/ccxt/ccxt/assets/43336371/cea9cfe5-c57e-4b84-b2ac-77b960b04445)](https://www.bitmex.com/app/register/NZTR1q) | bitmex | [BitMEX](https://www.bitmex.com/app/register/NZTR1q) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://www.bitmex.com/app/apiOverview) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with BitMEX using CCXT's referral link for a 10% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d10%25&color=orange)](https://www.bitmex.com/app/register/NZTR1q) |
43
43
  | [![bybit](https://user-images.githubusercontent.com/51840849/76547799-daff5b80-649e-11ea-87fb-3be9bac08954.jpg)](https://www.bybit.com/register?affiliate_id=35953) | bybit | [Bybit](https://www.bybit.com/register?affiliate_id=35953) | [![API Version 5](https://img.shields.io/badge/5-lightgray)](https://bybit-exchange.github.io/docs/inverse/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | |
44
+ | [![coinbase](https://user-images.githubusercontent.com/1294454/40811661-b6eceae2-653a-11e8-829e-10bfadb078cf.jpg)](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | coinbase | [Coinbase Advanced](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://developers.coinbase.com/api/v2) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | |
44
45
  | [![coinbaseinternational](https://github.com/ccxt/ccxt/assets/43336371/866ae638-6ab5-4ebf-ab2c-cdcce9545625)](https://international.coinbase.com) | coinbaseinternational | [Coinbase International](https://international.coinbase.com) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.cloud.coinbase.com/intx/docs) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | |
45
46
  | [![coinex](https://user-images.githubusercontent.com/51840849/87182089-1e05fa00-c2ec-11ea-8da9-cc73b45abbbc.jpg)](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.coinex.com/api/v2) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | |
46
47
  | [![cryptocom](https://user-images.githubusercontent.com/1294454/147792121-38ed5e36-c229-48d6-b49a-48d05fc19ed4.jpeg)](https://crypto.com/exch/kdacthrnxt) | cryptocom | [Crypto.com](https://crypto.com/exch/kdacthrnxt) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with Crypto.com using CCXT's referral link for a 15% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d15%25&color=orange)](https://crypto.com/exch/kdacthrnxt) |
@@ -93,9 +94,9 @@ The CCXT library currently supports the following 97 cryptocurrency exchange mar
93
94
  | [![btcturk](https://user-images.githubusercontent.com/51840849/87153926-efbef500-c2c0-11ea-9842-05b63612c4b9.jpg)](https://www.btcturk.com) | btcturk | [BTCTurk](https://www.btcturk.com) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://github.com/BTCTrader/broker-api-docs) | | |
94
95
  | [![bybit](https://user-images.githubusercontent.com/51840849/76547799-daff5b80-649e-11ea-87fb-3be9bac08954.jpg)](https://www.bybit.com/register?affiliate_id=35953) | bybit | [Bybit](https://www.bybit.com/register?affiliate_id=35953) | [![API Version 5](https://img.shields.io/badge/5-lightgray)](https://bybit-exchange.github.io/docs/inverse/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
95
96
  | [![cex](https://user-images.githubusercontent.com/1294454/27766442-8ddc33b0-5ed8-11e7-8b98-f786aef0f3c9.jpg)](https://cex.io/r/0/up105393824/0/) | cex | [CEX.IO](https://cex.io/r/0/up105393824/0/) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://cex.io/cex-api) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
96
- | [![coinbase](https://user-images.githubusercontent.com/1294454/40811661-b6eceae2-653a-11e8-829e-10bfadb078cf.jpg)](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | coinbase | [Coinbase](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://developers.coinbase.com/api/v2) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
97
+ | [![coinbase](https://user-images.githubusercontent.com/1294454/40811661-b6eceae2-653a-11e8-829e-10bfadb078cf.jpg)](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | coinbase | [Coinbase Advanced](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://developers.coinbase.com/api/v2) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
97
98
  | [![coinbaseinternational](https://github.com/ccxt/ccxt/assets/43336371/866ae638-6ab5-4ebf-ab2c-cdcce9545625)](https://international.coinbase.com) | coinbaseinternational | [Coinbase International](https://international.coinbase.com) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.cloud.coinbase.com/intx/docs) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
98
- | [![coinbasepro](https://user-images.githubusercontent.com/1294454/41764625-63b7ffde-760a-11e8-996d-a6328fa9347a.jpg)](https://pro.coinbase.com/) | coinbasepro | [Coinbase Pro](https://pro.coinbase.com/) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://docs.pro.coinbase.com) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
99
+ | [![coinbasepro](https://user-images.githubusercontent.com/1294454/41764625-63b7ffde-760a-11e8-996d-a6328fa9347a.jpg)](https://pro.coinbase.com/) | coinbasepro | [Coinbase Pro(Deprecated)](https://pro.coinbase.com/) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://docs.pro.coinbase.com) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
99
100
  | [![coincheck](https://user-images.githubusercontent.com/51840849/87182088-1d6d6380-c2ec-11ea-9c64-8ab9f9b289f5.jpg)](https://coincheck.com) | coincheck | [coincheck](https://coincheck.com) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://coincheck.com/documents/exchange/api) | | |
100
101
  | [![coinex](https://user-images.githubusercontent.com/51840849/87182089-1e05fa00-c2ec-11ea-8da9-cc73b45abbbc.jpg)](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.coinex.com/api/v2) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
101
102
  | [![coinlist](https://github-production-user-asset-6210df.s3.amazonaws.com/1294454/281108917-eff2ae1d-ce8a-4b2a-950d-8678b12da965.jpg)](https://coinlist.co) | coinlist | [Coinlist](https://coinlist.co) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://trade-docs.coinlist.co) | | |
@@ -212,13 +213,13 @@ console.log(version, Object.keys(exchanges));
212
213
 
213
214
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
214
215
 
215
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.100/dist/ccxt.browser.js
216
- * unpkg: https://unpkg.com/ccxt@4.2.100/dist/ccxt.browser.js
216
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.2/dist/ccxt.browser.js
217
+ * unpkg: https://unpkg.com/ccxt@4.3.2/dist/ccxt.browser.js
217
218
 
218
219
  CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
219
220
 
220
221
  ```HTML
221
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.100/dist/ccxt.browser.js"></script>
222
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.2/dist/ccxt.browser.js"></script>
222
223
  ```
223
224
 
224
225
  Creates a global `ccxt` object:
package/dist/cjs/ccxt.js CHANGED
@@ -182,7 +182,7 @@ var woo$1 = require('./src/pro/woo.js');
182
182
 
183
183
  //-----------------------------------------------------------------------------
184
184
  // this is updated by vss.js when building
185
- const version = '4.2.100';
185
+ const version = '4.3.2';
186
186
  Exchange["default"].ccxtVersion = version;
187
187
  const exchanges = {
188
188
  'ace': ace,
@@ -4477,6 +4477,9 @@ class Exchange {
4477
4477
  async cancelAllOrders(symbol = undefined, params = {}) {
4478
4478
  throw new errors.NotSupported(this.id + ' cancelAllOrders() is not supported yet');
4479
4479
  }
4480
+ async cancelOrdersForSymbols(orders, params = {}) {
4481
+ throw new errors.NotSupported(this.id + ' cancelOrdersForSymbols() is not supported yet');
4482
+ }
4480
4483
  async cancelAllOrdersWs(symbol = undefined, params = {}) {
4481
4484
  throw new errors.NotSupported(this.id + ' cancelAllOrdersWs() is not supported yet');
4482
4485
  }
@@ -40,6 +40,7 @@ class binance extends binance$1 {
40
40
  'cancelOrders': true,
41
41
  'closeAllPositions': false,
42
42
  'closePosition': false,
43
+ 'createConvertTrade': true,
43
44
  'createDepositAddress': false,
44
45
  'createLimitBuyOrder': true,
45
46
  'createLimitSellOrder': true,
@@ -12646,6 +12647,61 @@ class binance extends binance$1 {
12646
12647
  }
12647
12648
  return result;
12648
12649
  }
12650
+ async createConvertTrade(id, fromCode, toCode, amount = undefined, params = {}) {
12651
+ /**
12652
+ * @method
12653
+ * @name binance#createConvertTrade
12654
+ * @description convert from one currency to another
12655
+ * @see https://binance-docs.github.io/apidocs/spot/en/#busd-convert-trade
12656
+ * @param {string} id the id of the trade that you want to make
12657
+ * @param {string} fromCode the currency that you want to sell and convert from
12658
+ * @param {string} toCode the currency that you want to buy and convert into
12659
+ * @param {float} [amount] how much you want to trade in units of the from currency
12660
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
12661
+ * @returns {object} a [conversion structure]{@link https://docs.ccxt.com/#/?id=conversion-structure}
12662
+ */
12663
+ await this.loadMarkets();
12664
+ const request = {
12665
+ 'clientTranId': id,
12666
+ 'asset': fromCode,
12667
+ 'targetAsset': toCode,
12668
+ 'amount': amount,
12669
+ };
12670
+ const response = await this.sapiPostAssetConvertTransfer(this.extend(request, params));
12671
+ //
12672
+ // {
12673
+ // "tranId": 118263407119,
12674
+ // "status": "S"
12675
+ // }
12676
+ //
12677
+ const fromCurrency = this.currency(fromCode);
12678
+ const toCurrency = this.currency(toCode);
12679
+ return this.parseConversion(response, fromCurrency, toCurrency);
12680
+ }
12681
+ parseConversion(conversion, fromCurrency = undefined, toCurrency = undefined) {
12682
+ //
12683
+ // createConvertTrade
12684
+ //
12685
+ // {
12686
+ // "tranId": 118263407119,
12687
+ // "status": "S"
12688
+ // }
12689
+ //
12690
+ const fromCode = this.safeCurrencyCode(undefined, fromCurrency);
12691
+ const toCode = this.safeCurrencyCode(undefined, toCurrency);
12692
+ return {
12693
+ 'info': conversion,
12694
+ 'timestamp': undefined,
12695
+ 'datetime': undefined,
12696
+ 'id': this.safeString(conversion, 'tranId'),
12697
+ 'fromCurrency': fromCode,
12698
+ 'fromAmount': undefined,
12699
+ 'toCurrency': toCode,
12700
+ 'toAmount': undefined,
12701
+ 'price': undefined,
12702
+ 'fee': undefined,
12703
+ };
12704
+ }
12649
12705
  }
12650
12706
 
12651
12707
  module.exports = binance;
@@ -384,7 +384,7 @@ class bingx extends bingx$1 {
384
384
  '100400': errors.BadRequest,
385
385
  '100421': errors.BadSymbol,
386
386
  '100440': errors.ExchangeError,
387
- '100500': errors.ExchangeError,
387
+ '100500': errors.ExchangeNotAvailable,
388
388
  '100503': errors.ExchangeError,
389
389
  '80001': errors.BadRequest,
390
390
  '80012': errors.InsufficientFunds,
@@ -3976,7 +3976,7 @@ class bingx extends bingx$1 {
3976
3976
  let market = undefined;
3977
3977
  if (symbol !== undefined) {
3978
3978
  market = this.market(symbol);
3979
- request['symbol'] = symbol;
3979
+ request['symbol'] = market['id'];
3980
3980
  }
3981
3981
  if (since !== undefined) {
3982
3982
  request['startTime'] = since;
@@ -37,6 +37,7 @@ class bitget extends bitget$1 {
37
37
  'cancelOrders': true,
38
38
  'closeAllPositions': true,
39
39
  'closePosition': true,
40
+ 'createConvertTrade': true,
40
41
  'createDepositAddress': false,
41
42
  'createMarketBuyOrderWithCost': true,
42
43
  'createMarketOrderWithCost': false,
@@ -8458,8 +8459,8 @@ class bitget extends bitget$1 {
8458
8459
  */
8459
8460
  await this.loadMarkets();
8460
8461
  const request = {
8461
- 'fromCoin': fromCode.toUpperCase(),
8462
- 'toCoin': toCode.toUpperCase(),
8462
+ 'fromCoin': fromCode,
8463
+ 'toCoin': toCode,
8463
8464
  'fromCoinSize': this.numberToString(amount),
8464
8465
  };
8465
8466
  const response = await this.privateConvertGetV2ConvertQuotedPrice(this.extend(request, params));
@@ -8486,6 +8487,58 @@ class bitget extends bitget$1 {
8486
8487
  const toCurrency = this.currency(toCurrencyId);
8487
8488
  return this.parseConversion(data, fromCurrency, toCurrency);
8488
8489
  }
8490
+ async createConvertTrade(id, fromCode, toCode, amount = undefined, params = {}) {
8491
+ /**
8492
+ * @method
8493
+ * @name bitget#createConvertTrade
8494
+ * @description convert from one currency to another
8495
+ * @see https://www.bitget.com/api-doc/common/convert/Trade
8496
+ * @param {string} id the id of the trade that you want to make
8497
+ * @param {string} fromCode the currency that you want to sell and convert from
8498
+ * @param {string} toCode the currency that you want to buy and convert into
8499
+ * @param {float} amount how much you want to trade in units of the from currency
8500
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
8501
+ * @param {string} params.price the price of the conversion, obtained from fetchConvertQuote()
8502
+ * @param {string} params.toAmount the amount you want to trade in units of the toCurrency, obtained from fetchConvertQuote()
8503
+ * @returns {object} a [conversion structure]{@link https://docs.ccxt.com/#/?id=conversion-structure}
8504
+ */
8505
+ await this.loadMarkets();
8506
+ const price = this.safeString2(params, 'price', 'cnvtPrice');
8507
+ if (price === undefined) {
8508
+ throw new errors.ArgumentsRequired(this.id + ' createConvertTrade() requires a price parameter');
8509
+ }
8510
+ const toAmount = this.safeString2(params, 'toAmount', 'toCoinSize');
8511
+ if (toAmount === undefined) {
8512
+ throw new errors.ArgumentsRequired(this.id + ' createConvertTrade() requires a toAmount parameter');
8513
+ }
8514
+ params = this.omit(params, ['price', 'toAmount']);
8515
+ const request = {
8516
+ 'traceId': id,
8517
+ 'fromCoin': fromCode,
8518
+ 'toCoin': toCode,
8519
+ 'fromCoinSize': this.numberToString(amount),
8520
+ 'toCoinSize': toAmount,
8521
+ 'cnvtPrice': price,
8522
+ };
8523
+ const response = await this.privateConvertPostV2ConvertTrade(this.extend(request, params));
8524
+ //
8525
+ // {
8526
+ // "code": "00000",
8527
+ // "msg": "success",
8528
+ // "requestTime": 1712123746203,
8529
+ // "data": {
8530
+ // "cnvtPrice": "0.99940076",
8531
+ // "toCoin": "USDC",
8532
+ // "toCoinSize": "4.99700379",
8533
+ // "ts": "1712123746217"
8534
+ // }
8535
+ // }
8536
+ //
8537
+ const data = this.safeDict(response, 'data', {});
8538
+ const toCurrencyId = this.safeString(data, 'toCoin', toCode);
8539
+ const toCurrency = this.currency(toCurrencyId);
8540
+ return this.parseConversion(data, undefined, toCurrency);
8541
+ }
8489
8542
  parseConversion(conversion, fromCurrency = undefined, toCurrency = undefined) {
8490
8543
  //
8491
8544
  // fetchConvertQuote
@@ -8500,6 +8553,15 @@ class bitget extends bitget$1 {
8500
8553
  // "fee": "0"
8501
8554
  // }
8502
8555
  //
8556
+ // createConvertTrade
8557
+ //
8558
+ // {
8559
+ // "cnvtPrice": "0.99940076",
8560
+ // "toCoin": "USDC",
8561
+ // "toCoinSize": "4.99700379",
8562
+ // "ts": "1712123746217"
8563
+ // }
8564
+ //
8503
8565
  const timestamp = this.safeInteger(conversion, 'ts');
8504
8566
  const fromCoin = this.safeString(conversion, 'fromCoin');
8505
8567
  const fromCode = this.safeCurrencyCode(fromCoin, fromCurrency);
@@ -8588,6 +8650,8 @@ class bitget extends bitget$1 {
8588
8650
  //
8589
8651
  // spot
8590
8652
  //
8653
+ // {"code":"00000","msg":"success","requestTime":1713294492511,"data":[...]}"
8654
+ //
8591
8655
  // {"status":"fail","err_code":"01001","err_msg":"系统异常,请稍后重试"}
8592
8656
  // {"status":"error","ts":1595594160149,"err_code":"invalid-parameter","err_msg":"invalid size, valid range: [1,2000]"}
8593
8657
  // {"status":"error","ts":1595684716042,"err_code":"invalid-parameter","err_msg":"illegal sign invalid"}
@@ -8609,14 +8673,14 @@ class bitget extends bitget$1 {
8609
8673
  // {"code":"40108","msg":"","requestTime":1595885064600,"data":null}
8610
8674
  // {"order_id":"513468410013679613","client_oid":null,"symbol":"ethusd","result":false,"err_code":"order_no_exist_error","err_msg":"订单不存在!"}
8611
8675
  //
8612
- const message = this.safeString(response, 'err_msg');
8613
- const errorCode = this.safeString2(response, 'code', 'err_code');
8676
+ const message = this.safeString2(response, 'err_msg', 'msg');
8614
8677
  const feedback = this.id + ' ' + body;
8615
- const nonEmptyMessage = ((message !== undefined) && (message !== ''));
8678
+ const nonEmptyMessage = ((message !== undefined) && (message !== '') && (message !== 'success'));
8616
8679
  if (nonEmptyMessage) {
8617
8680
  this.throwExactlyMatchedException(this.exceptions['exact'], message, feedback);
8618
8681
  this.throwBroadlyMatchedException(this.exceptions['broad'], message, feedback);
8619
8682
  }
8683
+ const errorCode = this.safeString2(response, 'code', 'err_code');
8620
8684
  const nonZeroErrorCode = (errorCode !== undefined) && (errorCode !== '00000');
8621
8685
  if (nonZeroErrorCode) {
8622
8686
  this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, feedback);
@@ -5378,7 +5378,7 @@ class bybit extends bybit$1 {
5378
5378
  const coin = this.safeString(result, 'coin');
5379
5379
  currency = this.currency(coin);
5380
5380
  const parsed = this.parseDepositAddresses(chains, [currency['code']], false, {
5381
- 'currency': currency['id'],
5381
+ 'currency': currency['code'],
5382
5382
  });
5383
5383
  return this.indexBy(parsed, 'network');
5384
5384
  }
@@ -17,9 +17,10 @@ class coinbase extends coinbase$1 {
17
17
  describe() {
18
18
  return this.deepExtend(super.describe(), {
19
19
  'id': 'coinbase',
20
- 'name': 'Coinbase',
20
+ 'name': 'Coinbase Advanced',
21
21
  'countries': ['US'],
22
22
  'pro': true,
23
+ 'certified': true,
23
24
  // rate-limits:
24
25
  // ADVANCED API: https://docs.cloud.coinbase.com/advanced-trade-api/docs/rest-api-rate-limits
25
26
  // - max 30 req/second for private data, 10 req/s for public data
@@ -16,7 +16,7 @@ class coinbasepro extends coinbasepro$1 {
16
16
  describe() {
17
17
  return this.deepExtend(super.describe(), {
18
18
  'id': 'coinbasepro',
19
- 'name': 'Coinbase Pro',
19
+ 'name': 'Coinbase Pro(Deprecated)',
20
20
  'countries': ['US'],
21
21
  'rateLimit': 100,
22
22
  'userAgent': this.userAgents['chrome'],