ccxt 4.2.74 → 4.2.76

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.
Files changed (71) hide show
  1. package/CHANGELOG.md +206 -10
  2. package/README.md +10 -9
  3. package/build.sh +1 -1
  4. package/dist/ccxt.browser.js +900 -217
  5. package/dist/ccxt.browser.min.js +3 -3
  6. package/dist/cjs/ccxt.js +4 -1
  7. package/dist/cjs/src/abstract/tradeogre.js +9 -0
  8. package/dist/cjs/src/ascendex.js +3 -2
  9. package/dist/cjs/src/binance.js +2 -0
  10. package/dist/cjs/src/bingx.js +12 -14
  11. package/dist/cjs/src/bitmart.js +1 -0
  12. package/dist/cjs/src/bybit.js +2 -1
  13. package/dist/cjs/src/coinbase.js +18 -2
  14. package/dist/cjs/src/coinbaseinternational.js +1 -1
  15. package/dist/cjs/src/coinex.js +4 -3
  16. package/dist/cjs/src/gate.js +2 -0
  17. package/dist/cjs/src/htx.js +1 -0
  18. package/dist/cjs/src/kraken.js +3 -3
  19. package/dist/cjs/src/kucoin.js +1 -1
  20. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  21. package/dist/cjs/src/tradeogre.js +632 -0
  22. package/js/ccxt.d.ts +5 -2
  23. package/js/ccxt.js +4 -2
  24. package/js/src/abstract/binance.d.ts +1 -0
  25. package/js/src/abstract/binancecoinm.d.ts +1 -0
  26. package/js/src/abstract/binanceus.d.ts +1 -0
  27. package/js/src/abstract/binanceusdm.d.ts +1 -0
  28. package/js/src/abstract/bingx.d.ts +2 -0
  29. package/js/src/abstract/tradeogre.d.ts +19 -0
  30. package/js/src/abstract/tradeogre.js +11 -0
  31. package/js/src/ascendex.d.ts +2 -7
  32. package/js/src/ascendex.js +3 -2
  33. package/js/src/base/Exchange.d.ts +5 -5
  34. package/js/src/base/types.d.ts +7 -1
  35. package/js/src/binance.d.ts +1 -1
  36. package/js/src/binance.js +2 -0
  37. package/js/src/bingx.js +12 -14
  38. package/js/src/bitmart.d.ts +1 -1
  39. package/js/src/bitmart.js +2 -1
  40. package/js/src/bybit.js +2 -1
  41. package/js/src/coinbase.d.ts +4 -4
  42. package/js/src/coinbase.js +18 -2
  43. package/js/src/coinbaseinternational.d.ts +1 -1
  44. package/js/src/coinbaseinternational.js +1 -1
  45. package/js/src/coinbasepro.d.ts +2 -2
  46. package/js/src/coinex.js +4 -3
  47. package/js/src/coinlist.d.ts +2 -2
  48. package/js/src/cryptocom.d.ts +2 -2
  49. package/js/src/currencycom.d.ts +2 -2
  50. package/js/src/deribit.d.ts +2 -2
  51. package/js/src/gate.d.ts +1 -1
  52. package/js/src/gate.js +2 -0
  53. package/js/src/htx.d.ts +2 -2
  54. package/js/src/htx.js +1 -0
  55. package/js/src/huobijp.d.ts +2 -2
  56. package/js/src/kraken.d.ts +1 -1
  57. package/js/src/kraken.js +3 -3
  58. package/js/src/kucoin.d.ts +3 -3
  59. package/js/src/kucoin.js +1 -1
  60. package/js/src/luno.d.ts +2 -2
  61. package/js/src/mexc.d.ts +3 -3
  62. package/js/src/ndax.d.ts +2 -2
  63. package/js/src/novadax.d.ts +2 -2
  64. package/js/src/okx.d.ts +2 -2
  65. package/js/src/pro/bitfinex2.d.ts +1 -1
  66. package/js/src/pro/coinbaseinternational.js +1 -1
  67. package/js/src/tradeogre.d.ts +32 -0
  68. package/js/src/tradeogre.js +633 -0
  69. package/js/src/woo.d.ts +2 -2
  70. package/package.json +1 -1
  71. package/skip-tests.json +5 -0
@@ -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
- 'currency': undefined,
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 marginMode = this.safeString(position, 'marginType');
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');
@@ -19201,6 +19218,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
19201
19218
  'userTrades': 5,
19202
19219
  'income': 30,
19203
19220
  'commissionRate': 20,
19221
+ 'rateLimit/order': 1,
19204
19222
  'apiTradingStatus': 1,
19205
19223
  'multiAssetsMargin': 30,
19206
19224
  // broker endpoints
@@ -30057,6 +30075,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
30057
30075
  * @param {int} [limit] default 30, max 500
30058
30076
  * @param {object} [params] exchange specific parameters
30059
30077
  * @param {int} [params.until] the time(ms) of the latest record to retrieve as a unix timestamp
