cosmos-sdk: github.com/cosmos/cosmos-sdk/store/types Index | Files

package types

import "github.com/cosmos/cosmos-sdk/store/types"

Index

Package Files

commit_info.go commit_info.pb.go errors.go gas.go iterator.go proof.go pruning.go store.go utils.go validity.go

Constants

const (
    GasIterNextCostFlatDesc = "IterNextFlat"
    GasValuePerByteDesc     = "ValuePerByte"
    GasWritePerByteDesc     = "WritePerByte"
    GasReadPerByteDesc      = "ReadPerByte"
    GasWriteCostFlatDesc    = "WriteFlat"
    GasReadCostFlatDesc     = "ReadFlat"
    GasHasDesc              = "Has"
    GasDeleteDesc           = "Delete"
)

Gas consumption descriptors.

const (
    ProofOpIAVLCommitment         = "ics23:iavl"
    ProofOpSimpleMerkleCommitment = "ics23:simple"
)
const (
    PruningOptionDefault    = "default"
    PruningOptionEverything = "everything"
    PruningOptionNothing    = "nothing"
    PruningOptionCustom     = "custom"
)

Pruning option string constants

const StoreCodespace = "store"

Variables

var (
    ErrInvalidLengthCommitInfo        = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowCommitInfo          = fmt.Errorf("proto: integer overflow")
    ErrUnexpectedEndOfGroupCommitInfo = fmt.Errorf("proto: unexpected end of group")
)
var (
    // PruneDefault defines a pruning strategy where the last 100 heights are kept
    // in addition to every 100th and where to-be pruned heights are pruned at
    // every 10th height.
    PruneDefault = NewPruningOptions(100, 100, 10)

    // PruneEverything defines a pruning strategy where all committed heights are
    // deleted, storing only the current height and where to-be pruned heights are
    // pruned at every 10th height.
    PruneEverything = NewPruningOptions(0, 0, 10)

    // PruneNothing defines a pruning strategy where all heights are kept on disk.
    PruneNothing = NewPruningOptions(0, 1, 0)
)
var (
    ErrInvalidProof = sdkerrors.Register(StoreCodespace, 2, "invalid proof")
)

func AssertValidKey Uses

func AssertValidKey(key []byte)

Check if the key is valid(key is not nil)

func AssertValidValue Uses

func AssertValidValue(value []byte)

Check if the value is valid(value is not nil)

func CommitmentOpDecoder Uses

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

CommitmentOpDecoder takes a merkle.ProofOp and attempts to decode it into a CommitmentOp ProofOperator The proofOp.Data is just a marshalled CommitmentProof. The Key of the CommitmentOp is extracted from the unmarshalled proof.

func DiffKVStores Uses

func DiffKVStores(a KVStore, b KVStore, prefixesToSkip [][]byte) (kvAs, kvBs []kv.Pair)

DiffKVStores compares two KVstores and returns all the key/value pairs that differ from one another. It also skips value comparison for a set of provided prefixes.

func InclusiveEndBytes Uses

func InclusiveEndBytes(inclusiveBytes []byte) []byte

InclusiveEndBytes returns the []byte that would end a range query such that the input would be included

func PrefixEndBytes Uses

func PrefixEndBytes(prefix []byte) []byte

PrefixEndBytes returns the []byte that would end a range query for all []byte with a certain prefix Deals with last byte of prefix being FF without overflowing

type CacheKVStore Uses

type CacheKVStore interface {
    KVStore

    // Writes operations to underlying KVStore
    Write()
}

CacheKVStore cache-wraps a KVStore. After calling .Write() on the CacheKVStore, all previously created CacheKVStores on the object expire.

type CacheMultiStore Uses

type CacheMultiStore interface {
    MultiStore
    Write() // Writes operations to underlying KVStore
}

From MultiStore.CacheMultiStore()....

type CacheWrap Uses

type CacheWrap interface {
    // Write syncs with the underlying store.
    Write()

    // CacheWrap recursively wraps again.
    CacheWrap() CacheWrap

    // CacheWrapWithTrace recursively wraps again with tracing enabled.
    CacheWrapWithTrace(w io.Writer, tc TraceContext) CacheWrap
}

CacheWrap makes the most appropriate cache-wrap. For example, IAVLStore.CacheWrap() returns a CacheKVStore. CacheWrap should not return a Committer, since Commit cache-wraps make no sense. It can return KVStore, HeapStore, SpaceStore, etc.

