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

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

Returns the static type identifier for Self.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl TypeInfo for MessageDetails

source§

impl TypeInfo for DispatchKind

source§

impl TypeInfo for MessageWaitedType

source§

impl TypeInfo for ErrorReplyReason

source§

impl TypeInfo for ReplyCode

source§

impl TypeInfo for SignalCode

source§

impl TypeInfo for SimpleExecutionError

source§

impl TypeInfo for SimpleProgramCreationError

source§

impl TypeInfo for SuccessReplyReason

§

impl TypeInfo for bool

§

impl TypeInfo for char

§

impl TypeInfo for i8

§

impl TypeInfo for i16

§

impl TypeInfo for i32

§

impl TypeInfo for i64

§

impl TypeInfo for i128

§

impl TypeInfo for str

§

impl TypeInfo for u8

§

impl TypeInfo for u16

§

impl TypeInfo for u32

§

impl TypeInfo for u64

§

impl TypeInfo for u128

§

impl TypeInfo for ()

source§

impl TypeInfo for RuntimeBufferSizeError

source§

impl TypeInfo for InstrumentedCode

source§

impl TypeInfo for GasInfo

source§

impl TypeInfo for CodeId

source§

impl TypeInfo for MessageId

source§

impl TypeInfo for ProgramId

source§

impl TypeInfo for ReservationId

source§

impl TypeInfo for PageBuf

source§

impl TypeInfo for Dispatch

source§

impl TypeInfo for Message

source§

impl TypeInfo for ReplyDetails

source§

impl TypeInfo for SignalDetails

source§

impl TypeInfo for ContextStore

source§

impl TypeInfo for HandleMessage

source§

impl TypeInfo for HandlePacket

source§

impl TypeInfo for IncomingDispatch

source§

impl TypeInfo for IncomingMessage

source§

impl TypeInfo for InitMessage

source§

impl TypeInfo for InitPacket

source§

impl TypeInfo for ReplyMessage

source§

impl TypeInfo for ReplyPacket

source§

impl TypeInfo for SignalMessage

source§

impl TypeInfo for StoredDelayedDispatch

source§

impl TypeInfo for StoredDispatch

source§

impl TypeInfo for StoredMessage

source§

impl TypeInfo for PayloadSizeError

source§

impl TypeInfo for ReplyInfo

source§

impl TypeInfo for UserMessage

source§

impl TypeInfo for UserStoredMessage

source§

impl TypeInfo for Percent

source§

impl TypeInfo for MemoryInfix

source§

impl TypeInfo for GasReservationSlot

source§

impl TypeInfo for ReservationNonce

§

impl TypeInfo for Bits

§

type Identity = Bits

§

fn type_info() -> Type

§

impl TypeInfo for CompactProof

§

type Identity = CompactProof

§

fn type_info() -> Type

§

impl TypeInfo for H128

§

type Identity = H128

§

fn type_info() -> Type

§

impl TypeInfo for H384

§

type Identity = H384

§

fn type_info() -> Type

§

impl TypeInfo for H768

§

type Identity = H768

§

fn type_info() -> Type

§

impl TypeInfo for Lsb0

§

type Identity = Lsb0

§

fn type_info() -> Type

§

impl TypeInfo for Msb0

§

type Identity = Msb0

§

fn type_info() -> Type

§

impl TypeInfo for OldWeight

§

type Identity = OldWeight

§

fn type_info() -> Type

§

impl TypeInfo for RuntimeDbWeight

§

type Identity = RuntimeDbWeight

§

fn type_info() -> Type

§

impl TypeInfo for StorageProof

§

type Identity = StorageProof

§

fn type_info() -> Type

§

impl TypeInfo for U128

§

type Identity = U128

§

fn type_info() -> Type

§

impl TypeInfo for Weight

§

type Identity = Weight

§

fn type_info() -> Type

source§

impl<'a> TypeInfo for LimitedStr<'a>
where 'a: 'static,

§

impl<A> TypeInfo for (A,)
where A: TypeInfo + 'static,

