pub trait CommitmentScheme {
type Output: ToBytes + Clone + Default + Eq + Hash + Debug;
type Parameters: Clone;
type Randomness: Clone + ToBytes + Default + Eq + UniformRand + Debug;
// Required methods
fn setup<R: Rng>(r: &mut R) -> Result<Self::Parameters, Error>;
fn commit(
parameters: &Self::Parameters,
input: &[u8],
r: &Self::Randomness,
) -> Result<Self::Output, Error>;
}Required Associated Types§
type Output: ToBytes + Clone + Default + Eq + Hash + Debug
type Parameters: Clone
type Randomness: Clone + ToBytes + Default + Eq + UniformRand + Debug
Required Methods§
fn setup<R: Rng>(r: &mut R) -> Result<Self::Parameters, Error>
fn commit( parameters: &Self::Parameters, input: &[u8], r: &Self::Randomness, ) -> Result<Self::Output, Error>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.