Pass client and task_executor to BuildParachainContext (#484)

* Pass `client` and `task_executor` to `BuildParachainContext`

* Update `Cargo.lock`
This commit is contained in:
Bastian Köcher
2019-10-19 13:26:15 +02:00
committed by GitHub
parent 2842be7b81
commit 687244f989
4 changed files with 67 additions and 21 deletions
@@ -10,6 +10,7 @@ parachain = { package = "polkadot-parachain", path = "../../../parachain" }
collator = { package = "polkadot-collator", path = "../../../collator" }
primitives = { package = "polkadot-primitives", path = "../../../primitives" }
substrate-primitives = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" }
client = { package = "substrate-client", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" }
parking_lot = "0.9.0"
ctrlc = { version = "3.0", features = ["termination"] }
futures = "0.1"
@@ -21,13 +21,17 @@ use std::collections::HashMap;
use std::sync::Arc;
use adder::{HeadData as AdderHead, BlockData as AdderBody};
use substrate_primitives::Pair;
use substrate_primitives::{Pair, Blake2Hasher};
use parachain::codec::{Encode, Decode};
use primitives::{
Hash,
parachain::{HeadData, BlockData, Id as ParaId, Message, OutgoingMessages, Status as ParachainStatus},
Hash, Block,
parachain::{
HeadData, BlockData, Id as ParaId, Message, OutgoingMessages, Status as ParachainStatus,
},
};
use collator::{
InvalidHead, ParachainContext, VersionInfo, Network, BuildParachainContext, TaskExecutor,
};
use collator::{InvalidHead, ParachainContext, VersionInfo, Network, BuildParachainContext};
use parking_lot::Mutex;
const GENESIS: AdderHead = AdderHead {
@@ -101,7 +105,16 @@ impl ParachainContext for AdderContext {
impl BuildParachainContext for AdderContext {
type ParachainContext = Self;
fn build(self, network: Arc<dyn Network>) -> Result<Self::ParachainContext, ()> {
fn build<B, E>(
self,
_: Arc<collator::PolkadotClient<B, E>>,
_: TaskExecutor,
network: Arc<dyn Network>,
) -> Result<Self::ParachainContext, ()>
where
B: client::backend::Backend<Block, Blake2Hasher> + 'static,
E: client::CallExecutor<Block, Blake2Hasher> + Clone + Send + Sync + 'static
{
Ok(Self { _network: Some(network), ..self })
}
}