1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
//! Signing keypairs.
use crate::Signature;
/// Signing keypair with an associated verifying key.
///
/// This represents a type which holds both a signing key and a verifying key.
pub trait Keypair<S: Signature>: AsRef<Self::VerifyingKey> {
/// Verifying key type for this keypair.
type VerifyingKey;
/// Get the verifying key which can verify signatures produced by the
/// signing key portion of this keypair.
fn verifying_key(&self) -> &Self::VerifyingKey {
self.as_ref()
}
}