pub trait EncodeLike<T = Self>: Sized + Encodewhere
    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§

source§

impl EncodeLike<WasmValuesSet> for WasmValuesSet

source§

impl EncodeLike<WasmFields> for WasmFields

source§

impl EncodeLike<WasmEntryAttributes> for WasmEntryAttributes

source§

impl EncodeLike<WasmLevel> for WasmLevel

source§

impl EncodeLike<WasmFieldName> for WasmFieldName

source§

impl EncodeLike<WasmMetadata> for WasmMetadata

source§

impl EncodeLike<WasmValue> for WasmValue

source§

impl<T, U> EncodeLike<VecDeque<U, Global>> for &[T]where
    T: EncodeLike<U>,
    U: Encode,

source§

impl EncodeLike<i32> for i32

source§

impl<T, LikeT> EncodeLike<BTreeSet<LikeT, Global>> for &[(T,)]where
    T: EncodeLike<LikeT>,
    LikeT: Encode,

source§

impl EncodeLike<u128> for u128

source§

impl<I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
    I0: EncodeLike<I1>,
    I1: Encode,
    J0: EncodeLike<J1>,
    J1: Encode,
    K0: EncodeLike<K1>,
    K1: Encode,
    L0: EncodeLike<L1>,
    L1: Encode,
    M0: EncodeLike<M1>,
    M1: Encode,
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl EncodeLike<Bytes> for &[u8]

source§

impl EncodeLike<i8> for i8

source§

impl<T, LikeT> EncodeLike<&[(LikeT,)]> for BTreeSet<T, Global>where
    T: EncodeLike<LikeT>,
    LikeT: Encode,

source§

impl<T> EncodeLike<Arc<T>> for Arc<T>where
    T: Encode + ?Sized,

source§

impl<T, LikeT> EncodeLike<BinaryHeap<LikeT>> for &[(T,)]where
    T: EncodeLike<LikeT>,
    LikeT: Encode,

source§

impl<N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(N1, O1, P1, Q1, R1)> for (N0, O0, P0, Q0, R0)where
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl<F0, F1, G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
    F0: EncodeLike<F1>,
    F1: Encode,
    G0: EncodeLike<G1>,
    G1: Encode,
    H0: EncodeLike<H1>,
    H1: Encode,
    I0: EncodeLike<I1>,
    I1: Encode,
    J0: EncodeLike<J1>,
    J1: Encode,
    K0: EncodeLike<K1>,
    K1: Encode,
    L0: EncodeLike<L1>,
    L1: Encode,
    M0: EncodeLike<M1>,
    M1: Encode,
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

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

source§

impl EncodeLike<i64> for i64

source§

impl<'a, T> EncodeLike<Cow<'a, T>> for Cow<'a, T>where
    T: ToOwned + Encode + ?Sized,

source§

impl<J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
    J0: EncodeLike<J1>,
    J1: Encode,
    K0: EncodeLike<K1>,
    K1: Encode,
    L0: EncodeLike<L1>,
    L1: Encode,
    M0: EncodeLike<M1>,
    M1: Encode,
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl EncodeLike<u64> for u64

source§

impl<H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
    H0: EncodeLike<H1>,
    H1: Encode,
    I0: EncodeLike<I1>,
    I1: Encode,
    J0: EncodeLike<J1>,
    J1: Encode,
    K0: EncodeLike<K1>,
    K1: Encode,
    L0: EncodeLike<L1>,
    L1: Encode,
    M0: EncodeLike<M1>,
    M1: Encode,
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl<K, LikeK, V, LikeV> EncodeLike<BTreeMap<LikeK, LikeV, Global>> for BTreeMap<K, V, Global>where
    K: EncodeLike<LikeK>,
    LikeK: Encode,
    V: EncodeLike<LikeV>,
    LikeV: Encode,

source§

impl EncodeLike<Bytes> for Bytes

source§

impl EncodeLike<Vec<u8, Global>> for Bytes

source§

impl<T, U> EncodeLike<Option<U>> for Option<T>where
    T: EncodeLike<U>,
    U: Encode,

source§

