Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement farm module #2623

Merged
merged 19 commits into from
Jun 28, 2021
27 changes: 24 additions & 3 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,10 @@ import (
"github.com/irisnet/irishub/modules/mint"
mintkeeper "github.com/irisnet/irishub/modules/mint/keeper"
minttypes "github.com/irisnet/irishub/modules/mint/types"

"github.com/irisnet/irismod/modules/farm"
farmkeeper "github.com/irisnet/irismod/modules/farm/keeper"
farmtypes "github.com/irisnet/irismod/modules/farm/types"
)

const appName = "IrisApp"
Expand Down Expand Up @@ -160,6 +164,7 @@ var (
service.AppModuleBasic{},
oracle.AppModuleBasic{},
random.AppModuleBasic{},
farm.AppModuleBasic{},
)

// module account permissions
Expand All @@ -177,6 +182,8 @@ var (
servicetypes.DepositAccName: {authtypes.Burner},
servicetypes.RequestAccName: nil,
servicetypes.FeeCollectorName: {authtypes.Burner},
farmtypes.ModuleName: nil,
farmtypes.RewardCollector: nil,
}

nativeToken tokentypes.Token
Expand Down Expand Up @@ -233,6 +240,7 @@ type IrisApp struct {
serviceKeeper servicekeeper.Keeper
oracleKeeper oraclekeeper.Keeper
randomKeeper randomkeeper.Keeper
farmkeeper farmkeeper.Keeper

// the module manager
mm *module.Manager
Expand Down Expand Up @@ -302,6 +310,7 @@ func NewIrisApp(
evidencetypes.StoreKey, ibctransfertypes.StoreKey, capabilitytypes.StoreKey,
guardiantypes.StoreKey, tokentypes.StoreKey, nfttypes.StoreKey, htlctypes.StoreKey, recordtypes.StoreKey,
coinswaptypes.StoreKey, servicetypes.StoreKey, oracletypes.StoreKey, randomtypes.StoreKey,
farmtypes.StoreKey,
)
tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey)
memKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey)
Expand Down Expand Up @@ -451,6 +460,15 @@ func NewIrisApp(
app.serviceKeeper,
)

app.farmkeeper = farmkeeper.NewKeeper(appCodec,
keys[farmtypes.StoreKey],
app.bankKeeper,
app.accountKeeper,
app.coinswapKeeper.ValidatePool,
app.GetSubspace(farmtypes.ModuleName),
authtypes.FeeCollectorName,
)

/**** Module Options ****/
var skipGenesisInvariants = false
opt := appOpts.Get(crisis.FlagSkipGenesisInvariants)
Expand Down Expand Up @@ -489,6 +507,7 @@ func NewIrisApp(
service.NewAppModule(appCodec, app.serviceKeeper, app.accountKeeper, app.bankKeeper),
oracle.NewAppModule(appCodec, app.oracleKeeper),
random.NewAppModule(appCodec, app.randomKeeper, app.accountKeeper, app.bankKeeper),
farm.NewAppModule(appCodec, app.farmkeeper, app.accountKeeper, app.bankKeeper),
)

// During begin block slashing happens after distr.BeginBlocker so that
Expand All @@ -498,11 +517,11 @@ func NewIrisApp(
app.mm.SetOrderBeginBlockers(
upgradetypes.ModuleName, minttypes.ModuleName, distrtypes.ModuleName,
slashingtypes.ModuleName, evidencetypes.ModuleName, stakingtypes.ModuleName,
ibchost.ModuleName, htlctypes.ModuleName, randomtypes.ModuleName,
ibchost.ModuleName, htlctypes.ModuleName, randomtypes.ModuleName, farmtypes.ModuleName,
)
app.mm.SetOrderEndBlockers(
crisistypes.ModuleName, govtypes.ModuleName, stakingtypes.ModuleName,
servicetypes.ModuleName,
servicetypes.ModuleName, farmtypes.ModuleName,
)

// NOTE: The genutils module must occur after staking so that pools are
Expand All @@ -515,7 +534,7 @@ func NewIrisApp(
slashingtypes.ModuleName, govtypes.ModuleName, minttypes.ModuleName, crisistypes.ModuleName,
ibchost.ModuleName, genutiltypes.ModuleName, evidencetypes.ModuleName, ibctransfertypes.ModuleName,
guardiantypes.ModuleName, tokentypes.ModuleName, nfttypes.ModuleName, htlctypes.ModuleName, recordtypes.ModuleName,
coinswaptypes.ModuleName, servicetypes.ModuleName, oracletypes.ModuleName, randomtypes.ModuleName,
coinswaptypes.ModuleName, servicetypes.ModuleName, oracletypes.ModuleName, randomtypes.ModuleName, farmtypes.ModuleName,
)

app.mm.RegisterInvariants(&app.crisisKeeper)
Expand Down Expand Up @@ -548,6 +567,7 @@ func NewIrisApp(
service.NewAppModule(appCodec, app.serviceKeeper, app.accountKeeper, app.bankKeeper),
oracle.NewAppModule(appCodec, app.oracleKeeper),
random.NewAppModule(appCodec, app.randomKeeper, app.accountKeeper, app.bankKeeper),
farm.NewAppModule(appCodec, app.farmkeeper, app.accountKeeper, app.bankKeeper),
)

app.sm.RegisterStoreDecoders()
Expand Down Expand Up @@ -794,6 +814,7 @@ func initParamsKeeper(appCodec codec.BinaryMarshaler, legacyAmino *codec.LegacyA
paramsKeeper.Subspace(coinswaptypes.ModuleName)
paramsKeeper.Subspace(servicetypes.ModuleName)
paramsKeeper.Subspace(ibchost.ModuleName)
paramsKeeper.Subspace(farmtypes.ModuleName)

return paramsKeeper
}
Loading