Skip to content

Commit 8fdc297

Browse files
authored
Merge pull request #444 from persistenceOne/puneet/protocolpool
add protocol pool, have custom export genesis
2 parents 806afc8 + 6559165 commit 8fdc297

File tree

6 files changed

+75
-18
lines changed

6 files changed

+75
-18
lines changed

app/app.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,9 @@ func NewApplication(
187187
app.moduleManager.SetOrderBeginBlockers(orderBeginBlockers()...)
188188
app.moduleManager.SetOrderEndBlockers(orderEndBlockers()...)
189189
app.moduleManager.SetOrderInitGenesis(orderInitGenesis()...)
190-
app.moduleManager.SetOrderExportGenesis(orderInitGenesis()...)
190+
app.moduleManager.SetOrderExportGenesis(orderExportGenesis()...)
191191
//app.moduleManager.SetOrderMigrations()
192192

193-
app.moduleManager.RegisterInvariants(app.CrisisKeeper)
194193
app.configurator = module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter())
195194
err = app.moduleManager.RegisterServices(app.configurator)
196195
if err != nil {

app/keepers/keepers.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ import (
4444
paramskeeper "github.com/cosmos/cosmos-sdk/x/params/keeper"
4545
paramstypes "github.com/cosmos/cosmos-sdk/x/params/types"
4646
paramsproposal "github.com/cosmos/cosmos-sdk/x/params/types/proposal"
47+
protocolpoolkeeper "github.com/cosmos/cosmos-sdk/x/protocolpool/keeper"
48+
protocolpooltypes "github.com/cosmos/cosmos-sdk/x/protocolpool/types"
4749
slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper"
4850
slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types"
4951
stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper"
@@ -93,6 +95,7 @@ type AppKeepers struct {
9395
MintKeeper *mintkeeper.Keeper
9496
DistributionKeeper *distributionkeeper.Keeper
9597
GovKeeper *govkeeper.Keeper
98+
ProtocolPoolKeeper *protocolpoolkeeper.Keeper
9699
UpgradeKeeper *upgradekeeper.Keeper
97100
CrisisKeeper *crisiskeeper.Keeper
98101
ParamsKeeper *paramskeeper.Keeper
@@ -218,6 +221,15 @@ func NewAppKeeper(
218221
)
219222
appKeepers.MintKeeper = &mintKeeper
220223

224+
protocolPoolKeeper := protocolpoolkeeper.NewKeeper(
225+
appCodec,
226+
runtime.NewKVStoreService(appKeepers.keys[protocolpooltypes.StoreKey]),
227+
appKeepers.AccountKeeper,
228+
appKeepers.BankKeeper,
229+
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
230+
)
231+
appKeepers.ProtocolPoolKeeper = &protocolPoolKeeper
232+
221233
distributionKeeper := distributionkeeper.NewKeeper(
222234
appCodec,
223235
runtime.NewKVStoreService(appKeepers.keys[distributiontypes.StoreKey]),
@@ -226,6 +238,7 @@ func NewAppKeeper(
226238
appKeepers.StakingKeeper,
227239
authtypes.FeeCollectorName,
228240
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
241+
distributionkeeper.WithExternalCommunityPool(appKeepers.ProtocolPoolKeeper),
229242
)
230243
appKeepers.DistributionKeeper = &distributionKeeper
231244

app/keepers/keys.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
evidencetypes "cosmossdk.io/x/evidence/types"
66
"cosmossdk.io/x/feegrant"
77
upgradetypes "cosmossdk.io/x/upgrade/types"
8-
"github.com/CosmWasm/wasmd/x/wasm"
8+
wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types"
99
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
1010
authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper"
1111
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
@@ -16,6 +16,7 @@ import (
1616
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
1717
minttypes "github.com/cosmos/cosmos-sdk/x/mint/types"
1818
paramstypes "github.com/cosmos/cosmos-sdk/x/params/types"
19+
protocolpooltypes "github.com/cosmos/cosmos-sdk/x/protocolpool/types"
1920
slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types"
2021
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
2122
liquidtypes "github.com/cosmos/gaia/v25/x/liquid/types"
@@ -57,7 +58,8 @@ func (appKeepers *AppKeepers) GenerateKeys() {
5758
slashingtypes.StoreKey,
5859
stakingtypes.StoreKey,
5960
upgradetypes.StoreKey,
60-
wasm.StoreKey,
61+
wasmtypes.StoreKey,
62+
protocolpooltypes.StoreKey,
6163
)
6264

6365
// Define transient store keys

app/modules.go

Lines changed: 49 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ import (
3636
minttypes "github.com/cosmos/cosmos-sdk/x/mint/types"
3737
"github.com/cosmos/cosmos-sdk/x/params"
3838
paramstypes "github.com/cosmos/cosmos-sdk/x/params/types"
39+
"github.com/cosmos/cosmos-sdk/x/protocolpool"
40+
protocolpooltypes "github.com/cosmos/cosmos-sdk/x/protocolpool/types"
3941
"github.com/cosmos/cosmos-sdk/x/slashing"
4042
slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types"
4143
"github.com/cosmos/cosmos-sdk/x/staking"
@@ -58,16 +60,18 @@ import (
5860
)
5961

6062
var ModuleAccountPermissions = map[string][]string{
61-
authtypes.FeeCollectorName: nil,
62-
distributiontypes.ModuleName: nil,
63-
icatypes.ModuleName: nil,
64-
minttypes.ModuleName: {authtypes.Minter},
65-
stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking},
66-
stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking},
67-
govtypes.ModuleName: {authtypes.Burner},
68-
ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner},
69-
wasm.ModuleName: {authtypes.Burner},
70-
liquidstaketypes.ModuleName: {authtypes.Minter, authtypes.Burner},
63+
authtypes.FeeCollectorName: nil,
64+
distributiontypes.ModuleName: nil,
65+
icatypes.ModuleName: nil,
66+
minttypes.ModuleName: {authtypes.Minter},
67+
stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking},
68+
stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking},
69+
govtypes.ModuleName: {authtypes.Burner},
70+
ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner},
71+
wasmtypes.ModuleName: {authtypes.Burner},
72+
liquidstaketypes.ModuleName: {authtypes.Minter, authtypes.Burner},
73+
protocolpooltypes.ModuleName: nil,
74+
protocolpooltypes.ProtocolPoolEscrowAccount: nil,
7175
}
7276

