fixed "missing host function" bug (#225)

* Recovered WasmExecutor for the EVM template
This commit is contained in:
Nikita Khateev
2024-06-13 14:43:37 +04:00
committed by GitHub
parent 26c49797cb
commit f856d5f78e
2 changed files with 18 additions and 22 deletions
+12 -16
View File
@@ -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<Vec<u8>> {
parachain_template_runtime::apis::api::dispatch(method, data)
}
fn native_version() -> sc_executor::NativeVersion {
parachain_template_runtime::native_version()
}
}
type ParachainExecutor = NativeElseWasmExecutor<ParachainNativeExecutor>;
type ParachainExecutor = WasmExecutor<HostFunctions>;
type ParachainClient = TFullClient<Block, RuntimeApi, ParachainExecutor>;
@@ -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::<Block, RuntimeApi, _>(