Documentation ¶
Index ¶
- Constants
- Variables
- func AddTestAddrs(bankKeeper bankkeeper.Keeper, stakingKeeper BondDenomProvider, ctx sdk.Context, ...) []sdk.AccAddress
- func AddTestAddrsFromPubKeys(bankKeeper bankkeeper.Keeper, stakingKeeper BondDenomProvider, ctx sdk.Context, ...)
- func AddTestAddrsIncremental(bankKeeper bankkeeper.Keeper, stakingKeeper BondDenomProvider, ctx sdk.Context, ...) []sdk.AccAddress
- func AppStateFn(cdc codec.JSONCodec, simManager *module.SimulationManager, ...) simtypes.AppStateFn
- func AppStateFnWithExtendedCb(cdc codec.JSONCodec, simManager *module.SimulationManager, ...) simtypes.AppStateFn
- func AppStateFnWithExtendedCbs(cdc codec.JSONCodec, simManager *module.SimulationManager, ...) simtypes.AppStateFn
- func AppStateFromGenesisFileFn(r io.Reader, cdc codec.JSONCodec, genesisFile string) (genutiltypes.AppGenesis, []simtypes.Account, error)
- func AppStateRandomizedFn(simManager *module.SimulationManager, r *rand.Rand, cdc codec.JSONCodec, ...) (json.RawMessage, []simtypes.Account)
- func CheckExportSimulation(app runtime.AppI, config simtypes.Config, params simtypes.Params) error
- func ConvertAddrsToValAddrs(addrs []sdk.AccAddress) []sdk.ValAddress
- func CreateIncrementalAccounts(accNum int) []sdk.AccAddress
- func CreateRandomAccounts(accNum int) []sdk.AccAddress
- func CreateRandomValidatorSet() (*cmttypes.ValidatorSet, error)
- func CreateTestPubKeys(numPubKeys int) []cryptotypes.PubKey
- func DiffKVStores(a, b storetypes.KVStore, prefixesToSkip [][]byte) (diffA, diffB []kv.Pair)
- func GenSignedMockTx(r *rand.Rand, txConfig client.TxConfig, msgs []sdk.Msg, feeAmt sdk.Coins, ...) (sdk.Tx, error)
- func GenesisStateWithValSet(codec codec.Codec, genesisState map[string]json.RawMessage, ...) (map[string]json.RawMessage, error)
- func GetSimulationLog(storeName string, sdr simtypes.StoreDecoderRegistry, kvAs, kvBs []kv.Pair) (log string)
- func NewAppOptionsWithFlagHome(homePath string) servertypes.AppOptions
- func NewPubKeyFromHex(pk string) (res cryptotypes.PubKey)
- func PrintStats(db dbm.DB)
- func Setup(appConfig depinject.Config, extraOutputs ...interface{}) (*runtime.App, error)
- func SetupAtGenesis(appConfig depinject.Config, extraOutputs ...interface{}) (*runtime.App, error)
- func SetupSimulation(config simtypes.Config, dirPrefix, dbName string, verbose, skip bool) (dbm.DB, string, log.Logger, bool, error)
- func SetupWithConfiguration(appConfig depinject.Config, startupConfig StartupConfig, ...) (*runtime.App, error)
- func SignCheckDeliver(t *testing.T, txCfg client.TxConfig, app *baseapp.BaseApp, header types.Header, ...) (sdk.GasInfo, *sdk.Result, error)
- func SimulationOperations(app runtime.AppI, cdc codec.JSONCodec, config simtypes.Config) []simtypes.WeightedOperation
- func TestAddr(addr, bech string) (sdk.AccAddress, error)
- type AppOptionsMap
- type BondDenomProvider
- type EmptyAppOptions
- type GenerateAccountStrategy
- type GenesisAccount
- type StartupConfig
Constants ¶
const ( StakePerAccount = "stake_per_account" InitiallyBondedValidators = "initially_bonded_validators" )
Simulation parameter constants
const DefaultGenTxGas = 10000000
Variables ¶
var DefaultConsensusParams = &cmtproto.ConsensusParams{ Block: &cmtproto.BlockParams{ MaxBytes: 200000, MaxGas: 100_000_000, }, Evidence: &cmtproto.EvidenceParams{ MaxAgeNumBlocks: 302400, MaxAgeDuration: 504 * time.Hour, MaxBytes: 10000, }, Validator: &cmtproto.ValidatorParams{ PubKeyTypes: []string{ cmttypes.ABCIPubKeyTypeEd25519, }, }, }
DefaultConsensusParams defines the default CometBFT consensus params used in SimApp testing.
Functions ¶
func AddTestAddrs ¶
func AddTestAddrs(bankKeeper bankkeeper.Keeper, stakingKeeper BondDenomProvider, ctx sdk.Context, accNum int, accAmt math.Int) []sdk.AccAddress
AddTestAddrs constructs and returns accNum amount of accounts with an initial balance of accAmt in random order
func AddTestAddrsFromPubKeys ¶
func AddTestAddrsFromPubKeys(bankKeeper bankkeeper.Keeper, stakingKeeper BondDenomProvider, ctx sdk.Context, pubKeys []cryptotypes.PubKey, accAmt math.Int)
AddTestAddrsFromPubKeys adds the addresses into the SimApp providing only the public keys.
func AddTestAddrsIncremental ¶
func AddTestAddrsIncremental(bankKeeper bankkeeper.Keeper, stakingKeeper BondDenomProvider, ctx sdk.Context, accNum int, accAmt math.Int) []sdk.AccAddress
AddTestAddrsIncremental constructs and returns accNum amount of accounts with an initial balance of accAmt in random order
func AppStateFn ¶
func AppStateFn(cdc codec.JSONCodec, simManager *module.SimulationManager, genesisState map[string]json.RawMessage) simtypes.AppStateFn
AppStateFn returns the initial application state using a genesis or the simulation parameters. It calls AppStateFnWithExtendedCb with nil rawStateCb.
func AppStateFnWithExtendedCb ¶
func AppStateFnWithExtendedCb( cdc codec.JSONCodec, simManager *module.SimulationManager, genesisState map[string]json.RawMessage, rawStateCb func(rawState map[string]json.RawMessage), ) simtypes.AppStateFn
AppStateFnWithExtendedCb returns the initial application state using a genesis or the simulation parameters. It calls AppStateFnWithExtendedCbs with nil moduleStateCb.
func AppStateFnWithExtendedCbs ¶
func AppStateFnWithExtendedCbs( cdc codec.JSONCodec, simManager *module.SimulationManager, genesisState map[string]json.RawMessage, moduleStateCb func(moduleName string, genesisState interface{}), rawStateCb func(rawState map[string]json.RawMessage), ) simtypes.AppStateFn
AppStateFnWithExtendedCbs returns the initial application state using a genesis or the simulation parameters. It panics if the user provides files for both of them. If a file is not given for the genesis or the sim params, it creates a randomized one. genesisState is the default genesis state of the whole app. moduleStateCb is the callback function to access moduleState. rawStateCb is the callback function to extend rawState.
func AppStateFromGenesisFileFn ¶
func AppStateFromGenesisFileFn(r io.Reader, cdc codec.JSONCodec, genesisFile string) (genutiltypes.AppGenesis, []simtypes.Account, error)
AppStateFromGenesisFileFn util function to generate the genesis AppState from a genesis.json file.
func AppStateRandomizedFn ¶
func AppStateRandomizedFn( simManager *module.SimulationManager, r *rand.Rand, cdc codec.JSONCodec, accs []simtypes.Account, genesisTimestamp time.Time, appParams simtypes.AppParams, genesisState map[string]json.RawMessage, ) (json.RawMessage, []simtypes.Account)
AppStateRandomizedFn creates calls each module's GenesisState generator function and creates the simulation params
func CheckExportSimulation ¶
CheckExportSimulation exports the app state and simulation parameters to JSON if the export paths are defined.
func ConvertAddrsToValAddrs ¶
func ConvertAddrsToValAddrs(addrs []sdk.AccAddress) []sdk.ValAddress
ConvertAddrsToValAddrs converts the provided addresses to ValAddress.
func CreateIncrementalAccounts ¶
func CreateIncrementalAccounts(accNum int) []sdk.AccAddress
CreateIncrementalAccounts is a strategy used by addTestAddrs() in order to generated addresses in ascending order.
func CreateRandomAccounts ¶
func CreateRandomAccounts(accNum int) []sdk.AccAddress
CreateRandomAccounts is a strategy used by addTestAddrs() in order to generated addresses in random order.
func CreateRandomValidatorSet ¶
func CreateRandomValidatorSet() (*cmttypes.ValidatorSet, error)
CreateRandomValidatorSet creates a validator set with one random validator
func CreateTestPubKeys ¶
func CreateTestPubKeys(numPubKeys int) []cryptotypes.PubKey
CreateTestPubKeys returns a total of numPubKeys public keys in ascending order.
func DiffKVStores ¶
func DiffKVStores(a, b storetypes.KVStore, prefixesToSkip [][]byte) (diffA, diffB []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 GenSignedMockTx ¶
func GenSignedMockTx(r *rand.Rand, txConfig client.TxConfig, msgs []sdk.Msg, feeAmt sdk.Coins, gas uint64, chainID string, accNums, accSeqs []uint64, priv ...cryptotypes.PrivKey) (sdk.Tx, error)
GenSignedMockTx generates a signed mock transaction.
func GenesisStateWithValSet ¶
func GenesisStateWithValSet( codec codec.Codec, genesisState map[string]json.RawMessage, valSet *cmttypes.ValidatorSet, genAccs []authtypes.GenesisAccount, balances ...banktypes.Balance, ) (map[string]json.RawMessage, error)
GenesisStateWithValSet returns a new genesis state with the validator set
func GetSimulationLog ¶
func GetSimulationLog(storeName string, sdr simtypes.StoreDecoderRegistry, kvAs, kvBs []kv.Pair) (log string)
GetSimulationLog unmarshals the KVPair's Value to the corresponding type based on the each's module store key and the prefix bytes of the KVPair's key.
func NewAppOptionsWithFlagHome ¶
func NewAppOptionsWithFlagHome(homePath string) servertypes.AppOptions
func NewPubKeyFromHex ¶
func NewPubKeyFromHex(pk string) (res cryptotypes.PubKey)
NewPubKeyFromHex returns a PubKey from a hex string.
func PrintStats ¶
PrintStats prints the corresponding statistics from the app DB.
func Setup ¶
Setup initializes a new runtime.App and can inject values into extraOutputs. It uses SetupWithConfiguration under the hood.
func SetupAtGenesis ¶
SetupAtGenesis initializes a new runtime.App at genesis and can inject values into extraOutputs. It uses SetupWithConfiguration under the hood.
func SetupSimulation ¶
func SetupSimulation(config simtypes.Config, dirPrefix, dbName string, verbose, skip bool) (dbm.DB, string, log.Logger, bool, error)
SetupSimulation creates the config, db (levelDB), temporary directory and logger for the simulation tests. If `skip` is false it skips the current test. `skip` should be set using the `FlagEnabledValue` flag. Returns error on an invalid db intantiation or temp dir creation.
func SetupWithConfiguration ¶
func SetupWithConfiguration(appConfig depinject.Config, startupConfig StartupConfig, extraOutputs ...interface{}) (*runtime.App, error)
SetupWithConfiguration initializes a new runtime.App. A Nop logger is set in runtime.App. appConfig defines the application configuration (f.e. app_config.go). extraOutputs defines the extra outputs to be assigned by the dependency injector (depinject).
func SignCheckDeliver ¶
func SignCheckDeliver( t *testing.T, txCfg client.TxConfig, app *baseapp.BaseApp, header types.Header, msgs []sdk.Msg, chainID string, accNums, accSeqs []uint64, expSimPass, expPass bool, priv ...cryptotypes.PrivKey, ) (sdk.GasInfo, *sdk.Result, error)
SignCheckDeliver checks a generated signed transaction and simulates a block commitment with the given transaction. A test assertion is made using the parameter 'expPass' against the result. A corresponding result is returned.
func SimulationOperations ¶
func SimulationOperations(app runtime.AppI, cdc codec.JSONCodec, config simtypes.Config) []simtypes.WeightedOperation
SimulationOperations retrieves the simulation params from the provided file path and returns all the modules weighted operations
Types ¶
type AppOptionsMap ¶
type AppOptionsMap map[string]interface{}
AppOptionsMap is a stub implementing AppOptions which can get data from a map
func (AppOptionsMap) Get ¶
func (m AppOptionsMap) Get(key string) interface{}
type BondDenomProvider ¶
BondDenomProvider is a subset of the staking keeper's public interface that provides the staking bond denom. It is used in arguments in this package's functions so that a mock staking keeper can be passed instead of the real one.
type EmptyAppOptions ¶
type EmptyAppOptions struct{}
EmptyAppOptions is a stub implementing AppOptions
func (EmptyAppOptions) Get ¶
func (ao EmptyAppOptions) Get(o string) interface{}
Get implements AppOptions
type GenerateAccountStrategy ¶
type GenerateAccountStrategy func(int) []sdk.AccAddress
type GenesisAccount ¶
type GenesisAccount struct { authtypes.GenesisAccount Coins sdk.Coins }
type StartupConfig ¶
type StartupConfig struct { ValidatorSet func() (*cmttypes.ValidatorSet, error) BaseAppOption runtime.BaseAppOption AtGenesis bool GenesisAccounts []GenesisAccount DB dbm.DB }
StartupConfig defines the startup configuration new a test application.
ValidatorSet defines a custom validator set to be validating the app. BaseAppOption defines the additional operations that must be run on baseapp before app start. AtGenesis defines if the app started should already have produced block or not.
func DefaultStartUpConfig ¶
func DefaultStartUpConfig() StartupConfig