mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-11 14:11:09 +00:00
make construct_service_factory compile (#2581)
This commit is contained in:
Generated
+4
@@ -4442,6 +4442,9 @@ dependencies = [
|
||||
"futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"node-executor 2.0.0",
|
||||
"node-primitives 2.0.0",
|
||||
"node-runtime 2.0.0",
|
||||
"parity-codec 3.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
@@ -4453,6 +4456,7 @@ dependencies = [
|
||||
"substrate-client-db 2.0.0",
|
||||
"substrate-consensus-common 2.0.0",
|
||||
"substrate-executor 2.0.0",
|
||||
"substrate-finality-grandpa 2.0.0",
|
||||
"substrate-inherents 2.0.0",
|
||||
"substrate-keystore 2.0.0",
|
||||
"substrate-network 2.0.0",
|
||||
|
||||
@@ -34,3 +34,7 @@ offchain = { package = "substrate-offchain", path = "../../core/offchain" }
|
||||
|
||||
[dev-dependencies]
|
||||
substrate-test-client = { path = "../test-client" }
|
||||
node-executor = { path = "../../node/executor" }
|
||||
node-primitives = { path = "../../node/primitives" }
|
||||
node-runtime = { path = "../../node/runtime" }
|
||||
grandpa = { package = "substrate-finality-grandpa", path = "../../core/finality-grandpa" }
|
||||
|
||||
@@ -540,33 +540,77 @@ impl<C: Components> network::TransactionPool<ComponentExHash<C>, ComponentBlock<
|
||||
///
|
||||
/// # Example
|
||||
///
|
||||
/// ```nocompile
|
||||
/// ```
|
||||
/// # use substrate_service::{
|
||||
/// # construct_service_factory, Service, FullBackend, FullExecutor, LightBackend, LightExecutor,
|
||||
/// # FullComponents, LightComponents, FactoryFullConfiguration, FullClient, TaskExecutor
|
||||
/// # };
|
||||
/// # use transaction_pool::{self, txpool::{Pool as TransactionPool}};
|
||||
/// # use network::construct_simple_protocol;
|
||||
/// # use client::{self, LongestChain};
|
||||
/// # use primitives::{Pair as PairT, ed25519};
|
||||
/// # use consensus_common::import_queue::{BasicQueue, Verifier};
|
||||
/// # use consensus_common::{BlockOrigin, ImportBlock};
|
||||
/// # use node_runtime::{GenesisConfig, RuntimeApi};
|
||||
/// # use std::sync::Arc;
|
||||
/// # use node_primitives::Block;
|
||||
/// # use runtime_primitives::Justification;
|
||||
/// # use runtime_primitives::traits::{AuthorityIdFor, Block as BlockT};
|
||||
/// # use grandpa;
|
||||
/// # construct_simple_protocol! {
|
||||
/// # pub struct NodeProtocol where Block = Block { }
|
||||
/// # }
|
||||
/// # struct MyVerifier;
|
||||
/// # impl<B: BlockT> Verifier<B> for MyVerifier {
|
||||
/// # fn verify(
|
||||
/// # &self,
|
||||
/// # origin: BlockOrigin,
|
||||
/// # header: B::Header,
|
||||
/// # justification: Option<Justification>,
|
||||
/// # body: Option<Vec<B::Extrinsic>>,
|
||||
/// # ) -> Result<(ImportBlock<B>, Option<Vec<AuthorityIdFor<B>>>), String> {
|
||||
/// # unimplemented!();
|
||||
/// # }
|
||||
/// # }
|
||||
/// type FullChainApi<T> = transaction_pool::ChainApi<
|
||||
/// client::Client<FullBackend<T>, FullExecutor<T>, Block, RuntimeApi>, Block>;
|
||||
/// type LightChainApi<T> = transaction_pool::ChainApi<
|
||||
/// client::Client<LightBackend<T>, LightExecutor<T>, Block, RuntimeApi>, Block>;
|
||||
///
|
||||
/// construct_service_factory! {
|
||||
/// struct Factory {
|
||||
/// // Declare the block type
|
||||
/// // Declare the block type
|
||||
/// Block = Block,
|
||||
/// // Declare the network protocol and give an initializer.
|
||||
/// RuntimeApi = RuntimeApi,
|
||||
/// // Declare the network protocol and give an initializer.
|
||||
/// NetworkProtocol = NodeProtocol { |config| Ok(NodeProtocol::new()) },
|
||||
/// RuntimeDispatch = node_executor::Executor,
|
||||
/// FullTransactionPoolApi = transaction_pool::ChainApi<FullBackend<Self>, FullExecutor<Self>, Block>
|
||||
/// FullTransactionPoolApi = FullChainApi<Self>
|
||||
/// { |config, client| Ok(TransactionPool::new(config, transaction_pool::ChainApi::new(client))) },
|
||||
/// LightTransactionPoolApi = transaction_pool::ChainApi<LightBackend<Self>, LightExecutor<Self>, Block>
|
||||
/// LightTransactionPoolApi = LightChainApi<Self>
|
||||
/// { |config, client| Ok(TransactionPool::new(config, transaction_pool::ChainApi::new(client))) },
|
||||
/// Genesis = GenesisConfig,
|
||||
/// Configuration = (),
|
||||
/// FullService = Service<FullComponents<Self>>
|
||||
/// { |config, executor| Service::<FullComponents<Factory>>::new(config, executor) },
|
||||
/// // Setup as Consensus Authority (if the role and key are given)
|
||||
/// FullService = FullComponents<Self>
|
||||
/// { |config, executor| <FullComponents<Factory>>::new(config, executor) },
|
||||
/// // Setup as Consensus Authority (if the role and key are given)
|
||||
/// AuthoritySetup = {
|
||||
/// |service: Self::FullService, executor: TaskExecutor, key: Arc<Pair>| { Ok(service) }},
|
||||
/// LightService = Service<LightComponents<Self>>
|
||||
/// { |config, executor| Service::<LightComponents<Factory>>::new(config, executor) },
|
||||
/// // Declare the import queue. The import queue is special as it takes two initializers.
|
||||
/// // The first one is for the initializing the full import queue and the second for the
|
||||
/// // light import queue.
|
||||
/// ImportQueue = BasicQueue<Block, NoneVerifier>
|
||||
/// { |_, client| Ok(BasicQueue::new(Arc::new(NoneVerifier {}, client))) }
|
||||
/// { |_, client| Ok(BasicQueue::new(Arc::new(NoneVerifier {}, client))) },
|
||||
/// |service: Self::FullService, executor: TaskExecutor, key: Option<Arc<ed25519::Pair>>| {
|
||||
/// Ok(service)
|
||||
/// }},
|
||||
/// LightService = LightComponents<Self>
|
||||
/// { |config, executor| <LightComponents<Factory>>::new(config, executor) },
|
||||
/// FullImportQueue = BasicQueue<Block>
|
||||
/// { |_, client, _| Ok(BasicQueue::new(Arc::new(MyVerifier), client, None, None, None)) },
|
||||
/// LightImportQueue = BasicQueue<Block>
|
||||
/// { |_, client| Ok(BasicQueue::new(Arc::new(MyVerifier), client, None, None, None)) },
|
||||
/// SelectChain = LongestChain<FullBackend<Self>, Self::Block>
|
||||
/// { |config: &FactoryFullConfiguration<Self>, client: Arc<FullClient<Self>>| {
|
||||
/// Ok(LongestChain::new(client.backend().clone(), client.import_lock()))
|
||||
/// }},
|
||||
/// FinalityProofProvider = { |client: Arc<FullClient<Self>>| {
|
||||
/// Ok(Some(Arc::new(grandpa::FinalityProofProvider::new(client.clone(), client)) as _))
|
||||
/// }},
|
||||
/// }
|
||||
/// }
|
||||
/// ```
|
||||
|
||||
Reference in New Issue
Block a user