Trait frame_support::dispatch::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));
}

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl EncodeLike for RuntimeMetadata

source§

impl EncodeLike for RuntimeMetadataDeprecated

source§

impl EncodeLike for StorageEntryModifier

source§

impl EncodeLike for StorageHasher

source§

impl EncodeLike for TypeDefPrimitive

source§

impl EncodeLike for ArithmeticError

source§

impl EncodeLike for DeriveJunction

source§

impl EncodeLike for LogLevel

source§

impl EncodeLike for LogLevelFilter

source§

impl EncodeLike for HttpError

source§

impl EncodeLike for HttpRequestStatus

source§

impl EncodeLike for StorageKind

source§

impl EncodeLike for StorageEntryModifierIR

source§

impl EncodeLike for StorageHasherIR

source§

impl EncodeLike for MultiSignature

source§

impl EncodeLike for MultiSigner

source§

impl EncodeLike for TokenError

source§

impl EncodeLike for TransactionalError

source§

impl EncodeLike for DigestItem

source§

impl EncodeLike for Era

source§

impl EncodeLike for DispatchError

source§

impl EncodeLike for DisableStrategy

source§

impl EncodeLike for WasmLevel

source§

impl EncodeLike for WasmValue

source§

impl EncodeLike for ReturnValue

source§

impl EncodeLike for Value

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 Bytes

source§

impl EncodeLike for OpaqueMetadata

source§

impl EncodeLike for RuntimeMetadataPrefixed

source§

impl EncodeLike for RuntimeMetadataV14

source§

impl EncodeLike for RuntimeMetadataV15

source§

impl EncodeLike for H128

source§

impl EncodeLike for H160

source§

impl EncodeLike for H256

source§

impl EncodeLike for H384

source§

impl EncodeLike for H512

source§

impl EncodeLike for H768

source§

impl EncodeLike for U128

source§

impl EncodeLike for U256

source§

impl EncodeLike for U512

source§

impl EncodeLike for PortableRegistry

source§

impl EncodeLike for PortableType

source§

impl EncodeLike for Public

source§

impl EncodeLike for Signature

source§

impl EncodeLike for Public

source§

impl EncodeLike for Signature

source§

impl EncodeLike for BigUint

source§

impl EncodeLike for FixedI64

source§

impl EncodeLike for FixedI128

source§

impl EncodeLike for FixedU64

source§

impl EncodeLike for FixedU128

source§

impl EncodeLike for PerU16

source§

impl EncodeLike for Perbill

source§

impl EncodeLike for Percent

source§

impl EncodeLike for Permill

source§

impl EncodeLike for Perquintill

source§

impl EncodeLike for AccountId32

source§

impl EncodeLike for CryptoTypeId

source§

impl EncodeLike for KeyTypeId

source§

impl EncodeLike for Public

source§

impl EncodeLike for Signature

source§

impl EncodeLike for Duration

source§

impl EncodeLike for HttpRequestId

source§

impl EncodeLike for OpaqueMultiaddr

source§

impl EncodeLike for OpaqueNetworkState

source§

impl EncodeLike for Timestamp

source§

impl EncodeLike for Public

source§

impl EncodeLike for Signature

source§

impl EncodeLike for VrfSignature

source§

impl EncodeLike for OpaquePeerId

source§

impl EncodeLike for Digest

source§

impl EncodeLike for ModuleError

source§

impl EncodeLike for Time

source§

impl EncodeLike for AnySignature

source§

impl EncodeLike for Justifications

source§

impl EncodeLike for ModuleError

source§

impl EncodeLike for OpaqueExtrinsic

source§

impl EncodeLike for TestSignature

source§

impl EncodeLike for UintAuthorityId

source§

impl EncodeLike for BadOrigin

source§

impl EncodeLike for LookupError

source§

impl EncodeLike for ChildTrieParentKeyId

source§

impl EncodeLike for StorageData

source§

impl EncodeLike for StorageKey

source§

impl EncodeLike for WasmEntryAttributes

source§

impl EncodeLike for WasmFieldName

source§

impl EncodeLike for WasmFields

source§

impl EncodeLike for WasmMetadata

source§

impl EncodeLike for WasmValuesSet

source§

impl EncodeLike for CompactProof

source§

impl EncodeLike for StorageProof

source§

impl EncodeLike for RuntimeVersion

source§

impl EncodeLike for String

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<&str> for String

source§

impl EncodeLike<&[u8]> for Bytes

source§

impl EncodeLike<Bytes> for &[u8]

source§

impl EncodeLike<String> for &str

source§

impl EncodeLike<Vec<u8>> for Bytes

source§

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

source§

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

source§

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

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<AccountId, AccountIndex> EncodeLike for MultiAddress<AccountId, AccountIndex>
where AccountId: Encode, AccountIndex: HasCompact,

source§

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

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<B> EncodeLike for BlockAndTimeDeadline<B>

source§

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

source§

impl<Block> EncodeLike for SignedBlock<Block>
where Block: 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<Call, Extra> EncodeLike for SignedPayload<Call, Extra>
where Call: Encode, Extra: SignedExtension,

source§

