pub trait PublicKey:
Sized
+ Clone
+ Eq
+ Hash
+ for<'a> From<&'a Self::PrivateKeyMaterial> {
type PrivateKeyMaterial: PrivateKey<PublicKeyMaterial = Self>;
}
Expand description
A type for key material that can be publicly shared, and in asymmetric
fashion, can be obtained from a PrivateKey
reference.
This convertibility requirement ensures the existence of a
deterministic, canonical public key construction from a private key.
Required Associated Types§
Sourcetype PrivateKeyMaterial: PrivateKey<PublicKeyMaterial = Self>
type PrivateKeyMaterial: PrivateKey<PublicKeyMaterial = Self>
We require public / private types to be coupled, i.e. their associated type is each other.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
Source§impl PublicKey for BLSPublicKey
impl PublicKey for BLSPublicKey
Source§impl PublicKey for EcVrfPublicKey
impl PublicKey for EcVrfPublicKey
Source§impl PublicKey for MultiBLSPublicKey
We deduce PublicKey from this.
impl PublicKey for MultiBLSPublicKey
We deduce PublicKey from this.
Source§impl PublicKey for MultiEd25519PublicKey
We deduce PublicKey from this.
impl PublicKey for MultiEd25519PublicKey
We deduce PublicKey from this.