Trait frame_support::dispatch::EncodeLike[]

pub trait EncodeLike<T = Self>: Encode where
    T: Encode
{ }
Expand description

A marker trait that tells the compiler that a type encode to the same representation as another type.

E.g. Vec<u8> has the same encoded representation as &[u8].

Example

fn encode_like<T: Encode, R: EncodeLike<T>>(data: &R) {
    data.encode(); // Valid `T` encoded value.
}

fn main() {
    // Just pass the a reference to the normal tuple.
    encode_like::<(u32, u32), _>(&(1u32, 2u32));
    // Pass a tuple of references
    encode_like::<(u32, u32), _>(&(&1u32, &2u32));
    // Pass a tuple of a reference and a value.
    encode_like::<(u32, u32), _>(&(&1u32, 2u32));
}

Warning

The relation is not symetric, T implements EncodeLike<U> does not mean U has same representation as T. For instance we could imaging a non zero integer to be encoded to the same representation as the said integer but not the other way around.

Limitation

Not all possible implementations of EncodeLike are implemented (for instance Box<Box<u32>> does not implement EncodeLike<u32>). To bypass this issue either open a PR to add the new combination or use Ref reference wrapper or define your own wrapper and implement EncodeLike on it as such:

fn encode_like<T: Encode, R: EncodeLike<T>>(data: &R) {
    data.encode(); // Valid `T` encoded value.
}

struct MyWrapper<'a>(&'a (Box<Box<u32>>, u32));
impl<'a> core::ops::Deref for MyWrapper<'a> { // Or use derive_deref crate
    type Target = (Box<Box<u32>>, u32);
    fn deref(&self) -> &Self::Target { &self.0 }
}

impl<'a> parity_scale_codec::WrapperTypeEncode for MyWrapper<'a> {}
impl<'a> parity_scale_codec::EncodeLike<(u32, u32)> for MyWrapper<'a> {}

fn main() {
    let v = (Box::new(Box::new(0)), 0);
    encode_like::<(u32, u32), _>(&MyWrapper(&v));
}

Implementations on Foreign Types

impl EncodeLike<Entry> for Entry

Implementors

impl<H, N, V> EncodeLike<ForkTree<H, N, V>> for ForkTree<H, N, V> where
    Vec<Node<H, N, V>>: Encode,
    Vec<Node<H, N, V>>: Encode,
    Option<N>: Encode,
    Option<N>: Encode, 

impl EncodeLike<BenchmarkParameter> for BenchmarkParameter

impl EncodeLike<BenchmarkBatch> for BenchmarkBatch

impl EncodeLike<BenchmarkBatchSplitResults> for BenchmarkBatchSplitResults

impl EncodeLike<BenchmarkResults> for BenchmarkResults

impl EncodeLike<BenchmarkConfig> for BenchmarkConfig

impl EncodeLike<BenchmarkList> for BenchmarkList

impl EncodeLike<BenchmarkMetadata> for BenchmarkMetadata

impl<B, O> EncodeLike<DecodeDifferent<B, O>> for DecodeDifferent<B, O> where
    B: Encode + 'static,
    O: Encode + 'static, 

impl EncodeLike<FunctionMetadata> for FunctionMetadata

impl EncodeLike<FunctionArgumentMetadata> for FunctionArgumentMetadata

impl<E: Encode> EncodeLike<FnEncode<E>> for FnEncode<E>

impl EncodeLike<OuterEventMetadata> for OuterEventMetadata

impl EncodeLike<EventMetadata> for EventMetadata

impl EncodeLike<StorageEntryMetadata> for StorageEntryMetadata

impl EncodeLike<ModuleConstantMetadata> for ModuleConstantMetadata

impl EncodeLike<ErrorMetadata> for ErrorMetadata

impl EncodeLike<DefaultByteGetter> for DefaultByteGetter

impl EncodeLike<StorageHasher> for StorageHasher

impl EncodeLike<StorageEntryType> for StorageEntryType

impl EncodeLike<StorageEntryModifier> for StorageEntryModifier

impl EncodeLike<StorageMetadata> for StorageMetadata

impl EncodeLike<RuntimeMetadataPrefixed> for RuntimeMetadataPrefixed

impl EncodeLike<ExtrinsicMetadata> for ExtrinsicMetadata

impl EncodeLike<RuntimeMetadata> for RuntimeMetadata

impl EncodeLike<RuntimeMetadataDeprecated> for RuntimeMetadataDeprecated

impl EncodeLike<RuntimeMetadataV13> for RuntimeMetadataV13

impl EncodeLike<ModuleMetadata> for ModuleMetadata

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl EncodeLike<BlockLength> for BlockLength

impl EncodeLike<WeightsPerClass> for WeightsPerClass

impl EncodeLike<BlockWeights> for BlockWeights

impl<T: Config + Send + Sync> EncodeLike<CheckGenesis<T>> for CheckGenesis<T> where
    PhantomData<T>: Encode,
    PhantomData<T>: Encode, 

impl<T: Config + Send + Sync> EncodeLike<CheckMortality<T>> for CheckMortality<T> where
    PhantomData<T>: Encode,
    PhantomData<T>: Encode, 

impl<T: Config> EncodeLike<CheckNonce<T>> for CheckNonce<T> where
    T::Index: HasCompact, 

impl<T: Config + Send + Sync> EncodeLike<CheckSpecVersion<T>> for CheckSpecVersion<T> where
    PhantomData<T>: Encode,
    PhantomData<T>: Encode, 

impl<T: Config + Send + Sync> EncodeLike<CheckTxVersion<T>> for CheckTxVersion<T> where
    PhantomData<T>: Encode,
    PhantomData<T>: Encode, 

impl<T: Config + Send + Sync> EncodeLike<CheckWeight<T>> for CheckWeight<T> where
    PhantomData<T>: Encode,
    PhantomData<T>: Encode, 

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Hash: Encode,
    T::Hash: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl EncodeLike<Phase> for Phase

impl<E: Parameter + Member, T> EncodeLike<EventRecord<E, T>> for EventRecord<E, T> where
    E: Encode,
    E: Encode,
    Vec<T>: Encode,
    Vec<T>: Encode, 

impl<AccountId> EncodeLike<RawOrigin<AccountId>> for RawOrigin<AccountId> where
    AccountId: Encode,
    AccountId: Encode, 

impl<Index, AccountData> EncodeLike<AccountInfo<Index, AccountData>> for AccountInfo<Index, AccountData> where
    Index: Encode,
    Index: Encode,
    AccountData: Encode,
    AccountData: Encode, 

impl EncodeLike<LastRuntimeUpgradeInfo> for LastRuntimeUpgradeInfo

impl EncodeLike<ProxyType> for ProxyType

impl EncodeLike<SessionKeys> for SessionKeys

impl EncodeLike<Event> for Event

impl EncodeLike<OriginCaller> for OriginCaller

impl EncodeLike<Call> for Call

impl EncodeLike<SessionKeys> for SessionKeys

impl EncodeLike<Event> for Event

impl EncodeLike<OriginCaller> for OriginCaller

