@@ -5,8 +5,6 @@ use std::env;
55
66use jsonschema:: JSONSchema ;
77use std:: error:: Error ;
8- use std:: fs:: File ;
9- use std:: io:: Read ;
108
119pub const SHARE_PROVER_ELF : & [ u8 ] = include_elf ! ( "share_exchange_prove" ) ;
1210pub const FINALE_PROVER_ELF : & [ u8 ] = include_elf ! ( "finalization_prove" ) ;
@@ -47,14 +45,6 @@ struct Cli {
4745 mode : Mode ,
4846}
4947
50- fn read_text_file ( filename : & str ) -> Result < String , Box < dyn Error > > {
51- let mut file = File :: open ( filename) . map_err ( |e| format ! ( "Error opening file: {}" , e) ) ?;
52- let mut contents = String :: new ( ) ;
53- file. read_to_string ( & mut contents)
54- . map_err ( |e| format ! ( "Error reading file: {}" , e) ) ?;
55- Ok ( contents)
56- }
57-
5848fn execute < T > ( data : & T , elf : & [ u8 ] , show_report : bool )
5949where
6050 T : ProverSerialize ,
@@ -63,10 +53,10 @@ where
6353 let mut stdin = SP1Stdin :: new ( ) ;
6454 data. write ( & mut stdin) ;
6555 let client = ProverClient :: new ( ) ;
66- let ( _public_values, report) = client. execute ( elf , stdin ) . run ( ) . unwrap_or_else ( |e| {
67- eprintln ! ( "Failed to prove: {}" , e ) ;
68- std :: process :: exit ( 1 ) ;
69- } ) ;
56+ let ( _public_values, report) = client
57+ . execute ( elf , stdin )
58+ . run ( )
59+ . unwrap_or_else ( |e| panic ! ( "Failed to prove: {}" , e ) ) ;
7060
7161 print ! ( "executed" ) ;
7262 if show_report {
@@ -84,20 +74,16 @@ where
8474
8575 let ( pk, _) = client. setup ( elf) ;
8676
87- print ! ( "proving...." ) ;
8877 let proof = client. prove ( & pk, stdin) . run ( ) . unwrap_or_else ( |e| {
89- eprintln ! ( "Failed to prove: {}" , e) ;
90- std:: process:: exit ( 1 ) ;
78+ panic ! ( "Failed to prove: {}" , e) ;
9179 } ) ;
9280
93- print ! ( "saving file" ) ;
9481 proof. save ( "proof.bin" ) . unwrap ( ) ;
95- print ! ( "file was saved" )
9682}
9783
9884fn validate_json ( schema_path : & str , json_path : & str ) -> Result < ( ) , Box < dyn Error > > {
99- let schema = read_text_file ( schema_path) ?;
100- let json = read_text_file ( json_path) ?;
85+ let schema = dvt_abi :: read_text_file ( schema_path) ?;
86+ let json = dvt_abi :: read_text_file ( json_path) ?;
10187
10288 let schema = serde_json:: from_str ( & schema) . unwrap ( ) ;
10389 let data = serde_json:: from_str ( & json) . unwrap ( ) ;
@@ -124,35 +110,27 @@ fn validate_json(schema_path: &str, json_path: &str) -> Result<(), Box<dyn Error
124110fn main ( ) {
125111 let args = Cli :: parse ( ) ;
126112
127- if args. input_file . is_empty ( ) {
128- eprintln ! ( "No file name provided after '--input-file'." ) ;
129- std:: process:: exit ( 1 ) ;
130- }
131-
132- if args. json_schema . is_some ( ) {
133- let ok = validate_json ( args. json_schema . unwrap ( ) . as_str ( ) , args. input_file . as_str ( ) ) ;
113+ if let Some ( path_to_schema) = args. json_schema {
114+ let ok = validate_json ( path_to_schema. as_str ( ) , args. input_file . as_str ( ) ) ;
134115 if ok. is_err ( ) {
135- eprintln ! ( "{}" , ok. unwrap_err( ) ) ;
136- std:: process:: exit ( 1 ) ;
116+ panic ! ( "{}" , ok. unwrap_err( ) ) ;
137117 }
138118 }
139119
140120 utils:: setup_logger ( ) ;
141121
142122 // Depending on the command type, we could do different things here.
143- // For now, both variants handle the data similarly.
123+ // For now, all variants handle the data similarly.
144124 match args. command_type {
145125 CommandType :: Share => {
146126 let data =
147127 dvt_abi:: read_data_from_json_file :: < dvt_abi:: DvtBlsSharedData > ( & args. input_file )
148128 . unwrap_or_else ( |e| {
149- eprintln ! ( "Error parsing JSON: {}" , e) ;
150- std:: process:: exit ( 1 ) ;
129+ panic ! ( "Error parsing JSON: {}" , e) ;
151130 } ) ;
152131
153132 let abi_data = data. to_abi ( ) . unwrap_or_else ( |e| {
154- eprintln ! ( "Error converting to ABI data: {}" , e) ;
155- std:: process:: exit ( 1 ) ;
133+ panic ! ( "Error converting to ABI data: {}" , e) ;
156134 } ) ;
157135 match args. mode {
158136 Mode :: Prove => {
@@ -167,13 +145,11 @@ fn main() {
167145 let data =
168146 dvt_abi:: read_data_from_json_file :: < dvt_abi:: DvtFinalizationData > ( & args. input_file )
169147 . unwrap_or_else ( |e| {
170- eprintln ! ( "Error parsing JSON: {}" , e) ;
171- std:: process:: exit ( 1 ) ;
148+ panic ! ( "Error parsing JSON: {}" , e) ;
172149 } ) ;
173150
174151 let abi_data = data. to_abi ( ) . unwrap_or_else ( |e| {
175- eprintln ! ( "Error converting to ABI data: {}" , e) ;
176- std:: process:: exit ( 1 ) ;
152+ panic ! ( "Error converting to ABI data: {}" , e) ;
177153 } ) ;
178154
179155 match args. mode {
@@ -190,13 +166,11 @@ fn main() {
190166 & args. input_file ,
191167 )
192168 . unwrap_or_else ( |e| {
193- eprintln ! ( "Error parsing JSON: {}" , e) ;
194- std:: process:: exit ( 1 ) ;
169+ panic ! ( "Error parsing JSON: {}" , e) ;
195170 } ) ;
196171
197172 let abi_data = data. to_abi ( ) . unwrap_or_else ( |e| {
198- eprintln ! ( "Error converting to ABI data: {}" , e) ;
199- std:: process:: exit ( 1 ) ;
173+ panic ! ( "Error converting to ABI data: {}" , e) ;
200174 } ) ;
201175
202176 match args. mode {
@@ -217,13 +191,11 @@ fn main() {
217191 & args. input_file ,
218192 )
219193 . unwrap_or_else ( |e| {
220- eprintln ! ( "Error parsing JSON: {}" , e) ;
221- std:: process:: exit ( 1 ) ;
194+ panic ! ( "Error parsing JSON: {}" , e) ;
222195 } ) ;
223196
224197 let abi_data = data. to_abi ( ) . unwrap_or_else ( |e| {
225- eprintln ! ( "Error converting to ABI data: {}" , e) ;
226- std:: process:: exit ( 1 ) ;
198+ panic ! ( "Error converting to ABI data: {}" , e) ;
227199 } ) ;
228200
229201 match args. mode {
0 commit comments