aurora_evm/
lib.rs

1//! Ethereum Virtual Machine implementation in Rust
2
3#![deny(warnings)]
4#![forbid(unsafe_code, unused_variables)]
5#![deny(clippy::pedantic, clippy::nursery)]
6#![deny(clippy::as_conversions)]
7#![allow(clippy::module_name_repetitions)]
8#![cfg_attr(not(feature = "std"), no_std)]
9
10#[cfg(not(feature = "std"))]
11extern crate alloc;
12
13#[cfg(not(feature = "std"))]
14pub mod prelude {
15    pub use alloc::{
16        boxed::Box,
17        collections::{BTreeMap, BTreeSet},
18        rc::Rc,
19        vec::Vec,
20    };
21    pub use core::cell::RefCell;
22}
23#[cfg(feature = "std")]
24pub mod prelude {
25    pub use std::{
26        cell::RefCell,
27        collections::{BTreeMap, BTreeSet},
28        rc::Rc,
29        vec::Vec,
30    };
31}
32
33pub use core::*;
34pub use runtime::*;
35
36#[cfg(feature = "tracing")]
37pub mod tracing;
38
39#[cfg(feature = "tracing")]
40macro_rules! event {
41    ($x:expr) => {
42        use crate::tracing::Event::*;
43        crate::tracing::with(|listener| listener.event($x));
44    };
45}
46
47#[cfg(not(feature = "tracing"))]
48macro_rules! event {
49    ($x:expr) => {};
50}
51
52pub mod backend;
53pub mod core;
54pub mod executor;
55pub mod gasometer;
56pub mod maybe_borrowed;
57pub mod runtime;