UNPKG

@nktkas/hyperliquid

Version:

Hyperliquid API SDK for all major JS runtimes, written in TypeScript.

32 lines (31 loc) 1.28 kB
import * as v from "valibot"; /** * Subscription to context events for all perpetual assets. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions */ export const AssetCtxsRequest = /* @__PURE__ */ (()=>{ return v.object({ /** Type of subscription. */ type: v.literal("assetCtxs"), /** DEX name (empty string for main dex). */ dex: v.optional(v.string()) }); })(); // ============================================================ // Execution Logic // ============================================================ import { parse } from "../../../_base.js"; export function assetCtxs(config, paramsOrListener, listenerOrOptions, maybeOptions) { const isListenerFirst = typeof paramsOrListener === "function"; const params = isListenerFirst ? {} : paramsOrListener; const listener = isListenerFirst ? paramsOrListener : listenerOrOptions; const options = isListenerFirst ? listenerOrOptions : maybeOptions; const payload = parse(AssetCtxsRequest, { type: "assetCtxs", ...params, dex: params.dex ?? "" }); return config.transport.subscribe(payload.type, payload, (e)=>{ if (e.detail.dex === payload.dex) { listener(e.detail); } }, options); } //# sourceMappingURL=assetCtxs.js.map