1Branch0Tags
GL
glucryptoRefresh package-lock for opentool 0.19.5
01acdef14 hours ago17Commits
typescript
import { normalizeHyperliquidBaseSymbol } from "opentool/adapters/hyperliquid"; import type { SimpleNewsBotConfig } from "./config"; function normalizeConfiguredSymbol(value?: string | null): string | null { const trimmed = value?.trim(); if (!trimmed) return null; if (trimmed.startsWith("@")) { throw new Error( "Use BASE-QUOTE or BASE/QUOTE for spot, bare BASE for perps, or dex:BASE for HIP-3. Do not use @index spot ids.", ); } if (trimmed.includes(":") || trimmed.includes("/") || trimmed.includes("-")) { return trimmed; } return normalizeHyperliquidBaseSymbol(trimmed) ?? trimmed.toUpperCase(); } export async function resolveExecutableMarketSymbol( config: SimpleNewsBotConfig, _fetchImplementation?: typeof fetch, ): Promise<string> { const configuredMarketSymbol = normalizeConfiguredSymbol(config.marketSymbol); if (configuredMarketSymbol) { return configuredMarketSymbol; } const configuredExecutionSymbol = normalizeConfiguredSymbol(config.execution?.symbol); if (configuredExecutionSymbol) { return configuredExecutionSymbol; } const assetSymbol = normalizeConfiguredSymbol(config.asset); if (!assetSymbol) { throw new Error("Asset is required."); } return assetSymbol; }