30078
+ * @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)
30060
30079
  * @returns {object} an array of [open interest structure]{@link https://docs.ccxt.com/#/?id=open-interest-structure}
30061
30080
  */
30062
30081
  if (timeframe === '1m') {
@@ -31212,6 +31231,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
31212
31231
  'v1': {
31213
31232
  'public': {
31214
31233
  'get': {
31234
+ 'server/time': 3,
31215
31235
  'common/symbols': 3,
31216
31236
  'market/trades': 3,
31217
31237
  'market/depth': 3,
@@ -31235,6 +31255,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
31235
31255
  'trade/order/cancelReplace': 3,
31236
31256
  'trade/cancelOrders': 3,
31237
31257
  'trade/cancelOpenOrders': 3,
31258
+ 'trade/cancelAllAfter': 1,
31238
31259
  },
31239
31260
  },
31240
31261
  },
@@ -32897,15 +32918,18 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
32897
32918
  request[exchangeClientOrderId] = clientOrderId;
32898
32919
  }
32899
32920
  const timeInForce = this.safeStringUpper(params, 'timeInForce');
32900
- if (timeInForce === 'IOC') {
32921
+ [postOnly, params] = this.handlePostOnly(isMarketOrder, timeInForce === 'PostOnly', params);
32922
+ if (postOnly || (timeInForce === 'PostOnly')) {
32923
+ request['timeInForce'] = 'PostOnly';
32924
+ }
32925
+ else if (timeInForce === 'IOC') {
32901
32926
  request['timeInForce'] = 'IOC';
32902
32927
  }
32928
+ else if (timeInForce === 'GTC') {
32929
+ request['timeInForce'] = 'GTC';
32930
+ }
32903
32931
  const triggerPrice = this.safeString2(params, 'stopPrice', 'triggerPrice');
32904
32932
  if (isSpot) {
32905
- [postOnly, params] = this.handlePostOnly(isMarketOrder, timeInForce === 'POC', params);
32906
- if (postOnly || (timeInForce === 'POC')) {
32907
- request['timeInForce'] = 'POC';
32908
- }
32909
32933
  const cost = this.safeNumber2(params, 'cost', 'quoteOrderQty');
32910
32934
  params = this.omit(params, 'cost');
32911
32935
  if (cost !== undefined) {
@@ -32938,14 +32962,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
32938
32962
  }
32939
32963
  }
32940
32964
  else {
32941
- [postOnly, params] = this.handlePostOnly(isMarketOrder, timeInForce === 'PostOnly', params);
32942
- if (postOnly || (timeInForce === 'PostOnly')) {
32943
- request['timeInForce'] = 'PostOnly';
32944
- }
32945
- else if (timeInForce === 'GTC') {
32946
- request['timeInForce'] = 'GTC';
32947
- }
32948
- else if (timeInForce === 'FOK') {
32965
+ if (timeInForce === 'FOK') {
32949
32966
  request['timeInForce'] = 'FOK';
32950
32967
  }
32951
32968
  const stopLossPrice = this.safeString(params, 'stopLossPrice');
@@ -33073,7 +33090,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
33073
33090
  * @param {object} [params] extra parameters specific to the exchange API endpoint
33074
33091
  * @param {string} [params.clientOrderId] a unique id for the order
33075
33092
  * @param {bool} [params.postOnly] true to place a post only order
33076
- * @param {string} [params.timeInForce] spot supports 'PO' and 'IOC', swap supports 'PO', 'GTC', 'IOC' and 'FOK'
33093
+ * @param {string} [params.timeInForce] spot supports 'PO', 'GTC' and 'IOC', swap supports 'PO', 'GTC', 'IOC' and 'FOK'
33077
33094
  * @param {bool} [params.reduceOnly] *swap only* true or false whether the order is reduce only
33078
33095
  * @param {float} [params.triggerPrice] *swap only* triggerPrice at which the attached take profit / stop loss order will be triggered
33079
33096
  * @param {float} [params.stopLossPrice] *swap only* stop loss trigger price
@@ -55077,6 +55094,7 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
55077
55094
  '70000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
55078
55095
  '70001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
55079
55096
  '70002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
55097
+ '70003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NetworkError,
55080
55098
  '71001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
55081
55099
  '71002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
55082
55100
  '71003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
@@ -86031,7 +86049,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
86031
86049
  //
86032
86050
  const id = this.safeStringN(trade, ['execId', 'id', 'tradeId']);
86033
86051
  const marketId = this.safeString(trade, 'symbol');
86034
- let marketType = 'contract';
86052
+ let marketType = ('createType' in trade) ? 'contract' : 'spot';
86035
86053
  if (market !== undefined) {
86036
86054
  marketType = market['type'];
86037
86055
  }
@@ -90170,6 +90188,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
90170
90188
  * @param {int} [since] Not used by Bybit
90171
90189
  * @param {int} [limit] The number of open interest structures to return. Max 200, default 50
90172
90190
  * @param {object} [params] Exchange specific parameters
90191
+ * @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)
90173
90192
  * @returns An array of open interest structures
90174
90193
  */
90175
90194
  if (timeframe === '1m') {
@@ -94640,7 +94659,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
94640
94659
  * @returns {object} an associative dictionary of currencies
94641
94660
  */
94642
94661
  const response = await this.fetchCurrenciesFromCache(params);
94643
- const currencies = this.safeDict(response, 'currencies', {});
94662
+ const currencies = this.safeList(response, 'currencies', []);
94644
94663
  //
94645
94664
  // fiat
94646
94665
  //
@@ -95192,9 +95211,15 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
95192
95211
  * @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
95193
95212
  * @param {int} [limit] max number of ledger entrys to return, default is undefined
95194
95213
  * @param {object} [params] extra parameters specific to the exchange API endpoint
95214
+ * @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)
95195
95215
  * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
95196
95216
  */
95197
95217
  await this.loadMarkets();
95218
+ let paginate = false;
95219
+ [paginate, params] = this.handleOptionAndParams(params, 'fetchLedger', 'paginate');
95220
+ if (paginate) {
95221
+ return await this.fetchPaginatedCallCursor('fetchLedger', code, since, limit, params, 'next_starting_after', 'starting_after', undefined, 100);
95222
+ }
95198
95223
  let currency = undefined;
95199
95224
  if (code !== undefined) {
95200
95225
  currency = this.currency(code);
@@ -95205,7 +95230,17 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
95205
95230
  // the value for the next page can be obtained from the result of the previous call in the 'pagination' field
95206
95231
  // eg: instance.last_json_response.pagination.next_starting_after
95207
95232
  const response = await this.v2PrivateGetAccountsAccountIdTransactions(this.extend(request, params));
95208
- return this.parseLedger(response['data'], currency, since, limit);
95233
+ const ledger = this.parseLedger(response['data'], currency, since, limit);
95234
+ const length = ledger.length;
95235
+ const lastIndex = length - 1;
95236
+ const last = this.safeDict(ledger, lastIndex);
95237
+ const pagination = this.safeDict(response, 'pagination', {});
95238
+ const cursor = this.safeString(pagination, 'next_starting_after');
95239
+ if ((cursor !== undefined) && (cursor !== '')) {
95240
+ last['next_starting_after'] = cursor;
95241
+ ledger[lastIndex] = last;
95242
+ }
95243
+ return ledger;
95209
95244
  }
95210
95245
  parseLedgerEntryStatus(status) {
95211
95246
  const types = {
@@ -97204,7 +97239,7 @@ class coinbaseinternational extends _abstract_coinbaseinternational_js__WEBPACK_
97204
97239
  describe() {
97205
97240
  return this.deepExtend(super.describe(), {
97206
97241
  'id': 'coinbaseinternational',
97207
- 'name': 'coinbase International',
97242
+ 'name': 'Coinbase International',
97208
97243
  'countries': ['US'],
97209
97244
  'certified': true,
97210
97245
  'pro': true,
@@ -102094,7 +102129,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
102094
102129
  'perpetualPrivate': 'https://api.coinex.com/perpetual',
102095
102130
  },
102096
102131
  'www': 'https://www.coinex.com',
102097
- 'doc': 'https://github.com/coinexcom/coinex_exchange_api/wiki',
102132
+ 'doc': 'https://viabtc.github.io/coinex_api_en_doc',
102098
102133
  'fees': 'https://www.coinex.com/fees',
102099
102134
  'referral': 'https://www.coinex.com/register?refer_code=yw5fz',
102100
102135
  },
@@ -102308,6 +102343,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
102308
102343
  },
102309
102344
  'broad': {
102310
102345
  'ip not allow visit': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
102346
+ 'service too busy': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeNotAvailable,
102311
102347
  },
102312
102348
  },
102313
102349
  });
@@ -107114,7 +107150,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
107114
107150
  * @method
107115
107151
  * @name coinex#borrowIsolatedMargin
107116
107152
  * @description create a loan to borrow margin
107117
- * @see https://github.com/coinexcom/coinex_exchange_api/wiki/086margin_loan
107153
+ * @see https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot002_account017_margin_loan
107118
107154
  * @param {string} symbol unified market symbol, required for coinex
107119
107155
  * @param {string} code unified currency code of the currency to borrow
107120
107156
  * @param {float} amount the amount to borrow
@@ -107151,7 +107187,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
107151
107187
  * @method
107152
107188
  * @name coinex#repayIsolatedMargin
107153
107189
  * @description repay borrowed margin and interest
107154
- * @see https://github.com/coinexcom/coinex_exchange_api/wiki/087margin_flat
107190
+ * @see https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot002_account018_margin_flat
107155
107191
  * @param {string} symbol unified market symbol, required for coinex
107156
107192
  * @param {string} code unified currency code of the currency to repay
107157
107193
  * @param {float} amount the amount to repay
@@ -139928,6 +139964,7 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
139928
139964
  'failed': 'canceled',
139929
139965
  'expired': 'canceled',
139930
139966
  'finished': 'closed',
139967
+ 'finish': 'closed',
139931
139968
  'succeeded': 'closed',
139932
139969
  };
139933
139970
  return this.safeString(statuses, status, status);
@@ -141796,6 +141833,7 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
141796
141833
  * @param {int} [since] the time(ms) of the earliest record to retrieve as a unix timestamp
141797
141834
  * @param {int} [limit] default 30
141798
141835
  * @param {object} [params] exchange specific parameters
141836
+ * @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)
141799
141837
  * @returns {object} an open interest structure{@link https://docs.ccxt.com/#/?id=open-interest-structure}
141800
141838
  */
141801
141839
  await this.loadMarkets();
@@ -157226,6 +157264,7 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
157226
157264
  * @param {int} [since] not used by huobi, but filtered internally by ccxt
157227
157265
  * @param {int} [limit] not used by huobi, but filtered internally by ccxt
157228
157266
  * @param {object} [params] extra parameters specific to the exchange API endpoint
157267
+ * @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)
157229
157268
  * @returns {object[]} a list of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-history-structure}
157230
157269
  */
157231
157270
  if (symbol === undefined) {
@@ -170402,7 +170441,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
170402
170441
  // todo unify parsePosition/parsePositions
170403
170442
  return result;
170404
170443
  }
