package colinearcore import ( "math/rand" "colinear/testutil/sample" colinearcoresimulation "colinear/x/colinearcore/simulation" "colinear/x/colinearcore/types" "github.com/cosmos/cosmos-sdk/baseapp" simappparams "github.com/cosmos/cosmos-sdk/simapp/params" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" "github.com/cosmos/cosmos-sdk/x/simulation" ) // avoid unused import issue var ( _ = sample.AccAddress _ = colinearcoresimulation.FindAccount _ = simappparams.StakePerAccount _ = simulation.MsgEntryKind _ = baseapp.Paramspace ) const ( opWeightMsgNewAuction = "op_weight_msg_new_auction" // TODO: Determine the simulation weight value defaultWeightMsgNewAuction int = 100 opWeightMsgNewBid = "op_weight_msg_new_bid" // TODO: Determine the simulation weight value defaultWeightMsgNewBid int = 100 opWeightMsgLockFunds = "op_weight_msg_lock_funds" // TODO: Determine the simulation weight value defaultWeightMsgLockFunds int = 100 // this line is used by starport scaffolding # simapp/module/const ) // GenerateGenesisState creates a randomized GenState of the module func (AppModule) GenerateGenesisState(simState *module.SimulationState) { accs := make([]string, len(simState.Accounts)) for i, acc := range simState.Accounts { accs[i] = acc.Address.String() } colinearGenesis := types.GenesisState{ Params: types.DefaultParams(), // this line is used by starport scaffolding # simapp/module/genesisState } simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(&colinearGenesis) } // ProposalContents doesn't return any content functions for governance proposals func (AppModule) ProposalContents(_ module.SimulationState) []simtypes.WeightedProposalContent { return nil } // RandomizedParams creates randomized param changes for the simulator func (am AppModule) RandomizedParams(_ *rand.Rand) []simtypes.ParamChange { return []simtypes.ParamChange{} } // RegisterStoreDecoder registers a decoder func (am AppModule) RegisterStoreDecoder(_ sdk.StoreDecoderRegistry) {} // WeightedOperations returns the all the gov module operations with their respective weights. func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation { operations := make([]simtypes.WeightedOperation, 0) var weightMsgNewAuction int simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgNewAuction, &weightMsgNewAuction, nil, func(_ *rand.Rand) { weightMsgNewAuction = defaultWeightMsgNewAuction }, ) operations = append(operations, simulation.NewWeightedOperation( weightMsgNewAuction, colinearcoresimulation.SimulateMsgNewAuction(am.accountKeeper, am.bankKeeper, am.keeper), )) var weightMsgNewBid int simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgNewBid, &weightMsgNewBid, nil, func(_ *rand.Rand) { weightMsgNewBid = defaultWeightMsgNewBid }, ) operations = append(operations, simulation.NewWeightedOperation( weightMsgNewBid, colinearcoresimulation.SimulateMsgNewBid(am.accountKeeper, am.bankKeeper, am.keeper), )) var weightMsgLockFunds int simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgLockFunds, &weightMsgLockFunds, nil, func(_ *rand.Rand) { weightMsgLockFunds = defaultWeightMsgLockFunds }, ) operations = append(operations, simulation.NewWeightedOperation( weightMsgLockFunds, colinearcoresimulation.SimulateMsgLockFunds(am.accountKeeper, am.bankKeeper, am.keeper), )) // this line is used by starport scaffolding # simapp/module/operation return operations }