github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/ibc-go/modules/core/genesis.go (about) 1 package ibc 2 3 import ( 4 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 5 client "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/02-client" 6 connection "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/03-connection" 7 channel "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/04-channel" 8 "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/keeper" 9 "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/types" 10 ) 11 12 // InitGenesis initializes the ibc state from a provided genesis 13 // state. 14 func InitGenesis(ctx sdk.Context, k keeper.Keeper, createLocalhost bool, gs *types.GenesisState) { 15 client.InitGenesis(ctx, k.ClientKeeper, gs.ClientGenesis) 16 connection.InitGenesis(ctx, k.ConnectionKeeper, gs.ConnectionGenesis) 17 channel.InitGenesis(ctx, k.ChannelKeeper, gs.ChannelGenesis) 18 19 k.SetParams(ctx, gs.Params) 20 } 21 22 // ExportGenesis returns the ibc exported genesis. 23 func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { 24 return &types.GenesisState{ 25 ClientGenesis: client.ExportGenesis(ctx, k.ClientKeeper), 26 ConnectionGenesis: connection.ExportGenesis(ctx, k.ConnectionKeeper), 27 ChannelGenesis: channel.ExportGenesis(ctx, k.ChannelKeeper), 28 Params: k.GetParams(ctx), 29 } 30 }