type CacheWrapper Uses

type CacheWrapper interface {
    // CacheWrap cache wraps.
    CacheWrap() CacheWrap

    // CacheWrapWithTrace cache wraps with tracing enabled.
    CacheWrapWithTrace(w io.Writer, tc TraceContext) CacheWrap
}

type CapabilityKey Uses

type CapabilityKey StoreKey

CapabilityKey represent the Cosmos SDK keys for object-capability generation in the IBC protocol as defined in https://github.com/cosmos/ics/tree/master/spec/ics-005-port-allocation#data-structures

type CommitID Uses

type CommitID struct {
    Version int64  `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
    Hash    []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
}

CommitID defines the committment information when a specific store is committed.

func (*CommitID) Descriptor Uses

func (*CommitID) Descriptor() ([]byte, []int)

func (*CommitID) GetHash Uses

func (m *CommitID) GetHash() []byte

func (*CommitID) GetVersion Uses

func (m *CommitID) GetVersion() int64

func (CommitID) IsZero Uses

func (cid CommitID) IsZero() bool

func (*CommitID) Marshal Uses

func (m *CommitID) Marshal() (dAtA []byte, err error)

func (*CommitID) MarshalTo Uses

func (m *CommitID) MarshalTo(dAtA []byte) (int, error)

func (*CommitID) MarshalToSizedBuffer Uses

func (m *CommitID) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*CommitID) ProtoMessage Uses

func (*CommitID) ProtoMessage()

func (*CommitID) Reset Uses

func (m *CommitID) Reset()

func (*CommitID) Size Uses

func (m *CommitID) Size() (n int)

func (CommitID) String Uses

func (cid CommitID) String() string

func (*CommitID) Unmarshal Uses

func (m *CommitID) Unmarshal(dAtA []byte) error

func (*CommitID) XXX_DiscardUnknown Uses

func (m *CommitID) XXX_DiscardUnknown()

func (*CommitID) XXX_Marshal Uses

func (m *CommitID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CommitID) XXX_Merge Uses

func (m *CommitID) XXX_Merge(src proto.Message)

func (*CommitID) XXX_Size Uses

func (m *CommitID) XXX_Size() int

func (*CommitID) XXX_Unmarshal Uses

func (m *CommitID) XXX_Unmarshal(b []byte) error

type CommitInfo Uses

type CommitInfo struct {
    Version    int64       `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
    StoreInfos []StoreInfo `protobuf:"bytes,2,rep,name=store_infos,json=storeInfos,proto3" json:"store_infos"`
}

CommitInfo defines commit information used by the multi-store when committing a version/height.

func (CommitInfo) CommitID Uses

func (ci CommitInfo) CommitID() CommitID

func (*CommitInfo) Descriptor Uses

func (*CommitInfo) Descriptor() ([]byte, []int)

func (*CommitInfo) GetStoreInfos Uses

func (m *CommitInfo) GetStoreInfos() []StoreInfo

func (*CommitInfo) GetVersion Uses

func (m *CommitInfo) GetVersion() int64

func (CommitInfo) Hash Uses

func (ci CommitInfo) Hash() []byte

Hash returns the simple merkle root hash of the stores sorted by name.

func (*CommitInfo) Marshal Uses

func (m *CommitInfo) Marshal() (dAtA []byte, err error)

func (*CommitInfo) MarshalTo Uses

func (m *CommitInfo) MarshalTo(dAtA []byte) (int, error)

func (*CommitInfo) MarshalToSizedBuffer Uses

func (m *CommitInfo) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (CommitInfo) ProofOp Uses

func (ci CommitInfo) ProofOp(storeName string) merkle.ProofOp

func (*CommitInfo) ProtoMessage Uses

func (*CommitInfo) ProtoMessage()

func (*CommitInfo) Reset Uses

func (m *CommitInfo) Reset()

func (*CommitInfo) Size Uses

func (m *CommitInfo) Size() (n int)

func (*CommitInfo) String Uses

func (m *CommitInfo) String() string

func (*CommitInfo) Unmarshal Uses

func (m *CommitInfo) Unmarshal(dAtA []byte) error

func (*CommitInfo) XXX_DiscardUnknown Uses

func (m *CommitInfo) XXX_DiscardUnknown()

