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/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.0";
|
|
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.
|
|
41
|
+
const version = '4.3.1';
|
|
42
42
|
Exchange.ccxtVersion = version;
|
|
43
43
|
//-----------------------------------------------------------------------------
|
|
44
44
|
import ace from './src/ace.js';
|
package/js/src/ascendex.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
// ---------------------------------------------------------------------------
|
|
8
8
|
import Exchange from './abstract/ascendex.js';
|
|
9
|
-
import { ArgumentsRequired, AuthenticationError, ExchangeError, InsufficientFunds, InvalidOrder, BadSymbol, PermissionDenied, BadRequest, NotSupported } from './base/errors.js';
|
|
9
|
+
import { ArgumentsRequired, AuthenticationError, ExchangeError, AccountSuspended, InsufficientFunds, InvalidOrder, BadSymbol, PermissionDenied, BadRequest, NotSupported } from './base/errors.js';
|
|
10
10
|
import { Precise } from './base/Precise.js';
|
|
11
11
|
import { TICK_SIZE } from './base/functions/number.js';
|
|
12
12
|
import { sha256 } from './static_dependencies/noble-hashes/sha256.js';
|
|
@@ -361,7 +361,7 @@ export default class ascendex extends Exchange {
|
|
|
361
361
|
'300013': InvalidOrder,
|
|
362
362
|
'300014': InvalidOrder,
|
|
363
363
|
'300020': InvalidOrder,
|
|
364
|
-
'300021':
|
|
364
|
+
'300021': AccountSuspended,
|
|
365
365
|
'300031': InvalidOrder,
|
|
366
366
|
'310001': InsufficientFunds,
|
|
367
367
|
'310002': InvalidOrder,
|
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;
|
package/js/src/bitget.js
CHANGED
|
@@ -40,6 +40,7 @@ export default class bitget extends Exchange {
|
|
|
40
40
|
'cancelOrders': true,
|
|
41
41
|
'closeAllPositions': true,
|
|
42
42
|
'closePosition': true,
|
|
43
|
+
'createConvertTrade': true,
|
|
43
44
|
'createDepositAddress': false,
|
|
44
45
|
'createMarketBuyOrderWithCost': true,
|
|
45
46
|
'createMarketOrderWithCost': false,
|
|
@@ -8461,8 +8462,8 @@ export default class bitget extends Exchange {
|
|
|
8461
8462
|
*/
|
|
8462
8463
|
await this.loadMarkets();
|
|
8463
8464
|
const request = {
|
|
8464
|
-
'fromCoin': fromCode
|
|
8465
|
-
'toCoin': toCode
|
|
8465
|
+
'fromCoin': fromCode,
|
|
8466
|
+
'toCoin': toCode,
|
|
8466
8467
|
'fromCoinSize': this.numberToString(amount),
|
|
8467
8468
|
};
|
|
8468
8469
|
const response = await this.privateConvertGetV2ConvertQuotedPrice(this.extend(request, params));
|
|
@@ -8489,6 +8490,58 @@ export default class bitget extends Exchange {
|
|
|
8489
8490
|
const toCurrency = this.currency(toCurrencyId);
|
|
8490
8491
|
return this.parseConversion(data, fromCurrency, toCurrency);
|
|
8491
8492
|
}
|
|
8493
|
+
async createConvertTrade(id, fromCode, toCode, amount = undefined, params = {}) {
|
|
8494
|
+
/**
|
|
8495
|
+
* @method
|
|
8496
|
+
* @name bitget#createConvertTrade
|
|
8497
|
+
* @description convert from one currency to another
|
|
8498
|
+
* @see https://www.bitget.com/api-doc/common/convert/Trade
|
|
8499
|
+
* @param {string} id the id of the trade that you want to make
|
|
8500
|
+
* @param {string} fromCode the currency that you want to sell and convert from
|
|
8501
|
+
* @param {string} toCode the currency that you want to buy and convert into
|
|
8502
|
+
* @param {float} amount how much you want to trade in units of the from currency
|
|
8503
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
8504
|
+
* @param {string} params.price the price of the conversion, obtained from fetchConvertQuote()
|
|
8505
|
+
* @param {string} params.toAmount the amount you want to trade in units of the toCurrency, obtained from fetchConvertQuote()
|
|
8506
|
+
* @returns {object} a [conversion structure]{@link https://docs.ccxt.com/#/?id=conversion-structure}
|
|
8507
|
+
*/
|
|
8508
|
+
await this.loadMarkets();
|
|
8509
|
+
const price = this.safeString2(params, 'price', 'cnvtPrice');
|
|
8510
|
+
if (price === undefined) {
|
|
8511
|
+
throw new ArgumentsRequired(this.id + ' createConvertTrade() requires a price parameter');
|
|
8512
|
+
}
|
|
8513
|
+
const toAmount = this.safeString2(params, 'toAmount', 'toCoinSize');
|
|
8514
|
+
if (toAmount === undefined) {
|
|
8515
|
+
throw new ArgumentsRequired(this.id + ' createConvertTrade() requires a toAmount parameter');
|
|
8516
|
+
}
|
|
8517
|
+
params = this.omit(params, ['price', 'toAmount']);
|
|
8518
|
+
const request = {
|
|
8519
|
+
'traceId': id,
|
|
8520
|
+
'fromCoin': fromCode,
|
|
8521
|
+
'toCoin': toCode,
|
|
8522
|
+
'fromCoinSize': this.numberToString(amount),
|
|
8523
|
+
'toCoinSize': toAmount,
|
|
8524
|
+
'cnvtPrice': price,
|
|
8525
|
+
};
|
|
8526
|
+
const response = await this.privateConvertPostV2ConvertTrade(this.extend(request, params));
|
|
8527
|
+
//
|
|
8528
|
+
// {
|
|
8529
|
+
// "code": "00000",
|
|
8530
|
+
// "msg": "success",
|
|
8531
|
+
// "requestTime": 1712123746203,
|
|
8532
|
+
// "data": {
|
|
8533
|
+
// "cnvtPrice": "0.99940076",
|
|
8534
|
+
// "toCoin": "USDC",
|
|
8535
|
+
// "toCoinSize": "4.99700379",
|
|
8536
|
+
// "ts": "1712123746217"
|
|
8537
|
+
// }
|
|
8538
|
+
// }
|
|
8539
|
+
//
|
|
8540
|
+
const data = this.safeDict(response, 'data', {});
|
|
8541
|
+
const toCurrencyId = this.safeString(data, 'toCoin', toCode);
|
|
8542
|
+
const toCurrency = this.currency(toCurrencyId);
|
|
8543
|
+
return this.parseConversion(data, undefined, toCurrency);
|
|
8544
|
+
}
|
|
8492
8545
|
parseConversion(conversion, fromCurrency = undefined, toCurrency = undefined) {
|
|
8493
8546
|
//
|
|
8494
8547
|
// fetchConvertQuote
|
|
@@ -8503,6 +8556,15 @@ export default class bitget extends Exchange {
|
|
|
8503
8556
|
// "fee": "0"
|
|
8504
8557
|
// }
|
|
8505
8558
|
//
|
|
8559
|
+
// createConvertTrade
|
|
8560
|
+
//
|
|
8561
|
+
// {
|
|
8562
|
+
// "cnvtPrice": "0.99940076",
|
|
8563
|
+
// "toCoin": "USDC",
|
|
8564
|
+
// "toCoinSize": "4.99700379",
|
|
8565
|
+
// "ts": "1712123746217"
|
|
8566
|
+
// }
|
|
8567
|
+
//
|
|
8506
8568
|
const timestamp = this.safeInteger(conversion, 'ts');
|
|
8507
8569
|
const fromCoin = this.safeString(conversion, 'fromCoin');
|
|
8508
8570
|
const fromCode = this.safeCurrencyCode(fromCoin, fromCurrency);
|
package/js/src/bybit.js
CHANGED
|
@@ -5381,7 +5381,7 @@ export default class bybit extends Exchange {
|
|
|
5381
5381
|
const coin = this.safeString(result, 'coin');
|
|
5382
5382
|
currency = this.currency(coin);
|
|
5383
5383
|
const parsed = this.parseDepositAddresses(chains, [currency['code']], false, {
|
|
5384
|
-
'currency': currency['
|
|
5384
|
+
'currency': currency['code'],
|
|
5385
5385
|
});
|
|
5386
5386
|
return this.indexBy(parsed, 'network');
|
|
5387
5387
|
}
|