impl EncodeLike<Call> for Call

impl<Balance, AccountId, DepositBalance> EncodeLike<AssetDetails<Balance, AccountId, DepositBalance>> for AssetDetails<Balance, AccountId, DepositBalance> where
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode,
    DepositBalance: Encode,
    DepositBalance: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<Balance, DepositBalance> EncodeLike<Approval<Balance, DepositBalance>> for Approval<Balance, DepositBalance> where
    Balance: Encode,
    Balance: Encode,
    DepositBalance: Encode,
    DepositBalance: Encode, 

impl<Balance, Extra> EncodeLike<AssetBalance<Balance, Extra>> for AssetBalance<Balance, Extra> where
    Balance: Encode,
    Balance: Encode,
    Extra: Encode,
    Extra: Encode, 

impl<DepositBalance, BoundedString> EncodeLike<AssetMetadata<DepositBalance, BoundedString>> for AssetMetadata<DepositBalance, BoundedString> where
    DepositBalance: Encode,
    DepositBalance: Encode,
    BoundedString: Encode,
    BoundedString: Encode,
    BoundedString: Encode,
    BoundedString: Encode, 

impl EncodeLike<DestroyWitness> for DestroyWitness

impl EncodeLike<ConversionError> for ConversionError

impl<T: Config<I>, I: 'static> EncodeLike<Event<T, I>> for Event<T, I> where
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::AssetId: Encode,
    T::AssetId: Encode, 

impl<T: Config<I>, I: 'static> EncodeLike<Call<T, I>> for Call<T, I>

impl<T: Config> EncodeLike<PendingSwap<T>> for PendingSwap<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::SwapAction: Encode,
    T::SwapAction: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode, 

impl<AccountId, C: ReservableCurrency<AccountId>> EncodeLike<BalanceSwapAction<AccountId, C>> for BalanceSwapAction<AccountId, C> where
    <C as Currency<AccountId>>::Balance: Encode,
    <C as Currency<AccountId>>::Balance: Encode,
    PhantomData<C>: Encode,
    PhantomData<C>: Encode, 

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    PendingSwap<T>: Encode,
    PendingSwap<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config<I>, I: 'static> EncodeLike<Event<T, I>> for Event<T, I> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Balance: Encode,
    T::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Balance: Encode,
    T::Balance: Encode, 

impl<T: Config<I>, I: 'static> EncodeLike<Call<T, I>> for Call<T, I>

impl EncodeLike<Reasons> for Reasons

impl<Balance> EncodeLike<BalanceLock<Balance>> for BalanceLock<Balance> where
    Balance: Encode,
    Balance: Encode, 

impl<ReserveIdentifier, Balance> EncodeLike<ReserveData<ReserveIdentifier, Balance>> for ReserveData<ReserveIdentifier, Balance> where
    ReserveIdentifier: Encode,
    ReserveIdentifier: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<Balance> EncodeLike<AccountData<Balance>> for AccountData<Balance> where
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<AccountId, Balance, BlockNumber> EncodeLike<Bounty<AccountId, Balance, BlockNumber>> for Bounty<AccountId, Balance, BlockNumber> where
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    BountyStatus<AccountId, BlockNumber>: Encode,
    BountyStatus<AccountId, BlockNumber>: Encode, 

impl<AccountId, BlockNumber> EncodeLike<BountyStatus<AccountId, BlockNumber>> for BountyStatus<AccountId, BlockNumber> where
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode, 

impl<Balance, AccountId> EncodeLike<RawEvent<Balance, AccountId>> for RawEvent<Balance, AccountId> where
    Balance: Encode,
    Balance: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode,
    AccountId: Encode,
    AccountId: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T> where
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    BalanceOf<T>: HasCompact,
    BalanceOf<T>: HasCompact, 

impl<AccountId, I> EncodeLike<RawOrigin<AccountId, I>> for RawOrigin<AccountId, I> where
    AccountId: Encode,
    AccountId: Encode,
    PhantomData<I>: Encode,
    PhantomData<I>: Encode, 

impl<AccountId, BlockNumber> EncodeLike<Votes<AccountId, BlockNumber>> for Votes<AccountId, BlockNumber> where
    Vec<AccountId>: Encode,
    Vec<AccountId>: Encode,
    Vec<AccountId>: Encode,
    Vec<AccountId>: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode, 

impl EncodeLike<Instance1> for Instance1

impl EncodeLike<Instance2> for Instance2

impl EncodeLike<Instance3> for Instance3

impl EncodeLike<Instance4> for Instance4

impl EncodeLike<Instance5> for Instance5

impl EncodeLike<Instance6> for Instance6

impl EncodeLike<Instance7> for Instance7

impl EncodeLike<Instance8> for Instance8

impl EncodeLike<Instance9> for Instance9

impl EncodeLike<Instance10> for Instance10

impl EncodeLike<Instance11> for Instance11

impl EncodeLike<Instance12> for Instance12

impl EncodeLike<Instance13> for Instance13

impl EncodeLike<Instance14> for Instance14

impl EncodeLike<Instance15> for Instance15

impl EncodeLike<Instance16> for Instance16

impl EncodeLike<DefaultInstance> for DefaultInstance

impl<Hash, AccountId, I> EncodeLike<RawEvent<Hash, AccountId, I>> for RawEvent<Hash, AccountId, I> where
    AccountId: Encode,
    AccountId: Encode,
    Hash: Encode,
    Hash: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode, 

impl<T: Config<I>, I: Instance> EncodeLike<Call<T, I>> for Call<T, I> where
    Vec<T::AccountId>: Encode,
    Vec<T::AccountId>: Encode,
    Option<T::AccountId>: Encode,
    Option<T::AccountId>: Encode,
    Box<<T as Config<I>>::Proposal>: Encode,
    Box<<T as Config<I>>::Proposal>: Encode,
    Box<<T as Config<I>>::Proposal>: Encode,
    Box<<T as Config<I>>::Proposal>: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode, 

impl<T: Config> EncodeLike<Schedule<T>> for Schedule<T> where
    InstructionWeights<T>: Encode,
    InstructionWeights<T>: Encode,
    HostFnWeights<T>: Encode,
    HostFnWeights<T>: Encode, 

impl EncodeLike<Limits> for Limits

impl<T: Config> EncodeLike<InstructionWeights<T>> for InstructionWeights<T>

impl<T: Config> EncodeLike<HostFnWeights<T>> for HostFnWeights<T>

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Hash: Encode,
    T::Hash: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T> where
    T::AccountId: UncheckedFrom<T::Hash>,
    T::AccountId: AsRef<[u8]>, 

impl<T> EncodeLike<ContractResult<T>> for ContractResult<T> where
    T: Encode,
    T: Encode, 

impl EncodeLike<ContractAccessError> for ContractAccessError

impl<BlockNumber> EncodeLike<RentProjection<BlockNumber>> for RentProjection<BlockNumber> where
    BlockNumber: Encode,
    BlockNumber: Encode, 

impl EncodeLike<ReturnFlags> for ReturnFlags

impl EncodeLike<ExecReturnValue> for ExecReturnValue

