@@ -152,6 +152,18 @@ pub struct HostArgs {
152152 pub app_proofs : Option < PathBuf > ,
153153}
154154
155+ fn write_versioned_proof (
156+ output_dir : & Path ,
157+ block_number : u64 ,
158+ versioned_proof : VersionedVmStarkProof ,
159+ ) -> eyre:: Result < ( ) > {
160+ let proof_path = output_dir. join ( format ! ( "{}_proof.json" , block_number) ) ;
161+ let json = serde_json:: to_vec_pretty ( & versioned_proof) ?;
162+ fs:: write ( & proof_path, json) ?;
163+ println ! ( "wrote proof json to {}" , proof_path. display( ) ) ;
164+ Ok ( ( ) )
165+ }
166+
155167pub fn reth_vm_config ( _app_log_blowup : usize ) -> SdkVmConfig {
156168 unimplemented ! ( "only for openvm logic" )
157169 // let mut config = toml::from_str::<AppConfig<SdkVmConfig>>(include_str!(
@@ -509,9 +521,7 @@ pub async fn run_ceno_reth_benchmark(args: HostArgs) -> eyre::Result<()> {
509521 //
510522 if let Some ( output_dir) = args. output_dir . as_ref ( ) {
511523 let versioned_proof = VersionedVmStarkProof :: new ( vm_stark_proof) ?;
512- let json = serde_json:: to_vec_pretty ( & versioned_proof) ?;
513- fs:: write ( output_dir. join ( "proof.json" ) , json) ?;
514- println ! ( "wrote proof json to {}" , output_dir. display( ) ) ;
524+ write_versioned_proof ( output_dir, args. block_number , versioned_proof) ?;
515525 }
516526 }
517527 BenchMode :: ProveStarkOnly => {
@@ -775,9 +785,7 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) ->
775785
776786 if let Some ( output_dir) = args. output_dir . as_ref ( ) {
777787 let versioned_proof = VersionedVmStarkProof :: new ( proof) ?;
778- let json = serde_json:: to_vec_pretty ( & versioned_proof) ?;
779- fs:: write ( output_dir. join ( "proof.json" ) , json) ?;
780- println ! ( "wrote proof json to {}" , output_dir. display( ) ) ;
788+ write_versioned_proof ( output_dir, args. block_number , versioned_proof) ?;
781789 }
782790 }
783791 #[ cfg( feature = "evm-verify" ) ]
0 commit comments