func (*CommitInfo) XXX_Marshal Uses

func (m *CommitInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CommitInfo) XXX_Merge Uses

func (m *CommitInfo) XXX_Merge(src proto.Message)

func (*CommitInfo) XXX_Size Uses

func (m *CommitInfo) XXX_Size() int

func (*CommitInfo) XXX_Unmarshal Uses

func (m *CommitInfo) XXX_Unmarshal(b []byte) error

type CommitKVStore Uses

type CommitKVStore interface {
    Committer
    KVStore
}

Stores of MultiStore must implement CommitStore.

type CommitMultiStore Uses

type CommitMultiStore interface {
    Committer
    MultiStore

    // Mount a store of type using the given db.
    // If db == nil, the new store will use the CommitMultiStore db.
    MountStoreWithDB(key StoreKey, typ StoreType, db dbm.DB)

    // Panics on a nil key.
    GetCommitStore(key StoreKey) CommitStore

    // Panics on a nil key.
    GetCommitKVStore(key StoreKey) CommitKVStore

    // Load the latest persisted version. Called once after all calls to
    // Mount*Store() are complete.
    LoadLatestVersion() error

    // LoadLatestVersionAndUpgrade will load the latest version, but also
    // rename/delete/create sub-store keys, before registering all the keys
    // in order to handle breaking formats in migrations
    LoadLatestVersionAndUpgrade(upgrades *StoreUpgrades) error

    // LoadVersionAndUpgrade will load the named version, but also
    // rename/delete/create sub-store keys, before registering all the keys
    // in order to handle breaking formats in migrations
    LoadVersionAndUpgrade(ver int64, upgrades *StoreUpgrades) error

    // Load a specific persisted version. When you load an old version, or when
    // the last commit attempt didn't complete, the next commit after loading
    // must be idempotent (return the same commit id). Otherwise the behavior is
    // undefined.
    LoadVersion(ver int64) error

    // Set an inter-block (persistent) cache that maintains a mapping from
    // StoreKeys to CommitKVStores.
    SetInterBlockCache(MultiStorePersistentCache)
}

A non-cache MultiStore.

type CommitStore Uses

type CommitStore interface {
    Committer
    Store
}

Stores of MultiStore must implement CommitStore.

type CommitmentOp Uses

type CommitmentOp struct {
    Type  string
    Spec  *ics23.ProofSpec
    Key   []byte
    Proof *ics23.CommitmentProof
}

CommitmentOp implements merkle.ProofOperator by wrapping an ics23 CommitmentProof It also contains a Key field to determine which key the proof is proving. NOTE: CommitmentProof currently can either be ExistenceProof or NonexistenceProof

Type and Spec are classified by the kind of merkle proof it represents allowing the code to be reused by more types. Spec is never on the wire, but mapped from type in the code.

func NewIavlCommitmentOp Uses

func NewIavlCommitmentOp(key []byte, proof *ics23.CommitmentProof) CommitmentOp

func NewSimpleMerkleCommitmentOp Uses

func NewSimpleMerkleCommitmentOp(key []byte, proof *ics23.CommitmentProof) CommitmentOp

func (CommitmentOp) GetKey Uses

func (op CommitmentOp) GetKey() []byte

func (CommitmentOp) ProofOp Uses

func (op CommitmentOp) ProofOp() merkle.ProofOp

ProofOp implements ProofOperator interface and converts a CommitmentOp into a merkle.ProofOp format that can later be decoded by CommitmentOpDecoder back into a CommitmentOp for proof verification

func (CommitmentOp) Run Uses

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

Run takes in a list of arguments and attempts to run the proof op against these arguments Returns the root wrapped in [][]byte if the proof op succeeds with given args. If not, it will return an error.

CommitmentOp will accept args of length 1 or length 0 If length 1 args is passed in, then CommitmentOp will attempt to prove the existence of the key with the value provided by args[0] using the embedded CommitmentProof and return the CommitmentRoot of the proof If length 0 args is passed in, then CommitmentOp will attempt to prove the absence of the key in the CommitmentOp and return the CommitmentRoot of the proof

type Committer Uses

type Committer interface {
    Commit() CommitID
    LastCommitID() CommitID

    // TODO: Deprecate after 0.38.5
    SetPruning(PruningOptions)
}

something that can persist to disk

type ErrorGasOverflow Uses

