openvm_sdk/prover/vm/
types.rs
1use derivative::Derivative;
2use openvm_stark_backend::{
3 config::{Com, StarkGenericConfig},
4 keygen::types::MultiStarkProvingKey,
5};
6use openvm_stark_sdk::config::FriParameters;
7use serde::{Deserialize, Serialize};
8
9#[derive(Serialize, Deserialize, Derivative)]
11#[serde(bound(
12 serialize = "MultiStarkProvingKey<SC>: Serialize, VC: Serialize",
13 deserialize = "MultiStarkProvingKey<SC>: Deserialize<'de>, VC: Deserialize<'de>"
14))]
15#[derivative(Clone(bound = "Com<SC>: Clone, VC: Clone"))]
16pub struct VmProvingKey<SC: StarkGenericConfig, VC> {
17 pub fri_params: FriParameters,
18 pub vm_config: VC,
19 pub vm_pk: MultiStarkProvingKey<SC>,
20}