store

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2019 License: Apache-2.0, Apache-2.0 Imports: 16 Imported by: 4

Documentation

Index

Constants

View Source
const ProofOpMultiStore = "multistore"

the multi-store proof operation constant value

Variables

This section is empty.

Functions

func DefaultProofRuntime

func DefaultProofRuntime() (prt *merkle.ProofRuntime)

XXX: This should be managed by the rootMultiStore which may want to register more proof ops?

func First

func First(st KVStore, start, end []byte) (kv cmn.KVPair, ok bool)

Gets the first item.

func Last

func Last(st KVStore, start, end []byte) (kv cmn.KVPair, ok bool)

Gets the last item. `end` is exclusive.

func MultiStoreProofOpDecoder

func MultiStoreProofOpDecoder(pop merkle.ProofOp) (merkle.ProofOperator, error)

MultiStoreProofOpDecoder returns a multi-store merkle proof operator from a given proof operation.

func NewCacheKVStore

func NewCacheKVStore(parent KVStore) *cacheKVStore

nolint

func NewCommitMultiStore

func NewCommitMultiStore(db dbm.DB) *rootMultiStore

nolint

func NewGasKVStore

func NewGasKVStore(gasMeter sdk.GasMeter, gasConfig sdk.GasConfig, parent sdk.KVStore) *gasKVStore

NewGasKVStore returns a reference to a new GasKVStore. nolint

func RequireProof

func RequireProof(subpath string) bool

RequireProof returns whether proof is required for the subpath.

Types

type CacheKVStore

type CacheKVStore = types.CacheKVStore

Import cosmos-sdk/types/store.go for convenience. nolint

type CacheMultiStore

type CacheMultiStore = types.CacheMultiStore

Import cosmos-sdk/types/store.go for convenience. nolint

type CacheWrap

type CacheWrap = types.CacheWrap

Import cosmos-sdk/types/store.go for convenience. nolint

type CacheWrapper

type CacheWrapper = types.CacheWrapper

Import cosmos-sdk/types/store.go for convenience. nolint

type CommitID

type CommitID = types.CommitID

Import cosmos-sdk/types/store.go for convenience. nolint

type CommitKVStore

type CommitKVStore = types.CommitKVStore

Import cosmos-sdk/types/store.go for convenience. nolint

type CommitMultiStore

type CommitMultiStore = types.CommitMultiStore

Import cosmos-sdk/types/store.go for convenience. nolint

type CommitStore

type CommitStore = types.CommitStore

Import cosmos-sdk/types/store.go for convenience. nolint

func LoadIAVLStore

func LoadIAVLStore(db dbm.DB, id CommitID, pruning sdk.PruningStrategy) (CommitStore, error)

load the iavl store

type Committer

type Committer = types.Committer

Import cosmos-sdk/types/store.go for convenience. nolint

type Gas

type Gas = types.Gas

Import cosmos-sdk/types/store.go for convenience. nolint

type GasConfig

type GasConfig = types.GasConfig

Import cosmos-sdk/types/store.go for convenience. nolint

type GasMeter

type GasMeter = types.GasMeter

Import cosmos-sdk/types/store.go for convenience. nolint

type Iterator

type Iterator = types.Iterator

Import cosmos-sdk/types/store.go for convenience. nolint

type KVPair

type KVPair = types.KVPair

Import cosmos-sdk/types/store.go for convenience. nolint

type KVStore

type KVStore = types.KVStore

Import cosmos-sdk/types/store.go for convenience. nolint

type MultiStore

type MultiStore = types.MultiStore

Import cosmos-sdk/types/store.go for convenience. nolint

type MultiStoreProof

type MultiStoreProof struct {
	StoreInfos []storeInfo
}

MultiStoreProof defines a collection of store proofs in a multi-store

func NewMultiStoreProof

func NewMultiStoreProof(storeInfos []storeInfo) *MultiStoreProof

func (*MultiStoreProof) ComputeRootHash

func (proof *MultiStoreProof) ComputeRootHash() []byte

ComputeRootHash returns the root hash for a given multi-store proof.

type MultiStoreProofOp

type MultiStoreProofOp struct {

	// To encode in ProofOp.Data.
	Proof *MultiStoreProof `json:"proof"`
	// contains filtered or unexported fields
}

TODO: document

func NewMultiStoreProofOp

