kv

package
v0.0.0-...-1abf0d1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 19, 2023 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BlockerIndexer

type BlockerIndexer struct {
	// contains filtered or unexported fields
}

BlockerIndexer implements a block indexer, indexing FinalizeBlock events with an underlying KV store. Block events are indexed by their height, such that matching search criteria returns the respective block height(s).

func New

func New(store dbm.DB) *BlockerIndexer

func (*BlockerIndexer) Has

func (idx *BlockerIndexer) Has(height int64) (bool, error)

Has returns true if the given height has been indexed. An error is returned upon database query failure.

func (*BlockerIndexer) Index

Index indexes FinalizeBlock events for a given block by its height. The following is indexed:

primary key: encode(block.height | height) => encode(height) FinalizeBlock events: encode(eventType.eventAttr|eventValue|height|finalize_block) => encode(height)

func (*BlockerIndexer) Search

func (idx *BlockerIndexer) Search(ctx context.Context, q *query.Query) ([]int64, error)

Search performs a query for block heights that match a given FinalizeBlock The given query can match against zero or more block heights. In the case of height queries, i.e. block.height=H, if the height is indexed, that height alone will be returned. An error and nil slice is returned. Otherwise, a non-nil slice and nil error is returned.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL