github.com/cosmos/cosmos-sdk@v0.50.10/x/distribution/simulation/proposals.go (about) 1 package simulation 2 3 import ( 4 "math/rand" 5 6 sdkmath "cosmossdk.io/math" 7 8 sdk "github.com/cosmos/cosmos-sdk/types" 9 "github.com/cosmos/cosmos-sdk/types/address" 10 simtypes "github.com/cosmos/cosmos-sdk/types/simulation" 11 "github.com/cosmos/cosmos-sdk/x/distribution/types" 12 "github.com/cosmos/cosmos-sdk/x/simulation" 13 ) 14 15 // Simulation operation weights constants 16 const ( 17 DefaultWeightMsgUpdateParams int = 50 18 19 OpWeightMsgUpdateParams = "op_weight_msg_update_params" 20 ) 21 22 // ProposalMsgs defines the module weighted proposals' contents 23 func ProposalMsgs() []simtypes.WeightedProposalMsg { 24 return []simtypes.WeightedProposalMsg{ 25 simulation.NewWeightedProposalMsg( 26 OpWeightMsgUpdateParams, 27 DefaultWeightMsgUpdateParams, 28 SimulateMsgUpdateParams, 29 ), 30 } 31 } 32 33 // SimulateMsgUpdateParams returns a random MsgUpdateParams 34 func SimulateMsgUpdateParams(r *rand.Rand, _ sdk.Context, _ []simtypes.Account) sdk.Msg { 35 // use the default gov module account address as authority 36 var authority sdk.AccAddress = address.Module("gov") 37 38 params := types.DefaultParams() 39 params.CommunityTax = simtypes.RandomDecAmount(r, sdkmath.LegacyNewDec(1)) 40 params.WithdrawAddrEnabled = r.Intn(2) == 0 41 42 return &types.MsgUpdateParams{ 43 Authority: authority.String(), 44 Params: params, 45 } 46 }