OpenPond
1Branch0Tags
GL
glucryptoMerge commit 'refs/tmp/prod-master'
typescript
import { extractHyperliquidOrderIds, fetchHyperliquidSizeDecimals, fetchHyperliquidSpotAccountValue, formatHyperliquidMarketablePrice, formatHyperliquidOrderSize, isHyperliquidSpotSymbol, readHyperliquidAccountValue, readHyperliquidPerpPositionSize, readHyperliquidSpotBalanceSize, resolveHyperliquidChainConfig, resolveHyperliquidSymbol as resolveSharedHyperliquidSymbol, type HyperliquidEnvironment, type HyperliquidOrderResponse, } from "opentool/adapters/hyperliquid"; export const DEFAULT_SLIPPAGE_BPS = 50; export function isSpotSymbol(symbol: string): boolean { return isHyperliquidSpotSymbol(symbol); } export async function fetchSizeDecimals( symbol: string, environment: HyperliquidEnvironment ) { return fetchHyperliquidSizeDecimals({ symbol, environment, }); } export async function fetchSpotAccountValue(params: { environment: HyperliquidEnvironment; balances: unknown; }): Promise<number | null> { return fetchHyperliquidSpotAccountValue(params); } export function formatOrderSize(value: number, szDecimals: number): string { return formatHyperliquidOrderSize(value, szDecimals); } export function resolveHyperliquidSymbol(asset: string, override?: string): string { return resolveSharedHyperliquidSymbol(asset, override); } export function resolveChainConfig(environment: HyperliquidEnvironment): { chain: string; rpcUrl?: string; } { return resolveHyperliquidChainConfig(environment); } export function formatMarketablePrice( mid: number, side: "buy" | "sell", slippageBps: number ): string { return formatHyperliquidMarketablePrice({ mid, side, slippageBps, }); } export function extractOrderIds(responses: HyperliquidOrderResponse[]): { cloids: string[]; oids: string[]; } { return extractHyperliquidOrderIds( responses as unknown as Array<{ response?: { data?: { statuses?: Array<Record<string, unknown>> } }; }> ); } export function readAccountValue(payload: unknown): number | null { return readHyperliquidAccountValue(payload); } export function readPositionSize(payload: unknown, symbol: string): number { return readHyperliquidPerpPositionSize(payload, symbol, { prefixMatch: true }); } export function readSpotPositionSize(payload: unknown, symbol: string): number { return readHyperliquidSpotBalanceSize(payload, symbol); }