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}