use crate::utils::encoding::{blake2b_256, serde_byte_array};
use serde::{Deserialize, Serialize};
#[cfg_attr(test, derive(derive_quickcheck_arbitrary::Arbitrary))]
#[derive(Clone, Debug, PartialEq, Eq, Ord, PartialOrd, Default, Serialize, Deserialize, Hash)]
pub struct VRFProof(#[serde(with = "serde_byte_array")] pub Vec<u8>);
impl VRFProof {
pub fn new(output: Vec<u8>) -> Self {
Self(output)
}
pub fn as_bytes(&self) -> &[u8] {
&self.0
}
pub fn digest(&self) -> [u8; 32] {
blake2b_256(&self.0)
}
}