Trait frame_support::pallet_prelude::TypeInfo
pub trait TypeInfo {
type Identity: 'static + ?Sized;
// Required method
fn type_info() -> Type;
}
Expand description
Implementors return their meta type information.
Required Associated Types§
type Identity: 'static + ?Sized
type Identity: 'static + ?Sized
The type identifying for which type info is provided.
§Note
This is used to uniquely identify a type via core::any::TypeId::of
. In most cases it
will just be Self
, but can be used to unify different types which have the same encoded
representation e.g. reference types Box<T>
, &T
and &mut T
.
Required Methods§
fn type_info() -> Type
fn type_info() -> Type
Returns the static type identifier for Self
.
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl TypeInfo for ArithmeticError
impl TypeInfo for ArithmeticError
source§impl TypeInfo for ExtrinsicInclusionMode
impl TypeInfo for ExtrinsicInclusionMode
source§impl TypeInfo for MultiSignature
impl TypeInfo for MultiSignature
source§impl TypeInfo for MultiSigner
impl TypeInfo for MultiSigner
source§impl TypeInfo for TokenError
impl TypeInfo for TokenError
source§impl TypeInfo for TransactionalError
impl TypeInfo for TransactionalError
source§impl TypeInfo for DigestItem
impl TypeInfo for DigestItem
source§impl TypeInfo for DispatchError
impl TypeInfo for DispatchError
source§impl TypeInfo for StorageProofError
impl TypeInfo for StorageProofError
source§impl TypeInfo for Perquintill
impl TypeInfo for Perquintill
source§impl TypeInfo for RingVrfSignature
impl TypeInfo for RingVrfSignature
source§impl TypeInfo for VrfSignature
impl TypeInfo for VrfSignature
source§impl TypeInfo for AccountId32
impl TypeInfo for AccountId32
source§impl TypeInfo for OpaqueMultiaddr
impl TypeInfo for OpaqueMultiaddr
source§impl TypeInfo for OpaqueNetworkState
impl TypeInfo for OpaqueNetworkState
source§impl TypeInfo for VrfSignature
impl TypeInfo for VrfSignature
source§impl TypeInfo for OpaqueMetadata
impl TypeInfo for OpaqueMetadata
source§impl TypeInfo for OpaquePeerId
impl TypeInfo for OpaquePeerId
source§impl TypeInfo for ModuleError
impl TypeInfo for ModuleError
source§impl TypeInfo for AnySignature
impl TypeInfo for AnySignature
source§impl TypeInfo for ModuleError
impl TypeInfo for ModuleError
source§impl TypeInfo for OpaqueExtrinsic
impl TypeInfo for OpaqueExtrinsic
source§impl TypeInfo for OpaqueValue
impl TypeInfo for OpaqueValue
source§impl TypeInfo for MockCallU64
impl TypeInfo for MockCallU64
source§impl TypeInfo for TestSignature
impl TypeInfo for TestSignature
source§impl TypeInfo for UintAuthorityId
impl TypeInfo for UintAuthorityId
source§impl TypeInfo for BlakeTwo256
impl TypeInfo for BlakeTwo256
source§impl TypeInfo for CompactProof
impl TypeInfo for CompactProof
source§impl TypeInfo for StorageProof
impl TypeInfo for StorageProof
source§impl TypeInfo for RuntimeVersion
impl TypeInfo for RuntimeVersion
source§impl<'a> TypeInfo for PiecewiseLinear<'a>where
'a: 'static,
impl<'a> TypeInfo for PiecewiseLinear<'a>where
'a: 'static,
§impl<A, B, C, D> TypeInfo for (A, B, C, D)
impl<A, B, C, D> TypeInfo for (A, B, C, D)
type Identity = (A, B, C, D)
fn type_info() -> Type
§impl<A, B, C, D, E> TypeInfo for (A, B, C, D, E)
impl<A, B, C, D, E> TypeInfo for (A, B, C, D, E)
type Identity = (A, B, C, D, E)
fn type_info() -> Type
§impl<A, B, C, D, E, F> TypeInfo for (A, B, C, D, E, F)
impl<A, B, C, D, E, F> TypeInfo for (A, B, C, D, E, F)
type Identity = (A, B, C, D, E, F)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G> TypeInfo for (A, B, C, D, E, F, G)
impl<A, B, C, D, E, F, G> TypeInfo for (A, B, C, D, E, F, G)
type Identity = (A, B, C, D, E, F, G)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G, H> TypeInfo for (A, B, C, D, E, F, G, H)
impl<A, B, C, D, E, F, G, H> TypeInfo for (A, B, C, D, E, F, G, H)
type Identity = (A, B, C, D, E, F, G, H)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G, H, I> TypeInfo for (A, B, C, D, E, F, G, H, I)
impl<A, B, C, D, E, F, G, H, I> TypeInfo for (A, B, C, D, E, F, G, H, I)
type Identity = (A, B, C, D, E, F, G, H, I)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G, H, I, J> TypeInfo for (A, B, C, D, E, F, G, H, I, J)
impl<A, B, C, D, E, F, G, H, I, J> TypeInfo for (A, B, C, D, E, F, G, H, I, J)
type Identity = (A, B, C, D, E, F, G, H, I, J)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G, H, I, J, K> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K)
impl<A, B, C, D, E, F, G, H, I, J, K> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K)
type Identity = (A, B, C, D, E, F, G, H, I, J, K)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G, H, I, J, K, L> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<A, B, C, D, E, F, G, H, I, J, K, L> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L)
type Identity = (A, B, C, D, E, F, G, H, I, J, K, L)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G, H, I, J, K, L, M> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
impl<A, B, C, D, E, F, G, H, I, J, K, L, M> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
type Identity = (A, B, C, D, E, F, G, H, I, J, K, L, M)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
type Identity = (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
O: TypeInfo + 'static,
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
O: TypeInfo + 'static,
type Identity = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
O: TypeInfo + 'static,
P: TypeInfo + 'static,
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
O: TypeInfo + 'static,
P: TypeInfo + 'static,
type Identity = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
O: TypeInfo + 'static,
P: TypeInfo + 'static,
Q: TypeInfo + 'static,
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
O: TypeInfo + 'static,
P: TypeInfo + 'static,
Q: TypeInfo + 'static,
type Identity = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
O: TypeInfo + 'static,
P: TypeInfo + 'static,
Q: TypeInfo + 'static,
R: TypeInfo + 'static,
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
O: TypeInfo + 'static,
P: TypeInfo + 'static,
Q: TypeInfo + 'static,
R: TypeInfo + 'static,
type Identity = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
O: TypeInfo + 'static,
P: TypeInfo + 'static,
Q: TypeInfo + 'static,
R: TypeInfo + 'static,
S: TypeInfo + 'static,
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
O: TypeInfo + 'static,
P: TypeInfo + 'static,
Q: TypeInfo + 'static,
R: TypeInfo + 'static,
S: TypeInfo + 'static,
type Identity = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)
fn type_info() -> Type
§impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
O: TypeInfo + 'static,
P: TypeInfo + 'static,
Q: TypeInfo + 'static,
R: TypeInfo + 'static,
S: TypeInfo + 'static,
T: TypeInfo + 'static,
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)where
A: TypeInfo + 'static,
B: TypeInfo + 'static,
C: TypeInfo + 'static,
D: TypeInfo + 'static,
E: TypeInfo + 'static,
F: TypeInfo + 'static,
G: TypeInfo + 'static,
H: TypeInfo + 'static,
I: TypeInfo + 'static,
J: TypeInfo + 'static,
K: TypeInfo + 'static,
L: TypeInfo + 'static,
M: TypeInfo + 'static,
N: TypeInfo + 'static,
O: TypeInfo + 'static,
P: TypeInfo + 'static,
Q: TypeInfo + 'static,
R: TypeInfo + 'static,
S: TypeInfo + 'static,
T: TypeInfo + 'static,
type Identity = (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)
fn type_info() -> Type
source§impl<AccountId> TypeInfo for StakerStatus<AccountId>
impl<AccountId> TypeInfo for StakerStatus<AccountId>
source§impl<AccountId, AccountIndex> TypeInfo for MultiAddress<AccountId, AccountIndex>
impl<AccountId, AccountIndex> TypeInfo for MultiAddress<AccountId, AccountIndex>
source§impl<AccountId, Balance> TypeInfo for Exposure<AccountId, Balance>where
Balance: HasCompact + TypeInfo + 'static,
Vec<IndividualExposure<AccountId, Balance>>: TypeInfo + 'static,
AccountId: TypeInfo + 'static,
impl<AccountId, Balance> TypeInfo for Exposure<AccountId, Balance>where
Balance: HasCompact + TypeInfo + 'static,
Vec<IndividualExposure<AccountId, Balance>>: TypeInfo + 'static,
AccountId: TypeInfo + 'static,
source§impl<AccountId, Balance> TypeInfo for ExposurePage<AccountId, Balance>where
Balance: HasCompact + TypeInfo + 'static,
Vec<IndividualExposure<AccountId, Balance>>: TypeInfo + 'static,
AccountId: TypeInfo + 'static,
impl<AccountId, Balance> TypeInfo for ExposurePage<AccountId, Balance>where
Balance: HasCompact + TypeInfo + 'static,
Vec<IndividualExposure<AccountId, Balance>>: TypeInfo + 'static,
AccountId: TypeInfo + 'static,
source§impl<AccountId, Balance> TypeInfo for IndividualExposure<AccountId, Balance>
impl<AccountId, Balance> TypeInfo for IndividualExposure<AccountId, Balance>
source§impl<Address, Call, Signature, Extension> TypeInfo for UncheckedExtrinsic<Address, Call, Signature, Extension>where
Address: StaticTypeInfo,
Call: StaticTypeInfo,
Signature: StaticTypeInfo,
Extension: StaticTypeInfo,
impl<Address, Call, Signature, Extension> TypeInfo for UncheckedExtrinsic<Address, Call, Signature, Extension>where
Address: StaticTypeInfo,
Call: StaticTypeInfo,
Signature: StaticTypeInfo,
Extension: StaticTypeInfo,
Manual TypeInfo
implementation because of custom encoding. The data is a valid encoded
Vec<u8>
, but requires some logic to extract the signature and payload.
See UncheckedExtrinsic::encode
and UncheckedExtrinsic::decode
.