@@ -13,6 +13,7 @@ use scroll_proving_sdk::{
1313 prover:: ProverBuilder ,
1414 utils:: { get_version, init_tracing} ,
1515} ;
16+ use tokio:: runtime;
1617use utils:: get_prover_type;
1718
1819#[ derive( Parser , Debug ) ]
@@ -31,38 +32,45 @@ struct Args {
3132 log_file : Option < String > ,
3233}
3334
34- #[ tokio:: main]
35- async fn main ( ) -> anyhow:: Result < ( ) > {
36- init_tracing ( ) ;
35+ fn main ( ) -> anyhow:: Result < ( ) > {
36+ let rt = runtime:: Builder :: new_multi_thread ( )
37+ . thread_stack_size ( 16 * 1024 * 1024 ) // Set stack size to 16MB
38+ . enable_all ( )
39+ . build ( )
40+ . expect ( "Failed to create Tokio runtime" ) ;
41+
42+ rt. block_on ( async {
43+ init_tracing ( ) ;
3744
38- let args = Args :: parse ( ) ;
45+ let args = Args :: parse ( ) ;
3946
40- if args. version {
41- println ! ( "version is {}" , get_version( ) ) ;
42- std:: process:: exit ( 0 ) ;
43- }
47+ if args. version {
48+ println ! ( "version is {}" , get_version( ) ) ;
49+ std:: process:: exit ( 0 ) ;
50+ }
4451
45- let cfg = LocalProverConfig :: from_file ( args. config_file ) ?;
46- let sdk_config = cfg. sdk_config . clone ( ) ;
47- let mut prover_types = vec ! [ ] ;
48- sdk_config
49- . prover
50- . circuit_types
51- . iter ( )
52- . for_each ( |circuit_type| {
53- if let Some ( pt) = get_prover_type ( * circuit_type) {
54- if !prover_types. contains ( & pt) {
55- prover_types. push ( pt) ;
52+ let cfg = LocalProverConfig :: from_file ( args. config_file ) ?;
53+ let sdk_config = cfg. sdk_config . clone ( ) ;
54+ let mut prover_types = vec ! [ ] ;
55+ sdk_config
56+ . prover
57+ . circuit_types
58+ . iter ( )
59+ . for_each ( |circuit_type| {
60+ if let Some ( pt) = get_prover_type ( * circuit_type) {
61+ if !prover_types. contains ( & pt) {
62+ prover_types. push ( pt) ;
63+ }
5664 }
57- }
58- } ) ;
59- let local_prover = LocalProver :: new ( cfg, prover_types) ;
60- let prover = ProverBuilder :: new ( sdk_config)
61- . with_proving_service ( Box :: new ( local_prover) )
62- . build ( )
63- . await ?;
65+ } ) ;
66+ let local_prover = LocalProver :: new ( cfg, prover_types) ;
67+ let prover = ProverBuilder :: new ( sdk_config)
68+ . with_proving_service ( Box :: new ( local_prover) )
69+ . build ( )
70+ . await ?;
6471
65- prover. run ( ) . await ;
72+ prover. run ( ) . await ;
6673
67- Ok ( ( ) )
74+ Ok ( ( ) )
75+ } )
6876}
0 commit comments