github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/slashing/simulation/params.go (about)

     1  package simulation
     2  
     3  // DONTCOVER
     4  
     5  import (
     6  	"fmt"
     7  	"math/rand"
     8  
     9  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/simulation"
    10  	"github.com/fibonacci-chain/fbc/x/slashing/internal/types"
    11  )
    12  
    13  const (
    14  	keySignedBlocksWindow    = "SignedBlocksWindow"
    15  	keyMinSignedPerWindow    = "MinSignedPerWindow"
    16  	keySlashFractionDowntime = "SlashFractionDowntime"
    17  )
    18  
    19  // ParamChanges defines the parameters that can be modified by param change proposals
    20  // on the simulation
    21  func ParamChanges(r *rand.Rand) []simulation.ParamChange {
    22  	return []simulation.ParamChange{
    23  		simulation.NewSimParamChange(types.ModuleName, keySignedBlocksWindow,
    24  			func(r *rand.Rand) string {
    25  				return fmt.Sprintf("\"%d\"", GenSignedBlocksWindow(r))
    26  			},
    27  		),
    28  		simulation.NewSimParamChange(types.ModuleName, keyMinSignedPerWindow,
    29  			func(r *rand.Rand) string {
    30  				return fmt.Sprintf("\"%s\"", GenMinSignedPerWindow(r))
    31  			},
    32  		),
    33  		simulation.NewSimParamChange(types.ModuleName, keySlashFractionDowntime,
    34  			func(r *rand.Rand) string {
    35  				return fmt.Sprintf("\"%s\"", GenSlashFractionDowntime(r))
    36  			},
    37  		),
    38  	}
    39  }