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<WasmMetadata> for WasmMetadata

source§

impl EncodeLike<WasmLevel> for WasmLevel

source§

impl EncodeLike<WasmValuesSet> for WasmValuesSet

source§

impl EncodeLike<WasmFields> for WasmFields

source§

impl EncodeLike<WasmEntryAttributes> for WasmEntryAttributes

source§

impl EncodeLike<WasmFieldName> for WasmFieldName

source§

impl EncodeLike<WasmValue> for WasmValue

§

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

§

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

§

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

§

impl EncodeLike<i128> for i128

§

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

§

impl EncodeLike<bool> for bool

§

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

§

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

§

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

§

impl EncodeLike<String> for String

§

impl EncodeLike<Duration> for Duration

§

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

§

impl EncodeLike<i64> for i64

§

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

§

impl EncodeLike<Bytes> for &[u8]

§

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

§

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,

§

impl EncodeLike<u64> for u64

§

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

§

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

§

impl EncodeLike<String> for &str

§

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,

§

impl EncodeLike<Bytes> for Bytes

§

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

§

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

§

impl EncodeLike<u32> for u32

§

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,

§

impl EncodeLike<&str> for String

§

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

§

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

§

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

§

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,

§

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,

§

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

§

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

§

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

§

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

§

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

§

impl EncodeLike<u8> for u8

§

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

§

impl EncodeLike<()> for ()

§

impl EncodeLike<u128> for u128

§

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,

§

impl EncodeLike<f64> for f64

§

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

§

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

§

impl EncodeLike<i8> for i8

§

impl EncodeLike<i16> for i16

§

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,

§

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,

§

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,

§

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

§

impl EncodeLike<&[u8]> for Bytes

§

impl EncodeLike<f32> for f32

§

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,

§

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

§

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

§

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,

§

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

§

impl EncodeLike<u16> for u16

§

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

§

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,

§

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

§

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

§

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,

§

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

§

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,

§

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,

§

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

§

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,

§

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,

§

impl EncodeLike<i32> for i32

§

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

§

impl EncodeLike<RuntimeMetadata> for RuntimeMetadata

§

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

§

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

§

impl EncodeLike<RuntimeMetadataDeprecated> for RuntimeMetadataDeprecated

§

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

§

impl EncodeLike<StorageHasher> for StorageHasher

§

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

§

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,

§

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

§

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

§

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

§

impl EncodeLike<RuntimeMetadataV15> for RuntimeMetadataV15

§

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

§

impl EncodeLike<RuntimeMetadataPrefixed> for RuntimeMetadataPrefixed

§

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,

§

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

§

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,

§

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

§

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

§

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

§

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

§

impl EncodeLike<StorageHasher> for StorageHasher

§

impl EncodeLike<OpaqueMetadata> for OpaqueMetadata

§

impl EncodeLike<StorageEntryModifier> for StorageEntryModifier

§

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,

§

impl EncodeLike<StorageEntryModifier> for StorageEntryModifier

§

impl EncodeLike<RuntimeMetadataV14> for RuntimeMetadataV14

§

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, Vec<<T as Form>::String, Global>: Encode,

§

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

§

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,

§

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

§

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

§

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

§

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

§

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,

§

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

§

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

§

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

§

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

§

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

§

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,

§

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,

§

impl EncodeLike<PortableRegistry> for PortableRegistry

§

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

§

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

§

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,

§

impl EncodeLike<TypeDefPrimitive> for TypeDefPrimitive

§

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

source§

impl EncodeLike<HttpError> for HttpError

source§

impl EncodeLike<OpaqueMultiaddr> for OpaqueMultiaddr

source§

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

source§

impl EncodeLike<KeyTypeId> for KeyTypeId

source§

impl EncodeLike<Public> for Public

source§

impl EncodeLike<CryptoTypeId> for CryptoTypeId

source§

impl EncodeLike<Signature> for Signature

source§

impl EncodeLike<HttpRequestStatus> for HttpRequestStatus

source§

impl EncodeLike<LogLevel> for LogLevel

source§

impl EncodeLike<DeriveJunction> for DeriveJunction

source§

impl EncodeLike<Public> for Public

source§

impl EncodeLike<OpaqueNetworkState> for OpaqueNetworkState

source§

impl EncodeLike<Timestamp> for Timestamp

source§

impl EncodeLike<LogLevelFilter> for LogLevelFilter

source§

impl EncodeLike<Signature> for Signature

source§

impl EncodeLike<OpaquePeerId> for OpaquePeerId

source§

impl EncodeLike<AccountId32> for AccountId32

source§

impl EncodeLike<HttpRequestId> for HttpRequestId

source§

impl EncodeLike<Signature> for Signature

source§

impl EncodeLike<VrfSignature> for VrfSignature

source§

impl EncodeLike<Duration> for Duration

source§

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

source§

impl EncodeLike<Public> for Public

source§

impl EncodeLike<StorageKind> for StorageKind

source§

impl EncodeLike<ReturnValue> for ReturnValue

source§

impl EncodeLike<Value> for Value

source§

impl EncodeLike<StorageKey> for StorageKey

source§

impl EncodeLike<StorageData> for StorageData

source§

impl EncodeLike<ChildTrieParentKeyId> for ChildTrieParentKeyId

§

impl EncodeLike<U512> for U512

§

impl EncodeLike<H256> for H256

§

impl EncodeLike<H768> for H768

§

impl EncodeLike<H384> for H384

§

impl EncodeLike<U256> for U256

§

impl EncodeLike<H128> for H128

§

impl EncodeLike<H160> for H160

