Enum sp_core::ExecutionContext [−][src]
pub enum ExecutionContext {
Importing,
Syncing,
BlockConstruction,
OffchainCall(Option<(Box<dyn Externalities>, Capabilities)>),
}Expand description
Context for executing a call into the runtime.
Variants
Context used for general block import (including locally authored blocks).
Context used for importing blocks as part of an initial sync of the blockchain.
We distinguish between major sync and import so that validators who are running their initial sync (or catching up after some time offline) can use the faster native runtime (since we can reasonably assume the network as a whole has already come to a broad conensus on the block and it probably hasn’t been crafted specifically to attack this node), but when importing blocks at the head of the chain in normal operation they can use the safer Wasm version.
Context used for block construction.
OffchainCall(Option<(Box<dyn Externalities>, Capabilities)>)Context used for offchain calls.
This allows passing offchain extension and customizing available capabilities.
Implementations
Returns the capabilities of particular context.
Auto Trait Implementations
impl !RefUnwindSafe for ExecutionContextimpl Send for ExecutionContextimpl !Sync for ExecutionContextimpl Unpin for ExecutionContextimpl !UnwindSafe for ExecutionContextBlanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any, Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
type Output = T
type Output = TShould always be Self
The counterpart to unchecked_from.
pub fn vzip(self) -> V