From 1b19ebaaebeca00b846efe7e9302bd7c93d8d071 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 10 May 2023 15:55:15 +0200 Subject: [PATCH] chore: fix linter --- .golangci.yml | 2 ++ simapp/helpers/test_helpers.go | 7 +++++ simapp/simd/cmd/cmd_test.go | 2 +- testutil/network/network.go | 23 +++++++++++++- testutil/network/util.go | 6 +++- .../client/testutil/withdraw_all_suite.go | 2 +- .../distribution/simulation/proposals.go | 2 +- .../distribution/types/distribution.pb.go | 11 +++---- .../genutil/types/genesis_state_test.go | 2 +- .../distribution/v1beta1/distribution.proto | 1 + .../distribution/v1beta1/distribution.proto | 1 + x/lsnative/staking/types/authz_test.go | 2 +- x/oracle/keeper/keeper.go | 12 ++++---- x/oracle/keeper/msg_server.go | 11 +++---- x/oracle/types/errors.go | 30 +++++++++---------- x/oracle/types/msgs.go | 29 +++++++++--------- 16 files changed, 91 insertions(+), 52 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 058771f34..b64e33896 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -3,8 +3,10 @@ run: skip-files: - schema/applications/base/application.go - utilities/cuckoo/filter.go + - x/lsnative/distribution/types/distribution.pb.go skip-dirs: - x/lsnative + - ibctesting linters: disable-all: false enable: diff --git a/simapp/helpers/test_helpers.go b/simapp/helpers/test_helpers.go index a0888c090..5c2d30ef5 100644 --- a/simapp/helpers/test_helpers.go +++ b/simapp/helpers/test_helpers.go @@ -39,14 +39,17 @@ func GenSignedMockTx(r *rand.Rand, txConfig client.TxConfig, msgs []sdk.Msg, fee } tx := txConfig.NewTxBuilder() + err := tx.SetMsgs(msgs...) if err != nil { return nil, err } + err = tx.SetSignatures(sigs...) if err != nil { return nil, err } + tx.SetMemo(memo) tx.SetFeeAmount(feeAmt) tx.SetGasLimit(gas) @@ -60,15 +63,19 @@ func GenSignedMockTx(r *rand.Rand, txConfig client.TxConfig, msgs []sdk.Msg, fee Sequence: accSeqs[i], PubKey: p.PubKey(), } + signBytes, err := txConfig.SignModeHandler().GetSignBytes(signMode, signerData, tx.GetTx()) if err != nil { panic(err) } + sig, err := p.Sign(signBytes) if err != nil { panic(err) } + sigs[i].Data.(*signing.SingleSignatureData).Signature = sig + err = tx.SetSignatures(sigs...) if err != nil { panic(err) diff --git a/simapp/simd/cmd/cmd_test.go b/simapp/simd/cmd/cmd_test.go index 4c3d5d15e..914f6e5f3 100644 --- a/simapp/simd/cmd/cmd_test.go +++ b/simapp/simd/cmd/cmd_test.go @@ -7,9 +7,9 @@ import ( "github.com/stretchr/testify/require" svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" - "github.com/persistenceOne/persistence-sdk/v2/x/lsnative/genutil/client/cli" "github.com/persistenceOne/persistence-sdk/v2/simapp" "github.com/persistenceOne/persistence-sdk/v2/simapp/simd/cmd" + "github.com/persistenceOne/persistence-sdk/v2/x/lsnative/genutil/client/cli" ) func TestInitCmd(t *testing.T) { diff --git a/testutil/network/network.go b/testutil/network/network.go index 992189b26..fd11da0f6 100644 --- a/testutil/network/network.go +++ b/testutil/network/network.go @@ -69,7 +69,7 @@ func NewAppConstructor(encodingCfg params.EncodingConfig) AppConstructor { // Config defines the necessary configuration used to bootstrap and start an // in-process local testing network. -type Config struct { +type Config struct { //nolint: maligned // not important Codec codec.Codec LegacyAmino *codec.LegacyAmino // TODO: Remove! InterfaceRegistry codectypes.InterfaceRegistry @@ -250,6 +250,7 @@ func New(l Logger, baseDir string, cfg Config) (*Network, error) { appCfg.GRPC.Enable = false appCfg.GRPCWeb.Enable = false apiListenAddr := "" + if i == 0 { if cfg.APIAddress != "" { apiListenAddr = cfg.APIAddress @@ -262,10 +263,12 @@ func New(l Logger, baseDir string, cfg Config) (*Network, error) { } appCfg.API.Address = apiListenAddr + apiURL, err := url.Parse(apiListenAddr) if err != nil { return nil, err } + apiAddr = fmt.Sprintf("http://%s:%s", apiURL.Hostname(), apiURL.Port()) if cfg.RPCAddress != "" { @@ -287,17 +290,20 @@ func New(l Logger, baseDir string, cfg Config) (*Network, error) { } appCfg.GRPC.Address = fmt.Sprintf("0.0.0.0:%s", grpcPort) } + appCfg.GRPC.Enable = true _, grpcWebPort, err := server.FreeTCPAddr() if err != nil { return nil, err } + appCfg.GRPCWeb.Address = fmt.Sprintf("0.0.0.0:%s", grpcWebPort) appCfg.GRPCWeb.Enable = true } logger := server.ZeroLogWrapper{Logger: zerolog.Nop()} + if cfg.EnableTMLogging { logWriter := zerolog.ConsoleWriter{Out: os.Stderr} logger = server.ZeroLogWrapper{Logger: zerolog.New(logWriter).Level(zerolog.InfoLevel).With().Timestamp().Logger()} @@ -328,6 +334,7 @@ func New(l Logger, baseDir string, cfg Config) (*Network, error) { if err != nil { return nil, err } + tmCfg.ProxyApp = proxyAddr p2pAddr, _, err := server.FreeTCPAddr() @@ -353,6 +360,7 @@ func New(l Logger, baseDir string, cfg Config) (*Network, error) { } keyringAlgos, _ := kb.SupportedAlgorithms() + algo, err := keyring.NewSigningAlgoFromString(cfg.SigningAlgo, keyringAlgos) if err != nil { return nil, err @@ -375,6 +383,7 @@ func New(l Logger, baseDir string, cfg Config) (*Network, error) { } info := map[string]string{"secret": secret} + infoBz, err := json.Marshal(info) if err != nil { return nil, err @@ -419,10 +428,12 @@ func New(l Logger, baseDir string, cfg Config) (*Network, error) { memo := fmt.Sprintf("%s@%s:%s", nodeIDs[i], p2pURL.Hostname(), p2pURL.Port()) fee := sdk.NewCoins(sdk.NewCoin(fmt.Sprintf("%stoken", nodeDirName), sdk.NewInt(0))) txBuilder := cfg.TxConfig.NewTxBuilder() + err = txBuilder.SetMsgs(createValMsg) if err != nil { return nil, err } + txBuilder.SetFeeAmount(fee) // Arbitrary fee txBuilder.SetGasLimit(1000000) // Need at least 100386 txBuilder.SetMemo(memo) @@ -443,6 +454,7 @@ func New(l Logger, baseDir string, cfg Config) (*Network, error) { if err != nil { return nil, err } + err = writeFile(fmt.Sprintf("%v.json", nodeDirName), gentxsDir, txBz) if err != nil { return nil, err @@ -481,17 +493,20 @@ func New(l Logger, baseDir string, cfg Config) (*Network, error) { if err != nil { return nil, err } + err = collectGenFiles(cfg, network.Validators, network.BaseDir) if err != nil { return nil, err } l.Log("starting test network...") + for idx, v := range network.Validators { err := startInProcess(cfg, v) if err != nil { return nil, err } + l.Log("started validator", idx) } @@ -535,9 +550,11 @@ func (n *Network) WaitForHeight(h int64) (int64, error) { // provide a custom timeout. func (n *Network) WaitForHeightWithTimeout(h int64, t time.Duration) (int64, error) { ticker := time.NewTicker(time.Second) + defer ticker.Stop() timeout := time.NewTimer(t) + defer timeout.Stop() if len(n.Validators) == 0 { @@ -545,6 +562,7 @@ func (n *Network) WaitForHeightWithTimeout(h int64, t time.Duration) (int64, err } var latestHeight int64 + val := n.Validators[0] for { @@ -602,6 +620,7 @@ func (n *Network) Cleanup() { if v.grpc != nil { v.grpc.Stop() + if v.grpcWeb != nil { _ = v.grpcWeb.Close() } @@ -645,9 +664,11 @@ func printMnemonic(l Logger, secret string) { l.Log("\n") l.Log(strings.Repeat("+", maxLineLength+8)) + for _, line := range lines { l.Logf("++ %s ++\n", centerText(line, maxLineLength)) } + l.Log(strings.Repeat("+", maxLineLength+8)) l.Log("\n") } diff --git a/testutil/network/util.go b/testutil/network/util.go index 9e3bc100a..c5f36fb20 100644 --- a/testutil/network/util.go +++ b/testutil/network/util.go @@ -114,6 +114,7 @@ func startInProcess(cfg Config, val *Validator) error { } } } + return nil } @@ -132,6 +133,7 @@ func collectGenFiles(cfg Config, vals []*Validator, outputDir string) error { initCfg := genutiltypes.NewInitConfig(cfg.ChainID, gentxsDir, vals[i].NodeID, vals[i].PubKey) genFile := tmCfg.GenesisFile() + genDoc, err := types.GenesisDocFromFile(genFile) if err != nil { return err @@ -155,6 +157,7 @@ func collectGenFiles(cfg Config, vals []*Validator, outputDir string) error { func initGenFiles(cfg Config, genAccounts []authtypes.GenesisAccount, genBalances []banktypes.Balance, genFiles []string) error { // set the accounts in the genesis state var authGenState authtypes.GenesisState + cfg.Codec.MustUnmarshalJSON(cfg.GenesisState[authtypes.ModuleName], &authGenState) accounts, err := authtypes.PackAccounts(genAccounts) @@ -167,6 +170,7 @@ func initGenFiles(cfg Config, genAccounts []authtypes.GenesisAccount, genBalance // set the balances in the genesis state var bankGenState banktypes.GenesisState + cfg.Codec.MustUnmarshalJSON(cfg.GenesisState[banktypes.ModuleName], &bankGenState) bankGenState.Balances = append(bankGenState.Balances, genBalances...) @@ -202,7 +206,7 @@ func writeFile(name string, dir string, contents []byte) error { return err } - err = os.WriteFile(file, contents, 0o644) // nolint: gosec + err = os.WriteFile(file, contents, 0o644) //nolint: gosec if err != nil { return err } diff --git a/x/lsnative/distribution/client/testutil/withdraw_all_suite.go b/x/lsnative/distribution/client/testutil/withdraw_all_suite.go index 48c7ee46a..caeb7b032 100644 --- a/x/lsnative/distribution/client/testutil/withdraw_all_suite.go +++ b/x/lsnative/distribution/client/testutil/withdraw_all_suite.go @@ -8,9 +8,9 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" clitestutil "github.com/cosmos/cosmos-sdk/testutil/cli" - "github.com/persistenceOne/persistence-sdk/v2/testutil/network" sdk "github.com/cosmos/cosmos-sdk/types" banktestutil "github.com/cosmos/cosmos-sdk/x/bank/client/testutil" + "github.com/persistenceOne/persistence-sdk/v2/testutil/network" "github.com/persistenceOne/persistence-sdk/v2/x/lsnative/distribution/client/cli" stakingcli "github.com/persistenceOne/persistence-sdk/v2/x/lsnative/staking/client/cli" "github.com/stretchr/testify/suite" diff --git a/x/lsnative/distribution/simulation/proposals.go b/x/lsnative/distribution/simulation/proposals.go index 04ccb50e8..66fc00ccb 100644 --- a/x/lsnative/distribution/simulation/proposals.go +++ b/x/lsnative/distribution/simulation/proposals.go @@ -3,10 +3,10 @@ package simulation import ( "math/rand" - simappparams "github.com/persistenceOne/persistence-sdk/v2/simapp/params" sdk "github.com/cosmos/cosmos-sdk/types" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" "github.com/cosmos/cosmos-sdk/x/simulation" + simappparams "github.com/persistenceOne/persistence-sdk/v2/simapp/params" "github.com/persistenceOne/persistence-sdk/v2/x/lsnative/distribution/keeper" "github.com/persistenceOne/persistence-sdk/v2/x/lsnative/distribution/types" ) diff --git a/x/lsnative/distribution/types/distribution.pb.go b/x/lsnative/distribution/types/distribution.pb.go index 64eae9ee4..0573595d2 100644 --- a/x/lsnative/distribution/types/distribution.pb.go +++ b/x/lsnative/distribution/types/distribution.pb.go @@ -80,11 +80,12 @@ func (m *Params) GetWithdrawAddrEnabled() bool { // The reference count indicates the number of objects // which might need to reference this historical entry at any point. // ReferenceCount = -// number of outstanding delegations which ended the associated period (and -// might need to read that record) -// + number of slashes which ended the associated period (and might need to -// read that record) -// + one per validator for the zeroeth period, set on initialization +// +// number of outstanding delegations which ended the associated period (and +// might need to read that record) +// + number of slashes which ended the associated period (and might need to +// read that record) +// + one per validator for the zeroeth period, set on initialization type ValidatorHistoricalRewards struct { CumulativeRewardRatio github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,1,rep,name=cumulative_reward_ratio,json=cumulativeRewardRatio,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"cumulative_reward_ratio"` ReferenceCount uint32 `protobuf:"varint,2,opt,name=reference_count,json=referenceCount,proto3" json:"reference_count,omitempty"` diff --git a/x/lsnative/genutil/types/genesis_state_test.go b/x/lsnative/genutil/types/genesis_state_test.go index 9a45898ee..2ab892aae 100644 --- a/x/lsnative/genutil/types/genesis_state_test.go +++ b/x/lsnative/genutil/types/genesis_state_test.go @@ -11,8 +11,8 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" sdk "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/persistenceOne/persistence-sdk/v2/x/lsnative/genutil/types" "github.com/persistenceOne/persistence-sdk/v2/simapp" + "github.com/persistenceOne/persistence-sdk/v2/x/lsnative/genutil/types" stakingtypes "github.com/persistenceOne/persistence-sdk/v2/x/lsnative/staking/types" ) diff --git a/x/lsnative/proto/lsnative/distribution/v1beta1/distribution.proto b/x/lsnative/proto/lsnative/distribution/v1beta1/distribution.proto index 67a4ad4b8..463fea25d 100644 --- a/x/lsnative/proto/lsnative/distribution/v1beta1/distribution.proto +++ b/x/lsnative/proto/lsnative/distribution/v1beta1/distribution.proto @@ -36,6 +36,7 @@ message Params { // The reference count indicates the number of objects // which might need to reference this historical entry at any point. // ReferenceCount = +// // number of outstanding delegations which ended the associated period (and // might need to read that record) // + number of slashes which ended the associated period (and might need to diff --git a/x/lsnative/proto/third_party/cosmos/distribution/v1beta1/distribution.proto b/x/lsnative/proto/third_party/cosmos/distribution/v1beta1/distribution.proto index 73174303f..bf215a4dd 100644 --- a/x/lsnative/proto/third_party/cosmos/distribution/v1beta1/distribution.proto +++ b/x/lsnative/proto/third_party/cosmos/distribution/v1beta1/distribution.proto @@ -36,6 +36,7 @@ message Params { // The reference count indicates the number of objects // which might need to reference this historical entry at any point. // ReferenceCount = +// // number of outstanding delegations which ended the associated period (and // might need to read that record) // + number of slashes which ended the associated period (and might need to diff --git a/x/lsnative/staking/types/authz_test.go b/x/lsnative/staking/types/authz_test.go index fae782ca7..1adf4405b 100644 --- a/x/lsnative/staking/types/authz_test.go +++ b/x/lsnative/staking/types/authz_test.go @@ -6,8 +6,8 @@ import ( "github.com/stretchr/testify/require" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/persistenceOne/persistence-sdk/v2/simapp" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/persistenceOne/persistence-sdk/v2/simapp" stakingtypes "github.com/persistenceOne/persistence-sdk/v2/x/lsnative/staking/types" ) diff --git a/x/oracle/keeper/keeper.go b/x/oracle/keeper/keeper.go index 0f38b29ca..7a1ee6573 100644 --- a/x/oracle/keeper/keeper.go +++ b/x/oracle/keeper/keeper.go @@ -4,10 +4,10 @@ import ( "fmt" "strings" + "cosmossdk.io/errors" "github.com/cosmos/cosmos-sdk/codec" storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" sdkstaking "github.com/cosmos/cosmos-sdk/x/staking/types" gogotypes "github.com/gogo/protobuf/types" @@ -76,7 +76,7 @@ func (k Keeper) GetExchangeRate(ctx sdk.Context, denom string) (sdk.Dec, error) b := store.Get(types.GetExchangeRateKey(denom)) if b == nil { - return sdk.ZeroDec(), sdkerrors.Wrap(types.ErrUnknownDenom, denom) + return sdk.ZeroDec(), errors.Wrap(types.ErrUnknownDenom, denom) } decProto := sdk.DecProto{} @@ -143,7 +143,7 @@ func (k Keeper) IterateExchangeRates(ctx sdk.Context, handler func(string, sdk.D func (k Keeper) GetFeederDelegation(ctx sdk.Context, operator sdk.ValAddress) (sdk.AccAddress, error) { // check that the given validator exists if val := k.StakingKeeper.Validator(ctx, operator); val == nil || !val.IsBonded() { - return nil, sdkerrors.Wrapf(sdkstaking.ErrNoValidatorFound, "validator %s is not active set", operator.String()) + return nil, errors.Wrapf(sdkstaking.ErrNoValidatorFound, "validator %s is not active set", operator.String()) } store := ctx.KVStore(k.storeKey) @@ -246,7 +246,7 @@ func (k Keeper) GetAggregateExchangeRatePrevote( bz := store.Get(types.GetAggregateExchangeRatePrevoteKey(voter)) if bz == nil { - return types.AggregateExchangeRatePrevote{}, sdkerrors.Wrap(types.ErrNoAggregatePrevote, voter.String()) + return types.AggregateExchangeRatePrevote{}, errors.Wrap(types.ErrNoAggregatePrevote, voter.String()) } var aggregatePrevote types.AggregateExchangeRatePrevote @@ -313,7 +313,7 @@ func (k Keeper) GetAggregateExchangeRateVote( bz := store.Get(types.GetAggregateExchangeRateVoteKey(voter)) if bz == nil { - return types.AggregateExchangeRateVote{}, sdkerrors.Wrap(types.ErrNoAggregateVote, voter.String()) + return types.AggregateExchangeRateVote{}, errors.Wrap(types.ErrNoAggregateVote, voter.String()) } var aggregateVote types.AggregateExchangeRateVote @@ -375,7 +375,7 @@ func (k Keeper) ValidateFeeder(ctx sdk.Context, valAddr sdk.ValAddress, feederAd } if !delegate.Equals(feederAddr) { - return sdkerrors.Wrap(types.ErrNoVotingPermission, feederAddr.String()) + return errors.Wrap(types.ErrNoVotingPermission, feederAddr.String()) } return nil diff --git a/x/oracle/keeper/msg_server.go b/x/oracle/keeper/msg_server.go index 2621f82d7..66236c0ac 100644 --- a/x/oracle/keeper/msg_server.go +++ b/x/oracle/keeper/msg_server.go @@ -3,6 +3,7 @@ package keeper import ( "context" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" sdkstaking "github.com/cosmos/cosmos-sdk/x/staking/types" @@ -48,7 +49,7 @@ func (ms msgServer) AggregateExchangeRatePrevote( // Convert hex string to votehash voteHash, err := types.AggregateVoteHashFromHexString(msg.Hash) if err != nil { - return nil, sdkerrors.Wrap(types.ErrInvalidHash, err.Error()) + return nil, errors.Wrap(types.ErrInvalidHash, err.Error()) } aggregatePrevote := types.NewAggregateExchangeRatePrevote(voteHash, valAddr, uint64(ctx.BlockHeight())) @@ -93,7 +94,7 @@ func (ms msgServer) AggregateExchangeRateVote( aggregatePrevote, err := ms.GetAggregateExchangeRatePrevote(ctx, valAddr) if err != nil { - return nil, sdkerrors.Wrap(types.ErrNoAggregatePrevote, msg.Validator) + return nil, errors.Wrap(types.ErrNoAggregatePrevote, msg.Validator) } // Check a msg is submitted proper period @@ -103,13 +104,13 @@ func (ms msgServer) AggregateExchangeRateVote( exchangeRateTuples, err := types.ParseExchangeRateTuples(msg.ExchangeRates) if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, err.Error()) + return nil, errors.Wrap(sdkerrors.ErrInvalidCoins, err.Error()) } // Verify a exchange rate with aggregate prevote hash hash := types.GetAggregateVoteHash(msg.Salt, msg.ExchangeRates, valAddr) if aggregatePrevote.Hash != hash.String() { - return nil, sdkerrors.Wrapf(types.ErrVerificationFailed, "must be given %s not %s", aggregatePrevote.Hash, hash) + return nil, errors.Wrapf(types.ErrVerificationFailed, "must be given %s not %s", aggregatePrevote.Hash, hash) } // Filter out rates which aren't included in the AcceptList @@ -159,7 +160,7 @@ func (ms msgServer) DelegateFeedConsent( val := ms.StakingKeeper.Validator(ctx, operatorAddr) if val == nil { - return nil, sdkerrors.Wrap(sdkstaking.ErrNoValidatorFound, msg.Operator) + return nil, errors.Wrap(sdkstaking.ErrNoValidatorFound, msg.Operator) } ms.SetFeederDelegation(ctx, operatorAddr, delegateAddr) diff --git a/x/oracle/types/errors.go b/x/oracle/types/errors.go index 4e07d1a60..985ffc3a6 100644 --- a/x/oracle/types/errors.go +++ b/x/oracle/types/errors.go @@ -3,26 +3,26 @@ package types import ( "fmt" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "cosmossdk.io/errors" "github.com/tendermint/tendermint/crypto/tmhash" ) // Oracle sentinel errors var ( - ErrInvalidOraclePrice = sdkerrors.Register(ModuleName, 1112, "invalid oracle price") - ErrInvalidExchangeRate = sdkerrors.Register(ModuleName, 1, "invalid exchange rate") - ErrNoVotingPermission = sdkerrors.Register(ModuleName, 4, "unauthorized voter") - ErrInvalidHash = sdkerrors.Register(ModuleName, 5, "invalid hash") - ErrInvalidHashLength = sdkerrors.Register(ModuleName, 6, + ErrInvalidOraclePrice = errors.Register(ModuleName, 1112, "invalid oracle price") + ErrInvalidExchangeRate = errors.Register(ModuleName, 1, "invalid exchange rate") + ErrNoVotingPermission = errors.Register(ModuleName, 4, "unauthorized voter") + ErrInvalidHash = errors.Register(ModuleName, 5, "invalid hash") + ErrInvalidHashLength = errors.Register(ModuleName, 6, fmt.Sprintf("invalid hash length; should equal %d", tmhash.TruncatedSize)) - ErrVerificationFailed = sdkerrors.Register(ModuleName, 7, "hash verification failed") - ErrRevealPeriodMissMatch = sdkerrors.Register(ModuleName, 8, + ErrVerificationFailed = errors.Register(ModuleName, 7, "hash verification failed") + ErrRevealPeriodMissMatch = errors.Register(ModuleName, 8, "reveal period of submitted vote does not match with registered prevote") - ErrInvalidSaltLength = sdkerrors.Register(ModuleName, 9, "invalid salt length; must be 64") - ErrInvalidSaltFormat = sdkerrors.Register(ModuleName, 10, "invalid salt format") - ErrNoAggregatePrevote = sdkerrors.Register(ModuleName, 11, "no aggregate prevote") - ErrNoAggregateVote = sdkerrors.Register(ModuleName, 12, "no aggregate vote") - ErrUnknownDenom = sdkerrors.Register(ModuleName, 13, "unknown denom") - ErrExistingPrevote = sdkerrors.Register(ModuleName, 15, "prevote already submitted for this voting period") - ErrBallotNotSorted = sdkerrors.Register(ModuleName, 16, "ballot must be sorted before this operation") + ErrInvalidSaltLength = errors.Register(ModuleName, 9, "invalid salt length; must be 64") + ErrInvalidSaltFormat = errors.Register(ModuleName, 10, "invalid salt format") + ErrNoAggregatePrevote = errors.Register(ModuleName, 11, "no aggregate prevote") + ErrNoAggregateVote = errors.Register(ModuleName, 12, "no aggregate vote") + ErrUnknownDenom = errors.Register(ModuleName, 13, "unknown denom") + ErrExistingPrevote = errors.Register(ModuleName, 15, "prevote already submitted for this voting period") + ErrBallotNotSorted = errors.Register(ModuleName, 16, "ballot must be sorted before this operation") ) diff --git a/x/oracle/types/msgs.go b/x/oracle/types/msgs.go index 924231831..436448744 100644 --- a/x/oracle/types/msgs.go +++ b/x/oracle/types/msgs.go @@ -3,6 +3,7 @@ package types import ( "github.com/tendermint/tendermint/crypto/tmhash" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) @@ -54,7 +55,7 @@ func (msg MsgAggregateExchangeRatePrevote) GetSigners() []sdk.AccAddress { func (msg MsgAggregateExchangeRatePrevote) ValidateBasic() error { _, err := AggregateVoteHashFromHexString(msg.Hash) if err != nil { - return sdkerrors.Wrapf(ErrInvalidHash, "invalid vote hash (%s)", err) + return errors.Wrapf(ErrInvalidHash, "invalid vote hash (%s)", err) } // HEX encoding doubles the hash length @@ -64,12 +65,12 @@ func (msg MsgAggregateExchangeRatePrevote) ValidateBasic() error { _, err = sdk.AccAddressFromBech32(msg.Feeder) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid feeder address (%s)", err) + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid feeder address (%s)", err) } _, err = sdk.ValAddressFromBech32(msg.Validator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid operator address (%s)", err) + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid operator address (%s)", err) } return nil @@ -110,29 +111,29 @@ func (msg MsgAggregateExchangeRateVote) GetSigners() []sdk.AccAddress { func (msg MsgAggregateExchangeRateVote) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Feeder) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid feeder address (%s)", err) + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid feeder address (%s)", err) } _, err = sdk.ValAddressFromBech32(msg.Validator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid operator address (%s)", err) + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid operator address (%s)", err) } if l := len(msg.ExchangeRates); l == 0 { - return sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "must provide at least one oracle exchange rate") + return errors.Wrap(sdkerrors.ErrUnknownRequest, "must provide at least one oracle exchange rate") } else if l > 4096 { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "exchange rates string can not exceed 4096 characters") + return errors.Wrap(sdkerrors.ErrInvalidRequest, "exchange rates string can not exceed 4096 characters") } exchangeRates, err := ParseExchangeRateTuples(msg.ExchangeRates) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, "failed to parse exchange rates string cause: "+err.Error()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, "failed to parse exchange rates string cause: "+err.Error()) } for _, exchangeRate := range exchangeRates { // check overflow bit length if exchangeRate.ExchangeRate.BigInt().BitLen() > 255+sdk.DecimalPrecisionBits { - return sdkerrors.Wrap(ErrInvalidExchangeRate, "overflow") + return errors.Wrap(ErrInvalidExchangeRate, "overflow") } } @@ -142,7 +143,7 @@ func (msg MsgAggregateExchangeRateVote) ValidateBasic() error { _, err = AggregateVoteHashFromHexString(msg.Salt) if err != nil { - return sdkerrors.Wrap(ErrInvalidSaltFormat, "salt must be a valid hex string") + return errors.Wrap(ErrInvalidSaltFormat, "salt must be a valid hex string") } return nil @@ -177,12 +178,12 @@ func (msg MsgDelegateFeedConsent) GetSigners() []sdk.AccAddress { func (msg MsgDelegateFeedConsent) ValidateBasic() error { _, err := sdk.ValAddressFromBech32(msg.Operator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid operator address (%s)", err) + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid operator address (%s)", err) } _, err = sdk.AccAddressFromBech32(msg.Delegate) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid delegate address (%s)", err) + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid delegate address (%s)", err) } return nil @@ -216,11 +217,11 @@ func (m MsgAddFundsToRewardPool) GetSigners() []sdk.AccAddress { func (m MsgAddFundsToRewardPool) ValidateBasic() error { _, err := sdk.ValAddressFromBech32(m.From) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid operator address (%s)", err) + return errors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid operator address (%s)", err) } if coins := sdk.NewCoins(m.Funds...); coins.Empty() { - return sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, err.Error()) + return errors.Wrap(sdkerrors.ErrInvalidCoins, err.Error()) } return nil