§

impl EncodeLike<H512> for H512

§

impl EncodeLike<U128> for U128

source§

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

source§

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

source§

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

source§

impl EncodeLike<StorageEntryModifierIR> for StorageEntryModifierIR

source§

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

source§

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

source§

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

source§

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

source§

impl EncodeLike<StorageHasherIR> for StorageHasherIR

source§

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

source§

impl<T> EncodeLike<PalletConstantMetadataIR<T>> for PalletConstantMetadataIR<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<RuntimeApiMethodMetadataIR<T>> for RuntimeApiMethodMetadataIR<T>where T: Form, <T as Form>::String: Encode, Vec<RuntimeApiMethodParamMetadataIR<T>, Global>: Encode, <T as Form>::Type: Encode, Vec<<T as Form>::String, Global>: Encode,

source§

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

source§

impl<T> EncodeLike<PalletMetadataIR<T>> for PalletMetadataIR<T>where T: Form, <T as Form>::String: Encode, Option<PalletStorageMetadataIR<T>>: Encode, Option<PalletCallMetadataIR<T>>: Encode, Option<PalletEventMetadataIR<T>>: Encode, Vec<PalletConstantMetadataIR<T>, Global>: Encode, Option<PalletErrorMetadataIR<T>>: Encode, Vec<<T as Form>::String, Global>: Encode,

source§

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

source§

impl EncodeLike<ModuleError> for ModuleError

source§

impl EncodeLike<Era> for Era

source§

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

source§

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

source§

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

source§

impl EncodeLike<OpaqueExtrinsic> for OpaqueExtrinsic

source§

impl EncodeLike<TransactionalError> for TransactionalError

source§

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

source§

impl EncodeLike<Digest> for Digest

source§

impl EncodeLike<DigestItem> for DigestItem

source§

impl EncodeLike<BadOrigin> for BadOrigin

source§

impl EncodeLike<Justifications> for Justifications

source§

impl EncodeLike<DispatchError> for DispatchError

source§

impl EncodeLike<AnySignature> for AnySignature

source§

impl EncodeLike<TestSignature> for TestSignature

source§

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

source§

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

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<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<TokenError> for TokenError

source§

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

source§

impl EncodeLike<MultiSigner> for MultiSigner

source§

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

source§

impl EncodeLike<LookupError> for LookupError

source§

impl EncodeLike<ModuleError> for ModuleError

source§

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

source§

impl EncodeLike<UintAuthorityId> for UintAuthorityId

source§

impl EncodeLike<Time> for Time

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<Xt> EncodeLike<Block<Xt>> for Block<Xt>where Vec<Xt, Global>: Encode,

source§

impl EncodeLike<MultiSignature> for MultiSignature

source§

impl EncodeLike<FixedU64> for FixedU64

source§

impl EncodeLike<PerU16> for PerU16

source§

impl EncodeLike<Perbill> for Perbill

source§

impl EncodeLike<Perquintill> for Perquintill

source§

impl EncodeLike<FixedI128> for FixedI128

source§

impl EncodeLike<FixedI64> for FixedI64

source§

impl EncodeLike<BigUint> for BigUint

source§

impl EncodeLike<ArithmeticError> for ArithmeticError

source§

impl EncodeLike<Permill> for Permill

source§

impl EncodeLike<Percent> for Percent

source§

impl EncodeLike<FixedU128> for FixedU128

source§

impl EncodeLike<Signature> for Signature

source§

impl EncodeLike<Public> for Public

source§

impl EncodeLike<Signature> for Signature

source§

impl EncodeLike<Public> for Public

source§

impl EncodeLike<Public> for Public

source§

impl EncodeLike<Signature> for Signature

source§

impl EncodeLike<EcdsaVerifyError> for EcdsaVerifyError

source§

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

source§

impl EncodeLike<CompactProof> for CompactProof

source§

impl EncodeLike<StorageProof> for StorageProof

source§

impl EncodeLike<RuntimeVersion> for RuntimeVersion

source§

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

source§

impl EncodeLike<DisableStrategy> for DisableStrategy

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

source§

impl EncodeLike<ChildInfo> for ChildInfo

source§

impl EncodeLike<KillStorageResult> for KillStorageResult

source§

impl EncodeLike<StateVersion> for StateVersion

source§

impl EncodeLike<ProcessMessageError> for ProcessMessageError

source§

impl EncodeLike<Select> for Select

source§

impl EncodeLike<UpgradeCheckSelect> for UpgradeCheckSelect

source§

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

source§

impl EncodeLike<BalanceStatus> for BalanceStatus

source§

impl EncodeLike<PaymentStatus> for PaymentStatus

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

source§

impl EncodeLike<MultiRemovalResults> for MultiRemovalResults

source§

impl EncodeLike<OpaqueMetadata> for frame_support::OpaqueMetadata

source§

impl EncodeLike<PalletId> for PalletId

source§

impl EncodeLike<CrateVersion> for CrateVersion

source§

impl EncodeLike<StorageInfo> for StorageInfo

source§

impl EncodeLike<StorageVersion> for StorageVersion

source§

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<DispatchInfo> for DispatchInfo

source§

impl EncodeLike<PostDispatchInfo> for PostDispatchInfo

§

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

§

impl EncodeLike<OptionBool> for OptionBool

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<'a, T, U> EncodeLike<U> for Ref<'a, T, U>where T: EncodeLike<U>, U: 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,

§

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

§

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

§

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

source§

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

§

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

§

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

§

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

§

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

§

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

§

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

source§

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

§

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

source§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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>