diff --git a/baseapp/baseapp.go b/baseapp/baseapp.go index 0316663d3..6375c5fc8 100644 --- a/baseapp/baseapp.go +++ b/baseapp/baseapp.go @@ -505,6 +505,23 @@ func (app *BaseApp) Deliver(tx sdk.Tx) (result sdk.Result) { return app.runTx(runTxModeDeliver, nil, tx) } +func validateBasicTxMsgs(msgs []sdk.Msg) sdk.Error { + if msgs == nil || len(msgs) == 0 { + // TODO: probably shouldn't be ErrInternal. Maybe new ErrInvalidMessage, or ? + return sdk.ErrInternal("Tx.GetMsgs() must return at least one message in list") + } + + for _, msg := range msgs { + // Validate the Msg. + err := msg.ValidateBasic() + if err != nil { + err = err.WithDefaultCodespace(sdk.CodespaceRoot) + return err + } + } + return nil +} + // txBytes may be nil in some cases, eg. in tests. // Also, in the future we may support "internal" transactions. func (app *BaseApp) runTx(mode runTxMode, txBytes []byte, tx sdk.Tx) (result sdk.Result) { @@ -533,18 +550,9 @@ func (app *BaseApp) runTx(mode runTxMode, txBytes []byte, tx sdk.Tx) (result sdk // Get the Msg. var msgs = tx.GetMsgs() - if msgs == nil || len(msgs) == 0 { - // TODO: probably shouldn't be ErrInternal. Maybe new ErrInvalidMessage, or ? - return sdk.ErrInternal("Tx.GetMsgs() must return at least one message in list").Result() - } - - for _, msg := range msgs { - // Validate the Msg. - err := msg.ValidateBasic() - if err != nil { - err = err.WithDefaultCodespace(sdk.CodespaceRoot) - return err.Result() - } + err := validateBasicTxMsgs(msgs) + if err != nil { + return err.Result() } // Run the ante handler. diff --git a/client/keys/add.go b/client/keys/add.go index b76354685..22354ac05 100644 --- a/client/keys/add.go +++ b/client/keys/add.go @@ -46,6 +46,8 @@ phrase, otherwise, a new key will be generated.`, return cmd } +// nolint: gocyclo +// TODO remove the above when addressing #1446 func runAddCmd(cmd *cobra.Command, args []string) error { var kb keys.Keybase var err error diff --git a/x/gov/client/rest/rest.go b/x/gov/client/rest/rest.go index 3e185dc91..1972b3dee 100644 --- a/x/gov/client/rest/rest.go +++ b/x/gov/client/rest/rest.go @@ -369,6 +369,8 @@ func queryVoteHandlerFn(cdc *wire.Codec) http.HandlerFunc { } } +// nolint: gocyclo +// todo: Split this functionality into helper functions to remove the above func queryProposalsWithParameterFn(cdc *wire.Codec) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { bechVoterAddr := r.URL.Query().Get(RestVoter) diff --git a/x/stake/keeper/validator.go b/x/stake/keeper/validator.go index 69ca032f4..e19c2cd71 100644 --- a/x/stake/keeper/validator.go +++ b/x/stake/keeper/validator.go @@ -286,6 +286,8 @@ func (k Keeper) UpdateValidator(ctx sdk.Context, validator types.Validator) type // GetValidators. // // Optionally also return the validator from a retrieve address if the validator has been bonded +// nolint: gocyclo +// TODO: Remove the above golint func (k Keeper) UpdateBondedValidators(ctx sdk.Context, affectedValidator types.Validator) (updatedVal types.Validator) {