github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/ibc-go/testing/simapp/adapter/ica/module.go (about) 1 package ica 2 3 import ( 4 "encoding/json" 5 6 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec" 7 8 "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/apps/27-interchain-accounts/types" 9 10 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 11 ica "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/apps/27-interchain-accounts" 12 controllerkeeper "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/apps/27-interchain-accounts/controller/keeper" 13 hostkeeper "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/apps/27-interchain-accounts/host/keeper" 14 abci "github.com/fibonacci-chain/fbc/libs/tendermint/abci/types" 15 ) 16 17 type TestICAModuleBaisc struct { 18 ica.AppModuleBasic 19 } 20 21 func (b TestICAModuleBaisc) DefaultGenesis() json.RawMessage { 22 return types.ModuleCdc.MustMarshalJSON(types.DefaultGenesis()) 23 } 24 25 type TestICAModule struct { 26 ica.AppModule 27 ck *controllerkeeper.Keeper 28 hk *hostkeeper.Keeper 29 } 30 31 func NewTestICAModule(cdc *codec.CodecProxy, ck *controllerkeeper.Keeper, hk *hostkeeper.Keeper) *TestICAModule { 32 return &TestICAModule{ 33 AppModule: ica.NewAppModule(cdc, ck, hk), 34 ck: ck, 35 hk: hk, 36 } 37 } 38 39 func (am TestICAModule) InitGenesis(s sdk.Context, message json.RawMessage) []abci.ValidatorUpdate { 40 var genesisState types.GenesisState 41 types.ModuleCdc.MustUnmarshalJSON(message, &genesisState) 42 43 if am.ck != nil { 44 controllerkeeper.InitGenesis(s, *am.ck, genesisState.ControllerGenesisState) 45 } 46 47 if am.hk != nil { 48 hostkeeper.InitGenesis(s, *am.hk, genesisState.HostGenesisState) 49 } 50 51 return nil 52 }