@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
JavaScript
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);