Trait scale_info::TypeInfo

source ·
pub trait TypeInfo {
    type Identity: ?Sized + 'static;

    fn type_info() -> Type;
}
Expand description

Implementors return their meta type information.

Required 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§

Implementors§

impl TypeInfo for Runtime

impl TypeInfo for Event

impl TypeInfo for Call

impl<MerkleRoot> TypeInfo for BeefyAuthoritySet<MerkleRoot>where
    MerkleRoot: TypeInfo + 'static,

impl TypeInfo for Public

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

impl<AuthorityId> TypeInfo for ConsensusLog<AuthorityId>where
    ValidatorSet<AuthorityId>: TypeInfo + 'static,
    AuthorityId: Codec + TypeInfo + 'static,

impl<Number, Id, Signature> TypeInfo for VoteMessage<Number, Id, Signature>where
    Commitment<Number>: TypeInfo + 'static,
    Id: TypeInfo + 'static,
    Signature: TypeInfo + 'static,
    Number: TypeInfo + 'static,

impl<T> 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> TypeInfo for Event<T>where
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static,

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

impl<T> TypeInfo for Event<T>where
    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> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T: Config + 'static,

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

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

impl TypeInfo for Origin

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

impl<T> TypeInfo for Event<T>where
    Option<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> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    T: Config + 'static,

impl<H, N> TypeInfo for State<H, N>where
    Option<(H, N)>: TypeInfo + 'static,
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,

impl<H, N> TypeInfo for Prevote<H, N>where
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,

impl<H, N> TypeInfo for Precommit<H, N>where
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,

impl<H, N> TypeInfo for PrimaryPropose<H, N>where
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,

impl<Id, V, S> TypeInfo for Equivocation<Id, V, S>where
    Id: TypeInfo + 'static,
    (V, S): TypeInfo + 'static,
    V: TypeInfo + 'static,
    S: TypeInfo + 'static,

impl<H, N> TypeInfo for Message<H, N>where
    Prevote<H, N>: TypeInfo + 'static,
    Precommit<H, N>: TypeInfo + 'static,
    PrimaryPropose<H, N>: TypeInfo + 'static,
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,

impl<H, N, S, Id> TypeInfo for SignedMessage<H, N, S, Id>where
    Message<H, N>: TypeInfo + 'static,
    S: TypeInfo + 'static,
    Id: TypeInfo + 'static,
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,

impl<H, N, S, Id> TypeInfo for Commit<H, N, S, Id>where
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,
    Vec<SignedPrecommit<H, N, S, Id>>: TypeInfo + 'static,
    S: TypeInfo + 'static,
    Id: TypeInfo + 'static,

impl<H, N, S, Id> TypeInfo for SignedPrevote<H, N, S, Id>where
    Prevote<H, N>: TypeInfo + 'static,
    S: TypeInfo + 'static,
    Id: TypeInfo + 'static,
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,

impl<H, N, S, Id> TypeInfo for SignedPrecommit<H, N, S, Id>where
    Precommit<H, N>: TypeInfo + 'static,
    S: TypeInfo + 'static,
    Id: TypeInfo + 'static,
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,

impl<H, N, S, Id> TypeInfo for CompactCommit<H, N, S, Id>where
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,
    Vec<Precommit<H, N>>: TypeInfo + 'static,
    MultiAuthData<S, Id>: TypeInfo + 'static,
    S: TypeInfo + 'static,
    Id: TypeInfo + 'static,

impl<H, N, S, Id> TypeInfo for CatchUp<H, N, S, Id>where
    Vec<SignedPrevote<H, N, S, Id>>: TypeInfo + 'static,
    Vec<SignedPrecommit<H, N, S, Id>>: TypeInfo + 'static,
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,
    S: TypeInfo + 'static,
    Id: TypeInfo + 'static,

impl<H, N, S, Id> TypeInfo for HistoricalVotes<H, N, S, Id>where
    Vec<SignedMessage<H, N, S, Id>>: TypeInfo + 'static,
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,
    S: TypeInfo + 'static,
    Id: TypeInfo + 'static,

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

impl<T: TypeInfo + 'static> TypeInfo for WrapperOpaque<T>

impl<T: TypeInfo + 'static> TypeInfo for WrapperKeepOpaque<T>

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

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

impl TypeInfo for Weight

impl TypeInfo for Pays

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

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

impl TypeInfo for Never

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

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

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

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

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

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

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

impl<T> TypeInfo for Event<T>where
    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> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    T: Config + 'static,

impl TypeInfo for Phase

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

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

impl TypeInfo for Ratio

impl<AssetId> TypeInfo for PoolType<AssetId>where
    AssetId: TypeInfo + 'static,

