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
}
2 changes: 1 addition & 1 deletion docs/get-started/mainnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,4 +102,4 @@ Read more:
- [Validator FAQ](../concepts/validator-faq.md)
- Validator Security
- [Sentry Nodes (DDOS Protection)](../concepts/sentry-nodes.md)
- [Key Management](../tools/kms.md)
- [Key Management](../tools/kms.md)
2 changes: 1 addition & 1 deletion docs/zh/get-started/mainnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,4 +100,4 @@ iris tx staking create-validator \
- [验证人问答](../concepts/validator-faq.md)
- 验证人安全
- [哨兵节点 (DDOS 防护)](../concepts/sentry-nodes.md)
- [密钥管理](../tools/kms.md)
- [密钥管理](../tools/kms.md)
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ require (
github.com/golang/protobuf v1.4.3
github.com/gorilla/mux v1.8.0
github.com/grpc-ecosystem/grpc-gateway v1.16.0
github.com/irisnet/irismod v1.4.0
github.com/irisnet/irismod v1.4.1-0.20210628023036-5b5f0c0bb66b
github.com/olebedev/config v0.0.0-20190528211619-364964f3a8e4
github.com/pkg/errors v0.9.1
github.com/rakyll/statik v0.1.7
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -307,8 +307,8 @@ github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmK
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
github.com/irisnet/irismod v1.4.0 h1:BnqAlP9oMtXg5/WRPB9fmLTN+mE9ksIW51N41uJmuPI=
github.com/irisnet/irismod v1.4.0/go.mod h1:Ukl9qVGTnCZ4LpHAEPeSaK9XN1iLWCqWtsOMiXVMYY0=
github.com/irisnet/irismod v1.4.1-0.20210628023036-5b5f0c0bb66b h1:trZ63e8z2hjHKzvJpiFyTWR13BHmt668kcrHFbqAZII=
github.com/irisnet/irismod v1.4.1-0.20210628023036-5b5f0c0bb66b/go.mod h1:Ukl9qVGTnCZ4LpHAEPeSaK9XN1iLWCqWtsOMiXVMYY0=
github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
Expand Down