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/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
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
|
-
];
|