impl<Balance, BlockNumber, Price> TypeInfo for AggregatedEntry<Balance, BlockNumber, Price>where
    Price: TypeInfo + 'static,
    Volume<Balance>: TypeInfo + 'static,
    Liquidity<Balance>: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,
    Balance: TypeInfo + 'static,

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

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

impl TypeInfo for Runtime

impl TypeInfo for Event

impl TypeInfo for Call

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

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

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

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

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

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

impl<Balance, CustomMetadata> TypeInfo for AssetMetadata<Balance, CustomMetadata>where
    Balance: TypeInfo + 'static,
    CustomMetadata: TypeInfo + 'static + Parameter + Member + TypeInfo,

impl<AccountId, Balance, BlockNumber> TypeInfo for AuctionInfo<AccountId, Balance, BlockNumber>where
    Option<(AccountId, Balance)>: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,
    Option<BlockNumber>: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,
    Balance: TypeInfo + 'static,

impl<Value> TypeInfo for Change<Value>where
    Value: TypeInfo + 'static,

impl TypeInfo for Event

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

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

impl<T, S> TypeInfo for OrderedSet<T, S>where
    BoundedVec<T, S>: TypeInfo + 'static,
    T: Ord + Encode + Decode + MaxEncodedLen + Clone + Eq + PartialEq + TypeInfo + 'static,
    S: Get<u32> + 'static,

impl<BlockNumber, Balance> TypeInfo for VestingSchedule<BlockNumber, Balance>where
    BlockNumber: TypeInfo + 'static,
    Balance: HasCompact + MaxEncodedLen + HasCompact + TypeInfo + 'static,

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

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

impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    VestingSchedule<<T as Config>::BlockNumber, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>: TypeInfo + 'static,
    Vec<VestingSchedule<<T as Config>::BlockNumber, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>>: TypeInfo + 'static,
    T: Config + 'static,

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

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

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

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

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

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

impl<AssetId> TypeInfo for AssetType<AssetId>where
    AssetId: TypeInfo + 'static,

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

impl<T> TypeInfo for Event<T>where
    T::AssetId: TypeInfo + 'static,
    BoundedVec<u8, T::StringLimit>: TypeInfo + 'static,
    AssetType<T::AssetId>: TypeInfo + 'static,
    T::AssetNativeLocation: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static,

impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    AssetType<T::AssetId>: TypeInfo + 'static,
    T::Balance: TypeInfo + 'static,
    Option<T::AssetId>: TypeInfo + 'static,
    Option<T::AssetNativeLocation>: TypeInfo + 'static,
    T::AssetId: TypeInfo + 'static,
    Option<T::Balance>: TypeInfo + 'static,
    T::AssetNativeLocation: TypeInfo + 'static,
    T: Config + 'static,

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

impl<T> 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> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    Vec<T::Header>: TypeInfo + 'static,
    T: Config + 'static,

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

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

impl<T, I> TypeInfo for Bag<T, I>where
    Option<T::AccountId>: TypeInfo + 'static,
    T::Score: TypeInfo + 'static,
    PhantomData<I>: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static,

impl<T, I> TypeInfo for Node<T, I>where
    T::AccountId: TypeInfo + 'static,
    Option<T::AccountId>: TypeInfo + 'static,
    T::Score: TypeInfo + 'static,
    PhantomData<I>: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static,

impl<T, I> TypeInfo for Event<T, I>where
    T::AccountId: TypeInfo + 'static,
    T::Score: 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, I> TypeInfo for Call<T, I>where
    PhantomData<(T, I)>: TypeInfo + 'static,
    <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static,

impl<T, I> TypeInfo for Event<T, I>where
    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, I> TypeInfo for Call<T, I>where
    PhantomData<(T, I)>: TypeInfo + 'static,
    <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T::Balance: HasCompact + TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static,

impl TypeInfo for Reasons

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

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

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

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

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

impl<AccountId, Balance, BlockNumber> TypeInfo for Bounty<AccountId, Balance, BlockNumber>where
    AccountId: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    BountyStatus<AccountId, BlockNumber>: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,

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

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

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

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

impl<AccountId, Balance, BlockNumber> TypeInfo for ChildBounty<AccountId, Balance, BlockNumber>where
    Balance: TypeInfo + 'static,
    ChildBountyStatus<AccountId, BlockNumber>: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,

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

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

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

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

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

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

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

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

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

impl<AccountId, BlockNumber> TypeInfo for Votes<AccountId, BlockNumber>where
    Vec<AccountId>: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,

impl<T, I> TypeInfo for Event<T, I>where
    T::AccountId: TypeInfo + 'static,
    T::Hash: 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, I> TypeInfo for Call<T, I>where
    PhantomData<(T, I)>: TypeInfo + 'static,
    Vec<T::AccountId>: TypeInfo + 'static,
    Option<T::AccountId>: TypeInfo + 'static,
    Box<<T as Config<I>>::Proposal>: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static,

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

