mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 09:21:04 +00:00
Use JustifiedBlockAnnounceValidator for parachain block announce validator (#96)
This commit is contained in:
@@ -16,7 +16,9 @@
|
||||
|
||||
//! Cumulus Collator implementation for Substrate.
|
||||
|
||||
use cumulus_network::WaitToAnnounce;
|
||||
use cumulus_network::{
|
||||
DelayedBlockAnnounceValidator, JustifiedBlockAnnounceValidator, WaitToAnnounce,
|
||||
};
|
||||
use cumulus_primitives::{
|
||||
inherents::VALIDATION_FUNCTION_PARAMS_IDENTIFIER as VFP_IDENT,
|
||||
validation_function_params::ValidationFunctionParams,
|
||||
@@ -295,6 +297,7 @@ pub struct CollatorBuilder<Block: BlockT, PF, BI, Backend, Client> {
|
||||
para_id: ParaId,
|
||||
client: Arc<Client>,
|
||||
announce_block: Arc<dyn Fn(Block::Hash, Vec<u8>) + Send + Sync>,
|
||||
delayed_block_announce_validator: DelayedBlockAnnounceValidator<Block>,
|
||||
_marker: PhantomData<(Block, Backend)>,
|
||||
}
|
||||
|
||||
@@ -309,6 +312,7 @@ impl<Block: BlockT, PF, BI, Backend, Client>
|
||||
para_id: ParaId,
|
||||
client: Arc<Client>,
|
||||
announce_block: Arc<dyn Fn(Block::Hash, Vec<u8>) + Send + Sync>,
|
||||
delayed_block_announce_validator: DelayedBlockAnnounceValidator<Block>,
|
||||
) -> Self {
|
||||
Self {
|
||||
proposer_factory,
|
||||
@@ -317,6 +321,7 @@ impl<Block: BlockT, PF, BI, Backend, Client>
|
||||
para_id,
|
||||
client,
|
||||
announce_block,
|
||||
delayed_block_announce_validator,
|
||||
_marker: PhantomData,
|
||||
}
|
||||
}
|
||||
@@ -351,6 +356,10 @@ where
|
||||
Spawner: Spawn + Clone + Send + Sync + 'static,
|
||||
Extrinsic: codec::Codec + Send + Sync + 'static,
|
||||
{
|
||||
self.delayed_block_announce_validator.set(
|
||||
Box::new(JustifiedBlockAnnounceValidator::new(Vec::new(), polkadot_client.clone())),
|
||||
);
|
||||
|
||||
let follow =
|
||||
match cumulus_consensus::follow_polkadot(self.para_id, self.client, polkadot_client) {
|
||||
Ok(follow) => follow,
|
||||
@@ -502,6 +511,7 @@ mod tests {
|
||||
let _ = env_logger::try_init();
|
||||
let spawner = futures::executor::ThreadPool::new().unwrap();
|
||||
let announce_block = |_, _| ();
|
||||
let block_announce_validator = DelayedBlockAnnounceValidator::new();
|
||||
|
||||
let builder = CollatorBuilder::new(
|
||||
DummyFactory,
|
||||
@@ -510,6 +520,7 @@ mod tests {
|
||||
id,
|
||||
Arc::new(TestClientBuilder::new().build()),
|
||||
Arc::new(announce_block),
|
||||
block_announce_validator,
|
||||
);
|
||||
let context = builder
|
||||
.build(
|
||||
|
||||
Reference in New Issue
Block a user