Smart Contract Analysis Tool

Smart Contract Analysis Tool

Perform a basic automated security check on your Solidity code.

Paste Solidity Code

Analysis Results

Potential Vulnerabilities

Contract Structure

Export Report

Generate a professional PDF of the security analysis.

Functions Found

${analysisResults.functions.length}

Lines of Code

${analysisResults.linesOfCode}

`; // Vulnerabilities List const vulnsList = document.getElementById('vulnerabilities-list'); if (analysisResults.vulnerabilities.length > 0) { vulnsList.innerHTML = analysisResults.vulnerabilities.map(v => `

${v.title} (${v.severity})

${v.description}

`).join(''); } else { vulnsList.innerHTML = '

No common vulnerability patterns found.

'; } // Structure List document.getElementById('structure-list').innerHTML = `

Functions

    ${analysisResults.functions.map(f => `
  • ${f}
  • `).join('') || '
  • None found
  • '}

State Variables

    ${analysisResults.stateVars.map(v => `
  • ${v}
  • `).join('') || '
  • None found
  • '}
`; } // --- PDF GENERATION --- async function generatePdfReport() { downloadPdfBtn.disabled = true; downloadPdfBtn.textContent = 'Generating...'; const reportHtml = `

Smart Contract Security Analysis

Generated on: ${new Date("2025-09-11").toLocaleDateString()} | This is an automated, informational report.

Vulnerability Summary
${analysisResults.vulnerabilities.map(v => `
${v.title} — ${v.severity}
${v.description}
`).join('') || '

No common vulnerabilities found.

'}
Contract Functions
    ${analysisResults.functions.map(f => `
  • ${f}
  • `).join('')}
State Variables
    ${analysisResults.stateVars.map(v => `
  • ${v}
  • `).join('')}
`; const pdfTemplate = document.getElementById('pdf-template'); pdfTemplate.innerHTML = reportHtml; pdfTemplate.classList.remove('invisible'); try { const { jsPDF } = window.jspdf; const canvas = await html2canvas(pdfTemplate.querySelector('.pdf-report-container'), { scale: 2, backgroundColor: '#111827' }); const imgData = canvas.toDataURL('image/png'); const pdf = new jsPDF({ orientation: 'p', unit: 'pt', format: 'a4' }); const pdfWidth = pdf.internal.pageSize.getWidth(); const pdfHeight = (canvas.height * pdfWidth) / canvas.width; pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight); pdf.save('Smart_Contract_Analysis.pdf'); } catch (e) { console.error('PDF Generation Error:', e); } finally { downloadPdfBtn.disabled = false; downloadPdfBtn.textContent = 'Download Analysis PDF'; pdfTemplate.classList.add('invisible'); pdfTemplate.innerHTML = ''; } } downloadPdfBtn.addEventListener('click', generatePdfReport); // --- INITIALIZATION --- switchTab(0); });
Scroll to Top