Keep futureToken2Symbol keyed by raw futures token and use explicit spot-to-future alias mapping during resolver fallback lookups.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Build canonical spot/future token maps with quote priority, unify cache refresh scheduling, and switch resolver/token tests to map-based token lookups.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1. Add GetAllPremiumIndex() to fetch all futures data in one call,
used by GetTopPrices instead of per-symbol sequential calls.
2. Add ADMIN_CHAT_ID env check to /refresh command to restrict
access to authorized users only.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>