pub trait TypeInfo {
    type Identity: 'static + ?Sized;
    fn type_info() -> Type<MetaForm>;
}
Expand description

Implementors return their meta type information.

Associated Types

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

Returns the static type identifier for Self.

Implementations on Foreign Types

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.

Implementors

impl<T: Config + Send + Sync> TypeInfo for CheckGenesis<T> where
    PhantomData<T>: TypeInfo + 'static,
    T: Config + Send + Sync + 'static, 

impl<T: Config + Send + Sync> TypeInfo for CheckMortality<T> where
    PhantomData<T>: TypeInfo + 'static,
    T: Config + Send + Sync + 'static, 

impl<T: Config> TypeInfo for CheckNonce<T> where
    T::Index: HasCompact,
    T: Config + 'static, 

impl<T: Config + Send + Sync> TypeInfo for CheckSpecVersion<T> where
    PhantomData<T>: TypeInfo + 'static,
    T: Config + Send + Sync + 'static, 

impl<T: Config + Send + Sync> TypeInfo for CheckTxVersion<T> where
    PhantomData<T>: TypeInfo + 'static,
    T: Config + Send + Sync + 'static, 

impl<T: Config + Send + Sync> TypeInfo for CheckWeight<T> where
    PhantomData<T>: TypeInfo + 'static,
    T: Config + Send + Sync + 'static, 

impl<T: Config> TypeInfo for Event<T> where
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static, 

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

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T: Config + 'static, 

impl TypeInfo for Phase

impl<E: Parameter + Member, T> TypeInfo for EventRecord<E, T> where
    E: TypeInfo + 'static,
    Vec<T>: TypeInfo + 'static,
    E: Parameter + Member + TypeInfo + 'static,
    T: TypeInfo + 'static, 

impl<AccountId> TypeInfo for RawOrigin<AccountId> where
    AccountId: TypeInfo + 'static,
    AccountId: TypeInfo + 'static, 

impl<Index, AccountData> TypeInfo for AccountInfo<Index, AccountData> where
    Index: TypeInfo + 'static,
    AccountData: TypeInfo + 'static,
    Index: TypeInfo + 'static,
    AccountData: TypeInfo + 'static, 

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

impl<T: Config> TypeInfo for Event<T> where
    <T as Config>::AccountId: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T: Config + 'static, 

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

impl<T: Config> TypeInfo for Event<T> where
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config<I>, I: 'static> TypeInfo for Event<T, I> where
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    PhantomData<(T, I)>: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static, 

impl<T, I> TypeInfo for Error<T, I> where
    PhantomData<(T, I)>: TypeInfo + 'static,
    T: 'static,
    I: 'static, 

impl<T: Config<I>, I: 'static> TypeInfo for Call<T, I> where
    PhantomData<(T, I)>: TypeInfo + 'static,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T::Balance: HasCompact,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T::Balance: HasCompact,
    T::Balance: HasCompact,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T::Balance: HasCompact,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T::Balance: HasCompact,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static, 

impl TypeInfo for Reasons

impl<Balance> TypeInfo for BalanceLock<Balance> where
    Balance: TypeInfo + 'static,
    Balance: TypeInfo + 'static, 

impl<ReserveIdentifier, Balance> TypeInfo for ReserveData<ReserveIdentifier, Balance> where
    ReserveIdentifier: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    ReserveIdentifier: TypeInfo + 'static,
    Balance: TypeInfo + 'static, 

impl<Balance> TypeInfo for AccountData<Balance> where
    Balance: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    Balance: TypeInfo + 'static, 

impl<T: Config<I>, I: 'static> TypeInfo for Event<T, I> where
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    PhantomData<(T, I)>: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static, 

impl<T, I> TypeInfo for Error<T, I> where
    PhantomData<(T, I)>: TypeInfo + 'static,
    T: 'static,
    I: 'static, 

impl<T: Config<I>, I: 'static> TypeInfo for Call<T, I> where
    PhantomData<(T, I)>: TypeInfo + 'static,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T::Balance: HasCompact,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T::Balance: HasCompact,
    T::Balance: HasCompact,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T::Balance: HasCompact,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T::Balance: HasCompact,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static, 

impl TypeInfo for Reasons