170405
- parseAccount(account) {
170444
+ parseAccountType(account) {
170406
170445
  const accountByType = {
170407
170446
  'spot': 'Spot Wallet',
170408
170447
  'swap': 'Futures Wallet',
@@ -170436,8 +170475,8 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
170436
170475
  */
170437
170476
  await this.loadMarkets();
170438
170477
  const currency = this.currency(code);
170439
- fromAccount = this.parseAccount(fromAccount);
170440
- toAccount = this.parseAccount(toAccount);
170478
+ fromAccount = this.parseAccountType(fromAccount);
170479
+ toAccount = this.parseAccountType(toAccount);
170441
170480
  const request = {
170442
170481
  'amount': this.currencyToPrecision(code, amount),
170443
170482
  'from': fromAccount,
@@ -173763,7 +173802,7 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
173763
173802
  '400006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
173764
173803
  '400007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
173765
173804
  '400008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported,
173766
- '400100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
173805
+ '400100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
173767
173806
  '400200': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173768
173807
  '400350': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173769
173808
  '400370': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
@@ -245000,7 +245039,7 @@ class coinbaseinternational extends _coinbaseinternational_js__WEBPACK_IMPORTED_
245000
245039
  'ordersLimit': 1000,
245001
245040
  'myTradesLimit': 1000,
245002
245041
  },
245003
- 'errors': {
245042
+ 'exceptions': {
245004
245043
  'exact': {
245005
245044
  'Unable to authenticate': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AuthenticationError,
245006
245045
  },
@@ -299621,6 +299660,646 @@ class tokocrypto extends _abstract_tokocrypto_js__WEBPACK_IMPORTED_MODULE_0__/*
299621
299660
  }
299622
299661
 
299623
299662
 
299663
+ /***/ }),
299664
+
299665
+ /***/ 1911:
299666
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
299667
+
299668
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
299669
+ /* harmony export */ Z: () => (/* binding */ tradeogre)
299670
+ /* harmony export */ });
299671
+ /* harmony import */ var _abstract_tradeogre_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(567);
299672
+ /* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6689);
299673
+ /* harmony import */ var _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9292);
299674
+ // ---------------------------------------------------------------------------
299675
+
299676
+
299677
+
299678
+ // ---------------------------------------------------------------------------
299679
+ /**
299680
+ * @class tradeogre
299681
+ * @augments Exchange
299682
+ */
299683
+ class tradeogre extends _abstract_tradeogre_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
299684
+ describe() {
299685
+ return this.deepExtend(super.describe(), {
299686
+ 'id': 'tradeogre',
299687
+ 'name': 'tradeogre',
299688
+ 'countries': [],
299689
+ 'rateLimit': 100,
299690
+ 'version': 'v2',
299691
+ 'pro': false,
299692
+ 'has': {
299693
+ 'CORS': undefined,
299694
+ 'spot': true,
299695
+ 'margin': false,
299696
+ 'swap': false,
299697
+ 'future': false,
299698
+ 'option': false,
299699
+ 'addMargin': false,
299700
+ 'cancelAllOrders': true,
299701
+ 'cancelOrder': true,
299702
+ 'cancelOrders': false,
299703
+ 'closeAllPositions': false,
299704
+ 'closePosition': false,
299705
+ 'createDepositAddress': false,
299706
+ 'createMarketOrder': false,
299707
+ 'createOrder': true,
299708
+ 'createOrders': false,
299709
+ 'createPostOnlyOrder': false,
299710
+ 'createReduceOnlyOrder': false,
299711
+ 'createStopLimitOrder': false,
299712
+ 'createStopMarketOrder': false,
299713
+ 'createStopOrder': false,
299714
+ 'fetchAccounts': false,
299715
+ 'fetchBalance': true,
299716
+ 'fetchBorrowInterest': false,
299717
+ 'fetchBorrowRateHistory': false,
299718
+ 'fetchClosedOrders': false,
299719
+ 'fetchCrossBorrowRate': false,
299720
+ 'fetchCrossBorrowRates': false,
299721
+ 'fetchDeposit': false,
299722
+ 'fetchDepositAddress': false,
299723
+ 'fetchDepositAddresses': false,
299724
+ 'fetchDepositAddressesByNetwork': false,
299725
+ 'fetchDeposits': false,
299726
+ 'fetchDepositsWithdrawals': false,
299727
+ 'fetchFundingHistory': false,
299728
+ 'fetchFundingRate': false,
299729
+ 'fetchFundingRateHistory': false,
299730
+ 'fetchFundingRates': false,
299731
+ 'fetchIndexOHLCV': false,
299732
+ 'fetchIsolatedBorrowRate': false,
299733
+ 'fetchIsolatedBorrowRates': false,
299734
+ 'fetchLedger': false,
299735
+ 'fetchLedgerEntry': false,
299736
+ 'fetchLeverageTiers': false,
299737
+ 'fetchMarketLeverageTiers': false,
299738
+ 'fetchMarkets': true,
299739
+ 'fetchMarkOHLCV': false,
299740
+ 'fetchMyTrades': false,
299741
+ 'fetchOHLCV': false,
299742
+ 'fetchOpenInterest': false,
299743
+ 'fetchOpenInterestHistory': false,
299744
+ 'fetchOpenOrders': true,
299745
+ 'fetchOrder': true,
299746
+ 'fetchOrderBook': true,
299747
+ 'fetchOrderBooks': false,
299748
+ 'fetchOrders': false,
299749
+ 'fetchOrderTrades': false,
299750
+ 'fetchPermissions': false,
299751
+ 'fetchPosition': false,
299752
+ 'fetchPositions': false,
299753
+ 'fetchPositionsForSymbol': false,
299754
+ 'fetchPositionsRisk': false,
299755
+ 'fetchPremiumIndexOHLCV': false,
299756
+ 'fetchTicker': true,
299757
+ 'fetchTickers': false,
299758
+ 'fetchTrades': true,
299759
+ 'fetchTradingLimits': false,
299760
+ 'fetchTransactionFee': false,
299761
+ 'fetchTransactionFees': false,
299762
+ 'fetchTransactions': false,
299763
+ 'fetchTransfers': false,
299764
+ 'fetchWithdrawAddresses': false,
299765
+ 'fetchWithdrawal': false,
299766
+ 'fetchWithdrawals': false,
299767
+ 'reduceMargin': false,
299768
+ 'setLeverage': false,
299769
+ 'setMargin': false,
299770
+ 'setMarginMode': false,
299771
+ 'setPositionMode': false,
299772
+ 'signIn': false,
299773
+ 'transfer': false,
299774
+ 'withdraw': false,
299775
+ },
299776
+ 'urls': {
299777
+ 'referral': '',
299778
+ 'logo': 'https://github.com/ccxt/ccxt/assets/43336371/3aa748b7-ea44-45e9-a9e7-b1d207a2578a',
299779
+ 'api': {
299780
+ 'rest': 'https://tradeogre.com/api/v1',
299781
+ },
299782
+ 'www': 'https://tradeogre.com',
299783
+ 'doc': 'https://tradeogre.com/help/api',
299784
+ 'fees': 'https://tradeogre.com/help/fees',
299785
+ },
299786
+ 'fees': {
299787
+ 'trading': {
299788
+ 'maker': this.parseNumber('0.002'),
299789
+ 'taker': this.parseNumber('0.002'),
299790
+ },
299791
+ },
299792
+ 'api': {
299793
+ 'public': {
299794
+ 'get': {
299795
+ 'markets': 1,
299796
+ 'orders/{market}': 1,
299797
+ 'ticker/{market}': 1,
299798
+ 'history/{market}': 1,
299799
+ },
299800
+ },
299801
+ 'private': {
299802
+ 'get': {
299803
+ 'account/balance': 1,
299804
+ 'account/balances': 1,
299805
+ 'account/order/{uuid}': 1,
299806
+ },
299807
+ 'post': {
299808
+ 'order/buy': 1,
299809
+ 'order/sell': 1,
299810
+ 'order/cancel': 1,
299811
+ 'orders': 1,
299812
+ 'account/orders': 1,
299813
+ },
299814
+ },
299815
+ },
299816
+ 'commonCurrencies': {},
299817
+ 'precisionMode': _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__/* .TICK_SIZE */ .sh,
299818
+ 'exceptions': {
299819
+ 'exact': {
299820
+ 'Must be authorized': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
299821
+ 'Market not found': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
299822
+ 'Insufficient funds': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
299823
+ 'Order not found': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
299824
+ },
299825
+ },
299826
+ 'options': {},
299827
+ });
299828
+ }
299829
+ async fetchMarkets(params = {}) {
299830
+ /**
299831
+ * @method
299832
+ * @name tradeogre#fetchMarkets
299833
+ * @description retrieves data on all markets for bigone
299834
+ * @see https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#markets
299835
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
299836
+ * @returns {object[]} an array of objects representing market data
299837
+ */
299838
+ const response = await this.publicGetMarkets(params);
299839
+ //
299840
+ // [
299841
+ // {
299842
+ // "AEON-BTC": {
299843
+ // "initialprice": "0.00022004",
299844
+ // "price": "0.00025992",
299845
+ // "high": "0.00025992",
299846
+ // "low": "0.00022003",
299847
+ // "volume": "0.00359066",
299848
+ // "bid": "0.00022456",
299849
+ // "ask": "0.00025993"
299850
+ // }
299851
+ // }
299852
+ // ]
299853
+ //
299854
+ const result = [];
299855
+ for (let i = 0; i < response.length; i++) {
299856
+ const rawMarket = response[i];
299857
+ const keys = Object.keys(rawMarket);
299858
+ const id = this.safeString(keys, 0);
299859
+ const keyParts = id.split('-');
299860
+ const baseId = this.safeString(keyParts, 0);
299861
+ const quoteId = this.safeString(keyParts, 1);
299862
+ const base = this.safeCurrencyCode(baseId);
299863
+ const quote = this.safeCurrencyCode(quoteId);
299864
+ const market = this.safeMarketStructure({
299865
+ 'id': id,
299866
+ 'symbol': base + '/' + quote,
299867
+ 'base': base,
299868
+ 'quote': quote,
299869
+ 'settle': undefined,
299870
+ 'baseId': baseId,
299871
+ 'quoteId': quoteId,
299872
+ 'settleId': undefined,
299873
+ 'type': 'spot',
299874
+ 'spot': true,
299875
+ 'margin': false,
299876
+ 'swap': false,
299877
+ 'future': false,
299878
+ 'option': false,
299879
+ 'active': true,
299880
+ 'contract': false,
299881
+ 'linear': undefined,
299882
+ 'inverse': undefined,
299883
+ 'contractSize': undefined,
299884
+ 'taker': this.fees['trading']['taker'],
299885
+ 'maker': this.fees['trading']['taker'],
299886
+ 'expiry': undefined,
299887
+ 'expiryDatetime': undefined,
299888
+ 'strike': undefined,
299889
+ 'optionType': undefined,
299890
+ 'precision': {
299891
+ 'amount': this.parseNumber(this.parsePrecision('8')),
299892
+ 'price': this.parseNumber(this.parsePrecision('8')), // they're not explicit about it
299893
+ },
299894
+ 'limits': {
299895
+ 'leverage': {
299896
+ 'min': undefined,
299897
+ 'max': undefined,
299898
+ },
299899
+ 'amount': {
299900
+ 'min': undefined,
299901
+ 'max': undefined,
299902
+ },
299903
+ 'price': {
299904
+ 'min': undefined,
299905
+ 'max': undefined,
299906
+ },
299907
+ 'cost': {
299908
+ 'min': undefined,
299909
+ 'max': undefined,
299910
+ },
299911
+ },
299912
+ 'created': undefined,
299913
+ 'info': rawMarket,
299914
+ });
299915
+ result.push(market);
299916
+ }
299917
+ return result;
299918
+ }
299919
+ async fetchTicker(symbol, params = {}) {
299920
+ /**
299921
+ * @method
299922
+ * @name tradeogre#fetchTicker
299923
+ * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
299924
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
299925
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
299926
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
299927
+ */
299928
+ await this.loadMarkets();
299929
+ const market = this.market(symbol);
299930
+ const request = {
299931
+ 'market': market['id'],
299932
+ };
299933
+ const response = await this.publicGetTickerMarket(this.extend(request, params));
299934
+ //
299935
+ // {
299936
+ // "success":true,
299937
+ // "initialprice":"0.02502002",
299938
+ // "price":"0.02500000",
299939
+ // "high":"0.03102001",
299940
+ // "low":"0.02500000",
299941
+ // "volume":"0.15549958",
299942
+ // "bid":"0.02420000",
299943
+ // "ask":"0.02625000"
299944
+ // }
299945
+ //
299946
+ return this.parseTicker(response, market);
299947
+ }
299948
+ parseTicker(ticker, market = undefined) {
299949
+ //
299950
+ // {
299951
+ // "success":true,
299952
+ // "initialprice":"0.02502002",
299953
+ // "price":"0.02500000",
299954
+ // "high":"0.03102001",
299955
+ // "low":"0.02500000",
299956
+ // "volume":"0.15549958",
299957
+ // "bid":"0.02420000",
299958
+ // "ask":"0.02625000"
299959
+ // }
299960
+ //
299961
+ return this.safeTicker({
299962
+ 'symbol': this.safeString(market, 'symbol'),
299963
+ 'timestamp': undefined,
299964
+ 'datetime': undefined,
299965
+ 'high': this.safeString(ticker, 'high'),
299966
+ 'low': this.safeString(ticker, 'low'),
299967
+ 'bid': this.safeString(ticker, 'bid'),
299968
+ 'bidVolume': undefined,
299969
+ 'ask': this.safeString(ticker, 'ask'),
299970
+ 'askVolume': undefined,
299971
+ 'vwap': undefined,
299972
+ 'open': this.safeString(ticker, 'open'),
299973
+ 'close': undefined,
299974
+ 'last': undefined,
299975
+ 'previousClose': undefined,
299976
+ 'change': undefined,
299977
+ 'percentage': undefined,
299978
+ 'average': undefined,
299979
+ 'baseVolume': this.safeString(ticker, 'volume'),
299980
+ 'quoteVolume': undefined,
299981
+ 'info': ticker,
299982
+ }, market);
299983
+ }
299984
+ async fetchOrderBook(symbol, limit = undefined, params = {}) {
299985
+ /**
299986
+ * @method
299987
+ * @name tradeogre#fetchOrderBook
299988
+ * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
299989
+ * @param {string} symbol unified symbol of the market to fetch the order book for
299990
+ * @param {int} [limit] the maximum amount of order book entries to return
299991
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
299992
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
299993
+ */
299994
+ await this.loadMarkets();
299995
+ const market = this.market(symbol);
299996
+ const request = {
299997
+ 'market': market['id'],
299998
+ };
299999
+ const response = await this.publicGetOrdersMarket(this.extend(request, params));
300000
+ //
300001
+ // {
300002
+ // "success": true,
300003
+ // "buy": {
300004
+ // "0.02425501": "36.46986607",
300005
+ // "0.02425502": "93.64201137",
300006
+ // "0.02425503": "19.02000000",
300007
+ // "0.02425515": "115.49000000"
300008
+ // }
300009
+ //
300010
+ const rawBids = this.safeDict(response, 'buy', {});
300011
+ const rawAsks = this.safeDict(response, 'sell', {});
300012
+ const rawOrderbook = {
300013
+ 'bids': rawBids,
300014
+ 'asks': rawAsks,
300015
+ };
300016
+ const orderbook = this.parseOrderBook(rawOrderbook, symbol);
300017
+ return orderbook;
300018
+ }
300019
+ parseBidsAsks(bidasks, priceKey = 0, amountKey = 1, countOrIdKey = 2) {
300020
+ const prices = Object.keys(bidasks);
300021
+ const result = [];
300022
+ for (let i = 0; i < prices.length; i++) {
300023
+ const priceString = this.safeString(prices, i);
300024
+ const price = this.safeNumber(prices, i);
300025
+ const volume = this.safeNumber(bidasks, priceString);
300026
+ result.push([price, volume]);
300027
+ }
300028
+ return result;
300029
+ }
300030
+ async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
300031
+ /**
300032
+ * @method
300033
+ * @name tradeogre#fetchTrades
300034
+ * @description get the list of most recent trades for a particular symbol
300035
+ * @param {string} symbol unified symbol of the market to fetch trades for
300036
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
300037
+ * @param {int} [limit] the maximum number of trades to fetch
300038
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
300039
+ * @param {int} params.lastId order id
300040
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
300041
+ */
300042
+ await this.loadMarkets();
300043
+ const market = this.market(symbol);
300044
+ const request = {
300045
+ 'market': market['id'],
300046
+ };
300047
+ const response = await this.publicGetHistoryMarket(this.extend(request, params));
300048
+ return this.parseTrades(response, market, since, limit);
300049
+ }
300050
+ parseTrade(trade, market = undefined) {
300051
+ //
300052
+ // {
300053
+ // "date":1515128233,
300054
+ // "type":"sell",
300055
+ // "price":"0.02454320",
300056
+ // "quantity":"0.17614230"
300057
+ // }
300058
+ //
300059
+ const timestamp = this.safeIntegerProduct(trade, 'date', 1000);
300060
+ return this.safeTrade({
300061
+ 'info': trade,
300062
+ 'id': undefined,
300063
+ 'timestamp': timestamp,
300064
+ 'datetime': this.iso8601(timestamp),
300065
+ 'symbol': this.safeString(market, 'symbol'),
300066
+ 'order': undefined,
300067
+ 'type': undefined,
300068
+ 'side': this.safeString(trade, 'type'),
300069
+ 'takerOrMaker': undefined,
300070
+ 'price': this.safeString(trade, 'price'),
300071
+ 'amount': this.safeString(trade, 'quantity'),
300072
+ 'cost': undefined,
300073
+ 'fee': {
300074
+ 'currency': undefined,
300075
+ 'cost': undefined,
300076
+ },
300077
+ }, market);
300078
+ }
300079
+ async fetchBalance(params = {}) {
300080
+ /**
300081
+ * @method
300082
+ * @name tradeogre#fetchBalance
300083
+ * @description query for balance and get the amount of funds available for trading or funds locked in orders
300084
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
300085
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
300086
+ */
300087
+ await this.loadMarkets();
300088
+ const response = await this.privateGetAccountBalances(params);
300089
+ const result = this.safeDict(response, 'balances', {});
300090
+ return this.parseBalance(result);
300091
+ }
300092
+ parseBalance(response) {
300093
+ //
300094
+ // {
300095
+ // "USDT": "12"
300096
+ // }
300097
+ //
300098
+ const result = {
300099
+ 'info': response,
300100
+ };
300101
+ const keys = Object.keys(response);
300102
+ for (let i = 0; i < keys.length; i++) {
300103
+ const currencyId = keys[i];
300104
+ const balance = response[currencyId];
300105
+ const code = this.safeCurrencyCode(currencyId);
300106
+ const account = {
300107
+ 'total': balance,
300108
+ };
300109
+ result[code] = account;
300110
+ }
300111
+ return this.safeBalance(result);
300112
+ }
300113
+ async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
300114
+ /**
300115
+ * @method
300116
+ * @name tradeogre#createOrder
300117
+ * @description create a trade order
300118
+ * @param {string} symbol unified symbol of the market to create an order in
300119
+ * @param {string} type not used by tradeogre
300120
+ * @param {string} side 'buy' or 'sell'
300121
+ * @param {float} amount how much of currency you want to trade in units of base currency
300122
+ * @param {float} price the price at which the order is to be fullfilled, in units of the quote currency
300123
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
300124
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
300125
+ */
300126
+ await this.loadMarkets();
300127
+ const market = this.market(symbol);
300128
+ const request = {
300129
+ 'market': market['id'],
300130
+ 'quantity': this.parseToNumeric(this.amountToPrecision(symbol, amount)),
300131
+ 'price': this.parseToNumeric(this.priceToPrecision(symbol, price)),
300132
+ };
300133
+ if (type === 'market') {
300134
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' createOrder does not support market orders');
300135
+ }
300136
+ let response = undefined;
300137
+ if (side === 'buy') {
300138
+ response = await this.privatePostOrderBuy(this.extend(request, params));
300139
+ }
300140
+ else {
300141
+ response = await this.privatePostOrderSell(this.extend(request, params));
300142
+ }
300143
+ return this.parseOrder(response, market);
300144
+ }
300145
+ async cancelOrder(id, symbol = undefined, params = {}) {
300146
+ /**
300147
+ * @method
300148
+ * @name tradeogre#cancelOrder
300149
+ * @description cancels an open order
300150
+ * @param {string} id order id
300151
+ * @param {string} symbol unified symbol of the market the order was made in
300152
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
300153
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
300154
+ */
300155
+ await this.loadMarkets();
300156
+ const request = {
300157
+ 'uuid': id,
300158
+ };
300159
+ const response = await this.privatePostOrderCancel(this.extend(request, params));
300160
+ return this.parseOrder(response);
300161
+ }
300162
+ async cancelAllOrders(symbol = undefined, params = {}) {
300163
+ /**
300164
+ * @method
300165
+ * @name tradeogre#cancelAllOrders
300166
+ * @description cancel all open orders
300167
+ * @param {string} symbol alpaca cancelAllOrders cannot setting symbol, it will cancel all open orders
300168
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
300169
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
300170
+ */
300171
+ await this.loadMarkets();
300172
+ return await this.cancelOrder('all', symbol, params);
300173
+ }
300174
+ async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
300175
+ /**
300176
+ * @method
300177
+ * @name tradeogre#fetchOpenOrders
300178
+ * @description fetch all unfilled currently open orders
300179
+ * @param {string} symbol unified market symbol of the market orders were made in
300180
+ * @param {int} [since] the earliest time in ms to fetch orders for
300181
+ * @param {int} [limit] the maximum number of order structures to retrieve
300182
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
300183
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
300184
+ */
300185
+ await this.loadMarkets();
300186
+ let market = undefined;
300187
+ if (symbol !== undefined) {
300188
+ market = this.market(symbol);
300189
+ }
300190
+ const request = {};
300191
+ if (symbol !== undefined) {
300192
+ request['market'] = market['id'];
300193
+ }
300194
+ const response = await this.privatePostAccountOrders(this.extend(request, params));
300195
+ return this.parseOrders(response, market, since, limit);
300196
+ }
300197
+ async fetchOrder(id, symbol = undefined, params = {}) {
300198
+ /**
300199
+ * @method
300200
+ * @name ace#fetchOrder
300201
+ * @description fetches information on an order made by the user
300202
+ * @see https://github.com/ace-exchange/ace-official-api-docs/blob/master/api_v2.md#open-api---order-status
300203
+ * @param {string} symbol unified symbol of the market the order was made in
300204
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
300205
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
300206
+ */
300207
+ await this.loadMarkets();
300208
+ const request = {
300209
+ 'uuid': id,
300210
+ };
300211
+ const response = await this.privateGetAccountOrderUuid(this.extend(request, params));
300212
+ return this.parseOrder(response, undefined);
300213
+ }
300214
+ parseOrder(order, market = undefined) {
300215
+ //
300216
+ //
300217
+ // {
300218
+ // "uuid": "a40ac710-8dc5-b5a8-aa69-389715197b14",
300219
+ // "date": 1514876938,
300220
+ // "type": "sell",
300221
+ // "price": "0.02621960",
300222
+ // "quantity": "1.55772526",
300223
+ // "market": "XMR-BTC"
300224
+ // }
300225
+ //
300226
+ const timestamp = this.safeIntegerProduct(order, 'date', 1000);
300227
+ const marketId = this.safeString(order, 'market');
300228
+ market = this.safeMarket(marketId, market);
300229
+ return this.safeOrder({
300230
+ 'info': order,
300231
+ 'id': this.safeString(order, 'uuid'),
300232
+ 'clientOrderId': undefined,
300233
+ 'timestamp': timestamp,
300234
+ 'datetime': this.iso8601(timestamp),
300235
+ 'lastTradeTimestamp': undefined,
300236
+ 'symbol': market['symbol'],
300237
+ 'type': undefined,
300238
+ 'timeInForce': undefined,
300239
+ 'postOnly': undefined,
300240
+ 'side': this.safeString(order, 'type'),
300241
+ 'price': this.safeString(order, 'price'),
300242
+ 'stopPrice': undefined,
300243
+ 'amount': this.safeString(order, 'quantity'),
300244
+ 'cost': undefined,
300245
+ 'average': undefined,
300246
+ 'filled': this.safeString(order, 'fulfilled'),
300247
+ 'remaining': undefined,
300248
+ 'status': undefined,
300249
+ 'fee': {
300250
+ 'currency': undefined,
300251
+ 'cost': undefined,
300252
+ },
300253
+ 'trades': undefined,
300254
+ }, market);
300255
+ }
300256
+ sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
300257
+ let url = this.urls['api']['rest'] + '/' + this.implodeParams(path, params);
300258
+ params = this.omit(params, this.extractParams(path));
300259
+ if (method === 'GET') {
300260
+ if (Object.keys(params).length) {
300261
+ url += '?' + this.urlencode(params);
300262
+ }
300263
+ }
300264
+ if (api === 'private') {
300265
+ headers = {
300266
+ 'Content-Type': 'application/x-www-form-urlencoded',
300267
+ 'Referer': 'CCXT',
300268
+ 'authorization': 'Basic ' + this.stringToBase64(this.apiKey + ':' + this.secret),
300269
+ };
300270
+ if (method !== 'GET') {
300271
+ body = this.urlencode(params);
300272
+ }
300273
+ }
300274
+ return { 'url': url, 'method': method, 'body': body, 'headers': headers };
300275
+ }
300276
+ handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
300277
+ if (response === undefined) {
300278
+ return undefined;
300279
+ }
300280
+ if (!('success' in response)) {
300281
+ return undefined;
300282
+ }
300283
+ //
300284
+ // {"success":false,"error":"Must be authorized"}
300285
+ //
300286
+ const success = this.safeBool(response, 'success');
300287
+ if (success) {
300288
+ return undefined;
300289
+ }
300290
+ const successString = this.safeString(response, 'success');
300291
+ if (successString === 'true') {
300292
+ return undefined;
300293
+ }
300294
+ const error = this.safeValue(response, 'error');
300295
+ const errorCode = this.safeString(error, 'code');
300296
+ const feedback = this.id + ' ' + this.json(response);
300297
+ this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, feedback);
300298
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(feedback);
300299
+ }
300300
+ }
300301
+
300302
+
299624
300303
  /***/ }),
