Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ run:
skip-files:
- ".*\\.pb\\.go$"
- ".*\\.pb\\.gw\\.go$"
- x/gov/types/v1/wrapper.go
- x/gov/types/v1beta1/wrapper.go

linters:
disable-all: true
Expand Down
1 change: 0 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,6 @@ docker-build-all: docker-build-debug docker-build-hermes
mockgen_cmd=$(rundep) github.com/golang/mock/mockgen

mocks-gen:
$(mockgen_cmd) -source=x/gov/testutil/expected_keepers.go -package testutil -destination x/gov/testutil/expected_keepers_mocks.go
$(mockgen_cmd) -source=x/photon/types/expected_keepers.go -package testutil -destination x/photon/testutil/expected_keepers_mocks.go
$(mockgen_cmd) -source=x/photon/ante/expected_keepers.go -package ante_test -destination x/photon/ante/expected_keepers_mocks_test.go
$(mockgen_cmd) -source=x/dynamicfee/ante/expected_keepers.go -package ante_test -destination x/dynamicfee/ante/expected_keepers_mocks_test.go
Expand Down
12 changes: 6 additions & 6 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,24 +51,24 @@ import (
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
"github.com/cosmos/cosmos-sdk/x/genutil"
genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types"
"github.com/cosmos/cosmos-sdk/x/gov"
govclient "github.com/cosmos/cosmos-sdk/x/gov/client"
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
paramsclient "github.com/cosmos/cosmos-sdk/x/params/client"

atomoneante "github.com/atomone-hub/atomone/ante"
"github.com/atomone-hub/atomone/app/keepers"
"github.com/atomone-hub/atomone/app/upgrades"
v3 "github.com/atomone-hub/atomone/app/upgrades/v3"
v4 "github.com/atomone-hub/atomone/app/upgrades/v4"
"github.com/atomone-hub/atomone/client/docs"
atomonepost "github.com/atomone-hub/atomone/post"
"github.com/atomone-hub/atomone/x/gov"
govclient "github.com/atomone-hub/atomone/x/gov/client"
govtypes "github.com/atomone-hub/atomone/x/gov/types"
)

var (
// DefaultNodeHome default home directories for the application daemon
DefaultNodeHome string

Upgrades = []upgrades.Upgrade{v3.Upgrade, v4.Upgrade}
Upgrades = []upgrades.Upgrade{v4.Upgrade}
)

var (
Expand Down Expand Up @@ -222,7 +222,7 @@ func NewAtomOneApp(
genutiltypes.ModuleName: genutil.NewAppModuleBasic(genutiltypes.DefaultMessageValidator),
govtypes.ModuleName: gov.NewAppModuleBasic(
[]govclient.ProposalHandler{
paramsChangeProposalHandler,
paramsclient.ProposalHandler,
},
),
})
Expand Down
102 changes: 0 additions & 102 deletions app/gov_handlers.go

This file was deleted.

