diff --git a/node/src/command.rs b/node/src/command.rs index 494001e91575c66e5a3cc1106d9d0662399446a0..0771dd31b53b069d780b9f8d15818a36d973ec1e 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -23,12 +23,7 @@ pub mod utils; #[cfg(feature = "gtest")] use crate::chain_spec::gtest; use crate::cli::{Cli, Subcommand}; -#[cfg(feature = "g1")] -use crate::service::g1_executor::G1Executor; -#[cfg(feature = "gdev")] -use crate::service::gdev_executor::GDevExecutor; -#[cfg(feature = "gtest")] -use crate::service::gtest_executor::GTestExecutor; +use crate::service::runtime_executor::Executor; use crate::service::{IdentifyRuntimeType, RuntimeType}; use crate::{chain_spec, service}; use clap::CommandFactory; @@ -351,21 +346,21 @@ pub fn run() -> sc_cli::Result<()> { RuntimeType::G1 => runner.sync_run(|config| { cmd.run::<g1_runtime::Block, ExtendedHostFunctions< sp_io::SubstrateHostFunctions, - <G1Executor as NativeExecutionDispatch>::ExtendHostFunctions, + <Executor as NativeExecutionDispatch>::ExtendHostFunctions, >>(config) }), #[cfg(feature = "gtest")] RuntimeType::GTest => runner.sync_run(|config| { cmd.run::<gtest_runtime::Block, ExtendedHostFunctions< sp_io::SubstrateHostFunctions, - <GTestExecutor as NativeExecutionDispatch>::ExtendHostFunctions, + <Executor as NativeExecutionDispatch>::ExtendHostFunctions, >>(config) }), #[cfg(feature = "gdev")] RuntimeType::GDev => runner.sync_run(|config| { cmd.run::<gdev_runtime::Block, ExtendedHostFunctions< sp_io::SubstrateHostFunctions, - <GDevExecutor as NativeExecutionDispatch>::ExtendHostFunctions, + <Executor as NativeExecutionDispatch>::ExtendHostFunctions, >>(config) }), _ => Err(sc_cli::Error::Application("unknown runtime type".into())), @@ -420,7 +415,7 @@ pub fn run() -> sc_cli::Result<()> { //sp_core::crypto::set_default_ss58_version(Ss58AddressFormatRegistry::GDev); runner.async_run(|config| { Ok(( - cmd.run::<gdev_runtime::Block, GDevExecutor>(config), + cmd.run::<gdev_runtime::Block, Executor>(config), task_manager, )) }) @@ -444,22 +439,19 @@ pub fn run() -> sc_cli::Result<()> { match config.chain_spec.runtime_type() { #[cfg(feature = "g1")] RuntimeType::G1 => { - service::new_full::<g1_runtime::RuntimeApi, G1Executor>(config, cli.sealing) + service::new_full::<g1_runtime::RuntimeApi, Executor>(config, cli.sealing) .map_err(sc_cli::Error::Service) } #[cfg(feature = "gtest")] - RuntimeType::GTest => service::new_full::< - gtest_runtime::RuntimeApi, - GTestExecutor, - >(config, cli.sealing) + RuntimeType::GTest => service::new_full::<gtest_runtime::RuntimeApi, Executor>( + config, + cli.sealing, + ) .map_err(sc_cli::Error::Service), #[cfg(feature = "gdev")] RuntimeType::GDev => { - service::new_full::<gdev_runtime::RuntimeApi, GDevExecutor>( - config, - cli.sealing, - ) - .map_err(sc_cli::Error::Service) + service::new_full::<gdev_runtime::RuntimeApi, Executor>(config, cli.sealing) + .map_err(sc_cli::Error::Service) } _ => Err(sc_cli::Error::Application("unknown runtime".into())), } diff --git a/node/src/service.rs b/node/src/service.rs index 3c08c188197c9850dc1c4a70d75d827a86e2b171..fdd27b2218484d709ddd6d365a8c5f5b461f3ead 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -54,91 +54,29 @@ type FullClient<RuntimeApi, Executor> = type FullBackend = sc_service::TFullBackend<Block>; type FullSelectChain = sc_consensus::LongestChain<FullBackend, Block>; -#[cfg(feature = "gdev")] -pub mod gdev_executor { +pub mod runtime_executor { use crate::service::HostFunctions; - pub use gdev_runtime; + #[cfg(feature = "g1")] + pub use g1_runtime as runtime; + #[cfg(feature = "gdev")] + pub use gdev_runtime as runtime; + #[cfg(feature = "gtest")] + pub use gtest_runtime as runtime; use sc_executor::sp_wasm_interface::{Function, HostFunctionRegistry}; - pub struct GDevExecutor; - impl sc_executor::NativeExecutionDispatch for GDevExecutor { + pub struct Executor; + impl sc_executor::NativeExecutionDispatch for Executor { type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> { - gdev_runtime::api::dispatch(method, data) + runtime::api::dispatch(method, data) } fn native_version() -> sc_executor::NativeVersion { - gdev_runtime::native_version() + runtime::native_version() } } - impl sc_executor::sp_wasm_interface::HostFunctions for GDevExecutor { - fn host_functions() -> Vec<&'static dyn Function> { - HostFunctions::host_functions() - } - - fn register_static<T>(registry: &mut T) -> Result<(), T::Error> - where - T: HostFunctionRegistry, - { - HostFunctions::register_static(registry) - } - } -} - -#[allow(dead_code)] -#[cfg(feature = "g1")] -pub mod g1_executor { - use crate::service::HostFunctions; - pub use g1_runtime; - use sc_executor::sp_wasm_interface::{Function, HostFunctionRegistry}; - - pub struct G1Executor; - impl sc_executor::NativeExecutionDispatch for G1Executor { - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; - - fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> { - g1_runtime::api::dispatch(method, data) - } - - fn native_version() -> sc_executor::NativeVersion { - g1_runtime::native_version() - } - } - impl sc_executor::sp_wasm_interface::HostFunctions for G1Executor { - fn host_functions() -> Vec<&'static dyn Function> { - HostFunctions::host_functions() - } - - fn register_static<T>(registry: &mut T) -> Result<(), T::Error> - where - T: HostFunctionRegistry, - { - HostFunctions::register_static(registry) - } - } -} - -#[allow(dead_code)] -#[cfg(feature = "gtest")] -pub mod gtest_executor { - use crate::service::HostFunctions; - pub use gtest_runtime; - use sc_executor::sp_wasm_interface::{Function, HostFunctionRegistry}; - - pub struct GTestExecutor; - impl sc_executor::NativeExecutionDispatch for GTestExecutor { - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; - - fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> { - gtest_runtime::api::dispatch(method, data) - } - - fn native_version() -> sc_executor::NativeVersion { - gtest_runtime::native_version() - } - } - impl sc_executor::sp_wasm_interface::HostFunctions for GTestExecutor { + impl sc_executor::sp_wasm_interface::HostFunctions for Executor { fn host_functions() -> Vec<&'static dyn Function> { HostFunctions::host_functions() } @@ -207,7 +145,7 @@ pub fn new_chain_ops( import_queue, task_manager, .. - } = new_partial::<g1_runtime::RuntimeApi, g1_executor::G1Executor>( + } = new_partial::<g1_runtime::RuntimeApi, runtime_executor::G1Executor>( config, manual_consensus, )?; @@ -226,7 +164,7 @@ pub fn new_chain_ops( import_queue, task_manager, .. - } = new_partial::<gtest_runtime::RuntimeApi, gtest_executor::GTestExecutor>( + } = new_partial::<gtest_runtime::RuntimeApi, runtime_executor::GTestExecutor>( config, manual_consensus, )?; @@ -245,7 +183,7 @@ pub fn new_chain_ops( import_queue, task_manager, .. - } = new_partial::<gdev_runtime::RuntimeApi, gdev_executor::GDevExecutor>( + } = new_partial::<gdev_runtime::RuntimeApi, runtime_executor::Executor>( config, manual_consensus, )?; diff --git a/node/src/service/client.rs b/node/src/service/client.rs index cad8ce1d679a92cfef21b17774c69d6832294d99..8deea4aecca6547e4bf7d0a6d207e19acf0ebdea 100644 --- a/node/src/service/client.rs +++ b/node/src/service/client.rs @@ -146,11 +146,11 @@ impl<Api> RuntimeApiCollection for Api where #[derive(Clone)] pub enum Client { #[cfg(feature = "g1")] - G1(Arc<super::FullClient<g1_runtime::RuntimeApi, super::g1_executor::G1Executor>>), + G1(Arc<super::FullClient<g1_runtime::RuntimeApi, super::runtime_executor::Executor>>), #[cfg(feature = "gtest")] - GTest(Arc<super::FullClient<gtest_runtime::RuntimeApi, super::gtest_executor::GTestExecutor>>), + GTest(Arc<super::FullClient<gtest_runtime::RuntimeApi, super::runtime_executor::Executor>>), #[cfg(feature = "gdev")] - GDev(Arc<super::FullClient<gdev_runtime::RuntimeApi, super::gdev_executor::GDevExecutor>>), + GDev(Arc<super::FullClient<gdev_runtime::RuntimeApi, super::runtime_executor::Executor>>), } macro_rules! with_client { @@ -197,23 +197,23 @@ impl ClientHandle for Client { } #[cfg(feature = "g1")] -impl From<Arc<super::FullClient<g1_runtime::RuntimeApi, super::g1_executor::G1Executor>>> +impl From<Arc<super::FullClient<g1_runtime::RuntimeApi, super::runtime_executor::Executor>>> for Client { fn from( - client: Arc<super::FullClient<g1_runtime::RuntimeApi, super::g1_executor::G1Executor>>, + client: Arc<super::FullClient<g1_runtime::RuntimeApi, super::runtime_executor::Executor>>, ) -> Self { Self::G1(client) } } #[cfg(feature = "gtest")] -impl From<Arc<super::FullClient<gtest_runtime::RuntimeApi, super::gtest_executor::GTestExecutor>>> +impl From<Arc<super::FullClient<gtest_runtime::RuntimeApi, super::runtime_executor::Executor>>> for Client { fn from( client: Arc< - super::FullClient<gtest_runtime::RuntimeApi, super::gtest_executor::GTestExecutor>, + super::FullClient<gtest_runtime::RuntimeApi, super::runtime_executor::Executor>, >, ) -> Self { Self::GTest(client) @@ -221,13 +221,11 @@ impl From<Arc<super::FullClient<gtest_runtime::RuntimeApi, super::gtest_executor } #[cfg(feature = "gdev")] -impl From<Arc<super::FullClient<gdev_runtime::RuntimeApi, super::gdev_executor::GDevExecutor>>> +impl From<Arc<super::FullClient<gdev_runtime::RuntimeApi, super::runtime_executor::Executor>>> for Client { fn from( - client: Arc< - super::FullClient<gdev_runtime::RuntimeApi, super::gdev_executor::GDevExecutor>, - >, + client: Arc<super::FullClient<gdev_runtime::RuntimeApi, super::runtime_executor::Executor>>, ) -> Self { Self::GDev(client) } @@ -328,15 +326,15 @@ trait BenchmarkCallSigner<RuntimeCall: Encode + Clone, Signer: Pair> { #[cfg(feature = "g1")] use g1_runtime as runtime; #[cfg(feature = "g1")] -type FullClient = super::FullClient<runtime::RuntimeApi, super::g1_executor::G1Executor>; +type FullClient = super::FullClient<runtime::RuntimeApi, super::runtime_executor::Executor>; #[cfg(feature = "gdev")] use gdev_runtime as runtime; #[cfg(feature = "gdev")] -type FullClient = super::FullClient<runtime::RuntimeApi, super::gdev_executor::GDevExecutor>; +type FullClient = super::FullClient<runtime::RuntimeApi, super::runtime_executor::Executor>; #[cfg(feature = "gtest")] use gtest_runtime as runtime; #[cfg(feature = "gtest")] -type FullClient = super::FullClient<runtime::RuntimeApi, super::gtest_executor::GTestExecutor>; +type FullClient = super::FullClient<runtime::RuntimeApi, super::runtime_executor::Executor>; #[cfg(any(feature = "gdev", feature = "gtest"))] impl BenchmarkCallSigner<runtime::RuntimeCall, sp_core::sr25519::Pair> for FullClient {