ccxt 4.0.86 → 4.0.87

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
@@ -215,13 +215,13 @@ console.log(version, Object.keys(exchanges));
215
215
 
216
216
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
217
217
 
218
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.86/dist/ccxt.browser.js
219
- * unpkg: https://unpkg.com/ccxt@4.0.86/dist/ccxt.browser.js
218
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.87/dist/ccxt.browser.js
219
+ * unpkg: https://unpkg.com/ccxt@4.0.87/dist/ccxt.browser.js
220
220
 
221
221
  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.
222
222
 
223
223
  ```HTML
224
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.86/dist/ccxt.browser.js"></script>
224
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.87/dist/ccxt.browser.js"></script>
225
225
  ```
226
226
 
227
227
  Creates a global `ccxt` object:
@@ -37243,6 +37243,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
37243
37243
  'market/candles': 1,
37244
37244
  'market/depth': 1,
37245
37245
  'market/spot-vip-level': 2,
37246
+ 'market/merge-depth': 1,
37246
37247
  'market/history-candles': 1,
37247
37248
  'public/loan/coinInfos': 2,
37248
37249
  'public/loan/hour-interest': 2, // 10 times/1s (IP) => 20/10 = 2
@@ -37270,6 +37271,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
37270
37271
  'market/history-candles': 1,
37271
37272
  'market/history-index-candles': 1,
37272
37273
  'market/history-mark-candles': 1,
37274
+ 'market/merge-depth': 1,
37273
37275
  },
37274
37276
  },