impl<T> TypeInfo for Event<T>where
    <<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::CurrencyId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    <<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,
    <<T as Config>::MultiCurrency as MultiCurrencyExtended<<T as Config>::AccountId>>::Amount: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static,

impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    <<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::CurrencyId: TypeInfo + 'static,
    <<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::Balance: HasCompact,
    <<T as Config>::MultiCurrency as MultiCurrencyExtended<<T as Config>::AccountId>>::Amount: TypeInfo + 'static,
    T: Config + 'static,

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

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

impl<BlockNumber, Hash, Balance> TypeInfo for ReferendumStatus<BlockNumber, Hash, Balance>where
    BlockNumber: TypeInfo + 'static,
    Hash: TypeInfo + 'static,
    Tally<Balance>: TypeInfo + 'static,
    Balance: TypeInfo + 'static,

impl<BlockNumber, Hash, Balance> TypeInfo for ReferendumInfo<BlockNumber, Hash, Balance>where
    ReferendumStatus<BlockNumber, Hash, Balance>: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,
    Hash: TypeInfo + 'static,
    Balance: TypeInfo + 'static,

impl TypeInfo for Vote

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

impl<Balance, AccountId, BlockNumber> TypeInfo for Voting<Balance, AccountId, BlockNumber>where
    Vec<(ReferendumIndex, AccountVote<Balance>)>: TypeInfo + 'static,
    Delegations<Balance>: TypeInfo + 'static,
    PriorLock<BlockNumber, Balance>: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,

impl<AccountId, Balance, BlockNumber> TypeInfo for PreimageStatus<AccountId, Balance, BlockNumber>where
    BlockNumber: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    Option<BlockNumber>: TypeInfo + 'static,

impl<T> TypeInfo for Event<T>where
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,
    Vec<T::AccountId>: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T::BlockNumber: TypeInfo + 'static,
    AccountVote<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static,

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

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

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

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

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

impl<AccountId, Balance, Solution> TypeInfo for SignedSubmission<AccountId, Balance, Solution>where
    AccountId: TypeInfo + 'static,
    Balance: TypeInfo + 'static + HasCompact,
    RawSolution<Solution>: TypeInfo + 'static,
    Solution: TypeInfo + 'static,

impl<Bn> TypeInfo for Phase<Bn>where
    (bool, Bn): TypeInfo + 'static,
    Bn: TypeInfo + 'static,

impl<S> TypeInfo for RawSolution<S>where
    S: TypeInfo + 'static,

impl<A> TypeInfo for ReadySolution<A>where
    Supports<A>: TypeInfo + 'static,
    A: TypeInfo + 'static,

impl<T> TypeInfo for RoundSnapshot<T>where
    Vec<VoterOf<T>>: TypeInfo + 'static,
    Vec<T::AccountId>: TypeInfo + 'static,
    T: Config + 'static,

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

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

impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    Box<RawSolution<SolutionOf<T::MinerConfig>>>: TypeInfo + 'static,
    Supports<T::AccountId>: TypeInfo + 'static,
    T: Config + 'static,

impl<AccountId, Balance> TypeInfo for Voter<AccountId, Balance>where
    Vec<AccountId>: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl TypeInfo for Event

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

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

impl<N, Limit> TypeInfo for StoredPendingChange<N, Limit>where
    N: TypeInfo + 'static,
    BoundedAuthorityList<Limit>: TypeInfo + 'static,
    Option<N>: TypeInfo + 'static,
    Limit: 'static,

impl<N> TypeInfo for StoredState<N>where
    N: TypeInfo + 'static,

impl TypeInfo for Data

impl<Balance> TypeInfo for Judgement<Balance>where
    Balance: TypeInfo + 'static + Encode + Decode + MaxEncodedLen + Copy + Clone + Debug + Eq + PartialEq,

impl<FieldLimit> TypeInfo for IdentityInfo<FieldLimit>where
    BoundedVec<(Data, Data), FieldLimit>: TypeInfo + 'static,
    FieldLimit: Get<u32> + 'static,

impl<Balance, MaxJudgements, MaxAdditionalFields> TypeInfo for Registration<Balance, MaxJudgements, MaxAdditionalFields>where
    BoundedVec<(RegistrarIndex, Judgement<Balance>), MaxJudgements>: TypeInfo + 'static,
    Balance: TypeInfo + 'static + Encode + Decode + MaxEncodedLen + Copy + Clone + Debug + Eq + PartialEq,
    IdentityInfo<MaxAdditionalFields>: TypeInfo + 'static,
    MaxJudgements: Get<u32> + 'static,
    MaxAdditionalFields: Get<u32> + 'static,

impl<Balance, AccountId> TypeInfo for RegistrarInfo<Balance, AccountId>where
    AccountId: TypeInfo + 'static + Encode + Decode + Clone + Debug + Eq + PartialEq,
    Balance: TypeInfo + 'static + Encode + Decode + Clone + Debug + Eq + PartialEq,

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

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

impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    Box<IdentityInfo<T::MaxAdditionalFields>>: TypeInfo + 'static,
    Vec<(T::AccountId, Data)>: TypeInfo + 'static,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: HasCompact,
    Judgement<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>: TypeInfo + 'static,
    T: Config + 'static,

impl<BlockNumber> TypeInfo for Heartbeat<BlockNumber>where
    BlockNumber: PartialEq + Eq + Decode + Encode + TypeInfo + 'static,

impl<PeerIdEncodingLimit, MultiAddrEncodingLimit, AddressesLimit> TypeInfo for BoundedOpaqueNetworkState<PeerIdEncodingLimit, MultiAddrEncodingLimit, AddressesLimit>where
    PeerIdEncodingLimit: Get<u32> + 'static,
    MultiAddrEncodingLimit: Get<u32> + 'static,
    AddressesLimit: Get<u32> + 'static,
    WeakBoundedVec<u8, PeerIdEncodingLimit>: TypeInfo + 'static,
    WeakBoundedVec<WeakBoundedVec<u8, MultiAddrEncodingLimit>, AddressesLimit>: TypeInfo + 'static,

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

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

impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    Heartbeat<T::BlockNumber>: TypeInfo + 'static,
    <T::AuthorityId as RuntimeAppPublic>::Signature: TypeInfo + 'static,
    T: Config + 'static,

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

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

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

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

impl<AccountId, BlockNumber> TypeInfo for Pool<AccountId, BlockNumber>where
    AccountId: TypeInfo + 'static,
    Option<BlockNumber>: TypeInfo + 'static,
    BlockNumber: AtLeast32BitUnsigned + Copy + TypeInfo + 'static,

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

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

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

impl<T, I> TypeInfo for GlobalFarmData<T, I>where
    T::AccountId: TypeInfo + 'static,
    <T as Config>::BlockNumber: TypeInfo + 'static,
    T::AssetId: TypeInfo + 'static,
    BlockNumberFor<T>: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static,

impl<T, I> TypeInfo for YieldFarmData<T, I>where
    <T as Config>::BlockNumber: TypeInfo + 'static,
    PhantomData<I>: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static,

impl<T, I> TypeInfo for DepositData<T, I>where
    T::AmmPoolId: TypeInfo + 'static,
    BoundedVec<YieldFarmEntry<T, I>, T::MaxFarmEntriesPerDeposit>: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static,

impl<T, I> TypeInfo for YieldFarmEntry<T, I>where
    <T as Config>::BlockNumber: TypeInfo + 'static,
    PhantomData<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, I> TypeInfo for Event<T, I>where
    PhantomData<(T, I)>: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static,

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

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

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

impl<T> TypeInfo for Event<T>where
    T::AccountId: TypeInfo + 'static,
    T::NftCollectionId: TypeInfo + 'static,
    T::NftItemId: TypeInfo + 'static,
    Option<<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance>: TypeInfo + 'static,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,
    T::BlockNumber: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static,

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

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

impl<T, I> TypeInfo for Event<T, I>where
    PhantomData<(T::AccountId, <T as Config<I>>::Event)>: 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, I> TypeInfo for Call<T, I>where
    PhantomData<(T, I)>: TypeInfo + 'static,
    <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    Vec<T::AccountId>: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static,

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

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

impl<BlockNumber, Balance, AccountId> TypeInfo for Multisig<BlockNumber, Balance, AccountId>where
    Timepoint<BlockNumber>: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,
    Vec<AccountId>: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,

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

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

impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    Vec<T::AccountId>: TypeInfo + 'static,
    Box<<T as Config>::Call>: TypeInfo + 'static,
    Option<Timepoint<T::BlockNumber>>: TypeInfo + 'static,
    WrapperKeepOpaque<<T as Config>::Call>: TypeInfo + 'static,
    Timepoint<T::BlockNumber>: TypeInfo + 'static,
    T: Config + 'static,

impl<CollectionType, BoundedVec> TypeInfo for CollectionInfo<CollectionType, BoundedVec>where
    CollectionType: TypeInfo + 'static,
    BoundedVec: TypeInfo + 'static,

impl<BoundedVec> TypeInfo for ItemInfo<BoundedVec>where
    BoundedVec: TypeInfo + 'static,

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

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

impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    T::NftCollectionId: TypeInfo + 'static,
    T::CollectionType: TypeInfo + 'static,
    BoundedVecOfUnq<T>: TypeInfo + 'static,
    T::NftItemId: TypeInfo + 'static,
    <T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T: Config + 'static,

impl<T> TypeInfo for ConfigOp<T>where
    T: TypeInfo + 'static + Codec + Debug,

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

