UNPKG

@nktkas/hyperliquid

Version:

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

111 lines (110 loc) 3.95 kB
/// <amd-module name="file:///home/runner/work/hyperliquid/hyperliquid/src/api/info/_methods/perpDexs.ts" /> import * as v from "valibot"; /** * Request all perpetual dexs. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-all-perpetual-dexs */ export declare const PerpDexsRequest: v.ObjectSchema<{ /** Type of request. */ readonly type: v.LiteralSchema<"perpDexs", undefined>; }, undefined>; export type PerpDexsRequest = v.InferOutput<typeof PerpDexsRequest>; /** * Array of perpetual dexes (null is main dex). * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-all-perpetual-dexs */ export type PerpDexsResponse = (/** Perpetual dex metadata. */ { /** Short name of the perpetual dex. */ name: string; /** Complete name of the perpetual dex. */ fullName: string; /** * Hex address of the dex deployer. * @pattern ^0x[a-fA-F0-9]{40}$ */ deployer: `0x${string}`; /** * Hex address of the oracle updater, or null if not available. * @pattern ^0x[a-fA-F0-9]{40}$ */ oracleUpdater: `0x${string}` | null; /** * Hex address of the fee recipient, or null if not available. * @pattern ^0x[a-fA-F0-9]{40}$ */ feeRecipient: `0x${string}` | null; /** Mapping of asset symbols to their streaming open interest caps. */ assetToStreamingOiCap: [ /** Asset symbol (e.g., xyz:AAPL). */ asset: string, /** * Streaming open interest cap. * @pattern ^[0-9]+(\.[0-9]+)?$ */ oiCap: string ][]; /** List of delegated function names and their authorized executor addresses. */ subDeployers: [ /** Function name. */ functionName: string, /** * Authorized executor addresses. * @pattern ^0x[a-fA-F0-9]{40}$ */ executors: `0x${string}`[] ][]; /** * Fee scale applied to deployer fees. * @pattern ^[0-9]+(\.[0-9]+)?$ */ deployerFeeScale: string; /** * ISO 8601 timestamp (without timezone) of the last deployer fee scale change. * @pattern ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?$ */ lastDeployerFeeScaleChangeTime: string; /** Array of tuples mapping asset symbols to their funding multipliers. */ assetToFundingMultiplier: [ /** Asset symbol (e.g., xyz:AAPL). */ asset: string, /** * Funding multiplier. * @pattern ^[0-9]+(\.[0-9]+)?$ */ multiplier: string ][]; /** Array of tuples mapping asset symbols to their funding interest rates. */ assetToFundingInterestRate: [ /** Asset symbol (e.g., xyz:AAPL). */ asset: string, /** * Funding interest rate. * @pattern ^-?[0-9]+(\.[0-9]+)?$ */ rate: string ][]; } | null)[]; import type { InfoConfig } from "./_base/mod.js"; /** * Request all perpetual dexs. * * @param config General configuration for Info API requests. * @param signal {@link https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | AbortSignal} to cancel the request. * @return Array of perpetual dexes (null is main dex). * * @throws {ValidationError} When the request parameters fail validation (before sending). * @throws {TransportError} When the transport layer throws an error. * * @example * ```ts * import { HttpTransport } from "@nktkas/hyperliquid"; * import { perpDexs } from "@nktkas/hyperliquid/api/info"; * * const transport = new HttpTransport(); // or `WebSocketTransport` * * const data = await perpDexs({ transport }); * ``` * * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-all-perpetual-dexs */ export declare function perpDexs(config: InfoConfig, signal?: AbortSignal): Promise<PerpDexsResponse>;