pub struct AvidmGf2Scheme;Expand description
Dummy struct for AVID-M scheme over GF2
Implementations§
Source§impl AvidmGf2Scheme
impl AvidmGf2Scheme
Sourcepub fn setup(
recovery_threshold: usize,
total_weights: usize,
) -> Result<AvidmGf2Param, VidError>
pub fn setup( recovery_threshold: usize, total_weights: usize, ) -> Result<AvidmGf2Param, VidError>
Setup an instance for AVID-M scheme
fn bit_padding(payload: &[u8], payload_len: usize) -> Result<Vec<u8>, VidError>
fn raw_disperse( param: &AvidmGf2Param, payload: &[u8], ) -> Result<(HasherMerkleTree<Keccak256, HasherNode<Keccak256>>, Vec<Vec<u8>>), VidError>
Trait Implementations§
Source§impl VidScheme for AvidmGf2Scheme
impl VidScheme for AvidmGf2Scheme
Source§type Param = AvidmGf2Param
type Param = AvidmGf2Param
VID Parameters
VID Share type
Source§type Commit = AvidmGf2Commit
type Commit = AvidmGf2Commit
VID commitment type
Source§fn commit(param: &Self::Param, payload: &[u8]) -> Result<Self::Commit, VidError>
fn commit(param: &Self::Param, payload: &[u8]) -> Result<Self::Commit, VidError>
Commit to a
payload without generating shares.Source§fn disperse(
param: &Self::Param,
distribution: &[u32],
payload: &[u8],
) -> Result<(Self::Commit, Vec<Self::Share>), VidError>
fn disperse( param: &Self::Param, distribution: &[u32], payload: &[u8], ) -> Result<(Self::Commit, Vec<Self::Share>), VidError>
Disperse the given
payload according to the weights in distribution.Verify the given VID
share against the VID commit.Auto Trait Implementations§
impl Freeze for AvidmGf2Scheme
impl RefUnwindSafe for AvidmGf2Scheme
impl Send for AvidmGf2Scheme
impl Sync for AvidmGf2Scheme
impl Unpin for AvidmGf2Scheme
impl UnwindSafe for AvidmGf2Scheme
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more