ccxt 4.3.84 → 4.3.86
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 +7 -5
- package/dist/ccxt.browser.min.js +15 -15
- package/dist/cjs/ccxt.js +7 -1
- package/dist/cjs/src/abstract/hashkey.js +9 -0
- package/dist/cjs/src/base/Exchange.js +1 -1
- package/dist/cjs/src/base/errors.js +8 -1
- package/dist/cjs/src/binance.js +4 -2
- package/dist/cjs/src/bitfinex.js +2 -2
- package/dist/cjs/src/bitmex.js +4 -0
- package/dist/cjs/src/bybit.js +15 -14
- package/dist/cjs/src/cryptocom.js +117 -2
- package/dist/cjs/src/hashkey.js +4328 -0
- package/dist/cjs/src/hyperliquid.js +85 -65
- package/dist/cjs/src/indodax.js +37 -9
- package/dist/cjs/src/kraken.js +29 -1
- package/dist/cjs/src/krakenfutures.js +12 -10
- package/dist/cjs/src/kucoinfutures.js +5 -0
- package/dist/cjs/src/mexc.js +2 -2
- package/dist/cjs/src/pro/ascendex.js +45 -5
- package/dist/cjs/src/pro/binance.js +1 -1
- package/dist/cjs/src/pro/bingx.js +13 -12
- package/dist/cjs/src/pro/bitget.js +113 -4
- package/dist/cjs/src/pro/hashkey.js +839 -0
- package/dist/cjs/src/pro/hyperliquid.js +123 -0
- package/dist/cjs/src/pro/mexc.js +13 -7
- package/dist/cjs/src/pro/okx.js +25 -4
- package/dist/cjs/src/pro/woo.js +1 -0
- package/dist/cjs/src/pro/woofipro.js +1 -0
- package/dist/cjs/src/pro/xt.js +1 -0
- package/js/ccxt.d.ts +9 -3
- package/js/ccxt.js +7 -3
- package/js/src/abstract/cryptocom.d.ts +2 -0
- package/js/src/abstract/hashkey.d.ts +70 -0
- package/js/src/abstract/hashkey.js +11 -0
- package/js/src/abstract/kucoinfutures.d.ts +2 -0
- package/js/src/base/Exchange.js +1 -1
- package/js/src/base/errorHierarchy.d.ts +1 -0
- package/js/src/base/errorHierarchy.js +1 -0
- package/js/src/base/errors.d.ts +5 -1
- package/js/src/base/errors.js +8 -2
- package/js/src/binance.js +4 -2
- package/js/src/bitfinex.js +2 -2
- package/js/src/bitmex.js +4 -0
- package/js/src/bybit.js +16 -15
- package/js/src/cryptocom.d.ts +5 -1
- package/js/src/cryptocom.js +117 -2
- package/js/src/hashkey.d.ts +178 -0
- package/js/src/hashkey.js +4329 -0
- package/js/src/hyperliquid.d.ts +3 -0
- package/js/src/hyperliquid.js +85 -65
- package/js/src/indodax.js +37 -9
- package/js/src/kraken.js +29 -1
- package/js/src/krakenfutures.js +12 -10
- package/js/src/kucoinfutures.js +5 -0
- package/js/src/mexc.js +2 -2
- package/js/src/pro/ascendex.d.ts +2 -0
- package/js/src/pro/ascendex.js +45 -5
- package/js/src/pro/binance.js +1 -1
- package/js/src/pro/bingx.js +13 -12
- package/js/src/pro/bitget.d.ts +4 -0
- package/js/src/pro/bitget.js +113 -4
- package/js/src/pro/hashkey.d.ts +34 -0
- package/js/src/pro/hashkey.js +840 -0
- package/js/src/pro/hyperliquid.d.ts +7 -1
- package/js/src/pro/hyperliquid.js +123 -0
- package/js/src/pro/mexc.js +13 -7
- package/js/src/pro/okx.js +25 -4
- package/js/src/pro/woo.js +1 -0
- package/js/src/pro/woofipro.js +1 -0
- package/js/src/pro/xt.js +1 -0
- package/package.json +1 -1
|
@@ -439,6 +439,35 @@ class bitget extends bitget$1 {
|
|
|
439
439
|
*/
|
|
440
440
|
return await this.watchOrderBookForSymbols([symbol], limit, params);
|
|
441
441
|
}
|
|
442
|
+
async unWatchOrderBook(symbol, params = {}) {
|
|
443
|
+
/**
|
|
444
|
+
* @method
|
|
445
|
+
* @name bitget#unWatchOrderBook
|
|
446
|
+
* @description unsubscribe from the orderbook channel
|
|
447
|
+
* @see https://www.bitget.com/api-doc/spot/websocket/public/Depth-Channel
|
|
448
|
+
* @see https://www.bitget.com/api-doc/contract/websocket/public/Order-Book-Channel
|
|
449
|
+
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
450
|
+
* @param {int} [params.limit] orderbook limit, default is undefined
|
|
451
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
|
|
452
|
+
*/
|
|
453
|
+
await this.loadMarkets();
|
|
454
|
+
const market = this.market(symbol);
|
|
455
|
+
const messageHash = 'unsubscribe:orderbook:' + market['symbol'];
|
|
456
|
+
let channel = 'books';
|
|
457
|
+
const limit = this.safeInteger(params, 'limit');
|
|
458
|
+
if ((limit === 1) || (limit === 5) || (limit === 15)) {
|
|
459
|
+
params = this.omit(params, 'limit');
|
|
460
|
+
channel += limit.toString();
|
|
461
|
+
}
|
|
462
|
+
let instType = undefined;
|
|
463
|
+
[instType, params] = this.getInstType(market, params);
|
|
464
|
+
const args = {
|
|
465
|
+
'instType': instType,
|
|
466
|
+
'channel': channel,
|
|
467
|
+
'instId': market['id'],
|
|
468
|
+
};
|
|
469
|
+
return await this.unWatchPublic(messageHash, args, params);
|
|
470
|
+
}
|
|
442
471
|
async watchOrderBookForSymbols(symbols, limit = undefined, params = {}) {
|
|
443
472
|
/**
|
|
444
473
|
* @method
|
|
@@ -562,10 +591,11 @@ class bitget extends bitget$1 {
|
|
|
562
591
|
const calculatedChecksum = this.crc32(payload, true);
|
|
563
592
|
const responseChecksum = this.safeInteger(rawOrderBook, 'checksum');
|
|
564
593
|
if (calculatedChecksum !== responseChecksum) {
|
|
565
|
-
|
|
566
|
-
delete
|
|
567
|
-
|
|
568
|
-
|
|
594
|
+
// if (messageHash in client.subscriptions) {
|
|
595
|
+
// // delete client.subscriptions[messageHash];
|
|
596
|
+
// // delete this.orderbooks[symbol];
|
|
597
|
+
// }
|
|
598
|
+
this.spawn(this.handleCheckSumError, client, symbol, messageHash);
|
|
569
599
|
return;
|
|
570
600
|
}
|
|
571
601
|
}
|
|
@@ -578,6 +608,11 @@ class bitget extends bitget$1 {
|
|
|
578
608
|
}
|
|
579
609
|
client.resolve(this.orderbooks[symbol], messageHash);
|
|
580
610
|
}
|
|
611
|
+
async handleCheckSumError(client, symbol, messageHash) {
|
|
612
|
+
await this.unWatchOrderBook(symbol);
|
|
613
|
+
const error = new errors.ChecksumError(this.id + ' ' + this.orderbookChecksumMessage(symbol));
|
|
614
|
+
client.reject(error, messageHash);
|
|
615
|
+
}
|
|
581
616
|
handleDelta(bookside, delta) {
|
|
582
617
|
const bidAsk = this.parseBidAsk(delta, 0, 1);
|
|
583
618
|
// we store the string representations in the orderbook for checksum calculation
|
|
@@ -1624,6 +1659,15 @@ class bitget extends bitget$1 {
|
|
|
1624
1659
|
const message = this.extend(request, params);
|
|
1625
1660
|
return await this.watch(url, messageHash, message, messageHash);
|
|
1626
1661
|
}
|
|
1662
|
+
async unWatchPublic(messageHash, args, params = {}) {
|
|
1663
|
+
const url = this.urls['api']['ws']['public'];
|
|
1664
|
+
const request = {
|
|
1665
|
+
'op': 'unsubscribe',
|
|
1666
|
+
'args': [args],
|
|
1667
|
+
};
|
|
1668
|
+
const message = this.extend(request, params);
|
|
1669
|
+
return await this.watch(url, messageHash, message, messageHash);
|
|
1670
|
+
}
|
|
1627
1671
|
async watchPublicMultiple(messageHashes, argsArray, params = {}) {
|
|
1628
1672
|
const url = this.urls['api']['ws']['public'];
|
|
1629
1673
|
const request = {
|
|
@@ -1744,6 +1788,17 @@ class bitget extends bitget$1 {
|
|
|
1744
1788
|
// "event": "subscribe",
|
|
1745
1789
|
// "arg": { instType: 'SPOT', channel: "account", instId: "default" }
|
|
1746
1790
|
// }
|
|
1791
|
+
// unsubscribe
|
|
1792
|
+
// {
|
|
1793
|
+
// "op":"unsubscribe",
|
|
1794
|
+
// "args":[
|
|
1795
|
+
// {
|
|
1796
|
+
// "instType":"USDT-FUTURES",
|
|
1797
|
+
// "channel":"ticker",
|
|
1798
|
+
// "instId":"BTCUSDT"
|
|
1799
|
+
// }
|
|
1800
|
+
// ]
|
|
1801
|
+
// }
|
|
1747
1802
|
//
|
|
1748
1803
|
if (this.handleErrorMessage(client, message)) {
|
|
1749
1804
|
return;
|
|
@@ -1766,6 +1821,10 @@ class bitget extends bitget$1 {
|
|
|
1766
1821
|
this.handleSubscriptionStatus(client, message);
|
|
1767
1822
|
return;
|
|
1768
1823
|
}
|
|
1824
|
+
if (event === 'unsubscribe') {
|
|
1825
|
+
this.handleUnSubscriptionStatus(client, message);
|
|
1826
|
+
return;
|
|
1827
|
+
}
|
|
1769
1828
|
const methods = {
|
|
1770
1829
|
'ticker': this.handleTicker,
|
|
1771
1830
|
'trade': this.handleTrades,
|
|
@@ -1809,6 +1868,56 @@ class bitget extends bitget$1 {
|
|
|
1809
1868
|
//
|
|
1810
1869
|
return message;
|
|
1811
1870
|
}
|
|
1871
|
+
handleUnSubscriptionStatus(client, message) {
|
|
1872
|
+
//
|
|
1873
|
+
// {
|
|
1874
|
+
// "op":"unsubscribe",
|
|
1875
|
+
// "args":[
|
|
1876
|
+
// {
|
|
1877
|
+
// "instType":"USDT-FUTURES",
|
|
1878
|
+
// "channel":"ticker",
|
|
1879
|
+
// "instId":"BTCUSDT"
|
|
1880
|
+
// },
|
|
1881
|
+
// {
|
|
1882
|
+
// "instType":"USDT-FUTURES",
|
|
1883
|
+
// "channel":"candle1m",
|
|
1884
|
+
// "instId":"BTCUSDT"
|
|
1885
|
+
// }
|
|
1886
|
+
// ]
|
|
1887
|
+
// }
|
|
1888
|
+
// or
|
|
1889
|
+
// {"event":"unsubscribe","arg":{"instType":"SPOT","channel":"books","instId":"BTCUSDT"}}
|
|
1890
|
+
//
|
|
1891
|
+
let argsList = this.safeList(message, 'args');
|
|
1892
|
+
if (argsList === undefined) {
|
|
1893
|
+
argsList = [this.safeDict(message, 'arg', {})];
|
|
1894
|
+
}
|
|
1895
|
+
for (let i = 0; i < argsList.length; i++) {
|
|
1896
|
+
const arg = argsList[i];
|
|
1897
|
+
const channel = this.safeString(arg, 'channel');
|
|
1898
|
+
if (channel === 'books') {
|
|
1899
|
+
// for now only unWatchOrderBook is supporteod
|
|
1900
|
+
const instType = this.safeStringLower(arg, 'instType');
|
|
1901
|
+
const type = (instType === 'spot') ? 'spot' : 'contract';
|
|
1902
|
+
const instId = this.safeString(arg, 'instId');
|
|
1903
|
+
const market = this.safeMarket(instId, undefined, undefined, type);
|
|
1904
|
+
const symbol = market['symbol'];
|
|
1905
|
+
const messageHash = 'unsubscribe:orderbook:' + market['symbol'];
|
|
1906
|
+
const subMessageHash = 'orderbook:' + symbol;
|
|
1907
|
+
if (symbol in this.orderbooks) {
|
|
1908
|
+
delete this.orderbooks[symbol];
|
|
1909
|
+
}
|
|
1910
|
+
if (subMessageHash in client.subscriptions) {
|
|
1911
|
+
delete client.subscriptions[subMessageHash];
|
|
1912
|
+
}
|
|
1913
|
+
if (messageHash in client.subscriptions) {
|
|
1914
|
+
delete client.subscriptions[messageHash];
|
|
1915
|
+
}
|
|
1916
|
+
client.resolve(true, messageHash);
|
|
1917
|
+
}
|
|
1918
|
+
}
|
|
1919
|
+
return message;
|
|
1920
|
+
}
|
|
1812
1921
|
}
|
|
1813
1922
|
|
|
1814
1923
|
module.exports = bitget;
|