chore: math lib update and type fixes (#12791)
## Description Upgrades the math library in the repo root and find/replaces many usages of sdk.Dec, sdk.ZeroDec, sdk.OneDec, sdk.NewDec with their legacy-ified-math-lib replacements. Note for review: I assume that I did not find 100% of usages --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting)) - [ ] provided a link to the relevant issue or specification - [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/building-modules) - [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing) - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable)
This commit is contained in:
@@ -63,7 +63,7 @@ func TestSlashingMsgs(t *testing.T) {
|
||||
simapp.CheckBalance(t, app, addr1, sdk.Coins{genCoin})
|
||||
|
||||
description := stakingtypes.NewDescription("foo_moniker", "", "", "", "")
|
||||
commission := stakingtypes.NewCommissionRates(sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec())
|
||||
commission := stakingtypes.NewCommissionRates(math.LegacyZeroDec(), math.LegacyZeroDec(), math.LegacyZeroDec())
|
||||
|
||||
createValidatorMsg, err := stakingtypes.NewMsgCreateValidator(
|
||||
sdk.ValAddress(addr1), valKey.PubKey(), bondCoin, description, commission, math.OneInt(),
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"math/rand"
|
||||
"time"
|
||||
|
||||
"cosmossdk.io/math"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
"github.com/cosmos/cosmos-sdk/types/module"
|
||||
"github.com/cosmos/cosmos-sdk/types/simulation"
|
||||
@@ -29,7 +30,7 @@ func GenSignedBlocksWindow(r *rand.Rand) int64 {
|
||||
}
|
||||
|
||||
// GenMinSignedPerWindow randomized MinSignedPerWindow
|
||||
func GenMinSignedPerWindow(r *rand.Rand) sdk.Dec {
|
||||
func GenMinSignedPerWindow(r *rand.Rand) math.LegacyDec {
|
||||
return sdk.NewDecWithPrec(int64(r.Intn(10)), 1)
|
||||
}
|
||||
|
||||
@@ -39,13 +40,13 @@ func GenDowntimeJailDuration(r *rand.Rand) time.Duration {
|
||||
}
|
||||
|
||||
// GenSlashFractionDoubleSign randomized SlashFractionDoubleSign
|
||||
func GenSlashFractionDoubleSign(r *rand.Rand) sdk.Dec {
|
||||
return sdk.NewDec(1).Quo(sdk.NewDec(int64(r.Intn(50) + 1)))
|
||||
func GenSlashFractionDoubleSign(r *rand.Rand) math.LegacyDec {
|
||||
return math.LegacyNewDec(1).Quo(math.LegacyNewDec(int64(r.Intn(50) + 1)))
|
||||
}
|
||||
|
||||
// GenSlashFractionDowntime randomized SlashFractionDowntime
|
||||
func GenSlashFractionDowntime(r *rand.Rand) sdk.Dec {
|
||||
return sdk.NewDec(1).Quo(sdk.NewDec(int64(r.Intn(200) + 1)))
|
||||
func GenSlashFractionDowntime(r *rand.Rand) math.LegacyDec {
|
||||
return math.LegacyNewDec(1).Quo(math.LegacyNewDec(int64(r.Intn(200) + 1)))
|
||||
}
|
||||
|
||||
// RandomizedGenState generates a random GenesisState for slashing
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"cosmossdk.io/math"
|
||||
"github.com/stretchr/testify/suite"
|
||||
abci "github.com/tendermint/tendermint/abci/types"
|
||||
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
|
||||
@@ -164,7 +165,7 @@ func (suite *SimTestSuite) TestSimulateMsgUnjail() {
|
||||
suite.Require().NoError(err)
|
||||
selfDelegation := stakingtypes.NewDelegation(val0AccAddress.Bytes(), validator0.GetOperator(), issuedShares)
|
||||
suite.stakingKeeper.SetDelegation(ctx, selfDelegation)
|
||||
suite.distrKeeper.SetDelegatorStartingInfo(ctx, validator0.GetOperator(), val0AccAddress.Bytes(), distrtypes.NewDelegatorStartingInfo(2, sdk.OneDec(), 200))
|
||||
suite.distrKeeper.SetDelegatorStartingInfo(ctx, validator0.GetOperator(), val0AccAddress.Bytes(), distrtypes.NewDelegatorStartingInfo(2, math.LegacyOneDec(), 200))
|
||||
|
||||
// begin a new block
|
||||
suite.app.BeginBlock(abci.RequestBeginBlock{Header: tmproto.Header{Height: suite.app.LastBlockHeight() + 1, AppHash: suite.app.LastCommitID().Hash, Time: blockTime}})
|
||||
@@ -184,7 +185,7 @@ func (suite *SimTestSuite) TestSimulateMsgUnjail() {
|
||||
}
|
||||
|
||||
func getTestingValidator0(ctx sdk.Context, stakingKeeper *stakingkeeper.Keeper, accounts []simtypes.Account) (stakingtypes.Validator, error) {
|
||||
commission0 := stakingtypes.NewCommission(sdk.ZeroDec(), sdk.OneDec(), sdk.OneDec())
|
||||
commission0 := stakingtypes.NewCommission(math.LegacyZeroDec(), math.LegacyOneDec(), math.LegacyOneDec())
|
||||
return getTestingValidator(ctx, stakingKeeper, accounts, commission0, 0)
|
||||
}
|
||||
|
||||
@@ -202,7 +203,7 @@ func getTestingValidator(ctx sdk.Context, stakingKeeper *stakingkeeper.Keeper, a
|
||||
return stakingtypes.Validator{}, fmt.Errorf("failed to set initial commission: %w", err)
|
||||
}
|
||||
|
||||
validator.DelegatorShares = sdk.NewDec(100)
|
||||
validator.DelegatorShares = math.LegacyNewDec(100)
|
||||
validator.Tokens = sdk.NewInt(1000000)
|
||||
|
||||
stakingKeeper.SetValidator(ctx, validator)
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
"cosmossdk.io/math"
|
||||
)
|
||||
|
||||
// NewGenesisState creates a new GenesisState object
|
||||
@@ -38,17 +38,17 @@ func DefaultGenesisState() *GenesisState {
|
||||
// ValidateGenesis validates the slashing genesis parameters
|
||||
func ValidateGenesis(data GenesisState) error {
|
||||
downtime := data.Params.SlashFractionDowntime
|
||||
if downtime.IsNegative() || downtime.GT(sdk.OneDec()) {
|
||||
if downtime.IsNegative() || downtime.GT(math.LegacyOneDec()) {
|
||||
return fmt.Errorf("slashing fraction downtime should be less than or equal to one and greater than zero, is %s", downtime.String())
|
||||
}
|
||||
|
||||
dblSign := data.Params.SlashFractionDoubleSign
|
||||
if dblSign.IsNegative() || dblSign.GT(sdk.OneDec()) {
|
||||
if dblSign.IsNegative() || dblSign.GT(math.LegacyOneDec()) {
|
||||
return fmt.Errorf("slashing fraction double sign should be less than or equal to one and greater than zero, is %s", dblSign.String())
|
||||
}
|
||||
|
||||
minSign := data.Params.MinSignedPerWindow
|
||||
if minSign.IsNegative() || minSign.GT(sdk.OneDec()) {
|
||||
if minSign.IsNegative() || minSign.GT(math.LegacyOneDec()) {
|
||||
return fmt.Errorf("min signed per window should be less than or equal to one and greater than zero, is %s", minSign.String())
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"cosmossdk.io/math"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
)
|
||||
|
||||
@@ -15,8 +16,8 @@ const (
|
||||
|
||||
var (
|
||||
DefaultMinSignedPerWindow = sdk.NewDecWithPrec(5, 1)
|
||||
DefaultSlashFractionDoubleSign = sdk.NewDec(1).Quo(sdk.NewDec(20))
|
||||
DefaultSlashFractionDowntime = sdk.NewDec(1).Quo(sdk.NewDec(100))
|
||||
DefaultSlashFractionDoubleSign = math.LegacyNewDec(1).Quo(math.LegacyNewDec(20))
|
||||
DefaultSlashFractionDowntime = math.LegacyNewDec(1).Quo(math.LegacyNewDec(100))
|
||||
)
|
||||
|
||||
// NewParams creates a new Params object
|
||||
@@ -86,7 +87,7 @@ func validateMinSignedPerWindow(i interface{}) error {
|
||||
if v.IsNegative() {
|
||||
return fmt.Errorf("min signed per window cannot be negative: %s", v)
|
||||
}
|
||||
if v.GT(sdk.OneDec()) {
|
||||
if v.GT(math.LegacyOneDec()) {
|
||||
return fmt.Errorf("min signed per window too large: %s", v)
|
||||
}
|
||||
|
||||
@@ -115,7 +116,7 @@ func validateSlashFractionDoubleSign(i interface{}) error {
|
||||
if v.IsNegative() {
|
||||
return fmt.Errorf("double sign slash fraction cannot be negative: %s", v)
|
||||
}
|
||||
if v.GT(sdk.OneDec()) {
|
||||
if v.GT(math.LegacyOneDec()) {
|
||||
return fmt.Errorf("double sign slash fraction too large: %s", v)
|
||||
}
|
||||
|
||||
@@ -131,7 +132,7 @@ func validateSlashFractionDowntime(i interface{}) error {
|
||||
if v.IsNegative() {
|
||||
return fmt.Errorf("downtime slash fraction cannot be negative: %s", v)
|
||||
}
|
||||
if v.GT(sdk.OneDec()) {
|
||||
if v.GT(math.LegacyOneDec()) {
|
||||
return fmt.Errorf("downtime slash fraction too large: %s", v)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user