@lifi/perps-sdk-provider-hyperliquid 11.0.0 → 12.0.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.
- package/dist/cjs/utils/infoClient.d.ts.map +1 -1
- package/dist/cjs/utils/infoClient.js +5 -1
- package/dist/cjs/utils/infoClient.js.map +1 -1
- package/dist/esm/utils/infoClient.d.ts +4 -1
- package/dist/esm/utils/infoClient.d.ts.map +1 -1
- package/dist/esm/utils/infoClient.js +10 -3
- package/dist/esm/utils/infoClient.js.map +1 -1
- package/dist/types/utils/infoClient.d.ts +4 -1
- package/dist/types/utils/infoClient.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/utils/infoClient.ts +15 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infoClient.d.ts","sourceRoot":"","sources":["../../../src/utils/infoClient.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"infoClient.d.ts","sourceRoot":"","sources":["../../../src/utils/infoClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AA6BxB,eAAO,MAAM,0BAA0B,EAAE,mBAmBxC,CAAA;AAQD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAOD,eAAO,MAAM,aAAa,GACxB,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,kBAQD,CAAA;AAgBF,wBAAsB,WAAW,CAAC,CAAC,EACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAyCZ"}
|
|
@@ -21,6 +21,10 @@ const normalizeInfoValue = (value) => {
|
|
|
21
21
|
}
|
|
22
22
|
return value;
|
|
23
23
|
};
|
|
24
|
+
const HYPERLIQUID_STATUS_ERROR_CODES = {
|
|
25
|
+
401: perps_types_1.PerpsErrorCode.Unauthorized,
|
|
26
|
+
403: perps_types_1.PerpsErrorCode.AgentUnauthorized,
|
|
27
|
+
};
|
|
24
28
|
exports.HYPERLIQUID_RETRY_DEFAULTS = {
|
|
25
29
|
enabled: true,
|
|
26
30
|
maxAttempts: 3,
|
|
@@ -65,7 +69,7 @@ async function infoRequest(apiUrl, body, options) {
|
|
|
65
69
|
throw err;
|
|
66
70
|
}
|
|
67
71
|
if (!response.ok) {
|
|
68
|
-
const err = new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ThirdPartyError, `Hyperliquid info request failed: ${response.status}`);
|
|
72
|
+
const err = new perps_sdk_1.PerpsError((0, perps_sdk_1.errorCodeFromStatus)(response.status, perps_types_1.PerpsErrorCode.ThirdPartyError, HYPERLIQUID_STATUS_ERROR_CODES), `Hyperliquid info request failed: ${response.status}`);
|
|
69
73
|
err.tool = constants_js_1.PROVIDER_KEY;
|
|
70
74
|
throw err;
|
|
71
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infoClient.js","sourceRoot":"","sources":["../../../src/utils/infoClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"infoClient.js","sourceRoot":"","sources":["../../../src/utils/infoClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,10 @@ export declare const hlInfoOptions: (client: PerpsSDKClient, options?: SDKReques
|
|
|
26
26
|
* upstream-controlled and normalise into `@lifi/perps-types` shapes before
|
|
27
27
|
* surfacing.
|
|
28
28
|
*
|
|
29
|
-
* Non-2xx responses raise a {@link PerpsError} with the Hyperliquid
|
|
29
|
+
* Non-2xx responses raise a {@link PerpsError} tagged with the Hyperliquid
|
|
30
|
+
* provider key, carrying the code the status resolves to: `RateLimitExceeded`
|
|
31
|
+
* for a 429, `Unauthorized` for a 401, `AgentUnauthorized` for a 403, and
|
|
32
|
+
* `ThirdPartyError` for every other status.
|
|
30
33
|
* @public
|
|
31
34
|
*/
|
|
32
35
|
export declare function infoRequest<T>(apiUrl: string, body: Record<string, unknown>, options?: InfoRequestOptions): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infoClient.d.ts","sourceRoot":"","sources":["../../../src/utils/infoClient.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"infoClient.d.ts","sourceRoot":"","sources":["../../../src/utils/infoClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AA4BxB,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,EAAE,mBAmBxC,CAAA;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,kBAQD,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAyCZ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fetchWithRetry, PerpsError, resolveRetryPolicy, } from '@lifi/perps-sdk';
|
|
1
|
+
import { errorCodeFromStatus, fetchWithRetry, PerpsError, resolveRetryPolicy, } from '@lifi/perps-sdk';
|
|
2
2
|
import { PerpsErrorCode } from '@lifi/perps-types';
|
|
3
3
|
import { isAddress } from 'viem';
|
|
4
4
|
import { PROVIDER_KEY } from '../constants.js';
|
|
@@ -17,6 +17,10 @@ const normalizeInfoValue = (value) => {
|
|
|
17
17
|
}
|
|
18
18
|
return value;
|
|
19
19
|
};
|
|
20
|
+
const HYPERLIQUID_STATUS_ERROR_CODES = {
|
|
21
|
+
401: PerpsErrorCode.Unauthorized,
|
|
22
|
+
403: PerpsErrorCode.AgentUnauthorized,
|
|
23
|
+
};
|
|
20
24
|
/** @internal */
|
|
21
25
|
export const HYPERLIQUID_RETRY_DEFAULTS = {
|
|
22
26
|
enabled: true,
|
|
@@ -54,7 +58,10 @@ export const hlInfoOptions = (client, options) => ({
|
|
|
54
58
|
* upstream-controlled and normalise into `@lifi/perps-types` shapes before
|
|
55
59
|
* surfacing.
|
|
56
60
|
*
|
|
57
|
-
* Non-2xx responses raise a {@link PerpsError} with the Hyperliquid
|
|
61
|
+
* Non-2xx responses raise a {@link PerpsError} tagged with the Hyperliquid
|
|
62
|
+
* provider key, carrying the code the status resolves to: `RateLimitExceeded`
|
|
63
|
+
* for a 429, `Unauthorized` for a 401, `AgentUnauthorized` for a 403, and
|
|
64
|
+
* `ThirdPartyError` for every other status.
|
|
58
65
|
* @public
|
|
59
66
|
*/
|
|
60
67
|
export async function infoRequest(apiUrl, body, options) {
|
|
@@ -77,7 +84,7 @@ export async function infoRequest(apiUrl, body, options) {
|
|
|
77
84
|
throw err;
|
|
78
85
|
}
|
|
79
86
|
if (!response.ok) {
|
|
80
|
-
const err = new PerpsError(PerpsErrorCode.ThirdPartyError, `Hyperliquid info request failed: ${response.status}`);
|
|
87
|
+
const err = new PerpsError(errorCodeFromStatus(response.status, PerpsErrorCode.ThirdPartyError, HYPERLIQUID_STATUS_ERROR_CODES), `Hyperliquid info request failed: ${response.status}`);
|
|
81
88
|
err.tool = PROVIDER_KEY;
|
|
82
89
|
throw err;
|
|
83
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infoClient.js","sourceRoot":"","sources":["../../../src/utils/infoClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EAGV,kBAAkB,GAEnB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAW,EAAE;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;IAC1E,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IACtC,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;YAChD,GAAG;YACH,kBAAkB,CAAC,WAAW,CAAC;SAChC,CAAC,CACH,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,0BAA0B,GAAwB;IAC7D,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,MAAM;IAClB,iBAAiB,EAAE,IAAI;IACvB,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,kBAAkB,CAAA;QAC3B,CAAC;QACD,IACE,QAAQ,CAAC,MAAM,KAAK,GAAG;YACvB,QAAQ,CAAC,MAAM,KAAK,GAAG;YACvB,QAAQ,CAAC,MAAM,KAAK,GAAG,EACvB,CAAC;YACD,OAAO,cAAc,CAAA;QACvB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAcD;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAAsB,EACtB,OAA2B,EACP,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,OAAO,EAAE,MAAM;IACvB,MAAM,EAAE,kBAAkB,CACxB,0BAA0B,EAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,EACnB,YAAY,CACb;IACD,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;CAC/B,CAAC,CAAA;AAEF
|
|
1
|
+
{"version":3,"file":"infoClient.js","sourceRoot":"","sources":["../../../src/utils/infoClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,10 @@ export declare const hlInfoOptions: (client: PerpsSDKClient, options?: SDKReques
|
|
|
26
26
|
* upstream-controlled and normalise into `@lifi/perps-types` shapes before
|
|
27
27
|
* surfacing.
|
|
28
28
|
*
|
|
29
|
-
* Non-2xx responses raise a {@link PerpsError} with the Hyperliquid
|
|
29
|
+
* Non-2xx responses raise a {@link PerpsError} tagged with the Hyperliquid
|
|
30
|
+
* provider key, carrying the code the status resolves to: `RateLimitExceeded`
|
|
31
|
+
* for a 429, `Unauthorized` for a 401, `AgentUnauthorized` for a 403, and
|
|
32
|
+
* `ThirdPartyError` for every other status.
|
|
30
33
|
* @public
|
|
31
34
|
*/
|
|
32
35
|
export declare function infoRequest<T>(apiUrl: string, body: Record<string, unknown>, options?: InfoRequestOptions): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infoClient.d.ts","sourceRoot":"","sources":["../../../src/utils/infoClient.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"infoClient.d.ts","sourceRoot":"","sources":["../../../src/utils/infoClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AA4BxB,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,EAAE,mBAmBxC,CAAA;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,kBAQD,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAyCZ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/perps-sdk-provider-hyperliquid",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0",
|
|
4
4
|
"description": "Hyperliquid provider plugin for @lifi/perps-sdk",
|
|
5
5
|
"homepage": "https://github.com/lifinance/perps-sdk",
|
|
6
6
|
"bugs": {
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"big.js": "^7.0.1",
|
|
51
51
|
"viem": "^2.55.18",
|
|
52
|
-
"@lifi/perps-types": "^12.0.
|
|
52
|
+
"@lifi/perps-types": "^12.0.1"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
|
-
"@lifi/perps-sdk": "^
|
|
55
|
+
"@lifi/perps-sdk": "^12.0.0"
|
|
56
56
|
},
|
|
57
57
|
"publishConfig": {
|
|
58
58
|
"access": "public"
|
package/src/utils/infoClient.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
errorCodeFromStatus,
|
|
2
3
|
fetchWithRetry,
|
|
3
4
|
PerpsError,
|
|
4
5
|
type PerpsSDKClient,
|
|
@@ -28,6 +29,11 @@ const normalizeInfoValue = (value: unknown): unknown => {
|
|
|
28
29
|
return value
|
|
29
30
|
}
|
|
30
31
|
|
|
32
|
+
const HYPERLIQUID_STATUS_ERROR_CODES = {
|
|
33
|
+
401: PerpsErrorCode.Unauthorized,
|
|
34
|
+
403: PerpsErrorCode.AgentUnauthorized,
|
|
35
|
+
} as const
|
|
36
|
+
|
|
31
37
|
/** @internal */
|
|
32
38
|
export const HYPERLIQUID_RETRY_DEFAULTS: ResolvedRetryPolicy = {
|
|
33
39
|
enabled: true,
|
|
@@ -88,7 +94,10 @@ export const hlInfoOptions = (
|
|
|
88
94
|
* upstream-controlled and normalise into `@lifi/perps-types` shapes before
|
|
89
95
|
* surfacing.
|
|
90
96
|
*
|
|
91
|
-
* Non-2xx responses raise a {@link PerpsError} with the Hyperliquid
|
|
97
|
+
* Non-2xx responses raise a {@link PerpsError} tagged with the Hyperliquid
|
|
98
|
+
* provider key, carrying the code the status resolves to: `RateLimitExceeded`
|
|
99
|
+
* for a 429, `Unauthorized` for a 401, `AgentUnauthorized` for a 403, and
|
|
100
|
+
* `ThirdPartyError` for every other status.
|
|
92
101
|
* @public
|
|
93
102
|
*/
|
|
94
103
|
export async function infoRequest<T>(
|
|
@@ -124,7 +133,11 @@ export async function infoRequest<T>(
|
|
|
124
133
|
|
|
125
134
|
if (!response.ok) {
|
|
126
135
|
const err = new PerpsError(
|
|
127
|
-
|
|
136
|
+
errorCodeFromStatus(
|
|
137
|
+
response.status,
|
|
138
|
+
PerpsErrorCode.ThirdPartyError,
|
|
139
|
+
HYPERLIQUID_STATUS_ERROR_CODES
|
|
140
|
+
),
|
|
128
141
|
`Hyperliquid info request failed: ${response.status}`
|
|
129
142
|
)
|
|
130
143
|
err.tool = PROVIDER_KEY
|