299625
300304
 
299626
300305
  /***/ 7584:
@@ -320526,39 +321205,39 @@ var __webpack_exports__ = {};
320526
321205
  (() => {
320527
321206
  __webpack_require__.r(__webpack_exports__);
320528
321207
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
320529
- /* harmony export */ AccountNotEnabled: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.AccountNotEnabled),
320530
- /* harmony export */ AccountSuspended: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.AccountSuspended),
320531
- /* harmony export */ AddressPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.AddressPending),
320532
- /* harmony export */ ArgumentsRequired: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.ArgumentsRequired),
320533
- /* harmony export */ AuthenticationError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.AuthenticationError),
320534
- /* harmony export */ BadRequest: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.BadRequest),
320535
- /* harmony export */ BadResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.BadResponse),
320536
- /* harmony export */ BadSymbol: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.BadSymbol),
320537
- /* harmony export */ BaseError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.BaseError),
320538
- /* harmony export */ CancelPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.CancelPending),
320539
- /* harmony export */ DDoSProtection: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.DDoSProtection),
320540
- /* harmony export */ DuplicateOrderId: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.DuplicateOrderId),
321208
+ /* harmony export */ AccountNotEnabled: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AccountNotEnabled),
321209
+ /* harmony export */ AccountSuspended: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AccountSuspended),
321210
+ /* harmony export */ AddressPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AddressPending),
321211
+ /* harmony export */ ArgumentsRequired: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.ArgumentsRequired),
321212
+ /* harmony export */ AuthenticationError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.AuthenticationError),
321213
+ /* harmony export */ BadRequest: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BadRequest),
321214
+ /* harmony export */ BadResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BadResponse),
321215
+ /* harmony export */ BadSymbol: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BadSymbol),
321216
+ /* harmony export */ BaseError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.BaseError),
321217
+ /* harmony export */ CancelPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.CancelPending),
321218
+ /* harmony export */ DDoSProtection: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.DDoSProtection),
321219
+ /* harmony export */ DuplicateOrderId: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.DuplicateOrderId),
320541
321220
  /* harmony export */ Exchange: () => (/* reexport safe */ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__.e),
