Struct diem_sdk::crypto::multi_ed25519::MultiEd25519Signature [−][src]
pub struct MultiEd25519Signature { /* fields omitted */ }Expand description
Vector of the multi-key signatures along with a 32bit [u8; 4] bitmap required to map signatures with their corresponding public keys.
Note that bits are read from left to right. For instance, in the following bitmap [0b0001_0000, 0b0000_0000, 0b0000_0000, 0b0000_0001], the 3rd and 31st positions are set.
Implementations
pub fn new(
signatures: Vec<(Ed25519Signature, u8), Global>
) -> Result<MultiEd25519Signature, CryptoMaterialError>
pub fn new(
signatures: Vec<(Ed25519Signature, u8), Global>
) -> Result<MultiEd25519Signature, CryptoMaterialError>
This method will also sort signatures based on index.
pub fn new_with_signatures_and_bitmap(
signatures: Vec<Ed25519Signature, Global>,
bitmap: [u8; 4]
) -> MultiEd25519Signature
pub fn new_with_signatures_and_bitmap(
signatures: Vec<Ed25519Signature, Global>,
bitmap: [u8; 4]
) -> MultiEd25519Signature
Creates a new MultiEd25519signature by given signatures and bitmap.
Getter signatures.
Trait Implementations
pub fn deserialize<D>(
deserializer: D
) -> Result<MultiEd25519Signature, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
pub fn deserialize<D>(
deserializer: D
) -> Result<MultiEd25519Signature, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Performs the conversion.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
pub fn verify_arbitrary_msg(
&self,
message: &[u8],
public_key: &MultiEd25519PublicKey
) -> Result<(), Error>
pub fn verify_arbitrary_msg(
&self,
message: &[u8],
public_key: &MultiEd25519PublicKey
) -> Result<(), Error>
Checks that self is valid for an arbitrary &u8 message using public_key.
Outside of this crate, this particular function should only be used for native signature
verification in Move.
The associated verifying key type for this signature.
The associated signing key type for this signature
pub fn verify<T>(
&self,
message: &T,
public_key: &MultiEd25519PublicKey
) -> Result<(), Error> where
T: CryptoHash + Serialize,
pub fn verify<T>(
&self,
message: &T,
public_key: &MultiEd25519PublicKey
) -> Result<(), Error> where
T: CryptoHash + Serialize,
Verification for a struct we unabmiguously know how to serialize and that we have a domain separation prefix for. Read more
fn batch_verify<T>(
message: &T,
keys_and_signatures: Vec<(Self::VerifyingKeyMaterial, Self), Global>
) -> Result<(), Error> where
T: CryptoHash + Serialize,
fn batch_verify<T>(
message: &T,
keys_and_signatures: Vec<(Self::VerifyingKeyMaterial, Self), Global>
) -> Result<(), Error> where
T: CryptoHash + Serialize,
The implementer can override a batch verification implementation that by default iterates over each signature. More efficient implementations exist and should be implemented for many schemes. Read more
Deserialize a MultiEd25519Signature. This method will also check for malleable signatures and bitmap validity.
type Error = CryptoMaterialError
type Error = CryptoMaterialError
The type returned in the event of a conversion error.
Auto Trait Implementations
impl RefUnwindSafe for MultiEd25519Signature
impl Send for MultiEd25519Signature
impl Sync for MultiEd25519Signature
impl Unpin for MultiEd25519Signature
impl UnwindSafe for MultiEd25519Signature
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key and return true if they are equal.
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
type Output = T
type Output = T
Should always be Self
Generates a hash used only for tests.
pub fn vzip(self) -> V
When trying to convert from bytes, we simply decode the string into bytes before checking if we can convert. Read more
A function to encode into hex-string after serializing.