/ circuit / src / lib.rs
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  
18  pub use modules::*;
19  
20  pub mod modules {
21      pub use alphavm_circuit_account as account;
22      pub use alphavm_circuit_account::*;
23  
24      pub use alphavm_circuit_algorithms as algorithms;
25      pub use alphavm_circuit_algorithms::*;
26  
27      pub use alphavm_circuit_collections as collections;
28      pub use alphavm_circuit_collections::*;
29  
30      pub use alphavm_circuit_environment as environment;
31      pub use alphavm_circuit_environment::{
32          Assignment,
33          CanaryCircuit,
34          Circuit,
35          Eject,
36          Environment,
37          Inject,
38          Mode,
39          TestnetCircuit,
40      };
41  
42      pub use alphavm_circuit_network as network;
43      pub use alphavm_circuit_network::*;
44  
45      pub use alphavm_circuit_program as program;
46      pub use alphavm_circuit_program::*;
47  
48      pub use alphavm_circuit_types as types;
49      pub use alphavm_circuit_types::*;
50  }
51  
52  pub mod traits {
53      pub use alphavm_circuit_algorithms::traits::*;
54      pub use alphavm_circuit_environment::traits::*;
55  }
56  
57  pub mod prelude {
58      pub use crate::modules::*;
59      pub use alphavm_circuit_environment::prelude::*;
60  }