chore: fix all linting (#24101)
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"github.com/stretchr/testify/suite"
|
||||
|
||||
"cosmossdk.io/simapp"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/testutil/network"
|
||||
)
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
})
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
})
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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,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), ""))
|
||||
|
||||
@@ -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()),
|
||||
|
||||
@@ -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"},
|
||||
|
||||
Reference in New Issue
Block a user