• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

nktkas / hyperliquid / 19514753888

19 Nov 2025 08:02PM UTC coverage: 94.811% (+0.1%) from 94.685%
19514753888

push

github

nktkas
ci: remove environment for test job

364 of 583 branches covered (62.44%)

Branch coverage included in aggregate %.

12208 of 12677 relevant lines covered (96.3%)

964.38 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

88.24
/src/api/info/allMids.ts
1
import * as v from "valibot";
357✔
2

3
// ============================================================
4
// API Schemas
5
// ============================================================
6

7
import { UnsignedDecimal } from "../_base.ts";
357✔
8

9
/**
10
 * Request mid coin prices.
11
 * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-mids-for-all-coins
12
 */
13
export const AllMidsRequest = /* @__PURE__ */ (() => {
357✔
14
  return v.pipe(
605✔
15
    v.object({
605✔
16
      /** Type of request. */
17
      type: v.pipe(
605✔
18
        v.literal("allMids"),
605✔
19
        v.description("Type of request."),
605✔
20
      ),
21
      /** DEX name (empty string for main dex). */
22
      dex: v.pipe(
605✔
23
        v.optional(v.string()),
605✔
24
        v.description("DEX name (empty string for main dex)."),
605✔
25
      ),
26
    }),
605✔
27
    v.description("Request mid coin prices."),
605✔
28
  );
29
})();
357✔
30
export type AllMidsRequest = v.InferOutput<typeof AllMidsRequest>;
31

32
/**
33
 * Mapping of coin symbols to mid prices.
34
 * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-mids-for-all-coins
35
 */
36
export const AllMidsResponse = /* @__PURE__ */ (() => {
357✔
37
  return v.pipe(
605✔
38
    v.record(v.string(), UnsignedDecimal),
605✔
39
    v.description("Mapping of coin symbols to mid prices."),
605✔
40
  );
41
})();
357✔
42
export type AllMidsResponse = v.InferOutput<typeof AllMidsResponse>;
43

44
// ============================================================
45
// Execution Logic
46
// ============================================================
47

48
import { type DeepImmutable, parser } from "../_base.ts";
357✔
49
import type { InfoRequestConfig } from "./_types.ts";
50

51
/** Request parameters for the {@linkcode allMids} function. */
52
export type AllMidsParameters = Omit<v.InferInput<typeof AllMidsRequest>, "type">;
53

54
/**
55
 * Request mid coin prices.
56
 * @param config - General configuration for Info API requests.
57
 * @param params - Parameters specific to the API request.
58
 * @param signal - An [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) can be used to cancel the request by calling [`abort()`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort) on the corresponding [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController).
59
 * @returns Mapping of coin symbols to mid prices.
60
 *
61
 * @throws {TransportError} When the transport layer throws an error.
62
 *
63
 * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-mids-for-all-coins
64
 * @example
65
 * ```ts
66
 * import { HttpTransport } from "@nktkas/hyperliquid";
67
 * import { allMids } from "@nktkas/hyperliquid/api/info";
68
 *
69
 * const transport = new HttpTransport(); // or `WebSocketTransport`
70
 * const data = await allMids({ transport });
71
 * ```
72
 */
73
export function allMids(
74
  config: InfoRequestConfig,
75
  params?: DeepImmutable<AllMidsParameters>,
76
  signal?: AbortSignal,
77
): Promise<AllMidsResponse>;
78
export function allMids(
79
  config: InfoRequestConfig,
80
  signal?: AbortSignal,
81
): Promise<AllMidsResponse>;
82
export function allMids(
357✔
83
  config: InfoRequestConfig,
357✔
84
  paramsOrSignal?: DeepImmutable<AllMidsParameters> | AbortSignal,
357✔
85
  maybeSignal?: AbortSignal,
357✔
86
): Promise<AllMidsResponse> {
87
  const params = paramsOrSignal instanceof AbortSignal ? {} : paramsOrSignal;
×
88
  const signal = paramsOrSignal instanceof AbortSignal ? paramsOrSignal : maybeSignal;
×
89

90
  const request = parser(AllMidsRequest)({
429✔
91
    type: "allMids",
429✔
92
    ...params,
429✔
93
  });
429✔
94
  return config.transport.request("info", request, signal);
429✔
95
}
429✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc