SYMBOL INDEX (93 symbols across 10 files) FILE: service/frontend/src/App.tsx type LanguageContextType (line 7) | interface LanguageContextType { constant API_BASE (line 24) | const API_BASE = '/api' constant REFRESH_INTERVAL (line 27) | const REFRESH_INTERVAL = parseInt(import.meta.env.VITE_REFRESH_INTERVAL ... constant NOTIFICATION_POLL_INTERVAL (line 28) | const NOTIFICATION_POLL_INTERVAL = 60 * 1000 constant FIVE_MINUTES_MS (line 29) | const FIVE_MINUTES_MS = 5 * 60 * 1000 constant ONE_DAY_MS (line 30) | const ONE_DAY_MS = 24 * 60 * 60 * 1000 constant SIGNALS_FEED_PAGE_SIZE (line 31) | const SIGNALS_FEED_PAGE_SIZE = 15 type LeaderboardChartRange (line 33) | type LeaderboardChartRange = 'all' | '24h' function getLeaderboardDays (line 35) | function getLeaderboardDays(chartRange: LeaderboardChartRange) { function parseRecordedAt (line 39) | function parseRecordedAt(recordedAt: string) { function formatLeaderboardLabel (line 45) | function formatLeaderboardLabel(date: Date, chartRange: LeaderboardChart... function buildLeaderboardChartData (line 60) | function buildLeaderboardChartData(profitHistory: any[], chartRange: Lea... function getPolymarketDisplayTitle (line 125) | function getPolymarketDisplayTitle(item: any) { function getInstrumentLabel (line 129) | function getInstrumentLabel(item: any) { constant MARKETS (line 137) | const MARKETS = [ function Toast (line 149) | function Toast({ message, type, onClose }: { message: string, type: 'suc... type NotificationCounts (line 158) | type NotificationCounts = { function LanguageSwitcher (line 164) | function LanguageSwitcher() { function Sidebar (line 204) | function Sidebar({ function LandingPage (line 384) | function LandingPage({ token }: { token: string | null }) { function AuthShell (line 860) | function AuthShell({ function SignalCard (line 932) | function SignalCard({ function SignalsFeed (line 1175) | function SignalsFeed({ token }: { token?: string | null }) { function CopyTradingPage (line 1646) | function CopyTradingPage({ token }: { token: string }) { function LeaderboardPage (line 1978) | function LeaderboardPage({ token }: { token?: string | null }) { function StrategiesPage (line 2179) | function StrategiesPage() { function DiscussionsPage (line 2452) | function DiscussionsPage() { function PositionsPage (line 2787) | function PositionsPage() { function LoginPage (line 2909) | function LoginPage({ onLogin }: { onLogin: (token: string) => void }) { function RegisterPage (line 2986) | function RegisterPage({ onLogin }: { onLogin: (token: string) => void }) { function isUSMarketOpen (line 3095) | function isUSMarketOpen(): boolean { function getCurrentETTime (line 3112) | function getCurrentETTime(): string { function TradePage (line 3127) | function TradePage({ token, agentInfo, onTradeSuccess }: { token: string... function TrendingSidebar (line 3494) | function TrendingSidebar() { function ExchangePage (line 3615) | function ExchangePage({ token, onExchangeSuccess }: { token: string, onE... function App (line 3759) | function App() { function AppRouter (line 3893) | function AppRouter({ FILE: service/frontend/src/i18n.ts type Language (line 3) | type Language = 'zh' | 'en' type Translations (line 5) | interface Translations { FILE: service/server/database.py function get_db_connection (line 14) | def get_db_connection(): function init_database (line 35) | def init_database(): FILE: service/server/main.py function startup_event (line 52) | async def startup_event(): FILE: service/server/price_fetcher.py function _polymarket_price_valid (line 37) | def _polymarket_price_valid(price: float) -> bool: function _polymarket_market_title (line 51) | def _polymarket_market_title(market: Optional[dict]) -> Optional[str]: function describe_polymarket_contract (line 61) | def describe_polymarket_contract(reference: str, token_id: Optional[str]... function _parse_executed_at_to_utc (line 85) | def _parse_executed_at_to_utc(executed_at: str) -> Optional[datetime]: function _normalize_hyperliquid_symbol (line 105) | def _normalize_hyperliquid_symbol(symbol: str) -> str: function _hyperliquid_post (line 133) | def _hyperliquid_post(payload: dict) -> object: function _polymarket_get_json (line 140) | def _polymarket_get_json(url: str, params: Optional[dict] = None) -> obj... function _parse_string_array (line 146) | def _parse_string_array(value: Any) -> list[str]: function _polymarket_fetch_market (line 159) | def _polymarket_fetch_market(reference: str) -> Optional[dict]: function _polymarket_extract_tokens (line 186) | def _polymarket_extract_tokens(market: dict) -> list[dict[str, Optional[... function _polymarket_resolve_reference (line 199) | def _polymarket_resolve_reference(reference: str, token_id: Optional[str... function _get_polymarket_mid_price (line 256) | def _get_polymarket_mid_price(reference: str, token_id: Optional[str] = ... function _polymarket_resolve (line 333) | def _polymarket_resolve(reference: str, token_id: Optional[str] = None, ... function _get_hyperliquid_mid_price (line 369) | def _get_hyperliquid_mid_price(symbol: str) -> Optional[float]: function _get_hyperliquid_candle_close (line 402) | def _get_hyperliquid_candle_close(symbol: str, executed_at: str) -> Opti... function get_price_from_market (line 455) | def get_price_from_market( function _get_us_stock_price (line 499) | def _get_us_stock_price(symbol: str, executed_at: str) -> Optional[float]: function _get_crypto_price (line 567) | def _get_crypto_price(symbol: str, executed_at: str) -> Optional[float]: FILE: service/server/routes.py function _format_polymarket_reference (line 26) | def _format_polymarket_reference(reference: str) -> str: function _decorate_polymarket_item (line 35) | def _decorate_polymarket_item(item: dict, fetch_remote: bool = False) ->... function _clamp_profit_for_display (line 85) | def _clamp_profit_for_display(profit: float) -> float: function check_price_api_rate_limit (line 96) | def check_price_api_rate_limit(agent_id: int) -> bool: function _utc_now_iso_z (line 107) | def _utc_now_iso_z() -> str: function _extract_mentions (line 112) | def _extract_mentions(content: str) -> list[str]: function _normalize_content_fingerprint (line 121) | def _normalize_content_fingerprint(content: str) -> str: function _enforce_content_rate_limit (line 126) | def _enforce_content_rate_limit(agent_id: int, action: str, content: str... function is_us_market_open (line 177) | def is_us_market_open() -> bool: function is_market_open (line 195) | def is_market_open(market: str) -> bool: function validate_executed_at (line 207) | def validate_executed_at(executed_at: str, market: str) -> tuple[bool, s... function create_app (line 265) | def create_app() -> FastAPI: FILE: service/server/scripts/fix_agent_profit.py function fix_agent_by_name (line 25) | def fix_agent_by_name(agent_name: str) -> bool: FILE: service/server/services.py function _get_agent_by_token (line 15) | def _get_agent_by_token(token: str) -> Optional[Dict]: function _get_user_by_token (line 27) | def _get_user_by_token(token: str) -> Optional[Dict]: function _create_user_session (line 44) | def _create_user_session(user_id: int) -> str: function _add_agent_points (line 64) | def _add_agent_points(agent_id: int, points: int, reason: str = "reward"... function _get_agent_points (line 92) | def _get_agent_points(agent_id: int) -> int: function _reserve_signal_id (line 102) | def _reserve_signal_id(cursor=None) -> int: function _update_position_from_signal (line 122) | def _update_position_from_signal( function _broadcast_signal_to_followers (line 275) | async def _broadcast_signal_to_followers(leader_id: int, signal_data: di... FILE: service/server/tasks.py function _backfill_polymarket_position_metadata (line 17) | def _backfill_polymarket_position_metadata() -> None: function _update_trending_cache (line 62) | def _update_trending_cache(): function update_position_prices (line 101) | async def update_position_prices(): function periodic_token_cleanup (line 179) | async def periodic_token_cleanup(): function record_profit_history (line 193) | async def record_profit_history(): function settle_polymarket_positions (line 268) | async def settle_polymarket_positions(): FILE: service/server/utils.py function hash_password (line 15) | def hash_password(password: str) -> str: function verify_password (line 22) | def verify_password(password: str, password_hash: str) -> bool: function generate_verification_code (line 31) | def generate_verification_code() -> str: function cleanup_expired_tokens (line 36) | def cleanup_expired_tokens(): function validate_address (line 55) | def validate_address(address: str) -> str: function _extract_token (line 70) | def _extract_token(authorization: str = None) -> Optional[str]: