ccxt 4.2.49 → 4.2.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -210,13 +210,13 @@ console.log(version, Object.keys(exchanges));
210
210
 
211
211
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
212
212
 
213
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.49/dist/ccxt.browser.js
214
- * unpkg: https://unpkg.com/ccxt@4.2.49/dist/ccxt.browser.js
213
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.50/dist/ccxt.browser.js
214
+ * unpkg: https://unpkg.com/ccxt@4.2.50/dist/ccxt.browser.js
215
215
 
216
216
  CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
217
217
 
218
218
  ```HTML
219
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.49/dist/ccxt.browser.js"></script>
219
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.50/dist/ccxt.browser.js"></script>
220
220
  ```
221
221
 
222
222
  Creates a global `ccxt` object:
@@ -9296,6 +9296,11 @@ class Exchange {
9296
9296
  this.codes = Object.keys(currenciesSortedByCode);
9297
9297
  return this.markets;
9298
9298
  }
9299
+ getDescribeForExtendedWsExchange(currentRestInstance, parentRestInstance, wsBaseDescribe) {
9300
+ const extendedRestDescribe = this.deepExtend(parentRestInstance.describe(), currentRestInstance.describe());
9301
+ const superWithRestDescribe = this.deepExtend(extendedRestDescribe, wsBaseDescribe);
9302
+ return superWithRestDescribe;
9303
+ }
9299
9304
  safeBalance(balance) {
9300
9305
  const balances = this.omit(balance, ['info', 'timestamp', 'datetime', 'free', 'used', 'total']);
9301
9306
  const codes = Object.keys(balances);
@@ -18105,6 +18110,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
18105
18110
  'createMarketSellOrderWithCost': true,
18106
18111
  'createOrder': true,
18107
18112
  'createOrders': true,
18113
+ 'createOrderWithTakeProfitAndStopLoss': true,
18108
18114
  'createPostOnlyOrder': true,
18109
18115
  'createReduceOnlyOrder': true,
18110
18116
  'createStopLimitOrder': true,
@@ -18178,7 +18184,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
18178
18184
  'fetchTradingFee': true,
18179
18185
  'fetchTradingFees': true,
18180
18186
  'fetchTradingLimits': undefined,
18181
- 'fetchTransactionFee': undefined,
18187
+ 'fetchTransactionFee': 'emulated',
18182
18188
  'fetchTransactionFees': true,
18183
18189
  'fetchTransactions': false,
18184
18190
  'fetchTransfers': true,
@@ -75492,6 +75498,7 @@ class bl3p extends _abstract_bl3p_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
75492
75498
  'cancelOrder': true,
75493
75499
  'closeAllPositions': false,
75494
75500
  'closePosition': false,
75501
+ 'createDepositAddress': true,
75495
75502
  'createOrder': true,
75496
75503
  'createReduceOnlyOrder': false,
75497
75504
  'createStopLimitOrder': false,
@@ -75502,6 +75509,9 @@ class bl3p extends _abstract_bl3p_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
75502
75509
  'fetchBorrowRateHistory': false,
75503
75510
  'fetchCrossBorrowRate': false,
75504
75511
  'fetchCrossBorrowRates': false,
75512
+ 'fetchDepositAddress': false,
75513
+ 'fetchDepositAddresses': false,
75514
+ 'fetchDepositAddressesByNetwork': false,
75505
75515
  'fetchFundingHistory': false,
75506
75516
  'fetchFundingRate': false,
75507
75517
  'fetchFundingRateHistory': false,
@@ -75883,6 +75893,49 @@ class bl3p extends _abstract_bl3p_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
75883
75893
  };
75884
75894
  return await this.privatePostMarketMoneyOrderCancel(this.extend(request, params));
75885
75895
  }
