@syldel/hl-shared-types 0.0.19 → 0.0.20

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.
@@ -0,0 +1,60 @@
1
+ import { DecimalString } from '../common';
2
+ import { AccountAbstractionMode } from './account-abstraction.type';
3
+ /**
4
+ * ============================================================================
5
+ * LE COLLATÉRAL D'UN MARCHÉ : TROIS RÉPONSES, PAS UN NOMBRE
6
+ *
7
+ * Réponse de `GET /hyperliquid/info/collateral-balance` du gateway.
8
+ *
9
+ * Ce type vit ici parce qu'il **traverse** le réseau : le gateway le produit,
10
+ * le bot le consomme. Une copie de chaque côté finirait par diverger, et la
11
+ * divergence porterait sur un chiffre qui dimensionne des ordres.
12
+ *
13
+ * Trois cas, parce que leurs remèdes sont trois : approvisionner le compte,
14
+ * corriger le nom du marché, ou attendre que le registre soit synchronisé.
15
+ * Jusqu'au 2026-10-01 les trois rendaient `'0'`, donc aucun n'était
16
+ * distinguable d'un compte vide — et `'0'` sur un calcul de taille fait
17
+ * dimensionner un ordre sur un capital qui n'a jamais été lu.
18
+ * ============================================================================
19
+ */
20
+ export type CollateralBalance =
21
+ /** Le solde a été lu. `total` et `used` sont ceux du collatéral nommé. */
22
+ {
23
+ status: 'ok';
24
+ /** Le mode qui a décidé d'où le solde a été lu — spot, ou état perp du dex. */
25
+ mode: AccountAbstractionMode;
26
+ /** Symbole du collatéral, pour l'affichage et les journaux. */
27
+ collateral: string;
28
+ /**
29
+ * Index du token, qui fait autorité pour apparier un solde.
30
+ * `null` quand l'appelant a imposé un symbole plutôt qu'un index.
31
+ */
32
+ collateralToken: number | null;
33
+ total: DecimalString;
34
+ used: DecimalString;
35
+ }
36
+ /**
37
+ * Le collatéral est identifié, mais le compte ne porte aucune ligne pour lui.
38
+ *
39
+ * ⚠️ Ce n'est **pas** la même chose qu'un solde nul. Hyperliquid n'énumère
40
+ * que les actifs que le compte a touchés : une absence vaut probablement
41
+ * zéro, mais « probablement » ne se présente pas comme un solde.
42
+ */
43
+ | {
44
+ status: 'no-balance-entry';
45
+ mode: AccountAbstractionMode;
46
+ collateral: string;
47
+ collateralToken: number | null;
48
+ }
49
+ /**
50
+ * Le catalogue ne dit pas dans quoi ce marché se règle — nom inconnu, ou
51
+ * registre pas encore synchronisé.
52
+ *
53
+ * Aucune valeur de repli n'est fournie, et c'est le point : la table en dur
54
+ * que ce contrat remplace répondait « USDC » à cette question.
55
+ */
56
+ | {
57
+ status: 'unknown-collateral';
58
+ mode: AccountAbstractionMode;
59
+ asset: string;
60
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -3,3 +3,4 @@ export * from './portfolio.interfaces';
3
3
  export * from './l2Book.interfaces';
4
4
  export * from './active-asset.interfaces';
5
5
  export * from './account-abstraction.type';
6
+ export * from './collateral-balance.interfaces';
@@ -19,3 +19,4 @@ __exportStar(require("./portfolio.interfaces"), exports);
19
19
  __exportStar(require("./l2Book.interfaces"), exports);
20
20
  __exportStar(require("./active-asset.interfaces"), exports);
21
21
  __exportStar(require("./account-abstraction.type"), exports);
22
+ __exportStar(require("./collateral-balance.interfaces"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syldel/hl-shared-types",
3
- "version": "0.0.19",
3
+ "version": "0.0.20",
4
4
  "description": "Shared TypeScript interfaces and types for Hyperliquid integration.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",