pub enum PartiallyMultisigned<T: Signable, MK: MultiKeychain> {
Incomplete {
unchecked: UncheckedSigned<T, MK::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
Fields
§
unchecked: UncheckedSigned<T, MK::PartialMultisignature>
Complete
Fields
§
multisigned: Multisigned<T, MK>
Implementations§
source§impl<T: Signable, MK: MultiKeychain> PartiallyMultisigned<T, MK>
impl<T: Signable, MK: MultiKeychain> PartiallyMultisigned<T, MK>
sourcepub fn sign(signable: T, keychain: &MK) -> PartiallyMultisigned<T, MK>
pub fn sign(signable: T, keychain: &MK) -> PartiallyMultisigned<T, MK>
Create a partially multisigned object.
sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Chceck if the partial multisignature is complete.
sourcepub fn as_signable(&self) -> &T
pub fn as_signable(&self) -> &T
Get a reference to the multisigned object.
sourcepub fn into_unchecked(self) -> UncheckedSigned<T, MK::PartialMultisignature>
pub fn into_unchecked(self) -> UncheckedSigned<T, MK::PartialMultisignature>
Return the object that is being signed.
sourcepub fn add_signature(
self,
signed: Signed<Indexed<T>, MK>,
keychain: &MK
) -> Self
pub fn add_signature( self, signed: Signed<Indexed<T>, MK>, keychain: &MK ) -> Self
Adds a signature and checks if multisignature is complete.
Trait Implementations§
source§impl<T: Clone + Signable, MK: Clone + MultiKeychain> Clone for PartiallyMultisigned<T, MK>where
MK::PartialMultisignature: Clone,
impl<T: Clone + Signable, MK: Clone + MultiKeychain> Clone for PartiallyMultisigned<T, MK>where
MK::PartialMultisignature: Clone,
source§fn clone(&self) -> PartiallyMultisigned<T, MK>
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)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<T: Debug + Signable, MK: Debug + MultiKeychain> Debug for PartiallyMultisigned<T, MK>where
MK::PartialMultisignature: Debug,
impl<T: Debug + Signable, MK: Debug + MultiKeychain> Debug for PartiallyMultisigned<T, MK>where
MK::PartialMultisignature: Debug,
source§impl<T: Signable, MK: MultiKeychain> Decode for PartiallyMultisigned<T, MK>
impl<T: Signable, MK: MultiKeychain> Decode for PartiallyMultisigned<T, MK>
source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>
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,
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§impl<T: Signable, MK: MultiKeychain> Encode for PartiallyMultisigned<T, MK>
impl<T: Signable, MK: MultiKeychain> Encode for PartiallyMultisigned<T, MK>
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )
Convert self to a slice and append it to the destination.
source§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Convert self to a slice and then invoke the given closure with it.
source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
source§impl<T: Hash + Signable, MK: Hash + MultiKeychain> Hash for PartiallyMultisigned<T, MK>where
MK::PartialMultisignature: Hash,
impl<T: Hash + Signable, MK: Hash + MultiKeychain> Hash for PartiallyMultisigned<T, MK>where
MK::PartialMultisignature: Hash,
source§impl<T: PartialEq + Signable, MK: PartialEq + MultiKeychain> PartialEq for PartiallyMultisigned<T, MK>where
MK::PartialMultisignature: PartialEq,
impl<T: PartialEq + Signable, MK: PartialEq + MultiKeychain> PartialEq for PartiallyMultisigned<T, MK>where
MK::PartialMultisignature: PartialEq,
source§fn eq(&self, other: &PartiallyMultisigned<T, MK>) -> bool
fn eq(&self, other: &PartiallyMultisigned<T, MK>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl<T: Signable, MK: MultiKeychain> EncodeLike for PartiallyMultisigned<T, MK>
impl<T: Eq + Signable, MK: Eq + MultiKeychain> Eq for PartiallyMultisigned<T, MK>where
MK::PartialMultisignature: Eq,
impl<T: Signable, MK: MultiKeychain> StructuralPartialEq for PartiallyMultisigned<T, MK>
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> 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