Trait diem_crypto::traits::VerifyingKey[][src]

pub trait VerifyingKey: PublicKey<PrivateKeyMaterial = Self::SigningKeyMaterial> + ValidCryptoMaterial + Sealed {
    type SigningKeyMaterial: SigningKey<VerifyingKeyMaterial = Self>;
    type SignatureMaterial: Signature<VerifyingKeyMaterial = Self>;
    fn verify_struct_signature<T: CryptoHash + Serialize>(
        &self,
        message: &T,
        signature: &Self::SignatureMaterial
    ) -> Result<()> { ... }
fn batch_verify<T: CryptoHash + Serialize>(
        message: &T,
        keys_and_signatures: Vec<(Self, Self::SignatureMaterial)>
    ) -> Result<()> { ... } }
Expand description

A type family of public keys that are used for signing.

This trait has a requirement on a pub(crate) marker trait meant to specifically limit its implementations to the present crate.

It is linked to a type of the Signature family, which carries the verification implementation.

Associated Types

The associated signing key type for this verifying key.

The associated signature type for this verifying key.

Provided methods

We provide the striaghtfoward implementation which dispatches to the signature.

We provide the implementation which dispatches to the signature.

Implementors

We deduce VerifyingKey from pointing to the signature material we get the ability to do pubkey.validate(msg, signature)