cosmos-sdk/x/protocolpool/simulation/genesis.go
Alex | Interchain Labs d68d169a63
feat: add x/protocolpool (#23933)
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
2025-03-29 19:45:39 +00:00

34 lines
841 B
Go

package simulation
import (
"math/rand"
"github.com/cosmos/cosmos-sdk/types/module"
"github.com/cosmos/cosmos-sdk/x/protocolpool/types"
)
const (
Params = "params"
)
func GenParams(r *rand.Rand) types.Params {
params := types.DefaultParams()
// window length of [1:20] so that we can trigger the BeginBlocker regularly
windowLen := r.Intn(20) + 1
params.DistributionFrequency = uint64(windowLen)
return params
}
// RandomizedGenState generates a random GenesisState for gov
func RandomizedGenState(simState *module.SimulationState) {
params := types.DefaultParams()
simState.AppParams.GetOrGenerate(Params, &params, simState.Rand, func(r *rand.Rand) { params = GenParams(r) })
genesis := types.DefaultGenesisState()
genesis.Params = params
simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(genesis)
}