2626 storeKey storetypes.StoreKey
2727 memKey storetypes.StoreKey
2828
29+ authKeeper types.AccountKeeper
2930 bankKeeper types.BankKeeper
3031 stakingKeeper types.StakingKeeper
3132 oracleKeeper types.OracleKeeper
@@ -44,6 +45,7 @@ func NewKeeper(
4445 cdc codec.BinaryCodec ,
4546 storeKey ,
4647 memKey storetypes.StoreKey ,
48+ authKeeper types.AccountKeeper ,
4749 bankKeeper types.BankKeeper ,
4850 stakingKeeper types.StakingKeeper ,
4951 oracleKeeper types.OracleKeeper ,
@@ -55,10 +57,16 @@ func NewKeeper(
5557 ibctransferKeeper types.IBCTransferKeeper ,
5658 authority string ,
5759) * Keeper {
60+ // ensure the module account is set
61+ if addr := authKeeper .GetModuleAddress (types .ModuleName ); addr == nil {
62+ panic (fmt .Sprintf ("%s module account has not been set" , types .ModuleName ))
63+ }
64+
5865 return & Keeper {
5966 cdc : cdc ,
6067 storeKey : storeKey ,
6168 memKey : memKey ,
69+ authKeeper : authKeeper ,
6270 bankKeeper : bankKeeper ,
6371 stakingKeeper : stakingKeeper ,
6472 oracleKeeper : oracleKeeper ,
@@ -92,6 +100,10 @@ func (k Keeper) GetParams(ctx sdk.Context) types.Params {
92100 return params
93101}
94102
103+ func (k Keeper ) GetModuleAccount (ctx sdk.Context ) sdk.ModuleAccountI {
104+ return k .authKeeper .GetModuleAccount (ctx , types .ModuleName )
105+ }
106+
95107func (k Keeper ) BankKeeper () types.BankKeeper {
96108 return k .bankKeeper
97109}
0 commit comments