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.
- package/README.md +6 -5
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/base/Exchange.js +3 -0
- package/dist/cjs/src/binance.js +56 -0
- package/dist/cjs/src/bingx.js +2 -2
- package/dist/cjs/src/bitget.js +69 -5
- package/dist/cjs/src/bybit.js +1 -1
- package/dist/cjs/src/coinbase.js +2 -1
- package/dist/cjs/src/coinbasepro.js +1 -1
- package/dist/cjs/src/coinex.js +164 -206
- package/dist/cjs/src/cryptocom.js +5 -5
- package/dist/cjs/src/hyperliquid.js +74 -0
- package/dist/cjs/src/kraken.js +8 -3
- package/dist/cjs/src/kucoin.js +13 -11
- 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/base/Exchange.d.ts +2 -1
- package/js/src/base/Exchange.js +3 -0
- package/js/src/base/types.d.ts +5 -0
- 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 +69 -5
- package/js/src/bybit.js +1 -1
- package/js/src/coinbase.js +2 -1
- package/js/src/coinbasepro.d.ts +1 -1
- package/js/src/coinbasepro.js +1 -1
- package/js/src/coinex.js +164 -206
- package/js/src/cryptocom.js +5 -5
- package/js/src/hyperliquid.d.ts +2 -1
- package/js/src/hyperliquid.js +75 -1
- package/js/src/kraken.js +8 -3
- package/js/src/kucoin.js +13 -11
- 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/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
- 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
|
-
|