lib.rs
1 // Copyright (c) 2019-2025 Alpha-Delta Network Inc. 2 // This file is part of the alphavm library. 3 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at: 7 8 // http://www.apache.org/licenses/LICENSE-2.0 9 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 16 #![forbid(unsafe_code)] 17 #![allow(clippy::module_inception)] 18 #![cfg_attr(test, allow(clippy::assertions_on_result_states))] 19 20 #[cfg(feature = "file")] 21 pub mod file; 22 #[cfg(feature = "package")] 23 pub mod package; 24 25 #[cfg(feature = "algorithms")] 26 pub use alphavm_algorithms as algorithms; 27 #[cfg(feature = "circuit")] 28 pub use alphavm_circuit as circuit; 29 #[cfg(feature = "console")] 30 pub use alphavm_console as console; 31 #[cfg(feature = "curves")] 32 pub use alphavm_curves as curves; 33 #[cfg(feature = "fields")] 34 pub use alphavm_fields as fields; 35 #[cfg(feature = "ledger")] 36 pub use alphavm_ledger as ledger; 37 #[cfg(feature = "metrics")] 38 pub use alphavm_metrics as metrics; 39 #[cfg(feature = "parameters")] 40 pub use alphavm_parameters as parameters; 41 #[cfg(feature = "synthesizer")] 42 pub use alphavm_synthesizer as synthesizer; 43 #[cfg(feature = "utilities")] 44 pub use alphavm_utilities as utilities; 45 #[cfg(feature = "wasm")] 46 pub use alphavm_wasm as wasm; 47 48 pub mod prelude { 49 #[cfg(feature = "console")] 50 pub use crate::console::{account::*, network::prelude::*, program::*}; 51 #[cfg(feature = "ledger")] 52 pub use crate::ledger::prelude::*; 53 #[cfg(feature = "synthesizer")] 54 pub use crate::synthesizer::prelude::*; 55 }