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 +3 -3
- package/dist/ccxt.browser.js +91 -38
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/bitget.js +2 -0
- package/dist/cjs/src/exmo.js +75 -27
- package/dist/cjs/src/hitbtc.js +3 -0
- package/dist/cjs/src/pro/bitfinex2.js +5 -5
- package/dist/cjs/src/pro/blockchaincom.js +2 -2
- package/dist/cjs/src/pro/luno.js +3 -3
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/bitget.d.ts +2 -0
- package/js/src/bitget.js +2 -0
- package/js/src/exmo.js +75 -27
- package/js/src/hitbtc.js +3 -0
- package/js/src/pro/bitfinex2.js +5 -5
- package/js/src/pro/blockchaincom.js +2 -2
- package/js/src/pro/luno.js +3 -3
- package/package.json +1 -1
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.
|
|
219
|
-
* unpkg: https://unpkg.com/ccxt@4.0.
|
|
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.
|
|
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:
|
package/dist/ccxt.browser.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
114645
|
-
|
|
114646
|
-
|
|
114647
|
-
|
|
114648
|
-
|
|
114649
|
-
|
|
114650
|
-
|
|
114651
|
-
|
|
114652
|
-
|
|
114653
|
-
|
|
114654
|
-
|
|
114655
|
-
|
|
114656
|
-
|
|
114657
|
-
|
|
114658
|
-
|
|
114659
|
-
|
|
114660
|
-
|
|
114661
|
-
|
|
114662
|
-
|
|
114663
|
-
|
|
114664
|
-
|
|
114665
|
-
|
|
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
|
|
198438
|
-
|
|
198439
|
-
this.myTrades =
|
|
198490
|
+
const tradesArray = this.myTrades;
|
|
198491
|
+
tradesArray.append(trade);
|
|
198492
|
+
this.myTrades = tradesArray;
|
|
198440
198493
|
// generic subscription
|
|
198441
|
-
client.resolve(
|
|
198494
|
+
client.resolve(tradesArray, name);
|
|
198442
198495
|
// specific subscription
|
|
198443
|
-
client.resolve(
|
|
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
|
|
207663
|
-
bookside.storeArray(
|
|
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
|
|
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(
|
|
227226
|
+
asksOrderSide.storeArray(bidAskArray);
|
|
227174
227227
|
}
|
|
227175
227228
|
else if (type === 'BID') {
|
|
227176
|
-
bidsOrderSide.storeArray(
|
|
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.
|
|
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
|
|