@tria-sdk/hyperliquid-core 0.1.0

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.
Files changed (41) hide show
  1. package/dist/api.d.ts +279 -0
  2. package/dist/api.d.ts.map +1 -0
  3. package/dist/api.js +914 -0
  4. package/dist/api.js.map +1 -0
  5. package/dist/client.d.ts +6 -0
  6. package/dist/client.d.ts.map +1 -0
  7. package/dist/client.js +35 -0
  8. package/dist/client.js.map +1 -0
  9. package/dist/exchange.d.ts +131 -0
  10. package/dist/exchange.d.ts.map +1 -0
  11. package/dist/exchange.js +6 -0
  12. package/dist/exchange.js.map +1 -0
  13. package/dist/index.d.ts +7 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +7 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/types.d.ts +357 -0
  18. package/dist/types.d.ts.map +1 -0
  19. package/dist/types.js +6 -0
  20. package/dist/types.js.map +1 -0
  21. package/dist/utils/format.d.ts +62 -0
  22. package/dist/utils/format.d.ts.map +1 -0
  23. package/dist/utils/format.js +193 -0
  24. package/dist/utils/format.js.map +1 -0
  25. package/dist/utils/localization.d.ts +93 -0
  26. package/dist/utils/localization.d.ts.map +1 -0
  27. package/dist/utils/localization.js +108 -0
  28. package/dist/utils/localization.js.map +1 -0
  29. package/dist/websocket/WebSocketManager.d.ts +41 -0
  30. package/dist/websocket/WebSocketManager.d.ts.map +1 -0
  31. package/dist/websocket/WebSocketManager.js +295 -0
  32. package/dist/websocket/WebSocketManager.js.map +1 -0
  33. package/dist/websocket/index.d.ts +3 -0
  34. package/dist/websocket/index.d.ts.map +1 -0
  35. package/dist/websocket/index.js +3 -0
  36. package/dist/websocket/index.js.map +1 -0
  37. package/dist/websocket/types.d.ts +98 -0
  38. package/dist/websocket/types.d.ts.map +1 -0
  39. package/dist/websocket/types.js +2 -0
  40. package/dist/websocket/types.js.map +1 -0
  41. package/package.json +28 -0
