github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/bank/simulation/genesis.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/codec" 10 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/module" 11 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/bank/internal/types" 12 ) 13 14 // Simulation parameter constants 15 const ( 16 SendEnabled = "send_enabled" 17 ) 18 19 // GenSendEnabled randomized SendEnabled 20 func GenSendEnabled(r *rand.Rand) bool { 21 return r.Int63n(101) <= 95 // 95% chance of transfers being enabled 22 } 23 24 // RandomizedGenState generates a random GenesisState for bank 25 func RandomizedGenState(simState *module.SimulationState) { 26 var sendEnabled bool 27 simState.AppParams.GetOrGenerate( 28 simState.Cdc, SendEnabled, &sendEnabled, simState.Rand, 29 func(r *rand.Rand) { sendEnabled = GenSendEnabled(r) }, 30 ) 31 32 bankGenesis := types.NewGenesisState(sendEnabled) 33 34 fmt.Printf("Selected randomly generated bank parameters:\n%s\n", codec.MustMarshalJSONIndent(simState.Cdc, bankGenesis)) 35 simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(bankGenesis) 36 }