impl<T> EncodeLike<T> for &mut Twhere
    T: Encode,

source§

impl<C0, C1, D0, D1, E0, E1, F0, F1, G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
    C0: EncodeLike<C1>,
    C1: Encode,
    D0: EncodeLike<D1>,
    D1: Encode,
    E0: EncodeLike<E1>,
    E1: Encode,
    F0: EncodeLike<F1>,
    F1: Encode,
    G0: EncodeLike<G1>,
    G1: Encode,
    H0: EncodeLike<H1>,
    H1: Encode,
    I0: EncodeLike<I1>,
    I1: Encode,
    J0: EncodeLike<J1>,
    J1: Encode,
    K0: EncodeLike<K1>,
    K1: Encode,
    L0: EncodeLike<L1>,
    L1: Encode,
    M0: EncodeLike<M1>,
    M1: Encode,
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl EncodeLike<u16> for u16

source§

impl<T, LikeT> EncodeLike<&[(LikeT,)]> for LinkedList<T>where
    T: EncodeLike<LikeT>,
    LikeT: Encode,

source§

impl<K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(K1, L1, M1, N1, O1, P1, Q1, R1)> for (K0, L0, M0, N0, O0, P0, Q0, R0)where
    K0: EncodeLike<K1>,
    K1: Encode,
    L0: EncodeLike<L1>,
    L1: Encode,
    M0: EncodeLike<M1>,
    M1: Encode,
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl<L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(L1, M1, N1, O1, P1, Q1, R1)> for (L0, M0, N0, O0, P0, Q0, R0)where
    L0: EncodeLike<L1>,
    L1: Encode,
    M0: EncodeLike<M1>,
    M1: Encode,
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl<T, U> EncodeLike<&[U]> for VecDeque<T, Global>where
    T: EncodeLike<U>,
    U: Encode,

source§

impl<T, LikeT> EncodeLike<LinkedList<LikeT>> for LinkedList<T>where
    T: EncodeLike<LikeT>,
    LikeT: Encode,

source§

impl<D0, D1, E0, E1, F0, F1, G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
    D0: EncodeLike<D1>,
    D1: Encode,
    E0: EncodeLike<E1>,
    E1: Encode,
    F0: EncodeLike<F1>,
    F1: Encode,
    G0: EncodeLike<G1>,
    G1: Encode,
    H0: EncodeLike<H1>,
    H1: Encode,
    I0: EncodeLike<I1>,
    I1: Encode,
    J0: EncodeLike<J1>,
    J1: Encode,
    K0: EncodeLike<K1>,
    K1: Encode,
    L0: EncodeLike<L1>,
    L1: Encode,
    M0: EncodeLike<M1>,
    M1: Encode,
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl<K, LikeK, V, LikeV> EncodeLike<BTreeMap<LikeK, LikeV, Global>> for &[(K, V)]where
    K: EncodeLike<LikeK>,
    LikeK: Encode,
    V: EncodeLike<LikeV>,
    LikeV: Encode,

source§

impl EncodeLike<i16> for i16

source§

impl<T, LikeT> EncodeLike<&[(LikeT,)]> for BinaryHeap<T>where
    T: EncodeLike<LikeT>,
    LikeT: Encode,

source§

impl<T, LikeT> EncodeLike<LinkedList<LikeT>> for &[(T,)]where
    T: EncodeLike<LikeT>,
    LikeT: Encode,

source§

impl<T> EncodeLike<T> for &Twhere
    T: Encode,

source§

impl<T, U, const N: usize> EncodeLike<[U; N]> for [T; N]where
    T: EncodeLike<U>,
    U: Encode,

source§

impl EncodeLike<u8> for u8

source§

impl<T> EncodeLike<&mut T> for &mut Twhere
    T: Encode + ?Sized,

source§

impl EncodeLike<()> for ()

source§

