/ console / algorithms / 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  #![allow(clippy::too_many_arguments)]
18  #![warn(clippy::cast_possible_truncation)]
19  #![cfg_attr(test, allow(clippy::assertions_on_result_states))]
20  
21  pub use alphavm_console_types::prelude::*;
22  
23  pub mod bhp;
24  pub use bhp::{BHP, BHP256, BHP512, BHP768, BHP1024};
25  
26  mod blake2xs;
27  pub use blake2xs::Blake2Xs;
28  
29  mod elligator2;
30  pub use elligator2::Elligator2;
31  
32  mod ecdsa;
33  pub use ecdsa::*;
34  
35  mod keccak;
36  pub use keccak::*;
37  
38  mod pedersen;
39  pub use pedersen::{Pedersen, Pedersen64, Pedersen128};
40  
41  mod poseidon;
42  pub use poseidon::{Poseidon, Poseidon2, Poseidon4, Poseidon8};