diff --git a/evm-template/node/src/eth.rs b/evm-template/node/src/eth.rs index 87f4943..6a34c5f 100644 --- a/evm-template/node/src/eth.rs +++ b/evm-template/node/src/eth.rs @@ -12,7 +12,7 @@ use futures::{future, prelude::*}; use parachain_template_runtime::opaque::Block; // Substrate use sc_client_api::BlockchainEvents; -use sc_executor::{NativeElseWasmExecutor, NativeExecutionDispatch}; +use sc_executor::WasmExecutor; use sc_network_sync::SyncingService; use sc_service::{error::Error as ServiceError, Configuration, TaskManager}; use sp_api::ConstructRuntimeApi; @@ -21,7 +21,7 @@ use sp_api::ConstructRuntimeApi; pub type FullBackend = sc_service::TFullBackend; /// Full client. pub type FullClient = - sc_service::TFullClient>; + sc_service::TFullClient>; /// Frontier DB backend type. pub type FrontierBackend = fc_db::Backend; @@ -124,9 +124,9 @@ impl EthCompatRuntimeApiCollection for Api where { } -pub async fn spawn_frontier_tasks( +pub async fn spawn_frontier_tasks( task_manager: &TaskManager, - client: Arc>, + client: Arc>, backend: Arc, frontier_backend: FrontierBackend, filter_pool: Option, @@ -140,10 +140,10 @@ pub async fn spawn_frontier_tasks( >, >, ) where - RuntimeApi: ConstructRuntimeApi>, + RuntimeApi: ConstructRuntimeApi>, RuntimeApi: Send + Sync + 'static, RuntimeApi::RuntimeApi: EthCompatRuntimeApiCollection, - Executor: NativeExecutionDispatch + 'static, + Functions: sc_executor::sp_wasm_interface::HostFunctions, { // Spawn main mapping sync worker background task. match frontier_backend { diff --git a/evm-template/node/src/service.rs b/evm-template/node/src/service.rs index 490c2cb..24dec67 100644 --- a/evm-template/node/src/service.rs +++ b/evm-template/node/src/service.rs @@ -27,7 +27,7 @@ use parachain_template_runtime::{ }; use sc_client_api::Backend; use sc_consensus::ImportQueue; -use sc_executor::NativeElseWasmExecutor; +use sc_executor::WasmExecutor; use sc_network::NetworkBlock; use sc_network_sync::SyncingService; use sc_service::{Configuration, PartialComponents, TFullBackend, TFullClient, TaskManager}; @@ -42,22 +42,18 @@ use crate::eth::{ FrontierBackend, FrontierPartialComponents, }; -/// Native executor type. -pub struct ParachainNativeExecutor; +#[cfg(not(feature = "runtime-benchmarks"))] +type HostFunctions = + (sp_io::SubstrateHostFunctions, cumulus_client_service::storage_proof_size::HostFunctions); -impl sc_executor::NativeExecutionDispatch for ParachainNativeExecutor { - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; +#[cfg(feature = "runtime-benchmarks")] +type HostFunctions = ( + sp_io::SubstrateHostFunctions, + cumulus_client_service::storage_proof_size::HostFunctions, + frame_benchmarking::benchmarking::HostFunctions, +); - fn dispatch(method: &str, data: &[u8]) -> Option> { - parachain_template_runtime::apis::api::dispatch(method, data) - } - - fn native_version() -> sc_executor::NativeVersion { - parachain_template_runtime::native_version() - } -} - -type ParachainExecutor = NativeElseWasmExecutor; +type ParachainExecutor = WasmExecutor; type ParachainClient = TFullClient; @@ -100,7 +96,7 @@ pub fn new_partial( }) .transpose()?; - let executor = sc_service::new_native_or_wasm_executor(config); + let executor = sc_service::new_wasm_executor(config); let (client, backend, keystore_container, task_manager) = sc_service::new_full_parts_record_import::(