ccxt 4.2.99 → 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.
- package/README.md +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ascendex.js +1 -1
- package/dist/cjs/src/binance.js +56 -0
- package/dist/cjs/src/bingx.js +2 -2
- package/dist/cjs/src/bitget.js +64 -2
- package/dist/cjs/src/bybit.js +1 -1
- package/dist/cjs/src/coinex.js +55 -60
- package/dist/cjs/src/kraken.js +8 -3
- package/dist/cjs/src/kucoin.js +19 -17
- package/dist/cjs/src/okx.js +76 -5
- package/dist/cjs/src/pro/kraken.js +2 -2
- package/dist/cjs/src/woo.js +40 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/ascendex.js +2 -2
- package/js/src/binance.d.ts +3 -1
- package/js/src/binance.js +56 -0
- package/js/src/bingx.js +3 -3
- package/js/src/bitget.d.ts +1 -0
- package/js/src/bitget.js +64 -2
- package/js/src/bybit.js +1 -1
- package/js/src/coinex.js +55 -60
- package/js/src/kraken.js +8 -3
- package/js/src/kucoin.js +19 -17
- package/js/src/okx.d.ts +1 -0
- package/js/src/okx.js +76 -5
- package/js/src/pro/kraken.js +2 -2
- package/js/src/woo.d.ts +1 -0
- package/js/src/woo.js +40 -0
- package/package.json +2 -1
- package/.dockerignore +0 -6
- package/.eslintignore +0 -1
- package/.git-templates/hooks/pre-push +0 -55
- package/.gitattributes +0 -7
- package/CHANGELOG.md +0 -6003
- package/CODEOWNERS +0 -1
- package/CONTRIBUTING.md +0 -1099
- package/build.sh +0 -217
- package/change.sh +0 -18
- package/cleanup.sh +0 -18
- package/composer-install.sh +0 -20
- package/dist/ccxt.browser.js +0 -327256
- package/dist/ccxt.browser.min.js +0 -30
- package/dist/ccxt.browser.min.js.LICENSE.txt +0 -12
- package/doc/FAQ.rst +0 -1
- package/doc/Makefile +0 -20
- package/doc/_static/css/dark.css +0 -101
- package/doc/_static/css/index.css +0 -128
- package/doc/_static/favicon.ico +0 -0
- package/doc/_static/javascript/binance-portal.min.js +0 -2369
- package/doc/_static/javascript/index.js +0 -195
- package/doc/_static/javascript/jquery-ui.min.js +0 -6
- package/doc/ccxt.pro.install.rst +0 -1
- package/doc/ccxt.pro.manual.rst +0 -1665
- package/doc/exchange-markets-by-country.rst +0 -1423
- package/doc/exchange-markets.rst +0 -1441
- package/doc/index.rst +0 -35
- package/doc/install.rst +0 -1
- package/doc/make.bat +0 -36
- package/doc/manual.rst +0 -7471
- package/doc/readme.rst +0 -2191
- package/doc/requirements.txt +0 -6
- package/examples/ccxt.pro/html/watchTicker.html +0 -51
- package/examples/ccxt.pro/js/binance-fetch-balance-snapshot-watch-balance-updates.js +0 -55
- package/examples/ccxt.pro/js/binance-https-proxy.js +0 -48
- package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols-continuously.js +0 -38
- package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols.js +0 -64
- package/examples/ccxt.pro/js/binance-watch-ticker-many-symbols.js +0 -62
- package/examples/ccxt.pro/js/build-ohlcv-many-symbols.js +0 -68
- package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades-warmup.js +0 -82
- package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades.js +0 -59
- package/examples/ccxt.pro/js/exchange-capabitities.js +0 -72
- package/examples/ccxt.pro/js/exchange-close.js +0 -46
- package/examples/ccxt.pro/js/gateio-swap-watch-many-orderbooks.js +0 -30
- package/examples/ccxt.pro/js/gateio-watch-balance.js +0 -23
- package/examples/ccxt.pro/js/gateio-watch-order-book.js +0 -71
- package/examples/ccxt.pro/js/graceful-shutdown.js +0 -43
- package/examples/ccxt.pro/js/many-exchanges-many-streams.js +0 -37
- package/examples/ccxt.pro/js/okex-create-futures-order.js +0 -48
- package/examples/ccxt.pro/js/okex-watch-balance-and-create-order.js +0 -54
- package/examples/ccxt.pro/js/okx-watch-tickers.js +0 -31
- package/examples/ccxt.pro/js/one-exchange-many-different-streams.js +0 -46
- package/examples/ccxt.pro/js/one-exchange-many-streams-2.js +0 -26
- package/examples/ccxt.pro/js/one-exchange-many-streams.js +0 -28
- package/examples/ccxt.pro/js/socks-binance-watch-orderbook.js +0 -30
- package/examples/ccxt.pro/js/watch-fetch-many-exchanges-many-ordersbooks.js +0 -40
- package/examples/ccxt.pro/js/watch-many-exchanges-many-ordersbooks.js +0 -38
- package/examples/ccxt.pro/js/watch-many-exchanges-many-symbols.js +0 -40
- package/examples/ccxt.pro/js/watch-many-orderbooks.js +0 -27
- package/examples/ccxt.pro/js/watch-new-trades-only.js +0 -43
- package/examples/ccxt.pro/js/watch-new-trades.js +0 -42
- package/examples/ccxt.pro/js/watch-trades-many-symbols.js +0 -29
- package/examples/ccxt.pro/js/watch-vs-fetch.js +0 -29
- package/examples/cs/Examples.sln +0 -22
- package/examples/cs/c#.csproj +0 -19
- package/examples/html/basic-cors-proxy.html +0 -46
- package/examples/html/basic-inheritance.html +0 -47
- package/examples/html/basic-poller.html +0 -52
- package/examples/html/basic-rate-limiting.html +0 -49
- package/examples/html/basic.html +0 -43
- package/examples/html/binance-cors-proxy.html +0 -28
- package/examples/html/bitmex-browser-cors-proxy.js +0 -7
- package/examples/html/bitmex-cors.html +0 -46
- package/examples/html/tradingview-charts.html +0 -61
- package/examples/html/webworker/index.html +0 -97
- package/examples/html/webworker/worker.js +0 -43
- package/examples/js/advanced-error-handling.js +0 -39
- package/examples/js/aggregate-orderbook.js +0 -54
- package/examples/js/arbitrage-pairs.js +0 -130
- package/examples/js/basic-chart.js +0 -29
- package/examples/js/basic-orderbook-polling.js +0 -13
- package/examples/js/bcc-vs-bch.js +0 -115
- package/examples/js/benchmark.js +0 -104
- package/examples/js/binance-fetch-all-deposits.js +0 -45
- package/examples/js/binance-fetch-ohlcv-many-symbols-async-await.js +0 -34
- package/examples/js/binance-fetch-ohlcv-many-symbols-promise-then-callbacks.js +0 -33
- package/examples/js/binance-fetchTicker-delivery-vs-future.js +0 -31
- package/examples/js/binance-futures-transfer-from-sub-account-to-master.js +0 -41
- package/examples/js/binance-margin-stop-order.js +0 -39
- package/examples/js/binance-server-time.js +0 -34
- package/examples/js/binance-universal-transfer.js +0 -16
- package/examples/js/bitfinex-fetch-trades.js +0 -35
- package/examples/js/bitfinex2-fetch-trades.js +0 -35
- package/examples/js/bitmex-browser-cors-proxy.js +0 -7
- package/examples/js/bitpanda-fetchMyTrades-reduce.js +0 -36
- package/examples/js/bitrue-fetch-balance.js +0 -28
- package/examples/js/bitstamp-private-api.js +0 -115
- package/examples/js/bitstamp-public-api.js +0 -39
- package/examples/js/bittrex-balance.js +0 -50
- package/examples/js/bittrex-fetch-closed-orders-history.js +0 -69
- package/examples/js/blockchaincom-withdrawal.js +0 -59
- package/examples/js/build-ohlcv-bars.js +0 -48
- package/examples/js/builtin-rate-limiting-rest-poller.js +0 -25
- package/examples/js/bybit-trailing.js +0 -62
- package/examples/js/bybit-updated.cjs +0 -154
- package/examples/js/coinbase-fetch-all-balances.js +0 -36
- package/examples/js/coinex-fetch-all-deposit-addresses-using-fetchDepositAddress.js +0 -47
- package/examples/js/coinex-futures.js +0 -75
- package/examples/js/coinone-fetch-tickers.js +0 -54
- package/examples/js/coinone-markets.js +0 -16
- package/examples/js/compare-two-exchanges-capabilities.js +0 -36
- package/examples/js/cors-proxy.js +0 -5
- package/examples/js/create-order-handle-errors.js +0 -55
- package/examples/js/create-order-position-with-takeprofit-stoploss.js +0 -71
- package/examples/js/create-order-with-retry.js +0 -65
- package/examples/js/create-order-ws-example.js +0 -25
- package/examples/js/create-orders-example.js +0 -17
- package/examples/js/create-trailing-amount-order.js +0 -36
- package/examples/js/create-trailing-percent-order.js +0 -36
- package/examples/js/credentials.json +0 -5
- package/examples/js/custom-proxy-agent-for-js.js +0 -10
- package/examples/js/custom-proxy-url.js +0 -23
- package/examples/js/delta-maintenance-margin-rate-max-leverage.js +0 -60
- package/examples/js/env-variables.js +0 -26
- package/examples/js/error-handling.js +0 -89
- package/examples/js/exchange-capabilities.js +0 -135
- package/examples/js/exchanges-by-volume.js +0 -60
- package/examples/js/exchanges.js +0 -40
- package/examples/js/fetch-all-balances.js +0 -219
- package/examples/js/fetch-all-tickers-to-files-2.js +0 -53
- package/examples/js/fetch-all-tickers-to-files.js +0 -77
- package/examples/js/fetch-balance.js +0 -28
- package/examples/js/fetch-create-deposit-address.js +0 -101
- package/examples/js/fetch-from-many-exchanges-simultaneously.js +0 -21
- package/examples/js/fetch-funding-rate-history.js +0 -25
- package/examples/js/fetch-futures/prettier.config.js +0 -5
- package/examples/js/fetch-futures/src/index.js +0 -25
- package/examples/js/fetch-ohlcv-from-to-mark-index-premium.js +0 -72
- package/examples/js/fetch-ohlcv-many-exchanges-continuosly.js +0 -39
- package/examples/js/fetch-ohlcv.js +0 -16
- package/examples/js/fetch-okex-futures.js +0 -22
- package/examples/js/fetch-orders.js +0 -27
- package/examples/js/fetch-ticker-from-multiple-exchanges.js +0 -35
- package/examples/js/fetch-ticker-where-available.js +0 -75
- package/examples/js/fetch-tickers/build/index.js +0 -19
- package/examples/js/fetch-tickers/prettier.config.js +0 -5
- package/examples/js/fetch-tickers/src/index.js +0 -17
- package/examples/js/gateio-create-batch-order.js +0 -43
- package/examples/js/gateio-futures.js +0 -49
- package/examples/js/gateio-open-close-contract.js +0 -49
- package/examples/js/gateio-swaps.js +0 -74
- package/examples/js/gdax-fetch-trades-pagination.js +0 -29
- package/examples/js/hitbtc2-withdraw.js +0 -61
- package/examples/js/how-to-import-one-exchange-esm.js +0 -10
- package/examples/js/huobi-futures.js +0 -71
- package/examples/js/huobi-open-close-contract.js +0 -63
- package/examples/js/huobi-swaps.js +0 -70
- package/examples/js/huobipro-market-buy-sell-fetch-trading-limits.js +0 -98
- package/examples/js/hybridCJSExample.cjs +0 -19
- package/examples/js/hybridESMExample.js +0 -19
- package/examples/js/idex-fetch-balance.js +0 -13
- package/examples/js/instantiate-all-at-once.js +0 -46
- package/examples/js/instantiate-all-from-json.js +0 -31
- package/examples/js/kraken-create-and-close-position.js +0 -54
- package/examples/js/kraken-fetch-order-trades.js +0 -33
- package/examples/js/kraken-margin-trading.js +0 -89
- package/examples/js/kucoin-rate-limit.js +0 -38
- package/examples/js/latoken-example.js +0 -108
- package/examples/js/live-orderbook.js +0 -106
- package/examples/js/live-ticker.js +0 -80
- package/examples/js/live-tickers.js +0 -74
- package/examples/js/load-all-contracts.js +0 -41
- package/examples/js/load-all-symbols-at-once.js +0 -69
- package/examples/js/load-all-tickers-at-once.js +0 -91
- package/examples/js/load-markets-to-files.js +0 -57
- package/examples/js/looping-over-all-symbols-of-specific-exchanges.js +0 -61
- package/examples/js/looping-over-specific-symbols-of-all-exchanges.js +0 -91
- package/examples/js/margin-loan-borrow-buy-sell-repay.js +0 -70
- package/examples/js/market-status-and-currency-status.js +0 -29
- package/examples/js/ohlcv-console-chart.js +0 -29
- package/examples/js/okex-fetch-closed-orders-archive.js +0 -31
- package/examples/js/okex-transfer.js +0 -51
- package/examples/js/okx-poll-fetch-my-trades.js +0 -37
- package/examples/js/okx-poll-rate-limit.js +0 -48
- package/examples/js/order-book-extra-level-depth-param.js +0 -20
- package/examples/js/phemex-create-order-position-with-takeprofit-stoploss.js +0 -49
- package/examples/js/poll-ohlcv.js +0 -43
- package/examples/js/poloniex-fetch-order-books.js +0 -35
- package/examples/js/poloniex-limits-amount-min.js +0 -62
- package/examples/js/proxy-round-robin.js +0 -98
- package/examples/js/proxy-usage.js +0 -32
- package/examples/js/sample-local-proxy-server-with-cors.js +0 -12
- package/examples/js/search-all-exchanges.js +0 -159
- package/examples/js/shared-load-markets.js +0 -80
- package/examples/js/sort-swap-markets-by-hourly-price-change.js +0 -55
- package/examples/js/symbols.js +0 -110
- package/examples/js/theocean.js +0 -41
- package/examples/js/tickers.js +0 -106
- package/examples/js/validate-paginated-data.js +0 -61
- package/examples/js/watch-OHLCV-For-Symbols.js +0 -15
- package/examples/js/watch-OHLCV.js +0 -12
- package/examples/js/watch-OrderBook-For-Symbols.js +0 -11
- package/examples/js/watch-Trades-For-Symbols.js +0 -11
- package/examples/js/watch-tickers.js +0 -11
- package/examples/js/watchOHLCVForSymbols.js +0 -15
- package/examples/js/watchOrderBookForSymbols.js +0 -11
- package/examples/js/watchPositions-many-exchanges-continuosly.d.ts +0 -2
- package/examples/js/watchPositions-many-exchanges-continuosly.d.ts.map +0 -1
- package/examples/js/watchPositions-many-exchanges-continuosly.js +0 -49
- package/examples/js/watchPositions.d.ts +0 -2
- package/examples/js/watchPositions.d.ts.map +0 -1
- package/examples/js/watchPositions.js +0 -13
- package/examples/js/watchPositionsForSymbols.d.ts +0 -2
- package/examples/js/watchPositionsForSymbols.d.ts.map +0 -1
- package/examples/js/watchPositionsForSymbols.js +0 -14
- package/examples/js/watchTradesForSymbols.js +0 -11
- package/examples/js/withdraw-from-one-exchange-to-another.js +0 -50
- package/examples/php/README.md +0 -7
- package/examples/py/README.md +0 -15
- package/examples/py/playing_with_ccxt_example.ipynb +0 -222
- package/examples/ts/.eslintrc +0 -111
- package/examples/ts/benchmark.ts +0 -134
- package/examples/ts/build-ohlcv-bars.ts +0 -53
- package/examples/ts/cli.ts +0 -397
- package/examples/ts/compare-two-exchanges-capabilities.ts +0 -36
- package/examples/ts/create-order-position-with-takeprofit-stoploss.ts +0 -89
- package/examples/ts/create-order-ws-example.ts +0 -33
- package/examples/ts/create-orders-example.ts +0 -21
- package/examples/ts/create-trailing-amount-order.ts +0 -37
- package/examples/ts/create-trailing-percent-order.ts +0 -37
- package/examples/ts/custom-proxy-agent-for-js.ts +0 -14
- package/examples/ts/fetch-futures/package-lock.json +0 -116
- package/examples/ts/fetch-futures/package.json +0 -34
- package/examples/ts/fetch-futures/prettier.config.js +0 -4
- package/examples/ts/fetch-futures/src/index.ts +0 -28
- package/examples/ts/fetch-futures/tsconfig.json +0 -28
- package/examples/ts/fetch-ohlcv-many-exchanges-continuosly.ts +0 -44
- package/examples/ts/fetch-ohlcv.ts +0 -17
- package/examples/ts/fetch-tickers/package-lock.json +0 -116
- package/examples/ts/fetch-tickers/package.json +0 -34
- package/examples/ts/fetch-tickers/prettier.config.js +0 -4
- package/examples/ts/fetch-tickers/src/index.ts +0 -21
- package/examples/ts/fetch-tickers/tsconfig.json +0 -28
- package/examples/ts/how-to-import-one-exchange-esm.ts +0 -11
- package/examples/ts/kraken-create-and-close-position.ts +0 -69
- package/examples/ts/margin-loan-borrow-buy-sell-repay.ts +0 -72
- package/examples/ts/nextjs-page-router/.eslintrc.json +0 -3
- package/examples/ts/nextjs-page-router/README.md +0 -43
- package/examples/ts/nextjs-page-router/next.config.js +0 -6
- package/examples/ts/nextjs-page-router/package-lock.json +0 -7425
- package/examples/ts/nextjs-page-router/package.json +0 -28
- package/examples/ts/nextjs-page-router/postcss.config.js +0 -6
- package/examples/ts/nextjs-page-router/public/favicon.ico +0 -0
- package/examples/ts/nextjs-page-router/src/pages/_app.tsx +0 -6
- package/examples/ts/nextjs-page-router/src/pages/_document.tsx +0 -13
- package/examples/ts/nextjs-page-router/src/pages/balance.tsx +0 -46
- package/examples/ts/nextjs-page-router/src/pages/index.tsx +0 -8
- package/examples/ts/nextjs-page-router/src/pages/tickers.tsx +0 -61
- package/examples/ts/nextjs-page-router/src/styles/globals.css +0 -27
- package/examples/ts/nextjs-page-router/tailwind.config.ts +0 -20
- package/examples/ts/nextjs-page-router/tsconfig.json +0 -22
- package/examples/ts/phemex-create-order-position-with-takeprofit-stoploss.ts +0 -62
- package/examples/ts/proxy-usage.ts +0 -41
- package/examples/ts/sample-local-proxy-server-with-cors.ts +0 -15
- package/examples/ts/watch-OHLCV-For-Symbols.ts +0 -17
- package/examples/ts/watch-OHLCV.ts +0 -14
- package/examples/ts/watch-OrderBook-For-Symbols.ts +0 -13
- package/examples/ts/watch-Trades-For-Symbols.ts +0 -13
- package/examples/ts/watch-tickers.ts +0 -13
- package/examples/ts/watchPositions-many-exchanges-continuosly.ts +0 -53
- package/examples/ts/watchPositions.ts +0 -15
- package/examples/ts/watchPositionsForSymbols.ts +0 -16
- package/examples/tsconfig.json +0 -27
- package/examples2md.js +0 -79
- package/gource.sh +0 -3
- package/index.html +0 -7
- package/jsdoc2md.js +0 -122
- package/multilang.sh +0 -164
- package/pro-tests.json +0 -57
- package/pyproject.toml +0 -8
- package/rollup.config.js +0 -60
- package/skip-tests.json +0 -1653
- package/test-commonjs.cjs +0 -65
- package/tests-manager.sh +0 -96
- package/tsconfig.json +0 -111
- 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
|
package/composer-install.sh
DELETED
|
@@ -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
|
-
|