openvm_sdk/prover/vm/
types.rs

1use std::sync::Arc;
2
3use derivative::Derivative;
4use openvm_stark_backend::{keygen::types::MultiStarkProvingKey, SystemParams};
5use serde::{Deserialize, Serialize};
6
7/// Proving key for a specific VM.
8#[derive(Serialize, Deserialize, Derivative)]
9pub struct VmProvingKey<VC> {
10    pub vm_config: VC,
11    pub vm_pk: Arc<MultiStarkProvingKey<crate::SC>>,
12}
13
14impl<VC> VmProvingKey<VC> {
15    pub fn get_params(&self) -> SystemParams {
16        self.vm_pk.params.clone()
17    }
18}