impl<AccountId, BlockNumber> EncodeLike<InstantiateReturnValue<AccountId, BlockNumber>> for InstantiateReturnValue<AccountId, BlockNumber> where
    AccountId: Encode,
    AccountId: Encode,
    Option<RentProjection<BlockNumber>>: Encode,
    Option<RentProjection<BlockNumber>>: Encode, 

impl<Hash> EncodeLike<Code<Hash>> for Code<Hash> where
    Hash: Encode,
    Hash: Encode, 

impl EncodeLike<Conviction> for Conviction

impl<Balance> EncodeLike<Tally<Balance>> for Tally<Balance> where
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<Balance> EncodeLike<Delegations<Balance>> for Delegations<Balance> where
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<BlockNumber, Hash, Balance> EncodeLike<ReferendumStatus<BlockNumber, Hash, Balance>> for ReferendumStatus<BlockNumber, Hash, Balance> where
    BlockNumber: Encode,
    BlockNumber: Encode,
    Hash: Encode,
    Hash: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode,
    Tally<Balance>: Encode,
    Tally<Balance>: Encode, 

impl<BlockNumber, Hash, Balance> EncodeLike<ReferendumInfo<BlockNumber, Hash, Balance>> for ReferendumInfo<BlockNumber, Hash, Balance> where
    ReferendumStatus<BlockNumber, Hash, Balance>: Encode,
    ReferendumStatus<BlockNumber, Hash, Balance>: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode, 

impl EncodeLike<Vote> for Vote

impl<Balance> EncodeLike<AccountVote<Balance>> for AccountVote<Balance> where
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<Balance, AccountId, BlockNumber> EncodeLike<Voting<Balance, AccountId, BlockNumber>> for Voting<Balance, AccountId, BlockNumber> where
    Vec<(ReferendumIndex, AccountVote<Balance>)>: Encode,
    Vec<(ReferendumIndex, AccountVote<Balance>)>: Encode,
    Delegations<Balance>: Encode,
    Delegations<Balance>: Encode,
    PriorLock<BlockNumber, Balance>: Encode,
    PriorLock<BlockNumber, Balance>: Encode,
    Balance: Encode,
    Balance: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Delegations<Balance>: Encode,
    Delegations<Balance>: Encode,
    PriorLock<BlockNumber, Balance>: Encode,
    PriorLock<BlockNumber, Balance>: Encode, 

impl EncodeLike<VoteThreshold> for VoteThreshold

impl<AccountId, Balance, BlockNumber> EncodeLike<PreimageStatus<AccountId, Balance, BlockNumber>> for PreimageStatus<AccountId, Balance, BlockNumber> where
    BlockNumber: Encode,
    BlockNumber: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode,
    Option<BlockNumber>: Encode,
    Option<BlockNumber>: Encode, 

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    Vec<T::AccountId>: Encode,
    Vec<T::AccountId>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Hash: Encode,
    T::Hash: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<AccountId, Balance: HasCompact, Solution> EncodeLike<SignedSubmission<AccountId, Balance, Solution>> for SignedSubmission<AccountId, Balance, Solution> where
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode,
    RawSolution<Solution>: Encode,
    RawSolution<Solution>: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<Bn> EncodeLike<Phase<Bn>> for Phase<Bn> where
    Bn: Encode,
    (bool, Bn): Encode, 

impl EncodeLike<ElectionCompute> for ElectionCompute

impl<S> EncodeLike<RawSolution<S>> for RawSolution<S> where
    S: Encode,
    S: Encode, 

impl<A> EncodeLike<ReadySolution<A>> for ReadySolution<A> where
    Supports<A>: Encode,
    Supports<A>: Encode, 

impl<A> EncodeLike<RoundSnapshot<A>> for RoundSnapshot<A> where
    Vec<(A, VoteWeight, Vec<A>)>: Encode,
    Vec<(A, VoteWeight, Vec<A>)>: Encode,
    Vec<A>: Encode,
    Vec<A>: Encode, 

impl EncodeLike<SolutionOrSnapshotSize> for SolutionOrSnapshotSize

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    <T as Config>::AccountId: Encode,
    <T as Config>::AccountId: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    <T as Config>::AccountId: Encode,
    <T as Config>::AccountId: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<Balance> EncodeLike<VoterInfo<Balance>> for VoterInfo<Balance> where
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    Vec<T::AccountId>: Encode,
    Vec<T::AccountId>: Encode,
    Vec<T::AccountId>: Encode,
    Vec<T::AccountId>: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl EncodeLike<Renouncing> for Renouncing

impl<AccountId, Balance> EncodeLike<Voter<AccountId, Balance>> for Voter<AccountId, Balance> where
    Vec<AccountId>: Encode,
    Vec<AccountId>: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<AccountId, Balance> EncodeLike<SeatHolder<AccountId, Balance>> for SeatHolder<AccountId, Balance> where
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    Vec<(<T as Config>::AccountId, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance)>: Encode,
    Vec<(<T as Config>::AccountId, <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance)>: Encode,
    <T as Config>::AccountId: Encode,
    <T as Config>::AccountId: Encode,
    <T as Config>::AccountId: Encode,
    <T as Config>::AccountId: Encode,
    <T as Config>::AccountId: Encode,
    <T as Config>::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <T as Config>::AccountId: Encode,
    <T as Config>::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    <T as Config>::Balance: Encode,
    <T as Config>::Balance: Encode,
    <T as Config>::Balance: Encode,
    <T as Config>::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <T as Config>::Balance: Encode,
    <T as Config>::Balance: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config + Send + Sync> EncodeLike<WatchDummy<T>> for WatchDummy<T> where
    PhantomData<T>: Encode,
    PhantomData<T>: Encode, 

impl EncodeLike<Public> for Public

impl EncodeLike<Signature> for Signature

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<Public, BlockNumber> EncodeLike<PricePayload<Public, BlockNumber>> for PricePayload<Public, BlockNumber> where
    BlockNumber: Encode,
    BlockNumber: Encode,
    Public: Encode,
    Public: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl EncodeLike<EnlistedParticipant> for EnlistedParticipant

impl<Balance, AccountId> EncodeLike<GiltBid<Balance, AccountId>> for GiltBid<Balance, AccountId> where
    Balance: Encode,
    Balance: Encode,
    AccountId: Encode,
    AccountId: Encode, 

impl<Balance, AccountId, BlockNumber> EncodeLike<ActiveGilt<Balance, AccountId, BlockNumber>> for ActiveGilt<Balance, AccountId, BlockNumber> where
    Balance: Encode,
    Balance: Encode,
    AccountId: Encode,
    AccountId: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode, 

impl<Balance> EncodeLike<ActiveGiltsTotal<Balance>> for ActiveGiltsTotal<Balance> where
    Balance: Encode,
    Balance: Encode, 

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl EncodeLike<GrandpaTimeSlot> for GrandpaTimeSlot

impl EncodeLike<Event> for Event

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<N> EncodeLike<StoredPendingChange<N>> for StoredPendingChange<N> where
    N: Encode,
    N: Encode,
    N: Encode,
    N: Encode,
    Option<N>: Encode,
    Option<N>: Encode, 

