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/jsdoc2md.js DELETED
@@ -1,122 +0,0 @@
1
- 'use strict'
2
- import jsdoc2md from 'jsdoc-to-markdown'
3
- import fs from 'fs'
4
- import path from 'path'
5
-
6
-
7
- /* input and output paths */
8
-
9
- // Function to get all files that match the glob pattern
10
- const findByExtensionSync = (dir, ext) => {
11
- const matchedFiles = [];
12
-
13
- const files = fs.readdirSync(dir);
14
-
15
- for (const file of files) {
16
- const fileExt = path.extname(file);
17
-
18
- if (fileExt === `.${ext}`) {
19
- matchedFiles.push(path.join(dir,file));
20
- }
21
- }
22
-
23
- return matchedFiles;
24
- };
25
-
26
- // main function
27
- (async ()=> {
28
-
29
- // Get all files to read js docs
30
- const inputFiles = findByExtensionSync('js/src', 'js')
31
- const proInputFiles = findByExtensionSync('js/src/pro', 'js');
32
- const basePartials = './wiki/basePartials/'
33
- const basePartial = fs.readdirSync (basePartials).map (file => basePartials + file)
34
- const exchangePartials = './wiki/exchangePartials/'
35
- const exchangePartial = fs.readdirSync (exchangePartials).map (file => exchangePartials + file)
36
- const outputFolder = './wiki/'
37
- const outputFile = './wiki/baseSpec.md'
38
- const helper = './wiki/helpers.cjs'
39
-
40
- console.log ('📰 loading js docs...')
41
- let templateData = await Promise.all(inputFiles.map (file => jsdoc2md.getTemplateData({ files: file })));
42
- templateData = templateData.filter (x => x.length > 0)
43
- // TODO: handle alias exchanges
44
-
45
- let proTemplateData = await Promise.all(proInputFiles.map (file => jsdoc2md.getTemplateData({ files: file })));
46
- proTemplateData = proTemplateData.filter (x => x.length > 0)
47
-
48
- // assign pro classes to REST template data
49
- proTemplateData.forEach((proData) => {
50
- const classArray = templateData.find ((template) => template[0].id === proData[0].memberof);
51
- if (classArray) {
52
- const classArray = templateData.find ((template) => template[0].id === proData[0].memberof);
53
- classArray.push(...proData);
54
- }
55
- })
56
-
57
- console.log ('📰 rendering docs for each exchange...')
58
- const template = fs.readFileSync ('./wiki/spec.hbs', 'utf8')
59
-
60
- const outputByExchange = await Promise.all (templateData.map (data => jsdoc2md.render ({ template, data, partial: exchangePartial, helper })))
61
- // Group docs by method
62
- const groupedByMethod = templateData.reduce((acc, arr) => {
63
- arr.filter(obj => obj.kind === 'function' && !obj.ignore).forEach(obj => {
64
- const method = obj.name;
65
- if (!acc[method]) {
66
- acc[method] = [{
67
- id: method,
68
- longname: method,
69
- name: method,
70
- kind: "",
71
- scope: "instance",
72
- description: obj.description,
73
- params: obj.params,
74
- returns: obj.returns,
75
- }];
76
- }
77
- obj.exchange = obj.memberof
78
- obj.memberof = method
79
- acc[method].push(obj);
80
- });
81
- return acc;
82
- }, {});
83
-
84
- const templateDataGroupedByMethod = Object.values(groupedByMethod).sort((a, b) =>a[0].name < b[0].name ? -1 : 1)
85
-
86
-
87
- const baseOutput = await Promise.all (templateDataGroupedByMethod.map (data => jsdoc2md.render ({ template, data, partial: basePartial, helper})))
88
-
89
- console.log ('📰 creating index of exchange functions')
90
- const exchangeLinks = []
91
- outputByExchange.forEach ((output, i) => {
92
- const name = templateData[i][0].id
93
- const fileName = 'exchanges/' + name + '.md'
94
- fs.writeFileSync (outputFolder + fileName, output)
95
- exchangeLinks.push (`\t- [${name}](${fileName})`)
96
- })
97
-
98
-
99
- fs.writeFileSync (outputFile, baseOutput.join ('\n---\n'))
100
-
101
- const sidebar =
102
- `
103
- - [Install](Install.md)
104
- - [Examples](Examples.md)
105
- - [Manual](Manual.md)
106
- - [CCXT Pro](ccxt.pro.manual.md)
107
- - [Contributing](CONTRIBUTING.md)
108
- - [Supported Exchanges](Exchange-Markets.md)
109
- - [Exchanges By Country](Exchange-Markets-By-Country.md)
110
- - [API Spec By Method](baseSpec.md)
111
- - [FAQ](FAQ.md)
112
- - [Changelog](CHANGELOG.md)
113
- - [Awesome](Awesome.md)
114
- - API Spec by Exchange
115
- ${exchangeLinks.join('\n')}
116
- `
117
- fs.writeFileSync('./wiki/_sidebar.md', sidebar);
118
-
119
- console.log ('📰 finished rendering docs! 🙌 😶‍🌫')
120
-
121
- })()
122
-
package/multilang.sh DELETED
@@ -1,164 +0,0 @@
1
- #!/usr/bin/env bash
2
- #
3
- # Usage example:
4
- # bash multilang.sh -a "binance fetchTicker XRP/USDT"
5
- #
6
-
7
- function usage() {
8
- echo "usage: $0 [-clsh] exchange method [...args]"
9
- echo " -c Number of lines to trim off the top and bottom of output"
10
- echo " -l View in less editor"
11
- echo " -s Remove special characters"
12
- echo " -h Display help"
13
- echo " -v Verbose mode"
14
- echo " -k Stacked"
15
- echo " -t Use table"
16
- exit 1
17
- }
18
-
19
- if [[ $# < 1 ]]; then
20
- usage
21
- fi
22
-
23
- cliFolder='./examples'
24
-
25
- jsCli="${cliFolder}/js/cli.js"
26
- pythonCli="${cliFolder}/py/cli.py"
27
- phpCli="${cliFolder}/php/cli.php"
28
-
29
- useLess=false
30
- verbose=false
31
- removeSpecial=false
32
- numLines=0
33
- stacked=false
34
- useTable=false
35
-
36
- function display {
37
- # Displays output in a less window or just to stdout
38
- if ${useLess}; then
39
- less -S -R
40
- else
41
- tee
42
- fi
43
- }
44
-
45
- function removeSpecial {
46
- # Removes special characters
47
- if ${removeSpecial}; then
48
- sed -e 's/\[[0-9]\{1,2\}m//g'
49
- else
50
- tee
51
- fi
52
- }
53
-
54
- function condense {
55
- # Trims output down to a set number of lines on the top and the bottom
56
- local pythonLength=$1
57
- local half=$(($numLines / 2))
58
- local continueFrom=
59
- if [ $half -gt $pythonLength ]; then
60
- continueFrom=${half}
61
- else
62
- continueFrom=$(($pythonLength - $half))
63
- fi
64
- if [ ${numLines} -gt 0 ]; then
65
- sed -n "1,${half}p;${continueFrom},${pythonLength}p"
66
- else
67
- tee
68
- fi
69
- }
70
-
71
- function removeAndColorLines {
72
- sed -E -e '/.*(iteration|^Array|^202.*|^$)/d' -e 's/ / /g' -e 's/ / /g' -e "s/(.*)/$(tput setaf $color)\1/"
73
- }
74
-
75
- function writeOutput {
76
- local interpretter="$1"
77
- local path="$2"
78
- local args="$3"
79
- if result=$($interpretter "$path" $args); then
80
- if ${verbose}; then
81
- echo "$interpretter completed" >&2
82
- fi
83
- removeSpecial <<< "$result" | removeAndColorLines $color
84
- else
85
- exit $?
86
- fi
87
- }
88
-
89
- function checkExitCode {
90
- if [ $? -ne 0 ]; then
91
- exit $?
92
- fi
93
- }
94
-
95
- function padOutput {
96
- local input="$1"
97
- local length="$2"
98
- echo "$input"
99
- lines=$(wc -l <<< "$input")
100
- toPad=$(($length - $lines))
101
- if [ $toPad -gt 0 ]; then
102
- yes "$(tput setaf 1)" | head -n $toPad
103
- fi
104
- }
105
-
106
- # Loop through command line arguments
107
- while getopts 'hc:slvtk' flag; do
108
- case "${flag}" in
109
- h) usage ;;
110
- c) numLines="${OPTARG}" ;;
111
- s) removeSpecial=true ;;
112
- l) useLess=true ;;
113
- v) verbose=true ;;
114
- k) stacked=true ;;
115
- t) useTable=true ;;
116
- *) usage ;;
117
- esac
118
- done
119
-
120
- shift $((OPTIND - 1))
121
-
122
- # if there are any unparsed options then print usage and exit
123
- if grep -q -Ee "\s-[^0-9]" <<< "$@"; then
124
- usage
125
- fi
126
-
127
- if ${verbose}; then
128
- args="--verbose $@"
129
- else
130
- args="$@"
131
- fi
132
-
133
- if ${useTable}; then
134
- table=""
135
- else
136
- table="--no-table"
137
- fi
138
-
139
- jsArgs=$(<<< "$args" sed -E -e 's/(null|None)/undefined/g')
140
- pythonArgs=$(<<< "$args" sed -E -e 's/(undefined|null)/None/g')
141
- phpArgs=$(<<< "$args" sed -E -e 's/(undefined|None)/null/g')
142
-
143
- color=3
144
- jsOutput=$(writeOutput node $jsCli "${table} $jsArgs")
145
- checkExitCode
146
- ((color++))
147
-
148
- pythonOutput=$(writeOutput python3 $pythonCli "$pythonArgs")
149
- checkExitCode
150
- pythonLength=$(wc -l <<< "$pythonOutput")
151
- ((color++))
152
-
153
- phpOutput=$(writeOutput php $phpCli "$phpArgs")
154
- checkExitCode
155
-
156
- if ${stacked}; then
157
- echo -e "$jsOutput\n$phpOutput\n$pythonOutput" | display
158
- else
159
- # use padding here
160
- length=$(wc -l <<< "$phpOutput")
161
- jsOutput=$(padOutput "$jsOutput" $length)
162
- pythonOutput=$(padOutput "$pythonOutput" $length)
163
- paste <(echo "$jsOutput") <(echo "$phpOutput") <(echo "$pythonOutput") | column -s $'\t' -t | condense $pythonLength | display
164
- fi
package/pro-tests.json DELETED
@@ -1,57 +0,0 @@
1
- {
2
- "alpaca": "BTC/USDT",
3
- "ascendex": "BTC/USDT",
4
- "bequant": "BTC/USDT",
5
- "binance": "BTC/USDT",
6
- "binanceus": "BTC/USD",
7
- "binanceusdm": "BTCUSDT",
8
- "binancecoinm": "BTCUSD",
9
- "bitcoincom": "BTC/USDT",
10
- "bitfinex": "BTC/USDT",
11
- "bitfinex2": "BTC/USDT",
12
- "bitget": "BTC/USDT",
13
- "bitmart": "BTC/USDT",
14
- "bitmex": "BTC/USDT",
15
- "bitopro": "BTC/USDT",
16
- "bitrue": "BTC/USDT",
17
- "bitstamp": "BTC/USD",
18
- "bittrex": "BTC/USDT",
19
- "bitvavo": "BTC/EUR",
20
- "bybit": "BTC/USDT",
21
- "cex": "BTC/USDT",
22
- "coinbaseprime": "BTC/USDT",
23
- "coinbasepro": "BTC/USDT",
24
- "coinex": "BTC/USDT",
25
- "cryptocom": "BTC/USDT",
26
- "currencycom": "BTC/USDT",
27
- "deribit": "BTC/USD:BTC",
28
- "exmo": "BTC/USDT",
29
- "gate": "BTC/USDT",
30
- "gateio": "BTC/USDT",
31
- "gemini": "BTC/USD",
32
- "hitbtc": "BTC/USDT",
33
- "hollaex": "BTC/USDT",
34
- "huobi": "BTC/USDT",
35
- "huobijp": "ETH/BTC",
36
- "huobipro": "BTC/USDT",
37
- "idex": "USDT/USDC",
38
- "kraken": "BTC/USDT",
39
- "krakenfutures": "BTC/USD:BTC",
40
- "kucoin": "BTC/USDT",
41
- "kucoinfutures": "BTC/USDT:USDT",
42
- "luno": "ETH/BTC",
43
- "mexc": "BTC/USDT",
44
- "ndax": "BTC/USDT",
45
- "okcoin": "BTC/USD",
46
- "okex": "BTC/USDT",
47
- "okx": "BTC/USDT",
48
- "phemex": "BTC/USDT",
49
- "poloniexfutures": "BTC/USDT:USDT",
50
- "ripio": "BTC/USDC",
51
- "upbit": "BTC/USDT",
52
- "whitebit": "BTC/USDT",
53
- "wazirx": "USDT/INDR",
54
- "woo": "BTC/USDT:USDT",
55
- "zb": "BTC/USDT",
56
- "zipmex": "BTC/USDT"
57
- }
package/pyproject.toml DELETED
@@ -1,8 +0,0 @@
1
- [tool.ruff]
2
- preview = true
3
- select = ["W", "F", "E"]
4
- ignore = ["F722","F841","F821","E402","E501","E902","E713","E741","E714", "E275","E721"]
5
-
6
- exclude = [
7
- "static_dependencies"
8
- ]
package/rollup.config.js DELETED
@@ -1,60 +0,0 @@
1
- import commonjs from "@rollup/plugin-commonjs";
2
- import json from "@rollup/plugin-json";
3
- import execute from 'rollup-plugin-execute';
4
- import nodeResolve from '@rollup/plugin-node-resolve'
5
-
6
- export default [
7
- {
8
- preserveModules: true,
9
- input: "./js/ccxt.js",
10
- output: [
11
- {
12
- dir: "./dist/cjs/",
13
- format: "cjs",
14
- }
15
- ],
16
- plugins: [
17
- nodeResolve({
18
- preferBuiltins: true,
19
- // node resolve generate dist/cjs/js directory
20
- jail: '/src'
21
- }),
22
- json(),
23
- commonjs({
24
- transformMixedEsModules: true,
25
- dynamicRequireTargets: ["**/js/src/static_dependencies/**/*.cjs"],
26
- }),
27
- execute("echo '{ \"type\": \"commonjs\" }' > ./dist/cjs/package.json") // this is needed to make node treat files inside dist/cjs as CJS modules
28
- ],
29
- onwarn: ( warning, next ) => {
30
- if ( warning.message.indexOf('is implicitly using "default" export mode') > -1 ) return;
31
- next( warning );
32
- },
33
- external: [
34
- 'socks-proxy-agent',
35
- // node resolve generate dist/cjs/js directory, treat ws, debug as external
36
- 'ws', 'debug'
37
- ]
38
- },
39
- {
40
- inlineDynamicImports: true,
41
- input: "./js/ccxt.js",
42
- output: [
43
- {
44
- file: "./dist/ccxt.bundle.cjs",
45
- format: "cjs",
46
- },
47
- ],
48
- plugins: [
49
- nodeResolve({ preferBuiltins: true }),
50
- json(),
51
- commonjs({
52
- transformMixedEsModules: true,
53
- dynamicRequireTargets: ["**/js/src/static_dependencies/**/*.cjs"],
54
- }),
55
- ],
56
- external: [
57
- 'socks-proxy-agent'
58
- ]
59
- }
60
- ];