func NewMultiStoreProofOp(key []byte, proof *MultiStoreProof) MultiStoreProofOp

func (MultiStoreProofOp) GetKey

func (op MultiStoreProofOp) GetKey() []byte

GetKey returns the key for a multi-store proof operation.

func (MultiStoreProofOp) ProofOp

func (op MultiStoreProofOp) ProofOp() merkle.ProofOp

ProofOp return a merkle proof operation from a given multi-store proof operation.

func (MultiStoreProofOp) Run

func (op MultiStoreProofOp) Run(args [][]byte) ([][]byte, error)

Run executes a multi-store proof operation for a given value. It returns the root hash if the value matches all the store's commitID's hash or an error otherwise.

func (MultiStoreProofOp) String

func (op MultiStoreProofOp) String() string

String implements the Stringer interface for a mult-store proof operation.

type PruningStrategy

type PruningStrategy = types.PruningStrategy

Import cosmos-sdk/types/store.go for convenience. nolint

type Queryable

type Queryable = types.Queryable

Import cosmos-sdk/types/store.go for convenience. nolint

type Store

type Store = types.Store

Import cosmos-sdk/types/store.go for convenience. nolint

type StoreKey

type StoreKey = types.StoreKey

Import cosmos-sdk/types/store.go for convenience. nolint

type StoreType

type StoreType = types.StoreType

Import cosmos-sdk/types/store.go for convenience. nolint

type TraceContext

type TraceContext = types.TraceContext

Import cosmos-sdk/types/store.go for convenience. nolint

type TraceKVStore

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

TraceKVStore implements the KVStore interface with tracing enabled. Operations are traced on each core KVStore call and written to the underlying io.writer.

TODO: Should we use a buffered writer and implement Commit on TraceKVStore?

func NewTraceKVStore

func NewTraceKVStore(parent sdk.KVStore, writer io.Writer, tc TraceContext) *TraceKVStore

NewTraceKVStore returns a reference to a new traceKVStore given a parent KVStore implementation and a buffered writer.

func (*TraceKVStore) CacheWrap

func (tkv *TraceKVStore) CacheWrap() sdk.CacheWrap

CacheWrap implements the KVStore interface. It panics as a TraceKVStore cannot be cache wrapped.

func (*TraceKVStore) CacheWrapWithTrace

func (tkv *TraceKVStore) CacheWrapWithTrace(_ io.Writer, _ TraceContext) CacheWrap

CacheWrapWithTrace implements the KVStore interface. It panics as a TraceKVStore cannot be cache wrapped.

func (*TraceKVStore) Delete

func (tkv *TraceKVStore) Delete(key []byte)

Delete implements the KVStore interface. It traces a write operation and delegates the Delete call to the parent KVStore.

func (*TraceKVStore) Gas

func (tkv *TraceKVStore) Gas(meter GasMeter, config GasConfig) KVStore

Gas implements the KVStore interface.

func (*TraceKVStore) Get

func (tkv *TraceKVStore) Get(key []byte) []byte

Get implements the KVStore interface. It traces a read operation and delegates a Get call to the parent KVStore.

func (*TraceKVStore) GetStoreType

func (tkv *TraceKVStore) GetStoreType() sdk.StoreType

GetStoreType implements the KVStore interface. It returns the underlying KVStore type.

func (*TraceKVStore) Has

func (tkv *TraceKVStore) Has(key []byte) bool

Has implements the KVStore interface. It delegates the Has call to the parent KVStore.

func (*TraceKVStore) Iterator

func (tkv *TraceKVStore) Iterator(start, end []byte) sdk.Iterator

Iterator implements the KVStore interface. It delegates the Iterator call the to the parent KVStore.

func (*TraceKVStore) Prefix

func (tkv *TraceKVStore) Prefix(prefix []byte) KVStore

Prefix implements the KVStore interface.

func (*TraceKVStore) ReverseIterator

func (tkv *TraceKVStore) ReverseIterator(start, end []byte) sdk.Iterator

ReverseIterator implements the KVStore interface. It delegates the ReverseIterator call the to the parent KVStore.

func (*TraceKVStore) Set

func (tkv *TraceKVStore) Set(key []byte, value []byte)

Set implements the KVStore interface. It traces a write operation and delegates the Set call to the parent KVStore.

Jump to

Keyboard shortcuts

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