75896
+ async createDepositAddress(code, params = {}) {
75897
+ /**
75898
+ * @method
75899
+ * @name bl3p#createDepositAddress
75900
+ * @description create a currency deposit address
75901
+ * @see https://github.com/BitonicNL/bl3p-api/blob/master/docs/authenticated_api/http.md#32---create-a-new-deposit-address
75902
+ * @param {string} code unified currency code of the currency for the deposit address
75903
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
75904
+ * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
75905
+ */
75906
+ await this.loadMarkets();
75907
+ const currency = this.currency(code);
75908
+ const request = {
75909
+ 'currency': currency['id'],
75910
+ };
75911
+ const response = await this.privatePostGENMKTMoneyNewDepositAddress(this.extend(request, params));
75912
+ //
75913
+ // {
75914
+ // "result": "success",
75915
+ // "data": {
75916
+ // "address": "36Udu9zi1uYicpXcJpoKfv3bewZeok5tpk"
75917
+ // }
75918
+ // }
75919
+ //
75920
+ const data = this.safeDict(response, 'data');
75921
+ return this.parseDepositAddress(data, currency);
75922
+ }
75923
+ parseDepositAddress(depositAddress, currency = undefined) {
75924
+ //
75925
+ // {
75926
+ // "address": "36Udu9zi1uYicpXcJpoKfv3bewZeok5tpk"
75927
+ // }
75928
+ //
75929
+ const address = this.safeString(depositAddress, 'address');
75930
+ this.checkAddress(address);
75931
+ return {
75932
+ 'info': depositAddress,
75933
+ 'currency': this.safeString(currency, 'code'),
75934
+ 'address': address,
75935
+ 'tag': undefined,
75936
+ 'network': undefined,
75937
+ };
75938
+ }
75886
75939
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
75887
75940
  const request = this.implodeParams(path, params);
75888
75941
  let url = this.urls['api']['rest'] + '/' + this.version + '/' + request;
@@ -220401,18 +220454,18 @@ class ascendex extends _ascendex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] *
220401
220454
  /* harmony export */ Z: () => (/* binding */ bequant)
220402
220455
  /* harmony export */ });
220403
220456
  /* harmony import */ var _hitbtc_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5189);
220457
+ /* harmony import */ var _hitbtc_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4714);
220404
220458
  /* harmony import */ var _bequant_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2049);
220405
220459
  // ---------------------------------------------------------------------------
220406
220460
 
220407
220461
 
220462
+
220408
220463
  // ---------------------------------------------------------------------------
220409
220464
  class bequant extends _hitbtc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
