openvm_stark_backend/
circuit_api.rsuse async_trait::async_trait;
use crate::{
config::StarkGenericConfig,
prover::types::{Proof, ProofInput},
verifier::VerificationError,
};
#[async_trait]
pub trait AsyncCircuitProver<SC: StarkGenericConfig> {
async fn prove(&self, proof_input: ProofInput<SC>) -> Proof<SC>;
}
pub trait CircuitProver<SC: StarkGenericConfig> {
fn prove(&self, proof_input: ProofInput<SC>) -> Proof<SC>;
}
pub trait CircuitVerifier<SC: StarkGenericConfig> {
fn verify(&self, proof: &Proof<SC>) -> Result<(), VerificationError>;
}