Trait EncodeLike

Source
pub trait EncodeLike<T = Self>: Sized + 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));
}

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl EncodeLike for MultiSignature

Source§

impl EncodeLike for RuntimePhase

Source§

impl EncodeLike for RuntimeMetadata

Source§

impl EncodeLike for RuntimeMetadata

Source§

impl EncodeLike for RuntimeMetadataDeprecated

Source§

impl EncodeLike for RuntimeMetadataDeprecated

Source§

impl EncodeLike for StorageEntryModifier

Source§

impl EncodeLike for StorageEntryModifier

Source§

impl EncodeLike for StorageHasher

Source§

impl EncodeLike for StorageHasher

Source§

impl EncodeLike for bool

Source§

impl EncodeLike for f32

Source§

impl EncodeLike for f64

Source§

impl EncodeLike for i8

Source§

impl EncodeLike for i16

Source§

impl EncodeLike for i32

Source§

impl EncodeLike for i64

Source§

impl EncodeLike for i128

Source§

impl EncodeLike for u8

Source§

impl EncodeLike for u16

Source§

impl EncodeLike for u32

Source§

impl EncodeLike for u64

Source§

impl EncodeLike for u128

Source§

impl EncodeLike for ()

Source§

impl EncodeLike for String

Source§

impl EncodeLike for AppId

Source§

impl EncodeLike for DataLookupItem

Source§

impl EncodeLike for Cell

Source§

impl EncodeLike for OpaqueMetadata

Source§

impl EncodeLike for OpaqueMetadata

Source§

impl EncodeLike for RuntimeMetadataPrefixed

Source§

impl EncodeLike for RuntimeMetadataPrefixed

Source§

impl EncodeLike for RuntimeMetadataV14

Source§

impl EncodeLike for RuntimeMetadataV14

Source§

impl EncodeLike for RuntimeMetadataV15

Source§

impl EncodeLike for RuntimeMetadataV15

Source§

impl EncodeLike<&str> for String

Source§

impl EncodeLike<String> for &str

Source§

impl<'a, T, S> EncodeLike 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<Vec<T>> 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<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<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<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<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<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<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<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<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<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<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<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<K, LikeK, V, LikeV> EncodeLike<BTreeMap<LikeK, LikeV>> for &[(K, V)]
where K: EncodeLike<LikeK>, LikeK: Encode, V: EncodeLike<LikeV>, LikeV: Encode,

Source§

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

Source§

impl<K, V, S> EncodeLike<BTreeMap<K, V>> for BoundedBTreeMap<K, V, S>
where BTreeMap<K, V>: 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<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<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<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<O, T> EncodeLike for BitBox<T, O>
where O: BitOrder, T: BitStore + Encode,

Source§

impl<O, T> EncodeLike for BitVec<T, O>
where O: BitOrder, T: BitStore + 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<Q0, Q1, R0, R1> EncodeLike<(Q1, R1)> for (Q0, R0)
where 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<T> EncodeLike for Cow<'_, T>
where T: ToOwned + Encode + ?Sized,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T> EncodeLike for ExtrinsicMetadata<T>

Source§

impl<T> EncodeLike for ExtrinsicMetadata<T>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T> EncodeLike for PalletMetadata<T>

Source§

impl<T> EncodeLike for PalletMetadata<T>

Source§

impl<T> EncodeLike for PalletStorageMetadata<T>

Source§

impl<T> EncodeLike for PalletStorageMetadata<T>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T> EncodeLike for CustomMetadata<T>

Source§

impl<T> EncodeLike for CustomMetadata<T>

Source§

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

Source§

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

Source§

impl<T> EncodeLike for ExtrinsicMetadata<T>

Source§

impl<T> EncodeLike for ExtrinsicMetadata<T>

Source§

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

Source§

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

Source§

impl<T> EncodeLike for PalletMetadata<T>

Source§

impl<T> EncodeLike for PalletMetadata<T>

