/ algorithms / src / lib.rs
lib.rs
 1  // Copyright (c) 2019-2025 Alpha-Delta Network Inc.
 2  // This file is part of the deltavm 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  #![warn(unsafe_code)]
17  #![allow(clippy::module_inception)]
18  #![allow(clippy::type_complexity)]
19  #![cfg_attr(test, allow(clippy::assertions_on_result_states))]
20  
21  #[allow(unused_imports)]
22  #[macro_use]
23  extern crate alphastd;
24  #[macro_use]
25  extern crate thiserror;
26  
27  pub use deltavm_utilities::{cfg_chunks, cfg_chunks_mut, cfg_into_iter, cfg_iter, cfg_iter_mut, cfg_reduce};
28  
29  pub mod crypto_hash;
30  pub mod fft;
31  pub mod msm;
32  pub mod polycommit;
33  pub mod r1cs;
34  pub mod snark;
35  
36  pub mod srs;
37  
38  pub mod errors;
39  pub use errors::*;
40  
41  pub mod traits;
42  pub use traits::*;
43  
44  pub mod prelude {
45      pub use crate::{errors::*, traits::*};
46  
47      pub use crate::{polycommit::error::*, r1cs::errors::*};
48  }