pub trait AppCrypto: 'static + Sized + CryptoType {
    type Public: AppPublic;
    type Signature: AppSignature;
    type Pair: AppPair;

    const ID: KeyTypeId;
    const CRYPTO_ID: CryptoTypeId;
}
Expand description

Application-specific cryptographic object.

Combines all the core types and constants that are defined by a particular cryptographic scheme when it is used in a specific application domain.

Typically, the implementers of this trait are its associated types themselves. This provides a convenient way to access generic information about the scheme given any of the associated types.

Required Associated Types§

source

type Public: AppPublic

The corresponding public key type in this application scheme.

source

type Signature: AppSignature

The corresponding signature type in this application scheme.

source

type Pair: AppPair

The corresponding key pair type in this application scheme.

Required Associated Constants§

source

const ID: KeyTypeId

Identifier for application-specific key type.

source

const CRYPTO_ID: CryptoTypeId

Identifier of the crypto type of this application-specific key type.

Implementors§

source§

impl AppCrypto for sp_application_crypto::bandersnatch::AppPair

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::BANDERSNATCH

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::bandersnatch::AppPublic

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::BANDERSNATCH

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::bandersnatch::AppSignature

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::BANDERSNATCH

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::bls377::AppPair

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::BLS377

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::bls377::AppPublic

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::BLS377

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::bls377::AppSignature

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::BLS377

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::bls381::AppPair

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::BLS381

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::bls381::AppPublic

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::BLS381

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::bls381::AppSignature

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::BLS381

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::ecdsa::AppPair

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::ECDSA

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::ecdsa::AppPublic

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::ECDSA

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::ecdsa::AppSignature

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::ECDSA

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::ed25519::AppPair

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::ED25519

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::ed25519::AppPublic

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::ED25519

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::ed25519::AppSignature

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::ED25519

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::sr25519::AppPair

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::SR25519

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::sr25519::AppPublic

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::SR25519

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID

source§

impl AppCrypto for sp_application_crypto::sr25519::AppSignature

§

type Public = Public

§

type Pair = Pair

§

type Signature = Signature

source§

const ID: KeyTypeId = sp_core::testing::SR25519

source§

const CRYPTO_ID: CryptoTypeId = super::CRYPTO_ID