Spaces:
Paused
Paused
| # whale_monitor/config.py | |
| # (V3.2 - GEM-Architect: Full Enterprise Config with Web3 Support) | |
| # يحتوي على الإعدادات الثابتة، عناوين العقود، إعدادات الشبكات، و ABI. | |
| import os | |
| # ============================================================================== | |
| # ⚙️ General Settings | |
| # ============================================================================== | |
| DEFAULT_WHALE_THRESHOLD_USD = 50000.0 | |
| TRANSFER_EVENT_SIGNATURE = "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" | |
| # ============================================================================== | |
| # 📜 Web3 ABI (Standard ERC20) - **NEW & CRITICAL** | |
| # ============================================================================== | |
| # هذا التعريف ضروري لمكتبة Web3 لفك تشفير البيانات (Decimals + Transfers) | |
| ERC20_ABI = [ | |
| { | |
| "constant": True, | |
| "inputs": [], | |
| "name": "name", | |
| "outputs": [{"name": "", "type": "string"}], | |
| "payable": False, | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": True, | |
| "inputs": [], | |
| "name": "decimals", | |
| "outputs": [{"name": "", "type": "uint8"}], | |
| "payable": False, | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": True, | |
| "inputs": [{"name": "_owner", "type": "address"}], | |
| "name": "balanceOf", | |
| "outputs": [{"name": "balance", "type": "uint256"}], | |
| "payable": False, | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": True, | |
| "inputs": [], | |
| "name": "symbol", | |
| "outputs": [{"name": "", "type": "string"}], | |
| "payable": False, | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "anonymous": False, | |
| "inputs": [ | |
| {"indexed": True, "name": "from", "type": "address"}, | |
| {"indexed": True, "name": "to", "type": "address"}, | |
| {"indexed": False, "name": "value", "type": "uint256"} | |
| ], | |
| "name": "Transfer", | |
| "type": "event" | |
| } | |
| ] | |
| # ============================================================================== | |
| # 💎 Native Coins (No Contracts) | |
| # ============================================================================== | |
| NATIVE_COINS = [ | |
| 'BTC', 'LTC', 'ETH', 'BNB', 'ADA', 'DOT', 'XRP', 'DOGE', 'BCH', | |
| 'XLM', 'TRX', 'EOS', 'XMR', 'SOL', 'MATIC', 'AVAX', 'FTM', 'NEAR', | |
| 'ATOM', 'ALGO', 'HBAR', 'EGLD', 'FIL', 'THETA', 'VET', 'ICP' | |
| ] | |
| # ============================================================================== | |
| # 🦎 CoinGecko Settings & Mappings | |
| # ============================================================================== | |
| 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', | |
| 'PEPE': 'pepe', | |
| 'FLOKI': 'floki', | |
| 'SHIB': 'shiba-inu', | |
| 'BONK': 'bonk', | |
| 'WIF': 'dogwifhat', | |
| 'JUP': 'jupiter-exchange-solana', | |
| 'PYTH': 'pyth-network', | |
| 'RNDR': 'render-token', | |
| 'FET': 'fetch-ai', | |
| 'AGIX': 'singularitynet', | |
| 'OCEAN': 'ocean-protocol' | |
| } | |
| # ============================================================================== | |
| # 🏢 Exchange & Bridge Addresses (Source of Truth) | |
| # ============================================================================== | |
| # تستخدم لتصنيف الحركات (إيداع للمنصات = بيع محتمل / سحب = تجميع) | |
| DEFAULT_EXCHANGE_ADDRESSES = { | |
| # --- KuCoin --- | |
| 'kucoin': [ | |
| '0x2b5634c42055806a59e9107ed44d43c426e58258', | |
| '0x689c56aef474df92d44a1b70850f808488f9769c', | |
| '0xa1d8d972560c2f8144af871db508f0b0b10a3fbf', | |
| '0x4ad64983349c49defe8d7a4686202d24b25d0ce8', | |
| '0x1692e170361cefd1eb7240ec13d048fd9af6d667', | |
| '0xd6216fc19db775df9774a6e33526131da7d19a2c', | |
| '0xe59cd29be3be4461d79c0881a238c467a2b3775c', | |
| '0x899b5d52671830f567bf43a14684eb14e1f945fe', | |
| '0xe41d2489571d322189246dafa5ebde1f4699f498' # KuCoin 6 | |
| ], | |
| # --- Binance --- | |
| 'binance': [ | |
| '0x3f5ce5fbfe3e9af3971dd833d26ba9b5c936f0be', # Binance 1 | |
| '0xd551234ae421e3bcba99a0da6d736074f22192ff', # Binance 2 | |
| '0x564286362092d8e7936f0549571a803b203aaced', # Binance 3 | |
| '0x0681d8db095565fe8a346fa0277bffde9c0edbbf', # Binance 4 | |
| '0xfe9e8709d3215310075d67e3ed32a380ccf451c8', # Binance 5 | |
| '0x21a31Ee1afC51d94C2eFcCAa2092aD1028285549', # Binance 14 | |
| '0xF977814e90dA44bFA03b6295A0616a897441aceC', # Binance 8 | |
| '0x28C6c06298d514Db089934071355E5743bf21d60', # Binance 15 | |
| '0x47ac0Fb4F2D84898e4D9E7b4DaB3C24507a6D503' # Binance 16 | |
| ], | |
| # --- Coinbase --- | |
| 'coinbase': [ | |
| '0x71660c4005ba85c37ccec55d0c4493e66fe775d3', | |
| '0x503828976d22510aad0201ac7ec88293211d23da', | |
| '0xddfabcdc4d8ffc6d5beaf154f18b778f892a0740', | |
| '0x3c96f264e1d3269b8d6f517228a4783307b22693' | |
| ], | |
| # --- Kraken --- | |
| 'kraken': [ | |
| '0x2910543af39aba0cd09dbb2d50200b3e800a63d2', | |
| '0xa160cdab225685da1d56aa342ad8841c3b53f291', | |
| '0x0a869d79a7052c7f1b55a8ebab3eeb47737a8802' | |
| ], | |
| # --- OKX --- | |
| 'okx': [ | |
| '0x6cc5f688a315f3dc28a7781717a9a798a59fda7b', | |
| '0x2c8fbb630289363ac80705a1a61273f76fd5a161', | |
| '0x5041ed759dd4afc3a72b8192c143f72f4724081a' | |
| ], | |
| # --- Gate.io --- | |
| 'gate': [ | |
| '0x0d0707963952f2fba59dd06f2b425ace40b492fe', | |
| '0xc6f9741f5a5a676b91171804cf3c500ab438bb6e' | |
| ], | |
| # --- Bybit --- | |
| 'bybit': [ | |
| '0xf584f8728b874a6a5c7a8d4d387c9aae9172d621', | |
| '0x1d9505953c306dca509427b375b472e3a51f937d' | |
| ], | |
| # --- DEXs --- | |
| 'uniswap': [ | |
| '0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad', # Uniswap V3 Router | |
| '0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45', # Uniswap V3 Router 2 | |
| '0x7a250d5630b4cf539739df2c5dacb4c659f2488d' # Uniswap V2 Router | |
| ], | |
| 'pancakeswap': [ | |
| '0x10ed43c718714eb63d5aa57b78b54704e256024e', # Pancake Router V2 | |
| '0x13f4ea83d0bd40e75c8222255bc855a974568dd4' # Pancake Router V3 | |
| ], | |
| # --- Solana Exchanges --- | |
| 'solana_kucoin': [ | |
| 'F3a5ZLPKUCrCj6CGKP2m9wS9Y2L8RcUBoJq9L2D2sUYi', | |
| '2AQdpHJ2JpcEgPiATFnAKfV9hPMvouWJAhKvamQ2Krqy' | |
| ], | |
| 'solana_binance': [ | |
| '5tzFkiKscXHK5ZXCGbXZJpXaWuBtZ6RrH8eL2a7Yi7Vn', | |
| '9WzDXwBbmkg8ZTbNMqUxvQRApF22xwsgMj2SUZrchK2E', | |
| '31k88G5C7w5B31eY435252875151241151521512125' # Placeholder for Binance 3 | |
| ], | |
| 'solana_coinbase': [ | |
| 'CeBiLnAE3UAW9mCDSjD1VULKLeQjefjN4d941fVKazSM', | |
| 'H8sMJSCQxfKi42eHGQp5f3s89h2i7a4C5j825125121' | |
| ], | |
| # --- Bridges --- | |
| 'solana_wormhole': ['worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth'], | |
| 'ethereum_bridge': ['0x99c9fc46f92e8a1c0dec1b1747d010903e884be1'] # Optimism Bridge | |
| } | |
| # ============================================================================== | |
| # 🌐 Network Configurations (RPC & Explorers) | |
| # ============================================================================== | |
| # يتم حقن المفاتيح وتعديل النقاط تلقائياً بواسطة rpc_manager.py | |
| # تم تحديث إعدادات Solana لدعم Solscan Pro | |
| DEFAULT_NETWORK_CONFIGS = { | |
| 'ethereum': { | |
| 'name': 'Ethereum', | |
| 'chain_id': '0x1', | |
| 'native_coin': 'ETH', | |
| 'type': 'evm', | |
| 'rpc_endpoints': [ | |
| 'https://mainnet.infura.io/v3/<INFURA_KEY>', | |
| 'https://rpc.ankr.com/eth', | |
| 'https://cloudflare-eth.com', | |
| 'https://eth.llamarpc.com', | |
| 'https://1rpc.io/eth' | |
| ], | |
| 'explorer': { | |
| 'api_url': 'https://api.etherscan.io/api', | |
| 'api_key_name': 'etherscan' | |
| }, | |
| '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', | |
| 'https://1rpc.io/bnb' | |
| ], | |
| 'explorer': { | |
| 'api_url': 'https://api.bscscan.com/api', | |
| 'api_key_name': 'bscscan' | |
| }, | |
| 'moralis_chain_id': 'bsc' | |
| }, | |
| 'polygon': { | |
| 'name': 'Polygon', | |
| 'chain_id': '0x89', | |
| 'native_coin': 'MATIC', | |
| 'type': 'evm', | |
| 'rpc_endpoints': [ | |
| 'https://polygon-mainnet.infura.io/v3/<INFURA_KEY>', | |
| 'https://polygon-rpc.com', | |
| 'https://polygon.llamarpc.com', | |
| 'https://rpc.ankr.com/polygon', | |
| 'https://1rpc.io/matic' | |
| ], | |
| 'explorer': { | |
| 'api_url': 'https://api.polygonscan.com/api', | |
| 'api_key_name': 'polygonscan' | |
| }, | |
| 'moralis_chain_id': 'polygon' | |
| }, | |
| 'arbitrum': { | |
| 'name': 'Arbitrum', | |
| 'chain_id': '0xa4b1', | |
| 'native_coin': 'ETH', | |
| 'type': 'evm', | |
| 'rpc_endpoints': [ | |
| 'https://arbitrum-mainnet.infura.io/v3/<INFURA_KEY>', | |
| 'https://arb1.arbitrum.io/rpc', | |
| 'https://arbitrum.llamarpc.com', | |
| 'https://rpc.ankr.com/arbitrum', | |
| 'https://1rpc.io/arb' | |
| ], | |
| '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/<INFURA_KEY>', | |
| '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': [ | |
| 'https://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', | |
| ], | |
| 'explorer': { | |
| 'api_url': 'https://pro-api.solscan.io', # Pro API | |
| 'api_key_name': 'solscan' | |
| }, | |
| 'moralis_chain_id': 'sol' | |
| } | |
| } |