type ErrorGasOverflow struct {
    Descriptor string
}

ErrorGasOverflow defines an error thrown when an action results gas consumption unsigned integer overflow.

type ErrorOutOfGas Uses

type ErrorOutOfGas struct {
    Descriptor string
}

ErrorOutOfGas defines an error thrown when an action results in out of gas.

type Gas Uses

type Gas = uint64

Gas measured by the SDK

type GasConfig Uses

type GasConfig struct {
    HasCost          Gas
    DeleteCost       Gas
    ReadCostFlat     Gas
    ReadCostPerByte  Gas
    WriteCostFlat    Gas
    WriteCostPerByte Gas
    IterNextCostFlat Gas
}

GasConfig defines gas cost for each operation on KVStores

func KVGasConfig Uses

func KVGasConfig() GasConfig

KVGasConfig returns a default gas config for KVStores.

func TransientGasConfig Uses

func TransientGasConfig() GasConfig

TransientGasConfig returns a default gas config for TransientStores.

type GasMeter Uses

type GasMeter interface {
    GasConsumed() Gas
    GasConsumedToLimit() Gas
    Limit() Gas
    ConsumeGas(amount Gas, descriptor string)
    IsPastLimit() bool
    IsOutOfGas() bool
    String() string
}

GasMeter interface to track gas consumption

func NewGasMeter Uses

func NewGasMeter(limit Gas) GasMeter

NewGasMeter returns a reference to a new basicGasMeter.

func NewInfiniteGasMeter Uses

func NewInfiniteGasMeter() GasMeter

NewInfiniteGasMeter returns a reference to a new infiniteGasMeter.

type Iterator Uses

type Iterator = dbm.Iterator

Alias iterator to db's Iterator for convenience.

func KVStorePrefixIterator Uses

func KVStorePrefixIterator(kvs KVStore, prefix []byte) Iterator

Iterator over all the keys with a certain prefix in ascending order

func KVStorePrefixIteratorPaginated Uses

func KVStorePrefixIteratorPaginated(kvs KVStore, prefix []byte, page, limit uint) Iterator

KVStorePrefixIteratorPaginated returns iterator over items in the selected page. Items iterated and skipped in ascending order.

func KVStoreReversePrefixIterator Uses

func KVStoreReversePrefixIterator(kvs KVStore, prefix []byte) Iterator

Iterator over all the keys with a certain prefix in descending order.

func KVStoreReversePrefixIteratorPaginated Uses

func KVStoreReversePrefixIteratorPaginated(kvs KVStore, prefix []byte, page, limit uint) Iterator

KVStoreReversePrefixIteratorPaginated returns iterator over items in the selected page. Items iterated and skipped in descending order.

type KVPair Uses

type KVPair kv.Pair

key-value result for iterator queries

type KVStore Uses

type KVStore interface {
    Store

    // Get returns nil iff key doesn't exist. Panics on nil key.
    Get(key []byte) []byte

    // Has checks if a key exists. Panics on nil key.
    Has(key []byte) bool

    // Set sets the key. Panics on nil key or value.
    Set(key, value []byte)

    // Delete deletes the key. Panics on nil key.
    Delete(key []byte)

    // Iterator over a domain of keys in ascending order. End is exclusive.
    // Start must be less than end, or the Iterator is invalid.
    // Iterator must be closed by caller.
    // To iterate over entire domain, use store.Iterator(nil, nil)
    // CONTRACT: No writes may happen within a domain while an iterator exists over it.
    // Exceptionally allowed for cachekv.Store, safe to write in the modules.
    Iterator(start, end []byte) Iterator

    // Iterator over a domain of keys in descending order. End is exclusive.
    // Start must be less than end, or the Iterator is invalid.
    // Iterator must be closed by caller.
    // CONTRACT: No writes may happen within a domain while an iterator exists over it.
    // Exceptionally allowed for cachekv.Store, safe to write in the modules.
    ReverseIterator(start, end []byte) Iterator
}

KVStore is a simple interface to get/set data

type KVStoreKey Uses

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

KVStoreKey is used for accessing substores. Only the pointer value should ever be used - it functions as a capabilities key.

func NewKVStoreKey Uses

func NewKVStoreKey(name string) *KVStoreKey

NewKVStoreKey returns a new pointer to a KVStoreKey. Use a pointer so keys don't collide.