§

impl<A, B> TypeInfo for (A, B)
where A: TypeInfo + 'static, B: TypeInfo + 'static,

§

impl<A, B, C> TypeInfo for (A, B, C)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static,

§

impl<A, B, C, D> TypeInfo for (A, B, C, D)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static,

§

impl<A, B, C, D, E> TypeInfo for (A, B, C, D, E)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static,

§

impl<A, B, C, D, E, F> TypeInfo for (A, B, C, D, E, F)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G> TypeInfo for (A, B, C, D, E, F, G)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H> TypeInfo for (A, B, C, D, E, F, G, H)
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,

§

impl<A, B, C, D, E, F, G, H, I> TypeInfo for (A, B, C, D, E, F, G, H, I)
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,

§

impl<A, B, C, D, E, F, G, H, I, J> TypeInfo for (A, B, C, D, E, F, G, H, I, J)
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,

§

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)
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,

§

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)
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,

§

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, 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, 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, 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, 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, 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, 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, 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<Balance> TypeInfo for WeightToFeeCoefficient<Balance>
where Balance: TypeInfo + 'static,

§

type Identity = WeightToFeeCoefficient<Balance>

§

fn type_info() -> Type

§

impl<T> TypeInfo for Option<T>
where T: TypeInfo + 'static,

§

impl<T> TypeInfo for &T
where T: TypeInfo + 'static + ?Sized,

§

type Identity = T

§

fn type_info() -> Type

§

impl<T> TypeInfo for &mut T
where T: TypeInfo + 'static + ?Sized,

§

type Identity = T

§

fn type_info() -> Type

§

impl<T> TypeInfo for [T]
where T: TypeInfo + 'static,

§

impl<T> TypeInfo for IntervalsTree<T>
where BTreeMap<T, T>: TypeInfo + 'static, T: TypeInfo + 'static,

§

type Identity = IntervalsTree<T>

§

fn type_info() -> Type

source§

impl<T, E, const N: usize> TypeInfo for LimitedVec<T, E, N>
where Vec<T>: TypeInfo + 'static, PhantomData<E>: TypeInfo + 'static, T: TypeInfo + 'static, E: TypeInfo + 'static,

§

impl<T, O> TypeInfo for BitVec<T, O>
where T: BitStore + TypeInfo + 'static, O: BitOrder + TypeInfo + 'static,

§

type Identity = BitVec<T, O>

§

fn type_info() -> Type

§

impl<T, const N: usize> TypeInfo for [T; N]
where T: TypeInfo + 'static,

source§

impl<const SIZE: u32> TypeInfo for Page<SIZE>

source§

impl<const SIZE: u32> TypeInfo for PagesAmount<SIZE>

Implementors§

§

impl TypeInfo for Void

§

impl TypeInfo for ArithmeticError

§

impl TypeInfo for DigestItem

§

impl TypeInfo for gclient::ext::sp_runtime::DispatchError

§

impl TypeInfo for MultiSignature

§

impl TypeInfo for MultiSigner

§

impl TypeInfo for RuntimeString

§

impl TypeInfo for TokenError

§

impl TypeInfo for TransactionalError

§

impl TypeInfo for Era

§

impl TypeInfo for gclient::ext::sp_runtime::legacy::byte_sized_error::DispatchError

§

impl TypeInfo for InvalidTransaction

§

impl TypeInfo for TransactionSource

§

impl TypeInfo for TransactionValidityError

§

impl TypeInfo for UnknownTransaction

§

impl TypeInfo for String

§

impl TypeInfo for NonZeroI8

§

impl TypeInfo for NonZeroI16

§

impl TypeInfo for NonZeroI32

§

impl TypeInfo for NonZeroI64

§

impl TypeInfo for NonZeroI128

§

impl TypeInfo for NonZeroU8

§

impl TypeInfo for NonZeroU16

§

impl TypeInfo for NonZeroU32

§

impl TypeInfo for NonZeroU64

§

impl TypeInfo for NonZeroU128

§

impl TypeInfo for VrfOutput

