The version package is meant to be a convenience utility that provides SDK consumers with a ready-to-use version command that produces app's versioning information from flags passed at compile time. It will not make sense anymore for the baseapp package to depend on the version package once gaia will have been migrated away from the SDK main repository as we neither want to make assumptions nor set expectations on downstream apps buildsystems. Thus BaseApp now provides SetAppVersion() and AppVersion() to to allow SDK consumers to set BaseApp's version information string once the struct is initialised.
113 lines
2.6 KiB
Go
113 lines
2.6 KiB
Go
// nolint: golint
|
|
package baseapp
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
dbm "github.com/tendermint/tendermint/libs/db"
|
|
|
|
"github.com/cosmos/cosmos-sdk/store"
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
)
|
|
|
|
// File for storing in-package BaseApp optional functions,
|
|
// for options that need access to non-exported fields of the BaseApp
|
|
|
|
// SetPruning sets a pruning option on the multistore associated with the app
|
|
func SetPruning(opts sdk.PruningOptions) func(*BaseApp) {
|
|
return func(bap *BaseApp) { bap.cms.SetPruning(opts) }
|
|
}
|
|
|
|
// SetMinGasPrices returns an option that sets the minimum gas prices on the app.
|
|
func SetMinGasPrices(gasPricesStr string) func(*BaseApp) {
|
|
gasPrices, err := sdk.ParseDecCoins(gasPricesStr)
|
|
if err != nil {
|
|
panic(fmt.Sprintf("invalid minimum gas prices: %v", err))
|
|
}
|
|
|
|
return func(bap *BaseApp) { bap.setMinGasPrices(gasPrices) }
|
|
}
|
|
|
|
// SetHaltHeight returns a BaseApp option function that sets the halt height.
|
|
func SetHaltHeight(height uint64) func(*BaseApp) {
|
|
return func(bap *BaseApp) { bap.setHaltHeight(height) }
|
|
}
|
|
|
|
func (app *BaseApp) SetName(name string) {
|
|
if app.sealed {
|
|
panic("SetName() on sealed BaseApp")
|
|
}
|
|
app.name = name
|
|
}
|
|
|
|
// SetAppVersion sets the application's version string.
|
|
func (app *BaseApp) SetAppVersion(v string) {
|
|
if app.sealed {
|
|
panic("SetAppVersion() on sealed BaseApp")
|
|
}
|
|
app.appVersion = v
|
|
}
|
|
|
|
func (app *BaseApp) SetDB(db dbm.DB) {
|
|
if app.sealed {
|
|
panic("SetDB() on sealed BaseApp")
|
|
}
|
|
app.db = db
|
|
}
|
|
|
|
func (app *BaseApp) SetCMS(cms store.CommitMultiStore) {
|
|
if app.sealed {
|
|
panic("SetEndBlocker() on sealed BaseApp")
|
|
}
|
|
app.cms = cms
|
|
}
|
|
|
|
func (app *BaseApp) SetInitChainer(initChainer sdk.InitChainer) {
|
|
if app.sealed {
|
|
panic("SetInitChainer() on sealed BaseApp")
|
|
}
|
|
app.initChainer = initChainer
|
|
}
|
|
|
|
func (app *BaseApp) SetBeginBlocker(beginBlocker sdk.BeginBlocker) {
|
|
if app.sealed {
|
|
panic("SetBeginBlocker() on sealed BaseApp")
|
|
}
|
|
app.beginBlocker = beginBlocker
|
|
}
|
|
|
|
func (app *BaseApp) SetEndBlocker(endBlocker sdk.EndBlocker) {
|
|
if app.sealed {
|
|
panic("SetEndBlocker() on sealed BaseApp")
|
|
}
|
|
app.endBlocker = endBlocker
|
|
}
|
|
|
|
func (app *BaseApp) SetAnteHandler(ah sdk.AnteHandler) {
|
|
if app.sealed {
|
|
panic("SetAnteHandler() on sealed BaseApp")
|
|
}
|
|
app.anteHandler = ah
|
|
}
|
|
|
|
func (app *BaseApp) SetAddrPeerFilter(pf sdk.PeerFilter) {
|
|
if app.sealed {
|
|
panic("SetAddrPeerFilter() on sealed BaseApp")
|
|
}
|
|
app.addrPeerFilter = pf
|
|
}
|
|
|
|
func (app *BaseApp) SetIDPeerFilter(pf sdk.PeerFilter) {
|
|
if app.sealed {
|
|
panic("SetIDPeerFilter() on sealed BaseApp")
|
|
}
|
|
app.idPeerFilter = pf
|
|
}
|
|
|
|
func (app *BaseApp) SetFauxMerkleMode() {
|
|
if app.sealed {
|
|
panic("SetFauxMerkleMode() on sealed BaseApp")
|
|
}
|
|
app.fauxMerkleMode = true
|
|
}
|