@pear-protocol/hyperliquid-sdk 0.0.74 → 0.0.76
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/dist/clients/kalshi.d.ts +87 -0
- package/dist/clients/positions.d.ts +13 -21
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/useHyperliquidUserFills.d.ts +17 -0
- package/dist/hyperliquid-websocket.d.ts +2 -1
- package/dist/index.d.ts +300 -59
- package/dist/index.js +329 -149
- package/dist/types.d.ts +123 -17
- package/dist/utils/order-helpers.d.ts +57 -0
- package/package.json +1 -1
- package/dist/hooks/useAutoSyncFills.d.ts +0 -19
package/dist/types.d.ts
CHANGED
|
@@ -97,7 +97,52 @@ export interface WatchlistItemDto {
|
|
|
97
97
|
export interface ToggleWatchlistResponseDto {
|
|
98
98
|
items: WatchlistItemDto[];
|
|
99
99
|
}
|
|
100
|
-
export type NotificationCategory = 'TRADE_OPENED_OUTSIDE_PEAR' | 'TRADE_CLOSED_OUTSIDE_PEAR' | 'POSITION_LIQUIDATED' | 'LIMIT_ORDER_FILLED' | 'LIMIT_ORDER_FAILED' | 'TP_ORDER_FILLED' | 'TP_ORDER_FAILED' | 'SL_ORDER_FILLED' | 'SL_ORDER_FAILED';
|
|
100
|
+
export type NotificationCategory = 'TRADE_OPENED_OUTSIDE_PEAR' | 'TRADE_CLOSED_OUTSIDE_PEAR' | 'POSITION_LIQUIDATED' | 'LIMIT_ORDER_FILLED' | 'LIMIT_ORDER_FAILED' | 'TP_ORDER_FILLED' | 'TP_ORDER_FAILED' | 'SL_ORDER_FILLED' | 'SL_ORDER_FAILED' | 'TRIGGER_ORDER_FILLED' | 'TRIGGER_ORDER_FAILED';
|
|
101
|
+
export type TriggerOrderNotificationType = 'PRICE' | 'PRICE_RATIO' | 'WEIGHTED_RATIO' | 'CROSS_ASSET_PRICE' | 'PREDICTION_MARKET_OUTCOME' | 'BTC_DOM';
|
|
102
|
+
export interface TriggerOrderNotificationAsset {
|
|
103
|
+
asset: string;
|
|
104
|
+
side: 'LONG' | 'SHORT';
|
|
105
|
+
weight: number;
|
|
106
|
+
}
|
|
107
|
+
export interface BaseTriggerOrderNotificationParams {
|
|
108
|
+
order_id: string;
|
|
109
|
+
client_id: string;
|
|
110
|
+
order_type: 'TRIGGER';
|
|
111
|
+
trigger_type: TriggerOrderNotificationType;
|
|
112
|
+
usd_value: number;
|
|
113
|
+
leverage: number;
|
|
114
|
+
assets: TriggerOrderNotificationAsset[];
|
|
115
|
+
error?: string;
|
|
116
|
+
}
|
|
117
|
+
export interface PriceTriggerParams extends BaseTriggerOrderNotificationParams {
|
|
118
|
+
trigger_type: 'PRICE';
|
|
119
|
+
direction: 'MORE_THAN' | 'LESS_THAN' | null;
|
|
120
|
+
trigger_value: number | null;
|
|
121
|
+
}
|
|
122
|
+
export interface PriceRatioTriggerParams extends BaseTriggerOrderNotificationParams {
|
|
123
|
+
trigger_type: 'PRICE_RATIO' | 'WEIGHTED_RATIO';
|
|
124
|
+
direction: 'MORE_THAN' | 'LESS_THAN' | null;
|
|
125
|
+
trigger_value: number | null;
|
|
126
|
+
}
|
|
127
|
+
export interface CrossAssetPriceTriggerParams extends BaseTriggerOrderNotificationParams {
|
|
128
|
+
trigger_type: 'CROSS_ASSET_PRICE';
|
|
129
|
+
direction: 'MORE_THAN' | 'LESS_THAN' | null;
|
|
130
|
+
trigger_value: number | null;
|
|
131
|
+
asset_name: string;
|
|
132
|
+
}
|
|
133
|
+
export interface PredictionMarketOutcomeTriggerParams extends BaseTriggerOrderNotificationParams {
|
|
134
|
+
trigger_type: 'PREDICTION_MARKET_OUTCOME';
|
|
135
|
+
trigger_value: string | null;
|
|
136
|
+
market_code: string;
|
|
137
|
+
result: string;
|
|
138
|
+
}
|
|
139
|
+
export interface BtcDomTriggerParams extends BaseTriggerOrderNotificationParams {
|
|
140
|
+
trigger_type: 'BTC_DOM';
|
|
141
|
+
direction: 'MORE_THAN' | 'LESS_THAN' | null;
|
|
142
|
+
trigger_value: number | null;
|
|
143
|
+
current_btc_dominance: number;
|
|
144
|
+
}
|
|
145
|
+
export type TriggerOrderNotificationParams = PriceTriggerParams | PriceRatioTriggerParams | CrossAssetPriceTriggerParams | PredictionMarketOutcomeTriggerParams | BtcDomTriggerParams;
|
|
101
146
|
export interface NotificationDto {
|
|
102
147
|
id: string;
|
|
103
148
|
address: string;
|
|
@@ -216,8 +261,11 @@ export interface PositionAssetDetailDto {
|
|
|
216
261
|
collateralToken?: CollateralToken;
|
|
217
262
|
}
|
|
218
263
|
export interface TpSlThreshold {
|
|
219
|
-
type: 'PERCENTAGE' | 'DOLLAR' | 'POSITION_VALUE';
|
|
264
|
+
type: 'PERCENTAGE' | 'DOLLAR' | 'POSITION_VALUE' | 'PRICE' | 'PRICE_RATIO' | 'WEIGHTED_RATIO';
|
|
220
265
|
value: number;
|
|
266
|
+
isTrailing?: boolean;
|
|
267
|
+
trailingDeltaValue?: number;
|
|
268
|
+
trailingActivationValue?: number;
|
|
221
269
|
}
|
|
222
270
|
/**
|
|
223
271
|
* Open position data structure
|
|
@@ -253,34 +301,91 @@ export interface OrderAssetDto {
|
|
|
253
301
|
/**
|
|
254
302
|
* Order status
|
|
255
303
|
*/
|
|
256
|
-
export type OrderStatus = 'OPEN' | '
|
|
304
|
+
export type OrderStatus = 'OPEN' | 'PROCESSING' | 'EXECUTED' | 'CANCELLED' | 'FAILED' | 'PARTIALLY_FILLED';
|
|
257
305
|
/**
|
|
258
306
|
* Order type
|
|
259
307
|
*/
|
|
260
|
-
export type OrderType = '
|
|
308
|
+
export type OrderType = 'SYNC' | 'MARKET' | 'TRIGGER' | 'TWAP' | 'LADDER' | 'TP' | 'SL' | 'SPOT_MARKET' | 'SPOT_LIMIT' | 'SPOT_TWAP';
|
|
261
309
|
/**
|
|
262
310
|
* TP/SL trigger type
|
|
263
311
|
*/
|
|
264
|
-
export type TpSlTriggerType = 'PERCENTAGE' | 'DOLLAR' | 'POSITION_VALUE';
|
|
265
|
-
|
|
312
|
+
export type TpSlTriggerType = 'PERCENTAGE' | 'DOLLAR' | 'POSITION_VALUE' | 'PRICE' | 'PRICE_RATIO' | 'WEIGHTED_RATIO';
|
|
313
|
+
/**
|
|
314
|
+
* Trigger type for trigger orders
|
|
315
|
+
*/
|
|
316
|
+
export type TriggerType = 'PRICE' | 'PRICE_RATIO' | 'WEIGHTED_RATIO' | 'BTC_DOM' | 'CROSS_ASSET_PRICE' | 'PREDICTION_MARKET_OUTCOME';
|
|
317
|
+
export type OrderDirection = 'MORE_THAN' | 'LESS_THAN';
|
|
318
|
+
/**
|
|
319
|
+
* Market order parameters
|
|
320
|
+
*/
|
|
321
|
+
export interface MarketOrderParameters {
|
|
322
|
+
leverage?: number;
|
|
323
|
+
usdValue: number;
|
|
324
|
+
reduceOnly?: boolean;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Trigger order parameters
|
|
328
|
+
*/
|
|
329
|
+
export interface TriggerOrderParameters {
|
|
330
|
+
leverage: number;
|
|
331
|
+
usdValue: number;
|
|
332
|
+
triggerType: TriggerType;
|
|
333
|
+
triggerValue: number;
|
|
334
|
+
direction: OrderDirection;
|
|
335
|
+
reduceOnly?: boolean;
|
|
336
|
+
assetName?: string;
|
|
337
|
+
marketCode?: string;
|
|
338
|
+
marketName?: string;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* TWAP order parameters
|
|
342
|
+
*/
|
|
343
|
+
export interface TwapOrderParameters {
|
|
344
|
+
leverage: number;
|
|
345
|
+
usdValue: number;
|
|
346
|
+
duration: string;
|
|
347
|
+
intervalSeconds?: number;
|
|
348
|
+
chunkUsdValue: number;
|
|
349
|
+
randomizeExecution?: boolean;
|
|
350
|
+
reduceOnly?: boolean;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* TP/SL order parameters
|
|
354
|
+
*/
|
|
355
|
+
export interface TpSlOrderParameters {
|
|
356
|
+
triggerType: TpSlTriggerType;
|
|
357
|
+
triggerValue: number;
|
|
358
|
+
isTrailing?: boolean;
|
|
359
|
+
trailingDeltaValue?: number;
|
|
360
|
+
trailingActivationValue?: number;
|
|
361
|
+
reduceOnly?: boolean;
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Ladder order parameters
|
|
365
|
+
*/
|
|
366
|
+
export interface LadderOrderParameters {
|
|
367
|
+
leverage: number;
|
|
368
|
+
usdValue: number;
|
|
369
|
+
ratioStart: number;
|
|
370
|
+
ratioEnd: number;
|
|
371
|
+
numberOfLevels: number;
|
|
372
|
+
reduceOnly?: boolean;
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Union type for all order parameters
|
|
376
|
+
*/
|
|
377
|
+
export type OrderParameters = MarketOrderParameters | TriggerOrderParameters | TwapOrderParameters | TpSlOrderParameters | LadderOrderParameters;
|
|
266
378
|
/**
|
|
267
379
|
* Open limit order data structure
|
|
268
380
|
*/
|
|
269
381
|
export interface OpenLimitOrderDto {
|
|
270
382
|
orderId: string;
|
|
271
383
|
address: string;
|
|
272
|
-
clientId
|
|
384
|
+
clientId?: string | null;
|
|
273
385
|
positionId?: string | null;
|
|
274
|
-
|
|
275
|
-
usdValue: number;
|
|
276
|
-
triggerValue?: number | null;
|
|
277
|
-
twapDuration?: string | null;
|
|
278
|
-
tpSlTriggerType?: TpSlTriggerType | null;
|
|
279
|
-
randomizeFlag: boolean;
|
|
280
|
-
reduceOnlyFlag: boolean;
|
|
281
|
-
status: OrderStatus;
|
|
386
|
+
parameters: OrderParameters;
|
|
282
387
|
orderType: OrderType;
|
|
283
|
-
|
|
388
|
+
status: OrderStatus;
|
|
284
389
|
longAssets: OrderAssetDto[];
|
|
285
390
|
shortAssets: OrderAssetDto[];
|
|
286
391
|
createdAt: string;
|
|
@@ -447,7 +552,7 @@ export interface WebSocketMessage {
|
|
|
447
552
|
/**
|
|
448
553
|
* WebSocket response from HyperLiquid native API
|
|
449
554
|
*/
|
|
450
|
-
export type HLChannel = 'webData3' | 'allMids' | 'activeAssetData' | 'candle' | 'spotState' | 'allDexsClearinghouseState' | 'allDexsAssetCtxs';
|
|
555
|
+
export type HLChannel = 'webData3' | 'allMids' | 'activeAssetData' | 'candle' | 'spotState' | 'allDexsClearinghouseState' | 'allDexsAssetCtxs' | 'userFills';
|
|
451
556
|
export interface HLChannelDataMap {
|
|
452
557
|
webData3: WebData3Response;
|
|
453
558
|
allMids: WsAllMidsData;
|
|
@@ -459,6 +564,7 @@ export interface HLChannelDataMap {
|
|
|
459
564
|
};
|
|
460
565
|
allDexsClearinghouseState: AllDexsClearinghouseStateData;
|
|
461
566
|
allDexsAssetCtxs: AllDexsAssetCtxsData;
|
|
567
|
+
userFills: any;
|
|
462
568
|
}
|
|
463
569
|
export interface WebData3UserState {
|
|
464
570
|
agentAddress?: string;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { OpenLimitOrderDto, TpSlTriggerType, TriggerType, OrderDirection } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Helper functions to safely extract values from order parameters
|
|
4
|
+
* based on the order type and parameter structure.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Get leverage from order parameters (available for Market, Trigger, Twap, Ladder orders)
|
|
8
|
+
*/
|
|
9
|
+
export declare function getOrderLeverage(order: OpenLimitOrderDto): number | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Get USD value from order parameters (available for Market, Trigger, Twap, Ladder orders)
|
|
12
|
+
*/
|
|
13
|
+
export declare function getOrderUsdValue(order: OpenLimitOrderDto): number | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Get trigger value from order parameters (available for TP/SL and Trigger orders)
|
|
16
|
+
*/
|
|
17
|
+
export declare function getOrderTriggerValue(order: OpenLimitOrderDto): number | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Get TP/SL trigger type from order parameters (only for TP/SL orders)
|
|
20
|
+
*/
|
|
21
|
+
export declare function getOrderTpSlTriggerType(order: OpenLimitOrderDto): TpSlTriggerType | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Get trigger type from order parameters (for Trigger orders)
|
|
24
|
+
*/
|
|
25
|
+
export declare function getOrderTriggerType(order: OpenLimitOrderDto): TriggerType | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Get order direction from order parameters (for Trigger orders)
|
|
28
|
+
*/
|
|
29
|
+
export declare function getOrderDirection(order: OpenLimitOrderDto): OrderDirection | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Get reduce only flag from order parameters (available for all order types)
|
|
32
|
+
*/
|
|
33
|
+
export declare function getOrderReduceOnly(order: OpenLimitOrderDto): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Get TWAP duration from order parameters (only for TWAP orders)
|
|
36
|
+
*/
|
|
37
|
+
export declare function getOrderTwapDuration(order: OpenLimitOrderDto): string | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Get ladder config from order parameters (only for Ladder orders)
|
|
40
|
+
*/
|
|
41
|
+
export declare function getOrderLadderConfig(order: OpenLimitOrderDto): {
|
|
42
|
+
ratioStart: number;
|
|
43
|
+
ratioEnd: number;
|
|
44
|
+
numberOfLevels: number;
|
|
45
|
+
} | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Check if the order is a BTC Dominance trigger order
|
|
48
|
+
*/
|
|
49
|
+
export declare function isBtcDomOrder(order: OpenLimitOrderDto): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Get trailing info from TP/SL order parameters
|
|
52
|
+
*/
|
|
53
|
+
export declare function getOrderTrailingInfo(order: OpenLimitOrderDto): {
|
|
54
|
+
isTrailing: boolean;
|
|
55
|
+
trailingDeltaValue?: number;
|
|
56
|
+
trailingActivationValue?: number;
|
|
57
|
+
} | undefined;
|
package/package.json
CHANGED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { SyncFillsResponseDto } from '../types';
|
|
2
|
-
export interface AutoSyncFillsOptions {
|
|
3
|
-
baseUrl: string;
|
|
4
|
-
address: string | null;
|
|
5
|
-
intervalMs?: number;
|
|
6
|
-
aggregateByTime?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export interface AutoSyncFillsState {
|
|
9
|
-
lastRunAt: number | null;
|
|
10
|
-
lastResult: SyncFillsResponseDto | null;
|
|
11
|
-
error: string | null;
|
|
12
|
-
isSyncing: boolean;
|
|
13
|
-
triggerSync: () => Promise<void>;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Listens to address changes and periodically syncs user fills
|
|
17
|
-
* Defaults: aggregate=true, interval=60s
|
|
18
|
-
*/
|
|
19
|
-
export declare function useAutoSyncFills(options: AutoSyncFillsOptions): AutoSyncFillsState;
|