func (*KVStoreKey) Name Uses

func (key *KVStoreKey) Name() string

func (*KVStoreKey) String Uses

func (key *KVStoreKey) String() string

type MemoryStoreKey Uses

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

MemoryStoreKey defines a typed key to be used with an in-memory KVStore.

func NewMemoryStoreKey Uses

func NewMemoryStoreKey(name string) *MemoryStoreKey

func (*MemoryStoreKey) Name Uses

func (key *MemoryStoreKey) Name() string

Name returns the name of the MemoryStoreKey.

func (*MemoryStoreKey) String Uses

func (key *MemoryStoreKey) String() string

String returns a stringified representation of the MemoryStoreKey.

type MultiStore Uses

type MultiStore interface {
    Store

    // Cache wrap MultiStore.
    // NOTE: Caller should probably not call .Write() on each, but
    // call CacheMultiStore.Write().
    CacheMultiStore() CacheMultiStore

    // CacheMultiStoreWithVersion cache-wraps the underlying MultiStore where
    // each stored is loaded at a specific version (height).
    CacheMultiStoreWithVersion(version int64) (CacheMultiStore, error)

    // Convenience for fetching substores.
    // If the store does not exist, panics.
    GetStore(StoreKey) Store
    GetKVStore(StoreKey) KVStore

    // TracingEnabled returns if tracing is enabled for the MultiStore.
    TracingEnabled() bool

    // SetTracer sets the tracer for the MultiStore that the underlying
    // stores will utilize to trace operations. The modified MultiStore is
    // returned.
    SetTracer(w io.Writer) MultiStore

    // SetTracingContext sets the tracing context for a MultiStore. It is
    // implied that the caller should update the context when necessary between
    // tracing operations. The modified MultiStore is returned.
    SetTracingContext(TraceContext) MultiStore
}

type MultiStorePersistentCache Uses

type MultiStorePersistentCache interface {
    // Wrap and return the provided CommitKVStore with an inter-block (persistent)
    // cache.
    GetStoreCache(key StoreKey, store CommitKVStore) CommitKVStore

    // Return the underlying CommitKVStore for a StoreKey.
    Unwrap(key StoreKey) CommitKVStore

    // Reset the entire set of internal caches.
    Reset()
}

MultiStorePersistentCache defines an interface which provides inter-block (persistent) caching capabilities for multiple CommitKVStores based on StoreKeys.

type PaginatedIterator Uses

type PaginatedIterator struct {
    Iterator
    // contains filtered or unexported fields
}

PaginatedIterator is a wrapper around Iterator that iterates over values starting for given page and limit.

func (*PaginatedIterator) Next Uses

func (pi *PaginatedIterator) Next()

Next will panic after limit is reached.

func (*PaginatedIterator) Valid Uses

func (pi *PaginatedIterator) Valid() bool

Valid if below limit and underlying iterator is valid.

type PruningOptions Uses

type PruningOptions struct {
    // KeepRecent defines how many recent heights to keep on disk.
    KeepRecent uint64

    // KeepEvery defines how many offset heights are kept on disk past KeepRecent.
    KeepEvery uint64

    // Interval defines when the pruned heights are removed from disk.
    Interval uint64
}

PruningOptions defines the pruning strategy used when determining which heights are removed from disk when committing state.

func NewPruningOptions Uses

func NewPruningOptions(keepRecent, keepEvery, interval uint64) PruningOptions

func NewPruningOptionsFromString Uses

func NewPruningOptionsFromString(strategy string) PruningOptions

func (PruningOptions) Validate Uses

func (po PruningOptions) Validate() error

type Queryable Uses

type Queryable interface {
    Query(abci.RequestQuery) abci.ResponseQuery
}

Queryable allows a Store to expose internal state to the abci.Query interface. Multistore can route requests to the proper Store.

This is an optional, but useful extension to any CommitStore

type Store Uses

type Store interface {
    GetStoreType() StoreType
    CacheWrapper
}

type StoreInfo Uses

type StoreInfo struct {
    Name     string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    CommitID CommitID `protobuf:"bytes,2,opt,name=commit_id,json=commitId,proto3" json:"commit_id"`
}

StoreInfo defines store-specific commit information. It contains a reference between a store name and the commit ID.

func (*StoreInfo) Descriptor Uses

func (*StoreInfo) Descriptor() ([]byte, []int)