impl<N> EncodeLike<StoredState<N>> for StoredState<N> where
    N: Encode,
    N: Encode,
    N: Encode,
    N: Encode,
    N: Encode,
    N: Encode,
    N: Encode,
    N: Encode, 

impl EncodeLike<Data> for Data

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

impl<FieldLimit: Get<u32>> EncodeLike<IdentityInfo<FieldLimit>> for IdentityInfo<FieldLimit> where
    BoundedVec<(Data, Data), FieldLimit>: Encode,
    BoundedVec<(Data, Data), FieldLimit>: Encode, 

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

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

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<BlockNumber> EncodeLike<Heartbeat<BlockNumber>> for Heartbeat<BlockNumber> where
    BlockNumber: PartialEq + Eq + Decode + Encode,
    BlockNumber: Encode,
    BlockNumber: Encode, 

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AuthorityId: Encode,
    T::AuthorityId: Encode,
    Vec<IdentificationTuple<T>>: Encode,
    Vec<IdentificationTuple<T>>: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountIndex: Encode,
    T::AccountIndex: Encode,
    T::AccountIndex: Encode,
    T::AccountIndex: Encode,
    T::AccountIndex: Encode,
    T::AccountIndex: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<BlockNumber, Balance> EncodeLike<LotteryConfig<BlockNumber, Balance>> for LotteryConfig<BlockNumber, Balance> where
    Balance: Encode,
    Balance: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode, 

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl EncodeLike<Instance1> for Instance1

impl EncodeLike<Instance2> for Instance2

impl EncodeLike<Instance3> for Instance3

impl EncodeLike<Instance4> for Instance4

impl EncodeLike<Instance5> for Instance5

impl EncodeLike<Instance6> for Instance6

impl EncodeLike<Instance7> for Instance7

impl EncodeLike<Instance8> for Instance8

impl EncodeLike<Instance9> for Instance9

impl EncodeLike<Instance10> for Instance10

impl EncodeLike<Instance11> for Instance11

impl EncodeLike<Instance12> for Instance12

impl EncodeLike<Instance13> for Instance13

impl EncodeLike<Instance14> for Instance14

impl EncodeLike<Instance15> for Instance15

impl EncodeLike<Instance16> for Instance16

impl EncodeLike<DefaultInstance> for DefaultInstance

impl<AccountId, Event, I> EncodeLike<RawEvent<AccountId, Event, I>> for RawEvent<AccountId, Event, I> where
    PhantomData<(AccountId, Event)>: Encode,
    PhantomData<(AccountId, Event)>: Encode, 

impl<T: Config<I>, I: Instance> EncodeLike<Call<T, I>> for Call<T, I> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    Vec<T::AccountId>: Encode,
    Vec<T::AccountId>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode, 

impl<T: Config<I>, I: 'static> EncodeLike<Call<T, I>> for Call<T, I>

impl<Hash> EncodeLike<Proof<Hash>> for Proof<Hash> where
    Vec<Hash>: Encode,
    Vec<Hash>: Encode, 

impl EncodeLike<Error> for Error

impl EncodeLike<EncodableOpaqueLeaf> for EncodableOpaqueLeaf

impl<BlockNumber> EncodeLike<Timepoint<BlockNumber>> for Timepoint<BlockNumber> where
    BlockNumber: Encode,
    BlockNumber: Encode, 

impl<BlockNumber, Balance, AccountId> EncodeLike<Multisig<BlockNumber, Balance, AccountId>> for Multisig<BlockNumber, Balance, AccountId> where
    Timepoint<BlockNumber>: Encode,
    Timepoint<BlockNumber>: Encode,
    Balance: Encode,
    Balance: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Vec<AccountId>: Encode,
    Vec<AccountId>: Encode, 

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    Timepoint<T::BlockNumber>: Encode,
    Timepoint<T::BlockNumber>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    Timepoint<T::BlockNumber>: Encode,
    Timepoint<T::BlockNumber>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    Timepoint<T::BlockNumber>: Encode,
    Timepoint<T::BlockNumber>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    Vec<(PeerId, T::AccountId)>: Encode,
    Vec<(PeerId, T::AccountId)>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl EncodeLike<Event> for Event

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<AccountId, ProxyType, BlockNumber> EncodeLike<ProxyDefinition<AccountId, ProxyType, BlockNumber>> for ProxyDefinition<AccountId, ProxyType, BlockNumber> where
    AccountId: Encode,
    AccountId: Encode,
    ProxyType: Encode,
    ProxyType: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode, 

impl<AccountId, Hash, BlockNumber> EncodeLike<Announcement<AccountId, Hash, BlockNumber>> for Announcement<AccountId, Hash, BlockNumber> where
    AccountId: Encode,
    AccountId: Encode,
    Hash: Encode,
    Hash: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode, 

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ProxyType: Encode,
    T::ProxyType: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode,
    <<T as Config>::CallHasher as Hash>::Output: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<BlockNumber, Balance, AccountId> EncodeLike<ActiveRecovery<BlockNumber, Balance, AccountId>> for ActiveRecovery<BlockNumber, Balance, AccountId> where
    BlockNumber: Encode,
    BlockNumber: Encode,
    Balance: Encode,
    Balance: Encode,
    Vec<AccountId>: Encode,
    Vec<AccountId>: Encode, 

impl<BlockNumber, Balance, AccountId> EncodeLike<RecoveryConfig<BlockNumber, Balance, AccountId>> for RecoveryConfig<BlockNumber, Balance, AccountId> where
    BlockNumber: Encode,
    BlockNumber: Encode,
    Balance: Encode,
    Balance: Encode,
    Vec<AccountId>: Encode,
    Vec<AccountId>: Encode, 

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<Call, BlockNumber, PalletsOrigin, AccountId> EncodeLike<ScheduledV2<Call, BlockNumber, PalletsOrigin, AccountId>> for ScheduledV2<Call, BlockNumber, PalletsOrigin, AccountId> where
    Call: Encode,
    Call: Encode,
    Option<Period<BlockNumber>>: Encode,
    Option<Period<BlockNumber>>: Encode,
    PalletsOrigin: Encode,
    PalletsOrigin: Encode,
    PhantomData<AccountId>: Encode,
    PhantomData<AccountId>: Encode, 

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    T::BlockNumber: Encode,
    TaskAddress<T::BlockNumber>: Encode,
    TaskAddress<T::BlockNumber>: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config<I>, I: 'static> EncodeLike<Event<T, I>> for Event<T, I>

impl<T: Config<I>, I: 'static> EncodeLike<Call<T, I>> for Call<T, I>

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl EncodeLike<Event> for Event

impl<T: Config> EncodeLike<Call<T>> for Call<T> where
    T::Keys: Encode,
    T::Keys: Encode, 

impl EncodeLike<Vote> for Vote

impl EncodeLike<Judgement> for Judgement

