Riy777's picture
Update whale_monitor/config.py
e4cb045 verified
# 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'
}
}