Trait sp_runtime::Deserialize[][src]

pub trait Deserialize<'de> {
    fn deserialize<D>(
        deserializer: D
    ) -> Result<Self, <D as Deserializer<'de>>::Error>
    where
        D: Deserializer<'de>
; }
Expand description

A data structure that can be deserialized from any data format supported by Serde.

Serde provides Deserialize implementations for many Rust primitive and standard library types. The complete list is here. All of these can be deserialized using Serde out of the box.

Additionally, Serde provides a procedural macro called serde_derive to automatically generate Deserialize implementations for structs and enums in your program. See the derive section of the manual for how to use this.

In rare cases it may be necessary to implement Deserialize manually for some type in your program. See the Implementing Deserialize section of the manual for more about this.

Third-party crates may provide Deserialize implementations for types that they expose. For example the linked-hash-map crate provides a LinkedHashMap<K, V> type that is deserializable by Serde because the crate provides an implementation of Deserialize for it.

Lifetime

The 'de lifetime of this trait is the lifetime of data that may be borrowed by Self when deserialized. See the page Understanding deserializer lifetimes for a more detailed explanation of these lifetimes.

Required methods

Deserialize this value from the given Serde deserializer.

See the Implementing Deserialize section of the manual for more information about how to implement this method.

Implementations on Foreign Types

Implementors

impl<'de> Deserialize<'de> for DispatchClass

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for Extensions

impl<'de> Deserialize<'de> for SessionKeys

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for SessionKeys

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, T: Config<I>, I: 'static> Deserialize<'de> for GenesisConfig<T, I>

impl<'de, T: Config<I>, I: Instance> Deserialize<'de> for GenesisConfig<T, I> where
    PhantomData<I>: DeserializeOwned,
    Vec<T::AccountId>: DeserializeOwned

impl<'de, T: Config> Deserialize<'de> for Schedule<T>

impl<'de> Deserialize<'de> for Limits

impl<'de, T: Config> Deserialize<'de> for InstructionWeights<T>

impl<'de, T: Config> Deserialize<'de> for HostFnWeights<T>

impl<'de, T> Deserialize<'de> for ContractResult<T> where
    T: Deserialize<'de>, 

impl<'de, BlockNumber> Deserialize<'de> for RentProjection<BlockNumber> where
    BlockNumber: Deserialize<'de>, 

impl<'de> Deserialize<'de> for ReturnFlags

impl<'de> Deserialize<'de> for ExecReturnValue

impl<'de, AccountId, BlockNumber> Deserialize<'de> for InstantiateReturnValue<AccountId, BlockNumber> where
    AccountId: Deserialize<'de>,
    BlockNumber: Deserialize<'de>, 

impl<'de, Hash> Deserialize<'de> for Code<Hash> where
    Hash: Deserialize<'de>, 

impl<'de, AccountId> Deserialize<'de> for CallRequest<AccountId> where
    AccountId: Deserialize<'de>, 

impl<'de, AccountId, Hash> Deserialize<'de> for InstantiateRequest<AccountId, Hash> where
    AccountId: Deserialize<'de>,
    Hash: Deserialize<'de>, 

impl<'de> Deserialize<'de> for VoteThreshold

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de> Deserialize<'de> for Public

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, T: Config<I>, I: Instance> Deserialize<'de> for GenesisConfig<T, I> where
    Vec<T::AccountId>: DeserializeOwned,
    PhantomData<I>: DeserializeOwned

impl<'de> Deserialize<'de> for OpaqueLeaf

impl<'de, BlockHash> Deserialize<'de> for LeafProof<BlockHash> where
    BlockHash: Deserialize<'de>, 

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, T: Config<I>, I: 'static> Deserialize<'de> for GenesisConfig<T, I>

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T> where
    Vec<(T::AccountId, T::ValidatorId, T::Keys)>: DeserializeOwned

impl<'de, T: Config<I>, I: Instance> Deserialize<'de> for GenesisConfig<T, I> where
    <<T as Config<I>>::Currency as Currency<<T as Config>::AccountId>>::Balance: DeserializeOwned,
    u32: DeserializeOwned,
    Vec<T::AccountId>: DeserializeOwned

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, AccountId> Deserialize<'de> for StakerStatus<AccountId> where
    AccountId: Deserialize<'de>, 

impl<'de> Deserialize<'de> for Forcing

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, Balance> Deserialize<'de> for InclusionFee<Balance> where
    Balance: Deserialize<'de>, 

impl<'de, Balance> Deserialize<'de> for FeeDetails<Balance> where
    Balance: Deserialize<'de>,
    Balance: Default

