domain_client_operator/
utils.rsuse parking_lot::Mutex;
use sc_utils::mpsc::{TracingUnboundedReceiver, TracingUnboundedSender};
use sp_consensus_slots::Slot;
use sp_runtime::traits::{Block as BlockT, NumberFor};
use std::sync::Arc;
use subspace_core_primitives::pot::PotOutput;
#[derive(PartialEq, Clone, Debug)]
pub struct OperatorSlotInfo {
pub slot: Slot,
pub proof_of_time: PotOutput,
}
#[derive(Debug, Clone)]
pub(crate) struct BlockInfo<Block>
where
Block: BlockT,
{
pub hash: Block::Hash,
pub number: NumberFor<Block>,
pub is_new_best: bool,
}
pub type DomainImportNotificationSinks<Block, CBlock> =
Arc<Mutex<Vec<TracingUnboundedSender<DomainBlockImportNotification<Block, CBlock>>>>>;
pub type DomainImportNotifications<Block, CBlock> =
TracingUnboundedReceiver<DomainBlockImportNotification<Block, CBlock>>;
#[derive(Clone, Debug)]
pub struct DomainBlockImportNotification<Block: BlockT, CBlock: BlockT> {
pub domain_block_hash: Block::Hash,
pub consensus_block_hash: CBlock::Hash,
}