ccxt 4.2.100 → 4.3.1

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 (315) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/ccxt.js +1 -1
  3. package/dist/cjs/src/binance.js +56 -0
  4. package/dist/cjs/src/bingx.js +2 -2
  5. package/dist/cjs/src/bitget.js +64 -2
  6. package/dist/cjs/src/bybit.js +1 -1
  7. package/dist/cjs/src/coinex.js +55 -60
  8. package/dist/cjs/src/kraken.js +8 -3
  9. package/dist/cjs/src/kucoin.js +13 -11
  10. package/dist/cjs/src/okx.js +76 -5
  11. package/dist/cjs/src/pro/kraken.js +2 -2
  12. package/dist/cjs/src/woo.js +40 -0
  13. package/js/ccxt.d.ts +1 -1
  14. package/js/ccxt.js +1 -1
  15. package/js/src/binance.d.ts +3 -1
  16. package/js/src/binance.js +56 -0
  17. package/js/src/bingx.js +3 -3
  18. package/js/src/bitget.d.ts +1 -0
  19. package/js/src/bitget.js +64 -2
  20. package/js/src/bybit.js +1 -1
  21. package/js/src/coinex.js +55 -60
  22. package/js/src/kraken.js +8 -3
  23. package/js/src/kucoin.js +13 -11
  24. package/js/src/okx.d.ts +1 -0
  25. package/js/src/okx.js +76 -5
  26. package/js/src/pro/kraken.js +2 -2
  27. package/js/src/woo.d.ts +1 -0
  28. package/js/src/woo.js +40 -0
  29. package/package.json +2 -1
  30. package/.dockerignore +0 -6
  31. package/.eslintignore +0 -1
  32. package/.git-templates/hooks/pre-push +0 -55
  33. package/.gitattributes +0 -7
  34. package/CHANGELOG.md +0 -6003
  35. package/CODEOWNERS +0 -1
  36. package/CONTRIBUTING.md +0 -1099
  37. package/build.sh +0 -217
  38. package/change.sh +0 -18
  39. package/cleanup.sh +0 -18
  40. package/composer-install.sh +0 -20
  41. package/dist/ccxt.browser.js +0 -327256
  42. package/dist/ccxt.browser.min.js +0 -30
  43. package/dist/ccxt.browser.min.js.LICENSE.txt +0 -12
  44. package/doc/FAQ.rst +0 -1
  45. package/doc/Makefile +0 -20
  46. package/doc/_static/css/dark.css +0 -101
  47. package/doc/_static/css/index.css +0 -128
  48. package/doc/_static/favicon.ico +0 -0
  49. package/doc/_static/javascript/binance-portal.min.js +0 -2369
  50. package/doc/_static/javascript/index.js +0 -195
  51. package/doc/_static/javascript/jquery-ui.min.js +0 -6
  52. package/doc/ccxt.pro.install.rst +0 -1
  53. package/doc/ccxt.pro.manual.rst +0 -1665
  54. package/doc/exchange-markets-by-country.rst +0 -1423
  55. package/doc/exchange-markets.rst +0 -1441
  56. package/doc/index.rst +0 -35
  57. package/doc/install.rst +0 -1
  58. package/doc/make.bat +0 -36
  59. package/doc/manual.rst +0 -7471
  60. package/doc/readme.rst +0 -2191
  61. package/doc/requirements.txt +0 -6
  62. package/examples/ccxt.pro/html/watchTicker.html +0 -51
  63. package/examples/ccxt.pro/js/binance-fetch-balance-snapshot-watch-balance-updates.js +0 -55
  64. package/examples/ccxt.pro/js/binance-https-proxy.js +0 -48
  65. package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols-continuously.js +0 -38
  66. package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols.js +0 -64
  67. package/examples/ccxt.pro/js/binance-watch-ticker-many-symbols.js +0 -62
  68. package/examples/ccxt.pro/js/build-ohlcv-many-symbols.js +0 -68
  69. package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades-warmup.js +0 -82
  70. package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades.js +0 -59
  71. package/examples/ccxt.pro/js/exchange-capabitities.js +0 -72
  72. package/examples/ccxt.pro/js/exchange-close.js +0 -46
  73. package/examples/ccxt.pro/js/gateio-swap-watch-many-orderbooks.js +0 -30
  74. package/examples/ccxt.pro/js/gateio-watch-balance.js +0 -23
  75. package/examples/ccxt.pro/js/gateio-watch-order-book.js +0 -71
  76. package/examples/ccxt.pro/js/graceful-shutdown.js +0 -43
  77. package/examples/ccxt.pro/js/many-exchanges-many-streams.js +0 -37
  78. package/examples/ccxt.pro/js/okex-create-futures-order.js +0 -48
  79. package/examples/ccxt.pro/js/okex-watch-balance-and-create-order.js +0 -54
  80. package/examples/ccxt.pro/js/okx-watch-tickers.js +0 -31
  81. package/examples/ccxt.pro/js/one-exchange-many-different-streams.js +0 -46
  82. package/examples/ccxt.pro/js/one-exchange-many-streams-2.js +0 -26
  83. package/examples/ccxt.pro/js/one-exchange-many-streams.js +0 -28
  84. package/examples/ccxt.pro/js/socks-binance-watch-orderbook.js +0 -30
  85. package/examples/ccxt.pro/js/watch-fetch-many-exchanges-many-ordersbooks.js +0 -40
  86. package/examples/ccxt.pro/js/watch-many-exchanges-many-ordersbooks.js +0 -38
  87. package/examples/ccxt.pro/js/watch-many-exchanges-many-symbols.js +0 -40
  88. package/examples/ccxt.pro/js/watch-many-orderbooks.js +0 -27
  89. package/examples/ccxt.pro/js/watch-new-trades-only.js +0 -43
  90. package/examples/ccxt.pro/js/watch-new-trades.js +0 -42
  91. package/examples/ccxt.pro/js/watch-trades-many-symbols.js +0 -29
  92. package/examples/ccxt.pro/js/watch-vs-fetch.js +0 -29
  93. package/examples/cs/Examples.sln +0 -22
  94. package/examples/cs/c#.csproj +0 -19
  95. package/examples/html/basic-cors-proxy.html +0 -46
  96. package/examples/html/basic-inheritance.html +0 -47
  97. package/examples/html/basic-poller.html +0 -52
  98. package/examples/html/basic-rate-limiting.html +0 -49
  99. package/examples/html/basic.html +0 -43
  100. package/examples/html/binance-cors-proxy.html +0 -28
  101. package/examples/html/bitmex-browser-cors-proxy.js +0 -7
  102. package/examples/html/bitmex-cors.html +0 -46
  103. package/examples/html/tradingview-charts.html +0 -61
  104. package/examples/html/webworker/index.html +0 -97
  105. package/examples/html/webworker/worker.js +0 -43
  106. package/examples/js/advanced-error-handling.js +0 -39
  107. package/examples/js/aggregate-orderbook.js +0 -54
  108. package/examples/js/arbitrage-pairs.js +0 -130
  109. package/examples/js/basic-chart.js +0 -29
  110. package/examples/js/basic-orderbook-polling.js +0 -13
  111. package/examples/js/bcc-vs-bch.js +0 -115
  112. package/examples/js/benchmark.js +0 -104
  113. package/examples/js/binance-fetch-all-deposits.js +0 -45
  114. package/examples/js/binance-fetch-ohlcv-many-symbols-async-await.js +0 -34
  115. package/examples/js/binance-fetch-ohlcv-many-symbols-promise-then-callbacks.js +0 -33
  116. package/examples/js/binance-fetchTicker-delivery-vs-future.js +0 -31
  117. package/examples/js/binance-futures-transfer-from-sub-account-to-master.js +0 -41
  118. package/examples/js/binance-margin-stop-order.js +0 -39
  119. package/examples/js/binance-server-time.js +0 -34
  120. package/examples/js/binance-universal-transfer.js +0 -16
  121. package/examples/js/bitfinex-fetch-trades.js +0 -35
  122. package/examples/js/bitfinex2-fetch-trades.js +0 -35
  123. package/examples/js/bitmex-browser-cors-proxy.js +0 -7
  124. package/examples/js/bitpanda-fetchMyTrades-reduce.js +0 -36
  125. package/examples/js/bitrue-fetch-balance.js +0 -28
  126. package/examples/js/bitstamp-private-api.js +0 -115
  127. package/examples/js/bitstamp-public-api.js +0 -39
  128. package/examples/js/bittrex-balance.js +0 -50
  129. package/examples/js/bittrex-fetch-closed-orders-history.js +0 -69
  130. package/examples/js/blockchaincom-withdrawal.js +0 -59
  131. package/examples/js/build-ohlcv-bars.js +0 -48
  132. package/examples/js/builtin-rate-limiting-rest-poller.js +0 -25
  133. package/examples/js/bybit-trailing.js +0 -62
  134. package/examples/js/bybit-updated.cjs +0 -154
  135. package/examples/js/coinbase-fetch-all-balances.js +0 -36
  136. package/examples/js/coinex-fetch-all-deposit-addresses-using-fetchDepositAddress.js +0 -47
  137. package/examples/js/coinex-futures.js +0 -75
  138. package/examples/js/coinone-fetch-tickers.js +0 -54
  139. package/examples/js/coinone-markets.js +0 -16
  140. package/examples/js/compare-two-exchanges-capabilities.js +0 -36
  141. package/examples/js/cors-proxy.js +0 -5
  142. package/examples/js/create-order-handle-errors.js +0 -55
  143. package/examples/js/create-order-position-with-takeprofit-stoploss.js +0 -71
  144. package/examples/js/create-order-with-retry.js +0 -65
  145. package/examples/js/create-order-ws-example.js +0 -25
  146. package/examples/js/create-orders-example.js +0 -17
  147. package/examples/js/create-trailing-amount-order.js +0 -36
  148. package/examples/js/create-trailing-percent-order.js +0 -36
  149. package/examples/js/credentials.json +0 -5
  150. package/examples/js/custom-proxy-agent-for-js.js +0 -10
  151. package/examples/js/custom-proxy-url.js +0 -23
  152. package/examples/js/delta-maintenance-margin-rate-max-leverage.js +0 -60
  153. package/examples/js/env-variables.js +0 -26
  154. package/examples/js/error-handling.js +0 -89
  155. package/examples/js/exchange-capabilities.js +0 -135
  156. package/examples/js/exchanges-by-volume.js +0 -60
  157. package/examples/js/exchanges.js +0 -40
  158. package/examples/js/fetch-all-balances.js +0 -219
  159. package/examples/js/fetch-all-tickers-to-files-2.js +0 -53
  160. package/examples/js/fetch-all-tickers-to-files.js +0 -77
  161. package/examples/js/fetch-balance.js +0 -28
  162. package/examples/js/fetch-create-deposit-address.js +0 -101
  163. package/examples/js/fetch-from-many-exchanges-simultaneously.js +0 -21
  164. package/examples/js/fetch-funding-rate-history.js +0 -25
  165. package/examples/js/fetch-futures/prettier.config.js +0 -5
  166. package/examples/js/fetch-futures/src/index.js +0 -25
  167. package/examples/js/fetch-ohlcv-from-to-mark-index-premium.js +0 -72
  168. package/examples/js/fetch-ohlcv-many-exchanges-continuosly.js +0 -39
  169. package/examples/js/fetch-ohlcv.js +0 -16
  170. package/examples/js/fetch-okex-futures.js +0 -22
  171. package/examples/js/fetch-orders.js +0 -27
  172. package/examples/js/fetch-ticker-from-multiple-exchanges.js +0 -35
  173. package/examples/js/fetch-ticker-where-available.js +0 -75
  174. package/examples/js/fetch-tickers/build/index.js +0 -19
  175. package/examples/js/fetch-tickers/prettier.config.js +0 -5
  176. package/examples/js/fetch-tickers/src/index.js +0 -17
  177. package/examples/js/gateio-create-batch-order.js +0 -43
  178. package/examples/js/gateio-futures.js +0 -49
  179. package/examples/js/gateio-open-close-contract.js +0 -49
  180. package/examples/js/gateio-swaps.js +0 -74
  181. package/examples/js/gdax-fetch-trades-pagination.js +0 -29
  182. package/examples/js/hitbtc2-withdraw.js +0 -61
  183. package/examples/js/how-to-import-one-exchange-esm.js +0 -10
  184. package/examples/js/huobi-futures.js +0 -71
  185. package/examples/js/huobi-open-close-contract.js +0 -63
  186. package/examples/js/huobi-swaps.js +0 -70
  187. package/examples/js/huobipro-market-buy-sell-fetch-trading-limits.js +0 -98
  188. package/examples/js/hybridCJSExample.cjs +0 -19
  189. package/examples/js/hybridESMExample.js +0 -19
  190. package/examples/js/idex-fetch-balance.js +0 -13
  191. package/examples/js/instantiate-all-at-once.js +0 -46
  192. package/examples/js/instantiate-all-from-json.js +0 -31
  193. package/examples/js/kraken-create-and-close-position.js +0 -54
  194. package/examples/js/kraken-fetch-order-trades.js +0 -33
  195. package/examples/js/kraken-margin-trading.js +0 -89
  196. package/examples/js/kucoin-rate-limit.js +0 -38
  197. package/examples/js/latoken-example.js +0 -108
  198. package/examples/js/live-orderbook.js +0 -106
  199. package/examples/js/live-ticker.js +0 -80
  200. package/examples/js/live-tickers.js +0 -74
  201. package/examples/js/load-all-contracts.js +0 -41
  202. package/examples/js/load-all-symbols-at-once.js +0 -69
  203. package/examples/js/load-all-tickers-at-once.js +0 -91
  204. package/examples/js/load-markets-to-files.js +0 -57
  205. package/examples/js/looping-over-all-symbols-of-specific-exchanges.js +0 -61
  206. package/examples/js/looping-over-specific-symbols-of-all-exchanges.js +0 -91
  207. package/examples/js/margin-loan-borrow-buy-sell-repay.js +0 -70
  208. package/examples/js/market-status-and-currency-status.js +0 -29
  209. package/examples/js/ohlcv-console-chart.js +0 -29
  210. package/examples/js/okex-fetch-closed-orders-archive.js +0 -31
  211. package/examples/js/okex-transfer.js +0 -51
  212. package/examples/js/okx-poll-fetch-my-trades.js +0 -37
  213. package/examples/js/okx-poll-rate-limit.js +0 -48
  214. package/examples/js/order-book-extra-level-depth-param.js +0 -20
  215. package/examples/js/phemex-create-order-position-with-takeprofit-stoploss.js +0 -49
  216. package/examples/js/poll-ohlcv.js +0 -43
  217. package/examples/js/poloniex-fetch-order-books.js +0 -35
  218. package/examples/js/poloniex-limits-amount-min.js +0 -62
  219. package/examples/js/proxy-round-robin.js +0 -98
  220. package/examples/js/proxy-usage.js +0 -32
  221. package/examples/js/sample-local-proxy-server-with-cors.js +0 -12
  222. package/examples/js/search-all-exchanges.js +0 -159
  223. package/examples/js/shared-load-markets.js +0 -80
  224. package/examples/js/sort-swap-markets-by-hourly-price-change.js +0 -55
  225. package/examples/js/symbols.js +0 -110
  226. package/examples/js/theocean.js +0 -41
  227. package/examples/js/tickers.js +0 -106
  228. package/examples/js/validate-paginated-data.js +0 -61
  229. package/examples/js/watch-OHLCV-For-Symbols.js +0 -15
  230. package/examples/js/watch-OHLCV.js +0 -12
  231. package/examples/js/watch-OrderBook-For-Symbols.js +0 -11
  232. package/examples/js/watch-Trades-For-Symbols.js +0 -11
  233. package/examples/js/watch-tickers.js +0 -11
  234. package/examples/js/watchOHLCVForSymbols.js +0 -15
  235. package/examples/js/watchOrderBookForSymbols.js +0 -11
  236. package/examples/js/watchPositions-many-exchanges-continuosly.d.ts +0 -2
  237. package/examples/js/watchPositions-many-exchanges-continuosly.d.ts.map +0 -1
  238. package/examples/js/watchPositions-many-exchanges-continuosly.js +0 -49
  239. package/examples/js/watchPositions.d.ts +0 -2
  240. package/examples/js/watchPositions.d.ts.map +0 -1
  241. package/examples/js/watchPositions.js +0 -13
  242. package/examples/js/watchPositionsForSymbols.d.ts +0 -2
  243. package/examples/js/watchPositionsForSymbols.d.ts.map +0 -1
  244. package/examples/js/watchPositionsForSymbols.js +0 -14
  245. package/examples/js/watchTradesForSymbols.js +0 -11
  246. package/examples/js/withdraw-from-one-exchange-to-another.js +0 -50
  247. package/examples/php/README.md +0 -7
  248. package/examples/py/README.md +0 -15
  249. package/examples/py/playing_with_ccxt_example.ipynb +0 -222
  250. package/examples/ts/.eslintrc +0 -111
  251. package/examples/ts/benchmark.ts +0 -134
  252. package/examples/ts/build-ohlcv-bars.ts +0 -53
  253. package/examples/ts/cli.ts +0 -397
  254. package/examples/ts/compare-two-exchanges-capabilities.ts +0 -36
  255. package/examples/ts/create-order-position-with-takeprofit-stoploss.ts +0 -89
  256. package/examples/ts/create-order-ws-example.ts +0 -33
  257. package/examples/ts/create-orders-example.ts +0 -21
  258. package/examples/ts/create-trailing-amount-order.ts +0 -37
  259. package/examples/ts/create-trailing-percent-order.ts +0 -37
  260. package/examples/ts/custom-proxy-agent-for-js.ts +0 -14
  261. package/examples/ts/fetch-futures/package-lock.json +0 -116
  262. package/examples/ts/fetch-futures/package.json +0 -34
  263. package/examples/ts/fetch-futures/prettier.config.js +0 -4
  264. package/examples/ts/fetch-futures/src/index.ts +0 -28
  265. package/examples/ts/fetch-futures/tsconfig.json +0 -28
  266. package/examples/ts/fetch-ohlcv-many-exchanges-continuosly.ts +0 -44
  267. package/examples/ts/fetch-ohlcv.ts +0 -17
  268. package/examples/ts/fetch-tickers/package-lock.json +0 -116
  269. package/examples/ts/fetch-tickers/package.json +0 -34
  270. package/examples/ts/fetch-tickers/prettier.config.js +0 -4
  271. package/examples/ts/fetch-tickers/src/index.ts +0 -21
  272. package/examples/ts/fetch-tickers/tsconfig.json +0 -28
  273. package/examples/ts/how-to-import-one-exchange-esm.ts +0 -11
  274. package/examples/ts/kraken-create-and-close-position.ts +0 -69
  275. package/examples/ts/margin-loan-borrow-buy-sell-repay.ts +0 -72
  276. package/examples/ts/nextjs-page-router/.eslintrc.json +0 -3
  277. package/examples/ts/nextjs-page-router/README.md +0 -43
  278. package/examples/ts/nextjs-page-router/next.config.js +0 -6
  279. package/examples/ts/nextjs-page-router/package-lock.json +0 -7425
  280. package/examples/ts/nextjs-page-router/package.json +0 -28
  281. package/examples/ts/nextjs-page-router/postcss.config.js +0 -6
  282. package/examples/ts/nextjs-page-router/public/favicon.ico +0 -0
  283. package/examples/ts/nextjs-page-router/src/pages/_app.tsx +0 -6
  284. package/examples/ts/nextjs-page-router/src/pages/_document.tsx +0 -13
  285. package/examples/ts/nextjs-page-router/src/pages/balance.tsx +0 -46
  286. package/examples/ts/nextjs-page-router/src/pages/index.tsx +0 -8
  287. package/examples/ts/nextjs-page-router/src/pages/tickers.tsx +0 -61
  288. package/examples/ts/nextjs-page-router/src/styles/globals.css +0 -27
  289. package/examples/ts/nextjs-page-router/tailwind.config.ts +0 -20
  290. package/examples/ts/nextjs-page-router/tsconfig.json +0 -22
  291. package/examples/ts/phemex-create-order-position-with-takeprofit-stoploss.ts +0 -62
  292. package/examples/ts/proxy-usage.ts +0 -41
  293. package/examples/ts/sample-local-proxy-server-with-cors.ts +0 -15
  294. package/examples/ts/watch-OHLCV-For-Symbols.ts +0 -17
  295. package/examples/ts/watch-OHLCV.ts +0 -14
  296. package/examples/ts/watch-OrderBook-For-Symbols.ts +0 -13
  297. package/examples/ts/watch-Trades-For-Symbols.ts +0 -13
  298. package/examples/ts/watch-tickers.ts +0 -13
  299. package/examples/ts/watchPositions-many-exchanges-continuosly.ts +0 -53
  300. package/examples/ts/watchPositions.ts +0 -15
  301. package/examples/ts/watchPositionsForSymbols.ts +0 -16
  302. package/examples/tsconfig.json +0 -27
  303. package/examples2md.js +0 -79
  304. package/gource.sh +0 -3
  305. package/index.html +0 -7
  306. package/jsdoc2md.js +0 -122
  307. package/multilang.sh +0 -164
  308. package/pro-tests.json +0 -57
  309. package/pyproject.toml +0 -8
  310. package/rollup.config.js +0 -60
  311. package/skip-tests.json +0 -1653
  312. package/test-commonjs.cjs +0 -65
  313. package/tests-manager.sh +0 -96
  314. package/tsconfig.json +0 -111
  315. package/webpack.config.js +0 -46
