github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/ibc-go/modules/core/03-connection/genesis.go (about) 1 package connection 2 3 import ( 4 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 5 "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/03-connection/keeper" 6 "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/03-connection/types" 7 ) 8 9 // InitGenesis initializes the ibc connection submodule's state from a provided genesis 10 // state. 11 func InitGenesis(ctx sdk.Context, k keeper.Keeper, gs types.GenesisState) { 12 k.SetParams(ctx, gs.Params) 13 for _, connection := range gs.Connections { 14 conn := types.NewConnectionEnd(connection.State, connection.ClientId, connection.Counterparty, connection.Versions, connection.DelayPeriod) 15 k.SetConnection(ctx, connection.Id, conn) 16 } 17 for _, connPaths := range gs.ClientConnectionPaths { 18 k.SetClientConnectionPaths(ctx, connPaths.ClientId, connPaths.Paths) 19 } 20 k.SetNextConnectionSequence(ctx, gs.NextConnectionSequence) 21 k.SetParams(ctx, gs.Params) 22 } 23 24 // ExportGenesis returns the ibc connection submodule's exported genesis. 25 func ExportGenesis(ctx sdk.Context, k keeper.Keeper) types.GenesisState { 26 return types.GenesisState{ 27 Connections: k.GetAllConnections(ctx), 28 ClientConnectionPaths: k.GetAllClientConnectionPaths(ctx), 29 NextConnectionSequence: k.GetNextConnectionSequence(ctx), 30 Params: k.GetParams(ctx), 31 } 32 }