[][src]Trait solana_libra_canonical_serialization::CanonicalSerialize

pub trait CanonicalSerialize {
    fn serialize(&self, serializer: &mut impl CanonicalSerializer) -> Result<()>;
}

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 serialization.

Required methods

fn serialize(&self, serializer: &mut impl CanonicalSerializer) -> Result<()>

Loading content...

Implementations on Foreign Types

impl CanonicalSerialize for bool[src]

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

impl CanonicalSerialize for i8[src]

impl CanonicalSerialize for i16[src]

impl CanonicalSerialize for i32[src]

impl CanonicalSerialize for i64[src]

impl<'_> CanonicalSerialize for &'_ str[src]

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

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

impl CanonicalSerialize for u8[src]

impl CanonicalSerialize for u16[src]

impl CanonicalSerialize for u32[src]

impl CanonicalSerialize for u64[src]

impl<'_, T> CanonicalSerialize for &'_ T where
    T: CanonicalSerialize
[src]

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

impl CanonicalSerialize for String[src]

impl CanonicalSerialize for usize[src]

usize is architecture dependent, LCS encodes it as a 64-bit unsigned integer and fails if usize is larger than a 64-bit integer.

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

Loading content...

Implementors

Loading content...