ccxt 4.3.57 → 4.3.59
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 +4 -4
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +4 -2
- package/dist/cjs/src/alpaca.js +5 -1
- package/dist/cjs/src/base/Exchange.js +4 -4
- package/dist/cjs/src/base/errors.js +22 -22
- package/dist/cjs/src/bigone.js +21 -1
- package/dist/cjs/src/bingx.js +131 -26
- package/dist/cjs/src/bitmart.js +1 -0
- package/dist/cjs/src/btcbox.js +149 -7
- package/dist/cjs/src/bybit.js +2 -2
- package/dist/cjs/src/coinmate.js +28 -35
- package/dist/cjs/src/coinone.js +1 -1
- package/dist/cjs/src/deribit.js +15 -1
- package/dist/cjs/src/digifinex.js +32 -7
- package/dist/cjs/src/gate.js +24 -18
- package/dist/cjs/src/htx.js +10 -8
- package/dist/cjs/src/hyperliquid.js +107 -1
- package/dist/cjs/src/kucoin.js +3 -0
- package/dist/cjs/src/latoken.js +5 -1
- package/dist/cjs/src/mexc.js +11 -11
- package/dist/cjs/src/okx.js +3 -0
- package/dist/cjs/src/pro/binance.js +11 -13
- package/dist/cjs/src/pro/bingx.js +11 -8
- package/dist/cjs/src/pro/okx.js +3 -3
- package/dist/cjs/src/pro/xt.js +1108 -0
- package/dist/cjs/src/upbit.js +148 -49
- package/dist/cjs/src/woo.js +1 -1
- package/dist/cjs/src/xt.js +72 -7
- package/js/ccxt.d.ts +6 -3
- package/js/ccxt.js +5 -3
- package/js/src/abstract/bitmart.d.ts +1 -0
- package/js/src/abstract/btcbox.d.ts +1 -0
- package/js/src/abstract/kucoin.d.ts +1 -0
- package/js/src/abstract/kucoinfutures.d.ts +1 -0
- package/js/src/abstract/upbit.d.ts +3 -0
- package/js/src/abstract/xt.d.ts +1 -0
- package/js/src/alpaca.d.ts +1 -1
- package/js/src/alpaca.js +5 -1
- package/js/src/base/Exchange.d.ts +3 -3
- package/js/src/base/Exchange.js +5 -5
- package/js/src/base/errorHierarchy.d.ts +5 -5
- package/js/src/base/errorHierarchy.js +5 -5
- package/js/src/base/errors.d.ts +15 -15
- package/js/src/base/errors.js +22 -22
- package/js/src/bigone.d.ts +1 -1
- package/js/src/bigone.js +21 -1
- package/js/src/bingx.js +131 -26
- package/js/src/bitmart.js +1 -0
- package/js/src/btcbox.d.ts +4 -1
- package/js/src/btcbox.js +149 -7
- package/js/src/bybit.js +2 -2
- package/js/src/coinmate.js +28 -35
- package/js/src/coinone.js +1 -1
- package/js/src/deribit.d.ts +1 -1
- package/js/src/deribit.js +15 -1
- package/js/src/digifinex.d.ts +3 -2
- package/js/src/digifinex.js +32 -7
- package/js/src/gate.js +24 -18
- package/js/src/htx.js +10 -8
- package/js/src/hyperliquid.d.ts +3 -1
- package/js/src/hyperliquid.js +107 -1
- package/js/src/kucoin.js +3 -0
- package/js/src/latoken.d.ts +1 -1
- package/js/src/latoken.js +5 -1
- package/js/src/mexc.js +11 -11
- package/js/src/okx.js +3 -0
- package/js/src/pro/binance.js +11 -13
- package/js/src/pro/bingx.js +11 -8
- package/js/src/pro/bitmart.d.ts +3 -3
- package/js/src/pro/bitopro.d.ts +2 -2
- package/js/src/pro/coincheck.d.ts +2 -2
- package/js/src/pro/coinone.d.ts +2 -2
- package/js/src/pro/hyperliquid.d.ts +2 -2
- package/js/src/pro/okx.js +3 -3
- package/js/src/pro/xt.d.ts +31 -0
- package/js/src/pro/xt.js +1109 -0
- package/js/src/upbit.d.ts +0 -1
- package/js/src/upbit.js +148 -49
- package/js/src/woo.js +2 -2
- package/js/src/xt.js +72 -7
- package/package.json +1 -1
package/js/src/hyperliquid.js
CHANGED
|
@@ -101,7 +101,7 @@ export default class hyperliquid extends Exchange {
|
|
|
101
101
|
'fetchTickers': false,
|
|
102
102
|
'fetchTime': false,
|
|
103
103
|
'fetchTrades': true,
|
|
104
|
-
'fetchTradingFee':
|
|
104
|
+
'fetchTradingFee': true,
|
|
105
105
|
'fetchTradingFees': false,
|
|
106
106
|
'fetchTransfer': false,
|
|
107
107
|
'fetchTransfers': false,
|
|
@@ -2519,6 +2519,112 @@ export default class hyperliquid extends Exchange {
|
|
|
2519
2519
|
'fee': undefined,
|
|
2520
2520
|
};
|
|
2521
2521
|
}
|
|
2522
|
+
async fetchTradingFee(symbol, params = {}) {
|
|
2523
|
+
/**
|
|
2524
|
+
* @method
|
|
2525
|
+
* @name hyperliquid#fetchTradingFee
|
|
2526
|
+
* @description fetch the trading fees for a market
|
|
2527
|
+
* @param {string} symbol unified market symbol
|
|
2528
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2529
|
+
* @param {string} [params.user] user address, will default to this.walletAddress if not provided
|
|
2530
|
+
* @returns {object} a [fee structure]{@link https://docs.ccxt.com/#/?id=fee-structure}
|
|
2531
|
+
*/
|
|
2532
|
+
await this.loadMarkets();
|
|
2533
|
+
let userAddress = undefined;
|
|
2534
|
+
[userAddress, params] = this.handlePublicAddress('fetchTradingFee', params);
|
|
2535
|
+
const market = this.market(symbol);
|
|
2536
|
+
const request = {
|
|
2537
|
+
'type': 'userFees',
|
|
2538
|
+
'user': userAddress,
|
|
2539
|
+
};
|
|
2540
|
+
const response = await this.publicPostInfo(this.extend(request, params));
|
|
2541
|
+
//
|
|
2542
|
+
// {
|
|
2543
|
+
// "dailyUserVlm": [
|
|
2544
|
+
// {
|
|
2545
|
+
// "date": "2024-07-08",
|
|
2546
|
+
// "userCross": "0.0",
|
|
2547
|
+
// "userAdd": "0.0",
|
|
2548
|
+
// "exchange": "90597185.23639999"
|
|
2549
|
+
// }
|
|
2550
|
+
// ],
|
|
2551
|
+
// "feeSchedule": {
|
|
2552
|
+
// "cross": "0.00035",
|
|
2553
|
+
// "add": "0.0001",
|
|
2554
|
+
// "tiers": {
|
|
2555
|
+
// "vip": [
|
|
2556
|
+
// {
|
|
2557
|
+
// "ntlCutoff": "5000000.0",
|
|
2558
|
+
// "cross": "0.0003",
|
|
2559
|
+
// "add": "0.00005"
|
|
2560
|
+
// }
|
|
2561
|
+
// ],
|
|
2562
|
+
// "mm": [
|
|
2563
|
+
// {
|
|
2564
|
+
// "makerFractionCutoff": "0.005",
|
|
2565
|
+
// "add": "-0.00001"
|
|
2566
|
+
// }
|
|
2567
|
+
// ]
|
|
2568
|
+
// },
|
|
2569
|
+
// "referralDiscount": "0.04"
|
|
2570
|
+
// },
|
|
2571
|
+
// "userCrossRate": "0.00035",
|
|
2572
|
+
// "userAddRate": "0.0001",
|
|
2573
|
+
// "activeReferralDiscount": "0.0"
|
|
2574
|
+
// }
|
|
2575
|
+
//
|
|
2576
|
+
const data = {
|
|
2577
|
+
'userCrossRate': this.safeString(response, 'userCrossRate'),
|
|
2578
|
+
'userAddRate': this.safeString(response, 'userAddRate'),
|
|
2579
|
+
};
|
|
2580
|
+
return this.parseTradingFee(data, market);
|
|
2581
|
+
}
|
|
2582
|
+
parseTradingFee(fee, market = undefined) {
|
|
2583
|
+
//
|
|
2584
|
+
// {
|
|
2585
|
+
// "dailyUserVlm": [
|
|
2586
|
+
// {
|
|
2587
|
+
// "date": "2024-07-08",
|
|
2588
|
+
// "userCross": "0.0",
|
|
2589
|
+
// "userAdd": "0.0",
|
|
2590
|
+
// "exchange": "90597185.23639999"
|
|
2591
|
+
// }
|
|
2592
|
+
// ],
|
|
2593
|
+
// "feeSchedule": {
|
|
2594
|
+
// "cross": "0.00035",
|
|
2595
|
+
// "add": "0.0001",
|
|
2596
|
+
// "tiers": {
|
|
2597
|
+
// "vip": [
|
|
2598
|
+
// {
|
|
2599
|
+
// "ntlCutoff": "5000000.0",
|
|
2600
|
+
// "cross": "0.0003",
|
|
2601
|
+
// "add": "0.00005"
|
|
2602
|
+
// }
|
|
2603
|
+
// ],
|
|
2604
|
+
// "mm": [
|
|
2605
|
+
// {
|
|
2606
|
+
// "makerFractionCutoff": "0.005",
|
|
2607
|
+
// "add": "-0.00001"
|
|
2608
|
+
// }
|
|
2609
|
+
// ]
|
|
2610
|
+
// },
|
|
2611
|
+
// "referralDiscount": "0.04"
|
|
2612
|
+
// },
|
|
2613
|
+
// "userCrossRate": "0.00035",
|
|
2614
|
+
// "userAddRate": "0.0001",
|
|
2615
|
+
// "activeReferralDiscount": "0.0"
|
|
2616
|
+
// }
|
|
2617
|
+
//
|
|
2618
|
+
const symbol = this.safeSymbol(undefined, market);
|
|
2619
|
+
return {
|
|
2620
|
+
'info': fee,
|
|
2621
|
+
'symbol': symbol,
|
|
2622
|
+
'maker': this.safeNumber(fee, 'userAddRate'),
|
|
2623
|
+
'taker': this.safeNumber(fee, 'userCrossRate'),
|
|
2624
|
+
'percentage': undefined,
|
|
2625
|
+
'tierBased': undefined,
|
|
2626
|
+
};
|
|
2627
|
+
}
|
|
2522
2628
|
formatVaultAddress(address = undefined) {
|
|
2523
2629
|
if (address === undefined) {
|
|
2524
2630
|
return undefined;
|
package/js/src/kucoin.js
CHANGED
|
@@ -243,6 +243,8 @@ export default class kucoin extends Exchange {
|
|
|
243
243
|
'purchase/orders': 10,
|
|
244
244
|
// broker
|
|
245
245
|
'broker/api/rebase/download': 3,
|
|
246
|
+
// affiliate
|
|
247
|
+
'affiliate/inviter/statistics': 30,
|
|
246
248
|
},
|
|
247
249
|
'post': {
|
|
248
250
|
// account
|
|
@@ -684,6 +686,7 @@ export default class kucoin extends Exchange {
|
|
|
684
686
|
'redeem/orders': 'v3',
|
|
685
687
|
'purchase/orders': 'v3',
|
|
686
688
|
'margin/symbols': 'v3',
|
|
689
|
+
'affiliate/inviter/statistics': 'v2',
|
|
687
690
|
},
|
|
688
691
|
'POST': {
|
|
689
692
|
// account
|
package/js/src/latoken.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ export default class latoken extends Exchange {
|
|
|
45
45
|
fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
46
46
|
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
|
|
47
47
|
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
48
|
-
cancelAllOrders(symbol?: Str, params?: {}): Promise<
|
|
48
|
+
cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
|
|
49
49
|
fetchTransactions(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
|
|
50
50
|
parseTransaction(transaction: Dict, currency?: Currency): Transaction;
|
|
51
51
|
parseTransactionStatus(status: Str): string;
|
package/js/src/latoken.js
CHANGED
|
@@ -1419,7 +1419,11 @@ export default class latoken extends Exchange {
|
|
|
1419
1419
|
// "status":"SUCCESS"
|
|
1420
1420
|
// }
|
|
1421
1421
|
//
|
|
1422
|
-
return
|
|
1422
|
+
return [
|
|
1423
|
+
this.safeOrder({
|
|
1424
|
+
'info': response,
|
|
1425
|
+
}),
|
|
1426
|
+
];
|
|
1423
1427
|
}
|
|
1424
1428
|
async fetchTransactions(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
1425
1429
|
/**
|
package/js/src/mexc.js
CHANGED
|
@@ -799,24 +799,24 @@ export default class mexc extends Exchange {
|
|
|
799
799
|
'commonCurrencies': {
|
|
800
800
|
'BEYONDPROTOCOL': 'BEYOND',
|
|
801
801
|
'BIFI': 'BIFIF',
|
|
802
|
-
'BYN': '
|
|
802
|
+
'BYN': 'BEYONDFI',
|
|
803
803
|
'COFI': 'COFIX',
|
|
804
|
-
'DFI': '
|
|
805
|
-
'DFT': '
|
|
804
|
+
'DFI': 'DFISTARTER',
|
|
805
|
+
'DFT': 'DFUTURE',
|
|
806
806
|
'DRK': 'DRK',
|
|
807
|
-
'EGC': '
|
|
807
|
+
'EGC': 'EGORASCREDIT',
|
|
808
808
|
'FLUX1': 'FLUX',
|
|
809
809
|
'FLUX': 'FLUX1',
|
|
810
|
-
'FREE': '
|
|
810
|
+
'FREE': 'FREEROSSDAO',
|
|
811
811
|
'GAS': 'GASDAO',
|
|
812
812
|
'GASNEO': 'GAS',
|
|
813
|
-
'GMT': '
|
|
813
|
+
'GMT': 'GMTTOKEN',
|
|
814
814
|
'STEPN': 'GMT',
|
|
815
|
-
'HERO': '
|
|
816
|
-
'MIMO': '
|
|
817
|
-
'PROS': '
|
|
818
|
-
'SIN': '
|
|
819
|
-
'SOUL': '
|
|
815
|
+
'HERO': 'STEPHERO',
|
|
816
|
+
'MIMO': 'MIMOSA',
|
|
817
|
+
'PROS': 'PROSFINANCE',
|
|
818
|
+
'SIN': 'SINCITYTOKEN',
|
|
819
|
+
'SOUL': 'SOULSWAP',
|
|
820
820
|
},
|
|
821
821
|
'exceptions': {
|
|
822
822
|
'exact': {
|
package/js/src/okx.js
CHANGED
|
@@ -7356,6 +7356,9 @@ export default class okx extends Exchange {
|
|
|
7356
7356
|
}
|
|
7357
7357
|
depositWithdrawFees[code]['info'][currencyId] = feeInfo;
|
|
7358
7358
|
const chain = this.safeString(feeInfo, 'chain');
|
|
7359
|
+
if (chain === undefined) {
|
|
7360
|
+
continue;
|
|
7361
|
+
}
|
|
7359
7362
|
const chainSplit = chain.split('-');
|
|
7360
7363
|
const networkId = this.safeValue(chainSplit, 1);
|
|
7361
7364
|
const withdrawFee = this.safeNumber(feeInfo, 'minFee');
|
package/js/src/pro/binance.js
CHANGED
|
@@ -614,9 +614,9 @@ export default class binance extends binanceRest {
|
|
|
614
614
|
for (let i = 0; i < symbols.length; i++) {
|
|
615
615
|
const symbol = symbols[i];
|
|
616
616
|
const market = this.market(symbol);
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
const symbolHash =
|
|
617
|
+
messageHashes.push('orderbook::' + symbol);
|
|
618
|
+
const subscriptionHash = market['lowercaseId'] + '@' + name;
|
|
619
|
+
const symbolHash = subscriptionHash + '@' + watchOrderBookRate + 'ms';
|
|
620
620
|
subParams.push(symbolHash);
|
|
621
621
|
}
|
|
622
622
|
const messageHashesLength = messageHashes.length;
|
|
@@ -636,8 +636,7 @@ export default class binance extends binanceRest {
|
|
|
636
636
|
'type': type,
|
|
637
637
|
'params': params,
|
|
638
638
|
};
|
|
639
|
-
const
|
|
640
|
-
const orderbook = await this.watchMultiple(url, messageHashes, message, messageHashes, subscription);
|
|
639
|
+
const orderbook = await this.watchMultiple(url, messageHashes, this.extend(request, params), messageHashes, subscription);
|
|
641
640
|
return orderbook.limit();
|
|
642
641
|
}
|
|
643
642
|
async fetchOrderBookWs(symbol, limit = undefined, params = {}) {
|
|
@@ -816,8 +815,7 @@ export default class binance extends binanceRest {
|
|
|
816
815
|
const marketId = this.safeString(message, 's');
|
|
817
816
|
const market = this.safeMarket(marketId, undefined, undefined, marketType);
|
|
818
817
|
const symbol = market['symbol'];
|
|
819
|
-
const
|
|
820
|
-
const messageHash = market['lowercaseId'] + '@' + name;
|
|
818
|
+
const messageHash = 'orderbook::' + symbol;
|
|
821
819
|
if (!(symbol in this.orderbooks)) {
|
|
822
820
|
//
|
|
823
821
|
// https://github.com/ccxt/ccxt/issues/6672
|
|
@@ -960,12 +958,14 @@ export default class binance extends binanceRest {
|
|
|
960
958
|
if (firstMarket['contract']) {
|
|
961
959
|
type = firstMarket['linear'] ? 'future' : 'delivery';
|
|
962
960
|
}
|
|
961
|
+
const messageHashes = [];
|
|
963
962
|
const subParams = [];
|
|
964
963
|
for (let i = 0; i < symbols.length; i++) {
|
|
965
964
|
const symbol = symbols[i];
|
|
966
965
|
const market = this.market(symbol);
|
|
967
|
-
|
|
968
|
-
|
|
966
|
+
messageHashes.push('trade::' + symbol);
|
|
967
|
+
const rawHash = market['lowercaseId'] + '@' + name;
|
|
968
|
+
subParams.push(rawHash);
|
|
969
969
|
}
|
|
970
970
|
const query = this.omit(params, 'type');
|
|
971
971
|
const subParamsLength = subParams.length;
|
|
@@ -979,7 +979,7 @@ export default class binance extends binanceRest {
|
|
|
979
979
|
const subscribe = {
|
|
980
980
|
'id': requestId,
|
|
981
981
|
};
|
|
982
|
-
const trades = await this.watchMultiple(url,
|
|
982
|
+
const trades = await this.watchMultiple(url, messageHashes, this.extend(request, query), messageHashes, subscribe);
|
|
983
983
|
if (this.newUpdates) {
|
|
984
984
|
const first = this.safeValue(trades, 0);
|
|
985
985
|
const tradeSymbol = this.safeString(first, 'symbol');
|
|
@@ -1170,9 +1170,7 @@ export default class binance extends binanceRest {
|
|
|
1170
1170
|
const marketId = this.safeString(message, 's');
|
|
1171
1171
|
const market = this.safeMarket(marketId, undefined, undefined, marketType);
|
|
1172
1172
|
const symbol = market['symbol'];
|
|
1173
|
-
const
|
|
1174
|
-
const event = this.safeString(message, 'e');
|
|
1175
|
-
const messageHash = lowerCaseId + '@' + event;
|
|
1173
|
+
const messageHash = 'trade::' + symbol;
|
|
1176
1174
|
const trade = this.parseWsTrade(message, market);
|
|
1177
1175
|
let tradesArray = this.safeValue(this.trades, symbol);
|
|
1178
1176
|
if (tradesArray === undefined) {
|
package/js/src/pro/bingx.js
CHANGED
|
@@ -97,10 +97,10 @@ export default class bingx extends bingxRest {
|
|
|
97
97
|
*/
|
|
98
98
|
await this.loadMarkets();
|
|
99
99
|
const market = this.market(symbol);
|
|
100
|
-
const [marketType, query] = this.handleMarketTypeAndParams('
|
|
100
|
+
const [marketType, query] = this.handleMarketTypeAndParams('watchTicker', market, params);
|
|
101
101
|
const url = this.safeValue(this.urls['api']['ws'], marketType);
|
|
102
102
|
if (url === undefined) {
|
|
103
|
-
throw new BadRequest(this.id + '
|
|
103
|
+
throw new BadRequest(this.id + ' watchTicker is not supported for ' + marketType + ' markets.');
|
|
104
104
|
}
|
|
105
105
|
const subscriptionHash = market['id'] + '@ticker';
|
|
106
106
|
const messageHash = this.getMessageHash('ticker', market['symbol']);
|
|
@@ -448,21 +448,23 @@ export default class bingx extends bingxRest {
|
|
|
448
448
|
*/
|
|
449
449
|
await this.loadMarkets();
|
|
450
450
|
const market = this.market(symbol);
|
|
451
|
-
|
|
451
|
+
let marketType = undefined;
|
|
452
|
+
[marketType, params] = this.handleMarketTypeAndParams('watchTrades', market, params);
|
|
452
453
|
const url = this.safeValue(this.urls['api']['ws'], marketType);
|
|
453
454
|
if (url === undefined) {
|
|
454
455
|
throw new BadRequest(this.id + ' watchTrades is not supported for ' + marketType + ' markets.');
|
|
455
456
|
}
|
|
456
|
-
const
|
|
457
|
+
const rawHash = market['id'] + '@trade';
|
|
458
|
+
const messageHash = 'trade::' + symbol;
|
|
457
459
|
const uuid = this.uuid();
|
|
458
460
|
const request = {
|
|
459
461
|
'id': uuid,
|
|
460
|
-
'dataType':
|
|
462
|
+
'dataType': rawHash,
|
|
461
463
|
};
|
|
462
464
|
if (marketType === 'swap') {
|
|
463
465
|
request['reqType'] = 'sub';
|
|
464
466
|
}
|
|
465
|
-
const trades = await this.watch(url, messageHash, this.extend(request,
|
|
467
|
+
const trades = await this.watch(url, messageHash, this.extend(request, params), messageHash);
|
|
466
468
|
if (this.newUpdates) {
|
|
467
469
|
limit = trades.getLimit(symbol, limit);
|
|
468
470
|
}
|
|
@@ -529,12 +531,13 @@ export default class bingx extends bingxRest {
|
|
|
529
531
|
// }
|
|
530
532
|
//
|
|
531
533
|
const data = this.safeValue(message, 'data', []);
|
|
532
|
-
const
|
|
533
|
-
const marketId =
|
|
534
|
+
const rawHash = this.safeString(message, 'dataType');
|
|
535
|
+
const marketId = rawHash.split('@')[0];
|
|
534
536
|
const isSwap = client.url.indexOf('swap') >= 0;
|
|
535
537
|
const marketType = isSwap ? 'swap' : 'spot';
|
|
536
538
|
const market = this.safeMarket(marketId, undefined, undefined, marketType);
|
|
537
539
|
const symbol = market['symbol'];
|
|
540
|
+
const messageHash = 'trade::' + symbol;
|
|
538
541
|
let trades = undefined;
|
|
539
542
|
if (Array.isArray(data)) {
|
|
540
543
|
trades = this.parseTrades(data, market);
|
package/js/src/pro/bitmart.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import bitmartRest from '../bitmart.js';
|
|
2
|
-
import type { Int, Market, Str, Strings, OrderBook, Order, Trade, Ticker, Tickers, OHLCV, Position, Balances } from '../base/types.js';
|
|
2
|
+
import type { Int, Market, Str, Strings, OrderBook, Order, Trade, Ticker, Tickers, OHLCV, Position, Balances, Dict } from '../base/types.js';
|
|
3
3
|
import Client from '../base/ws/Client.js';
|
|
4
4
|
export default class bitmart extends bitmartRest {
|
|
5
5
|
describe(): any;
|
|
@@ -16,7 +16,7 @@ export default class bitmart extends bitmartRest {
|
|
|
16
16
|
watchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
17
17
|
watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
18
18
|
handleOrders(client: Client, message: any): void;
|
|
19
|
-
parseWsOrder(order:
|
|
19
|
+
parseWsOrder(order: Dict, market?: Market): Order;
|
|
20
20
|
parseWsOrderStatus(statusId: any): string;
|
|
21
21
|
parseWsOrderSide(sideId: any): string;
|
|
22
22
|
watchPositions(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
|
|
@@ -24,7 +24,7 @@ export default class bitmart extends bitmartRest {
|
|
|
24
24
|
parseWsPosition(position: any, market?: Market): Position;
|
|
25
25
|
handleTrade(client: Client, message: any): void;
|
|
26
26
|
handleTradeLoop(entry: any): string;
|
|
27
|
-
parseWsTrade(trade:
|
|
27
|
+
parseWsTrade(trade: Dict, market?: Market): Trade;
|
|
28
28
|
handleTicker(client: Client, message: any): void;
|
|
29
29
|
parseWsSwapTicker(ticker: any, market?: Market): Ticker;
|
|
30
30
|
watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
package/js/src/pro/bitopro.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import bitoproRest from '../bitopro.js';
|
|
2
|
-
import type { Int, OrderBook, Trade, Ticker, Balances, Market, Str } from '../base/types.js';
|
|
2
|
+
import type { Int, OrderBook, Trade, Ticker, Balances, Market, Str, Dict } from '../base/types.js';
|
|
3
3
|
import Client from '../base/ws/Client.js';
|
|
4
4
|
export default class bitopro extends bitoproRest {
|
|
5
5
|
describe(): any;
|
|
@@ -10,7 +10,7 @@ export default class bitopro extends bitoproRest {
|
|
|
10
10
|
handleTrade(client: Client, message: any): void;
|
|
11
11
|
watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
12
12
|
handleMyTrade(client: Client, message: any): void;
|
|
13
|
-
parseWsTrade(trade:
|
|
13
|
+
parseWsTrade(trade: Dict, market?: Market): Trade;
|
|
14
14
|
watchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
15
15
|
handleTicker(client: Client, message: any): void;
|
|
16
16
|
authenticate(url: any): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import coincheckRest from '../coincheck.js';
|
|
2
|
-
import type { Int, Market, OrderBook, Trade } from '../base/types.js';
|
|
2
|
+
import type { Int, Market, OrderBook, Trade, Dict } from '../base/types.js';
|
|
3
3
|
import Client from '../base/ws/Client.js';
|
|
4
4
|
export default class coincheck extends coincheckRest {
|
|
5
5
|
describe(): any;
|
|
@@ -7,6 +7,6 @@ export default class coincheck extends coincheckRest {
|
|
|
7
7
|
handleOrderBook(client: any, message: any): void;
|
|
8
8
|
watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
9
9
|
handleTrades(client: Client, message: any): void;
|
|
10
|
-
parseWsTrade(trade:
|
|
10
|
+
parseWsTrade(trade: Dict, market?: Market): Trade;
|
|
11
11
|
handleMessage(client: Client, message: any): void;
|
|
12
12
|
}
|
package/js/src/pro/coinone.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import coinoneRest from '../coinone.js';
|
|
2
|
-
import type { Int, Market, OrderBook, Ticker, Trade } from '../base/types.js';
|
|
2
|
+
import type { Int, Market, OrderBook, Ticker, Trade, Dict } from '../base/types.js';
|
|
3
3
|
import Client from '../base/ws/Client.js';
|
|
4
4
|
export default class coinone extends coinoneRest {
|
|
5
5
|
describe(): any;
|
|
@@ -11,7 +11,7 @@ export default class coinone extends coinoneRest {
|
|
|
11
11
|
parseWsTicker(ticker: any, market?: Market): Ticker;
|
|
12
12
|
watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
13
13
|
handleTrades(client: Client, message: any): void;
|
|
14
|
-
parseWsTrade(trade:
|
|
14
|
+
parseWsTrade(trade: Dict, market?: Market): Trade;
|
|
15
15
|
handleErrorMessage(client: Client, message: any): boolean;
|
|
16
16
|
handleMessage(client: Client, message: any): void;
|
|
17
17
|
ping(client: any): {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import hyperliquidRest from '../hyperliquid.js';
|
|
2
2
|
import Client from '../base/ws/Client.js';
|
|
3
|
-
import { Int, Str, Market, OrderBook, Trade, OHLCV, Order } from '../base/types.js';
|
|
3
|
+
import { Int, Str, Market, OrderBook, Trade, OHLCV, Order, Dict } from '../base/types.js';
|
|
4
4
|
export default class hyperliquid extends hyperliquidRest {
|
|
5
5
|
describe(): any;
|
|
6
6
|
watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
@@ -9,7 +9,7 @@ export default class hyperliquid extends hyperliquidRest {
|
|
|
9
9
|
handleMyTrades(client: Client, message: any): void;
|
|
10
10
|
watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
11
11
|
handleTrades(client: Client, message: any): void;
|
|
12
|
-
parseWsTrade(trade:
|
|
12
|
+
parseWsTrade(trade: Dict, market?: Market): Trade;
|
|
13
13
|
watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
14
14
|
handleOHLCV(client: Client, message: any): void;
|
|
15
15
|
watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
package/js/src/pro/okx.js
CHANGED
|
@@ -1685,7 +1685,7 @@ export default class okx extends okxRest {
|
|
|
1685
1685
|
if (this.isEmpty(args)) {
|
|
1686
1686
|
const method = this.safeString(message, 'op');
|
|
1687
1687
|
const stringMsg = this.json(message);
|
|
1688
|
-
this.handleErrors(undefined, undefined, client.url, method, undefined, stringMsg,
|
|
1688
|
+
this.handleErrors(undefined, undefined, client.url, method, undefined, stringMsg, message, undefined, undefined);
|
|
1689
1689
|
}
|
|
1690
1690
|
const orders = this.parseOrders(args, undefined, undefined, undefined);
|
|
1691
1691
|
const first = this.safeDict(orders, 0, {});
|
|
@@ -1860,8 +1860,8 @@ export default class okx extends okxRest {
|
|
|
1860
1860
|
future.resolve(true);
|
|
1861
1861
|
}
|
|
1862
1862
|
ping(client) {
|
|
1863
|
-
//
|
|
1864
|
-
//
|
|
1863
|
+
// OKX does not support the built-in WebSocket protocol-level ping-pong.
|
|
1864
|
+
// Instead, it requires a custom text-based ping-pong mechanism.
|
|
1865
1865
|
return 'ping';
|
|
1866
1866
|
}
|
|
1867
1867
|
handlePong(client, message) {
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import xtRest from '../xt.js';
|
|
2
|
+
import { Balances, Dict, Int, Market, OHLCV, Order, OrderBook, Str, Strings, Ticker, Tickers, Trade } from '../base/types.js';
|
|
3
|
+
import Client from '../base/ws/Client.js';
|
|
4
|
+
export default class xt extends xtRest {
|
|
5
|
+
describe(): any;
|
|
6
|
+
getListenKey(isContract: boolean): Promise<any>;
|
|
7
|
+
getCacheIndex(orderbook: any, cache: any): any;
|
|
8
|
+
handleDelta(orderbook: any, delta: any): void;
|
|
9
|
+
subscribe(name: string, access: string, methodName: string, market?: Market, symbols?: string[], params?: {}): Promise<any>;
|
|
10
|
+
watchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
11
|
+
watchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
12
|
+
watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
13
|
+
watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
14
|
+
watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
15
|
+
watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
16
|
+
watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
17
|
+
watchBalance(params?: {}): Promise<Balances>;
|
|
18
|
+
handleTicker(client: Client, message: Dict): Dict;
|
|
19
|
+
handleTickers(client: Client, message: Dict): Dict;
|
|
20
|
+
handleOHLCV(client: Client, message: Dict): Dict;
|
|
21
|
+
handleTrade(client: Client, message: Dict): Dict;
|
|
22
|
+
handleOrderBook(client: Client, message: Dict): void;
|
|
23
|
+
parseWsOrderTrade(trade: Dict, market?: Market): Trade;
|
|
24
|
+
parseWsOrder(order: Dict, market?: Market): Order;
|
|
25
|
+
handleOrder(client: Client, message: Dict): Dict;
|
|
26
|
+
handleBalance(client: Client, message: Dict): void;
|
|
27
|
+
handleMyTrades(client: Client, message: Dict): void;
|
|
28
|
+
handleMessage(client: Client, message: any): void;
|
|
29
|
+
ping(client: Client): string;
|
|
30
|
+
handleErrorMessage(client: Client, message: Dict): void;
|
|
31
|
+
}
|