@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/types.js ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Type definitions for Hyperliquid integration
3
+ * Platform-agnostic types shared between web and React Native
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Format utilities for Hyperliquid order prices and sizes
3
+ * Based on: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/tick-and-lot-size
4
+ */
5
+ /**
6
+ * Format size for ORDER SUBMISSION according to szDecimals
7
+ * Sizes are rounded to the szDecimals of that asset
8
+ * Trailing zeros are removed as required for signing
9
+ * @param size - The size value to format
10
+ * @param szDecimals - Number of decimal places allowed for this asset
11
+ * @returns Formatted size string with trailing zeros removed
12
+ */
13
+ export declare function formatOrderSize(size: number, szDecimals: number): string;
14
+ /**
15
+ * Format price for ORDER SUBMISSION according to Hyperliquid rules
16
+ * - Max 5 significant figures
17
+ * - Max decimals: 6 for perps, 8 for spot (minus szDecimals)
18
+ * - Integers always allowed regardless of significant figures
19
+ * Trailing zeros are removed as required for signing
20
+ * @param price - The price value to format
21
+ * @param szDecimals - Asset's szDecimals (affects max decimal places)
22
+ * @param isSpot - Whether this is a spot order (default: false for perps)
23
+ * @returns Formatted price string with trailing zeros removed
24
+ */
25
+ export declare function formatOrderPrice(price: number, szDecimals: number, isSpot?: boolean): string;
26
+ /**
27
+ * Remove trailing zeros from a numeric string
28
+ * Required for signing per Hyperliquid docs
29
+ */
30
+ export declare function removeTrailingZeros(str: string): string;
31
+ /**
32
+ * Validate if a price string is acceptable for Hyperliquid
33
+ * @param priceStr - Price as string
34
+ * @param szDecimals - Asset's szDecimals
35
+ * @param isSpot - Whether this is spot (default: false for perps)
36
+ * @returns true if valid
37
+ */
38
+ export declare function isValidPrice(priceStr: string, szDecimals: number, isSpot?: boolean): boolean;
39
+ /**
40
+ * Validate if a size string is acceptable for Hyperliquid
41
+ * @param sizeStr - Size as string
42
+ * @param szDecimals - Asset's szDecimals
43
+ * @returns true if valid
44
+ */
45
+ export declare function isValidSize(sizeStr: string, szDecimals: number): boolean;
46
+ export declare function formatPrice(price: number | string | undefined): string;
47
+ export declare function formatSize(size: number | string | undefined): string;
48
+ /**
49
+ * Format as USD currency for DISPLAY
50
+ */
51
+ export declare function formatUSD(amount: number | string | undefined): string;
52
+ /**
53
+ * Format a percentage for DISPLAY
54
+ */
55
+ export declare function formatPercentage(value: number | string | undefined, decimals?: number): string;
56
+ export declare const fmt: {
57
+ usd: typeof formatUSD;
58
+ px: typeof formatPrice;
59
+ sz: typeof formatSize;
60
+ pct: typeof formatPercentage;
61
+ };
62
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +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,CAiCR;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,eAAO,MAAM,GAAG;;;;;CAKf,CAAC"}
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Format utilities for Hyperliquid order prices and sizes
3
+ * Based on: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/tick-and-lot-size
4
+ */
5
+ /**
6
+ * Format size for ORDER SUBMISSION according to szDecimals
7
+ * Sizes are rounded to the szDecimals of that asset
8
+ * Trailing zeros are removed as required for signing
9
+ * @param size - The size value to format
10
+ * @param szDecimals - Number of decimal places allowed for this asset
11
+ * @returns Formatted size string with trailing zeros removed
12
+ */
13
+ export function formatOrderSize(size, szDecimals) {
14
+ if (!Number.isFinite(size) || size < 0) {
15
+ throw new Error("Invalid size value");
16
+ }
17
+ // Round to szDecimals
18
+ const rounded = Number(size.toFixed(szDecimals));
19
+ // Convert to string and remove trailing zeros
20
+ return removeTrailingZeros(rounded.toString());
21
+ }
22
+ /**
23
+ * Format price for ORDER SUBMISSION according to Hyperliquid rules
24
+ * - Max 5 significant figures
25
+ * - Max decimals: 6 for perps, 8 for spot (minus szDecimals)
26
+ * - Integers always allowed regardless of significant figures
27
+ * Trailing zeros are removed as required for signing
28
+ * @param price - The price value to format
29
+ * @param szDecimals - Asset's szDecimals (affects max decimal places)
30
+ * @param isSpot - Whether this is a spot order (default: false for perps)
31
+ * @returns Formatted price string with trailing zeros removed
32
+ */
33
+ export function formatOrderPrice(price, szDecimals, isSpot = false) {
34
+ if (!Number.isFinite(price) || price <= 0) {
35
+ throw new Error("Invalid price value");
36
+ }
37
+ const MAX_DECIMALS = isSpot ? 8 : 6;
38
+ const maxDecimals = MAX_DECIMALS - szDecimals;
39
+ // Check if it's an integer
40
+ if (Number.isInteger(price)) {
41
+ return price.toString();
42
+ }
43
+ // Get the price as string to analyze
44
+ const priceStr = price.toString();
45
+ const [, decPart = ""] = priceStr.split(".");
46
+ // Count significant figures
47
+ const sigFigs = countSignificantFigures(price);
48
+ // If more than 5 sig figs, we need to round
49
+ if (sigFigs > 5) {
50
+ // Round to 5 significant figures
51
+ const rounded = roundToSignificantFigures(price, 5);
52
+ return formatOrderPrice(rounded, szDecimals, isSpot);
53
+ }
54
+ // Apply max decimal constraint
55
+ const actualDecimals = Math.min(decPart.length, maxDecimals);
56
+ const rounded = Number(price.toFixed(actualDecimals));
57
+ // Remove trailing zeros
58
+ return removeTrailingZeros(rounded.toString());
59
+ }
60
+ /**
61
+ * Count significant figures in a number
62
+ */
63
+ function countSignificantFigures(num) {
64
+ // Convert to string and remove scientific notation
65
+ const str = num.toString();
66
+ const [intPart, decPart = ""] = str.split(".");
67
+ // Remove leading zeros from integer part
68
+ const intDigits = intPart.replace(/^0+/, "");
69
+ if (intDigits.length > 0) {
70
+ // Has integer part - count all digits
71
+ return intDigits.length + decPart.length;
72
+ }
73
+ else {
74
+ // Only decimal part - skip leading zeros in decimal
75
+ const firstNonZero = decPart.search(/[1-9]/);
76
+ if (firstNonZero === -1)
77
+ return 0;
78
+ return decPart.length - firstNonZero;
79
+ }
80
+ }
81
+ /**
82
+ * Round number to specified significant figures
83
+ */
84
+ function roundToSignificantFigures(num, sigFigs) {
85
+ if (num === 0)
86
+ return 0;
87
+ const magnitude = Math.floor(Math.log10(Math.abs(num)));
88
+ const scale = Math.pow(10, sigFigs - magnitude - 1);
89
+ return Math.round(num * scale) / scale;
90
+ }
91
+ /**
92
+ * Remove trailing zeros from a numeric string
93
+ * Required for signing per Hyperliquid docs
94
+ */
95
+ export function removeTrailingZeros(str) {
96
+ // If no decimal point, return as-is
97
+ if (!str.includes(".")) {
98
+ return str;
99
+ }
100
+ // Remove trailing zeros and trailing decimal point
101
+ return str.replace(/\.?0+$/, "");
102
+ }
103
+ /**
104
+ * Validate if a price string is acceptable for Hyperliquid
105
+ * @param priceStr - Price as string
106
+ * @param szDecimals - Asset's szDecimals
107
+ * @param isSpot - Whether this is spot (default: false for perps)
108
+ * @returns true if valid
109
+ */
110
+ export function isValidPrice(priceStr, szDecimals, isSpot = false) {
111
+ const price = parseFloat(priceStr);
112
+ if (!Number.isFinite(price) || price <= 0)
113
+ return false;
114
+ try {
115
+ const formatted = formatOrderPrice(price, szDecimals, isSpot);
116
+ // Check if formatting changed the value significantly
117
+ return Math.abs(parseFloat(formatted) - price) < price * 0.0001;
118
+ }
119
+ catch {
120
+ return false;
121
+ }
122
+ }
123
+ /**
124
+ * Validate if a size string is acceptable for Hyperliquid
125
+ * @param sizeStr - Size as string
126
+ * @param szDecimals - Asset's szDecimals
127
+ * @returns true if valid
128
+ */
129
+ export function isValidSize(sizeStr, szDecimals) {
130
+ const size = parseFloat(sizeStr);
131
+ if (!Number.isFinite(size) || size <= 0)
132
+ return false;
133
+ try {
134
+ const formatted = formatOrderSize(size, szDecimals);
135
+ // Check if formatting changed the value
136
+ return parseFloat(formatted) === size;
137
+ }
138
+ catch {
139
+ return false;
140
+ }
141
+ }
142
+ export function formatPrice(price) {
143
+ const value = typeof price === "string" ? parseFloat(price) : price ?? 0;
144
+ if (!Number.isFinite(value))
145
+ return "-";
146
+ const abs = Math.abs(value);
147
+ // Show deep precision for sub-dollar assets, otherwise crisp two-decimal display
148
+ const options = abs < 1
149
+ ? { minimumFractionDigits: 6, maximumFractionDigits: 6 }
150
+ : { minimumFractionDigits: 2, maximumFractionDigits: 2 };
151
+ return value.toLocaleString("en-US", options);
152
+ }
153
+ export function formatSize(size) {
154
+ const value = typeof size === "string" ? parseFloat(size) : size ?? 0;
155
+ if (!Number.isFinite(value))
156
+ return "-";
157
+ const abs = Math.abs(value);
158
+ if (abs >= 1000)
159
+ return value.toFixed(0);
160
+ if (abs >= 10)
161
+ return value.toFixed(2);
162
+ return value.toFixed(4);
163
+ }
164
+ /**
165
+ * Format as USD currency for DISPLAY
166
+ */
167
+ export function formatUSD(amount) {
168
+ const value = typeof amount === "string" ? parseFloat(amount) : amount ?? 0;
169
+ if (!Number.isFinite(value))
170
+ return "-";
171
+ return new Intl.NumberFormat("en-US", {
172
+ style: "currency",
173
+ currency: "USD",
174
+ minimumFractionDigits: 2,
175
+ maximumFractionDigits: 2,
176
+ }).format(value);
177
+ }
178
+ /**
179
+ * Format a percentage for DISPLAY
180
+ */
181
+ export function formatPercentage(value, decimals = 2) {
182
+ const num = typeof value === "string" ? parseFloat(value) : value ?? 0;
183
+ if (!Number.isFinite(num))
184
+ return "-";
185
+ return `${num.toFixed(decimals)}%`;
186
+ }
187
+ export const fmt = {
188
+ usd: formatUSD,
189
+ px: formatPrice,
190
+ sz: formatSize,
191
+ pct: formatPercentage,
192
+ };
193
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ export declare enum ErrorKey {
2
+ UNKNOWN = "ERROR_UNKNOWN",
3
+ VALIDATION_ERROR = "ERROR_VALIDATION",
4
+ AUTH_FAILED = "ERROR_AUTH_FAILED",
5
+ USER_NOT_FOUND = "ERROR_HL_USER_NOT_FOUND",
6
+ AGENT_NOT_APPROVED = "ERROR_HL_AGENT_NOT_APPROVED",
7
+ AGENT_ALREADY_APPROVED = "ERROR_HL_AGENT_ALREADY_APPROVED",
8
+ EXTRA_AGENT_ALREADY_USED = "ERROR_HL_EXTRA_AGENT_ALREADY_USED",
9
+ AGENT_USER_ADDRESS = "ERROR_HL_AGENT_USER_ADDRESS",
10
+ AGENT_DOES_NOT_EXIST = "ERROR_HL_AGENT_DOES_NOT_EXIST",
11
+ BUILDER_NOT_APPROVED = "ERROR_HL_BUILDER_NOT_APPROVED",
12
+ BUILDER_INSUFFICIENT_BALANCE = "ERROR_HL_BUILDER_INSUFFICIENT_BALANCE",
13
+ ORDER_IS_NOT_PLACED_OR_FULFILLED = "ERROR_HL_ORDER_IS_NOT_PLACED_OR_FULFILLED",
14
+ ORDER_PRICE_TOO_FAR = "ERROR_HL_ORDER_PRICE_TOO_FAR",
15
+ ORDER_PRICE_NOT_DIVISIBLE_BY_TICK = "ERROR_HL_ORDER_PRICE_NOT_DIVISIBLE_BY_TICK",
16
+ ORDER_SIZE_TOO_SMALL = "ERROR_HL_ORDER_SIZE_TOO_SMALL",
17
+ ORDER_SIZE_TOO_LARGE = "ERROR_HL_ORDER_SIZE_TOO_LARGE",
18
+ ORDER_VALUE_TOO_SMALL = "ERROR_HL_ORDER_VALUE_TOO_SMALL",
19
+ ORDER_INVALID_PRICE = "ERROR_HL_ORDER_INVALID_PRICE",
20
+ ORDER_INVALID_SIZE = "ERROR_HL_ORDER_INVALID_SIZE",
21
+ ORDER_ZERO_SIZE = "ERROR_HL_ORDER_ZERO_SIZE",
22
+ ORDER_VALUE_TOO_LARGE = "ERROR_HL_ORDER_VALUE_TOO_LARGE",
23
+ ORDER_TRIGGER_NOT_MAIN = "ERROR_HL_ORDER_TRIGGER_NOT_MAIN",
24
+ ORDER_INVALID_TRIGGER_PRICE = "ERROR_HL_ORDER_INVALID_TRIGGER_PRICE",
25
+ ORDER_WOULD_TRIGGER_IMMEDIATELY = "ERROR_HL_ORDER_WOULD_TRIGGER_IMMEDIATELY",
26
+ ORDER_POST_ONLY_FAILED = "ERROR_HL_ORDER_POST_ONLY_FAILED",
27
+ ORDER_IOC_CANCELLED = "ERROR_HL_ORDER_IOC_CANCELLED",
28
+ ORDER_MAX_ORDERS_EXCEEDED = "ERROR_HL_ORDER_MAX_ORDERS_EXCEEDED",
29
+ ORDER_DUPLICATE_CLOID = "ERROR_HL_ORDER_DUPLICATE_CLOID",
30
+ ORDER_INVALID_TIF = "ERROR_HL_ORDER_INVALID_TIF",
31
+ ORDER_NO_LIQUIDITY = "ERROR_HL_ORDER_NO_LIQUIDITY",
32
+ ORDER_NO_IMMEDIATE_MATCH = "ERROR_HL_ORDER_NO_IMMEDIATE_MATCH",
33
+ ORDER_INSUFFICIENT_SPOT_BALANCE = "ERROR_HL_ORDER_INSUFFICIENT_SPOT_BALANCE",
34
+ POSITION_NOT_FOUND = "ERROR_HL_POSITION_NOT_FOUND",
35
+ POSITION_EMPTY = "ERROR_HL_POSITION_EMPTY",
36
+ MARGIN_UPDATE_ZERO = "ERROR_HL_MARGIN_UPDATE_ZERO",
37
+ INSUFFICIENT_MARGIN = "ERROR_HL_INSUFFICIENT_MARGIN",
38
+ LEVERAGE_TOO_HIGH = "ERROR_HL_LEVERAGE_TOO_HIGH",
39
+ LEVERAGE_TOO_LOW = "ERROR_HL_LEVERAGE_TOO_LOW",
40
+ INVALID_LEVERAGE = "ERROR_HL_INVALID_LEVERAGE",
41
+ MARGIN_MODE_CHANGE_FAILED = "ERROR_HL_MARGIN_MODE_CHANGE_FAILED",
42
+ NOT_ISOLATED_MARGIN = "ERROR_HL_NOT_ISOLATED_MARGIN",
43
+ REDUCE_ONLY_FAILED = "ERROR_HL_REDUCE_ONLY_FAILED",
44
+ POSITION_LIMIT_EXCEEDED = "ERROR_HL_POSITION_LIMIT_EXCEEDED",
45
+ POSITION_EXCEEDS_MARGIN_TIER = "ERROR_HL_POSITION_EXCEEDS_MARGIN_TIER",
46
+ OPEN_INTEREST_AT_CAP = "ERROR_HL_OPEN_INTEREST_AT_CAP",
47
+ OPEN_INTEREST_INCREASE_TOO_FAST = "ERROR_HL_OPEN_INTEREST_INCREASE_TOO_FAST",
48
+ PRICE_TOO_AGGRESSIVE_AT_OI_CAP = "ERROR_HL_PRICE_TOO_AGGRESSIVE_AT_OI_CAP",
49
+ INVALID_ASSET = "ERROR_HL_INVALID_ASSET",
50
+ ASSET_NOT_TRADEABLE = "ERROR_HL_ASSET_NOT_TRADEABLE",
51
+ ASSET_DELISTED = "ERROR_HL_ASSET_DELISTED",
52
+ TRANSFER_FAILED = "ERROR_HL_TRANSFER_FAILED",
53
+ WITHDRAW_FAILED = "ERROR_HL_WITHDRAW_FAILED",
54
+ WITHDRAW_ZERO_AMOUNT = "ERROR_HL_WITHDRAW_ZERO_AMOUNT",
55
+ WITHDRAW_TOO_SMALL = "ERROR_HL_WITHDRAW_TOO_SMALL",
56
+ WITHDRAW_SMALLER_THAN_FEE = "ERROR_HL_WITHDRAW_SMALLER_THAN_FEE",
57
+ WITHDRAW_TOO_LARGE = "ERROR_HL_WITHDRAW_TOO_LARGE",
58
+ WITHDRAW_BRIDGE_ERROR = "ERROR_HL_WITHDRAW_BRIDGE_ERROR",
59
+ INVALID_DESTINATION = "ERROR_HL_INVALID_DESTINATION",
60
+ SAME_ADDRESS_TRANSFER = "ERROR_HL_SAME_ADDRESS_TRANSFER",
61
+ DEPOSIT_REQUIRED = "ERROR_HL_DEPOSIT_REQUIRED",
62
+ VAULT_NOT_FOUND = "ERROR_HL_VAULT_NOT_FOUND",
63
+ VAULT_NOT_REGISTERED = "ERROR_HL_VAULT_NOT_REGISTERED",
64
+ VAULT_INSUFFICIENT_EQUITY = "ERROR_HL_VAULT_INSUFFICIENT_EQUITY",
65
+ VAULT_DEPOSIT_TOO_SMALL = "ERROR_HL_VAULT_DEPOSIT_TOO_SMALL",
66
+ VAULT_DEPOSIT_FAILED = "ERROR_HL_VAULT_DEPOSIT_FAILED",
67
+ VAULT_WITHDRAW_FAILED = "ERROR_HL_VAULT_WITHDRAW_FAILED",
68
+ VAULT_LOCKED = "ERROR_HL_VAULT_LOCKED",
69
+ TWAP_NOT_FOUND = "ERROR_HL_TWAP_NOT_FOUND",
70
+ TWAP_ALREADY_CANCELLED = "ERROR_HL_TWAP_ALREADY_CANCELLED",
71
+ TWAP_ALREADY_COMPLETED = "ERROR_HL_TWAP_ALREADY_COMPLETED",
72
+ TWAP_INVALID_DURATION = "ERROR_HL_TWAP_INVALID_DURATION",
73
+ TWAP_SIZE_TOO_SMALL = "ERROR_HL_TWAP_SIZE_TOO_SMALL",
74
+ TWAP_VALUE_TOO_SMALL = "ERROR_HL_TWAP_VALUE_TOO_SMALL",
75
+ TWAP_REDUCE_ONLY_WOULD_INCREASE = "ERROR_HL_TWAP_REDUCE_ONLY_WOULD_INCREASE",
76
+ TWAP_NOT_PLACED_OR_FULFILLED = "ERROR_HL_TWAP_NOT_PLACED_OR_FULFILLED",
77
+ SCHEDULE_CANCEL_INVALID_TIME = "ERROR_HL_SCHEDULE_CANCEL_INVALID_TIME",
78
+ SCHEDULE_CANCEL_TOO_FAR = "ERROR_HL_SCHEDULE_CANCEL_TOO_FAR",
79
+ SCHEDULE_CANCEL_INSUFFICIENT_VOLUME = "ERROR_HL_SCHEDULE_CANCEL_INSUFFICIENT_VOLUME",
80
+ FAILED_TO_SIGN_TYPED_DATA = "ERROR_HL_FAILED_TO_SIGN_TYPED_DATA",
81
+ SIGNATURE_NETWORK_MISMATCH = "ERROR_HL_SIGNATURE_NETWORK_MISMATCH",
82
+ INVALID_NONCE_DUPLICATE = "ERROR_HL_INVALID_NONCE_DUPLICATE",
83
+ PRICE_BAND_EXCEEDED = "ERROR_HL_PRICE_BAND_EXCEEDED",
84
+ INVALID_TOKEN = "ERROR_HL_INVALID_TOKEN",
85
+ SPOT_DUSTING_ERROR = "ERROR_HL_SPOT_DUSTING_ERROR",
86
+ INVALID_PARAMETER = "ERROR_HL_INVALID_PARAMETER",
87
+ INVALID_DECIMALS = "ERROR_HL_INVALID_DECIMALS",
88
+ INVALID_PERCENTAGE = "ERROR_HL_INVALID_PERCENTAGE",
89
+ CANCEL_NOT_ALLOWED = "ERROR_HL_CANCEL_NOT_ALLOWED",
90
+ MODIFY_NOT_ALLOWED = "ERROR_HL_MODIFY_NOT_ALLOWED",
91
+ BUILDER_FEE_ERROR = "ERROR_HL_BUILDER_FEE_ERROR"
92
+ }
93
+ //# sourceMappingURL=localization.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,108 @@
1
+ export var ErrorKey;
2
+ (function (ErrorKey) {
3
+ ErrorKey["UNKNOWN"] = "ERROR_UNKNOWN";
4
+ ErrorKey["VALIDATION_ERROR"] = "ERROR_VALIDATION";
5
+ ErrorKey["AUTH_FAILED"] = "ERROR_AUTH_FAILED";
6
+ // Hyperliquid SDK - User/Wallet
7
+ ErrorKey["USER_NOT_FOUND"] = "ERROR_HL_USER_NOT_FOUND";
8
+ ErrorKey["AGENT_NOT_APPROVED"] = "ERROR_HL_AGENT_NOT_APPROVED";
9
+ ErrorKey["AGENT_ALREADY_APPROVED"] = "ERROR_HL_AGENT_ALREADY_APPROVED";
10
+ ErrorKey["EXTRA_AGENT_ALREADY_USED"] = "ERROR_HL_EXTRA_AGENT_ALREADY_USED";
11
+ ErrorKey["AGENT_USER_ADDRESS"] = "ERROR_HL_AGENT_USER_ADDRESS";
12
+ ErrorKey["AGENT_DOES_NOT_EXIST"] = "ERROR_HL_AGENT_DOES_NOT_EXIST";
13
+ ErrorKey["BUILDER_NOT_APPROVED"] = "ERROR_HL_BUILDER_NOT_APPROVED";
14
+ ErrorKey["BUILDER_INSUFFICIENT_BALANCE"] = "ERROR_HL_BUILDER_INSUFFICIENT_BALANCE";
15
+ // Hyperliquid SDK - Order
16
+ ErrorKey["ORDER_IS_NOT_PLACED_OR_FULFILLED"] = "ERROR_HL_ORDER_IS_NOT_PLACED_OR_FULFILLED";
17
+ ErrorKey["ORDER_PRICE_TOO_FAR"] = "ERROR_HL_ORDER_PRICE_TOO_FAR";
18
+ ErrorKey["ORDER_PRICE_NOT_DIVISIBLE_BY_TICK"] = "ERROR_HL_ORDER_PRICE_NOT_DIVISIBLE_BY_TICK";
19
+ ErrorKey["ORDER_SIZE_TOO_SMALL"] = "ERROR_HL_ORDER_SIZE_TOO_SMALL";
20
+ ErrorKey["ORDER_SIZE_TOO_LARGE"] = "ERROR_HL_ORDER_SIZE_TOO_LARGE";
21
+ ErrorKey["ORDER_VALUE_TOO_SMALL"] = "ERROR_HL_ORDER_VALUE_TOO_SMALL";
22
+ ErrorKey["ORDER_INVALID_PRICE"] = "ERROR_HL_ORDER_INVALID_PRICE";
23
+ ErrorKey["ORDER_INVALID_SIZE"] = "ERROR_HL_ORDER_INVALID_SIZE";
24
+ ErrorKey["ORDER_ZERO_SIZE"] = "ERROR_HL_ORDER_ZERO_SIZE";
25
+ ErrorKey["ORDER_VALUE_TOO_LARGE"] = "ERROR_HL_ORDER_VALUE_TOO_LARGE";
26
+ ErrorKey["ORDER_TRIGGER_NOT_MAIN"] = "ERROR_HL_ORDER_TRIGGER_NOT_MAIN";
27
+ ErrorKey["ORDER_INVALID_TRIGGER_PRICE"] = "ERROR_HL_ORDER_INVALID_TRIGGER_PRICE";
28
+ ErrorKey["ORDER_WOULD_TRIGGER_IMMEDIATELY"] = "ERROR_HL_ORDER_WOULD_TRIGGER_IMMEDIATELY";
29
+ ErrorKey["ORDER_POST_ONLY_FAILED"] = "ERROR_HL_ORDER_POST_ONLY_FAILED";
30
+ ErrorKey["ORDER_IOC_CANCELLED"] = "ERROR_HL_ORDER_IOC_CANCELLED";
31
+ ErrorKey["ORDER_MAX_ORDERS_EXCEEDED"] = "ERROR_HL_ORDER_MAX_ORDERS_EXCEEDED";
32
+ ErrorKey["ORDER_DUPLICATE_CLOID"] = "ERROR_HL_ORDER_DUPLICATE_CLOID";
33
+ ErrorKey["ORDER_INVALID_TIF"] = "ERROR_HL_ORDER_INVALID_TIF";
34
+ ErrorKey["ORDER_NO_LIQUIDITY"] = "ERROR_HL_ORDER_NO_LIQUIDITY";
35
+ ErrorKey["ORDER_NO_IMMEDIATE_MATCH"] = "ERROR_HL_ORDER_NO_IMMEDIATE_MATCH";
36
+ ErrorKey["ORDER_INSUFFICIENT_SPOT_BALANCE"] = "ERROR_HL_ORDER_INSUFFICIENT_SPOT_BALANCE";
37
+ // Hyperliquid SDK - Position/Margin
38
+ ErrorKey["POSITION_NOT_FOUND"] = "ERROR_HL_POSITION_NOT_FOUND";
39
+ ErrorKey["POSITION_EMPTY"] = "ERROR_HL_POSITION_EMPTY";
40
+ ErrorKey["MARGIN_UPDATE_ZERO"] = "ERROR_HL_MARGIN_UPDATE_ZERO";
41
+ ErrorKey["INSUFFICIENT_MARGIN"] = "ERROR_HL_INSUFFICIENT_MARGIN";
42
+ ErrorKey["LEVERAGE_TOO_HIGH"] = "ERROR_HL_LEVERAGE_TOO_HIGH";
43
+ ErrorKey["LEVERAGE_TOO_LOW"] = "ERROR_HL_LEVERAGE_TOO_LOW";
44
+ ErrorKey["INVALID_LEVERAGE"] = "ERROR_HL_INVALID_LEVERAGE";
45
+ ErrorKey["MARGIN_MODE_CHANGE_FAILED"] = "ERROR_HL_MARGIN_MODE_CHANGE_FAILED";
46
+ ErrorKey["NOT_ISOLATED_MARGIN"] = "ERROR_HL_NOT_ISOLATED_MARGIN";
47
+ ErrorKey["REDUCE_ONLY_FAILED"] = "ERROR_HL_REDUCE_ONLY_FAILED";
48
+ ErrorKey["POSITION_LIMIT_EXCEEDED"] = "ERROR_HL_POSITION_LIMIT_EXCEEDED";
49
+ ErrorKey["POSITION_EXCEEDS_MARGIN_TIER"] = "ERROR_HL_POSITION_EXCEEDS_MARGIN_TIER";
50
+ ErrorKey["OPEN_INTEREST_AT_CAP"] = "ERROR_HL_OPEN_INTEREST_AT_CAP";
51
+ ErrorKey["OPEN_INTEREST_INCREASE_TOO_FAST"] = "ERROR_HL_OPEN_INTEREST_INCREASE_TOO_FAST";
52
+ ErrorKey["PRICE_TOO_AGGRESSIVE_AT_OI_CAP"] = "ERROR_HL_PRICE_TOO_AGGRESSIVE_AT_OI_CAP";
53
+ // Hyperliquid SDK - Asset
54
+ ErrorKey["INVALID_ASSET"] = "ERROR_HL_INVALID_ASSET";
55
+ ErrorKey["ASSET_NOT_TRADEABLE"] = "ERROR_HL_ASSET_NOT_TRADEABLE";
56
+ ErrorKey["ASSET_DELISTED"] = "ERROR_HL_ASSET_DELISTED";
57
+ // Hyperliquid SDK - Transfer/Withdraw
58
+ ErrorKey["TRANSFER_FAILED"] = "ERROR_HL_TRANSFER_FAILED";
59
+ ErrorKey["WITHDRAW_FAILED"] = "ERROR_HL_WITHDRAW_FAILED";
60
+ ErrorKey["WITHDRAW_ZERO_AMOUNT"] = "ERROR_HL_WITHDRAW_ZERO_AMOUNT";
61
+ ErrorKey["WITHDRAW_TOO_SMALL"] = "ERROR_HL_WITHDRAW_TOO_SMALL";
62
+ ErrorKey["WITHDRAW_SMALLER_THAN_FEE"] = "ERROR_HL_WITHDRAW_SMALLER_THAN_FEE";
63
+ ErrorKey["WITHDRAW_TOO_LARGE"] = "ERROR_HL_WITHDRAW_TOO_LARGE";
64
+ ErrorKey["WITHDRAW_BRIDGE_ERROR"] = "ERROR_HL_WITHDRAW_BRIDGE_ERROR";
65
+ ErrorKey["INVALID_DESTINATION"] = "ERROR_HL_INVALID_DESTINATION";
66
+ ErrorKey["SAME_ADDRESS_TRANSFER"] = "ERROR_HL_SAME_ADDRESS_TRANSFER";
67
+ ErrorKey["DEPOSIT_REQUIRED"] = "ERROR_HL_DEPOSIT_REQUIRED";
68
+ // Hyperliquid SDK - Vault
69
+ ErrorKey["VAULT_NOT_FOUND"] = "ERROR_HL_VAULT_NOT_FOUND";
70
+ ErrorKey["VAULT_NOT_REGISTERED"] = "ERROR_HL_VAULT_NOT_REGISTERED";
71
+ ErrorKey["VAULT_INSUFFICIENT_EQUITY"] = "ERROR_HL_VAULT_INSUFFICIENT_EQUITY";
72
+ ErrorKey["VAULT_DEPOSIT_TOO_SMALL"] = "ERROR_HL_VAULT_DEPOSIT_TOO_SMALL";
73
+ ErrorKey["VAULT_DEPOSIT_FAILED"] = "ERROR_HL_VAULT_DEPOSIT_FAILED";
74
+ ErrorKey["VAULT_WITHDRAW_FAILED"] = "ERROR_HL_VAULT_WITHDRAW_FAILED";
75
+ ErrorKey["VAULT_LOCKED"] = "ERROR_HL_VAULT_LOCKED";
76
+ // Hyperliquid SDK - TWAP
77
+ ErrorKey["TWAP_NOT_FOUND"] = "ERROR_HL_TWAP_NOT_FOUND";
78
+ ErrorKey["TWAP_ALREADY_CANCELLED"] = "ERROR_HL_TWAP_ALREADY_CANCELLED";
79
+ ErrorKey["TWAP_ALREADY_COMPLETED"] = "ERROR_HL_TWAP_ALREADY_COMPLETED";
80
+ ErrorKey["TWAP_INVALID_DURATION"] = "ERROR_HL_TWAP_INVALID_DURATION";
81
+ ErrorKey["TWAP_SIZE_TOO_SMALL"] = "ERROR_HL_TWAP_SIZE_TOO_SMALL";
82
+ ErrorKey["TWAP_VALUE_TOO_SMALL"] = "ERROR_HL_TWAP_VALUE_TOO_SMALL";
83
+ ErrorKey["TWAP_REDUCE_ONLY_WOULD_INCREASE"] = "ERROR_HL_TWAP_REDUCE_ONLY_WOULD_INCREASE";
84
+ ErrorKey["TWAP_NOT_PLACED_OR_FULFILLED"] = "ERROR_HL_TWAP_NOT_PLACED_OR_FULFILLED";
85
+ // Hyperliquid SDK - Schedule Cancel
86
+ ErrorKey["SCHEDULE_CANCEL_INVALID_TIME"] = "ERROR_HL_SCHEDULE_CANCEL_INVALID_TIME";
87
+ ErrorKey["SCHEDULE_CANCEL_TOO_FAR"] = "ERROR_HL_SCHEDULE_CANCEL_TOO_FAR";
88
+ ErrorKey["SCHEDULE_CANCEL_INSUFFICIENT_VOLUME"] = "ERROR_HL_SCHEDULE_CANCEL_INSUFFICIENT_VOLUME";
89
+ // Hyperliquid SDK - Signature/Auth
90
+ ErrorKey["FAILED_TO_SIGN_TYPED_DATA"] = "ERROR_HL_FAILED_TO_SIGN_TYPED_DATA";
91
+ ErrorKey["SIGNATURE_NETWORK_MISMATCH"] = "ERROR_HL_SIGNATURE_NETWORK_MISMATCH";
92
+ ErrorKey["INVALID_NONCE_DUPLICATE"] = "ERROR_HL_INVALID_NONCE_DUPLICATE";
93
+ // Hyperliquid SDK - Price
94
+ ErrorKey["PRICE_BAND_EXCEEDED"] = "ERROR_HL_PRICE_BAND_EXCEEDED";
95
+ // Hyperliquid SDK - Spot/Token
96
+ ErrorKey["INVALID_TOKEN"] = "ERROR_HL_INVALID_TOKEN";
97
+ ErrorKey["SPOT_DUSTING_ERROR"] = "ERROR_HL_SPOT_DUSTING_ERROR";
98
+ // Hyperliquid SDK - Validation
99
+ ErrorKey["INVALID_PARAMETER"] = "ERROR_HL_INVALID_PARAMETER";
100
+ ErrorKey["INVALID_DECIMALS"] = "ERROR_HL_INVALID_DECIMALS";
101
+ ErrorKey["INVALID_PERCENTAGE"] = "ERROR_HL_INVALID_PERCENTAGE";
102
+ // Hyperliquid SDK - Cancel/Modify
103
+ ErrorKey["CANCEL_NOT_ALLOWED"] = "ERROR_HL_CANCEL_NOT_ALLOWED";
104
+ ErrorKey["MODIFY_NOT_ALLOWED"] = "ERROR_HL_MODIFY_NOT_ALLOWED";
105
+ // Hyperliquid SDK - Builder/Fee
106
+ ErrorKey["BUILDER_FEE_ERROR"] = "ERROR_HL_BUILDER_FEE_ERROR";
107
+ })(ErrorKey || (ErrorKey = {}));
108
+ //# sourceMappingURL=localization.js.map
@@ -0,0 +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"}
@@ -0,0 +1,41 @@
1
+ import type { SubscriptionType, SubscriptionParams, WebSocketManagerConfig } from "./types";
2
+ export declare class WebSocketManager {
3
+ private subscriptions;
4
+ private throttleTimers;
5
+ private pendingUpdates;
6
+ private reconnectAttempts;
7
+ private reconnectTimer;
8
+ private connectionListeners;
9
+ private isPaused;
10
+ private pausedSubscriptions;
11
+ private wsTransport;
12
+ private subscriptionClient;
13
+ private readonly throttleConfigs;
14
+ private readonly reconnectConfig;
15
+ private readonly network;
16
+ constructor(config?: WebSocketManagerConfig);
17
+ private getWebSocketTransport;
18
+ private getSubscriptionClient;
19
+ pause(): void;
20
+ resume(): Promise<void>;
21
+ private getSubscriptionKey;
22
+ subscribe<T>(type: SubscriptionType, listener: (data: T) => void, params?: SubscriptionParams): Promise<() => void>;
23
+ private startSubscription;
24
+ private createThrottledHandler;
25
+ private dispatchUpdates;
26
+ private unsubscribe;
27
+ private cleanupSubscription;
28
+ private scheduleReconnect;
29
+ onConnectionChange(listener: (connected: boolean) => void): () => void;
30
+ private notifyConnectionListeners;
31
+ cleanup(): void;
32
+ getStats(): {
33
+ subscriptions: number;
34
+ listeners: number;
35
+ isPaused: boolean;
36
+ };
37
+ }
38
+ export declare function getWebSocketManager(config?: WebSocketManagerConfig): WebSocketManager;
39
+ export declare function resetWebSocketManager(): void;
40
+ export declare function createWebSocketManager(config?: WebSocketManagerConfig): WebSocketManager;
41
+ //# sourceMappingURL=WebSocketManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebSocketManager.d.ts","sourceRoot":"","sources":["../../src/websocket/WebSocketManager.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAIlB,sBAAsB,EAEvB,MAAM,SAAS,CAAC;AAgBjB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,cAAc,CAAoD;IAC1E,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,mBAAmB,CAA2C;IACtE,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,mBAAmB,CAGvB;IAEJ,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,kBAAkB,CAAmC;IAE7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2C;IAC3E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAEjC,MAAM,CAAC,EAAE,sBAAsB;IAY3C,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,qBAAqB;IAS7B,KAAK,IAAI,IAAI;IAyBP,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAa7B,OAAO,CAAC,kBAAkB;IAUpB,SAAS,CAAC,CAAC,EACf,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAC3B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,IAAI,CAAC;YA6BR,iBAAiB;IA4D/B,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,iBAAiB;IAuBzB,kBAAkB,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAKtE,OAAO,CAAC,yBAAyB;IAQjC,OAAO,IAAI,IAAI;IAsBf,QAAQ,IAAI;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;CAW5E;AAID,wBAAgB,mBAAmB,CACjC,MAAM,CAAC,EAAE,sBAAsB,GAC9B,gBAAgB,CAKlB;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAK5C;AAED,wBAAgB,sBAAsB,CACpC,MAAM,CAAC,EAAE,sBAAsB,GAC9B,gBAAgB,CAElB"}