2023-11-02 00:22:38 +00:00
|
|
|
package e2e_test
|
|
|
|
|
|
|
|
import (
|
|
|
|
sdkmath "cosmossdk.io/math"
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
|
|
|
2024-05-01 03:17:24 +00:00
|
|
|
"github.com/0glabs/0g-chain/tests/util"
|
|
|
|
incentivetypes "github.com/0glabs/0g-chain/x/incentive/types"
|
2023-11-02 00:22:38 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func (suite *IntegrationTestSuite) TestUpgradeIncentiveParams() {
|
|
|
|
suite.SkipIfUpgradeDisabled()
|
|
|
|
|
|
|
|
beforeUpgradeCtx := util.CtxAtHeight(suite.UpgradeHeight - 1)
|
|
|
|
afterUpgradeCtx := util.CtxAtHeight(suite.UpgradeHeight)
|
|
|
|
|
|
|
|
// Before params
|
|
|
|
incentiveParamsBefore, err := suite.Kava.Incentive.Params(
|
|
|
|
beforeUpgradeCtx,
|
|
|
|
&incentivetypes.QueryParamsRequest{},
|
|
|
|
)
|
|
|
|
suite.NoError(err)
|
|
|
|
|
|
|
|
incentiveParamsAfter, err := suite.Kava.Incentive.Params(
|
|
|
|
afterUpgradeCtx,
|
|
|
|
&incentivetypes.QueryParamsRequest{},
|
|
|
|
)
|
|
|
|
suite.NoError(err)
|
|
|
|
|
|
|
|
suite.Run("x/incentive parameters before upgrade", func() {
|
|
|
|
suite.Require().Len(
|
|
|
|
incentiveParamsBefore.Params.EarnRewardPeriods,
|
|
|
|
1,
|
|
|
|
"x/incentive should have 1 earn reward period before upgrade",
|
|
|
|
)
|
|
|
|
|
|
|
|
suite.Require().Equal(
|
|
|
|
sdk.NewCoins(sdk.NewCoin("ukava", sdk.NewInt(159_459))),
|
|
|
|
incentiveParamsBefore.Params.EarnRewardPeriods[0].RewardsPerSecond,
|
|
|
|
)
|
|
|
|
})
|
|
|
|
|
|
|
|
suite.Run("x/incentive parameters after upgrade", func() {
|
|
|
|
suite.Require().Len(
|
|
|
|
incentiveParamsAfter.Params.EarnRewardPeriods,
|
|
|
|
1,
|
|
|
|
"x/incentive should have 1 earn reward period before upgrade",
|
|
|
|
)
|
|
|
|
|
|
|
|
suite.Require().Equal(
|
|
|
|
// Manual calculation of
|
|
|
|
// 600,000 * 1000,000 / (365 * 24 * 60 * 60)
|
|
|
|
sdk.NewCoins(sdk.NewCoin("ukava", sdkmath.NewInt(19025))),
|
|
|
|
incentiveParamsAfter.Params.EarnRewardPeriods[0].RewardsPerSecond,
|
|
|
|
)
|
|
|
|
|
|
|
|
// No other changes
|
|
|
|
incentiveParamsAfter.Params.EarnRewardPeriods[0].RewardsPerSecond = incentiveParamsBefore.Params.EarnRewardPeriods[0].RewardsPerSecond
|
|
|
|
suite.Require().Equal(
|
|
|
|
incentiveParamsBefore,
|
|
|
|
incentiveParamsAfter,
|
|
|
|
"other param values should not be changed",
|
|
|
|
)
|
|
|
|
})
|
|
|
|
}
|