impl<T> TypeInfo for PoolMember<T>where
    BalanceOf<T>: TypeInfo + 'static,
    T::RewardCounter: TypeInfo + 'static,
    BoundedBTreeMap<EraIndex, BalanceOf<T>, T::MaxUnbonding>: TypeInfo + 'static,
    T: Config + 'static,

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

impl<T> TypeInfo for BondedPoolInner<T>where
    BalanceOf<T>: TypeInfo + 'static,
    PoolRoles<T::AccountId>: TypeInfo + 'static,
    T: Config + 'static,

impl<T> TypeInfo for RewardPool<T>where
    T::RewardCounter: TypeInfo + 'static,
    BalanceOf<T>: TypeInfo + 'static,
    T: Config + 'static,

impl<T> TypeInfo for UnbondPool<T>where
    BalanceOf<T>: TypeInfo + 'static,
    T: Config + 'static,

impl<T> TypeInfo for SubPools<T>where
    UnbondPool<T>: TypeInfo + 'static,
    BoundedBTreeMap<EraIndex, UnbondPool<T>, TotalUnbondingPools<T>>: TypeInfo + 'static,
    T: Config + 'static,

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

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

impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    BalanceOf<T>: HasCompact,
    BondExtra<BalanceOf<T>>: TypeInfo + 'static,
    <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    Vec<T::AccountId>: TypeInfo + 'static,
    ConfigOp<BalanceOf<T>>: TypeInfo + 'static,
    ConfigOp<T::AccountId>: TypeInfo + 'static,
    T: Config + 'static,

impl TypeInfo for Event

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

impl<AccountId, Balance> TypeInfo for RequestStatus<AccountId, Balance>where
    Option<(AccountId, Balance)>: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,
    Balance: TypeInfo + 'static,

impl<T> TypeInfo for Event<T>where
    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> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    T: Config + 'static,

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

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

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

impl<AccountId, ProxyType, BlockNumber> TypeInfo for ProxyDefinition<AccountId, ProxyType, BlockNumber>where
    AccountId: TypeInfo + 'static,
    ProxyType: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,

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

impl<T> TypeInfo for Event<T>where
    T::AccountId: TypeInfo + 'static,
    T::ProxyType: TypeInfo + 'static,
    <<T as Config>::CallHasher as Hash>::Output: TypeInfo + 'static,
    T::BlockNumber: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static,

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

impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    Option<T::ProxyType>: TypeInfo + 'static,
    Box<<T as Config>::Call>: TypeInfo + 'static,
    T::ProxyType: TypeInfo + 'static,
    T::BlockNumber: TypeInfo + 'static + HasCompact,
    <<T as Config>::CallHasher as Hash>::Output: TypeInfo + 'static,
    T: Config + 'static,

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

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

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

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

impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    Box<<T as Config>::Call>: TypeInfo + 'static,
    Vec<T::AccountId>: TypeInfo + 'static,
    T::BlockNumber: TypeInfo + 'static,
    T: Config + 'static,

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

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

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

impl<AssetId> TypeInfo for Trade<AssetId>where
    PoolType<AssetId>: TypeInfo + 'static,
    AssetId: TypeInfo + 'static,

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

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

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

impl<Call, BlockNumber, PalletsOrigin, AccountId> TypeInfo for ScheduledV3<Call, BlockNumber, PalletsOrigin, AccountId>where
    Call: TypeInfo + 'static,
    Option<Period<BlockNumber>>: TypeInfo + 'static,
    PalletsOrigin: TypeInfo + 'static,
    PhantomData<AccountId>: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,

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

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

impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    T::BlockNumber: TypeInfo + 'static,
    Option<Period<T::BlockNumber>>: TypeInfo + 'static,
    Box<CallOrHashOf<T>>: TypeInfo + 'static,
    T: Config + 'static,

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

impl TypeInfo for Event

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

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

impl TypeInfo for Vote

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

impl<AccountId, Balance> TypeInfo for Bid<AccountId, Balance>where
    AccountId: TypeInfo + 'static,
    BidKind<AccountId, Balance>: TypeInfo + 'static,
    Balance: TypeInfo + 'static,

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

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

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

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

impl<T> TypeInfo for ConfigOp<T>where
    T: TypeInfo + 'static + Default + Codec,

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

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

impl<T> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    BalanceOf<T>: HasCompact,
    RewardDestination<T::AccountId>: TypeInfo + 'static,
    Vec<<<T as Config>::Lookup as StaticLookup>::Source>: TypeInfo + 'static,
    Vec<T::AccountId>: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    ConfigOp<BalanceOf<T>>: TypeInfo + 'static,
    T: Config + 'static,

impl<AccountId> TypeInfo for EraRewardPoints<AccountId>where
    BTreeMap<AccountId, RewardPoint>: TypeInfo + 'static,
    AccountId: Ord + TypeInfo + 'static,

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

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

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

