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
|
@@ -37,6 +37,7 @@ class hyperliquid extends hyperliquid$1 {
|
|
|
37
37
|
'cancelAllOrders': false,
|
|
38
38
|
'cancelOrder': true,
|
|
39
39
|
'cancelOrders': true,
|
|
40
|
+
'cancelOrdersForSymbols': true,
|
|
40
41
|
'closeAllPositions': false,
|
|
41
42
|
'closePosition': false,
|
|
42
43
|
'createMarketBuyOrderWithCost': false,
|
|
@@ -1219,6 +1220,79 @@ class hyperliquid extends hyperliquid$1 {
|
|
|
1219
1220
|
//
|
|
1220
1221
|
return response;
|
|
1221
1222
|
}
|
|
1223
|
+
async cancelOrdersForSymbols(orders, params = {}) {
|
|
1224
|
+
/**
|
|
1225
|
+
* @method
|
|
1226
|
+
* @name hyperliquid#cancelOrdersForSymbols
|
|
1227
|
+
* @description cancel multiple orders for multiple symbols
|
|
1228
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#cancel-order-s
|
|
1229
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#cancel-order-s-by-cloid
|
|
1230
|
+
* @param {CancellationRequest[]} orders each order should contain the parameters required by cancelOrder namely id and symbol
|
|
1231
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1232
|
+
* @param {string} [params.vaultAddress] the vault address
|
|
1233
|
+
* @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
1234
|
+
*/
|
|
1235
|
+
this.checkRequiredCredentials();
|
|
1236
|
+
await this.loadMarkets();
|
|
1237
|
+
const nonce = this.milliseconds();
|
|
1238
|
+
const request = {
|
|
1239
|
+
'nonce': nonce,
|
|
1240
|
+
// 'vaultAddress': vaultAddress,
|
|
1241
|
+
};
|
|
1242
|
+
const cancelReq = [];
|
|
1243
|
+
const cancelAction = {
|
|
1244
|
+
'type': '',
|
|
1245
|
+
'cancels': [],
|
|
1246
|
+
};
|
|
1247
|
+
let cancelByCloid = false;
|
|
1248
|
+
for (let i = 0; i < orders.length; i++) {
|
|
1249
|
+
const order = orders[i];
|
|
1250
|
+
const clientOrderId = this.safeString(order, 'clientOrderId');
|
|
1251
|
+
if (clientOrderId !== undefined) {
|
|
1252
|
+
cancelByCloid = true;
|
|
1253
|
+
}
|
|
1254
|
+
const id = this.safeString(order, 'id');
|
|
1255
|
+
const symbol = this.safeString(order, 'symbol');
|
|
1256
|
+
if (symbol === undefined) {
|
|
1257
|
+
throw new errors.ArgumentsRequired(this.id + ' cancelOrdersForSymbols() requires a symbol argument in each order');
|
|
1258
|
+
}
|
|
1259
|
+
if (id !== undefined && cancelByCloid) {
|
|
1260
|
+
throw new errors.BadRequest(this.id + ' cancelOrdersForSymbols() all orders must have either id or clientOrderId');
|
|
1261
|
+
}
|
|
1262
|
+
const assetKey = cancelByCloid ? 'asset' : 'a';
|
|
1263
|
+
const idKey = cancelByCloid ? 'cloid' : 'o';
|
|
1264
|
+
const market = this.market(symbol);
|
|
1265
|
+
const cancelObj = {};
|
|
1266
|
+
cancelObj[assetKey] = this.parseToNumeric(market['baseId']);
|
|
1267
|
+
cancelObj[idKey] = cancelByCloid ? clientOrderId : this.parseToNumeric(id);
|
|
1268
|
+
cancelReq.push(cancelObj);
|
|
1269
|
+
}
|
|
1270
|
+
cancelAction['type'] = cancelByCloid ? 'cancelByCloid' : 'cancel';
|
|
1271
|
+
cancelAction['cancels'] = cancelReq;
|
|
1272
|
+
const vaultAddress = this.formatVaultAddress(this.safeString(params, 'vaultAddress'));
|
|
1273
|
+
const signature = this.signL1Action(cancelAction, nonce, vaultAddress);
|
|
1274
|
+
request['action'] = cancelAction;
|
|
1275
|
+
request['signature'] = signature;
|
|
1276
|
+
if (vaultAddress !== undefined) {
|
|
1277
|
+
params = this.omit(params, 'vaultAddress');
|
|
1278
|
+
request['vaultAddress'] = vaultAddress;
|
|
1279
|
+
}
|
|
1280
|
+
const response = await this.privatePostExchange(this.extend(request, params));
|
|
1281
|
+
//
|
|
1282
|
+
// {
|
|
1283
|
+
// "status":"ok",
|
|
1284
|
+
// "response":{
|
|
1285
|
+
// "type":"cancel",
|
|
1286
|
+
// "data":{
|
|
1287
|
+
// "statuses":[
|
|
1288
|
+
// "success"
|
|
1289
|
+
// ]
|
|
1290
|
+
// }
|
|
1291
|
+
// }
|
|
1292
|
+
// }
|
|
1293
|
+
//
|
|
1294
|
+
return response;
|
|
1295
|
+
}
|
|
1222
1296
|
async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
|
|
1223
1297
|
/**
|
|
1224
1298
|
* @method
|
package/dist/cjs/src/kraken.js
CHANGED
|
@@ -1377,7 +1377,7 @@ class kraken extends kraken$1 {
|
|
|
1377
1377
|
'ordertype': type,
|
|
1378
1378
|
'volume': this.amountToPrecision(symbol, amount),
|
|
1379
1379
|
};
|
|
1380
|
-
const orderRequest = this.orderRequest('createOrder
|
|
1380
|
+
const orderRequest = this.orderRequest('createOrder', symbol, type, request, price, params);
|
|
1381
1381
|
const response = await this.privatePostAddOrder(this.extend(orderRequest[0], orderRequest[1]));
|
|
1382
1382
|
//
|
|
1383
1383
|
// {
|
|
@@ -1742,7 +1742,12 @@ class kraken extends kraken$1 {
|
|
|
1742
1742
|
}
|
|
1743
1743
|
}
|
|
1744
1744
|
if (reduceOnly) {
|
|
1745
|
-
|
|
1745
|
+
if (method === 'createOrderWs') {
|
|
1746
|
+
request['reduce_only'] = true; // ws request can't have stringified bool
|
|
1747
|
+
}
|
|
1748
|
+
else {
|
|
1749
|
+
request['reduce_only'] = 'true'; // not using boolean in this case, because the urlencodedNested transforms it into 'True' string
|
|
1750
|
+
}
|
|
1746
1751
|
}
|
|
1747
1752
|
let close = this.safeValue(params, 'close');
|
|
1748
1753
|
if (close !== undefined) {
|
|
@@ -1803,7 +1808,7 @@ class kraken extends kraken$1 {
|
|
|
1803
1808
|
if (amount !== undefined) {
|
|
1804
1809
|
request['volume'] = this.amountToPrecision(symbol, amount);
|
|
1805
1810
|
}
|
|
1806
|
-
const orderRequest = this.orderRequest('editOrder
|
|
1811
|
+
const orderRequest = this.orderRequest('editOrder', symbol, type, request, price, params);
|
|
1807
1812
|
const response = await this.privatePostEditOrder(this.extend(orderRequest[0], orderRequest[1]));
|
|
1808
1813
|
//
|
|
1809
1814
|
// {
|
package/dist/cjs/src/kucoin.js
CHANGED
|
@@ -587,6 +587,8 @@ class kucoin extends kucoin$1 {
|
|
|
587
587
|
'BIFI': 'BIFIF',
|
|
588
588
|
'VAI': 'VAIOT',
|
|
589
589
|
'WAX': 'WAXP',
|
|
590
|
+
'ALT': 'APTOSLAUNCHTOKEN',
|
|
591
|
+
'KALT': 'ALT', // ALTLAYER
|
|
590
592
|
},
|
|
591
593
|
'options': {
|
|
592
594
|
'version': 'v1',
|
|
@@ -1807,7 +1809,7 @@ class kucoin extends kucoin$1 {
|
|
|
1807
1809
|
}
|
|
1808
1810
|
let code = undefined;
|
|
1809
1811
|
if (currency !== undefined) {
|
|
1810
|
-
code = currency['id'];
|
|
1812
|
+
code = this.safeCurrencyCode(currency['id']);
|
|
1811
1813
|
if (code !== 'NIM') {
|
|
1812
1814
|
// contains spaces
|
|
1813
1815
|
this.checkAddress(address);
|
|
@@ -1857,7 +1859,7 @@ class kucoin extends kucoin$1 {
|
|
|
1857
1859
|
this.options['versions']['private']['GET']['deposit-addresses'] = version;
|
|
1858
1860
|
const chains = this.safeList(response, 'data', []);
|
|
1859
1861
|
const parsed = this.parseDepositAddresses(chains, [currency['code']], false, {
|
|
1860
|
-
'currency': currency['
|
|
1862
|
+
'currency': currency['code'],
|
|
1861
1863
|
});
|
|
1862
1864
|
return this.indexBy(parsed, 'network');
|
|
1863
1865
|
}
|
|
@@ -2971,7 +2973,7 @@ class kucoin extends kucoin$1 {
|
|
|
2971
2973
|
* @method
|
|
2972
2974
|
* @name kucoin#fetchTrades
|
|
2973
2975
|
* @description get the list of most recent trades for a particular symbol
|
|
2974
|
-
* @see https://
|
|
2976
|
+
* @see https://www.kucoin.com/docs/rest/spot-trading/market-data/get-trade-histories
|
|
2975
2977
|
* @param {string} symbol unified symbol of the market to fetch trades for
|
|
2976
2978
|
* @param {int} [since] timestamp in ms of the earliest trade to fetch
|
|
2977
2979
|
* @param {int} [limit] the maximum amount of trades to fetch
|
|
@@ -3144,7 +3146,7 @@ class kucoin extends kucoin$1 {
|
|
|
3144
3146
|
* @method
|
|
3145
3147
|
* @name kucoin#fetchTradingFee
|
|
3146
3148
|
* @description fetch the trading fees for a market
|
|
3147
|
-
* @see https://
|
|
3149
|
+
* @see https://www.kucoin.com/docs/rest/funding/trade-fee/trading-pair-actual-fee-spot-margin-trade_hf
|
|
3148
3150
|
* @param {string} symbol unified market symbol
|
|
3149
3151
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
3150
3152
|
* @returns {object} a [fee structure]{@link https://docs.ccxt.com/#/?id=fee-structure}
|
|
@@ -3184,7 +3186,7 @@ class kucoin extends kucoin$1 {
|
|
|
3184
3186
|
* @method
|
|
3185
3187
|
* @name kucoin#withdraw
|
|
3186
3188
|
* @description make a withdrawal
|
|
3187
|
-
* @see https://
|
|
3189
|
+
* @see https://www.kucoin.com/docs/rest/funding/withdrawals/apply-withdraw
|
|
3188
3190
|
* @param {string} code unified currency code
|
|
3189
3191
|
* @param {float} amount the amount to withdraw
|
|
3190
3192
|
* @param {string} address the address to withdraw to
|
|
@@ -3359,8 +3361,8 @@ class kucoin extends kucoin$1 {
|
|
|
3359
3361
|
* @method
|
|
3360
3362
|
* @name kucoin#fetchDeposits
|
|
3361
3363
|
* @description fetch all deposits made to an account
|
|
3362
|
-
* @see https://
|
|
3363
|
-
* @see https://
|
|
3364
|
+
* @see https://www.kucoin.com/docs/rest/funding/deposit/get-deposit-list
|
|
3365
|
+
* @see https://www.kucoin.com/docs/rest/funding/deposit/get-v1-historical-deposits-list
|
|
3364
3366
|
* @param {string} code unified currency code
|
|
3365
3367
|
* @param {int} [since] the earliest time in ms to fetch deposits for
|
|
3366
3368
|
* @param {int} [limit] the maximum number of deposits structures to retrieve
|
|
@@ -3443,8 +3445,8 @@ class kucoin extends kucoin$1 {
|
|
|
3443
3445
|
* @method
|
|
3444
3446
|
* @name kucoin#fetchWithdrawals
|
|
3445
3447
|
* @description fetch all withdrawals made from an account
|
|
3446
|
-
* @see https://
|
|
3447
|
-
* @see https://
|
|
3448
|
+
* @see https://www.kucoin.com/docs/rest/funding/withdrawals/get-withdrawals-list
|
|
3449
|
+
* @see https://www.kucoin.com/docs/rest/funding/withdrawals/get-v1-historical-withdrawals-list
|
|
3448
3450
|
* @param {string} code unified currency code
|
|
3449
3451
|
* @param {int} [since] the earliest time in ms to fetch withdrawals for
|
|
3450
3452
|
* @param {int} [limit] the maximum number of withdrawals structures to retrieve
|
|
@@ -3718,7 +3720,7 @@ class kucoin extends kucoin$1 {
|
|
|
3718
3720
|
* @method
|
|
3719
3721
|
* @name kucoin#transfer
|
|
3720
3722
|
* @description transfer currency internally between wallets on the same account
|
|
3721
|
-
* @see https://
|
|
3723
|
+
* @see https://www.kucoin.com/docs/rest/funding/transfer/inner-transfer
|
|
3722
3724
|
* @see https://docs.kucoin.com/futures/#transfer-funds-to-kucoin-main-account-2
|
|
3723
3725
|
* @see https://docs.kucoin.com/spot-hf/#internal-funds-transfers-in-high-frequency-trading-accounts
|
|
3724
3726
|
* @param {string} code unified currency code
|
|
@@ -4001,7 +4003,7 @@ class kucoin extends kucoin$1 {
|
|
|
4001
4003
|
/**
|
|
4002
4004
|
* @method
|
|
4003
4005
|
* @name kucoin#fetchLedger
|
|
4004
|
-
* @see https://
|
|
4006
|
+
* @see https://www.kucoin.com/docs/rest/account/basic-info/get-account-ledgers-spot-margin
|
|
4005
4007
|
* @see https://www.kucoin.com/docs/rest/account/basic-info/get-account-ledgers-trade_hf
|
|
4006
4008
|
* @see https://www.kucoin.com/docs/rest/account/basic-info/get-account-ledgers-margin_hf
|
|
4007
4009
|
* @description fetch the history of changes, actions done by the user or operations that altered balance of the user
|
package/dist/cjs/src/okx.js
CHANGED
|
@@ -35,6 +35,7 @@ class okx extends okx$1 {
|
|
|
35
35
|
'cancelOrders': true,
|
|
36
36
|
'closeAllPositions': false,
|
|
37
37
|
'closePosition': true,
|
|
38
|
+
'createConvertTrade': true,
|
|
38
39
|
'createDepositAddress': false,
|
|
39
40
|
'createMarketBuyOrderWithCost': true,
|
|
40
41
|
'createMarketSellOrderWithCost': true,
|
|
@@ -7658,6 +7659,59 @@ class okx extends okx$1 {
|
|
|
7658
7659
|
const toCurrency = this.currency(toCurrencyId);
|
|
7659
7660
|
return this.parseConversion(result, fromCurrency, toCurrency);
|
|
7660
7661
|
}
|
|
7662
|
+
async createConvertTrade(id, fromCode, toCode, amount = undefined, params = {}) {
|
|
7663
|
+
/**
|
|
7664
|
+
* @method
|
|
7665
|
+
* @name okx#createConvertTrade
|
|
7666
|
+
* @description convert from one currency to another
|
|
7667
|
+
* @see https://www.okx.com/docs-v5/en/#funding-account-rest-api-convert-trade
|
|
7668
|
+
* @param {string} id the id of the trade that you want to make
|
|
7669
|
+
* @param {string} fromCode the currency that you want to sell and convert from
|
|
7670
|
+
* @param {string} toCode the currency that you want to buy and convert into
|
|
7671
|
+
* @param {float} [amount] how much you want to trade in units of the from currency
|
|
7672
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
7673
|
+
* @returns {object} a [conversion structure]{@link https://docs.ccxt.com/#/?id=conversion-structure}
|
|
7674
|
+
*/
|
|
7675
|
+
await this.loadMarkets();
|
|
7676
|
+
const request = {
|
|
7677
|
+
'quoteId': id,
|
|
7678
|
+
'baseCcy': fromCode,
|
|
7679
|
+
'quoteCcy': toCode,
|
|
7680
|
+
'szCcy': fromCode,
|
|
7681
|
+
'sz': this.numberToString(amount),
|
|
7682
|
+
'side': 'sell',
|
|
7683
|
+
};
|
|
7684
|
+
const response = await this.privatePostAssetConvertTrade(this.extend(request, params));
|
|
7685
|
+
//
|
|
7686
|
+
// {
|
|
7687
|
+
// "code": "0",
|
|
7688
|
+
// "data": [
|
|
7689
|
+
// {
|
|
7690
|
+
// "baseCcy": "ETH",
|
|
7691
|
+
// "clTReqId": "",
|
|
7692
|
+
// "fillBaseSz": "0.01023052",
|
|
7693
|
+
// "fillPx": "2932.40104429",
|
|
7694
|
+
// "fillQuoteSz": "30",
|
|
7695
|
+
// "instId": "ETH-USDT",
|
|
7696
|
+
// "quoteCcy": "USDT",
|
|
7697
|
+
// "quoteId": "quoterETH-USDT16461885104612381",
|
|
7698
|
+
// "side": "buy",
|
|
7699
|
+
// "state": "fullyFilled",
|
|
7700
|
+
// "tradeId": "trader16461885203381437",
|
|
7701
|
+
// "ts": "1646188520338"
|
|
7702
|
+
// }
|
|
7703
|
+
// ],
|
|
7704
|
+
// "msg": ""
|
|
7705
|
+
// }
|
|
7706
|
+
//
|
|
7707
|
+
const data = this.safeList(response, 'data', []);
|
|
7708
|
+
const result = this.safeDict(data, 0, {});
|
|
7709
|
+
const fromCurrencyId = this.safeString(result, 'baseCcy', fromCode);
|
|
7710
|
+
const fromCurrency = this.currency(fromCurrencyId);
|
|
7711
|
+
const toCurrencyId = this.safeString(result, 'quoteCcy', toCode);
|
|
7712
|
+
const toCurrency = this.currency(toCurrencyId);
|
|
7713
|
+
return this.parseConversion(result, fromCurrency, toCurrency);
|
|
7714
|
+
}
|
|
7661
7715
|
parseConversion(conversion, fromCurrency = undefined, toCurrency = undefined) {
|
|
7662
7716
|
//
|
|
7663
7717
|
// fetchConvertQuote
|
|
@@ -7678,7 +7732,24 @@ class okx extends okx$1 {
|
|
|
7678
7732
|
// "ttlMs": "10000"
|
|
7679
7733
|
// }
|
|
7680
7734
|
//
|
|
7681
|
-
|
|
7735
|
+
// createConvertTrade
|
|
7736
|
+
//
|
|
7737
|
+
// {
|
|
7738
|
+
// "baseCcy": "ETH",
|
|
7739
|
+
// "clTReqId": "",
|
|
7740
|
+
// "fillBaseSz": "0.01023052",
|
|
7741
|
+
// "fillPx": "2932.40104429",
|
|
7742
|
+
// "fillQuoteSz": "30",
|
|
7743
|
+
// "instId": "ETH-USDT",
|
|
7744
|
+
// "quoteCcy": "USDT",
|
|
7745
|
+
// "quoteId": "quoterETH-USDT16461885104612381",
|
|
7746
|
+
// "side": "buy",
|
|
7747
|
+
// "state": "fullyFilled",
|
|
7748
|
+
// "tradeId": "trader16461885203381437",
|
|
7749
|
+
// "ts": "1646188520338"
|
|
7750
|
+
// }
|
|
7751
|
+
//
|
|
7752
|
+
const timestamp = this.safeInteger2(conversion, 'quoteTime', 'ts');
|
|
7682
7753
|
const fromCoin = this.safeString(conversion, 'baseCcy');
|
|
7683
7754
|
const fromCode = this.safeCurrencyCode(fromCoin, fromCurrency);
|
|
7684
7755
|
const to = this.safeString(conversion, 'quoteCcy');
|
|
@@ -7687,12 +7758,12 @@ class okx extends okx$1 {
|
|
|
7687
7758
|
'info': conversion,
|
|
7688
7759
|
'timestamp': timestamp,
|
|
7689
7760
|
'datetime': this.iso8601(timestamp),
|
|
7690
|
-
'id': this.
|
|
7761
|
+
'id': this.safeStringN(conversion, ['clQReqId', 'tradeId', 'quoteId']),
|
|
7691
7762
|
'fromCurrency': fromCode,
|
|
7692
|
-
'fromAmount': this.
|
|
7763
|
+
'fromAmount': this.safeNumber2(conversion, 'baseSz', 'fillBaseSz'),
|
|
7693
7764
|
'toCurrency': toCode,
|
|
7694
|
-
'toAmount': this.
|
|
7695
|
-
'price': this.
|
|
7765
|
+
'toAmount': this.safeNumber2(conversion, 'quoteSz', 'fillQuoteSz'),
|
|
7766
|
+
'price': this.safeNumber2(conversion, 'cnvtPx', 'fillPx'),
|
|
7696
7767
|
'fee': undefined,
|
|
7697
7768
|
};
|
|
7698
7769
|
}
|
|
@@ -134,7 +134,7 @@ class kraken extends kraken$1 {
|
|
|
134
134
|
'pair': market['wsId'],
|
|
135
135
|
'volume': this.amountToPrecision(symbol, amount),
|
|
136
136
|
};
|
|
137
|
-
[request, params] = this.orderRequest('createOrderWs
|
|
137
|
+
[request, params] = this.orderRequest('createOrderWs', symbol, type, request, price, params);
|
|
138
138
|
return await this.watch(url, messageHash, this.extend(request, params), messageHash);
|
|
139
139
|
}
|
|
140
140
|
handleCreateEditOrder(client, message) {
|
|
@@ -190,7 +190,7 @@ class kraken extends kraken$1 {
|
|
|
190
190
|
'pair': market['wsId'],
|
|
191
191
|
'volume': this.amountToPrecision(symbol, amount),
|
|
192
192
|
};
|
|
193
|
-
[request, params] = this.orderRequest('editOrderWs
|
|
193
|
+
[request, params] = this.orderRequest('editOrderWs', symbol, type, request, price, params);
|
|
194
194
|
return await this.watch(url, messageHash, this.extend(request, params), messageHash);
|
|
195
195
|
}
|
|
196
196
|
async cancelOrdersWs(ids, symbol = undefined, params = {}) {
|
package/dist/cjs/src/woo.js
CHANGED
|
@@ -36,6 +36,7 @@ class woo extends woo$1 {
|
|
|
36
36
|
'cancelWithdraw': false,
|
|
37
37
|
'closeAllPositions': false,
|
|
38
38
|
'closePosition': false,
|
|
39
|
+
'createConvertTrade': true,
|
|
39
40
|
'createDepositAddress': false,
|
|
40
41
|
'createMarketBuyOrderWithCost': true,
|
|
41
42
|
'createMarketOrder': false,
|
|
@@ -3029,6 +3030,37 @@ class woo extends woo$1 {
|
|
|
3029
3030
|
const toCurrency = this.currency(toCurrencyId);
|
|
3030
3031
|
return this.parseConversion(data, fromCurrency, toCurrency);
|
|
3031
3032
|
}
|
|
3033
|
+
async createConvertTrade(id, fromCode, toCode, amount = undefined, params = {}) {
|
|
3034
|
+
/**
|
|
3035
|
+
* @method
|
|
3036
|
+
* @name woo#createConvertTrade
|
|
3037
|
+
* @description convert from one currency to another
|
|
3038
|
+
* @see https://docs.woo.org/#send-quote-rft
|
|
3039
|
+
* @param {string} id the id of the trade that you want to make
|
|
3040
|
+
* @param {string} fromCode the currency that you want to sell and convert from
|
|
3041
|
+
* @param {string} toCode the currency that you want to buy and convert into
|
|
3042
|
+
* @param {float} [amount] how much you want to trade in units of the from currency
|
|
3043
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
3044
|
+
* @returns {object} a [conversion structure]{@link https://docs.ccxt.com/#/?id=conversion-structure}
|
|
3045
|
+
*/
|
|
3046
|
+
await this.loadMarkets();
|
|
3047
|
+
const request = {
|
|
3048
|
+
'quoteId': id,
|
|
3049
|
+
};
|
|
3050
|
+
const response = await this.v3PrivatePostConvertRft(this.extend(request, params));
|
|
3051
|
+
//
|
|
3052
|
+
// {
|
|
3053
|
+
// "success": true,
|
|
3054
|
+
// "data": {
|
|
3055
|
+
// "quoteId": 123123123,
|
|
3056
|
+
// "counterPartyId": "",
|
|
3057
|
+
// "rftAccepted": 1 // 1 -> success; 2 -> processing; 3 -> fail
|
|
3058
|
+
// }
|
|
3059
|
+
// }
|
|
3060
|
+
//
|
|
3061
|
+
const data = this.safeDict(response, 'data', {});
|
|
3062
|
+
return this.parseConversion(data);
|
|
3063
|
+
}
|
|
3032
3064
|
parseConversion(conversion, fromCurrency = undefined, toCurrency = undefined) {
|
|
3033
3065
|
//
|
|
3034
3066
|
// fetchConvertQuote
|
|
@@ -3045,6 +3077,14 @@ class woo extends woo$1 {
|
|
|
3045
3077
|
// "message": 1659084466000
|
|
3046
3078
|
// }
|
|
3047
3079
|
//
|
|
3080
|
+
// createConvertTrade
|
|
3081
|
+
//
|
|
3082
|
+
// {
|
|
3083
|
+
// "quoteId": 123123123,
|
|
3084
|
+
// "counterPartyId": "",
|
|
3085
|
+
// "rftAccepted": 1 // 1 -> success; 2 -> processing; 3 -> fail
|
|
3086
|
+
// }
|
|
3087
|
+
//
|
|
3048
3088
|
const timestamp = this.safeInteger(conversion, 'expireTimestamp');
|
|
3049
3089
|
const fromCoin = this.safeString(conversion, 'sellToken');
|
|
3050
3090
|
const fromCode = this.safeCurrencyCode(fromCoin, fromCurrency);
|
package/js/ccxt.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
|
|
|
4
4
|
import * as errors from './src/base/errors.js';
|
|
5
5
|
import type { Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation, FundingHistory, MarginMode, Greeks, Leverage, Leverages, Option, OptionChain, Conversion } from './src/base/types.js';
|
|
6
6
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, ProxyError, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout } from './src/base/errors.js';
|
|
7
|
-
declare const version = "4.
|
|
7
|
+
declare const version = "4.3.1";
|
|
8
8
|
import ace from './src/ace.js';
|
|
9
9
|
import alpaca from './src/alpaca.js';
|
|
10
10
|
import ascendex from './src/ascendex.js';
|
package/js/ccxt.js
CHANGED
|
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
|
|
|
38
38
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, ProxyError, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout } from './src/base/errors.js';
|
|
39
39
|
//-----------------------------------------------------------------------------
|
|
40
40
|
// this is updated by vss.js when building
|
|
41
|
-
const version = '4.2
|
|
41
|
+
const version = '4.3.2';
|
|
42
42
|
Exchange.ccxtVersion = version;
|
|
43
43
|
//-----------------------------------------------------------------------------
|
|
44
44
|
import ace from './src/ace.js';
|
|
@@ -3,7 +3,7 @@ import { // eslint-disable-line object-curly-newline
|
|
|
3
3
|
ExchangeError, AuthenticationError, DDoSProtection, RequestTimeout, ExchangeNotAvailable, RateLimitExceeded } from "./errors.js";
|
|
4
4
|
import WsClient from './ws/WsClient.js';
|
|
5
5
|
import { OrderBook as WsOrderBook, IndexedOrderBook, CountedOrderBook } from './ws/OrderBook.js';
|
|
6
|
-
import type { Market, Trade, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, Transaction, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, FundingRate, DepositWithdrawFeeNetwork, LedgerEntry, BorrowInterest, OpenInterest, LeverageTier, TransferEntry, FundingRateHistory, Liquidation, FundingHistory, OrderRequest, MarginMode, Tickers, Greeks, Option, OptionChain, Str, Num, MarketInterface, CurrencyInterface, BalanceAccount, MarginModes, MarketType, Leverage, Leverages, LastPrice, LastPrices, Account, Strings, MarginModification, TradingFeeInterface, Currencies, TradingFees, Conversion } from './types.js';
|
|
6
|
+
import type { Market, Trade, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, Transaction, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, FundingRate, DepositWithdrawFeeNetwork, LedgerEntry, BorrowInterest, OpenInterest, LeverageTier, TransferEntry, FundingRateHistory, Liquidation, FundingHistory, OrderRequest, MarginMode, Tickers, Greeks, Option, OptionChain, Str, Num, MarketInterface, CurrencyInterface, BalanceAccount, MarginModes, MarketType, Leverage, Leverages, LastPrice, LastPrices, Account, Strings, MarginModification, TradingFeeInterface, Currencies, TradingFees, Conversion, CancellationRequest } from './types.js';
|
|
7
7
|
export type { Market, Trade, Fee, Ticker, OHLCV, OHLCVC, Order, OrderBook, Balance, Balances, Dictionary, Transaction, DepositAddressResponse, Currency, MinMax, IndexType, Int, OrderType, OrderSide, Position, LedgerEntry, BorrowInterest, OpenInterest, LeverageTier, TransferEntry, BorrowRate, FundingRateHistory, Liquidation, FundingHistory, OrderRequest, MarginMode, Tickers, Greeks, Option, OptionChain, Str, Num, MarketInterface, CurrencyInterface, BalanceAccount, MarginModes, MarketType, Leverage, Leverages, LastPrice, LastPrices, Account, Strings, Conversion } from './types.js';
|
|
8
8
|
import { ArrayCache, ArrayCacheByTimestamp } from './ws/Cache.js';
|
|
9
9
|
import { OrderBook as Ob } from './ws/OrderBook.js';
|
|
@@ -894,6 +894,7 @@ export default class Exchange {
|
|
|
894
894
|
cancelOrderWs(id: string, symbol?: Str, params?: {}): Promise<{}>;
|
|
895
895
|
cancelOrdersWs(ids: string[], symbol?: Str, params?: {}): Promise<{}>;
|
|
896
896
|
cancelAllOrders(symbol?: Str, params?: {}): Promise<{}>;
|
|
897
|
+
cancelOrdersForSymbols(orders: CancellationRequest[], params?: {}): Promise<{}>;
|
|
897
898
|
cancelAllOrdersWs(symbol?: Str, params?: {}): Promise<{}>;
|
|
898
899
|
cancelUnifiedOrder(order: any, params?: {}): Promise<{}>;
|
|
899
900
|
fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
package/js/src/base/Exchange.js
CHANGED
|
@@ -4464,6 +4464,9 @@ export default class Exchange {
|
|
|
4464
4464
|
async cancelAllOrders(symbol = undefined, params = {}) {
|
|
4465
4465
|
throw new NotSupported(this.id + ' cancelAllOrders() is not supported yet');
|
|
4466
4466
|
}
|
|
4467
|
+
async cancelOrdersForSymbols(orders, params = {}) {
|
|
4468
|
+
throw new NotSupported(this.id + ' cancelOrdersForSymbols() is not supported yet');
|
|
4469
|
+
}
|
|
4467
4470
|
async cancelAllOrdersWs(symbol = undefined, params = {}) {
|
|
4468
4471
|
throw new NotSupported(this.id + ' cancelAllOrdersWs() is not supported yet');
|
|
4469
4472
|
}
|
package/js/src/base/types.d.ts
CHANGED
|
@@ -393,6 +393,11 @@ export interface OrderRequest {
|
|
|
393
393
|
price?: number | undefined;
|
|
394
394
|
params?: any;
|
|
395
395
|
}
|
|
396
|
+
export interface CancellationRequest {
|
|
397
|
+
id: string;
|
|
398
|
+
clientOrderId?: string;
|
|
399
|
+
symbol: string;
|
|
400
|
+
}
|
|
396
401
|
export interface FundingHistory {
|
|
397
402
|
info: any;
|
|
398
403
|
symbol: string;
|
package/js/src/binance.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/binance.js';
|
|
2
|
-
import type { TransferEntry, Int, OrderSide, Balances, OrderType, Trade, OHLCV, Order, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, Str, Transaction, Ticker, OrderBook, Tickers, Market, Greeks, Strings, Currency, MarketInterface, MarginMode, MarginModes, Leverage, Leverages, Num, Option, MarginModification, TradingFeeInterface, Currencies, TradingFees } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, Int, OrderSide, Balances, OrderType, Trade, OHLCV, Order, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, Str, Transaction, Ticker, OrderBook, Tickers, Market, Greeks, Strings, Currency, MarketInterface, MarginMode, MarginModes, Leverage, Leverages, Num, Option, MarginModification, TradingFeeInterface, Currencies, TradingFees, Conversion } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class binance
|
|
5
5
|
* @augments Exchange
|
|
@@ -440,4 +440,6 @@ export default class binance extends Exchange {
|
|
|
440
440
|
};
|
|
441
441
|
fetchMarginAdjustmentHistory(symbol?: Str, type?: Str, since?: Num, limit?: Num, params?: {}): Promise<MarginModification[]>;
|
|
442
442
|
fetchConvertCurrencies(params?: {}): Promise<Currencies>;
|
|
443
|
+
createConvertTrade(id: string, fromCode: string, toCode: string, amount?: Num, params?: {}): Promise<Conversion>;
|
|
444
|
+
parseConversion(conversion: any, fromCurrency?: Currency, toCurrency?: Currency): Conversion;
|
|
443
445
|
}
|
package/js/src/binance.js
CHANGED
|
@@ -43,6 +43,7 @@ export default class binance extends Exchange {
|
|
|
43
43
|
'cancelOrders': true,
|
|
44
44
|
'closeAllPositions': false,
|
|
45
45
|
'closePosition': false,
|
|
46
|
+
'createConvertTrade': true,
|
|
46
47
|
'createDepositAddress': false,
|
|
47
48
|
'createLimitBuyOrder': true,
|
|
48
49
|
'createLimitSellOrder': true,
|
|
@@ -12649,4 +12650,59 @@ export default class binance extends Exchange {
|
|
|
12649
12650
|
}
|
|
12650
12651
|
return result;
|
|
12651
12652
|
}
|
|
12653
|
+
async createConvertTrade(id, fromCode, toCode, amount = undefined, params = {}) {
|
|
12654
|
+
/**
|
|
12655
|
+
* @method
|
|
12656
|
+
* @name binance#createConvertTrade
|
|
12657
|
+
* @description convert from one currency to another
|
|
12658
|
+
* @see https://binance-docs.github.io/apidocs/spot/en/#busd-convert-trade
|
|
12659
|
+
* @param {string} id the id of the trade that you want to make
|
|
12660
|
+
* @param {string} fromCode the currency that you want to sell and convert from
|
|
12661
|
+
* @param {string} toCode the currency that you want to buy and convert into
|
|
12662
|
+
* @param {float} [amount] how much you want to trade in units of the from currency
|
|
12663
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
12664
|
+
* @returns {object} a [conversion structure]{@link https://docs.ccxt.com/#/?id=conversion-structure}
|
|
12665
|
+
*/
|
|
12666
|
+
await this.loadMarkets();
|
|
12667
|
+
const request = {
|
|
12668
|
+
'clientTranId': id,
|
|
12669
|
+
'asset': fromCode,
|
|
12670
|
+
'targetAsset': toCode,
|
|
12671
|
+
'amount': amount,
|
|
12672
|
+
};
|
|
12673
|
+
const response = await this.sapiPostAssetConvertTransfer(this.extend(request, params));
|
|
12674
|
+
//
|
|
12675
|
+
// {
|
|
12676
|
+
// "tranId": 118263407119,
|
|
12677
|
+
// "status": "S"
|
|
12678
|
+
// }
|
|
12679
|
+
//
|
|
12680
|
+
const fromCurrency = this.currency(fromCode);
|
|
12681
|
+
const toCurrency = this.currency(toCode);
|
|
12682
|
+
return this.parseConversion(response, fromCurrency, toCurrency);
|
|
12683
|
+
}
|
|
12684
|
+
parseConversion(conversion, fromCurrency = undefined, toCurrency = undefined) {
|
|
12685
|
+
//
|
|
12686
|
+
// createConvertTrade
|
|
12687
|
+
//
|
|
12688
|
+
// {
|
|
12689
|
+
// "tranId": 118263407119,
|
|
12690
|
+
// "status": "S"
|
|
12691
|
+
// }
|
|
12692
|
+
//
|
|
12693
|
+
const fromCode = this.safeCurrencyCode(undefined, fromCurrency);
|
|
12694
|
+
const toCode = this.safeCurrencyCode(undefined, toCurrency);
|
|
12695
|
+
return {
|
|
12696
|
+
'info': conversion,
|
|
12697
|
+
'timestamp': undefined,
|
|
12698
|
+
'datetime': undefined,
|
|
12699
|
+
'id': this.safeString(conversion, 'tranId'),
|
|
12700
|
+
'fromCurrency': fromCode,
|
|
12701
|
+
'fromAmount': undefined,
|
|
12702
|
+
'toCurrency': toCode,
|
|
12703
|
+
'toAmount': undefined,
|
|
12704
|
+
'price': undefined,
|
|
12705
|
+
'fee': undefined,
|
|
12706
|
+
};
|
|
12707
|
+
}
|
|
12652
12708
|
}
|
package/js/src/bingx.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
// ---------------------------------------------------------------------------
|
|
8
8
|
import Exchange from './abstract/bingx.js';
|
|
9
|
-
import { AuthenticationError, PermissionDenied, AccountSuspended, ExchangeError, InsufficientFunds, BadRequest, OrderNotFound, DDoSProtection, BadSymbol, ArgumentsRequired, NotSupported } from './base/errors.js';
|
|
9
|
+
import { AuthenticationError, PermissionDenied, AccountSuspended, ExchangeError, InsufficientFunds, BadRequest, OrderNotFound, DDoSProtection, BadSymbol, ArgumentsRequired, NotSupported, ExchangeNotAvailable } from './base/errors.js';
|
|
10
10
|
import { Precise } from './base/Precise.js';
|
|
11
11
|
import { sha256 } from './static_dependencies/noble-hashes/sha256.js';
|
|
12
12
|
import { DECIMAL_PLACES } from './base/functions/number.js';
|
|
@@ -387,7 +387,7 @@ export default class bingx extends Exchange {
|
|
|
387
387
|
'100400': BadRequest,
|
|
388
388
|
'100421': BadSymbol,
|
|
389
389
|
'100440': ExchangeError,
|
|
390
|
-
'100500':
|
|
390
|
+
'100500': ExchangeNotAvailable,
|
|
391
391
|
'100503': ExchangeError,
|
|
392
392
|
'80001': BadRequest,
|
|
393
393
|
'80012': InsufficientFunds,
|
|
@@ -3979,7 +3979,7 @@ export default class bingx extends Exchange {
|
|
|
3979
3979
|
let market = undefined;
|
|
3980
3980
|
if (symbol !== undefined) {
|
|
3981
3981
|
market = this.market(symbol);
|
|
3982
|
-
request['symbol'] =
|
|
3982
|
+
request['symbol'] = market['id'];
|
|
3983
3983
|
}
|
|
3984
3984
|
if (since !== undefined) {
|
|
3985
3985
|
request['startTime'] = since;
|
package/js/src/bitget.d.ts
CHANGED
|
@@ -283,6 +283,7 @@ export default class bitget extends Exchange {
|
|
|
283
283
|
fetchMarginMode(symbol: string, params?: {}): Promise<MarginMode>;
|
|
284
284
|
parseMarginMode(marginMode: any, market?: any): MarginMode;
|
|
285
285
|
fetchConvertQuote(fromCode: string, toCode: string, amount?: Num, params?: {}): Promise<Conversion>;
|
|
286
|
+
createConvertTrade(id: string, fromCode: string, toCode: string, amount?: Num, params?: {}): Promise<Conversion>;
|
|
286
287
|
parseConversion(conversion: any, fromCurrency?: Currency, toCurrency?: Currency): Conversion;
|
|
287
288
|
fetchConvertCurrencies(params?: {}): Promise<Currencies>;
|
|
288
289
|
handleErrors(code: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
|