@tria-sdk/hyperliquid-core 6.50.0-beta → 6.52.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 +59 -16
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +179 -105
- package/dist/api.js.map +1 -1
- package/dist/client.d.ts +20 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +41 -1
- package/dist/client.js.map +1 -1
- package/dist/exchange.d.ts +0 -2
- package/dist/exchange.d.ts.map +1 -1
- package/dist/exchange.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/errorMapper.d.ts +14 -0
- package/dist/utils/errorMapper.d.ts.map +1 -0
- package/dist/utils/errorMapper.js +357 -0
- package/dist/utils/errorMapper.js.map +1 -0
- package/dist/utils/format.d.ts +1 -0
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js +9 -4
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/localization.d.ts +2 -1
- package/dist/utils/localization.d.ts.map +1 -1
- package/dist/utils/localization.js +2 -0
- package/dist/utils/localization.js.map +1 -1
- package/dist/utils/orderErrorParser.d.ts +29 -0
- package/dist/utils/orderErrorParser.d.ts.map +1 -0
- package/dist/utils/orderErrorParser.js +82 -0
- package/dist/utils/orderErrorParser.js.map +1 -0
- package/dist/websocket/WebSocketManager.d.ts +7 -0
- package/dist/websocket/WebSocketManager.d.ts.map +1 -1
- package/dist/websocket/WebSocketManager.js +84 -2
- package/dist/websocket/WebSocketManager.js.map +1 -1
- package/dist/websocket/types.d.ts +120 -3
- package/dist/websocket/types.d.ts.map +1 -1
- package/dist/websocket/types.js +7 -0
- package/dist/websocket/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
import { ErrorKey } from "./localization";
|
|
2
|
+
/**
|
|
3
|
+
* Hyperliquid error pattern mappings
|
|
4
|
+
* NOTE: Order matters - first match wins. More specific patterns should come before generic ones.
|
|
5
|
+
*/
|
|
6
|
+
const ERROR_PATTERNS = [
|
|
7
|
+
// User/Wallet
|
|
8
|
+
{
|
|
9
|
+
pattern: /cannot use existing user address as agent/i,
|
|
10
|
+
key: ErrorKey.AGENT_USER_ADDRESS,
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
pattern: /extra agent already used/i,
|
|
14
|
+
key: ErrorKey.EXTRA_AGENT_ALREADY_USED,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
pattern: /extra agent does not exist/i,
|
|
18
|
+
key: ErrorKey.AGENT_DOES_NOT_EXIST,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
pattern: /builder has insufficient balance to be approved/i,
|
|
22
|
+
key: ErrorKey.BUILDER_INSUFFICIENT_BALANCE,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
pattern: /user.*does not exist|wallet.*does not exist|api wallet.*does not exist/i,
|
|
26
|
+
key: ErrorKey.USER_NOT_FOUND,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
pattern: /agent.*not.*approved|api wallet not approved/i,
|
|
30
|
+
key: ErrorKey.AGENT_NOT_APPROVED,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
pattern: /agent.*already.*approved/i,
|
|
34
|
+
key: ErrorKey.AGENT_ALREADY_APPROVED,
|
|
35
|
+
},
|
|
36
|
+
{ pattern: /builder.*not.*approved/i, key: ErrorKey.BUILDER_NOT_APPROVED },
|
|
37
|
+
// Order - Price
|
|
38
|
+
{
|
|
39
|
+
pattern: /price must be divisible by tick size|tick size/i,
|
|
40
|
+
key: ErrorKey.ORDER_PRICE_NOT_DIVISIBLE_BY_TICK,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
pattern: /price.*cannot be more than.*away|price.*too far|reference price/i,
|
|
44
|
+
key: ErrorKey.ORDER_PRICE_TOO_FAR,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
pattern: /price.*band|price band exceeded/i,
|
|
48
|
+
key: ErrorKey.PRICE_BAND_EXCEEDED,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
pattern: /invalid.*tp\/sl.*price|invalid trigger price|badtriggerpx/i,
|
|
52
|
+
key: ErrorKey.ORDER_INVALID_TRIGGER_PRICE,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
pattern: /invalid.*price|price.*invalid|price must be/i,
|
|
56
|
+
key: ErrorKey.ORDER_INVALID_PRICE,
|
|
57
|
+
},
|
|
58
|
+
// Order - Size
|
|
59
|
+
{ pattern: /order has zero size|zero.*size/i, key: ErrorKey.ORDER_ZERO_SIZE },
|
|
60
|
+
{
|
|
61
|
+
pattern: /size.*too small|minimum.*size|size.*below|order size must be/i,
|
|
62
|
+
key: ErrorKey.ORDER_SIZE_TOO_SMALL,
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
pattern: /size.*too large|maximum.*size|size.*exceeds|size.*above/i,
|
|
66
|
+
key: ErrorKey.ORDER_SIZE_TOO_LARGE,
|
|
67
|
+
},
|
|
68
|
+
{ pattern: /invalid.*size|size.*invalid/i, key: ErrorKey.ORDER_INVALID_SIZE },
|
|
69
|
+
// Order - Value
|
|
70
|
+
{
|
|
71
|
+
pattern: /minimum value|value.*too small|must have.*value/i,
|
|
72
|
+
key: ErrorKey.ORDER_VALUE_TOO_SMALL,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
pattern: /order value too large|value.*too large|max is \$/i,
|
|
76
|
+
key: ErrorKey.ORDER_VALUE_TOO_LARGE,
|
|
77
|
+
},
|
|
78
|
+
// Order - Type/Trigger
|
|
79
|
+
{
|
|
80
|
+
pattern: /main order cannot be trigger|trigger.*not.*main/i,
|
|
81
|
+
key: ErrorKey.ORDER_TRIGGER_NOT_MAIN,
|
|
82
|
+
},
|
|
83
|
+
// Order - Status
|
|
84
|
+
{
|
|
85
|
+
pattern: /was never placed|already canceled|already filled|never placed.*already canceled.*filled/i,
|
|
86
|
+
key: ErrorKey.ORDER_IS_NOT_PLACED_OR_FULFILLED,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
pattern: /no liquidity available|market order.*no liquidity|marketordernoliquidity/i,
|
|
90
|
+
key: ErrorKey.ORDER_NO_LIQUIDITY,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
pattern: /could not immediately match|cannot immediately match/i,
|
|
94
|
+
key: ErrorKey.ORDER_NO_IMMEDIATE_MATCH,
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
pattern: /insufficient spot balance|insufficientspotbalance/i,
|
|
98
|
+
key: ErrorKey.ORDER_INSUFFICIENT_SPOT_BALANCE,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
pattern: /would.*trigger.*immediately|trigger immediately/i,
|
|
102
|
+
key: ErrorKey.ORDER_WOULD_TRIGGER_IMMEDIATELY,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
pattern: /post.*only.*would.*cross|post only|alo.*would.*cross/i,
|
|
106
|
+
key: ErrorKey.ORDER_POST_ONLY_FAILED,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
pattern: /ioc.*cancel|immediate.*cancel/i,
|
|
110
|
+
key: ErrorKey.ORDER_IOC_CANCELLED,
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
pattern: /max.*orders|too many.*orders|order.*limit/i,
|
|
114
|
+
key: ErrorKey.ORDER_MAX_ORDERS_EXCEEDED,
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
pattern: /duplicate.*cloid|cloid.*already/i,
|
|
118
|
+
key: ErrorKey.ORDER_DUPLICATE_CLOID,
|
|
119
|
+
},
|
|
120
|
+
{ pattern: /invalid.*tif|time.*in.*force/i, key: ErrorKey.ORDER_INVALID_TIF },
|
|
121
|
+
// Position/Margin
|
|
122
|
+
{
|
|
123
|
+
pattern: /cannot update margin for empty position/i,
|
|
124
|
+
key: ErrorKey.POSITION_EMPTY,
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
pattern: /update to isolated margin cannot be zero/i,
|
|
128
|
+
key: ErrorKey.MARGIN_UPDATE_ZERO,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
pattern: /position.*not found|no position|position does not exist/i,
|
|
132
|
+
key: ErrorKey.POSITION_NOT_FOUND,
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
pattern: /insufficient margin|not enough margin|margin.*insufficient/i,
|
|
136
|
+
key: ErrorKey.INSUFFICIENT_MARGIN,
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
pattern: /leverage.*too high|max.*leverage|leverage.*exceeds|leverage.*above/i,
|
|
140
|
+
key: ErrorKey.LEVERAGE_TOO_HIGH,
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
pattern: /leverage.*too low|min.*leverage|leverage.*below/i,
|
|
144
|
+
key: ErrorKey.LEVERAGE_TOO_LOW,
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
pattern: /invalid.*leverage|leverage.*invalid/i,
|
|
148
|
+
key: ErrorKey.INVALID_LEVERAGE,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
pattern: /margin.*mode|cross.*isolated|cannot change margin/i,
|
|
152
|
+
key: ErrorKey.MARGIN_MODE_CHANGE_FAILED,
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
pattern: /does not use isolated margin|not.*isolated margin|position.*not.*isolated/i,
|
|
156
|
+
key: ErrorKey.NOT_ISOLATED_MARGIN,
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
pattern: /reduce.*only|reduceonly.*fail|reduce only would increase/i,
|
|
160
|
+
key: ErrorKey.REDUCE_ONLY_FAILED,
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
pattern: /position.*exceed.*margin tier|perpmaxposition|margin tier limit.*current leverage/i,
|
|
164
|
+
key: ErrorKey.POSITION_EXCEEDS_MARGIN_TIER,
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
pattern: /open interest.*capped|increase.*open interest.*capped|positionincrease.*openinterestcap|positionflip.*openinterestcap/i,
|
|
168
|
+
key: ErrorKey.OPEN_INTEREST_AT_CAP,
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
pattern: /increase.*open interest.*quickly|openinterestincrease/i,
|
|
172
|
+
key: ErrorKey.OPEN_INTEREST_INCREASE_TOO_FAST,
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
pattern: /price.*aggressive.*oracle.*open interest cap|tooaggressive.*openinterestcap/i,
|
|
176
|
+
key: ErrorKey.PRICE_TOO_AGGRESSIVE_AT_OI_CAP,
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
pattern: /position.*limit|max.*position|position.*size.*limit/i,
|
|
180
|
+
key: ErrorKey.POSITION_LIMIT_EXCEEDED,
|
|
181
|
+
},
|
|
182
|
+
// Asset
|
|
183
|
+
{
|
|
184
|
+
pattern: /invalid asset|unknown asset|asset not found|asset.*does not exist|asset.*out of range|asset.*is out of range/i,
|
|
185
|
+
key: ErrorKey.INVALID_ASSET,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
pattern: /not.*tradeable|cannot.*trade|trading.*disabled/i,
|
|
189
|
+
key: ErrorKey.ASSET_NOT_TRADEABLE,
|
|
190
|
+
},
|
|
191
|
+
{ pattern: /delisted|asset.*removed/i, key: ErrorKey.ASSET_DELISTED },
|
|
192
|
+
// Transfer/Withdraw
|
|
193
|
+
{
|
|
194
|
+
pattern: /must deposit before performing actions/i,
|
|
195
|
+
key: ErrorKey.DEPOSIT_REQUIRED,
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
pattern: /withdrawal amount cannot be zero/i,
|
|
199
|
+
key: ErrorKey.WITHDRAW_ZERO_AMOUNT,
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
pattern: /withdrawal is smaller than fee/i,
|
|
203
|
+
key: ErrorKey.WITHDRAW_SMALLER_THAN_FEE,
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
pattern: /error withdrawing from bridge/i,
|
|
207
|
+
key: ErrorKey.WITHDRAW_BRIDGE_ERROR,
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
pattern: /transfer.*failed|cannot transfer/i,
|
|
211
|
+
key: ErrorKey.TRANSFER_FAILED,
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
pattern: /withdraw.*failed|cannot withdraw/i,
|
|
215
|
+
key: ErrorKey.WITHDRAW_FAILED,
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
pattern: /withdraw.*too small|minimum.*withdraw/i,
|
|
219
|
+
key: ErrorKey.WITHDRAW_TOO_SMALL,
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
pattern: /withdraw.*too large|maximum.*withdraw|exceeds.*withdraw/i,
|
|
223
|
+
key: ErrorKey.WITHDRAW_TOO_LARGE,
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
pattern: /invalid.*destination|destination.*invalid/i,
|
|
227
|
+
key: ErrorKey.INVALID_DESTINATION,
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
pattern: /same.*address|self.*transfer|cannot send to yourself/i,
|
|
231
|
+
key: ErrorKey.SAME_ADDRESS_TRANSFER,
|
|
232
|
+
},
|
|
233
|
+
// Vault
|
|
234
|
+
{
|
|
235
|
+
pattern: /vault deposits must be at least/i,
|
|
236
|
+
key: ErrorKey.VAULT_DEPOSIT_TOO_SMALL,
|
|
237
|
+
},
|
|
238
|
+
{ pattern: /vault not registered/i, key: ErrorKey.VAULT_NOT_REGISTERED },
|
|
239
|
+
{
|
|
240
|
+
pattern: /insufficient vault equity for withdrawal/i,
|
|
241
|
+
key: ErrorKey.VAULT_INSUFFICIENT_EQUITY,
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
pattern: /vault.*not found|unknown vault|vault.*does not exist/i,
|
|
245
|
+
key: ErrorKey.VAULT_NOT_FOUND,
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
pattern: /vault.*deposit.*fail|cannot deposit.*vault/i,
|
|
249
|
+
key: ErrorKey.VAULT_DEPOSIT_FAILED,
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
pattern: /vault.*withdraw.*fail|cannot withdraw.*vault/i,
|
|
253
|
+
key: ErrorKey.VAULT_WITHDRAW_FAILED,
|
|
254
|
+
},
|
|
255
|
+
{ pattern: /vault.*locked|vault.*lock/i, key: ErrorKey.VAULT_LOCKED },
|
|
256
|
+
// TWAP
|
|
257
|
+
{
|
|
258
|
+
pattern: /twap order value too small/i,
|
|
259
|
+
key: ErrorKey.TWAP_VALUE_TOO_SMALL,
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
pattern: /reduce-only twap order would increase position/i,
|
|
263
|
+
key: ErrorKey.TWAP_REDUCE_ONLY_WOULD_INCREASE,
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
pattern: /twap was never placed, already canceled, or filled/i,
|
|
267
|
+
key: ErrorKey.TWAP_NOT_PLACED_OR_FULFILLED,
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
pattern: /twap.*not found|unknown twap|twap.*does not exist/i,
|
|
271
|
+
key: ErrorKey.TWAP_NOT_FOUND,
|
|
272
|
+
},
|
|
273
|
+
{ pattern: /twap.*already.*cancel/i, key: ErrorKey.TWAP_ALREADY_CANCELLED },
|
|
274
|
+
{
|
|
275
|
+
pattern: /twap.*already.*complete|twap.*finished/i,
|
|
276
|
+
key: ErrorKey.TWAP_ALREADY_COMPLETED,
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
pattern: /twap.*duration|invalid.*duration/i,
|
|
280
|
+
key: ErrorKey.TWAP_INVALID_DURATION,
|
|
281
|
+
},
|
|
282
|
+
{ pattern: /twap.*size.*small/i, key: ErrorKey.TWAP_SIZE_TOO_SMALL },
|
|
283
|
+
// Schedule Cancel
|
|
284
|
+
{
|
|
285
|
+
pattern: /enough volume traded|volume.*required|scheduled cancel.*volume/i,
|
|
286
|
+
key: ErrorKey.SCHEDULE_CANCEL_INSUFFICIENT_VOLUME,
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
pattern: /schedule.*cancel.*time|invalid.*cancel.*time/i,
|
|
290
|
+
key: ErrorKey.SCHEDULE_CANCEL_INVALID_TIME,
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
pattern: /schedule.*too far|cancel.*time.*too far/i,
|
|
294
|
+
key: ErrorKey.SCHEDULE_CANCEL_TOO_FAR,
|
|
295
|
+
},
|
|
296
|
+
// Spot/Token
|
|
297
|
+
{
|
|
298
|
+
pattern: /token.*not found|unknown token|invalid token/i,
|
|
299
|
+
key: ErrorKey.INVALID_TOKEN,
|
|
300
|
+
},
|
|
301
|
+
{ pattern: /spot.*dusting|dusting/i, key: ErrorKey.SPOT_DUSTING_ERROR },
|
|
302
|
+
// Signature/Wallet
|
|
303
|
+
{
|
|
304
|
+
pattern: /mainnet.*testnet.*require.*different.*signature|testnet.*mainnet.*require.*different.*signature|require.*different.*signature/i,
|
|
305
|
+
key: ErrorKey.SIGNATURE_NETWORK_MISMATCH,
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
pattern: /failed to sign typed data/i,
|
|
309
|
+
key: ErrorKey.FAILED_TO_SIGN_TYPED_DATA,
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
pattern: /invalid nonce:.*duplicate nonce/i,
|
|
313
|
+
key: ErrorKey.INVALID_NONCE_DUPLICATE,
|
|
314
|
+
},
|
|
315
|
+
// Validation
|
|
316
|
+
{ pattern: /percentage is invalid/i, key: ErrorKey.INVALID_PERCENTAGE },
|
|
317
|
+
{ pattern: /invalid number of decimals/i, key: ErrorKey.INVALID_DECIMALS },
|
|
318
|
+
{
|
|
319
|
+
pattern: /invalid.*parameter|bad.*parameter|parameter.*invalid/i,
|
|
320
|
+
key: ErrorKey.INVALID_PARAMETER,
|
|
321
|
+
},
|
|
322
|
+
// Operations
|
|
323
|
+
{
|
|
324
|
+
pattern: /cannot cancel|cancel.*not.*allowed/i,
|
|
325
|
+
key: ErrorKey.CANCEL_NOT_ALLOWED,
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
pattern: /cannot modify|modify.*not.*allowed|modification.*failed|modify.*canceled.*filled/i,
|
|
329
|
+
key: ErrorKey.MODIFY_NOT_ALLOWED,
|
|
330
|
+
},
|
|
331
|
+
// Builder/Fees
|
|
332
|
+
{ pattern: /builder.*fee|fee.*rate/i, key: ErrorKey.BUILDER_FEE_ERROR },
|
|
333
|
+
// Network/Request
|
|
334
|
+
{
|
|
335
|
+
pattern: /timeout.*exceeded|timeout of \d+.*exceeded/i,
|
|
336
|
+
key: ErrorKey.REQUEST_TIMEOUT,
|
|
337
|
+
},
|
|
338
|
+
];
|
|
339
|
+
/**
|
|
340
|
+
* Maps a Hyperliquid error message to a localization key
|
|
341
|
+
*/
|
|
342
|
+
export function mapHyperliquidError(error) {
|
|
343
|
+
const message = error.message || "";
|
|
344
|
+
for (const mapping of ERROR_PATTERNS) {
|
|
345
|
+
if (mapping.pattern.test(message)) {
|
|
346
|
+
return {
|
|
347
|
+
key: mapping.key,
|
|
348
|
+
message,
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
return {
|
|
353
|
+
key: ErrorKey.UNKNOWN,
|
|
354
|
+
message,
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
//# sourceMappingURL=errorMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorMapper.js","sourceRoot":"","sources":["../../src/utils/errorMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAY1C;;;GAGG;AACH,MAAM,cAAc,GAA8B;IAChD,cAAc;IACd;QACE,OAAO,EAAE,4CAA4C;QACrD,GAAG,EAAE,QAAQ,CAAC,kBAAkB;KACjC;IACD;QACE,OAAO,EAAE,2BAA2B;QACpC,GAAG,EAAE,QAAQ,CAAC,wBAAwB;KACvC;IACD;QACE,OAAO,EAAE,6BAA6B;QACtC,GAAG,EAAE,QAAQ,CAAC,oBAAoB;KACnC;IACD;QACE,OAAO,EAAE,kDAAkD;QAC3D,GAAG,EAAE,QAAQ,CAAC,4BAA4B;KAC3C;IACD;QACE,OAAO,EACL,yEAAyE;QAC3E,GAAG,EAAE,QAAQ,CAAC,cAAc;KAC7B;IACD;QACE,OAAO,EAAE,+CAA+C;QACxD,GAAG,EAAE,QAAQ,CAAC,kBAAkB;KACjC;IACD;QACE,OAAO,EAAE,2BAA2B;QACpC,GAAG,EAAE,QAAQ,CAAC,sBAAsB;KACrC;IACD,EAAE,OAAO,EAAE,yBAAyB,EAAE,GAAG,EAAE,QAAQ,CAAC,oBAAoB,EAAE;IAE1E,gBAAgB;IAChB;QACE,OAAO,EAAE,iDAAiD;QAC1D,GAAG,EAAE,QAAQ,CAAC,iCAAiC;KAChD;IACD;QACE,OAAO,EAAE,kEAAkE;QAC3E,GAAG,EAAE,QAAQ,CAAC,mBAAmB;KAClC;IACD;QACE,OAAO,EAAE,kCAAkC;QAC3C,GAAG,EAAE,QAAQ,CAAC,mBAAmB;KAClC;IACD;QACE,OAAO,EAAE,4DAA4D;QACrE,GAAG,EAAE,QAAQ,CAAC,2BAA2B;KAC1C;IACD;QACE,OAAO,EAAE,8CAA8C;QACvD,GAAG,EAAE,QAAQ,CAAC,mBAAmB;KAClC;IAED,eAAe;IACf,EAAE,OAAO,EAAE,iCAAiC,EAAE,GAAG,EAAE,QAAQ,CAAC,eAAe,EAAE;IAC7E;QACE,OAAO,EAAE,+DAA+D;QACxE,GAAG,EAAE,QAAQ,CAAC,oBAAoB;KACnC;IACD;QACE,OAAO,EAAE,0DAA0D;QACnE,GAAG,EAAE,QAAQ,CAAC,oBAAoB;KACnC;IACD,EAAE,OAAO,EAAE,8BAA8B,EAAE,GAAG,EAAE,QAAQ,CAAC,kBAAkB,EAAE;IAE7E,gBAAgB;IAChB;QACE,OAAO,EAAE,kDAAkD;QAC3D,GAAG,EAAE,QAAQ,CAAC,qBAAqB;KACpC;IACD;QACE,OAAO,EAAE,mDAAmD;QAC5D,GAAG,EAAE,QAAQ,CAAC,qBAAqB;KACpC;IAED,uBAAuB;IACvB;QACE,OAAO,EAAE,kDAAkD;QAC3D,GAAG,EAAE,QAAQ,CAAC,sBAAsB;KACrC;IAED,iBAAiB;IACjB;QACE,OAAO,EACL,0FAA0F;QAC5F,GAAG,EAAE,QAAQ,CAAC,gCAAgC;KAC/C;IACD;QACE,OAAO,EACL,2EAA2E;QAC7E,GAAG,EAAE,QAAQ,CAAC,kBAAkB;KACjC;IACD;QACE,OAAO,EAAE,uDAAuD;QAChE,GAAG,EAAE,QAAQ,CAAC,wBAAwB;KACvC;IACD;QACE,OAAO,EAAE,oDAAoD;QAC7D,GAAG,EAAE,QAAQ,CAAC,+BAA+B;KAC9C;IACD;QACE,OAAO,EAAE,kDAAkD;QAC3D,GAAG,EAAE,QAAQ,CAAC,+BAA+B;KAC9C;IACD;QACE,OAAO,EAAE,uDAAuD;QAChE,GAAG,EAAE,QAAQ,CAAC,sBAAsB;KACrC;IACD;QACE,OAAO,EAAE,gCAAgC;QACzC,GAAG,EAAE,QAAQ,CAAC,mBAAmB;KAClC;IACD;QACE,OAAO,EAAE,4CAA4C;QACrD,GAAG,EAAE,QAAQ,CAAC,yBAAyB;KACxC;IACD;QACE,OAAO,EAAE,kCAAkC;QAC3C,GAAG,EAAE,QAAQ,CAAC,qBAAqB;KACpC;IACD,EAAE,OAAO,EAAE,+BAA+B,EAAE,GAAG,EAAE,QAAQ,CAAC,iBAAiB,EAAE;IAE7E,kBAAkB;IAClB;QACE,OAAO,EAAE,0CAA0C;QACnD,GAAG,EAAE,QAAQ,CAAC,cAAc;KAC7B;IACD;QACE,OAAO,EAAE,2CAA2C;QACpD,GAAG,EAAE,QAAQ,CAAC,kBAAkB;KACjC;IACD;QACE,OAAO,EAAE,0DAA0D;QACnE,GAAG,EAAE,QAAQ,CAAC,kBAAkB;KACjC;IACD;QACE,OAAO,EAAE,6DAA6D;QACtE,GAAG,EAAE,QAAQ,CAAC,mBAAmB;KAClC;IACD;QACE,OAAO,EACL,qEAAqE;QACvE,GAAG,EAAE,QAAQ,CAAC,iBAAiB;KAChC;IACD;QACE,OAAO,EAAE,kDAAkD;QAC3D,GAAG,EAAE,QAAQ,CAAC,gBAAgB;KAC/B;IACD;QACE,OAAO,EAAE,sCAAsC;QAC/C,GAAG,EAAE,QAAQ,CAAC,gBAAgB;KAC/B;IACD;QACE,OAAO,EAAE,oDAAoD;QAC7D,GAAG,EAAE,QAAQ,CAAC,yBAAyB;KACxC;IACD;QACE,OAAO,EACL,4EAA4E;QAC9E,GAAG,EAAE,QAAQ,CAAC,mBAAmB;KAClC;IACD;QACE,OAAO,EAAE,2DAA2D;QACpE,GAAG,EAAE,QAAQ,CAAC,kBAAkB;KACjC;IACD;QACE,OAAO,EACL,oFAAoF;QACtF,GAAG,EAAE,QAAQ,CAAC,4BAA4B;KAC3C;IACD;QACE,OAAO,EACL,wHAAwH;QAC1H,GAAG,EAAE,QAAQ,CAAC,oBAAoB;KACnC;IACD;QACE,OAAO,EAAE,wDAAwD;QACjE,GAAG,EAAE,QAAQ,CAAC,+BAA+B;KAC9C;IACD;QACE,OAAO,EACL,8EAA8E;QAChF,GAAG,EAAE,QAAQ,CAAC,8BAA8B;KAC7C;IACD;QACE,OAAO,EAAE,sDAAsD;QAC/D,GAAG,EAAE,QAAQ,CAAC,uBAAuB;KACtC;IAED,QAAQ;IACR;QACE,OAAO,EACL,+GAA+G;QACjH,GAAG,EAAE,QAAQ,CAAC,aAAa;KAC5B;IACD;QACE,OAAO,EAAE,iDAAiD;QAC1D,GAAG,EAAE,QAAQ,CAAC,mBAAmB;KAClC;IACD,EAAE,OAAO,EAAE,0BAA0B,EAAE,GAAG,EAAE,QAAQ,CAAC,cAAc,EAAE;IAErE,oBAAoB;IACpB;QACE,OAAO,EAAE,yCAAyC;QAClD,GAAG,EAAE,QAAQ,CAAC,gBAAgB;KAC/B;IACD;QACE,OAAO,EAAE,mCAAmC;QAC5C,GAAG,EAAE,QAAQ,CAAC,oBAAoB;KACnC;IACD;QACE,OAAO,EAAE,iCAAiC;QAC1C,GAAG,EAAE,QAAQ,CAAC,yBAAyB;KACxC;IACD;QACE,OAAO,EAAE,gCAAgC;QACzC,GAAG,EAAE,QAAQ,CAAC,qBAAqB;KACpC;IACD;QACE,OAAO,EAAE,mCAAmC;QAC5C,GAAG,EAAE,QAAQ,CAAC,eAAe;KAC9B;IACD;QACE,OAAO,EAAE,mCAAmC;QAC5C,GAAG,EAAE,QAAQ,CAAC,eAAe;KAC9B;IACD;QACE,OAAO,EAAE,wCAAwC;QACjD,GAAG,EAAE,QAAQ,CAAC,kBAAkB;KACjC;IACD;QACE,OAAO,EAAE,0DAA0D;QACnE,GAAG,EAAE,QAAQ,CAAC,kBAAkB;KACjC;IACD;QACE,OAAO,EAAE,4CAA4C;QACrD,GAAG,EAAE,QAAQ,CAAC,mBAAmB;KAClC;IACD;QACE,OAAO,EAAE,uDAAuD;QAChE,GAAG,EAAE,QAAQ,CAAC,qBAAqB;KACpC;IAED,QAAQ;IACR;QACE,OAAO,EAAE,kCAAkC;QAC3C,GAAG,EAAE,QAAQ,CAAC,uBAAuB;KACtC;IACD,EAAE,OAAO,EAAE,uBAAuB,EAAE,GAAG,EAAE,QAAQ,CAAC,oBAAoB,EAAE;IACxE;QACE,OAAO,EAAE,2CAA2C;QACpD,GAAG,EAAE,QAAQ,CAAC,yBAAyB;KACxC;IACD;QACE,OAAO,EAAE,uDAAuD;QAChE,GAAG,EAAE,QAAQ,CAAC,eAAe;KAC9B;IACD;QACE,OAAO,EAAE,6CAA6C;QACtD,GAAG,EAAE,QAAQ,CAAC,oBAAoB;KACnC;IACD;QACE,OAAO,EAAE,+CAA+C;QACxD,GAAG,EAAE,QAAQ,CAAC,qBAAqB;KACpC;IACD,EAAE,OAAO,EAAE,4BAA4B,EAAE,GAAG,EAAE,QAAQ,CAAC,YAAY,EAAE;IAErE,OAAO;IACP;QACE,OAAO,EAAE,6BAA6B;QACtC,GAAG,EAAE,QAAQ,CAAC,oBAAoB;KACnC;IACD;QACE,OAAO,EAAE,iDAAiD;QAC1D,GAAG,EAAE,QAAQ,CAAC,+BAA+B;KAC9C;IACD;QACE,OAAO,EAAE,qDAAqD;QAC9D,GAAG,EAAE,QAAQ,CAAC,4BAA4B;KAC3C;IACD;QACE,OAAO,EAAE,oDAAoD;QAC7D,GAAG,EAAE,QAAQ,CAAC,cAAc;KAC7B;IACD,EAAE,OAAO,EAAE,wBAAwB,EAAE,GAAG,EAAE,QAAQ,CAAC,sBAAsB,EAAE;IAC3E;QACE,OAAO,EAAE,yCAAyC;QAClD,GAAG,EAAE,QAAQ,CAAC,sBAAsB;KACrC;IACD;QACE,OAAO,EAAE,mCAAmC;QAC5C,GAAG,EAAE,QAAQ,CAAC,qBAAqB;KACpC;IACD,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,CAAC,mBAAmB,EAAE;IAEpE,kBAAkB;IAClB;QACE,OAAO,EAAE,iEAAiE;QAC1E,GAAG,EAAE,QAAQ,CAAC,mCAAmC;KAClD;IACD;QACE,OAAO,EAAE,+CAA+C;QACxD,GAAG,EAAE,QAAQ,CAAC,4BAA4B;KAC3C;IACD;QACE,OAAO,EAAE,0CAA0C;QACnD,GAAG,EAAE,QAAQ,CAAC,uBAAuB;KACtC;IAED,aAAa;IACb;QACE,OAAO,EAAE,+CAA+C;QACxD,GAAG,EAAE,QAAQ,CAAC,aAAa;KAC5B;IACD,EAAE,OAAO,EAAE,wBAAwB,EAAE,GAAG,EAAE,QAAQ,CAAC,kBAAkB,EAAE;IAEvE,mBAAmB;IACnB;QACE,OAAO,EACL,gIAAgI;QAClI,GAAG,EAAE,QAAQ,CAAC,0BAA0B;KACzC;IACD;QACE,OAAO,EAAE,4BAA4B;QACrC,GAAG,EAAE,QAAQ,CAAC,yBAAyB;KACxC;IACD;QACE,OAAO,EAAE,kCAAkC;QAC3C,GAAG,EAAE,QAAQ,CAAC,uBAAuB;KACtC;IAED,aAAa;IACb,EAAE,OAAO,EAAE,wBAAwB,EAAE,GAAG,EAAE,QAAQ,CAAC,kBAAkB,EAAE;IACvE,EAAE,OAAO,EAAE,6BAA6B,EAAE,GAAG,EAAE,QAAQ,CAAC,gBAAgB,EAAE;IAC1E;QACE,OAAO,EAAE,uDAAuD;QAChE,GAAG,EAAE,QAAQ,CAAC,iBAAiB;KAChC;IAED,aAAa;IACb;QACE,OAAO,EAAE,qCAAqC;QAC9C,GAAG,EAAE,QAAQ,CAAC,kBAAkB;KACjC;IACD;QACE,OAAO,EACL,mFAAmF;QACrF,GAAG,EAAE,QAAQ,CAAC,kBAAkB;KACjC;IAED,eAAe;IACf,EAAE,OAAO,EAAE,yBAAyB,EAAE,GAAG,EAAE,QAAQ,CAAC,iBAAiB,EAAE;IAEvE,kBAAkB;IAClB;QACE,OAAO,EAAE,6CAA6C;QACtD,GAAG,EAAE,QAAQ,CAAC,eAAe;KAC9B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IAEpC,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO;gBACL,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO;aACR,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,OAAO;QACrB,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/dist/utils/format.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Format utilities for Hyperliquid order prices and sizes
|
|
3
3
|
* Based on: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/tick-and-lot-size
|
|
4
4
|
*/
|
|
5
|
+
export declare function cutDecimals(num: number, decimals?: number): number;
|
|
5
6
|
/**
|
|
6
7
|
* Format size for ORDER SUBMISSION according to szDecimals
|
|
7
8
|
* Sizes are rounded to the szDecimals of that asset
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAUxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,UAAQ,GACb,MAAM,CA0CR;AAoCD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,UAAQ,GACb,OAAO,CAWT;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAWxE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAYtE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAQpE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAG7D;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAUxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,UAAQ,GACb,MAAM,CA0CR;AAoCD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,UAAQ,GACb,OAAO,CAWT;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAWxE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAYtE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAQpE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAYrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAClC,QAAQ,SAAI,GACX,MAAM,CAKR;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAClC,UAAU,EAAE,MAAM,EAClB,MAAM,UAAQ,GACb,MAAM,CAaR;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACjC,UAAU,EAAE,MAAM,GACjB,MAAM,CAaR;AAED,eAAO,MAAM,GAAG;;;;;CAKf,CAAC"}
|
package/dist/utils/format.js
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
* Format utilities for Hyperliquid order prices and sizes
|
|
3
3
|
* Based on: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/tick-and-lot-size
|
|
4
4
|
*/
|
|
5
|
+
export function cutDecimals(num, decimals = 0) {
|
|
6
|
+
const multiplier = Math.pow(10, decimals);
|
|
7
|
+
return Math.floor(num * multiplier) / multiplier;
|
|
8
|
+
}
|
|
5
9
|
/**
|
|
6
10
|
* Format size for ORDER SUBMISSION according to szDecimals
|
|
7
11
|
* Sizes are rounded to the szDecimals of that asset
|
|
@@ -15,7 +19,7 @@ export function formatOrderSize(size, szDecimals) {
|
|
|
15
19
|
throw new Error("Invalid size value");
|
|
16
20
|
}
|
|
17
21
|
// Round to szDecimals
|
|
18
|
-
const rounded =
|
|
22
|
+
const rounded = cutDecimals(size, szDecimals);
|
|
19
23
|
// Convert to string and remove trailing zeros
|
|
20
24
|
return removeTrailingZeros(rounded.toString());
|
|
21
25
|
}
|
|
@@ -53,13 +57,13 @@ export function formatOrderPrice(price, szDecimals, isSpot = false) {
|
|
|
53
57
|
// proceed with max decimal constraint to avoid infinite recursion
|
|
54
58
|
if (countSignificantFigures(rounded) > 5) {
|
|
55
59
|
const actualDecimals = Math.min(rounded.toString().split(".")[1]?.length ?? 0, maxDecimals);
|
|
56
|
-
return removeTrailingZeros(rounded
|
|
60
|
+
return removeTrailingZeros(cutDecimals(rounded, Math.max(0, actualDecimals)).toString());
|
|
57
61
|
}
|
|
58
62
|
return formatOrderPrice(rounded, szDecimals, isSpot);
|
|
59
63
|
}
|
|
60
64
|
// Apply max decimal constraint
|
|
61
65
|
const actualDecimals = Math.min(decPart.length, maxDecimals);
|
|
62
|
-
const rounded =
|
|
66
|
+
const rounded = cutDecimals(price, actualDecimals);
|
|
63
67
|
// Remove trailing zeros
|
|
64
68
|
return removeTrailingZeros(rounded.toString());
|
|
65
69
|
}
|
|
@@ -174,12 +178,13 @@ export function formatUSD(amount) {
|
|
|
174
178
|
const value = typeof amount === "string" ? parseFloat(amount) : amount ?? 0;
|
|
175
179
|
if (!Number.isFinite(value))
|
|
176
180
|
return "-";
|
|
181
|
+
const normalizedValue = Object.is(value, -0) ? 0 : value;
|
|
177
182
|
return new Intl.NumberFormat("en-US", {
|
|
178
183
|
style: "currency",
|
|
179
184
|
currency: "USD",
|
|
180
185
|
minimumFractionDigits: 2,
|
|
181
186
|
maximumFractionDigits: 2,
|
|
182
|
-
}).format(
|
|
187
|
+
}).format(normalizedValue);
|
|
183
188
|
}
|
|
184
189
|
/**
|
|
185
190
|
* Format a percentage for DISPLAY
|
package/dist/utils/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,UAAkB;IAC9D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,sBAAsB;IACtB,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,6 +88,7 @@ export declare enum ErrorKey {
|
|
|
88
88
|
INVALID_PERCENTAGE = "ERROR_HL_INVALID_PERCENTAGE",
|
|
89
89
|
CANCEL_NOT_ALLOWED = "ERROR_HL_CANCEL_NOT_ALLOWED",
|
|
90
90
|
MODIFY_NOT_ALLOWED = "ERROR_HL_MODIFY_NOT_ALLOWED",
|
|
91
|
-
BUILDER_FEE_ERROR = "ERROR_HL_BUILDER_FEE_ERROR"
|
|
91
|
+
BUILDER_FEE_ERROR = "ERROR_HL_BUILDER_FEE_ERROR",
|
|
92
|
+
REQUEST_TIMEOUT = "ERROR_HL_REQUEST_TIMEOUT"
|
|
92
93
|
}
|
|
93
94
|
//# sourceMappingURL=localization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localization.d.ts","sourceRoot":"","sources":["../../src/utils/localization.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,OAAO,kBAAkB;IACzB,gBAAgB,qBAAqB;IACrC,WAAW,sBAAsB;IAGjC,cAAc,4BAA4B;IAC1C,kBAAkB,gCAAgC;IAClD,sBAAsB,oCAAoC;IAC1D,wBAAwB,sCAAsC;IAC9D,kBAAkB,gCAAgC;IAClD,oBAAoB,kCAAkC;IACtD,oBAAoB,kCAAkC;IACtD,4BAA4B,0CAA0C;IAGtE,gCAAgC,8CAA8C;IAC9E,mBAAmB,iCAAiC;IACpD,iCAAiC,+CAA+C;IAChF,oBAAoB,kCAAkC;IACtD,oBAAoB,kCAAkC;IACtD,qBAAqB,mCAAmC;IACxD,mBAAmB,iCAAiC;IACpD,kBAAkB,gCAAgC;IAClD,eAAe,6BAA6B;IAC5C,qBAAqB,mCAAmC;IACxD,sBAAsB,oCAAoC;IAC1D,2BAA2B,yCAAyC;IACpE,+BAA+B,6CAA6C;IAC5E,sBAAsB,oCAAoC;IAC1D,mBAAmB,iCAAiC;IACpD,yBAAyB,uCAAuC;IAChE,qBAAqB,mCAAmC;IACxD,iBAAiB,+BAA+B;IAChD,kBAAkB,gCAAgC;IAClD,wBAAwB,sCAAsC;IAC9D,+BAA+B,6CAA6C;IAG5E,kBAAkB,gCAAgC;IAClD,cAAc,4BAA4B;IAC1C,kBAAkB,gCAAgC;IAClD,mBAAmB,iCAAiC;IACpD,iBAAiB,+BAA+B;IAChD,gBAAgB,8BAA8B;IAC9C,gBAAgB,8BAA8B;IAC9C,yBAAyB,uCAAuC;IAChE,mBAAmB,iCAAiC;IACpD,kBAAkB,gCAAgC;IAClD,uBAAuB,qCAAqC;IAC5D,4BAA4B,0CAA0C;IACtE,oBAAoB,kCAAkC;IACtD,+BAA+B,6CAA6C;IAC5E,8BAA8B,4CAA4C;IAG1E,aAAa,2BAA2B;IACxC,mBAAmB,iCAAiC;IACpD,cAAc,4BAA4B;IAG1C,eAAe,6BAA6B;IAC5C,eAAe,6BAA6B;IAC5C,oBAAoB,kCAAkC;IACtD,kBAAkB,gCAAgC;IAClD,yBAAyB,uCAAuC;IAChE,kBAAkB,gCAAgC;IAClD,qBAAqB,mCAAmC;IACxD,mBAAmB,iCAAiC;IACpD,qBAAqB,mCAAmC;IACxD,gBAAgB,8BAA8B;IAG9C,eAAe,6BAA6B;IAC5C,oBAAoB,kCAAkC;IACtD,yBAAyB,uCAAuC;IAChE,uBAAuB,qCAAqC;IAC5D,oBAAoB,kCAAkC;IACtD,qBAAqB,mCAAmC;IACxD,YAAY,0BAA0B;IAGtC,cAAc,4BAA4B;IAC1C,sBAAsB,oCAAoC;IAC1D,sBAAsB,oCAAoC;IAC1D,qBAAqB,mCAAmC;IACxD,mBAAmB,iCAAiC;IACpD,oBAAoB,kCAAkC;IACtD,+BAA+B,6CAA6C;IAC5E,4BAA4B,0CAA0C;IAGtE,4BAA4B,0CAA0C;IACtE,uBAAuB,qCAAqC;IAC5D,mCAAmC,iDAAiD;IAGpF,yBAAyB,uCAAuC;IAChE,0BAA0B,wCAAwC;IAClE,uBAAuB,qCAAqC;IAG5D,mBAAmB,iCAAiC;IAGpD,aAAa,2BAA2B;IACxC,kBAAkB,gCAAgC;IAGlD,iBAAiB,+BAA+B;IAChD,gBAAgB,8BAA8B;IAC9C,kBAAkB,gCAAgC;IAGlD,kBAAkB,gCAAgC;IAClD,kBAAkB,gCAAgC;IAGlD,iBAAiB,+BAA+B;
|
|
1
|
+
{"version":3,"file":"localization.d.ts","sourceRoot":"","sources":["../../src/utils/localization.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,OAAO,kBAAkB;IACzB,gBAAgB,qBAAqB;IACrC,WAAW,sBAAsB;IAGjC,cAAc,4BAA4B;IAC1C,kBAAkB,gCAAgC;IAClD,sBAAsB,oCAAoC;IAC1D,wBAAwB,sCAAsC;IAC9D,kBAAkB,gCAAgC;IAClD,oBAAoB,kCAAkC;IACtD,oBAAoB,kCAAkC;IACtD,4BAA4B,0CAA0C;IAGtE,gCAAgC,8CAA8C;IAC9E,mBAAmB,iCAAiC;IACpD,iCAAiC,+CAA+C;IAChF,oBAAoB,kCAAkC;IACtD,oBAAoB,kCAAkC;IACtD,qBAAqB,mCAAmC;IACxD,mBAAmB,iCAAiC;IACpD,kBAAkB,gCAAgC;IAClD,eAAe,6BAA6B;IAC5C,qBAAqB,mCAAmC;IACxD,sBAAsB,oCAAoC;IAC1D,2BAA2B,yCAAyC;IACpE,+BAA+B,6CAA6C;IAC5E,sBAAsB,oCAAoC;IAC1D,mBAAmB,iCAAiC;IACpD,yBAAyB,uCAAuC;IAChE,qBAAqB,mCAAmC;IACxD,iBAAiB,+BAA+B;IAChD,kBAAkB,gCAAgC;IAClD,wBAAwB,sCAAsC;IAC9D,+BAA+B,6CAA6C;IAG5E,kBAAkB,gCAAgC;IAClD,cAAc,4BAA4B;IAC1C,kBAAkB,gCAAgC;IAClD,mBAAmB,iCAAiC;IACpD,iBAAiB,+BAA+B;IAChD,gBAAgB,8BAA8B;IAC9C,gBAAgB,8BAA8B;IAC9C,yBAAyB,uCAAuC;IAChE,mBAAmB,iCAAiC;IACpD,kBAAkB,gCAAgC;IAClD,uBAAuB,qCAAqC;IAC5D,4BAA4B,0CAA0C;IACtE,oBAAoB,kCAAkC;IACtD,+BAA+B,6CAA6C;IAC5E,8BAA8B,4CAA4C;IAG1E,aAAa,2BAA2B;IACxC,mBAAmB,iCAAiC;IACpD,cAAc,4BAA4B;IAG1C,eAAe,6BAA6B;IAC5C,eAAe,6BAA6B;IAC5C,oBAAoB,kCAAkC;IACtD,kBAAkB,gCAAgC;IAClD,yBAAyB,uCAAuC;IAChE,kBAAkB,gCAAgC;IAClD,qBAAqB,mCAAmC;IACxD,mBAAmB,iCAAiC;IACpD,qBAAqB,mCAAmC;IACxD,gBAAgB,8BAA8B;IAG9C,eAAe,6BAA6B;IAC5C,oBAAoB,kCAAkC;IACtD,yBAAyB,uCAAuC;IAChE,uBAAuB,qCAAqC;IAC5D,oBAAoB,kCAAkC;IACtD,qBAAqB,mCAAmC;IACxD,YAAY,0BAA0B;IAGtC,cAAc,4BAA4B;IAC1C,sBAAsB,oCAAoC;IAC1D,sBAAsB,oCAAoC;IAC1D,qBAAqB,mCAAmC;IACxD,mBAAmB,iCAAiC;IACpD,oBAAoB,kCAAkC;IACtD,+BAA+B,6CAA6C;IAC5E,4BAA4B,0CAA0C;IAGtE,4BAA4B,0CAA0C;IACtE,uBAAuB,qCAAqC;IAC5D,mCAAmC,iDAAiD;IAGpF,yBAAyB,uCAAuC;IAChE,0BAA0B,wCAAwC;IAClE,uBAAuB,qCAAqC;IAG5D,mBAAmB,iCAAiC;IAGpD,aAAa,2BAA2B;IACxC,kBAAkB,gCAAgC;IAGlD,iBAAiB,+BAA+B;IAChD,gBAAgB,8BAA8B;IAC9C,kBAAkB,gCAAgC;IAGlD,kBAAkB,gCAAgC;IAClD,kBAAkB,gCAAgC;IAGlD,iBAAiB,+BAA+B;IAGhD,eAAe,6BAA6B;CAC7C"}
|
|
@@ -104,5 +104,7 @@ export var ErrorKey;
|
|
|
104
104
|
ErrorKey["MODIFY_NOT_ALLOWED"] = "ERROR_HL_MODIFY_NOT_ALLOWED";
|
|
105
105
|
// Hyperliquid SDK - Builder/Fee
|
|
106
106
|
ErrorKey["BUILDER_FEE_ERROR"] = "ERROR_HL_BUILDER_FEE_ERROR";
|
|
107
|
+
// Hyperliquid SDK - Network/Request
|
|
108
|
+
ErrorKey["REQUEST_TIMEOUT"] = "ERROR_HL_REQUEST_TIMEOUT";
|
|
107
109
|
})(ErrorKey || (ErrorKey = {}));
|
|
108
110
|
//# sourceMappingURL=localization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localization.js","sourceRoot":"","sources":["../../src/utils/localization.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"localization.js","sourceRoot":"","sources":["../../src/utils/localization.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QA0HX;AA1HD,WAAY,QAAQ;IAClB,qCAAyB,CAAA;IACzB,iDAAqC,CAAA;IACrC,6CAAiC,CAAA;IAEjC,gCAAgC;IAChC,sDAA0C,CAAA;IAC1C,8DAAkD,CAAA;IAClD,sEAA0D,CAAA;IAC1D,0EAA8D,CAAA;IAC9D,8DAAkD,CAAA;IAClD,kEAAsD,CAAA;IACtD,kEAAsD,CAAA;IACtD,kFAAsE,CAAA;IAEtE,0BAA0B;IAC1B,0FAA8E,CAAA;IAC9E,gEAAoD,CAAA;IACpD,4FAAgF,CAAA;IAChF,kEAAsD,CAAA;IACtD,kEAAsD,CAAA;IACtD,oEAAwD,CAAA;IACxD,gEAAoD,CAAA;IACpD,8DAAkD,CAAA;IAClD,wDAA4C,CAAA;IAC5C,oEAAwD,CAAA;IACxD,sEAA0D,CAAA;IAC1D,gFAAoE,CAAA;IACpE,wFAA4E,CAAA;IAC5E,sEAA0D,CAAA;IAC1D,gEAAoD,CAAA;IACpD,4EAAgE,CAAA;IAChE,oEAAwD,CAAA;IACxD,4DAAgD,CAAA;IAChD,8DAAkD,CAAA;IAClD,0EAA8D,CAAA;IAC9D,wFAA4E,CAAA;IAE5E,oCAAoC;IACpC,8DAAkD,CAAA;IAClD,sDAA0C,CAAA;IAC1C,8DAAkD,CAAA;IAClD,gEAAoD,CAAA;IACpD,4DAAgD,CAAA;IAChD,0DAA8C,CAAA;IAC9C,0DAA8C,CAAA;IAC9C,4EAAgE,CAAA;IAChE,gEAAoD,CAAA;IACpD,8DAAkD,CAAA;IAClD,wEAA4D,CAAA;IAC5D,kFAAsE,CAAA;IACtE,kEAAsD,CAAA;IACtD,wFAA4E,CAAA;IAC5E,sFAA0E,CAAA;IAE1E,0BAA0B;IAC1B,oDAAwC,CAAA;IACxC,gEAAoD,CAAA;IACpD,sDAA0C,CAAA;IAE1C,sCAAsC;IACtC,wDAA4C,CAAA;IAC5C,wDAA4C,CAAA;IAC5C,kEAAsD,CAAA;IACtD,8DAAkD,CAAA;IAClD,4EAAgE,CAAA;IAChE,8DAAkD,CAAA;IAClD,oEAAwD,CAAA;IACxD,gEAAoD,CAAA;IACpD,oEAAwD,CAAA;IACxD,0DAA8C,CAAA;IAE9C,0BAA0B;IAC1B,wDAA4C,CAAA;IAC5C,kEAAsD,CAAA;IACtD,4EAAgE,CAAA;IAChE,wEAA4D,CAAA;IAC5D,kEAAsD,CAAA;IACtD,oEAAwD,CAAA;IACxD,kDAAsC,CAAA;IAEtC,yBAAyB;IACzB,sDAA0C,CAAA;IAC1C,sEAA0D,CAAA;IAC1D,sEAA0D,CAAA;IAC1D,oEAAwD,CAAA;IACxD,gEAAoD,CAAA;IACpD,kEAAsD,CAAA;IACtD,wFAA4E,CAAA;IAC5E,kFAAsE,CAAA;IAEtE,oCAAoC;IACpC,kFAAsE,CAAA;IACtE,wEAA4D,CAAA;IAC5D,gGAAoF,CAAA;IAEpF,mCAAmC;IACnC,4EAAgE,CAAA;IAChE,8EAAkE,CAAA;IAClE,wEAA4D,CAAA;IAE5D,0BAA0B;IAC1B,gEAAoD,CAAA;IAEpD,+BAA+B;IAC/B,oDAAwC,CAAA;IACxC,8DAAkD,CAAA;IAElD,+BAA+B;IAC/B,4DAAgD,CAAA;IAChD,0DAA8C,CAAA;IAC9C,8DAAkD,CAAA;IAElD,kCAAkC;IAClC,8DAAkD,CAAA;IAClD,8DAAkD,CAAA;IAElD,gCAAgC;IAChC,4DAAgD,CAAA;IAEhD,oCAAoC;IACpC,wDAA4C,CAAA;AAC9C,CAAC,EA1HW,QAAQ,KAAR,QAAQ,QA0HnB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ErrorKey } from "./localization";
|
|
2
|
+
export interface ParsedOrderError {
|
|
3
|
+
orderIndex: number;
|
|
4
|
+
errorMessage: string;
|
|
5
|
+
localizationKey: ErrorKey;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Parse multiple order errors from concatenated error message
|
|
9
|
+
* Example: "Order 0: error msg, Order 1: error msg" -> [{orderIndex: 0, ...}, {orderIndex: 1, ...}]
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseMultipleOrderErrors(errorMessage: string): ParsedOrderError[];
|
|
12
|
+
/**
|
|
13
|
+
* Parse single order error and format with ORDER_X/ prefix
|
|
14
|
+
*/
|
|
15
|
+
export declare function parseSingleOrderError(errorMessage: string): string | null;
|
|
16
|
+
/**
|
|
17
|
+
* Format parsed order errors into localization key array
|
|
18
|
+
* Returns array like: ["ORDER_0/ERROR_HL_ORDER_NOT_FOUND", "ORDER_1/ERROR_HL_ORDER_INVALID"]
|
|
19
|
+
*/
|
|
20
|
+
export declare function formatOrderErrorKeys(parsedErrors: ParsedOrderError[]): string[];
|
|
21
|
+
/**
|
|
22
|
+
* Check if error message contains multiple order errors
|
|
23
|
+
*/
|
|
24
|
+
export declare function hasMultipleOrderErrors(errorMessage: string): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Check if error message contains a single order error
|
|
27
|
+
*/
|
|
28
|
+
export declare function hasSingleOrderError(errorMessage: string): boolean;
|
|
29
|
+
//# sourceMappingURL=orderErrorParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderErrorParser.d.ts","sourceRoot":"","sources":["../../src/utils/orderErrorParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,QAAQ,CAAC;CAC3B;AASD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,GACnB,gBAAgB,EAAE,CA2CpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBzE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,gBAAgB,EAAE,GAC/B,MAAM,EAAE,CAIV;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAEjE"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { ErrorKey } from "./localization";
|
|
2
|
+
import { mapHyperliquidError } from "./errorMapper";
|
|
3
|
+
const ORDER_PATTERN = /^Order (\d+): (.+)$/;
|
|
4
|
+
const ORDER_SEPARATOR = ", Order ";
|
|
5
|
+
const ORDER_INDEX_GROUP = 1;
|
|
6
|
+
const ERROR_MESSAGE_GROUP = 2;
|
|
7
|
+
const DECIMAL_RADIX = 10;
|
|
8
|
+
const FIRST_PART_INDEX = 0;
|
|
9
|
+
/**
|
|
10
|
+
* Parse multiple order errors from concatenated error message
|
|
11
|
+
* Example: "Order 0: error msg, Order 1: error msg" -> [{orderIndex: 0, ...}, {orderIndex: 1, ...}]
|
|
12
|
+
*/
|
|
13
|
+
export function parseMultipleOrderErrors(errorMessage) {
|
|
14
|
+
// Split by ", Order " to separate individual order errors
|
|
15
|
+
const parts = errorMessage.split(ORDER_SEPARATOR);
|
|
16
|
+
if (parts.length === 0) {
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
return parts.map((part, index) => {
|
|
20
|
+
let fullPart = part;
|
|
21
|
+
// For the first part, it already starts with "Order X:"
|
|
22
|
+
// For subsequent parts, we need to add "Order " prefix back
|
|
23
|
+
if (index > FIRST_PART_INDEX) {
|
|
24
|
+
fullPart = `Order ${part}`;
|
|
25
|
+
}
|
|
26
|
+
// Extract order index and message using pattern: "Order X: message"
|
|
27
|
+
const match = fullPart.match(ORDER_PATTERN);
|
|
28
|
+
if (!match || !match[ORDER_INDEX_GROUP] || !match[ERROR_MESSAGE_GROUP]) {
|
|
29
|
+
// Fallback if pattern doesn't match
|
|
30
|
+
return {
|
|
31
|
+
orderIndex: index,
|
|
32
|
+
errorMessage: fullPart,
|
|
33
|
+
localizationKey: ErrorKey.UNKNOWN,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const orderIndex = parseInt(match[ORDER_INDEX_GROUP], DECIMAL_RADIX);
|
|
37
|
+
const errorMsg = match[ERROR_MESSAGE_GROUP].trim();
|
|
38
|
+
// Create a temporary error object to map the message
|
|
39
|
+
const tempError = new Error(errorMsg);
|
|
40
|
+
const { key } = mapHyperliquidError(tempError);
|
|
41
|
+
return {
|
|
42
|
+
orderIndex,
|
|
43
|
+
errorMessage: errorMsg,
|
|
44
|
+
localizationKey: key,
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Parse single order error and format with ORDER_X/ prefix
|
|
50
|
+
*/
|
|
51
|
+
export function parseSingleOrderError(errorMessage) {
|
|
52
|
+
const match = errorMessage.match(ORDER_PATTERN);
|
|
53
|
+
if (!match || !match[ORDER_INDEX_GROUP] || !match[ERROR_MESSAGE_GROUP]) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
const orderIndex = parseInt(match[ORDER_INDEX_GROUP], DECIMAL_RADIX);
|
|
57
|
+
const errorMsg = match[ERROR_MESSAGE_GROUP].trim();
|
|
58
|
+
// Create a temporary error object to map the message
|
|
59
|
+
const tempError = new Error(errorMsg);
|
|
60
|
+
const { key } = mapHyperliquidError(tempError);
|
|
61
|
+
return `ORDER_${orderIndex}/${key}`;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Format parsed order errors into localization key array
|
|
65
|
+
* Returns array like: ["ORDER_0/ERROR_HL_ORDER_NOT_FOUND", "ORDER_1/ERROR_HL_ORDER_INVALID"]
|
|
66
|
+
*/
|
|
67
|
+
export function formatOrderErrorKeys(parsedErrors) {
|
|
68
|
+
return parsedErrors.map((error) => `ORDER_${error.orderIndex}/${error.localizationKey}`);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Check if error message contains multiple order errors
|
|
72
|
+
*/
|
|
73
|
+
export function hasMultipleOrderErrors(errorMessage) {
|
|
74
|
+
return /Order \d+:/.test(errorMessage) && errorMessage.includes(", Order ");
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Check if error message contains a single order error
|
|
78
|
+
*/
|
|
79
|
+
export function hasSingleOrderError(errorMessage) {
|
|
80
|
+
return /^Order \d+:/.test(errorMessage) && !errorMessage.includes(", Order ");
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=orderErrorParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderErrorParser.js","sourceRoot":"","sources":["../../src/utils/orderErrorParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { WebSocketTransport } from "@nktkas/hyperliquid";
|
|
1
2
|
import { type SubscriptionType, type SubscriptionParams, type WebSocketManagerConfig } from "./types";
|
|
2
3
|
export declare class WebSocketManager {
|
|
3
4
|
private subscriptions;
|
|
@@ -17,6 +18,12 @@ export declare class WebSocketManager {
|
|
|
17
18
|
private readonly reconnectConsecutiveThreshold;
|
|
18
19
|
constructor(config?: WebSocketManagerConfig);
|
|
19
20
|
private getWebSocketTransport;
|
|
21
|
+
/**
|
|
22
|
+
* Get the underlying WebSocket transport for reuse.
|
|
23
|
+
* This allows POST requests (via InfoClient) to use the same WebSocket
|
|
24
|
+
* connection as subscriptions, matching Hyperliquid's official app behavior.
|
|
25
|
+
*/
|
|
26
|
+
getTransport(): WebSocketTransport;
|
|
20
27
|
private getSubscriptionClient;
|
|
21
28
|
/**
|
|
22
29
|
* Safely unsubscribe from a subscription, logging any errors for debugging.
|