ccxt 4.2.73 → 4.2.75
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/CHANGELOG.md +206 -10
- package/README.md +10 -9
- package/build.sh +1 -1
- package/dist/ccxt.browser.js +1042 -297
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +4 -1
- package/dist/cjs/src/abstract/tradeogre.js +9 -0
- package/dist/cjs/src/ascendex.js +3 -2
- package/dist/cjs/src/base/Exchange.js +1 -1
- package/dist/cjs/src/bitget.js +62 -50
- package/dist/cjs/src/bitmart.js +1 -0
- package/dist/cjs/src/bybit.js +90 -30
- package/dist/cjs/src/coinbaseinternational.js +1 -1
- package/dist/cjs/src/coinex.js +4 -3
- package/dist/cjs/src/gate.js +1 -0
- package/dist/cjs/src/htx.js +16 -9
- package/dist/cjs/src/hyperliquid.js +2 -1
- package/dist/cjs/src/kraken.js +3 -3
- package/dist/cjs/src/kucoin.js +1 -1
- package/dist/cjs/src/pro/krakenfutures.js +8 -7
- package/dist/cjs/src/tradeogre.js +632 -0
- package/examples/README.md +308 -0
- package/examples/ccxt.pro/html/watchTicker.html +51 -0
- package/examples/ccxt.pro/js/binance-fetch-balance-snapshot-watch-balance-updates.js +55 -0
- package/examples/ccxt.pro/js/binance-https-proxy.js +48 -0
- package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols-continuously.js +38 -0
- package/examples/ccxt.pro/js/binance-watch-ohlcv-many-symbols.js +64 -0
- package/examples/ccxt.pro/js/binance-watch-ticker-many-symbols.js +62 -0
- package/examples/ccxt.pro/js/build-ohlcv-many-symbols.js +68 -0
- package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades-warmup.js +82 -0
- package/examples/ccxt.pro/js/calculate-ohlcvs-from-trades.js +59 -0
- package/examples/ccxt.pro/js/exchange-capabitities.js +72 -0
- package/examples/ccxt.pro/js/exchange-close.js +46 -0
- package/examples/ccxt.pro/js/gateio-swap-watch-many-orderbooks.js +30 -0
- package/examples/ccxt.pro/js/gateio-watch-balance.js +23 -0
- package/examples/ccxt.pro/js/gateio-watch-order-book.js +71 -0
- package/examples/ccxt.pro/js/graceful-shutdown.js +43 -0
- package/examples/ccxt.pro/js/many-exchanges-many-streams.js +37 -0
- package/examples/ccxt.pro/js/okex-create-futures-order.js +48 -0
- package/examples/ccxt.pro/js/okex-watch-balance-and-create-order.js +54 -0
- package/examples/ccxt.pro/js/okx-watch-tickers.js +31 -0
- package/examples/ccxt.pro/js/one-exchange-many-different-streams.js +46 -0
- package/examples/ccxt.pro/js/one-exchange-many-streams-2.js +26 -0
- package/examples/ccxt.pro/js/one-exchange-many-streams.js +28 -0
- package/examples/ccxt.pro/js/socks-binance-watch-orderbook.js +30 -0
- package/examples/ccxt.pro/js/watch-fetch-many-exchanges-many-ordersbooks.js +40 -0
- package/examples/ccxt.pro/js/watch-many-exchanges-many-ordersbooks.js +38 -0
- package/examples/ccxt.pro/js/watch-many-exchanges-many-symbols.js +40 -0
- package/examples/ccxt.pro/js/watch-many-orderbooks.js +27 -0
- package/examples/ccxt.pro/js/watch-new-trades-only.js +43 -0
- package/examples/ccxt.pro/js/watch-new-trades.js +42 -0
- package/examples/ccxt.pro/js/watch-trades-many-symbols.js +29 -0
- package/examples/ccxt.pro/js/watch-vs-fetch.js +29 -0
- package/examples/cs/Examples.sln +22 -0
- package/examples/cs/c#.csproj +19 -0
- package/examples/html/basic-cors-proxy.html +46 -0
- package/examples/html/basic-inheritance.html +47 -0
- package/examples/html/basic-poller.html +52 -0
- package/examples/html/basic-rate-limiting.html +49 -0
- package/examples/html/basic.html +43 -0
- package/examples/html/binance-cors-proxy.html +28 -0
- package/examples/html/bitmex-browser-cors-proxy.js +7 -0
- package/examples/html/bitmex-cors.html +46 -0
- package/examples/html/tradingview-charts.html +61 -0
- package/examples/html/webworker/index.html +97 -0
- package/examples/html/webworker/worker.js +43 -0
- package/examples/js/README.md +15 -0
- package/examples/js/advanced-error-handling.js +39 -0
- package/examples/js/aggregate-orderbook.js +54 -0
- package/examples/js/arbitrage-pairs.js +130 -0
- package/examples/js/basic-chart.js +29 -0
- package/examples/js/basic-orderbook-polling.js +13 -0
- package/examples/js/bcc-vs-bch.js +115 -0
- package/examples/js/binance-fetch-all-deposits.js +45 -0
- package/examples/js/binance-fetch-ohlcv-many-symbols-async-await.js +34 -0
- package/examples/js/binance-fetch-ohlcv-many-symbols-promise-then-callbacks.js +33 -0
- package/examples/js/binance-fetchTicker-delivery-vs-future.js +31 -0
- package/examples/js/binance-futures-transfer-from-sub-account-to-master.js +41 -0
- package/examples/js/binance-margin-stop-order.js +39 -0
- package/examples/js/binance-server-time.js +34 -0
- package/examples/js/binance-universal-transfer.js +16 -0
- package/examples/js/bitfinex-fetch-trades.js +35 -0
- package/examples/js/bitfinex2-fetch-trades.js +35 -0
- package/examples/js/bitmex-browser-cors-proxy.js +7 -0
- package/examples/js/bitpanda-fetchMyTrades-reduce.js +36 -0
- package/examples/js/bitrue-fetch-balance.js +28 -0
- package/examples/js/bitstamp-private-api.js +115 -0
- package/examples/js/bitstamp-public-api.js +39 -0
- package/examples/js/bittrex-balance.js +50 -0
- package/examples/js/bittrex-fetch-closed-orders-history.js +69 -0
- package/examples/js/blockchaincom-withdrawal.js +59 -0
- package/examples/js/build-ohlcv-bars.js +48 -0
- package/examples/js/builtin-rate-limiting-rest-poller.js +25 -0
- package/examples/js/bybit-trailing.js +62 -0
- package/examples/js/bybit-updated.cjs +154 -0
- package/examples/js/cli.js +405 -0
- package/examples/js/coinbase-fetch-all-balances.js +36 -0
- package/examples/js/coinex-fetch-all-deposit-addresses-using-fetchDepositAddress.js +47 -0
- package/examples/js/coinex-futures.js +75 -0
- package/examples/js/coinone-fetch-tickers.js +54 -0
- package/examples/js/coinone-markets.js +16 -0
- package/examples/js/compare-two-exchanges-capabilities.js +36 -0
- package/examples/js/cors-proxy.js +5 -0
- package/examples/js/create-order-handle-errors.js +55 -0
- package/examples/js/create-order-position-with-takeprofit-stoploss.js +71 -0
- package/examples/js/create-order-with-retry.js +65 -0
- package/examples/js/create-order-ws-example.js +25 -0
- package/examples/js/create-orders-example.js +17 -0
- package/examples/js/create-trailing-amount-order.js +36 -0
- package/examples/js/create-trailing-percent-order.js +36 -0
- package/examples/js/credentials.json +5 -0
- package/examples/js/custom-proxy-agent-for-js.js +10 -0
- package/examples/js/custom-proxy-url.js +23 -0
- package/examples/js/delta-maintenance-margin-rate-max-leverage.js +60 -0
- package/examples/js/env-variables.js +26 -0
- package/examples/js/error-handling.js +89 -0
- package/examples/js/exchange-capabilities.js +135 -0
- package/examples/js/exchanges-by-volume.js +60 -0
- package/examples/js/exchanges.js +40 -0
- package/examples/js/fetch-all-balances.js +219 -0
- package/examples/js/fetch-all-tickers-to-files-2.js +53 -0
- package/examples/js/fetch-all-tickers-to-files.js +77 -0
- package/examples/js/fetch-balance.js +28 -0
- package/examples/js/fetch-create-deposit-address.js +101 -0
- package/examples/js/fetch-from-many-exchanges-simultaneously.js +21 -0
- package/examples/js/fetch-funding-rate-history.js +25 -0
- package/examples/js/fetch-futures/prettier.config.js +5 -0
- package/examples/js/fetch-futures/src/index.js +25 -0
- package/examples/js/fetch-ohlcv-from-to-mark-index-premium.js +72 -0
- package/examples/js/fetch-ohlcv-many-exchanges-continuosly.js +39 -0
- package/examples/js/fetch-ohlcv.js +16 -0
- package/examples/js/fetch-okex-futures.js +22 -0
- package/examples/js/fetch-orders.js +27 -0
- package/examples/js/fetch-ticker-from-multiple-exchanges.js +35 -0
- package/examples/js/fetch-ticker-where-available.js +75 -0
- package/examples/js/fetch-tickers/build/index.js +19 -0
- package/examples/js/fetch-tickers/prettier.config.js +5 -0
- package/examples/js/fetch-tickers/src/index.js +17 -0
- package/examples/js/gateio-create-batch-order.js +43 -0
- package/examples/js/gateio-futures.js +49 -0
- package/examples/js/gateio-open-close-contract.js +49 -0
- package/examples/js/gateio-swaps.js +74 -0
- package/examples/js/gdax-fetch-trades-pagination.js +29 -0
- package/examples/js/hitbtc2-withdraw.js +61 -0
- package/examples/js/how-to-import-one-exchange-esm.js +10 -0
- package/examples/js/huobi-futures.js +71 -0
- package/examples/js/huobi-open-close-contract.js +63 -0
- package/examples/js/huobi-swaps.js +70 -0
- package/examples/js/huobipro-market-buy-sell-fetch-trading-limits.js +98 -0
- package/examples/js/hybridCJSExample.cjs +19 -0
- package/examples/js/hybridESMExample.js +19 -0
- package/examples/js/idex-fetch-balance.js +13 -0
- package/examples/js/instantiate-all-at-once.js +46 -0
- package/examples/js/instantiate-all-from-json.js +31 -0
- package/examples/js/kraken-create-and-close-position.js +54 -0
- package/examples/js/kraken-fetch-order-trades.js +33 -0
- package/examples/js/kraken-margin-trading.js +89 -0
- package/examples/js/kucoin-rate-limit.js +38 -0
- package/examples/js/latoken-example.js +108 -0
- package/examples/js/live-orderbook.js +106 -0
- package/examples/js/live-ticker.js +80 -0
- package/examples/js/live-tickers.js +74 -0
- package/examples/js/load-all-contracts.js +41 -0
- package/examples/js/load-all-symbols-at-once.js +69 -0
- package/examples/js/load-all-tickers-at-once.js +91 -0
- package/examples/js/load-markets-to-files.js +57 -0
- package/examples/js/looping-over-all-symbols-of-specific-exchanges.js +61 -0
- package/examples/js/looping-over-specific-symbols-of-all-exchanges.js +91 -0
- package/examples/js/margin-loan-borrow-buy-sell-repay.js +70 -0
- package/examples/js/market-status-and-currency-status.js +29 -0
- package/examples/js/ohlcv-console-chart.js +29 -0
- package/examples/js/okex-fetch-closed-orders-archive.js +31 -0
- package/examples/js/okex-transfer.js +51 -0
- package/examples/js/okx-poll-fetch-my-trades.js +37 -0
- package/examples/js/okx-poll-rate-limit.js +48 -0
- package/examples/js/order-book-extra-level-depth-param.js +20 -0
- package/examples/js/phemex-create-order-position-with-takeprofit-stoploss.js +49 -0
- package/examples/js/poll-ohlcv.js +43 -0
- package/examples/js/poloniex-fetch-order-books.js +35 -0
- package/examples/js/poloniex-limits-amount-min.js +62 -0
- package/examples/js/proxy-round-robin.js +98 -0
- package/examples/js/proxy-usage.js +32 -0
- package/examples/js/sample-local-proxy-server-with-cors.js +12 -0
- package/examples/js/search-all-exchanges.js +159 -0
- package/examples/js/shared-load-markets.js +80 -0
- package/examples/js/sort-swap-markets-by-hourly-price-change.js +55 -0
- package/examples/js/symbols.js +110 -0
- package/examples/js/theocean.js +41 -0
- package/examples/js/tickers.js +106 -0
- package/examples/js/validate-paginated-data.js +61 -0
- package/examples/js/watch-OHLCV-For-Symbols.js +15 -0
- package/examples/js/watch-OHLCV.js +12 -0
- package/examples/js/watch-OrderBook-For-Symbols.js +11 -0
- package/examples/js/watch-Trades-For-Symbols.js +11 -0
- package/examples/js/watch-tickers.js +11 -0
- package/examples/js/watchOHLCVForSymbols.js +15 -0
- package/examples/js/watchOrderBookForSymbols.js +11 -0
- package/examples/js/watchPositions-many-exchanges-continuosly.d.ts +2 -0
- package/examples/js/watchPositions-many-exchanges-continuosly.d.ts.map +1 -0
- package/examples/js/watchPositions-many-exchanges-continuosly.js +49 -0
- package/examples/js/watchPositions.d.ts +2 -0
- package/examples/js/watchPositions.d.ts.map +1 -0
- package/examples/js/watchPositions.js +13 -0
- package/examples/js/watchPositionsForSymbols.d.ts +2 -0
- package/examples/js/watchPositionsForSymbols.d.ts.map +1 -0
- package/examples/js/watchPositionsForSymbols.js +14 -0
- package/examples/js/watchTradesForSymbols.js +11 -0
- package/examples/js/withdraw-from-one-exchange-to-another.js +50 -0
- package/examples/php/README.md +7 -0
- package/examples/py/README.md +15 -0
- package/examples/py/playing_with_ccxt_example.ipynb +222 -0
- package/examples/ts/.eslintrc +111 -0
- package/examples/ts/build-ohlcv-bars.ts +53 -0
- package/examples/ts/cli.ts +397 -0
- package/examples/ts/compare-two-exchanges-capabilities.ts +36 -0
- package/examples/ts/create-order-position-with-takeprofit-stoploss.ts +89 -0
- package/examples/ts/create-order-ws-example.ts +33 -0
- package/examples/ts/create-orders-example.ts +21 -0
- package/examples/ts/create-trailing-amount-order.ts +37 -0
- package/examples/ts/create-trailing-percent-order.ts +37 -0
- package/examples/ts/custom-proxy-agent-for-js.ts +14 -0
- package/examples/ts/fetch-futures/package-lock.json +116 -0
- package/examples/ts/fetch-futures/package.json +34 -0
- package/examples/ts/fetch-futures/prettier.config.js +4 -0
- package/examples/ts/fetch-futures/src/index.ts +28 -0
- package/examples/ts/fetch-futures/tsconfig.json +28 -0
- package/examples/ts/fetch-ohlcv-many-exchanges-continuosly.ts +44 -0
- package/examples/ts/fetch-ohlcv.ts +17 -0
- package/examples/ts/fetch-tickers/package-lock.json +116 -0
- package/examples/ts/fetch-tickers/package.json +34 -0
- package/examples/ts/fetch-tickers/prettier.config.js +4 -0
- package/examples/ts/fetch-tickers/src/index.ts +21 -0
- package/examples/ts/fetch-tickers/tsconfig.json +28 -0
- package/examples/ts/how-to-import-one-exchange-esm.ts +11 -0
- package/examples/ts/kraken-create-and-close-position.ts +69 -0
- package/examples/ts/margin-loan-borrow-buy-sell-repay.ts +72 -0
- package/examples/ts/nextjs-page-router/.eslintrc.json +3 -0
- package/examples/ts/nextjs-page-router/README.md +43 -0
- package/examples/ts/nextjs-page-router/next.config.js +6 -0
- package/examples/ts/nextjs-page-router/package-lock.json +7425 -0
- package/examples/ts/nextjs-page-router/package.json +28 -0
- package/examples/ts/nextjs-page-router/postcss.config.js +6 -0
- package/examples/ts/nextjs-page-router/public/favicon.ico +0 -0
- package/examples/ts/nextjs-page-router/src/pages/_app.tsx +6 -0
- package/examples/ts/nextjs-page-router/src/pages/_document.tsx +13 -0
- package/examples/ts/nextjs-page-router/src/pages/balance.tsx +46 -0
- package/examples/ts/nextjs-page-router/src/pages/index.tsx +8 -0
- package/examples/ts/nextjs-page-router/src/pages/tickers.tsx +61 -0
- package/examples/ts/nextjs-page-router/src/styles/globals.css +27 -0
- package/examples/ts/nextjs-page-router/tailwind.config.ts +20 -0
- package/examples/ts/nextjs-page-router/tsconfig.json +22 -0
- package/examples/ts/phemex-create-order-position-with-takeprofit-stoploss.ts +62 -0
- package/examples/ts/proxy-usage.ts +41 -0
- package/examples/ts/sample-local-proxy-server-with-cors.ts +15 -0
- package/examples/ts/watch-OHLCV-For-Symbols.ts +17 -0
- package/examples/ts/watch-OHLCV.ts +14 -0
- package/examples/ts/watch-OrderBook-For-Symbols.ts +13 -0
- package/examples/ts/watch-Trades-For-Symbols.ts +13 -0
- package/examples/ts/watch-tickers.ts +13 -0
- package/examples/ts/watchPositions-many-exchanges-continuosly.ts +53 -0
- package/examples/ts/watchPositions.ts +15 -0
- package/examples/ts/watchPositionsForSymbols.ts +16 -0
- package/examples/tsconfig.json +27 -0
- package/js/ccxt.d.ts +5 -2
- package/js/ccxt.js +4 -2
- package/js/src/abstract/tradeogre.d.ts +19 -0
- package/js/src/abstract/tradeogre.js +11 -0
- package/js/src/ascendex.d.ts +2 -7
- package/js/src/ascendex.js +3 -2
- package/js/src/base/Exchange.d.ts +7 -7
- package/js/src/base/Exchange.js +1 -1
- package/js/src/base/types.d.ts +7 -1
- package/js/src/binance.d.ts +1 -1
- package/js/src/bitget.js +62 -50
- package/js/src/bitmart.d.ts +1 -1
- package/js/src/bitmart.js +2 -1
- package/js/src/bybit.d.ts +3 -1
- package/js/src/bybit.js +90 -30
- package/js/src/coinbase.d.ts +4 -4
- package/js/src/coinbaseinternational.d.ts +1 -1
- package/js/src/coinbaseinternational.js +1 -1
- package/js/src/coinbasepro.d.ts +2 -2
- package/js/src/coinex.js +4 -3
- package/js/src/coinlist.d.ts +2 -2
- package/js/src/cryptocom.d.ts +2 -2
- package/js/src/currencycom.d.ts +2 -2
- package/js/src/deribit.d.ts +2 -2
- package/js/src/gate.d.ts +1 -1
- package/js/src/gate.js +1 -0
- package/js/src/htx.d.ts +2 -2
- package/js/src/htx.js +16 -9
- package/js/src/huobijp.d.ts +2 -2
- package/js/src/hyperliquid.js +2 -1
- package/js/src/kraken.d.ts +1 -1
- package/js/src/kraken.js +3 -3
- package/js/src/kucoin.d.ts +3 -3
- package/js/src/kucoin.js +1 -1
- package/js/src/luno.d.ts +2 -2
- package/js/src/mexc.d.ts +3 -3
- package/js/src/ndax.d.ts +2 -2
- package/js/src/novadax.d.ts +2 -2
- package/js/src/okx.d.ts +2 -2
- package/js/src/pro/bitfinex2.d.ts +1 -1
- package/js/src/pro/krakenfutures.js +8 -7
- package/js/src/tradeogre.d.ts +32 -0
- package/js/src/tradeogre.js +633 -0
- package/js/src/woo.d.ts +2 -2
- package/package.json +4 -1
- package/skip-tests.json +219 -424
package/dist/ccxt.browser.js
CHANGED
|
@@ -1328,6 +1328,22 @@ class Exchange extends _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchang
|
|
|
1328
1328
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Exchange);
|
|
1329
1329
|
|
|
1330
1330
|
|
|
1331
|
+
/***/ }),
|
|
1332
|
+
|
|
1333
|
+
/***/ 567:
|
|
1334
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1335
|
+
|
|
1336
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1337
|
+
/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1338
|
+
/* harmony export */ });
|
|
1339
|
+
/* harmony import */ var _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
|
|
1340
|
+
// -------------------------------------------------------------------------------
|
|
1341
|
+
|
|
1342
|
+
class Exchange extends _base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e {
|
|
1343
|
+
}
|
|
1344
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Exchange);
|
|
1345
|
+
|
|
1346
|
+
|
|
1331
1347
|
/***/ }),
|
|
1332
1348
|
|
|
1333
1349
|
/***/ 2120:
|
|
@@ -4422,7 +4438,7 @@ class ascendex extends _abstract_ascendex_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
|
|
|
4422
4438
|
{
|
|
4423
4439
|
'id': accountGroup,
|
|
4424
4440
|
'type': undefined,
|
|
4425
|
-
'
|
|
4441
|
+
'code': undefined,
|
|
4426
4442
|
'info': response,
|
|
4427
4443
|
},
|
|
4428
4444
|
];
|
|
@@ -6402,7 +6418,8 @@ class ascendex extends _abstract_ascendex_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
|
|
|
6402
6418
|
if (_base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise */ .O.stringEq(notional, '0')) {
|
|
6403
6419
|
notional = this.safeString(position, 'sellOpenOrderNotional');
|
|
6404
6420
|
}
|
|
6405
|
-
const
|
|
6421
|
+
const marginType = this.safeString(position, 'marginType');
|
|
6422
|
+
const marginMode = (marginType === 'crossed') ? 'cross' : 'isolated';
|
|
6406
6423
|
let collateral = undefined;
|
|
6407
6424
|
if (marginMode === 'isolated') {
|
|
6408
6425
|
collateral = this.safeString(position, 'isolatedMargin');
|
|
@@ -7279,7 +7296,7 @@ class Exchange {
|
|
|
7279
7296
|
this.last_request_body = undefined;
|
|
7280
7297
|
this.last_request_url = undefined;
|
|
7281
7298
|
this.last_request_path = undefined;
|
|
7282
|
-
this.id =
|
|
7299
|
+
this.id = 'Exchange';
|
|
7283
7300
|
this.markets = undefined;
|
|
7284
7301
|
this.status = undefined;
|
|
7285
7302
|
this.rateLimit = undefined; // milliseconds
|
|
@@ -46436,10 +46453,10 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
46436
46453
|
},
|
|
46437
46454
|
'fetchOHLCV': {
|
|
46438
46455
|
'spot': {
|
|
46439
|
-
'method': 'publicSpotGetV2SpotMarketCandles', // or publicSpotGetV2SpotMarketHistoryCandles
|
|
46456
|
+
'method': 'publicSpotGetV2SpotMarketCandles', // publicSpotGetV2SpotMarketCandles or publicSpotGetV2SpotMarketHistoryCandles
|
|
46440
46457
|
},
|
|
46441
46458
|
'swap': {
|
|
46442
|
-
'method': 'publicMixGetV2MixMarketCandles', // or publicMixGetV2MixMarketHistoryCandles or publicMixGetV2MixMarketHistoryIndexCandles or publicMixGetV2MixMarketHistoryMarkCandles
|
|
46459
|
+
'method': 'publicMixGetV2MixMarketCandles', // publicMixGetV2MixMarketCandles or publicMixGetV2MixMarketHistoryCandles or publicMixGetV2MixMarketHistoryIndexCandles or publicMixGetV2MixMarketHistoryMarkCandles
|
|
46443
46460
|
},
|
|
46444
46461
|
'maxDaysPerTimeframe': {
|
|
46445
46462
|
'1m': 30,
|
|
@@ -48409,11 +48426,13 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
48409
48426
|
* @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
|
|
48410
48427
|
*/
|
|
48411
48428
|
await this.loadMarkets();
|
|
48412
|
-
const
|
|
48429
|
+
const defaultLimit = 100; // default 100, max 1000
|
|
48430
|
+
const maxLimitForRecentEndpoint = 1000;
|
|
48431
|
+
const maxLimitForHistoryEndpoint = 200; // note, max 1000 bars are supported for "recent-candles" endpoint, but "historical-candles" support only max 200
|
|
48413
48432
|
let paginate = false;
|
|
48414
48433
|
[paginate, params] = this.handleOptionAndParams(params, 'fetchOHLCV', 'paginate');
|
|
48415
48434
|
if (paginate) {
|
|
48416
|
-
return await this.fetchPaginatedCallDeterministic('fetchOHLCV', symbol, since, limit, timeframe, params,
|
|
48435
|
+
return await this.fetchPaginatedCallDeterministic('fetchOHLCV', symbol, since, limit, timeframe, params, maxLimitForHistoryEndpoint);
|
|
48417
48436
|
}
|
|
48418
48437
|
const sandboxMode = this.safeBool(this.options, 'sandboxMode', false);
|
|
48419
48438
|
let market = undefined;
|
|
@@ -48426,32 +48445,17 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
48426
48445
|
}
|
|
48427
48446
|
const marketType = market['spot'] ? 'spot' : 'swap';
|
|
48428
48447
|
const timeframes = this.options['timeframes'][marketType];
|
|
48429
|
-
const
|
|
48448
|
+
const msInDay = 86400000;
|
|
48430
48449
|
const duration = this.parseTimeframe(timeframe) * 1000;
|
|
48431
48450
|
const request = {
|
|
48432
48451
|
'symbol': market['id'],
|
|
48433
|
-
'granularity':
|
|
48452
|
+
'granularity': this.safeString(timeframes, timeframe, timeframe),
|
|
48434
48453
|
};
|
|
48435
|
-
const defaultLimit = 100; // by default, exchange returns 100 items
|
|
48436
|
-
const msInDay = 1000 * 60 * 60 * 24;
|
|
48437
|
-
if (limit !== undefined) {
|
|
48438
|
-
limit = Math.min(limit, maxLimit);
|
|
48439
|
-
request['limit'] = limit;
|
|
48440
|
-
}
|
|
48441
48454
|
const until = this.safeInteger2(params, 'until', 'till');
|
|
48455
|
+
const limitDefined = limit !== undefined;
|
|
48456
|
+
const sinceDefined = since !== undefined;
|
|
48457
|
+
const untilDefined = until !== undefined;
|
|
48442
48458
|
params = this.omit(params, ['until', 'till']);
|
|
48443
|
-
if (until !== undefined) {
|
|
48444
|
-
request['endTime'] = until;
|
|
48445
|
-
}
|
|
48446
|
-
if (since !== undefined) {
|
|
48447
|
-
request['startTime'] = since;
|
|
48448
|
-
if (market['spot'] && (until === undefined)) {
|
|
48449
|
-
// for spot we need to send "entTime" too
|
|
48450
|
-
const limitForEnd = (limit !== undefined) ? limit : defaultLimit;
|
|
48451
|
-
const calculatedEnd = this.sum(since, duration * limitForEnd);
|
|
48452
|
-
request['endTime'] = calculatedEnd;
|
|
48453
|
-
}
|
|
48454
|
-
}
|
|
48455
48459
|
let response = undefined;
|
|
48456
48460
|
const now = this.milliseconds();
|
|
48457
48461
|
// retrievable periods listed here:
|
|
@@ -48459,21 +48463,47 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
48459
48463
|
// - https://www.bitget.com/api-doc/contract/market/Get-Candle-Data#description
|
|
48460
48464
|
const ohlcOptions = this.safeDict(this.options, 'fetchOHLCV', {});
|
|
48461
48465
|
const retrievableDaysMap = this.safeDict(ohlcOptions, 'maxDaysPerTimeframe', {});
|
|
48462
|
-
const
|
|
48463
|
-
const endpointTsBoundary = now -
|
|
48464
|
-
|
|
48465
|
-
|
|
48466
|
-
|
|
48467
|
-
if (since !== undefined && since < endpointTsBoundary) {
|
|
48468
|
-
// if since it earlier than the allowed diapason
|
|
48469
|
-
needsHistoryEndpoint = true;
|
|
48470
|
-
}
|
|
48471
|
-
else if (until !== undefined && until - displaceByLimit < endpointTsBoundary) {
|
|
48472
|
-
// if until is earlier than the allowed diapason
|
|
48473
|
-
needsHistoryEndpoint = true;
|
|
48466
|
+
const maxRetrievableDaysForRecent = this.safeInteger(retrievableDaysMap, timeframe, 30); // default to safe minimum
|
|
48467
|
+
const endpointTsBoundary = now - maxRetrievableDaysForRecent * msInDay;
|
|
48468
|
+
if (limitDefined) {
|
|
48469
|
+
limit = Math.min(limit, maxLimitForRecentEndpoint);
|
|
48470
|
+
request['limit'] = limit;
|
|
48474
48471
|
}
|
|
48472
|
+
else {
|
|
48473
|
+
limit = defaultLimit;
|
|
48474
|
+
}
|
|
48475
|
+
const limitMultipliedDuration = limit * duration;
|
|
48476
|
+
// exchange aligns from endTime, so it's important, not startTime
|
|
48477
|
+
// startTime is supported only on "recent" endpoint, not on "historical" endpoint
|
|
48478
|
+
let calculatedStartTime = undefined;
|
|
48479
|
+
let calculatedEndTime = undefined;
|
|
48480
|
+
if (sinceDefined) {
|
|
48481
|
+
calculatedStartTime = since;
|
|
48482
|
+
request['startTime'] = since;
|
|
48483
|
+
if (!untilDefined) {
|
|
48484
|
+
calculatedEndTime = this.sum(calculatedStartTime, limitMultipliedDuration);
|
|
48485
|
+
request['endTime'] = calculatedEndTime;
|
|
48486
|
+
}
|
|
48487
|
+
}
|
|
48488
|
+
if (untilDefined) {
|
|
48489
|
+
calculatedEndTime = until;
|
|
48490
|
+
request['endTime'] = calculatedEndTime;
|
|
48491
|
+
if (!sinceDefined) {
|
|
48492
|
+
calculatedStartTime = calculatedEndTime - limitMultipliedDuration;
|
|
48493
|
+
// we do not need to set "startTime" here
|
|
48494
|
+
}
|
|
48495
|
+
}
|
|
48496
|
+
const historicalEndpointNeeded = (calculatedStartTime !== undefined) && (calculatedStartTime <= endpointTsBoundary);
|
|
48497
|
+
if (historicalEndpointNeeded) {
|
|
48498
|
+
// only for "historical-candles" - ensure we use correct max limit
|
|
48499
|
+
if (limitDefined) {
|
|
48500
|
+
request['limit'] = Math.min(limit, maxLimitForHistoryEndpoint);
|
|
48501
|
+
}
|
|
48502
|
+
}
|
|
48503
|
+
// make request
|
|
48475
48504
|
if (market['spot']) {
|
|
48476
|
-
if
|
|
48505
|
+
// checks if we need history endpoint
|
|
48506
|
+
if (historicalEndpointNeeded) {
|
|
48477
48507
|
response = await this.publicSpotGetV2SpotMarketHistoryCandles(this.extend(request, params));
|
|
48478
48508
|
}
|
|
48479
48509
|
else {
|
|
@@ -48481,19 +48511,18 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
48481
48511
|
}
|
|
48482
48512
|
}
|
|
48483
48513
|
else {
|
|
48484
|
-
const maxDistanceDaysForContracts = 90; // maximum 90 days allowed between start-end times
|
|
48485
|
-
|
|
48486
|
-
if (
|
|
48487
|
-
|
|
48488
|
-
|
|
48489
|
-
|
|
48490
|
-
|
|
48491
|
-
|
|
48492
|
-
|
|
48493
|
-
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' fetchOHLCV() between start and end must be less than ' + maxDistanceDaysForContracts.toString() + ' days');
|
|
48514
|
+
const maxDistanceDaysForContracts = 90; // for contract, maximum 90 days allowed between start-end times
|
|
48515
|
+
// only correct the request to fix 90 days if until was auto-calculated
|
|
48516
|
+
if (sinceDefined) {
|
|
48517
|
+
if (!untilDefined) {
|
|
48518
|
+
request['endTime'] = Math.min(calculatedEndTime, this.sum(since, maxDistanceDaysForContracts * msInDay));
|
|
48519
|
+
}
|
|
48520
|
+
else if (calculatedEndTime - calculatedStartTime > maxDistanceDaysForContracts * msInDay) {
|
|
48521
|
+
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' fetchOHLCV() between start and end must be less than ' + maxDistanceDaysForContracts.toString() + ' days');
|
|
48522
|
+
}
|
|
48494
48523
|
}
|
|
48495
|
-
|
|
48496
|
-
params = this.
|
|
48524
|
+
let priceType = undefined;
|
|
48525
|
+
[priceType, params] = this.handleParamString(params, 'price');
|
|
48497
48526
|
let productType = undefined;
|
|
48498
48527
|
[productType, params] = this.handleProductTypeAndParams(market, params);
|
|
48499
48528
|
request['productType'] = productType;
|
|
@@ -48506,7 +48535,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
48506
48535
|
response = await this.publicMixGetV2MixMarketHistoryIndexCandles(extended);
|
|
48507
48536
|
}
|
|
48508
48537
|
else {
|
|
48509
|
-
if (
|
|
48538
|
+
if (historicalEndpointNeeded) {
|
|
48510
48539
|
response = await this.publicMixGetV2MixMarketHistoryCandles(extended);
|
|
48511
48540
|
}
|
|
48512
48541
|
else {
|
|
@@ -55065,6 +55094,7 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
55065
55094
|
'70000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
|
|
55066
55095
|
'70001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
|
|
55067
55096
|
'70002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
|
|
55097
|
+
'70003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NetworkError,
|
|
55068
55098
|
'71001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
|
|
55069
55099
|
'71002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
|
|
55070
55100
|
'71003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
|
|
@@ -83448,6 +83478,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
83448
83478
|
'fetchIsolatedBorrowRates': false,
|
|
83449
83479
|
'fetchLedger': true,
|
|
83450
83480
|
'fetchLeverage': true,
|
|
83481
|
+
'fetchLeverageTiers': true,
|
|
83451
83482
|
'fetchMarketLeverageTiers': true,
|
|
83452
83483
|
'fetchMarkets': true,
|
|
83453
83484
|
'fetchMarkOHLCV': true,
|
|
@@ -90638,36 +90669,6 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
90638
90669
|
request['symbol'] = market['id'];
|
|
90639
90670
|
return await this.fetchDerivativesMarketLeverageTiers(symbol, params);
|
|
90640
90671
|
}
|
|
90641
|
-
parseMarketLeverageTiers(info, market = undefined) {
|
|
90642
|
-
//
|
|
90643
|
-
// {
|
|
90644
|
-
// "id": 1,
|
|
90645
|
-
// "symbol": "BTCUSD",
|
|
90646
|
-
// "riskLimitValue": "150",
|
|
90647
|
-
// "maintenanceMargin": "0.5",
|
|
90648
|
-
// "initialMargin": "1",
|
|
90649
|
-
// "isLowestRisk": 1,
|
|
90650
|
-
// "maxLeverage": "100.00"
|
|
90651
|
-
// }
|
|
90652
|
-
//
|
|
90653
|
-
let minNotional = 0;
|
|
90654
|
-
const tiers = [];
|
|
90655
|
-
for (let i = 0; i < info.length; i++) {
|
|
90656
|
-
const item = info[i];
|
|
90657
|
-
const maxNotional = this.safeNumber(item, 'riskLimitValue');
|
|
90658
|
-
tiers.push({
|
|
90659
|
-
'tier': this.sum(i, 1),
|
|
90660
|
-
'currency': market['base'],
|
|
90661
|
-
'minNotional': minNotional,
|
|
90662
|
-
'maxNotional': maxNotional,
|
|
90663
|
-
'maintenanceMarginRate': this.safeNumber(item, 'maintenanceMargin'),
|
|
90664
|
-
'maxLeverage': this.safeNumber(item, 'maxLeverage'),
|
|
90665
|
-
'info': item,
|
|
90666
|
-
});
|
|
90667
|
-
minNotional = maxNotional;
|
|
90668
|
-
}
|
|
90669
|
-
return tiers;
|
|
90670
|
-
}
|
|
90671
90672
|
parseTradingFee(fee, market = undefined) {
|
|
90672
90673
|
//
|
|
90673
90674
|
// {
|
|
@@ -91372,6 +91373,95 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
91372
91373
|
'datetime': this.iso8601(timestamp),
|
|
91373
91374
|
});
|
|
91374
91375
|
}
|
|
91376
|
+
async fetchLeverageTiers(symbols = undefined, params = {}) {
|
|
91377
|
+
/**
|
|
91378
|
+
* @method
|
|
91379
|
+
* @name bybit#fetchLeverageTiers
|
|
91380
|
+
* @see https://bybit-exchange.github.io/docs/v5/market/risk-limit
|
|
91381
|
+
* @description retrieve information on the maximum leverage, for different trade sizes
|
|
91382
|
+
* @param {string[]} [symbols] a list of unified market symbols
|
|
91383
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
91384
|
+
* @param {string} [params.subType] market subType, ['linear', 'inverse'], default is 'linear'
|
|
91385
|
+
* @returns {object} a dictionary of [leverage tiers structures]{@link https://docs.ccxt.com/#/?id=leverage-tiers-structure}, indexed by market symbols
|
|
91386
|
+
*/
|
|
91387
|
+
await this.loadMarkets();
|
|
91388
|
+
let market = undefined;
|
|
91389
|
+
if (symbols !== undefined) {
|
|
91390
|
+
market = this.market(symbols[0]);
|
|
91391
|
+
if (market['spot']) {
|
|
91392
|
+
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.NotSupported(this.id + ' fetchLeverageTiers() is not supported for spot market');
|
|
91393
|
+
}
|
|
91394
|
+
}
|
|
91395
|
+
let subType = undefined;
|
|
91396
|
+
[subType, params] = this.handleSubTypeAndParams('fetchTickers', market, params, 'linear');
|
|
91397
|
+
const request = {
|
|
91398
|
+
'category': subType,
|
|
91399
|
+
};
|
|
91400
|
+
const response = await this.publicGetV5MarketRiskLimit(this.extend(request, params));
|
|
91401
|
+
const result = this.safeDict(response, 'result', {});
|
|
91402
|
+
const data = this.safeList(result, 'list', []);
|
|
91403
|
+
symbols = this.marketSymbols(symbols);
|
|
91404
|
+
return this.parseLeverageTiers(data, symbols, 'symbol');
|
|
91405
|
+
}
|
|
91406
|
+
parseLeverageTiers(response, symbols = undefined, marketIdKey = undefined) {
|
|
91407
|
+
//
|
|
91408
|
+
// [
|
|
91409
|
+
// {
|
|
91410
|
+
// "id": 1,
|
|
91411
|
+
// "symbol": "BTCUSD",
|
|
91412
|
+
// "riskLimitValue": "150",
|
|
91413
|
+
// "maintenanceMargin": "0.5",
|
|
91414
|
+
// "initialMargin": "1",
|
|
91415
|
+
// "isLowestRisk": 1,
|
|
91416
|
+
// "maxLeverage": "100.00"
|
|
91417
|
+
// }
|
|
91418
|
+
// ]
|
|
91419
|
+
//
|
|
91420
|
+
const tiers = {};
|
|
91421
|
+
const marketIds = this.marketIds(symbols);
|
|
91422
|
+
const filteredResults = this.filterByArray(response, marketIdKey, marketIds, false);
|
|
91423
|
+
const grouped = this.groupBy(filteredResults, marketIdKey);
|
|
91424
|
+
const keys = Object.keys(grouped);
|
|
91425
|
+
for (let i = 0; i < keys.length; i++) {
|
|
91426
|
+
const marketId = keys[i];
|
|
91427
|
+
const entry = grouped[marketId];
|
|
91428
|
+
const market = this.safeMarket(marketId, undefined, undefined, 'contract');
|
|
91429
|
+
const symbol = market['symbol'];
|
|
91430
|
+
tiers[symbol] = this.parseMarketLeverageTiers(entry, market);
|
|
91431
|
+
}
|
|
91432
|
+
return tiers;
|
|
91433
|
+
}
|
|
91434
|
+
parseMarketLeverageTiers(info, market = undefined) {
|
|
91435
|
+
//
|
|
91436
|
+
// [
|
|
91437
|
+
// {
|
|
91438
|
+
// "id": 1,
|
|
91439
|
+
// "symbol": "BTCUSD",
|
|
91440
|
+
// "riskLimitValue": "150",
|
|
91441
|
+
// "maintenanceMargin": "0.5",
|
|
91442
|
+
// "initialMargin": "1",
|
|
91443
|
+
// "isLowestRisk": 1,
|
|
91444
|
+
// "maxLeverage": "100.00"
|
|
91445
|
+
// }
|
|
91446
|
+
// ]
|
|
91447
|
+
//
|
|
91448
|
+
const tiers = [];
|
|
91449
|
+
for (let i = 0; i < info.length; i++) {
|
|
91450
|
+
const tier = info[i];
|
|
91451
|
+
const marketId = this.safeString(info, 'symbol');
|
|
91452
|
+
market = this.safeMarket(marketId);
|
|
91453
|
+
tiers.push({
|
|
91454
|
+
'tier': this.safeInteger(tier, 'id'),
|
|
91455
|
+
'currency': market['settle'],
|
|
91456
|
+
'minNotional': undefined,
|
|
91457
|
+
'maxNotional': undefined,
|
|
91458
|
+
'maintenanceMarginRate': this.safeNumber(tier, 'maintenanceMargin'),
|
|
91459
|
+
'maxLeverage': this.safeNumber(tier, 'maxLeverage'),
|
|
91460
|
+
'info': tier,
|
|
91461
|
+
});
|
|
91462
|
+
}
|
|
91463
|
+
return tiers;
|
|
91464
|
+
}
|
|
91375
91465
|
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
91376
91466
|
let url = this.implodeHostname(this.urls['api'][api]) + '/' + path;
|
|
91377
91467
|
if (api === 'public') {
|
|
@@ -97231,7 +97321,7 @@ class coinbaseinternational extends _abstract_coinbaseinternational_js__WEBPACK_
|
|
|
97231
97321
|
'test': {
|
|
97232
97322
|
'rest': 'https://api-n5e1.coinbase.com/api',
|
|
97233
97323
|
},
|
|
97234
|
-
'www': 'https://
|
|
97324
|
+
'www': 'https://international.coinbase.com',
|
|
97235
97325
|
'doc': [
|
|
97236
97326
|
'https://docs.cloud.coinbaseinternational.com/intx/docs',
|
|
97237
97327
|
],
|
|
@@ -102022,7 +102112,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
102022
102112
|
'perpetualPrivate': 'https://api.coinex.com/perpetual',
|
|
102023
102113
|
},
|
|
102024
102114
|
'www': 'https://www.coinex.com',
|
|
102025
|
-
'doc': 'https://github.
|
|
102115
|
+
'doc': 'https://viabtc.github.io/coinex_api_en_doc',
|
|
102026
102116
|
'fees': 'https://www.coinex.com/fees',
|
|
102027
102117
|
'referral': 'https://www.coinex.com/register?refer_code=yw5fz',
|
|
102028
102118
|
},
|
|
@@ -102236,6 +102326,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
102236
102326
|
},
|
|
102237
102327
|
'broad': {
|
|
102238
102328
|
'ip not allow visit': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
|
|
102329
|
+
'service too busy': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeNotAvailable,
|
|
102239
102330
|
},
|
|
102240
102331
|
},
|
|
102241
102332
|
});
|
|
@@ -107042,7 +107133,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
107042
107133
|
* @method
|
|
107043
107134
|
* @name coinex#borrowIsolatedMargin
|
|
107044
107135
|
* @description create a loan to borrow margin
|
|
107045
|
-
* @see https://github.
|
|
107136
|
+
* @see https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot002_account017_margin_loan
|
|
107046
107137
|
* @param {string} symbol unified market symbol, required for coinex
|
|
107047
107138
|
* @param {string} code unified currency code of the currency to borrow
|
|
107048
107139
|
* @param {float} amount the amount to borrow
|
|
@@ -107079,7 +107170,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
107079
107170
|
* @method
|
|
107080
107171
|
* @name coinex#repayIsolatedMargin
|
|
107081
107172
|
* @description repay borrowed margin and interest
|
|
107082
|
-
* @see https://github.
|
|
107173
|
+
* @see https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot002_account018_margin_flat
|
|
107083
107174
|
* @param {string} symbol unified market symbol, required for coinex
|
|
107084
107175
|
* @param {string} code unified currency code of the currency to repay
|
|
107085
107176
|
* @param {float} amount the amount to repay
|
|
@@ -139856,6 +139947,7 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
139856
139947
|
'failed': 'canceled',
|
|
139857
139948
|
'expired': 'canceled',
|
|
139858
139949
|
'finished': 'closed',
|
|
139950
|
+
'finish': 'closed',
|
|
139859
139951
|
'succeeded': 'closed',
|
|
139860
139952
|
};
|
|
139861
139953
|
return this.safeString(statuses, status, status);
|
|
@@ -151311,6 +151403,9 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
|
|
|
151311
151403
|
},
|
|
151312
151404
|
},
|
|
151313
151405
|
},
|
|
151406
|
+
'fetchOHLCV': {
|
|
151407
|
+
'useHistoricalEndpointForSpot': true,
|
|
151408
|
+
},
|
|
151314
151409
|
'withdraw': {
|
|
151315
151410
|
'includeFee': false,
|
|
151316
151411
|
},
|
|
@@ -153318,6 +153413,7 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
|
|
|
153318
153413
|
* @param {int} [limit] the maximum amount of candles to fetch
|
|
153319
153414
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
153320
153415
|
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
153416
|
+
* @param {string} [params.useHistoricalEndpointForSpot] true/false - whether use the historical candles endpoint for spot markets or default klines endpoint
|
|
153321
153417
|
* @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
|
|
153322
153418
|
*/
|
|
153323
153419
|
await this.loadMarkets();
|
|
@@ -153424,19 +153520,22 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
|
|
|
153424
153520
|
}
|
|
153425
153521
|
}
|
|
153426
153522
|
else {
|
|
153427
|
-
if (since !== undefined) {
|
|
153428
|
-
request['from'] = this.parseToInt(since / 1000);
|
|
153429
|
-
}
|
|
153430
|
-
if (limit !== undefined) {
|
|
153431
|
-
request['size'] = limit; // max 2000
|
|
153432
|
-
}
|
|
153433
153523
|
request['symbol'] = market['id'];
|
|
153434
|
-
|
|
153435
|
-
|
|
153436
|
-
|
|
153524
|
+
let useHistorical = undefined;
|
|
153525
|
+
[useHistorical, params] = this.handleOptionAndParams(params, 'fetchOHLCV', 'useHistoricalEndpointForSpot', true);
|
|
153526
|
+
if (!useHistorical) {
|
|
153527
|
+
// `limit` only available for the this endpoint
|
|
153528
|
+
if (limit !== undefined) {
|
|
153529
|
+
request['size'] = limit; // max 2000
|
|
153530
|
+
}
|
|
153437
153531
|
response = await this.spotPublicGetMarketHistoryKline(this.extend(request, params));
|
|
153438
153532
|
}
|
|
153439
153533
|
else {
|
|
153534
|
+
// `since` only available for the this endpoint
|
|
153535
|
+
if (since !== undefined) {
|
|
153536
|
+
// default 150 bars
|
|
153537
|
+
request['from'] = this.parseToInt(since / 1000);
|
|
153538
|
+
}
|
|
153440
153539
|
response = await this.spotPublicGetMarketHistoryCandles(this.extend(request, params));
|
|
153441
153540
|
}
|
|
153442
153541
|
}
|
|
@@ -161876,7 +161975,7 @@ class hyperliquid extends _abstract_hyperliquid_js__WEBPACK_IMPORTED_MODULE_0__/
|
|
|
161876
161975
|
'optionType': undefined,
|
|
161877
161976
|
'precision': {
|
|
161878
161977
|
'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'szDecimals'))),
|
|
161879
|
-
'price':
|
|
161978
|
+
'price': 5, // significant digits
|
|
161880
161979
|
},
|
|
161881
161980
|
'limits': {
|
|
161882
161981
|
'leverage': {
|
|
@@ -162358,6 +162457,7 @@ class hyperliquid extends _abstract_hyperliquid_js__WEBPACK_IMPORTED_MODULE_0__/
|
|
|
162358
162457
|
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ArgumentsRequired(this.id + ' market orders require price to calculate the max slippage price. Default slippage can be set in options (default is 5%).');
|
|
162359
162458
|
}
|
|
162360
162459
|
px = (isBuy) ? _base_Precise_js__WEBPACK_IMPORTED_MODULE_6__/* .Precise */ .O.stringMul(price, _base_Precise_js__WEBPACK_IMPORTED_MODULE_6__/* .Precise */ .O.stringAdd('1', slippage)) : _base_Precise_js__WEBPACK_IMPORTED_MODULE_6__/* .Precise */ .O.stringMul(price, _base_Precise_js__WEBPACK_IMPORTED_MODULE_6__/* .Precise */ .O.stringSub('1', slippage));
|
|
162460
|
+
px = this.priceToPrecision(symbol, px); // round after adding slippage
|
|
162361
162461
|
}
|
|
162362
162462
|
else {
|
|
162363
162463
|
px = this.priceToPrecision(symbol, price);
|
|
@@ -170322,7 +170422,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
170322
170422
|
// todo unify parsePosition/parsePositions
|
|
170323
170423
|
return result;
|
|
170324
170424
|
}
|
|
170325
|
-
|
|
170425
|
+
parseAccountType(account) {
|
|
170326
170426
|
const accountByType = {
|
|
170327
170427
|
'spot': 'Spot Wallet',
|
|
170328
170428
|
'swap': 'Futures Wallet',
|
|
@@ -170356,8 +170456,8 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
170356
170456
|
*/
|
|
170357
170457
|
await this.loadMarkets();
|
|
170358
170458
|
const currency = this.currency(code);
|
|
170359
|
-
fromAccount = this.
|
|
170360
|
-
toAccount = this.
|
|
170459
|
+
fromAccount = this.parseAccountType(fromAccount);
|
|
170460
|
+
toAccount = this.parseAccountType(toAccount);
|
|
170361
170461
|
const request = {
|
|
170362
170462
|
'amount': this.currencyToPrecision(code, amount),
|
|
170363
170463
|
'from': fromAccount,
|
|
@@ -173683,7 +173783,7 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
173683
173783
|
'400006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
|
|
173684
173784
|
'400007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
|
|
173685
173785
|
'400008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported,
|
|
173686
|
-
'400100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.
|
|
173786
|
+
'400100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
|
|
173687
173787
|
'400200': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
|
|
173688
173788
|
'400350': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
|
|
173689
173789
|
'400370': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
|
|
@@ -262149,16 +262249,17 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
262149
262249
|
const market = this.market(marketId);
|
|
262150
262250
|
const symbol = market['symbol'];
|
|
262151
262251
|
const messageHash = 'trade:' + symbol;
|
|
262152
|
-
|
|
262153
|
-
if (tradesArray === undefined) {
|
|
262252
|
+
if (this.safeList(this.trades, symbol) === undefined) {
|
|
262154
262253
|
const tradesLimit = this.safeInteger(this.options, 'tradesLimit', 1000);
|
|
262155
|
-
|
|
262156
|
-
this.trades[symbol] = tradesArray;
|
|
262254
|
+
this.trades[symbol] = new _base_ws_Cache_js__WEBPACK_IMPORTED_MODULE_1__/* .ArrayCache */ .ZL(tradesLimit);
|
|
262157
262255
|
}
|
|
262256
|
+
const tradesArray = this.trades[symbol];
|
|
262158
262257
|
if (channel === 'trade_snapshot') {
|
|
262159
|
-
const trades = this.
|
|
262160
|
-
|
|
262161
|
-
|
|
262258
|
+
const trades = this.safeList(message, 'trades', []);
|
|
262259
|
+
const length = trades.length;
|
|
262260
|
+
for (let i = 0; i < length; i++) {
|
|
262261
|
+
const index = length - 1 - i; // need reverse to correct chronology
|
|
262262
|
+
const item = trades[index];
|
|
262162
262263
|
const trade = this.parseWsTrade(item);
|
|
262163
262264
|
tradesArray.append(trade);
|
|
262164
262265
|
}
|
|
@@ -299540,6 +299641,646 @@ class tokocrypto extends _abstract_tokocrypto_js__WEBPACK_IMPORTED_MODULE_0__/*
|
|
|
299540
299641
|
}
|
|
299541
299642
|
|
|
299542
299643
|
|
|
299644
|
+
/***/ }),
|
|
299645
|
+
|
|
299646
|
+
/***/ 1911:
|
|
299647
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
299648
|
+
|
|
299649
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
299650
|
+
/* harmony export */ Z: () => (/* binding */ tradeogre)
|
|
299651
|
+
/* harmony export */ });
|
|
299652
|
+
/* harmony import */ var _abstract_tradeogre_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(567);
|
|
299653
|
+
/* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6689);
|
|
299654
|
+
/* harmony import */ var _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9292);
|
|
299655
|
+
// ---------------------------------------------------------------------------
|
|
299656
|
+
|
|
299657
|
+
|
|
299658
|
+
|
|
299659
|
+
// ---------------------------------------------------------------------------
|
|
299660
|
+
/**
|
|
299661
|
+
* @class tradeogre
|
|
299662
|
+
* @augments Exchange
|
|
299663
|
+
*/
|
|
299664
|
+
class tradeogre extends _abstract_tradeogre_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
|
|
299665
|
+
describe() {
|
|
299666
|
+
return this.deepExtend(super.describe(), {
|
|
299667
|
+
'id': 'tradeogre',
|
|
299668
|
+
'name': 'tradeogre',
|
|
299669
|
+
'countries': [],
|
|
299670
|
+
'rateLimit': 100,
|
|
299671
|
+
'version': 'v2',
|
|
299672
|
+
'pro': false,
|
|
299673
|
+
'has': {
|
|
299674
|
+
'CORS': undefined,
|
|
299675
|
+
'spot': true,
|
|
299676
|
+
'margin': false,
|
|
299677
|
+
'swap': false,
|
|
299678
|
+
'future': false,
|
|
299679
|
+
'option': false,
|
|
299680
|
+
'addMargin': false,
|
|
299681
|
+
'cancelAllOrders': true,
|
|
299682
|
+
'cancelOrder': true,
|
|
299683
|
+
'cancelOrders': false,
|
|
299684
|
+
'closeAllPositions': false,
|
|
299685
|
+
'closePosition': false,
|
|
299686
|
+
'createDepositAddress': false,
|
|
299687
|
+
'createMarketOrder': false,
|
|
299688
|
+
'createOrder': true,
|
|
299689
|
+
'createOrders': false,
|
|
299690
|
+
'createPostOnlyOrder': false,
|
|
299691
|
+
'createReduceOnlyOrder': false,
|
|
299692
|
+
'createStopLimitOrder': false,
|
|
299693
|
+
'createStopMarketOrder': false,
|
|
299694
|
+
'createStopOrder': false,
|
|
299695
|
+
'fetchAccounts': false,
|
|
299696
|
+
'fetchBalance': true,
|
|
299697
|
+
'fetchBorrowInterest': false,
|
|
299698
|
+
'fetchBorrowRateHistory': false,
|
|
299699
|
+
'fetchClosedOrders': false,
|
|
299700
|
+
'fetchCrossBorrowRate': false,
|
|
299701
|
+
'fetchCrossBorrowRates': false,
|
|
299702
|
+
'fetchDeposit': false,
|
|
299703
|
+
'fetchDepositAddress': false,
|
|
299704
|
+
'fetchDepositAddresses': false,
|
|
299705
|
+
'fetchDepositAddressesByNetwork': false,
|
|
299706
|
+
'fetchDeposits': false,
|
|
299707
|
+
'fetchDepositsWithdrawals': false,
|
|
299708
|
+
'fetchFundingHistory': false,
|
|
299709
|
+
'fetchFundingRate': false,
|
|
299710
|
+
'fetchFundingRateHistory': false,
|
|
299711
|
+
'fetchFundingRates': false,
|
|
299712
|
+
'fetchIndexOHLCV': false,
|
|
299713
|
+
'fetchIsolatedBorrowRate': false,
|
|
299714
|
+
'fetchIsolatedBorrowRates': false,
|
|
299715
|
+
'fetchLedger': false,
|
|
299716
|
+
'fetchLedgerEntry': false,
|
|
299717
|
+
'fetchLeverageTiers': false,
|
|
299718
|
+
'fetchMarketLeverageTiers': false,
|
|
299719
|
+
'fetchMarkets': true,
|
|
299720
|
+
'fetchMarkOHLCV': false,
|
|
299721
|
+
'fetchMyTrades': false,
|
|
299722
|
+
'fetchOHLCV': false,
|
|
299723
|
+
'fetchOpenInterest': false,
|
|
299724
|
+
'fetchOpenInterestHistory': false,
|
|
299725
|
+
'fetchOpenOrders': true,
|
|
299726
|
+
'fetchOrder': true,
|
|
299727
|
+
'fetchOrderBook': true,
|
|
299728
|
+
'fetchOrderBooks': false,
|
|
299729
|
+
'fetchOrders': false,
|
|
299730
|
+
'fetchOrderTrades': false,
|
|
299731
|
+
'fetchPermissions': false,
|
|
299732
|
+
'fetchPosition': false,
|
|
299733
|
+
'fetchPositions': false,
|
|
299734
|
+
'fetchPositionsForSymbol': false,
|
|
299735
|
+
'fetchPositionsRisk': false,
|
|
299736
|
+
'fetchPremiumIndexOHLCV': false,
|
|
299737
|
+
'fetchTicker': true,
|
|
299738
|
+
'fetchTickers': false,
|
|
299739
|
+
'fetchTrades': true,
|
|
299740
|
+
'fetchTradingLimits': false,
|
|
299741
|
+
'fetchTransactionFee': false,
|
|
299742
|
+
'fetchTransactionFees': false,
|
|
299743
|
+
'fetchTransactions': false,
|
|
299744
|
+
'fetchTransfers': false,
|
|
299745
|
+
'fetchWithdrawAddresses': false,
|
|
299746
|
+
'fetchWithdrawal': false,
|
|
299747
|
+
'fetchWithdrawals': false,
|
|
299748
|
+
'reduceMargin': false,
|
|
299749
|
+
'setLeverage': false,
|
|
299750
|
+
'setMargin': false,
|
|
299751
|
+
'setMarginMode': false,
|
|
299752
|
+
'setPositionMode': false,
|
|
299753
|
+
'signIn': false,
|
|
299754
|
+
'transfer': false,
|
|
299755
|
+
'withdraw': false,
|
|
299756
|
+
},
|
|
299757
|
+
'urls': {
|
|
299758
|
+
'referral': '',
|
|
299759
|
+
'logo': 'https://github.com/ccxt/ccxt/assets/43336371/3aa748b7-ea44-45e9-a9e7-b1d207a2578a',
|
|
299760
|
+
'api': {
|
|
299761
|
+
'rest': 'https://tradeogre.com/api/v1',
|
|
299762
|
+
},
|
|
299763
|
+
'www': 'https://tradeogre.com',
|
|
299764
|
+
'doc': 'https://tradeogre.com/help/api',
|
|
299765
|
+
'fees': 'https://tradeogre.com/help/fees',
|
|
299766
|
+
},
|
|
299767
|
+
'fees': {
|
|
299768
|
+
'trading': {
|
|
299769
|
+
'maker': this.parseNumber('0.002'),
|
|
299770
|
+
'taker': this.parseNumber('0.002'),
|
|
299771
|
+
},
|
|
299772
|
+
},
|
|
299773
|
+
'api': {
|
|
299774
|
+
'public': {
|
|
299775
|
+
'get': {
|
|
299776
|
+
'markets': 1,
|
|
299777
|
+
'orders/{market}': 1,
|
|
299778
|
+
'ticker/{market}': 1,
|
|
299779
|
+
'history/{market}': 1,
|
|
299780
|
+
},
|
|
299781
|
+
},
|
|
299782
|
+
'private': {
|
|
299783
|
+
'get': {
|
|
299784
|
+
'account/balance': 1,
|
|
299785
|
+
'account/balances': 1,
|
|
299786
|
+
'account/order/{uuid}': 1,
|
|
299787
|
+
},
|
|
299788
|
+
'post': {
|
|
299789
|
+
'order/buy': 1,
|
|
299790
|
+
'order/sell': 1,
|
|
299791
|
+
'order/cancel': 1,
|
|
299792
|
+
'orders': 1,
|
|
299793
|
+
'account/orders': 1,
|
|
299794
|
+
},
|
|
299795
|
+
},
|
|
299796
|
+
},
|
|
299797
|
+
'commonCurrencies': {},
|
|
299798
|
+
'precisionMode': _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__/* .TICK_SIZE */ .sh,
|
|
299799
|
+
'exceptions': {
|
|
299800
|
+
'exact': {
|
|
299801
|
+
'Must be authorized': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
|
|
299802
|
+
'Market not found': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
|
|
299803
|
+
'Insufficient funds': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
|
|
299804
|
+
'Order not found': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
|
|
299805
|
+
},
|
|
299806
|
+
},
|
|
299807
|
+
'options': {},
|
|
299808
|
+
});
|
|
299809
|
+
}
|
|
299810
|
+
async fetchMarkets(params = {}) {
|
|
299811
|
+
/**
|
|
299812
|
+
* @method
|
|
299813
|
+
* @name tradeogre#fetchMarkets
|
|
299814
|
+
* @description retrieves data on all markets for bigone
|
|
299815
|
+
* @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#markets
|
|
299816
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
299817
|
+
* @returns {object[]} an array of objects representing market data
|
|
299818
|
+
*/
|
|
299819
|
+
const response = await this.publicGetMarkets(params);
|
|
299820
|
+
//
|
|
299821
|
+
// [
|
|
299822
|
+
// {
|
|
299823
|
+
// "AEON-BTC": {
|
|
299824
|
+
// "initialprice": "0.00022004",
|
|
299825
|
+
// "price": "0.00025992",
|
|
299826
|
+
// "high": "0.00025992",
|
|
299827
|
+
// "low": "0.00022003",
|
|
299828
|
+
// "volume": "0.00359066",
|
|
299829
|
+
// "bid": "0.00022456",
|
|
299830
|
+
// "ask": "0.00025993"
|
|
299831
|
+
// }
|
|
299832
|
+
// }
|
|
299833
|
+
// ]
|
|
299834
|
+
//
|
|
299835
|
+
const result = [];
|
|
299836
|
+
for (let i = 0; i < response.length; i++) {
|
|
299837
|
+
const rawMarket = response[i];
|
|
299838
|
+
const keys = Object.keys(rawMarket);
|
|
299839
|
+
const id = this.safeString(keys, 0);
|
|
299840
|
+
const keyParts = id.split('-');
|
|
299841
|
+
const baseId = this.safeString(keyParts, 0);
|
|
299842
|
+
const quoteId = this.safeString(keyParts, 1);
|
|
299843
|
+
const base = this.safeCurrencyCode(baseId);
|
|
299844
|
+
const quote = this.safeCurrencyCode(quoteId);
|
|
299845
|
+
const market = this.safeMarketStructure({
|
|
299846
|
+
'id': id,
|
|
299847
|
+
'symbol': base + '/' + quote,
|
|
299848
|
+
'base': base,
|
|
299849
|
+
'quote': quote,
|
|
299850
|
+
'settle': undefined,
|
|
299851
|
+
'baseId': baseId,
|
|
299852
|
+
'quoteId': quoteId,
|
|
299853
|
+
'settleId': undefined,
|
|
299854
|
+
'type': 'spot',
|
|
299855
|
+
'spot': true,
|
|
299856
|
+
'margin': false,
|
|
299857
|
+
'swap': false,
|
|
299858
|
+
'future': false,
|
|
299859
|
+
'option': false,
|
|
299860
|
+
'active': true,
|
|
299861
|
+
'contract': false,
|
|
299862
|
+
'linear': undefined,
|
|
299863
|
+
'inverse': undefined,
|
|
299864
|
+
'contractSize': undefined,
|
|
299865
|
+
'taker': this.fees['trading']['taker'],
|
|
299866
|
+
'maker': this.fees['trading']['taker'],
|
|
299867
|
+
'expiry': undefined,
|
|
299868
|
+
'expiryDatetime': undefined,
|
|
299869
|
+
'strike': undefined,
|
|
299870
|
+
'optionType': undefined,
|
|
299871
|
+
'precision': {
|
|
299872
|
+
'amount': this.parseNumber(this.parsePrecision('8')),
|
|
299873
|
+
'price': this.parseNumber(this.parsePrecision('8')), // they're not explicit about it
|
|
299874
|
+
},
|
|
299875
|
+
'limits': {
|
|
299876
|
+
'leverage': {
|
|
299877
|
+
'min': undefined,
|
|
299878
|
+
'max': undefined,
|
|
299879
|
+
},
|
|
299880
|
+
'amount': {
|
|
299881
|
+
'min': undefined,
|
|
299882
|
+
'max': undefined,
|
|
299883
|
+
},
|
|
299884
|
+
'price': {
|
|
299885
|
+
'min': undefined,
|
|
299886
|
+
'max': undefined,
|
|
299887
|
+
},
|
|
299888
|
+
'cost': {
|
|
299889
|
+
'min': undefined,
|
|
299890
|
+
'max': undefined,
|
|
299891
|
+
},
|
|
299892
|
+
},
|
|
299893
|
+
'created': undefined,
|
|
299894
|
+
'info': rawMarket,
|
|
299895
|
+
});
|
|
299896
|
+
result.push(market);
|
|
299897
|
+
}
|
|
299898
|
+
return result;
|
|
299899
|
+
}
|
|
299900
|
+
async fetchTicker(symbol, params = {}) {
|
|
299901
|
+
/**
|
|
299902
|
+
* @method
|
|
299903
|
+
* @name tradeogre#fetchTicker
|
|
299904
|
+
* @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
299905
|
+
* @param {string} symbol unified symbol of the market to fetch the ticker for
|
|
299906
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
299907
|
+
* @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
299908
|
+
*/
|
|
299909
|
+
await this.loadMarkets();
|
|
299910
|
+
const market = this.market(symbol);
|
|
299911
|
+
const request = {
|
|
299912
|
+
'market': market['id'],
|
|
299913
|
+
};
|
|
299914
|
+
const response = await this.publicGetTickerMarket(this.extend(request, params));
|
|
299915
|
+
//
|
|
299916
|
+
// {
|
|
299917
|
+
// "success":true,
|
|
299918
|
+
// "initialprice":"0.02502002",
|
|
299919
|
+
// "price":"0.02500000",
|
|
299920
|
+
// "high":"0.03102001",
|
|
299921
|
+
// "low":"0.02500000",
|
|
299922
|
+
// "volume":"0.15549958",
|
|
299923
|
+
// "bid":"0.02420000",
|
|
299924
|
+
// "ask":"0.02625000"
|
|
299925
|
+
// }
|
|
299926
|
+
//
|
|
299927
|
+
return this.parseTicker(response, market);
|
|
299928
|
+
}
|
|
299929
|
+
parseTicker(ticker, market = undefined) {
|
|
299930
|
+
//
|
|
299931
|
+
// {
|
|
299932
|
+
// "success":true,
|
|
299933
|
+
// "initialprice":"0.02502002",
|
|
299934
|
+
// "price":"0.02500000",
|
|
299935
|
+
// "high":"0.03102001",
|
|
299936
|
+
// "low":"0.02500000",
|
|
299937
|
+
// "volume":"0.15549958",
|
|
299938
|
+
// "bid":"0.02420000",
|
|
299939
|
+
// "ask":"0.02625000"
|
|
299940
|
+
// }
|
|
299941
|
+
//
|
|
299942
|
+
return this.safeTicker({
|
|
299943
|
+
'symbol': this.safeString(market, 'symbol'),
|
|
299944
|
+
'timestamp': undefined,
|
|
299945
|
+
'datetime': undefined,
|
|
299946
|
+
'high': this.safeString(ticker, 'high'),
|
|
299947
|
+
'low': this.safeString(ticker, 'low'),
|
|
299948
|
+
'bid': this.safeString(ticker, 'bid'),
|
|
299949
|
+
'bidVolume': undefined,
|
|
299950
|
+
'ask': this.safeString(ticker, 'ask'),
|
|
299951
|
+
'askVolume': undefined,
|
|
299952
|
+
'vwap': undefined,
|
|
299953
|
+
'open': this.safeString(ticker, 'open'),
|
|
299954
|
+
'close': undefined,
|
|
299955
|
+
'last': undefined,
|
|
299956
|
+
'previousClose': undefined,
|
|
299957
|
+
'change': undefined,
|
|
299958
|
+
'percentage': undefined,
|
|
299959
|
+
'average': undefined,
|
|
299960
|
+
'baseVolume': this.safeString(ticker, 'volume'),
|
|
299961
|
+
'quoteVolume': undefined,
|
|
299962
|
+
'info': ticker,
|
|
299963
|
+
}, market);
|
|
299964
|
+
}
|
|
299965
|
+
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
299966
|
+
/**
|
|
299967
|
+
* @method
|
|
299968
|
+
* @name tradeogre#fetchOrderBook
|
|
299969
|
+
* @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
|
|
299970
|
+
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
299971
|
+
* @param {int} [limit] the maximum amount of order book entries to return
|
|
299972
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
299973
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
|
|
299974
|
+
*/
|
|
299975
|
+
await this.loadMarkets();
|
|
299976
|
+
const market = this.market(symbol);
|
|
299977
|
+
const request = {
|
|
299978
|
+
'market': market['id'],
|
|
299979
|
+
};
|
|
299980
|
+
const response = await this.publicGetOrdersMarket(this.extend(request, params));
|
|
299981
|
+
//
|
|
299982
|
+
// {
|
|
299983
|
+
// "success": true,
|
|
299984
|
+
// "buy": {
|
|
299985
|
+
// "0.02425501": "36.46986607",
|
|
299986
|
+
// "0.02425502": "93.64201137",
|
|
299987
|
+
// "0.02425503": "19.02000000",
|
|
299988
|
+
// "0.02425515": "115.49000000"
|
|
299989
|
+
// }
|
|
299990
|
+
//
|
|
299991
|
+
const rawBids = this.safeDict(response, 'buy', {});
|
|
299992
|
+
const rawAsks = this.safeDict(response, 'sell', {});
|
|
299993
|
+
const rawOrderbook = {
|
|
299994
|
+
'bids': rawBids,
|
|
299995
|
+
'asks': rawAsks,
|
|
299996
|
+
};
|
|
299997
|
+
const orderbook = this.parseOrderBook(rawOrderbook, symbol);
|
|
299998
|
+
return orderbook;
|
|
299999
|
+
}
|
|
300000
|
+
parseBidsAsks(bidasks, priceKey = 0, amountKey = 1, countOrIdKey = 2) {
|
|
300001
|
+
const prices = Object.keys(bidasks);
|
|
300002
|
+
const result = [];
|
|
300003
|
+
for (let i = 0; i < prices.length; i++) {
|
|
300004
|
+
const priceString = this.safeString(prices, i);
|
|
300005
|
+
const price = this.safeNumber(prices, i);
|
|
300006
|
+
const volume = this.safeNumber(bidasks, priceString);
|
|
300007
|
+
result.push([price, volume]);
|
|
300008
|
+
}
|
|
300009
|
+
return result;
|
|
300010
|
+
}
|
|
300011
|
+
async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
|
|
300012
|
+
/**
|
|
300013
|
+
* @method
|
|
300014
|
+
* @name tradeogre#fetchTrades
|
|
300015
|
+
* @description get the list of most recent trades for a particular symbol
|
|
300016
|
+
* @param {string} symbol unified symbol of the market to fetch trades for
|
|
300017
|
+
* @param {int} [since] timestamp in ms of the earliest trade to fetch
|
|
300018
|
+
* @param {int} [limit] the maximum number of trades to fetch
|
|
300019
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
300020
|
+
* @param {int} params.lastId order id
|
|
300021
|
+
* @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
|
|
300022
|
+
*/
|
|
300023
|
+
await this.loadMarkets();
|
|
300024
|
+
const market = this.market(symbol);
|
|
300025
|
+
const request = {
|
|
300026
|
+
'market': market['id'],
|
|
300027
|
+
};
|
|
300028
|
+
const response = await this.publicGetHistoryMarket(this.extend(request, params));
|
|
300029
|
+
return this.parseTrades(response, market, since, limit);
|
|
300030
|
+
}
|
|
300031
|
+
parseTrade(trade, market = undefined) {
|
|
300032
|
+
//
|
|
300033
|
+
// {
|
|
300034
|
+
// "date":1515128233,
|
|
300035
|
+
// "type":"sell",
|
|
300036
|
+
// "price":"0.02454320",
|
|
300037
|
+
// "quantity":"0.17614230"
|
|
300038
|
+
// }
|
|
300039
|
+
//
|
|
300040
|
+
const timestamp = this.safeIntegerProduct(trade, 'date', 1000);
|
|
300041
|
+
return this.safeTrade({
|
|
300042
|
+
'info': trade,
|
|
300043
|
+
'id': undefined,
|
|
300044
|
+
'timestamp': timestamp,
|
|
300045
|
+
'datetime': this.iso8601(timestamp),
|
|
300046
|
+
'symbol': this.safeString(market, 'symbol'),
|
|
300047
|
+
'order': undefined,
|
|
300048
|
+
'type': undefined,
|
|
300049
|
+
'side': this.safeString(trade, 'type'),
|
|
300050
|
+
'takerOrMaker': undefined,
|
|
300051
|
+
'price': this.safeString(trade, 'price'),
|
|
300052
|
+
'amount': this.safeString(trade, 'quantity'),
|
|
300053
|
+
'cost': undefined,
|
|
300054
|
+
'fee': {
|
|
300055
|
+
'currency': undefined,
|
|
300056
|
+
'cost': undefined,
|
|
300057
|
+
},
|
|
300058
|
+
}, market);
|
|
300059
|
+
}
|
|
300060
|
+
async fetchBalance(params = {}) {
|
|
300061
|
+
/**
|
|
300062
|
+
* @method
|
|
300063
|
+
* @name tradeogre#fetchBalance
|
|
300064
|
+
* @description query for balance and get the amount of funds available for trading or funds locked in orders
|
|
300065
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
300066
|
+
* @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
|
|
300067
|
+
*/
|
|
300068
|
+
await this.loadMarkets();
|
|
300069
|
+
const response = await this.privateGetAccountBalances(params);
|
|
300070
|
+
const result = this.safeDict(response, 'balances', {});
|
|
300071
|
+
return this.parseBalance(result);
|
|
300072
|
+
}
|
|
300073
|
+
parseBalance(response) {
|
|
300074
|
+
//
|
|
300075
|
+
// {
|
|
300076
|
+
// "USDT": "12"
|
|
300077
|
+
// }
|
|
300078
|
+
//
|
|
300079
|
+
const result = {
|
|
300080
|
+
'info': response,
|
|
300081
|
+
};
|
|
300082
|
+
const keys = Object.keys(response);
|
|
300083
|
+
for (let i = 0; i < keys.length; i++) {
|
|
300084
|
+
const currencyId = keys[i];
|
|
300085
|
+
const balance = response[currencyId];
|
|
300086
|
+
const code = this.safeCurrencyCode(currencyId);
|
|
300087
|
+
const account = {
|
|
300088
|
+
'total': balance,
|
|
300089
|
+
};
|
|
300090
|
+
result[code] = account;
|
|
300091
|
+
}
|
|
300092
|
+
return this.safeBalance(result);
|
|
300093
|
+
}
|
|
300094
|
+
async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
|
|
300095
|
+
/**
|
|
300096
|
+
* @method
|
|
300097
|
+
* @name tradeogre#createOrder
|
|
300098
|
+
* @description create a trade order
|
|
300099
|
+
* @param {string} symbol unified symbol of the market to create an order in
|
|
300100
|
+
* @param {string} type not used by tradeogre
|
|
300101
|
+
* @param {string} side 'buy' or 'sell'
|
|
300102
|
+
* @param {float} amount how much of currency you want to trade in units of base currency
|
|
300103
|
+
* @param {float} price the price at which the order is to be fullfilled, in units of the quote currency
|
|
300104
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
300105
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
300106
|
+
*/
|
|
300107
|
+
await this.loadMarkets();
|
|
300108
|
+
const market = this.market(symbol);
|
|
300109
|
+
const request = {
|
|
300110
|
+
'market': market['id'],
|
|
300111
|
+
'quantity': this.parseToNumeric(this.amountToPrecision(symbol, amount)),
|
|
300112
|
+
'price': this.parseToNumeric(this.priceToPrecision(symbol, price)),
|
|
300113
|
+
};
|
|
300114
|
+
if (type === 'market') {
|
|
300115
|
+
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' createOrder does not support market orders');
|
|
300116
|
+
}
|
|
300117
|
+
let response = undefined;
|
|
300118
|
+
if (side === 'buy') {
|
|
300119
|
+
response = await this.privatePostOrderBuy(this.extend(request, params));
|
|
300120
|
+
}
|
|
300121
|
+
else {
|
|
300122
|
+
response = await this.privatePostOrderSell(this.extend(request, params));
|
|
300123
|
+
}
|
|
300124
|
+
return this.parseOrder(response, market);
|
|
300125
|
+
}
|
|
300126
|
+
async cancelOrder(id, symbol = undefined, params = {}) {
|
|
300127
|
+
/**
|
|
300128
|
+
* @method
|
|
300129
|
+
* @name tradeogre#cancelOrder
|
|
300130
|
+
* @description cancels an open order
|
|
300131
|
+
* @param {string} id order id
|
|
300132
|
+
* @param {string} symbol unified symbol of the market the order was made in
|
|
300133
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
300134
|
+
* @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
300135
|
+
*/
|
|
300136
|
+
await this.loadMarkets();
|
|
300137
|
+
const request = {
|
|
300138
|
+
'uuid': id,
|
|
300139
|
+
};
|
|
300140
|
+
const response = await this.privatePostOrderCancel(this.extend(request, params));
|
|
300141
|
+
return this.parseOrder(response);
|
|
300142
|
+
}
|
|
300143
|
+
async cancelAllOrders(symbol = undefined, params = {}) {
|
|
300144
|
+
/**
|
|
300145
|
+
* @method
|
|
300146
|
+
* @name tradeogre#cancelAllOrders
|
|
300147
|
+
* @description cancel all open orders
|
|
300148
|
+
* @param {string} symbol alpaca cancelAllOrders cannot setting symbol, it will cancel all open orders
|
|
300149
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
300150
|
+
* @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
300151
|
+
*/
|
|
300152
|
+
await this.loadMarkets();
|
|
300153
|
+
return await this.cancelOrder('all', symbol, params);
|
|
300154
|
+
}
|
|
300155
|
+
async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
300156
|
+
/**
|
|
300157
|
+
* @method
|
|
300158
|
+
* @name tradeogre#fetchOpenOrders
|
|
300159
|
+
* @description fetch all unfilled currently open orders
|
|
300160
|
+
* @param {string} symbol unified market symbol of the market orders were made in
|
|
300161
|
+
* @param {int} [since] the earliest time in ms to fetch orders for
|
|
300162
|
+
* @param {int} [limit] the maximum number of order structures to retrieve
|
|
300163
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
300164
|
+
* @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
300165
|
+
*/
|
|
300166
|
+
await this.loadMarkets();
|
|
300167
|
+
let market = undefined;
|
|
300168
|
+
if (symbol !== undefined) {
|
|
300169
|
+
market = this.market(symbol);
|
|
300170
|
+
}
|
|
300171
|
+
const request = {};
|
|
300172
|
+
if (symbol !== undefined) {
|
|
300173
|
+
request['market'] = market['id'];
|
|
300174
|
+
}
|
|
300175
|
+
const response = await this.privatePostAccountOrders(this.extend(request, params));
|
|
300176
|
+
return this.parseOrders(response, market, since, limit);
|
|
300177
|
+
}
|
|
300178
|
+
async fetchOrder(id, symbol = undefined, params = {}) {
|
|
300179
|
+
/**
|
|
300180
|
+
* @method
|
|
300181
|
+
* @name ace#fetchOrder
|
|
300182
|
+
* @description fetches information on an order made by the user
|
|
300183
|
+
* @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#open-api---order-status
|
|
300184
|
+
* @param {string} symbol unified symbol of the market the order was made in
|
|
300185
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
300186
|
+
* @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
300187
|
+
*/
|
|
300188
|
+
await this.loadMarkets();
|
|
300189
|
+
const request = {
|
|
300190
|
+
'uuid': id,
|
|
300191
|
+
};
|
|
300192
|
+
const response = await this.privateGetAccountOrderUuid(this.extend(request, params));
|
|
300193
|
+
return this.parseOrder(response, undefined);
|
|
300194
|
+
}
|
|
300195
|
+
parseOrder(order, market = undefined) {
|
|
300196
|
+
//
|
|
300197
|
+
//
|
|
300198
|
+
// {
|
|
300199
|
+
// "uuid": "a40ac710-8dc5-b5a8-aa69-389715197b14",
|
|
300200
|
+
// "date": 1514876938,
|
|
300201
|
+
// "type": "sell",
|
|
300202
|
+
// "price": "0.02621960",
|
|
300203
|
+
// "quantity": "1.55772526",
|
|
300204
|
+
// "market": "XMR-BTC"
|
|
300205
|
+
// }
|
|
300206
|
+
//
|
|
300207
|
+
const timestamp = this.safeIntegerProduct(order, 'date', 1000);
|
|
300208
|
+
const marketId = this.safeString(order, 'market');
|
|
300209
|
+
market = this.safeMarket(marketId, market);
|
|
300210
|
+
return this.safeOrder({
|
|
300211
|
+
'info': order,
|
|
300212
|
+
'id': this.safeString(order, 'uuid'),
|
|
300213
|
+
'clientOrderId': undefined,
|
|
300214
|
+
'timestamp': timestamp,
|
|
300215
|
+
'datetime': this.iso8601(timestamp),
|
|
300216
|
+
'lastTradeTimestamp': undefined,
|
|
300217
|
+
'symbol': market['symbol'],
|
|
300218
|
+
'type': undefined,
|
|
300219
|
+
'timeInForce': undefined,
|
|
300220
|
+
'postOnly': undefined,
|
|
300221
|
+
'side': this.safeString(order, 'type'),
|
|
300222
|
+
'price': this.safeString(order, 'price'),
|
|
300223
|
+
'stopPrice': undefined,
|
|
300224
|
+
'amount': this.safeString(order, 'quantity'),
|
|
300225
|
+
'cost': undefined,
|
|
300226
|
+
'average': undefined,
|
|
300227
|
+
'filled': this.safeString(order, 'fulfilled'),
|
|
300228
|
+
'remaining': undefined,
|
|
300229
|
+
'status': undefined,
|
|
300230
|
+
'fee': {
|
|
300231
|
+
'currency': undefined,
|
|
300232
|
+
'cost': undefined,
|
|
300233
|
+
},
|
|
300234
|
+
'trades': undefined,
|
|
300235
|
+
}, market);
|
|
300236
|
+
}
|
|
300237
|
+
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
300238
|
+
let url = this.urls['api']['rest'] + '/' + this.implodeParams(path, params);
|
|
300239
|
+
params = this.omit(params, this.extractParams(path));
|
|
300240
|
+
if (method === 'GET') {
|
|
300241
|
+
if (Object.keys(params).length) {
|
|
300242
|
+
url += '?' + this.urlencode(params);
|
|
300243
|
+
}
|
|
300244
|
+
}
|
|
300245
|
+
if (api === 'private') {
|
|
300246
|
+
headers = {
|
|
300247
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
300248
|
+
'Referer': 'CCXT',
|
|
300249
|
+
'authorization': 'Basic ' + this.stringToBase64(this.apiKey + ':' + this.secret),
|
|
300250
|
+
};
|
|
300251
|
+
if (method !== 'GET') {
|
|
300252
|
+
body = this.urlencode(params);
|
|
300253
|
+
}
|
|
300254
|
+
}
|
|
300255
|
+
return { 'url': url, 'method': method, 'body': body, 'headers': headers };
|
|
300256
|
+
}
|
|
300257
|
+
handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
|
|
300258
|
+
if (response === undefined) {
|
|
300259
|
+
return undefined;
|
|
300260
|
+
}
|
|
300261
|
+
if (!('success' in response)) {
|
|
300262
|
+
return undefined;
|
|
300263
|
+
}
|
|
300264
|
+
//
|
|
300265
|
+
// {"success":false,"error":"Must be authorized"}
|
|
300266
|
+
//
|
|
300267
|
+
const success = this.safeBool(response, 'success');
|
|
300268
|
+
if (success) {
|
|
300269
|
+
return undefined;
|
|
300270
|
+
}
|
|
300271
|
+
const successString = this.safeString(response, 'success');
|
|
300272
|
+
if (successString === 'true') {
|
|
300273
|
+
return undefined;
|
|
300274
|
+
}
|
|
300275
|
+
const error = this.safeValue(response, 'error');
|
|
300276
|
+
const errorCode = this.safeString(error, 'code');
|
|
300277
|
+
const feedback = this.id + ' ' + this.json(response);
|
|
300278
|
+
this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, feedback);
|
|
300279
|
+
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(feedback);
|
|
300280
|
+
}
|
|
300281
|
+
}
|
|
300282
|
+
|
|
300283
|
+
|
|
299543
300284
|
/***/ }),
|
|
299544
300285
|
|
|
299545
300286
|
/***/ 7584:
|
|
@@ -320445,39 +321186,39 @@ var __webpack_exports__ = {};
|
|
|
320445
321186
|
(() => {
|
|
320446
321187
|
__webpack_require__.r(__webpack_exports__);
|
|
320447
321188
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
320448
|
-
/* harmony export */ AccountNotEnabled: () => (/* reexport safe */
|
|
320449
|
-
/* harmony export */ AccountSuspended: () => (/* reexport safe */
|
|
320450
|
-
/* harmony export */ AddressPending: () => (/* reexport safe */
|
|
320451
|
-
/* harmony export */ ArgumentsRequired: () => (/* reexport safe */
|
|
320452
|
-
/* harmony export */ AuthenticationError: () => (/* reexport safe */
|
|
320453
|
-
/* harmony export */ BadRequest: () => (/* reexport safe */
|
|
320454
|
-
/* harmony export */ BadResponse: () => (/* reexport safe */
|
|
320455
|
-
/* harmony export */ BadSymbol: () => (/* reexport safe */
|
|
320456
|
-
/* harmony export */ BaseError: () => (/* reexport safe */
|
|
320457
|
-
/* harmony export */ CancelPending: () => (/* reexport safe */
|
|
320458
|
-
/* harmony export */ DDoSProtection: () => (/* reexport safe */
|
|
320459
|
-
/* harmony export */ DuplicateOrderId: () => (/* reexport safe */
|
|
321189
|
+
/* harmony export */ AccountNotEnabled: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AccountNotEnabled),
|
|
321190
|
+
/* harmony export */ AccountSuspended: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AccountSuspended),
|
|
321191
|
+
/* harmony export */ AddressPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AddressPending),
|
|
321192
|
+
/* harmony export */ ArgumentsRequired: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.ArgumentsRequired),
|
|
321193
|
+
/* harmony export */ AuthenticationError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AuthenticationError),
|
|
321194
|
+
/* harmony export */ BadRequest: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BadRequest),
|
|
321195
|
+
/* harmony export */ BadResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BadResponse),
|
|
321196
|
+
/* harmony export */ BadSymbol: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BadSymbol),
|
|
321197
|
+
/* harmony export */ BaseError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BaseError),
|
|
321198
|
+
/* harmony export */ CancelPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.CancelPending),
|
|
321199
|
+
/* harmony export */ DDoSProtection: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.DDoSProtection),
|
|
321200
|
+
/* harmony export */ DuplicateOrderId: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.DuplicateOrderId),
|
|
320460
321201
|
/* harmony export */ Exchange: () => (/* reexport safe */ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__.e),
|
|
320461
|
-
/* harmony export */ ExchangeError: () => (/* reexport safe */
|
|
320462
|
-
/* harmony export */ ExchangeNotAvailable: () => (/* reexport safe */
|
|
320463
|
-
/* harmony export */ InsufficientFunds: () => (/* reexport safe */
|
|
320464
|
-
/* harmony export */ InvalidAddress: () => (/* reexport safe */
|
|
320465
|
-
/* harmony export */ InvalidNonce: () => (/* reexport safe */
|
|
320466
|
-
/* harmony export */ InvalidOrder: () => (/* reexport safe */
|
|
320467
|
-
/* harmony export */ MarginModeAlreadySet: () => (/* reexport safe */
|
|
320468
|
-
/* harmony export */ NetworkError: () => (/* reexport safe */
|
|
320469
|
-
/* harmony export */ NoChange: () => (/* reexport safe */
|
|
320470
|
-
/* harmony export */ NotSupported: () => (/* reexport safe */
|
|
320471
|
-
/* harmony export */ NullResponse: () => (/* reexport safe */
|
|
320472
|
-
/* harmony export */ OnMaintenance: () => (/* reexport safe */
|
|
320473
|
-
/* harmony export */ OrderImmediatelyFillable: () => (/* reexport safe */
|
|
320474
|
-
/* harmony export */ OrderNotCached: () => (/* reexport safe */
|
|
320475
|
-
/* harmony export */ OrderNotFillable: () => (/* reexport safe */
|
|
320476
|
-
/* harmony export */ OrderNotFound: () => (/* reexport safe */
|
|
320477
|
-
/* harmony export */ PermissionDenied: () => (/* reexport safe */
|
|
320478
|
-
/* harmony export */ Precise: () => (/* reexport safe */
|
|
320479
|
-
/* harmony export */ RateLimitExceeded: () => (/* reexport safe */
|
|
320480
|
-
/* harmony export */ RequestTimeout: () => (/* reexport safe */
|
|
321202
|
+
/* harmony export */ ExchangeError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.ExchangeError),
|
|
321203
|
+
/* harmony export */ ExchangeNotAvailable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.ExchangeNotAvailable),
|
|
321204
|
+
/* harmony export */ InsufficientFunds: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InsufficientFunds),
|
|
321205
|
+
/* harmony export */ InvalidAddress: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InvalidAddress),
|
|
321206
|
+
/* harmony export */ InvalidNonce: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InvalidNonce),
|
|
321207
|
+
/* harmony export */ InvalidOrder: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InvalidOrder),
|
|
321208
|
+
/* harmony export */ MarginModeAlreadySet: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.MarginModeAlreadySet),
|
|
321209
|
+
/* harmony export */ NetworkError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NetworkError),
|
|
321210
|
+
/* harmony export */ NoChange: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NoChange),
|
|
321211
|
+
/* harmony export */ NotSupported: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NotSupported),
|
|
321212
|
+
/* harmony export */ NullResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NullResponse),
|
|
321213
|
+
/* harmony export */ OnMaintenance: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OnMaintenance),
|
|
321214
|
+
/* harmony export */ OrderImmediatelyFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderImmediatelyFillable),
|
|
321215
|
+
/* harmony export */ OrderNotCached: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderNotCached),
|
|
321216
|
+
/* harmony export */ OrderNotFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderNotFillable),
|
|
321217
|
+
/* harmony export */ OrderNotFound: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderNotFound),
|
|
321218
|
+
/* harmony export */ PermissionDenied: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.PermissionDenied),
|
|
321219
|
+
/* harmony export */ Precise: () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_167__.O),
|
|
321220
|
+
/* harmony export */ RateLimitExceeded: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.RateLimitExceeded),
|
|
321221
|
+
/* harmony export */ RequestTimeout: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.RequestTimeout),
|
|
320481
321222
|
/* harmony export */ ace: () => (/* reexport safe */ _src_ace_js__WEBPACK_IMPORTED_MODULE_1__.Z),
|
|
320482
321223
|
/* harmony export */ alpaca: () => (/* reexport safe */ _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__.Z),
|
|
320483
321224
|
/* harmony export */ ascendex: () => (/* reexport safe */ _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__.Z),
|
|
@@ -320533,11 +321274,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
320533
321274
|
/* harmony export */ delta: () => (/* reexport safe */ _src_delta_js__WEBPACK_IMPORTED_MODULE_52__.Z),
|
|
320534
321275
|
/* harmony export */ deribit: () => (/* reexport safe */ _src_deribit_js__WEBPACK_IMPORTED_MODULE_53__.Z),
|
|
320535
321276
|
/* harmony export */ digifinex: () => (/* reexport safe */ _src_digifinex_js__WEBPACK_IMPORTED_MODULE_54__.Z),
|
|
320536
|
-
/* harmony export */ errors: () => (/* reexport module object */
|
|
321277
|
+
/* harmony export */ errors: () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__),
|
|
320537
321278
|
/* harmony export */ exchanges: () => (/* binding */ exchanges),
|
|
320538
321279
|
/* harmony export */ exmo: () => (/* reexport safe */ _src_exmo_js__WEBPACK_IMPORTED_MODULE_55__.Z),
|
|
320539
321280
|
/* harmony export */ fmfwio: () => (/* reexport safe */ _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_56__.Z),
|
|
320540
|
-
/* harmony export */ functions: () => (/* reexport module object */
|
|
321281
|
+
/* harmony export */ functions: () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_168__),
|
|
320541
321282
|
/* harmony export */ gate: () => (/* reexport safe */ _src_gate_js__WEBPACK_IMPORTED_MODULE_57__.Z),
|
|
320542
321283
|
/* harmony export */ gateio: () => (/* reexport safe */ _src_gateio_js__WEBPACK_IMPORTED_MODULE_58__.Z),
|
|
320543
321284
|
/* harmony export */ gemini: () => (/* reexport safe */ _src_gemini_js__WEBPACK_IMPORTED_MODULE_59__.Z),
|
|
@@ -320577,20 +321318,21 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
320577
321318
|
/* harmony export */ probit: () => (/* reexport safe */ _src_probit_js__WEBPACK_IMPORTED_MODULE_92__.Z),
|
|
320578
321319
|
/* harmony export */ timex: () => (/* reexport safe */ _src_timex_js__WEBPACK_IMPORTED_MODULE_93__.Z),
|
|
320579
321320
|
/* harmony export */ tokocrypto: () => (/* reexport safe */ _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_94__.Z),
|
|
320580
|
-
/* harmony export */
|
|
321321
|
+
/* harmony export */ tradeogre: () => (/* reexport safe */ _src_tradeogre_js__WEBPACK_IMPORTED_MODULE_95__.Z),
|
|
321322
|
+
/* harmony export */ upbit: () => (/* reexport safe */ _src_upbit_js__WEBPACK_IMPORTED_MODULE_96__.Z),
|
|
320581
321323
|
/* harmony export */ version: () => (/* binding */ version),
|
|
320582
|
-
/* harmony export */ wavesexchange: () => (/* reexport safe */
|
|
320583
|
-
/* harmony export */ wazirx: () => (/* reexport safe */
|
|
320584
|
-
/* harmony export */ whitebit: () => (/* reexport safe */
|
|
320585
|
-
/* harmony export */ woo: () => (/* reexport safe */
|
|
320586
|
-
/* harmony export */ yobit: () => (/* reexport safe */
|
|
320587
|
-
/* harmony export */ zaif: () => (/* reexport safe */
|
|
320588
|
-
/* harmony export */ zonda: () => (/* reexport safe */
|
|
321324
|
+
/* harmony export */ wavesexchange: () => (/* reexport safe */ _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_97__.Z),
|
|
321325
|
+
/* harmony export */ wazirx: () => (/* reexport safe */ _src_wazirx_js__WEBPACK_IMPORTED_MODULE_98__.Z),
|
|
321326
|
+
/* harmony export */ whitebit: () => (/* reexport safe */ _src_whitebit_js__WEBPACK_IMPORTED_MODULE_99__.Z),
|
|
321327
|
+
/* harmony export */ woo: () => (/* reexport safe */ _src_woo_js__WEBPACK_IMPORTED_MODULE_100__.Z),
|
|
321328
|
+
/* harmony export */ yobit: () => (/* reexport safe */ _src_yobit_js__WEBPACK_IMPORTED_MODULE_101__.Z),
|
|
321329
|
+
/* harmony export */ zaif: () => (/* reexport safe */ _src_zaif_js__WEBPACK_IMPORTED_MODULE_102__.Z),
|
|
321330
|
+
/* harmony export */ zonda: () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_103__.Z)
|
|
320589
321331
|
/* harmony export */ });
|
|
320590
321332
|
/* harmony import */ var _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
|
|
320591
|
-
/* harmony import */ var
|
|
320592
|
-
/* harmony import */ var
|
|
320593
|
-
/* harmony import */ var
|
|
321333
|
+
/* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(2194);
|
|
321334
|
+
/* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(7100);
|
|
321335
|
+
/* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__ = __webpack_require__(6689);
|
|
320594
321336
|
/* harmony import */ var _src_ace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9869);
|
|
320595
321337
|
/* harmony import */ var _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5660);
|
|
320596
321338
|
/* harmony import */ var _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9612);
|
|
@@ -320685,77 +321427,78 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
320685
321427
|
/* harmony import */ var _src_probit_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(3657);
|
|
320686
321428
|
/* harmony import */ var _src_timex_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(1067);
|
|
320687
321429
|
/* harmony import */ var _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(5261);
|
|
320688
|
-
/* harmony import */ var
|
|
320689
|
-
/* harmony import */ var
|
|
320690
|
-
/* harmony import */ var
|
|
320691
|
-
/* harmony import */ var
|
|
320692
|
-
/* harmony import */ var
|
|
320693
|
-
/* harmony import */ var
|
|
320694
|
-
/* harmony import */ var
|
|
320695
|
-
/* harmony import */ var
|
|
320696
|
-
/* harmony import */ var
|
|
320697
|
-
/* harmony import */ var
|
|
320698
|
-
/* harmony import */ var
|
|
320699
|
-
/* harmony import */ var
|
|
320700
|
-
/* harmony import */ var
|
|
320701
|
-
/* harmony import */ var
|
|
320702
|
-
/* harmony import */ var
|
|
320703
|
-
/* harmony import */ var
|
|
320704
|
-
/* harmony import */ var
|
|
320705
|
-
/* harmony import */ var
|
|
320706
|
-
/* harmony import */ var
|
|
320707
|
-
/* harmony import */ var
|
|
320708
|
-
/* harmony import */ var
|
|
320709
|
-
/* harmony import */ var
|
|
320710
|
-
/* harmony import */ var
|
|
320711
|
-
/* harmony import */ var
|
|
320712
|
-
/* harmony import */ var
|
|
320713
|
-
/* harmony import */ var
|
|
320714
|
-
/* harmony import */ var
|
|
320715
|
-
/* harmony import */ var
|
|
320716
|
-
/* harmony import */ var
|
|
320717
|
-
/* harmony import */ var
|
|
320718
|
-
/* harmony import */ var
|
|
320719
|
-
/* harmony import */ var
|
|
320720
|
-
/* harmony import */ var
|
|
320721
|
-
/* harmony import */ var
|
|
320722
|
-
/* harmony import */ var
|
|
320723
|
-
/* harmony import */ var
|
|
320724
|
-
/* harmony import */ var
|
|
320725
|
-
/* harmony import */ var
|
|
320726
|
-
/* harmony import */ var
|
|
320727
|
-
/* harmony import */ var
|
|
320728
|
-
/* harmony import */ var
|
|
320729
|
-
/* harmony import */ var
|
|
320730
|
-
/* harmony import */ var
|
|
320731
|
-
/* harmony import */ var
|
|
320732
|
-
/* harmony import */ var
|
|
320733
|
-
/* harmony import */ var
|
|
320734
|
-
/* harmony import */ var
|
|
320735
|
-
/* harmony import */ var
|
|
320736
|
-
/* harmony import */ var
|
|
320737
|
-
/* harmony import */ var
|
|
320738
|
-
/* harmony import */ var
|
|
320739
|
-
/* harmony import */ var
|
|
320740
|
-
/* harmony import */ var
|
|
320741
|
-
/* harmony import */ var
|
|
320742
|
-
/* harmony import */ var
|
|
320743
|
-
/* harmony import */ var
|
|
320744
|
-
/* harmony import */ var
|
|
320745
|
-
/* harmony import */ var
|
|
320746
|
-
/* harmony import */ var
|
|
320747
|
-
/* harmony import */ var
|
|
320748
|
-
/* harmony import */ var
|
|
320749
|
-
/* harmony import */ var
|
|
320750
|
-
/* harmony import */ var
|
|
320751
|
-
/* harmony import */ var
|
|
320752
|
-
/* harmony import */ var
|
|
320753
|
-
/* harmony import */ var
|
|
320754
|
-
/* harmony import */ var
|
|
320755
|
-
/* harmony import */ var
|
|
320756
|
-
/* harmony import */ var
|
|
320757
|
-
/* harmony import */ var
|
|
320758
|
-
/* harmony import */ var
|
|
321430
|
+
/* harmony import */ var _src_tradeogre_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(1911);
|
|
321431
|
+
/* harmony import */ var _src_upbit_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(7584);
|
|
321432
|
+
/* harmony import */ var _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(3853);
|
|
321433
|
+
/* harmony import */ var _src_wazirx_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(6536);
|
|
321434
|
+
/* harmony import */ var _src_whitebit_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(5467);
|
|
321435
|
+
/* harmony import */ var _src_woo_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(517);
|
|
321436
|
+
/* harmony import */ var _src_yobit_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(3850);
|
|
321437
|
+
/* harmony import */ var _src_zaif_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(5934);
|
|
321438
|
+
/* harmony import */ var _src_zonda_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(5140);
|
|
321439
|
+
/* harmony import */ var _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(2467);
|
|
321440
|
+
/* harmony import */ var _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(2383);
|
|
321441
|
+
/* harmony import */ var _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(8848);
|
|
321442
|
+
/* harmony import */ var _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(8764);
|
|
321443
|
+
/* harmony import */ var _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(5078);
|
|
321444
|
+
/* harmony import */ var _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(1326);
|
|
321445
|
+
/* harmony import */ var _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(1230);
|
|
321446
|
+
/* harmony import */ var _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(6955);
|
|
321447
|
+
/* harmony import */ var _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(453);
|
|
321448
|
+
/* harmony import */ var _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(9772);
|
|
321449
|
+
/* harmony import */ var _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(588);
|
|
321450
|
+
/* harmony import */ var _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(1885);
|
|
321451
|
+
/* harmony import */ var _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(7504);
|
|
321452
|
+
/* harmony import */ var _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(2302);
|
|
321453
|
+
/* harmony import */ var _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(2191);
|
|
321454
|
+
/* harmony import */ var _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(1297);
|
|
321455
|
+
/* harmony import */ var _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(3005);
|
|
321456
|
+
/* harmony import */ var _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(2317);
|
|
321457
|
+
/* harmony import */ var _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(6977);
|
|
321458
|
+
/* harmony import */ var _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(2519);
|
|
321459
|
+
/* harmony import */ var _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(5030);
|
|
321460
|
+
/* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(5272);
|
|
321461
|
+
/* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(3414);
|
|
321462
|
+
/* harmony import */ var _src_pro_coinbaseinternational_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(6541);
|
|
321463
|
+
/* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(8368);
|
|
321464
|
+
/* harmony import */ var _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(7891);
|
|
321465
|
+
/* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(204);
|
|
321466
|
+
/* harmony import */ var _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(5208);
|
|
321467
|
+
/* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(6820);
|
|
321468
|
+
/* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(2952);
|
|
321469
|
+
/* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(1788);
|
|
321470
|
+
/* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(9004);
|
|
321471
|
+
/* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(8335);
|
|
321472
|
+
/* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(1465);
|
|
321473
|
+
/* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(9488);
|
|
321474
|
+
/* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(5189);
|
|
321475
|
+
/* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(8559);
|
|
321476
|
+
/* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(7474);
|
|
321477
|
+
/* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(8384);
|
|
321478
|
+
/* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(9021);
|
|
321479
|
+
/* harmony import */ var _src_pro_hyperliquid_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(8354);
|
|
321480
|
+
/* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(3484);
|
|
321481
|
+
/* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(1311);
|
|
321482
|
+
/* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(736);
|
|
321483
|
+
/* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(449);
|
|
321484
|
+
/* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(2387);
|
|
321485
|
+
/* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(7181);
|
|
321486
|
+
/* harmony import */ var _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(1267);
|
|
321487
|
+
/* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(627);
|
|
321488
|
+
/* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(6484);
|
|
321489
|
+
/* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(8080);
|
|
321490
|
+
/* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(7105);
|
|
321491
|
+
/* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(2214);
|
|
321492
|
+
/* harmony import */ var _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(9419);
|
|
321493
|
+
/* harmony import */ var _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(8516);
|
|
321494
|
+
/* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(4360);
|
|
321495
|
+
/* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(7924);
|
|
321496
|
+
/* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(3541);
|
|
321497
|
+
/* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(9782);
|
|
321498
|
+
/* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(7614);
|
|
321499
|
+
/* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(4828);
|
|
321500
|
+
/* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(5630);
|
|
321501
|
+
/* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(3910);
|
|
320759
321502
|
/*
|
|
320760
321503
|
|
|
320761
321504
|
MIT License
|
|
@@ -320790,7 +321533,7 @@ SOFTWARE.
|
|
|
320790
321533
|
|
|
320791
321534
|
//-----------------------------------------------------------------------------
|
|
320792
321535
|
// this is updated by vss.js when building
|
|
320793
|
-
const version = '4.2.
|
|
321536
|
+
const version = '4.2.75';
|
|
320794
321537
|
_src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion = version;
|
|
320795
321538
|
//-----------------------------------------------------------------------------
|
|
320796
321539
|
|
|
@@ -320893,6 +321636,7 @@ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion
|
|
|
320893
321636
|
|
|
320894
321637
|
|
|
320895
321638
|
|
|
321639
|
+
|
|
320896
321640
|
|
|
320897
321641
|
|
|
320898
321642
|
// pro exchanges
|
|
@@ -321054,79 +321798,80 @@ const exchanges = {
|
|
|
321054
321798
|
'probit': _src_probit_js__WEBPACK_IMPORTED_MODULE_92__/* ["default"] */ .Z,
|
|
321055
321799
|
'timex': _src_timex_js__WEBPACK_IMPORTED_MODULE_93__/* ["default"] */ .Z,
|
|
321056
321800
|
'tokocrypto': _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_94__/* ["default"] */ .Z,
|
|
321057
|
-
'
|
|
321058
|
-
'
|
|
321059
|
-
'
|
|
321060
|
-
'
|
|
321061
|
-
'
|
|
321062
|
-
'
|
|
321063
|
-
'
|
|
321064
|
-
'
|
|
321801
|
+
'tradeogre': _src_tradeogre_js__WEBPACK_IMPORTED_MODULE_95__/* ["default"] */ .Z,
|
|
321802
|
+
'upbit': _src_upbit_js__WEBPACK_IMPORTED_MODULE_96__/* ["default"] */ .Z,
|
|
321803
|
+
'wavesexchange': _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_97__/* ["default"] */ .Z,
|
|
321804
|
+
'wazirx': _src_wazirx_js__WEBPACK_IMPORTED_MODULE_98__/* ["default"] */ .Z,
|
|
321805
|
+
'whitebit': _src_whitebit_js__WEBPACK_IMPORTED_MODULE_99__/* ["default"] */ .Z,
|
|
321806
|
+
'woo': _src_woo_js__WEBPACK_IMPORTED_MODULE_100__/* ["default"] */ .Z,
|
|
321807
|
+
'yobit': _src_yobit_js__WEBPACK_IMPORTED_MODULE_101__/* ["default"] */ .Z,
|
|
321808
|
+
'zaif': _src_zaif_js__WEBPACK_IMPORTED_MODULE_102__/* ["default"] */ .Z,
|
|
321809
|
+
'zonda': _src_zonda_js__WEBPACK_IMPORTED_MODULE_103__/* ["default"] */ .Z,
|
|
321065
321810
|
};
|
|
321066
321811
|
const pro = {
|
|
321067
|
-
'alpaca':
|
|
321068
|
-
'ascendex':
|
|
321069
|
-
'bequant':
|
|
321070
|
-
'binance':
|
|
321071
|
-
'binancecoinm':
|
|
321072
|
-
'binanceus':
|
|
321073
|
-
'binanceusdm':
|
|
321074
|
-
'bingx':
|
|
321075
|
-
'bitcoincom':
|
|
321076
|
-
'bitfinex':
|
|
321077
|
-
'bitfinex2':
|
|
321078
|
-
'bitget':
|
|
321079
|
-
'bitmart':
|
|
321080
|
-
'bitmex':
|
|
321081
|
-
'bitopro':
|
|
321082
|
-
'bitpanda':
|
|
321083
|
-
'bitrue':
|
|
321084
|
-
'bitstamp':
|
|
321085
|
-
'bitvavo':
|
|
321086
|
-
'blockchaincom':
|
|
321087
|
-
'bybit':
|
|
321088
|
-
'cex':
|
|
321089
|
-
'coinbase':
|
|
321090
|
-
'coinbaseinternational':
|
|
321091
|
-
'coinbasepro':
|
|
321092
|
-
'coincheck':
|
|
321093
|
-
'coinex':
|
|
321094
|
-
'coinone':
|
|
321095
|
-
'cryptocom':
|
|
321096
|
-
'currencycom':
|
|
321097
|
-
'deribit':
|
|
321098
|
-
'exmo':
|
|
321099
|
-
'gate':
|
|
321100
|
-
'gateio':
|
|
321101
|
-
'gemini':
|
|
321102
|
-
'hitbtc':
|
|
321103
|
-
'hollaex':
|
|
321104
|
-
'htx':
|
|
321105
|
-
'huobi':
|
|
321106
|
-
'huobijp':
|
|
321107
|
-
'hyperliquid':
|
|
321108
|
-
'idex':
|
|
321109
|
-
'independentreserve':
|
|
321110
|
-
'kraken':
|
|
321111
|
-
'krakenfutures':
|
|
321112
|
-
'kucoin':
|
|
321113
|
-
'kucoinfutures':
|
|
321114
|
-
'lbank':
|
|
321115
|
-
'luno':
|
|
321116
|
-
'mexc':
|
|
321117
|
-
'ndax':
|
|
321118
|
-
'okcoin':
|
|
321119
|
-
'okx':
|
|
321120
|
-
'onetrading':
|
|
321121
|
-
'p2b':
|
|
321122
|
-
'phemex':
|
|
321123
|
-
'poloniex':
|
|
321124
|
-
'poloniexfutures':
|
|
321125
|
-
'probit':
|
|
321126
|
-
'upbit':
|
|
321127
|
-
'wazirx':
|
|
321128
|
-
'whitebit':
|
|
321129
|
-
'woo':
|
|
321812
|
+
'alpaca': _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_104__/* ["default"] */ .Z,
|
|
321813
|
+
'ascendex': _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_105__/* ["default"] */ .Z,
|
|
321814
|
+
'bequant': _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_106__/* ["default"] */ .Z,
|
|
321815
|
+
'binance': _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_107__/* ["default"] */ .Z,
|
|
321816
|
+
'binancecoinm': _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_108__/* ["default"] */ .Z,
|
|
321817
|
+
'binanceus': _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_109__/* ["default"] */ .Z,
|
|
321818
|
+
'binanceusdm': _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_110__/* ["default"] */ .Z,
|
|
321819
|
+
'bingx': _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_111__/* ["default"] */ .Z,
|
|
321820
|
+
'bitcoincom': _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_112__/* ["default"] */ .Z,
|
|
321821
|
+
'bitfinex': _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_113__/* ["default"] */ .Z,
|
|
321822
|
+
'bitfinex2': _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_114__/* ["default"] */ .Z,
|
|
321823
|
+
'bitget': _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_115__/* ["default"] */ .Z,
|
|
321824
|
+
'bitmart': _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_116__/* ["default"] */ .Z,
|
|
321825
|
+
'bitmex': _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_117__/* ["default"] */ .Z,
|
|
321826
|
+
'bitopro': _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_118__/* ["default"] */ .Z,
|
|
321827
|
+
'bitpanda': _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_119__/* ["default"] */ .Z,
|
|
321828
|
+
'bitrue': _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
|
|
321829
|
+
'bitstamp': _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
|
|
321830
|
+
'bitvavo': _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
|
|
321831
|
+
'blockchaincom': _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
|
|
321832
|
+
'bybit': _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
|
|
321833
|
+
'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
|
|
321834
|
+
'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
|
|
321835
|
+
'coinbaseinternational': _src_pro_coinbaseinternational_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
|
|
321836
|
+
'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
|
|
321837
|
+
'coincheck': _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
|
|
321838
|
+
'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
|
|
321839
|
+
'coinone': _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
|
|
321840
|
+
'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
|
|
321841
|
+
'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
|
|
321842
|
+
'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
|
|
321843
|
+
'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
|
|
321844
|
+
'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
|
|
321845
|
+
'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
|
|
321846
|
+
'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
|
|
321847
|
+
'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
|
|
321848
|
+
'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
|
|
321849
|
+
'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
|
|
321850
|
+
'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
|
|
321851
|
+
'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
|
|
321852
|
+
'hyperliquid': _src_pro_hyperliquid_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
|
|
321853
|
+
'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
|
|
321854
|
+
'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
|
|
321855
|
+
'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
|
|
321856
|
+
'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
|
|
321857
|
+
'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
|
|
321858
|
+
'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
|
|
321859
|
+
'lbank': _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
|
|
321860
|
+
'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
|
|
321861
|
+
'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
|
|
321862
|
+
'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
|
|
321863
|
+
'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
|
|
321864
|
+
'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
|
|
321865
|
+
'onetrading': _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_157__/* ["default"] */ .Z,
|
|
321866
|
+
'p2b': _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_158__/* ["default"] */ .Z,
|
|
321867
|
+
'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_159__/* ["default"] */ .Z,
|
|
321868
|
+
'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_160__/* ["default"] */ .Z,
|
|
321869
|
+
'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_161__/* ["default"] */ .Z,
|
|
321870
|
+
'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_162__/* ["default"] */ .Z,
|
|
321871
|
+
'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_163__/* ["default"] */ .Z,
|
|
321872
|
+
'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_164__/* ["default"] */ .Z,
|
|
321873
|
+
'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_165__/* ["default"] */ .Z,
|
|
321874
|
+
'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_166__/* ["default"] */ .Z,
|
|
321130
321875
|
};
|
|
321131
321876
|
for (const exchange in pro) {
|
|
321132
321877
|
// const ccxtExchange = exchanges[exchange]
|
|
@@ -321139,7 +321884,7 @@ for (const exchange in pro) {
|
|
|
321139
321884
|
pro.exchanges = Object.keys(pro);
|
|
321140
321885
|
pro['Exchange'] = _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e; // now the same for rest and ts
|
|
321141
321886
|
//-----------------------------------------------------------------------------
|
|
321142
|
-
const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise:
|
|
321887
|
+
const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise: _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_167__/* .Precise */ .O, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, _src_base_functions_js__WEBPACK_IMPORTED_MODULE_168__, _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__);
|
|
321143
321888
|
|
|
321144
321889
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ccxt);
|
|
321145
321890
|
//-----------------------------------------------------------------------------
|