package/build.sh DELETED
@@ -1,217 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- if [ "${BASH_VERSION:0:1}" -lt 4 ]; then
5
- echo "EPROGMISMATCH: bash version must be at least 4" >&2
6
- exit 75
7
- fi
8
-
9
- if [ $# -gt 0 ]; then
10
- echo "E2BIG: too many arguments" >&2
11
- exit 7
12
- fi
13
-
14
- [[ -n "$TRAVIS_BUILD_ID" ]] && IS_TRAVIS="TRUE" || IS_TRAVIS="FALSE"
15
-
16
- msgPrefix="⬤ BUILD.SH : "
17
-
18
- function run_tests {
19
- local rest_args=
20
- local ws_args=
21
- if [ $# -eq 2 ]; then
22
- rest_args="$1"
23
- ws_args="$2"
24
- if [ -z "$rest_args" ]; then
25
- : &
26
- local rest_pid=$!
27
- fi
28
- if [ -z "$ws_args" ]; then
29
- : &
30
- local ws_pid=$!
31
- fi
32
- fi
33
-
34
- if [ -z "$rest_pid" ]; then
35
- if [ -z "$rest_args" ] || { [ -n "$rest_args" ] && [ "$rest_args" != "skip" ]; }; then
36
- # shellcheck disable=SC2086
37
- node test-commonjs.cjs && node run-tests --js --python-async --php-async --csharp --useProxy $rest_args &
38
- local rest_pid=$!
39
- fi
40
- fi
41
- if [ -z "$ws_pid" ]; then
42
- if [ -z "$ws_args" ] || { [ -n "$ws_args" ] && [ "$ws_args" != "skip" ]; }; then
43
- # shellcheck disable=SC2086
44
- node run-tests --ws --js --python-async --php-async --csharp --useProxy $ws_args &
45
- local ws_pid=$!
46
- fi
47
- fi
48
-
49
- if [ -n "$rest_pid" ] && [ -n "$ws_pid" ]; then
50
- wait $rest_pid && wait $ws_pid
51
- elif [ -n "$rest_pid" ]; then
52
- wait $rest_pid
53
- else
54
- wait $ws_pid
55
- fi
56
- }
57
-
58
- build_and_test_all () {
59
- npm run force-build
60
- if [ "$IS_TRAVIS" = "TRUE" ]; then
61
- merged_pull_request="$(git show --format="%s" -s HEAD | sed -nE 's/Merge pull request #([0-9]{5}).+$/\1/p')"
62
- echo "DEBUG: $merged_pull_request" # for debugging
63
- if [ -n "$merged_pull_request" ]; then
64
- echo "Travis is building merge commit #$merged_pull_request"
65
- # run every 3 merged pull requests
66
- # if [ $(("${merged_pull_request:0-1}" % 3)) -eq 0 ]; then
67
- # # update pyenv
68
- # (cd "$(pyenv root)" && git pull -q origin master)
69
- # # install python interpreters
70
- # pyenv install -s 3.7.17
71
- # pyenv install -s 3.8.18
72
- # pyenv install -s 3.9.18
73
- # pyenv install -s 3.10.13
74
- # pyenv install -s 3.11.6
75
- # pyenv global 3.7 3.8 3.9 3.10 3.11
76
- # cd python
77
- # if ! tox run-parallel; then
78
- # exit 1
79
- # fi
80
- # cd ..
81
- # fi
82
- fi
83
- npm run test-base
84
- npm run test-base-ws
85
- last_commit_message=$(git log -1 --pretty=%B)
86
- echo "Last commit: $last_commit_message" # for debugging
87
- if [[ "$last_commit_message" == *"skip-tests"* ]]; then
88
- echo "[SKIP-TESTS] Will skip tests!"
89
- exit
90
- fi
91
- run_tests
92
- fi
93
- exit
94
- }
95
-
96
- ### CHECK IF THIS IS A PR ###
97
- # for appveyor, when PR is from fork, APPVEYOR_REPO_BRANCH is "master" and "APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH" is branch name. if PR is from same repo, only APPVEYOR_REPO_BRANCH is set (and it is branch name)
98
- if { [ "$IS_TRAVIS" = "TRUE" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; } || { [ "$IS_TRAVIS" != "TRUE" ] && [ -z "$APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH" ]; }; then
99
-
100
- echo "$msgPrefix This is a master commit (not a PR), will build everything"
101
- build_and_test_all
102
- fi
103
-
104
- ##### DETECT CHANGES #####
105
- # in appveyor, there is no origin/master locally, so we need to fetch it.
106
- if [[ "$IS_TRAVIS" != "TRUE" ]]; then
107
- git remote set-branches origin 'master'
108
- git fetch --depth=1 --no-tags
109
- fi
110
-
111
- diff=$(git diff origin/master --name-only)
112
- # temporarily remove the below scripts from diff
113
- diff=$(echo "$diff" | sed -e "s/^build\.sh//")
114
- diff=$(echo "$diff" | sed -e "s/^skip\-tests\.json//")
115
- diff=$(echo "$diff" | sed -e "s/^ts\/src\/test\/static.*json//") #remove static tests and markets
116
- # diff=$(echo "$diff" | sed -e "s/^\.travis\.yml//")
117
- # diff=$(echo "$diff" | sed -e "s/^package\-lock\.json//")
118
- # diff=$(echo "$diff" | sed -e "s/python\/qa\.py//")
119
- #echo $diff
120
-
121
- critical_pattern='Client(Trait)?\.php|Exchange\.php|\/base|^build|static_dependencies|^run-tests|package(-lock)?\.json|composer\.json|ccxt\.ts|__init__.py|test' # add \/test|
122
- if [[ "$diff" =~ $critical_pattern ]]; then
123
- echo "$msgPrefix Important changes detected - doing full build & test"
124
- echo "$diff"
125
- build_and_test_all
126
- fi
127
-
128
- echo "$msgPrefix Unimportant changes detected - build & test only specific exchange(s)"
129
- readarray -t y <<<"$diff"
130
- rest_pattern='ts\/src\/([A-Za-z0-9_-]+).ts' # \w not working for some reason
131
- ws_pattern='ts\/src\/pro\/([A-Za-z0-9_-]+)\.ts'
132
-
133
- REST_EXCHANGES=()
134
- WS_EXCHANGES=()
135
- for file in "${y[@]}"; do
136
- if [[ "$file" =~ $rest_pattern ]]; then
137
- modified_exchange="${BASH_REMATCH[1]}"
138
- REST_EXCHANGES+=($modified_exchange)
139
- elif [[ "$file" =~ $ws_pattern ]]; then
140
- modified_exchange="${BASH_REMATCH[1]}"
141
- WS_EXCHANGES+=($modified_exchange)
142
- fi
143
- done
144
-
145
-
146
- ### BUILD SPECIFIC EXCHANGES ###
147
- # faster version of pre-transpile (without bundle and atomic linting)
148
- npm run export-exchanges && npm run tsBuild && npm run emitAPI
149
-
150
- # check return types
151
- npm run validate-types ${REST_EXCHANGES[*]}
152
-
153
- echo "$msgPrefix REST_EXCHANGES TO BE TRANSPILED: ${REST_EXCHANGES[*]}"
154
- PYTHON_FILES=()
155
- for exchange in "${REST_EXCHANGES[@]}"; do
156
- npm run eslint "ts/src/$exchange.ts"
157
- node build/transpile.js $exchange --force --child
158
- node --loader ts-node/esm build/csharpTranspiler.ts $exchange
159
- PYTHON_FILES+=("python/ccxt/$exchange.py")
160
- PYTHON_FILES+=("python/ccxt/async_support/$exchange.py")
161
- done
162
- echo "$msgPrefix WS_EXCHANGES TO BE TRANSPILED: ${WS_EXCHANGES[*]}"
163
- for exchange in "${WS_EXCHANGES[@]}"; do
164
- npm run eslint "ts/src/pro/$exchange.ts"
165
- node build/transpileWS.js $exchange --force --child
166
- node --loader ts-node/esm build/csharpTranspiler.ts $exchange --ws
167
- PYTHON_FILES+=("python/ccxt/pro/$exchange.py")
168
- done
169
- # faster version of post-transpile
170
- npm run check-php-syntax
171
-
172
- # only run the python linter if exchange related files are changed
173
- if [ ${#PYTHON_FILES[@]} -gt 0 ]; then
174
- echo "$msgPrefix Linting python files: ${PYTHON_FILES[*]}"
175
- ruff "${PYTHON_FILES[@]}"
176
- fi
177
-
178
-
179
- ### RUN SPECIFIC TESTS (ONLY IN TRAVIS) ###
180
- if [[ "$IS_TRAVIS" != "TRUE" ]]; then
181
- exit
182
- fi
183
- if [ ${#REST_EXCHANGES[@]} -eq 0 ] && [ ${#WS_EXCHANGES[@]} -eq 0 ]; then
184
- echo "$msgPrefix no exchanges to test, exiting"
185
- exit
186
- fi
187
-
188
- # build dotnet project
189
- npm run buildCS
190
-
191
- # run base tests (base js,py,php, brokerId )
192
- # npm run test-base
193
- npm run test-js-base && npm run test-python-base && npm run test-php-base && npm run id-tests
194
-
195
- # rest_args=${REST_EXCHANGES[*]} || "skip"
196
- rest_args=$(IFS=" " ; echo "${REST_EXCHANGES[*]}") || "skip"
197
- # ws_args=${WS_EXCHANGES[*]} || "skip"
198
- ws_args=$(IFS=" " ; echo "${WS_EXCHANGES[*]}") || "skip"
199
-
200
-
201
- #request static tests
202
- for exchange in "${REST_EXCHANGES[@]}"; do
203
- npm run request-js -- $exchange
204
- npm run request-py -- $exchange
205
- php php/test/test_async.php $exchange --requestTests
206
- npm run request-cs -- $exchange
207
- done
208
-
209
- #response static tests
210
- for exchange in "${REST_EXCHANGES[@]}"; do
211
- npm run response-js -- $exchange
212
- npm run response-py -- $exchange
213
- php php/test/test_async.php $exchange --responseTests
214
- npm run response-cs -- $exchange
215
- done
216
-
217
- run_tests "$rest_args" "$ws_args"
package/change.sh DELETED
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env bash
2
- previous_tag=0
3
- for current_tag in $(git tag --sort=-creatordate)
4
- do
5
- major_version=$(echo ${current_tag} | cut -d '.' -f 1)
6
- major_version=$(echo "$major_version" | sed -e "s/v//")
7
- if [ "$major_version" -ge 4 ] ;then
8
- if [ "$previous_tag" != 0 ]; then
9
- tag_date=$(git log -1 --pretty=format:'%ad' --date=short ${previous_tag})
10
- printf "## ${previous_tag} (${tag_date})\n\n"
11
- git log ${current_tag}...${previous_tag} --pretty=format:'* %s [%h](https://github.com/ccxt/ccxt/commits/%H)' --reverse | grep -v Merge | grep -v skip | grep -v '-'
12
- # print $commits
13
- printf "\n\n"
14
- fi
15
- previous_tag=${current_tag}
16
- fi
17
-
18
- done
package/cleanup.sh DELETED
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env bash
2
- git checkout HEAD package.json
3
- git checkout HEAD package-lock.json
4
- git checkout HEAD yarn.lock
5
- git checkout HEAD README.md
6
- git checkout HEAD js
7
- git checkout HEAD cs/ccxt/api
8
- git checkout HEAD cs/ccxt/exchanges
9
- git checkout HEAD cs/tests/Generated
10
- git checkout HEAD cs/ccxt/wrappers/
11
- git checkout HEAD cs/ccxt/base/Exchange.Wrappers.cs
12
- git checkout HEAD cs/ccxt/base/Exchange.BaseMethods.cs
13
- git checkout HEAD ts/ccxt.ts
14
- git checkout HEAD ts/src/abstract
15
- git checkout HEAD python
16
- git checkout HEAD php
17
- git checkout HEAD dist
18
- git checkout HEAD examples
@@ -1,20 +0,0 @@
1
- #!/bin/sh
2
- # This script taken from the composer installation instructions at
3
- # https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
4
-
5
- EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
6
- php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
7
- ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
8
-
9
- if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]
10
- then
11
- >&2 echo 'ERROR: Invalid installer checksum'
12
- rm composer-setup.php
13
- exit 1
14
- fi
15
-
16
- php composer-setup.php --quiet
17
- RESULT=$?
18
- rm composer-setup.php
19
- exit $RESULT
20
-