@@ -7,9 +7,7 @@ use openvm_continuations::verifier::{
7
7
} ;
8
8
use openvm_native_circuit:: NativeConfig ;
9
9
use openvm_native_recursion:: hints:: Hintable ;
10
- use openvm_stark_sdk:: {
11
- config:: baby_bear_poseidon2:: BabyBearPoseidon2Engine , openvm_stark_backend:: proof:: Proof ,
12
- } ;
10
+ use openvm_stark_sdk:: { engine:: StarkFriEngine , openvm_stark_backend:: proof:: Proof } ;
13
11
use tracing:: info_span;
14
12
15
13
use crate :: {
@@ -25,11 +23,11 @@ pub const DEFAULT_NUM_CHILDREN_LEAF: usize = 1;
25
23
const DEFAULT_NUM_CHILDREN_INTERNAL : usize = 2 ;
26
24
const DEFAULT_MAX_INTERNAL_WRAPPER_LAYERS : usize = 4 ;
27
25
28
- pub struct AggStarkProver {
29
- leaf_prover : VmLocalProver < SC , NativeConfig , BabyBearPoseidon2Engine > ,
26
+ pub struct AggStarkProver < E : StarkFriEngine < SC > > {
27
+ leaf_prover : VmLocalProver < SC , NativeConfig , E > ,
30
28
leaf_controller : LeafProvingController ,
31
29
32
- internal_prover : VmLocalProver < SC , NativeConfig , BabyBearPoseidon2Engine > ,
30
+ internal_prover : VmLocalProver < SC , NativeConfig , E > ,
33
31
root_prover : RootVerifierLocalProver ,
34
32
35
33
pub num_children_internal : usize ,
@@ -41,19 +39,17 @@ pub struct LeafProvingController {
41
39
pub num_children : usize ,
42
40
}
43
41
44
- impl AggStarkProver {
42
+ impl < E : StarkFriEngine < SC > > AggStarkProver < E > {
45
43
pub fn new (
46
44
agg_stark_pk : AggStarkProvingKey ,
47
45
leaf_committed_exe : Arc < NonRootCommittedExe > ,
48
46
) -> Self {
49
- let leaf_prover = VmLocalProver :: < SC , NativeConfig , BabyBearPoseidon2Engine > :: new (
50
- agg_stark_pk. leaf_vm_pk ,
51
- leaf_committed_exe,
52
- ) ;
47
+ let leaf_prover =
48
+ VmLocalProver :: < SC , NativeConfig , E > :: new ( agg_stark_pk. leaf_vm_pk , leaf_committed_exe) ;
53
49
let leaf_controller = LeafProvingController {
54
50
num_children : DEFAULT_NUM_CHILDREN_LEAF ,
55
51
} ;
56
- let internal_prover = VmLocalProver :: < SC , NativeConfig , BabyBearPoseidon2Engine > :: new (
52
+ let internal_prover = VmLocalProver :: < SC , NativeConfig , E > :: new (
57
53
agg_stark_pk. internal_vm_pk ,
58
54
agg_stark_pk. internal_committed_exe ,
59
55
) ;
@@ -184,9 +180,9 @@ impl LeafProvingController {
184
180
self
185
181
}
186
182
187
- pub fn generate_proof (
183
+ pub fn generate_proof < E : StarkFriEngine < SC > > (
188
184
& self ,
189
- prover : & VmLocalProver < SC , NativeConfig , BabyBearPoseidon2Engine > ,
185
+ prover : & VmLocalProver < SC , NativeConfig , E > ,
190
186
app_proofs : & ContinuationVmProof < SC > ,
191
187
) -> Vec < Proof < SC > > {
192
188
info_span ! ( "agg_layer" , group = "leaf" ) . in_scope ( || {
0 commit comments