pub struct SignatureAggregator<'a> { /* private fields */ }
Implementations§
Source§impl<'a> SignatureAggregator<'a>
impl<'a> SignatureAggregator<'a>
Sourcepub fn new(
value: HashedCertificateValue,
round: Round,
committee: &'a Committee,
) -> Self
pub fn new( value: HashedCertificateValue, round: Round, committee: &'a Committee, ) -> Self
Starts aggregating signatures for the given value into a certificate.
Sourcepub fn append(
&mut self,
validator: ValidatorName,
signature: Signature,
) -> Result<Option<Certificate>, ChainError>
pub fn append( &mut self, validator: ValidatorName, signature: Signature, ) -> Result<Option<Certificate>, ChainError>
Tries to append a signature to a (partial) certificate. Returns Some(certificate) if a
quorum was reached. The resulting final certificate is guaranteed to be valid in the sense
of check
below. Returns an error if the signed value cannot be aggregated.
Auto Trait Implementations§
impl<'a> Freeze for SignatureAggregator<'a>
impl<'a> RefUnwindSafe for SignatureAggregator<'a>
impl<'a> Send for SignatureAggregator<'a>
impl<'a> Sync for SignatureAggregator<'a>
impl<'a> Unpin for SignatureAggregator<'a>
impl<'a> UnwindSafe for SignatureAggregator<'a>
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
Source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
Source§fn read<'instance>(
&self,
instance: &'instance &mut I,
location: GuestPointer,
length: u32,
) -> Result<Cow<'instance, [u8]>, RuntimeError>
fn read<'instance>( &self, instance: &'instance &mut I, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>
Reads length
bytes from memory from the provided location
.
Source§fn write(
&mut self,
instance: &mut &mut I,
location: GuestPointer,
bytes: &[u8],
) -> Result<(), RuntimeError>
fn write( &mut self, instance: &mut &mut I, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>
Writes the bytes
to memory at the provided location
.