type FullPool<Client> = FullPool<Block, Client>;
struct FullPool<Client> {
pub(crate) pool: Arc<Pool<FullChainApi<Client, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>,
pub(crate) api: Arc<FullChainApi<Client, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>,
pub(crate) revalidation_strategy: Arc<Mutex<RawMutex, RevalidationStrategy<u32>>>,
pub(crate) revalidation_queue: Arc<RevalidationQueue<FullChainApi<Client, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>,
pub(crate) ready_poll: Arc<Mutex<RawMutex, ReadyPoll<Box<dyn ReadyTransactions<Item = Arc<Transaction<<<FullChainApi<Client, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>> as ChainApi>::Block as Block>::Hash, <<FullChainApi<Client, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>> as ChainApi>::Block as Block>::Extrinsic>>> + Send>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>,
pub(crate) metrics: MetricsLink,
pub(crate) enactment_state: Arc<Mutex<RawMutex, EnactmentState<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>,
}