From 5decd22cd3a9259bbae151e1e283ab756c4323c7 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Tue, 26 Jul 2022 05:24:47 +0700 Subject: [PATCH] chore: use `math.Int` instead of `math.Int` and apply linting (#12702) * linting round * fix changelog * revert docs changes * Update CHANGELOG.md * revert an accidental change to security.md * Update simapp/integration/client/grpc/tmservice/service_test.go Co-authored-by: Julien Robert --- .golangci.yml | 3 - CHANGELOG.md | 1 + server/grpc/grpc_web.go | 5 +- server/start.go | 3 +- .../client/grpc/tmservice/service_test.go | 1 - simapp/simd/cmd/testnet.go | 3 +- simapp/state.go | 8 +- simapp/test_helpers.go | 3 +- store/iavl/store.go | 1 + testutil/network/network.go | 2 +- testutil/sims/app_helpers.go | 3 +- types/coin_test.go | 141 +++++++++--------- types/query/filtered_pagination_test.go | 2 - types/query/pagination_test.go | 6 +- types/simulation/rand_util.go | 6 +- x/auth/ante/ante_test.go | 7 +- x/auth/ante/fee.go | 6 +- x/auth/types/params_legacy.go | 2 +- x/auth/vesting/types/vesting_account.go | 3 +- x/bank/client/testutil/grpc.go | 3 +- x/bank/client/testutil/suite.go | 4 +- x/bank/keeper/grpc_query.go | 2 +- x/bank/keeper/keeper_test.go | 12 +- x/bank/keeper/msg_server.go | 5 +- x/bank/keeper/send.go | 1 + x/bank/keeper/view.go | 2 +- x/bank/migrations/v2/store.go | 3 +- x/bank/migrations/v2/store_test.go | 3 +- x/bank/migrations/v3/store_test.go | 15 +- x/bank/simulation/operations.go | 2 +- x/bank/types/balance_test.go | 3 +- x/bank/types/genesis_test.go | 3 +- x/bank/types/params.go | 2 + x/bank/types/params_legacy.go | 6 +- x/bank/types/params_test.go | 3 +- x/distribution/client/testutil/suite.go | 9 +- x/distribution/keeper/delegation_test.go | 3 +- x/distribution/keeper/keeper.go | 3 +- x/distribution/keeper/keeper_test.go | 3 +- x/genutil/gentx_test.go | 3 +- x/genutil/types/genesis_state_test.go | 5 +- x/gov/abci_test.go | 3 +- x/gov/simulation/decoder_test.go | 3 +- x/gov/types/v1/tally.go | 2 +- x/gov/types/v1beta1/tally.go | 2 +- x/group/keeper/keeper.go | 4 + x/mint/simulation/genesis_test.go | 3 +- x/mint/types/minter_test.go | 2 +- x/mint/types/params_legacy.go | 4 +- x/params/keeper/keeper_test.go | 5 +- x/params/proposal_handler_test.go | 3 +- x/slashing/app_test.go | 5 +- x/slashing/spec/06_events.md | 2 +- x/slashing/types/params_legacy.go | 4 +- x/staking/app_test.go | 5 +- x/staking/common_test.go | 8 +- x/staking/genesis_test.go | 3 +- x/staking/keeper/common_test.go | 5 +- x/staking/keeper/delegation.go | 2 +- x/staking/keeper/delegation_test.go | 21 +-- x/staking/keeper/genesis.go | 5 +- x/staking/keeper/genesis_test.go | 3 +- x/staking/keeper/grpc_query_test.go | 3 +- x/staking/keeper/historical_info_test.go | 3 +- x/staking/keeper/invariants.go | 5 +- x/staking/keeper/keeper.go | 7 +- x/staking/keeper/migrations.go | 4 +- x/staking/keeper/msg_server.go | 3 +- x/staking/keeper/querier_test.go | 5 +- x/staking/keeper/slash.go | 10 +- x/staking/keeper/slash_test.go | 27 ++-- x/staking/keeper/val_state_change.go | 5 +- x/staking/keeper/validator_test.go | 11 +- x/staking/migrations/v2/store.go | 2 +- x/staking/module.go | 7 +- x/staking/simulation/decoder_test.go | 9 +- x/staking/simulation/operations.go | 3 +- x/staking/spec/01_state.md | 2 +- x/staking/teststaking/helper.go | 4 +- x/staking/types/keys_test.go | 3 +- x/staking/types/msg_test.go | 40 ++--- x/staking/types/params_legacy.go | 4 +- x/staking/types/validator.go | 8 +- x/staking/types/validator_test.go | 13 +- 84 files changed, 310 insertions(+), 263 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index b3bb53915185..173d530b9b32 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -6,7 +6,6 @@ run: linters: disable-all: true enable: - - bodyclose - deadcode - depguard - dogsled @@ -23,11 +22,9 @@ linters: - nakedret - nolintlint - staticcheck - - structcheck - stylecheck - typecheck - unconvert - - unparam - unused issues: diff --git a/CHANGELOG.md b/CHANGELOG.md index 9390a7f9e7d8..416e950f4fc9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Improvements +* [#12702](https://github.com/cosmos/cosmos-sdk/pull/12702) Linting and tidiness, fixed two minor security warnings. * [#12668](https://github.com/cosmos/cosmos-sdk/pull/12668) Add `authz_msg_index` event attribute to message events emitted when executing via `MsgExec` through `x/authz`. * [#12634](https://github.com/cosmos/cosmos-sdk/pull/12634) Move `sdk.Dec` to math package. * [#12596](https://github.com/cosmos/cosmos-sdk/pull/12596) Remove all imports of the non-existent gogo/protobuf v1.3.3 to ease downstream use and go workspaces. diff --git a/server/grpc/grpc_web.go b/server/grpc/grpc_web.go index e08f007c73f0..b02db57166fb 100644 --- a/server/grpc/grpc_web.go +++ b/server/grpc/grpc_web.go @@ -25,8 +25,9 @@ func StartGRPCWeb(grpcSrv *grpc.Server, config config.Config) (*http.Server, err wrappedServer := grpcweb.WrapServer(grpcSrv, options...) grpcWebSrv := &http.Server{ - Addr: config.GRPCWeb.Address, - Handler: wrappedServer, + Addr: config.GRPCWeb.Address, + Handler: wrappedServer, + ReadHeaderTimeout: 500000000, // added because G112: Potential Slowloris Attack because ReadHeaderTimeout is not configured in the http.Server } errCh := make(chan error) diff --git a/server/start.go b/server/start.go index d745ddc44a11..7eedd92e624b 100644 --- a/server/start.go +++ b/server/start.go @@ -27,7 +27,6 @@ import ( "github.com/cosmos/cosmos-sdk/codec" pruningtypes "github.com/cosmos/cosmos-sdk/pruning/types" "github.com/cosmos/cosmos-sdk/server/api" - "github.com/cosmos/cosmos-sdk/server/config" serverconfig "github.com/cosmos/cosmos-sdk/server/config" servergrpc "github.com/cosmos/cosmos-sdk/server/grpc" "github.com/cosmos/cosmos-sdk/server/rosetta" @@ -502,7 +501,7 @@ func startInProcess(ctx *Context, clientCtx client.Context, appCreator types.App return WaitForQuitSignals() } -func startTelemetry(cfg config.Config) (*telemetry.Metrics, error) { +func startTelemetry(cfg serverconfig.Config) (*telemetry.Metrics, error) { if !cfg.Telemetry.Enabled { return nil, nil } diff --git a/simapp/integration/client/grpc/tmservice/service_test.go b/simapp/integration/client/grpc/tmservice/service_test.go index 10b2db205922..d3e3c8240be2 100644 --- a/simapp/integration/client/grpc/tmservice/service_test.go +++ b/simapp/integration/client/grpc/tmservice/service_test.go @@ -31,7 +31,6 @@ type IntegrationTestSuite struct { } func TestIntegrationTestSuite(t *testing.T) { - //t.Skip() // to be re-enabled in https://github.com/cosmos/cosmos-sdk/pull/12482/ suite.Run(t, new(IntegrationTestSuite)) } diff --git a/simapp/simd/cmd/testnet.go b/simapp/simd/cmd/testnet.go index ace2448a3e63..19d02700b459 100644 --- a/simapp/simd/cmd/testnet.go +++ b/simapp/simd/cmd/testnet.go @@ -11,6 +11,7 @@ import ( "os" "path/filepath" + "cosmossdk.io/math" "github.com/spf13/cobra" tmconfig "github.com/tendermint/tendermint/config" tmos "github.com/tendermint/tendermint/libs/os" @@ -297,7 +298,7 @@ func initTestnetFiles( sdk.NewCoin(sdk.DefaultBondDenom, valTokens), stakingtypes.NewDescription(nodeDirName, "", "", "", ""), stakingtypes.NewCommissionRates(sdk.OneDec(), sdk.OneDec(), sdk.OneDec()), - sdk.OneInt(), + math.OneInt(), ) if err != nil { return err diff --git a/simapp/state.go b/simapp/state.go index 135863c5bd7c..14eb5aeedce5 100644 --- a/simapp/state.go +++ b/simapp/state.go @@ -11,7 +11,7 @@ import ( tmjson "github.com/tendermint/tendermint/libs/json" tmtypes "github.com/tendermint/tendermint/types" - sdkmath "cosmossdk.io/math" + "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" simappparams "github.com/cosmos/cosmos-sdk/simapp/params" @@ -88,7 +88,7 @@ func AppStateFn(cdc codec.JSONCodec, simManager *module.SimulationManager) simty panic(err) } // compute not bonded balance - notBondedTokens := sdk.ZeroInt() + notBondedTokens := math.ZeroInt() for _, val := range stakingState.Validators { if val.Status != stakingtypes.Unbonded { continue @@ -149,11 +149,11 @@ func AppStateRandomizedFn( // number of bonded accounts var ( numInitiallyBonded int64 - initialStake sdkmath.Int + initialStake math.Int ) appParams.GetOrGenerate( cdc, simappparams.StakePerAccount, &initialStake, r, - func(r *rand.Rand) { initialStake = sdkmath.NewInt(r.Int63n(1e12)) }, + func(r *rand.Rand) { initialStake = math.NewInt(r.Int63n(1e12)) }, ) appParams.GetOrGenerate( cdc, simappparams.InitiallyBondedValidators, &numInitiallyBonded, r, diff --git a/simapp/test_helpers.go b/simapp/test_helpers.go index 5ae000294933..2a871bd6d29f 100644 --- a/simapp/test_helpers.go +++ b/simapp/test_helpers.go @@ -25,7 +25,6 @@ import ( pruningtypes "github.com/cosmos/cosmos-sdk/pruning/types" "github.com/cosmos/cosmos-sdk/server" "github.com/cosmos/cosmos-sdk/server/types" - servertypes "github.com/cosmos/cosmos-sdk/server/types" simappparams "github.com/cosmos/cosmos-sdk/simapp/params" "github.com/cosmos/cosmos-sdk/testutil/mock" "github.com/cosmos/cosmos-sdk/testutil/network" @@ -366,7 +365,7 @@ func NewTestNetworkFixture() network.TestFixture { Amino: encodingCfg.Amino, InterfaceRegistry: encodingCfg.InterfaceRegistry, } - appCtr := func(val testutil.Validator) servertypes.Application { + appCtr := func(val testutil.Validator) types.Application { return NewSimApp( val.GetCtx().Logger, dbm.NewMemDB(), nil, true, encodingCfg, diff --git a/store/iavl/store.go b/store/iavl/store.go index e8b12c47b40b..1b409101e605 100644 --- a/store/iavl/store.go +++ b/store/iavl/store.go @@ -417,6 +417,7 @@ var _ types.Iterator = (*iavlIterator)(nil) // newIAVLIterator will create a new iavlIterator. // CONTRACT: Caller must release the iavlIterator, as each one creates a new // goroutine. +//nolint:deadcode,unused func newIAVLIterator(tree *iavl.ImmutableTree, start, end []byte, ascending bool) *iavlIterator { iterator, err := tree.Iterator(start, end, ascending) if err != nil { diff --git a/testutil/network/network.go b/testutil/network/network.go index 0939f83ab057..57648af5d595 100644 --- a/testutil/network/network.go +++ b/testutil/network/network.go @@ -484,7 +484,7 @@ func New(l Logger, baseDir string, cfg Config) (*Network, error) { sdk.NewCoin(cfg.BondDenom, cfg.BondedTokens), stakingtypes.NewDescription(nodeDirName, "", "", "", ""), stakingtypes.NewCommissionRates(commission, sdk.OneDec(), sdk.OneDec()), - sdk.OneInt(), + math.OneInt(), ) if err != nil { return nil, err diff --git a/testutil/sims/app_helpers.go b/testutil/sims/app_helpers.go index 4a689324b532..be8133fb0a6d 100644 --- a/testutil/sims/app_helpers.go +++ b/testutil/sims/app_helpers.go @@ -14,6 +14,7 @@ import ( dbm "github.com/tendermint/tm-db" "cosmossdk.io/depinject" + "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" @@ -199,7 +200,7 @@ func GenesisStateWithValSet(codec codec.Codec, genesisState map[string]json.RawM UnbondingHeight: int64(0), UnbondingTime: time.Unix(0, 0).UTC(), Commission: stakingtypes.NewCommission(sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec()), - MinSelfDelegation: sdk.ZeroInt(), + MinSelfDelegation: math.ZeroInt(), } validators = append(validators, validator) delegations = append(delegations, stakingtypes.NewDelegation(genAccs[0].GetAddress(), val.Address.Bytes(), sdk.OneDec())) diff --git a/types/coin_test.go b/types/coin_test.go index 47241af71a55..02b1d8b9f434 100644 --- a/types/coin_test.go +++ b/types/coin_test.go @@ -5,6 +5,7 @@ import ( "strings" "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/suite" "github.com/cosmos/cosmos-sdk/codec" @@ -27,7 +28,7 @@ func TestCoinTestSuite(t *testing.T) { func (s *coinTestSuite) SetupSuite() { zero := sdk.NewInt(0) - one := sdk.OneInt() + one := math.OneInt() two := sdk.NewInt(2) four := sdk.NewInt(4) @@ -90,15 +91,15 @@ func (s *coinTestSuite) TestCoinIsValid() { }{ {sdk.Coin{testDenom1, sdk.NewInt(-1)}, false}, {sdk.Coin{testDenom1, sdk.NewInt(0)}, true}, - {sdk.Coin{testDenom1, sdk.OneInt()}, true}, - {sdk.Coin{"Atom", sdk.OneInt()}, true}, - {sdk.Coin{"ATOM", sdk.OneInt()}, true}, - {sdk.Coin{"a", sdk.OneInt()}, false}, - {sdk.Coin{loremIpsum, sdk.OneInt()}, false}, - {sdk.Coin{"ibc/7F1D3FCF4AE79E1554D670D1AD949A9BA4E4A3C76C63093E17E446A46061A7A2", sdk.OneInt()}, true}, - {sdk.Coin{"atOm", sdk.OneInt()}, true}, - {sdk.Coin{"x:y-z.1_2", sdk.OneInt()}, true}, - {sdk.Coin{" ", sdk.OneInt()}, false}, + {sdk.Coin{testDenom1, math.OneInt()}, true}, + {sdk.Coin{"Atom", math.OneInt()}, true}, + {sdk.Coin{"ATOM", math.OneInt()}, true}, + {sdk.Coin{"a", math.OneInt()}, false}, + {sdk.Coin{loremIpsum, math.OneInt()}, false}, + {sdk.Coin{"ibc/7F1D3FCF4AE79E1554D670D1AD949A9BA4E4A3C76C63093E17E446A46061A7A2", math.OneInt()}, true}, + {sdk.Coin{"atOm", math.OneInt()}, true}, + {sdk.Coin{"x:y-z.1_2", math.OneInt()}, true}, + {sdk.Coin{" ", math.OneInt()}, false}, } for i, tc := range cases { @@ -130,7 +131,6 @@ func (s *coinTestSuite) TestCustomValidation() { } func (s *coinTestSuite) TestCoinsDenoms() { - cases := []struct { coins sdk.Coins testOutput []string @@ -155,7 +155,6 @@ func (s *coinTestSuite) TestCoinsDenoms() { } s.Require().Equal(count == 0, tc.expectPass, "unexpected result for coins.Denoms, tc #%d", i) } - } func (s *coinTestSuite) TestAddCoin() { @@ -184,7 +183,7 @@ func (s *coinTestSuite) TestAddCoin() { func (s *coinTestSuite) TestAddCoinAmount() { cases := []struct { coin sdk.Coin - amount sdk.Int + amount math.Int expected sdk.Coin }{ {sdk.NewInt64Coin(testDenom1, 1), sdk.NewInt(1), sdk.NewInt64Coin(testDenom1, 2)}, @@ -232,7 +231,7 @@ func (s *coinTestSuite) TestSubCoin() { func (s *coinTestSuite) TestSubCoinAmount() { cases := []struct { coin sdk.Coin - amount sdk.Int + amount math.Int expected sdk.Coin shouldPanic bool }{ @@ -256,7 +255,7 @@ func (s *coinTestSuite) TestSubCoinAmount() { func (s *coinTestSuite) TestMulIntCoins() { testCases := []struct { input sdk.Coins - multiplier sdk.Int + multiplier math.Int expected sdk.Coins shouldPanic bool }{ @@ -281,7 +280,7 @@ func (s *coinTestSuite) TestMulIntCoins() { func (s *coinTestSuite) TestQuoIntCoins() { testCases := []struct { input sdk.Coins - divisor sdk.Int + divisor math.Int expected sdk.Coins isValid bool shouldPanic bool @@ -413,7 +412,7 @@ func (s *coinTestSuite) TestFilteredZeroCoins() { { name: "all greater than zero", input: sdk.Coins{ - {"testa", sdk.OneInt()}, + {"testa", math.OneInt()}, {"testb", sdk.NewInt(2)}, {"testc", sdk.NewInt(3)}, {"testd", sdk.NewInt(4)}, @@ -425,7 +424,7 @@ func (s *coinTestSuite) TestFilteredZeroCoins() { { name: "zero coin in middle", input: sdk.Coins{ - {"testa", sdk.OneInt()}, + {"testa", math.OneInt()}, {"testb", sdk.NewInt(2)}, {"testc", sdk.NewInt(0)}, {"testd", sdk.NewInt(4)}, @@ -439,7 +438,7 @@ func (s *coinTestSuite) TestFilteredZeroCoins() { input: sdk.Coins{ {"teste", sdk.NewInt(5)}, {"testc", sdk.NewInt(3)}, - {"testa", sdk.OneInt()}, + {"testa", math.OneInt()}, {"testd", sdk.NewInt(4)}, {"testb", sdk.NewInt(0)}, }, @@ -471,15 +470,15 @@ func (s *coinTestSuite) TestCoins_String() { }, { "single coin", - sdk.Coins{{"tree", sdk.OneInt()}}, + sdk.Coins{{"tree", math.OneInt()}}, "1tree", }, { "multiple coins", sdk.Coins{ - {"tree", sdk.OneInt()}, - {"gas", sdk.OneInt()}, - {"mineral", sdk.OneInt()}, + {"tree", math.OneInt()}, + {"gas", math.OneInt()}, + {"mineral", math.OneInt()}, }, "1tree,1gas,1mineral", }, @@ -619,87 +618,87 @@ func (s *coinTestSuite) TestCoins_Validate() { { "valid lowercase coins", sdk.Coins{ - {"gas", sdk.OneInt()}, - {"mineral", sdk.OneInt()}, - {"tree", sdk.OneInt()}, + {"gas", math.OneInt()}, + {"mineral", math.OneInt()}, + {"tree", math.OneInt()}, }, true, }, { "valid uppercase coins", sdk.Coins{ - {"GAS", sdk.OneInt()}, - {"MINERAL", sdk.OneInt()}, - {"TREE", sdk.OneInt()}, + {"GAS", math.OneInt()}, + {"MINERAL", math.OneInt()}, + {"TREE", math.OneInt()}, }, true, }, { "valid uppercase coin", sdk.Coins{ - {"ATOM", sdk.OneInt()}, + {"ATOM", math.OneInt()}, }, true, }, { "valid lower and uppercase coins (1)", sdk.Coins{ - {"GAS", sdk.OneInt()}, - {"gAs", sdk.OneInt()}, + {"GAS", math.OneInt()}, + {"gAs", math.OneInt()}, }, true, }, { "valid lower and uppercase coins (2)", sdk.Coins{ - {"ATOM", sdk.OneInt()}, - {"Atom", sdk.OneInt()}, - {"atom", sdk.OneInt()}, + {"ATOM", math.OneInt()}, + {"Atom", math.OneInt()}, + {"atom", math.OneInt()}, }, true, }, { "mixed case (1)", sdk.Coins{ - {"MineraL", sdk.OneInt()}, - {"TREE", sdk.OneInt()}, - {"gAs", sdk.OneInt()}, + {"MineraL", math.OneInt()}, + {"TREE", math.OneInt()}, + {"gAs", math.OneInt()}, }, true, }, { "mixed case (2)", sdk.Coins{ - {"gAs", sdk.OneInt()}, - {"mineral", sdk.OneInt()}, + {"gAs", math.OneInt()}, + {"mineral", math.OneInt()}, }, true, }, { "mixed case (3)", sdk.Coins{ - {"gAs", sdk.OneInt()}, + {"gAs", math.OneInt()}, }, true, }, { "unicode letters and numbers", sdk.Coins{ - {"𐀀𐀆𐀉Ⅲ", sdk.OneInt()}, + {"𐀀𐀆𐀉Ⅲ", math.OneInt()}, }, false, }, { "emojis", sdk.Coins{ - {"🤑😋🤔", sdk.OneInt()}, + {"🤑😋🤔", math.OneInt()}, }, false, }, { "IBC denominations (ADR 001)", sdk.Coins{ - {"ibc/7F1D3FCF4AE79E1554D670D1AD949A9BA4E4A3C76C63093E17E446A46061A7A2", sdk.OneInt()}, + {"ibc/7F1D3FCF4AE79E1554D670D1AD949A9BA4E4A3C76C63093E17E446A46061A7A2", math.OneInt()}, {"ibc/876563AAAACF739EB061C67CDB5EDF2B7C9FD4AA9D876450CC21210807C2820A", sdk.NewInt(2)}, }, true, @@ -717,44 +716,44 @@ func (s *coinTestSuite) TestCoins_Validate() { { "invalid denomination (1)", sdk.Coins{ - {"MineraL", sdk.OneInt()}, - {"0TREE", sdk.OneInt()}, - {"gAs", sdk.OneInt()}, + {"MineraL", math.OneInt()}, + {"0TREE", math.OneInt()}, + {"gAs", math.OneInt()}, }, false, }, { "invalid denomination (2)", sdk.Coins{ - {"-GAS", sdk.OneInt()}, - {"gAs", sdk.OneInt()}, + {"-GAS", math.OneInt()}, + {"gAs", math.OneInt()}, }, false, }, { "bad sort (1)", sdk.Coins{ - {"tree", sdk.OneInt()}, - {"gas", sdk.OneInt()}, - {"mineral", sdk.OneInt()}, + {"tree", math.OneInt()}, + {"gas", math.OneInt()}, + {"mineral", math.OneInt()}, }, false, }, { "bad sort (2)", sdk.Coins{ - {"gas", sdk.OneInt()}, - {"tree", sdk.OneInt()}, - {"mineral", sdk.OneInt()}, + {"gas", math.OneInt()}, + {"tree", math.OneInt()}, + {"mineral", math.OneInt()}, }, false, }, { "non-positive amount (1)", sdk.Coins{ - {"gas", sdk.OneInt()}, + {"gas", math.OneInt()}, {"tree", sdk.NewInt(0)}, - {"mineral", sdk.OneInt()}, + {"mineral", math.OneInt()}, }, false, }, @@ -762,17 +761,17 @@ func (s *coinTestSuite) TestCoins_Validate() { "non-positive amount (2)", sdk.Coins{ {"gas", sdk.NewInt(-1)}, - {"tree", sdk.OneInt()}, - {"mineral", sdk.OneInt()}, + {"tree", math.OneInt()}, + {"mineral", math.OneInt()}, }, false, }, { "duplicate denomination", sdk.Coins{ - {"gas", sdk.OneInt()}, - {"gas", sdk.OneInt()}, - {"mineral", sdk.OneInt()}, + {"gas", math.OneInt()}, + {"gas", math.OneInt()}, + {"mineral", math.OneInt()}, }, false, }, @@ -789,7 +788,7 @@ func (s *coinTestSuite) TestCoins_Validate() { } func (s *coinTestSuite) TestMinMax() { - one := sdk.OneInt() + one := math.OneInt() two := sdk.NewInt(2) cases := []struct { @@ -821,7 +820,7 @@ func (s *coinTestSuite) TestMinMax() { } func (s *coinTestSuite) TestCoinsGT() { - one := sdk.OneInt() + one := math.OneInt() two := sdk.NewInt(2) s.Require().False(sdk.Coins{}.IsAllGT(sdk.Coins{})) @@ -833,7 +832,7 @@ func (s *coinTestSuite) TestCoinsGT() { } func (s *coinTestSuite) TestCoinsLT() { - one := sdk.OneInt() + one := math.OneInt() two := sdk.NewInt(2) s.Require().False(sdk.Coins{}.IsAllLT(sdk.Coins{})) @@ -848,7 +847,7 @@ func (s *coinTestSuite) TestCoinsLT() { } func (s *coinTestSuite) TestCoinsLTE() { - one := sdk.OneInt() + one := math.OneInt() two := sdk.NewInt(2) s.Require().True(sdk.Coins{}.IsAllLTE(sdk.Coins{})) @@ -863,7 +862,7 @@ func (s *coinTestSuite) TestCoinsLTE() { } func (s *coinTestSuite) TestParseCoins() { - one := sdk.OneInt() + one := math.OneInt() cases := []struct { input string @@ -1033,7 +1032,7 @@ func (s *coinTestSuite) TestSearch() { } func (s *coinTestSuite) TestCoinsIsAnyGTE() { - one := sdk.OneInt() + one := math.OneInt() two := sdk.NewInt(2) s.Require().False(sdk.Coins{}.IsAnyGTE(sdk.Coins{})) @@ -1053,7 +1052,7 @@ func (s *coinTestSuite) TestCoinsIsAnyGTE() { } func (s *coinTestSuite) TestCoinsIsAllGT() { - one := sdk.OneInt() + one := math.OneInt() two := sdk.NewInt(2) s.Require().False(sdk.Coins{}.IsAllGT(sdk.Coins{})) @@ -1073,7 +1072,7 @@ func (s *coinTestSuite) TestCoinsIsAllGT() { } func (s *coinTestSuite) TestCoinsIsAllGTE() { - one := sdk.OneInt() + one := math.OneInt() two := sdk.NewInt(2) s.Require().True(sdk.Coins{}.IsAllGTE(sdk.Coins{})) @@ -1098,7 +1097,7 @@ func (s *coinTestSuite) TestNewCoins() { tenatom := sdk.NewInt64Coin("atom", 10) tenbtc := sdk.NewInt64Coin("btc", 10) zeroeth := sdk.NewInt64Coin("eth", 0) - invalidCoin := sdk.Coin{"0ETH", sdk.OneInt()} + invalidCoin := sdk.Coin{"0ETH", math.OneInt()} tests := []struct { name string coins sdk.Coins diff --git a/types/query/filtered_pagination_test.go b/types/query/filtered_pagination_test.go index ee118f9c7a6d..0fd697def138 100644 --- a/types/query/filtered_pagination_test.go +++ b/types/query/filtered_pagination_test.go @@ -16,7 +16,6 @@ import ( var addr1 = sdk.AccAddress([]byte("addr1")) func (s *paginationTestSuite) TestFilteredPaginations() { - var balances sdk.Coins for i := 0; i < numBalances; i++ { denom := fmt.Sprintf("foo%ddenom", i) @@ -248,7 +247,6 @@ func execFilterPaginate(store sdk.KVStore, pageReq *query.PageRequest, appCodec } func (s *paginationTestSuite) TestFilteredPaginationsNextKey() { - var balances sdk.Coins for i := 1; i <= 10; i++ { diff --git a/types/query/pagination_test.go b/types/query/pagination_test.go index c632492c37e1..512db35a180c 100644 --- a/types/query/pagination_test.go +++ b/types/query/pagination_test.go @@ -5,6 +5,7 @@ import ( "fmt" "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/suite" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" @@ -74,8 +75,7 @@ func (s *paginationTestSuite) SetupTest() { ctx := app.BaseApp.NewContext(false, tmproto.Header{Height: 1}) - s.ctx, s.bankKeeper, s.accountKeeper, s.cdc, s.app, s.interfaceReg = - ctx, bankKeeper, accountKeeper, cdc, app, reg + s.ctx, s.bankKeeper, s.accountKeeper, s.cdc, s.app, s.interfaceReg = ctx, bankKeeper, accountKeeper, cdc, app, reg } func (s *paginationTestSuite) TestParsePagination() { @@ -352,7 +352,7 @@ func (s *paginationTestSuite) TestPaginate() { balancesStore := prefix.NewStore(authStore, types.BalancesPrefix) accountStore := prefix.NewStore(balancesStore, address.MustLengthPrefix(addr1)) pageRes, err := query.Paginate(accountStore, request.Pagination, func(key []byte, value []byte) error { - var amount sdk.Int + var amount math.Int err := amount.Unmarshal(value) if err != nil { return err diff --git a/types/simulation/rand_util.go b/types/simulation/rand_util.go index cc62fd7e89fd..464b88cc1197 100644 --- a/types/simulation/rand_util.go +++ b/types/simulation/rand_util.go @@ -42,13 +42,13 @@ func RandStringOfLength(r *rand.Rand, n int) string { // RandPositiveInt get a rand positive math.Int func RandPositiveInt(r *rand.Rand, max math.Int) (math.Int, error) { - if !max.GTE(sdk.OneInt()) { + if !max.GTE(math.OneInt()) { return math.Int{}, errors.New("max too small") } - max = max.Sub(sdk.OneInt()) + max = max.Sub(math.OneInt()) - return sdk.NewIntFromBigInt(new(big.Int).Rand(r, max.BigInt())).Add(sdk.OneInt()), nil + return sdk.NewIntFromBigInt(new(big.Int).Rand(r, max.BigInt())).Add(math.OneInt()), nil } // RandomAmount generates a random amount diff --git a/x/auth/ante/ante_test.go b/x/auth/ante/ante_test.go index b1327914dff9..ec52d572cbcb 100644 --- a/x/auth/ante/ante_test.go +++ b/x/auth/ante/ante_test.go @@ -7,6 +7,7 @@ import ( "strings" "testing" + "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/x/bank/testutil" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" @@ -486,7 +487,7 @@ func (suite *AnteTestSuite) TestAnteHandlerFees() { modAcc := suite.accountKeeper.GetModuleAccount(suite.ctx, types.FeeCollectorName) suite.Require().True(suite.bankKeeper.GetAllBalances(suite.ctx, modAcc.GetAddress()).Empty()) - require.True(sdk.IntEq(suite.T(), suite.bankKeeper.GetAllBalances(suite.ctx, addr0).AmountOf("atom"), sdk.NewInt(149))) + require.True(math.IntEq(suite.T(), suite.bankKeeper.GetAllBalances(suite.ctx, addr0).AmountOf("atom"), sdk.NewInt(149))) err := testutil.FundAccount(suite.bankKeeper, suite.ctx, addr0, sdk.NewCoins(sdk.NewInt64Coin("atom", 1))) suite.Require().NoError(err) @@ -500,8 +501,8 @@ func (suite *AnteTestSuite) TestAnteHandlerFees() { func() { modAcc := suite.accountKeeper.GetModuleAccount(suite.ctx, types.FeeCollectorName) - require.True(sdk.IntEq(suite.T(), suite.bankKeeper.GetAllBalances(suite.ctx, modAcc.GetAddress()).AmountOf("atom"), sdk.NewInt(150))) - require.True(sdk.IntEq(suite.T(), suite.bankKeeper.GetAllBalances(suite.ctx, addr0).AmountOf("atom"), sdk.NewInt(0))) + require.True(math.IntEq(suite.T(), suite.bankKeeper.GetAllBalances(suite.ctx, modAcc.GetAddress()).AmountOf("atom"), sdk.NewInt(150))) + require.True(math.IntEq(suite.T(), suite.bankKeeper.GetAllBalances(suite.ctx, addr0).AmountOf("atom"), sdk.NewInt(0))) }, false, false, diff --git a/x/auth/ante/fee.go b/x/auth/ante/fee.go index 0f10041c3733..73792d3e63dd 100644 --- a/x/auth/ante/fee.go +++ b/x/auth/ante/fee.go @@ -47,10 +47,10 @@ func (dfd DeductFeeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bo } var ( - priority int64 - err error + priority int64 + err error ) - + fee := feeTx.GetFee() if !simulate { fee, priority, err = dfd.txFeeChecker(ctx, tx) diff --git a/x/auth/types/params_legacy.go b/x/auth/types/params_legacy.go index 6131c56d11f1..d5ebfb29dc29 100644 --- a/x/auth/types/params_legacy.go +++ b/x/auth/types/params_legacy.go @@ -22,7 +22,7 @@ var _ paramtypes.ParamSet = &Params{} // ParamKeyTable for auth module // -// NOTE: Deprecated. +// Deprecated. func ParamKeyTable() paramtypes.KeyTable { return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) } diff --git a/x/auth/vesting/types/vesting_account.go b/x/auth/vesting/types/vesting_account.go index 6db8d7b29922..1ac901ba9972 100644 --- a/x/auth/vesting/types/vesting_account.go +++ b/x/auth/vesting/types/vesting_account.go @@ -4,6 +4,7 @@ import ( "errors" "time" + "cosmossdk.io/math" "sigs.k8s.io/yaml" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" @@ -69,7 +70,7 @@ func (bva *BaseVestingAccount) TrackDelegation(balance, vestingCoins, amount sdk // compute x and y per the specification, where: // X := min(max(V - DV, 0), D) // Y := D - X - x := sdk.MinInt(sdk.MaxInt(vestingAmt.Sub(delVestingAmt), sdk.ZeroInt()), coin.Amount) + x := sdk.MinInt(sdk.MaxInt(vestingAmt.Sub(delVestingAmt), math.ZeroInt()), coin.Amount) y := coin.Amount.Sub(x) if !x.IsZero() { diff --git a/x/bank/client/testutil/grpc.go b/x/bank/client/testutil/grpc.go index f09b26009011..f144ec7ce75f 100644 --- a/x/bank/client/testutil/grpc.go +++ b/x/bank/client/testutil/grpc.go @@ -3,6 +3,7 @@ package testutil import ( "fmt" + "cosmossdk.io/math" "github.com/gogo/protobuf/proto" "github.com/cosmos/cosmos-sdk/testutil" @@ -82,7 +83,7 @@ func (s *IntegrationTestSuite) TestTotalSupplyGRPCHandler() { }, &types.QuerySupplyOfResponse{}, &types.QuerySupplyOfResponse{ - Amount: sdk.NewCoin("foobar", sdk.ZeroInt()), + Amount: sdk.NewCoin("foobar", math.ZeroInt()), }, }, } diff --git a/x/bank/client/testutil/suite.go b/x/bank/client/testutil/suite.go index 73201fd5dacb..77efc07de9f1 100644 --- a/x/bank/client/testutil/suite.go +++ b/x/bank/client/testutil/suite.go @@ -144,7 +144,7 @@ func (s *IntegrationTestSuite) TestGetBalancesCmd() { }, false, &sdk.Coin{}, - NewCoin("foobar", sdk.ZeroInt()), + NewCoin("foobar", math.ZeroInt()), }, } @@ -214,7 +214,7 @@ func (s *IntegrationTestSuite) TestGetCmdQueryTotalSupply() { respType: &sdk.Coin{}, expected: &sdk.Coin{ Denom: "foobar", - Amount: sdk.ZeroInt(), + Amount: math.ZeroInt(), }, }, } diff --git a/x/bank/keeper/grpc_query.go b/x/bank/keeper/grpc_query.go index 8c7d3f6d51ed..3ea34a445212 100644 --- a/x/bank/keeper/grpc_query.go +++ b/x/bank/keeper/grpc_query.go @@ -92,7 +92,7 @@ func (k BaseKeeper) SpendableBalances(ctx context.Context, req *types.QuerySpend balances := sdk.NewCoins() accountStore := k.getAccountStore(sdkCtx, addr) - zeroAmt := sdk.ZeroInt() + zeroAmt := math.ZeroInt() pageRes, err := query.Paginate(accountStore, req.Pagination, func(key, _ []byte) error { balances = append(balances, sdk.NewCoin(string(key), zeroAmt)) diff --git a/x/bank/keeper/keeper_test.go b/x/bank/keeper/keeper_test.go index f294ed470c3a..63d737aa2ed0 100644 --- a/x/bank/keeper/keeper_test.go +++ b/x/bank/keeper/keeper_test.go @@ -6,6 +6,7 @@ import ( "testing" "time" + "cosmossdk.io/math" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" @@ -500,9 +501,9 @@ func (suite *IntegrationTestSuite) TestSendEnabled() { suite.Require().NoError(app.BankKeeper.SetParams(ctx, params)) - bondCoin := sdk.NewCoin(sdk.DefaultBondDenom, sdk.OneInt()) - fooCoin := sdk.NewCoin("foocoin", sdk.OneInt()) - barCoin := sdk.NewCoin("barcoin", sdk.OneInt()) + bondCoin := sdk.NewCoin(sdk.DefaultBondDenom, math.OneInt()) + fooCoin := sdk.NewCoin("foocoin", math.OneInt()) + barCoin := sdk.NewCoin("barcoin", math.OneInt()) // assert with default (all denom) send enabled both Bar and Bond Denom are enabled suite.Require().Equal(enabled, app.BankKeeper.IsSendEnabledCoin(ctx, barCoin)) @@ -614,8 +615,9 @@ func (suite *IntegrationTestSuite) TestMsgMultiSendEvents() { newCoins := sdk.NewCoins(sdk.NewInt64Coin(fooDenom, 50)) newCoins2 := sdk.NewCoins(sdk.NewInt64Coin(barDenom, 100)) input := []types.Input{ - {Address: addr.String(), - Coins: coins, + { + Address: addr.String(), + Coins: coins, }, } outputs := []types.Output{ diff --git a/x/bank/keeper/msg_server.go b/x/bank/keeper/msg_server.go index 7555dc506cb6..99e90f52e143 100644 --- a/x/bank/keeper/msg_server.go +++ b/x/bank/keeper/msg_server.go @@ -8,7 +8,6 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/errors" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/bank/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" ) @@ -42,7 +41,7 @@ func (k msgServer) Send(goCtx context.Context, msg *types.MsgSend) (*types.MsgSe } if k.BlockedAddr(to) { - return nil, sdkerrors.Wrapf(sdkerrors.ErrUnauthorized, "%s is not allowed to receive funds", msg.ToAddress) + return nil, errors.Wrapf(errors.ErrUnauthorized, "%s is not allowed to receive funds", msg.ToAddress) } err = k.SendCoins(ctx, from, to, msg.Amount) @@ -86,7 +85,7 @@ func (k msgServer) MultiSend(goCtx context.Context, msg *types.MsgMultiSend) (*t accAddr := sdk.MustAccAddressFromBech32(out.Address) if k.BlockedAddr(accAddr) { - return nil, sdkerrors.Wrapf(sdkerrors.ErrUnauthorized, "%s is not allowed to receive transactions", out.Address) + return nil, errors.Wrapf(errors.ErrUnauthorized, "%s is not allowed to receive transactions", out.Address) } } diff --git a/x/bank/keeper/send.go b/x/bank/keeper/send.go index 88ff044898c2..e21b5bcef41b 100644 --- a/x/bank/keeper/send.go +++ b/x/bank/keeper/send.go @@ -99,6 +99,7 @@ func (k BaseSendKeeper) GetParams(ctx sdk.Context) (params types.Params) { } // SetParams sets the total set of bank parameters. +//nolint:staticcheck // params.SendEnabled is deprecated but it should be here regardless. func (k BaseSendKeeper) SetParams(ctx sdk.Context, params types.Params) error { // normally SendEnabled is deprecated but we still support it for backwards compatibility // using params.Validate() would fail due to the SendEnabled deprecation diff --git a/x/bank/keeper/view.go b/x/bank/keeper/view.go index 35e640823762..32e146ecdd15 100644 --- a/x/bank/keeper/view.go +++ b/x/bank/keeper/view.go @@ -100,7 +100,7 @@ func (k BaseViewKeeper) GetAccountsBalances(ctx sdk.Context) []types.Balance { // by address. func (k BaseViewKeeper) GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin { accountStore := k.getAccountStore(ctx, addr) - amount := sdk.ZeroInt() + amount := math.ZeroInt() bz := accountStore.Get([]byte(denom)) if bz == nil { return sdk.NewCoin(denom, amount) diff --git a/x/bank/migrations/v2/store.go b/x/bank/migrations/v2/store.go index 5431e7afa330..320a2d1cbbff 100644 --- a/x/bank/migrations/v2/store.go +++ b/x/bank/migrations/v2/store.go @@ -1,6 +1,7 @@ package v2 import ( + "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/store/prefix" storetypes "github.com/cosmos/cosmos-sdk/store/types" @@ -118,7 +119,7 @@ func pruneZeroSupply(store sdk.KVStore) error { defer iterator.Close() for ; iterator.Valid(); iterator.Next() { - var amount sdk.Int + var amount math.Int if err := amount.Unmarshal(iterator.Value()); err != nil { return err } diff --git a/x/bank/migrations/v2/store_test.go b/x/bank/migrations/v2/store_test.go index a142f2a516ad..7402425b9840 100644 --- a/x/bank/migrations/v2/store_test.go +++ b/x/bank/migrations/v2/store_test.go @@ -3,6 +3,7 @@ package v2_test import ( "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/simapp" @@ -41,7 +42,7 @@ func TestSupplyMigration(t *testing.T) { // New supply is indexed by denom. supplyStore := prefix.NewStore(store, types.SupplyKey) bz := supplyStore.Get([]byte("foo")) - var amount sdk.Int + var amount math.Int err = amount.Unmarshal(bz) require.NoError(t, err) diff --git a/x/bank/migrations/v3/store_test.go b/x/bank/migrations/v3/store_test.go index 88a411ef9029..f7b790131f58 100644 --- a/x/bank/migrations/v3/store_test.go +++ b/x/bank/migrations/v3/store_test.go @@ -3,6 +3,7 @@ package v3_test import ( "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/simapp" @@ -41,7 +42,7 @@ func TestMigrateStore(t *testing.T) { for _, b := range balances { addrPrefixStore := prefix.NewStore(store, types.CreateAccountBalancesPrefix(addr)) bz := addrPrefixStore.Get([]byte(b.Denom)) - var expected sdk.Int + var expected math.Int require.NoError(t, expected.Unmarshal(bz)) require.Equal(t, expected, b.Amount) } @@ -64,9 +65,9 @@ func TestMigrateDenomMetaData(t *testing.T) { Symbol: "ATOM", Description: "The native staking token of the Cosmos Hub.", DenomUnits: []*types.DenomUnit{ - {"uatom", uint32(0), []string{"microatom"}}, - {"matom", uint32(3), []string{"milliatom"}}, - {"atom", uint32(6), nil}, + {Denom: "uatom", Exponent: uint32(0), Aliases: []string{"microatom"}}, + {Denom: "matom", Exponent: uint32(3), Aliases: []string{"milliatom"}}, + {Denom: "atom", Exponent: uint32(6), Aliases: nil}, }, Base: "uatom", Display: "atom", @@ -76,9 +77,9 @@ func TestMigrateDenomMetaData(t *testing.T) { Symbol: "TOKEN", Description: "The native staking token of the Token Hub.", DenomUnits: []*types.DenomUnit{ - {"1token", uint32(5), []string{"decitoken"}}, - {"2token", uint32(4), []string{"centitoken"}}, - {"3token", uint32(7), []string{"dekatoken"}}, + {Denom: "1token", Exponent: uint32(5), Aliases: []string{"decitoken"}}, + {Denom: "2token", Exponent: uint32(4), Aliases: []string{"centitoken"}}, + {Denom: "3token", Exponent: uint32(7), Aliases: []string{"dekatoken"}}, }, Base: "utoken", Display: "token", diff --git a/x/bank/simulation/operations.go b/x/bank/simulation/operations.go index f5ab63b2bc7e..86ef2d496a46 100644 --- a/x/bank/simulation/operations.go +++ b/x/bank/simulation/operations.go @@ -177,7 +177,7 @@ func SimulateMsgMultiSend(ak types.AccountKeeper, bk keeper.Keeper) simtypes.Ope accs []simtypes.Account, chainID string, ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { // random number of inputs/outputs between [1, 3] - inputs := make([]types.Input, r.Intn(1)+1) + inputs := make([]types.Input, r.Intn(1)+1) //nolint:staticcheck // SA4030: (*math/rand.Rand).Intn(n) generates a random value 0 <= x < n; that is, the generated values don't include n; r.Intn(1) therefore always returns 0 outputs := make([]types.Output, r.Intn(3)+1) // collect signer privKeys diff --git a/x/bank/types/balance_test.go b/x/bank/types/balance_test.go index 5219388b7c2e..a69cf48268bf 100644 --- a/x/bank/types/balance_test.go +++ b/x/bank/types/balance_test.go @@ -4,6 +4,7 @@ import ( "bytes" "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" @@ -49,7 +50,7 @@ func TestBalanceValidate(t *testing.T) { bank.Balance{ Address: "cosmos1yq8lgssgxlx9smjhes6ryjasmqmd3ts2559g0t", Coins: sdk.Coins{ - sdk.Coin{Denom: "", Amount: sdk.OneInt()}, + sdk.Coin{Denom: "", Amount: math.OneInt()}, }, }, true, diff --git a/x/bank/types/genesis_test.go b/x/bank/types/genesis_test.go index fff454bc59d5..074825c325cb 100644 --- a/x/bank/types/genesis_test.go +++ b/x/bank/types/genesis_test.go @@ -3,6 +3,7 @@ package types import ( "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -137,7 +138,7 @@ func TestGenesisStateValidate(t *testing.T) { { "invalid supply", GenesisState{ - Supply: sdk.Coins{sdk.Coin{Denom: "", Amount: sdk.OneInt()}}, + Supply: sdk.Coins{sdk.Coin{Denom: "", Amount: math.OneInt()}}, }, true, }, diff --git a/x/bank/types/params.go b/x/bank/types/params.go index d38dd8eae309..bd93bf85797c 100644 --- a/x/bank/types/params.go +++ b/x/bank/types/params.go @@ -52,6 +52,7 @@ func (se SendEnabled) Validate() error { } // validateSendEnabledParams is used by the x/params module to validate the params for the bank module. +//nolint:deadcode,unused func validateSendEnabledParams(i interface{}) error { params, ok := i.([]*SendEnabled) if !ok { @@ -86,6 +87,7 @@ func (se SendEnabled) String() string { } // validateSendEnabled is used by the x/params module to validate a single SendEnabled entry. +//nolint:unused func validateSendEnabled(i interface{}) error { param, ok := i.(SendEnabled) if !ok { diff --git a/x/bank/types/params_legacy.go b/x/bank/types/params_legacy.go index c6831e634b70..668358b4df7a 100644 --- a/x/bank/types/params_legacy.go +++ b/x/bank/types/params_legacy.go @@ -4,18 +4,18 @@ import paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" var ( // KeySendEnabled is store's key for SendEnabled Params - // DEPRECATED: Use the SendEnabled functionality in the keeper. + // Deprecated: Use the SendEnabled functionality in the keeper. KeySendEnabled = []byte("SendEnabled") // KeyDefaultSendEnabled is store's key for the DefaultSendEnabled option KeyDefaultSendEnabled = []byte("DefaultSendEnabled") ) -// DEPRECATED: ParamKeyTable for bank module. +// Deprecated: ParamKeyTable for bank module. func ParamKeyTable() paramtypes.KeyTable { return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) } -// DEPRECATED: ParamSetPairs implements params.ParamSet +// Deprecated: ParamSetPairs implements params.ParamSet func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { return paramtypes.ParamSetPairs{ paramtypes.NewParamSetPair(KeyDefaultSendEnabled, &p.DefaultSendEnabled, validateIsBool), diff --git a/x/bank/types/params_test.go b/x/bank/types/params_test.go index cbc74f961107..4e48166e70a1 100644 --- a/x/bank/types/params_test.go +++ b/x/bank/types/params_test.go @@ -3,6 +3,7 @@ package types import ( "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -18,7 +19,7 @@ func Test_validateSendEnabledParam(t *testing.T) { args args wantErr bool }{ - {"invalid type", args{sdk.NewCoin(sdk.DefaultBondDenom, sdk.OneInt())}, true}, + {"invalid type", args{sdk.NewCoin(sdk.DefaultBondDenom, math.OneInt())}, true}, {"invalid empty denom send enabled", args{*NewSendEnabled("", true)}, true}, {"invalid empty denom send disabled", args{*NewSendEnabled("", false)}, true}, diff --git a/x/distribution/client/testutil/suite.go b/x/distribution/client/testutil/suite.go index 063b19e1729e..dac9c3a6dc73 100644 --- a/x/distribution/client/testutil/suite.go +++ b/x/distribution/client/testutil/suite.go @@ -6,6 +6,7 @@ import ( "strings" "time" + "cosmossdk.io/math" "github.com/gogo/protobuf/proto" "github.com/stretchr/testify/suite" tmcli "github.com/tendermint/tendermint/libs/cli" @@ -540,14 +541,14 @@ func (s *IntegrationTestSuite) TestNewWithdrawRewardsCmd() { // can't use unpackAny as response types are not registered. err = s.cfg.Codec.Unmarshal(msgResponse.Value, &resp) s.Require().NoError(err) - s.Require().True(resp.Amount.IsAllGT(sdk.NewCoins(sdk.NewCoin("stake", sdk.OneInt()))), + s.Require().True(resp.Amount.IsAllGT(sdk.NewCoins(sdk.NewCoin("stake", math.OneInt()))), fmt.Sprintf("expected a positive coin value, got %v", resp.Amount)) case "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse": var resp distrtypes.MsgWithdrawValidatorCommissionResponse // can't use unpackAny as response types are not registered. err = s.cfg.Codec.Unmarshal(msgResponse.Value, &resp) s.Require().NoError(err) - s.Require().True(resp.Amount.IsAllGT(sdk.NewCoins(sdk.NewCoin("stake", sdk.OneInt()))), + s.Require().True(resp.Amount.IsAllGT(sdk.NewCoins(sdk.NewCoin("stake", math.OneInt()))), fmt.Sprintf("expected a positive coin value, got %v", resp.Amount)) } } @@ -626,14 +627,14 @@ func (s *IntegrationTestSuite) TestNewWithdrawAllRewardsCmd() { // can't use unpackAny as response types are not registered. err = s.cfg.Codec.Unmarshal(msgResponse.Value, &resp) s.Require().NoError(err) - s.Require().True(resp.Amount.IsAllGT(sdk.NewCoins(sdk.NewCoin("stake", sdk.OneInt()))), + s.Require().True(resp.Amount.IsAllGT(sdk.NewCoins(sdk.NewCoin("stake", math.OneInt()))), fmt.Sprintf("expected a positive coin value, got %v", resp.Amount)) case "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse": var resp distrtypes.MsgWithdrawValidatorCommissionResponse // can't use unpackAny as response types are not registered. err = s.cfg.Codec.Unmarshal(msgResponse.Value, &resp) s.Require().NoError(err) - s.Require().True(resp.Amount.IsAllGT(sdk.NewCoins(sdk.NewCoin("stake", sdk.OneInt()))), + s.Require().True(resp.Amount.IsAllGT(sdk.NewCoins(sdk.NewCoin("stake", math.OneInt()))), fmt.Sprintf("expected a positive coin value, got %v", resp.Amount)) } } diff --git a/x/distribution/keeper/delegation_test.go b/x/distribution/keeper/delegation_test.go index 861b7f023e06..e426d1aaddfe 100644 --- a/x/distribution/keeper/delegation_test.go +++ b/x/distribution/keeper/delegation_test.go @@ -3,6 +3,7 @@ package keeper_test import ( "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/require" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" @@ -807,7 +808,7 @@ func Test100PercentCommissionReward(t *testing.T) { zeroRewards := sdk.Coins{ sdk.Coin{ Denom: denom, - Amount: sdk.ZeroInt(), + Amount: math.ZeroInt(), }, } require.True(t, rewards.IsEqual(zeroRewards)) diff --git a/x/distribution/keeper/keeper.go b/x/distribution/keeper/keeper.go index 453199037492..31de65efa37f 100644 --- a/x/distribution/keeper/keeper.go +++ b/x/distribution/keeper/keeper.go @@ -3,6 +3,7 @@ package keeper import ( "fmt" + "cosmossdk.io/math" "github.com/tendermint/tendermint/libs/log" "github.com/cosmos/cosmos-sdk/codec" @@ -101,7 +102,7 @@ func (k Keeper) WithdrawDelegationRewards(ctx sdk.Context, delAddr sdk.AccAddres baseDenom, _ := sdk.GetBaseDenom() rewards = sdk.Coins{sdk.Coin{ Denom: baseDenom, - Amount: sdk.ZeroInt(), + Amount: math.ZeroInt(), }} } diff --git a/x/distribution/keeper/keeper_test.go b/x/distribution/keeper/keeper_test.go index 7786928a43a7..ad3d101471c1 100644 --- a/x/distribution/keeper/keeper_test.go +++ b/x/distribution/keeper/keeper_test.go @@ -3,6 +3,7 @@ package keeper_test import ( "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/require" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" @@ -169,7 +170,7 @@ func TestFundCommunityPool(t *testing.T) { // reset fee pool distrKeeper.SetFeePool(ctx, types.InitialFeePool()) - addr := simtestutil.AddTestAddrs(bankKeeper, stakingKeeper, ctx, 2, sdk.ZeroInt()) + addr := simtestutil.AddTestAddrs(bankKeeper, stakingKeeper, ctx, 2, math.ZeroInt()) amount := sdk.NewCoins(sdk.NewInt64Coin("stake", 100)) require.NoError(t, banktestutil.FundAccount(bankKeeper, ctx, addr[0], amount)) diff --git a/x/genutil/gentx_test.go b/x/genutil/gentx_test.go index 9b79895df0d9..0653c7b4bc32 100644 --- a/x/genutil/gentx_test.go +++ b/x/genutil/gentx_test.go @@ -7,6 +7,7 @@ import ( "testing" "time" + "cosmossdk.io/math" "github.com/stretchr/testify/suite" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" @@ -53,7 +54,7 @@ func (suite *GenTxTestSuite) SetupTest() { var err error amount := sdk.NewInt64Coin(sdk.DefaultBondDenom, 50) - one := sdk.OneInt() + one := math.OneInt() suite.msg1, err = stakingtypes.NewMsgCreateValidator( sdk.ValAddress(pk1.Address()), pk1, amount, desc, comm, one) suite.NoError(err) diff --git a/x/genutil/types/genesis_state_test.go b/x/genutil/types/genesis_state_test.go index 9c225fd3f7c4..20e3f64c9d49 100644 --- a/x/genutil/types/genesis_state_test.go +++ b/x/genutil/types/genesis_state_test.go @@ -4,6 +4,7 @@ import ( "encoding/json" "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -38,11 +39,11 @@ func TestValidateGenesisMultipleMessages(t *testing.T) { comm := stakingtypes.CommissionRates{} msg1, err := stakingtypes.NewMsgCreateValidator(sdk.ValAddress(pk1.Address()), pk1, - sdk.NewInt64Coin(sdk.DefaultBondDenom, 50), desc, comm, sdk.OneInt()) + sdk.NewInt64Coin(sdk.DefaultBondDenom, 50), desc, comm, math.OneInt()) require.NoError(t, err) msg2, err := stakingtypes.NewMsgCreateValidator(sdk.ValAddress(pk2.Address()), pk2, - sdk.NewInt64Coin(sdk.DefaultBondDenom, 50), desc, comm, sdk.OneInt()) + sdk.NewInt64Coin(sdk.DefaultBondDenom, 50), desc, comm, math.OneInt()) require.NoError(t, err) txGen := simapp.MakeTestEncodingConfig().TxConfig diff --git a/x/gov/abci_test.go b/x/gov/abci_test.go index f0e002f12395..63eab4b4b433 100644 --- a/x/gov/abci_test.go +++ b/x/gov/abci_test.go @@ -4,6 +4,7 @@ import ( "testing" "time" + "cosmossdk.io/math" "github.com/stretchr/testify/require" abci "github.com/tendermint/tendermint/abci/types" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" @@ -376,7 +377,7 @@ func createValidators(t *testing.T, stakingMsgSvr stakingtypes.MsgServer, ctx sd valTokens := sdk.TokensFromConsensusPower(powerAmt[i], sdk.DefaultPowerReduction) valCreateMsg, err := stakingtypes.NewMsgCreateValidator( addrs[i], pubkeys[i], sdk.NewCoin(sdk.DefaultBondDenom, valTokens), - TestDescription, TestCommissionRates, sdk.OneInt(), + TestDescription, TestCommissionRates, math.OneInt(), ) require.NoError(t, err) res, err := stakingMsgSvr.CreateValidator(sdk.WrapSDKContext(ctx), valCreateMsg) diff --git a/x/gov/simulation/decoder_test.go b/x/gov/simulation/decoder_test.go index 7d9ac2e5bc90..10145996edcf 100644 --- a/x/gov/simulation/decoder_test.go +++ b/x/gov/simulation/decoder_test.go @@ -6,6 +6,7 @@ import ( "testing" "time" + "cosmossdk.io/math" "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" @@ -36,7 +37,7 @@ func TestDecodeStore(t *testing.T) { proposalIDBz := make([]byte, 8) binary.LittleEndian.PutUint64(proposalIDBz, 1) - deposit := v1beta1.NewDeposit(1, delAddr1, sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.OneInt()))) + deposit := v1beta1.NewDeposit(1, delAddr1, sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, math.OneInt()))) vote := v1beta1.NewVote(1, delAddr1, v1beta1.NewNonSplitVoteOption(v1beta1.OptionYes)) proposalBzA, err := cdc.Marshal(&proposalA) diff --git a/x/gov/types/v1/tally.go b/x/gov/types/v1/tally.go index 7a09625737ce..142745094f93 100644 --- a/x/gov/types/v1/tally.go +++ b/x/gov/types/v1/tally.go @@ -49,7 +49,7 @@ func NewTallyResultFromMap(results map[VoteOption]sdk.Dec) TallyResult { // EmptyTallyResult returns an empty TallyResult. func EmptyTallyResult() TallyResult { - return NewTallyResult(sdk.ZeroInt(), sdk.ZeroInt(), sdk.ZeroInt(), sdk.ZeroInt()) + return NewTallyResult(math.ZeroInt(), math.ZeroInt(), math.ZeroInt(), math.ZeroInt()) } // Equals returns if two tally results are equal. diff --git a/x/gov/types/v1beta1/tally.go b/x/gov/types/v1beta1/tally.go index cf44f59b6c69..35a3338a4577 100644 --- a/x/gov/types/v1beta1/tally.go +++ b/x/gov/types/v1beta1/tally.go @@ -51,7 +51,7 @@ func NewTallyResultFromMap(results map[VoteOption]sdk.Dec) TallyResult { // EmptyTallyResult returns an empty TallyResult. func EmptyTallyResult() TallyResult { - return NewTallyResult(sdk.ZeroInt(), sdk.ZeroInt(), sdk.ZeroInt(), sdk.ZeroInt()) + return NewTallyResult(math.ZeroInt(), math.ZeroInt(), math.ZeroInt(), math.ZeroInt()) } // Equals returns if two proposals are equal. diff --git a/x/group/keeper/keeper.go b/x/group/keeper/keeper.go index 70868e59cc90..d7ea4157efe4 100644 --- a/x/group/keeper/keeper.go +++ b/x/group/keeper/keeper.go @@ -277,6 +277,7 @@ func (k Keeper) abortProposals(ctx sdk.Context, groupPolicyAddr sdk.AccAddress) return err } + //nolint:gosec // "implicit memory aliasing in the for loop (because of the pointer on &proposalInfo)" for _, proposalInfo := range proposals { // Mark all proposals still in the voting phase as aborted. if proposalInfo.Status == group.PROPOSAL_STATUS_SUBMITTED { @@ -321,6 +322,7 @@ func (k Keeper) pruneVotes(ctx sdk.Context, proposalID uint64) error { return err } + //nolint:gosec // "implicit memory aliasing in the for loop (because of the pointer on &v)" for _, v := range votes { err = k.voteTable.Delete(ctx.KVStore(k.key), &v) if err != nil { @@ -375,11 +377,13 @@ func (k Keeper) PruneProposals(ctx sdk.Context) error { // TallyProposalsAtVPEnd iterates over all proposals whose voting period // has ended, tallies their votes, prunes them, and updates the proposal's // `FinalTallyResult` field. + func (k Keeper) TallyProposalsAtVPEnd(ctx sdk.Context) error { proposals, err := k.proposalsByVPEnd(ctx, ctx.BlockTime()) if err != nil { return nil } + //nolint:gosec // "implicit memory aliasing in the for loop (because of the pointers in the loop)" for _, proposal := range proposals { policyInfo, err := k.getGroupPolicyInfo(ctx, proposal.GroupPolicyAddress) if err != nil { diff --git a/x/mint/simulation/genesis_test.go b/x/mint/simulation/genesis_test.go index a59b6f09ccc7..75a0cacbb388 100644 --- a/x/mint/simulation/genesis_test.go +++ b/x/mint/simulation/genesis_test.go @@ -7,6 +7,7 @@ import ( "github.com/stretchr/testify/require" + "cosmossdk.io/math" sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" @@ -50,7 +51,7 @@ func TestRandomizedGenState(t *testing.T) { require.Equal(t, dec3, mintGenesis.Params.InflationMin) require.Equal(t, "stake", mintGenesis.Params.MintDenom) require.Equal(t, "0stake", mintGenesis.Minter.BlockProvision(mintGenesis.Params).String()) - require.Equal(t, "0.170000000000000000", mintGenesis.Minter.NextAnnualProvisions(mintGenesis.Params, sdk.OneInt()).String()) + require.Equal(t, "0.170000000000000000", mintGenesis.Minter.NextAnnualProvisions(mintGenesis.Params, math.OneInt()).String()) require.Equal(t, "0.169999926644441493", mintGenesis.Minter.NextInflationRate(mintGenesis.Params, sdk.OneDec()).String()) require.Equal(t, "0.170000000000000000", mintGenesis.Minter.Inflation.String()) require.Equal(t, "0.000000000000000000", mintGenesis.Minter.AnnualProvisions.String()) diff --git a/x/mint/types/minter_test.go b/x/mint/types/minter_test.go index 04de803a2e5e..c3da5385a8be 100644 --- a/x/mint/types/minter_test.go +++ b/x/mint/types/minter_test.go @@ -87,7 +87,7 @@ func TestBlockProvision(t *testing.T) { } // Benchmarking :) -// previously using sdk.Int operations: +// previously using math.Int operations: // BenchmarkBlockProvision-4 5000000 220 ns/op // // using sdk.Dec operations: (current implementation) diff --git a/x/mint/types/params_legacy.go b/x/mint/types/params_legacy.go index d9e5b17991d9..640ad2db223a 100644 --- a/x/mint/types/params_legacy.go +++ b/x/mint/types/params_legacy.go @@ -21,14 +21,14 @@ var ( // ParamTable for minting module. // -// NOTE: Deprecated. +// Deprecated. func ParamKeyTable() paramtypes.KeyTable { return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) } // Implements params.ParamSet // -// NOTE: Deprecated. +// Deprecated. func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { return paramtypes.ParamSetPairs{ paramtypes.NewParamSetPair(KeyMintDenom, &p.MintDenom, validateMintDenom), diff --git a/x/params/keeper/keeper_test.go b/x/params/keeper/keeper_test.go index 6a7b32e657a0..2397330fdc9e 100644 --- a/x/params/keeper/keeper_test.go +++ b/x/params/keeper/keeper_test.go @@ -4,6 +4,7 @@ import ( "reflect" "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" @@ -189,7 +190,7 @@ func TestSubspace(t *testing.T) { {"uint16", uint16(1), uint16(0), new(uint16)}, {"uint32", uint32(1), uint32(0), new(uint32)}, {"uint64", uint64(1), uint64(0), new(uint64)}, - {"int", sdk.NewInt(1), *new(sdk.Int), new(sdk.Int)}, + {"int", sdk.NewInt(1), *new(math.Int), new(math.Int)}, {"uint", sdk.NewUint(1), *new(sdk.Uint), new(sdk.Uint)}, {"dec", sdk.NewDec(1), *new(sdk.Dec), new(sdk.Dec)}, {"struct", s{1}, s{0}, new(s)}, @@ -204,7 +205,7 @@ func TestSubspace(t *testing.T) { types.NewParamSetPair([]byte("uint16"), uint16(0), validateNoOp), types.NewParamSetPair([]byte("uint32"), uint32(0), validateNoOp), types.NewParamSetPair([]byte("uint64"), uint64(0), validateNoOp), - types.NewParamSetPair([]byte("int"), sdk.Int{}, validateNoOp), + types.NewParamSetPair([]byte("int"), math.Int{}, validateNoOp), types.NewParamSetPair([]byte("uint"), sdk.Uint{}, validateNoOp), types.NewParamSetPair([]byte("dec"), sdk.Dec{}, validateNoOp), types.NewParamSetPair([]byte("struct"), s{}, validateNoOp), diff --git a/x/params/proposal_handler_test.go b/x/params/proposal_handler_test.go index d7c3ff391c08..c4f60970f0b0 100644 --- a/x/params/proposal_handler_test.go +++ b/x/params/proposal_handler_test.go @@ -1,9 +1,10 @@ package params_test import ( - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" "testing" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/golang/mock/gomock" "github.com/stretchr/testify/suite" diff --git a/x/slashing/app_test.go b/x/slashing/app_test.go index e9ece2c690a1..537571bc12eb 100644 --- a/x/slashing/app_test.go +++ b/x/slashing/app_test.go @@ -4,6 +4,7 @@ import ( "errors" "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/require" abci "github.com/tendermint/tendermint/abci/types" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" @@ -64,7 +65,7 @@ func TestSlashingMsgs(t *testing.T) { commission := stakingtypes.NewCommissionRates(sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec()) createValidatorMsg, err := stakingtypes.NewMsgCreateValidator( - sdk.ValAddress(addr1), valKey.PubKey(), bondCoin, description, commission, sdk.OneInt(), + sdk.ValAddress(addr1), valKey.PubKey(), bondCoin, description, commission, math.OneInt(), ) require.NoError(t, err) @@ -80,7 +81,7 @@ func TestSlashingMsgs(t *testing.T) { validator := checkValidator(t, app, addr1, true) require.Equal(t, sdk.ValAddress(addr1).String(), validator.OperatorAddress) require.Equal(t, stakingtypes.Bonded, validator.Status) - require.True(sdk.IntEq(t, bondTokens, validator.BondedTokens())) + require.True(math.IntEq(t, bondTokens, validator.BondedTokens())) unjailMsg := &types.MsgUnjail{ValidatorAddr: sdk.ValAddress(addr1).String()} checkValidatorSigningInfo(t, app, sdk.ConsAddress(valAddr), true) diff --git a/x/slashing/spec/06_events.md b/x/slashing/spec/06_events.md index c7dbf5723efa..e171023ddc10 100644 --- a/x/slashing/spec/06_events.md +++ b/x/slashing/spec/06_events.md @@ -25,7 +25,7 @@ The slashing module emits the following events: | slash | power | {validatorPower} | | slash | reason | {slashReason} | | slash | jailed [0] | {validatorConsensusAddress} | -| slash | burned coins | {sdk.Int} | +| slash | burned coins | {math.Int} | * [0] Only included if the validator is jailed. diff --git a/x/slashing/types/params_legacy.go b/x/slashing/types/params_legacy.go index 15bb92159596..bd97023f6a47 100644 --- a/x/slashing/types/params_legacy.go +++ b/x/slashing/types/params_legacy.go @@ -20,14 +20,14 @@ var ( // ParamKeyTable for slashing module // -// NOTE: Deprecated. +// Deprecated. func ParamKeyTable() paramtypes.KeyTable { return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) } // ParamSetPairs - Implements params.ParamSet // -// NOTE: Deprecated. +// Deprecated. func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { return paramtypes.ParamSetPairs{ paramtypes.NewParamSetPair(KeySignedBlocksWindow, &p.SignedBlocksWindow, validateSignedBlocksWindow), diff --git a/x/staking/app_test.go b/x/staking/app_test.go index 5a3bd723cb9c..c927ededcfa0 100644 --- a/x/staking/app_test.go +++ b/x/staking/app_test.go @@ -3,6 +3,7 @@ package staking_test import ( "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/require" abci "github.com/tendermint/tendermint/abci/types" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" @@ -65,7 +66,7 @@ func TestStakingMsgs(t *testing.T) { // create validator description := types.NewDescription("foo_moniker", "", "", "", "") createValidatorMsg, err := types.NewMsgCreateValidator( - sdk.ValAddress(addr1), valKey.PubKey(), bondCoin, description, commissionRates, sdk.OneInt(), + sdk.ValAddress(addr1), valKey.PubKey(), bondCoin, description, commissionRates, math.OneInt(), ) require.NoError(t, err) @@ -81,7 +82,7 @@ func TestStakingMsgs(t *testing.T) { validator := checkValidator(t, app, sdk.ValAddress(addr1), true) require.Equal(t, sdk.ValAddress(addr1).String(), validator.OperatorAddress) require.Equal(t, types.Bonded, validator.Status) - require.True(sdk.IntEq(t, bondTokens, validator.BondedTokens())) + require.True(math.IntEq(t, bondTokens, validator.BondedTokens())) header = tmproto.Header{Height: app.LastBlockHeight() + 1} app.BeginBlock(abci.RequestBeginBlock{Header: header}) diff --git a/x/staking/common_test.go b/x/staking/common_test.go index bfd50af422cf..4286a5d510e3 100644 --- a/x/staking/common_test.go +++ b/x/staking/common_test.go @@ -1,11 +1,13 @@ package staking_test import ( - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" "math/big" "testing" + "cosmossdk.io/math" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" "github.com/cosmos/cosmos-sdk/codec" @@ -58,7 +60,7 @@ func getBaseSimappWithCustomKeeper(t *testing.T) (*codec.LegacyAmino, *simapp.Si } // generateAddresses generates numAddrs of normal AccAddrs and ValAddrs -func generateAddresses(app *simapp.SimApp, ctx sdk.Context, numAddrs int, accAmount sdk.Int) ([]sdk.AccAddress, []sdk.ValAddress) { +func generateAddresses(app *simapp.SimApp, ctx sdk.Context, numAddrs int, accAmount math.Int) ([]sdk.AccAddress, []sdk.ValAddress) { addrDels := simapp.AddTestAddrsIncremental(app, ctx, numAddrs, accAmount) addrVals := simtestutil.ConvertAddrsToValAddrs(addrDels) diff --git a/x/staking/genesis_test.go b/x/staking/genesis_test.go index 6f4a8ad8bda0..2a1cfa637b8f 100644 --- a/x/staking/genesis_test.go +++ b/x/staking/genesis_test.go @@ -3,6 +3,7 @@ package staking_test import ( "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/assert" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" @@ -16,7 +17,7 @@ func TestValidateGenesis(t *testing.T) { genValidators1 := make([]types.Validator, 1, 5) pk := ed25519.GenPrivKey().PubKey() genValidators1[0] = teststaking.NewValidator(t, sdk.ValAddress(pk.Address()), pk) - genValidators1[0].Tokens = sdk.OneInt() + genValidators1[0].Tokens = math.OneInt() genValidators1[0].DelegatorShares = sdk.OneDec() tests := []struct { diff --git a/x/staking/keeper/common_test.go b/x/staking/keeper/common_test.go index ff11199d39f2..7c270df7d958 100644 --- a/x/staking/keeper/common_test.go +++ b/x/staking/keeper/common_test.go @@ -1,11 +1,12 @@ package keeper_test import ( - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" "math/big" "testing" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" "github.com/cosmos/cosmos-sdk/codec" diff --git a/x/staking/keeper/delegation.go b/x/staking/keeper/delegation.go index 2c6de7a59d66..376e0ac9122c 100644 --- a/x/staking/keeper/delegation.go +++ b/x/staking/keeper/delegation.go @@ -183,7 +183,7 @@ func (k Keeper) IterateUnbondingDelegations(ctx sdk.Context, fn func(index int64 // GetDelegatorUnbonding returns the total amount a delegator has unbonding. func (k Keeper) GetDelegatorUnbonding(ctx sdk.Context, delegator sdk.AccAddress) math.Int { - unbonding := sdk.ZeroInt() + unbonding := math.ZeroInt() k.IterateDelegatorUnbondingDelegations(ctx, delegator, func(ubd types.UnbondingDelegation) bool { for _, entry := range ubd.Entries { unbonding = unbonding.Add(entry.Balance) diff --git a/x/staking/keeper/delegation_test.go b/x/staking/keeper/delegation_test.go index a8ff9ed54d75..a2fc05c1619f 100644 --- a/x/staking/keeper/delegation_test.go +++ b/x/staking/keeper/delegation_test.go @@ -4,6 +4,7 @@ import ( "testing" "time" + "cosmossdk.io/math" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -33,7 +34,7 @@ func TestDelegation(t *testing.T) { valAddrs := simtestutil.ConvertAddrsToValAddrs(addrDels) // construct the validators - amts := []sdk.Int{sdk.NewInt(9), sdk.NewInt(8), sdk.NewInt(7)} + amts := []math.Int{sdk.NewInt(9), sdk.NewInt(8), sdk.NewInt(7)} var validators [3]types.Validator for i, amt := range amts { validators[i] = teststaking.NewValidator(t, valAddrs[i], PKs[i]) @@ -257,7 +258,7 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) { require.Equal(t, startTokens, issuedShares.RoundInt()) validator = keeper.TestingUpdateValidator(app.StakingKeeper, ctx, validator, true) - require.True(sdk.IntEq(t, startTokens, validator.BondedTokens())) + require.True(math.IntEq(t, startTokens, validator.BondedTokens())) require.True(t, validator.IsBonded()) delegation := types.NewDelegation(addrDels[0], addrVals[0], issuedShares) @@ -278,8 +279,8 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) { newBonded := app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount newNotBonded := app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, newBonded, oldBonded.SubRaw(int64(maxEntries)))) - require.True(sdk.IntEq(t, newNotBonded, oldNotBonded.AddRaw(int64(maxEntries)))) + require.True(math.IntEq(t, newBonded, oldBonded.SubRaw(int64(maxEntries)))) + require.True(math.IntEq(t, newNotBonded, oldNotBonded.AddRaw(int64(maxEntries)))) oldBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount oldNotBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount @@ -291,8 +292,8 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) { newBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount newNotBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, newBonded, oldBonded)) - require.True(sdk.IntEq(t, newNotBonded, oldNotBonded)) + require.True(math.IntEq(t, newBonded, oldBonded)) + require.True(math.IntEq(t, newNotBonded, oldNotBonded)) // mature unbonding delegations ctx = ctx.WithBlockTime(completionTime) @@ -301,8 +302,8 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) { newBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount newNotBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, newBonded, oldBonded)) - require.True(sdk.IntEq(t, newNotBonded, oldNotBonded.SubRaw(int64(maxEntries)))) + require.True(math.IntEq(t, newBonded, oldBonded)) + require.True(math.IntEq(t, newNotBonded, oldNotBonded.SubRaw(int64(maxEntries)))) oldNotBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount @@ -312,8 +313,8 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) { newBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount newNotBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, newBonded, oldBonded.SubRaw(1))) - require.True(sdk.IntEq(t, newNotBonded, oldNotBonded.AddRaw(1))) + require.True(math.IntEq(t, newBonded, oldBonded.SubRaw(1))) + require.True(math.IntEq(t, newNotBonded, oldNotBonded.AddRaw(1))) } //// test undelegating self delegation from a validator pushing it below MinSelfDelegation diff --git a/x/staking/keeper/genesis.go b/x/staking/keeper/genesis.go index 7a8a374374d0..908151c1d762 100644 --- a/x/staking/keeper/genesis.go +++ b/x/staking/keeper/genesis.go @@ -3,6 +3,7 @@ package keeper import ( "fmt" + "cosmossdk.io/math" abci "github.com/tendermint/tendermint/abci/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -15,8 +16,8 @@ import ( // data. Finally, it updates the bonded validators. // Returns final validator set after applying all declaration and delegations func (k Keeper) InitGenesis(ctx sdk.Context, data *types.GenesisState) (res []abci.ValidatorUpdate) { - bondedTokens := sdk.ZeroInt() - notBondedTokens := sdk.ZeroInt() + bondedTokens := math.ZeroInt() + notBondedTokens := math.ZeroInt() // We need to pretend to be "n blocks before genesis", where "n" is the // validator update delay, so that e.g. slashing periods are correctly diff --git a/x/staking/keeper/genesis_test.go b/x/staking/keeper/genesis_test.go index 908e301decfa..da97f8fa2e10 100644 --- a/x/staking/keeper/genesis_test.go +++ b/x/staking/keeper/genesis_test.go @@ -4,6 +4,7 @@ import ( "fmt" "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/require" abci "github.com/tendermint/tendermint/abci/types" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" @@ -171,7 +172,7 @@ func TestInitGenesisLargeValidatorSet(t *testing.T) { var err error - bondedPoolAmt := sdk.ZeroInt() + bondedPoolAmt := math.ZeroInt() for i := range validators { validators[i], err = types.NewValidator( sdk.ValAddress(addrs[i]), diff --git a/x/staking/keeper/grpc_query_test.go b/x/staking/keeper/grpc_query_test.go index c746d0991693..619f8d5af2bd 100644 --- a/x/staking/keeper/grpc_query_test.go +++ b/x/staking/keeper/grpc_query_test.go @@ -3,9 +3,10 @@ package keeper_test import ( gocontext "context" "fmt" + "testing" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "testing" "github.com/stretchr/testify/require" diff --git a/x/staking/keeper/historical_info_test.go b/x/staking/keeper/historical_info_test.go index 91cc506a324f..c1a5f35252a0 100644 --- a/x/staking/keeper/historical_info_test.go +++ b/x/staking/keeper/historical_info_test.go @@ -3,6 +3,7 @@ package keeper_test import ( "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/require" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" @@ -14,7 +15,7 @@ import ( ) // IsValSetSorted reports whether valset is sorted. -func IsValSetSorted(data []types.Validator, powerReduction sdk.Int) bool { +func IsValSetSorted(data []types.Validator, powerReduction math.Int) bool { n := len(data) for i := n - 1; i > 0; i-- { if types.ValidatorsByVotingPower(data).Less(i, i-1, powerReduction) { diff --git a/x/staking/keeper/invariants.go b/x/staking/keeper/invariants.go index 0ac37e069f60..19668b86615f 100644 --- a/x/staking/keeper/invariants.go +++ b/x/staking/keeper/invariants.go @@ -4,6 +4,7 @@ import ( "bytes" "fmt" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/staking/types" ) @@ -46,8 +47,8 @@ func AllInvariants(k *Keeper) sdk.Invariant { // reflects the tokens actively bonded and not bonded func ModuleAccountInvariants(k *Keeper) sdk.Invariant { return func(ctx sdk.Context) (string, bool) { - bonded := sdk.ZeroInt() - notBonded := sdk.ZeroInt() + bonded := math.ZeroInt() + notBonded := math.ZeroInt() bondedPool := k.GetBondedPool(ctx) notBondedPool := k.GetNotBondedPool(ctx) bondDenom := k.BondDenom(ctx) diff --git a/x/staking/keeper/keeper.go b/x/staking/keeper/keeper.go index e37772c0165b..975ee64f9a1b 100644 --- a/x/staking/keeper/keeper.go +++ b/x/staking/keeper/keeper.go @@ -1,9 +1,10 @@ package keeper import ( - "cosmossdk.io/math" "fmt" + "cosmossdk.io/math" + storetypes "github.com/cosmos/cosmos-sdk/store/types" "github.com/tendermint/tendermint/libs/log" @@ -47,7 +48,7 @@ func NewKeeper( // ensure that authority is a valid AccAddress if _, err := sdk.AccAddressFromBech32(authority); err != nil { - panic(fmt.Sprintf("authority is not a valid acc address")) + panic(("authority is not a valid acc address")) } return &Keeper{ @@ -80,7 +81,7 @@ func (k Keeper) GetLastTotalPower(ctx sdk.Context) math.Int { bz := store.Get(types.LastTotalPowerKey) if bz == nil { - return sdk.ZeroInt() + return math.ZeroInt() } ip := sdk.IntProto{} diff --git a/x/staking/keeper/migrations.go b/x/staking/keeper/migrations.go index 5e2ff5401d16..b34a7993bfc7 100644 --- a/x/staking/keeper/migrations.go +++ b/x/staking/keeper/migrations.go @@ -3,8 +3,8 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/staking/exported" - "github.com/cosmos/cosmos-sdk/x/staking/migrations/v2" - "github.com/cosmos/cosmos-sdk/x/staking/migrations/v3" + v2 "github.com/cosmos/cosmos-sdk/x/staking/migrations/v2" + v3 "github.com/cosmos/cosmos-sdk/x/staking/migrations/v3" v4 "github.com/cosmos/cosmos-sdk/x/staking/migrations/v4" ) diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index c5d609cf3db0..37ee9c3e89d7 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -2,10 +2,11 @@ package keeper import ( "context" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" "strconv" "time" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "google.golang.org/grpc/codes" "google.golang.org/grpc/status" diff --git a/x/staking/keeper/querier_test.go b/x/staking/keeper/querier_test.go index b938efdd6344..fb809595c86c 100644 --- a/x/staking/keeper/querier_test.go +++ b/x/staking/keeper/querier_test.go @@ -4,6 +4,7 @@ import ( "fmt" "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/require" abci "github.com/tendermint/tendermint/abci/types" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" @@ -25,7 +26,7 @@ func TestNewQuerier(t *testing.T) { addrVal1, _ := sdk.ValAddress(addrs[0]), sdk.ValAddress(addrs[1]) // Create Validators - amts := []sdk.Int{sdk.NewInt(9), sdk.NewInt(8)} + amts := []math.Int{sdk.NewInt(9), sdk.NewInt(8)} var validators [2]types.Validator for i, amt := range amts { validators[i] = teststaking.NewValidator(t, sdk.ValAddress(addrs[i]), PKs[i]) @@ -144,7 +145,7 @@ func TestQueryValidators(t *testing.T) { addrs := simapp.AddTestAddrs(app, ctx, 500, app.StakingKeeper.TokensFromConsensusPower(ctx, 10000)) // Create Validators - amts := []sdk.Int{sdk.NewInt(8), sdk.NewInt(7)} + amts := []math.Int{sdk.NewInt(8), sdk.NewInt(7)} status := []types.BondStatus{types.Unbonded, types.Unbonding} var validators [2]types.Validator for i, amt := range amts { diff --git a/x/staking/keeper/slash.go b/x/staking/keeper/slash.go index 0548213f010e..36ba0433a7a2 100644 --- a/x/staking/keeper/slash.go +++ b/x/staking/keeper/slash.go @@ -106,7 +106,7 @@ func (k Keeper) Slash(ctx sdk.Context, consAddr sdk.ConsAddress, infractionHeigh // cannot decrease balance below zero tokensToBurn := sdk.MinInt(remainingSlashAmount, validator.Tokens) - tokensToBurn = sdk.MaxInt(tokensToBurn, sdk.ZeroInt()) // defensive. + tokensToBurn = sdk.MaxInt(tokensToBurn, math.ZeroInt()) // defensive. // we need to calculate the *effective* slash fraction for distribution if validator.Tokens.IsPositive() { @@ -170,8 +170,8 @@ func (k Keeper) SlashUnbondingDelegation(ctx sdk.Context, unbondingDelegation ty infractionHeight int64, slashFactor sdk.Dec, ) (totalSlashAmount math.Int) { now := ctx.BlockHeader().Time - totalSlashAmount = sdk.ZeroInt() - burnedAmount := sdk.ZeroInt() + totalSlashAmount = math.ZeroInt() + burnedAmount := math.ZeroInt() // perform slashing on all entries within the unbonding delegation for i, entry := range unbondingDelegation.Entries { @@ -224,8 +224,8 @@ func (k Keeper) SlashRedelegation(ctx sdk.Context, srcValidator types.Validator, infractionHeight int64, slashFactor sdk.Dec, ) (totalSlashAmount math.Int) { now := ctx.BlockHeader().Time - totalSlashAmount = sdk.ZeroInt() - bondedBurnedAmount, notBondedBurnedAmount := sdk.ZeroInt(), sdk.ZeroInt() + totalSlashAmount = math.ZeroInt() + bondedBurnedAmount, notBondedBurnedAmount := math.ZeroInt(), math.ZeroInt() // perform slashing on all entries within the redelegation for _, entry := range redelegation.Entries { diff --git a/x/staking/keeper/slash_test.go b/x/staking/keeper/slash_test.go index ea83aab9dce2..5d792618671f 100644 --- a/x/staking/keeper/slash_test.go +++ b/x/staking/keeper/slash_test.go @@ -4,6 +4,7 @@ import ( "testing" "time" + "cosmossdk.io/math" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" @@ -422,10 +423,10 @@ func TestSlashWithRedelegation(t *testing.T) { // burn bonded tokens from only from delegations bondedPoolBalance := app.BankKeeper.GetBalance(ctx, bondedPool.GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, oldBonded.Sub(burnAmount), bondedPoolBalance)) + require.True(math.IntEq(t, oldBonded.Sub(burnAmount), bondedPoolBalance)) notBondedPoolBalance := app.BankKeeper.GetBalance(ctx, notBondedPool.GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, oldNotBonded, notBondedPoolBalance)) + require.True(math.IntEq(t, oldNotBonded, notBondedPoolBalance)) oldBonded = app.BankKeeper.GetBalance(ctx, bondedPool.GetAddress(), bondDenom).Amount // read updating redelegation @@ -454,14 +455,14 @@ func TestSlashWithRedelegation(t *testing.T) { // seven bonded tokens burned bondedPoolBalance = app.BankKeeper.GetBalance(ctx, bondedPool.GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, oldBonded.Sub(burnAmount), bondedPoolBalance)) - require.True(sdk.IntEq(t, oldNotBonded, notBondedPoolBalance)) + require.True(math.IntEq(t, oldBonded.Sub(burnAmount), bondedPoolBalance)) + require.True(math.IntEq(t, oldNotBonded, notBondedPoolBalance)) bondedPoolBalance = app.BankKeeper.GetBalance(ctx, bondedPool.GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, oldBonded.Sub(burnAmount), bondedPoolBalance)) + require.True(math.IntEq(t, oldBonded.Sub(burnAmount), bondedPoolBalance)) notBondedPoolBalance = app.BankKeeper.GetBalance(ctx, notBondedPool.GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, oldNotBonded, notBondedPoolBalance)) + require.True(math.IntEq(t, oldNotBonded, notBondedPoolBalance)) oldBonded = app.BankKeeper.GetBalance(ctx, bondedPool.GetAddress(), bondDenom).Amount // read updating redelegation @@ -489,9 +490,9 @@ func TestSlashWithRedelegation(t *testing.T) { notBondedPool = app.StakingKeeper.GetNotBondedPool(ctx) bondedPoolBalance = app.BankKeeper.GetBalance(ctx, bondedPool.GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, oldBonded.Sub(burnAmount), bondedPoolBalance)) + require.True(math.IntEq(t, oldBonded.Sub(burnAmount), bondedPoolBalance)) notBondedPoolBalance = app.BankKeeper.GetBalance(ctx, notBondedPool.GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, oldNotBonded, notBondedPoolBalance)) + require.True(math.IntEq(t, oldNotBonded, notBondedPoolBalance)) oldBonded = app.BankKeeper.GetBalance(ctx, bondedPool.GetAddress(), bondDenom).Amount // read updating redelegation @@ -519,9 +520,9 @@ func TestSlashWithRedelegation(t *testing.T) { notBondedPool = app.StakingKeeper.GetNotBondedPool(ctx) bondedPoolBalance = app.BankKeeper.GetBalance(ctx, bondedPool.GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, oldBonded, bondedPoolBalance)) + require.True(math.IntEq(t, oldBonded, bondedPoolBalance)) notBondedPoolBalance = app.BankKeeper.GetBalance(ctx, notBondedPool.GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, oldNotBonded, notBondedPoolBalance)) + require.True(math.IntEq(t, oldNotBonded, notBondedPoolBalance)) // read updating redelegation rd, found = app.StakingKeeper.GetRedelegation(ctx, addrDels[0], addrVals[0], addrVals[1]) @@ -587,10 +588,10 @@ func TestSlashBoth(t *testing.T) { notBondedPool = app.StakingKeeper.GetNotBondedPool(ctx) bondedPoolBalance := app.BankKeeper.GetBalance(ctx, bondedPool.GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, oldBonded.Sub(burnedBondAmount), bondedPoolBalance)) + require.True(math.IntEq(t, oldBonded.Sub(burnedBondAmount), bondedPoolBalance)) notBondedPoolBalance := app.BankKeeper.GetBalance(ctx, notBondedPool.GetAddress(), bondDenom).Amount - require.True(sdk.IntEq(t, oldNotBonded.Sub(burnedNotBondedAmount), notBondedPoolBalance)) + require.True(math.IntEq(t, oldNotBonded.Sub(burnedNotBondedAmount), notBondedPoolBalance)) // read updating redelegation rdA, found = app.StakingKeeper.GetRedelegation(ctx, addrDels[0], addrVals[0], addrVals[1]) @@ -608,7 +609,7 @@ func TestSlashAmount(t *testing.T) { consAddr := sdk.ConsAddress(PKs[0].Address()) fraction := sdk.NewDecWithPrec(5, 1) burnedCoins := app.StakingKeeper.Slash(ctx, consAddr, ctx.BlockHeight(), 10, fraction) - require.True(t, burnedCoins.GT(sdk.ZeroInt())) + require.True(t, burnedCoins.GT(math.ZeroInt())) // test the case where the validator was not found, which should return no coins _, addrVals := generateAddresses(app, ctx, 100) diff --git a/x/staking/keeper/val_state_change.go b/x/staking/keeper/val_state_change.go index 867ca04a7099..db63c03ebf56 100644 --- a/x/staking/keeper/val_state_change.go +++ b/x/staking/keeper/val_state_change.go @@ -5,6 +5,7 @@ import ( "fmt" "sort" + "cosmossdk.io/math" gogotypes "github.com/gogo/protobuf/types" abci "github.com/tendermint/tendermint/abci/types" @@ -109,8 +110,8 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx sdk.Context) (updates []ab params := k.GetParams(ctx) maxValidators := params.MaxValidators powerReduction := k.PowerReduction(ctx) - totalPower := sdk.ZeroInt() - amtFromBondedToNotBonded, amtFromNotBondedToBonded := sdk.ZeroInt(), sdk.ZeroInt() + totalPower := math.ZeroInt() + amtFromBondedToNotBonded, amtFromNotBondedToBonded := math.ZeroInt(), math.ZeroInt() // Retrieve the last validator set. // The persistent set is updated later in this function. diff --git a/x/staking/keeper/validator_test.go b/x/staking/keeper/validator_test.go index 49fac14a08d5..6204e954b648 100644 --- a/x/staking/keeper/validator_test.go +++ b/x/staking/keeper/validator_test.go @@ -5,6 +5,7 @@ import ( "testing" "time" + "cosmossdk.io/math" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" abci "github.com/tendermint/tendermint/abci/types" @@ -259,7 +260,7 @@ func TestValidatorBasics(t *testing.T) { for i, power := range powers { validators[i] = teststaking.NewValidator(t, addrVals[i], PKs[i]) validators[i].Status = types.Unbonded - validators[i].Tokens = sdk.ZeroInt() + validators[i].Tokens = math.ZeroInt() tokens := app.StakingKeeper.TokensFromConsensusPower(ctx, power) validators[i], _ = validators[i].AddTokensFromDel(tokens) @@ -296,7 +297,7 @@ func TestValidatorBasics(t *testing.T) { require.Equal(t, 1, len(resVals)) assert.True(ValEq(t, validators[0], resVals[0])) assert.Equal(t, types.Bonded, validators[0].Status) - assert.True(sdk.IntEq(t, app.StakingKeeper.TokensFromConsensusPower(ctx, 9), validators[0].BondedTokens())) + assert.True(math.IntEq(t, app.StakingKeeper.TokensFromConsensusPower(ctx, 9), validators[0].BondedTokens())) // modify a records, save, and retrieve validators[0].Status = types.Bonded @@ -341,7 +342,7 @@ func TestValidatorBasics(t *testing.T) { "attempting to remove a validator which still contains tokens", func() { app.StakingKeeper.RemoveValidator(ctx, validators[1].GetOperator()) }) - validators[1].Tokens = sdk.ZeroInt() // ...remove all tokens + validators[1].Tokens = math.ZeroInt() // ...remove all tokens app.StakingKeeper.SetValidator(ctx, validators[1]) // ...set the validator app.StakingKeeper.RemoveValidator(ctx, validators[1].GetOperator()) // Now it can be removed. _, found = app.StakingKeeper.GetValidator(ctx, addrVals[1]) @@ -353,7 +354,7 @@ func TestGetValidatorSortingUnmixed(t *testing.T) { app, ctx, addrs, _ := bootstrapValidatorTest(t, 1000, 20) // initialize some validators into the state - amts := []sdk.Int{ + amts := []math.Int{ sdk.NewIntFromUint64(0), app.StakingKeeper.PowerReduction(ctx).MulRaw(100), app.StakingKeeper.PowerReduction(ctx), @@ -447,7 +448,7 @@ func TestGetValidatorSortingMixed(t *testing.T) { app.StakingKeeper.SetParams(ctx, params) // initialize some validators into the state - amts := []sdk.Int{ + amts := []math.Int{ sdk.NewIntFromUint64(0), app.StakingKeeper.PowerReduction(ctx).MulRaw(100), app.StakingKeeper.PowerReduction(ctx), diff --git a/x/staking/migrations/v2/store.go b/x/staking/migrations/v2/store.go index 1691b676d393..2e1476fb0052 100644 --- a/x/staking/migrations/v2/store.go +++ b/x/staking/migrations/v2/store.go @@ -7,7 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/address" v042auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v042" v043distribution "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v043" - "github.com/cosmos/cosmos-sdk/x/staking/migrations/v1" + v1 "github.com/cosmos/cosmos-sdk/x/staking/migrations/v1" "github.com/cosmos/cosmos-sdk/x/staking/types" ) diff --git a/x/staking/module.go b/x/staking/module.go index 4b3f4c2f197e..4af4bf038eec 100644 --- a/x/staking/module.go +++ b/x/staking/module.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "math/rand" + "sort" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" "github.com/cosmos/cosmos-sdk/x/staking/exported" - "math/rand" - "sort" gwruntime "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/spf13/cobra" @@ -160,11 +161,9 @@ func (am AppModule) RegisterServices(cfg module.Configurator) { m := keeper.NewMigrator(am.keeper, am.legacySubspace) if err := cfg.RegisterMigration(types.ModuleName, 1, m.Migrate1to2); err != nil { panic(fmt.Sprintf("failed to migrate x/%s from version 1 to 2: %v", types.ModuleName, err)) - } if err := cfg.RegisterMigration(types.ModuleName, 2, m.Migrate2to3); err != nil { panic(fmt.Sprintf("failed to migrate x/%s from version 2 to 3: %v", types.ModuleName, err)) - } if err := cfg.RegisterMigration(types.ModuleName, 3, m.Migrate3to4); err != nil { panic(fmt.Sprintf("failed to migrate x/%s from version 3 to 4: %v", types.ModuleName, err)) diff --git a/x/staking/simulation/decoder_test.go b/x/staking/simulation/decoder_test.go index 3d7546369d6b..7bc46fbbeb97 100644 --- a/x/staking/simulation/decoder_test.go +++ b/x/staking/simulation/decoder_test.go @@ -5,6 +5,7 @@ import ( "testing" "time" + "cosmossdk.io/math" "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/codec" @@ -39,12 +40,12 @@ func TestDecodeStore(t *testing.T) { val, err := types.NewValidator(valAddr1, delPk1, types.NewDescription("test", "test", "test", "test", "test")) require.NoError(t, err) del := types.NewDelegation(delAddr1, valAddr1, sdk.OneDec()) - ubd := types.NewUnbondingDelegation(delAddr1, valAddr1, 15, bondTime, sdk.OneInt()) - red := types.NewRedelegation(delAddr1, valAddr1, valAddr1, 12, bondTime, sdk.OneInt(), sdk.OneDec()) + ubd := types.NewUnbondingDelegation(delAddr1, valAddr1, 15, bondTime, math.OneInt()) + red := types.NewRedelegation(delAddr1, valAddr1, valAddr1, 12, bondTime, math.OneInt(), sdk.OneDec()) kvPairs := kv.Pairs{ Pairs: []kv.Pair{ - {Key: types.LastTotalPowerKey, Value: cdc.MustMarshal(&sdk.IntProto{Int: sdk.OneInt()})}, + {Key: types.LastTotalPowerKey, Value: cdc.MustMarshal(&sdk.IntProto{Int: math.OneInt()})}, {Key: types.GetValidatorKey(valAddr1), Value: cdc.MustMarshal(&val)}, {Key: types.LastValidatorPowerKey, Value: valAddr1.Bytes()}, {Key: types.GetDelegationKey(delAddr1, valAddr1), Value: cdc.MustMarshal(&del)}, @@ -58,7 +59,7 @@ func TestDecodeStore(t *testing.T) { name string expectedLog string }{ - {"LastTotalPower", fmt.Sprintf("%v\n%v", sdk.OneInt(), sdk.OneInt())}, + {"LastTotalPower", fmt.Sprintf("%v\n%v", math.OneInt(), math.OneInt())}, {"Validator", fmt.Sprintf("%v\n%v", val, val)}, {"LastValidatorPower/ValidatorsByConsAddr/ValidatorsByPowerIndex", fmt.Sprintf("%v\n%v", valAddr1, valAddr1)}, {"Delegation", fmt.Sprintf("%v\n%v", del, del)}, diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index 0eab097d1831..28704a13b843 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -4,6 +4,7 @@ import ( "fmt" "math/rand" + "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/codec" simappparams "github.com/cosmos/cosmos-sdk/simapp/params" @@ -159,7 +160,7 @@ func SimulateMsgCreateValidator(ak types.AccountKeeper, bk types.BankKeeper, k * simtypes.RandomDecAmount(r, maxCommission), ) - msg, err := types.NewMsgCreateValidator(address, simAccount.ConsKey.PubKey(), selfDelegation, description, commission, sdk.OneInt()) + msg, err := types.NewMsgCreateValidator(address, simAccount.ConsKey.PubKey(), selfDelegation, description, commission, math.OneInt()) if err != nil { return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "unable to create CreateValidator message"), nil, err } diff --git a/x/staking/spec/01_state.md b/x/staking/spec/01_state.md index 0eb3516da150..3c01cce247d5 100644 --- a/x/staking/spec/01_state.md +++ b/x/staking/spec/01_state.md @@ -13,7 +13,7 @@ Pool is used for tracking bonded and not-bonded token supply of the bond denomin LastTotalPower tracks the total amounts of bonded tokens recorded during the previous end block. Store entries prefixed with "Last" must remain unchanged until EndBlock. -* LastTotalPower: `0x12 -> ProtocolBuffer(sdk.Int)` +* LastTotalPower: `0x12 -> ProtocolBuffer(math.Int)` ## Params diff --git a/x/staking/teststaking/helper.go b/x/staking/teststaking/helper.go index b5457ea01eb7..f79bd2921580 100644 --- a/x/staking/teststaking/helper.go +++ b/x/staking/teststaking/helper.go @@ -51,7 +51,7 @@ func (sh *Helper) CreateValidatorWithValPower(addr sdk.ValAddress, pk cryptotype // CreateValidatorMsg returns a message used to create validator in this service. func (sh *Helper) CreateValidatorMsg(addr sdk.ValAddress, pk cryptotypes.PubKey, stakeAmount math.Int) *stakingtypes.MsgCreateValidator { coin := sdk.NewCoin(sh.Denom, stakeAmount) - msg, err := stakingtypes.NewMsgCreateValidator(addr, pk, coin, stakingtypes.Description{}, sh.Commission, sdk.OneInt()) + msg, err := stakingtypes.NewMsgCreateValidator(addr, pk, coin, stakingtypes.Description{}, sh.Commission, math.OneInt()) require.NoError(sh.t, err) return msg } @@ -62,7 +62,7 @@ func (sh *Helper) CreateValidatorWithMsg(ctx context.Context, msg *stakingtypes. } func (sh *Helper) createValidator(addr sdk.ValAddress, pk cryptotypes.PubKey, coin sdk.Coin, ok bool) { - msg, err := stakingtypes.NewMsgCreateValidator(addr, pk, coin, stakingtypes.Description{}, sh.Commission, sdk.OneInt()) + msg, err := stakingtypes.NewMsgCreateValidator(addr, pk, coin, stakingtypes.Description{}, sh.Commission, math.OneInt()) require.NoError(sh.t, err) res, err := sh.msgSrvr.CreateValidator(sdk.WrapSDKContext(sh.Ctx), msg) if ok { diff --git a/x/staking/types/keys_test.go b/x/staking/types/keys_test.go index 20269e671baf..e5b96e484442 100644 --- a/x/staking/types/keys_test.go +++ b/x/staking/types/keys_test.go @@ -7,6 +7,7 @@ import ( "testing" "time" + "cosmossdk.io/math" "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" @@ -26,7 +27,7 @@ var ( func TestGetValidatorPowerRank(t *testing.T) { valAddr1 := sdk.ValAddress(keysAddr1) val1 := newValidator(t, valAddr1, keysPK1) - val1.Tokens = sdk.ZeroInt() + val1.Tokens = math.ZeroInt() val2, val3, val4 := val1, val1, val1 val2.Tokens = sdk.TokensFromConsensusPower(1, sdk.DefaultPowerReduction) val3.Tokens = sdk.TokensFromConsensusPower(10, sdk.DefaultPowerReduction) diff --git a/x/staking/types/msg_test.go b/x/staking/types/msg_test.go index 49416dbb9cf4..338c0edc3eaa 100644 --- a/x/staking/types/msg_test.go +++ b/x/staking/types/msg_test.go @@ -1,11 +1,13 @@ package types_test import ( - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" "testing" "time" + "cosmossdk.io/math" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/codec" @@ -40,7 +42,7 @@ func TestMsgDecode(t *testing.T) { // now let's try to serialize the whole message commission1 := types.NewCommissionRates(sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec()) - msg, err := types.NewMsgCreateValidator(valAddr1, pk1, coinPos, types.Description{}, commission1, sdk.OneInt()) + msg, err := types.NewMsgCreateValidator(valAddr1, pk1, coinPos, types.Description{}, commission1, math.OneInt()) require.NoError(t, err) msgSerialized, err := cdc.MarshalInterface(msg) require.NoError(t, err) @@ -62,22 +64,22 @@ func TestMsgCreateValidator(t *testing.T) { tests := []struct { name, moniker, identity, website, securityContact, details string CommissionRates types.CommissionRates - minSelfDelegation sdk.Int + minSelfDelegation math.Int validatorAddr sdk.ValAddress pubkey cryptotypes.PubKey bond sdk.Coin expectPass bool }{ - {"basic good", "a", "b", "c", "d", "e", commission1, sdk.OneInt(), valAddr1, pk1, coinPos, true}, - {"partial description", "", "", "c", "", "", commission1, sdk.OneInt(), valAddr1, pk1, coinPos, true}, - {"empty description", "", "", "", "", "", commission2, sdk.OneInt(), valAddr1, pk1, coinPos, false}, - {"empty address", "a", "b", "c", "d", "e", commission2, sdk.OneInt(), emptyAddr, pk1, coinPos, false}, - {"empty pubkey", "a", "b", "c", "d", "e", commission1, sdk.OneInt(), valAddr1, emptyPubkey, coinPos, false}, - {"empty bond", "a", "b", "c", "d", "e", commission2, sdk.OneInt(), valAddr1, pk1, coinZero, false}, - {"nil bond", "a", "b", "c", "d", "e", commission2, sdk.OneInt(), valAddr1, pk1, sdk.Coin{}, false}, - {"zero min self delegation", "a", "b", "c", "d", "e", commission1, sdk.ZeroInt(), valAddr1, pk1, coinPos, false}, + {"basic good", "a", "b", "c", "d", "e", commission1, math.OneInt(), valAddr1, pk1, coinPos, true}, + {"partial description", "", "", "c", "", "", commission1, math.OneInt(), valAddr1, pk1, coinPos, true}, + {"empty description", "", "", "", "", "", commission2, math.OneInt(), valAddr1, pk1, coinPos, false}, + {"empty address", "a", "b", "c", "d", "e", commission2, math.OneInt(), emptyAddr, pk1, coinPos, false}, + {"empty pubkey", "a", "b", "c", "d", "e", commission1, math.OneInt(), valAddr1, emptyPubkey, coinPos, false}, + {"empty bond", "a", "b", "c", "d", "e", commission2, math.OneInt(), valAddr1, pk1, coinZero, false}, + {"nil bond", "a", "b", "c", "d", "e", commission2, math.OneInt(), valAddr1, pk1, sdk.Coin{}, false}, + {"zero min self delegation", "a", "b", "c", "d", "e", commission1, math.ZeroInt(), valAddr1, pk1, coinPos, false}, {"negative min self delegation", "a", "b", "c", "d", "e", commission1, sdk.NewInt(-1), valAddr1, pk1, coinPos, false}, - {"delegation less than min self delegation", "a", "b", "c", "d", "e", commission1, coinPos.Amount.Add(sdk.OneInt()), valAddr1, pk1, coinPos, false}, + {"delegation less than min self delegation", "a", "b", "c", "d", "e", commission1, coinPos.Amount.Add(math.OneInt()), valAddr1, pk1, coinPos, false}, } for _, tc := range tests { @@ -98,13 +100,13 @@ func TestMsgEditValidator(t *testing.T) { name, moniker, identity, website, securityContact, details string validatorAddr sdk.ValAddress expectPass bool - minSelfDelegation sdk.Int + minSelfDelegation math.Int }{ - {"basic good", "a", "b", "c", "d", "e", valAddr1, true, sdk.OneInt()}, - {"partial description", "", "", "c", "", "", valAddr1, true, sdk.OneInt()}, - {"empty description", "", "", "", "", "", valAddr1, false, sdk.OneInt()}, - {"empty address", "a", "b", "c", "d", "e", emptyAddr, false, sdk.OneInt()}, - {"nil int", "a", "b", "c", "d", "e", emptyAddr, false, sdk.Int{}}, + {"basic good", "a", "b", "c", "d", "e", valAddr1, true, math.OneInt()}, + {"partial description", "", "", "c", "", "", valAddr1, true, math.OneInt()}, + {"empty description", "", "", "", "", "", valAddr1, false, math.OneInt()}, + {"empty address", "a", "b", "c", "d", "e", emptyAddr, false, math.OneInt()}, + {"nil int", "a", "b", "c", "d", "e", emptyAddr, false, math.Int{}}, } for _, tc := range tests { diff --git a/x/staking/types/params_legacy.go b/x/staking/types/params_legacy.go index 39a125ff4298..499dc7c2f768 100644 --- a/x/staking/types/params_legacy.go +++ b/x/staking/types/params_legacy.go @@ -14,13 +14,13 @@ var ( var _ paramtypes.ParamSet = (*Params)(nil) // ParamTable for staking module -// NOTE: Deprecated now params can be accesed on key `0x51` on the staking store. +// Deprecated: now params can be accesed on key `0x51` on the staking store. func ParamKeyTable() paramtypes.KeyTable { return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) } // Implements params.ParamSet -// NOTE: Deprecated. +// Deprecated. func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { return paramtypes.ParamSetPairs{ paramtypes.NewParamSetPair(KeyUnbondingTime, &p.UnbondingTime, validateUnbondingTime), diff --git a/x/staking/types/validator.go b/x/staking/types/validator.go index afcec7e168a1..10a1e7dd72c7 100644 --- a/x/staking/types/validator.go +++ b/x/staking/types/validator.go @@ -51,13 +51,13 @@ func NewValidator(operator sdk.ValAddress, pubKey cryptotypes.PubKey, descriptio ConsensusPubkey: pkAny, Jailed: false, Status: Unbonded, - Tokens: sdk.ZeroInt(), + Tokens: math.ZeroInt(), DelegatorShares: sdk.ZeroDec(), Description: description, UnbondingHeight: int64(0), UnbondingTime: time.Unix(0, 0).UTC(), Commission: NewCommission(sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec()), - MinSelfDelegation: sdk.OneInt(), + MinSelfDelegation: math.OneInt(), }, nil } @@ -352,7 +352,7 @@ func (v Validator) BondedTokens() math.Int { return v.Tokens } - return sdk.ZeroInt() + return math.ZeroInt() } // ConsensusPower gets the consensus-engine power. Aa reduction of 10^6 from @@ -424,7 +424,7 @@ func (v Validator) RemoveDelShares(delShares sdk.Dec) (Validator, math.Int) { if remainingShares.IsZero() { // last delegation share gets any trimmings issuedTokens = v.Tokens - v.Tokens = sdk.ZeroInt() + v.Tokens = math.ZeroInt() } else { // leave excess tokens in the validator // however fully use all the delegator shares diff --git a/x/staking/types/validator_test.go b/x/staking/types/validator_test.go index 6e3172e51db2..afccf5a119ab 100644 --- a/x/staking/types/validator_test.go +++ b/x/staking/types/validator_test.go @@ -5,6 +5,7 @@ import ( "sort" "testing" + "cosmossdk.io/math" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" tmtypes "github.com/tendermint/tendermint/types" @@ -105,7 +106,7 @@ func TestAddTokensValidatorBonded(t *testing.T) { validator, delShares := validator.AddTokensFromDel(sdk.NewInt(10)) assert.True(sdk.DecEq(t, sdk.NewDec(10), delShares)) - assert.True(sdk.IntEq(t, sdk.NewInt(10), validator.BondedTokens())) + assert.True(math.IntEq(t, sdk.NewInt(10), validator.BondedTokens())) assert.True(sdk.DecEq(t, sdk.NewDec(10), validator.DelegatorShares)) } @@ -116,7 +117,7 @@ func TestAddTokensValidatorUnbonding(t *testing.T) { assert.True(sdk.DecEq(t, sdk.NewDec(10), delShares)) assert.Equal(t, types.Unbonding, validator.Status) - assert.True(sdk.IntEq(t, sdk.NewInt(10), validator.Tokens)) + assert.True(math.IntEq(t, sdk.NewInt(10), validator.Tokens)) assert.True(sdk.DecEq(t, sdk.NewDec(10), validator.DelegatorShares)) } @@ -127,7 +128,7 @@ func TestAddTokensValidatorUnbonded(t *testing.T) { assert.True(sdk.DecEq(t, sdk.NewDec(10), delShares)) assert.Equal(t, types.Unbonded, validator.Status) - assert.True(sdk.IntEq(t, sdk.NewInt(10), validator.Tokens)) + assert.True(math.IntEq(t, sdk.NewInt(10), validator.Tokens)) assert.True(sdk.DecEq(t, sdk.NewDec(10), validator.DelegatorShares)) } @@ -151,7 +152,7 @@ func TestRemoveDelShares(t *testing.T) { validator := mkValidator(5102, sdk.NewDec(115)) _, tokens := validator.RemoveDelShares(sdk.NewDec(29)) - require.True(sdk.IntEq(t, sdk.NewInt(1286), tokens)) + require.True(math.IntEq(t, sdk.NewInt(1286), tokens)) } func TestAddTokensFromDel(t *testing.T) { @@ -160,12 +161,12 @@ func TestAddTokensFromDel(t *testing.T) { validator, shares := validator.AddTokensFromDel(sdk.NewInt(6)) require.True(sdk.DecEq(t, sdk.NewDec(6), shares)) require.True(sdk.DecEq(t, sdk.NewDec(6), validator.DelegatorShares)) - require.True(sdk.IntEq(t, sdk.NewInt(6), validator.Tokens)) + require.True(math.IntEq(t, sdk.NewInt(6), validator.Tokens)) validator, shares = validator.AddTokensFromDel(sdk.NewInt(3)) require.True(sdk.DecEq(t, sdk.NewDec(3), shares)) require.True(sdk.DecEq(t, sdk.NewDec(9), validator.DelegatorShares)) - require.True(sdk.IntEq(t, sdk.NewInt(9), validator.Tokens)) + require.True(math.IntEq(t, sdk.NewInt(9), validator.Tokens)) } func TestUpdateStatus(t *testing.T) {