@nktkas/hyperliquid 0.25.4 → 0.25.5

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 (58) hide show
  1. package/README.md +25 -0
  2. package/esm/src/api/exchange/~client.js +1 -1
  3. package/esm/src/api/exchange/~client.js.map +1 -1
  4. package/esm/src/api/info/l2Book.d.ts +3 -3
  5. package/esm/src/api/info/l2Book.d.ts.map +1 -1
  6. package/esm/src/api/info/l2Book.js +2 -2
  7. package/esm/src/api/info/l2Book.js.map +1 -1
  8. package/esm/src/api/info/~client.d.ts +1 -1
  9. package/esm/src/api/subscription/l2Book.d.ts +3 -0
  10. package/esm/src/api/subscription/l2Book.d.ts.map +1 -1
  11. package/esm/src/api/subscription/l2Book.js +10 -3
  12. package/esm/src/api/subscription/l2Book.js.map +1 -1
  13. package/esm/src/utils/{minimalEIP712Signer.d.ts → _minimalEIP712Signer.d.ts} +1 -1
  14. package/esm/src/utils/_minimalEIP712Signer.d.ts.map +1 -0
  15. package/esm/src/utils/{minimalEIP712Signer.js → _minimalEIP712Signer.js} +1 -1
  16. package/esm/src/utils/_minimalEIP712Signer.js.map +1 -0
  17. package/esm/src/utils/_symbolConverter.d.ts +77 -0
  18. package/esm/src/utils/_symbolConverter.d.ts.map +1 -0
  19. package/esm/src/utils/_symbolConverter.js +155 -0
  20. package/esm/src/utils/_symbolConverter.js.map +1 -0
  21. package/esm/src/utils/mod.d.ts +2 -0
  22. package/esm/src/utils/mod.d.ts.map +1 -0
  23. package/esm/src/utils/mod.js +2 -0
  24. package/esm/src/utils/mod.js.map +1 -0
  25. package/package.json +5 -1
  26. package/script/src/api/exchange/~client.js +3 -3
  27. package/script/src/api/exchange/~client.js.map +1 -1
  28. package/script/src/api/info/l2Book.d.ts +3 -3
  29. package/script/src/api/info/l2Book.d.ts.map +1 -1
  30. package/script/src/api/info/l2Book.js +2 -2
  31. package/script/src/api/info/l2Book.js.map +1 -1
  32. package/script/src/api/info/~client.d.ts +1 -1
  33. package/script/src/api/subscription/l2Book.d.ts +3 -0
  34. package/script/src/api/subscription/l2Book.d.ts.map +1 -1
  35. package/script/src/api/subscription/l2Book.js +9 -2
  36. package/script/src/api/subscription/l2Book.js.map +1 -1
  37. package/script/src/utils/{minimalEIP712Signer.d.ts → _minimalEIP712Signer.d.ts} +1 -1
  38. package/script/src/utils/_minimalEIP712Signer.d.ts.map +1 -0
  39. package/script/src/utils/{minimalEIP712Signer.js → _minimalEIP712Signer.js} +1 -1
  40. package/script/src/utils/_minimalEIP712Signer.js.map +1 -0
  41. package/script/src/utils/_symbolConverter.d.ts +77 -0
  42. package/script/src/utils/_symbolConverter.d.ts.map +1 -0
  43. package/script/src/utils/_symbolConverter.js +159 -0
  44. package/script/src/utils/_symbolConverter.js.map +1 -0
  45. package/script/src/utils/mod.d.ts +2 -0
  46. package/script/src/utils/mod.d.ts.map +1 -0
  47. package/script/src/utils/mod.js +18 -0
  48. package/script/src/utils/mod.js.map +1 -0
  49. package/src/src/api/exchange/~client.ts +1 -1
  50. package/src/src/api/info/l2Book.ts +20 -18
  51. package/src/src/api/subscription/l2Book.ts +22 -3
  52. package/src/src/utils/_symbolConverter.ts +185 -0
  53. package/src/src/utils/mod.ts +1 -0
  54. package/esm/src/utils/minimalEIP712Signer.d.ts.map +0 -1
  55. package/esm/src/utils/minimalEIP712Signer.js.map +0 -1
  56. package/script/src/utils/minimalEIP712Signer.d.ts.map +0 -1
  57. package/script/src/utils/minimalEIP712Signer.js.map +0 -1
  58. /package/src/src/utils/{minimalEIP712Signer.ts → _minimalEIP712Signer.ts} +0 -0
@@ -25,7 +25,7 @@ export type L2BookRequest = v.InferOutput<typeof L2BookRequest>;
25
25
  * L2 order book snapshot.
26
26
  * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#l2-book-snapshot
27
27
  */