impl<B0, B1, C0, C1, D0, D1, E0, E1, F0, F1, G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
    B0: EncodeLike<B1>,
    B1: Encode,
    C0: EncodeLike<C1>,
    C1: Encode,
    D0: EncodeLike<D1>,
    D1: Encode,
    E0: EncodeLike<E1>,
    E1: Encode,
    F0: EncodeLike<F1>,
    F1: Encode,
    G0: EncodeLike<G1>,
    G1: Encode,
    H0: EncodeLike<H1>,
    H1: Encode,
    I0: EncodeLike<I1>,
    I1: Encode,
    J0: EncodeLike<J1>,
    J1: Encode,
    K0: EncodeLike<K1>,
    K1: Encode,
    L0: EncodeLike<L1>,
    L1: Encode,
    M0: EncodeLike<M1>,
    M1: Encode,
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl<T> EncodeLike<VecDeque<T, Global>> for VecDeque<T, Global>where
    T: Encode,

source§

impl<T, U> EncodeLike<Vec<U, Global>> for VecDeque<T, Global>where
    T: EncodeLike<U>,
    U: Encode,

source§

impl EncodeLike<bool> for bool

source§

impl EncodeLike<f32> for f32

source§

impl<'a, T> EncodeLike<T> for Cow<'a, T>where
    T: ToOwned + Encode,

source§

impl<M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(M1, N1, O1, P1, Q1, R1)> for (M0, N0, O0, P0, Q0, R0)where
    M0: EncodeLike<M1>,
    M1: Encode,
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl<T, LikeT> EncodeLike<BinaryHeap<LikeT>> for BinaryHeap<T>where
    T: EncodeLike<LikeT>,
    LikeT: Encode,

source§

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

source§

impl<T> EncodeLike<&T> for &Twhere
    T: Encode + ?Sized,

source§

impl<A0, A1, B0, B1, C0, C1, D0, D1, E0, E1, F0, F1, G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
    A0: EncodeLike<A1>,
    A1: Encode,
    B0: EncodeLike<B1>,
    B1: Encode,
    C0: EncodeLike<C1>,
    C1: Encode,
    D0: EncodeLike<D1>,
    D1: Encode,
    E0: EncodeLike<E1>,
    E1: Encode,
    F0: EncodeLike<F1>,
    F1: Encode,
    G0: EncodeLike<G1>,
    G1: Encode,
    H0: EncodeLike<H1>,
    H1: Encode,
    I0: EncodeLike<I1>,
    I1: Encode,
    J0: EncodeLike<J1>,
    J1: Encode,
    K0: EncodeLike<K1>,
    K1: Encode,
    L0: EncodeLike<L1>,
    L1: Encode,
    M0: EncodeLike<M1>,
    M1: Encode,
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl<T> EncodeLike<Rc<T>> for Rc<T>where
    T: Encode + ?Sized,

source§

impl EncodeLike<String> for String

source§

impl<O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(O1, P1, Q1, R1)> for (O0, P0, Q0, R0)where
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl EncodeLike<&str> for String

source§

impl EncodeLike<i128> for i128

source§

impl<T> EncodeLike<T> for Box<T, Global>where
    T: Encode,

source§

impl<T> EncodeLike<T> for &&Twhere
    T: Encode,

source§

impl<E0, E1, F0, F1, G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
    E0: EncodeLike<E1>,
    E1: Encode,
    F0: EncodeLike<F1>,
    F1: Encode,
    G0: EncodeLike<G1>,
    G1: Encode,
    H0: EncodeLike<H1>,
    H1: Encode,
    I0: EncodeLike<I1>,
    I1: Encode,
    J0: EncodeLike<J1>,
    J1: Encode,
    K0: EncodeLike<K1>,
    K1: Encode,
    L0: EncodeLike<L1>,
    L1: Encode,
    M0: EncodeLike<M1>,
    M1: Encode,
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl EncodeLike<f64> for f64

source§

impl EncodeLike<u32> for u32

source§

impl<K, LikeK, V, LikeV> EncodeLike<&[(LikeK, LikeV)]> for BTreeMap<K, V, Global>where
    K: EncodeLike<LikeK>,
    LikeK: Encode,
    V: EncodeLike<LikeV>,
    LikeV: Encode,

source§