impl<Balance, BlockNumber> EncodeLike<Payout<Balance, BlockNumber>> for Payout<Balance, BlockNumber> where
    Balance: Encode,
    Balance: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode,
    Balance: Encode,
    Balance: Encode, 

impl EncodeLike<VouchingStatus> for VouchingStatus

impl<AccountId, Balance> EncodeLike<Bid<AccountId, Balance>> for Bid<AccountId, Balance> where
    AccountId: Encode,
    AccountId: Encode,
    BidKind<AccountId, Balance>: Encode,
    BidKind<AccountId, Balance>: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<AccountId, Balance> EncodeLike<BidKind<AccountId, Balance>> for BidKind<AccountId, Balance> where
    Balance: Encode,
    Balance: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode, 

impl EncodeLike<Instance1> for Instance1

impl EncodeLike<Instance2> for Instance2

impl EncodeLike<Instance3> for Instance3

impl EncodeLike<Instance4> for Instance4

impl EncodeLike<Instance5> for Instance5

impl EncodeLike<Instance6> for Instance6

impl EncodeLike<Instance7> for Instance7

impl EncodeLike<Instance8> for Instance8

impl EncodeLike<Instance9> for Instance9

impl EncodeLike<Instance10> for Instance10

impl EncodeLike<Instance11> for Instance11

impl EncodeLike<Instance12> for Instance12

impl EncodeLike<Instance13> for Instance13

impl EncodeLike<Instance14> for Instance14

impl EncodeLike<Instance15> for Instance15

impl EncodeLike<Instance16> for Instance16

impl EncodeLike<DefaultInstance> for DefaultInstance

impl<T: Config<I>, I: Instance> EncodeLike<Call<T, I>> for Call<T, I> where
    <<T as Config<I>>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config<I>>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config<I>>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config<I>>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config<I>>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config<I>>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    <T::Lookup as StaticLookup>::Source: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode, 

impl<AccountId, Balance, I> EncodeLike<RawEvent<AccountId, Balance, I>> for RawEvent<AccountId, Balance, I> where
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Vec<AccountId>: Encode,
    Vec<AccountId>: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode, 

impl EncodeLike<SlashingSpans> for SlashingSpans

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    BalanceOf<T>: Encode,
    BalanceOf<T>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl EncodeLike<ActiveEraInfo> for ActiveEraInfo

impl<AccountId: Ord> EncodeLike<EraRewardPoints<AccountId>> for EraRewardPoints<AccountId> where
    BTreeMap<AccountId, RewardPoint>: Encode,
    BTreeMap<AccountId, RewardPoint>: Encode, 

impl<AccountId> EncodeLike<RewardDestination<AccountId>> for RewardDestination<AccountId> where
    AccountId: Encode,
    AccountId: Encode, 

impl EncodeLike<ValidatorPrefs> for ValidatorPrefs

impl<Balance: HasCompact> EncodeLike<UnlockChunk<Balance>> for UnlockChunk<Balance> where
    Balance: HasCompact, 

impl<AccountId, Balance: HasCompact> EncodeLike<StakingLedger<AccountId, Balance>> for StakingLedger<AccountId, Balance> where
    AccountId: Encode,
    AccountId: Encode,
    Vec<UnlockChunk<Balance>>: Encode,
    Vec<UnlockChunk<Balance>>: Encode,
    Balance: HasCompact,
    Balance: HasCompact, 

impl<AccountId> EncodeLike<Nominations<AccountId>> for Nominations<AccountId> where
    Vec<AccountId>: Encode,
    Vec<AccountId>: Encode, 

impl<AccountId, Balance: HasCompact> EncodeLike<IndividualExposure<AccountId, Balance>> for IndividualExposure<AccountId, Balance> where
    AccountId: Encode,
    AccountId: Encode,
    Balance: HasCompact, 

impl<AccountId, Balance: HasCompact> EncodeLike<Exposure<AccountId, Balance>> for Exposure<AccountId, Balance> where
    Vec<IndividualExposure<AccountId, Balance>>: Encode,
    Vec<IndividualExposure<AccountId, Balance>>: Encode,
    Balance: HasCompact,
    Balance: HasCompact, 

impl<AccountId, Balance: HasCompact> EncodeLike<UnappliedSlash<AccountId, Balance>> for UnappliedSlash<AccountId, Balance> where
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode,
    Vec<(AccountId, Balance)>: Encode,
    Vec<(AccountId, Balance)>: Encode,
    Vec<AccountId>: Encode,
    Vec<AccountId>: Encode,
    Balance: Encode,
    Balance: Encode, 

impl EncodeLike<Forcing> for Forcing

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<AccountId: Parameter, Balance: Parameter, BlockNumber: Parameter, Hash: Parameter> EncodeLike<OpenTip<AccountId, Balance, BlockNumber, Hash>> for OpenTip<AccountId, Balance, BlockNumber, Hash> where
    Hash: Encode,
    Hash: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode,
    Option<BlockNumber>: Encode,
    Option<BlockNumber>: Encode,
    Vec<(AccountId, Balance)>: Encode,
    Vec<(AccountId, Balance)>: Encode, 

impl<Balance, AccountId, Hash> EncodeLike<RawEvent<Balance, AccountId, Hash>> for RawEvent<Balance, AccountId, Hash> where
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    Hash: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    T::Hash: Encode,
    BalanceOf<T>: HasCompact,
    BalanceOf<T>: HasCompact, 

impl<Balance> EncodeLike<InclusionFee<Balance>> for InclusionFee<Balance> where
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<Balance> EncodeLike<FeeDetails<Balance>> for FeeDetails<Balance> where
    Option<InclusionFee<Balance>>: Encode,
    Option<InclusionFee<Balance>>: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<Balance> EncodeLike<RuntimeDispatchInfo<Balance>> for RuntimeDispatchInfo<Balance> where
    Balance: Encode,
    Balance: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<T: Config> EncodeLike<ChargeTransactionPayment<T>> for ChargeTransactionPayment<T> where
    <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance: HasCompact, 

impl EncodeLike<TransactionInfo> for TransactionInfo

impl<T: Config> EncodeLike<Event<T>> for Event<T>

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<AccountId, Balance> EncodeLike<Proposal<AccountId, Balance>> for Proposal<AccountId, Balance> where
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode,
    AccountId: Encode,
    AccountId: Encode,
    Balance: Encode,
    Balance: Encode, 

impl<T: Config<I>, I: 'static> EncodeLike<Event<T, I>> for Event<T, I> where
    BalanceOf<T, I>: Encode,
    BalanceOf<T, I>: Encode,
    BalanceOf<T, I>: Encode,
    BalanceOf<T, I>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    BalanceOf<T, I>: Encode,
    BalanceOf<T, I>: Encode,
    BalanceOf<T, I>: Encode,
    BalanceOf<T, I>: Encode,
    BalanceOf<T, I>: Encode,
    BalanceOf<T, I>: Encode,
    BalanceOf<T, I>: Encode,
    BalanceOf<T, I>: Encode, 

impl<T: Config<I>, I: 'static> EncodeLike<Call<T, I>> for Call<T, I>

