/
genesis.go
41 lines (32 loc) · 1.01 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
package house
import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/playerfury/fanx/x/house/keeper"
"github.com/playerfury/fanx/x/house/types"
)
// InitGenesis sets the deposits and parameters for the provided keeper.
func InitGenesis(ctx sdk.Context, keeper keeper.Keeper, data *types.GenesisState) {
keeper.SetParams(ctx, data.Params)
for _, deposit := range data.DepositList {
keeper.SetDeposit(ctx, deposit)
}
for _, withdrawal := range data.WithdrawalList {
keeper.SetWithdrawal(ctx, withdrawal)
}
}
// ExportGenesis returns a GenesisState for a given context and keeper. The
// GenesisState will contain the params and deposits found in the keeper.
func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState {
genesis := types.DefaultGenesis()
genesis.Params = k.GetParams(ctx)
var err error
genesis.DepositList, err = k.GetDeposits(ctx)
if err != nil {
panic(err)
}
genesis.WithdrawalList, err = k.GetAllWithdrawals(ctx)
if err != nil {
panic(err)
}
return genesis
}