impl<T> TypeInfo for StakingLedger<T>where
    T::AccountId: TypeInfo + 'static,
    BalanceOf<T>: HasCompact,
    BoundedVec<UnlockChunk<BalanceOf<T>>, MaxUnlockingChunks>: TypeInfo + 'static,
    T: Config + 'static,

impl<T> TypeInfo for Nominations<T>where
    BoundedVec<T::AccountId, T::MaxNominations>: TypeInfo + 'static,
    T: Config + 'static,

impl<AccountId, Balance> TypeInfo for IndividualExposure<AccountId, Balance>where
    AccountId: TypeInfo + 'static,
    Balance: HasCompact + HasCompact + TypeInfo + 'static,

impl<AccountId, Balance> TypeInfo for Exposure<AccountId, Balance>where
    Balance: HasCompact + HasCompact + TypeInfo + 'static,
    Vec<IndividualExposure<AccountId, Balance>>: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,

impl<AccountId, Balance> TypeInfo for UnappliedSlash<AccountId, Balance>where
    AccountId: TypeInfo + 'static,
    Balance: TypeInfo + 'static + HasCompact,
    Vec<(AccountId, Balance)>: TypeInfo + 'static,
    Vec<AccountId>: TypeInfo + 'static,

impl TypeInfo for Forcing

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

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

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

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

impl<AccountId, Balance, BlockNumber, Hash> TypeInfo for OpenTip<AccountId, Balance, BlockNumber, Hash>where
    Hash: TypeInfo + 'static + Parameter,
    AccountId: TypeInfo + 'static + Parameter,
    Balance: TypeInfo + 'static + Parameter,
    Option<BlockNumber>: TypeInfo + 'static,
    Vec<(AccountId, Balance)>: TypeInfo + 'static,
    BlockNumber: Parameter + TypeInfo + 'static,

impl<T, I> TypeInfo for Event<T, I>where
    T::Hash: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    BalanceOf<T, I>: 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, I> TypeInfo for Call<T, I>where
    PhantomData<(T, I)>: TypeInfo + 'static,
    <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T::Hash: TypeInfo + 'static,
    BalanceOf<T, I>: HasCompact,
    T: Config<I> + 'static,
    I: 'static,

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

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

impl<T> TypeInfo for Call<T>where
    <<T as Config>::Currencies as MultiCurrency<<T as Config>::AccountId>>::Balance: FixedPointOperand,
    PhantomData<(T,)>: TypeInfo + 'static,
    <<T as Config>::Currencies as MultiCurrency<<T as Config>::AccountId>>::CurrencyId: TypeInfo + 'static,
    T: Config + 'static,

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

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

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

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

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

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

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

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

impl<T, I> TypeInfo for Event<T, I>where
    BalanceOf<T, I>: TypeInfo + 'static,
    T::AccountId: 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, I> TypeInfo for Call<T, I>where
    PhantomData<(T, I)>: TypeInfo + 'static,
    BalanceOf<T, I>: HasCompact,
    <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static,

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

impl<AccountId, DepositBalance> TypeInfo for ItemDetails<AccountId, DepositBalance>where
    AccountId: TypeInfo + 'static,
    Option<AccountId>: TypeInfo + 'static,
    DepositBalance: TypeInfo + 'static,

impl<DepositBalance, StringLimit> TypeInfo for CollectionMetadata<DepositBalance, StringLimit>where
    DepositBalance: TypeInfo + 'static,
    BoundedVec<u8, StringLimit>: TypeInfo + 'static,
    StringLimit: Get<u32> + 'static,

impl<DepositBalance, StringLimit> TypeInfo for ItemMetadata<DepositBalance, StringLimit>where
    DepositBalance: TypeInfo + 'static,
    BoundedVec<u8, StringLimit>: TypeInfo + 'static,
    StringLimit: Get<u32> + 'static,

