//! # Backend-related traits and implementations
//!
//! A backend exposes external information that is available to an EVM
//! interpreter. This includes block information such as the current coinbase,
//! block gas limit, etc, as well as the state such as account balance, storage
//! and code.
//!
//! Backends have layers, representing information that may be committed or
//! discard after the current call stack finishes. Due to the vast differences of
//! how different backends behave (for example, in some backends like wasm,
//! pushing/poping layers are dealt by extern functions), layers are handled
//! internally inside a backend.
use ExitError;
pub use ;
pub use ;
pub use ;
/// Backend with layers that can transactionally be committed or discarded.