//! This crate contains interfaces for the runtime to communicate with the outside world, ergo `io`.
//! environment in which host functions are provided, and thus can be accessed. Some host functions
//! thread 'main' panicked at '`get_version_1` called outside of an Externalities-provided environment.'
//! An externality is any type that implements [`sp_externalities::Externalities`]. A simple example
/// If `value_out` length is smaller than the returned length, only `value_out` length bytes
/// Clear the storage of each key-value pair where the key starts with the given `prefix`.
/// The deletion would always start from `prefix` resulting in the same keys being deleted
/// every time this function is called with the exact same arguments per block. This happens
/// The limit can be used to partially delete a prefix storage in case it is too large or costly
/// Returns [`MultiRemovalResults`](sp_io::MultiRemovalResults) to inform about the result. Once
/// Clear the child storage of each key-value pair where the key starts with the given `prefix`.
/// Clear the child storage of each key-value pair where the key starts with the given `prefix`.
/// Clear the child storage of each key-value pair where the key starts with the given `prefix`.
/// Interface that provides miscellaneous functions for communicating between the runtime and the
fn ed25519_verify(sig: &ed25519::Signature, msg: &[u8], pub_key: &ed25519::Public) -> bool {
// We don't want to force everyone needing to call the function in an externalities context.
/// Sign the given a pre-hashed `msg` with the `ecdsa` key that corresponds to the given public
/// When returning false the calling code should skip any tracing-related execution. In general
/// checked more than once per metadata. This exists for optimisation purposes but is still not
/// cheap as it will jump the wasm-native-barrier every time it is called. So an implementation
/// and then calls `clone_span` with the ID to signal that we are keeping it around on the wasm-
/// side even after the local span is dropped. The resulting ID is then handed over to the wasm-