7377
var receiveAllowedMAcc = map[string]bool{
@@ -109,6 +113,7 @@ func appModules(
109113
liquidstake.NewAppModule(*app.LiquidStakeKeeper),
110114
crisis.NewAppModule(app.CrisisKeeper, false, app.GetSubspace(crisistypes.ModuleName)), // skipGenesisInvariants: false, always be last to make sure that it checks for all invariants and not only part of them
111115
ibctm.NewAppModule(app.TMLightClientModule),
116+
protocolpool.NewAppModule(*app.ProtocolPoolKeeper, app.AccountKeeper, app.BankKeeper),
112117
}
113118
}
114119

@@ -141,6 +146,7 @@ func orderBeginBlockers() []string {
141146
authtypes.ModuleName,
142147
banktypes.ModuleName,
143148
distributiontypes.ModuleName,
149+
protocolpooltypes.ModuleName,
144150
slashingtypes.ModuleName,
145151
minttypes.ModuleName,
146152
genutiltypes.ModuleName,
@@ -187,6 +193,7 @@ func orderEndBlockers() []string {
187193
epochstypes.ModuleName,
188194
liquidtypes.ModuleName,
189195
liquidstaketypes.ModuleName,
196+
protocolpooltypes.ModuleName,
190197
}
191198
}
192199

@@ -223,5 +230,37 @@ func orderInitGenesis() []string {
223230
epochstypes.ModuleName,
224231
liquidtypes.ModuleName,
225232
liquidstaketypes.ModuleName,
233+
protocolpooltypes.ModuleName,
234+
}
235+
}
236+
237+
func orderExportGenesis() []string {
238+
return []string{
239+
consensusparamtypes.ModuleName,
240+
authtypes.ModuleName,
241+
protocolpooltypes.ModuleName, // Must be exported before bank
242+
banktypes.ModuleName,
243+
distributiontypes.ModuleName,
244+
stakingtypes.ModuleName,
245+
slashingtypes.ModuleName,
246+
govtypes.ModuleName,
247+
minttypes.ModuleName,
248+
crisistypes.ModuleName,
249+
genutiltypes.ModuleName,
250+
evidencetypes.ModuleName,
251+
authz.ModuleName,
252+
feegrant.ModuleName,
253+
ibctransfertypes.ModuleName,
254+
ibcexported.ModuleName,
255+
icatypes.ModuleName,
256+
upgradetypes.ModuleName,
257+
vestingtypes.ModuleName,
258+
halving.ModuleName,
259+
ibchookstypes.ModuleName,
260+
packetforwardtypes.ModuleName,
261+
epochstypes.ModuleName,
262+
liquidtypes.ModuleName,
263+
liquidstaketypes.ModuleName,
264+
wasmtypes.ModuleName,
226265
}
227266
}

app/upgrades/testnet/v16.0.0-rc0/constants.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package v16_0_0_rc0
22

33
import (
44
store "cosmossdk.io/store/types"
5+
protocolpooltypes "github.com/cosmos/cosmos-sdk/x/protocolpool/types"
6+
57
"github.com/persistenceOne/persistenceCore/v16/app/upgrades"
68
)
79

@@ -14,7 +16,7 @@ var Upgrade = upgrades.Upgrade{
1416
UpgradeName: UpgradeName,
1517
CreateUpgradeHandler: CreateUpgradeHandler,
1618
StoreUpgrades: store.StoreUpgrades{
17-
Added: []string{}, //TODO protocol pool,
18-
Deleted: []string{},
19+
Added: []string{protocolpooltypes.StoreKey},
20+
Deleted: []string{}, // TODO crisis??
1921
},
2022
}

app/upgrades/v16.0.0/constants.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package v16_0_0
22

33
import (
44
store "cosmossdk.io/store/types"
5+
protocolpooltypes "github.com/cosmos/cosmos-sdk/x/protocolpool/types"
6+
57
"github.com/persistenceOne/persistenceCore/v16/app/upgrades"
68
)
79

@@ -14,7 +16,7 @@ var Upgrade = upgrades.Upgrade{
1416
UpgradeName: UpgradeName,
1517
CreateUpgradeHandler: CreateUpgradeHandler,
1618
StoreUpgrades: store.StoreUpgrades{
17-
Added: []string{}, //TODO add protocolpool
18-
Deleted: []string{},
19+
Added: []string{protocolpooltypes.StoreKey},
20+
Deleted: []string{}, //TODO crisis?
1921
},
2022
}

0 commit comments

Comments
 (0)