@@ -16,7 +16,8 @@ use openvm_stark_sdk::{engine::StarkFriEngine, openvm_stark_backend::proof::Proo
16
16
use tracing:: { info_span, instrument} ;
17
17
18
18
use crate :: {
19
- config:: AggregationTreeConfig , keygen:: AggProvingKey , prover:: vm:: new_local_prover, F , SC ,
19
+ config:: AggregationTreeConfig , keygen:: AggProvingKey , prover:: vm:: new_local_prover,
20
+ util:: check_max_constraint_degrees, F , SC ,
20
21
} ;
21
22
#[ cfg( feature = "evm-prove" ) ]
22
23
use crate :: { prover:: RootVerifierLocalProver , RootSC } ;
@@ -124,6 +125,10 @@ where
124
125
& mut self ,
125
126
app_proofs : & ContinuationVmProof < SC > ,
126
127
) -> Result < Vec < Proof < SC > > , VirtualMachineError > {
128
+ check_max_constraint_degrees (
129
+ self . leaf_prover . vm . config ( ) . as_ref ( ) ,
130
+ & self . leaf_prover . vm . engine . fri_params ( ) ,
131
+ ) ;
127
132
self . leaf_controller
128
133
. generate_proof ( & mut self . leaf_prover , app_proofs)
129
134
}
@@ -146,6 +151,11 @@ where
146
151
leaf_proofs : Vec < Proof < SC > > ,
147
152
public_values : Vec < F > ,
148
153
) -> Result < VmStarkProof < SC > , VirtualMachineError > {
154
+ check_max_constraint_degrees (
155
+ self . internal_prover . vm . config ( ) . as_ref ( ) ,
156
+ & self . internal_prover . vm . engine . fri_params ( ) ,
157
+ ) ;
158
+
149
159
let mut internal_node_idx = -1 ;
150
160
let mut internal_node_height = 0 ;
151
161
let mut proofs = leaf_proofs;
@@ -258,6 +268,10 @@ where
258
268
& mut self ,
259
269
root_input : RootVmVerifierInput < SC > ,
260
270
) -> Result < Proof < RootSC > , VirtualMachineError > {
271
+ check_max_constraint_degrees (
272
+ self . root_prover . vm_config ( ) . as_ref ( ) ,
273
+ self . root_prover . fri_params ( ) ,
274
+ ) ;
261
275
let input = root_input. write ( ) ;
262
276
#[ cfg( feature = "metrics" ) ]
263
277
metrics:: counter!( "fri.log_blowup" )
0 commit comments