@syldel/hl-shared-types 0.0.29 → 0.0.30

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.
@@ -5,3 +5,4 @@ export * from './active-asset.interfaces';
5
5
  export * from './account-abstraction.type';
6
6
  export * from './collateral-balance.interfaces';
7
7
  export * from './user-fees.interfaces';
8
+ export * from './user-rate-limit.interfaces';
@@ -21,3 +21,4 @@ __exportStar(require("./active-asset.interfaces"), exports);
21
21
  __exportStar(require("./account-abstraction.type"), exports);
22
22
  __exportStar(require("./collateral-balance.interfaces"), exports);
23
23
  __exportStar(require("./user-fees.interfaces"), exports);
24
+ __exportStar(require("./user-rate-limit.interfaces"), exports);
@@ -0,0 +1,48 @@
1
+ import { DecimalString, HexString } from '../common';
2
+ /**
3
+ * ============================================================================
4
+ * LE COMPTEUR DE LA LIMITE PAR ADRESSE
5
+ *
6
+ * Réponse de `userRateLimit`, servie telle quelle par
7
+ * `GET /hyperliquid/info/user-rate-limit` du gateway (poids 20 sur la limite
8
+ * par IP).
9
+ *
10
+ * La limite par adresse est la seule qui puisse empêcher de poser un stop sans
11
+ * qu'aucun 429 ne prévienne avant : épuisée, elle ne laisse plus passer qu'une
12
+ * action toutes les 10 s. Elle ne compte que les actions, pas les lectures, et
13
+ * un lot de n ordres pour n (doc « Rate limits and user limits »).
14
+ *
15
+ * Forme recopiée de la documentation (« Query user rate limits », relue en brut
16
+ * le 2026-11-14) **et** mesurée le même jour sur un compte réel : `cumVlm` est
17
+ * une chaîne décimale, les trois compteurs des nombres.
18
+ *
19
+ * ⚠️ La doc définit `nRequestsUsed` et `nRequestsSurplus` par rapport à un
20
+ * « reserved » qu'elle ne définit nulle part. La lecture la plus plausible : les
21
+ * actions **achetées** par `reserveRequestWeight` (« Reserve Additional
22
+ * Actions », 0,0005 USDC l'une), et non la réserve initiale de 10 000, déjà
23
+ * comprise dans `nRequestsCap`. Non départagé : le compte mesuré n'en avait
24
+ * acheté aucune.
25
+ * ============================================================================
26
+ */
27
+ export interface HlUserRateLimitRequest {
28
+ type: 'userRateLimit';
29
+ user: HexString;
30
+ }
31
+ export interface HlUserRateLimit {
32
+ /** Le volume échangé depuis la création de l'adresse, en USDC. */
33
+ cumVlm: DecimalString;
34
+ /**
35
+ * « max(0, cumulative_used minus reserved) » d'après la doc. Mesuré le
36
+ * 2026-11-14 : 2288, aucune action achetée.
37
+ */
38
+ nRequestsUsed: number;
39
+ /**
40
+ * Le plafond : la réserve initiale de 10 000, **comprise**, plus 1 action par
41
+ * USDC échangé. Mesuré le 2026-11-14 : 61638 pour un `cumVlm` de 51638.93,
42
+ * soit exactement 10 000 + le volume arrondi. La marge avant le
43
+ * ralentissement est donc `nRequestsCap − nRequestsUsed`.
44
+ */
45
+ nRequestsCap: number;
46
+ /** « max(0, reserved minus cumulative_used) » d'après la doc. Mesuré à 0. */
47
+ nRequestsSurplus: number;
48
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syldel/hl-shared-types",
3
- "version": "0.0.29",
3
+ "version": "0.0.30",
4
4
  "description": "Shared TypeScript interfaces and types for Hyperliquid integration.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -49,5 +49,8 @@
49
49
  "ts-jest": "^29.4.13",
50
50
  "typescript": "^5.3.3",
51
51
  "typescript-eslint": "^8.53.0"
52
+ },
53
+ "allowScripts": {
54
+ "unrs-resolver": false
52
55
  }
53
56
  }