pub trait Extension:
Serialize
+ DeserializeOwned
+ Clone {
type Forks: IsForks;
// Required methods
fn get<T: 'static>(&self) -> Option<&T>;
fn get_any(&self, t: TypeId) -> &dyn Any;
fn get_any_mut(&mut self, t: TypeId) -> &mut dyn Any;
// Provided method
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 { ... }
}
Expand description
A collection of ChainSpec
extensions.
This type can be passed around and allows the core modules to request a strongly-typed, but optional configuration.
Required Associated Types§
Required Methods§
sourcefn get_any(&self, t: TypeId) -> &dyn Any
fn get_any(&self, t: TypeId) -> &dyn Any
Get an extension of specific type as reference to Any
.
sourcefn get_any_mut(&mut self, t: TypeId) -> &mut dyn Any
fn get_any_mut(&mut self, t: TypeId) -> &mut dyn Any
Get an extension of specific type as mutable reference to Any
.
Provided Methods§
Object Safety§
This trait is not object safe.