func randomPostReactions(r *rand.Rand, posts []types.Post, reactionsData []ReactionData) []types.PostReaction {
	if len(posts) == 0 {
		return nil
	}
	postsNumber := r.Intn(len(posts))
	reactions := make([]types.PostReaction, postsNumber*20)
	for i := 0; i < postsNumber; i++ {
		id := RandomPostIDFromPosts(r, posts)
		privKey := ed25519.GenPrivKey().PubKey()
		data := reactionsData[r.Intn(len(reactionsData))]
		reactions[i] = types.NewPostReaction(id, data.ShortCode, data.Value, sdk.AccAddress(privKey.Address()).String())
	}
	return reactions
}
randomPostReactions returns a randomly generated list of reactions
package simulation
import (
	"encoding/json"
	"fmt"
	"math/rand"
	sdk "github.com/cosmos/cosmos-sdk/types"
	"github.com/cosmos/cosmos-sdk/types/module"
	"github.com/tendermint/tendermint/crypto/ed25519"
	"github.com/desmos-labs/desmos/v2/x/staging/posts/types"
)
var (
	RandomMimeTypes = []string{"audio/aac", "application/x-bzip2", "audio/ogg", "image/webp", "image/png"}
	RandomHosts     = []string{"https://example.com/", "https://ipfs.ink/"}
)
func RandomizedGenState(simState *module.SimulationState) {
	posts := randomPosts(simState)
	reactionsData := RandomReactionsData(simState.Rand, simState.Accounts)
	postsGenesis := types.NewGenesisState(
		posts,
		nil,
		randomPostReactions(simState.Rand, posts, reactionsData),
		registeredReactions(reactionsData),
		randomReports(simState),
		randomParams(simState),
	)
	bz, err := json.MarshalIndent(&postsGenesis, "", " ")
	if err != nil {
		panic(err)
	}
	fmt.Printf("Selected randomly generated posts parameters:\n%s\n", bz)
	simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(postsGenesis)
}
func randomPosts(simState *module.SimulationState) (posts []types.Post) {
	postsNumber := simState.Rand.Intn(100)
	posts = make([]types.Post, postsNumber)
	for index := 0; index < postsNumber; index++ {
		postData := RandomPostData(simState.Rand, simState.Accounts)
		posts[index] = postData.Post
	}
	return posts
}