Trait xcm_simulator::Encode
source · pub trait Encode {
// Provided methods
fn size_hint(&self) -> usize { ... }
fn encode_to<T>(&self, dest: &mut T)
where T: Output + ?Sized { ... }
fn encode(&self) -> Vec<u8> ⓘ { ... }
fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R { ... }
fn encoded_size(&self) -> usize { ... }
}Expand description
Trait that allows zero-copy write of value-references to slices in LE format.
Implementations should override using_encoded for value types and encode_to and size_hint for allocating types.
Wrapper types should override all methods.
Provided Methods§
sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding.
This method is used inside default implementation of encode
to avoid re-allocations.
sourcefn encode_to<T>(&self, dest: &mut T)where
T: Output + ?Sized,
fn encode_to<T>(&self, dest: &mut T)where T: Output + ?Sized,
Convert self to a slice and append it to the destination.
sourcefn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
sourcefn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl Encode for DispatchClass
impl Encode for DispatchClass
impl Encode for Never
source§impl Encode for VersionedPostUpgradeData
impl Encode for VersionedPostUpgradeData
source§impl Encode for LookupError
impl Encode for LookupError
source§impl Encode for BalanceStatus
impl Encode for BalanceStatus
source§impl Encode for PaymentStatus
impl Encode for PaymentStatus
source§impl Encode for DisputeLocation
impl Encode for DisputeLocation
source§impl Encode for DisputeResult
impl Encode for DisputeResult
source§impl Encode for ParaLifecycle
impl Encode for ParaLifecycle
source§impl Encode for EcdsaVerifyError
impl Encode for EcdsaVerifyError
source§impl Encode for KillStorageResult
impl Encode for KillStorageResult
impl Encode for Unsupported
source§impl Encode for VersionedAssetId
impl Encode for VersionedAssetId
source§impl Encode for VersionedJunction
impl Encode for VersionedJunction
source§impl Encode for VersionedMultiAsset
impl Encode for VersionedMultiAsset
source§impl Encode for VersionedMultiAssets
impl Encode for VersionedMultiAssets
source§impl Encode for VersionedMultiLocation
impl Encode for VersionedMultiLocation
source§impl Encode for VersionedNetworkId
impl Encode for VersionedNetworkId
source§impl Encode for VersionedResponse
impl Encode for VersionedResponse
source§impl Encode for WeightLimit
impl Encode for WeightLimit
source§impl Encode for AssetInstance
impl Encode for AssetInstance
source§impl Encode for Fungibility
impl Encode for Fungibility
source§impl Encode for MultiAssetFilter
impl Encode for MultiAssetFilter
source§impl Encode for WildFungibility
impl Encode for WildFungibility
source§impl Encode for WildMultiAsset
impl Encode for WildMultiAsset
source§impl Encode for NonZeroI16
impl Encode for NonZeroI16
source§impl Encode for NonZeroI32
impl Encode for NonZeroI32
source§impl Encode for NonZeroI64
impl Encode for NonZeroI64
source§impl Encode for NonZeroI128
impl Encode for NonZeroI128
source§impl Encode for NonZeroU16
impl Encode for NonZeroU16
source§impl Encode for NonZeroU32
impl Encode for NonZeroU32
source§impl Encode for NonZeroU64
impl Encode for NonZeroU64
source§impl Encode for NonZeroU128
impl Encode for NonZeroU128
source§impl Encode for DispatchInfo
impl Encode for DispatchInfo
source§impl Encode for PostDispatchInfo
impl Encode for PostDispatchInfo
source§impl Encode for CrateVersion
impl Encode for CrateVersion
source§impl Encode for StorageVersion
impl Encode for StorageVersion
source§impl Encode for StorageInfo
impl Encode for StorageInfo
source§impl Encode for WithdrawReasons
impl Encode for WithdrawReasons
source§impl Encode for CandidateHash
impl Encode for CandidateHash
source§impl Encode for HrmpChannelId
impl Encode for HrmpChannelId
source§impl Encode for ValidationCode
impl Encode for ValidationCode
source§impl Encode for ValidationCodeHash
impl Encode for ValidationCodeHash
source§impl Encode for ValidationParams
impl Encode for ValidationParams
source§impl Encode for ValidationResult
impl Encode for ValidationResult
source§impl Encode for CoreAffinityCount
impl Encode for CoreAffinityCount
source§impl Encode for HrmpChannel
impl Encode for HrmpChannel
source§impl Encode for HrmpOpenChannelRequest
impl Encode for HrmpOpenChannelRequest
source§impl Encode for ParaGenesisArgs
impl Encode for ParaGenesisArgs
source§impl Encode for Assignment
impl Encode for Assignment
source§impl Encode for BridgeMessage
impl Encode for BridgeMessage
source§impl Encode for MultiAsset
impl Encode for MultiAsset
source§impl Encode for MultiAssets
impl Encode for MultiAssets
source§impl Encode for MultiLocation
impl Encode for MultiLocation
impl Encode for Void
§impl<'a, T, S> Encode for BoundedSlice<'a, T, S>where
T: Encode,
&'a [T]: Encode,
PhantomData<S>: Encode,
impl<'a, T, S> Encode for BoundedSlice<'a, T, S>where T: Encode, &'a [T]: Encode, PhantomData<S>: Encode,
source§impl<A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
A0: Encode,
B0: Encode,
C0: Encode,
D0: Encode,
E0: Encode,
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (A0, B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where A0: Encode, B0: Encode, C0: Encode, D0: Encode, E0: Encode, F0: Encode, G0: Encode, H0: Encode, I0: Encode, J0: Encode, K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,
source§impl<A, F, R, D> Encode for FreezeConsideration<A, F, R, D>where
F: Mutate<A>,
<F as Inspect<A>>::Balance: Encode,
PhantomData<fn() -> (A, R, D)>: Encode,
impl<A, F, R, D> Encode for FreezeConsideration<A, F, R, D>where F: Mutate<A>, <F as Inspect<A>>::Balance: Encode, PhantomData<fn() -> (A, R, D)>: Encode,
source§impl<A, F, R, D> Encode for HoldConsideration<A, F, R, D>where
F: Mutate<A>,
<F as Inspect<A>>::Balance: Encode,
PhantomData<fn() -> (A, R, D)>: Encode,
impl<A, F, R, D> Encode for HoldConsideration<A, F, R, D>where F: Mutate<A>, <F as Inspect<A>>::Balance: Encode, PhantomData<fn() -> (A, R, D)>: Encode,
source§impl<A, Fx, Rx, D> Encode for LoneFreezeConsideration<A, Fx, Rx, D>where
PhantomData<fn() -> (A, Fx, Rx, D)>: Encode,
impl<A, Fx, Rx, D> Encode for LoneFreezeConsideration<A, Fx, Rx, D>where PhantomData<fn() -> (A, Fx, Rx, D)>: Encode,
source§impl<A, Fx, Rx, D> Encode for LoneHoldConsideration<A, Fx, Rx, D>where
PhantomData<fn() -> (A, Fx, Rx, D)>: Encode,
impl<A, Fx, Rx, D> Encode for LoneHoldConsideration<A, Fx, Rx, D>where PhantomData<fn() -> (A, Fx, Rx, D)>: Encode,
§impl<AccountId> Encode for EraRewardPoints<AccountId>where
AccountId: Ord,
BTreeMap<AccountId, u32>: Encode,
impl<AccountId> Encode for EraRewardPoints<AccountId>where AccountId: Ord, BTreeMap<AccountId, u32>: Encode,
§impl<AccountId> Encode for StakedAssignment<AccountId>where
AccountId: Encode,
Vec<(AccountId, u128)>: Encode,
impl<AccountId> Encode for StakedAssignment<AccountId>where AccountId: Encode, Vec<(AccountId, u128)>: Encode,
§impl<AccountId, AccountIndex> Encode for MultiAddress<AccountId, AccountIndex>where
AccountId: Encode,
AccountIndex: HasCompact,
impl<AccountId, AccountIndex> Encode for MultiAddress<AccountId, AccountIndex>where AccountId: Encode, AccountIndex: HasCompact,
§impl<AccountId, Balance> Encode for Exposure<AccountId, Balance>where
Balance: HasCompact,
Vec<IndividualExposure<AccountId, Balance>>: Encode,
impl<AccountId, Balance> Encode for Exposure<AccountId, Balance>where Balance: HasCompact, Vec<IndividualExposure<AccountId, Balance>>: Encode,
§impl<AccountId, Balance> Encode for IndividualExposure<AccountId, Balance>where
Balance: HasCompact,
AccountId: Encode,
impl<AccountId, Balance> Encode for IndividualExposure<AccountId, Balance>where Balance: HasCompact, AccountId: Encode,
§impl<AccountId, Balance> Encode for UnappliedSlash<AccountId, Balance>where
Balance: HasCompact + Encode,
AccountId: Encode,
Vec<(AccountId, Balance)>: Encode,
Vec<AccountId>: Encode,
impl<AccountId, Balance> Encode for UnappliedSlash<AccountId, Balance>where Balance: HasCompact + Encode, AccountId: Encode, Vec<(AccountId, Balance)>: Encode, Vec<AccountId>: Encode,
§impl<AccountId, P> Encode for Assignment<AccountId, P>where
P: PerThing,
AccountId: Encode,
Vec<(AccountId, P)>: Encode,
impl<AccountId, P> Encode for Assignment<AccountId, P>where P: PerThing, AccountId: Encode, Vec<(AccountId, P)>: Encode,
§impl<Address, Call, Signature, Extra> Encode for UncheckedExtrinsic<Address, Call, Signature, Extra>where
Address: Encode,
Signature: Encode,
Call: Encode,
Extra: SignedExtension,
impl<Address, Call, Signature, Extra> Encode for UncheckedExtrinsic<Address, Call, Signature, Extra>where Address: Encode, Signature: Encode, Call: Encode, Extra: SignedExtension,
source§impl<B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
B0: Encode,
C0: Encode,
D0: Encode,
E0: Encode,
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (B0, C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where B0: Encode, C0: Encode, D0: Encode, E0: Encode, F0: Encode, G0: Encode, H0: Encode, I0: Encode, J0: Encode, K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,
§impl<B> Encode for BlockAndTimeDeadline<B>where
B: BlockNumberProvider,
<B as BlockNumberProvider>::BlockNumber: Encode,
impl<B> Encode for BlockAndTimeDeadline<B>where B: BlockNumberProvider, <B as BlockNumberProvider>::BlockNumber: Encode,
§impl<Balance> Encode for UnlockChunk<Balance>where
Balance: HasCompact + MaxEncodedLen,
impl<Balance> Encode for UnlockChunk<Balance>where Balance: HasCompact + MaxEncodedLen,
§impl<Block> Encode for BlockId<Block>where
Block: Block,
<Block as Block>::Hash: Encode,
<<Block as Block>::Header as Header>::Number: Encode,
impl<Block> Encode for BlockId<Block>where Block: Block, <Block as Block>::Hash: Encode, <<Block as Block>::Header as Header>::Number: Encode,
source§impl<BlockNumber> Encode for DispatchTime<BlockNumber>where
BlockNumber: Encode,
impl<BlockNumber> Encode for DispatchTime<BlockNumber>where BlockNumber: Encode,
source§impl<BlockNumber> Encode for InboundDownwardMessage<BlockNumber>where
BlockNumber: Encode,
impl<BlockNumber> Encode for InboundDownwardMessage<BlockNumber>where BlockNumber: Encode,
source§impl<BlockNumber> Encode for InboundHrmpMessage<BlockNumber>where
BlockNumber: Encode,
impl<BlockNumber> Encode for InboundHrmpMessage<BlockNumber>where BlockNumber: Encode,
source§impl<BlockNumber> Encode for V6HostConfiguration<BlockNumber>where
BlockNumber: Encode,
impl<BlockNumber> Encode for V6HostConfiguration<BlockNumber>where BlockNumber: Encode,
source§impl<BlockNumber> Encode for V7HostConfiguration<BlockNumber>where
BlockNumber: Encode,
impl<BlockNumber> Encode for V7HostConfiguration<BlockNumber>where BlockNumber: Encode,
source§impl<BlockNumber> Encode for V8HostConfiguration<BlockNumber>where
BlockNumber: Encode,
impl<BlockNumber> Encode for V8HostConfiguration<BlockNumber>where BlockNumber: Encode,
source§impl<BlockNumber> Encode for HostConfiguration<BlockNumber>where
BlockNumber: Encode,
impl<BlockNumber> Encode for HostConfiguration<BlockNumber>where BlockNumber: Encode,
source§impl<BlockNumber> Encode for CoreAssignment<BlockNumber>where
ParasEntry<BlockNumber>: Encode,
impl<BlockNumber> Encode for CoreAssignment<BlockNumber>where ParasEntry<BlockNumber>: Encode,
source§impl<C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where
C0: Encode,
D0: Encode,
E0: Encode,
F0: Encode,
G0: Encode,
H0: Encode,
I0: Encode,
J0: Encode,
K0: Encode,
L0: Encode,
M0: Encode,
N0: Encode,
O0: Encode,
P0: Encode,
Q0: Encode,
R0: Encode,
impl<C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0> Encode for (C0, D0, E0, F0, G0, H0, I0, J0, K0, L0, M0, N0, O0, P0, Q0, R0)where C0: Encode, D0: Encode, E0: Encode, F0: Encode, G0: Encode, H0: Encode, I0: Encode, J0: Encode, K0: Encode, L0: Encode, M0: Encode, N0: Encode, O0: Encode, P0: Encode, Q0: Encode, R0: Encode,
§impl<Call, Extra> Encode for SignedPayload<Call, Extra>where
Call: Encode,
Extra: SignedExtension,
impl<Call, Extra> Encode for SignedPayload<Call, Extra>where Call: Encode, Extra: SignedExtension,
§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere F: FnOnce(&[u8]) -> R,
Get an encoded version of this payload.
Payloads longer than 256 bytes are going to be blake2_256-hashed.