@tria-sdk/hyperliquid-core 0.1.0 → 6.45.0-beta
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/api.d.ts +49 -60
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +695 -575
- package/dist/api.js.map +1 -1
- package/dist/client.js +2 -2
- package/dist/exchange.d.ts +9 -2
- package/dist/exchange.d.ts.map +1 -1
- package/dist/exchange.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +473 -24
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/format.d.ts +17 -0
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js +51 -0
- package/dist/utils/format.js.map +1 -1
- package/dist/websocket/WebSocketManager.d.ts +11 -3
- package/dist/websocket/WebSocketManager.d.ts.map +1 -1
- package/dist/websocket/WebSocketManager.js +167 -36
- package/dist/websocket/WebSocketManager.js.map +1 -1
- package/dist/websocket/types.d.ts +59 -2
- package/dist/websocket/types.d.ts.map +1 -1
- package/dist/websocket/types.js +8 -1
- package/dist/websocket/types.js.map +1 -1
- package/package.json +5 -9
package/dist/api.d.ts
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
* Hyperliquid API functions
|
|
3
3
|
* Platform-agnostic data fetching - no web or React Native specific code
|
|
4
4
|
*/
|
|
5
|
-
import type { HyperliquidNetwork, HyperliquidCandleInterval, HyperliquidCandle, HyperliquidSpotTokenDetails, HyperliquidSpotTokenWithMarketData, HyperliquidPerpMarketData, HyperliquidLatestPrice, HyperliquidRecentTrade, HyperliquidLeverageMode, HyperliquidOrderBookSnapshot, HyperliquidTopOfBook, HyperliquidPosition, HyperliquidOpenOrder, HyperliquidUserState, HyperliquidUserFill, HyperliquidUserFundingUpdate } from "./types";
|
|
6
|
-
type HexAddress = `0x${string}`;
|
|
5
|
+
import type { HyperliquidNetwork, HyperliquidCandleInterval, HyperliquidCandle, HyperliquidSpotTokenDetails, HyperliquidSpotTokenWithMarketData, HyperliquidSpotPairWithMarketData, HyperliquidPerpMarketData, HyperliquidLatestPrice, HyperliquidRecentTrade, HyperliquidLeverageMode, HyperliquidOrderBookSnapshot, HyperliquidTopOfBook, HyperliquidPosition, HyperliquidOpenOrder, HyperliquidUserState, HyperliquidUserFill, HyperliquidUserFundingUpdate, HyperliquidUserFees, HyperliquidHistoricalOrder, HyperliquidFrontendOrder, PerpMeta, PerpAssetCtx, LedgerUpdateDeltaType, HexAddress } from "./types";
|
|
7
6
|
/**
|
|
8
7
|
* Retrieves raw spot metadata from Hyperliquid public API
|
|
9
8
|
*/
|
|
@@ -75,6 +74,14 @@ export declare function fetchSpotMetaAndAssetCtxs(network?: HyperliquidNetwork):
|
|
|
75
74
|
* Fetches spot tokens with market data
|
|
76
75
|
*/
|
|
77
76
|
export declare function fetchSpotTokensWithMarketData(network?: HyperliquidNetwork): Promise<HyperliquidSpotTokenWithMarketData[]>;
|
|
77
|
+
/**
|
|
78
|
+
* Fetches spot trading pairs with market data using universe pairs
|
|
79
|
+
* This properly aligns pair data with asset contexts using pair.index
|
|
80
|
+
*
|
|
81
|
+
* Important: spotCtxs is indexed by pair.index (from universe), NOT by array position
|
|
82
|
+
* Each pair in universe has an 'index' field that corresponds to spotCtxs[index]
|
|
83
|
+
*/
|
|
84
|
+
export declare function fetchSpotPairsWithMarketData(network?: HyperliquidNetwork): Promise<HyperliquidSpotPairWithMarketData[]>;
|
|
78
85
|
/**
|
|
79
86
|
* Fetches spot order book for a token
|
|
80
87
|
*/
|
|
@@ -102,62 +109,11 @@ export declare function fetchRecentTrades(coin: string, limit?: number, network?
|
|
|
102
109
|
/**
|
|
103
110
|
* Fetches perp metadata
|
|
104
111
|
*/
|
|
105
|
-
export declare function fetchPerpMeta(network?: HyperliquidNetwork): Promise<
|
|
106
|
-
universe: {
|
|
107
|
-
szDecimals: number;
|
|
108
|
-
name: string;
|
|
109
|
-
maxLeverage: number;
|
|
110
|
-
marginTableId: number;
|
|
111
|
-
onlyIsolated?: true | undefined;
|
|
112
|
-
isDelisted?: true | undefined;
|
|
113
|
-
marginMode?: "strictIsolated" | "noCross" | undefined;
|
|
114
|
-
growthMode?: "enabled" | undefined;
|
|
115
|
-
lastGrowthModeChangeTime?: string | undefined;
|
|
116
|
-
}[];
|
|
117
|
-
marginTables: [number, {
|
|
118
|
-
description: string;
|
|
119
|
-
marginTiers: {
|
|
120
|
-
lowerBound: string;
|
|
121
|
-
maxLeverage: number;
|
|
122
|
-
}[];
|
|
123
|
-
}][];
|
|
124
|
-
collateralToken: number;
|
|
125
|
-
}>;
|
|
112
|
+
export declare function fetchPerpMeta(network?: HyperliquidNetwork): Promise<PerpMeta>;
|
|
126
113
|
/**
|
|
127
114
|
* Fetches perp metadata and asset contexts
|
|
128
115
|
*/
|
|
129
|
-
export declare function fetchPerpMetaAndAssetCtxs(network?: HyperliquidNetwork): Promise<[
|
|
130
|
-
universe: {
|
|
131
|
-
szDecimals: number;
|
|
132
|
-
name: string;
|
|
133
|
-
maxLeverage: number;
|
|
134
|
-
marginTableId: number;
|
|
135
|
-
onlyIsolated?: true | undefined;
|
|
136
|
-
isDelisted?: true | undefined;
|
|
137
|
-
marginMode?: "strictIsolated" | "noCross" | undefined;
|
|
138
|
-
growthMode?: "enabled" | undefined;
|
|
139
|
-
lastGrowthModeChangeTime?: string | undefined;
|
|
140
|
-
}[];
|
|
141
|
-
marginTables: [number, {
|
|
142
|
-
description: string;
|
|
143
|
-
marginTiers: {
|
|
144
|
-
lowerBound: string;
|
|
145
|
-
maxLeverage: number;
|
|
146
|
-
}[];
|
|
147
|
-
}][];
|
|
148
|
-
collateralToken: number;
|
|
149
|
-
}, {
|
|
150
|
-
prevDayPx: string;
|
|
151
|
-
dayNtlVlm: string;
|
|
152
|
-
markPx: string;
|
|
153
|
-
midPx: string | null;
|
|
154
|
-
funding: string;
|
|
155
|
-
openInterest: string;
|
|
156
|
-
premium: string | null;
|
|
157
|
-
oraclePx: string;
|
|
158
|
-
impactPxs: string[] | null;
|
|
159
|
-
dayBaseVlm: string;
|
|
160
|
-
}[]]>;
|
|
116
|
+
export declare function fetchPerpMetaAndAssetCtxs(network?: HyperliquidNetwork): Promise<[PerpMeta, PerpAssetCtx[]]>;
|
|
161
117
|
/**
|
|
162
118
|
* Fetches funding history for a coin
|
|
163
119
|
*/
|
|
@@ -204,7 +160,7 @@ export interface HyperliquidLedgerUpdate {
|
|
|
204
160
|
time: number;
|
|
205
161
|
hash?: string;
|
|
206
162
|
delta: {
|
|
207
|
-
type:
|
|
163
|
+
type: LedgerUpdateDeltaType;
|
|
208
164
|
usdc?: string;
|
|
209
165
|
amount?: string;
|
|
210
166
|
fee?: string;
|
|
@@ -239,6 +195,10 @@ export declare function fetchCandlesticks(params: {
|
|
|
239
195
|
}): Promise<HyperliquidCandle[]>;
|
|
240
196
|
/**
|
|
241
197
|
* Fetches spot candles for a token
|
|
198
|
+
* tokenName can be:
|
|
199
|
+
* - "@{index}" format (e.g., "@107") - passed directly to API
|
|
200
|
+
* - "PURR/USDC" format - passed directly to API
|
|
201
|
+
* - "PURR" format - converted to "PURR/USDC"
|
|
242
202
|
*/
|
|
243
203
|
export declare function fetchSpotCandles(params: {
|
|
244
204
|
tokenName: string;
|
|
@@ -248,11 +208,16 @@ export declare function fetchSpotCandles(params: {
|
|
|
248
208
|
network?: HyperliquidNetwork;
|
|
249
209
|
}): Promise<HyperliquidCandle[]>;
|
|
250
210
|
/**
|
|
251
|
-
* Fetches latest price for a coin
|
|
211
|
+
* Fetches latest price for a coin.
|
|
212
|
+
* @remarks
|
|
213
|
+
* `high24h` and `low24h` are returned as null because the Hyperliquid API
|
|
214
|
+
* does not provide actual 24-hour high/low data in this endpoint.
|
|
252
215
|
*/
|
|
253
216
|
export declare function fetchLatestPrice(coin: string, network?: HyperliquidNetwork): Promise<HyperliquidLatestPrice>;
|
|
254
217
|
/**
|
|
255
|
-
* Fetches user leverage mode for a specific coin
|
|
218
|
+
* Fetches user leverage mode for a specific coin.
|
|
219
|
+
* @throws Error if the API call fails - callers should implement retry logic.
|
|
220
|
+
* @returns The leverage mode, or null if the user has no position for this coin.
|
|
256
221
|
*/
|
|
257
222
|
export declare function fetchUserLeverageMode(userAddress: string, coin: string, network?: HyperliquidNetwork): Promise<HyperliquidLeverageMode | null>;
|
|
258
223
|
/**
|
|
@@ -268,12 +233,36 @@ export declare function fetchUserPositions(userAddress: string, network?: Hyperl
|
|
|
268
233
|
*/
|
|
269
234
|
export declare function fetchUserState(userAddress: string, network?: HyperliquidNetwork): Promise<HyperliquidUserState | null>;
|
|
270
235
|
/**
|
|
271
|
-
* Fetches user's open orders
|
|
236
|
+
* Fetches user's open orders with frontend info (includes trigger prices for TP/SL)
|
|
272
237
|
*/
|
|
273
238
|
export declare function fetchOpenOrders(userAddress: string, network?: HyperliquidNetwork): Promise<HyperliquidOpenOrder[]>;
|
|
274
239
|
/**
|
|
275
240
|
* Resolves asset index for a coin
|
|
276
241
|
*/
|
|
277
242
|
export declare function resolveAssetIndex(coin: string, network?: HyperliquidNetwork): Promise<number>;
|
|
278
|
-
|
|
243
|
+
/**
|
|
244
|
+
* Fetches user fee rates from Hyperliquid
|
|
245
|
+
* Returns taker/maker rates for perps and spot
|
|
246
|
+
*/
|
|
247
|
+
export declare function fetchUserFees(params: {
|
|
248
|
+
userAddress: string;
|
|
249
|
+
network?: HyperliquidNetwork;
|
|
250
|
+
}): Promise<HyperliquidUserFees>;
|
|
251
|
+
/**
|
|
252
|
+
* Fetches user historical orders from Hyperliquid
|
|
253
|
+
* Returns orders with their current status (open, filled, canceled, etc.)
|
|
254
|
+
*/
|
|
255
|
+
export declare function fetchHistoricalOrders(params: {
|
|
256
|
+
user: string;
|
|
257
|
+
limit?: number;
|
|
258
|
+
network?: HyperliquidNetwork;
|
|
259
|
+
}): Promise<HyperliquidHistoricalOrder[]>;
|
|
260
|
+
/**
|
|
261
|
+
* Fetches user frontend open orders from Hyperliquid
|
|
262
|
+
* Returns open orders with additional display information (trigger conditions, TP/SL, etc.)
|
|
263
|
+
*/
|
|
264
|
+
export declare function fetchFrontendOpenOrders(params: {
|
|
265
|
+
user: string;
|
|
266
|
+
network?: HyperliquidNetwork;
|
|
267
|
+
}): Promise<HyperliquidFrontendOrder[]>;
|
|
279
268
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,2BAA2B,EAC3B,kCAAkC,EAClC,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EAEvB,4BAA4B,EAC5B,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|