pub struct MultiSig { /* private fields */ }Expand description
The struct that contains signatures and public keys necessary for authenticating a MultiSig.
Implementations§
Source§impl MultiSig
impl MultiSig
Sourcepub fn combine(
full_sigs: Vec<Signature>,
multisig_pk: MultiSigPublicKey,
) -> Result<Self, Error>
pub fn combine( full_sigs: Vec<Signature>, multisig_pk: MultiSigPublicKey, ) -> Result<Self, Error>
This combines a list of [enum Signature] flag || signature || pk to a MultiSig.
The order of full_sigs must be the same as the order of public keys in
[enum MultiSigPublicKey]. e.g. for [pk1, pk2, pk3, pk4, pk5],
[sig1, sig2, sig5] is valid, but [sig2, sig1, sig5] is invalid.
pub fn init_and_validate(&self) -> Result<Self, FastCryptoError>
pub const fn get_pk(&self) -> &MultiSigPublicKey
pub fn get_sigs(&self) -> &[CompressedSignature]
pub fn get_indices(&self) -> Result<Vec<u8>, Error>
Trait Implementations§
Source§impl AsRef<[u8]> for MultiSig
This initialize the underlying bytes representation of MultiSig. It encodes
[struct MultiSig] as the MultiSig flag (0x03) concat with the bcs bytes
of [struct MultiSig] i.e. flag || bcs_bytes(MultiSig).
impl AsRef<[u8]> for MultiSig
This initialize the underlying bytes representation of MultiSig. It encodes
[struct MultiSig] as the MultiSig flag (0x03) concat with the bcs bytes
of [struct MultiSig] i.e. flag || bcs_bytes(MultiSig).
Source§impl<'de> Deserialize<'de> for MultiSig
impl<'de> Deserialize<'de> for MultiSig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<MultiSig> for UserSignature
impl From<MultiSig> for UserSignature
Source§impl ToFromBytes for MultiSig
impl ToFromBytes for MultiSig
impl Eq for MultiSig
Necessary trait for [struct SenderSignedData].
Auto Trait Implementations§
impl !Freeze for MultiSig
impl RefUnwindSafe for MultiSig
impl Send for MultiSig
impl Sync for MultiSig
impl Unpin for MultiSig
impl UnwindSafe for MultiSig
Blanket Implementations§
Source§impl<T> Base32Len for T
impl<T> Base32Len for T
Source§fn base32_len(&self) -> usize
fn base32_len(&self) -> usize
Calculate the base32 serialized length
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> CheckBase32<Vec<u5>> for T
impl<T> CheckBase32<Vec<u5>> for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> EncodeDecodeBase64 for Twhere
T: ToFromBytes,
impl<T> EncodeDecodeBase64 for Twhere
T: ToFromBytes,
fn encode_base64(&self) -> String
fn decode_base64(value: &str) -> Result<T, Report>
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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<T> ToBase32 for T
impl<T> ToBase32 for T
Source§fn write_base32<W>(&self, writer: &mut W) -> Result<(), <W as WriteBase32>::Err>where
W: WriteBase32,
fn write_base32<W>(&self, writer: &mut W) -> Result<(), <W as WriteBase32>::Err>where
W: WriteBase32,
Encode as base32 and write it to the supplied writer
Implementations shouldn’t allocate.
Source§impl<T> ToHex for T
impl<T> ToHex for T
Source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
Encode the hex strict representing
self into the result. Lower case
letters are used (e.g. f9b4ca)Source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
Encode the hex strict representing
self into the result. Upper case
letters are used (e.g. F9B4CA)