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 using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> 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 SetGoAhead
impl Encode for SetGoAhead
source§impl Encode for Assignment
impl Encode for Assignment
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 PalletId
impl Encode for PalletId
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 BlockData
impl Encode for BlockData
source§impl Encode for HeadData
impl Encode for HeadData
source§impl Encode for HrmpChannelId
impl Encode for HrmpChannelId
source§impl Encode for Sibling
impl Encode for Sibling
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 PartsOf57600
impl Encode for PartsOf57600
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 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 AccountId32
impl Encode for AccountId32
§impl Encode for AnySignature
impl Encode for AnySignature
§impl Encode for ApprovalVotingParams
impl Encode for ApprovalVotingParams
§impl Encode for AvailabilityBitfield
impl Encode for AvailabilityBitfield
§impl Encode for BigUint
impl Encode for BigUint
§impl Encode for BlockLength
impl Encode for BlockLength
§impl Encode for CheckedDisputeStatementSet
impl Encode for CheckedDisputeStatementSet
§impl Encode for ChildTrieParentKeyId
impl Encode for ChildTrieParentKeyId
§impl Encode for CompactProof
impl Encode for CompactProof
§impl Encode for CoreIndex
impl Encode for CoreIndex
§impl Encode for CoreMask
impl Encode for CoreMask
§impl Encode for CryptoTypeId
impl Encode for CryptoTypeId
§impl Encode for Digest
impl Encode for Digest
§impl Encode for Duration
impl Encode for Duration
§impl Encode for ExecutorParams
impl Encode for ExecutorParams
§impl Encode for ExecutorParamsHash
impl Encode for ExecutorParamsHash
§impl Encode for FixedI64
impl Encode for FixedI64
§impl Encode for FixedI128
impl Encode for FixedI128
§impl Encode for FixedU64
impl Encode for FixedU64
§impl Encode for FixedU128
impl Encode for FixedU128
§impl Encode for GroupIndex
impl Encode for GroupIndex
§impl Encode for HttpRequestId
impl Encode for HttpRequestId
§impl Encode for InherentData
impl Encode for InherentData
§impl Encode for Justifications
impl Encode for Justifications
§impl Encode for KeyTypeId
impl Encode for KeyTypeId
§impl Encode for OldWeight
impl Encode for OldWeight
§impl Encode for OpaqueExtrinsic
impl Encode for OpaqueExtrinsic
§impl Encode for OpaqueKeyOwnershipProof
impl Encode for OpaqueKeyOwnershipProof
§impl Encode for OpaqueKeyOwnershipProof
impl Encode for OpaqueKeyOwnershipProof
§impl Encode for OpaqueMetadata
impl Encode for OpaqueMetadata
§impl Encode for OpaqueMetadata
impl Encode for OpaqueMetadata
§impl Encode for OpaqueMultiaddr
impl Encode for OpaqueMultiaddr
§impl Encode for OpaquePeerId
impl Encode for OpaquePeerId
§impl Encode for PerU16
impl Encode for PerU16
§impl Encode for Perbill
impl Encode for Perbill
§impl Encode for Percent
impl Encode for Percent
§impl Encode for Permill
impl Encode for Permill
§impl Encode for Perquintill
impl Encode for Perquintill
§impl Encode for PortableRegistry
impl Encode for PortableRegistry
§impl Encode for Public
impl Encode for Public
§impl Encode for Public
impl Encode for Public
§impl Encode for Public
impl Encode for Public
§impl Encode for Public
impl Encode for Public
§impl Encode for Public
impl Encode for Public
§impl Encode for Public
impl Encode for Public
§impl Encode for RuntimeMetricLabel
impl Encode for RuntimeMetricLabel
§impl Encode for RuntimeMetricLabels
impl Encode for RuntimeMetricLabels
§impl Encode for Signature
impl Encode for Signature
§impl Encode for Signature
impl Encode for Signature
§impl Encode for Signature
impl Encode for Signature
§impl Encode for Signature
impl Encode for Signature
§impl Encode for Signature
impl Encode for Signature
§impl Encode for Signature
impl Encode for Signature
§impl Encode for Slot
impl Encode for Slot
§impl Encode for SlotDuration
impl Encode for SlotDuration
§impl Encode for StorageData
impl Encode for StorageData
§impl Encode for StorageKey
impl Encode for StorageKey
§impl Encode for StorageProof
impl Encode for StorageProof
§impl Encode for Time
impl Encode for Time
§impl Encode for Timestamp
impl Encode for Timestamp
§impl Encode for Timestamp
impl Encode for Timestamp
§impl Encode for UintAuthorityId
impl Encode for UintAuthorityId
§impl Encode for ValidatorIndex
impl Encode for ValidatorIndex
impl Encode for Void
§impl Encode for WasmFieldName
impl Encode for WasmFieldName
§impl Encode for WasmFields
impl Encode for WasmFields
§impl Encode for WasmValuesSet
impl Encode for WasmValuesSet
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)
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)
source§impl<A, F, R, D> Encode for FreezeConsideration<A, F, R, D>
impl<A, F, R, D> Encode for FreezeConsideration<A, F, R, D>
source§impl<A, F, R, D> Encode for HoldConsideration<A, F, R, D>
impl<A, F, R, D> Encode for HoldConsideration<A, F, R, D>
source§impl<A, Fx, Rx, D> Encode for LoneFreezeConsideration<A, Fx, Rx, D>
impl<A, Fx, Rx, D> Encode for LoneFreezeConsideration<A, Fx, Rx, D>
source§impl<A, Fx, Rx, D> Encode for LoneHoldConsideration<A, Fx, Rx, D>
impl<A, Fx, Rx, D> Encode for LoneHoldConsideration<A, Fx, Rx, D>
§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 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 PagedExposure<AccountId, Balance>where
Balance: HasCompact + MaxEncodedLen,
PagedExposureMetadata<Balance>: Encode,
ExposurePage<AccountId, Balance>: Encode,
impl<AccountId, Balance> Encode for PagedExposure<AccountId, Balance>where
Balance: HasCompact + MaxEncodedLen,
PagedExposureMetadata<Balance>: Encode,
ExposurePage<AccountId, Balance>: 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<Address, Call, Signature, Extra> Encode for UncheckedExtrinsic<Address, Call, Signature, Extra>
impl<Address, Call, Signature, Extra> Encode for UncheckedExtrinsic<Address, Call, Signature, Extra>
source§impl<AssetId> Encode for NativeOrWithId<AssetId>
impl<AssetId> Encode for NativeOrWithId<AssetId>
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)
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)
§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 PagedExposureMetadata<Balance>where
Balance: HasCompact + MaxEncodedLen,
impl<Balance> Encode for PagedExposureMetadata<Balance>where
Balance: HasCompact + MaxEncodedLen,
§impl<Balance> Encode for UnlockChunk<Balance>where
Balance: HasCompact + MaxEncodedLen,
impl<Balance> Encode for UnlockChunk<Balance>where
Balance: HasCompact + MaxEncodedLen,
source§impl<BlockNumber> Encode for DispatchTime<BlockNumber>where
BlockNumber: Encode,
impl<BlockNumber> Encode for DispatchTime<BlockNumber>where
BlockNumber: Encode,
source§impl<BlockNumber> Encode for QueryResponseStatus<BlockNumber>where
BlockNumber: Encode,
impl<BlockNumber> Encode for QueryResponseStatus<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 V9HostConfiguration<BlockNumber>where
BlockNumber: Encode,
impl<BlockNumber> Encode for V9HostConfiguration<BlockNumber>where
BlockNumber: Encode,
source§impl<BlockNumber> Encode for V10HostConfiguration<BlockNumber>where
BlockNumber: Encode,
impl<BlockNumber> Encode for V10HostConfiguration<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 AssignmentProviderConfig<BlockNumber>where
BlockNumber: Encode,
impl<BlockNumber> Encode for AssignmentProviderConfig<BlockNumber>where
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)
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)
§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) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Get an encoded version of this payload.
Payloads longer than 256 bytes are going to be blake2_256-hashed.