-
Notifications
You must be signed in to change notification settings - Fork 119
/
genesis.go
47 lines (38 loc) · 1.16 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
package ethbridge
import (
sdk "github.com/cosmos/cosmos-sdk/types"
abci "github.com/tendermint/tendermint/abci/types"
"github.com/Sifchain/sifnode/x/ethbridge/keeper"
"github.com/Sifchain/sifnode/x/ethbridge/types"
)
func DefaultGenesis() *types.GenesisState {
return &types.GenesisState{}
}
func InitGenesis(ctx sdk.Context, keeper keeper.Keeper, data types.GenesisState) (res []abci.ValidatorUpdate) {
// SetCethReceiverAccount
if data.CethReceiveAccount != "" {
receiveAccount, err := sdk.AccAddressFromBech32(data.CethReceiveAccount)
if err != nil {
panic(err)
}
keeper.SetCethReceiverAccount(ctx, receiveAccount)
}
// AddPeggyTokens
if data.PeggyTokens != nil {
for _, tokenStr := range data.PeggyTokens {
keeper.AddPeggyToken(ctx, tokenStr)
}
}
return []abci.ValidatorUpdate{}
}
func ExportGenesis(ctx sdk.Context, keeper keeper.Keeper) *types.GenesisState {
peggyTokens := keeper.GetPeggyToken(ctx)
receiveAccount := keeper.GetCethReceiverAccount(ctx)
return &types.GenesisState{
PeggyTokens: peggyTokens.Tokens,
CethReceiveAccount: receiveAccount.String(),
}
}
func ValidateGenesis(data types.GenesisState) error {
return nil
}