320542
- /* harmony export */ ExchangeError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.ExchangeError),
320543
- /* harmony export */ ExchangeNotAvailable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.ExchangeNotAvailable),
320544
- /* harmony export */ InsufficientFunds: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.InsufficientFunds),
320545
- /* harmony export */ InvalidAddress: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.InvalidAddress),
320546
- /* harmony export */ InvalidNonce: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.InvalidNonce),
320547
- /* harmony export */ InvalidOrder: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.InvalidOrder),
320548
- /* harmony export */ MarginModeAlreadySet: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.MarginModeAlreadySet),
320549
- /* harmony export */ NetworkError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.NetworkError),
320550
- /* harmony export */ NoChange: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.NoChange),
320551
- /* harmony export */ NotSupported: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.NotSupported),
320552
- /* harmony export */ NullResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.NullResponse),
320553
- /* harmony export */ OnMaintenance: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.OnMaintenance),
320554
- /* harmony export */ OrderImmediatelyFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.OrderImmediatelyFillable),
320555
- /* harmony export */ OrderNotCached: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.OrderNotCached),
320556
- /* harmony export */ OrderNotFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.OrderNotFillable),
320557
- /* harmony export */ OrderNotFound: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.OrderNotFound),
320558
- /* harmony export */ PermissionDenied: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.PermissionDenied),
320559
- /* harmony export */ Precise: () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_166__.O),
320560
- /* harmony export */ RateLimitExceeded: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.RateLimitExceeded),
320561
- /* harmony export */ RequestTimeout: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__.RequestTimeout),
321221
+ /* harmony export */ ExchangeError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.ExchangeError),
321222
+ /* harmony export */ ExchangeNotAvailable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.ExchangeNotAvailable),
321223
+ /* harmony export */ InsufficientFunds: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InsufficientFunds),
321224
+ /* harmony export */ InvalidAddress: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InvalidAddress),
321225
+ /* harmony export */ InvalidNonce: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InvalidNonce),
321226
+ /* harmony export */ InvalidOrder: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.InvalidOrder),
321227
+ /* harmony export */ MarginModeAlreadySet: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.MarginModeAlreadySet),
321228
+ /* harmony export */ NetworkError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NetworkError),
321229
+ /* harmony export */ NoChange: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NoChange),
321230
+ /* harmony export */ NotSupported: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NotSupported),
321231
+ /* harmony export */ NullResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.NullResponse),
321232
+ /* harmony export */ OnMaintenance: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OnMaintenance),
321233
+ /* harmony export */ OrderImmediatelyFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderImmediatelyFillable),
321234
+ /* harmony export */ OrderNotCached: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderNotCached),
321235
+ /* harmony export */ OrderNotFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderNotFillable),
321236
+ /* harmony export */ OrderNotFound: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.OrderNotFound),
321237
+ /* harmony export */ PermissionDenied: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.PermissionDenied),
321238
+ /* harmony export */ Precise: () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_167__.O),
321239
+ /* harmony export */ RateLimitExceeded: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.RateLimitExceeded),
321240
+ /* harmony export */ RequestTimeout: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__.RequestTimeout),
320562
321241
  /* harmony export */ ace: () => (/* reexport safe */ _src_ace_js__WEBPACK_IMPORTED_MODULE_1__.Z),
