• 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

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

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

7
/**
8
 * Request perpetuals at open interest cap.
9
 * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#query-perps-at-open-interest-caps
10
 */
11
export const PerpsAtOpenInterestCapRequest = /* @__PURE__ */ (() => {
357✔
12
  return v.pipe(
605✔
13
    v.object({
605✔
14
      /** Type of request. */
15
      type: v.pipe(
605✔
16
        v.literal("perpsAtOpenInterestCap"),
605✔
17
        v.description("Type of request."),
605✔
18
      ),
19
      /** DEX name (empty string for main dex). */
20
      dex: v.pipe(
605✔
21
        v.optional(v.string()),
605✔
22
        v.description("DEX name (empty string for main dex)."),
605✔
23
      ),
24
    }),
605✔
25
    v.description("Request perpetuals at open interest cap."),
605✔
26
  );
27
})();
357✔
28
export type PerpsAtOpenInterestCapRequest = v.InferOutput<typeof PerpsAtOpenInterestCapRequest>;
29

30
/**
31
 * Array of perpetuals at open interest caps.
32
 * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#query-perps-at-open-interest-caps
33
 */
34
export const PerpsAtOpenInterestCapResponse = /* @__PURE__ */ (() => {
357✔
35
  return v.pipe(
605✔
36
    v.array(v.string()),
605✔
37
    v.description("Array of perpetuals at open interest caps."),
605✔
38
  );
39
})();
357✔
40
export type PerpsAtOpenInterestCapResponse = v.InferOutput<typeof PerpsAtOpenInterestCapResponse>;
41

42
// ============================================================
43
// Execution Logic
44
// ============================================================
45

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

49
/** Request parameters for the {@linkcode perpsAtOpenInterestCap} function. */
50
export type PerpsAtOpenInterestCapParameters = Omit<v.InferInput<typeof PerpsAtOpenInterestCapRequest>, "type">;
51

52
/**
53
 * Request perpetuals at open interest cap.
54
 * @param config - General configuration for Info API requests.
55
 * @param params - Parameters specific to the API request.
56
 * @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).
57
 * @returns Array of perpetuals at open interest caps.
58
 *
59
 * @throws {TransportError} When the transport layer throws an error.
60
 *
61
 * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#query-perps-at-open-interest-caps
62
 * @example
63
 * ```ts
64
 * import { HttpTransport } from "@nktkas/hyperliquid";
65
 * import { perpsAtOpenInterestCap } from "@nktkas/hyperliquid/api/info";
66
 *
67
 * const transport = new HttpTransport(); // or `WebSocketTransport`
68
 * const data = await perpsAtOpenInterestCap({ transport });
69
 * ```
70
 */
71
export function perpsAtOpenInterestCap(
72
  config: InfoRequestConfig,
73
  params?: DeepImmutable<PerpsAtOpenInterestCapParameters>,
74
  signal?: AbortSignal,
75
): Promise<PerpsAtOpenInterestCapResponse>;
76
export function perpsAtOpenInterestCap(
77
  config: InfoRequestConfig,
78
  signal?: AbortSignal,
79
): Promise<PerpsAtOpenInterestCapResponse>;
80
export function perpsAtOpenInterestCap(
357✔
81
  config: InfoRequestConfig,
357✔
82
  paramsOrSignal?: DeepImmutable<PerpsAtOpenInterestCapParameters> | AbortSignal,
357✔
83
  maybeSignal?: AbortSignal,
357✔
84
): Promise<PerpsAtOpenInterestCapResponse> {
85
  const params = paramsOrSignal instanceof AbortSignal ? {} : paramsOrSignal;
×
86
  const signal = paramsOrSignal instanceof AbortSignal ? paramsOrSignal : maybeSignal;
×
87

88
  const request = parser(PerpsAtOpenInterestCapRequest)({
359✔
89
    type: "perpsAtOpenInterestCap",
359✔
90
    ...params,
359✔
91
  });
359✔
92
  return config.transport.request("info", request, signal);
359✔
93
}
359✔
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