func (*StoreInfo) GetCommitID Uses

func (m *StoreInfo) GetCommitID() CommitID

func (StoreInfo) GetHash Uses

func (si StoreInfo) GetHash() []byte

GetHash returns the GetHash from the CommitID. This is used in CommitInfo.Hash()

When we commit to this in a merkle proof, we create a map of storeInfo.Name -> storeInfo.GetHash() and build a merkle proof from that. This is then chained with the substore proof, so we prove the root hash from the substore before this and need to pass that (unmodified) as the leaf value of the multistore proof.

func (*StoreInfo) GetName Uses

func (m *StoreInfo) GetName() string

func (*StoreInfo) Marshal Uses

func (m *StoreInfo) Marshal() (dAtA []byte, err error)

func (*StoreInfo) MarshalTo Uses

func (m *StoreInfo) MarshalTo(dAtA []byte) (int, error)

func (*StoreInfo) MarshalToSizedBuffer Uses

func (m *StoreInfo) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*StoreInfo) ProtoMessage Uses

func (*StoreInfo) ProtoMessage()

func (*StoreInfo) Reset Uses

func (m *StoreInfo) Reset()

func (*StoreInfo) Size Uses

func (m *StoreInfo) Size() (n int)

func (*StoreInfo) String Uses

func (m *StoreInfo) String() string

func (*StoreInfo) Unmarshal Uses

func (m *StoreInfo) Unmarshal(dAtA []byte) error

func (*StoreInfo) XXX_DiscardUnknown Uses

func (m *StoreInfo) XXX_DiscardUnknown()

func (*StoreInfo) XXX_Marshal Uses

func (m *StoreInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*StoreInfo) XXX_Merge Uses

func (m *StoreInfo) XXX_Merge(src proto.Message)

func (*StoreInfo) XXX_Size Uses

func (m *StoreInfo) XXX_Size() int

func (*StoreInfo) XXX_Unmarshal Uses

func (m *StoreInfo) XXX_Unmarshal(b []byte) error

type StoreKey Uses

type StoreKey interface {
    Name() string
    String() string
}

StoreKey is a key used to index stores in a MultiStore.

type StoreRename Uses

type StoreRename struct {
    OldKey string `json:"old_key"`
    NewKey string `json:"new_key"`
}

StoreRename defines a name change of a sub-store. All data previously under a PrefixStore with OldKey will be copied to a PrefixStore with NewKey, then deleted from OldKey store.

type StoreType Uses

type StoreType int

kind of store

const (
    StoreTypeMulti StoreType = iota
    StoreTypeDB
    StoreTypeIAVL
    StoreTypeTransient
    StoreTypeMemory
)

func (StoreType) String Uses

func (st StoreType) String() string

type StoreUpgrades Uses

type StoreUpgrades struct {
    Renamed []StoreRename `json:"renamed"`
    Deleted []string      `json:"deleted"`
}

StoreUpgrades defines a series of transformations to apply the multistore db upon load

func (*StoreUpgrades) IsDeleted Uses

func (s *StoreUpgrades) IsDeleted(key string) bool

IsDeleted returns true if the given key should be deleted

func (*StoreUpgrades) RenamedFrom Uses

func (s *StoreUpgrades) RenamedFrom(key string) string

RenamedFrom returns the oldKey if it was renamed Returns "" if it was not renamed

type TraceContext Uses

type TraceContext map[string]interface{}

TraceContext contains TraceKVStore context data. It will be written with every trace operation.

type TransientStoreKey Uses

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

TransientStoreKey is used for indexing transient stores in a MultiStore

func NewTransientStoreKey Uses

func NewTransientStoreKey(name string) *TransientStoreKey

Constructs new TransientStoreKey Must return a pointer according to the ocap principle

func (*TransientStoreKey) Name Uses

func (key *TransientStoreKey) Name() string

Implements StoreKey

func (*TransientStoreKey) String Uses

func (key *TransientStoreKey) String() string

Implements StoreKey

type UpgradeInfo Uses

type UpgradeInfo struct {
    Name   string `json:"name"`
    Height int64  `json:"height"`
}

UpgradeInfo defines height and name of the upgrade to ensure multistore upgrades happen only at matching height.

Package types imports 15 packages (graph) and is imported by 56 packages. Updated 2020-08-12. Refresh now. Tools for package owners.