UNPKG

@mraicodedev/bsc-contract-security

Version:

A comprehensive library for analyzing smart contract security risks on Binance Smart Chain, specialized for meme coins and shitcoins

70 lines (57 loc) 2.65 kB
const ContractAddressAnalyzer = require('../src/index'); const SecurityAnalyzer = require('../src/security-analyzer'); const TokenAnalyzer = require('../src/token-analyzer'); async function checkMemeCoin(contractAddress) { console.log(`🔍 Analyzing meme coin: ${contractAddress}\n`); const analyzer = new ContractAddressAnalyzer(); const securityAnalyzer = new SecurityAnalyzer(); const tokenAnalyzer = new TokenAnalyzer(analyzer.provider); try { // 1. Basic validation console.log('1. Basic Validation:'); const isValid = analyzer.isValidAddress(contractAddress); const isContract = await analyzer.isContract(contractAddress); console.log(`✅ Valid address: ${isValid}`); console.log(`✅ Is contract: ${isContract}\n`); if (!isContract) { console.log('❌ Not a contract address!'); return; } // 2. Security analysis console.log('2. Security Analysis:'); const security = await securityAnalyzer.analyzeContractSecurity(contractAddress); console.log(`🎯 Risk Score: ${security.riskScore}/100`); console.log(`⚠️ Risk Level: ${security.riskLevel}`); console.log(`💡 Recommendation: ${security.recommendation}\n`); if (security.risks.length > 0) { console.log('🚨 Security Risks Found:'); security.risks.forEach((risk, index) => { console.log(`${index + 1}. [${risk.severity}] ${risk.type}: ${risk.description}`); }); console.log(); } // 3. Token analysis console.log('3. Token Analysis:'); const tokenInfo = await tokenAnalyzer.analyzeToken(contractAddress); console.log(`📛 Name: ${tokenInfo.name}`); console.log(`🏷️ Symbol: ${tokenInfo.symbol}`); console.log(`💰 Total Supply: ${tokenInfo.totalSupply}`); console.log(`👤 Owner: ${tokenInfo.owner || 'Renounced/Not found'}\n`); // 4. Conclusion console.log('4. Trading Decision:'); if (security.riskScore >= 70) { console.log('🚫 DO NOT TRADE - Extremely high risk!'); } else if (security.riskScore >= 50) { console.log('⚠️ HIGH RISK - Only trade with money you can afford to lose'); } else if (security.riskScore >= 30) { console.log('⚡ MEDIUM RISK - Do more research before trading'); } else { console.log('✅ LOWER RISK - But still be careful with meme coins'); } } catch (error) { console.error('❌ Error analyzing contract:', error.message); } } // Example usage const memeCoinAddress = '0x4444c1aC17b779b221E410a94F218f44b8862101'; checkMemeCoin(memeCoinAddress);