forked from Kava-Labs/kava
-
Notifications
You must be signed in to change notification settings - Fork 0
/
genesis.go
66 lines (57 loc) · 2.03 KB
/
genesis.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package simulation
// import (
// "fmt"
// "math/rand"
// "strings"
// "time"
// "github.com/cosmos/cosmos-sdk/codec"
// sdk "github.com/cosmos/cosmos-sdk/types"
// "github.com/cosmos/cosmos-sdk/types/module"
// "github.com/cosmos/cosmos-sdk/x/simulation"
// "github.com/mage-coven/mage/x/issuance/types"
// )
// var (
// accs []simulation.Account
// )
// // RandomizedGenState generates a random GenesisState for the module
// func RandomizedGenState(simState *module.SimulationState) {
// accs = simState.Accounts
// params := randomizedParams(simState.Rand)
// gs := types.NewGenesisState(params, types.AssetSupplies{})
// fmt.Printf("Selected randomly generated %s parameters:\n%s\n", types.ModuleName, codec.MustMarshalJSONIndent(simState.Cdc, gs))
// simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(gs)
// }
// func randomizedParams(r *rand.Rand) types.Params {
// assets := randomizedAssets(r)
// return types.NewParams(assets)
// }
// func randomizedAssets(r *rand.Rand) types.Assets {
// randomAssets := types.Assets{}
// numAssets := Max(1, r.Intn(5))
// for i := 0; i < numAssets; i++ {
// denom := strings.ToLower(simulation.RandStringOfLength(r, (r.Intn(3) + 3)))
// owner := randomOwner(r)
// paused := r.Intn(2) == 0
// rateLimited := r.Intn(2) == 0
// rateLimit := types.NewRateLimit(false, sdk.ZeroInt(), time.Duration(0))
// if rateLimited {
// timeLimit := time.Duration(3600000000000 + (r.Intn(24) + 1))
// assetLimit := simulation.RandIntBetween(r, 100000000000, 1000000000000)
// rateLimit = types.NewRateLimit(true, sdk.NewInt(int64(assetLimit)), timeLimit)
// }
// randomAsset := types.NewAsset(owner.Address, denom, []sdk.AccAddress{}, paused, true, rateLimit)
// randomAssets = append(randomAssets, randomAsset)
// }
// return randomAssets
// }
// func randomOwner(r *rand.Rand) simulation.Account {
// acc, _ := simulation.RandomAcc(r, accs)
// return acc
// }
// // Max return max of two ints
// func Max(x, y int) int {
// if x > y {
// return x
// }
// return y
// }