package/dist/api.d.ts ADDED
@@ -0,0 +1,279 @@
1
+ /**
2
+ * Hyperliquid API functions
3
+ * Platform-agnostic data fetching - no web or React Native specific code
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}`;
7
+ /**
8
+ * Retrieves raw spot metadata from Hyperliquid public API
9
+ */
10
+ export declare function fetchSpotMeta(network?: HyperliquidNetwork): Promise<{
11
+ universe: {
12
+ tokens: number[];
13
+ name: string;
14
+ index: number;
15
+ isCanonical: boolean;
16
+ }[];
17
+ tokens: {
18
+ name: string;
19
+ szDecimals: number;
20
+ weiDecimals: number;
21
+ index: number;
22
+ tokenId: `0x${string}`;
23
+ isCanonical: boolean;
24
+ evmContract: {
25
+ address: `0x${string}`;
26
+ evm_extra_wei_decimals: number;
27
+ } | null;
28
+ fullName: string | null;
29
+ deployerTradingFeeShare: string;
30
+ }[];
31
+ }>;
32
+ /**
33
+ * Fetches token details for a specific token
34
+ */
35
+ export declare function fetchTokenDetails(tokenId: HexAddress, network?: HyperliquidNetwork): Promise<HyperliquidSpotTokenDetails>;
36
+ /**
37
+ * Fetches all mid prices
38
+ */
39
+ export declare function fetchAllMids(network?: HyperliquidNetwork): Promise<Record<string, string>>;
40
+ /**
41
+ * Fetches spot metadata and asset contexts
42
+ */
43
+ export declare function fetchSpotMetaAndAssetCtxs(network?: HyperliquidNetwork): Promise<[{
44
+ universe: {
45
+ tokens: number[];
46
+ name: string;
47
+ index: number;
48
+ isCanonical: boolean;
49
+ }[];
50
+ tokens: {
51
+ name: string;
52
+ szDecimals: number;
53
+ weiDecimals: number;
54
+ index: number;
55
+ tokenId: `0x${string}`;
56
+ isCanonical: boolean;
57
+ evmContract: {
58
+ address: `0x${string}`;
59
+ evm_extra_wei_decimals: number;
60
+ } | null;
61
+ fullName: string | null;
62
+ deployerTradingFeeShare: string;
63
+ }[];
64
+ }, {
65
+ prevDayPx: string;
66
+ dayNtlVlm: string;
67
+ markPx: string;
68
+ midPx: string | null;
69
+ circulatingSupply: string;
70
+ coin: string;
71
+ totalSupply: string;
72
+ dayBaseVlm: string;
73
+ }[]]>;
74
+ /**
75
+ * Fetches spot tokens with market data
76
+ */
77
+ export declare function fetchSpotTokensWithMarketData(network?: HyperliquidNetwork): Promise<HyperliquidSpotTokenWithMarketData[]>;
78
+ /**
79
+ * Fetches spot order book for a token
80
+ */
81
+ export declare function fetchSpotOrderBook(tokenName: string, network?: HyperliquidNetwork): Promise<{
82
+ coin: string;
83
+ time: number;
84
+ levels: [{
85
+ px: string;
86
+ sz: string;
87
+ n: number;
88
+ }[], {
89
+ px: string;
90
+ sz: string;
91
+ n: number;
92
+ }[]];
93
+ } | null>;
94
+ /**
95
+ * Fetches order book snapshot with normalized levels
96
+ */
97
+ export declare function fetchOrderBook(symbol: string, depth?: number, network?: HyperliquidNetwork): Promise<HyperliquidOrderBookSnapshot>;
98
+ /**
99
+ * Fetches recent trades for a coin
100
+ */
101
+ export declare function fetchRecentTrades(coin: string, limit?: number, network?: HyperliquidNetwork): Promise<HyperliquidRecentTrade[]>;
102
+ /**
103
+ * Fetches perp metadata
104
+ */
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
+ }>;
126
+ /**
127
+ * Fetches perp metadata and asset contexts
128
+ */
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
+ }[]]>;
161
+ /**
162
+ * Fetches funding history for a coin
163
+ */
164
+ export declare function fetchFundingHistory(coin: string, startTime: number, network?: HyperliquidNetwork): Promise<{
165
+ coin: string;
166
+ fundingRate: string;
167
+ premium: string;
168
+ time: number;
169
+ }[]>;
170
+ /**
171
+ * Fetches user fills (trade history)
172
+ */
173
+ export declare function fetchUserFills(params: {
174
+ user: string;
175
+ aggregateByTime?: boolean;
176
+ limit?: number;
177
+ network?: HyperliquidNetwork;
178
+ }): Promise<HyperliquidUserFill[]>;
179
+ /**
180
+ * Fetches user fills within a time window (order history)
181
+ */
182
+ export declare function fetchUserFillsByTime(params: {
183
+ user: string;
184
+ startTime: number;
185
+ endTime?: number;
186
+ aggregateByTime?: boolean;
187
+ limit?: number;
188
+ network?: HyperliquidNetwork;
189
+ }): Promise<HyperliquidUserFill[]>;
190
+ /**
191
+ * Fetches user funding ledger updates
192
+ */
193
+ export declare function fetchUserFunding(params: {
194
+ user: string;
195
+ startTime: number;
196
+ endTime?: number | null;
197
+ limit?: number;
198
+ network?: HyperliquidNetwork;
199
+ }): Promise<HyperliquidUserFundingUpdate[]>;
200
+ /**
201
+ * User non-funding ledger update (deposits, withdrawals, transfers)
202
+ */
203
+ export interface HyperliquidLedgerUpdate {
204
+ time: number;
205
+ hash?: string;
206
+ delta: {
207
+ type: string;
208
+ usdc?: string;
209
+ amount?: string;
210
+ fee?: string;
211
+ nonce?: number;
212
+ destination?: string;
213
+ user?: string;
214
+ };
215
+ }
216
+ /**
217
+ * Fetches user non-funding ledger updates (deposits, withdrawals, transfers)
218
+ */
219
+ export declare function fetchUserNonFundingLedgerUpdates(params: {
220
+ user: string;
221
+ startTime: number;
222
+ endTime?: number | null;
223
+ limit?: number;
224
+ network?: HyperliquidNetwork;
225
+ }): Promise<HyperliquidLedgerUpdate[]>;
226
+ /**
227
+ * Fetches perps with market data
228
+ */
229
+ export declare function fetchPerpsWithMarketData(network?: HyperliquidNetwork): Promise<HyperliquidPerpMarketData[]>;
230
+ /**
231
+ * Fetches candlestick data
232
+ */
233
+ export declare function fetchCandlesticks(params: {
234
+ coin: string;
235
+ interval: HyperliquidCandleInterval;
236
+ startTime?: number;
237
+ endTime?: number;
238
+ network?: HyperliquidNetwork;
239
+ }): Promise<HyperliquidCandle[]>;
240
+ /**
241
+ * Fetches spot candles for a token
242
+ */
243
+ export declare function fetchSpotCandles(params: {
244
+ tokenName: string;
245
+ interval: HyperliquidCandleInterval;
246
+ startTime?: number;
247
+ endTime?: number;
248
+ network?: HyperliquidNetwork;
249
+ }): Promise<HyperliquidCandle[]>;
250
+ /**
251
+ * Fetches latest price for a coin
252
+ */
253
+ export declare function fetchLatestPrice(coin: string, network?: HyperliquidNetwork): Promise<HyperliquidLatestPrice>;
254
+ /**
255
+ * Fetches user leverage mode for a specific coin
256
+ */
257
+ export declare function fetchUserLeverageMode(userAddress: string, coin: string, network?: HyperliquidNetwork): Promise<HyperliquidLeverageMode | null>;
258
+ /**
259
+ * Fetches top of book (best bid/ask) for a symbol
260
+ */
261
+ export declare function fetchTopOfBook(symbol: string, network?: HyperliquidNetwork): Promise<HyperliquidTopOfBook>;
262
+ /**
263
+ * Fetches user positions from clearinghouse state
264
+ */
265
+ export declare function fetchUserPositions(userAddress: string, network?: HyperliquidNetwork): Promise<HyperliquidPosition[]>;
266
+ /**
267
+ * Fetches user's clearinghouse state (positions + margin summary)
268
+ */
269
+ export declare function fetchUserState(userAddress: string, network?: HyperliquidNetwork): Promise<HyperliquidUserState | null>;
270
+ /**
271
+ * Fetches user's open orders
272
+ */
273
+ export declare function fetchOpenOrders(userAddress: string, network?: HyperliquidNetwork): Promise<HyperliquidOpenOrder[]>;
274
+ /**
275
+ * Resolves asset index for a coin
276
+ */
277
+ export declare function resolveAssetIndex(coin: string, network?: HyperliquidNetwork): Promise<number>;
278
+ export {};
279
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}