impl<T, I> TypeInfo for Event<T, I>where
    T::CollectionId: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    T::ItemId: TypeInfo + 'static,
    BoundedVec<u8, T::StringLimit>: TypeInfo + 'static,
    Vec<T::ItemId>: TypeInfo + 'static,
    Option<T::ItemId>: TypeInfo + 'static,
    BoundedVec<u8, T::KeyLimit>: TypeInfo + 'static,
    BoundedVec<u8, T::ValueLimit>: TypeInfo + 'static,
    Option<T::CollectionId>: TypeInfo + 'static,
    <<T as Config<I>>::Currency as Currency<<T as SystemConfig>::AccountId>>::Balance: TypeInfo + 'static,
    Option<T::AccountId>: 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, I> TypeInfo for Call<T, I>where
    PhantomData<(T, I)>: TypeInfo + 'static,
    T::CollectionId: TypeInfo + 'static,
    <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static,
    T::ItemId: TypeInfo + 'static,
    Option<<<T as Config>::Lookup as StaticLookup>::Source>: TypeInfo + 'static,
    Vec<T::ItemId>: TypeInfo + 'static,
    Option<T::ItemId>: TypeInfo + 'static,
    BoundedVec<u8, T::KeyLimit>: TypeInfo + 'static,
    BoundedVec<u8, T::ValueLimit>: TypeInfo + 'static,
    BoundedVec<u8, T::StringLimit>: TypeInfo + 'static,
    Option<T::CollectionId>: TypeInfo + 'static,
    Option<<<T as Config<I>>::Currency as Currency<<T as SystemConfig>::AccountId>>::Balance>: TypeInfo + 'static,
    <<T as Config<I>>::Currency as Currency<<T as SystemConfig>::AccountId>>::Balance: TypeInfo + 'static,
    T: Config<I> + 'static,
    I: 'static,

impl TypeInfo for Event

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

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

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

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

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

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

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

impl TypeInfo for Origin

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

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

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

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

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

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

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

impl<T> 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> TypeInfo for Event<T>where
    T::AccountId: TypeInfo + 'static,
    <T as Config>::BlockNumber: TypeInfo + 'static,
    BlockNumberFor<T>: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static,

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

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

impl TypeInfo for Event

impl TypeInfo for Call

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

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

impl<Id> TypeInfo for OutboundHrmpMessage<Id>where
    Id: TypeInfo + 'static,

impl TypeInfo for Id

impl TypeInfo for Sibling

impl<Payload, RealPayload> TypeInfo for UncheckedSigned<Payload, RealPayload>where
    Payload: TypeInfo + 'static,
    PhantomData<RealPayload>: TypeInfo + 'static,
    RealPayload: TypeInfo + 'static,

impl<H> TypeInfo for CandidateDescriptor<H>where
    H: TypeInfo + 'static,

impl<H> TypeInfo for CandidateReceipt<H>where
    CandidateDescriptor<H>: TypeInfo + 'static,
    H: TypeInfo + 'static,

impl<H, N> TypeInfo for FullCandidateReceipt<H, N>where
    CandidateReceipt<H>: TypeInfo + 'static,
    PersistedValidationData<H, N>: TypeInfo + 'static,
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,

impl<H> TypeInfo for CommittedCandidateReceipt<H>where
    CandidateDescriptor<H>: TypeInfo + 'static,
    H: TypeInfo + 'static,

impl<H, N> TypeInfo for PersistedValidationData<H, N>where
    N: TypeInfo + 'static,
    H: TypeInfo + 'static,

impl<N> TypeInfo for CandidateCommitments<N>where
    N: TypeInfo + 'static,

impl<H> TypeInfo for BackedCandidate<H>where
    CommittedCandidateReceipt<H>: TypeInfo + 'static,
    H: TypeInfo + 'static,

impl<N> TypeInfo for GroupRotationInfo<N>where
    N: TypeInfo + 'static,

impl<H, N> TypeInfo for OccupiedCore<H, N>where
    N: TypeInfo + 'static,
    CandidateDescriptor<H>: TypeInfo + 'static,
    H: TypeInfo + 'static,

impl<H, N> TypeInfo for CoreState<H, N>where
    OccupiedCore<H, N>: TypeInfo + 'static,
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,

impl<H> TypeInfo for CandidateEvent<H>where
    CandidateReceipt<H>: TypeInfo + 'static,
    H: TypeInfo + 'static,

impl<H> TypeInfo for ScrapedOnChainVotes<H>where
    Vec<(CandidateReceipt<H>, Vec<(ValidatorIndex, ValidityAttestation)>)>: TypeInfo + 'static,
    H: Encode + Decode + TypeInfo + 'static,

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

impl<HDR> TypeInfo for InherentData<HDR>where
    Vec<BackedCandidate<HDR::Hash>>: TypeInfo + 'static,
    HDR: TypeInfo + 'static + HeaderT,

impl TypeInfo for Runtime

impl TypeInfo for Event

impl TypeInfo for Call

impl<AccountId, LeasePeriod> TypeInfo for ParachainTemporarySlot<AccountId, LeasePeriod>where
    AccountId: TypeInfo + 'static,
    LeasePeriod: TypeInfo + 'static,
    Option<LeasePeriod>: TypeInfo + 'static,

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

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

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

impl<T> TypeInfo for Event<T>where
    <<T as Config>::Leaser as Leaser<<T as Config>::BlockNumber>>::LeasePeriod: TypeInfo + 'static,
    T::BlockNumber: TypeInfo + 'static,
    T::AccountId: TypeInfo + 'static,
    <<<T as Config>::Leaser as Leaser<<T as Config>::BlockNumber>>::Currency as Currency<<T as Config>::AccountId>>::Balance: TypeInfo + 'static,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + 'static,

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

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

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

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

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