320563
321242
  /* harmony export */ alpaca: () => (/* reexport safe */ _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__.Z),
320564
321243
  /* harmony export */ ascendex: () => (/* reexport safe */ _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__.Z),
@@ -320614,11 +321293,11 @@ __webpack_require__.r(__webpack_exports__);
320614
321293
  /* harmony export */ delta: () => (/* reexport safe */ _src_delta_js__WEBPACK_IMPORTED_MODULE_52__.Z),
320615
321294
  /* harmony export */ deribit: () => (/* reexport safe */ _src_deribit_js__WEBPACK_IMPORTED_MODULE_53__.Z),
320616
321295
  /* harmony export */ digifinex: () => (/* reexport safe */ _src_digifinex_js__WEBPACK_IMPORTED_MODULE_54__.Z),
320617
- /* harmony export */ errors: () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__),
321296
+ /* harmony export */ errors: () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__),
320618
321297
  /* harmony export */ exchanges: () => (/* binding */ exchanges),
320619
321298
  /* harmony export */ exmo: () => (/* reexport safe */ _src_exmo_js__WEBPACK_IMPORTED_MODULE_55__.Z),
320620
321299
  /* harmony export */ fmfwio: () => (/* reexport safe */ _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_56__.Z),
320621
- /* harmony export */ functions: () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_167__),
321300
+ /* harmony export */ functions: () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_168__),
320622
321301
  /* harmony export */ gate: () => (/* reexport safe */ _src_gate_js__WEBPACK_IMPORTED_MODULE_57__.Z),
320623
321302
  /* harmony export */ gateio: () => (/* reexport safe */ _src_gateio_js__WEBPACK_IMPORTED_MODULE_58__.Z),
320624
321303
  /* harmony export */ gemini: () => (/* reexport safe */ _src_gemini_js__WEBPACK_IMPORTED_MODULE_59__.Z),
@@ -320658,20 +321337,21 @@ __webpack_require__.r(__webpack_exports__);
320658
321337
  /* harmony export */ probit: () => (/* reexport safe */ _src_probit_js__WEBPACK_IMPORTED_MODULE_92__.Z),
320659
321338
  /* harmony export */ timex: () => (/* reexport safe */ _src_timex_js__WEBPACK_IMPORTED_MODULE_93__.Z),
320660
321339
  /* harmony export */ tokocrypto: () => (/* reexport safe */ _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_94__.Z),
320661
- /* harmony export */ upbit: () => (/* reexport safe */ _src_upbit_js__WEBPACK_IMPORTED_MODULE_95__.Z),
321340
+ /* harmony export */ tradeogre: () => (/* reexport safe */ _src_tradeogre_js__WEBPACK_IMPORTED_MODULE_95__.Z),
321341
+ /* harmony export */ upbit: () => (/* reexport safe */ _src_upbit_js__WEBPACK_IMPORTED_MODULE_96__.Z),
320662
321342
  /* harmony export */ version: () => (/* binding */ version),
320663
- /* harmony export */ wavesexchange: () => (/* reexport safe */ _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_96__.Z),
320664
- /* harmony export */ wazirx: () => (/* reexport safe */ _src_wazirx_js__WEBPACK_IMPORTED_MODULE_97__.Z),
320665
- /* harmony export */ whitebit: () => (/* reexport safe */ _src_whitebit_js__WEBPACK_IMPORTED_MODULE_98__.Z),
320666
- /* harmony export */ woo: () => (/* reexport safe */ _src_woo_js__WEBPACK_IMPORTED_MODULE_99__.Z),
320667
- /* harmony export */ yobit: () => (/* reexport safe */ _src_yobit_js__WEBPACK_IMPORTED_MODULE_100__.Z),
320668
- /* harmony export */ zaif: () => (/* reexport safe */ _src_zaif_js__WEBPACK_IMPORTED_MODULE_101__.Z),
320669
- /* harmony export */ zonda: () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_102__.Z)
321343
+ /* harmony export */ wavesexchange: () => (/* reexport safe */ _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_97__.Z),
321344
+ /* harmony export */ wazirx: () => (/* reexport safe */ _src_wazirx_js__WEBPACK_IMPORTED_MODULE_98__.Z),
321345
+ /* harmony export */ whitebit: () => (/* reexport safe */ _src_whitebit_js__WEBPACK_IMPORTED_MODULE_99__.Z),
321346
+ /* harmony export */ woo: () => (/* reexport safe */ _src_woo_js__WEBPACK_IMPORTED_MODULE_100__.Z),
321347
+ /* harmony export */ yobit: () => (/* reexport safe */ _src_yobit_js__WEBPACK_IMPORTED_MODULE_101__.Z),
321348
+ /* harmony export */ zaif: () => (/* reexport safe */ _src_zaif_js__WEBPACK_IMPORTED_MODULE_102__.Z),
321349
+ /* harmony export */ zonda: () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_103__.Z)
320670
321350
  /* harmony export */ });
320671
321351
  /* harmony import */ var _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
320672
- /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(2194);
320673
- /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(7100);
320674
- /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(6689);
321352
+ /* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(2194);
321353
+ /* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(7100);
321354
+ /* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_169__ = __webpack_require__(6689);
320675
321355
  /* harmony import */ var _src_ace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9869);
320676
321356
  /* harmony import */ var _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5660);
320677
321357
  /* harmony import */ var _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9612);
