spectral_vm 0.1.6

HYPERION: Production-ready zero-knowledge virtual machine with spectral analysis
Documentation
//! Basic example demonstrating HYPERION ZK-VM usage
//!
//! This example shows:
//! - Creating a simple program using the circuit compiler
//! - Executing it on the HYPERION VM
//! - Generating and verifying a ZK proof

use spectral_vm::{vm::SovereignVM, signal::SpectralSignal, attestor::SovereignProver, attestor::SovereignVerifier, transcript::Transcript};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    println!("🌀 HYPERION ZK-VM Example");
    println!("========================");

    // Create a simple arithmetic program (add two numbers)
    let program = SpectralSignal::new(vec![1, 2, 0, 0]); // S_ADD instruction (padded to power of 2)

    // Initialize VM with memory
    let challenge = spectral_vm::field::Goldilocks::new(42); // Random challenge
    let mut vm = SovereignVM::new(program, challenge, 1024);

    println!("✅ VM initialized with program");

    // Execute the program
    let mut transcript = Transcript::new();
    vm.execute_trace(1000, &mut transcript).unwrap();

    println!("✅ Program executed successfully");
    println!("📊 Result stored in registers");

    // Create a boolean trace (simplified for demo)
    let boolean_trace = SpectralSignal::new(vec![1, 0, 1]);

    // Generate ZK proof
    let attestation = SovereignProver::prove(&vm, &boolean_trace, 16);

    println!("✅ ZK proof generated");

    // Verify the proof
    let is_valid = SovereignVerifier::verify_strict(&attestation, 16);

    match is_valid {
        Ok(_) => {
            println!("✅ ZK proof verified successfully");
            println!("🎉 Example completed!");
        }
        Err(e) => {
            println!("❌ Proof verification failed: {:?}", e);
        }
    }

    Ok(())
}