220410
220465
  describe() {
220411
220466
  // eslint-disable-next-line new-cap
220412
- const restInstance = new _bequant_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z();
220413
- const restDescribe = restInstance.describe();
220414
- const extended = this.deepExtend(super.describe(), restDescribe);
220415
- return this.deepExtend(extended, {
220467
+ const describeExtended = this.getDescribeForExtendedWsExchange(new _bequant_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z(), new _hitbtc_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z(), super.describe());
220468
+ return this.deepExtend(describeExtended, {
220416
220469
  'id': 'bequant',
220417
220470
  'name': 'Bequant',
220418
220471
  'countries': ['MT'],
@@ -220486,10 +220539,15 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
220486
220539
  'cancelOrderWs': true,
220487
220540
  'cancelOrdersWs': false,
220488
220541
  'cancelAllOrdersWs': true,
220489
- 'fetchOrderWs': true,
220490
- 'fetchOrdersWs': true,
220491
220542
  'fetchBalanceWs': true,
220543
+ 'fetchDepositsWs': false,
220544
+ 'fetchMarketsWs': false,
220492
220545
  'fetchMyTradesWs': true,
220546
+ 'fetchOpenOrdersWs': true,
220547
+ 'fetchOrderWs': true,
220548
+ 'fetchOrdersWs': true,
220549
+ 'fetchTradingFeesWs': false,
220550
+ 'fetchWithdrawalsWs': false,
220493
220551
  },
220494
220552
  'urls': {
220495
220553
  'test': {
@@ -222390,6 +222448,28 @@ class binance extends _binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
222390
222448
  const orders = await this.watch(url, messageHash, message, messageHash, subscription);
222391
222449
  return this.filterBySymbolSinceLimit(orders, symbol, since, limit);
222392
222450
  }
222451
+ async fetchClosedOrdersWs(symbol = undefined, since = undefined, limit = undefined, params = {}) {
222452
+ /**
222453
+ * @method
222454
+ * @name binance#fetchClosedOrdersWs
222455
+ * @see https://binance-docs.github.io/apidocs/websocket_api/en/#account-order-history-user_data
222456
+ * @description fetch closed orders
222457
+ * @param {string} symbol unified market symbol
222458
+ * @param {int} [since] the earliest time in ms to fetch open orders for
222459
+ * @param {int} [limit] the maximum number of open orders structures to retrieve
222460
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
222461
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
222462
+ */
222463
+ const orders = await this.fetchOrdersWs(symbol, since, limit, params);
222464
+ const closedOrders = [];
222465
+ for (let i = 0; i < orders.length; i++) {
222466
+ const order = orders[i];
222467
+ if (order['status'] === 'closed') {
222468
+ closedOrders.push(order);
222469
+ }
222470
+ }
222471
+ return closedOrders;
222472
+ }
222393
222473
  async fetchOpenOrdersWs(symbol = undefined, since = undefined, limit = undefined, params = {}) {
222394
222474
  /**
222395
222475
  * @method
@@ -246239,6 +246319,7 @@ class gemini extends _gemini_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
246239
246319
  'watchBalance': false,
246240
246320
  'watchTicker': false,
246241
246321
  'watchTickers': false,
246322
+ 'watchBidsAsks': true,
246242
246323
  'watchTrades': true,
246243
246324
  'watchTradesForSymbols': true,
246244
246325
  'watchMyTrades': false,
@@ -246638,6 +246719,79 @@ class gemini extends _gemini_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
246638
246719
  const orderbook = await this.helperForWatchMultipleConstruct('orderbook', symbols, params);
246639
246720
  return orderbook.limit();
246640
246721
  }
246722
+ async watchBidsAsks(symbols, limit = undefined, params = {}) {
246723
+ /**
246724
+ * @method
246725
+ * @name gemini#watchBidsAsks
246726
+ * @description watches best bid & ask for symbols
246727
+ * @see https://docs.gemini.com/websocket-api/#multi-market-data
246728
+ * @param {string[]} symbols unified symbol of the market to fetch the ticker for
246729
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
246730
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
246731
+ */
246732
+ return await this.helperForWatchMultipleConstruct('bidsasks', symbols, params);
246733
+ }
246734
+ handleBidsAsksForMultidata(client, rawBidAskChanges, timestamp, nonce) {
246735
+ //
246736
+ // {
246737
+ // eventId: '1683002916916153',
246738
+ // events: [
246739
+ // {
246740
+ // price: '50945.37',
246741
+ // reason: 'top-of-book',
246742
+ // remaining: '0.0',
246743
+ // side: 'bid',
246744
+ // symbol: 'BTCUSDT',
246745
+ // type: 'change'
246746
+ // },
246747
+ // {
246748
+ // price: '50947.75',
246749
+ // reason: 'top-of-book',
246750
+ // remaining: '0.11725',
246751
+ // side: 'bid',
246752
+ // symbol: 'BTCUSDT',
246753
+ // type: 'change'
246754
+ // }
246755
+ // ],
246756
+ // socket_sequence: 322,
246757
+ // timestamp: 1708674495,
246758
+ // timestampms: 1708674495174,
246759
+ // type: 'update'
246760
+ // }
246761
+ //
246762
+ const marketId = rawBidAskChanges[0]['symbol'];
246763
+ const market = this.safeMarket(marketId.toLowerCase());
246764
+ const symbol = market['symbol'];
246765
+ if (!(symbol in this.bidsasks)) {
246766
+ this.bidsasks[symbol] = this.parseTicker({});
246767
+ this.bidsasks[symbol]['symbol'] = symbol;
246768
+ }
246769
+ const currentBidAsk = this.bidsasks[symbol];
246770
+ const messageHash = 'bidsasks:' + symbol;
246771
+ // last update always overwrites the previous state and is the latest state
246772
+ for (let i = 0; i < rawBidAskChanges.length; i++) {
246773
+ const entry = rawBidAskChanges[i];
246774
+ const rawSide = this.safeString(entry, 'side');
246775
+ const price = this.safeNumber(entry, 'price');
246776
+ const size = this.safeNumber(entry, 'remaining');
246777
+ if (size === 0) {
246778
+ continue;
246779
+ }
246780
+ if (rawSide === 'bid') {
246781
+ currentBidAsk['bid'] = price;
246782
+ currentBidAsk['bidVolume'] = size;
246783
+ }
246784
+ else {
246785
+ currentBidAsk['ask'] = price;
246786
+ currentBidAsk['askVolume'] = size;
246787
+ }
246788
+ }
246789
+ currentBidAsk['timestamp'] = timestamp;
246790
+ currentBidAsk['datetime'] = this.iso8601(timestamp);
246791
+ currentBidAsk['info'] = rawBidAskChanges;
246792
+ this.bidsasks[symbol] = currentBidAsk;
246793
+ client.resolve(currentBidAsk, messageHash);
246794
+ }
246641
246795
  async helperForWatchMultipleConstruct(itemHashName, symbols, params = {}) {
246642
246796
  await this.loadMarkets();
246643
246797
  symbols = this.marketSymbols(symbols, undefined, false, true, true);
@@ -246659,6 +246813,9 @@ class gemini extends _gemini_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
246659
246813
  if (itemHashName === 'orderbook') {
246660
246814
  url += 'trades=false&bids=true&offers=true';
246661
246815
  }
246816
+ else if (itemHashName === 'bidsasks') {
246817
+ url += 'trades=false&bids=true&offers=true&top_of_book=true';
246818
+ }
246662
246819
  else if (itemHashName === 'trades') {
246663
246820
  url += 'trades=true&bids=false&offers=false';
246664
246821
  }
@@ -247001,18 +247158,29 @@ class gemini extends _gemini_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
247001
247158
  const eventId = this.safeInteger(message, 'eventId');
247002
247159
  const events = this.safeList(message, 'events');
247003
247160
  const orderBookItems = [];
247161
+ const bidaskItems = [];
247004
247162
  const collectedEventsOfTrades = [];
247163
+ const eventsLength = events.length;
247005
247164
  for (let i = 0; i < events.length; i++) {
247006
247165
  const event = events[i];
247007
247166
  const eventType = this.safeString(event, 'type');
247008
247167
  const isOrderBook = (eventType === 'change') && ('side' in event) && this.inArray(event['side'], ['ask', 'bid']);
247009
- if (isOrderBook) {
247168
+ const eventReason = this.safeString(event, 'reason');
247169
+ const isBidAsk = (eventReason === 'top-of-book') || (isOrderBook && (eventReason === 'initial') && eventsLength === 2);
247170
+ if (isBidAsk) {
247171
+ bidaskItems.push(event);
247172
+ }
247173
+ else if (isOrderBook) {
247010
247174
  orderBookItems.push(event);
247011
247175
  }
247012
247176
  else if (eventType === 'trade') {
247013
247177
  collectedEventsOfTrades.push(events[i]);
247014
247178
  }
247015
247179
  }
247180
+ const lengthBa = bidaskItems.length;
247181
+ if (lengthBa > 0) {
247182
+ this.handleBidsAsksForMultidata(client, bidaskItems, ts, eventId);
247183
+ }
247016
247184
  const lengthOb = orderBookItems.length;
247017
247185
  if (lengthOb > 0) {
247018
247186
  this.handleOrderBookForMultidata(client, orderBookItems, ts, eventId);
@@ -270775,6 +270943,7 @@ class whitebit extends _whitebit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] *
270775
270943
  // "params":[
270776
270944
  // true,
270777
270945
  // {
270946
+ // "timestamp": 1708679568.940867,
270778
270947
  // "asks":[
270779
270948
  // [ "21252.45","0.01957"],
270780
270949
  // ["21252.55","0.126205"],
@@ -270811,14 +270980,14 @@ class whitebit extends _whitebit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] *
270811
270980
  const market = this.safeMarket(marketId);
270812
270981
  const symbol = market['symbol'];
270813
270982
  const data = this.safeValue(params, 1);
270814
- let orderbook = undefined;
270815
- if (symbol in this.orderbooks) {
270816
- orderbook = this.orderbooks[symbol];
270817
- }
270818
- else {
270819
- orderbook = this.orderBook();
270820
- this.orderbooks[symbol] = orderbook;
270983
+ const timestamp = this.safeTimestamp(data, 'timestamp');
270984
+ if (!(symbol in this.orderbooks)) {
270985
+ const ob = this.orderBook();
270986
+ this.orderbooks[symbol] = ob;
270821
270987
  }
270988
+ const orderbook = this.orderbooks[symbol];
270989
+ orderbook['timestamp'] = timestamp;
270990
+ orderbook['datetime'] = this.iso8601(timestamp);
270822
270991
  if (isSnapshot) {
270823
270992
  const snapshot = this.parseOrderBook(data, symbol);
270824
270993
  orderbook.reset(snapshot);
@@ -283332,6 +283501,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
283332
283501
  'fetchPremiumIndexOHLCV': false,
283333
283502
  'fetchTicker': true,
283334
283503
  'fetchTickers': true,
283504
+ 'fetchTime': true,
283335
283505
  'fetchTrades': true,
283336
283506
  'fetchTradingFee': true,
283337
283507
  'fetchWithdrawal': false,
@@ -283527,11 +283697,26 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
283527
283697
  },
283528
283698
  });
283529
283699
  }
283700
+ async fetchTime(params = {}) {
283701
+ /**
283702
+ * @method
283703
+ * @name timex#fetchTime
283704
+ * @description fetches the current integer timestamp in milliseconds from the exchange server
283705
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
283706
+ * @returns {int} the current integer timestamp in milliseconds from the exchange server
283707
+ */
283708
+ const response = await this.tradingviewGetTime(params);
283709
+ //
283710
+ // 1708682617
283711
+ //
283712
+ return this.parseToInt(response) * 1000;
283713
+ }
283530
283714
  async fetchMarkets(params = {}) {
283531
283715
  /**
283532
283716
  * @method
283533
283717
  * @name timex#fetchMarkets
283534
283718
  * @description retrieves data on all markets for timex
283719
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/listMarkets
283535
283720
  * @param {object} [params] extra parameters specific to the exchange API endpoint
283536
283721
  * @returns {object[]} an array of objects representing market data
283537
283722
  */
@@ -283564,6 +283749,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
283564
283749
  * @method
283565
283750
  * @name timex#fetchCurrencies
283566
283751
  * @description fetches all available currencies on an exchange
283752
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/listCurrencies
283567
283753
  * @param {object} [params] extra parameters specific to the exchange API endpoint
283568
283754
  * @returns {object} an associative dictionary of currencies
283569
283755
  */
@@ -283605,6 +283791,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
283605
283791
  * @method
283606
283792
  * @name timex#fetchDeposits
283607
283793
  * @description fetch all deposits made to an account
283794
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Manager/getDeposits
283608
283795
  * @param {string} code unified currency code
283609
283796
  * @param {int} [since] the earliest time in ms to fetch deposits for
283610
283797
  * @param {int} [limit] the maximum number of deposits structures to retrieve
@@ -283640,6 +283827,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
283640
283827
  * @method
283641
283828
  * @name timex#fetchWithdrawals
283642
283829
  * @description fetch all withdrawals made to an account
283830
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Manager/getWithdraws
283643
283831
  * @param {string} code unified currency code
283644
283832
  * @param {int} [since] the earliest time in ms to fetch withdrawals for
283645
283833
  * @param {int} [limit] the maximum number of transaction structures to retrieve
@@ -283724,6 +283912,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
283724
283912
  * @method
283725
283913
  * @name timex#fetchTickers
283726
283914
  * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
283915
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/listTickers
283727
283916
  * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
283728
283917
  * @param {object} [params] extra parameters specific to the exchange API endpoint
283729
283918
  * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -283758,6 +283947,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
283758
283947
  * @method
283759
283948
  * @name timex#fetchTicker
283760
283949
  * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
283950
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/listTickers
283761
283951
  * @param {string} symbol unified symbol of the market to fetch the ticker for
283762
283952
  * @param {object} [params] extra parameters specific to the exchange API endpoint
283763
283953
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -283795,6 +283985,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
283795
283985
  * @method
283796
283986
  * @name timex#fetchOrderBook
283797
283987
  * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
283988
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/orderbookV2
283798
283989
  * @param {string} symbol unified symbol of the market to fetch the order book for
283799
283990
  * @param {int} [limit] the maximum amount of order book entries to return
283800
283991
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -283841,6 +284032,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
283841
284032
  * @method
283842
284033
  * @name timex#fetchTrades
283843
284034
  * @description get the list of most recent trades for a particular symbol
284035
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/listTrades
283844
284036
  * @param {string} symbol unified symbol of the market to fetch trades for
283845
284037
  * @param {int} [since] timestamp in ms of the earliest trade to fetch
283846
284038
  * @param {int} [limit] the maximum amount of trades to fetch
@@ -283888,6 +284080,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
283888
284080
  * @method
283889
284081
  * @name timex#fetchOHLCV
283890
284082
  * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
284083
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/listCandles
283891
284084
  * @param {string} symbol unified symbol of the market to fetch OHLCV data for
283892
284085
  * @param {string} timeframe the length of time each candle represents
283893
284086
  * @param {int} [since] timestamp in ms of the earliest candle to fetch
@@ -283953,6 +284146,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
283953
284146
  * @method
283954
284147
  * @name timex#fetchBalance
283955
284148
  * @description query for balance and get the amount of funds available for trading or funds locked in orders
284149
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Trading/getBalances
283956
284150
  * @param {object} [params] extra parameters specific to the exchange API endpoint
283957
284151
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
283958
284152
  */
@@ -283974,6 +284168,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
283974
284168
  * @method
283975
284169
  * @name timex#createOrder
283976
284170
  * @description create a trade order
284171
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Trading/createOrder
283977
284172
  * @param {string} symbol unified symbol of the market to create an order in
283978
284173
  * @param {string} type 'market' or 'limit'
283979
284174
  * @param {string} side 'buy' or 'sell'
@@ -284102,6 +284297,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
284102
284297
  * @method
284103
284298
  * @name timex#cancelOrder
284104
284299
  * @description cancels an open order
284300
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Trading/deleteOrders
284105
284301
  * @param {string} id order id
284106
284302
  * @param {string} symbol not used by timex cancelOrder ()
284107
284303
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -284115,6 +284311,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
284115
284311
  * @method
284116
284312
  * @name timex#cancelOrders
284117
284313
  * @description cancel multiple orders
284314
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Trading/deleteOrders
284118
284315
  * @param {string[]} ids order ids
284119
284316
  * @param {string} symbol unified market symbol, default is undefined
284120
284317
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -284156,6 +284353,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
284156
284353
  * @method
284157
284354
  * @name timex#fetchOrder
284158
284355
  * @description fetches information on an order made by the user
284356
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/History/getOrderDetails
284159
284357
  * @param {string} symbol not used by timex fetchOrder
284160
284358
  * @param {object} [params] extra parameters specific to the exchange API endpoint
284161
284359
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
@@ -284207,6 +284405,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
284207
284405
  * @method
284208
284406
  * @name timex#fetchOpenOrders
284209
284407
  * @description fetch all unfilled currently open orders
284408
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Trading/getOpenOrders
284210
284409
  * @param {string} symbol unified market symbol
284211
284410
  * @param {int} [since] the earliest time in ms to fetch open orders for
284212
284411
  * @param {int} [limit] the maximum number of open orders structures to retrieve
@@ -284261,6 +284460,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
284261
284460
  * @method
284262
284461
  * @name timex#fetchClosedOrders
284263
284462
  * @description fetches information on multiple closed orders made by the user
284463
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/History/getOrders
284264
284464
  * @param {string} symbol unified market symbol of the market orders were made in
284265
284465
  * @param {int} [since] the earliest time in ms to fetch orders for
284266
284466
  * @param {int} [limit] the maximum number of order structures to retrieve
@@ -284320,6 +284520,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
284320
284520
  * @method
284321
284521
  * @name timex#fetchMyTrades
284322
284522
  * @description fetch all trades made by the user
284523
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/History/getTrades_1
284323
284524
  * @param {string} symbol unified market symbol
284324
284525
  * @param {int} [since] the earliest time in ms to fetch trades for
284325
284526
  * @param {int} [limit] the maximum number of trades structures to retrieve
@@ -284398,6 +284599,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
284398
284599
  * @method
284399
284600
  * @name timex#fetchTradingFee
284400
284601
  * @description fetch the trading fees for a market
284602
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Trading/getFees
284401
284603
  * @param {string} symbol unified market symbol
284402
284604
  * @param {object} [params] extra parameters specific to the exchange API endpoint
284403
284605
  * @returns {object} a [fee structure]{@link https://docs.ccxt.com/#/?id=fee-structure}
@@ -284791,6 +284993,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
284791
284993
  * @method
284792
284994
  * @name timex#fetchDepositAddress
284793
284995
  * @description fetch the deposit address for a currency associated with this account, does not accept params["network"]
284996
+ * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Currency/selectCurrencyBySymbol
284794
284997
  * @param {string} code unified currency code
284795
284998
  * @param {object} [params] extra parameters specific to the exchange API endpoint
284796
284999
  * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
@@ -284853,7 +285056,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
284853
285056
  if (Object.keys(params).length) {
284854
285057
  url += '?' + this.urlencodeWithArrayRepeat(params);
284855
285058
  }
284856
- if (api !== 'public') {
285059
+ if (api !== 'public' && api !== 'tradingview') {
284857
285060
  this.checkRequiredCredentials();
284858
285061
  const auth = this.stringToBase64(this.apiKey + ':' + this.secret);
284859
285062
  const secret = 'Basic ' + auth;
@@ -307665,7 +307868,7 @@ SOFTWARE.
307665
307868
 
307666
307869
  //-----------------------------------------------------------------------------
307667
307870
  // this is updated by vss.js when building
307668
- const version = '4.2.49';
307871
+ const version = '4.2.50';
307669
307872
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion = version;
307670
307873
  //-----------------------------------------------------------------------------
307671
307874