signet_sim/
lib.rs

1//! Signet Sim
2//!
3//! A simple parallelized transaction simulation library.
4
5#![warn(
6    missing_copy_implementations,
7    missing_debug_implementations,
8    missing_docs,
9    unreachable_pub,
10    clippy::missing_const_for_fn,
11    rustdoc::all
12)]
13#![cfg_attr(not(test), warn(unused_crate_dependencies))]
14#![deny(unused_must_use, rust_2018_idioms)]
15#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
16
17mod built;
18pub use built::BuiltBlock;
19
20mod cache;
21pub use cache::SimCache;
22
23mod env;
24pub use env::{SharedSimEnv, SimEnv};
25
26mod item;
27pub use item::SimItem;
28
29mod outcome;
30pub use outcome::SimOutcomeWithCache;
31
32mod task;
33pub use task::BlockBuild;
34
35/// A type alias for the database underlying the simulation.
36pub type InnerDb<Db> = std::sync::Arc<trevm::revm::database::CacheDB<Db>>;
37
38/// A type alias for the database used in the simulation.
39pub type SimDb<Db> = trevm::db::cow::CacheOnWrite<InnerDb<Db>>;