28
- export declare const L2BookResponse: v.SchemaWithPipe<readonly [v.ObjectSchema<{
28
+ export declare const L2BookResponse: v.SchemaWithPipe<readonly [v.NullableSchema<v.ObjectSchema<{
29
29
  /** Asset symbol. */
30
30
  readonly coin: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "Asset symbol.">]>;
31
31
  /** Timestamp of the snapshot (in ms since epoch). */
@@ -56,7 +56,7 @@ export declare const L2BookResponse: v.SchemaWithPipe<readonly [v.ObjectSchema<{
56
56
  sz: string;
57
57
  n: number;
58
58
  }[]], "Bid and ask levels (index 0 = bids, index 1 = asks).">]>;
59
- }, undefined>, v.DescriptionAction<{
59
+ }, undefined>, undefined>, v.DescriptionAction<{
60
60
  coin: string;
61
61
  time: number;
62
62
  levels: [{
@@ -68,7 +68,7 @@ export declare const L2BookResponse: v.SchemaWithPipe<readonly [v.ObjectSchema<{
68
68
  sz: string;
69
69
  n: number;
70
70
  }[]];
71
- }, "L2 order book snapshot.">]>;
71
+ } | null, "L2 order book snapshot or `null` if the market does not exist.">]>;
72
72
  export type L2BookResponse = v.InferOutput<typeof L2BookResponse>;
73
73
  /** Request parameters for the {@linkcode l2Book} function. */
74
74
  export type L2BookParameters = Omit<v.InferInput<typeof L2BookRequest>, "type">;
