export interface EvmRpcOptions { route: string; publicFallback: string; useBaseRpc: boolean; } const trimSlashes = (value: string): string => value.replace(/^\/+|\/+$/g, ""); export const resolveEvmRpcUrl = ( options: EvmRpcOptions, baseRpcUri: string | undefined = process.env.BASE_RPC_URI, ): string => { const fallback = options.publicFallback.trim(); const base = baseRpcUri?.trim(); if (!options.useBaseRpc || !base) return fallback; const normalizedBase = base.replace(/\/+$/g, ""); const normalizedRoute = trimSlashes(options.route.trim()); return normalizedRoute ? `${normalizedBase}/${normalizedRoute}/` : `${normalizedBase}/`; };