@@ -155,31 +155,33 @@ impl node::service::SnarkUserCommandVerifyService for NodeService {
155
155
}
156
156
157
157
let tx = self . event_sender ( ) . clone ( ) ;
158
- let result = {
159
- let ( verified, invalid) : ( Vec < _ > , Vec < _ > ) = ledger:: verifier:: Verifier
160
- . verify_commands ( commands, None )
161
- . into_iter ( )
162
- . partition ( Result :: is_ok) ;
163
-
164
- let verified: Vec < _ > = verified. into_iter ( ) . map ( Result :: unwrap) . collect ( ) ;
165
- let invalid: Vec < _ > = invalid. into_iter ( ) . map ( Result :: unwrap_err) . collect ( ) ;
166
-
167
- if !invalid. is_empty ( ) {
168
- let transaction_pool_errors = invalid
158
+ rayon:: spawn_fifo ( move || {
159
+ let result = {
160
+ let ( verified, invalid) : ( Vec < _ > , Vec < _ > ) = ledger:: verifier:: Verifier
161
+ . verify_commands ( commands, None )
169
162
. into_iter ( )
170
- . map ( TransactionError :: Verifier )
171
- . collect ( ) ;
172
- Err ( TransactionPoolErrors :: BatchedErrors (
173
- transaction_pool_errors,
174
- ) )
175
- } else {
176
- Ok ( verified)
177
- }
178
- } ;
163
+ . partition ( Result :: is_ok) ;
164
+
165
+ let verified: Vec < _ > = verified. into_iter ( ) . map ( Result :: unwrap) . collect ( ) ;
166
+ let invalid: Vec < _ > = invalid. into_iter ( ) . map ( Result :: unwrap_err) . collect ( ) ;
167
+
168
+ if !invalid. is_empty ( ) {
169
+ let transaction_pool_errors = invalid
170
+ . into_iter ( )
171
+ . map ( TransactionError :: Verifier )
172
+ . collect ( ) ;
173
+ Err ( TransactionPoolErrors :: BatchedErrors (
174
+ transaction_pool_errors,
175
+ ) )
176
+ } else {
177
+ Ok ( verified)
178
+ }
179
+ } ;
179
180
180
- let result = result. map_err ( |err| err. to_string ( ) ) ;
181
+ let result = result. map_err ( |err| err. to_string ( ) ) ;
181
182
182
- let _ = tx. send ( SnarkEvent :: UserCommandVerify ( req_id, result) . into ( ) ) ;
183
+ let _ = tx. send ( SnarkEvent :: UserCommandVerify ( req_id, result) . into ( ) ) ;
184
+ } ) ;
183
185
}
184
186
}
185
187
0 commit comments