|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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' |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
DEFAULT_EXCHANGE_ADDRESSES = { |
|
|
|
|
|
'kucoin': [ |
|
|
'0x2b5634c42055806a59e9107ed44d43c426e58258', '0x689c56aef474df92d44a1b70850f808488f9769c', |
|
|
'0xa1d8d972560c2f8144af871db508f0b0b10a3fbf', '0x4ad64983349c49defe8d7a4686202d24b25d0ce8', |
|
|
'0x1692e170361cefd1eb7240ec13d048fd9af6d667', '0xd6216fc19db775df9774a6e33526131da7d19a2c', |
|
|
'0xe59cd29be3be4461d79c0881a238c467a2b3775c', '0x899b5d52671830f567bf43a14684eb14e1f945fe' |
|
|
], |
|
|
|
|
|
'binance': [ |
|
|
'0x3f5ce5fbfe3e9af3971dd833d26ba9b5c936f0be', '0xd551234ae421e3bcba99a0da6d736074f22192ff', |
|
|
'0x564286362092d8e7936f0549571a803b203aaced', '0x0681d8db095565fe8a346fa0277bffde9c0edbbf', |
|
|
'0xfe9e8709d3215310075d67e3ed32a380ccf451c8', '0xG' |
|
|
], |
|
|
|
|
|
'coinbase': [ |
|
|
'0x71660c4005ba85c37ccec55d0c4493e66fe775d3', '0x503828976d22510aad0201ac7ec88293211d23da', |
|
|
'0xddfabcdc4d8ffc6d5beaf154f18b778f892a0740' |
|
|
], |
|
|
|
|
|
'kraken': ['0x2910543af39aba0cd09dbb2d50200b3e800a63d2', '0xa160cdab225685da1d56aa342ad8841c3b53f291'], |
|
|
|
|
|
'okx': ['0x6cc5f688a315f3dc28a7781717a9a798a59fda7b', '0x2c8fbb630289363ac80705a1a61273f76fd5a161'], |
|
|
|
|
|
'gate': ['0x0d0707963952f2fba59dd06f2b425ace40b492fe', '0xc6f9741f5a5a676b91171804cf3c500ab438bb6e'], |
|
|
|
|
|
'uniswap': ['0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad', '0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45'], |
|
|
'pancakeswap': ['0x10ed43c718714eb63d5aa57b78b54704e256024e', '0x13f4ea83d0bd40e75c8222255bc855a974568dd4'], |
|
|
|
|
|
'solana_kucoin': ['F3a5ZLPKUCrCj6CGKP2m9wS9Y2L8RcUBoJq9L2D2sUYi', '2AQdpHJ2JpcEgPiATFnAKfV9hPMvouWJAhKvamQ2Krqy'], |
|
|
'solana_binance': ['5tzFkiKscXHK5ZXCGbXZJpXaWuBtZ6RrH8eL2a7Yi7Vn', '9WzDXwBbmkg8ZTbNMqUxvQRApF22xwsgMj2SUZrchK2E'], |
|
|
'solana_coinbase': ['CeBiLnAE3UAW9mCDSjD1VULKLeQjefjN4d941fVKazSM'], |
|
|
|
|
|
'solana_wormhole': ['worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth'] |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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', |
|
|
], |
|
|
'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' |
|
|
], |
|
|
'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' |
|
|
], |
|
|
'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' |
|
|
], |
|
|
'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': [ |
|
|
'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', |
|
|
], |
|
|
|
|
|
'explorer': { |
|
|
'api_url': 'https://pro-api.solscan.io', |
|
|
'api_key_name': 'solscan' |
|
|
}, |
|
|
|
|
|
'moralis_chain_id': 'sol' |
|
|
} |
|
|
} |