@@ -5,10 +5,13 @@ use tracing::{info, warn};
55mod backends;
66mod util;
77
8+ pub mod backend;
89pub mod cli;
910pub mod commands;
1011pub mod config;
1112
13+ use backend:: { BackendKind , backend_for} ;
14+
1215pub use cli:: Cli ;
1316pub use config:: Config ;
1417
@@ -70,81 +73,93 @@ fn dispatch(cli: &Cli, cfg: &Config) -> Result<()> {
7073 if !cfg. quiet {
7174 print_banner ( "cairo gen" ) ;
7275 }
73- commands:: cairo:: run_gen ( cfg)
76+ let backend = backend_for ( BackendKind :: Cairo ) ;
77+ backend. generate ( cfg)
7478 }
7579 CairoCommands :: Prove => {
7680 if !cfg. quiet {
7781 print_banner ( "cairo prove" ) ;
7882 }
79- commands:: cairo:: run_prove ( cfg)
83+ let backend = backend_for ( BackendKind :: Cairo ) ;
84+ backend. prove ( cfg)
8085 }
8186 CairoCommands :: Verify => {
8287 if !cfg. quiet {
8388 print_banner ( "cairo verify" ) ;
8489 }
85- commands:: cairo:: run_verify ( cfg)
90+ let backend = backend_for ( BackendKind :: Cairo ) ;
91+ backend. verify ( cfg)
8692 }
8793 CairoCommands :: Calldata => {
8894 if !cfg. quiet {
8995 print_banner ( "cairo calldata" ) ;
9096 }
91- commands:: cairo:: run_calldata ( cfg)
97+ let backend = backend_for ( BackendKind :: Cairo ) ;
98+ backend. calldata ( cfg)
9299 }
93100 CairoCommands :: Declare { network } => {
94101 if !cfg. quiet {
95102 print_banner ( "cairo declare" ) ;
96103 }
97104 commands:: cairo:: run_declare ( cfg, network)
98105 }
99- CairoCommands :: Deploy { class_hash } => {
106+ CairoCommands :: Deploy { class_hash : _ } => {
100107 if !cfg. quiet {
101108 print_banner ( "cairo deploy" ) ;
102109 }
103- commands:: cairo:: run_deploy ( cfg, class_hash. as_deref ( ) )
110+ let backend = backend_for ( BackendKind :: Cairo ) ;
111+ backend. deploy ( cfg, None )
104112 }
105113 CairoCommands :: VerifyOnchain { address } => {
106114 if !cfg. quiet {
107115 print_banner ( "cairo verify-onchain" ) ;
108116 }
109- commands:: cairo:: run_verify_onchain ( cfg, address. as_deref ( ) )
117+ let backend = backend_for ( BackendKind :: Cairo ) ;
118+ backend. verify_onchain ( cfg, address. as_deref ( ) )
110119 }
111120 } ,
112121 Commands :: Evm { command } => match command {
113122 EvmCommands :: Gen => {
114123 if !cfg. quiet {
115124 print_banner ( "evm gen" ) ;
116125 }
117- commands:: evm:: run_gen ( cfg)
126+ let backend = backend_for ( BackendKind :: Evm ) ;
127+ backend. generate ( cfg)
118128 }
119129 EvmCommands :: Prove => {
120130 if !cfg. quiet {
121131 print_banner ( "evm prove" ) ;
122132 }
123- commands:: evm:: run_prove ( cfg)
133+ let backend = backend_for ( BackendKind :: Evm ) ;
134+ backend. prove ( cfg)
124135 }
125136 EvmCommands :: Verify => {
126137 if !cfg. quiet {
127138 print_banner ( "evm verify" ) ;
128139 }
129- commands:: evm:: run_verify ( cfg)
140+ let backend = backend_for ( BackendKind :: Evm ) ;
141+ backend. verify ( cfg)
130142 }
131143 EvmCommands :: Deploy { network } => {
132144 if !cfg. quiet {
133145 print_banner ( "evm deploy" ) ;
134146 }
135- commands:: evm:: run_deploy ( cfg, network)
147+ let backend = backend_for ( BackendKind :: Evm ) ;
148+ backend. deploy ( cfg, Some ( network) )
136149 }
137150 EvmCommands :: Calldata => {
138151 if !cfg. quiet {
139152 print_banner ( "evm calldata" ) ;
140153 }
141- commands:: evm:: run_calldata ( cfg)
154+ let backend = backend_for ( BackendKind :: Evm ) ;
155+ backend. calldata ( cfg)
142156 }
143157 EvmCommands :: VerifyOnchain => {
144158 if !cfg. quiet {
145159 print_banner ( "evm verify-onchain" ) ;
146160 }
147- commands:: evm:: run_verify_onchain ( cfg)
161+ let backend = backend_for ( BackendKind :: Evm ) ;
162+ backend. verify_onchain ( cfg, None )
148163 }
149164 } ,
150165 Commands :: Doctor => {
@@ -157,7 +172,7 @@ fn dispatch(cli: &Cli, cfg: &Config) -> Result<()> {
157172}
158173
159174fn setup_logging ( verbose : bool , quiet : bool ) -> Result < ( ) > {
160- use tracing_subscriber:: { fmt , EnvFilter } ;
175+ use tracing_subscriber:: { EnvFilter , fmt } ;
161176
162177 if quiet {
163178 let subscriber = fmt ( )
0 commit comments