Documentation ¶
Index ¶
- Constants
- Variables
- func DefaultStoreLoader(ms sdk.CommitMultiStore) error
- func SetHaltHeight(blockHeight uint64) func(*BaseApp)
- func SetHaltTime(haltTime uint64) func(*BaseApp)
- func SetInterBlockCache(cache sdk.MultiStorePersistentCache) func(*BaseApp)
- func SetMinGasPrices(gasPricesStr string) func(*BaseApp)
- func SetPruning(opts sdk.PruningOptions) func(*BaseApp)
- func ValidateBlockParams(i interface{}) error
- func ValidateEvidenceParams(i interface{}) error
- func ValidateValidatorParams(i interface{}) error
- type BaseApp
- func (app *BaseApp) AppVersion() string
- func (app *BaseApp) BeginBlock(req abci.RequestBeginBlock) (res abci.ResponseBeginBlock)
- func (app *BaseApp) Check(tx sdk.Tx) (sdk.GasInfo, *sdk.Result, error)
- func (app *BaseApp) CheckTx(req abci.RequestCheckTx) abci.ResponseCheckTx
- func (app *BaseApp) Commit() (res abci.ResponseCommit)
- func (app *BaseApp) Deliver(tx sdk.Tx) (sdk.GasInfo, *sdk.Result, error)
- func (app *BaseApp) DeliverTx(req abci.RequestDeliverTx) abci.ResponseDeliverTx
- func (app *BaseApp) EndBlock(req abci.RequestEndBlock) (res abci.ResponseEndBlock)
- func (app *BaseApp) FilterPeerByAddrPort(info string) abci.ResponseQuery
- func (app *BaseApp) FilterPeerByID(info string) abci.ResponseQuery
- func (app *BaseApp) GetConsensusParams(ctx sdk.Context) *abci.ConsensusParams
- func (app *BaseApp) Info(req abci.RequestInfo) abci.ResponseInfo
- func (app *BaseApp) InitChain(req abci.RequestInitChain) (res abci.ResponseInitChain)
- func (app *BaseApp) IsSealed() bool
- func (app *BaseApp) LastBlockHeight() int64
- func (app *BaseApp) LastCommitID() sdk.CommitID
- func (app *BaseApp) LoadLatestVersion() error
- func (app *BaseApp) LoadVersion(version int64) error
- func (app *BaseApp) Logger() log.Logger
- func (app *BaseApp) MountKVStores(keys map[string]*sdk.KVStoreKey)
- func (app *BaseApp) MountMemoryStores(keys map[string]*sdk.MemoryStoreKey)
- func (app *BaseApp) MountStore(key sdk.StoreKey, typ sdk.StoreType)
- func (app *BaseApp) MountStoreWithDB(key sdk.StoreKey, typ sdk.StoreType, db dbm.DB)
- func (app *BaseApp) MountStores(keys ...sdk.StoreKey)
- func (app *BaseApp) MountTransientStores(keys map[string]*sdk.TransientStoreKey)
- func (app *BaseApp) Name() string
- func (app *BaseApp) NewContext(isCheckTx bool, header abci.Header) sdk.Context
- func (app *BaseApp) NewUncachedContext(isCheckTx bool, header abci.Header) sdk.Context
- func (app *BaseApp) Query(req abci.RequestQuery) abci.ResponseQuery
- func (app *BaseApp) QueryRouter() sdk.QueryRouter
- func (app *BaseApp) Router() sdk.Router
- func (app *BaseApp) Seal()
- func (app *BaseApp) SetAddrPeerFilter(pf sdk.PeerFilter)
- func (app *BaseApp) SetAnteHandler(ah sdk.AnteHandler)
- func (app *BaseApp) SetAppVersion(v string)
- func (app *BaseApp) SetBeginBlocker(beginBlocker sdk.BeginBlocker)
- func (app *BaseApp) SetCMS(cms store.CommitMultiStore)
- func (app *BaseApp) SetCommitMultiStoreTracer(w io.Writer)
- func (app *BaseApp) SetDB(db dbm.DB)
- func (app *BaseApp) SetEndBlocker(endBlocker sdk.EndBlocker)
- func (app *BaseApp) SetFauxMerkleMode()
- func (app *BaseApp) SetIDPeerFilter(pf sdk.PeerFilter)
- func (app *BaseApp) SetInitChainer(initChainer sdk.InitChainer)
- func (app *BaseApp) SetName(name string)
- func (app *BaseApp) SetOption(req abci.RequestSetOption) (res abci.ResponseSetOption)
- func (app *BaseApp) SetParamStore(ps ParamStore)
- func (app *BaseApp) SetRouter(router sdk.Router)
- func (app *BaseApp) SetStoreLoader(loader StoreLoader)
- func (app *BaseApp) Simulate(txBytes []byte, tx sdk.Tx) (sdk.GasInfo, *sdk.Result, error)
- func (app *BaseApp) StoreConsensusParams(ctx sdk.Context, cp *abci.ConsensusParams)
- type ParamStore
- type QueryRouter
- type Router
- type StoreLoader
Constants ¶
const Paramspace = "baseapp"
Paramspace defines the parameter subspace to be used for the paramstore.
Variables ¶
var ( ParamStoreKeyBlockParams = []byte("BlockParams") ParamStoreKeyEvidenceParams = []byte("EvidenceParams") ParamStoreKeyValidatorParams = []byte("ValidatorParams") )
Parameter store keys for all the consensus parameter types.
Functions ¶
func DefaultStoreLoader ¶ added in v1.0.0
func DefaultStoreLoader(ms sdk.CommitMultiStore) error
DefaultStoreLoader will be used by default and loads the latest version
func SetHaltHeight ¶ added in v1.0.0
SetHaltHeight returns a BaseApp option function that sets the halt block height.
func SetHaltTime ¶ added in v1.0.0
SetHaltTime returns a BaseApp option function that sets the halt block time.
func SetInterBlockCache ¶ added in v1.0.0
func SetInterBlockCache(cache sdk.MultiStorePersistentCache) func(*BaseApp)
SetInterBlockCache provides a BaseApp option function that sets the inter-block cache.
func SetMinGasPrices ¶ added in v0.30.0
SetMinGasPrices returns an option that sets the minimum gas prices on the app.
func SetPruning ¶ added in v0.21.0
func SetPruning(opts sdk.PruningOptions) func(*BaseApp)
SetPruning sets a pruning option on the multistore associated with the app
func ValidateBlockParams ¶ added in v1.0.0
func ValidateBlockParams(i interface{}) error
ValidateBlockParams defines a stateless validation on BlockParams. This function is called whenever the parameters are updated or stored.
func ValidateEvidenceParams ¶ added in v1.0.0
func ValidateEvidenceParams(i interface{}) error
ValidateEvidenceParams defines a stateless validation on EvidenceParams. This function is called whenever the parameters are updated or stored.
func ValidateValidatorParams ¶ added in v1.0.0
func ValidateValidatorParams(i interface{}) error
ValidateValidatorParams defines a stateless validation on ValidatorParams. This function is called whenever the parameters are updated or stored.
Types ¶
type BaseApp ¶
type BaseApp struct {
// contains filtered or unexported fields
}
BaseApp reflects the ABCI application implementation.
func NewBaseApp ¶
func NewBaseApp( name string, logger log.Logger, db dbm.DB, txDecoder sdk.TxDecoder, options ...func(*BaseApp), ) *BaseApp
NewBaseApp returns a reference to an initialized BaseApp. It accepts a variadic number of option functions, which act on the BaseApp to set configuration choices.
NOTE: The db is used to store the version number for now.
func (*BaseApp) AppVersion ¶ added in v1.0.0
AppVersion returns the application's version string.
func (*BaseApp) BeginBlock ¶
func (app *BaseApp) BeginBlock(req abci.RequestBeginBlock) (res abci.ResponseBeginBlock)
BeginBlock implements the ABCI application interface.
func (*BaseApp) CheckTx ¶
func (app *BaseApp) CheckTx(req abci.RequestCheckTx) abci.ResponseCheckTx
CheckTx implements the ABCI interface and executes a tx in CheckTx mode. In CheckTx mode, messages are not executed. This means messages are only validated and only the AnteHandler is executed. State is persisted to the BaseApp's internal CheckTx state if the AnteHandler passes. Otherwise, the ResponseCheckTx will contain releveant error information. Regardless of tx execution outcome, the ResponseCheckTx will contain relevant gas execution context.
func (*BaseApp) Commit ¶
func (app *BaseApp) Commit() (res abci.ResponseCommit)
Commit implements the ABCI interface. It will commit all state that exists in the deliver state's multi-store and includes the resulting commit ID in the returned abci.ResponseCommit. Commit will set the check state based on the latest header and reset the deliver state. Also, if a non-zero halt height is defined in config, Commit will execute a deferred function call to check against that height and gracefully halt if it matches the latest committed height.
func (*BaseApp) DeliverTx ¶
func (app *BaseApp) DeliverTx(req abci.RequestDeliverTx) abci.ResponseDeliverTx
DeliverTx implements the ABCI interface and executes a tx in DeliverTx mode. State only gets persisted if all messages are valid and get executed successfully. Otherwise, the ResponseDeliverTx will contain releveant error information. Regardless of tx execution outcome, the ResponseDeliverTx will contain relevant gas execution context.
func (*BaseApp) EndBlock ¶
func (app *BaseApp) EndBlock(req abci.RequestEndBlock) (res abci.ResponseEndBlock)
EndBlock implements the ABCI interface.
func (*BaseApp) FilterPeerByAddrPort ¶ added in v0.18.0
func (app *BaseApp) FilterPeerByAddrPort(info string) abci.ResponseQuery
FilterPeerByAddrPort filters peers by address/port.
func (*BaseApp) FilterPeerByID ¶ added in v0.31.0
func (app *BaseApp) FilterPeerByID(info string) abci.ResponseQuery
FilterPeerByIDfilters peers by node ID.
func (*BaseApp) GetConsensusParams ¶ added in v1.0.0
func (app *BaseApp) GetConsensusParams(ctx sdk.Context) *abci.ConsensusParams
GetConsensusParams returns the current consensus parameters from the BaseApp's ParamStore. If the BaseApp has no ParamStore defined, nil is returned.
func (*BaseApp) Info ¶
func (app *BaseApp) Info(req abci.RequestInfo) abci.ResponseInfo
Info implements the ABCI interface.
func (*BaseApp) InitChain ¶
func (app *BaseApp) InitChain(req abci.RequestInitChain) (res abci.ResponseInitChain)
InitChain implements the ABCI interface. It runs the initialization logic directly on the CommitMultiStore.
func (*BaseApp) IsSealed ¶ added in v0.24.0
IsSealed returns true if the BaseApp is sealed and false otherwise.
func (*BaseApp) LastBlockHeight ¶
LastBlockHeight returns the last committed block height.
func (*BaseApp) LastCommitID ¶
LastCommitID returns the last CommitID of the multistore.
func (*BaseApp) LoadLatestVersion ¶
LoadLatestVersion loads the latest application version. It will panic if called more than once on a running BaseApp.
func (*BaseApp) LoadVersion ¶
LoadVersion loads the BaseApp application version. It will panic if called more than once on a running baseapp.
func (*BaseApp) MountKVStores ¶ added in v1.0.0
func (app *BaseApp) MountKVStores(keys map[string]*sdk.KVStoreKey)
MountStores mounts all IAVL or DB stores to the provided keys in the BaseApp multistore.
func (*BaseApp) MountMemoryStores ¶ added in v1.0.0
func (app *BaseApp) MountMemoryStores(keys map[string]*sdk.MemoryStoreKey)
MountMemoryStores mounts all in-memory KVStores with the BaseApp's internal commit multi-store.
func (*BaseApp) MountStore ¶
MountStore mounts a store to the provided key in the BaseApp multistore, using the default DB.
func (*BaseApp) MountStoreWithDB ¶
MountStoreWithDB mounts a store to the provided key in the BaseApp multistore, using a specified DB.
func (*BaseApp) MountStores ¶ added in v0.27.0
MountStores mounts all IAVL or DB stores to the provided keys in the BaseApp multistore.
func (*BaseApp) MountTransientStores ¶ added in v1.0.0
func (app *BaseApp) MountTransientStores(keys map[string]*sdk.TransientStoreKey)
MountStores mounts all IAVL or DB stores to the provided keys in the BaseApp multistore.
func (*BaseApp) NewContext ¶
Context with current {check, deliver}State of the app used by tests.
func (*BaseApp) NewUncachedContext ¶ added in v1.0.0
func (*BaseApp) Query ¶
func (app *BaseApp) Query(req abci.RequestQuery) abci.ResponseQuery
Query implements the ABCI interface. It delegates to CommitMultiStore if it implements Queryable.
func (*BaseApp) QueryRouter ¶ added in v0.25.0
func (app *BaseApp) QueryRouter() sdk.QueryRouter
QueryRouter returns the QueryRouter of a BaseApp.
func (*BaseApp) Seal ¶ added in v0.24.0
func (app *BaseApp) Seal()
Seal seals a BaseApp. It prohibits any further modifications to a BaseApp.
func (*BaseApp) SetAddrPeerFilter ¶ added in v0.18.0
func (app *BaseApp) SetAddrPeerFilter(pf sdk.PeerFilter)
func (*BaseApp) SetAnteHandler ¶
func (app *BaseApp) SetAnteHandler(ah sdk.AnteHandler)
func (*BaseApp) SetAppVersion ¶ added in v1.0.0
SetAppVersion sets the application's version string.
func (*BaseApp) SetBeginBlocker ¶
func (app *BaseApp) SetBeginBlocker(beginBlocker sdk.BeginBlocker)
func (*BaseApp) SetCMS ¶ added in v0.24.0
func (app *BaseApp) SetCMS(cms store.CommitMultiStore)
func (*BaseApp) SetCommitMultiStoreTracer ¶ added in v0.21.0
SetCommitMultiStoreTracer sets the store tracer on the BaseApp's underlying CommitMultiStore.
func (*BaseApp) SetEndBlocker ¶
func (app *BaseApp) SetEndBlocker(endBlocker sdk.EndBlocker)
func (*BaseApp) SetFauxMerkleMode ¶ added in v0.27.0
func (app *BaseApp) SetFauxMerkleMode()
func (*BaseApp) SetIDPeerFilter ¶ added in v0.31.0
func (app *BaseApp) SetIDPeerFilter(pf sdk.PeerFilter)
func (*BaseApp) SetInitChainer ¶
func (app *BaseApp) SetInitChainer(initChainer sdk.InitChainer)
func (*BaseApp) SetOption ¶
func (app *BaseApp) SetOption(req abci.RequestSetOption) (res abci.ResponseSetOption)
SetOption implements the ABCI interface.
func (*BaseApp) SetParamStore ¶ added in v1.0.0
func (app *BaseApp) SetParamStore(ps ParamStore)
SetParamStore sets a parameter store on the BaseApp.
func (*BaseApp) SetStoreLoader ¶ added in v1.0.0
func (app *BaseApp) SetStoreLoader(loader StoreLoader)
SetStoreLoader allows us to customize the rootMultiStore initialization.
func (*BaseApp) StoreConsensusParams ¶ added in v1.0.0
func (app *BaseApp) StoreConsensusParams(ctx sdk.Context, cp *abci.ConsensusParams)
StoreConsensusParams sets the consensus parameters to the baseapp's param store.
type ParamStore ¶ added in v1.0.0
type ParamStore interface { Get(ctx sdk.Context, key []byte, ptr interface{}) Has(ctx sdk.Context, key []byte) bool Set(ctx sdk.Context, key []byte, param interface{}) }
ParamStore defines the interface the parameter store used by the BaseApp must fulfill.
type QueryRouter ¶ added in v0.25.0
type QueryRouter struct {
// contains filtered or unexported fields
}
func NewQueryRouter ¶ added in v0.25.0
func NewQueryRouter() *QueryRouter
NewQueryRouter returns a reference to a new QueryRouter.
func (*QueryRouter) AddRoute ¶ added in v0.25.0
func (qrt *QueryRouter) AddRoute(path string, q sdk.Querier) sdk.QueryRouter
AddRoute adds a query path to the router with a given Querier. It will panic if a duplicate route is given. The route must be alphanumeric.
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
type StoreLoader ¶ added in v1.0.0
type StoreLoader func(ms sdk.CommitMultiStore) error
StoreLoader defines a customizable function to control how we load the CommitMultiStore from disk. This is useful for state migration, when loading a datastore written with an older version of the software. In particular, if a module changed the substore key name (or removed a substore) between two versions of the software.