impl<Balance> TypeInfo for BalanceLock<Balance> where
    Balance: TypeInfo + 'static,
    Balance: TypeInfo + 'static, 

impl<ReserveIdentifier, Balance> TypeInfo for ReserveData<ReserveIdentifier, Balance> where
    ReserveIdentifier: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    ReserveIdentifier: TypeInfo + 'static,
    Balance: TypeInfo + 'static, 

impl<Balance> TypeInfo for AccountData<Balance> where
    Balance: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    Balance: TypeInfo + 'static, 

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

impl<T: Config> TypeInfo for Event<T> where
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T: Config + 'static, 

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

impl<T: Config> TypeInfo for Event<T> where
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static, 

impl<Balance, BlockNumber> TypeInfo for EscrowedAmount<Balance, BlockNumber> where
    Balance: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T: Config + 'static, 

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

impl<T: Config> TypeInfo for Event<T> where
    T::AccountId: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T: Config + 'static, 

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

impl<T: Config> TypeInfo for Event<T> where
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    TxKeysM<T::Hash>: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    Vec<OrderItem<T::Hash>>: TypeInfo + 'static,
    TxKeysL<T::Hash>: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    OrderItem<T::Hash>: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    OrderItem<T::Hash>: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T: Config + 'static, 

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

impl<T: Config> TypeInfo for Event<T> where
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,
    T::BlockNumber: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T: Config + 'static, 

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

impl<T: Config> TypeInfo for Event<T> where
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T: Config + 'static, 

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

impl<T: Config> TypeInfo for Event<T> where
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T::Moment: HasCompact,
    T: Config + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config> TypeInfo for ChargeTransactionPayment<T> where
    <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance: HasCompact,
    T: Config + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config> TypeInfo for ChargeTransactionPayment<T> where
    <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance: HasCompact,
    T: Config + 'static, 

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

impl<T: Config> TypeInfo for Event<T> where
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static, 

impl<T: Config> TypeInfo for Call<T> where
    PhantomData<(T,)>: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: HasCompact,
    T::Hash: TypeInfo + 'static,
    T: Config + 'static, 

impl TypeInfo for U128

impl TypeInfo for U256

impl TypeInfo for U512

impl TypeInfo for H128

impl TypeInfo for H160

impl TypeInfo for H256

impl TypeInfo for H512

impl TypeInfo for Public

impl TypeInfo for Public

impl TypeInfo for Public

impl TypeInfo for Percent

impl TypeInfo for PerU16

impl TypeInfo for Permill

impl TypeInfo for Perbill

impl TypeInfo for Public

impl TypeInfo for Public

impl TypeInfo for Public

impl TypeInfo for Void

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

impl TypeInfo for Digest

impl TypeInfo for Era

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

impl<Address, Call, Signature, Extra> TypeInfo for UncheckedExtrinsic<Address, Call, Signature, Extra> where
    Address: StaticTypeInfo,
    Call: StaticTypeInfo,
    Signature: StaticTypeInfo,
    Extra: SignedExtension + StaticTypeInfo

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

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

impl<Reporter, Offender> TypeInfo for OffenceDetails<Reporter, Offender> where
    Offender: TypeInfo + 'static,
    Vec<Reporter>: TypeInfo + 'static,
    Reporter: TypeInfo + 'static,
    Offender: TypeInfo + 'static, 

impl TypeInfo for Cogs

impl TypeInfo for _0002_

impl TypeInfo for _0003_

impl TypeInfo for _0004_

impl TypeInfo for _0005_

impl TypeInfo for _0006_

impl TypeInfo for _0007_

impl TypeInfo for _0008_

impl TypeInfo for _0009_

impl TypeInfo for _0010_

impl TypeInfo for _0011_

impl TypeInfo for _0012_

impl TypeInfo for _0013_

impl TypeInfo for _0014_

impl TypeInfo for _0015_

impl TypeInfo for _0016_

impl TypeInfo for _0017_

impl TypeInfo for _0018_

impl TypeInfo for _0019_

impl TypeInfo for _0020_

impl TypeInfo for _0021_

impl TypeInfo for _0022_

impl TypeInfo for _0023_

impl TypeInfo for _0024_

impl TypeInfo for _0025_

impl TypeInfo for _0026_

