/ circuit / types / src / lib.rs
lib.rs
 1  // Copyright (c) 2025 ADnet Contributors
 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  
18  #[cfg(test)]
19  extern crate alphavm_console as console;
20  
21  pub use modules::*;
22  
23  pub mod modules {
24      pub use alphavm_circuit_environment as environment;
25  
26      pub use alphavm_circuit_types_address as address;
27      pub use alphavm_circuit_types_address::Address;
28  
29      pub use alphavm_circuit_types_boolean as boolean;
30      pub use alphavm_circuit_types_boolean::Boolean;
31  
32      pub use alphavm_circuit_types_field as field;
33      pub use alphavm_circuit_types_field::Field;
34  
35      pub use alphavm_circuit_types_group as group;
36      pub use alphavm_circuit_types_group::Group;
37  
38      pub use alphavm_circuit_types_integers as integers;
39      pub use alphavm_circuit_types_integers::{I8, I16, I32, I64, I128, U8, U16, U32, U64, U128};
40  
41      pub use alphavm_circuit_types_scalar as scalar;
42      pub use alphavm_circuit_types_scalar::Scalar;
43  
44      pub use alphavm_circuit_types_string as string;
45      pub use alphavm_circuit_types_string::StringType;
46  }
47  
48  pub mod prelude {
49      pub use crate::modules::*;
50      pub use alphavm_circuit_environment::prelude::*;
51  }