chore: fix all linting (#24101)

This commit is contained in:
Alex | Interchain Labs
2025-03-21 15:04:36 -07:00
committed by GitHub
parent b7fb7f4858
commit 7fd79df4e1
329 changed files with 1282 additions and 1251 deletions
+4 -2
View File
@@ -6,9 +6,11 @@ package auth
import (
"testing"
"cosmossdk.io/simapp"
"github.com/cosmos/cosmos-sdk/testutil/network"
"github.com/stretchr/testify/suite"
"cosmossdk.io/simapp"
"github.com/cosmos/cosmos-sdk/testutil/network"
)
func TestE2ETestSuite(t *testing.T) {
+2 -7
View File
@@ -340,7 +340,6 @@ func (s *E2ETestSuite) TestCLIQueryTxCmdByHash() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := authcli.QueryTxCmd()
clientCtx := val.ClientCtx
@@ -470,7 +469,6 @@ func (s *E2ETestSuite) TestCLIQueryTxCmdByEvents() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := authcli.QueryTxCmd()
clientCtx := val.ClientCtx
@@ -548,7 +546,6 @@ func (s *E2ETestSuite) TestCLIQueryTxsCmdByEvents() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := authcli.QueryTxsByEventsCmd()
clientCtx := val.ClientCtx
@@ -1339,10 +1336,10 @@ func (s *E2ETestSuite) TestSignWithMultiSignersAminoJSON() {
// because DIRECT doesn't support multi signers via the CLI.
// Since we use amino, we don't need to pre-populate signer_infos.
txBuilder := val0.ClientCtx.TxConfig.NewTxBuilder()
txBuilder.SetMsgs(
require.NoError(txBuilder.SetMsgs(
banktypes.NewMsgSend(val0.Address, addr1, sdk.NewCoins(val0Coin)),
banktypes.NewMsgSend(val1.Address, addr1, sdk.NewCoins(val1Coin)),
)
))
txBuilder.SetFeeAmount(sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, math.NewInt(10))))
txBuilder.SetGasLimit(testdata.NewTestGasLimit() * 2)
signers, err := txBuilder.GetTx().GetSigners()
@@ -1436,7 +1433,6 @@ func (s *E2ETestSuite) TestAuxSigner() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
_, err := govtestutil.MsgSubmitLegacyProposal(
val.ClientCtx,
@@ -1658,7 +1654,6 @@ func (s *E2ETestSuite) TestAuxToFeeWithTips() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
res, err := govtestutil.MsgSubmitLegacyProposal(
val.ClientCtx,
+1 -3
View File
@@ -63,7 +63,6 @@ func (s *E2ETestSuite) TestQueryGrantGRPC() {
},
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
resp, _ := testutil.GetRequest(tc.url)
require := s.Require()
@@ -74,7 +73,7 @@ func (s *E2ETestSuite) TestQueryGrantGRPC() {
err := val.ClientCtx.Codec.UnmarshalJSON(resp, &g)
require.NoError(err)
require.Len(g.Grants, 1)
g.Grants[0].UnpackInterfaces(val.ClientCtx.InterfaceRegistry)
require.NoError(g.Grants[0].UnpackInterfaces(val.ClientCtx.InterfaceRegistry))
auth, err := g.Grants[0].GetAuthorization()
require.NoError(err)
require.Equal(auth.MsgTypeURL(), banktypes.SendAuthorization{}.MsgTypeURL())
@@ -150,7 +149,6 @@ func (s *E2ETestSuite) TestQueryGrantsGRPC() {
},
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
tc.preRun()
resp, err := testutil.GetRequest(tc.url)
-7
View File
@@ -308,7 +308,6 @@ func (s *E2ETestSuite) TestCmdRevokeAuthorizations() {
},
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewCmdRevokeAuthorization(addresscodec.NewBech32Codec("cosmos"))
clientCtx := val.ClientCtx
@@ -455,7 +454,6 @@ func (s *E2ETestSuite) TestNewExecGenericAuthorized() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewCmdExecAuthorization()
clientCtx := val.ClientCtx
@@ -561,7 +559,6 @@ func (s *E2ETestSuite) TestNewExecGrantAuthorized() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewCmdExecAuthorization()
clientCtx := val.ClientCtx
@@ -760,7 +757,6 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewCmdExecAuthorization()
clientCtx := val.ClientCtx
@@ -827,7 +823,6 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewCmdExecAuthorization()
clientCtx := val.ClientCtx
@@ -985,7 +980,6 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewCmdExecAuthorization()
clientCtx := val.ClientCtx
@@ -1053,7 +1047,6 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewCmdExecAuthorization()
clientCtx := val.ClientCtx
+4 -3
View File
@@ -6,10 +6,11 @@ package client
import (
"testing"
"cosmossdk.io/simapp"
"github.com/cosmos/cosmos-sdk/testutil/network"
"github.com/stretchr/testify/suite"
"cosmossdk.io/simapp"
"github.com/cosmos/cosmos-sdk/testutil/network"
)
func TestE2ETestSuite(t *testing.T) {
-3
View File
@@ -89,7 +89,6 @@ func (s *E2ETestSuite) TestTotalSupplyGRPCHandler() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
resp, err := testutil.GetRequestWithHeaders(tc.url, tc.headers)
s.Require().NoError(err)
@@ -210,7 +209,6 @@ func (s *E2ETestSuite) TestDenomMetadataGRPCHandler() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
resp, err := testutil.GetRequestWithHeaders(tc.url, tc.headers)
s.Require().NoError(err)
@@ -274,7 +272,6 @@ func (s *E2ETestSuite) TestBalancesGRPCHandler() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
resp, err := testutil.GetRequest(tc.url)
s.Require().NoError(err)
-4
View File
@@ -234,8 +234,6 @@ func (s *E2ETestSuite) TestNewSendTxCmd() {
}
for _, tc := range testCases {
tc := tc
s.Require().NoError(s.network.WaitForNextBlock())
s.Run(tc.name, func() {
clientCtx := val.ClientCtx
@@ -369,8 +367,6 @@ func (s *E2ETestSuite) TestNewMultiSendTxCmd() {
}
for _, tc := range testCases {
tc := tc
s.Require().NoError(s.network.WaitForNextBlock())
s.Run(tc.name, func() {
clientCtx := val.ClientCtx
@@ -8,9 +8,10 @@ import (
"fmt"
"testing"
"cosmossdk.io/simapp"
"github.com/stretchr/testify/suite"
"cosmossdk.io/simapp"
"github.com/cosmos/cosmos-sdk/client/grpc/cmtservice"
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
@@ -92,7 +93,7 @@ func (s *E2ETestSuite) TestQueryLatestBlock() {
s.Require().NoError(err)
var blockInfoRes cmtservice.GetLatestBlockResponse
s.Require().NoError(val.ClientCtx.Codec.UnmarshalJSON(restRes, &blockInfoRes))
s.Require().Equal(types.ConsAddress(blockInfoRes.Block.Header.ProposerAddress).String(), blockInfoRes.SdkBlock.Header.ProposerAddress)
s.Require().Equal(types.ConsAddress(blockInfoRes.Block.Header.ProposerAddress).String(), blockInfoRes.SdkBlock.Header.ProposerAddress) //nolint:staticcheck // this test is for checking equality from the old and new types
s.Require().Contains(blockInfoRes.SdkBlock.Header.ProposerAddress, "cosmosvalcons")
}
@@ -156,7 +157,6 @@ func (s *E2ETestSuite) TestLatestValidatorSet_GRPC() {
{"with pagination", &cmtservice.GetLatestValidatorSetRequest{Pagination: &qtypes.PageRequest{Offset: 0, Limit: uint64(len(vals))}}, false, ""},
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
grpcRes, err := s.queryClient.GetLatestValidatorSet(context.Background(), tc.req)
if tc.expErr {
@@ -187,7 +187,6 @@ func (s *E2ETestSuite) TestLatestValidatorSet_GRPCGateway() {
{"with pagination", fmt.Sprintf("%s/cosmos/base/tendermint/v1beta1/validatorsets/latest?pagination.offset=0&pagination.limit=2", vals[0].APIAddress), false, ""},
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
res, err := testutil.GetRequest(tc.url)
s.Require().NoError(err)
@@ -220,7 +219,6 @@ func (s *E2ETestSuite) TestValidatorSetByHeight_GRPC() {
{"with pagination", &cmtservice.GetValidatorSetByHeightRequest{Height: 1, Pagination: &qtypes.PageRequest{Offset: 0, Limit: 1}}, false, ""},
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
grpcRes, err := s.queryClient.GetValidatorSetByHeight(context.Background(), tc.req)
if tc.expErr {
@@ -249,7 +247,6 @@ func (s *E2ETestSuite) TestValidatorSetByHeight_GRPCGateway() {
{"with pagination", fmt.Sprintf("%s/cosmos/base/tendermint/v1beta1/validatorsets/%d?pagination.offset=0&pagination.limit=2", vals[0].APIAddress, 1), false, ""},
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
res, err := testutil.GetRequest(tc.url)
s.Require().NoError(err)
@@ -328,8 +325,6 @@ func (s *E2ETestSuite) TestABCIQuery() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
res, err := s.queryClient.ABCIQuery(context.Background(), tc.req)
if tc.expectErr {
@@ -64,7 +64,6 @@ func (s *GRPCQueryTestSuite) TestQueryParamsGRPC() {
}
for _, tc := range testCases {
tc := tc
resp, err := sdktestutil.GetRequest(tc.url)
s.Run(tc.name, func() {
s.Require().NoError(err)
@@ -99,7 +98,6 @@ func (s *GRPCQueryTestSuite) TestQueryValidatorDistributionInfoGRPC() {
}
for _, tc := range testCases {
tc := tc
resp, err := sdktestutil.GetRequest(tc.url)
s.Run(tc.name, func() {
if tc.expErr {
@@ -152,7 +150,6 @@ func (s *GRPCQueryTestSuite) TestQueryOutstandingRewardsGRPC() {
}
for _, tc := range testCases {
tc := tc
resp, err := sdktestutil.GetRequestWithHeaders(tc.url, tc.headers)
s.Run(tc.name, func() {
if tc.expErr {
@@ -206,7 +203,6 @@ func (s *GRPCQueryTestSuite) TestQueryValidatorCommissionGRPC() {
}
for _, tc := range testCases {
tc := tc
resp, err := sdktestutil.GetRequestWithHeaders(tc.url, tc.headers)
s.Run(tc.name, func() {
if tc.expErr {
@@ -264,7 +260,6 @@ func (s *GRPCQueryTestSuite) TestQuerySlashesGRPC() {
}
for _, tc := range testCases {
tc := tc
resp, err := sdktestutil.GetRequest(tc.url)
s.Run(tc.name, func() {
@@ -340,7 +335,6 @@ func (s *GRPCQueryTestSuite) TestQueryDelegatorRewardsGRPC() {
}
for _, tc := range testCases {
tc := tc
resp, err := sdktestutil.GetRequestWithHeaders(tc.url, tc.headers)
s.Run(tc.name, func() {
@@ -392,7 +386,6 @@ func (s *GRPCQueryTestSuite) TestQueryDelegatorValidatorsGRPC() {
}
for _, tc := range testCases {
tc := tc
resp, err := sdktestutil.GetRequest(tc.url)
s.Run(tc.name, func() {
@@ -444,7 +437,6 @@ func (s *GRPCQueryTestSuite) TestQueryWithdrawAddressGRPC() {
}
for _, tc := range testCases {
tc := tc
resp, err := sdktestutil.GetRequest(tc.url)
s.Run(tc.name, func() {
@@ -489,7 +481,6 @@ func (s *GRPCQueryTestSuite) TestQueryValidatorCommunityPoolGRPC() {
}
for _, tc := range testCases {
tc := tc
resp, err := sdktestutil.GetRequestWithHeaders(tc.url, tc.headers)
s.Run(tc.name, func() {
-8
View File
@@ -129,8 +129,6 @@ func (s *E2ETestSuite) TestNewWithdrawRewardsCmd() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
clientCtx := val.ClientCtx
@@ -224,8 +222,6 @@ func (s *E2ETestSuite) TestNewWithdrawAllRewardsCmd() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewWithdrawAllRewardsCmd(address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos"))
clientCtx := val.ClientCtx
@@ -309,8 +305,6 @@ func (s *E2ETestSuite) TestNewSetWithdrawAddrCmd() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewSetWithdrawAddrCmd(address.NewBech32Codec("cosmos"))
clientCtx := val.ClientCtx
@@ -364,8 +358,6 @@ func (s *E2ETestSuite) TestNewFundCommunityPoolCmd() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewFundCommunityPoolCmd(address.NewBech32Codec("cosmos"))
clientCtx := val.ClientCtx
+3 -3
View File
@@ -7,13 +7,13 @@ import (
"testing"
"time"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"cosmossdk.io/simapp"
"github.com/cosmos/cosmos-sdk/testutil/network"
v1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
)
func TestE2ETestSuite(t *testing.T) {
-8
View File
@@ -38,7 +38,6 @@ func (s *E2ETestSuite) TestGetProposalGRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
resp, err := testutil.GetRequest(tc.url)
s.Require().NoError(err)
@@ -92,7 +91,6 @@ func (s *E2ETestSuite) TestGetProposalsGRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
resp, err := testutil.GetRequestWithHeaders(tc.url, tc.headers)
s.Require().NoError(err)
@@ -159,7 +157,6 @@ func (s *E2ETestSuite) TestGetProposalVoteGRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
resp, err := testutil.GetRequest(tc.url)
s.Require().NoError(err)
@@ -203,7 +200,6 @@ func (s *E2ETestSuite) TestGetProposalVotesGRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
resp, err := testutil.GetRequest(tc.url)
s.Require().NoError(err)
@@ -252,7 +248,6 @@ func (s *E2ETestSuite) TestGetProposalDepositGRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
resp, err := testutil.GetRequest(tc.url)
s.Require().NoError(err)
@@ -291,7 +286,6 @@ func (s *E2ETestSuite) TestGetProposalDepositsGRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
resp, err := testutil.GetRequest(tc.url)
s.Require().NoError(err)
@@ -336,7 +330,6 @@ func (s *E2ETestSuite) TestGetTallyGRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
resp, err := testutil.GetRequest(tc.url)
s.Require().NoError(err)
@@ -398,7 +391,6 @@ func (s *E2ETestSuite) TestGetParamsGRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
resp, err := testutil.GetRequest(tc.url)
s.Require().NoError(err)
-6
View File
@@ -165,8 +165,6 @@ func (s *E2ETestSuite) TestNewCmdSubmitProposal() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewCmdSubmitProposal()
clientCtx := val.ClientCtx
@@ -261,8 +259,6 @@ func (s *E2ETestSuite) TestNewCmdSubmitLegacyProposal() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewCmdSubmitLegacyProposal()
clientCtx := val.ClientCtx
@@ -446,7 +442,6 @@ func (s *E2ETestSuite) TestNewCmdVote() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewCmdVote()
clientCtx := val.ClientCtx
@@ -543,7 +538,6 @@ func (s *E2ETestSuite) TestNewCmdWeightedVote() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := cli.NewCmdWeightedVote()
clientCtx := val.ClientCtx
+4 -3
View File
@@ -6,10 +6,11 @@ package group
import (
"testing"
"cosmossdk.io/simapp"
"github.com/cosmos/cosmos-sdk/testutil/network"
"github.com/stretchr/testify/suite"
"cosmossdk.io/simapp"
"github.com/cosmos/cosmos-sdk/testutil/network"
)
func TestE2ETestSuite(t *testing.T) {
+1
View File
@@ -9,6 +9,7 @@ import (
"github.com/stretchr/testify/suite"
"cosmossdk.io/simapp"
"github.com/cosmos/cosmos-sdk/testutil/network"
)
+14 -7
View File
@@ -20,6 +20,7 @@ import (
"cosmossdk.io/log"
"cosmossdk.io/simapp"
"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/client/flags"
"github.com/cosmos/cosmos-sdk/server"
@@ -95,10 +96,12 @@ func TestExportCmd_Height(t *testing.T) {
// Fast forward to block `tc.fastForward`.
for i := int64(2); i <= tc.fastForward; i++ {
app.FinalizeBlock(&abci.RequestFinalizeBlock{
_, err := app.FinalizeBlock(&abci.RequestFinalizeBlock{
Height: i,
})
app.Commit()
assert.NilError(t, err)
_, err = app.Commit()
assert.NilError(t, err)
}
output := &bytes.Buffer{}
@@ -182,16 +185,20 @@ func setupApp(t *testing.T, tempDir string) (*simapp.SimApp, context.Context, ge
err = genutil.ExportGenesisFile(&appGenesis, serverCtx.Config.GenesisFile())
assert.NilError(t, err)
app.InitChain(&abci.RequestInitChain{
_, err = app.InitChain(&abci.RequestInitChain{
Validators: []abci.ValidatorUpdate{},
ConsensusParams: simtestutil.DefaultConsensusParams,
AppStateBytes: appGenesis.AppState,
},
)
app.FinalizeBlock(&abci.RequestFinalizeBlock{
})
assert.NilError(t, err)
_, err = app.FinalizeBlock(&abci.RequestFinalizeBlock{
Height: 1,
})
app.Commit()
assert.NilError(t, err)
_, err = app.Commit()
assert.NilError(t, err)
cmd := server.ExportCmd(
func(_ log.Logger, _ dbm.DB, _ io.Writer, height int64, forZeroHeight bool, jailAllowedAddrs []string, appOptions types.AppOptions, modulesToExport []string) (types.ExportedApp, error) {
+4 -2
View File
@@ -6,9 +6,11 @@ package testutil
import (
"testing"
"cosmossdk.io/simapp"
"github.com/cosmos/cosmos-sdk/testutil/network"
"github.com/stretchr/testify/suite"
"cosmossdk.io/simapp"
"github.com/cosmos/cosmos-sdk/testutil/network"
)
func TestE2ETestSuite(t *testing.T) {
+2 -1
View File
@@ -133,7 +133,7 @@ func (s *E2ETestSuite) TestBlockResults() {
// Loop until we find a block result with the correct validator updates.
// By experience, it happens around 2 blocks after `delHeight`.
s.network.RetryForBlocks(func() error {
_ = s.network.RetryForBlocks(func() error {
latestHeight, err := s.network.LatestHeight()
require.NoError(err)
res, err := rpcClient.BlockResults(context.Background(), &latestHeight)
@@ -153,4 +153,5 @@ func (s *E2ETestSuite) TestBlockResults() {
return nil
}, 10)
// TODO: revisit if this test is doing anything useful
}
-6
View File
@@ -174,7 +174,6 @@ func (s *E2ETestSuite) TestSimulateTx_GRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
// Broadcast the tx via gRPC via the validator's clientCtx (which goes
// through Tendermint).
@@ -505,7 +504,6 @@ func (s *E2ETestSuite) TestBroadcastTx_GRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
// Broadcast the tx via gRPC via the validator's clientCtx (which goes
// through Tendermint).
@@ -765,7 +763,6 @@ func (s *E2ETestSuite) TestTxEncode_GRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
res, err := s.queryClient.TxEncode(context.Background(), tc.req)
if tc.expErr {
@@ -844,7 +841,6 @@ func (s *E2ETestSuite) TestTxDecode_GRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
res, err := s.queryClient.TxDecode(context.Background(), tc.req)
if tc.expErr {
@@ -934,7 +930,6 @@ func (s *E2ETestSuite) TestTxEncodeAmino_GRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
res, err := s.queryClient.TxEncodeAmino(context.Background(), tc.req)
if tc.expErr {
@@ -1020,7 +1015,6 @@ func (s *E2ETestSuite) TestTxDecodeAmino_GRPC() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
res, err := s.queryClient.TxDecodeAmino(context.Background(), tc.req)
if tc.expErr {
@@ -6,7 +6,7 @@ import (
"bytes"
"testing"
bip39 "github.com/cosmos/go-bip39"
"github.com/cosmos/go-bip39"
"github.com/cosmos/cosmos-sdk/crypto/hd"
)
@@ -30,6 +30,6 @@ func FuzzCryptoHDDerivePrivateKeyForPath(f *testing.F) {
}
seed := mnemonicToSeed(string(mnemonic))
master, ch := hd.ComputeMastersFromSeed(seed)
hd.DerivePrivateKeyForPath(master, ch, string(path))
_, _ = hd.DerivePrivateKeyForPath(master, ch, string(path))
})
}
@@ -10,6 +10,6 @@ import (
func FuzzCryptoHDNewParamsFromPath(f *testing.F) {
f.Fuzz(func(t *testing.T, data []byte) {
hd.NewParamsFromPath(string(data))
_, _ = hd.NewParamsFromPath(string(data))
})
}
+1 -1
View File
@@ -10,6 +10,6 @@ import (
func FuzzTypesParseCoin(f *testing.F) {
f.Fuzz(func(t *testing.T, data []byte) {
types.ParseCoinNormalized(string(data))
_, _ = types.ParseCoinNormalized(string(data))
})
}
+1 -1
View File
@@ -10,6 +10,6 @@ import (
func FuzzTypesParseDecCoin(f *testing.F) {
f.Fuzz(func(t *testing.T, data []byte) {
types.ParseDecCoin(string(data))
_, _ = types.ParseDecCoin(string(data))
})
}
@@ -10,6 +10,6 @@ import (
func FuzzTypesVerifyAddressFormat(f *testing.F) {
f.Fuzz(func(t *testing.T, data []byte) {
types.VerifyAddressFormat(data)
_ = types.VerifyAddressFormat(data)
})
}
+2 -2
View File
@@ -13,7 +13,7 @@ func FuzzUnknownProto(f *testing.F) {
f.Fuzz(func(t *testing.T, b []byte) {
msg := new(testdata.TestVersion2)
resolver := new(unknownproto.DefaultAnyResolver)
unknownproto.RejectUnknownFields(b, msg, true, resolver)
unknownproto.RejectUnknownFields(b, msg, false, resolver)
_, _ = unknownproto.RejectUnknownFields(b, msg, true, resolver)
_, _ = unknownproto.RejectUnknownFields(b, msg, false, resolver)
})
}
@@ -268,7 +268,6 @@ func (s *CLITestSuite) TestCLIQueryTxCmdByHash() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := authcli.QueryTxCmd()
cmd.SetArgs(tc.args)
@@ -334,7 +333,6 @@ func (s *CLITestSuite) TestCLIQueryTxCmdByEvents() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := authcli.QueryTxCmd()
cmd.SetArgs(tc.args)
@@ -377,7 +375,6 @@ func (s *CLITestSuite) TestCLIQueryTxsCmdByEvents() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
cmd := authcli.QueryTxsByEventsCmd()
@@ -940,10 +937,10 @@ func (s *CLITestSuite) TestSignWithMultiSignersAminoJSON() {
// because DIRECT doesn't support multi signers via the CLI.
// Since we use amino, we don't need to pre-populate signer_infos.
txBuilder := s.clientCtx.TxConfig.NewTxBuilder()
txBuilder.SetMsgs(
s.Require().NoError(txBuilder.SetMsgs(
banktypes.NewMsgSend(val0, addr1, sdk.NewCoins(val0Coin)),
banktypes.NewMsgSend(val1, addr1, sdk.NewCoins(val1Coin)),
)
))
txBuilder.SetFeeAmount(sdk.NewCoins(sdk.NewCoin("stake", math.NewInt(10))))
txBuilder.SetGasLimit(testdata.NewTestGasLimit() * 2)
signers, err := txBuilder.GetTx().GetSigners()
@@ -1026,7 +1023,6 @@ func (s *CLITestSuite) TestAuxSigner() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
_, err := govtestutil.MsgSubmitLegacyProposal(
s.clientCtx,
@@ -1245,7 +1241,6 @@ func (s *CLITestSuite) TestAuxToFeeWithTips() {
}
for _, tc := range testCases {
tc := tc
s.Run(tc.name, func() {
res, err := govtestutil.MsgSubmitLegacyProposal(
s.clientCtx,
@@ -4,6 +4,7 @@ import (
"testing"
cmtproto "github.com/cometbft/cometbft/proto/tendermint/types"
"github.com/stretchr/testify/require"
"gotest.tools/v3/assert"
"pgregory.net/rapid"
@@ -63,6 +64,8 @@ type deterministicFixture struct {
}
func initDeterministicFixture(t *testing.T) *deterministicFixture {
t.Helper()
keys := storetypes.NewKVStoreKeys(authtypes.StoreKey, banktypes.StoreKey)
cdc := moduletestutil.MakeTestEncodingConfig(auth.AppModuleBasic{}, bank.AppModuleBasic{}).Codec
@@ -311,7 +314,7 @@ func TestGRPCQueryParams(t *testing.T) {
DefaultSendEnabled: rapid.Bool().Draw(rt, "send"),
}
f.bankKeeper.SetParams(f.ctx, params)
require.NoError(t, f.bankKeeper.SetParams(f.ctx, params))
req := &banktypes.QueryParamsRequest{}
testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.Params, 0, true)
@@ -327,7 +330,7 @@ func TestGRPCQueryParams(t *testing.T) {
DefaultSendEnabled: false,
}
f.bankKeeper.SetParams(f.ctx, params)
require.NoError(t, f.bankKeeper.SetParams(f.ctx, params))
req := &banktypes.QueryParamsRequest{}
testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.Params, 1003, false)
@@ -57,13 +57,14 @@ type fixture struct {
valAddr sdk.ValAddress
}
func initFixture(t testing.TB) *fixture {
func initFixture(tb testing.TB) *fixture {
tb.Helper()
keys := storetypes.NewKVStoreKeys(
authtypes.StoreKey, banktypes.StoreKey, distrtypes.StoreKey, stakingtypes.StoreKey,
)
cdc := moduletestutil.MakeTestEncodingConfig(auth.AppModuleBasic{}, distribution.AppModuleBasic{}).Codec
logger := log.NewTestLogger(t)
logger := log.NewTestLogger(tb)
cms := integration.CreateMultiStore(keys, logger)
newCtx := sdk.NewContext(cms, types.Header{}, true, logger)
@@ -280,7 +281,6 @@ func TestMsgWithdrawDelegatorReward(t *testing.T) {
assert.Equal(t, proposerAddr.Empty(), true)
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
res, err := f.app.RunMsg(
tc.msg,
@@ -428,7 +428,6 @@ func TestMsgSetWithdrawAddress(t *testing.T) {
},
}
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
tc.preRun()
res, err := f.app.RunMsg(
@@ -525,7 +524,6 @@ func TestMsgWithdrawValidatorCommission(t *testing.T) {
}
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
res, err := f.app.RunMsg(
tc.msg,
@@ -558,7 +556,6 @@ func TestMsgWithdrawValidatorCommission(t *testing.T) {
}, remainder.Commission)
}
})
}
}
@@ -627,7 +624,6 @@ func TestMsgFundCommunityPool(t *testing.T) {
},
}
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
res, err := f.app.RunMsg(
tc.msg,
@@ -661,7 +657,6 @@ func TestMsgUpdateParams(t *testing.T) {
// default params
communityTax := math.LegacyNewDecWithPrec(2, 2) // 2%
withdrawAddrEnabled := true
testCases := []struct {
name string
@@ -675,7 +670,7 @@ func TestMsgUpdateParams(t *testing.T) {
Authority: "invalid",
Params: distrtypes.Params{
CommunityTax: math.LegacyNewDecWithPrec(2, 0),
WithdrawAddrEnabled: withdrawAddrEnabled,
WithdrawAddrEnabled: true,
BaseProposerReward: math.LegacyZeroDec(),
BonusProposerReward: math.LegacyZeroDec(),
},
@@ -689,7 +684,7 @@ func TestMsgUpdateParams(t *testing.T) {
Authority: f.distrKeeper.GetAuthority(),
Params: distrtypes.Params{
CommunityTax: math.LegacyDec{},
WithdrawAddrEnabled: withdrawAddrEnabled,
WithdrawAddrEnabled: true,
BaseProposerReward: math.LegacyZeroDec(),
BonusProposerReward: math.LegacyZeroDec(),
},
@@ -703,7 +698,7 @@ func TestMsgUpdateParams(t *testing.T) {
Authority: f.distrKeeper.GetAuthority(),
Params: distrtypes.Params{
CommunityTax: math.LegacyNewDecWithPrec(2, 0),
WithdrawAddrEnabled: withdrawAddrEnabled,
WithdrawAddrEnabled: true,
BaseProposerReward: math.LegacyZeroDec(),
BonusProposerReward: math.LegacyZeroDec(),
},
@@ -717,7 +712,7 @@ func TestMsgUpdateParams(t *testing.T) {
Authority: f.distrKeeper.GetAuthority(),
Params: distrtypes.Params{
CommunityTax: math.LegacyNewDecWithPrec(-2, 1),
WithdrawAddrEnabled: withdrawAddrEnabled,
WithdrawAddrEnabled: true,
BaseProposerReward: math.LegacyZeroDec(),
BonusProposerReward: math.LegacyZeroDec(),
},
@@ -733,7 +728,7 @@ func TestMsgUpdateParams(t *testing.T) {
CommunityTax: communityTax,
BaseProposerReward: math.LegacyNewDecWithPrec(1, 2),
BonusProposerReward: math.LegacyZeroDec(),
WithdrawAddrEnabled: withdrawAddrEnabled,
WithdrawAddrEnabled: true,
},
},
expErr: true,
@@ -747,7 +742,7 @@ func TestMsgUpdateParams(t *testing.T) {
CommunityTax: communityTax,
BaseProposerReward: math.LegacyZeroDec(),
BonusProposerReward: math.LegacyNewDecWithPrec(1, 2),
WithdrawAddrEnabled: withdrawAddrEnabled,
WithdrawAddrEnabled: true,
},
},
expErr: true,
@@ -761,7 +756,7 @@ func TestMsgUpdateParams(t *testing.T) {
CommunityTax: communityTax,
BaseProposerReward: math.LegacyZeroDec(),
BonusProposerReward: math.LegacyZeroDec(),
WithdrawAddrEnabled: withdrawAddrEnabled,
WithdrawAddrEnabled: true,
},
},
expErr: false,
@@ -769,7 +764,6 @@ func TestMsgUpdateParams(t *testing.T) {
}
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
res, err := f.app.RunMsg(
tc.msg,
@@ -848,7 +842,6 @@ func TestMsgCommunityPoolSpend(t *testing.T) {
},
}
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
res, err := f.app.RunMsg(
tc.msg,
@@ -950,7 +943,6 @@ func TestMsgDepositValidatorRewardsPool(t *testing.T) {
}
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
res, err := f.app.RunMsg(
tc.msg,
@@ -78,13 +78,14 @@ type fixture struct {
stakingKeeper *stakingkeeper.Keeper
}
func initFixture(t testing.TB) *fixture {
func initFixture(tb testing.TB) *fixture {
tb.Helper()
keys := storetypes.NewKVStoreKeys(
authtypes.StoreKey, banktypes.StoreKey, consensusparamtypes.StoreKey, evidencetypes.StoreKey, stakingtypes.StoreKey, slashingtypes.StoreKey,
)
cdc := moduletestutil.MakeTestEncodingConfig(auth.AppModuleBasic{}, evidence.AppModuleBasic{}).Codec
logger := log.NewTestLogger(t)
logger := log.NewTestLogger(tb)
cms := integration.CreateMultiStore(keys, logger)
newCtx := sdk.NewContext(cms, cmtproto.Header{}, true, logger)
@@ -148,10 +149,10 @@ func initFixture(t testing.TB) *fixture {
evidencetypes.RegisterMsgServer(integrationApp.MsgServiceRouter(), keeper.NewMsgServerImpl(*evidenceKeeper))
evidencetypes.RegisterQueryServer(integrationApp.QueryHelper(), keeper.NewQuerier(evidenceKeeper))
assert.NilError(t, slashingKeeper.SetParams(sdkCtx, testutil.TestParams()))
assert.NilError(tb, slashingKeeper.SetParams(sdkCtx, testutil.TestParams()))
// set default staking params
assert.NilError(t, stakingKeeper.SetParams(sdkCtx, stakingtypes.DefaultParams()))
assert.NilError(tb, stakingKeeper.SetParams(sdkCtx, stakingtypes.DefaultParams()))
return &fixture{
app: integrationApp,
@@ -193,10 +194,10 @@ func TestHandleDoubleSign(t *testing.T) {
assert.NilError(t, f.slashingKeeper.AddPubkey(f.sdkCtx, valpubkey))
info := slashingtypes.NewValidatorSigningInfo(sdk.ConsAddress(valpubkey.Address()), f.sdkCtx.BlockHeight(), int64(0), time.Unix(0, 0), false, int64(0))
f.slashingKeeper.SetValidatorSigningInfo(f.sdkCtx, sdk.ConsAddress(valpubkey.Address()), info)
assert.NilError(t, f.slashingKeeper.SetValidatorSigningInfo(f.sdkCtx, sdk.ConsAddress(valpubkey.Address()), info))
// handle a signature to set signing info
f.slashingKeeper.HandleValidatorSignature(ctx, valpubkey.Address(), selfDelegation.Int64(), comet.BlockIDFlagCommit)
assert.NilError(t, f.slashingKeeper.HandleValidatorSignature(ctx, valpubkey.Address(), selfDelegation.Int64(), comet.BlockIDFlagCommit))
// double sign less than max age
val, err = f.stakingKeeper.Validator(ctx, operatorAddr)
+2
View File
@@ -24,6 +24,8 @@ var (
// mkTestLegacyContent creates a MsgExecLegacyContent for testing purposes.
func mkTestLegacyContent(t *testing.T) *v1.MsgExecLegacyContent {
t.Helper()
msgContent, err := v1.NewLegacyContent(TestProposal, authtypes.NewModuleAddress(types.ModuleName).String())
assert.NilError(t, err)
+2
View File
@@ -189,6 +189,8 @@ func TestImportExportQueues(t *testing.T) {
}
func clearDB(t *testing.T, db *dbm.MemDB) {
t.Helper()
iter, err := db.Iterator(nil, nil)
assert.NilError(t, err)
defer iter.Close()
+13 -10
View File
@@ -36,6 +36,8 @@ func getTestProposal() []sdk.Msg {
}
func createValidators(t *testing.T, f *fixture, powers []int64) ([]sdk.AccAddress, []sdk.ValAddress) {
t.Helper()
addrs := simtestutil.AddTestAddrsIncremental(f.bankKeeper, f.stakingKeeper, f.ctx, 5, math.NewInt(30000000))
valAddrs := simtestutil.ConvertAddrsToValAddrs(addrs)
pks := simtestutil.CreateTestPubKeys(5)
@@ -47,21 +49,22 @@ func createValidators(t *testing.T, f *fixture, powers []int64) ([]sdk.AccAddres
val3, err := stakingtypes.NewValidator(valAddrs[2].String(), pks[2], stakingtypes.Description{})
assert.NilError(t, err)
f.stakingKeeper.SetValidator(f.ctx, val1)
f.stakingKeeper.SetValidator(f.ctx, val2)
f.stakingKeeper.SetValidator(f.ctx, val3)
f.stakingKeeper.SetValidatorByConsAddr(f.ctx, val1)
f.stakingKeeper.SetValidatorByConsAddr(f.ctx, val2)
f.stakingKeeper.SetValidatorByConsAddr(f.ctx, val3)
f.stakingKeeper.SetNewValidatorByPowerIndex(f.ctx, val1)
f.stakingKeeper.SetNewValidatorByPowerIndex(f.ctx, val2)
f.stakingKeeper.SetNewValidatorByPowerIndex(f.ctx, val3)
assert.NilError(t, f.stakingKeeper.SetValidator(f.ctx, val1))
assert.NilError(t, f.stakingKeeper.SetValidator(f.ctx, val2))
assert.NilError(t, f.stakingKeeper.SetValidator(f.ctx, val3))
assert.NilError(t, f.stakingKeeper.SetValidatorByConsAddr(f.ctx, val1))
assert.NilError(t, f.stakingKeeper.SetValidatorByConsAddr(f.ctx, val2))
assert.NilError(t, f.stakingKeeper.SetValidatorByConsAddr(f.ctx, val3))
assert.NilError(t, f.stakingKeeper.SetNewValidatorByPowerIndex(f.ctx, val1))
assert.NilError(t, f.stakingKeeper.SetNewValidatorByPowerIndex(f.ctx, val2))
assert.NilError(t, f.stakingKeeper.SetNewValidatorByPowerIndex(f.ctx, val3))
_, _ = f.stakingKeeper.Delegate(f.ctx, addrs[0], f.stakingKeeper.TokensFromConsensusPower(f.ctx, powers[0]), stakingtypes.Unbonded, val1, true)
_, _ = f.stakingKeeper.Delegate(f.ctx, addrs[1], f.stakingKeeper.TokensFromConsensusPower(f.ctx, powers[1]), stakingtypes.Unbonded, val2, true)
_, _ = f.stakingKeeper.Delegate(f.ctx, addrs[2], f.stakingKeeper.TokensFromConsensusPower(f.ctx, powers[2]), stakingtypes.Unbonded, val3, true)
f.stakingKeeper.EndBlocker(f.ctx)
_, err = f.stakingKeeper.EndBlocker(f.ctx)
assert.NilError(t, err)
return addrs, valAddrs
}
@@ -79,7 +79,7 @@ func TestGRPCQueryTally(t *testing.T) {
"request tally after few votes",
func() {
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposal.Id, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposal.Id, addrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
@@ -103,7 +103,7 @@ func TestGRPCQueryTally(t *testing.T) {
"request final tally after status changed",
func() {
proposal.Status = v1.StatusPassed
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
proposal, _ = f.govKeeper.Proposals.Get(ctx, proposal.Id)
req = &v1.QueryTallyResultRequest{ProposalId: proposal.Id}
@@ -201,7 +201,7 @@ func TestLegacyGRPCQueryTally(t *testing.T) {
"request tally after few votes",
func() {
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposal.Id, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposal.Id, addrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
@@ -225,7 +225,7 @@ func TestLegacyGRPCQueryTally(t *testing.T) {
"request final tally after status changed",
func() {
proposal.Status = v1.StatusPassed
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
proposal, _ = f.govKeeper.Proposals.Get(ctx, proposal.Id)
req = &v1beta1.QueryTallyResultRequest{ProposalId: proposal.Id}
+6 -5
View File
@@ -48,13 +48,14 @@ type fixture struct {
govKeeper *keeper.Keeper
}
func initFixture(t testing.TB) *fixture {
func initFixture(tb testing.TB) *fixture {
tb.Helper()
keys := storetypes.NewKVStoreKeys(
authtypes.StoreKey, banktypes.StoreKey, distrtypes.StoreKey, stakingtypes.StoreKey, types.StoreKey,
)
cdc := moduletestutil.MakeTestEncodingConfig(auth.AppModuleBasic{}, bank.AppModuleBasic{}, gov.AppModuleBasic{}).Codec
logger := log.NewTestLogger(t)
logger := log.NewTestLogger(tb)
cms := integration.CreateMultiStore(keys, logger)
newCtx := sdk.NewContext(cms, cmtproto.Header{}, true, logger)
@@ -94,7 +95,7 @@ func initFixture(t testing.TB) *fixture {
stakingKeeper := stakingkeeper.NewKeeper(cdc, runtime.NewKVStoreService(keys[stakingtypes.StoreKey]), accountKeeper, bankKeeper, authority.String(), addresscodec.NewBech32Codec(sdk.Bech32PrefixValAddr), addresscodec.NewBech32Codec(sdk.Bech32PrefixConsAddr))
// set default staking params
stakingKeeper.SetParams(newCtx, stakingtypes.DefaultParams())
assert.NilError(tb, stakingKeeper.SetParams(newCtx, stakingtypes.DefaultParams()))
distrKeeper := distrkeeper.NewKeeper(
cdc, runtime.NewKVStoreService(keys[distrtypes.StoreKey]), accountKeeper, bankKeeper, stakingKeeper, distrtypes.ModuleName, authority.String(),
@@ -117,12 +118,12 @@ func initFixture(t testing.TB) *fixture {
authority.String(),
)
err := govKeeper.ProposalID.Set(newCtx, 1)
assert.NilError(t, err)
assert.NilError(tb, err)
govRouter := v1beta1.NewRouter()
govRouter.AddRoute(types.RouterKey, v1beta1.ProposalHandler)
govKeeper.SetLegacyRouter(govRouter)
err = govKeeper.Params.Set(newCtx, v1.DefaultParams())
assert.NilError(t, err)
assert.NilError(tb, err)
authModule := auth.NewAppModule(cdc, accountKeeper, authsims.RandomGenesisAccounts, nil)
bankModule := bank.NewAppModule(cdc, bankKeeper, accountKeeper, nil)
+26 -21
View File
@@ -26,7 +26,7 @@ func TestTallyNoOneVotes(t *testing.T) {
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
assert.Assert(t, ok)
@@ -53,7 +53,7 @@ func TestTallyNoQuorum(t *testing.T) {
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
err = f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), "")
assert.NilError(t, err)
@@ -79,7 +79,7 @@ func TestTallyOnlyValidatorsAllYes(t *testing.T) {
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
@@ -108,7 +108,7 @@ func TestTallyOnlyValidators51No(t *testing.T) {
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
@@ -135,7 +135,7 @@ func TestTallyOnlyValidators51Yes(t *testing.T) {
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
@@ -163,7 +163,7 @@ func TestTallyOnlyValidatorsVetoed(t *testing.T) {
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
@@ -192,7 +192,7 @@ func TestTallyOnlyValidatorsAbstainPasses(t *testing.T) {
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionAbstain), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
@@ -221,7 +221,7 @@ func TestTallyOnlyValidatorsAbstainFails(t *testing.T) {
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionAbstain), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
@@ -251,7 +251,7 @@ func TestTallyOnlyValidatorsNonVoter(t *testing.T) {
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddr1, v1.NewNonSplitVoteOption(v1.OptionYes), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddr2, v1.NewNonSplitVoteOption(v1.OptionNo), ""))
@@ -281,14 +281,15 @@ func TestTallyDelgatorOverride(t *testing.T) {
_, err := f.stakingKeeper.Delegate(ctx, addrs[4], delTokens, stakingtypes.Unbonded, val1, true)
assert.NilError(t, err)
f.stakingKeeper.EndBlocker(ctx)
_, err = f.stakingKeeper.EndBlocker(ctx)
assert.NilError(t, err)
tp := TestProposal
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
@@ -320,14 +321,15 @@ func TestTallyDelgatorInherit(t *testing.T) {
_, err := f.stakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val3, true)
assert.NilError(t, err)
f.stakingKeeper.EndBlocker(ctx)
_, err = f.stakingKeeper.EndBlocker(ctx)
assert.NilError(t, err)
tp := TestProposal
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
@@ -362,14 +364,15 @@ func TestTallyDelgatorMultipleOverride(t *testing.T) {
_, err = f.stakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val2, true)
assert.NilError(t, err)
f.stakingKeeper.EndBlocker(ctx)
_, err = f.stakingKeeper.EndBlocker(ctx)
assert.NilError(t, err)
tp := TestProposal
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
@@ -407,14 +410,15 @@ func TestTallyDelgatorMultipleInherit(t *testing.T) {
_, err = f.stakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val3, true)
assert.NilError(t, err)
f.stakingKeeper.EndBlocker(ctx)
_, err = f.stakingKeeper.EndBlocker(ctx)
assert.NilError(t, err)
tp := TestProposal
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
@@ -449,18 +453,19 @@ func TestTallyJailedValidator(t *testing.T) {
_, err = f.stakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val3, true)
assert.NilError(t, err)
f.stakingKeeper.EndBlocker(ctx)
_, err = f.stakingKeeper.EndBlocker(ctx)
assert.NilError(t, err)
consAddr, err := val2.GetConsAddr()
assert.NilError(t, err)
f.stakingKeeper.Jail(ctx, sdk.ConsAddress(consAddr))
assert.NilError(t, f.stakingKeeper.Jail(ctx, consAddr))
tp := TestProposal
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
@@ -496,7 +501,7 @@ func TestTallyValidatorMultipleDelegations(t *testing.T) {
assert.NilError(t, err)
proposalID := proposal.Id
proposal.Status = v1.StatusVotingPeriod
f.govKeeper.SetProposal(ctx, proposal)
assert.NilError(t, f.govKeeper.SetProposal(ctx, proposal))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
+4 -4
View File
@@ -129,9 +129,9 @@ var (
GenType(&disttypes.MsgWithdrawDelegatorReward{}, &distapi.MsgWithdrawDelegatorReward{}, GenOpts),
GenType(&disttypes.MsgWithdrawValidatorCommission{}, &distapi.MsgWithdrawValidatorCommission{}, GenOpts),
GenType(&disttypes.MsgSetWithdrawAddress{}, &distapi.MsgSetWithdrawAddress{}, GenOpts),
GenType(&disttypes.MsgFundCommunityPool{}, &distapi.MsgFundCommunityPool{}, GenOpts), // nolint:staticcheck // testing legacy code path
GenType(&disttypes.MsgFundCommunityPool{}, &distapi.MsgFundCommunityPool{}, GenOpts),
GenType(&disttypes.MsgUpdateParams{}, &distapi.MsgUpdateParams{}, GenOpts.WithDisallowNil()),
GenType(&disttypes.MsgCommunityPoolSpend{}, &distapi.MsgCommunityPoolSpend{}, GenOpts), // nolint:staticcheck // testing legacy code path
GenType(&disttypes.MsgCommunityPoolSpend{}, &distapi.MsgCommunityPoolSpend{}, GenOpts),
GenType(&disttypes.MsgDepositValidatorRewardsPool{}, &distapi.MsgDepositValidatorRewardsPool{}, GenOpts),
// evidence
@@ -273,8 +273,8 @@ var (
GenType(&stakingtypes.StakeAuthorization{}, &stakingapi.StakeAuthorization{}, GenOpts),
GenType(&upgradetypes.CancelSoftwareUpgradeProposal{}, &upgradeapi.CancelSoftwareUpgradeProposal{}, GenOpts), // nolint:staticcheck // testing legacy code path
GenType(&upgradetypes.SoftwareUpgradeProposal{}, &upgradeapi.SoftwareUpgradeProposal{}, GenOpts.WithDisallowNil()), // nolint:staticcheck // testing legacy code path
GenType(&upgradetypes.CancelSoftwareUpgradeProposal{}, &upgradeapi.CancelSoftwareUpgradeProposal{}, GenOpts), //nolint:staticcheck // testing registration of legacy deprecated type
GenType(&upgradetypes.SoftwareUpgradeProposal{}, &upgradeapi.SoftwareUpgradeProposal{}, GenOpts.WithDisallowNil()), //nolint:staticcheck // testing registration of legacy deprecated type
GenType(&upgradetypes.Plan{}, &upgradeapi.Plan{}, GenOpts.WithDisallowNil()),
GenType(&vestingtypes.BaseVestingAccount{}, &vestingapi.BaseVestingAccount{}, GenOpts.WithDisallowNil()),
+1 -1
View File
@@ -72,7 +72,7 @@ func TestQueryAppConfig(t *testing.T) {
t.Parallel()
f := initFixture(t)
res, err := f.appQueryClient.Config(f.ctx, &appv1alpha1.QueryConfigRequest{})
res, err := f.appQueryClient.Config(f.ctx, &appv1alpha1.QueryConfigRequest{}) //nolint:staticcheck // used for testing the deprecated code
assert.NilError(t, err)
// app config is not nil
assert.Assert(t, res != nil && res.Config != nil)
@@ -50,13 +50,14 @@ type fixture struct {
valAddrs []sdk.ValAddress
}
func initFixture(t testing.TB) *fixture {
func initFixture(tb testing.TB) *fixture {
tb.Helper()
keys := storetypes.NewKVStoreKeys(
authtypes.StoreKey, banktypes.StoreKey, slashingtypes.StoreKey, stakingtypes.StoreKey,
)
cdc := moduletestutil.MakeTestEncodingConfig(auth.AppModuleBasic{}).Codec
logger := log.NewTestLogger(t)
logger := log.NewTestLogger(tb)
cms := integration.CreateMultiStore(keys, logger)
newCtx := sdk.NewContext(cms, cmtproto.Header{}, true, logger)
@@ -112,18 +113,18 @@ func initFixture(t testing.TB) *fixture {
slashingtypes.RegisterQueryServer(integrationApp.QueryHelper(), slashingkeeper.NewQuerier(slashingKeeper))
// set default staking params
stakingKeeper.SetParams(sdkCtx, stakingtypes.DefaultParams())
require.NoError(tb, stakingKeeper.SetParams(sdkCtx, stakingtypes.DefaultParams()))
// TestParams set the SignedBlocksWindow to 1000 and MaxMissedBlocksPerWindow to 500
slashingKeeper.SetParams(sdkCtx, testutil.TestParams())
require.NoError(tb, slashingKeeper.SetParams(sdkCtx, testutil.TestParams()))
addrDels := simtestutil.AddTestAddrsIncremental(bankKeeper, stakingKeeper, sdkCtx, 6, stakingKeeper.TokensFromConsensusPower(sdkCtx, 200))
valAddrs := simtestutil.ConvertAddrsToValAddrs(addrDels)
info1 := slashingtypes.NewValidatorSigningInfo(sdk.ConsAddress(addrDels[0]), int64(4), int64(3), time.Unix(2, 0), false, int64(10))
info2 := slashingtypes.NewValidatorSigningInfo(sdk.ConsAddress(addrDels[1]), int64(5), int64(4), time.Unix(2, 0), false, int64(10))
slashingKeeper.SetValidatorSigningInfo(sdkCtx, sdk.ConsAddress(addrDels[0]), info1)
slashingKeeper.SetValidatorSigningInfo(sdkCtx, sdk.ConsAddress(addrDels[1]), info2)
require.NoError(tb, slashingKeeper.SetValidatorSigningInfo(sdkCtx, sdk.ConsAddress(addrDels[0]), info1))
require.NoError(tb, slashingKeeper.SetValidatorSigningInfo(sdkCtx, sdk.ConsAddress(addrDels[1]), info2))
return &fixture{
app: integrationApp,
@@ -143,7 +144,7 @@ func TestUnJailNotBonded(t *testing.T) {
p, err := f.stakingKeeper.GetParams(f.ctx)
assert.NilError(t, err)
p.MaxValidators = 5
f.stakingKeeper.SetParams(f.ctx, p)
require.NoError(t, f.stakingKeeper.SetParams(f.ctx, p))
pks := simtestutil.CreateTestPubKeys(6)
tstaking := stakingtestutil.NewHelper(t, f.ctx, f.stakingKeeper)
@@ -154,7 +155,8 @@ func TestUnJailNotBonded(t *testing.T) {
tstaking.CreateValidatorWithValPower(addr, val, 100, true)
}
f.stakingKeeper.EndBlocker(f.ctx)
_, err = f.stakingKeeper.EndBlocker(f.ctx)
require.NoError(t, err)
f.ctx = f.ctx.WithBlockHeight(f.ctx.BlockHeight() + 1)
// create a 6th validator with less power than the cliff validator (won't be bonded)
@@ -167,7 +169,8 @@ func TestUnJailNotBonded(t *testing.T) {
assert.NilError(t, err)
assert.Assert(t, res != nil)
f.stakingKeeper.EndBlocker(f.ctx)
_, err = f.stakingKeeper.EndBlocker(f.ctx)
require.NoError(t, err)
f.ctx = f.ctx.WithBlockHeight(f.ctx.BlockHeight() + 1)
tstaking.CheckValidator(addr, stakingtypes.Unbonded, false)
@@ -176,7 +179,8 @@ func TestUnJailNotBonded(t *testing.T) {
assert.Equal(t, p.BondDenom, tstaking.Denom)
tstaking.Undelegate(sdk.AccAddress(addr), addr, f.stakingKeeper.TokensFromConsensusPower(f.ctx, 1), true)
f.stakingKeeper.EndBlocker(f.ctx)
_, err = f.stakingKeeper.EndBlocker(f.ctx)
require.NoError(t, err)
f.ctx = f.ctx.WithBlockHeight(f.ctx.BlockHeight() + 1)
// verify that validator is jailed
@@ -193,12 +197,14 @@ func TestUnJailNotBonded(t *testing.T) {
)
assert.ErrorContains(t, err, "cannot be unjailed")
f.stakingKeeper.EndBlocker(f.ctx)
_, err = f.stakingKeeper.EndBlocker(f.ctx)
require.NoError(t, err)
f.ctx = f.ctx.WithBlockHeight(f.ctx.BlockHeight() + 1)
// bond to meet minimum self-delegation
tstaking.DelegateWithPower(sdk.AccAddress(addr), addr, 1)
f.stakingKeeper.EndBlocker(f.ctx)
_, err = f.stakingKeeper.EndBlocker(f.ctx)
require.NoError(t, err)
f.ctx = f.ctx.WithBlockHeight(f.ctx.BlockHeight() + 1)
// verify we can immediately unjail
@@ -343,7 +349,7 @@ func TestValidatorDippingInAndOut(t *testing.T) {
params, err := f.stakingKeeper.GetParams(f.ctx)
require.NoError(t, err)
params.MaxValidators = 1
f.stakingKeeper.SetParams(f.ctx, params)
require.NoError(t, f.stakingKeeper.SetParams(f.ctx, params))
power := int64(100)
pks := simtestutil.CreateTestPubKeys(3)
@@ -437,7 +443,7 @@ func TestValidatorDippingInAndOut(t *testing.T) {
assert.NilError(t, err)
// validator rejoins and starts signing again
f.stakingKeeper.Unjail(f.ctx, consAddr)
require.NoError(t, f.stakingKeeper.Unjail(f.ctx, consAddr))
err = f.slashingKeeper.HandleValidatorSignature(f.ctx, val.Address(), newPower, comet.BlockIDFlagCommit)
assert.NilError(t, err)
@@ -53,6 +53,8 @@ func init() {
// intended to be used with require/assert: require.True(ValEq(...))
func ValEq(t *testing.T, exp, got types.Validator) (*testing.T, bool, string, types.Validator, types.Validator) {
t.Helper()
return t, exp.MinEqual(&got), "expected:\n%v\ngot:\n%v", exp, got
}
@@ -65,6 +67,8 @@ func generateAddresses(f *fixture, numAddrs int) ([]sdk.AccAddress, []sdk.ValAdd
}
func createValidators(t *testing.T, f *fixture, powers []int64) ([]sdk.AccAddress, []sdk.ValAddress, []types.Validator) {
t.Helper()
addrs := simtestutil.AddTestAddrsIncremental(f.bankKeeper, f.stakingKeeper, f.sdkCtx, 5, f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 300))
valAddrs := simtestutil.ConvertAddrsToValAddrs(addrs)
pks := simtestutil.CreateTestPubKeys(5)
@@ -91,13 +95,15 @@ func createValidators(t *testing.T, f *fixture, powers []int64) ([]sdk.AccAddres
return addrs, valAddrs, vals
}
func initFixture(t testing.TB) *fixture {
func initFixture(tb testing.TB) *fixture {
tb.Helper()
keys := storetypes.NewKVStoreKeys(
authtypes.StoreKey, banktypes.StoreKey, types.StoreKey,
)
cdc := moduletestutil.MakeTestEncodingConfig(auth.AppModuleBasic{}, staking.AppModuleBasic{}).Codec
logger := log.NewTestLogger(t)
logger := log.NewTestLogger(tb)
cms := integration.CreateMultiStore(keys, logger)
newCtx := sdk.NewContext(cms, cmtprototypes.Header{}, true, logger)
@@ -152,7 +158,7 @@ func initFixture(t testing.TB) *fixture {
types.RegisterQueryServer(integrationApp.QueryHelper(), stakingkeeper.NewQuerier(stakingKeeper))
// set default staking params
assert.NilError(t, stakingKeeper.SetParams(sdkCtx, types.DefaultParams()))
assert.NilError(tb, stakingKeeper.SetParams(sdkCtx, types.DefaultParams()))
f := fixture{
app: integrationApp,
@@ -65,6 +65,8 @@ type deterministicFixture struct {
}
func initDeterministicFixture(t *testing.T) *deterministicFixture {
t.Helper()
keys := storetypes.NewKVStoreKeys(
authtypes.StoreKey, banktypes.StoreKey, stakingtypes.StoreKey,
)
@@ -184,7 +186,9 @@ func bondTypeGenerator() *rapid.Generator[stakingtypes.BondStatus] {
}
// createValidator creates a validator with random values.
func createValidator(rt *rapid.T, f *deterministicFixture, t *testing.T) stakingtypes.Validator {
func createValidator(t *testing.T, rt *rapid.T) stakingtypes.Validator {
t.Helper()
pubkey := pubKeyGenerator().Draw(rt, "pubkey")
pubkeyAny, err := codectypes.NewAnyWithValue(&pubkey)
assert.NilError(t, err)
@@ -214,21 +218,27 @@ func createValidator(rt *rapid.T, f *deterministicFixture, t *testing.T) staking
}
// createAndSetValidatorWithStatus creates a validator with random values but with given status and sets to the state
func createAndSetValidatorWithStatus(rt *rapid.T, f *deterministicFixture, t *testing.T, status stakingtypes.BondStatus) stakingtypes.Validator {
val := createValidator(rt, f, t)
func createAndSetValidatorWithStatus(t *testing.T, rt *rapid.T, f *deterministicFixture, status stakingtypes.BondStatus) stakingtypes.Validator {
t.Helper()
val := createValidator(t, rt)
val.Status = status
setValidator(f, t, val)
setValidator(t, f, val)
return val
}
// createAndSetValidator creates a validator with random values and sets to the state
func createAndSetValidator(rt *rapid.T, f *deterministicFixture, t *testing.T) stakingtypes.Validator {
val := createValidator(rt, f, t)
setValidator(f, t, val)
func createAndSetValidator(t *testing.T, rt *rapid.T, f *deterministicFixture) stakingtypes.Validator {
t.Helper()
val := createValidator(t, rt)
setValidator(t, f, val)
return val
}
func setValidator(f *deterministicFixture, t *testing.T, validator stakingtypes.Validator) {
func setValidator(t *testing.T, f *deterministicFixture, validator stakingtypes.Validator) {
t.Helper()
assert.NilError(t, f.stakingKeeper.SetValidator(f.ctx, validator))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.ctx, validator))
assert.NilError(t, f.stakingKeeper.SetValidatorByConsAddr(f.ctx, validator))
@@ -246,14 +256,16 @@ func setValidator(f *deterministicFixture, t *testing.T, validator stakingtypes.
}
// getStaticValidator creates a validator with hard-coded values and sets to the state.
func getStaticValidator(f *deterministicFixture, t *testing.T) stakingtypes.Validator {
pubkey := ed25519.PubKey{Key: []byte{24, 179, 242, 2, 151, 3, 34, 6, 1, 11, 0, 194, 202, 201, 77, 1, 167, 40, 249, 115, 32, 97, 18, 1, 1, 127, 255, 103, 13, 1, 34, 1}}
pubkeyAny, err := codectypes.NewAnyWithValue(&pubkey)
func getStaticValidator(t *testing.T, f *deterministicFixture) stakingtypes.Validator {
t.Helper()
pubKey := ed25519.PubKey{Key: []byte{24, 179, 242, 2, 151, 3, 34, 6, 1, 11, 0, 194, 202, 201, 77, 1, 167, 40, 249, 115, 32, 97, 18, 1, 1, 127, 255, 103, 13, 1, 34, 1}}
pubKeyAny, err := codectypes.NewAnyWithValue(&pubKey)
assert.NilError(t, err)
validator := stakingtypes.Validator{
OperatorAddress: validator1,
ConsensusPubkey: pubkeyAny,
ConsensusPubkey: pubKeyAny,
Jailed: false,
Status: stakingtypes.Bonded,
Tokens: math.NewInt(100),
@@ -275,19 +287,21 @@ func getStaticValidator(f *deterministicFixture, t *testing.T) stakingtypes.Vali
MinSelfDelegation: math.NewInt(10),
}
setValidator(f, t, validator)
setValidator(t, f, validator)
return validator
}
// getStaticValidator2 creates a validator with hard-coded values and sets to the state.
func getStaticValidator2(f *deterministicFixture, t *testing.T) stakingtypes.Validator {
pubkey := ed25519.PubKey{Key: []byte{40, 249, 115, 32, 97, 18, 1, 1, 127, 255, 103, 13, 1, 34, 1, 24, 179, 242, 2, 151, 3, 34, 6, 1, 11, 0, 194, 202, 201, 77, 1, 167}}
pubkeyAny, err := codectypes.NewAnyWithValue(&pubkey)
func getStaticValidator2(t *testing.T, f *deterministicFixture) stakingtypes.Validator {
t.Helper()
pubKey := ed25519.PubKey{Key: []byte{40, 249, 115, 32, 97, 18, 1, 1, 127, 255, 103, 13, 1, 34, 1, 24, 179, 242, 2, 151, 3, 34, 6, 1, 11, 0, 194, 202, 201, 77, 1, 167}}
pubKeyAny, err := codectypes.NewAnyWithValue(&pubKey)
assert.NilError(t, err)
validator := stakingtypes.Validator{
OperatorAddress: validator2,
ConsensusPubkey: pubkeyAny,
ConsensusPubkey: pubKeyAny,
Jailed: true,
Status: stakingtypes.Bonded,
Tokens: math.NewInt(10012),
@@ -308,19 +322,23 @@ func getStaticValidator2(f *deterministicFixture, t *testing.T) stakingtypes.Val
),
MinSelfDelegation: math.NewInt(1),
}
setValidator(f, t, validator)
setValidator(t, f, validator)
return validator
}
// createDelegationAndDelegate funds the delegator account with a random delegation in range 100-1000 and delegates.
func createDelegationAndDelegate(rt *rapid.T, f *deterministicFixture, t *testing.T, delegator sdk.AccAddress, validator stakingtypes.Validator) (newShares math.LegacyDec, err error) {
func createDelegationAndDelegate(t *testing.T, rt *rapid.T, f *deterministicFixture, delegator sdk.AccAddress, validator stakingtypes.Validator) (newShares math.LegacyDec, err error) {
t.Helper()
amt := f.stakingKeeper.TokensFromConsensusPower(f.ctx, rapid.Int64Range(100, 1000).Draw(rt, "amount"))
return fundAccountAndDelegate(f, t, delegator, validator, amt)
return fundAccountAndDelegate(t, f, delegator, validator, amt)
}
// fundAccountAndDelegate funds the delegator account with the specified delegation and delegates.
func fundAccountAndDelegate(f *deterministicFixture, t *testing.T, delegator sdk.AccAddress, validator stakingtypes.Validator, amt math.Int) (newShares math.LegacyDec, err error) {
func fundAccountAndDelegate(t *testing.T, f *deterministicFixture, delegator sdk.AccAddress, validator stakingtypes.Validator, amt math.Int) (newShares math.LegacyDec, err error) {
t.Helper()
coins := sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, amt))
assert.NilError(t, f.bankKeeper.MintCoins(f.ctx, minttypes.ModuleName, coins))
@@ -335,7 +353,7 @@ func TestGRPCValidator(t *testing.T) {
f := initDeterministicFixture(t)
rapid.Check(t, func(rt *rapid.T) {
val := createAndSetValidator(rt, f, t)
val := createAndSetValidator(t, rt, f)
req := &stakingtypes.QueryValidatorRequest{
ValidatorAddr: val.OperatorAddress,
}
@@ -344,7 +362,7 @@ func TestGRPCValidator(t *testing.T) {
})
f = initDeterministicFixture(t) // reset
val := getStaticValidator(f, t)
val := getStaticValidator(t, f)
req := &stakingtypes.QueryValidatorRequest{
ValidatorAddr: val.OperatorAddress,
}
@@ -360,7 +378,7 @@ func TestGRPCValidators(t *testing.T) {
rapid.Check(t, func(rt *rapid.T) {
valsCount := rapid.IntRange(1, 3).Draw(rt, "num-validators")
for i := 0; i < valsCount; i++ {
createAndSetValidator(rt, f, t)
createAndSetValidator(t, rt, f)
}
req := &stakingtypes.QueryValidatorsRequest{
@@ -372,8 +390,8 @@ func TestGRPCValidators(t *testing.T) {
})
f = initDeterministicFixture(t) // reset
getStaticValidator(f, t)
getStaticValidator2(f, t)
getStaticValidator(t, f)
getStaticValidator2(t, f)
testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryValidatorsRequest{}, f.queryClient.Validators, 2862, false)
}
@@ -383,12 +401,12 @@ func TestGRPCValidatorDelegations(t *testing.T) {
f := initDeterministicFixture(t)
rapid.Check(t, func(rt *rapid.T) {
validator := createAndSetValidatorWithStatus(rt, f, t, stakingtypes.Bonded)
validator := createAndSetValidatorWithStatus(t, rt, f, stakingtypes.Bonded)
numDels := rapid.IntRange(1, 5).Draw(rt, "num-dels")
for i := 0; i < numDels; i++ {
delegator := testdata.AddressGenerator(rt).Draw(rt, "delegator")
_, err := createDelegationAndDelegate(rt, f, t, delegator, validator)
_, err := createDelegationAndDelegate(t, rt, f, delegator, validator)
assert.NilError(t, err)
}
@@ -402,12 +420,12 @@ func TestGRPCValidatorDelegations(t *testing.T) {
f = initDeterministicFixture(t) // reset
validator := getStaticValidator(f, t)
validator := getStaticValidator(t, f)
_, err := fundAccountAndDelegate(f, t, delegatorAddr1, validator, f.amt1)
_, err := fundAccountAndDelegate(t, f, delegatorAddr1, validator, f.amt1)
assert.NilError(t, err)
_, err = fundAccountAndDelegate(f, t, delegatorAddr2, validator, f.amt2)
_, err = fundAccountAndDelegate(t, f, delegatorAddr2, validator, f.amt2)
assert.NilError(t, err)
req := &stakingtypes.QueryValidatorDelegationsRequest{
@@ -422,12 +440,12 @@ func TestGRPCValidatorUnbondingDelegations(t *testing.T) {
f := initDeterministicFixture(t)
rapid.Check(t, func(rt *rapid.T) {
validator := createAndSetValidatorWithStatus(rt, f, t, stakingtypes.Bonded)
validator := createAndSetValidatorWithStatus(t, rt, f, stakingtypes.Bonded)
numDels := rapid.IntRange(1, 3).Draw(rt, "num-dels")
for i := 0; i < numDels; i++ {
delegator := testdata.AddressGenerator(rt).Draw(rt, "delegator")
shares, err := createDelegationAndDelegate(rt, f, t, delegator, validator)
shares, err := createDelegationAndDelegate(t, rt, f, delegator, validator)
assert.NilError(t, err)
valbz, err := f.stakingKeeper.ValidatorAddressCodec().StringToBytes(validator.GetOperator())
assert.NilError(t, err)
@@ -445,14 +463,14 @@ func TestGRPCValidatorUnbondingDelegations(t *testing.T) {
f = initDeterministicFixture(t) // reset
validator := getStaticValidator(f, t)
shares1, err := fundAccountAndDelegate(f, t, delegatorAddr1, validator, f.amt1)
validator := getStaticValidator(t, f)
shares1, err := fundAccountAndDelegate(t, f, delegatorAddr1, validator, f.amt1)
assert.NilError(t, err)
_, _, err = f.stakingKeeper.Undelegate(f.ctx, delegatorAddr1, validatorAddr1, shares1)
assert.NilError(t, err)
shares2, err := fundAccountAndDelegate(f, t, delegatorAddr2, validator, f.amt2)
shares2, err := fundAccountAndDelegate(t, f, delegatorAddr2, validator, f.amt2)
assert.NilError(t, err)
_, _, err = f.stakingKeeper.Undelegate(f.ctx, delegatorAddr2, validatorAddr1, shares2)
@@ -470,9 +488,9 @@ func TestGRPCDelegation(t *testing.T) {
f := initDeterministicFixture(t)
rapid.Check(t, func(rt *rapid.T) {
validator := createAndSetValidatorWithStatus(rt, f, t, stakingtypes.Bonded)
validator := createAndSetValidatorWithStatus(t, rt, f, stakingtypes.Bonded)
delegator := testdata.AddressGenerator(rt).Draw(rt, "delegator")
_, err := createDelegationAndDelegate(rt, f, t, delegator, validator)
_, err := createDelegationAndDelegate(t, rt, f, delegator, validator)
assert.NilError(t, err)
req := &stakingtypes.QueryDelegationRequest{
@@ -485,8 +503,8 @@ func TestGRPCDelegation(t *testing.T) {
f = initDeterministicFixture(t) // reset
validator := getStaticValidator(f, t)
_, err := fundAccountAndDelegate(f, t, delegatorAddr1, validator, f.amt1)
validator := getStaticValidator(t, f)
_, err := fundAccountAndDelegate(t, f, delegatorAddr1, validator, f.amt1)
assert.NilError(t, err)
req := &stakingtypes.QueryDelegationRequest{
@@ -502,9 +520,9 @@ func TestGRPCUnbondingDelegation(t *testing.T) {
f := initDeterministicFixture(t)
rapid.Check(t, func(rt *rapid.T) {
validator := createAndSetValidatorWithStatus(rt, f, t, stakingtypes.Bonded)
validator := createAndSetValidatorWithStatus(t, rt, f, stakingtypes.Bonded)
delegator := testdata.AddressGenerator(rt).Draw(rt, "delegator")
shares, err := createDelegationAndDelegate(rt, f, t, delegator, validator)
shares, err := createDelegationAndDelegate(t, rt, f, delegator, validator)
assert.NilError(t, err)
valbz, err := f.stakingKeeper.ValidatorAddressCodec().StringToBytes(validator.GetOperator())
@@ -521,9 +539,9 @@ func TestGRPCUnbondingDelegation(t *testing.T) {
})
f = initDeterministicFixture(t) // reset
validator := getStaticValidator(f, t)
validator := getStaticValidator(t, f)
shares1, err := fundAccountAndDelegate(f, t, delegatorAddr1, validator, f.amt1)
shares1, err := fundAccountAndDelegate(t, f, delegatorAddr1, validator, f.amt1)
assert.NilError(t, err)
_, _, err = f.stakingKeeper.Undelegate(f.ctx, delegatorAddr1, validatorAddr1, shares1)
@@ -546,8 +564,8 @@ func TestGRPCDelegatorDelegations(t *testing.T) {
delegator := testdata.AddressGenerator(rt).Draw(rt, "delegator")
for i := 0; i < numVals; i++ {
validator := createAndSetValidatorWithStatus(rt, f, t, stakingtypes.Bonded)
_, err := createDelegationAndDelegate(rt, f, t, delegator, validator)
validator := createAndSetValidatorWithStatus(t, rt, f, stakingtypes.Bonded)
_, err := createDelegationAndDelegate(t, rt, f, delegator, validator)
assert.NilError(t, err)
}
@@ -561,8 +579,8 @@ func TestGRPCDelegatorDelegations(t *testing.T) {
f = initDeterministicFixture(t) // reset
validator := getStaticValidator(f, t)
_, err := fundAccountAndDelegate(f, t, delegatorAddr1, validator, f.amt1)
validator := getStaticValidator(t, f)
_, err := fundAccountAndDelegate(t, f, delegatorAddr1, validator, f.amt1)
assert.NilError(t, err)
req := &stakingtypes.QueryDelegatorDelegationsRequest{
@@ -577,10 +595,10 @@ func TestGRPCDelegatorValidator(t *testing.T) {
f := initDeterministicFixture(t)
rapid.Check(t, func(rt *rapid.T) {
validator := createAndSetValidatorWithStatus(rt, f, t, stakingtypes.Bonded)
validator := createAndSetValidatorWithStatus(t, rt, f, stakingtypes.Bonded)
delegator := testdata.AddressGenerator(rt).Draw(rt, "delegator")
_, err := createDelegationAndDelegate(rt, f, t, delegator, validator)
_, err := createDelegationAndDelegate(t, rt, f, delegator, validator)
assert.NilError(t, err)
req := &stakingtypes.QueryDelegatorValidatorRequest{
@@ -593,8 +611,8 @@ func TestGRPCDelegatorValidator(t *testing.T) {
f = initDeterministicFixture(t) // reset
validator := getStaticValidator(f, t)
_, err := fundAccountAndDelegate(f, t, delegatorAddr1, validator, f.amt1)
validator := getStaticValidator(t, f)
_, err := fundAccountAndDelegate(t, f, delegatorAddr1, validator, f.amt1)
assert.NilError(t, err)
@@ -615,8 +633,8 @@ func TestGRPCDelegatorUnbondingDelegations(t *testing.T) {
delegator := testdata.AddressGenerator(rt).Draw(rt, "delegator")
for i := 0; i < numVals; i++ {
validator := createAndSetValidatorWithStatus(rt, f, t, stakingtypes.Bonded)
shares, err := createDelegationAndDelegate(rt, f, t, delegator, validator)
validator := createAndSetValidatorWithStatus(t, rt, f, stakingtypes.Bonded)
shares, err := createDelegationAndDelegate(t, rt, f, delegator, validator)
assert.NilError(t, err)
valbz, err := f.stakingKeeper.ValidatorAddressCodec().StringToBytes(validator.GetOperator())
assert.NilError(t, err)
@@ -634,8 +652,8 @@ func TestGRPCDelegatorUnbondingDelegations(t *testing.T) {
f = initDeterministicFixture(t) // reset
validator := getStaticValidator(f, t)
shares1, err := fundAccountAndDelegate(f, t, delegatorAddr1, validator, f.amt1)
validator := getStaticValidator(t, f)
shares1, err := fundAccountAndDelegate(t, f, delegatorAddr1, validator, f.amt1)
assert.NilError(t, err)
_, _, err = f.stakingKeeper.Undelegate(f.ctx, delegatorAddr1, validatorAddr1, shares1)
@@ -656,7 +674,7 @@ func TestGRPCHistoricalInfo(t *testing.T) {
numVals := rapid.IntRange(1, 5).Draw(rt, "num-vals")
vals := stakingtypes.Validators{}
for i := 0; i < numVals; i++ {
validator := createAndSetValidatorWithStatus(rt, f, t, stakingtypes.Bonded)
validator := createAndSetValidatorWithStatus(t, rt, f, stakingtypes.Bonded)
vals.Validators = append(vals.Validators, validator)
}
@@ -682,7 +700,7 @@ func TestGRPCHistoricalInfo(t *testing.T) {
f = initDeterministicFixture(t) // reset
validator := getStaticValidator(f, t)
validator := getStaticValidator(t, f)
historicalInfo := stakingtypes.HistoricalInfo{
Header: cmtproto.Header{},
@@ -713,8 +731,8 @@ func TestGRPCDelegatorValidators(t *testing.T) {
delegator := testdata.AddressGenerator(rt).Draw(rt, "delegator")
for i := 0; i < numVals; i++ {
validator := createAndSetValidatorWithStatus(rt, f, t, stakingtypes.Bonded)
_, err := createDelegationAndDelegate(rt, f, t, delegator, validator)
validator := createAndSetValidatorWithStatus(t, rt, f, stakingtypes.Bonded)
_, err := createDelegationAndDelegate(t, rt, f, delegator, validator)
assert.NilError(t, err)
}
@@ -728,9 +746,9 @@ func TestGRPCDelegatorValidators(t *testing.T) {
f = initDeterministicFixture(t) // reset
validator := getStaticValidator(f, t)
validator := getStaticValidator(t, f)
_, err := fundAccountAndDelegate(f, t, delegatorAddr1, validator, f.amt1)
_, err := fundAccountAndDelegate(t, f, delegatorAddr1, validator, f.amt1)
assert.NilError(t, err)
req := &stakingtypes.QueryDelegatorValidatorsRequest{DelegatorAddr: delegator1}
@@ -742,13 +760,13 @@ func TestGRPCPool(t *testing.T) {
f := initDeterministicFixture(t)
rapid.Check(t, func(rt *rapid.T) {
createAndSetValidator(rt, f, t)
createAndSetValidator(t, rt, f)
testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryPoolRequest{}, f.queryClient.Pool, 0, true)
})
f = initDeterministicFixture(t) // reset
getStaticValidator(f, t)
getStaticValidator(t, f)
testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryPoolRequest{}, f.queryClient.Pool, 6242, false)
}
@@ -757,18 +775,18 @@ func TestGRPCRedelegations(t *testing.T) {
f := initDeterministicFixture(t)
rapid.Check(t, func(rt *rapid.T) {
validator := createAndSetValidatorWithStatus(rt, f, t, stakingtypes.Bonded)
validator := createAndSetValidatorWithStatus(t, rt, f, stakingtypes.Bonded)
srcValAddr, err := sdk.ValAddressFromBech32(validator.OperatorAddress)
assert.NilError(t, err)
validator2 := createAndSetValidatorWithStatus(rt, f, t, stakingtypes.Bonded)
validator2 := createAndSetValidatorWithStatus(t, rt, f, stakingtypes.Bonded)
dstValAddr, err := sdk.ValAddressFromBech32(validator2.OperatorAddress)
assert.NilError(t, err)
numDels := rapid.IntRange(1, 5).Draw(rt, "num-dels")
delegator := testdata.AddressGenerator(rt).Draw(rt, "delegator")
shares, err := createDelegationAndDelegate(rt, f, t, delegator, validator)
shares, err := createDelegationAndDelegate(t, rt, f, delegator, validator)
assert.NilError(t, err)
_, err = f.stakingKeeper.BeginRedelegation(f.ctx, delegator, srcValAddr, dstValAddr, shares)
@@ -799,10 +817,10 @@ func TestGRPCRedelegations(t *testing.T) {
})
f = initDeterministicFixture(t) // reset
validator := getStaticValidator(f, t)
_ = getStaticValidator2(f, t)
validator := getStaticValidator(t, f)
_ = getStaticValidator2(t, f)
shares, err := fundAccountAndDelegate(f, t, delegatorAddr1, validator, f.amt1)
shares, err := fundAccountAndDelegate(t, f, delegatorAddr1, validator, f.amt1)
assert.NilError(t, err)
_, err = f.stakingKeeper.BeginRedelegation(f.ctx, delegatorAddr1, validatorAddr1, validatorAddr2, shares)
@@ -18,7 +18,9 @@ import (
)
func bootstrapGenesisTest(t *testing.T, numAddrs int) (*fixture, []sdk.AccAddress) {
t.Helper()
t.Parallel()
f := initFixture(t)
addrDels, _ := generateAddresses(f, numAddrs)
@@ -17,6 +17,8 @@ import (
)
func createValidatorAccs(t *testing.T, f *fixture) ([]sdk.AccAddress, []types.Validator) {
t.Helper()
addrs, _, validators := createValidators(&testing.T{}, f, []int64{9, 8, 7})
header := cmtproto.Header{
ChainID: "HelloChain",
@@ -20,7 +20,9 @@ import (
// bootstrapSlashTest creates 3 validators and bootstrap the app.
func bootstrapSlashTest(t *testing.T, power int64) (*fixture, []sdk.AccAddress, []sdk.ValAddress) {
t.Helper()
t.Parallel()
f := initFixture(t)
addrDels, addrVals := generateAddresses(f, 100)
@@ -19,6 +19,8 @@ import (
// SetupUnbondingTests creates two validators and setup mocked staking hooks for testing unbonding
func SetupUnbondingTests(t *testing.T, f *fixture, hookCalled *bool, ubdeID *uint64) (bondDenom string, addrDels []sdk.AccAddress, addrVals []sdk.ValAddress) {
t.Helper()
// setup hooks
mockCtrl := gomock.NewController(t)
mockStackingHooks := testutil.NewMockStakingHooks(mockCtrl)
@@ -92,6 +94,8 @@ func doUnbondingDelegation(
addrVals []sdk.ValAddress,
hookCalled *bool,
) (completionTime time.Time, bondedAmt, notBondedAmt math.Int) {
t.Helper()
// UNDELEGATE
// Save original bonded and unbonded amounts
bondedAmt1 := bankKeeper.GetBalance(ctx, stakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount
@@ -129,6 +133,8 @@ func doRedelegation(
addrVals []sdk.ValAddress,
hookCalled *bool,
) (completionTime time.Time) {
t.Helper()
var err error
completionTime, err = stakingKeeper.BeginRedelegation(ctx, addrDels[0], addrVals[0], addrVals[1], math.LegacyNewDec(1))
assert.NilError(t, err)
@@ -152,6 +158,8 @@ func doValidatorUnbonding(
addrVal sdk.ValAddress,
hookCalled *bool,
) (validator types.Validator) {
t.Helper()
validator, found := stakingKeeper.GetValidator(ctx, addrVal)
assert.Assert(t, found)
// Check that status is bonded
@@ -5,6 +5,8 @@ import (
"fmt"
"testing"
"github.com/stretchr/testify/require"
"cosmossdk.io/math"
storetypes "cosmossdk.io/store/types"
@@ -13,7 +15,7 @@ import (
"github.com/cosmos/cosmos-sdk/x/staking/types"
)
func BenchmarkGetValidator(b *testing.B) {
func BenchmarkGetValidator(tb *testing.B) {
// 900 is the max number we are allowed to use in order to avoid simtestutil.CreateTestPubKeys
// panic: encoding/hex: odd length hex string
powersNumber := 900
@@ -25,21 +27,21 @@ func BenchmarkGetValidator(b *testing.B) {
totalPower += int64(i)
}
f, _, valAddrs, vals := initValidators(b, totalPower, len(powers), powers)
f, _, valAddrs, vals := initValidators(tb, totalPower, len(powers), powers)
for _, validator := range vals {
f.stakingKeeper.SetValidator(f.sdkCtx, validator)
require.NoError(tb, f.stakingKeeper.SetValidator(f.sdkCtx, validator))
}
b.ResetTimer()
for n := 0; n < b.N; n++ {
tb.ResetTimer()
for n := 0; n < tb.N; n++ {
for _, addr := range valAddrs {
_, _ = f.stakingKeeper.GetValidator(f.sdkCtx, addr)
}
}
}
func BenchmarkGetValidatorDelegations(b *testing.B) {
func BenchmarkGetValidatorDelegations(tb *testing.B) {
var totalPower int64
powersNumber := 10
@@ -49,17 +51,17 @@ func BenchmarkGetValidatorDelegations(b *testing.B) {
totalPower += int64(i)
}
f, _, valAddrs, vals := initValidators(b, totalPower, len(powers), powers)
f, _, valAddrs, vals := initValidators(tb, totalPower, len(powers), powers)
for _, validator := range vals {
f.stakingKeeper.SetValidator(f.sdkCtx, validator)
require.NoError(tb, f.stakingKeeper.SetValidator(f.sdkCtx, validator))
}
delegationsNum := 1000
for _, val := range valAddrs {
for i := 0; i < delegationsNum; i++ {
delegator := sdk.AccAddress(fmt.Sprintf("address%d", i))
banktestutil.FundAccount(f.sdkCtx, f.bankKeeper, delegator,
sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, math.NewInt(int64(i)))))
require.NoError(tb, banktestutil.FundAccount(f.sdkCtx, f.bankKeeper, delegator,
sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, math.NewInt(int64(i))))))
NewDel := types.NewDelegation(delegator.String(), val.String(), math.LegacyNewDec(int64(i)))
if err := f.stakingKeeper.SetDelegation(f.sdkCtx, NewDel); err != nil {
@@ -68,13 +70,13 @@ func BenchmarkGetValidatorDelegations(b *testing.B) {
}
}
b.ResetTimer()
for n := 0; n < b.N; n++ {
tb.ResetTimer()
for n := 0; n < tb.N; n++ {
updateValidatorDelegations(f, valAddrs[0], sdk.ValAddress("val"))
}
}
func BenchmarkGetValidatorDelegationsLegacy(b *testing.B) {
func BenchmarkGetValidatorDelegationsLegacy(tb *testing.B) {
var totalPower int64
powersNumber := 10
@@ -84,17 +86,17 @@ func BenchmarkGetValidatorDelegationsLegacy(b *testing.B) {
totalPower += int64(i)
}
f, _, valAddrs, vals := initValidators(b, totalPower, len(powers), powers)
f, _, valAddrs, vals := initValidators(tb, totalPower, len(powers), powers)
for _, validator := range vals {
f.stakingKeeper.SetValidator(f.sdkCtx, validator)
require.NoError(tb, f.stakingKeeper.SetValidator(f.sdkCtx, validator))
}
delegationsNum := 1000
for _, val := range valAddrs {
for i := 0; i < delegationsNum; i++ {
delegator := sdk.AccAddress(fmt.Sprintf("address%d", i))
banktestutil.FundAccount(f.sdkCtx, f.bankKeeper, delegator, sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, math.NewInt(int64(i)))))
require.NoError(tb, banktestutil.FundAccount(f.sdkCtx, f.bankKeeper, delegator, sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, math.NewInt(int64(i))))))
NewDel := types.NewDelegation(delegator.String(), val.String(), math.LegacyNewDec(int64(i)))
if err := f.stakingKeeper.SetDelegation(f.sdkCtx, NewDel); err != nil {
panic(err)
@@ -102,8 +104,8 @@ func BenchmarkGetValidatorDelegationsLegacy(b *testing.B) {
}
}
b.ResetTimer()
for n := 0; n < b.N; n++ {
tb.ResetTimer()
for n := 0; n < tb.N; n++ {
updateValidatorDelegationsLegacy(f, valAddrs[0], sdk.ValAddress("val"))
}
}
@@ -129,7 +131,9 @@ func updateValidatorDelegationsLegacy(f *fixture, existingValAddr, newValAddr sd
panic(err)
}
delegation.ValidatorAddress = newValAddr.String()
k.SetDelegation(f.sdkCtx, delegation)
if err := k.SetDelegation(f.sdkCtx, delegation); err != nil {
panic(err)
}
}
}
}
@@ -160,6 +164,8 @@ func updateValidatorDelegations(f *fixture, existingValAddr, newValAddr sdk.ValA
delegation.ValidatorAddress = newValAddr.String()
// add with new operator addr
k.SetDelegation(f.sdkCtx, delegation)
if err := k.SetDelegation(f.sdkCtx, delegation); err != nil {
panic(err)
}
}
}
@@ -25,13 +25,15 @@ func newMonikerValidator(tb testing.TB, operator sdk.ValAddress, pubKey cryptoty
return v
}
func bootstrapValidatorTest(t testing.TB, power int64, numAddrs int) (*fixture, []sdk.AccAddress, []sdk.ValAddress) {
f := initFixture(t)
func bootstrapValidatorTest(tb testing.TB, power int64, numAddrs int) (*fixture, []sdk.AccAddress, []sdk.ValAddress) {
tb.Helper()
f := initFixture(tb)
addrDels, addrVals := generateAddresses(f, numAddrs)
bondDenom, err := f.stakingKeeper.BondDenom(f.sdkCtx)
assert.NilError(t, err)
assert.NilError(tb, err)
amt := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, power)
totalSupply := sdk.NewCoins(sdk.NewCoin(bondDenom, amt.MulRaw(int64(len(addrDels)))))
@@ -41,18 +43,20 @@ func bootstrapValidatorTest(t testing.TB, power int64, numAddrs int) (*fixture,
// set bonded pool supply
f.accountKeeper.SetModuleAccount(f.sdkCtx, notBondedPool)
assert.NilError(t, banktestutil.FundModuleAccount(f.sdkCtx, f.bankKeeper, notBondedPool.GetName(), totalSupply))
assert.NilError(tb, banktestutil.FundModuleAccount(f.sdkCtx, f.bankKeeper, notBondedPool.GetName(), totalSupply))
return f, addrDels, addrVals
}
func initValidators(t testing.TB, power int64, numAddrs int, powers []int64) (*fixture, []sdk.AccAddress, []sdk.ValAddress, []types.Validator) {
f, addrs, valAddrs := bootstrapValidatorTest(t, power, numAddrs)
func initValidators(tb testing.TB, power int64, numAddrs int, powers []int64) (*fixture, []sdk.AccAddress, []sdk.ValAddress, []types.Validator) {
tb.Helper()
f, addrs, valAddrs := bootstrapValidatorTest(tb, power, numAddrs)
pks := simtestutil.CreateTestPubKeys(numAddrs)
vs := make([]types.Validator, len(powers))
for i, power := range powers {
vs[i] = testutil.NewValidator(t, sdk.ValAddress(addrs[i]), pks[i])
vs[i] = testutil.NewValidator(tb, sdk.ValAddress(addrs[i]), pks[i])
tokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, power)
vs[i], _ = vs[i].AddTokensFromDel(tokens)
}
@@ -100,7 +104,7 @@ func TestUpdateBondedValidatorsDecreaseCliff(t *testing.T) {
// remove enough tokens to kick out the validator below the current cliff
// validator and next in line cliff validator
f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, nextCliffVal)
assert.NilError(t, f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, nextCliffVal))
shares := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 21)
nextCliffVal, _ = nextCliffVal.RemoveDelShares(math.LegacyNewDecFromInt(shares))
_ = keeper.TestingUpdateValidator(f.stakingKeeper, f.sdkCtx, nextCliffVal, true)
@@ -142,12 +146,13 @@ func TestSlashToZeroPowerRemoved(t *testing.T) {
validator, _ = validator.AddTokensFromDel(valTokens)
assert.Equal(t, types.Unbonded, validator.Status)
assert.DeepEqual(t, valTokens, validator.Tokens)
f.stakingKeeper.SetValidatorByConsAddr(f.sdkCtx, validator)
assert.NilError(t, f.stakingKeeper.SetValidatorByConsAddr(f.sdkCtx, validator))
validator = keeper.TestingUpdateValidator(f.stakingKeeper, f.sdkCtx, validator, true)
assert.DeepEqual(t, valTokens, validator.Tokens)
// slash the validator by 100%
f.stakingKeeper.Slash(f.sdkCtx, sdk.ConsAddress(PKs[0].Address()), 0, 100, math.LegacyOneDec())
_, err = f.stakingKeeper.Slash(f.sdkCtx, sdk.ConsAddress(PKs[0].Address()), 0, 100, math.LegacyOneDec())
assert.NilError(t, err)
// apply TM updates
applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, -1)
// validator should be unbonding
@@ -318,7 +323,7 @@ func TestGetValidatorsEdgeCases(t *testing.T) {
assert.NilError(t, err)
nMax := uint32(2)
params.MaxValidators = nMax
f.stakingKeeper.SetParams(f.sdkCtx, params)
assert.NilError(t, f.stakingKeeper.SetParams(f.sdkCtx, params))
// initialize some validators into the state
powers := []int64{0, 100, 400, 400}
@@ -344,7 +349,7 @@ func TestGetValidatorsEdgeCases(t *testing.T) {
assert.Assert(ValEq(t, validators[3], resValidators[1]))
// delegate 500 tokens to validator 0
f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[0])
assert.NilError(t, f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[0]))
delTokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 500)
validators[0], _ = validators[0].AddTokensFromDel(delTokens)
notBondedPool := f.stakingKeeper.GetNotBondedPool(f.sdkCtx)
@@ -381,7 +386,7 @@ func TestGetValidatorsEdgeCases(t *testing.T) {
validators[3], err = f.stakingKeeper.GetValidator(f.sdkCtx, valbz)
assert.NilError(t, err)
f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[3])
assert.NilError(t, f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[3]))
validators[3], _ = validators[3].AddTokensFromDel(f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 1))
notBondedPool = f.stakingKeeper.GetNotBondedPool(f.sdkCtx)
@@ -397,7 +402,7 @@ func TestGetValidatorsEdgeCases(t *testing.T) {
assert.Assert(ValEq(t, validators[3], resValidators[1]))
// validator 3 kicked out temporarily
f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[3])
assert.NilError(t, f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[3]))
rmTokens := validators[3].TokensFromShares(math.LegacyNewDec(201)).TruncateInt()
validators[3], _ = validators[3].RemoveDelShares(math.LegacyNewDec(201))
@@ -413,7 +418,7 @@ func TestGetValidatorsEdgeCases(t *testing.T) {
assert.Assert(ValEq(t, validators[2], resValidators[1]))
// validator 3 does not get spot back
f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[3])
assert.NilError(t, f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[3]))
validators[3], _ = validators[3].AddTokensFromDel(math.NewInt(200))
notBondedPool = f.stakingKeeper.GetNotBondedPool(f.sdkCtx)
@@ -437,7 +442,7 @@ func TestValidatorBondHeight(t *testing.T) {
params, err := f.stakingKeeper.GetParams(f.sdkCtx)
assert.NilError(t, err)
params.MaxValidators = 2
f.stakingKeeper.SetParams(f.sdkCtx, params)
assert.NilError(t, f.stakingKeeper.SetParams(f.sdkCtx, params))
// initialize some validators into the state
var validators [3]types.Validator
@@ -466,8 +471,8 @@ func TestValidatorBondHeight(t *testing.T) {
assert.Assert(ValEq(t, validators[0], resValidators[0]))
assert.Assert(ValEq(t, validators[1], resValidators[1]))
f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[1])
f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[2])
assert.NilError(t, f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[1]))
assert.NilError(t, f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[2]))
delTokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 50)
validators[1], _ = validators[1].AddTokensFromDel(delTokens)
validators[2], _ = validators[2].AddTokensFromDel(delTokens)
@@ -484,8 +489,8 @@ func TestFullValidatorSetPowerChange(t *testing.T) {
f, addrs, _ := bootstrapValidatorTest(t, 1000, 20)
params, err := f.stakingKeeper.GetParams(f.sdkCtx)
assert.NilError(t, err)
max := 2
params.MaxValidators = uint32(2)
maxValidators := 2
params.MaxValidators = uint32(maxValidators)
assert.NilError(t, f.stakingKeeper.SetParams(f.sdkCtx, params))
// initialize some validators into the state
@@ -511,7 +516,7 @@ func TestFullValidatorSetPowerChange(t *testing.T) {
assert.Equal(t, types.Unbonded, validators[4].Status)
resValidators, err := f.stakingKeeper.GetBondedValidatorsByPower(f.sdkCtx)
assert.NilError(t, err)
assert.Equal(t, max, len(resValidators))
assert.Equal(t, maxValidators, len(resValidators))
assert.Assert(ValEq(t, validators[2], resValidators[0])) // in the order of txs
assert.Assert(ValEq(t, validators[3], resValidators[1]))
@@ -522,7 +527,7 @@ func TestFullValidatorSetPowerChange(t *testing.T) {
validators[0] = keeper.TestingUpdateValidator(f.stakingKeeper, f.sdkCtx, validators[0], true)
resValidators, err = f.stakingKeeper.GetBondedValidatorsByPower(f.sdkCtx)
assert.NilError(t, err)
assert.Equal(t, max, len(resValidators))
assert.Equal(t, maxValidators, len(resValidators))
assert.Assert(ValEq(t, validators[0], resValidators[0]))
assert.Assert(ValEq(t, validators[2], resValidators[1]))
}
@@ -544,10 +549,10 @@ func TestApplyAndReturnValidatorSetUpdatesAllNone(t *testing.T) {
// test from nothing to something
// tendermintUpdate set: {} -> {c1, c3}
applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, 0)
f.stakingKeeper.SetValidator(f.sdkCtx, validators[0])
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[0])
f.stakingKeeper.SetValidator(f.sdkCtx, validators[1])
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[1])
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validators[0]))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[0]))
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validators[1]))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[1]))
updates := applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, 2)
val0bz, err := f.stakingKeeper.ValidatorAddressCodec().StringToBytes(validators[0].GetOperator())
@@ -642,8 +647,8 @@ func TestApplyAndReturnValidatorSetUpdatesInserted(t *testing.T) {
// test validtor added at the beginning
// tendermintUpdate set: {} -> {c0}
f.stakingKeeper.SetValidator(f.sdkCtx, validators[2])
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[2])
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validators[2]))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[2]))
updates := applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, 1)
val2bz, err := f.stakingKeeper.ValidatorAddressCodec().StringToBytes(validators[2].GetOperator())
assert.NilError(t, err)
@@ -652,8 +657,8 @@ func TestApplyAndReturnValidatorSetUpdatesInserted(t *testing.T) {
// test validtor added at the beginning
// tendermintUpdate set: {} -> {c0}
f.stakingKeeper.SetValidator(f.sdkCtx, validators[3])
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[3])
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validators[3]))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[3]))
updates = applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, 1)
val3bz, err := f.stakingKeeper.ValidatorAddressCodec().StringToBytes(validators[3].GetOperator())
assert.NilError(t, err)
@@ -662,8 +667,8 @@ func TestApplyAndReturnValidatorSetUpdatesInserted(t *testing.T) {
// test validtor added at the end
// tendermintUpdate set: {} -> {c0}
f.stakingKeeper.SetValidator(f.sdkCtx, validators[4])
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[4])
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validators[4]))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[4]))
updates = applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, 1)
val4bz, err := f.stakingKeeper.ValidatorAddressCodec().StringToBytes(validators[4].GetOperator())
assert.NilError(t, err)
@@ -675,7 +680,7 @@ func TestApplyAndReturnValidatorSetUpdatesWithCliffValidator(t *testing.T) {
f, addrs, _ := bootstrapValidatorTest(t, 1000, 20)
params := types.DefaultParams()
params.MaxValidators = 2
f.stakingKeeper.SetParams(f.sdkCtx, params)
assert.NilError(t, f.stakingKeeper.SetParams(f.sdkCtx, params))
powers := []int64{10, 20, 5}
var validators [5]types.Validator
@@ -699,8 +704,8 @@ func TestApplyAndReturnValidatorSetUpdatesWithCliffValidator(t *testing.T) {
tokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 10)
validators[2], _ = validators[2].AddTokensFromDel(tokens)
f.stakingKeeper.SetValidator(f.sdkCtx, validators[2])
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[2])
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validators[2]))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[2]))
updates := applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, 2)
val2bz, err := f.stakingKeeper.ValidatorAddressCodec().StringToBytes(validators[2].GetOperator())
assert.NilError(t, err)
@@ -729,8 +734,8 @@ func TestApplyAndReturnValidatorSetUpdatesNewValidator(t *testing.T) {
tokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, power)
validators[i], _ = validators[i].AddTokensFromDel(tokens)
f.stakingKeeper.SetValidator(f.sdkCtx, validators[i])
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[i])
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validators[i]))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[i]))
}
// verify initial CometBFT updates are correct
@@ -750,12 +755,12 @@ func TestApplyAndReturnValidatorSetUpdatesNewValidator(t *testing.T) {
// update initial validator set
for i, power := range powers {
f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[i])
assert.NilError(t, f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[i]))
tokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, power)
validators[i], _ = validators[i].AddTokensFromDel(tokens)
f.stakingKeeper.SetValidator(f.sdkCtx, validators[i])
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[i])
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validators[i]))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[i]))
}
// add a new validator that goes from zero power, to non-zero power, back to
@@ -767,11 +772,11 @@ func TestApplyAndReturnValidatorSetUpdatesNewValidator(t *testing.T) {
validator := testutil.NewValidator(t, valAddr, valPubKey)
validator, _ = validator.AddTokensFromDel(amt)
f.stakingKeeper.SetValidator(f.sdkCtx, validator)
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validator))
validator, _ = validator.RemoveDelShares(math.LegacyNewDecFromInt(amt))
f.stakingKeeper.SetValidator(f.sdkCtx, validator)
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validator)
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validator))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validator))
// add a new validator that increases in power
valPubKey = PKs[len(validators)+2]
@@ -780,8 +785,8 @@ func TestApplyAndReturnValidatorSetUpdatesNewValidator(t *testing.T) {
validator = testutil.NewValidator(t, valAddr, valPubKey)
tokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 500)
validator, _ = validator.AddTokensFromDel(tokens)
f.stakingKeeper.SetValidator(f.sdkCtx, validator)
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validator)
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validator))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validator))
// verify initial CometBFT updates are correct
updates = applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, len(validators)+1)
@@ -815,8 +820,8 @@ func TestApplyAndReturnValidatorSetUpdatesBondTransition(t *testing.T) {
validators[i] = newMonikerValidator(t, valAddr, valPubKey, moniker)
tokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, power)
validators[i], _ = validators[i].AddTokensFromDel(tokens)
f.stakingKeeper.SetValidator(f.sdkCtx, validators[i])
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[i])
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validators[i]))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[i]))
}
// verify initial CometBFT updates are correct
@@ -840,11 +845,11 @@ func TestApplyAndReturnValidatorSetUpdatesBondTransition(t *testing.T) {
validators[0], err = f.stakingKeeper.GetValidator(f.sdkCtx, val0bz)
assert.NilError(t, err)
f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[0])
assert.NilError(t, f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[0]))
tokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 1)
validators[0], _ = validators[0].AddTokensFromDel(tokens)
f.stakingKeeper.SetValidator(f.sdkCtx, validators[0])
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[0])
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validators[0]))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[0]))
// verify initial CometBFT updates are correct
applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, 0)
@@ -856,17 +861,17 @@ func TestApplyAndReturnValidatorSetUpdatesBondTransition(t *testing.T) {
validators[1], err = f.stakingKeeper.GetValidator(f.sdkCtx, val1bz)
assert.NilError(t, err)
f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[0])
assert.NilError(t, f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[0]))
validators[0], _ = validators[0].RemoveDelShares(validators[0].DelegatorShares)
f.stakingKeeper.SetValidator(f.sdkCtx, validators[0])
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[0])
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validators[0]))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[0]))
applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, 0)
f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[1])
assert.NilError(t, f.stakingKeeper.DeleteValidatorByPowerIndex(f.sdkCtx, validators[1]))
tokens = f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 250)
validators[1], _ = validators[1].AddTokensFromDel(tokens)
f.stakingKeeper.SetValidator(f.sdkCtx, validators[1])
f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[1])
assert.NilError(t, f.stakingKeeper.SetValidator(f.sdkCtx, validators[1]))
assert.NilError(t, f.stakingKeeper.SetValidatorByPowerIndex(f.sdkCtx, validators[1]))
// verify initial CometBFT updates are correct
updates = applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, 1)
@@ -876,6 +881,8 @@ func TestApplyAndReturnValidatorSetUpdatesBondTransition(t *testing.T) {
}
func applyValidatorSetUpdates(t *testing.T, ctx sdk.Context, k *keeper.Keeper, expectedUpdatesLen int) []abci.ValidatorUpdate {
t.Helper()
updates, err := k.ApplyAndReturnValidatorSetUpdates(ctx)
assert.NilError(t, err)
if expectedUpdatesLen >= 0 {
@@ -7,6 +7,7 @@ import (
abci "github.com/cometbft/cometbft/abci/types"
cmtproto "github.com/cometbft/cometbft/proto/tendermint/types"
dbm "github.com/cosmos/cosmos-db"
"github.com/stretchr/testify/require"
"gotest.tools/v3/assert"
"cosmossdk.io/log"
@@ -31,16 +32,19 @@ func TestRollback(t *testing.T) {
AppHash: app.LastCommitID().Hash,
}
app.FinalizeBlock(&abci.RequestFinalizeBlock{
_, err := app.FinalizeBlock(&abci.RequestFinalizeBlock{
Height: header.Height,
})
require.NoError(t, err)
ctx := app.NewContextLegacy(false, header)
store := ctx.KVStore(app.GetKey("bank"))
store.Set([]byte("key"), []byte(fmt.Sprintf("value%d", i)))
app.FinalizeBlock(&abci.RequestFinalizeBlock{
_, err = app.FinalizeBlock(&abci.RequestFinalizeBlock{
Height: header.Height,
})
app.Commit()
require.NoError(t, err)
_, err = app.Commit()
require.NoError(t, err)
}
assert.Equal(t, ver0+10, app.LastBlockHeight())
@@ -63,14 +67,17 @@ func TestRollback(t *testing.T) {
Height: ver0 + i,
AppHash: app.LastCommitID().Hash,
}
app.FinalizeBlock(&abci.RequestFinalizeBlock{Height: header.Height})
_, err := app.FinalizeBlock(&abci.RequestFinalizeBlock{Height: header.Height})
require.NoError(t, err)
ctx := app.NewContextLegacy(false, header)
store := ctx.KVStore(app.GetKey("bank"))
store.Set([]byte("key"), []byte(fmt.Sprintf("VALUE%d", i)))
app.FinalizeBlock(&abci.RequestFinalizeBlock{
_, err = app.FinalizeBlock(&abci.RequestFinalizeBlock{
Height: header.Height,
})
app.Commit()
require.NoError(t, err)
_, err = app.Commit()
require.NoError(t, err)
}
assert.Equal(t, ver0+10, app.LastBlockHeight())
@@ -185,6 +185,8 @@ func TestAminoJSON_Equivalence(t *testing.T) {
}
func newAny(t *testing.T, msg proto.Message) *anypb.Any {
t.Helper()
bz, err := proto.Marshal(msg)
require.NoError(t, err)
typeName := fmt.Sprintf("/%s", msg.ProtoReflect().Descriptor().FullName())
@@ -271,7 +273,7 @@ func TestAminoJSON_LegacyParity(t *testing.T) {
},
"distribution/community_pool_spend_proposal_with_deposit": {
gogo: &disttypes.CommunityPoolSpendProposalWithDeposit{},
pulsar: &distapi.CommunityPoolSpendProposalWithDeposit{}, //nolint:staticcheck // keep test as is testing legacy parity
pulsar: &distapi.CommunityPoolSpendProposalWithDeposit{},
},
"distribution/msg_withdraw_delegator_reward": {
gogo: &disttypes.MsgWithdrawDelegatorReward{DelegatorAddress: "foo"},