impl<AccountId, DepositBalance> EncodeLike<ClassDetails<AccountId, DepositBalance>> for ClassDetails<AccountId, DepositBalance> where
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    AccountId: Encode,
    DepositBalance: Encode,
    DepositBalance: Encode, 

impl EncodeLike<DestroyWitness> for DestroyWitness

impl<AccountId, DepositBalance> EncodeLike<InstanceDetails<AccountId, DepositBalance>> for InstanceDetails<AccountId, DepositBalance> where
    AccountId: Encode,
    AccountId: Encode,
    Option<AccountId>: Encode,
    Option<AccountId>: Encode,
    DepositBalance: Encode,
    DepositBalance: Encode, 

impl<DepositBalance, StringLimit: Get<u32>> EncodeLike<ClassMetadata<DepositBalance, StringLimit>> for ClassMetadata<DepositBalance, StringLimit> where
    DepositBalance: Encode,
    DepositBalance: Encode,
    BoundedVec<u8, StringLimit>: Encode,
    BoundedVec<u8, StringLimit>: Encode, 

impl<DepositBalance, StringLimit: Get<u32>> EncodeLike<InstanceMetadata<DepositBalance, StringLimit>> for InstanceMetadata<DepositBalance, StringLimit> where
    DepositBalance: Encode,
    DepositBalance: Encode,
    BoundedVec<u8, StringLimit>: Encode,
    BoundedVec<u8, StringLimit>: Encode, 

impl<T: Config<I>, I: 'static> EncodeLike<Event<T, I>> for Event<T, I> where
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::InstanceId: Encode,
    T::InstanceId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::InstanceId: Encode,
    T::InstanceId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::InstanceId: Encode,
    T::InstanceId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::InstanceId: Encode,
    T::InstanceId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::InstanceId: Encode,
    T::InstanceId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::InstanceId: Encode,
    T::InstanceId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::InstanceId: Encode,
    T::InstanceId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    BoundedVec<u8, T::StringLimit>: Encode,
    BoundedVec<u8, T::StringLimit>: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::InstanceId: Encode,
    T::InstanceId: Encode,
    BoundedVec<u8, T::StringLimit>: Encode,
    BoundedVec<u8, T::StringLimit>: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    T::InstanceId: Encode,
    T::InstanceId: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    Vec<T::InstanceId>: Encode,
    Vec<T::InstanceId>: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    Option<T::InstanceId>: Encode,
    Option<T::InstanceId>: Encode,
    BoundedVec<u8, T::KeyLimit>: Encode,
    BoundedVec<u8, T::KeyLimit>: Encode,
    BoundedVec<u8, T::ValueLimit>: Encode,
    BoundedVec<u8, T::ValueLimit>: Encode,
    T::ClassId: Encode,
    T::ClassId: Encode,
    Option<T::InstanceId>: Encode,
    Option<T::InstanceId>: Encode,
    BoundedVec<u8, T::KeyLimit>: Encode,
    BoundedVec<u8, T::KeyLimit>: Encode, 

impl<T: Config<I>, I: 'static> EncodeLike<Call<T, I>> for Call<T, I>

impl EncodeLike<Event> for Event

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl<Balance, BlockNumber> EncodeLike<VestingInfo<Balance, BlockNumber>> for VestingInfo<Balance, BlockNumber> where
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    Balance: Encode,
    BlockNumber: Encode,
    BlockNumber: Encode, 

impl<T: Config> EncodeLike<Event<T>> for Event<T> where
    T::AccountId: Encode,
    T::AccountId: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode, 

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl EncodeLike<Epoch> for Epoch

impl<Hash, Number, E: Epoch> EncodeLike<EpochChangesV0<Hash, Number, E>> for EpochChangesV0<Hash, Number, E> where
    ForkTree<Hash, Number, PersistedEpoch<E>>: Encode,
    ForkTree<Hash, Number, PersistedEpoch<E>>: Encode, 

impl<E: Epoch> EncodeLike<EpochHeader<E>> for EpochHeader<E> where
    E::Slot: Encode,
    E::Slot: Encode,
    E::Slot: Encode,
    E::Slot: Encode, 

impl<E: Epoch> EncodeLike<PersistedEpoch<E>> for PersistedEpoch<E> where
    E: Encode,
    E: Encode,
    E: Encode,
    E: Encode,
    E: Encode,
    E: Encode, 

impl<E: Epoch> EncodeLike<PersistedEpochHeader<E>> for PersistedEpochHeader<E> where
    EpochHeader<E>: Encode,
    EpochHeader<E>: Encode,
    EpochHeader<E>: Encode,
    EpochHeader<E>: Encode,
    EpochHeader<E>: Encode,
    EpochHeader<E>: Encode, 

impl<Hash, Number, E: Epoch> EncodeLike<EpochChanges<Hash, Number, E>> for EpochChanges<Hash, Number, E> where
    ForkTree<Hash, Number, PersistedEpochHeader<E>>: Encode,
    ForkTree<Hash, Number, PersistedEpochHeader<E>>: Encode,
    BTreeMap<(Hash, Number), PersistedEpoch<E>>: Encode,
    BTreeMap<(Hash, Number), PersistedEpoch<E>>: Encode, 

impl<Difficulty> EncodeLike<PowIntermediate<Difficulty>> for PowIntermediate<Difficulty> where
    Option<Difficulty>: Encode,
    Option<Difficulty>: Encode, 

impl<Difficulty> EncodeLike<PowAux<Difficulty>> for PowAux<Difficulty> where
    Difficulty: Encode,
    Difficulty: Encode,
    Difficulty: Encode,
    Difficulty: Encode, 

impl<T> EncodeLike<SlotDuration<T>> for SlotDuration<T> where
    T: Encode,
    T: Encode, 

impl<H, N> EncodeLike<AuthoritySet<H, N>> for AuthoritySet<H, N> where
    ForkTree<H, N, PendingChange<H, N>>: Encode,
    ForkTree<H, N, PendingChange<H, N>>: Encode,
    Vec<PendingChange<H, N>>: Encode,
    Vec<PendingChange<H, N>>: Encode,
    AuthoritySetChanges<N>: Encode,
    AuthoritySetChanges<N>: Encode, 

impl<N> EncodeLike<AuthoritySetChanges<N>> for AuthoritySetChanges<N> where
    Vec<(u64, N)>: Encode,
    Vec<(u64, N)>: Encode, 

impl<Header: HeaderT> EncodeLike<FinalityProof<Header>> for FinalityProof<Header> where
    Header::Hash: Encode,
    Header::Hash: Encode,
    Vec<Header>: Encode,
    Vec<Header>: Encode, 

impl<Block: BlockT> EncodeLike<GrandpaJustification<Block>> for GrandpaJustification<Block> where
    Commit<Block>: Encode,
    Commit<Block>: Encode,
    Vec<Block::Header>: Encode,
    Vec<Block::Header>: Encode, 

impl<Block: BlockT> EncodeLike<WarpSyncFragment<Block>> for WarpSyncFragment<Block> where
    Block::Header: Encode,
    Block::Header: Encode,
    GrandpaJustification<Block>: Encode,
    GrandpaJustification<Block>: Encode, 

