# whale_monitor/config.py # (V2.1 - إضافة إعدادات Solscan API) # هذا الملف يحتوي على جميع الإعدادات الثابتة لخدمة مراقبة الحيتان import os # --- الإعدادات العامة --- DEFAULT_WHALE_THRESHOLD_USD = 50000.0 TRANSFER_EVENT_SIGNATURE = "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" # --- العملات الأصلية (التي لا تحتاج عقود) --- NATIVE_COINS = [ 'BTC', 'LTC', 'ETH', 'BNB', 'ADA', 'DOT', 'XRP', 'DOGE', 'BCH', 'XLM', 'TRX', 'EOS', 'XMR', 'SOL', 'MATIC', 'AVAX', 'FTM' ] # --- إعدادات CoinGecko --- COINGECKO_BASE_URL = "https://api.coingecko.com/api/v3" COINGECKO_SYMBOL_MAPPING = { 'BTC': 'bitcoin', 'ETH': 'ethereum', 'BNB': 'binancecoin', 'ADA': 'cardano', 'DOT': 'polkadot', 'XRP': 'ripple', 'DOGE': 'dogecoin', 'BCH': 'bitcoin-cash', 'LTC': 'litecoin', 'XLM': 'stellar', 'TRX': 'tron', 'EOS': 'eos', 'XMR': 'monero', 'SOL': 'solana', 'MATIC': 'matic-network', 'AVAX': 'avalanche-2', 'LINK': 'chainlink', 'ATOM': 'cosmos', 'UNI': 'uniswap', 'AAVE': 'aave', 'KCS': 'kucoin-shares', 'MAVIA': 'heroes-of-mavia', 'COMMON': 'commonwealth', 'WLFI': 'wolfi', 'PINGPONG': 'pingpong', 'YB': 'yourbusd', 'REACT': 'react', 'XMN': 'xmine', 'ANOME': 'anome', 'ZEN': 'zencash', 'AKT': 'akash-network', 'UB': 'unibit', 'WLD': 'worldcoin' } # --- عناوين المنصات والبروتوكولات (ثابتة) --- # (هذه القائمة هي احتياطية في حال فشل Moralis "الذكي") DEFAULT_EXCHANGE_ADDRESSES = { # KuCoin 'kucoin': [ '0x2b5634c42055806a59e9107ed44d43c426e58258', '0x689c56aef474df92d44a1b70850f808488f9769c', '0xa1d8d972560c2f8144af871db508f0b0b10a3fbf', '0x4ad64983349c49defe8d7a4686202d24b25d0ce8', '0x1692e170361cefd1eb7240ec13d048fd9af6d667', '0xd6216fc19db775df9774a6e33526131da7d19a2c', '0xe59cd29be3be4461d79c0881a238c467a2b3775c', '0x899b5d52671830f567bf43a14684eb14e1f945fe' ], # Binance 'binance': [ '0x3f5ce5fbfe3e9af3971dd833d26ba9b5c936f0be', '0xd551234ae421e3bcba99a0da6d736074f22192ff', '0x564286362092d8e7936f0549571a803b203aaced', '0x0681d8db095565fe8a346fa0277bffde9c0edbbf', '0xfe9e8709d3215310075d67e3ed32a380ccf451c8', '0xG' ], # Coinbase 'coinbase': [ '0x71660c4005ba85c37ccec55d0c4493e66fe775d3', '0x503828976d22510aad0201ac7ec88293211d23da', '0xddfabcdc4d8ffc6d5beaf154f18b778f892a0740' ], # Kraken 'kraken': ['0x2910543af39aba0cd09dbb2d50200b3e800a63d2', '0xa160cdab225685da1d56aa342ad8841c3b53f291'], # OKX 'okx': ['0x6cc5f688a315f3dc28a7781717a9a798a59fda7b', '0x2c8fbb630289363ac80705a1a61273f76fd5a161'], # Gate.io 'gate': ['0x0d0707963952f2fba59dd06f2b425ace40b492fe', '0xc6f9741f5a5a676b91171804cf3c500ab438bb6e'], # DEXs 'uniswap': ['0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad', '0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45'], 'pancakeswap': ['0x10ed43c718714eb63d5aa57b78b54704e256024e', '0x13f4ea83d0bd40e75c8222255bc855a974568dd4'], # Solana Exchanges 'solana_kucoin': ['F3a5ZLPKUCrCj6CGKP2m9wS9Y2L8RcUBoJq9L2D2sUYi', '2AQdpHJ2JpcEgPiATFnAKfV9hPMvouWJAhKvamQ2Krqy'], 'solana_binance': ['5tzFkiKscXHK5ZXCGbXZJpXaWuBtZ6RrH8eL2a7Yi7Vn', '9WzDXwBbmkg8ZTbNMqUxvQRApF22xwsgMj2SUZrchK2E'], 'solana_coinbase': ['CeBiLnAE3UAW9mCDSjD1VULKLeQjefjN4d941fVKazSM'], # Bridges 'solana_wormhole': ['worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth'] } # --- إعدادات نقاط RPC والمستكشفات --- # (V2.1 - محدث لدعم Solscan) # سيتم استبدال تلقائياً بواسطة rpc_manager # سيتم تحميل ملف CSV المخصص تلقائياً بواسطة rpc_manager DEFAULT_NETWORK_CONFIGS = { 'ethereum': { 'name': 'Ethereum', 'chain_id': '0x1', 'native_coin': 'ETH', 'type': 'evm', 'rpc_endpoints': [ 'https://mainnet.infura.io/v3/', 'https://rpc.ankr.com/eth', 'https://cloudflare-eth.com', 'https://eth.llamarpc.com', ], 'explorer': { 'api_url': 'https://api.etherscan.io/api', 'api_key_name': 'etherscan' # (نفس اسم المفتاح في rpc_manager) }, 'moralis_chain_id': 'eth' }, 'bsc': { 'name': 'Binance Smart Chain', 'chain_id': '0x38', 'native_coin': 'BNB', 'type': 'evm', 'rpc_endpoints': [ 'https://bsc-dataseed.binance.org/', 'https://bsc.publicnode.com', 'https://binance.llamarpc.com', 'https://rpc.ankr.com/bsc' ], 'explorer': { 'api_url': 'https://api.bscscan.com/api', 'api_key_name': 'bscscan' # (نستخدم المفتاح المشترك "etherscan" إذا كان هذا المفتاح فارغاً) }, 'moralis_chain_id': 'bsc' }, 'polygon': { 'name': 'Polygon', 'chain_id': '0x89', 'native_coin': 'MATIC', 'type': 'evm', 'rpc_endpoints': [ 'https://polygon-mainnet.infura.io/v3/', 'https://polygon-rpc.com', 'https://polygon.llamarpc.com', 'https://rpc.ankr.com/polygon' ], 'explorer': { 'api_url': 'https://api.polygonscan.com/api', 'api_key_name': 'polygonscan' # (نستخدم المفتاح المشترك "etherscan" إذا كان هذا المفتاح فارغاً) }, 'moralis_chain_id': 'polygon' }, 'arbitrum': { 'name': 'Arbitrum', 'chain_id': '0xa4b1', 'native_coin': 'ETH', 'type': 'evm', 'rpc_endpoints': [ 'https://arbitrum-mainnet.infura.io/v3/', 'https://arb1.arbitrum.io/rpc', 'https://arbitrum.llamarpc.com', 'https://rpc.ankr.com/arbitrum' ], 'explorer': { 'api_url': 'https://api.arbiscan.io/api', 'api_key_name': 'etherscan' # (تستخدم نفس المفتاح المشترك) }, 'moralis_chain_id': 'arbitrum' }, 'optimism': { 'name': 'Optimism', 'chain_id': '0xa', 'native_coin': 'ETH', 'type': 'evm', 'rpc_endpoints': [ 'https://optimism-mainnet.infura.io/v3/', 'https://mainnet.optimism.io', 'https://optimism.llamarpc.com', 'https://rpc.ankr.com/optimism' ], 'explorer': { 'api_url': 'https://api-optimistic.etherscan.io/api', 'api_key_name': 'etherscan' # (تستخدم نفس المفتاح المشترك) }, 'moralis_chain_id': 'optimism' }, 'avalanche': { 'name': 'Avalanche', 'chain_id': '0xa86a', 'native_coin': 'AVAX', 'type': 'evm', 'rpc_endpoints': [ 'httpsS://api.avax.network/ext/bc/C/rpc', 'https://avalanche.publicnode.com', 'https://rpc.ankr.com/avalanche' ], 'explorer': { 'api_url': 'https://api.snowtrace.io/api', 'api_key_name': 'etherscan' # (تستخدم نفس المفتاح المشترك) }, 'moralis_chain_id': 'avalanche' }, 'fantom': { 'name': 'Fantom', 'chain_id': '0xfa', 'native_coin': 'FTM', 'type': 'evm', 'rpc_endpoints': [ 'https://rpc.ftm.tools/', 'https://fantom.publicnode.com', 'https://rpc.ankr.com/fantom' ], 'explorer': { 'api_url': 'https://api.ftmscan.com/api', 'api_key_name': 'etherscan' # (تستخدم نفس المفتاح المشترك) }, 'moralis_chain_id': 'fantom' }, 'solana': { 'name': 'Solana', 'chain_id': 'mainnet-beta', 'native_coin': 'SOL', 'type': 'solana', 'rpc_endpoints': [ 'https://api.mainnet-beta.solana.com', 'https://solana-mainnet.publicnode.com', 'https://rpc.ankr.com/solana', ], # 🔴 --- START OF CHANGE (V2.1) --- 🔴 'explorer': { 'api_url': 'https://pro-api.solscan.io', # (عنوان Solscan Pro API) 'api_key_name': 'solscan' # (اسم المفتاح الجديد الذي سنضيفه) }, # 🔴 --- END OF CHANGE --- 🔴 'moralis_chain_id': 'sol' } }