Use JustifiedBlockAnnounceValidator for parachain block announce validator (#96)

This commit is contained in:
Cecile Tonglet
2020-05-19 17:56:31 +02:00
committed by GitHub
parent dfc95f0d0e
commit 1727dc6291
7 changed files with 115 additions and 24 deletions
+7
View File
@@ -22,6 +22,7 @@ use polkadot_primitives::parachain::CollatorPair;
use cumulus_collator::{CollatorBuilder, prepare_collator_config};
use futures::FutureExt;
pub use sc_executor::NativeExecutor;
use cumulus_network::DelayedBlockAnnounceValidator;
// Our native executor instance.
native_executor_instance!(
@@ -78,12 +79,17 @@ pub fn run_collator(
.register_provider(sp_timestamp::InherentDataProvider)
.unwrap();
let block_announce_validator = DelayedBlockAnnounceValidator::new();
let block_announce_validator_copy = block_announce_validator.clone();
let service = builder
.with_finality_proof_provider(|client, backend| {
// GenesisAuthoritySetProvider is implemented for StorageAndProofProvider
let provider = client as Arc<dyn StorageAndProofProvider<_, _>>;
Ok(Arc::new(GrandpaFinalityProofProvider::new(backend, provider)) as _)
})?
.with_block_announce_validator(|_client| {
Box::new(block_announce_validator_copy)
})?
.build()?;
let proposer_factory = sc_basic_authorship::ProposerFactory::new(
@@ -104,6 +110,7 @@ pub fn run_collator(
crate::PARA_ID,
client,
announce_block,
block_announce_validator,
);
let polkadot_future = polkadot_collator::start_collator(