@@ -34,9 +34,9 @@ use tracing::Level;
3434use crate :: { prover:: ChildVkKind , SC } ;
3535
3636#[ cfg( feature = "cuda" ) ]
37- mod e2e ;
37+ mod dummy ;
3838#[ cfg( feature = "cuda" ) ]
39- mod verify ;
39+ mod e2e ;
4040
4141cfg_if:: cfg_if! {
4242 if #[ cfg( feature = "cuda" ) ] {
@@ -46,27 +46,24 @@ cfg_if::cfg_if! {
4646 use crate :: prover:: {
4747 DeferralInnerGpuProver as DeferralInnerProver ,
4848 DeferralHookGpuProver as DeferralHookProver ,
49- DeferralVerifyGpuProver as DeferredVerifyProver ,
5049 } ;
5150 use crate :: circuit:: {
5251 deferral:: {
53- verify:: output:: expected_output_commit,
5452 DeferralAggregationPvs ,
5553 DeferralCircuitPvs ,
5654 DEF_AGG_PVS_AIR_ID ,
5755 } ,
58- root:: RootVerifierPvs ,
5956 } ;
6057 use openvm_recursion_circuit:: utils:: poseidon2_hash_slice_with_states;
6158 use openvm_cuda_backend:: { BabyBearPoseidon2GpuEngine , GpuBackend } ;
62- use openvm_stark_backend:: { prover:: CommittedTraceData , verifier :: verify , TranscriptHistory } ;
59+ use openvm_stark_backend:: { prover:: CommittedTraceData } ;
6360 use openvm_stark_sdk:: config:: {
64- baby_bear_poseidon2:: { poseidon2_compress_with_capacity, default_duplex_sponge_recorder } ,
61+ baby_bear_poseidon2:: { poseidon2_compress_with_capacity} ,
6562 baby_bear_bn254_poseidon2:: BabyBearBn254Poseidon2CpuEngine ,
6663 } ;
6764 use openvm_verify_stark_host:: pvs:: { VERIFIER_PVS_AIR_ID , DeferralPvs , VerifierBasePvs } ;
6865 use crate :: prover:: DeferralChildVkKind ;
69- use crate :: utils:: { poseidon2_input_to_digests , zero_hash} ;
66+ use crate :: utils:: zero_hash;
7067 type RootEngine = BabyBearBn254Poseidon2CpuEngine ;
7168 type Engine = BabyBearPoseidon2GpuEngine ;
7269 type PB = GpuBackend ;
@@ -365,26 +362,9 @@ fn test_root_prover_trace_heights() -> Result<()> {
365362
366363#[ cfg( feature = "cuda" ) ]
367364fn generate_single_def_proof (
368- child_extra_recursive_layers : usize ,
365+ _child_extra_recursive_layers : usize ,
369366) -> Result < ( Arc < MultiStarkVerifyingKey < SC > > , Proof < SC > ) > {
370- let (
371- internal_recursive_vk,
372- internal_recursive_pcs_data,
373- internal_recursive_proof,
374- user_pvs_proof,
375- ) = run_full_aggregation ( 10 , child_extra_recursive_layers) ?;
376- let system_config = test_rv32im_config ( ) . rv32i . system ;
377- let deferred_verify_prover = DeferredVerifyProver :: new :: < Engine > (
378- internal_recursive_vk,
379- internal_recursive_pcs_data,
380- root_system_params ( ) ,
381- system_config. memory_config . memory_dimensions ( ) ,
382- system_config. num_public_values ,
383- None ,
384- ) ;
385- let def_proof =
386- deferred_verify_prover. prove_no_def :: < Engine > ( internal_recursive_proof, & user_pvs_proof) ?;
387- Ok ( ( deferred_verify_prover. get_vk ( ) , def_proof) )
367+ dummy:: generate_single_dummy_def_proof ( )
388368}
389369
390370#[ cfg( feature = "cuda" ) ]
@@ -525,85 +505,6 @@ fn expected_deferral_inner_merkle_commit_from_copies(
525505 commits[ 0 ]
526506}
527507
528- #[ cfg( feature = "cuda" ) ]
529- #[ test_case( 0 ; "internal_recursive_dag_commit not set" ) ]
530- #[ test_case( 1 ; "internal_recursive_dag_commit set" ) ]
531- fn test_deferral_verify_prover ( child_extra_recursive_layers : usize ) -> Result < ( ) > {
532- setup_tracing_with_log_level ( Level :: INFO ) ;
533- let (
534- internal_recursive_vk,
535- internal_recursive_pcs_data,
536- internal_recursive_proof,
537- user_pvs_proof,
538- ) = run_full_aggregation ( 10 , child_extra_recursive_layers) ?;
539-
540- let system_config = test_rv32im_config ( ) . rv32i . system ;
541-
542- // Compute def_proof
543- let deferred_verify_prover = DeferredVerifyProver :: new :: < Engine > (
544- internal_recursive_vk. clone ( ) ,
545- internal_recursive_pcs_data. clone ( ) ,
546- root_system_params ( ) ,
547- system_config. memory_config . memory_dimensions ( ) ,
548- system_config. num_public_values ,
549- None ,
550- ) ;
551- let def_proof = deferred_verify_prover
552- . prove_no_def :: < Engine > ( internal_recursive_proof. clone ( ) , & user_pvs_proof) ?;
553-
554- // Verify that def_proof is valid
555- let vk = deferred_verify_prover. get_vk ( ) ;
556- let engine = Engine :: new ( vk. inner . params . clone ( ) ) ;
557- engine. verify ( & vk, & def_proof) ?;
558-
559- // Get the final transcript state of internal_recursive_proof
560- let mut ts = default_duplex_sponge_recorder ( ) ;
561- let config = SC :: default_from_params ( internal_recursive_vk. inner . params . clone ( ) ) ;
562- verify (
563- & config,
564- internal_recursive_vk. as_ref ( ) ,
565- & internal_recursive_proof,
566- & mut ts,
567- ) ?;
568- let ts_log = ts. into_log ( ) ;
569- let expected_final_ts_state = ts_log. perm_results ( ) . last ( ) . unwrap ( ) ;
570-
571- // Generate a root_proof to compare the pvs of def_proof against
572- let root_prover = RootProver :: new :: < RootEngine > (
573- internal_recursive_vk,
574- internal_recursive_pcs_data. commitment . into ( ) ,
575- root_system_params ( ) ,
576- system_config. memory_config . memory_dimensions ( ) ,
577- system_config. num_public_values ,
578- None ,
579- None ,
580- ) ;
581- let ctx = root_prover. generate_proving_ctx ( internal_recursive_proof, & user_pvs_proof) ;
582- let root_proof = root_prover. root_prove_from_ctx :: < RootEngine > ( ctx. unwrap ( ) ) ?;
583-
584- // Assert the correctness of the def_proof public values
585- let root_pvs: & RootVerifierPvs < F > = root_proof. public_values [ VERIFIER_PVS_AIR_ID ]
586- . as_slice ( )
587- . borrow ( ) ;
588- // RootCircuit AIR layout is:
589- // 0: RootVerifierPvsAir, 1: UserPvsCommitAir, 2: UserPvsInMemoryAir, 3..: verifier subcircuit.
590- const ROOT_USER_PVS_COMMIT_AIR_ID : usize = 1 ;
591- let user_pvs = root_proof. public_values [ ROOT_USER_PVS_COMMIT_AIR_ID ] . clone ( ) ;
592-
593- let ( left, right) = poseidon2_input_to_digests ( * expected_final_ts_state) ;
594- let expected_input_commit = poseidon2_compress_with_capacity ( left, right) . 0 ;
595- let expected_output_commit =
596- expected_output_commit ( root_pvs. app_exe_commit , root_pvs. app_vk_commit , user_pvs) ;
597-
598- let def_pvs: & DeferralCircuitPvs < F > = def_proof. public_values [ VERIFIER_PVS_AIR_ID ]
599- . as_slice ( )
600- . borrow ( ) ;
601- assert_eq ! ( expected_input_commit, def_pvs. input_commit) ;
602- assert_eq ! ( expected_output_commit, def_pvs. output_commit) ;
603-
604- Ok ( ( ) )
605- }
606-
607508#[ cfg( feature = "cuda" ) ]
608509#[ test_case( 0 , 1 ; "internal_recursive_dag_commit not set + one child" ) ]
609510#[ test_case( 1 , 1 ; "internal_recursive_dag_commit set + one child" ) ]
0 commit comments