Trait vsss_rs::ShareSetCombiner

source ·
pub trait ShareSetCombiner<I, S, F, G>: Sized + AsRef<[(F, G)]> + AsMut<[(F, G)]>
where I: ShareIdentifier, S: Share<Identifier = I>, F: PrimeField, G: Default + Copy + AddAssign + Mul<F, Output = G>,
{ // Required method fn create(size_hint: usize) -> Self; // Provided method fn combine<BB, M>(shares: BB, m: M) -> VsssResult<G> where BB: AsRef<[S]>, M: FnMut(&S) -> VsssResult<G> { ... } }
Expand description

A data store for reconstructing secret shares

Required Methods§

source

fn create(size_hint: usize) -> Self

Create a new shared set combiner

Provided Methods§

source

fn combine<BB, M>(shares: BB, m: M) -> VsssResult<G>
where BB: AsRef<[S]>, M: FnMut(&S) -> VsssResult<G>,

Combine the secret shares into a single secret using Lagrange interpolation

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<I, S, F, G, L> ShareSetCombiner<I, S, F, G> for GenericArray<(F, G), L>
where I: ShareIdentifier, S: Share<Identifier = I>, F: PrimeField, G: Default + Copy + AddAssign + Mul<F, Output = G>, L: ArrayLength,

source§

fn create(_size_hint: usize) -> Self

source§

impl<I, S, F, G, const L: usize> ShareSetCombiner<I, S, F, G> for [(F, G); L]
where I: ShareIdentifier, S: Share<Identifier = I>, F: PrimeField, G: Default + Copy + AddAssign + Mul<F, Output = G>,

source§

fn create(_size_hint: usize) -> Self

source§

impl<I: ShareIdentifier, S: Share<Identifier = I>, F: PrimeField, G: Default + Copy + AddAssign + Mul<F, Output = G>> ShareSetCombiner<I, S, F, G> for Vec<(F, G)>

source§

fn create(size_hint: usize) -> Self

Implementors§