use std::convert::TryInto;
pub fn blake2b256_hash(bytes: &[u8]) -> Box<[u8; 32]> {
use blake2::digest::{Update, VariableOutput};
use blake2::VarBlake2b;
let mut hasher = VarBlake2b::new(32).unwrap();
hasher.update(bytes);
let hash = hasher.finalize_boxed();
hash.try_into().unwrap()
}
pub fn sha256_hash(bytes: &[u8]) -> Box<[u8; 32]> {
use sha2::{Digest, Sha256};
let mut hasher = Sha256::new();
hasher.update(bytes);
Box::new(*hasher.finalize().as_ref())
}