28 lines
791 B
Go
28 lines
791 B
Go
package client
|
|
|
|
import (
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
)
|
|
|
|
// InitGenesis initializes the ibc client submodule's state from a provided genesis
|
|
// state.
|
|
func InitGenesis(ctx sdk.Context, k Keeper, gs GenesisState) {
|
|
for _, client := range gs.Clients {
|
|
k.SetClientState(ctx, client)
|
|
k.SetClientType(ctx, client.GetID(), client.ClientType())
|
|
}
|
|
for _, cs := range gs.ClientsConsensus {
|
|
for _, consState := range cs.ConsensusStates {
|
|
k.SetClientConsensusState(ctx, cs.ClientID, consState.GetHeight(), consState)
|
|
}
|
|
}
|
|
}
|
|
|
|
// ExportGenesis returns the ibc client submodule's exported genesis.
|
|
func ExportGenesis(ctx sdk.Context, k Keeper) GenesisState {
|
|
return GenesisState{
|
|
Clients: k.GetAllClients(ctx),
|
|
ClientsConsensus: k.GetAllConsensusStates(ctx),
|
|
}
|
|
}
|