impl<Call, Extra> EncodeLike for TestXt<Call, Extra>
where Option<(u64, Extra)>: Encode, Call: 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<Header, Extrinsic> EncodeLike for Block<Header, Extrinsic>
where Header: Encode, Vec<Extrinsic>: 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<Info> EncodeLike for DispatchErrorWithPostInfo<Info>
where Info: Eq + PartialEq + Clone + Copy + Encode + Decode + Printable,

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<&[(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 &[(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<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<Number, Hash> EncodeLike for Header<Number, Hash>
where Number: Copy + Into<U256> + TryFrom<U256> + HasCompact, Hash: Hash, <Hash as Hash>::Output: 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<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<Reporter, Offender> EncodeLike for OffenceDetails<Reporter, Offender>
where Offender: Encode, Vec<Reporter>: Encode,

source§

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

source§

impl<T> EncodeLike for TypeDef<T>

source§

impl<T> EncodeLike for StorageEntryTypeIR<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 ExtrinsicMetadata<T>

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 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 PalletMetadata<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 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 CustomValueMetadata<T>
where T: Form, <T as Form>::Type: Encode,

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 PalletMetadata<T>

source§

impl<T> EncodeLike for RuntimeApiMetadata<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 SignedExtensionMetadata<T>
where T: Form, <T as Form>::String: Encode, <T as Form>::Type: Encode,

source§

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

source§

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

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 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 TypeParameter<T>
where T: Form, <T as Form>::String: Encode, Option<<T as Form>::Type>: Encode,

source§

impl<T> EncodeLike for TypeDefVariant<T>
where T: Form, Vec<Variant<T>>: 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 Crossing<T>
where T: Encode + Decode,

source§

impl<T> EncodeLike for ExtrinsicMetadataIR<T>

source§

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

source§

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

source§

impl<T> EncodeLike for PalletConstantMetadataIR<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 PalletErrorMetadataIR<T>
where T: Form, <T as Form>::Type: Encode,

source§

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

source§

impl<T> EncodeLike for PalletMetadataIR<T>

source§

impl<T> EncodeLike for PalletStorageMetadataIR<T>

source§

impl<T> EncodeLike for RuntimeApiMetadataIR<T>

source§

impl<T> EncodeLike for RuntimeApiMethodMetadataIR<T>

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<T> EncodeLike<T> for &&T
where T: 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> EncodeLike<T> for Arc<T>
where T: Encode,

source§

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

source§

impl<T, LikeT> EncodeLike<&[(LikeT,)]> for BTreeSet<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<BinaryHeap<LikeT>> for &[(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<BTreeSet<LikeT>> for &[(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<LinkedList<LikeT>> for &[(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, U> EncodeLike<&[U]> for VecDeque<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 &[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> EncodeLike<Vec<U>> for VecDeque<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,

source§

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

source§

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

Implementors§

source§

impl EncodeLike for Never

source§

impl EncodeLike for Void

source§

impl EncodeLike for frame_support::pallet_prelude::DispatchError

source§

impl EncodeLike for InvalidTransaction

source§

impl EncodeLike for TransactionSource

source§

impl EncodeLike for TransactionValidityError

source§

impl EncodeLike for UnknownTransaction

source§

impl EncodeLike for ChildInfo

source§

impl EncodeLike for KillStorageResult

source§

impl EncodeLike for StateVersion

source§

impl EncodeLike for ProcessMessageError

source§

impl EncodeLike for Select

source§

impl EncodeLike for UpgradeCheckSelect

source§

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

source§

impl EncodeLike for BalanceStatus

source§

impl EncodeLike for PaymentStatus

source§

impl EncodeLike for DispatchClass

source§

impl EncodeLike for Pays

source§

impl EncodeLike for OptionBool

source§

impl EncodeLike for CheckInherentsResult

source§

impl EncodeLike for InherentData

source§

impl EncodeLike for ValidTransaction

source§

impl EncodeLike for Weight

source§

impl EncodeLike for MultiRemovalResults

source§

impl EncodeLike for frame_support::OpaqueMetadata

source§

impl EncodeLike for PalletId

source§

impl EncodeLike for CrateVersion

source§

impl EncodeLike for StorageInfo

source§

impl EncodeLike for StorageVersion

source§

impl EncodeLike for TrackedStorageKey

source§

impl EncodeLike for WithdrawReasons

source§

impl EncodeLike for OldWeight

source§

impl EncodeLike for RuntimeDbWeight

source§

impl EncodeLike for DispatchInfo

source§

impl EncodeLike for PostDispatchInfo

source§

impl EncodeLike<Bytes> for Vec<u8>

source§

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

source§

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

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<WeakBoundedVec<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, 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 for RawOrigin<AccountId>
where AccountId: Encode,

source§

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

source§

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

source§

impl<E> EncodeLike for MakeFatalError<E>
where E: 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<T> EncodeLike for Bounded<T>
where PhantomData<T>: Encode,

source§

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

source§

impl<T> EncodeLike for PhantomData<T>

source§

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

source§

impl<T> EncodeLike<&&T> for T
where T: 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<Box<T>> for T
where T: Encode,

source§

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

source§

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

source§

impl<T, Hash> EncodeLike 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 for BoundedBTreeSet<T, S>

source§

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

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, S> EncodeLike<Vec<T>> for BoundedVec<T, S>
where T: Encode + Decode, S: Get<u32>,

source§

impl<T, U> EncodeLike<&[U]> for Vec<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 Vec<T>
where T: EncodeLike<U>, U: Encode,

source§

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

source§

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

source§

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

source§

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