@@ -320766,77 +321446,78 @@ __webpack_require__.r(__webpack_exports__);
320766
321446
  /* harmony import */ var _src_probit_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(3657);
320767
321447
  /* harmony import */ var _src_timex_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(1067);
320768
321448
  /* harmony import */ var _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(5261);
320769
- /* harmony import */ var _src_upbit_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(7584);
320770
- /* harmony import */ var _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(3853);
320771
- /* harmony import */ var _src_wazirx_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(6536);
320772
- /* harmony import */ var _src_whitebit_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(5467);
320773
- /* harmony import */ var _src_woo_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(517);
320774
- /* harmony import */ var _src_yobit_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(3850);
320775
- /* harmony import */ var _src_zaif_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(5934);
320776
- /* harmony import */ var _src_zonda_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(5140);
320777
- /* harmony import */ var _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(2467);
320778
- /* harmony import */ var _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(2383);
320779
- /* harmony import */ var _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(8848);
320780
- /* harmony import */ var _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(8764);
320781
- /* harmony import */ var _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(5078);
320782
- /* harmony import */ var _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(1326);
320783
- /* harmony import */ var _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(1230);
320784
- /* harmony import */ var _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(6955);
320785
- /* harmony import */ var _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(453);
320786
- /* harmony import */ var _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(9772);
320787
- /* harmony import */ var _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(588);
320788
- /* harmony import */ var _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(1885);
320789
- /* harmony import */ var _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(7504);
320790
- /* harmony import */ var _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(2302);
320791
- /* harmony import */ var _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(2191);
320792
- /* harmony import */ var _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(1297);
320793
- /* harmony import */ var _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(3005);
320794
- /* harmony import */ var _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(2317);
320795
- /* harmony import */ var _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(6977);
320796
- /* harmony import */ var _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(2519);
320797
- /* harmony import */ var _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(5030);
320798
- /* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(5272);
320799
- /* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(3414);
320800
- /* harmony import */ var _src_pro_coinbaseinternational_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(6541);
320801
- /* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(8368);
320802
- /* harmony import */ var _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(7891);
320803
- /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(204);
320804
- /* harmony import */ var _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(5208);
320805
- /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(6820);
320806
- /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(2952);
320807
- /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(1788);
320808
- /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(9004);
320809
- /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(8335);
320810
- /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(1465);
320811
- /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(9488);
320812
- /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(5189);
320813
- /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(8559);
320814
- /* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(7474);
320815
- /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(8384);
320816
- /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(9021);
320817
- /* harmony import */ var _src_pro_hyperliquid_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(8354);
320818
- /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(3484);
320819
- /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(1311);
320820
- /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(736);
320821
- /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(449);
320822
- /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(2387);
320823
- /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(7181);
320824
- /* harmony import */ var _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(1267);
320825
- /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(627);
320826
- /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(6484);
320827
- /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(8080);
320828
- /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(7105);
320829
- /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(2214);
320830
- /* harmony import */ var _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(9419);
320831
- /* harmony import */ var _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(8516);
320832
- /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(4360);
320833
- /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(7924);
320834
- /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(3541);
320835
- /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(9782);
320836
- /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(7614);
320837
- /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(4828);
320838
- /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(5630);
320839
- /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(3910);
321449
+ /* harmony import */ var _src_tradeogre_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(1911);
321450
+ /* harmony import */ var _src_upbit_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(7584);
321451
+ /* harmony import */ var _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(3853);
321452
+ /* harmony import */ var _src_wazirx_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(6536);
321453
+ /* harmony import */ var _src_whitebit_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(5467);
321454
+ /* harmony import */ var _src_woo_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(517);
321455
+ /* harmony import */ var _src_yobit_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(3850);
321456
+ /* harmony import */ var _src_zaif_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(5934);
321457
+ /* harmony import */ var _src_zonda_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(5140);
321458
+ /* harmony import */ var _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(2467);
321459
+ /* harmony import */ var _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(2383);
321460
+ /* harmony import */ var _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(8848);
321461
+ /* harmony import */ var _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(8764);
321462
+ /* harmony import */ var _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(5078);
321463
+ /* harmony import */ var _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(1326);
321464
+ /* harmony import */ var _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(1230);
321465
+ /* harmony import */ var _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(6955);
321466
+ /* harmony import */ var _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(453);
321467
+ /* harmony import */ var _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(9772);
321468
+ /* harmony import */ var _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(588);
321469
+ /* harmony import */ var _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(1885);
321470
+ /* harmony import */ var _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(7504);
321471
+ /* harmony import */ var _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(2302);
321472
+ /* harmony import */ var _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(2191);
321473
+ /* harmony import */ var _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(1297);
321474
+ /* harmony import */ var _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(3005);
321475
+ /* harmony import */ var _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(2317);
321476
+ /* harmony import */ var _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(6977);
321477
+ /* harmony import */ var _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(2519);
321478
+ /* harmony import */ var _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(5030);
321479
+ /* harmony import */ var _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(5272);
321480
+ /* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(3414);
321481
+ /* harmony import */ var _src_pro_coinbaseinternational_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(6541);
321482
+ /* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(8368);
321483
+ /* harmony import */ var _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(7891);
321484
+ /* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(204);
321485
+ /* harmony import */ var _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(5208);
321486
+ /* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(6820);
321487
+ /* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(2952);
321488
+ /* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(1788);
321489
+ /* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(9004);
321490
+ /* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(8335);
321491
+ /* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(1465);
321492
+ /* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(9488);
321493
+ /* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(5189);
321494
+ /* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(8559);
321495
+ /* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(7474);
321496
+ /* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(8384);
321497
+ /* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(9021);
321498
+ /* harmony import */ var _src_pro_hyperliquid_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(8354);
321499
+ /* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(3484);
321500
+ /* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(1311);
321501
+ /* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(736);
321502
+ /* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(449);
321503
+ /* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(2387);
321504
+ /* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(7181);
321505
+ /* harmony import */ var _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(1267);
321506
+ /* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(627);
321507
+ /* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(6484);
321508
+ /* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(8080);
321509
+ /* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(7105);
321510
+ /* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(2214);
321511
+ /* harmony import */ var _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(9419);
321512
+ /* harmony import */ var _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(8516);
321513
+ /* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(4360);
321514
+ /* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(7924);
321515
+ /* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(3541);
321516
+ /* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(9782);
321517
+ /* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(7614);
321518
+ /* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(4828);
321519
+ /* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(5630);
321520
+ /* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(3910);
320840
321521
  /*
320841
321522
 
320842
321523
  MIT License
@@ -320871,7 +321552,7 @@ SOFTWARE.
320871
321552
 
320872
321553
  //-----------------------------------------------------------------------------
320873
321554
  // this is updated by vss.js when building
320874
- const version = '4.2.74';
321555
+ const version = '4.2.76';
320875
321556
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion = version;
320876
321557
  //-----------------------------------------------------------------------------
320877
321558
 
@@ -320974,6 +321655,7 @@ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion
320974
321655
 
320975
321656
 
320976
321657
 
321658
+
320977
321659
 
320978
321660
 
320979
321661
  // pro exchanges
@@ -321135,79 +321817,80 @@ const exchanges = {
321135
321817
  'probit': _src_probit_js__WEBPACK_IMPORTED_MODULE_92__/* ["default"] */ .Z,
321136
321818
  'timex': _src_timex_js__WEBPACK_IMPORTED_MODULE_93__/* ["default"] */ .Z,
321137
321819
  'tokocrypto': _src_tokocrypto_js__WEBPACK_IMPORTED_MODULE_94__/* ["default"] */ .Z,
321138
- 'upbit': _src_upbit_js__WEBPACK_IMPORTED_MODULE_95__/* ["default"] */ .Z,
321139
- 'wavesexchange': _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_96__/* ["default"] */ .Z,
321140
- 'wazirx': _src_wazirx_js__WEBPACK_IMPORTED_MODULE_97__/* ["default"] */ .Z,
321141
- 'whitebit': _src_whitebit_js__WEBPACK_IMPORTED_MODULE_98__/* ["default"] */ .Z,
321142
- 'woo': _src_woo_js__WEBPACK_IMPORTED_MODULE_99__/* ["default"] */ .Z,
321143
- 'yobit': _src_yobit_js__WEBPACK_IMPORTED_MODULE_100__/* ["default"] */ .Z,
321144
- 'zaif': _src_zaif_js__WEBPACK_IMPORTED_MODULE_101__/* ["default"] */ .Z,
321145
- 'zonda': _src_zonda_js__WEBPACK_IMPORTED_MODULE_102__/* ["default"] */ .Z,
321820
+ 'tradeogre': _src_tradeogre_js__WEBPACK_IMPORTED_MODULE_95__/* ["default"] */ .Z,
321821
+ 'upbit': _src_upbit_js__WEBPACK_IMPORTED_MODULE_96__/* ["default"] */ .Z,
321822
+ 'wavesexchange': _src_wavesexchange_js__WEBPACK_IMPORTED_MODULE_97__/* ["default"] */ .Z,
321823
+ 'wazirx': _src_wazirx_js__WEBPACK_IMPORTED_MODULE_98__/* ["default"] */ .Z,
321824
+ 'whitebit': _src_whitebit_js__WEBPACK_IMPORTED_MODULE_99__/* ["default"] */ .Z,
321825
+ 'woo': _src_woo_js__WEBPACK_IMPORTED_MODULE_100__/* ["default"] */ .Z,
321826
+ 'yobit': _src_yobit_js__WEBPACK_IMPORTED_MODULE_101__/* ["default"] */ .Z,
321827
+ 'zaif': _src_zaif_js__WEBPACK_IMPORTED_MODULE_102__/* ["default"] */ .Z,
321828
+ 'zonda': _src_zonda_js__WEBPACK_IMPORTED_MODULE_103__/* ["default"] */ .Z,
321146
321829
  };
