radix_engine/
lib.rs

1#![cfg_attr(not(feature = "std"), no_std)]
2
3extern crate core;
4#[cfg(not(any(feature = "std", feature = "alloc")))]
5compile_error!("Either feature `std` or `alloc` must be enabled for this crate.");
6#[cfg(all(feature = "std", feature = "alloc"))]
7compile_error!("Feature `std` and `alloc` can't be enabled at the same time.");
8
9#[cfg(not(any(feature = "moka", feature = "lru")))]
10compile_error!("Either feature `moka` or `lru` must be enabled for this crate.");
11#[cfg(all(feature = "moka", feature = "lru"))]
12compile_error!("Feature `moka` and `lru` can't be enabled at the same time.");
13
14/// Radix Engine kernel, defining state, ownership and (low-level) invocation semantics.
15pub mod kernel;
16/// Radix Engine system, defining packages (a.k.a. classes), components (a.k.a. objects) and invocation semantics.
17pub mod system;
18/// Radix Engine transaction interface.
19pub mod transaction;
20
21/// Native blueprints (to be moved to individual crates)
22pub mod blueprints;
23
24/// Object module blueprints (to be moved to individual crates)
25pub mod object_modules;
26
27pub mod track;
28
29pub mod errors;
30
31pub mod utils;
32
33pub mod vm;
34
35/// Protocol updates
36pub mod updates;
37
38pub mod init;
39
40pub(crate) mod internal_prelude {
41    pub use crate::blueprints::internal_prelude::*;
42    pub use crate::errors::*;
43    pub use crate::init::*;
44    pub use crate::kernel::kernel_api::*;
45    pub use crate::system::system_substates::*;
46    pub use crate::vm::*;
47    pub use crate::{
48        dispatch, event_schema, function_schema, method_auth_template, roles_template,
49    };
50    pub use radix_blueprint_schema_init::*;
51    pub use radix_common::prelude::*;
52    pub use radix_engine_interface::api::*;
53    pub use radix_engine_interface::blueprints::component::*;
54    pub use radix_engine_interface::prelude::*;
55    pub use radix_native_sdk::resource::*;
56    pub use radix_native_sdk::runtime::*;
57    pub use radix_substate_store_interface::interface::*;
58    pub use sbor::rust::ops::AddAssign;
59    pub use sbor::rust::ops::SubAssign;
60}