ccxt 4.5.10 → 4.5.12
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 +32 -33
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +1 -6
- package/dist/cjs/src/apex.js +9 -0
- package/dist/cjs/src/base/Exchange.js +15 -3
- package/dist/cjs/src/base/functions/throttle.js +1 -1
- package/dist/cjs/src/binance.js +1 -1
- package/dist/cjs/src/bingx.js +1 -1
- package/dist/cjs/src/bitfinex.js +4 -2
- package/dist/cjs/src/bitget.js +20 -2
- package/dist/cjs/src/bitmart.js +2 -2
- package/dist/cjs/src/btcmarkets.js +4 -2
- package/dist/cjs/src/bybit.js +28 -7
- package/dist/cjs/src/coinbase.js +1 -0
- package/dist/cjs/src/coincatch.js +2 -1
- package/dist/cjs/src/deribit.js +21 -19
- package/dist/cjs/src/kraken.js +4 -0
- package/dist/cjs/src/krakenfutures.js +26 -5
- package/dist/cjs/src/kucoin.js +1 -1
- package/dist/cjs/src/latoken.js +1 -0
- package/dist/cjs/src/mexc.js +1 -0
- package/dist/cjs/src/okx.js +18 -9
- package/dist/cjs/src/onetrading.js +2 -1
- package/dist/cjs/src/phemex.js +1 -0
- package/dist/cjs/src/pro/alpaca.js +17 -1
- package/dist/cjs/src/pro/apex.js +17 -0
- package/dist/cjs/src/pro/binance.js +5 -5
- package/dist/cjs/src/pro/bitget.js +10 -3
- package/dist/cjs/src/pro/coinbase.js +8 -7
- package/dist/cjs/src/pro/htx.js +22 -3
- package/dist/cjs/src/pro/hyperliquid.js +4 -0
- package/dist/cjs/src/pro/kraken.js +282 -458
- package/dist/cjs/src/pro/mexc.js +16 -11
- package/dist/cjs/src/pro/woo.js +48 -4
- package/dist/cjs/src/probit.js +1 -1
- package/dist/cjs/src/woo.js +20 -2
- package/dist/cjs/src/xt.js +1 -1
- package/js/ccxt.d.ts +2 -8
- package/js/ccxt.js +2 -6
- package/js/src/abstract/coinbase.d.ts +1 -0
- package/js/src/abstract/coinbaseadvanced.d.ts +1 -0
- package/js/src/abstract/phemex.d.ts +1 -0
- package/js/src/abstract/xt.d.ts +1 -1
- package/js/src/apex.js +9 -0
- package/js/src/base/Exchange.d.ts +5 -2
- package/js/src/base/Exchange.js +15 -3
- package/js/src/base/functions/throttle.js +1 -1
- package/js/src/binance.js +1 -1
- package/js/src/bingx.js +1 -1
- package/js/src/bitfinex.d.ts +1 -1
- package/js/src/bitfinex.js +4 -2
- package/js/src/bitget.d.ts +15 -2
- package/js/src/bitget.js +20 -2
- package/js/src/bithumb.d.ts +1 -1
- package/js/src/bitmart.js +2 -2
- package/js/src/bitmex.d.ts +1 -1
- package/js/src/bitopro.d.ts +1 -1
- package/js/src/bitso.d.ts +1 -1
- package/js/src/bittrade.d.ts +1 -1
- package/js/src/blofin.d.ts +1 -1
- package/js/src/btcmarkets.d.ts +1 -1
- package/js/src/btcmarkets.js +4 -2
- package/js/src/bybit.d.ts +1 -1
- package/js/src/bybit.js +28 -7
- package/js/src/coinbase.d.ts +1 -1
- package/js/src/coinbase.js +1 -0
- package/js/src/coincatch.js +2 -1
- package/js/src/coinex.d.ts +1 -1
- package/js/src/cryptocom.d.ts +1 -1
- package/js/src/deribit.js +21 -19
- package/js/src/digifinex.d.ts +1 -1
- package/js/src/hibachi.d.ts +1 -1
- package/js/src/htx.d.ts +1 -1
- package/js/src/hyperliquid.d.ts +1 -1
- package/js/src/kraken.d.ts +1 -1
- package/js/src/kraken.js +4 -0
- package/js/src/krakenfutures.js +26 -5
- package/js/src/kucoin.js +1 -1
- package/js/src/kucoinfutures.d.ts +1 -1
- package/js/src/latoken.js +1 -0
- package/js/src/mexc.d.ts +1 -1
- package/js/src/mexc.js +1 -0
- package/js/src/oceanex.d.ts +1 -1
- package/js/src/okx.d.ts +1 -1
- package/js/src/okx.js +18 -9
- package/js/src/onetrading.d.ts +1 -1
- package/js/src/onetrading.js +2 -1
- package/js/src/phemex.js +1 -0
- package/js/src/pro/alpaca.js +17 -1
- package/js/src/pro/apex.d.ts +2 -0
- package/js/src/pro/apex.js +18 -1
- package/js/src/pro/binance.js +5 -5
- package/js/src/pro/bitget.d.ts +1 -0
- package/js/src/pro/bitget.js +10 -3
- package/js/src/pro/bitvavo.d.ts +2 -2
- package/js/src/pro/coinbase.js +8 -7
- package/js/src/pro/htx.js +22 -3
- package/js/src/pro/hyperliquid.js +4 -0
- package/js/src/pro/kraken.d.ts +7 -8
- package/js/src/pro/kraken.js +282 -458
- package/js/src/pro/mexc.js +16 -11
- package/js/src/pro/woo.js +48 -4
- package/js/src/probit.js +1 -1
- package/js/src/timex.d.ts +1 -1
- package/js/src/woo.js +20 -2
- package/js/src/xt.js +1 -1
- package/package.json +1 -1
- package/js/src/abstract/okcoin.d.ts +0 -77
- package/js/src/abstract/okcoin.js +0 -11
- package/js/src/okcoin.d.ts +0 -346
- package/js/src/okcoin.js +0 -3214
- package/js/src/pro/okcoin.d.ts +0 -91
- package/js/src/pro/okcoin.js +0 -763
package/js/src/pro/alpaca.js
CHANGED
|
@@ -14,15 +14,31 @@ export default class alpaca extends alpacaRest {
|
|
|
14
14
|
return this.deepExtend(super.describe(), {
|
|
15
15
|
'has': {
|
|
16
16
|
'ws': true,
|
|
17
|
+
'createOrderWithTakeProfitAndStopLossWs': false,
|
|
18
|
+
'createReduceOnlyOrderWs': false,
|
|
19
|
+
'createStopLossOrderWs': false,
|
|
20
|
+
'createTakeProfitOrderWs': false,
|
|
21
|
+
'fetchPositionForSymbolWs': false,
|
|
22
|
+
'fetchPositionsForSymbolWs': false,
|
|
23
|
+
'fetchPositionsWs': false,
|
|
24
|
+
'fetchPositionWs': false,
|
|
25
|
+
'unWatchPositions': false,
|
|
17
26
|
'watchBalance': false,
|
|
27
|
+
'watchLiquidations': false,
|
|
28
|
+
'watchLiquidationsForSymbols': false,
|
|
29
|
+
'watchMarkPrice': false,
|
|
30
|
+
'watchMarkPrices': false,
|
|
31
|
+
'watchMyLiquidations': false,
|
|
32
|
+
'watchMyLiquidationsForSymbols': false,
|
|
18
33
|
'watchMyTrades': true,
|
|
19
34
|
'watchOHLCV': true,
|
|
20
35
|
'watchOrderBook': true,
|
|
21
36
|
'watchOrders': true,
|
|
37
|
+
'watchPosition': false,
|
|
38
|
+
'watchPositions': false,
|
|
22
39
|
'watchTicker': true,
|
|
23
40
|
'watchTickers': false,
|
|
24
41
|
'watchTrades': true,
|
|
25
|
-
'watchPosition': false,
|
|
26
42
|
},
|
|
27
43
|
'urls': {
|
|
28
44
|
'api': {
|
package/js/src/pro/apex.d.ts
CHANGED
|
@@ -153,7 +153,9 @@ export default class apex extends apexRest {
|
|
|
153
153
|
args: string[];
|
|
154
154
|
op: string;
|
|
155
155
|
};
|
|
156
|
+
pong(client: any, message: any): Promise<void>;
|
|
156
157
|
handlePong(client: Client, message: any): any;
|
|
158
|
+
handlePing(client: Client, message: any): void;
|
|
157
159
|
handleAccount(client: Client, message: any): void;
|
|
158
160
|
handleAuthenticate(client: Client, message: any): any;
|
|
159
161
|
handleSubscriptionStatus(client: Client, message: any): any;
|
package/js/src/pro/apex.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
// ---------------------------------------------------------------------------
|
|
8
8
|
import apexRest from '../apex.js';
|
|
9
9
|
import { ArrayCache, ArrayCacheBySymbolById, ArrayCacheBySymbolBySide, ArrayCacheByTimestamp } from '../base/ws/Cache.js';
|
|
10
|
-
import { ArgumentsRequired, AuthenticationError, ExchangeError } from '../base/errors.js';
|
|
10
|
+
import { ArgumentsRequired, AuthenticationError, ExchangeError, NetworkError } from '../base/errors.js';
|
|
11
11
|
import { sha256 } from '../static_dependencies/noble-hashes/sha256.js';
|
|
12
12
|
// ---------------------------------------------------------------------------
|
|
13
13
|
export default class apex extends apexRest {
|
|
@@ -945,6 +945,7 @@ export default class apex extends apexRest {
|
|
|
945
945
|
'recentlyTrade': this.handleTrades,
|
|
946
946
|
'pong': this.handlePong,
|
|
947
947
|
'auth': this.handleAuthenticate,
|
|
948
|
+
'ping': this.handlePing,
|
|
948
949
|
};
|
|
949
950
|
const exacMethod = this.safeValue(methods, topic);
|
|
950
951
|
if (exacMethod !== undefined) {
|
|
@@ -974,6 +975,19 @@ export default class apex extends apexRest {
|
|
|
974
975
|
'op': 'ping',
|
|
975
976
|
};
|
|
976
977
|
}
|
|
978
|
+
async pong(client, message) {
|
|
979
|
+
//
|
|
980
|
+
// {"op": "ping", "args": ["1761069137485"]}
|
|
981
|
+
//
|
|
982
|
+
const timeStamp = this.milliseconds();
|
|
983
|
+
try {
|
|
984
|
+
await client.send({ 'args': [timeStamp.toString()], 'op': 'pong' });
|
|
985
|
+
}
|
|
986
|
+
catch (e) {
|
|
987
|
+
const error = new NetworkError(this.id + ' handlePing failed with error ' + this.json(e));
|
|
988
|
+
client.reset(error);
|
|
989
|
+
}
|
|
990
|
+
}
|
|
977
991
|
handlePong(client, message) {
|
|
978
992
|
//
|
|
979
993
|
// {
|
|
@@ -988,6 +1002,9 @@ export default class apex extends apexRest {
|
|
|
988
1002
|
client.lastPong = this.safeInteger(message, 'pong');
|
|
989
1003
|
return message;
|
|
990
1004
|
}
|
|
1005
|
+
handlePing(client, message) {
|
|
1006
|
+
this.spawn(this.pong, client, message);
|
|
1007
|
+
}
|
|
991
1008
|
handleAccount(client, message) {
|
|
992
1009
|
const contents = this.safeDict(message, 'contents', {});
|
|
993
1010
|
const fills = this.safeList(contents, 'fills', []);
|
package/js/src/pro/binance.js
CHANGED
|
@@ -425,7 +425,7 @@ export default class binance extends binanceRest {
|
|
|
425
425
|
// }
|
|
426
426
|
//
|
|
427
427
|
const marketId = this.safeString(liquidation, 's');
|
|
428
|
-
market = this.safeMarket(marketId, market);
|
|
428
|
+
market = this.safeMarket(marketId, market, undefined, 'swap');
|
|
429
429
|
const timestamp = this.safeInteger(liquidation, 'T');
|
|
430
430
|
return this.safeLiquidation({
|
|
431
431
|
'info': liquidation,
|
|
@@ -547,8 +547,8 @@ export default class binance extends binanceRest {
|
|
|
547
547
|
return;
|
|
548
548
|
}
|
|
549
549
|
const marketId = this.safeString(message, 's');
|
|
550
|
-
const market = this.safeMarket(marketId);
|
|
551
|
-
const symbol = this.safeSymbol(marketId);
|
|
550
|
+
const market = this.safeMarket(marketId, undefined, undefined, 'swap');
|
|
551
|
+
const symbol = this.safeSymbol(marketId, market);
|
|
552
552
|
const liquidation = this.parseWsLiquidation(message, market);
|
|
553
553
|
let myLiquidations = this.safeValue(this.myLiquidations, symbol);
|
|
554
554
|
if (myLiquidations === undefined) {
|
|
@@ -922,7 +922,7 @@ export default class binance extends binanceRest {
|
|
|
922
922
|
// }
|
|
923
923
|
//
|
|
924
924
|
const isSpot = this.isSpotUrl(client);
|
|
925
|
-
const marketType = (isSpot) ? 'spot' : '
|
|
925
|
+
const marketType = (isSpot) ? 'spot' : 'swap';
|
|
926
926
|
const marketId = this.safeString(message, 's');
|
|
927
927
|
const market = this.safeMarket(marketId, undefined, undefined, marketType);
|
|
928
928
|
const symbol = market['symbol'];
|
|
@@ -4029,7 +4029,7 @@ export default class binance extends binanceRest {
|
|
|
4029
4029
|
return this.safePosition({
|
|
4030
4030
|
'info': position,
|
|
4031
4031
|
'id': undefined,
|
|
4032
|
-
'symbol': this.safeSymbol(marketId, undefined, undefined, '
|
|
4032
|
+
'symbol': this.safeSymbol(marketId, undefined, undefined, 'swap'),
|
|
4033
4033
|
'notional': undefined,
|
|
4034
4034
|
'marginMode': this.safeString(position, 'mt'),
|
|
4035
4035
|
'liquidationPrice': undefined,
|
package/js/src/pro/bitget.d.ts
CHANGED
|
@@ -209,6 +209,7 @@ export default class bitget extends bitgetRest {
|
|
|
209
209
|
* @name bitget#watchOrders
|
|
210
210
|
* @description watches information on multiple orders made by the user
|
|
211
211
|
* @see https://www.bitget.com/api-doc/spot/websocket/private/Order-Channel
|
|
212
|
+
* @see https://www.bitget.com/api-doc/spot/websocket/private/Plan-Order-Channel
|
|
212
213
|
* @see https://www.bitget.com/api-doc/contract/websocket/private/Order-Channel
|
|
213
214
|
* @see https://www.bitget.com/api-doc/contract/websocket/private/Plan-Order-Channel
|
|
214
215
|
* @see https://www.bitget.com/api-doc/margin/cross/websocket/private/Cross-Orders
|
package/js/src/pro/bitget.js
CHANGED
|
@@ -1499,6 +1499,7 @@ export default class bitget extends bitgetRest {
|
|
|
1499
1499
|
* @name bitget#watchOrders
|
|
1500
1500
|
* @description watches information on multiple orders made by the user
|
|
1501
1501
|
* @see https://www.bitget.com/api-doc/spot/websocket/private/Order-Channel
|
|
1502
|
+
* @see https://www.bitget.com/api-doc/spot/websocket/private/Plan-Order-Channel
|
|
1502
1503
|
* @see https://www.bitget.com/api-doc/contract/websocket/private/Order-Channel
|
|
1503
1504
|
* @see https://www.bitget.com/api-doc/contract/websocket/private/Plan-Order-Channel
|
|
1504
1505
|
* @see https://www.bitget.com/api-doc/margin/cross/websocket/private/Cross-Orders
|
|
@@ -2750,7 +2751,9 @@ export default class bitget extends bitgetRest {
|
|
|
2750
2751
|
delete client.subscriptions[messageHash];
|
|
2751
2752
|
}
|
|
2752
2753
|
const error = new UnsubscribeError(this.id + ' orderbook ' + symbol);
|
|
2753
|
-
client.
|
|
2754
|
+
if (subMessageHash in client.futures) {
|
|
2755
|
+
client.reject(error, subMessageHash);
|
|
2756
|
+
}
|
|
2754
2757
|
client.resolve(true, messageHash);
|
|
2755
2758
|
}
|
|
2756
2759
|
handleTradesUnSubscription(client, message) {
|
|
@@ -2775,7 +2778,9 @@ export default class bitget extends bitgetRest {
|
|
|
2775
2778
|
delete client.subscriptions[messageHash];
|
|
2776
2779
|
}
|
|
2777
2780
|
const error = new UnsubscribeError(this.id + ' trades ' + symbol);
|
|
2778
|
-
client.
|
|
2781
|
+
if (subMessageHash in client.futures) {
|
|
2782
|
+
client.reject(error, subMessageHash);
|
|
2783
|
+
}
|
|
2779
2784
|
client.resolve(true, messageHash);
|
|
2780
2785
|
}
|
|
2781
2786
|
handleTickerUnSubscription(client, message) {
|
|
@@ -2800,7 +2805,9 @@ export default class bitget extends bitgetRest {
|
|
|
2800
2805
|
delete client.subscriptions[messageHash];
|
|
2801
2806
|
}
|
|
2802
2807
|
const error = new UnsubscribeError(this.id + ' ticker ' + symbol);
|
|
2803
|
-
client.
|
|
2808
|
+
if (subMessageHash in client.futures) {
|
|
2809
|
+
client.reject(error, subMessageHash);
|
|
2810
|
+
}
|
|
2804
2811
|
client.resolve(true, messageHash);
|
|
2805
2812
|
}
|
|
2806
2813
|
handleOHLCVUnSubscription(client, message) {
|
package/js/src/pro/bitvavo.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import bitvavoRest from '../bitvavo.js';
|
|
2
|
-
import { Int, Str, OrderSide, OrderType, OrderBook, Ticker, Trade, Order, OHLCV, Balances, Num, TradingFees, Strings, Tickers, Bool } from '../base/types.js';
|
|
2
|
+
import { Int, Str, OrderSide, OrderType, OrderBook, Ticker, Trade, Order, OHLCV, Balances, Num, TradingFees, Strings, Tickers, Bool, Currencies } from '../base/types.js';
|
|
3
3
|
import Client from '../base/ws/Client.js';
|
|
4
4
|
export default class bitvavo extends bitvavoRest {
|
|
5
5
|
describe(): any;
|
|
@@ -293,7 +293,7 @@ export default class bitvavo extends bitvavoRest {
|
|
|
293
293
|
* @param {object} [params] extra parameters specific to the bitvavo api endpoint
|
|
294
294
|
* @returns {object} an associative dictionary of currencies
|
|
295
295
|
*/
|
|
296
|
-
fetchCurrenciesWs(params?: {}): Promise<
|
|
296
|
+
fetchCurrenciesWs(params?: {}): Promise<Currencies>;
|
|
297
297
|
handleFetchCurrencies(client: Client, message: any): void;
|
|
298
298
|
handleTradingFees(client: any, message: any): void;
|
|
299
299
|
/**
|
package/js/src/pro/coinbase.js
CHANGED
|
@@ -776,8 +776,9 @@ export default class coinbase extends coinbaseRest {
|
|
|
776
776
|
const id = this.safeString(order, 'order_id');
|
|
777
777
|
const clientOrderId = this.safeString(order, 'client_order_id');
|
|
778
778
|
const marketId = this.safeString(order, 'product_id');
|
|
779
|
-
const datetime = this.
|
|
779
|
+
const datetime = this.safeString2(order, 'time', 'creation_time');
|
|
780
780
|
market = this.safeMarket(marketId, market);
|
|
781
|
+
const stopPrice = this.safeString(order, 'stop_price');
|
|
781
782
|
return this.safeOrder({
|
|
782
783
|
'info': order,
|
|
783
784
|
'symbol': this.safeString(market, 'symbol'),
|
|
@@ -789,12 +790,12 @@ export default class coinbase extends coinbaseRest {
|
|
|
789
790
|
'type': this.safeString(order, 'order_type'),
|
|
790
791
|
'timeInForce': undefined,
|
|
791
792
|
'postOnly': undefined,
|
|
792
|
-
'side': this.
|
|
793
|
-
'price':
|
|
794
|
-
'stopPrice':
|
|
795
|
-
'triggerPrice':
|
|
796
|
-
'amount':
|
|
797
|
-
'cost':
|
|
793
|
+
'side': this.safeString2(order, 'side', 'order_side'),
|
|
794
|
+
'price': this.safeString(order, 'limit_price'),
|
|
795
|
+
'stopPrice': stopPrice,
|
|
796
|
+
'triggerPrice': stopPrice,
|
|
797
|
+
'amount': this.safeString(order, 'cumulative_quantity'),
|
|
798
|
+
'cost': this.omitZero(this.safeString(order, 'filled_value')),
|
|
798
799
|
'average': this.safeString(order, 'avg_price'),
|
|
799
800
|
'filled': this.safeString(order, 'cumulative_quantity'),
|
|
800
801
|
'remaining': this.safeString(order, 'leaves_quantity'),
|
package/js/src/pro/htx.js
CHANGED
|
@@ -929,24 +929,40 @@ export default class htx extends htxRest {
|
|
|
929
929
|
//
|
|
930
930
|
// spot
|
|
931
931
|
//
|
|
932
|
+
// for new order creation
|
|
933
|
+
//
|
|
932
934
|
// {
|
|
933
935
|
// "action":"push",
|
|
934
936
|
// "ch":"orders#btcusdt", // or "orders#*" for global subscriptions
|
|
935
937
|
// "data": {
|
|
938
|
+
// "orderStatus": "submitted",
|
|
939
|
+
// "eventType": "creation",
|
|
940
|
+
// "totalTradeAmount": 0 // for "submitted" order status
|
|
941
|
+
// "orderCreateTime": 1645116048355, // only when `submitted` status
|
|
936
942
|
// "orderSource": "spot-web",
|
|
937
|
-
// "orderCreateTime": 1645116048355,
|
|
938
943
|
// "accountId": 44234548,
|
|
939
944
|
// "orderPrice": "100",
|
|
940
945
|
// "orderSize": "0.05",
|
|
941
946
|
// "symbol": "ethusdt",
|
|
942
947
|
// "type": "buy-limit",
|
|
943
948
|
// "orderId": "478861479986886",
|
|
944
|
-
// "eventType": "creation",
|
|
945
949
|
// "clientOrderId": '',
|
|
946
|
-
// "orderStatus": "submitted"
|
|
947
950
|
// }
|
|
948
951
|
// }
|
|
949
952
|
//
|
|
953
|
+
// for filled order, additional fields are present:
|
|
954
|
+
//
|
|
955
|
+
// "orderStatus": "filled",
|
|
956
|
+
// "eventType": "trade",
|
|
957
|
+
// "totalTradeAmount": "5.9892649859",
|
|
958
|
+
// "tradePrice": "0.676669",
|
|
959
|
+
// "tradeVolume": "8.8511",
|
|
960
|
+
// "tradeTime": 1760427775894,
|
|
961
|
+
// "aggressor": false,
|
|
962
|
+
// "execAmt": "8.8511",
|
|
963
|
+
// "tradeId": 100599712781,
|
|
964
|
+
// "remainAmt": "0",
|
|
965
|
+
//
|
|
950
966
|
// spot wrapped trade
|
|
951
967
|
//
|
|
952
968
|
// {
|
|
@@ -1058,6 +1074,9 @@ export default class htx extends htxRest {
|
|
|
1058
1074
|
'symbol': market['symbol'],
|
|
1059
1075
|
'filled': this.parseNumber(filled),
|
|
1060
1076
|
'remaining': this.parseNumber(remaining),
|
|
1077
|
+
'price': this.safeNumber(data, 'orderPrice'),
|
|
1078
|
+
'amount': this.safeNumber(data, 'orderSize'),
|
|
1079
|
+
'info': data,
|
|
1061
1080
|
};
|
|
1062
1081
|
parsedOrder = order;
|
|
1063
1082
|
}
|
|
@@ -454,8 +454,10 @@ export default class hyperliquid extends hyperliquidRest {
|
|
|
454
454
|
const assetObject = spotAssets[i];
|
|
455
455
|
const marketId = this.safeString(assetObject, 'coin');
|
|
456
456
|
const market = this.safeMarket(marketId, undefined, undefined, 'spot');
|
|
457
|
+
const symbol = market['symbol'];
|
|
457
458
|
const ticker = this.parseWsTicker(assetObject, market);
|
|
458
459
|
parsedTickers.push(ticker);
|
|
460
|
+
this.tickers[symbol] = ticker;
|
|
459
461
|
}
|
|
460
462
|
// perpetuals
|
|
461
463
|
const meta = this.safeDict(rawData, 'meta', {});
|
|
@@ -465,7 +467,9 @@ export default class hyperliquid extends hyperliquidRest {
|
|
|
465
467
|
const data = this.extend(this.safeDict(universe, i, {}), this.safeDict(assetCtxs, i, {}));
|
|
466
468
|
const id = data['name'] + '/USDC:USDC';
|
|
467
469
|
const market = this.safeMarket(id, undefined, undefined, 'swap');
|
|
470
|
+
const symbol = market['symbol'];
|
|
468
471
|
const ticker = this.parseWsTicker(data, market);
|
|
472
|
+
this.tickers[symbol] = ticker;
|
|
469
473
|
parsedTickers.push(ticker);
|
|
470
474
|
}
|
|
471
475
|
const tickers = this.indexBy(parsedTickers, 'symbol');
|
package/js/src/pro/kraken.d.ts
CHANGED
|
@@ -72,7 +72,6 @@ export default class kraken extends krakenRest {
|
|
|
72
72
|
handleTrades(client: Client, message: any): void;
|
|
73
73
|
handleOHLCV(client: Client, message: any, subscription: any): void;
|
|
74
74
|
requestId(): any;
|
|
75
|
-
watchPublic(name: any, symbol: any, params?: {}): Promise<any>;
|
|
76
75
|
/**
|
|
77
76
|
* @method
|
|
78
77
|
* @name kraken#watchTicker
|
|
@@ -153,7 +152,7 @@ export default class kraken extends krakenRest {
|
|
|
153
152
|
* @method
|
|
154
153
|
* @name kraken#watchOHLCV
|
|
155
154
|
* @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
156
|
-
* @see https://docs.kraken.com/api/docs/websocket-
|
|
155
|
+
* @see https://docs.kraken.com/api/docs/websocket-v2/ohlc
|
|
157
156
|
* @param {string} symbol unified symbol of the market to fetch OHLCV data for
|
|
158
157
|
* @param {string} timeframe the length of time each candle represents
|
|
159
158
|
* @param {int} [since] timestamp in ms of the earliest candle to fetch
|
|
@@ -177,7 +176,7 @@ export default class kraken extends krakenRest {
|
|
|
177
176
|
* @method
|
|
178
177
|
* @name kraken#watchMyTrades
|
|
179
178
|
* @description watches information on multiple trades made by the user
|
|
180
|
-
* @see https://docs.kraken.com/api/docs/websocket-
|
|
179
|
+
* @see https://docs.kraken.com/api/docs/websocket-v2/executions
|
|
181
180
|
* @param {string} symbol unified market symbol of the market trades were made in
|
|
182
181
|
* @param {int} [since] the earliest time in ms to fetch trades for
|
|
183
182
|
* @param {int} [limit] the maximum number of trade structures to retrieve
|
|
@@ -187,25 +186,25 @@ export default class kraken extends krakenRest {
|
|
|
187
186
|
watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
188
187
|
handleMyTrades(client: Client, message: any, subscription?: any): void;
|
|
189
188
|
parseWsTrade(trade: any, market?: any): {
|
|
189
|
+
info: any;
|
|
190
190
|
id: string;
|
|
191
191
|
order: string;
|
|
192
|
-
info: any;
|
|
193
192
|
timestamp: number;
|
|
194
193
|
datetime: string;
|
|
195
|
-
symbol:
|
|
194
|
+
symbol: string;
|
|
196
195
|
type: string;
|
|
197
196
|
side: string;
|
|
198
|
-
takerOrMaker:
|
|
197
|
+
takerOrMaker: string;
|
|
199
198
|
price: number;
|
|
200
199
|
amount: number;
|
|
201
|
-
cost:
|
|
200
|
+
cost: number;
|
|
202
201
|
fee: any;
|
|
203
202
|
};
|
|
204
203
|
/**
|
|
205
204
|
* @method
|
|
206
205
|
* @name kraken#watchOrders
|
|
207
|
-
* @see https://docs.kraken.com/api/docs/websocket-v1/openorders
|
|
208
206
|
* @description watches information on multiple orders made by the user
|
|
207
|
+
* @see https://docs.kraken.com/api/docs/websocket-v2/executions
|
|
209
208
|
* @param {string} symbol unified market symbol of the market orders were made in
|
|
210
209
|
* @param {int} [since] the earliest time in ms to fetch orders for
|
|
211
210
|
* @param {int} [limit] the maximum number of orde structures to retrieve
|