@@ -12,32 +12,39 @@ use scroll_zkvm_types::ProvingTask;
1212#[ derive( Default ) ]
1313pub struct Dumper {
1414 #[ allow( dead_code) ]
15- target_path : String ,
15+ pub target_path : String ,
16+ pub json_mode : bool ,
1617}
1718
1819impl Dumper {
1920 fn dump ( & self , input_string : & str ) -> eyre:: Result < ( ) > {
2021 let task: ProvingTaskExt = serde_json:: from_str ( input_string) ?;
2122 let task = ProvingTask :: from ( task) ;
2223
23- // stream-encode serialized_witness to input_task.bin using bincode 2.0
24- let input_file = std:: fs:: File :: create ( "input_task.bin" ) ?;
25- let mut input_writer = std:: io:: BufWriter :: new ( input_file) ;
26- bincode:: encode_into_std_write (
27- & task. serialized_witness ,
28- & mut input_writer,
29- bincode:: config:: standard ( ) ,
30- ) ?;
31-
32- // stream-encode aggregated_proofs to agg_proofs.bin using bincode 2.0
33- let agg_file = std:: fs:: File :: create ( "agg_proofs.bin" ) ?;
34- let mut agg_writer = std:: io:: BufWriter :: new ( agg_file) ;
35- for proof in & task. aggregated_proofs {
36- bincode:: serde:: encode_into_std_write (
37- & proof. proofs ,
38- & mut agg_writer,
24+ if self . json_mode {
25+ let file = std:: fs:: File :: create ( "input_task.json" ) ?;
26+ serde_json:: to_writer ( std:: io:: BufWriter :: new ( file) , & task) ?;
27+ } else {
28+ // stream-encode serialized_witness to input_task.bin using bincode 2.0
29+ let input_file = std:: fs:: File :: create ( "input_task.bin" ) ?;
30+ let mut input_writer = std:: io:: BufWriter :: new ( input_file) ;
31+ bincode:: encode_into_std_write (
32+ & task. serialized_witness ,
33+ & mut input_writer,
3934 bincode:: config:: standard ( ) ,
4035 ) ?;
36+
37+ // stream-encode aggregated_proofs to agg_proofs.bin using bincode 2.0
38+ let agg_file = std:: fs:: File :: create ( "agg_proofs.bin" ) ?;
39+ let mut agg_writer = std:: io:: BufWriter :: new ( agg_file) ;
40+ for proof in & task. aggregated_proofs {
41+ let sz = bincode:: serde:: encode_into_std_write (
42+ & proof. proofs ,
43+ & mut agg_writer,
44+ bincode:: config:: standard ( ) ,
45+ ) ?;
46+ println ! ( "written {sz} bytes for proof" ) ;
47+ }
4148 }
4249
4350 Ok ( ( ) )
0 commit comments