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  }