mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-15 19:41:05 +00:00
Add CRYPTO_ID to AppKey (#6011)
This commit is contained in:
@@ -54,11 +54,11 @@ pub use traits::*;
|
|||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! app_crypto {
|
macro_rules! app_crypto {
|
||||||
($module:ident, $key_type:expr) => {
|
($module:ident, $key_type:expr) => {
|
||||||
$crate::app_crypto_public_full_crypto!($module::Public, $key_type);
|
$crate::app_crypto_public_full_crypto!($module::Public, $key_type, $module::CRYPTO_ID);
|
||||||
$crate::app_crypto_public_common!($module::Public, $module::Signature, $key_type, $module::CRYPTO_ID);
|
$crate::app_crypto_public_common!($module::Public, $module::Signature, $key_type, $module::CRYPTO_ID);
|
||||||
$crate::app_crypto_signature_full_crypto!($module::Signature, $key_type);
|
$crate::app_crypto_signature_full_crypto!($module::Signature, $key_type, $module::CRYPTO_ID);
|
||||||
$crate::app_crypto_signature_common!($module::Signature, $key_type);
|
$crate::app_crypto_signature_common!($module::Signature, $key_type);
|
||||||
$crate::app_crypto_pair!($module::Pair, $key_type);
|
$crate::app_crypto_pair!($module::Pair, $key_type, $module::CRYPTO_ID);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,9 +75,9 @@ macro_rules! app_crypto {
|
|||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! app_crypto {
|
macro_rules! app_crypto {
|
||||||
($module:ident, $key_type:expr) => {
|
($module:ident, $key_type:expr) => {
|
||||||
$crate::app_crypto_public_not_full_crypto!($module::Public, $key_type);
|
$crate::app_crypto_public_not_full_crypto!($module::Public, $key_type, $module::CRYPTO_ID);
|
||||||
$crate::app_crypto_public_common!($module::Public, $module::Signature, $key_type, $module::CRYPTO_ID);
|
$crate::app_crypto_public_common!($module::Public, $module::Signature, $key_type, $module::CRYPTO_ID);
|
||||||
$crate::app_crypto_signature_not_full_crypto!($module::Signature, $key_type);
|
$crate::app_crypto_signature_not_full_crypto!($module::Signature, $key_type, $module::CRYPTO_ID);
|
||||||
$crate::app_crypto_signature_common!($module::Signature, $key_type);
|
$crate::app_crypto_signature_common!($module::Signature, $key_type);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -86,7 +86,7 @@ macro_rules! app_crypto {
|
|||||||
/// Application-specific type whose identifier is `$key_type`.
|
/// Application-specific type whose identifier is `$key_type`.
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! app_crypto_pair {
|
macro_rules! app_crypto_pair {
|
||||||
($pair:ty, $key_type:expr) => {
|
($pair:ty, $key_type:expr, $crypto_type:expr) => {
|
||||||
$crate::wrap!{
|
$crate::wrap!{
|
||||||
/// A generic `AppPublic` wrapper type over $pair crypto; this has no specific App.
|
/// A generic `AppPublic` wrapper type over $pair crypto; this has no specific App.
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
@@ -141,6 +141,7 @@ macro_rules! app_crypto_pair {
|
|||||||
type Pair = Pair;
|
type Pair = Pair;
|
||||||
type Signature = Signature;
|
type Signature = Signature;
|
||||||
const ID: $crate::KeyTypeId = $key_type;
|
const ID: $crate::KeyTypeId = $key_type;
|
||||||
|
const CRYPTO_ID: $crate::CryptoTypeId = $crypto_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
impl $crate::AppPair for Pair {
|
impl $crate::AppPair for Pair {
|
||||||
@@ -183,7 +184,7 @@ macro_rules! app_crypto_pair_functions_if_std {
|
|||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! app_crypto_public_full_crypto {
|
macro_rules! app_crypto_public_full_crypto {
|
||||||
($public:ty, $key_type:expr) => {
|
($public:ty, $key_type:expr, $crypto_type:expr) => {
|
||||||
$crate::wrap!{
|
$crate::wrap!{
|
||||||
/// A generic `AppPublic` wrapper type over $public crypto; this has no specific App.
|
/// A generic `AppPublic` wrapper type over $public crypto; this has no specific App.
|
||||||
#[derive(
|
#[derive(
|
||||||
@@ -206,6 +207,7 @@ macro_rules! app_crypto_public_full_crypto {
|
|||||||
type Pair = Pair;
|
type Pair = Pair;
|
||||||
type Signature = Signature;
|
type Signature = Signature;
|
||||||
const ID: $crate::KeyTypeId = $key_type;
|
const ID: $crate::KeyTypeId = $key_type;
|
||||||
|
const CRYPTO_ID: $crate::CryptoTypeId = $crypto_type;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -217,7 +219,7 @@ macro_rules! app_crypto_public_full_crypto {
|
|||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! app_crypto_public_not_full_crypto {
|
macro_rules! app_crypto_public_not_full_crypto {
|
||||||
($public:ty, $key_type:expr) => {
|
($public:ty, $key_type:expr, $crypto_type:expr) => {
|
||||||
$crate::wrap!{
|
$crate::wrap!{
|
||||||
/// A generic `AppPublic` wrapper type over $public crypto; this has no specific App.
|
/// A generic `AppPublic` wrapper type over $public crypto; this has no specific App.
|
||||||
#[derive(
|
#[derive(
|
||||||
@@ -236,6 +238,7 @@ macro_rules! app_crypto_public_not_full_crypto {
|
|||||||
type Public = Public;
|
type Public = Public;
|
||||||
type Signature = Signature;
|
type Signature = Signature;
|
||||||
const ID: $crate::KeyTypeId = $key_type;
|
const ID: $crate::KeyTypeId = $key_type;
|
||||||
|
const CRYPTO_ID: $crate::CryptoTypeId = $crypto_type;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -357,7 +360,7 @@ macro_rules! app_crypto_public_common_if_std {
|
|||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! app_crypto_signature_full_crypto {
|
macro_rules! app_crypto_signature_full_crypto {
|
||||||
($sig:ty, $key_type:expr) => {
|
($sig:ty, $key_type:expr, $crypto_type:expr) => {
|
||||||
$crate::wrap! {
|
$crate::wrap! {
|
||||||
/// A generic `AppPublic` wrapper type over $public crypto; this has no specific App.
|
/// A generic `AppPublic` wrapper type over $public crypto; this has no specific App.
|
||||||
#[derive(Clone, Default, Eq, PartialEq,
|
#[derive(Clone, Default, Eq, PartialEq,
|
||||||
@@ -379,6 +382,7 @@ macro_rules! app_crypto_signature_full_crypto {
|
|||||||
type Pair = Pair;
|
type Pair = Pair;
|
||||||
type Signature = Signature;
|
type Signature = Signature;
|
||||||
const ID: $crate::KeyTypeId = $key_type;
|
const ID: $crate::KeyTypeId = $key_type;
|
||||||
|
const CRYPTO_ID: $crate::CryptoTypeId = $crypto_type;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -390,7 +394,7 @@ macro_rules! app_crypto_signature_full_crypto {
|
|||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! app_crypto_signature_not_full_crypto {
|
macro_rules! app_crypto_signature_not_full_crypto {
|
||||||
($sig:ty, $key_type:expr) => {
|
($sig:ty, $key_type:expr, $crypto_type:expr) => {
|
||||||
$crate::wrap! {
|
$crate::wrap! {
|
||||||
/// A generic `AppPublic` wrapper type over $public crypto; this has no specific App.
|
/// A generic `AppPublic` wrapper type over $public crypto; this has no specific App.
|
||||||
#[derive(Clone, Default, Eq, PartialEq,
|
#[derive(Clone, Default, Eq, PartialEq,
|
||||||
@@ -408,6 +412,7 @@ macro_rules! app_crypto_signature_not_full_crypto {
|
|||||||
type Public = Public;
|
type Public = Public;
|
||||||
type Signature = Signature;
|
type Signature = Signature;
|
||||||
const ID: $crate::KeyTypeId = $key_type;
|
const ID: $crate::KeyTypeId = $key_type;
|
||||||
|
const CRYPTO_ID: $crate::CryptoTypeId = $crypto_type;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ pub trait AppKey: 'static + Send + Sync + Sized + CryptoType + Clone {
|
|||||||
|
|
||||||
/// An identifier for this application-specific key type.
|
/// An identifier for this application-specific key type.
|
||||||
const ID: KeyTypeId;
|
const ID: KeyTypeId;
|
||||||
|
/// The identifier of the crypto type of this application-specific key type.
|
||||||
|
const CRYPTO_ID: CryptoTypeId;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Type which implements Hash in std, not when no-std (std variant).
|
/// Type which implements Hash in std, not when no-std (std variant).
|
||||||
|
|||||||
Reference in New Issue
Block a user