@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.
Files changed (40) hide show
  1. package/dist/api.d.ts +59 -16
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +179 -105
  4. package/dist/api.js.map +1 -1
  5. package/dist/client.d.ts +20 -1
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +41 -1
  8. package/dist/client.js.map +1 -1
  9. package/dist/exchange.d.ts +0 -2
  10. package/dist/exchange.d.ts.map +1 -1
  11. package/dist/exchange.js.map +1 -1
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +2 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/utils/errorMapper.d.ts +14 -0
  17. package/dist/utils/errorMapper.d.ts.map +1 -0
  18. package/dist/utils/errorMapper.js +357 -0
  19. package/dist/utils/errorMapper.js.map +1 -0
  20. package/dist/utils/format.d.ts +1 -0
  21. package/dist/utils/format.d.ts.map +1 -1
  22. package/dist/utils/format.js +9 -4
  23. package/dist/utils/format.js.map +1 -1
  24. package/dist/utils/localization.d.ts +2 -1
  25. package/dist/utils/localization.d.ts.map +1 -1
  26. package/dist/utils/localization.js +2 -0
  27. package/dist/utils/localization.js.map +1 -1
  28. package/dist/utils/orderErrorParser.d.ts +29 -0
  29. package/dist/utils/orderErrorParser.d.ts.map +1 -0
  30. package/dist/utils/orderErrorParser.js +82 -0
  31. package/dist/utils/orderErrorParser.js.map +1 -0
  32. package/dist/websocket/WebSocketManager.d.ts +7 -0
  33. package/dist/websocket/WebSocketManager.d.ts.map +1 -1
  34. package/dist/websocket/WebSocketManager.js +84 -2
  35. package/dist/websocket/WebSocketManager.js.map +1 -1
  36. package/dist/websocket/types.d.ts +120 -3
  37. package/dist/websocket/types.d.ts.map +1 -1
  38. package/dist/websocket/types.js +7 -0
  39. package/dist/websocket/types.js.map +1 -1
  40. 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"}
@@ -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,CAUrE;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"}
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"}
@@ -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 = Number(size.toFixed(szDecimals));
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.toFixed(Math.max(0, actualDecimals)));
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 = Number(price.toFixed(actualDecimals));
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(value);
187
+ }).format(normalizedValue);
183
188
  }
184
189
  /**
185
190
  * Format a percentage for DISPLAY
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"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"}
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;CACjD"}
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,QAuHX;AAvHD,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;AAClD,CAAC,EAvHW,QAAQ,KAAR,QAAQ,QAuHnB"}
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.