Crate sc_executor
source ·Expand description
A crate that provides means of executing/dispatching calls into the runtime.
There are a few responsibilities of this crate at the moment:
- It provides an implementation of a common entrypoint for calling into the runtime, both wasm and compiled.
- It defines the environment for the wasm execution, namely the host functions that are to be provided into the wasm runtime module.
- It also provides the required infrastructure for executing the current wasm runtime (specified
by the current value of
:code
in the provided externalities), i.e. interfacing with wasm engine used, instance cache.
Re-exports
pub use wasmi;
Modules
Rust executor possible errors.
Structs
A generic
CodeExecutor
implementation that uses a delegate to determine wasm code equivalence
and dispatch to native code when possible, falling back on WasmExecutor
when not.The version of the native runtime.
Runtime version.
This should not be thought of as classic Semver (major/minor/tiny).
This triplet have different semantics and mis-interpretation could cause problems.
In particular: bug fixes should result in an increment of
spec_version
and possibly
authoring_version
, absolutely not impl_version
since they change the semantics of the
runtime.An abstraction over Wasm code executor. Supports selecting execution backend and
manages runtime cache.
Enums
Specification of different methods of executing the runtime Wasm code.
The instantiation strategy to use for the WASM executor.
Traits
Trait that allows zero-copy read/write of value-references to/from slices in LE format.
Delegate for dispatching a CodeExecutor call.
Extracts the runtime version of a given runtime code.
Functions
Take the runtime blob and scan it for the custom wasm sections containing the version
information and construct the
RuntimeVersion
from them.Set up the externalities and safe calling environment to execute runtime calls.