@nktkas/hyperliquid
Version:
Hyperliquid API SDK for all major JS runtimes, written in TypeScript.
144 lines • 9.64 kB
TypeScript
import * as v from "valibot";
/**
* Request trading metadata for all DEXes.
*/
export declare const AllPerpMetasRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
/** Type of request. */
readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"allPerpMetas", undefined>, v.DescriptionAction<"allPerpMetas", "Type of request.">]>;
}, undefined>, v.DescriptionAction<{
type: "allPerpMetas";
}, "Request trading metadata for all DEXes.">]>;
export type AllPerpMetasRequest = v.InferOutput<typeof AllPerpMetasRequest>;
/**
* Metadata for perpetual assets across all DEXes.
*/
export declare const AllPerpMetasResponse: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
readonly universe: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
readonly szDecimals: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, v.TransformAction<any, number>, v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.SafeIntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.DescriptionAction<number, "Minimum decimal places for order sizes.">]>;
readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "Name of the universe.">]>;
readonly maxLeverage: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, v.TransformAction<any, number>, v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.SafeIntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.MinValueAction<number, 1, undefined>, v.DescriptionAction<number, "Maximum allowed leverage.">]>;
readonly marginTableId: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, v.TransformAction<any, number>, v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.SafeIntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.DescriptionAction<number, "Unique identifier for the margin requirements table.">]>;
readonly onlyIsolated: v.SchemaWithPipe<readonly [v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>, v.DescriptionAction<true | undefined, "Indicates if only isolated margin trading is allowed.">]>;
readonly isDelisted: v.SchemaWithPipe<readonly [v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>, v.DescriptionAction<true | undefined, "Indicates if the universe is delisted.">]>;
readonly marginMode: v.SchemaWithPipe<readonly [v.OptionalSchema<v.PicklistSchema<["strictIsolated", "noCross"], undefined>, undefined>, v.DescriptionAction<"strictIsolated" | "noCross" | undefined, "Trading margin mode constraint.">]>;
readonly growthMode: v.SchemaWithPipe<readonly [v.OptionalSchema<v.LiteralSchema<"enabled", undefined>, undefined>, v.DescriptionAction<"enabled" | undefined, "Indicates if growth mode is enabled.">]>;
readonly lastGrowthModeChangeTime: v.SchemaWithPipe<readonly [v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, undefined>, v.DescriptionAction<string | undefined, "Timestamp of the last growth mode change.">]>;
}, undefined>, v.DescriptionAction<{
szDecimals: number;
name: string;
maxLeverage: number;
marginTableId: number;
onlyIsolated?: true | undefined;
isDelisted?: true | undefined;
marginMode?: "strictIsolated" | "noCross" | undefined;
growthMode?: "enabled" | undefined;
lastGrowthModeChangeTime?: string | undefined;
}, "Trading universe parameters for perpetual asset.">]>, undefined>, v.DescriptionAction<{
szDecimals: number;
name: string;
maxLeverage: number;
marginTableId: number;
onlyIsolated?: true | undefined;
isDelisted?: true | undefined;
marginMode?: "strictIsolated" | "noCross" | undefined;
growthMode?: "enabled" | undefined;
lastGrowthModeChangeTime?: string | undefined;
}[], "Trading universes available for perpetual trading.">]>;
readonly marginTables: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.TupleSchema<[v.SchemaWithPipe<readonly [v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, v.TransformAction<any, number>, v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.SafeIntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.SchemaWithPipe<readonly [v.ObjectSchema<{
readonly description: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "Description of the margin table.">]>;
readonly marginTiers: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
readonly lowerBound: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, v.TransformAction<any, string>, v.StringSchema<undefined>, v.TransformAction<string, string>, v.RegexAction<string, undefined>]>, v.DescriptionAction<string, "Lower position size boundary for this tier.">]>;
readonly maxLeverage: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, v.TransformAction<any, number>, v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.SafeIntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.MinValueAction<number, 1, undefined>, v.DescriptionAction<number, "Maximum allowed leverage for this tier.">]>;
}, undefined>, v.DescriptionAction<{
lowerBound: string;
maxLeverage: number;
}, "Individual tier in a margin requirements table.">]>, undefined>, v.DescriptionAction<{
lowerBound: string;
maxLeverage: number;
}[], "Array of margin tiers defining leverage limits.">]>;
}, undefined>, v.DescriptionAction<{
description: string;
marginTiers: {
lowerBound: string;
maxLeverage: number;
}[];
}, "Margin requirements table with multiple tiers.">]>], undefined>, v.DescriptionAction<[number, {
description: string;
marginTiers: {
lowerBound: string;
maxLeverage: number;
}[];
}], "Tuple of margin table ID and its details.">]>, undefined>, v.DescriptionAction<[number, {
description: string;
marginTiers: {
lowerBound: string;
maxLeverage: number;
}[];
}][], "Margin requirement tables for different leverage tiers.">]>;
readonly collateralToken: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, v.TransformAction<any, number>, v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.SafeIntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, v.DescriptionAction<number, "Collateral token index.">]>;
}, undefined>, v.DescriptionAction<{
universe: {
szDecimals: number;
name: string;
maxLeverage: number;
marginTableId: number;
onlyIsolated?: true | undefined;
isDelisted?: true | undefined;
marginMode?: "strictIsolated" | "noCross" | undefined;
growthMode?: "enabled" | undefined;
lastGrowthModeChangeTime?: string | undefined;
}[];
marginTables: [number, {
description: string;
marginTiers: {
lowerBound: string;
maxLeverage: number;
}[];
}][];
collateralToken: number;
}, "Metadata for perpetual assets.">]>, undefined>, v.DescriptionAction<{
universe: {
szDecimals: number;
name: string;
maxLeverage: number;
marginTableId: number;
onlyIsolated?: true | undefined;
isDelisted?: true | undefined;
marginMode?: "strictIsolated" | "noCross" | undefined;
growthMode?: "enabled" | undefined;
lastGrowthModeChangeTime?: string | undefined;
}[];
marginTables: [number, {
description: string;
marginTiers: {
lowerBound: string;
maxLeverage: number;
}[];
}][];
collateralToken: number;
}[], "Metadata for perpetual assets across all DEXes.">]>;
export type AllPerpMetasResponse = v.InferOutput<typeof AllPerpMetasResponse>;
import type { InfoConfig } from "./_types.js";
/**
* Request trading metadata for all DEXes.
*
* @param config - General configuration for Info API requests.
* @param signal - [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) to cancel the request.
*
* @returns Metadata for perpetual assets across all DEXes.
*
* @throws {ValiError} 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 { allPerpMetas } from "@nktkas/hyperliquid/api/info";
*
* const transport = new HttpTransport(); // or `WebSocketTransport`
*
* const data = await allPerpMetas({ transport });
* ```
*/
export declare function allPerpMetas(config: InfoConfig, signal?: AbortSignal): Promise<AllPerpMetasResponse>;
//# sourceMappingURL=allPerpMetas.d.ts.map