impl<Block: BlockT> EncodeLike<WarpSyncProof<Block>> for WarpSyncProof<Block> where
    Vec<WarpSyncFragment<Block>>: Encode,
    Vec<WarpSyncFragment<Block>>: Encode, 

impl<B: BlockT> EncodeLike<Request<B>> for Request<B> where
    B::Hash: Encode,
    B::Hash: Encode, 

impl EncodeLike<OldRuntimeVersion> for OldRuntimeVersion

impl EncodeLike<Public> for Public

impl EncodeLike<Signature> for Signature

impl EncodeLike<Public> for Public

impl EncodeLike<Signature> for Signature

impl EncodeLike<Public> for Public

impl EncodeLike<Signature> for Signature

impl EncodeLike<BigUint> for BigUint

impl EncodeLike<FixedI64> for FixedI64

impl EncodeLike<FixedI128> for FixedI128

impl EncodeLike<FixedU128> for FixedU128

impl EncodeLike<Percent> for Percent

impl EncodeLike<PerU16> for PerU16

impl EncodeLike<Permill> for Permill

impl EncodeLike<Perbill> for Perbill

impl EncodeLike<Perquintill> for Perquintill

impl EncodeLike<InherentError> for InherentError

impl<AuthorityId: Codec> EncodeLike<ConsensusLog<AuthorityId>> for ConsensusLog<AuthorityId> where
    Vec<AuthorityId>: Encode,
    Vec<AuthorityId>: Encode, 

impl EncodeLike<SlotDuration> for SlotDuration

impl EncodeLike<PrimaryPreDigest> for PrimaryPreDigest

impl EncodeLike<SecondaryPlainPreDigest> for SecondaryPlainPreDigest

impl EncodeLike<SecondaryVRFPreDigest> for SecondaryVRFPreDigest

impl EncodeLike<PreDigest> for PreDigest

impl EncodeLike<NextEpochDescriptor> for NextEpochDescriptor

impl EncodeLike<NextConfigDescriptor> for NextConfigDescriptor

impl EncodeLike<ConsensusLog> for ConsensusLog

impl EncodeLike<BabeGenesisConfigurationV1> for BabeGenesisConfigurationV1

impl EncodeLike<BabeGenesisConfiguration> for BabeGenesisConfiguration

impl EncodeLike<AllowedSlots> for AllowedSlots

impl EncodeLike<BabeEpochConfiguration> for BabeEpochConfiguration

impl EncodeLike<OpaqueKeyOwnershipProof> for OpaqueKeyOwnershipProof

impl EncodeLike<Epoch> for Epoch

impl EncodeLike<Slot> for Slot

impl<Header, Id> EncodeLike<EquivocationProof<Header, Id>> for EquivocationProof<Header, Id> where
    Id: Encode,
    Id: Encode,
    Header: Encode,
    Header: Encode,
    Header: Encode,
    Header: Encode, 

impl EncodeLike<VRFOutput> for VRFOutput

impl EncodeLike<VRFProof> for VRFProof

impl EncodeLike<DeriveJunction> for DeriveJunction

impl EncodeLike<AccountId32> for AccountId32

impl EncodeLike<KeyTypeId> for KeyTypeId

impl EncodeLike<CryptoTypeId> for CryptoTypeId

impl EncodeLike<CryptoTypePublicPair> for CryptoTypePublicPair

impl EncodeLike<ChangesTrieConfiguration> for ChangesTrieConfiguration

impl EncodeLike<Public> for Public

impl EncodeLike<Signature> for Signature

impl EncodeLike<Public> for Public

impl EncodeLike<Signature> for Signature

impl EncodeLike<LocalizedSignature> for LocalizedSignature

impl EncodeLike<StorageKind> for StorageKind

impl EncodeLike<HttpRequestId> for HttpRequestId

impl EncodeLike<HttpError> for HttpError

impl EncodeLike<HttpRequestStatus> for HttpRequestStatus

impl EncodeLike<OpaqueNetworkState> for OpaqueNetworkState

impl EncodeLike<OpaqueMultiaddr> for OpaqueMultiaddr

impl EncodeLike<Timestamp> for Timestamp

impl EncodeLike<Duration> for Duration

impl EncodeLike<HostError> for HostError

impl EncodeLike<ExternEntity> for ExternEntity

impl EncodeLike<Entry> for Entry

impl EncodeLike<EnvironmentDefinition> for EnvironmentDefinition

impl EncodeLike<Public> for Public

impl EncodeLike<Signature> for Signature

impl EncodeLike<OpaqueMetadata> for OpaqueMetadata

impl EncodeLike<OpaquePeerId> for OpaquePeerId

impl EncodeLike<NeverNativeValue> for NeverNativeValue

impl EncodeLike<LogLevel> for LogLevel

impl EncodeLike<LogLevelFilter> for LogLevelFilter

impl EncodeLike<Void> for Void

impl<N> EncodeLike<ScheduledChange<N>> for ScheduledChange<N> where
    N: Encode,
    N: Encode, 

impl<N: Codec> EncodeLike<ConsensusLog<N>> for ConsensusLog<N> where
    ScheduledChange<N>: Encode,
    ScheduledChange<N>: Encode,
    N: Encode,
    N: Encode,
    ScheduledChange<N>: Encode,
    ScheduledChange<N>: Encode,
    N: Encode,
    N: Encode,
    N: Encode,
    N: Encode, 

impl<H, N> EncodeLike<EquivocationProof<H, N>> for EquivocationProof<H, N> where
    Equivocation<H, N>: Encode,
    Equivocation<H, N>: Encode, 

impl<H, N> EncodeLike<Equivocation<H, N>> for Equivocation<H, N> where
    Equivocation<AuthorityId, Prevote<H, N>, AuthoritySignature>: Encode,
    Equivocation<AuthorityId, Prevote<H, N>, AuthoritySignature>: Encode,
    Equivocation<AuthorityId, Precommit<H, N>, AuthoritySignature>: Encode,
    Equivocation<AuthorityId, Precommit<H, N>, AuthoritySignature>: Encode, 

impl EncodeLike<OpaqueKeyOwnershipProof> for OpaqueKeyOwnershipProof

impl EncodeLike<InherentData> for InherentData

impl EncodeLike<CheckInherentsResult> for CheckInherentsResult

impl<E> EncodeLike<MakeFatalError<E>> for MakeFatalError<E> where
    E: Encode,
    E: Encode, 

impl EncodeLike<EcdsaVerifyError> for EcdsaVerifyError

impl EncodeLike<KillStorageResult> for KillStorageResult

impl<T: Encode + Decode> EncodeLike<Crossing<T>> for Crossing<T> where
    T: Encode,
    T: Encode, 

impl EncodeLike<VRFTranscriptValue> for VRFTranscriptValue

impl EncodeLike<VRFTranscriptData> for VRFTranscriptData

impl<AccountId, P: PerThing> EncodeLike<Assignment<AccountId, P>> for Assignment<AccountId, P> where
    AccountId: Encode,
    AccountId: Encode,
    Vec<(AccountId, P)>: Encode,
    Vec<(AccountId, P)>: Encode, 

