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
Fields
§
unchecked: UncheckedSigned<T, <MK as MultiKeychain>::PartialMultisignature>
Complete
Fields
§
multisigned: Multisigned<T, MK>
Implementations§
Source§impl<T, MK> PartiallyMultisigned<T, MK>where
T: Signable,
MK: MultiKeychain,
impl<T, MK> PartiallyMultisigned<T, MK>where
T: Signable,
MK: MultiKeychain,
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 as MultiKeychain>::PartialMultisignature>
pub fn into_unchecked( self, ) -> UncheckedSigned<T, <MK as MultiKeychain>::PartialMultisignature>
Return the object that is being signed.
Sourcepub fn add_signature(
self,
signed: Signed<Indexed<T>, MK>,
keychain: &MK,
) -> PartiallyMultisigned<T, MK>
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>where
T: Clone + Signable,
MK: Clone + MultiKeychain,
<MK as MultiKeychain>::PartialMultisignature: Clone,
impl<T, MK> Clone for PartiallyMultisigned<T, MK>where
T: Clone + Signable,
MK: Clone + MultiKeychain,
<MK as MultiKeychain>::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, MK> Debug for PartiallyMultisigned<T, MK>where
T: Debug + Signable,
MK: Debug + MultiKeychain,
<MK as MultiKeychain>::PartialMultisignature: Debug,
impl<T, MK> Debug for PartiallyMultisigned<T, MK>where
T: Debug + Signable,
MK: Debug + MultiKeychain,
<MK as MultiKeychain>::PartialMultisignature: Debug,
Source§impl<T, MK> Decode for PartiallyMultisigned<T, MK>where
T: Signable,
MK: MultiKeychain,
UncheckedSigned<T, <MK as MultiKeychain>::PartialMultisignature>: Decode,
Multisigned<T, MK>: Decode,
impl<T, MK> Decode for PartiallyMultisigned<T, MK>where
T: Signable,
MK: MultiKeychain,
UncheckedSigned<T, <MK as MultiKeychain>::PartialMultisignature>: Decode,
Multisigned<T, MK>: Decode,
Source§fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<PartiallyMultisigned<T, MK>, Error>where
__CodecInputEdqy: Input,
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,
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, MK> Encode for PartiallyMultisigned<T, MK>where
T: Signable,
MK: MultiKeychain,
UncheckedSigned<T, <MK as MultiKeychain>::PartialMultisignature>: Encode,
Multisigned<T, MK>: Encode,
impl<T, MK> Encode for PartiallyMultisigned<T, MK>where
T: Signable,
MK: MultiKeychain,
UncheckedSigned<T, <MK as MultiKeychain>::PartialMultisignature>: Encode,
Multisigned<T, MK>: Encode,
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>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy>( &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, MK> Hash for PartiallyMultisigned<T, MK>where
T: Hash + Signable,
MK: Hash + MultiKeychain,
<MK as MultiKeychain>::PartialMultisignature: Hash,
impl<T, MK> Hash for PartiallyMultisigned<T, MK>where
T: Hash + Signable,
MK: Hash + MultiKeychain,
<MK as MultiKeychain>::PartialMultisignature: Hash,
Source§impl<T, MK> PartialEq for PartiallyMultisigned<T, MK>where
T: PartialEq + Signable,
MK: PartialEq + MultiKeychain,
<MK as MultiKeychain>::PartialMultisignature: PartialEq,
impl<T, MK> PartialEq for PartiallyMultisigned<T, MK>where
T: PartialEq + Signable,
MK: PartialEq + MultiKeychain,
<MK as MultiKeychain>::PartialMultisignature: PartialEq,
impl<T, MK> EncodeLike for PartiallyMultisigned<T, MK>where
T: Signable,
MK: MultiKeychain,
UncheckedSigned<T, <MK as MultiKeychain>::PartialMultisignature>: Encode,
Multisigned<T, MK>: Encode,
impl<T, MK> Eq for PartiallyMultisigned<T, MK>
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> 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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
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