impl TypeInfo for _0027_

impl TypeInfo for _0028_

impl TypeInfo for _0029_

impl TypeInfo for _0030_

impl TypeInfo for _0031_

impl TypeInfo for _0032_

impl TypeInfo for _0033_

impl TypeInfo for _0034_

impl TypeInfo for _0035_

impl TypeInfo for _0036_

impl TypeInfo for _0038_

impl TypeInfo for _1001_

impl TypeInfo for _2001_

impl TypeInfo for _2002_

impl TypeInfo for _2003_

impl TypeInfo for _2004_

impl TypeInfo for _2005_

impl TypeInfo for _3001_

impl TypeInfo for Coins

impl TypeInfo for Tokens

impl TypeInfo for Parties

impl TypeInfo for _3003_

impl TypeInfo for Sales

impl TypeInfo for _1002_

impl TypeInfo for A

impl TypeInfo for L

impl TypeInfo for E

impl TypeInfo for I

impl TypeInfo for X

impl TypeInfo for P

impl TypeInfo for B

impl TypeInfo for Ledger

impl<AccountId, Hash, BlockNumber> TypeInfo for Record<AccountId, Hash, BlockNumber> where
    AccountId: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,
    Hash: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,
    Hash: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static, 

impl TypeInfo for Reason

impl<Hash> TypeInfo for TxKeysT<Hash> where
    Hash: TypeInfo + 'static,
    Hash: TypeInfo + 'static, 

impl<AccountId> TypeInfo for OrderHeader<AccountId> where
    AccountId: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,
    AccountId: TypeInfo + 'static, 

impl<Hash> TypeInfo for OrderItem<Hash> where
    Hash: TypeInfo + 'static,
    Hash: TypeInfo + 'static, 

impl<Hash> TypeInfo for TxKeysL<Hash> where
    Hash: TypeInfo + 'static,
    Hash: TypeInfo + 'static,
    Hash: TypeInfo + 'static,
    Hash: TypeInfo + 'static,
    Hash: TypeInfo + 'static, 

impl<Hash> TypeInfo for TxKeysM<Hash> where
    Hash: TypeInfo + 'static,
    Hash: TypeInfo + 'static,
    Hash: TypeInfo + 'static,
    Hash: TypeInfo + 'static, 

impl<Hash> TypeInfo for TxKeysS<Hash> where
    Hash: TypeInfo + 'static,
    Hash: TypeInfo + 'static,
    Hash: TypeInfo + 'static, 

impl<AccountId, ProjectStatus> TypeInfo for DeletedProject<AccountId, ProjectStatus> where
    AccountId: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,
    ProjectStatus: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,
    ProjectStatus: TypeInfo + 'static, 

impl<AccountId, ReferenceHash, NumberOfBlocks, LockStatus, StatusOfTimeRecord, ReasonCodeStruct, PostingPeriod, StartOrEndBlockNumber, NumberOfBreaks> TypeInfo for Timekeeper<AccountId, ReferenceHash, NumberOfBlocks, LockStatus, StatusOfTimeRecord, ReasonCodeStruct, PostingPeriod, StartOrEndBlockNumber, NumberOfBreaks> where
    AccountId: TypeInfo + 'static,
    ReferenceHash: TypeInfo + 'static,
    NumberOfBlocks: TypeInfo + 'static,
    LockStatus: TypeInfo + 'static,
    ReasonCodeStruct: TypeInfo + 'static,
    StatusOfTimeRecord: TypeInfo + 'static,
    ReasonCodeStruct: TypeInfo + 'static,
    PostingPeriod: TypeInfo + 'static,
    StartOrEndBlockNumber: TypeInfo + 'static,
    StartOrEndBlockNumber: TypeInfo + 'static,
    NumberOfBreaks: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,
    ReferenceHash: TypeInfo + 'static,
    NumberOfBlocks: TypeInfo + 'static,
    LockStatus: TypeInfo + 'static,
    StatusOfTimeRecord: TypeInfo + 'static,
    ReasonCodeStruct: TypeInfo + 'static,
    PostingPeriod: TypeInfo + 'static,
    StartOrEndBlockNumber: TypeInfo + 'static,
    NumberOfBreaks: TypeInfo + 'static, 

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