| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import os
- from dotenv import load_dotenv
- load_dotenv()
- # Cache TTLs (seconds)
- PRICE_TTL = int(os.getenv("PRICE_TTL", 10))
- OHLCV_TTL = {
- "1m": int(os.getenv("OHLCV_TTL_1M", 30)),
- "5m": int(os.getenv("OHLCV_TTL_5M", 60)),
- "1h": int(os.getenv("OHLCV_TTL_1H", 300)),
- "4h": int(os.getenv("OHLCV_TTL_4H", 600)),
- "1d": int(os.getenv("OHLCV_TTL_1D", 3600)),
- }
- # Providers
- COINGECKO_BASE_URL = "https://api.coingecko.com/api/v3"
- BINANCE_BASE_URL = "https://api.binance.com/api/v3"
- # Symbol normalization map (add more as needed)
- SYMBOL_TO_COINGECKO_ID = {
- "BTC": "bitcoin",
- "ETH": "ethereum",
- "SOL": "solana",
- "BNB": "binancecoin",
- "XRP": "ripple",
- "ADA": "cardano",
- "DOGE": "dogecoin",
- "AVAX": "avalanche-2",
- "DOT": "polkadot",
- "MATIC": "matic-network",
- "LINK": "chainlink",
- "UNI": "uniswap",
- "LTC": "litecoin",
- "ATOM": "cosmos",
- "XLM": "stellar",
- }
- # Timeframe → Binance interval mapping
- TIMEFRAME_TO_BINANCE = {
- "1m": "1m",
- "5m": "5m",
- "15m": "15m",
- "1h": "1h",
- "4h": "4h",
- "1d": "1d",
- }
- # Default OHLCV limit
- DEFAULT_OHLCV_LIMIT = 100
- MAX_OHLCV_LIMIT = 500
|