Documentation ¶
Index ¶
- Constants
- Variables
- func AddTestAddrs(app *UndSimApp, ctx sdk.Context, accNum int, accAmt sdk.Int) []sdk.AccAddress
- func AppStateFn(cdc *codec.Codec, simManager *module.SimulationManager) simulation.AppStateFn
- func AppStateRandomizedFn(simManager *module.SimulationManager, r *rand.Rand, cdc *codec.Codec, ...) (json.RawMessage, []simulation.Account)
- func CheckBalance(t *testing.T, app *UndSimApp, addr sdk.AccAddress, exp sdk.Coins)
- func ExportParamsToJSON(params simulation.Params, path string) error
- func ExportStateToJSON(app *UndSimApp, path string) error
- func GenSequenceOfTxs(msgs []sdk.Msg, accNums []uint64, initSeqNums []uint64, numToGenerate int, ...) []auth.StdTx
- func GetMaccPerms() map[string][]string
- func GetSimulationLog(storeName string, sdr sdk.StoreDecoderRegistry, cdc *codec.Codec, ...) (log string)
- func GetSimulatorFlags()
- func MakeCodec() *codec.Codec
- func NewConfigFromFlags() simulation.Config
- func SetupUnitTestApp(isCheckTx bool, genAccs int, amt int64, testDenom string) (*UndSimApp, sdk.Context, TestAccount, []TestAccount)
- func SignCheckDeliver(t *testing.T, cdc *codec.Codec, app *bam.BaseApp, header abci.Header, ...) (sdk.GasInfo, *sdk.Result, error)
- type GenesisState
- type SimGenesisAccount
- type TestAccount
- type UndSimApp
- func (app *UndSimApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
- func (app *UndSimApp) Codec() *codec.Codec
- func (app *UndSimApp) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock
- func (app *UndSimApp) ExportAppStateAndValidators(forZeroHeight bool, jailWhiteList []string) (appState json.RawMessage, validators []tmtypes.GenesisValidator, err error)
- func (app *UndSimApp) GetKey(storeKey string) *sdk.KVStoreKey
- func (app *UndSimApp) GetTKey(storeKey string) *sdk.TransientStoreKey
- func (app *UndSimApp) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain
- func (app *UndSimApp) LoadHeight(height int64) error
- func (app *UndSimApp) ModuleAccountAddrs() map[string]bool
Constants ¶
const ( StakePerAccount = "stake_per_account" InitiallyBondedValidators = "initially_bonded_validators" OpWeightDeductFee = "op_weight_deduct_fee" OpWeightMsgSend = "op_weight_msg_send" OpWeightMsgMultiSend = "op_weight_msg_multisend" OpWeightMsgSetWithdrawAddress = "op_weight_msg_set_withdraw_address" OpWeightMsgWithdrawDelegationReward = "op_weight_msg_withdraw_delegation_reward" OpWeightMsgWithdrawValidatorCommission = "op_weight_msg_withdraw_validator_commission" OpWeightSubmitTextProposal = "op_weight_submit_text_proposal" OpWeightSubmitCommunitySpendProposal = "op_weight_submit_community_spend_proposal" OpWeightSubmitParamChangeProposal = "op_weight_submit_param_change_proposal" OpWeightMsgDeposit = "op_weight_msg_deposit" OpWeightMsgVote = "op_weight_msg_vote" OpWeightMsgCreateValidator = "op_weight_msg_create_validator" OpWeightMsgEditValidator = "op_weight_msg_edit_validator" OpWeightMsgDelegate = "op_weight_msg_delegate" OpWeightMsgUndelegate = "op_weight_msg_undelegate" OpWeightMsgBeginRedelegate = "op_weight_msg_begin_redelegate" OpWeightMsgUnjail = "op_weight_msg_unjail" OpWeightMsgRaisePurchaseOrder = "op_weight_msg_purchase_enteprise_und" OpWeightMsgProcessUndPurchaseOrder = "op_weight_msg_process_enteprise_und_purchase_order" OpWeightMsgRegisterWrkChain = "op_weight_msg_register_wrkchain" OpWeightMsgRecordWrkChainBlock = "op_weight_msg_record_wrkchain_block" OpWeightMsgRegisterBeacon = "op_weight_msg_register_beacon" OpWeightMsgRecordBeaconTimestamp = "op_weight_msg_record_beacon_timestamp" )
Simulation parameter constants
Variables ¶
var ( // default home directories for the application CLI DefaultCLIHome = os.ExpandEnv("$HOME/.und_simapp") // default home directories for the application daemon DefaultNodeHome = os.ExpandEnv("$HOME/.und_simapp") // The module BasicManager is in charge of setting up basic, // non-dependant module elements, such as codec registration // and genesis verification. ModuleBasics = module.NewBasicManager( genutil.AppModuleBasic{}, auth.AppModuleBasic{}, bank.AppModuleBasic{}, staking.AppModuleBasic{}, mint.AppModuleBasic{}, distr.AppModuleBasic{}, gov.NewAppModuleBasic(paramsclient.ProposalHandler, distr.ProposalHandler), params.AppModuleBasic{}, crisis.AppModuleBasic{}, slashing.AppModuleBasic{}, supply.AppModuleBasic{}, enterprise.AppModule{}, wrkchain.AppModule{}, beacon.AppModule{}, evidence.AppModuleBasic{}, ) )
var ( FlagGenesisFileValue string FlagParamsFileValue string FlagExportParamsPathValue string FlagExportParamsHeightValue int FlagExportStatePathValue string FlagExportStatsPathValue string FlagSeedValue int64 FlagInitialBlockHeightValue int FlagNumBlocksValue int FlagBlockSizeValue int FlagLeanValue bool FlagCommitValue bool FlagOnOperationValue bool // TODO: Remove in favor of binary search for invariant violation FlagAllInvariantsValue bool FlagEnabledValue bool FlagVerboseValue bool FlagPeriodValue uint FlagGenesisTimeValue int64 )
List of available flags for the simulator
Functions ¶
func AddTestAddrs ¶
AddTestAddrs constructs and returns accNum amount of accounts with an initial balance of accAmt
func AppStateFn ¶
func AppStateFn(cdc *codec.Codec, simManager *module.SimulationManager) simulation.AppStateFn
AppStateFn 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.
func AppStateRandomizedFn ¶
func AppStateRandomizedFn( simManager *module.SimulationManager, r *rand.Rand, cdc *codec.Codec, accs []simulation.Account, genesisTimestamp time.Time, appParams simulation.AppParams, ) (json.RawMessage, []simulation.Account)
AppStateRandomizedFn creates calls each module's GenesisState generator function and creates the simulation params
func CheckBalance ¶
CheckBalance checks the balance of an account.
func ExportParamsToJSON ¶
func ExportParamsToJSON(params simulation.Params, path string) error
ExportParamsToJSON util function to export the simulation parameters to JSON
func ExportStateToJSON ¶
ExportStateToJSON util function to export the app state to JSON
func GenSequenceOfTxs ¶
func GenSequenceOfTxs(msgs []sdk.Msg, accNums []uint64, initSeqNums []uint64, numToGenerate int, priv ...crypto.PrivKey) []auth.StdTx
GenSequenceOfTxs generates a set of signed transactions of messages, such that they differ only by having the sequence numbers incremented between every transaction.
func GetMaccPerms ¶
GetMaccPerms returns a copy of the module account permissions
func GetSimulationLog ¶
func GetSimulationLog(storeName string, sdr sdk.StoreDecoderRegistry, cdc *codec.Codec, kvAs, kvBs []tmkv.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 GetSimulatorFlags ¶
func GetSimulatorFlags()
GetSimulatorFlags gets the values of all the available simulation flags
func NewConfigFromFlags ¶
func NewConfigFromFlags() simulation.Config
NewConfigFromFlags creates a simulation from the retrieved values of the flags.
func SetupUnitTestApp ¶
func SetupUnitTestApp(isCheckTx bool, genAccs int, amt int64, testDenom string) (*UndSimApp, sdk.Context, TestAccount, []TestAccount)
SetupUnitTestApp creates a simApp and context for testing with some sensible chain defaults
func SignCheckDeliver ¶
func SignCheckDeliver( t *testing.T, cdc *codec.Codec, app *bam.BaseApp, header abci.Header, msgs []sdk.Msg, accNums, seq []uint64, expSimPass, expPass bool, priv ...crypto.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.
Types ¶
type GenesisState ¶
type GenesisState map[string]json.RawMessage
The genesis state 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 NewDefaultGenesisState ¶
func NewDefaultGenesisState() GenesisState
NewDefaultGenesisState generates the default state for the application.
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
type TestAccount ¶
type TestAccount struct { PrivKey ed25519.PrivKeyEd25519 PubKey crypto.PubKey Address sdk.AccAddress }
type UndSimApp ¶
type UndSimApp struct { *bam.BaseApp // keepers AccountKeeper auth.AccountKeeper BankKeeper bank.Keeper SupplyKeeper supply.Keeper StakingKeeper staking.Keeper SlashingKeeper slashing.Keeper MintKeeper mint.Keeper DistrKeeper distr.Keeper GovKeeper gov.Keeper CrisisKeeper crisis.Keeper ParamsKeeper params.Keeper WrkChainKeeper wrkchain.Keeper EnterpriseKeeper enterprise.Keeper BeaconKeeper beacon.Keeper EvidenceKeeper evidence.Keeper // contains filtered or unexported fields }
UndSimApp 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 NewUndSimApp ¶
func NewUndSimApp( logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, invCheckPeriod uint, baseAppOptions ...func(*bam.BaseApp), ) *UndSimApp
NewUndSimApp returns a reference to an initialized UndSimApp.
func SetupWithGenesisAccounts ¶
func SetupWithGenesisAccounts(genAccs []authexported.GenesisAccount) *UndSimApp
SetupWithGenesisAccounts initializes a new UndSimApp with the passed in genesis accounts.
func (*UndSimApp) BeginBlocker ¶
func (app *UndSimApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock
application updates every begin block
func (*UndSimApp) EndBlocker ¶
func (app *UndSimApp) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock
application updates every end block
func (*UndSimApp) ExportAppStateAndValidators ¶
func (app *UndSimApp) ExportAppStateAndValidators( forZeroHeight bool, jailWhiteList []string, ) (appState json.RawMessage, validators []tmtypes.GenesisValidator, err error)
ExportAppStateAndValidators exports the state of the application for a genesis file.
func (*UndSimApp) GetKey ¶
func (app *UndSimApp) GetKey(storeKey string) *sdk.KVStoreKey
GetKey returns the KVStoreKey for the provided store key
func (*UndSimApp) GetTKey ¶
func (app *UndSimApp) GetTKey(storeKey string) *sdk.TransientStoreKey
GetTKey returns the TransientStoreKey for the provided store key
func (*UndSimApp) InitChainer ¶
func (app *UndSimApp) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain
application update at chain initialization
func (*UndSimApp) LoadHeight ¶
load a particular height
func (*UndSimApp) ModuleAccountAddrs ¶
ModuleAccountAddrs returns all the app's module account addresses.