@@ -27,6 +27,7 @@ use crate::{
2727 execute:: execute_program, info:: get_server_info, prove:: prove_program, verify:: verify_proof,
2828 } ,
2929 metrics:: http_metrics_middleware,
30+ mock:: MockzkVM ,
3031 proof_service:: { ProofMessage , ProofService } ,
3132} ;
3233
@@ -97,8 +98,7 @@ pub(crate) enum zkVMInstance {
9798 client : Arc < zkVMClient > ,
9899 } ,
99100 /// Mock zkVM
100- #[ cfg( test) ]
101- Mock ( crate :: mock:: MockzkVM ) ,
101+ Mock ( MockzkVM ) ,
102102}
103103
104104impl zkVMInstance {
@@ -118,6 +118,11 @@ impl zkVMInstance {
118118 } )
119119 }
120120
121+ /// Creates an mock zkVM instance.
122+ pub ( crate ) fn mock ( mock_proving_time_ms : u64 , mock_proof_size : u64 ) -> Self {
123+ Self :: Mock ( MockzkVM :: new ( mock_proving_time_ms, mock_proof_size) )
124+ }
125+
121126 /// Executes the program with the given input.
122127 pub ( crate ) async fn execute (
123128 & self ,
@@ -126,8 +131,7 @@ impl zkVMInstance {
126131 match self {
127132 Self :: Docker { vm } => vm. execute_async ( input) . await ,
128133 Self :: External { client } => Ok ( client. execute ( input) . await ?) ,
129- #[ cfg( test) ]
130- Self :: Mock ( vm) => vm. execute ( & input) ,
134+ Self :: Mock ( vm) => vm. execute ( & input) . await ,
131135 }
132136 }
133137
@@ -140,8 +144,7 @@ impl zkVMInstance {
140144 match self {
141145 Self :: Docker { vm } => vm. prove_async ( input, proof_kind) . await ,
142146 Self :: External { client } => Ok ( client. prove ( input, proof_kind) . await ?) ,
143- #[ cfg( test) ]
144- Self :: Mock ( vm) => vm. prove ( & input, proof_kind) ,
147+ Self :: Mock ( vm) => vm. prove ( & input, proof_kind) . await ,
145148 }
146149 }
147150
@@ -151,8 +154,7 @@ impl zkVMInstance {
151154 match self {
152155 Self :: Docker { vm } => vm. verify_async ( proof) . await ,
153156 Self :: External { client } => Ok ( client. verify ( proof) . await ?) ,
154- #[ cfg( test) ]
155- Self :: Mock ( vm) => vm. verify ( & proof) ,
157+ Self :: Mock ( vm) => vm. verify ( & proof) . await ,
156158 }
157159 }
158160}
@@ -194,5 +196,10 @@ async fn init_zkvm(config: &zkVMConfig) -> anyhow::Result<zkVMInstance> {
194196 Ok ( zkVMInstance:: docker ( zkvm) )
195197 }
196198 zkVMConfig:: External { endpoint, .. } => zkVMInstance:: external ( endpoint. clone ( ) ) . await ,
199+ zkVMConfig:: Mock {
200+ mock_proving_time_ms,
201+ mock_proof_size,
202+ ..
203+ } => Ok ( zkVMInstance:: mock ( * mock_proving_time_ms, * mock_proof_size) ) ,
197204 }
198205}
0 commit comments