[][src]Trait sc_service::ChainSpecExtension

pub trait ChainSpecExtension: Clone + DeserializeOwned + Serialize {
    type Forks: IsForks;
    fn get<T>(&self) -> Option<&T>
    where
        T: 'static
;
fn get_any(&self, t: TypeId) -> &(dyn Any + 'static); fn forks<BlockNumber, T>(&self) -> Option<Forks<BlockNumber, T>>
    where
        BlockNumber: Ord + Clone + 'static,
        T: Group + 'static,
        <Self::Forks as IsForks>::Extension: Extension,
        <<Self::Forks as IsForks>::Extension as Group>::Fork: Extension
, { ... } }

A collection of ChainSpec extensions.

This type can be passed around and allows the core modules to request a strongly-typed, but optional configuration.

Associated Types

type Forks: IsForks

Loading content...

Required methods

fn get<T>(&self) -> Option<&T> where
    T: 'static, 

Get an extension of specific type.

fn get_any(&self, t: TypeId) -> &(dyn Any + 'static)

Get an extension of specific type as refernce to Any

Loading content...

Provided methods

fn forks<BlockNumber, T>(&self) -> Option<Forks<BlockNumber, T>> where
    BlockNumber: Ord + Clone + 'static,
    T: Group + 'static,
    <Self::Forks as IsForks>::Extension: Extension,
    <<Self::Forks as IsForks>::Extension as Group>::Fork: Extension

Get forkable extensions of specific type.

Loading content...

Implementations on Foreign Types

impl Extension for Option<()>[src]

type Forks = Option<()>

impl<B, E> Extension for Forks<B, E> where
    B: Serialize + DeserializeOwned + Ord + Clone + 'static,
    E: Extension + Group + 'static, 
[src]

type Forks = Forks<B, E>

Loading content...

Implementors

Loading content...