Source§

impl<T> EncodeLike for RuntimeApiMetadata<T>

Source§

impl<T> EncodeLike for RuntimeApiMetadata<T>

Source§

impl<T> EncodeLike for RuntimeApiMethodMetadata<T>

Source§

impl<T> EncodeLike for RuntimeApiMethodMetadata<T>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T, LikeT> EncodeLike<BinaryHeap<LikeT>> for &[(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, S> EncodeLike for BoundedBTreeSet<T, S>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Implementors§

Source§

impl EncodeLike for HeaderExtension

Source§

impl EncodeLike for avail_rust_client::MultiAddress

Source§

impl EncodeLike for TypeDefPrimitive

Source§

impl EncodeLike for Phase

Source§

impl EncodeLike for avail_rust_client::ext::subxt_core::utils::MultiSignature

Source§

impl EncodeLike for DeriveJunction

Source§

impl EncodeLike for Weight

Source§

impl EncodeLike for AvailHeader

Source§

impl EncodeLike for CompactDataLookup

Source§

impl EncodeLike for H256

Source§

impl EncodeLike for KateCommitment

Source§

impl EncodeLike for TransactionAdditional

Source§

impl EncodeLike for TransactionCall

Source§

impl EncodeLike for TransactionExtra

Source§

impl EncodeLike for U256

Source§

impl EncodeLike for V3HeaderExtension

Source§

impl EncodeLike for H128

Source§

impl EncodeLike for H160

Source§

impl EncodeLike for H384

Source§

impl EncodeLike for H512

Source§

impl EncodeLike for H768

Source§

impl EncodeLike for U128

Source§

impl EncodeLike for U512

Source§

impl EncodeLike for NonZero<i8>

Source§

impl EncodeLike for NonZero<i16>

Source§

impl EncodeLike for NonZero<i32>

Source§

impl EncodeLike for NonZero<i64>

Source§

impl EncodeLike for NonZero<i128>

Source§

impl EncodeLike for NonZero<u8>

Source§

impl EncodeLike for NonZero<u16>

Source§

impl EncodeLike for NonZero<u32>

Source§

impl EncodeLike for NonZero<u64>

Source§

impl EncodeLike for NonZero<u128>

Source§

impl EncodeLike for Duration

Source§

impl EncodeLike for PortableRegistry

Source§

impl EncodeLike for PortableType

Source§

impl EncodeLike for BlakeTwo256

Source§

impl EncodeLike for Digest

Source§

impl EncodeLike for AccountId20

Source§

impl EncodeLike for AccountId32

Source§

impl EncodeLike for OptionBool

Source§

impl<AccountId, AccountIndex> EncodeLike for avail_rust_client::ext::subxt_core::utils::MultiAddress<AccountId, AccountIndex>
where AccountId: Encode, AccountIndex: HasCompact,

Source§

impl<Address, Call, Signature, Extra> EncodeLike for UncheckedExtrinsic<Address, Call, Signature, Extra>

Source§

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

Source§

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

Source§

impl<N, H> EncodeLike for SubstrateHeader<N, H>
where N: Copy + Into<U256> + TryFrom<U256> + HasCompact, H: Hasher, <H as Hasher>::Output: Encode,

Source§

impl<T> EncodeLike for TypeDef<T>

Source§

impl<T> EncodeLike for VerifySignatureDetails<T>
where T: Config, <T as Config>::Signature: Encode, <T as Config>::AccountId: Encode,

Source§

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

Source§

impl<T> EncodeLike for PhantomData<T>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T> EncodeLike for WrapperKeepOpaque<T>
where PhantomDataSendSync<T>: Encode,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T, LikeT> EncodeLike<LinkedList<LikeT>> for LinkedList<T>
where T: EncodeLike<LikeT>, LikeT: 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 for BoundedVec<T, S>
where Vec<T>: Encode, PhantomData<S>: Encode,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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