37275
37277
  'margin': {
@@ -114376,6 +114378,19 @@ class exmo extends _abstract_exmo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
114376
114378
  // "commission_percent": "0.2"
114377
114379
  // }
114378
114380
  //
114381
+ // margin
114382
+ //
114383
+ // {
114384
+ // "is_maker": false,
114385
+ // "order_id": "123",
114386
+ // "pair": "BTC_USD",
114387
+ // "price": "54122.25",
114388
+ // "quantity": "0.00069994",
114389
+ // "trade_dt": "1619069561718824428",
114390
+ // "trade_id": "692842802860135010",
114391
+ // "type": "sell"
114392
+ // }
114393
+ //
114379
114394
  const timestamp = this.safeTimestamp(trade, 'date');
114380
114395
  const id = this.safeString(trade, 'trade_id');
114381
114396
  const orderId = this.safeString(trade, 'order_id');
@@ -114387,7 +114402,12 @@ class exmo extends _abstract_exmo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
114387
114402
  const marketId = this.safeString(trade, 'pair');
114388
114403
  market = this.safeMarket(marketId, market, '_');
114389
114404
  const symbol = market['symbol'];
114390
- const takerOrMaker = this.safeString(trade, 'exec_type');
114405
+ const isMaker = this.safeValue(trade, 'is_maker');
114406
+ let takerOrMakerDefault = undefined;
114407
+ if (isMaker !== undefined) {
114408
+ takerOrMakerDefault = isMaker ? 'maker' : 'taker';
114409
+ }
114410
+ const takerOrMaker = this.safeString(trade, 'exec_type', takerOrMakerDefault);
114391
114411
  let fee = undefined;
114392
114412
  const feeCostString = this.safeString(trade, 'commission_amount');
114393
114413
  if (feeCostString !== undefined) {
@@ -114627,13 +114647,21 @@ class exmo extends _abstract_exmo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
114627
114647
  * @method
114628
114648
  * @name exmo#fetchOrderTrades
114629
114649
  * @description fetch all the trades made from a single order
114650
+ * @see https://documenter.getpostman.com/view/10287440/SzYXWKPi#cf27781e-28e5-4b39-a52d-3110f5d22459 // spot
114651
+ * @see https://documenter.getpostman.com/view/10287440/SzYXWKPi#00810661-9119-46c5-aec5-55abe9cb42c7 // margin
114630
114652
  * @param {string} id order id
114631
114653
  * @param {string} symbol unified market symbol
114632
114654
  * @param {int} [since] the earliest time in ms to fetch trades for
114633
114655
  * @param {int} [limit] the maximum number of trades to retrieve
114634
114656
  * @param {object} [params] extra parameters specific to the exmo api endpoint
114657
+ * @param {string} [params.marginMode] set to "isolated" to fetch trades for a margin order
114635
114658
  * @returns {object[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
114636
114659
  */
114660
+ let marginMode = undefined;
114661
+ [marginMode, params] = this.handleMarginModeAndParams('fetchOrderTrades', params);
114662
+ if (marginMode === 'cross') {
114663
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' only supports isolated margin');
114664
+ }
114637
114665
  let market = undefined;
114638
114666
  if (symbol !== undefined) {
114639
114667
  market = this.market(symbol);
@@ -114641,32 +114669,54 @@ class exmo extends _abstract_exmo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
114641
114669
  const request = {
114642
114670
  'order_id': id.toString(),
114643
114671
  };
114644
- const response = await this.privatePostOrderTrades(this.extend(request, params));
114645
- //
114646
- // {
114647
- // "type": "buy",
114648
- // "in_currency": "BTC",
114649
- // "in_amount": "1",
114650
- // "out_currency": "USD",
114651
- // "out_amount": "100",
114652
- // "trades": [
114653
- // {
114654
- // "trade_id": 3,
114655
- // "date": 1435488248,
114656
- // "type": "buy",
114657
- // "pair": "BTC_USD",
114658
- // "order_id": 12345,
114659
- // "quantity": 1,
114660
- // "price": 100,
114661
- // "amount": 100,
114662
- // "exec_type": "taker",
114663
- // "commission_amount": "0.02",
114664
- // "commission_currency": "BTC",
114665
- // "commission_percent": "0.2"
114666
- // }
114667
- // ]
114668
- // }
114669
- //
114672
+ let response = undefined;
114673
+ if (marginMode === 'isolated') {
114674
+ response = await this.privatePostMarginUserOrderTrades(this.extend(request, params));
114675
+ //
114676
+ // {
114677
+ // "trades": [
114678
+ // {
114679
+ // "is_maker": false,
114680
+ // "order_id": "123",
114681
+ // "pair": "BTC_USD",
114682
+ // "price": "54122.25",
114683
+ // "quantity": "0.00069994",
114684
+ // "trade_dt": "1619069561718824428",
114685
+ // "trade_id": "692842802860135010",
114686
+ // "type": "sell"
114687
+ // }
114688
+ // ]
114689
+ // }
114690
+ //
114691
+ }
114692
+ else {
114693
+ response = await this.privatePostOrderTrades(this.extend(request, params));
114694
+ //
114695
+ // {
114696
+ // "type": "buy",
114697
+ // "in_currency": "BTC",
114698
+ // "in_amount": "1",
114699
+ // "out_currency": "USD",
114700
+ // "out_amount": "100",
114701
+ // "trades": [
114702
+ // {
114703
+ // "trade_id": 3,
114704
+ // "date": 1435488248,
114705
+ // "type": "buy",
114706
+ // "pair": "BTC_USD",
114707
+ // "order_id": 12345,
114708
+ // "quantity": 1,
114709
+ // "price": 100,
114710
+ // "amount": 100,
114711
+ // "exec_type": "taker",
114712
+ // "commission_amount": "0.02",
114713
+ // "commission_currency": "BTC",
114714
+ // "commission_percent": "0.2"
114715
+ // }
114716
+ // ]
114717
+ // }
114718
+ //
114719
+ }
114670
114720
  const trades = this.safeValue(response, 'trades');
114671
114721
  return this.parseTrades(trades, market, since, limit);
114672
114722
  }
@@ -124735,6 +124785,9 @@ class hitbtc extends _abstract_hitbtc_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
124735
124785
  if (taker !== undefined) {
124736
124786
  takerOrMaker = taker ? 'taker' : 'maker';
124737
124787
  }
124788
+ else {
124789
+ takerOrMaker = 'taker'; // the only case when `taker` field is missing, is public fetchTrades and it must be taker
124790
+ }
124738
124791
  if (feeCostString !== undefined) {
124739
124792
  const info = this.safeValue(market, 'info', {});
124740
124793
  const feeCurrency = this.safeString(info, 'fee_currency');
@@ -198434,13 +198487,13 @@ class bitfinex2 extends _bitfinex2_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
198434
198487
  const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
198435
198488
  this.myTrades = new _base_ws_Cache_js__WEBPACK_IMPORTED_MODULE_1__/* .ArrayCacheBySymbolById */ .hl(limit);
198436
198489
  }
198437
- const array = this.myTrades;
198438
- array.append(trade);
198439
- this.myTrades = array;
198490
+ const tradesArray = this.myTrades;
198491
+ tradesArray.append(trade);
198492
+ this.myTrades = tradesArray;
198440
198493
  // generic subscription
198441
- client.resolve(array, name);
198494
+ client.resolve(tradesArray, name);
198442
198495
  // specific subscription
198443
- client.resolve(array, messageHash);
198496
+ client.resolve(tradesArray, messageHash);
198444
198497
  }
198445
198498
  handleTrades(client, message, subscription) {
198446
198499
  //
@@ -207659,8 +207712,8 @@ class blockchaincom extends _blockchaincom_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
207659
207712
  };
207660
207713
  }
207661
207714
  handleDelta(bookside, delta) {
207662
- const array = this.parseCountedBidAsk(delta, 'px', 'qty', 'num');
207663
- bookside.storeArray(array);
207715
+ const bookArray = this.parseCountedBidAsk(delta, 'px', 'qty', 'num');
207716
+ bookside.storeArray(bookArray);
207664
207717
  }
207665
207718
  handleDeltas(bookside, deltas) {
207666
207719
  for (let i = 0; i < deltas.length; i++) {
@@ -227167,13 +227220,13 @@ class luno extends _luno_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
227167
227220
  const asksOrderSide = orderbook['asks'];
227168
227221
  const bidsOrderSide = orderbook['bids'];
227169
227222
  if (createUpdate !== undefined) {
227170
- const array = this.customParseBidAsk(createUpdate, 'price', 'volume', 'order_id');
227223
+ const bidAskArray = this.customParseBidAsk(createUpdate, 'price', 'volume', 'order_id');
227171
227224
  const type = this.safeString(createUpdate, 'type');
227172
227225
  if (type === 'ASK') {
227173
- asksOrderSide.storeArray(array);
227226
+ asksOrderSide.storeArray(bidAskArray);
227174
227227
  }
227175
227228
  else if (type === 'BID') {
227176
- bidsOrderSide.storeArray(array);
227229
+ bidsOrderSide.storeArray(bidAskArray);
227177
227230
  }
227178
227231
  }
227179
227232
  const deleteUpdate = this.safeValue(message, 'delete_update');
@@ -273704,7 +273757,7 @@ SOFTWARE.
273704
273757
 
273705
273758
  //-----------------------------------------------------------------------------
273706
273759
  // this is updated by vss.js when building
273707
- const version = '4.0.86';
273760
+ const version = '4.0.87';
273708
273761
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange.ccxtVersion */ .e.ccxtVersion = version;
273709
273762
  //-----------------------------------------------------------------------------
273710
273763