impl<'de, Balance> Deserialize<'de> for RuntimeDispatchInfo<Balance> where
    Balance: FromStr

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, AccountId, Balance> Deserialize<'de> for Proposal<AccountId, Balance> where
    AccountId: Deserialize<'de>,
    Balance: Deserialize<'de>, 

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, BlockNumber: Ord, T: Group> Deserialize<'de> for Forks<BlockNumber, T> where
    BlockNumber: Deserialize<'de>,
    T: Deserialize<'de>, 

impl<'de> Deserialize<'de> for ChainType

impl<'de> Deserialize<'de> for ImportedAux

impl<'de> Deserialize<'de> for EpochAuthorship

impl<'de, Hash> Deserialize<'de> for CreatedBlock<Hash> where
    Hash: Deserialize<'de>, 

impl<'de> Deserialize<'de> for MultiaddrWithPeerId

impl<'de> Deserialize<'de> for NetworkState

impl<'de> Deserialize<'de> for Peer

impl<'de> Deserialize<'de> for NotConnectedPeer

impl<'de> Deserialize<'de> for PeerEndpoint

impl<'de, Hash> Deserialize<'de> for ExtrinsicOrHash<Hash> where
    Hash: Deserialize<'de>, 

impl<'de, Hash> Deserialize<'de> for ReadProof<Hash> where
    Hash: Deserialize<'de>, 

impl<'de> Deserialize<'de> for Health

impl<'de, Hash, Number> Deserialize<'de> for PeerInfo<Hash, Number> where
    Hash: Deserialize<'de>,
    Number: Deserialize<'de>, 

impl<'de> Deserialize<'de> for NodeRole

impl<'de, Number> Deserialize<'de> for SyncState<Number> where
    Number: Deserialize<'de>, 

impl<'de> Deserialize<'de> for TelemetryEndpoints

impl<'de, Hash, BlockHash> Deserialize<'de> for TransactionStatus<Hash, BlockHash> where
    Hash: Deserialize<'de>,
    BlockHash: Deserialize<'de>, 

impl<'de> Deserialize<'de> for Public

impl<'de> Deserialize<'de> for Public

impl<'de> Deserialize<'de> for Public

impl<'de> Deserialize<'de> for FixedI64

impl<'de> Deserialize<'de> for FixedI128

impl<'de> Deserialize<'de> for FixedU128

impl<'de> Deserialize<'de> for Percent

impl<'de> Deserialize<'de> for PerU16

impl<'de> Deserialize<'de> for Permill

impl<'de> Deserialize<'de> for Perbill

impl<'de> Deserialize<'de> for Perquintill

impl<'de> Deserialize<'de> for AllowedSlots

impl<'de> Deserialize<'de> for BabeEpochConfiguration

impl<'de> Deserialize<'de> for AccountId32

impl<'de> Deserialize<'de> for KeyTypeId

impl<'de> Deserialize<'de> for CryptoTypeId

impl<'de> Deserialize<'de> for CryptoTypePublicPair

impl<'de> Deserialize<'de> for ChangesTrieConfiguration

impl<'de> Deserialize<'de> for Public

impl<'de> Deserialize<'de> for Signature

impl<'de> Deserialize<'de> for Public

impl<'de> Deserialize<'de> for Signature

impl<'de> Deserialize<'de> for StorageKind

impl<'de> Deserialize<'de> for Public

impl<'de> Deserialize<'de> for Signature

impl<'de> Deserialize<'de> for Bytes

impl<'de> Deserialize<'de> for OpaquePeerId

impl<'de> Deserialize<'de> for VRFTranscriptValue

impl<'de, AccountId> Deserialize<'de> for Support<AccountId> where
    AccountId: Deserialize<'de>, 

impl<'de, T> Deserialize<'de> for ListOrValue<T> where
    T: Deserialize<'de>, 

impl<'de> Deserialize<'de> for NumberOrHex

impl<'de> Deserialize<'de> for BlockTrace

impl<'de> Deserialize<'de> for Event

impl<'de> Deserialize<'de> for Span

impl<'de> Deserialize<'de> for Data

impl<'de> Deserialize<'de> for TraceError

impl<'de> Deserialize<'de> for TraceBlockResponse

impl<'de> Deserialize<'de> for StorageKey

impl<'de> Deserialize<'de> for PrefixedStorageKey

impl<'de> Deserialize<'de> for StorageData

impl<'de, Hash> Deserialize<'de> for StorageChangeSet<Hash> where
    Hash: Deserialize<'de>, 

impl<'de> Deserialize<'de> for RuntimeVersion

impl<'de> Deserialize<'de> for RpcTransactionError

impl<'de> Deserialize<'de> for GenesisConfig where
    Vec<AuthorityId>: DeserializeOwned

impl<'de> Deserialize<'de> for SessionKeys