unc_vm_runner/
lib.rs

1#![doc = include_str!("../README.md")]
2
3mod cache;
4mod code;
5mod errors;
6mod features;
7mod imports;
8mod instrument;
9pub mod logic;
10#[cfg(all(feature = "wasmer0_vm", target_arch = "x86_64"))]
11mod memory;
12pub mod prepare;
13mod profile;
14mod runner;
15#[cfg(test)]
16mod tests;
17#[cfg(all(feature = "unc_vm", target_arch = "x86_64"))]
18mod unc_vm_runner;
19mod utils;
20#[cfg(all(feature = "wasmer2_vm", target_arch = "x86_64"))]
21mod wasmer2_runner;
22#[cfg(all(feature = "wasmer0_vm", target_arch = "x86_64"))]
23mod wasmer_runner;
24#[cfg(feature = "wasmtime_vm")]
25mod wasmtime_runner;
26
27pub use crate::logic::with_ext_cost_counter;
28pub use cache::{get_contract_cache_key, precompile_contract, MockCompiledContractCache};
29pub use code::ContractCode;
30pub use profile::ProfileDataV2;
31pub use profile::ProfileDataV3;
32pub use runner::{run, VM};
33
34/// This is public for internal experimentation use only, and should otherwise be considered an
35/// implementation detail of `unc-vm-runner`.
36#[doc(hidden)]
37pub mod internal {
38    pub use crate::runner::VMKindExt;
39    pub use wasmparser;
40}