snarkvm_circuit/
lib.rs

1// Copyright 2024-2025 Aleo Network Foundation
2// This file is part of the snarkVM 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
18pub use modules::*;
19
20pub mod modules {
21    pub use snarkvm_circuit_account as account;
22    pub use snarkvm_circuit_account::*;
23
24    pub use snarkvm_circuit_algorithms as algorithms;
25    pub use snarkvm_circuit_algorithms::*;
26
27    pub use snarkvm_circuit_collections as collections;
28    pub use snarkvm_circuit_collections::*;
29
30    pub use snarkvm_circuit_environment as environment;
31    pub use snarkvm_circuit_environment::{
32        Assignment,
33        CanaryCircuit,
34        Circuit,
35        Eject,
36        Environment,
37        Inject,
38        Mode,
39        TestnetCircuit,
40    };
41
42    pub use snarkvm_circuit_network as network;
43    pub use snarkvm_circuit_network::*;
44
45    pub use snarkvm_circuit_program as program;
46    pub use snarkvm_circuit_program::*;
47
48    pub use snarkvm_circuit_types as types;
49    pub use snarkvm_circuit_types::*;
50}
51
52pub mod traits {
53    pub use snarkvm_circuit_algorithms::traits::*;
54    pub use snarkvm_circuit_environment::traits::*;
55}
56
57pub mod prelude {
58    pub use crate::modules::*;
59    pub use snarkvm_circuit_environment::prelude::*;
60}