@@ -103,13 +103,15 @@ import (
103103 paramskeeper "github.com/cosmos/cosmos-sdk/x/params/keeper"
104104 paramstypes "github.com/cosmos/cosmos-sdk/x/params/types"
105105 paramproposal "github.com/cosmos/cosmos-sdk/x/params/types/proposal"
106+ "github.com/cosmos/cosmos-sdk/x/protocolpool"
107+ poolkeeper "github.com/cosmos/cosmos-sdk/x/protocolpool/keeper"
108+ pooltypes "github.com/cosmos/cosmos-sdk/x/protocolpool/types"
106109 "github.com/cosmos/cosmos-sdk/x/slashing"
107110 slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper"
108111 slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types"
109112 "github.com/cosmos/cosmos-sdk/x/staking"
110113 stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper"
111114 stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
112-
113115 ibccallbacks "github.com/cosmos/ibc-go/modules/apps/callbacks"
114116 "github.com/cosmos/ibc-go/modules/capability"
115117 capabilitykeeper "github.com/cosmos/ibc-go/modules/capability/keeper"
@@ -214,17 +216,19 @@ var (
214216
215217 // module account permissions
216218 maccPerms = map [string ][]string {
217- authtypes .FeeCollectorName : nil ,
218- distrtypes .ModuleName : nil ,
219- minttypes .ModuleName : {authtypes .Minter },
220- stakingtypes .BondedPoolName : {authtypes .Burner , authtypes .Staking },
221- stakingtypes .NotBondedPoolName : {authtypes .Burner , authtypes .Staking },
222- govtypes .ModuleName : {authtypes .Burner },
223- ibctransfertypes .ModuleName : {authtypes .Minter , authtypes .Burner },
224- ibcfeetypes .ModuleName : nil ,
225- icatypes .ModuleName : nil ,
226- evmtypes .ModuleName : {authtypes .Minter , authtypes .Burner }, // used for secure addition and subtraction of balance using module account
227- cronostypes .ModuleName : {authtypes .Minter , authtypes .Burner },
219+ authtypes .FeeCollectorName : nil ,
220+ distrtypes .ModuleName : nil ,
221+ pooltypes .ModuleName : nil ,
222+ pooltypes .ProtocolPoolEscrowAccount : nil ,
223+ minttypes .ModuleName : {authtypes .Minter },
224+ stakingtypes .BondedPoolName : {authtypes .Burner , authtypes .Staking },
225+ stakingtypes .NotBondedPoolName : {authtypes .Burner , authtypes .Staking },
226+ govtypes .ModuleName : {authtypes .Burner },
227+ ibctransfertypes .ModuleName : {authtypes .Minter , authtypes .Burner },
228+ ibcfeetypes .ModuleName : nil ,
229+ icatypes .ModuleName : nil ,
230+ evmtypes .ModuleName : {authtypes .Minter , authtypes .Burner }, // used for secure addition and subtraction of balance using module account
231+ cronostypes .ModuleName : {authtypes .Minter , authtypes .Burner },
228232 }
229233 // Module configurator
230234
@@ -252,6 +256,7 @@ func StoreKeys() (
252256 minttypes .StoreKey , distrtypes .StoreKey , slashingtypes .StoreKey ,
253257 govtypes .StoreKey , paramstypes .StoreKey , upgradetypes .StoreKey ,
254258 evidencetypes .StoreKey , capabilitytypes .StoreKey , consensusparamtypes .StoreKey ,
259+ pooltypes .StoreKey ,
255260 feegrant .StoreKey , crisistypes .StoreKey ,
256261 // ibc keys
257262 ibcexported .StoreKey , ibctransfertypes .StoreKey ,
@@ -306,15 +311,15 @@ type App struct {
306311
307312 // keepers
308313 AccountKeeper authkeeper.AccountKeeper
309- BankKeeper bankkeeper.Keeper
314+ BankKeeper bankkeeper.BaseKeeper
310315 CapabilityKeeper * capabilitykeeper.Keeper
311316 StakingKeeper * stakingkeeper.Keeper
312317 SlashingKeeper slashingkeeper.Keeper
313318 MintKeeper mintkeeper.Keeper
314319 DistrKeeper distrkeeper.Keeper
315320 GovKeeper govkeeper.Keeper
316321 CrisisKeeper crisiskeeper.Keeper
317- UpgradeKeeper upgradekeeper.Keeper
322+ UpgradeKeeper * upgradekeeper.Keeper
318323 ParamsKeeper paramskeeper.Keeper
319324 IBCKeeper * ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly
320325 IBCFeeKeeper ibcfeekeeper.Keeper
@@ -324,6 +329,7 @@ type App struct {
324329 TransferKeeper ibctransferkeeper.Keeper
325330 FeeGrantKeeper feegrantkeeper.Keeper
326331 ConsensusParamsKeeper consensusparamkeeper.Keeper
332+ PoolKeeper poolkeeper.Keeper
327333
328334 // make scoped keepers public for test purposes
329335 ScopedIBCKeeper capabilitykeeper.ScopedKeeper
@@ -517,8 +523,8 @@ func New(
517523 )
518524 app .BankKeeper = bankkeeper .NewBaseKeeper (
519525 appCodec ,
520- runtime .NewKVStoreService (keys [banktypes .StoreKey ]),
521526 okeys [banktypes .ObjectStoreKey ],
527+ runtime .NewKVStoreService (keys [banktypes .StoreKey ]),
522528 app .AccountKeeper ,
523529 app .BlockedAddrs (),
524530 authAddr ,
@@ -557,6 +563,13 @@ func New(
557563 authtypes .FeeCollectorName ,
558564 authAddr ,
559565 )
566+ app .PoolKeeper = poolkeeper .NewKeeper (
567+ appCodec ,
568+ runtime .NewKVStoreService (keys [pooltypes .StoreKey ]),
569+ app .AccountKeeper ,
570+ app .BankKeeper ,
571+ authAddr ,
572+ )
560573 app .DistrKeeper = distrkeeper .NewKeeper (
561574 appCodec ,
562575 runtime .NewKVStoreService (keys [distrtypes .StoreKey ]),
@@ -594,7 +607,7 @@ func New(
594607 skipUpgradeHeights [int64 (h )] = true
595608 }
596609 // set the governance module account as the authority for conducting upgrades
597- app .UpgradeKeeper = * upgradekeeper .NewKeeper (
610+ app .UpgradeKeeper = upgradekeeper .NewKeeper (
598611 skipUpgradeHeights ,
599612 runtime .NewKVStoreService (keys [upgradetypes .StoreKey ]),
600613 appCodec ,
@@ -817,10 +830,11 @@ func New(
817830 ),
818831 distr .NewAppModule (appCodec , app .DistrKeeper , app .AccountKeeper , app .BankKeeper , app .StakingKeeper , app .GetSubspace (distrtypes .ModuleName )),
819832 staking .NewAppModule (appCodec , app .StakingKeeper , app .AccountKeeper , app .BankKeeper , app .GetSubspace (stakingtypes .ModuleName )),
820- upgrade .NewAppModule (& app .UpgradeKeeper , app .AccountKeeper .AddressCodec ()),
833+ upgrade .NewAppModule (app .UpgradeKeeper , app .AccountKeeper .AddressCodec ()),
821834 evidence .NewAppModule (app .EvidenceKeeper ),
822835 params .NewAppModule (app .ParamsKeeper ),
823836 consensus .NewAppModule (appCodec , app .ConsensusParamsKeeper ),
837+ protocolpool .NewAppModule (appCodec , app .PoolKeeper , app .AccountKeeper , app .BankKeeper ),
824838
825839 // ibc modules
826840 ibc .NewAppModule (app .IBCKeeper ),
@@ -862,6 +876,7 @@ func New(
862876 evmtypes .ModuleName ,
863877 minttypes .ModuleName ,
864878 distrtypes .ModuleName ,
879+ pooltypes .ModuleName ,
865880 slashingtypes .ModuleName ,
866881 evidencetypes .ModuleName ,
867882 stakingtypes .ModuleName ,
@@ -886,6 +901,7 @@ func New(
886901 stakingtypes .ModuleName ,
887902 evmtypes .ModuleName ,
888903 feemarkettypes .ModuleName ,
904+ pooltypes .ModuleName ,
889905 ibcexported .ModuleName ,
890906 ibctransfertypes .ModuleName ,
891907 ibcfeetypes .ModuleName ,
@@ -915,6 +931,7 @@ func New(
915931 initGenesisOrder := []string {
916932 capabilitytypes .ModuleName ,
917933 authtypes .ModuleName ,
934+ pooltypes .ModuleName , // must be exported before bank.
918935 banktypes .ModuleName ,
919936 distrtypes .ModuleName ,
920937 stakingtypes .ModuleName ,
@@ -945,6 +962,7 @@ func New(
945962
946963 app .ModuleManager .SetOrderPreBlockers (
947964 upgradetypes .ModuleName ,
965+ authtypes .ModuleName ,
948966 )
949967 app .ModuleManager .SetOrderBeginBlockers (beginBlockersOrder ... )
950968 app .ModuleManager .SetOrderEndBlockers (endBlockersOrder ... )
0 commit comments