35 changes: 20 additions & 15 deletions app/keepers/keepers.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ import (
consensusparamtypes "github.com/cosmos/cosmos-sdk/x/consensus/types"
distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper"
distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper"
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
govv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1"
govv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1"
mintkeeper "github.com/cosmos/cosmos-sdk/x/mint/keeper"
minttypes "github.com/cosmos/cosmos-sdk/x/mint/types"
"github.com/cosmos/cosmos-sdk/x/params"
Expand All @@ -55,10 +59,7 @@ import (
coredaostypes "github.com/atomone-hub/atomone/x/coredaos/types"
dynamicfeekeeper "github.com/atomone-hub/atomone/x/dynamicfee/keeper"
dynamicfeetypes "github.com/atomone-hub/atomone/x/dynamicfee/types"
govkeeper "github.com/atomone-hub/atomone/x/gov/keeper"
govtypes "github.com/atomone-hub/atomone/x/gov/types"
govv1 "github.com/atomone-hub/atomone/x/gov/types/v1"
govv1beta1 "github.com/atomone-hub/atomone/x/gov/types/v1beta1"
atomonegovkeeper "github.com/atomone-hub/atomone/x/gov/keeper"
photonkeeper "github.com/atomone-hub/atomone/x/photon/keeper"
photontypes "github.com/atomone-hub/atomone/x/photon/types"
)
Expand All @@ -70,15 +71,16 @@ type AppKeepers struct {
memKeys map[string]*storetypes.MemoryStoreKey

// keepers
AccountKeeper authkeeper.AccountKeeper
BankKeeper bankkeeper.Keeper
StakingKeeper *stakingkeeper.Keeper
SlashingKeeper slashingkeeper.Keeper
MintKeeper mintkeeper.Keeper
DistrKeeper distrkeeper.Keeper
GovKeeper *govkeeper.Keeper
UpgradeKeeper *upgradekeeper.Keeper
ParamsKeeper paramskeeper.Keeper
AccountKeeper authkeeper.AccountKeeper
BankKeeper bankkeeper.Keeper
StakingKeeper *stakingkeeper.Keeper
SlashingKeeper slashingkeeper.Keeper
MintKeeper mintkeeper.Keeper
DistrKeeper distrkeeper.Keeper
GovKeeper *govkeeper.Keeper
GovKeeperWrapper *atomonegovkeeper.Keeper
UpgradeKeeper *upgradekeeper.Keeper
ParamsKeeper paramskeeper.Keeper
// IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly
IBCKeeper *ibckeeper.Keeper
ICAHostKeeper icahostkeeper.Keeper
Expand Down Expand Up @@ -238,10 +240,11 @@ func NewAppKeeper(
govConfig.MaxMetadataLen = 10200
appKeepers.GovKeeper = govkeeper.NewKeeper(
appCodec,
appKeepers.keys[govtypes.StoreKey],
runtime.NewKVStoreService(appKeepers.keys[govtypes.StoreKey]),
appKeepers.AccountKeeper,
appKeepers.BankKeeper,
appKeepers.StakingKeeper,
appKeepers.DistrKeeper,
bApp.MsgServiceRouter(),
govConfig,
authorityStr,
Expand All @@ -255,11 +258,13 @@ func NewAppKeeper(
})
appKeepers.GovKeeper.SetLegacyRouter(govRouter)

appKeepers.GovKeeperWrapper = atomonegovkeeper.NewKeeper(appKeepers.GovKeeper)

appKeepers.CoreDaosKeeper = coredaoskeeper.NewKeeper(
appCodec,
runtime.NewKVStoreService(appKeepers.keys[coredaostypes.StoreKey]),
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
appKeepers.GovKeeper,
appKeepers.GovKeeperWrapper,
appKeepers.StakingKeeper,
)

Expand Down
38 changes: 27 additions & 11 deletions app/modules.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package atomone

import (
"encoding/json"

icatypes "github.com/cosmos/ibc-go/v10/modules/apps/27-interchain-accounts/types"
ibctransfertypes "github.com/cosmos/ibc-go/v10/modules/apps/transfer/types"
ibc "github.com/cosmos/ibc-go/v10/modules/core"
Expand Down Expand Up @@ -30,6 +32,8 @@ import (
distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
"github.com/cosmos/cosmos-sdk/x/genutil"
genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types"
"github.com/cosmos/cosmos-sdk/x/gov"
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
"github.com/cosmos/cosmos-sdk/x/mint"
minttypes "github.com/cosmos/cosmos-sdk/x/mint/types"
sdkparams "github.com/cosmos/cosmos-sdk/x/params"
Expand All @@ -43,8 +47,8 @@ import (
coredaostypes "github.com/atomone-hub/atomone/x/coredaos/types"
"github.com/atomone-hub/atomone/x/dynamicfee"
dynamicfeetypes "github.com/atomone-hub/atomone/x/dynamicfee/types"
"github.com/atomone-hub/atomone/x/gov"
govtypes "github.com/atomone-hub/atomone/x/gov/types"
atomonegov "github.com/atomone-hub/atomone/x/gov"
atomonegovv1 "github.com/atomone-hub/atomone/x/gov/types/v1"
"github.com/atomone-hub/atomone/x/photon"
photontypes "github.com/atomone-hub/atomone/x/photon/types"
)
Expand All @@ -63,11 +67,29 @@ var maccPerms = map[string][]string{
coredaostypes.ModuleName: nil,
}

type govModuleAtomOneDefaults struct {
gov.AppModule
}

// DefaultGenesis returns default genesis state as raw bytes for the gov module.
// It sets the same defaults than the atom one x/gov wrapper for genesis
func (am govModuleAtomOneDefaults) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage {
return cdc.MustMarshalJSON(atomonegovv1.DefaultGenesisState())
}

func appModules(
app *AtomOneApp,
appCodec codec.Codec,
txConfig client.TxConfig,
) []module.AppModule {
govModule := govModuleAtomOneDefaults{gov.NewAppModule(
appCodec,
app.GovKeeper,
app.AccountKeeper,
app.BankKeeper,
app.GetSubspace(govtypes.ModuleName),
)}

return []module.AppModule{
genutil.NewAppModule(
app.AccountKeeper,
Expand All @@ -78,14 +100,8 @@ func appModules(
auth.NewAppModule(appCodec, app.AccountKeeper, nil, app.GetSubspace(authtypes.ModuleName)),
vesting.NewAppModule(app.AccountKeeper, app.BankKeeper),
bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper, app.GetSubspace(banktypes.ModuleName)),
gov.NewAppModule(
appCodec,
app.GovKeeper,
app.AccountKeeper,
app.BankKeeper,
app.GetSubspace(govtypes.ModuleName),
paramsChangeProposalHandler, // x/params won't be used in the future, so this handler can be removed eventually.
),
govModule,
atomonegov.NewAppModule(appCodec, app.GovKeeperWrapper, app.AccountKeeper),
mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper, nil, app.GetSubspace(minttypes.ModuleName)),
slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(slashingtypes.ModuleName), app.interfaceRegistry),
distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(distrtypes.ModuleName)),
Expand All @@ -99,7 +115,7 @@ func appModules(
sdkparams.NewAppModule(app.ParamsKeeper),
consensus.NewAppModule(appCodec, app.ConsensusParamsKeeper),
dynamicfee.NewAppModule(appCodec, *app.DynamicfeeKeeper),
coredaos.NewAppModule(appCodec, *app.CoreDaosKeeper, app.GovKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper),
coredaos.NewAppModule(appCodec, *app.CoreDaosKeeper, app.GovKeeperWrapper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper),

app.TransferModule,
app.ICAModule,
Expand Down
37 changes: 28 additions & 9 deletions app/upgrades/v3/upgrades.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
"github.com/cosmos/cosmos-sdk/types/module"
distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper"
distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
sdkgovv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1"

"github.com/atomone-hub/atomone/app/keepers"
govkeeper "github.com/atomone-hub/atomone/x/gov/keeper"
Expand All @@ -36,7 +37,7 @@ func CreateUpgradeHandler(
if err != nil {
return vm, err
}
if err := initGovDynamicQuorum(sdkCtx, keepers.GovKeeper); err != nil {
if err := initGovDynamicQuorum(sdkCtx, keepers.GovKeeperWrapper); err != nil {
return vm, err
}

Expand All @@ -53,19 +54,37 @@ func CreateUpgradeHandler(
// participation ema.
func initGovDynamicQuorum(ctx sdk.Context, govKeeper *govkeeper.Keeper) error {
ctx.Logger().Info("Initializing gov module for dynamic quorum...")
params := govKeeper.GetParams(ctx)
params, err := govKeeper.Params.Get(ctx)
if err != nil {
return err
}
defaultParams := v1.DefaultParams()
params.QuorumRange = defaultParams.QuorumRange
params.ConstitutionAmendmentQuorumRange = defaultParams.ConstitutionAmendmentQuorumRange
params.LawQuorumRange = defaultParams.LawQuorumRange
if err := govKeeper.SetParams(ctx, params); err != nil {
params.QuorumRange = &sdkgovv1.QuorumRange{
Min: defaultParams.QuorumRange.Min,
Max: defaultParams.QuorumRange.Max,
}
params.ConstitutionAmendmentQuorumRange = &sdkgovv1.QuorumRange{
Min: defaultParams.ConstitutionAmendmentQuorumRange.Min,
Max: defaultParams.ConstitutionAmendmentQuorumRange.Max,
}
params.LawQuorumRange = &sdkgovv1.QuorumRange{
Min: defaultParams.LawQuorumRange.Min,
Max: defaultParams.LawQuorumRange.Max,
}
if err := govKeeper.Params.Set(ctx, params); err != nil {
return fmt.Errorf("set gov params: %w", err)
}
// NOTE(tb): Disregarding whales' votes, the current participation is less than 12%
initParticipationEma := math.LegacyNewDecWithPrec(12, 2)
govKeeper.SetParticipationEMA(ctx, initParticipationEma)
govKeeper.SetConstitutionAmendmentParticipationEMA(ctx, initParticipationEma)
govKeeper.SetLawParticipationEMA(ctx, initParticipationEma)
if err := govKeeper.ParticipationEMA.Set(ctx, initParticipationEma); err != nil {
return fmt.Errorf("set participation EMA: %w", err)
}
if err := govKeeper.ConstitutionAmendmentParticipationEMA.Set(ctx, initParticipationEma); err != nil {
return fmt.Errorf("set constitution amendment participation EMA: %w", err)
}
if err := govKeeper.LawParticipationEMA.Set(ctx, initParticipationEma); err != nil {
return fmt.Errorf("set law participation EMA: %w", err)
}
ctx.Logger().Info("Gov module initialized for dynamic quorum")
return nil
}
Expand Down
Loading
Loading