§

type Identity = [u8; 32]

§

impl TypeInfo for VrfProof

§

type Identity = [u8; 64]

§

impl TypeInfo for VrfSignature

§

impl TypeInfo for H160

§

impl TypeInfo for H512

§

impl TypeInfo for OpaqueMetadata

§

impl TypeInfo for OpaquePeerId

§

impl TypeInfo for U256

§

impl TypeInfo for U512

§

impl TypeInfo for gclient::ext::sp_runtime::app_crypto::ecdsa::AppPublic

§

impl TypeInfo for gclient::ext::sp_runtime::app_crypto::ecdsa::AppSignature

§

impl TypeInfo for gclient::ext::sp_runtime::app_crypto::ecdsa::Public

§

impl TypeInfo for gclient::ext::sp_runtime::app_crypto::ecdsa::Signature

§

impl TypeInfo for gclient::ext::sp_runtime::app_crypto::ed25519::AppPublic

§

impl TypeInfo for gclient::ext::sp_runtime::app_crypto::ed25519::AppSignature

§

impl TypeInfo for gclient::ext::sp_runtime::app_crypto::ed25519::Public

§

impl TypeInfo for gclient::ext::sp_runtime::app_crypto::ed25519::Signature

§

impl TypeInfo for gclient::ext::sp_runtime::app_crypto::sr25519::AppPublic

§

impl TypeInfo for gclient::ext::sp_runtime::app_crypto::sr25519::AppSignature

§

impl TypeInfo for gclient::ext::sp_runtime::app_crypto::sr25519::Public

§

impl TypeInfo for gclient::ext::sp_runtime::app_crypto::sr25519::Signature

§

impl TypeInfo for gclient::ext::sp_runtime::legacy::byte_sized_error::ModuleError

§

impl TypeInfo for OpaqueMultiaddr

§

impl TypeInfo for OpaqueNetworkState

§

impl TypeInfo for AccountId32

§

impl TypeInfo for Digest

§

impl TypeInfo for FixedI64

§

impl TypeInfo for FixedI128

§

impl TypeInfo for FixedU64

§

impl TypeInfo for FixedU128

§

impl TypeInfo for KeyTypeId

§

impl TypeInfo for gclient::ext::sp_runtime::ModuleError

§

impl TypeInfo for OpaqueExtrinsic

§

impl TypeInfo for PerU16

§

impl TypeInfo for Perbill

§

impl TypeInfo for gclient::ext::sp_runtime::Percent

§

impl TypeInfo for Permill

§

impl TypeInfo for Perquintill

§

impl TypeInfo for H256

§

impl TypeInfo for TestSignature

§

impl TypeInfo for UintAuthorityId

§

impl TypeInfo for BlakeTwo256

§

impl TypeInfo for Keccak256

§

impl TypeInfo for ValidTransaction

§

impl TypeInfo for Duration

§

impl<'a> TypeInfo for PiecewiseLinear<'a>
where 'a: 'static,

§

impl<'a, T, S> TypeInfo for BoundedSlice<'a, T, S>
where 'a: 'static, &'a [T]: TypeInfo + 'static, PhantomData<S>: TypeInfo + 'static, T: TypeInfo + 'static, S: TypeInfo + 'static,

§

type Identity = BoundedSlice<'a, T, S>

§

impl<AccountId, AccountIndex> TypeInfo for MultiAddress<AccountId, AccountIndex>
where AccountId: TypeInfo + 'static, AccountIndex: HasCompact + TypeInfo + 'static,

§

type Identity = MultiAddress<AccountId, AccountIndex>

§

impl<Address, Call, Signature, Extra> TypeInfo for UncheckedExtrinsic<Address, Call, Signature, Extra>
where Address: StaticTypeInfo, Call: StaticTypeInfo, Signature: StaticTypeInfo, Extra: SignedExtension + 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.

§

type Identity = UncheckedExtrinsic<Address, Call, Signature, Extra>

§

