stylus-debug 0.1.1

A comprehensive debug and migration toolkit for Arbitrum Stylus (Rust-based smart contracts).
use debug_engine::ExecutionEvent;

#[allow(dead_code)]
pub struct AssertionResult {
    pub name: String,
    pub passed: bool,
    pub detail: String,
}

#[allow(dead_code)]
pub struct ScenarioResult {
    pub scenario_name: String,
    pub success: bool,
    pub failure_reason: Option<String>,
    pub assertion_results: Vec<AssertionResult>,
    pub trace: Vec<ExecutionEvent>,
}

pub fn generate_html_report(results: &[ScenarioResult]) -> String {
    let mut html = String::from("<html><head><title>Stylus Debug Report</title>");
    html.push_str("<style>body { font-family: sans-serif; background: #0f172a; color: #e2e8f0; padding: 2rem; }</style>");
    html.push_str("</head><body><h1>Stylus Debug Suite - Execution Report</h1>");

    for res in results {
        let status = if res.success { "PASS" } else { "FAIL" };
        html.push_str(&format!("<h2>Scenario: {} [{}]</h2>", res.scenario_name, status));
        // Add more HTML generation logic ...
    }

    html.push_str("</body></html>");
    html
}