Skip to main content

ChainStore

Trait ChainStore 

Source
pub trait ChainStore: EventStore + BlockStore {
    // Required methods
    fn get_mmr_node(&self, pos: u64) -> Result<Option<Hash>>;
    fn put_mmr_node(&self, pos: u64, hash: Hash) -> Result<()>;
    fn mmr_size(&self) -> Result<u64>;
    fn mmr_leaf_count(&self) -> Result<u64>;
    fn set_mmr_meta(&self, size: u64, leaf_count: u64) -> Result<()>;
    fn flush(&self) -> Result<()>;
}
Expand description

Combined chain store with MMR support.

Required Methods§

Source

fn get_mmr_node(&self, pos: u64) -> Result<Option<Hash>>

Get an MMR node by position.

Source

fn put_mmr_node(&self, pos: u64, hash: Hash) -> Result<()>

Store an MMR node.

Source

fn mmr_size(&self) -> Result<u64>

Get the MMR size.

Source

fn mmr_leaf_count(&self) -> Result<u64>

Get the MMR leaf count.

Source

fn set_mmr_meta(&self, size: u64, leaf_count: u64) -> Result<()>

Set MMR metadata.

Source

fn flush(&self) -> Result<()>

Flush all pending writes.

Implementors§