impl<G0, G1, H0, H1, I0, I1, J0, J1, K0, K1, L0, L1, M0, M1, N0, N1, O0, O1, P0, P1, Q0, Q1, R0, R1> EncodeLike<(G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1)> for (G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
    G0: EncodeLike<G1>,
    G1: Encode,
    H0: EncodeLike<H1>,
    H1: Encode,
    I0: EncodeLike<I1>,
    I1: Encode,
    J0: EncodeLike<J1>,
    J1: Encode,
    K0: EncodeLike<K1>,
    K1: Encode,
    L0: EncodeLike<L1>,
    L1: Encode,
    M0: EncodeLike<M1>,
    M1: Encode,
    N0: EncodeLike<N1>,
    N1: Encode,
    O0: EncodeLike<O1>,
    O1: Encode,
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl<R0, R1> EncodeLike<(R1,)> for (R0,)where
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl EncodeLike<String> for &str

source§

impl<T, LikeT> EncodeLike<BTreeSet<LikeT, Global>> for BTreeSet<T, Global>where
    T: EncodeLike<LikeT>,
    LikeT: Encode,

source§

impl EncodeLike<&[u8]> for Bytes

source§

impl<Q0, Q1, R0, R1> EncodeLike<(Q1, R1)> for (Q0, R0)where
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl<P0, P1, Q0, Q1, R0, R1> EncodeLike<(P1, Q1, R1)> for (P0, Q0, R0)where
    P0: EncodeLike<P1>,
    P1: Encode,
    Q0: EncodeLike<Q1>,
    Q1: Encode,
    R0: EncodeLike<R1>,
    R1: Encode,

source§

impl<T, U> EncodeLike<Vec<U, Global>> for &[T]where
    T: EncodeLike<U>,
    U: Encode,

source§

impl EncodeLike<Duration> for Duration

source§

impl<T> EncodeLike<Box<T, Global>> for Box<T, Global>where
    T: Encode + ?Sized,

source§

impl EncodeLike<StorageHasher> for StorageHasher

source§

impl<T> EncodeLike<PalletEventMetadata<T>> for PalletEventMetadata<T>where
    T: Form,
    <T as Form>::Type: Encode,

source§

impl EncodeLike<StorageEntryModifier> for StorageEntryModifier

source§

impl EncodeLike<RuntimeMetadata> for RuntimeMetadata

source§

impl<T> EncodeLike<PalletConstantMetadata<T>> for PalletConstantMetadata<T>where
    T: Form,
    <T as Form>::String: Encode,
    <T as Form>::Type: Encode,
    Vec<<T as Form>::String, Global>: Encode,

source§

impl<T> EncodeLike<PalletMetadata<T>> for PalletMetadata<T>where
    T: Form,
    <T as Form>::String: Encode,
    Option<PalletStorageMetadata<T>>: Encode,
    Option<PalletCallMetadata<T>>: Encode,
    Option<PalletEventMetadata<T>>: Encode,
    Vec<PalletConstantMetadata<T>, Global>: Encode,
    Option<PalletErrorMetadata<T>>: Encode,

source§

impl EncodeLike<RuntimeMetadataDeprecated> for RuntimeMetadataDeprecated

source§

impl EncodeLike<RuntimeMetadataPrefixed> for RuntimeMetadataPrefixed

source§

impl<T> EncodeLike<StorageEntryMetadata<T>> for StorageEntryMetadata<T>where
    T: Form,
    <T as Form>::String: Encode,
    StorageEntryType<T>: Encode,
    Vec<<T as Form>::String, Global>: Encode,

source§

impl EncodeLike<OpaqueMetadata> for OpaqueMetadata

source§

impl<T> EncodeLike<PalletCallMetadata<T>> for PalletCallMetadata<T>where
    T: Form,
    <T as Form>::Type: Encode,

source§

impl<T> EncodeLike<ExtrinsicMetadata<T>> for ExtrinsicMetadata<T>where
    T: Form,
    <T as Form>::Type: Encode,
    Vec<SignedExtensionMetadata<T>, Global>: Encode,

source§

impl<T> EncodeLike<SignedExtensionMetadata<T>> for SignedExtensionMetadata<T>where
    T: Form,
    <T as Form>::String: Encode,
    <T as Form>::Type: Encode,

source§

impl EncodeLike<RuntimeMetadataV14> for RuntimeMetadataV14

source§

impl<T> EncodeLike<PalletErrorMetadata<T>> for PalletErrorMetadata<T>where
    T: Form,
    <T as Form>::Type: Encode,

source§

impl<T> EncodeLike<StorageEntryType<T>> for StorageEntryType<T>where
    T: Form,
    <T as Form>::Type: Encode,

source§

impl<T> EncodeLike<PalletStorageMetadata<T>> for PalletStorageMetadata<T>where
    T: Form,
    <T as Form>::String: Encode,
    Vec<StorageEntryMetadata<T>, Global>: Encode,

source§

impl<T> EncodeLike<Type<T>> for Type<T>where
    T: Form,
    Path<T>: Encode,
    Vec<TypeParameter<T>, Global>: Encode,
    TypeDef<T>: Encode,
    Vec<<T as Form>::String, Global>: Encode,

source§

impl<T> EncodeLike<TypeDefSequence<T>> for TypeDefSequence<T>where
    T: Form,
    <T as Form>::Type: Encode,

source§

impl EncodeLike<PortableRegistry> for PortableRegistry

source§

impl EncodeLike<TypeDefPrimitive> for TypeDefPrimitive

source§

impl<T> EncodeLike<TypeDefVariant<T>> for TypeDefVariant<T>where
    T: Form,
    Vec<Variant<T>, Global>: Encode,

source§

impl<T> EncodeLike<TypeDefCompact<T>> for TypeDefCompact<T>where
    T: Form,
    <T as Form>::Type: Encode,

source§

impl<T> EncodeLike<Variant<T>> for Variant<T>where
    T: Form,
    <T as Form>::String: Encode,
    Vec<Field<T>, Global>: Encode,
    Vec<<T as Form>::String, Global>: Encode,

source§

impl<T> EncodeLike<TypeDefBitSequence<T>> for TypeDefBitSequence<T>where
    T: Form,
    <T as Form>::Type: Encode,

source§

impl<T> EncodeLike<TypeDef<T>> for TypeDef<T>where
    T: Form,
    TypeDefComposite<T>: Encode,
    TypeDefVariant<T>: Encode,
    TypeDefSequence<T>: Encode,
    TypeDefArray<T>: Encode,
    TypeDefTuple<T>: Encode,
    TypeDefCompact<T>: Encode,
    TypeDefBitSequence<T>: Encode,

source§

impl<T> EncodeLike<Path<T>> for Path<T>where
    T: Form,
    Vec<<T as Form>::String, Global>: Encode,

source§

impl<T> EncodeLike<TypeParameter<T>> for TypeParameter<T>where
    T: Form,
    <T as Form>::String: Encode,
    Option<<T as Form>::Type>: Encode,

source§

impl<T> EncodeLike<Field<T>> for Field<T>where
    T: Form,
    Option<<T as Form>::String>: Encode,
    <T as Form>::Type: Encode,
    Vec<<T as Form>::String, Global>: Encode,

source§

impl<T> EncodeLike<TypeDefTuple<T>> for TypeDefTuple<T>where
    T: Form,
    Vec<<T as Form>::Type, Global>: Encode,

source§

impl<T> EncodeLike<UntrackedSymbol<T>> for UntrackedSymbol<T>where
    PhantomData<fn() -> T>: Encode,

source§

impl<T> EncodeLike<TypeDefArray<T>> for TypeDefArray<T>where
    T: Form,
    <T as Form>::Type: Encode,

source§

impl<T> EncodeLike<TypeDefComposite<T>> for TypeDefComposite<T>where
    T: Form,
    Vec<Field<T>, Global>: Encode,

source§

impl EncodeLike<CryptoTypeId> for CryptoTypeId

source§

impl EncodeLike<Signature> for Signature

source§

impl EncodeLike<StorageKind> for StorageKind

source§

impl EncodeLike<DeriveJunction> for DeriveJunction

source§

impl EncodeLike<Public> for Public

source§

impl EncodeLike<OpaqueMetadata> for OpaqueMetadata

source§

impl EncodeLike<Signature> for Signature

source§

impl EncodeLike<CryptoTypePublicPair> for CryptoTypePublicPair

source§

impl EncodeLike<Signature> for Signature

source§

impl EncodeLike<Public> for Public

source§

impl EncodeLike<HttpRequestId> for HttpRequestId

source§

impl EncodeLike<LogLevel> for LogLevel

source§

impl EncodeLike<KeyTypeId> for KeyTypeId

source§

impl EncodeLike<LogLevelFilter> for LogLevelFilter

source§

impl EncodeLike<OpaquePeerId> for OpaquePeerId

source§

impl EncodeLike<OpaqueMultiaddr> for OpaqueMultiaddr

source§

impl EncodeLike<OpaqueNetworkState> for OpaqueNetworkState

source§

impl EncodeLike<Timestamp> for Timestamp

source§

impl EncodeLike<Duration> for Duration

source§

impl EncodeLike<HttpRequestStatus> for HttpRequestStatus

source§

impl EncodeLike<AccountId32> for AccountId32

source§

impl EncodeLike<LocalizedSignature> for LocalizedSignature

source§

impl EncodeLike<Public> for Public

source§

impl EncodeLike<HttpError> for HttpError

§

impl EncodeLike<Value> for Value

§

impl EncodeLike<ReturnValue> for ReturnValue

§

impl EncodeLike<ChildTrieParentKeyId> for ChildTrieParentKeyId

§

impl EncodeLike<StorageKey> for StorageKey

§

impl EncodeLike<StorageData> for StorageData

§

impl EncodeLike<H512> for H512

§

impl EncodeLike<H768> for H768

§

impl EncodeLike<U256> for U256

§

impl EncodeLike<H256> for H256

§

impl EncodeLike<U128> for U128

§

impl EncodeLike<H160> for H160

§

impl EncodeLike<H128> for H128

§

impl EncodeLike<U512> for U512

§

impl EncodeLike<H384> for H384

source§

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

source§

impl EncodeLike<EcdsaVerifyError> for EcdsaVerifyError

§

impl EncodeLike<VRFTranscriptValue> for VRFTranscriptValue

§

impl EncodeLike<VRFTranscriptData> for VRFTranscriptData

§

impl EncodeLike<StorageProof> for StorageProof

§

impl EncodeLike<CompactProof> for CompactProof

source§

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

source§

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

source§

impl EncodeLike<Digest> for Digest

source§

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

source§

impl EncodeLike<TransactionalError> for TransactionalError

source§

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

source§

impl EncodeLike<Justifications> for Justifications

source§

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

source§

impl EncodeLike<TestSignature> for TestSignature

source§

impl EncodeLike<DigestItem> for DigestItem

source§

impl EncodeLike<DispatchError> for DispatchError

source§

impl EncodeLike<Era> for Era

source§

impl EncodeLike<BadOrigin> for BadOrigin

source§

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

source§

impl EncodeLike<ModuleError> for ModuleError

source§

impl EncodeLike<AnySignature> for AnySignature

source§

impl<'a> EncodeLike<DigestItemRef<'a>> for DigestItemRef<'a>

source§

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

source§

impl EncodeLike<LookupError> for LookupError

source§

impl EncodeLike<MultiSigner> for MultiSigner

source§

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

source§

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

source§

impl EncodeLike<OpaqueExtrinsic> for OpaqueExtrinsic

source§

impl EncodeLike<TokenError> for TokenError

source§

impl EncodeLike<Time> for Time

source§

impl EncodeLike<MultiSignature> for MultiSignature

source§

impl EncodeLike<ModuleError> for ModuleError

source§

impl<Block> EncodeLike<BlockId<Block>> for BlockId<Block>where
    Block: Block,
    <Block as Block>::Hash: Encode,
    <<Block as Block>::Header as Header>::Number: Encode,

source§

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

source§

impl EncodeLike<UintAuthorityId> for UintAuthorityId

source§

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,

source§

impl EncodeLike<Percent> for Percent

source§

impl EncodeLike<ArithmeticError> for ArithmeticError

source§

impl EncodeLike<Perbill> for Perbill

source§

impl EncodeLike<FixedU64> for FixedU64

source§

impl EncodeLike<Permill> for Permill

source§

impl EncodeLike<FixedI128> for FixedI128

source§

impl EncodeLike<PerU16> for PerU16

source§

impl EncodeLike<FixedI64> for FixedI64

source§

impl EncodeLike<FixedU128> for FixedU128

source§

impl EncodeLike<BigUint> for BigUint

source§

impl EncodeLike<Perquintill> for Perquintill

§

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

source§

impl EncodeLike<DisableStrategy> for DisableStrategy

source§

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

§

impl EncodeLike<RuntimeVersion> for RuntimeVersion

Implementors§

source§

impl EncodeLike<Never> for Never

source§

impl EncodeLike<Void> for Void

source§

impl EncodeLike<DispatchError> for frame_support::pallet_prelude::DispatchError

source§

impl EncodeLike<InvalidTransaction> for InvalidTransaction

source§

impl EncodeLike<TransactionSource> for TransactionSource

source§

impl EncodeLike<TransactionValidityError> for TransactionValidityError

source§

impl EncodeLike<UnknownTransaction> for UnknownTransaction

§

impl EncodeLike<ChildInfo> for ChildInfo

source§

impl EncodeLike<KillStorageResult> for KillStorageResult

§

impl EncodeLike<StateVersion> for StateVersion

source§

impl EncodeLike<ProcessMessageError> for ProcessMessageError

source§

impl EncodeLike<LookupError> for frame_support::traits::schedule::LookupError

source§

impl EncodeLike<BalanceStatus> for BalanceStatus

source§

impl EncodeLike<DispatchClass> for DispatchClass

source§

impl EncodeLike<Pays> for Pays

source§

impl EncodeLike<CheckInherentsResult> for CheckInherentsResult

source§

impl EncodeLike<InherentData> for InherentData

source§

impl EncodeLike<ValidTransaction> for ValidTransaction

source§

impl EncodeLike<Weight> for Weight

§

impl EncodeLike<MultiRemovalResults> for MultiRemovalResults

source§

impl EncodeLike<PalletId> for PalletId

source§

impl EncodeLike<CrateVersion> for CrateVersion

source§

impl EncodeLike<StorageInfo> for StorageInfo

source§

impl EncodeLike<StorageVersion> for StorageVersion

§

impl EncodeLike<TrackedStorageKey> for TrackedStorageKey

source§

impl EncodeLike<WithdrawReasons> for WithdrawReasons

source§

impl EncodeLike<OldWeight> for OldWeight

source§

impl EncodeLike<RuntimeDbWeight> for RuntimeDbWeight

source§

impl EncodeLike<OptionBool> for OptionBool

source§

impl EncodeLike<DispatchInfo> for DispatchInfo

source§

impl EncodeLike<PostDispatchInfo> for PostDispatchInfo

source§

impl EncodeLike<Bytes> for Vec<u8, Global>

source§

impl<'a, T> EncodeLike<Cow<'a, T>> for Twhere
    T: ToOwned + Encode,

source§

impl<'a, T> EncodeLike<CompactRef<'a, T>> for CompactRef<'a, T>where
    T: CompactAs,
    CompactRef<'b, <T as CompactAs>::As>: for<'b> Encode,

source§

impl<'a, T, S> EncodeLike<BoundedSlice<'a, T, S>> for BoundedSlice<'a, T, S>where
    T: Encode,
    &'a [T]: Encode,
    PhantomData<S>: Encode,

source§

impl<'a, T, S> EncodeLike<BoundedVec<T, S>> for BoundedSlice<'a, T, S>where
    T: Encode + Decode,
    S: Get<u32>,

source§

impl<'a, T, S> EncodeLike<WeakBoundedVec<T, S>> for BoundedSlice<'a, T, S>where
    T: Encode + Decode,
    S: Get<u32>,

source§

impl<'a, T, S> EncodeLike<Vec<T, Global>> for BoundedSlice<'a, T, S>where
    T: Encode + Decode,
    S: Get<u32>,

source§

impl<'a, T, U> EncodeLike<U> for &Ref<'a, T, U>where
    T: EncodeLike<U>,
    U: Encode,

source§

impl<'a, T, U> EncodeLike<U> for Ref<'a, T, U>where
    T: EncodeLike<U>,
    U: Encode,

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<K, V, S> EncodeLike<BoundedBTreeMap<K, V, S>> for BoundedBTreeMap<K, V, S>where
    BTreeMap<K, V, Global>: Encode,
    PhantomData<S>: Encode,

source§

impl<K, V, S> EncodeLike<BTreeMap<K, V, Global>> for BoundedBTreeMap<K, V, S>where
    BTreeMap<K, V, Global>: Encode,

source§

impl<T> EncodeLike<&&T> for Twhere
    T: Encode,

source§

impl<T> EncodeLike<Bounded<T>> for Bounded<T>where
    PhantomData<T>: Encode,

source§

impl<T> EncodeLike<&T> for Twhere
    T: Encode,

source§

impl<T> EncodeLike<&mut T> for Twhere
    T: Encode,

source§

impl<T> EncodeLike<PhantomData<T>> for PhantomData<T>

source§

impl<T> EncodeLike<Box<T, Global>> for Twhere
    T: Encode,

source§

impl<T> EncodeLike<Rc<T>> for Twhere
    T: Encode,

source§

impl<T> EncodeLike<Arc<T>> for Twhere
    T: Encode,

source§

impl<T> EncodeLike<Compact<T>> for Compact<T>where
    CompactRef<'a, T>: for<'a> Encode,

source§

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

source§

impl<T, Hash> EncodeLike<MaybeHashed<T, Hash>> for MaybeHashed<T, Hash>where
    T: Encode,
    Hash: Encode,

source§

impl<T, LikeT, E, LikeE> EncodeLike<Result<LikeT, LikeE>> for Result<T, E>where
    T: EncodeLike<LikeT>,
    LikeT: Encode,
    E: EncodeLike<LikeE>,
    LikeE: Encode,

source§

impl<T, S> EncodeLike<BoundedBTreeSet<T, S>> for BoundedBTreeSet<T, S>where
    BTreeSet<T, Global>: Encode,
    PhantomData<S>: Encode,

source§

impl<T, S> EncodeLike<BoundedVec<T, S>> for BoundedVec<T, S>where
    Vec<T, Global>: Encode,
    PhantomData<S>: Encode,

source§

impl<T, S> EncodeLike<WeakBoundedVec<T, S>> for WeakBoundedVec<T, S>where
    Vec<T, Global>: Encode,
    PhantomData<S>: Encode,

source§

impl<T, S> EncodeLike<BTreeSet<T, Global>> for BoundedBTreeSet<T, S>where
    BTreeSet<T, Global>: Encode,

source§

impl<T, S> EncodeLike<Vec<T, Global>> for BoundedVec<T, S>where
    T: Encode + Decode,
    S: Get<u32>,

source§

impl<T, U> EncodeLike<&[U]> for Vec<T, Global>where
    T: EncodeLike<U>,
    U: Encode,

source§

impl<T, U> EncodeLike<VecDeque<U, Global>> for Vec<T, Global>where
    T: EncodeLike<U>,
    U: Encode,

source§

impl<T, U> EncodeLike<Vec<U, Global>> for Vec<T, Global>where
    T: EncodeLike<U>,
    U: Encode,

source§

impl<T: Encode> EncodeLike<WrapperKeepOpaque<T>> for WrapperKeepOpaque<T>

source§

impl<T: Encode> EncodeLike<WrapperKeepOpaque<T>> for WrapperOpaque<T>

source§

impl<T: Encode> EncodeLike<WrapperOpaque<T>> for WrapperKeepOpaque<T>

source§

impl<T: Encode> EncodeLike<WrapperOpaque<T>> for WrapperOpaque<T>