[][src]Trait solana_libra_canonical_serialization::CanonicalDeserialize

pub trait CanonicalDeserialize {
    fn deserialize(
        deserializer: &mut impl CanonicalDeserializer
    ) -> Result<Self>
    where
        Self: Sized
; }

In order to guarantee consistency of object representation to byte representation for signature generation and verification, Libra leverages Libra Canonical Serialization (LCS) documented in README.md. Interface that all types must implement to support LCS deserialization.

Required methods

fn deserialize(deserializer: &mut impl CanonicalDeserializer) -> Result<Self> where
    Self: Sized

Loading content...

Implementations on Foreign Types

impl CanonicalDeserialize for bool[src]

impl CanonicalDeserialize for BTreeMap<Vec<u8>, Vec<u8>>[src]

impl CanonicalDeserialize for i8[src]

impl CanonicalDeserialize for i16[src]

impl CanonicalDeserialize for i32[src]

impl CanonicalDeserialize for i64[src]

impl CanonicalDeserialize for String[src]

impl<T0, T1> CanonicalDeserialize for (T0, T1) where
    T0: CanonicalDeserialize,
    T1: CanonicalDeserialize
[src]

impl<T0, T1, T2> CanonicalDeserialize for (T0, T1, T2) where
    T0: CanonicalDeserialize,
    T1: CanonicalDeserialize,
    T2: CanonicalDeserialize
[src]

impl CanonicalDeserialize for u8[src]

impl CanonicalDeserialize for u16[src]

impl CanonicalDeserialize for u32[src]

impl CanonicalDeserialize for u64[src]

impl<T> CanonicalDeserialize for Option<T> where
    T: CanonicalDeserialize
[src]

impl CanonicalDeserialize for usize[src]

usize is dependent on architecture. LCS encodes it as a 64-bit unsigned integer. The serializer enforces that usize is smaller than or equal to the largest 64-bit unsigned integer.

impl<T> CanonicalDeserialize for Vec<T> where
    T: CanonicalDeserialize
[src]

Loading content...

Implementors

Loading content...