Trait grin_core::ser::PMMRable[][src]

pub trait PMMRable: Writeable + Clone + Debug + DefaultHashable {
    type E: Readable + Writeable + Debug;
    fn as_elmt(&self) -> Self::E;
fn elmt_size() -> Option<u16>; }

Trait for types that can be added to a PMMR.

Associated Types

type E: Readable + Writeable + Debug[src]

The type of element actually stored in the MMR data file. This allows us to store Hash elements in the header MMR for variable size BlockHeaders.

Loading content...

Required methods

fn as_elmt(&self) -> Self::E[src]

Convert the pmmrable into the element to be stored in the MMR data file.

fn elmt_size() -> Option<u16>[src]

Size of each element if “fixed” size. Elements are “variable” size if None.

Loading content...

Implementations on Foreign Types

impl PMMRable for RangeProof[src]

type E = Self

fn as_elmt(&self) -> Self::E[src]

fn elmt_size() -> Option<u16>[src]

Loading content...

Implementors

impl PMMRable for BlockHeader[src]

type E = HeaderEntry

fn as_elmt(&self) -> Self::E[src]

fn elmt_size() -> Option<u16>[src]

impl PMMRable for OutputIdentifier[src]

type E = Self

fn as_elmt(&self) -> OutputIdentifier[src]

fn elmt_size() -> Option<u16>[src]

impl PMMRable for TxKernel[src]

We store kernels in the kernel MMR. Note: These are “variable size” to support different kernel feature variants.

type E = Self

fn as_elmt(&self) -> Self::E[src]

fn elmt_size() -> Option<u16>[src]

Loading content...