impl<AccountId> EncodeLike<StakedAssignment<AccountId>> for StakedAssignment<AccountId> where
    AccountId: Encode,
    AccountId: Encode,
    Vec<(AccountId, ExtendedBalance)>: Encode,
    Vec<(AccountId, ExtendedBalance)>: Encode, 

impl<VoterIndex, TargetIndex, P: PerThing> EncodeLike<IndexAssignment<VoterIndex, TargetIndex, P>> for IndexAssignment<VoterIndex, TargetIndex, P> where
    VoterIndex: Encode,
    VoterIndex: Encode,
    Vec<(TargetIndex, P)>: Encode,
    Vec<(TargetIndex, P)>: Encode, 

impl<AccountId> EncodeLike<Support<AccountId>> for Support<AccountId> where
    Vec<(AccountId, ExtendedBalance)>: Encode,
    Vec<(AccountId, ExtendedBalance)>: Encode, 

impl<Header, Extrinsic: MaybeSerialize> EncodeLike<Block<Header, Extrinsic>> for Block<Header, Extrinsic> where
    Header: Encode,
    Header: Encode,
    Vec<Extrinsic>: Encode,
    Vec<Extrinsic>: Encode, 

impl<Block> EncodeLike<SignedBlock<Block>> for SignedBlock<Block> where
    Block: Encode,
    Block: Encode, 

impl<Hash> EncodeLike<Digest<Hash>> for Digest<Hash> where
    Vec<DigestItem<Hash>>: Encode,
    Vec<DigestItem<Hash>>: Encode, 

impl EncodeLike<ChangesTrieSignal> for ChangesTrieSignal

impl<Hash: Encode> EncodeLike<DigestItem<Hash>> for DigestItem<Hash>

impl<'a, Hash: Encode> EncodeLike<DigestItemRef<'a, Hash>> for DigestItemRef<'a, Hash>

impl EncodeLike<Era> for Era

impl<Number: Copy + Into<U256> + TryFrom<U256>, Hash: HashT> EncodeLike<Header<Number, Hash>> for Header<Number, Hash> where
    Hash::Output: Encode,
    Hash::Output: Encode,
    Hash::Output: Encode,
    Hash::Output: Encode,
    Hash::Output: Encode,
    Hash::Output: Encode,
    Digest<Hash::Output>: Encode,
    Digest<Hash::Output>: Encode,
    Number: HasCompact, 

impl<Call, Extra> EncodeLike<SignedPayload<Call, Extra>> for SignedPayload<Call, Extra> where
    Call: Encode,
    Extra: SignedExtension

impl<Address, Call, Signature, Extra> EncodeLike<UncheckedExtrinsic<Address, Call, Signature, Extra>> for UncheckedExtrinsic<Address, Call, Signature, Extra> where
    Address: Encode,
    Signature: Encode,
    Call: Encode,
    Extra: SignedExtension

impl<AccountId, AccountIndex> EncodeLike<MultiAddress<AccountId, AccountIndex>> for MultiAddress<AccountId, AccountIndex> where
    AccountId: Encode,
    AccountId: Encode,
    AccountIndex: HasCompact, 

impl EncodeLike<Time> for Time

impl<B: BlockNumberProvider> EncodeLike<BlockAndTimeDeadline<B>> for BlockAndTimeDeadline<B> where
    <B as BlockNumberProvider>::BlockNumber: Encode,
    <B as BlockNumberProvider>::BlockNumber: Encode, 

impl EncodeLike<UintAuthorityId> for UintAuthorityId

impl EncodeLike<TestSignature> for TestSignature

impl<Xt> EncodeLike<ExtrinsicWrapper<Xt>> for ExtrinsicWrapper<Xt> where
    Xt: Encode,
    Xt: Encode, 

impl<Xt> EncodeLike<Block<Xt>> for Block<Xt> where
    Vec<Xt>: Encode,
    Vec<Xt>: Encode, 

impl<Call, Extra> EncodeLike<TestXt<Call, Extra>> for TestXt<Call, Extra> where
    Option<(u64, Extra)>: Encode,
    Option<(u64, Extra)>: Encode,
    Call: Encode,
    Call: Encode, 

impl EncodeLike<BadOrigin> for BadOrigin

impl EncodeLike<LookupError> for LookupError

impl EncodeLike<InvalidTransaction> for InvalidTransaction

impl EncodeLike<UnknownTransaction> for UnknownTransaction

impl EncodeLike<TransactionValidityError> for TransactionValidityError

impl EncodeLike<TransactionSource> for TransactionSource

impl EncodeLike<ValidTransaction> for ValidTransaction

impl EncodeLike<Justifications> for Justifications

impl EncodeLike<MultiSignature> for MultiSignature

impl EncodeLike<MultiSigner> for MultiSigner

impl EncodeLike<AnySignature> for AnySignature

impl EncodeLike<DispatchError> for DispatchError

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

impl EncodeLike<TokenError> for TokenError

impl EncodeLike<ArithmeticError> for ArithmeticError

impl EncodeLike<OpaqueExtrinsic> for OpaqueExtrinsic

impl EncodeLike<MembershipProof> for MembershipProof

impl<Reporter, Offender> EncodeLike<OffenceDetails<Reporter, Offender>> for OffenceDetails<Reporter, Offender> where
    Offender: Encode,
    Offender: Encode,
    Vec<Reporter>: Encode,
    Vec<Reporter>: Encode, 

impl EncodeLike<StorageKey> for StorageKey

impl EncodeLike<TrackedStorageKey> for TrackedStorageKey

impl EncodeLike<StorageData> for StorageData

impl EncodeLike<Extrinsic> for Extrinsic

impl EncodeLike<Timestamp> for Timestamp

impl EncodeLike<InherentError> for InherentError

impl EncodeLike<WasmLevel> for WasmLevel

impl EncodeLike<WasmValue> for WasmValue

impl EncodeLike<WasmFieldName> for WasmFieldName

impl EncodeLike<WasmFields> for WasmFields

impl EncodeLike<WasmValuesSet> for WasmValuesSet

impl EncodeLike<WasmMetadata> for WasmMetadata

impl EncodeLike<WasmEntryAttributes> for WasmEntryAttributes

impl EncodeLike<InherentError> for InherentError

impl EncodeLike<TransactionStorageProof> for TransactionStorageProof

impl EncodeLike<StorageProof> for StorageProof

impl EncodeLike<CompactProof> for CompactProof

impl EncodeLike<RuntimeVersion> for RuntimeVersion

impl EncodeLike<Value> for Value

impl EncodeLike<ReturnValue> for ReturnValue

impl<T: Config> EncodeLike<Call<T>> for Call<T>

impl EncodeLike<Transfer> for Transfer

impl EncodeLike<Extrinsic> for Extrinsic

impl<B: BlockT> EncodeLike<DecodeFails<B>> for DecodeFails<B>

impl EncodeLike<Event> for Event

impl EncodeLike<SessionKeys> for SessionKeys