[][src]Trait sp_runtime::RuntimeAppPublic

pub trait RuntimeAppPublic {
    type Signature: MaybeHash + Clone + PartialEq<Self::Signature> + Eq + Debug + Codec;

    pub const ID: KeyTypeId;
    pub const CRYPTO_ID: CryptoTypeId;

    pub fn all() -> Vec<Self>;
pub fn generate_pair(seed: Option<Vec<u8>>) -> Self;
pub fn sign<M>(&self, msg: &M) -> Option<Self::Signature>
    where
        M: AsRef<[u8]>
;
pub fn verify<M>(&self, msg: &M, signature: &Self::Signature) -> bool
    where
        M: AsRef<[u8]>
;
pub fn to_raw_vec(&self) -> Vec<u8>; }

A runtime interface for an application's public key.

Associated Types

type Signature: MaybeHash + Clone + PartialEq<Self::Signature> + Eq + Debug + Codec

The signature that will be generated when signing with the corresponding private key.

Loading content...

Associated Constants

pub const ID: KeyTypeId

An identifier for this application-specific key type.

pub const CRYPTO_ID: CryptoTypeId

The identifier of the crypto type of this application-specific key type.

Loading content...

Required methods

pub fn all() -> Vec<Self>

Returns all public keys for this application in the keystore.

pub 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.

pub fn sign<M>(&self, msg: &M) -> Option<Self::Signature> where
    M: AsRef<[u8]>, 

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.

pub fn verify<M>(&self, msg: &M, signature: &Self::Signature) -> bool where
    M: AsRef<[u8]>, 

Verify that the given signature matches the given message using this public key.

pub fn to_raw_vec(&self) -> Vec<u8>

Returns Self as raw vec.

Loading content...

Implementations on Foreign Types

impl RuntimeAppPublic for Public where
    Public: RuntimePublic,
    <Public as RuntimePublic>::Signature == Signature
[src]

type Signature = Signature

impl RuntimeAppPublic for Public where
    Public: RuntimePublic,
    <Public as RuntimePublic>::Signature == Signature
[src]

type Signature = Signature

impl RuntimeAppPublic for Public where
    Public: RuntimePublic,
    <Public as RuntimePublic>::Signature == Signature
[src]

type Signature = Signature

Loading content...

Implementors

impl RuntimeAppPublic for UintAuthorityId[src]

type Signature = TestSignature

Loading content...