/
genesis.go
61 lines (53 loc) · 2.39 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
package lscosmos
import (
sdk "github.com/cosmos/cosmos-sdk/types"
host "github.com/cosmos/ibc-go/v6/modules/core/24-host"
"github.com/gridironOne/gstake-native/v2/x/lscosmos/keeper"
"github.com/gridironOne/gstake-native/v2/x/lscosmos/types"
)
// InitGenesis initializes the capability module's state from a provided genesis
// state.
func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) {
// this line is used by starport scaffolding # genesis/module/init
k.SetParams(ctx, genState.Params)
k.SetModuleState(ctx, genState.ModuleEnabled)
k.SetHostChainParams(ctx, genState.HostChainParams)
if !genState.HostChainParams.IsEmpty() {
err := k.NewCapability(ctx, host.ChannelCapabilityPath(genState.HostChainParams.TransferPort, genState.HostChainParams.TransferChannel))
if err != nil {
panic(err)
}
}
k.SetAllowListedValidators(ctx, genState.AllowListedValidators)
k.SetDelegationState(ctx, genState.DelegationState)
k.SetHostChainRewardAddress(ctx, genState.HostChainRewardAddress)
k.SetIBCTransientStore(ctx, genState.IBCAmountTransientStore)
for _, unbondingCValue := range genState.UnbondingEpochCValues {
k.SetUnbondingEpochCValue(ctx, unbondingCValue)
}
for _, delegatorUnbondingEntry := range genState.DelegatorUnbondingEpochEntries {
k.SetDelegatorUnbondingEpochEntry(ctx, delegatorUnbondingEntry)
}
k.SetHostAccounts(ctx, genState.HostAccounts)
k.GetDepositModuleAccount(ctx)
k.GetDelegationModuleAccount(ctx)
k.GetRewardModuleAccount(ctx)
k.GetUndelegationModuleAccount(ctx)
k.GetRewardBoosterModuleAccount(ctx)
}
// ExportGenesis returns the capability module's exported genesis.
func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState {
genesis := types.DefaultGenesis()
genesis.Params = k.GetParams(ctx)
genesis.ModuleEnabled = k.GetModuleState(ctx)
genesis.HostChainParams = k.GetHostChainParams(ctx)
genesis.AllowListedValidators = k.GetAllowListedValidators(ctx)
genesis.DelegationState = k.GetDelegationState(ctx)
genesis.HostChainRewardAddress = k.GetHostChainRewardAddress(ctx)
genesis.IBCAmountTransientStore = k.GetIBCTransientStore(ctx)
genesis.UnbondingEpochCValues = k.IterateAllUnbondingEpochCValues(ctx)
genesis.DelegatorUnbondingEpochEntries = k.IterateAllDelegatorUnbondingEpochEntry(ctx)
genesis.HostAccounts = k.GetHostAccounts(ctx)
// this line is used by starport scaffolding # genesis/module/export
return genesis
}