321147
321830
  const pro = {
321148
- 'alpaca': _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_103__/* ["default"] */ .Z,
321149
- 'ascendex': _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_104__/* ["default"] */ .Z,
321150
- 'bequant': _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_105__/* ["default"] */ .Z,
321151
- 'binance': _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_106__/* ["default"] */ .Z,
321152
- 'binancecoinm': _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_107__/* ["default"] */ .Z,
321153
- 'binanceus': _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_108__/* ["default"] */ .Z,
321154
- 'binanceusdm': _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_109__/* ["default"] */ .Z,
321155
- 'bingx': _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_110__/* ["default"] */ .Z,
321156
- 'bitcoincom': _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_111__/* ["default"] */ .Z,
321157
- 'bitfinex': _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_112__/* ["default"] */ .Z,
321158
- 'bitfinex2': _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_113__/* ["default"] */ .Z,
321159
- 'bitget': _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_114__/* ["default"] */ .Z,
321160
- 'bitmart': _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_115__/* ["default"] */ .Z,
321161
- 'bitmex': _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_116__/* ["default"] */ .Z,
321162
- 'bitopro': _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_117__/* ["default"] */ .Z,
321163
- 'bitpanda': _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_118__/* ["default"] */ .Z,
321164
- 'bitrue': _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_119__/* ["default"] */ .Z,
321165
- 'bitstamp': _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
321166
- 'bitvavo': _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
321167
- 'blockchaincom': _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
321168
- 'bybit': _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
321169
- 'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
321170
- 'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
321171
- 'coinbaseinternational': _src_pro_coinbaseinternational_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
321172
- 'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
321173
- 'coincheck': _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
321174
- 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
321175
- 'coinone': _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
321176
- 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
321177
- 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
321178
- 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
321179
- 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
321180
- 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
321181
- 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
321182
- 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
321183
- 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
321184
- 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
321185
- 'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
321186
- 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
321187
- 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
321188
- 'hyperliquid': _src_pro_hyperliquid_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
321189
- 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
321190
- 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
321191
- 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
321192
- 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
321193
- 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
321194
- 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
321195
- 'lbank': _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
321196
- 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
321197
- 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
321198
- 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
321199
- 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
321200
- 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
321201
- 'onetrading': _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
321202
- 'p2b': _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_157__/* ["default"] */ .Z,
321203
- 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_158__/* ["default"] */ .Z,
321204
- 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_159__/* ["default"] */ .Z,
321205
- 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_160__/* ["default"] */ .Z,
321206
- 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_161__/* ["default"] */ .Z,
321207
- 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_162__/* ["default"] */ .Z,
321208
- 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_163__/* ["default"] */ .Z,
321209
- 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_164__/* ["default"] */ .Z,
321210
- 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_165__/* ["default"] */ .Z,
321831
+ 'alpaca': _src_pro_alpaca_js__WEBPACK_IMPORTED_MODULE_104__/* ["default"] */ .Z,
321832
+ 'ascendex': _src_pro_ascendex_js__WEBPACK_IMPORTED_MODULE_105__/* ["default"] */ .Z,
321833
+ 'bequant': _src_pro_bequant_js__WEBPACK_IMPORTED_MODULE_106__/* ["default"] */ .Z,
321834
+ 'binance': _src_pro_binance_js__WEBPACK_IMPORTED_MODULE_107__/* ["default"] */ .Z,
321835
+ 'binancecoinm': _src_pro_binancecoinm_js__WEBPACK_IMPORTED_MODULE_108__/* ["default"] */ .Z,
321836
+ 'binanceus': _src_pro_binanceus_js__WEBPACK_IMPORTED_MODULE_109__/* ["default"] */ .Z,
321837
+ 'binanceusdm': _src_pro_binanceusdm_js__WEBPACK_IMPORTED_MODULE_110__/* ["default"] */ .Z,
321838
+ 'bingx': _src_pro_bingx_js__WEBPACK_IMPORTED_MODULE_111__/* ["default"] */ .Z,
321839
+ 'bitcoincom': _src_pro_bitcoincom_js__WEBPACK_IMPORTED_MODULE_112__/* ["default"] */ .Z,
321840
+ 'bitfinex': _src_pro_bitfinex_js__WEBPACK_IMPORTED_MODULE_113__/* ["default"] */ .Z,
321841
+ 'bitfinex2': _src_pro_bitfinex2_js__WEBPACK_IMPORTED_MODULE_114__/* ["default"] */ .Z,
321842
+ 'bitget': _src_pro_bitget_js__WEBPACK_IMPORTED_MODULE_115__/* ["default"] */ .Z,
321843
+ 'bitmart': _src_pro_bitmart_js__WEBPACK_IMPORTED_MODULE_116__/* ["default"] */ .Z,
321844
+ 'bitmex': _src_pro_bitmex_js__WEBPACK_IMPORTED_MODULE_117__/* ["default"] */ .Z,
321845
+ 'bitopro': _src_pro_bitopro_js__WEBPACK_IMPORTED_MODULE_118__/* ["default"] */ .Z,
321846
+ 'bitpanda': _src_pro_bitpanda_js__WEBPACK_IMPORTED_MODULE_119__/* ["default"] */ .Z,
321847
+ 'bitrue': _src_pro_bitrue_js__WEBPACK_IMPORTED_MODULE_120__/* ["default"] */ .Z,
321848
+ 'bitstamp': _src_pro_bitstamp_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
321849
+ 'bitvavo': _src_pro_bitvavo_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
321850
+ 'blockchaincom': _src_pro_blockchaincom_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
321851
+ 'bybit': _src_pro_bybit_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
321852
+ 'cex': _src_pro_cex_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
321853
+ 'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
321854
+ 'coinbaseinternational': _src_pro_coinbaseinternational_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
321855
+ 'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
321856
+ 'coincheck': _src_pro_coincheck_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
321857
+ 'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
321858
+ 'coinone': _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
321859
+ 'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
321860
+ 'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
321861
+ 'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
321862
+ 'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
321863
+ 'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
321864
+ 'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
321865
+ 'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
321866
+ 'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
321867
+ 'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
321868
+ 'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
321869
+ 'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
321870
+ 'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
321871
+ 'hyperliquid': _src_pro_hyperliquid_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
321872
+ 'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
321873
+ 'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
321874
+ 'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
321875
+ 'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
321876
+ 'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
321877
+ 'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
321878
+ 'lbank': _src_pro_lbank_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
321879
+ 'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
321880
+ 'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
321881
+ 'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
321882
+ 'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
321883
+ 'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_156__/* ["default"] */ .Z,
321884
+ 'onetrading': _src_pro_onetrading_js__WEBPACK_IMPORTED_MODULE_157__/* ["default"] */ .Z,
321885
+ 'p2b': _src_pro_p2b_js__WEBPACK_IMPORTED_MODULE_158__/* ["default"] */ .Z,
321886
+ 'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_159__/* ["default"] */ .Z,
321887
+ 'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_160__/* ["default"] */ .Z,
321888
+ 'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_161__/* ["default"] */ .Z,
321889
+ 'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_162__/* ["default"] */ .Z,
321890
+ 'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_163__/* ["default"] */ .Z,
321891
+ 'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_164__/* ["default"] */ .Z,
321892
+ 'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_165__/* ["default"] */ .Z,
321893
+ 'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_166__/* ["default"] */ .Z,
321211
321894
  };
321212
321895
  for (const exchange in pro) {
321213
321896
  // const ccxtExchange = exchanges[exchange]
@@ -321220,7 +321903,7 @@ for (const exchange in pro) {
321220
321903
  pro.exchanges = Object.keys(pro);
321221
321904
  pro['Exchange'] = _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e; // now the same for rest and ts
321222
321905
  //-----------------------------------------------------------------------------
321223
- const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise: _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_166__/* .Precise */ .O, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, _src_base_functions_js__WEBPACK_IMPORTED_MODULE_167__, _src_base_errors_js__WEBPACK_IMPORTED_MODULE_168__);
321906
+ 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__);
321224
321907
 
321225
321908
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ccxt);
321226
321909
  //-----------------------------------------------------------------------------