Documentation ¶
Index ¶
- Constants
- Variables
- func AddTestAddrsIncremental(app *SimApp, ctx sdk.Context, accNum int, accAmt math.Int) []sdk.AccAddress
- func BlockedAddresses() map[string]bool
- func CheckBalance(t *testing.T, app *SimApp, addr sdk.AccAddress, balances sdk.Coins)
- func CreateRandomAccounts(numAccts int) []sdk.AccAddress
- func DefaultSimAppOptions() simtestutil.AppOptionsMap
- func GetMaccPerms() map[string][]string
- func MakeTestEncodingConfig() params.EncodingConfig
- func NewTestNetworkFixture() network.TestFixture
- func RegisterSwaggerAPI(ctx client.Context, rtr *mux.Router)
- func SetupTestingApp() (ibctesting.TestingApp, map[string]json.RawMessage)
- type App
- type GenesisState
- type KeeperTestHelper
- type SetupOptions
- type SimApp
- func NewSimApp(logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, ...) *SimApp
- func NewSimappWithCustomOptions(t *testing.T, isCheckTx bool, options SetupOptions) *SimApp
- func Setup(t *testing.T, isCheckTx bool) *SimApp
- func SetupNoBlocks(t *testing.T, isCheckTx bool) *SimApp
- func SetupWithGenesisAccounts(t *testing.T, genAccs []authtypes.GenesisAccount, ...) *SimApp
- func SetupWithGenesisValSet(t *testing.T, valSet *tmtypes.ValidatorSet, genAccs []authtypes.GenesisAccount, ...) *SimApp
- func (app *SimApp) AppCodec() codec.Codec
- func (app *SimApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
- func (app *SimApp) Configurator() module.Configurator
- func (app *SimApp) DefaultGenesis() map[string]json.RawMessage
- func (app *SimApp) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock
- func (app *SimApp) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs []string, modulesToExport []string) (servertypes.ExportedApp, error)
- func (app *SimApp) GetBaseApp() *baseapp.BaseApp
- func (app *SimApp) GetIBCKeeper() *ibckeeper.Keeper
- func (app *SimApp) GetKey(storeKey string) *storetypes.KVStoreKey
- func (app *SimApp) GetMemKey(storeKey string) *storetypes.MemoryStoreKey
- func (app *SimApp) GetScopedIBCKeeper() capabilitykeeper.ScopedKeeper
- func (app *SimApp) GetStakingKeeper() ibctestingtypes.StakingKeeper
- func (app *SimApp) GetSubspace(moduleName string) paramstypes.Subspace
- func (app *SimApp) GetTKey(storeKey string) *storetypes.TransientStoreKey
- func (app *SimApp) GetTxConfig() client.TxConfig
- func (app *SimApp) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain
- func (app *SimApp) InterfaceRegistry() types.InterfaceRegistry
- func (app *SimApp) LegacyAmino() *codec.LegacyAmino
- func (app *SimApp) LoadHeight(height int64) error
- func (app *SimApp) Name() string
- func (app *SimApp) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig)
- func (app *SimApp) RegisterNodeService(clientCtx client.Context)
- func (app *SimApp) RegisterTendermintService(clientCtx client.Context)
- func (app *SimApp) RegisterTxService(clientCtx client.Context)
- func (app *SimApp) SimulationManager() *module.SimulationManager
- type SimGenesisAccount
Constants ¶
const Bech32Prefix = "persistence"
Variables ¶
var ( // DefaultNodeHome default home directories for the application daemon DefaultNodeHome string // ModuleBasics defines the module BasicManager is in charge of setting up basic, // non-dependant module elements, such as codec registration // and genesis verification. ModuleBasics = module.NewBasicManager( auth.AppModuleBasic{}, genutil.NewAppModuleBasic(genutiltypes.DefaultMessageValidator), bank.AppModuleBasic{}, capability.AppModuleBasic{}, staking.AppModuleBasic{}, mint.AppModuleBasic{}, distr.AppModuleBasic{}, gov.NewAppModuleBasic( []govclient.ProposalHandler{ paramsclient.ProposalHandler, upgradeclient.LegacyProposalHandler, upgradeclient.LegacyCancelProposalHandler, }, ), params.AppModuleBasic{}, crisis.AppModuleBasic{}, slashing.AppModuleBasic{}, feegrantmodule.AppModuleBasic{}, upgrade.AppModuleBasic{}, evidence.AppModuleBasic{}, authzmodule.AppModuleBasic{}, vesting.AppModuleBasic{}, groupmodule.AppModuleBasic{}, consensus.AppModuleBasic{}, ibc.AppModuleBasic{}, ibctm.AppModuleBasic{}, epochs.AppModuleBasic{}, halving.AppModuleBasic{}, interchainquery.AppModuleBasic{}, oracle.AppModuleBasic{}, ) )
Functions ¶
func AddTestAddrsIncremental ¶
func AddTestAddrsIncremental(app *SimApp, 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 BlockedAddresses ¶ added in v2.1.0
BlockedAddresses returns all the app's blocked account addresses.
func CheckBalance ¶
CheckBalance checks the balance of an account.
func CreateRandomAccounts ¶
func CreateRandomAccounts(numAccts int) []sdk.AccAddress
CreateRandomAccounts is a function return a list of randomly generated AccAddresses
func DefaultSimAppOptions ¶ added in v2.1.0
func DefaultSimAppOptions() simtestutil.AppOptionsMap
func GetMaccPerms ¶
GetMaccPerms returns a copy of the module account permissions
NOTE: This is solely to be used for testing purposes.
func MakeTestEncodingConfig ¶
func MakeTestEncodingConfig() params.EncodingConfig
MakeTestEncodingConfig creates an EncodingConfig for testing. This function should be used only in tests or when creating a new app instance (NewApp*()). App user shouldn't create new codecs - use the app.AppCodec instead. [DEPRECATED]
func NewTestNetworkFixture ¶ added in v2.1.0
func NewTestNetworkFixture() network.TestFixture
NewTestNetworkFixture returns a new simapp AppConstructor for network simulation tests
func RegisterSwaggerAPI ¶
RegisterSwaggerAPI registers swagger route with API Server
func SetupTestingApp ¶
func SetupTestingApp() (ibctesting.TestingApp, map[string]json.RawMessage)
SetupTestingApp initializes the IBC-go testing application
Types ¶
type App ¶
type App interface { // The assigned name of the app. Name() string // The application types codec. // NOTE: This shoult be sealed before being returned. LegacyAmino() *codec.LegacyAmino // Application updates every begin block. BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock // Application updates every end block. EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock // Application update at chain (i.e app) initialization. InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain // Loads the app at a given height. LoadHeight(height int64) error // Exports the state of the application for a genesis file. ExportAppStateAndValidators( forZeroHeight bool, jailAllowedAddrs []string, modulesToExport []string, ) (types.ExportedApp, error) // All the registered module account addreses. ModuleAccountAddrs() map[string]bool // Helper for the simulation framework. SimulationManager() *module.SimulationManager }
App implements the common methods for a Cosmos SDK-based application specific blockchain.
type GenesisState ¶
type GenesisState map[string]json.RawMessage
GenesisState of the blockchain is represented here as a map of raw json messages key'd by a identifier string. The identifier is used to determine which module genesis information belongs to, so it may be appropriately routed during init chain. Within this application default genesis information is retrieved from the ModuleBasicManager which populates json from each BasicModule object provided to it during init.
func GenesisStateWithSingleValidator ¶ added in v2.1.0
func GenesisStateWithSingleValidator(t *testing.T, app *SimApp) GenesisState
GenesisStateWithSingleValidator initializes GenesisState with a single validator and genesis accounts that also act as delegators.
func NewDefaultGenesisState ¶
func NewDefaultGenesisState(cdc codec.JSONCodec) GenesisState
NewDefaultGenesisState generates the default state for the application.
type KeeperTestHelper ¶
type KeeperTestHelper struct { suite.Suite App *SimApp Ctx sdk.Context QueryHelper *baseapp.QueryServiceTestHelper TestAccs []sdk.AccAddress }
func (*KeeperTestHelper) SetEpochStartTime ¶
func (s *KeeperTestHelper) SetEpochStartTime()
func (*KeeperTestHelper) Setup ¶
func (s *KeeperTestHelper) Setup()
Setup sets up basic environment for suite (App, Ctx, and test accounts)
type SetupOptions ¶ added in v2.1.0
type SetupOptions struct { Logger log.Logger DB *dbm.MemDB AppOpts servertypes.AppOptions }
SetupOptions defines arguments that are passed into `Simapp` constructor.
type SimApp ¶
type SimApp struct { *baseapp.BaseApp // keepers AccountKeeper authkeeper.AccountKeeper BankKeeper bankkeeper.Keeper CapabilityKeeper *capabilitykeeper.Keeper StakingKeeper *stakingkeeper.Keeper SlashingKeeper slashingkeeper.Keeper MintKeeper mintkeeper.Keeper DistrKeeper distrkeeper.Keeper GovKeeper govkeeper.Keeper CrisisKeeper *crisiskeeper.Keeper UpgradeKeeper *upgradekeeper.Keeper ParamsKeeper paramskeeper.Keeper AuthzKeeper authzkeeper.Keeper EvidenceKeeper evidencekeeper.Keeper FeeGrantKeeper feegrantkeeper.Keeper GroupKeeper groupkeeper.Keeper ConsensusParamsKeeper consensusparamskeeper.Keeper IBCKeeper *ibckeeper.Keeper EpochsKeeper *epochskeeper.Keeper HalvingKeeper halving.Keeper InterchainQueryKeeper interchainquerykeeper.Keeper OracleKeeper oraclekeeper.Keeper ScopedIBCKeeper capabilitykeeper.ScopedKeeper // contains filtered or unexported fields }
SimApp extends an ABCI application, but with most of its parameters exported. They are exported for convenience in creating helper functions, as object capabilities aren't needed for testing.
func NewSimApp ¶
func NewSimApp( logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, appOpts servertypes.AppOptions, baseAppOptions ...func(*baseapp.BaseApp), ) *SimApp
NewSimApp returns a reference to an initialized SimApp.
func NewSimappWithCustomOptions ¶ added in v2.1.0
func NewSimappWithCustomOptions(t *testing.T, isCheckTx bool, options SetupOptions) *SimApp
NewSimappWithCustomOptions initializes a new SimApp with custom options.
func SetupNoBlocks ¶ added in v2.1.0
Setup initializes a new SimApp without committing genesis changes. A Nop logger is set in SimApp.
func SetupWithGenesisAccounts ¶
func SetupWithGenesisAccounts(t *testing.T, genAccs []authtypes.GenesisAccount, balances ...banktypes.Balance) *SimApp
SetupWithGenesisAccounts initializes a new SimApp with the provided genesis accounts and possible balances.
func SetupWithGenesisValSet ¶
func SetupWithGenesisValSet(t *testing.T, valSet *tmtypes.ValidatorSet, genAccs []authtypes.GenesisAccount, commitGenesis bool, balances ...banktypes.Balance) *SimApp
SetupWithGenesisValSet initializes a new SimApp with a validator set and genesis accounts that also act as delegators. For simplicity, each validator is bonded with a delegation of one consensus engine unit in the default token of the simapp from first genesis account. A Nop logger is set in SimApp.
func (*SimApp) AppCodec ¶
AppCodec returns SimApp's app codec.
NOTE: This is solely to be used for testing purposes as it may be desirable for modules to register their own custom testing types.
func (*SimApp) BeginBlocker ¶
func (app *SimApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
BeginBlocker application updates every begin block
func (*SimApp) Configurator ¶ added in v2.1.0
func (app *SimApp) Configurator() module.Configurator
func (*SimApp) DefaultGenesis ¶ added in v2.1.0
func (app *SimApp) DefaultGenesis() map[string]json.RawMessage
DefaultGenesis returns a default genesis from the registered AppModuleBasic's.
func (*SimApp) EndBlocker ¶
func (app *SimApp) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock
EndBlocker application updates every end block
func (*SimApp) ExportAppStateAndValidators ¶
func (app *SimApp) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs []string, modulesToExport []string) (servertypes.ExportedApp, error)
ExportAppStateAndValidators exports the state of the application for a genesis file.
func (*SimApp) GetBaseApp ¶
GetBaseApp implements the TestingApp interface.
func (*SimApp) GetIBCKeeper ¶
GetIBCKeeper implements the TestingApp interface.
func (*SimApp) GetKey ¶
func (app *SimApp) GetKey(storeKey string) *storetypes.KVStoreKey
GetKey returns the KVStoreKey for the provided store key.
NOTE: This is solely to be used for testing purposes.
func (*SimApp) GetMemKey ¶
func (app *SimApp) GetMemKey(storeKey string) *storetypes.MemoryStoreKey
GetMemKey returns the MemStoreKey for the provided mem key.
NOTE: This is solely used for testing purposes.
func (*SimApp) GetScopedIBCKeeper ¶
func (app *SimApp) GetScopedIBCKeeper() capabilitykeeper.ScopedKeeper
GetScopedIBCKeeper implements the TestingApp interface.
func (*SimApp) GetStakingKeeper ¶
func (app *SimApp) GetStakingKeeper() ibctestingtypes.StakingKeeper
GetStakingKeeper implements the TestingApp interface.
func (*SimApp) GetSubspace ¶
func (app *SimApp) GetSubspace(moduleName string) paramstypes.Subspace
GetSubspace returns a param subspace for a given module name.
NOTE: This is solely to be used for testing purposes.
func (*SimApp) GetTKey ¶
func (app *SimApp) GetTKey(storeKey string) *storetypes.TransientStoreKey
GetTKey returns the TransientStoreKey for the provided store key.
NOTE: This is solely to be used for testing purposes.
func (*SimApp) GetTxConfig ¶
GetTxConfig implements the TestingApp interface.
func (*SimApp) InitChainer ¶
func (app *SimApp) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain
InitChainer application update at chain initialization
func (*SimApp) InterfaceRegistry ¶
func (app *SimApp) InterfaceRegistry() types.InterfaceRegistry
InterfaceRegistry returns SimApp's InterfaceRegistry
func (*SimApp) LegacyAmino ¶
func (app *SimApp) LegacyAmino() *codec.LegacyAmino
LegacyAmino returns SimApp's amino codec.
NOTE: This is solely to be used for testing purposes as it may be desirable for modules to register their own custom testing types.
func (*SimApp) LoadHeight ¶
LoadHeight loads a particular height
func (*SimApp) RegisterAPIRoutes ¶
RegisterAPIRoutes registers all application module routes with the provided API server.
func (*SimApp) RegisterNodeService ¶ added in v2.1.0
func (*SimApp) RegisterTendermintService ¶
RegisterTendermintService implements the Application.RegisterTendermintService method.
func (*SimApp) RegisterTxService ¶
RegisterTxService implements the Application.RegisterTxService method.
func (*SimApp) SimulationManager ¶
func (app *SimApp) SimulationManager() *module.SimulationManager
SimulationManager implements the SimulationApp interface
type SimGenesisAccount ¶
type SimGenesisAccount struct { *authtypes.BaseAccount // vesting account fields OriginalVesting sdk.Coins `json:"original_vesting" yaml:"original_vesting"` // total vesting coins upon initialization DelegatedFree sdk.Coins `json:"delegated_free" yaml:"delegated_free"` // delegated vested coins at time of delegation DelegatedVesting sdk.Coins `json:"delegated_vesting" yaml:"delegated_vesting"` // delegated vesting coins at time of delegation StartTime int64 `json:"start_time" yaml:"start_time"` // vesting start time (UNIX Epoch time) EndTime int64 `json:"end_time" yaml:"end_time"` // vesting end time (UNIX Epoch time) // module account fields ModuleName string `json:"module_name" yaml:"module_name"` // name of the module account ModulePermissions []string `json:"module_permissions" yaml:"module_permissions"` // permissions of module account }
SimGenesisAccount defines a type that implements the GenesisAccount interface to be used for simulation accounts in the genesis state.
func (SimGenesisAccount) Validate ¶
func (sga SimGenesisAccount) Validate() error
Validate checks for errors on the vesting and module account parameters