impl<T> TypeInfo for PrevalidateAttests<T>where
    <T as Config>::Call: IsSubType<Call<T>>,
    PhantomData<T>: TypeInfo + 'static,
    T: Config + Send + Sync + 'static,

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

impl<AccountId, Balance, BlockNumber, LeasePeriod> TypeInfo for FundInfo<AccountId, Balance, BlockNumber, LeasePeriod>where
    AccountId: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    BlockNumber: TypeInfo + 'static,
    LastContribution<BlockNumber>: TypeInfo + 'static,
    LeasePeriod: TypeInfo + 'static,

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

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

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

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

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

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

impl<T> 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: Config + 'static,

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

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

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

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

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

impl<T> 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: Config + 'static,

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

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

impl<T> 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 as Config>::BlockNumber: TypeInfo + 'static,
    T: Config + 'static,

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

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

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

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

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

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

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

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

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

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

impl<N> TypeInfo for AvailabilityBitfieldRecord<N>where
    N: TypeInfo + 'static,

impl<H, N> TypeInfo for CandidatePendingAvailability<H, N>where
    CandidateDescriptor<H>: TypeInfo + 'static,
    N: TypeInfo + 'static,
    H: TypeInfo + 'static,

impl<T> TypeInfo for Event<T>where
    CandidateReceipt<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> TypeInfo for Call<T>where
    PhantomData<(T,)>: TypeInfo + 'static,
    T: Config + 'static,

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

impl TypeInfo for Origin

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

impl<N> TypeInfo for ReplacementTimes<N>where
    N: TypeInfo + 'static,

impl<N> TypeInfo for ParaPastCodeMeta<N>where
    Vec<ReplacementTimes<N>>: TypeInfo + 'static,
    Option<N>: TypeInfo + 'static,
    N: TypeInfo + 'static,

impl TypeInfo for Event

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

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

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

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

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

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

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

impl TypeInfo for Event

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

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

impl<AccountId, Balance, IntentionID> TypeInfo for ExchangeIntention<AccountId, Balance, IntentionID>where
    AccountId: TypeInfo + 'static,
    Balance: TypeInfo + 'static,
    IntentionID: TypeInfo + 'static,

impl TypeInfo for Runtime

impl TypeInfo for Event

impl TypeInfo for Call

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 Slot

impl<Header, Id> TypeInfo for EquivocationProof<Header, Id>where
    Id: TypeInfo + 'static,
    Header: TypeInfo + 'static,

impl TypeInfo for Public

impl TypeInfo for Public

impl TypeInfo for Public

impl TypeInfo for Void

impl<H, N> TypeInfo for EquivocationProof<H, N>where
    Equivocation<H, N>: TypeInfo + 'static,
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,

impl<H, N> TypeInfo for Equivocation<H, N>where
    Equivocation<AuthorityId, Prevote<H, N>, AuthoritySignature>: TypeInfo + 'static,
    Equivocation<AuthorityId, Precommit<H, N>, AuthoritySignature>: TypeInfo + 'static,
    H: TypeInfo + 'static,
    N: TypeInfo + 'static,

impl<AccountId> TypeInfo for Support<AccountId>where
    Vec<(AccountId, ExtendedBalance)>: TypeInfo + 'static,
    AccountId: TypeInfo + 'static,

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,

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,

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

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

impl TypeInfo for PiecewiseLinear<'static>

impl TypeInfo for Digest

impl TypeInfo for Era

impl<Number, Hash> TypeInfo for Header<Number, Hash>where
    Hash::Output: TypeInfo + 'static,
    Number: HasCompact + 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 + TypeInfo + 'static,

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

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

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

impl TypeInfo for Runtime

impl TypeInfo for Event

impl TypeInfo for Call

impl TypeInfo for Runtime

impl TypeInfo for Event

impl TypeInfo for Call

impl TypeInfo for BodyId

impl<Call> TypeInfo for Order<Call>where
    Call: 'static,

impl TypeInfo for Error

impl TypeInfo for Outcome

impl<Call> TypeInfo for Xcm<Call>where
    Call: 'static,

impl TypeInfo for AssetId

impl<Call> TypeInfo for Order<Call>where
    Call: 'static,

impl TypeInfo for Error

impl TypeInfo for Outcome

impl<Call> TypeInfo for Xcm<Call>where
    Call: 'static,

impl TypeInfo for Error

impl TypeInfo for Outcome

impl<Call> TypeInfo for Xcm<Call>where
    Call: 'static,

impl<Call> TypeInfo for Instruction<Call>where
    Call: 'static,

impl<T> TypeInfo for DoubleEncoded<T>where
    T: 'static,

impl<Call> TypeInfo for VersionedXcm<Call>where
    Call: 'static,