Trait sp_runtime::RuntimeAppPublic
pub trait RuntimeAppPublic: Sized {
type Signature: Debug + Eq + PartialEq + Clone + TypeInfo + Codec;
const ID: KeyTypeId;
// Required methods
fn all() -> Vec<Self>;
fn generate_pair(seed: Option<Vec<u8>>) -> Self;
fn sign<M>(&self, msg: &M) -> Option<Self::Signature>
where M: AsRef<[u8]>;
fn verify<M>(&self, msg: &M, signature: &Self::Signature) -> bool
where M: AsRef<[u8]>;
fn to_raw_vec(&self) -> Vec<u8> ⓘ;
}
Expand description
Runtime interface for an application’s public key.
Required Associated Types§
Required Associated Constants§
Required Methods§
fn generate_pair(seed: Option<Vec<u8>>) -> Self
fn generate_pair(seed: Option<Vec<u8>>) -> Self
Generate a public/private pair with an optional seed
and store it in the keystore.
The seed
needs to be valid utf8.
Returns the generated public key.
fn sign<M>(&self, msg: &M) -> Option<Self::Signature>
fn sign<M>(&self, msg: &M) -> Option<Self::Signature>
Sign the given message with the corresponding private key of this public key.
The private key will be requested from the keystore.
Returns the signature or None
if the private key could not be found or some other error
occurred.
fn verify<M>(&self, msg: &M, signature: &Self::Signature) -> bool
fn verify<M>(&self, msg: &M, signature: &Self::Signature) -> bool
Verify that the given signature matches the given message using this public key.
fn to_raw_vec(&self) -> Vec<u8> ⓘ
fn to_raw_vec(&self) -> Vec<u8> ⓘ
Returns Self
as raw vec.
Object Safety§
This trait is not object safe.