scsys_crypto/hash/hashes/
mod.rs1pub use self::{h160::H160, h256::H256, utils::*};
8
9pub(crate) mod h160;
10pub(crate) mod h256;
11
12#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq, serde::Deserialize, serde::Serialize)]
13pub enum Hashes {
14 H256(H256),
15 H160(H160),
16}
17
18impl Default for Hashes {
19 fn default() -> Self {
20 Self::H256(H256::default())
21 }
22}
23
24pub(crate) mod utils {
25 use super::H256;
26 use rand::Rng;
27
28 pub fn generate_random_hash() -> H256 {
29 let mut rng = rand::thread_rng();
30 let random_bytes: Vec<u8> = (0..32).map(|_| rng.gen()).collect();
31 let mut raw_bytes = [0; 32];
32 raw_bytes.copy_from_slice(&random_bytes);
33 (&raw_bytes).into()
34 }
35}