@@ -1 +1 @@
1
- {"version":3,"file":"l2Book.d.ts","sourceRoot":"","sources":["../../../../src/src/api/info/l2Book.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,KAAK,aAAa,EAAoC,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMpD;;;GAGG;AACH,eAAO,MAAM,aAAa;IAGpB,uBAAuB;;IAKvB,gCAAgC;;IAKhC,qCAAqC;;IAUrC,qDAAqD;;;;;;;8BAavD,CAAC;AACL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,aAAa,CAAC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,cAAc;IAGrB,oBAAoB;;IAKpB,qDAAqD;;IAKrD,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAQ7D,CAAC;AACL,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC;AAIlE,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,MAAM,CACpB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACvC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAMzB"}
1
+ {"version":3,"file":"l2Book.d.ts","sourceRoot":"","sources":["../../../../src/src/api/info/l2Book.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,KAAK,aAAa,EAAoC,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMpD;;;GAGG;AACH,eAAO,MAAM,aAAa;IAGpB,uBAAuB;;IAKvB,gCAAgC;;IAKhC,qCAAqC;;IAUrC,qDAAqD;;;;;;;8BAavD,CAAC;AACL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,aAAa,CAAC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,cAAc;IAInB,oBAAoB;;IAKpB,qDAAqD;;IAKrD,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAS/D,CAAC;AACL,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC;AAIlE,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,MAAM,CACpB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACvC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAMzB"}
@@ -60,14 +60,14 @@ exports.L2BookRequest = (() => {
60
60
  * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#l2-book-snapshot
61
61
  */
62
62
  exports.L2BookResponse = (() => {
63
- return v.pipe(v.object({
63
+ return v.pipe(v.nullable(v.object({
64
64
  /** Asset symbol. */
65
65
  coin: v.pipe(v.string(), v.description("Asset symbol.")),
66
66
  /** Timestamp of the snapshot (in ms since epoch). */
67
67
  time: v.pipe(_base_js_1.UnsignedInteger, v.description("Timestamp of the snapshot (in ms since epoch).")),
68
68
  /** Bid and ask levels (index 0 = bids, index 1 = asks). */
69
69
  levels: v.pipe(v.tuple([v.array(_common_schemas_js_1.L2BookLevelSchema), v.array(_common_schemas_js_1.L2BookLevelSchema)]), v.description("Bid and ask levels (index 0 = bids, index 1 = asks).")),
70
- }), v.description("L2 order book snapshot."));
70
+ })), v.description("L2 order book snapshot or `null` if the market does not exist."));
71
71
  })();
72
72
  /**
73
73
  * Request L2 order book.
@@ -1 +1 @@
1
- {"version":3,"file":"l2Book.js","sourceRoot":"","sources":["../../../../src/src/api/info/l2Book.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0GA,wBAUC;AApHD,2CAA6B;AAC7B,0CAAmF;AAGnF,8DAA0D;AAE1D,oDAAoD;AAEpD;;;GAGG;AACU,QAAA,aAAa,GAAmB,CAAC,GAAG,EAAE;IACjD,OAAO,CAAC,CAAC,IAAI,CACX,CAAC,CAAC,MAAM,CAAC;QACP,uBAAuB;QACvB,IAAI,EAAE,CAAC,CAAC,IAAI,CACV,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EACnB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAClC;QACD,gCAAgC;QAChC,IAAI,EAAE,CAAC,CAAC,IAAI,CACV,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAC3C;QACD,qCAAqC;QACrC,QAAQ,EAAE,CAAC,CAAC,IAAI,CACd,CAAC,CAAC,OAAO,CACP,CAAC,CAAC,IAAI,CACJ,kBAAO,EACP,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAClE,CACF,EACD,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAChD;QACD,qDAAqD;QACrD,QAAQ,EAAE,CAAC,CAAC,IAAI,CACd,CAAC,CAAC,OAAO,CACP,CAAC,CAAC,IAAI,CACJ,kBAAO,EACP,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CACtC,CACF,EACD,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAChE;KACF,CAAC,EACF,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CACxC,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC;AAGL;;;GAGG;AACU,QAAA,cAAc,GAAmB,CAAC,GAAG,EAAE;IAClD,OAAO,CAAC,CAAC,IAAI,CACX,CAAC,CAAC,MAAM,CAAC;QACP,oBAAoB;QACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CACV,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAC/B;QACD,qDAAqD;QACrD,IAAI,EAAE,CAAC,CAAC,IAAI,CACV,0BAAe,EACf,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAChE;QACD,2DAA2D;QAC3D,MAAM,EAAE,CAAC,CAAC,IAAI,CACZ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,sCAAiB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,sCAAiB,CAAC,CAAC,CAAC,EACjE,CAAC,CAAC,WAAW,CAAC,sDAAsD,CAAC,CACtE;KACF,CAAC,EACF,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,CACzC,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC;AAQL;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,MAAM,CACpB,MAAyB,EACzB,MAAuC,EACvC,MAAoB;IAEpB,MAAM,OAAO,GAAG,IAAA,iBAAM,EAAC,qBAAa,CAAC,CAAC;QACpC,IAAI,EAAE,QAAQ;QACd,GAAG,MAAM;KACV,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"l2Book.js","sourceRoot":"","sources":["../../../../src/src/api/info/l2Book.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4GA,wBAUC;AAtHD,2CAA6B;AAC7B,0CAAmF;AAGnF,8DAA0D;AAE1D,oDAAoD;AAEpD;;;GAGG;AACU,QAAA,aAAa,GAAmB,CAAC,GAAG,EAAE;IACjD,OAAO,CAAC,CAAC,IAAI,CACX,CAAC,CAAC,MAAM,CAAC;QACP,uBAAuB;QACvB,IAAI,EAAE,CAAC,CAAC,IAAI,CACV,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EACnB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAClC;QACD,gCAAgC;QAChC,IAAI,EAAE,CAAC,CAAC,IAAI,CACV,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAC3C;QACD,qCAAqC;QACrC,QAAQ,EAAE,CAAC,CAAC,IAAI,CACd,CAAC,CAAC,OAAO,CACP,CAAC,CAAC,IAAI,CACJ,kBAAO,EACP,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAClE,CACF,EACD,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAChD;QACD,qDAAqD;QACrD,QAAQ,EAAE,CAAC,CAAC,IAAI,CACd,CAAC,CAAC,OAAO,CACP,CAAC,CAAC,IAAI,CACJ,kBAAO,EACP,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CACtC,CACF,EACD,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAChE;KACF,CAAC,EACF,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CACxC,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC;AAGL;;;GAGG;AACU,QAAA,cAAc,GAAmB,CAAC,GAAG,EAAE;IAClD,OAAO,CAAC,CAAC,IAAI,CACX,CAAC,CAAC,QAAQ,CACR,CAAC,CAAC,MAAM,CAAC;QACP,oBAAoB;QACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CACV,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAC/B;QACD,qDAAqD;QACrD,IAAI,EAAE,CAAC,CAAC,IAAI,CACV,0BAAe,EACf,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAChE;QACD,2DAA2D;QAC3D,MAAM,EAAE,CAAC,CAAC,IAAI,CACZ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,sCAAiB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,sCAAiB,CAAC,CAAC,CAAC,EACjE,CAAC,CAAC,WAAW,CAAC,sDAAsD,CAAC,CACtE;KACF,CAAC,CACH,EACD,CAAC,CAAC,WAAW,CAAC,gEAAgE,CAAC,CAChF,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC;AAQL;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,MAAM,CACpB,MAAyB,EACzB,MAAuC,EACvC,MAAoB;IAEpB,MAAM,OAAO,GAAG,IAAA,iBAAM,EAAC,qBAAa,CAAC,CAAC;QACpC,IAAI,EAAE,QAAQ;QACd,GAAG,MAAM;KACV,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC"}
@@ -705,7 +705,7 @@ export declare class InfoClient<T extends IRequestTransport = IRequestTransport>
705
705
  sz: string;
706
706
  n: number;
707
707
  }[]];
708
- }>;
708
+ } | null>;
709
709
  /**
710
710
  * Request leading vaults for a user.
711
711
  * @param params - Parameters specific to the API request.
@@ -21,8 +21,11 @@ export declare const L2BookRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
21
21
  export type L2BookRequest = v.InferOutput<typeof L2BookRequest>;
22
22
  /** Event of L2 order book snapshot. */
23
23
  export declare const L2BookEvent: v.SchemaWithPipe<readonly [v.ObjectSchema<{
24
+ /** Asset symbol. */
24
25
  readonly coin: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "Asset symbol.">]>;
26
+ /** Timestamp of the snapshot (in ms since epoch). */
25
27
  readonly time: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, v.TransformAction<any, number>, v.SafeIntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.DescriptionAction<number, "Timestamp of the snapshot (in ms since epoch).">]>;
28
+ /** Bid and ask levels (index 0 = bids, index 1 = asks). */
26
29
  readonly levels: v.SchemaWithPipe<readonly [v.TupleSchema<[v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
27
30
  readonly px: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, v.TransformAction<any, string>, v.TrimAction, v.RegexAction<string, undefined>, v.TransformAction<string, string>]>, v.DescriptionAction<string, "Price.">]>;
28
31
  readonly sz: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, v.TransformAction<any, string>, v.TrimAction, v.RegexAction<string, undefined>, v.TransformAction<string, string>]>, v.DescriptionAction<string, "Total size.">]>;
@@ -1 +1 @@
1
- {"version":3,"file":"l2Book.d.ts","sourceRoot":"","sources":["../../../../src/src/api/subscription/l2Book.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAM5D,iEAAiE;AACjE,eAAO,MAAM,aAAa;IAGpB,4BAA4B;;IAK5B,gCAAgC;;IAKhC,qCAAqC;;IAUrC,qDAAqD;;;;;;;kEAavD,CAAC;AACL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,aAAa,CAAC,CAAC;AAEhE,uCAAuC;AACvC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAEpB,CAAC;AACL,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,WAAW,CAAC,CAAC;AAI5D,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,MAAM,CACpB,MAAM,EAAE,yBAAyB,EACjC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACvC,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,GACpC,OAAO,CAAC,YAAY,CAAC,CAYvB"}
1
+ {"version":3,"file":"l2Book.d.ts","sourceRoot":"","sources":["../../../../src/src/api/subscription/l2Book.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,KAAK,aAAa,EAAoC,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAM5D,iEAAiE;AACjE,eAAO,MAAM,aAAa;IAGpB,4BAA4B;;IAK5B,gCAAgC;;IAKhC,qCAAqC;;IAUrC,qDAAqD;;;;;;;kEAavD,CAAC;AACL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,aAAa,CAAC,CAAC;AAEhE,uCAAuC;AACvC,eAAO,MAAM,WAAW;IAGlB,oBAAoB;;IAKpB,qDAAqD;;IAKrD,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAQ7D,CAAC;AACL,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,WAAW,CAAC,CAAC;AAI5D,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,MAAM,CACpB,MAAM,EAAE,yBAAyB,EACjC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACvC,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,GACpC,OAAO,CAAC,YAAY,CAAC,CAYvB"}
@@ -37,7 +37,7 @@ exports.L2BookEvent = exports.L2BookRequest = void 0;
37
37
  exports.l2Book = l2Book;
38
38
  const v = __importStar(require("valibot"));
39
39
  const _base_js_1 = require("../_base.js");
40
- const l2Book_js_1 = require("../info/l2Book.js");
40
+ const _common_schemas_js_1 = require("../_common_schemas.js");
41
41
  // -------------------- Schemas --------------------
42
42
  /** Subscription to L2 order book events for a specific asset. */
43
43
  exports.L2BookRequest = (() => {
@@ -54,7 +54,14 @@ exports.L2BookRequest = (() => {
54
54
  })();
55
55
  /** Event of L2 order book snapshot. */
56
56
  exports.L2BookEvent = (() => {
57
- return l2Book_js_1.L2BookResponse;
57
+ return v.pipe(v.object({
58
+ /** Asset symbol. */
59
+ coin: v.pipe(v.string(), v.description("Asset symbol.")),
60
+ /** Timestamp of the snapshot (in ms since epoch). */
61
+ time: v.pipe(_base_js_1.UnsignedInteger, v.description("Timestamp of the snapshot (in ms since epoch).")),
62
+ /** Bid and ask levels (index 0 = bids, index 1 = asks). */
63
+ levels: v.pipe(v.tuple([v.array(_common_schemas_js_1.L2BookLevelSchema), v.array(_common_schemas_js_1.L2BookLevelSchema)]), v.description("Bid and ask levels (index 0 = bids, index 1 = asks).")),
64
+ }), v.description("L2 order book snapshot."));
58
65
  })();
59
66
  /**
60
67
  * Subscribe to L2 order book updates for a specific asset.
@@ -1 +1 @@
1
- {"version":3,"file":"l2Book.js","sourceRoot":"","sources":["../../../../src/src/api/subscription/l2Book.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoFA,wBAgBC;AApGD,2CAA6B;AAC7B,0CAAkE;AAIlE,iDAAmD;AAEnD,oDAAoD;AAEpD,iEAAiE;AACpD,QAAA,aAAa,GAAmB,CAAC,GAAG,EAAE;IACjD,OAAO,CAAC,CAAC,IAAI,CACX,CAAC,CAAC,MAAM,CAAC;QACP,4BAA4B;QAC5B,IAAI,EAAE,CAAC,CAAC,IAAI,CACV,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EACnB,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CACvC;QACD,gCAAgC;QAChC,IAAI,EAAE,CAAC,CAAC,IAAI,CACV,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAC3C;QACD,qCAAqC;QACrC,QAAQ,EAAE,CAAC,CAAC,IAAI,CACd,CAAC,CAAC,OAAO,CACP,CAAC,CAAC,IAAI,CACJ,kBAAO,EACP,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAClE,CACF,EACD,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAChD;QACD,qDAAqD;QACrD,QAAQ,EAAE,CAAC,CAAC,IAAI,CACd,CAAC,CAAC,OAAO,CACP,CAAC,CAAC,IAAI,CACJ,kBAAO,EACP,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CACtC,CACF,EACD,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAChE;KACF,CAAC,EACF,CAAC,CAAC,WAAW,CAAC,4DAA4D,CAAC,CAC5E,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC;AAGL,uCAAuC;AAC1B,QAAA,WAAW,GAAmB,CAAC,GAAG,EAAE;IAC/C,OAAO,0BAAc,CAAC;AACxB,CAAC,CAAC,EAAE,CAAC;AAQL;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,MAAM,CACpB,MAAiC,EACjC,MAAuC,EACvC,QAAqC;IAErC,MAAM,OAAO,GAAG,IAAA,iBAAM,EAAC,qBAAa,CAAC,CAAC;QACpC,IAAI,EAAE,QAAQ;QACd,GAAG,MAAM;QACT,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;KAClC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,CAAc,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QAC1E,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;YACnC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"l2Book.js","sourceRoot":"","sources":["../../../../src/src/api/subscription/l2Book.ts"],"names":[],"mappings":"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"}
@@ -24,4 +24,4 @@ export declare class PrivateKeyEIP712Signer implements AbstractViemLocalAccount
24
24
  message: Record<string, unknown>;
25
25
  }): Promise<`0x${string}`>;
26
26
  }
27
- //# sourceMappingURL=minimalEIP712Signer.d.ts.map
27
+ //# sourceMappingURL=_minimalEIP712Signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_minimalEIP712Signer.d.ts","sourceRoot":"","sources":["../../../src/src/utils/_minimalEIP712Signer.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,KAAK;IACpB,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;CACL;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,MAAM,EAAE,CAAC;IACnD,iBAAiB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;CACtB;AAqMD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAElE,2DAA2D;AAC3D,qBAAa,sBAAuB,YAAW,wBAAwB;;IAErE,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;gBACX,UAAU,EAAE,MAAM,GAAG,UAAU;IAI3C,aAAa,CACX,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,KAAK,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,GACA,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;CAG1B"}
@@ -206,4 +206,4 @@ function privateKeyToAddress(privateKey) {
206
206
  const address = secp.etc.bytesToHex(addressBytes);
207
207
  return `0x${address}`;
208
208
  }
209
- //# sourceMappingURL=minimalEIP712Signer.js.map
209
+ //# sourceMappingURL=_minimalEIP712Signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_minimalEIP712Signer.js","sourceRoot":"","sources":["../../../src/src/utils/_minimalEIP712Signer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import type { IRequestTransport } from "../transport/base.js";
2
+ export type DexOption = string[] | boolean;
3
+ /** Options for creating a SymbolConverter instance. */
4
+ export interface SymbolConverterOptions {
5
+ /** Transport instance to use for API requests. */
6
+ transport: IRequestTransport;
7
+ /** Optional dex support: array of dex names, true for all dexs, or false/undefined to skip. */
8
+ dexs?: DexOption;
9
+ }
10
+ /**
11
+ * Utility class for converting asset symbols to their corresponding IDs and size decimals.
12
+ * Supports perpetuals, spot markets, and optional builder dexs.
13
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/asset-ids
14
+ * @example
15
+ * ```ts
16
+ * import { HttpTransport } from "@nktkas/hyperliquid";
17
+ * import { SymbolConverter } from "@nktkas/hyperliquid/utils";
18
+ *
19
+ * const transport = new HttpTransport(); // or `WebSocketTransport`
20
+ * const converter = await SymbolConverter.create({ transport });
21
+ *
22
+ * const btcId = converter.getAssetId("BTC"); // perpetual → 0
23
+ * const hypeUsdcId = converter.getAssetId("HYPE/USDC"); // spot market → 10107
24
+ * const dexAbcId = converter.getAssetId("test:ABC"); // builder dex (if enabled) → 110000
25
+ *
26
+ * const btcSzDecimals = converter.getSzDecimals("BTC"); // perpetual → 5
27
+ * const hypeUsdcSzDecimals = converter.getSzDecimals("HYPE/USDC"); // spot market → 2
28
+ * const dexAbcSzDecimals = converter.getSzDecimals("test:ABC"); // builder dex (if enabled) → 0
29
+ * ```
30
+ */
31
+ export declare class SymbolConverter {
32
+ private readonly transport;
33
+ private readonly dexOption;
34
+ private readonly nameToAssetId;
35
+ private readonly nameToSzDecimals;
36
+ private constructor();
37
+ /**
38
+ * Create and initialize a SymbolConverter instance.
39
+ * @param options - Configuration options including transport and optional dex support.
40
+ * @returns Initialized SymbolConverter instance.
41
+ * @example
42
+ * ```ts
43
+ * import { HttpTransport } from "@nktkas/hyperliquid";
44
+ * import { SymbolConverter } from "@nktkas/hyperliquid/utils";
45
+ *
46
+ * const transport = new HttpTransport(); // or `WebSocketTransport`
47
+ * const converter = await SymbolConverter.create({ transport });
48
+ * ```
49
+ */
50
+ static create(options: SymbolConverterOptions): Promise<SymbolConverter>;
51
+ /**
52
+ * Reload asset mappings from the API.
53
+ * Useful for refreshing data when new assets are added.
54
+ */
55
+ reload(): Promise<void>;
56
+ private processDefaultPerps;
57
+ private processBuilderDexs;
58
+ private processBuilderDexResult;
59
+ private processSpotAssets;
60
+ /**
61
+ * Get asset ID for a coin.
62
+ * - For Perpetuals, use the coin name (e.g., "BTC").
63
+ * - For Spot markets, use the "BASE/QUOTE" format (e.g., "HYPE/USDC").
64
+ * - For Builder Dex assets, use the "DEX_NAME:ASSET_NAME" format (e.g., "test:ABC").
65
+ * @example "BTC" → 0, "HYPE/USDC" → 10107, "test:ABC" → 110000
66
+ */
67
+ getAssetId(name: string): number | undefined;
68
+ /**
69
+ * Get size decimals for a coin.
70
+ * - For Perpetuals, use the coin name (e.g., "BTC").
71
+ * - For Spot markets, use the "BASE/QUOTE" format (e.g., "HYPE/USDC").
72
+ * - For Builder Dex assets, use the "DEX_NAME:ASSET_NAME" format (e.g., "test:ABC").
73
+ * @example "BTC" → 5, "HYPE/USDC" → 2, "test:ABC" → 0
74
+ */
75
+ getSzDecimals(name: string): number | undefined;
76
+ }
77
+ //# sourceMappingURL=_symbolConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_symbolConverter.d.ts","sourceRoot":"","sources":["../../../src/src/utils/_symbolConverter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D,MAAM,MAAM,SAAS,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;AAE3C,uDAAuD;AACvD,MAAM,WAAW,sBAAsB;IACrC,kDAAkD;IAClD,SAAS,EAAE,iBAAiB,CAAC;IAC7B,+FAA+F;IAC/F,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAE9D,OAAO;IAKP;;;;;;;;;;;;OAYG;WACU,MAAM,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;IAM9E;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B7B,OAAO,CAAC,mBAAmB;YAOb,kBAAkB;IA6BhC,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI5C;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAGhD"}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SymbolConverter = void 0;
4
+ const meta_js_1 = require("../api/info/meta.js");
5
+ const spotMeta_js_1 = require("../api/info/spotMeta.js");
6
+ const perpDexs_js_1 = require("../api/info/perpDexs.js");
7
+ /**
8
+ * Utility class for converting asset symbols to their corresponding IDs and size decimals.
9
+ * Supports perpetuals, spot markets, and optional builder dexs.
10
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/asset-ids
11
+ * @example
12
+ * ```ts
13
+ * import { HttpTransport } from "@nktkas/hyperliquid";
14
+ * import { SymbolConverter } from "@nktkas/hyperliquid/utils";
15
+ *
16
+ * const transport = new HttpTransport(); // or `WebSocketTransport`
17
+ * const converter = await SymbolConverter.create({ transport });
18
+ *
19
+ * const btcId = converter.getAssetId("BTC"); // perpetual → 0
20
+ * const hypeUsdcId = converter.getAssetId("HYPE/USDC"); // spot market → 10107
21
+ * const dexAbcId = converter.getAssetId("test:ABC"); // builder dex (if enabled) → 110000
22
+ *
23
+ * const btcSzDecimals = converter.getSzDecimals("BTC"); // perpetual → 5
24
+ * const hypeUsdcSzDecimals = converter.getSzDecimals("HYPE/USDC"); // spot market → 2
25
+ * const dexAbcSzDecimals = converter.getSzDecimals("test:ABC"); // builder dex (if enabled) → 0
26
+ * ```
27
+ */
28
+ class SymbolConverter {
29
+ transport;
30
+ dexOption;
31
+ nameToAssetId = new Map();
32
+ nameToSzDecimals = new Map();
33
+ constructor(options) {
34
+ this.transport = options.transport;
35
+ this.dexOption = options.dexs ?? false;
36
+ }
37
+ /**
38
+ * Create and initialize a SymbolConverter instance.
39
+ * @param options - Configuration options including transport and optional dex support.
40
+ * @returns Initialized SymbolConverter instance.
41
+ * @example
42
+ * ```ts
43
+ * import { HttpTransport } from "@nktkas/hyperliquid";
44
+ * import { SymbolConverter } from "@nktkas/hyperliquid/utils";
45
+ *
46
+ * const transport = new HttpTransport(); // or `WebSocketTransport`
47
+ * const converter = await SymbolConverter.create({ transport });
48
+ * ```
49
+ */
50
+ static async create(options) {
51
+ const instance = new SymbolConverter(options);
52
+ await instance.reload();
53
+ return instance;
54
+ }
55
+ /**
56
+ * Reload asset mappings from the API.
57
+ * Useful for refreshing data when new assets are added.
58
+ */
59
+ async reload() {
60
+ const config = { transport: this.transport };
61
+ const [perpMetaData, spotMetaData, perpDexsData] = await Promise.all([
62
+ (0, meta_js_1.meta)(config),
63
+ (0, spotMeta_js_1.spotMeta)(config),
64
+ (0, perpDexs_js_1.perpDexs)(config),
65
+ ]);
66
+ if (!perpMetaData?.universe?.length) {
67
+ throw new Error("Invalid perpetual metadata response");
68
+ }
69
+ if (!spotMetaData?.universe?.length || !spotMetaData?.tokens?.length) {
70
+ throw new Error("Invalid spot metadata response");
71
+ }
72
+ this.nameToAssetId.clear();
73
+ this.nameToSzDecimals.clear();
74
+ this.processDefaultPerps(perpMetaData);
75
+ this.processSpotAssets(spotMetaData);
76
+ // Only process builder dexs if dex support is enabled
77
+ if (this.dexOption !== false) {
78
+ await this.processBuilderDexs(perpDexsData);
79
+ }
80
+ }
81
+ processDefaultPerps(perpMeta) {
82
+ perpMeta.universe.forEach((asset, index) => {
83
+ this.nameToAssetId.set(asset.name, index);
84
+ this.nameToSzDecimals.set(asset.name, asset.szDecimals);
85
+ });
86
+ }
87
+ async processBuilderDexs(perpDexs) {
88
+ if (!perpDexs || perpDexs.length <= 1)
89
+ return;
90
+ const builderDexs = perpDexs
91
+ .map((dex, index) => ({ dex, index }))
92
+ .filter((item) => {
93
+ return item.index > 0 && item.dex !== null && item.dex.name.length > 0;
94
+ });
95
+ if (builderDexs.length === 0)
96
+ return;
97
+ // Filter dexs based on the dexOption
98
+ const dexsToProcess = Array.isArray(this.dexOption)
99
+ ? builderDexs.filter((item) => this.dexOption.includes(item.dex.name))
100
+ : builderDexs; // true means process all
101
+ if (dexsToProcess.length === 0)
102
+ return;
103
+ const config = { transport: this.transport };
104
+ const results = await Promise.allSettled(dexsToProcess.map((item) => (0, meta_js_1.meta)(config, { dex: item.dex.name })));
105
+ results.forEach((result, idx) => {
106
+ if (result.status !== "fulfilled")
107
+ return;
108
+ this.processBuilderDexResult(result.value, dexsToProcess[idx].index);
109
+ });
110
+ }
111
+ processBuilderDexResult(meta, perpDexIndex) {
112
+ const offset = 100000 + perpDexIndex * 10000;
113
+ meta.universe.forEach((asset, index) => {
114
+ const assetId = offset + index;
115
+ this.nameToAssetId.set(asset.name, assetId);
116
+ this.nameToSzDecimals.set(asset.name, asset.szDecimals);
117
+ });
118
+ }
119
+ processSpotAssets(spotMeta) {
120
+ const tokenMap = new Map();
121
+ spotMeta.tokens.forEach((token) => {
122
+ tokenMap.set(token.index, { name: token.name, szDecimals: token.szDecimals });
123
+ });
124
+ spotMeta.universe.forEach((market) => {
125
+ if (market.tokens.length < 2)
126
+ return;
127
+ const baseToken = tokenMap.get(market.tokens[0]);
128
+ const quoteToken = tokenMap.get(market.tokens[1]);
129
+ if (!baseToken || !quoteToken)
130
+ return;
131
+ const assetId = 10000 + market.index;
132
+ const baseQuoteKey = `${baseToken.name}/${quoteToken.name}`;
133
+ this.nameToAssetId.set(baseQuoteKey, assetId);
134
+ this.nameToSzDecimals.set(baseQuoteKey, baseToken.szDecimals);
135
+ });
136
+ }
137
+ /**
138
+ * Get asset ID for a coin.
139
+ * - For Perpetuals, use the coin name (e.g., "BTC").
140
+ * - For Spot markets, use the "BASE/QUOTE" format (e.g., "HYPE/USDC").
141
+ * - For Builder Dex assets, use the "DEX_NAME:ASSET_NAME" format (e.g., "test:ABC").
142
+ * @example "BTC" → 0, "HYPE/USDC" → 10107, "test:ABC" → 110000
143
+ */
144
+ getAssetId(name) {
145
+ return this.nameToAssetId.get(name);
146
+ }
147
+ /**
148
+ * Get size decimals for a coin.
149
+ * - For Perpetuals, use the coin name (e.g., "BTC").
150
+ * - For Spot markets, use the "BASE/QUOTE" format (e.g., "HYPE/USDC").
151
+ * - For Builder Dex assets, use the "DEX_NAME:ASSET_NAME" format (e.g., "test:ABC").
152
+ * @example "BTC" → 5, "HYPE/USDC" → 2, "test:ABC" → 0
153
+ */
154
+ getSzDecimals(name) {
155
+ return this.nameToSzDecimals.get(name);
156
+ }
157
+ }
158
+ exports.SymbolConverter = SymbolConverter;
159
+ //# sourceMappingURL=_symbolConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_symbolConverter.js","sourceRoot":"","sources":["../../../src/src/utils/_symbolConverter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./_symbolConverter.js";
2
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/src/utils/mod.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./_symbolConverter.js"), exports);
18
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/src/utils/mod.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
@@ -2,7 +2,7 @@ import type { OmitFirst, OverloadedParameters } from "../_base.js";
2
2
  import type { ExchangeRequestConfig, MaybePromise, MultiSignRequestConfig } from "./_base.js";
3
3
  import type { IRequestTransport } from "../../transport/base.js";
4
4
  import type { AbstractWallet } from "../../signing/mod.js";
5
- import { PrivateKeyEIP712Signer } from "../../utils/minimalEIP712Signer.js";
5
+ import { PrivateKeyEIP712Signer } from "../../utils/_minimalEIP712Signer.js";
6
6
 
7
7
  import { agentEnableDexAbstraction } from "./agentEnableDexAbstraction.js";
8
8
  import { approveAgent } from "./approveAgent.js";
@@ -55,24 +55,26 @@ export type L2BookRequest = v.InferOutput<typeof L2BookRequest>;
55
55
  */
56
56
  export const L2BookResponse = /* @__PURE__ */ (() => {
57
57
  return v.pipe(
58
- v.object({
59
- /** Asset symbol. */
60
- coin: v.pipe(
61
- v.string(),
62
- v.description("Asset symbol."),
63
- ),
64
- /** Timestamp of the snapshot (in ms since epoch). */
65
- time: v.pipe(
66
- UnsignedInteger,
67
- v.description("Timestamp of the snapshot (in ms since epoch)."),
68
- ),
69
- /** Bid and ask levels (index 0 = bids, index 1 = asks). */
70
- levels: v.pipe(
71
- v.tuple([v.array(L2BookLevelSchema), v.array(L2BookLevelSchema)]),
72
- v.description("Bid and ask levels (index 0 = bids, index 1 = asks)."),
73
- ),
74
- }),
75
- v.description("L2 order book snapshot."),
58
+ v.nullable(
59
+ v.object({
60
+ /** Asset symbol. */
61
+ coin: v.pipe(
62
+ v.string(),
63
+ v.description("Asset symbol."),
64
+ ),
65
+ /** Timestamp of the snapshot (in ms since epoch). */
66
+ time: v.pipe(
67
+ UnsignedInteger,
68
+ v.description("Timestamp of the snapshot (in ms since epoch)."),
69
+ ),
70
+ /** Bid and ask levels (index 0 = bids, index 1 = asks). */
71
+ levels: v.pipe(
72
+ v.tuple([v.array(L2BookLevelSchema), v.array(L2BookLevelSchema)]),
73
+ v.description("Bid and ask levels (index 0 = bids, index 1 = asks)."),
74
+ ),
75
+ }),
76
+ ),
77
+ v.description("L2 order book snapshot or `null` if the market does not exist."),
76
78
  );
77
79
  })();
78
80
  export type L2BookResponse = v.InferOutput<typeof L2BookResponse>;
@@ -1,9 +1,9 @@
1
1
  import * as v from "valibot";
2
- import { type DeepImmutable, Integer, parser } from "../_base.js";
2
+ import { type DeepImmutable, Integer, parser, UnsignedInteger } from "../_base.js";
3
3
  import type { SubscriptionRequestConfig } from "./_base.js";
4
4
  import type { Subscription } from "../../transport/base.js";
5
5
 
6
- import { L2BookResponse } from "../info/l2Book.js";
6
+ import { L2BookLevelSchema } from "../_common_schemas.js";
7
7
 
8
8
  // -------------------- Schemas --------------------
9
9
 
@@ -49,7 +49,26 @@ export type L2BookRequest = v.InferOutput<typeof L2BookRequest>;
49
49
 
50
50
  /** Event of L2 order book snapshot. */
51
51
  export const L2BookEvent = /* @__PURE__ */ (() => {
52
- return L2BookResponse;
52
+ return v.pipe(
53
+ v.object({
54
+ /** Asset symbol. */
55
+ coin: v.pipe(
56
+ v.string(),
57
+ v.description("Asset symbol."),
58
+ ),
59
+ /** Timestamp of the snapshot (in ms since epoch). */
60
+ time: v.pipe(
61
+ UnsignedInteger,
62
+ v.description("Timestamp of the snapshot (in ms since epoch)."),
63
+ ),
64
+ /** Bid and ask levels (index 0 = bids, index 1 = asks). */
65
+ levels: v.pipe(
66
+ v.tuple([v.array(L2BookLevelSchema), v.array(L2BookLevelSchema)]),
67
+ v.description("Bid and ask levels (index 0 = bids, index 1 = asks)."),
68
+ ),
69
+ }),
70
+ v.description("L2 order book snapshot."),
71
+ );
53
72
  })();
54
73
  export type L2BookEvent = v.InferOutput<typeof L2BookEvent>;
55
74