Enum aleph_bft::PartiallyMultisigned

source ·
pub enum PartiallyMultisigned<T, MK>
where T: Signable, MK: MultiKeychain,
{ Incomplete { unchecked: UncheckedSigned<T, <MK as MultiKeychain>::PartialMultisignature>, }, Complete { multisigned: Multisigned<T, MK>, }, }
Expand description

Signable data together with a valid partial multisignature.

Instances of this type keep track whether the partial multisignautre is complete or not. If the multisignature is complete, you can get Multisigned by pattern matching against the variant PartiallyMultisigned::Complete.

Variants§

§

Incomplete

§

Complete

Fields

§multisigned: Multisigned<T, MK>

Implementations§

source§

impl<T, MK> PartiallyMultisigned<T, MK>
where T: Signable, MK: MultiKeychain,

source

pub fn sign(signable: T, keychain: &MK) -> PartiallyMultisigned<T, MK>

Create a partially multisigned object.

source

pub fn is_complete(&self) -> bool

Chceck if the partial multisignature is complete.

source

pub fn as_signable(&self) -> &T

Get a reference to the multisigned object.

source

pub fn into_unchecked( self ) -> UncheckedSigned<T, <MK as MultiKeychain>::PartialMultisignature>

Return the object that is being signed.

source

pub fn add_signature( self, signed: Signed<Indexed<T>, MK>, keychain: &MK ) -> PartiallyMultisigned<T, MK>

Adds a signature and checks if multisignature is complete.

Trait Implementations§

source§

impl<T, MK> Clone for PartiallyMultisigned<T, MK>

source§

fn clone(&self) -> PartiallyMultisigned<T, MK>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T, MK> Debug for PartiallyMultisigned<T, MK>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl<T, MK> Decode for PartiallyMultisigned<T, MK>

source§

fn decode<__CodecInputEdqy>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<PartiallyMultisigned<T, MK>, Error>
where __CodecInputEdqy: Input,

Attempt to deserialise the value from input.
source§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
source§

fn skip<I>(input: &mut I) -> Result<(), Error>
where I: Input,

Attempt to skip the encoded value from input. Read more
source§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<T, MK> Encode for PartiallyMultisigned<T, MK>

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )
where __CodecOutputEdqy: Output + ?Sized,

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
source§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<T, MK> Hash for PartiallyMultisigned<T, MK>

source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<T, MK> PartialEq for PartiallyMultisigned<T, MK>

source§

fn eq(&self, other: &PartiallyMultisigned<T, MK>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T, MK> EncodeLike for PartiallyMultisigned<T, MK>

source§

impl<T, MK> Eq for PartiallyMultisigned<T, MK>

source§

impl<T, MK> StructuralPartialEq for PartiallyMultisigned<T, MK>
where T: Signable, MK: MultiKeychain,

Auto Trait Implementations§

§

impl<T, MK> Freeze for PartiallyMultisigned<T, MK>

§

impl<T, MK> RefUnwindSafe for PartiallyMultisigned<T, MK>

§

impl<T, MK> Send for PartiallyMultisigned<T, MK>
where T: Send,

§

impl<T, MK> Sync for PartiallyMultisigned<T, MK>
where T: Sync,

§

impl<T, MK> Unpin for PartiallyMultisigned<T, MK>

§

impl<T, MK> UnwindSafe for PartiallyMultisigned<T, MK>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> DecodeAll for T
where T: Decode,

source§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
source§

impl<T> DecodeLimit for T
where T: Decode,

source§

fn decode_all_with_depth_limit( limit: u32, input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
source§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of bytes consumed. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
source§

impl<T> KeyedVec for T
where T: Codec,

source§

fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

Return an encoding of Self prepended by given slice.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<S> Codec for S
where S: Decode + Encode,

source§

impl<T> Data for T
where T: Eq + Clone + Send + Sync + Debug + Hash + Codec + 'static,

source§

impl<T> EncodeLike<&&T> for T
where T: Encode,

source§

impl<T> EncodeLike<&T> for T
where T: Encode,

source§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

source§

impl<T> EncodeLike<Arc<T>> for T
where T: Encode,

source§

impl<T> EncodeLike<Box<T>> for T
where T: Encode,

source§

impl<'a, T> EncodeLike<Cow<'a, T>> for T
where T: ToOwned + Encode,

source§

impl<T> EncodeLike<Rc<T>> for T
where T: Encode,

source§

impl<S> FullCodec for S
where S: Decode + FullEncode,

source§

impl<S> FullEncode for S
where S: Encode + EncodeLike,

source§

impl<T> Signature for T
where T: Debug + Clone + Codec + Send + Sync + Eq + 'static,