impl<Call, Extra> TypeInfo for TestXt<Call, Extra>
where Option<(u64, Extra)>: TypeInfo + 'static, Call: TypeInfo + 'static, Extra: TypeInfo + 'static,

§

type Identity = TestXt<Call, Extra>

§

impl<Header, Extrinsic> TypeInfo for gclient::ext::sp_runtime::generic::Block<Header, Extrinsic>
where Header: TypeInfo + 'static, Vec<Extrinsic>: TypeInfo + 'static, Extrinsic: TypeInfo + 'static,

§

type Identity = Block<Header, Extrinsic>

§

impl<Idx> TypeInfo for Range<Idx>
where Idx: TypeInfo + 'static + PartialOrd + Debug,

§

type Identity = Range<Idx>

§

impl<Idx> TypeInfo for RangeInclusive<Idx>
where Idx: TypeInfo + 'static + PartialOrd + Debug,

§

impl<Info> TypeInfo for DispatchErrorWithPostInfo<Info>
where Info: Eq + PartialEq + Clone + Copy + Encode + Decode + Printable + TypeInfo + 'static,

§

impl<K, V> TypeInfo for BTreeMap<K, V>
where K: TypeInfo + 'static, V: TypeInfo + 'static,

§

type Identity = BTreeMap<K, V>

§

impl<K, V, S> TypeInfo for BoundedBTreeMap<K, V, S>
where BTreeMap<K, V>: TypeInfo + 'static, PhantomData<S>: TypeInfo + 'static, K: TypeInfo + 'static, V: TypeInfo + 'static, S: 'static,

§

type Identity = BoundedBTreeMap<K, V, S>

§

impl<Number, Hash> TypeInfo for Header<Number, Hash>
where Number: Copy + Into<U256> + TryFrom<U256> + HasCompact + TypeInfo + 'static, Hash: Hash + 'static, <Hash as Hash>::Output: TypeInfo + 'static,

§

type Identity = Header<Number, Hash>

§

impl<T> TypeInfo for Cow<'static, T>
where T: ToOwned + TypeInfo + 'static + ?Sized,

§

type Identity = Cow<'static, T>

§

impl<T> TypeInfo for BTreeSet<T>
where T: TypeInfo + 'static,

§

impl<T> TypeInfo for VecDeque<T>
where T: TypeInfo + 'static,

§

impl<T> TypeInfo for Rc<T>
where T: TypeInfo + 'static + ?Sized,

§

type Identity = T

§

impl<T> TypeInfo for Box<T>
where T: TypeInfo + 'static + ?Sized,

§

type Identity = T

§

impl<T> TypeInfo for Arc<T>
where T: TypeInfo + 'static + ?Sized,

§

type Identity = T

§

impl<T> TypeInfo for Vec<T>
where T: TypeInfo + 'static,

§

impl<T> TypeInfo for Compact<T>
where T: TypeInfo + 'static,

§

impl<T> TypeInfo for PhantomData<T>

§

impl<T, E> TypeInfo for Result<T, E>
where T: TypeInfo + 'static, E: TypeInfo + 'static,

§

type Identity = Result<T, E>

§

impl<T, S> TypeInfo for BoundedBTreeSet<T, S>
where BTreeSet<T>: TypeInfo + 'static, PhantomData<S>: TypeInfo + 'static, T: TypeInfo + 'static, S: 'static,

§

impl<T, S> TypeInfo for BoundedVec<T, S>
where Vec<T>: TypeInfo + 'static, PhantomData<S>: TypeInfo + 'static, T: TypeInfo + 'static, S: 'static,

§

type Identity = BoundedVec<T, S>

§

impl<T, S> TypeInfo for WeakBoundedVec<T, S>
where Vec<T>: TypeInfo + 'static, PhantomData<S>: TypeInfo + 'static, T: TypeInfo + 'static, S: 'static,

§

impl<Xt> TypeInfo for gclient::ext::sp_runtime::testing::Block<Xt>
where Vec<Xt>: TypeInfo + 'static, Xt: TypeInfo + 'static,

§

type Identity = Block<Xt>