ark-crypto-primitives 0.6.0

A library of useful cryptographic primitives
Documentation
#![allow(clippy::upper_case_acronyms)]
use crate::Error;
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
use ark_std::{fmt::Debug, hash::Hash};

#[cfg(feature = "constraints")]
pub mod constraints;
#[cfg(feature = "constraints")]
pub use constraints::*;

pub mod blake2s;
pub use self::blake2s::*;

pub trait PRF {
    type Input: CanonicalDeserialize + Default;
    type Output: CanonicalSerialize + Eq + Clone + Debug + Default + Hash;
    type Seed: CanonicalDeserialize + CanonicalSerialize + Clone + Default + Debug;

    fn evaluate(seed: &Self::Seed, input: &Self::Input) -> Result<Self::Output, Error>;
}