@@ -37,7 +37,7 @@ use polkadot_primitives::v1::{
3737} ;
3838use polkadot_parachain:: wasm_executor:: {
3939 self , ValidationPool , ExecutionMode , ValidationError ,
40- InvalidCandidate as WasmInvalidCandidate , ValidationExecutionMode ,
40+ InvalidCandidate as WasmInvalidCandidate ,
4141} ;
4242use polkadot_parachain:: primitives:: { ValidationResult as WasmValidationResult , ValidationParams } ;
4343
@@ -130,7 +130,7 @@ async fn run(
130130)
131131 -> SubsystemResult < ( ) >
132132{
133- let pool = ValidationPool :: new ( ValidationExecutionMode :: ExternalProcessSelfHost ) ;
133+ let execution_mode = ExecutionMode :: ExternalProcessSelfHost ( ValidationPool :: new ( ) ) ;
134134
135135 loop {
136136 match ctx. recv ( ) . await ? {
@@ -145,7 +145,7 @@ async fn run(
145145 ) => {
146146 let res = spawn_validate_from_chain_state (
147147 & mut ctx,
148- Some ( pool . clone ( ) ) ,
148+ execution_mode . clone ( ) ,
149149 descriptor,
150150 pov,
151151 spawn. clone ( ) ,
@@ -169,7 +169,7 @@ async fn run(
169169 ) => {
170170 let res = spawn_validate_exhaustive (
171171 & mut ctx,
172- Some ( pool . clone ( ) ) ,
172+ execution_mode . clone ( ) ,
173173 persisted_validation_data,
174174 transient_validation_data,
175175 validation_code,
@@ -271,7 +271,7 @@ async fn check_assumption_validation_data(
271271
272272async fn spawn_validate_from_chain_state (
273273 ctx : & mut impl SubsystemContext < Message = CandidateValidationMessage > ,
274- validation_pool : Option < ValidationPool > ,
274+ execution_mode : ExecutionMode ,
275275 descriptor : CandidateDescriptor ,
276276 pov : Arc < PoV > ,
277277 spawn : impl SpawnNamed + ' static ,
@@ -288,7 +288,7 @@ async fn spawn_validate_from_chain_state(
288288 AssumptionCheckOutcome :: Matches ( validation_data, validation_code) => {
289289 return spawn_validate_exhaustive (
290290 ctx,
291- validation_pool ,
291+ execution_mode ,
292292 validation_data. persisted ,
293293 Some ( validation_data. transient ) ,
294294 validation_code,
@@ -309,7 +309,7 @@ async fn spawn_validate_from_chain_state(
309309 AssumptionCheckOutcome :: Matches ( validation_data, validation_code) => {
310310 return spawn_validate_exhaustive (
311311 ctx,
312- validation_pool ,
312+ execution_mode ,
313313 validation_data. persisted ,
314314 Some ( validation_data. transient ) ,
315315 validation_code,
@@ -330,7 +330,7 @@ async fn spawn_validate_from_chain_state(
330330
331331async fn spawn_validate_exhaustive (
332332 ctx : & mut impl SubsystemContext < Message = CandidateValidationMessage > ,
333- validation_pool : Option < ValidationPool > ,
333+ execution_mode : ExecutionMode ,
334334 persisted_validation_data : PersistedValidationData ,
335335 transient_validation_data : Option < TransientValidationData > ,
336336 validation_code : ValidationCode ,
@@ -341,7 +341,7 @@ async fn spawn_validate_exhaustive(
341341 let ( tx, rx) = oneshot:: channel ( ) ;
342342 let fut = async move {
343343 let res = validate_candidate_exhaustive :: < RealValidationBackend , _ > (
344- validation_pool ,
344+ execution_mode ,
345345 persisted_validation_data,
346346 transient_validation_data,
347347 validation_code,
@@ -422,22 +422,18 @@ trait ValidationBackend {
422422struct RealValidationBackend ;
423423
424424impl ValidationBackend for RealValidationBackend {
425- type Arg = Option < ValidationPool > ;
425+ type Arg = ExecutionMode ;
426426
427427 fn validate < S : SpawnNamed + ' static > (
428- pool : Option < ValidationPool > ,
428+ execution_mode : ExecutionMode ,
429429 validation_code : & ValidationCode ,
430430 params : ValidationParams ,
431431 spawn : S ,
432432 ) -> Result < WasmValidationResult , ValidationError > {
433- let execution_mode = pool. as_ref ( )
434- . map ( ExecutionMode :: Remote )
435- . unwrap_or ( ExecutionMode :: Local ) ;
436-
437433 wasm_executor:: validate_candidate (
438434 & validation_code. 0 ,
439435 params,
440- execution_mode,
436+ & execution_mode,
441437 spawn,
442438 )
443439 }
0 commit comments