1 2 3 4 5 6 7 8 9 10 11 12 13 14
//! Traits for public keys use core::fmt::Debug; use signature::Error; /// Signers which know their public keys (to be implemented by Signatory /// providers) pub trait PublicKeyed<K: PublicKey>: Send + Sync { /// Public key which can verify signatures created by this signer fn public_key(&self) -> Result<K, Error>; } /// Common trait for all public keys pub trait PublicKey: AsRef<[u8]> + Debug + Sized + Eq + Ord {}