[][src]Struct grin_chain::store::ChainStore

pub struct ChainStore { /* fields omitted */ }

All chain-related database operations


impl ChainStore[src]

pub fn new(db_root: &str) -> Result<ChainStore, Error>[src]

Create new chain store

pub fn with_version(&self, version: ProtocolVersion) -> ChainStore[src]

Create a new instance of the chain store based on this instance but with the provided protocol version. This is used when migrating data in the db to a different protocol version, reading using one version and writing back to the db with a different version.

impl ChainStore[src]

pub fn head(&self) -> Result<Tip, Error>[src]

The current chain head.

pub fn tail(&self) -> Result<Tip, Error>[src]

The current chain "tail" (earliest block in the store).

pub fn head_header(&self) -> Result<BlockHeader, Error>[src]

Header of the block at the head of the block chain (not the same thing as header_head).

pub fn header_head(&self) -> Result<Tip, Error>[src]

Head of the header chain (not the same thing as head_header).

pub fn get_sync_head(&self) -> Result<Tip, Error>[src]

The "sync" head.

pub fn get_block(&self, h: &Hash) -> Result<Block, Error>[src]

Get full block.

pub fn block_exists(&self, h: &Hash) -> Result<bool, Error>[src]

Does this full block exist?

pub fn get_block_sums(&self, h: &Hash) -> Result<BlockSums, Error>[src]

Get block_sums for the block hash.

pub fn get_previous_header(
    header: &BlockHeader
) -> Result<BlockHeader, Error>

Get previous header.

pub fn get_block_header(&self, h: &Hash) -> Result<BlockHeader, Error>[src]

Get block header.

pub fn get_all_output_pos(&self) -> Result<Vec<(Commitment, u64)>, Error>[src]

Get all outputs PMMR pos. (only for migration purpose)

pub fn get_output_pos(&self, commit: &Commitment) -> Result<u64, Error>[src]

Get PMMR pos for the given output commitment. Note: - Original prefix 'COMMIT_POS_PREFIX' is not used anymore for normal case, refer to #2889 for detail. - To be compatible with the old callers, let's keep this function name but replace with new prefix 'COMMIT_POS_HGT_PREFIX'

pub fn get_output_pos_height(
    commit: &Commitment
) -> Result<(u64, u64), Error>

Get PMMR pos and block height for the given output commitment.

pub fn batch(&self) -> Result<Batch, Error>[src]

Builds a new batch to be used with this store.

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> UnsafeAny for T where
    T: Any

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Erased for T

impl<T> SafeBorrow<T> for T where
    T: ?Sized

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,