Merge PR #1227: Set all Error strings 1st letters to lowercase. Fixes issue #1154

This commit is contained in:
David Kajpust 2018-06-13 15:13:22 -04:00 committed by Christopher Goes
parent 157047c8a3
commit ec2fedd36c
28 changed files with 107 additions and 107 deletions

View File

@ -193,7 +193,7 @@ func (app *BaseApp) initFromStore(mainKey sdk.StoreKey) error {
// TODO: we don't actually need the main store here // TODO: we don't actually need the main store here
main := app.cms.GetKVStore(mainKey) main := app.cms.GetKVStore(mainKey)
if main == nil { if main == nil {
return errors.New("BaseApp expects MultiStore with 'main' KVStore") return errors.New("baseapp expects MultiStore with 'main' KVStore")
} }
// XXX: Do we really need the header? What does it have that we want // XXX: Do we really need the header? What does it have that we want
@ -216,11 +216,11 @@ func (app *BaseApp) initFromStore(mainKey sdk.StoreKey) error {
} }
err := proto.Unmarshal(headerBytes, &header) err := proto.Unmarshal(headerBytes, &header)
if err != nil { if err != nil {
return errors.Wrap(err, "Failed to parse Header") return errors.Wrap(err, "failed to parse Header")
} }
lastVersion := lastCommitID.Version lastVersion := lastCommitID.Version
if header.Height != lastVersion { if header.Height != lastVersion {
errStr := fmt.Sprintf("Expected db://%s.Height %v but got %v", dbHeaderKey, lastVersion, header.Height) errStr := fmt.Sprintf("expected db://%s.Height %v but got %v", dbHeaderKey, lastVersion, header.Height)
return errors.New(errStr) return errors.New(errStr)
} }
} }
@ -468,10 +468,10 @@ func (app *BaseApp) runTx(mode runTxMode, txBytes []byte, tx sdk.Tx) (result sdk
if r := recover(); r != nil { if r := recover(); r != nil {
switch r.(type) { switch r.(type) {
case sdk.ErrorOutOfGas: case sdk.ErrorOutOfGas:
log := fmt.Sprintf("Out of gas in location: %v", r.(sdk.ErrorOutOfGas).Descriptor) log := fmt.Sprintf("out of gas in location: %v", r.(sdk.ErrorOutOfGas).Descriptor)
result = sdk.ErrOutOfGas(log).Result() result = sdk.ErrOutOfGas(log).Result()
default: default:
log := fmt.Sprintf("Recovered: %v\nstack:\n%v", r, string(debug.Stack())) log := fmt.Sprintf("recovered: %v\nstack:\n%v", r, string(debug.Stack()))
result = sdk.ErrInternal(log).Result() result = sdk.ErrInternal(log).Result()
} }
} }

View File

@ -30,12 +30,12 @@ func (ctx CoreContext) BroadcastTx(tx []byte) (*ctypes.ResultBroadcastTxCommit,
} }
if res.CheckTx.Code != uint32(0) { if res.CheckTx.Code != uint32(0) {
return res, errors.Errorf("CheckTx failed: (%d) %s", return res, errors.Errorf("checkTx failed: (%d) %s",
res.CheckTx.Code, res.CheckTx.Code,
res.CheckTx.Log) res.CheckTx.Log)
} }
if res.DeliverTx.Code != uint32(0) { if res.DeliverTx.Code != uint32(0) {
return res, errors.Errorf("DeliverTx failed: (%d) %s", return res, errors.Errorf("deliverTx failed: (%d) %s",
res.DeliverTx.Code, res.DeliverTx.Code,
res.DeliverTx.Log) res.DeliverTx.Log)
} }
@ -75,7 +75,7 @@ func (ctx CoreContext) query(key cmn.HexBytes, storeName, endPath string) (res [
} }
resp := result.Response resp := result.Response
if resp.Code != uint32(0) { if resp.Code != uint32(0) {
return res, errors.Errorf("Query failed: (%d) %s", resp.Code, resp.Log) return res, errors.Errorf("query failed: (%d) %s", resp.Code, resp.Log)
} }
return resp.Value, nil return resp.Value, nil
} }
@ -95,7 +95,7 @@ func (ctx CoreContext) GetFromAddress() (from sdk.Address, err error) {
info, err := keybase.Get(name) info, err := keybase.Get(name)
if err != nil { if err != nil {
return nil, errors.Errorf("No key for: %s", name) return nil, errors.Errorf("no key for: %s", name)
} }
return info.PubKey.Address(), nil return info.PubKey.Address(), nil
@ -107,7 +107,7 @@ func (ctx CoreContext) SignAndBuild(name, passphrase string, msg sdk.Msg, cdc *w
// build the Sign Messsage from the Standard Message // build the Sign Messsage from the Standard Message
chainID := ctx.ChainID chainID := ctx.ChainID
if chainID == "" { if chainID == "" {
return nil, errors.Errorf("Chain ID required but not specified") return nil, errors.Errorf("chain ID required but not specified")
} }
accnum := ctx.AccountNumber accnum := ctx.AccountNumber
sequence := ctx.Sequence sequence := ctx.Sequence
@ -174,7 +174,7 @@ func (ctx CoreContext) EnsureSignBuildBroadcast(name string, msg sdk.Msg, cdc *w
// get the next sequence for the account address // get the next sequence for the account address
func (ctx CoreContext) GetAccountNumber(address []byte) (int64, error) { func (ctx CoreContext) GetAccountNumber(address []byte) (int64, error) {
if ctx.Decoder == nil { if ctx.Decoder == nil {
return 0, errors.New("AccountDecoder required but not provided") return 0, errors.New("accountDecoder required but not provided")
} }
res, err := ctx.Query(auth.AddressStoreKey(address), ctx.AccountStore) res, err := ctx.Query(auth.AddressStoreKey(address), ctx.AccountStore)
@ -198,7 +198,7 @@ func (ctx CoreContext) GetAccountNumber(address []byte) (int64, error) {
// get the next sequence for the account address // get the next sequence for the account address
func (ctx CoreContext) NextSequence(address []byte) (int64, error) { func (ctx CoreContext) NextSequence(address []byte) (int64, error) {
if ctx.Decoder == nil { if ctx.Decoder == nil {
return 0, errors.New("AccountDecoder required but not provided") return 0, errors.New("accountDecoder required but not provided")
} }
res, err := ctx.Query(auth.AddressStoreKey(address), ctx.AccountStore) res, err := ctx.Query(auth.AddressStoreKey(address), ctx.AccountStore)
@ -229,7 +229,7 @@ func (ctx CoreContext) GetPassphraseFromStdin(name string) (pass string, err err
// GetNode prepares a simple rpc.Client // GetNode prepares a simple rpc.Client
func (ctx CoreContext) GetNode() (rpcclient.Client, error) { func (ctx CoreContext) GetNode() (rpcclient.Client, error) {
if ctx.Client == nil { if ctx.Client == nil {
return nil, errors.New("Must define node URI") return nil, errors.New("must define node URI")
} }
return ctx.Client, nil return ctx.Client, nil
} }

View File

@ -32,7 +32,7 @@ func GetPassword(prompt string, buf *bufio.Reader) (pass string, err error) {
return "", err return "", err
} }
if len(pass) < MinPassLength { if len(pass) < MinPassLength {
return "", errors.Errorf("Password must be at least %d characters", MinPassLength) return "", errors.Errorf("password must be at least %d characters", MinPassLength)
} }
return pass, nil return pass, nil
} }
@ -68,7 +68,7 @@ func GetCheckPassword(prompt, prompt2 string, buf *bufio.Reader) (string, error)
return "", err return "", err
} }
if pass != pass2 { if pass != pass2 {
return "", errors.New("Passphrases don't match") return "", errors.New("passphrases don't match")
} }
return pass, nil return pass, nil
} }

View File

@ -53,7 +53,7 @@ func runAddCmd(cmd *cobra.Command, args []string) error {
name = "inmemorykey" name = "inmemorykey"
} else { } else {
if len(args) != 1 || len(args[0]) == 0 { if len(args) != 1 || len(args[0]) == 0 {
return errors.New("You must provide a name for the key") return errors.New("you must provide a name for the key")
} }
name = args[0] name = args[0]
kb, err = GetKeyBase() kb, err = GetKeyBase()

View File

@ -49,7 +49,7 @@ func ServeCommand(cdc *wire.Codec) *cobra.Command {
// Wait forever and cleanup // Wait forever and cleanup
cmn.TrapSignal(func() { cmn.TrapSignal(func() {
err := listener.Close() err := listener.Close()
logger.Error("Error closing listener", "err", err) logger.Error("error closing listener", "err", err)
}) })
return nil return nil
}, },

View File

@ -18,7 +18,7 @@ const (
// XXX: remove this when not needed // XXX: remove this when not needed
func todoNotImplemented(_ *cobra.Command, _ []string) error { func todoNotImplemented(_ *cobra.Command, _ []string) error {
return errors.New("TODO: Command not yet implemented") return errors.New("todo: Command not yet implemented")
} }
// AddCommands adds a number of rpc-related subcommands // AddCommands adds a number of rpc-related subcommands

View File

@ -54,7 +54,7 @@ func SearchTxCmd(cdc *wire.Codec) *cobra.Command {
func searchTxs(ctx context.CoreContext, cdc *wire.Codec, tags []string) ([]txInfo, error) { func searchTxs(ctx context.CoreContext, cdc *wire.Codec, tags []string) ([]txInfo, error) {
if len(tags) == 0 { if len(tags) == 0 {
return nil, errors.New("Must declare at least one tag to search") return nil, errors.New("must declare at least one tag to search")
} }
// XXX: implement ANY // XXX: implement ANY
query := strings.Join(tags, " AND ") query := strings.Join(tags, " AND ")

View File

@ -92,7 +92,7 @@ func GaiaAppGenTx(cdc *wire.Codec, pk crypto.PubKey) (
overwrite := viper.GetBool(flagOWK) overwrite := viper.GetBool(flagOWK)
name := viper.GetString(flagName) name := viper.GetString(flagName)
if name == "" { if name == "" {
return nil, nil, tmtypes.GenesisValidator{}, errors.New("Must specify --name (validator moniker)") return nil, nil, tmtypes.GenesisValidator{}, errors.New("must specify --name (validator moniker)")
} }
var addr sdk.Address var addr sdk.Address

View File

@ -16,5 +16,5 @@ const (
// ErrIncorrectCoolAnswer - Error returned upon an incorrect guess // ErrIncorrectCoolAnswer - Error returned upon an incorrect guess
func ErrIncorrectCoolAnswer(codespace sdk.CodespaceType, answer string) sdk.Error { func ErrIncorrectCoolAnswer(codespace sdk.CodespaceType, answer string) sdk.Error {
return sdk.NewError(codespace, CodeIncorrectCoolAnswer, fmt.Sprintf("Incorrect cool answer: %v", answer)) return sdk.NewError(codespace, CodeIncorrectCoolAnswer, fmt.Sprintf("incorrect cool answer: %v", answer))
} }

View File

@ -23,21 +23,21 @@ const (
func codeToDefaultMsg(code CodeType) string { func codeToDefaultMsg(code CodeType) string {
switch code { switch code {
case CodeInvalidDifficulty: case CodeInvalidDifficulty:
return "Insuffient difficulty" return "insuffient difficulty"
case CodeNonexistentDifficulty: case CodeNonexistentDifficulty:
return "Nonexistent difficulty" return "nonexistent difficulty"
case CodeNonexistentReward: case CodeNonexistentReward:
return "Nonexistent reward" return "nonexistent reward"
case CodeNonexistentCount: case CodeNonexistentCount:
return "Nonexistent count" return "nonexistent count"
case CodeInvalidProof: case CodeInvalidProof:
return "Invalid proof" return "invalid proof"
case CodeNotBelowTarget: case CodeNotBelowTarget:
return "Not below target" return "not below target"
case CodeInvalidCount: case CodeInvalidCount:
return "Invalid count" return "invalid count"
case CodeUnknownRequest: case CodeUnknownRequest:
return "Unknown request" return "unknown request"
default: default:
return sdk.CodeToDefaultMsg(code) return sdk.CodeToDefaultMsg(code)
} }

View File

@ -20,7 +20,7 @@ func ExportCmd(ctx *Context, cdc *wire.Codec, appExporter AppExporter) *cobra.Co
home := viper.GetString("home") home := viper.GetString("home")
appState, validators, err := appExporter(home, ctx.Logger) appState, validators, err := appExporter(home, ctx.Logger)
if err != nil { if err != nil {
return errors.Errorf("Error exporting state: %v\n", err) return errors.Errorf("error exporting state: %v\n", err)
} }
doc, err := tmtypes.GenesisDocFromFile(ctx.Config.GenesisFile()) doc, err := tmtypes.GenesisDocFromFile(ctx.Config.GenesisFile())
if err != nil { if err != nil {

View File

@ -9,8 +9,8 @@ import (
tcmd "github.com/tendermint/tendermint/cmd/tendermint/commands" tcmd "github.com/tendermint/tendermint/cmd/tendermint/commands"
"github.com/tendermint/tendermint/node" "github.com/tendermint/tendermint/node"
"github.com/tendermint/tendermint/proxy"
pvm "github.com/tendermint/tendermint/privval" pvm "github.com/tendermint/tendermint/privval"
"github.com/tendermint/tendermint/proxy"
cmn "github.com/tendermint/tmlibs/common" cmn "github.com/tendermint/tmlibs/common"
) )
@ -55,7 +55,7 @@ func startStandAlone(ctx *Context, appCreator AppCreator) error {
svr, err := server.NewServer(addr, "socket", app) svr, err := server.NewServer(addr, "socket", app)
if err != nil { if err != nil {
return errors.Errorf("Error creating listener: %v\n", err) return errors.Errorf("error creating listener: %v\n", err)
} }
svr.SetLogger(ctx.Logger.With("module", "abci-server")) svr.SetLogger(ctx.Logger.With("module", "abci-server"))
svr.Start() svr.Start()

View File

@ -40,7 +40,7 @@ func TestStartStandAlone(t *testing.T) {
svrAddr, _, err := FreeTCPAddr() svrAddr, _, err := FreeTCPAddr()
require.Nil(t, err) require.Nil(t, err)
svr, err := server.NewServer(svrAddr, "socket", app) svr, err := server.NewServer(svrAddr, "socket", app)
require.Nil(t, err, "Error creating listener") require.Nil(t, err, "error creating listener")
svr.SetLogger(logger.With("module", "abci-server")) svr.SetLogger(logger.With("module", "abci-server"))
svr.Start() svr.Start()

View File

@ -89,7 +89,7 @@ func (rs *rootMultiStore) LoadVersion(ver int64) error {
id := CommitID{} id := CommitID{}
store, err := rs.loadCommitStoreFromParams(id, storeParams) store, err := rs.loadCommitStoreFromParams(id, storeParams)
if err != nil { if err != nil {
return fmt.Errorf("Failed to load rootMultiStore: %v", err) return fmt.Errorf("failed to load rootMultiStore: %v", err)
} }
rs.stores[key] = store rs.stores[key] = store
} }
@ -112,7 +112,7 @@ func (rs *rootMultiStore) LoadVersion(ver int64) error {
storeParams := rs.storesParams[key] storeParams := rs.storesParams[key]
store, err := rs.loadCommitStoreFromParams(commitID, storeParams) store, err := rs.loadCommitStoreFromParams(commitID, storeParams)
if err != nil { if err != nil {
return fmt.Errorf("Failed to load rootMultiStore: %v", err) return fmt.Errorf("failed to load rootMultiStore: %v", err)
} }
newStores[key] = store newStores[key] = store
} }
@ -120,7 +120,7 @@ func (rs *rootMultiStore) LoadVersion(ver int64) error {
// If any CommitStoreLoaders were not used, return error. // If any CommitStoreLoaders were not used, return error.
for key := range rs.storesParams { for key := range rs.storesParams {
if _, ok := newStores[key]; !ok { if _, ok := newStores[key]; !ok {
return fmt.Errorf("Unused CommitStoreLoader: %v", key) return fmt.Errorf("unused CommitStoreLoader: %v", key)
} }
} }
@ -399,14 +399,14 @@ func getCommitInfo(db dbm.DB, ver int64) (commitInfo, error) {
cInfoKey := fmt.Sprintf(commitInfoKeyFmt, ver) cInfoKey := fmt.Sprintf(commitInfoKeyFmt, ver)
cInfoBytes := db.Get([]byte(cInfoKey)) cInfoBytes := db.Get([]byte(cInfoKey))
if cInfoBytes == nil { if cInfoBytes == nil {
return commitInfo{}, fmt.Errorf("Failed to get rootMultiStore: no data") return commitInfo{}, fmt.Errorf("failed to get rootMultiStore: no data")
} }
// Parse bytes. // Parse bytes.
var cInfo commitInfo var cInfo commitInfo
err := cdc.UnmarshalBinary(cInfoBytes, &cInfo) err := cdc.UnmarshalBinary(cInfoBytes, &cInfo)
if err != nil { if err != nil {
return commitInfo{}, fmt.Errorf("Failed to get rootMultiStore: %v", err) return commitInfo{}, fmt.Errorf("failed to get rootMultiStore: %v", err)
} }
return cInfo, nil return cInfo, nil
} }

View File

@ -160,7 +160,7 @@ func GetFromBech32(bech32str, prefix string) ([]byte, error) {
} }
if hrp != prefix { if hrp != prefix {
return nil, fmt.Errorf("Invalid bech32 prefix. Expected %s, Got %s", prefix, hrp) return nil, fmt.Errorf("invalid bech32 prefix. Expected %s, Got %s", prefix, hrp)
} }
return bz, nil return bz, nil

View File

@ -280,7 +280,7 @@ func ParseCoin(coinStr string) (coin Coin, err error) {
matches := reCoin.FindStringSubmatch(coinStr) matches := reCoin.FindStringSubmatch(coinStr)
if matches == nil { if matches == nil {
err = fmt.Errorf("Invalid coin expression: %s", coinStr) err = fmt.Errorf("invalid coin expression: %s", coinStr)
return return
} }
denomStr, amountStr := matches[2], matches[1] denomStr, amountStr := matches[2], matches[1]
@ -316,7 +316,7 @@ func ParseCoins(coinsStr string) (coins Coins, err error) {
// Validate coins before returning. // Validate coins before returning.
if !coins.IsValid() { if !coins.IsValid() {
return nil, fmt.Errorf("ParseCoins invalid: %#v", coins) return nil, fmt.Errorf("parseCoins invalid: %#v", coins)
} }
return coins, nil return coins, nil

View File

@ -68,31 +68,31 @@ const (
func CodeToDefaultMsg(code CodeType) string { func CodeToDefaultMsg(code CodeType) string {
switch code { switch code {
case CodeInternal: case CodeInternal:
return "Internal error" return "internal error"
case CodeTxDecode: case CodeTxDecode:
return "Tx parse error" return "tx parse error"
case CodeInvalidSequence: case CodeInvalidSequence:
return "Invalid sequence" return "invalid sequence"
case CodeUnauthorized: case CodeUnauthorized:
return "Unauthorized" return "unauthorized"
case CodeInsufficientFunds: case CodeInsufficientFunds:
return "Insufficent funds" return "insufficent funds"
case CodeUnknownRequest: case CodeUnknownRequest:
return "Unknown request" return "unknown request"
case CodeInvalidAddress: case CodeInvalidAddress:
return "Invalid address" return "invalid address"
case CodeInvalidPubKey: case CodeInvalidPubKey:
return "Invalid pubkey" return "invalid pubkey"
case CodeUnknownAddress: case CodeUnknownAddress:
return "Unknown address" return "unknown address"
case CodeInsufficientCoins: case CodeInsufficientCoins:
return "Insufficient coins" return "insufficient coins"
case CodeInvalidCoins: case CodeInvalidCoins:
return "Invalid coins" return "invalid coins"
case CodeOutOfGas: case CodeOutOfGas:
return "Out of gas" return "out of gas"
default: default:
return fmt.Sprintf("Unknown code %d", code) return fmt.Sprintf("unknown code %d", code)
} }
} }
@ -183,7 +183,7 @@ type sdkError struct {
// Implements ABCIError. // Implements ABCIError.
func (err *sdkError) Error() string { func (err *sdkError) Error() string {
return fmt.Sprintf("Error{%d:%d,%#v}", err.codespace, err.code, err.err) return fmt.Sprintf("error{%d:%d,%#v}", err.codespace, err.code, err.err)
} }
// Implements ABCIError. // Implements ABCIError.

View File

@ -37,7 +37,7 @@ func QueryAccountRequestHandlerFn(storeName string, cdc *wire.Codec, decoder aut
res, err := ctx.Query(auth.AddressStoreKey(addr), storeName) res, err := ctx.Query(auth.AddressStoreKey(addr), storeName)
if err != nil { if err != nil {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("Could't query account. Error: %s", err.Error()))) w.Write([]byte(fmt.Sprintf("couldn't query account. Error: %s", err.Error())))
return return
} }
@ -51,7 +51,7 @@ func QueryAccountRequestHandlerFn(storeName string, cdc *wire.Codec, decoder aut
account, err := decoder(res) account, err := decoder(res)
if err != nil { if err != nil {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("Could't parse query result. Result: %s. Error: %s", res, err.Error()))) w.Write([]byte(fmt.Sprintf("couldn't parse query result. Result: %s. Error: %s", res, err.Error())))
return return
} }
@ -59,7 +59,7 @@ func QueryAccountRequestHandlerFn(storeName string, cdc *wire.Codec, decoder aut
output, err := cdc.MarshalJSON(account) output, err := cdc.MarshalJSON(account)
if err != nil { if err != nil {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("Could't marshall query result. Error: %s", err.Error()))) w.Write([]byte(fmt.Sprintf("couldn't marshall query result. Error: %s", err.Error())))
return return
} }

View File

@ -17,9 +17,9 @@ const (
func codeToDefaultMsg(code sdk.CodeType) string { func codeToDefaultMsg(code sdk.CodeType) string {
switch code { switch code {
case CodeInvalidInput: case CodeInvalidInput:
return "Invalid input coins" return "invalid input coins"
case CodeInvalidOutput: case CodeInvalidOutput:
return "Invalid output coins" return "invalid output coins"
default: default:
return sdk.CodeToDefaultMsg(code) return sdk.CodeToDefaultMsg(code)
} }

View File

@ -116,7 +116,7 @@ OUTER:
lengthKey := ibc.EgressLengthKey(toChainID) lengthKey := ibc.EgressLengthKey(toChainID)
egressLengthbz, err := query(fromChainNode, lengthKey, c.ibcStore) egressLengthbz, err := query(fromChainNode, lengthKey, c.ibcStore)
if err != nil { if err != nil {
c.logger.Error("Error querying outgoing packet list length", "err", err) c.logger.Error("error querying outgoing packet list length", "err", err)
continue OUTER //TODO replace with continue (I think it should just to the correct place where OUTER is now) continue OUTER //TODO replace with continue (I think it should just to the correct place where OUTER is now)
} }
var egressLength int64 var egressLength int64
@ -134,14 +134,14 @@ OUTER:
for i := processed; i < egressLength; i++ { for i := processed; i < egressLength; i++ {
egressbz, err := query(fromChainNode, ibc.EgressKey(toChainID, i), c.ibcStore) egressbz, err := query(fromChainNode, ibc.EgressKey(toChainID, i), c.ibcStore)
if err != nil { if err != nil {
c.logger.Error("Error querying egress packet", "err", err) c.logger.Error("error querying egress packet", "err", err)
continue OUTER // TODO replace to break, will break first loop then send back to the beginning (aka OUTER) continue OUTER // TODO replace to break, will break first loop then send back to the beginning (aka OUTER)
} }
err = c.broadcastTx(seq, toChainNode, c.refine(egressbz, i, passphrase)) err = c.broadcastTx(seq, toChainNode, c.refine(egressbz, i, passphrase))
seq++ seq++
if err != nil { if err != nil {
c.logger.Error("Error broadcasting ingress packet", "err", err) c.logger.Error("error broadcasting ingress packet", "err", err)
continue OUTER // TODO replace to break, will break first loop then send back to the beginning (aka OUTER) continue OUTER // TODO replace to break, will break first loop then send back to the beginning (aka OUTER)
} }

View File

@ -17,9 +17,9 @@ const (
func codeToDefaultMsg(code sdk.CodeType) string { func codeToDefaultMsg(code sdk.CodeType) string {
switch code { switch code {
case CodeInvalidSequence: case CodeInvalidSequence:
return "Invalid IBC packet sequence" return "invalid IBC packet sequence"
case CodeIdenticalChains: case CodeIdenticalChains:
return "Source and destination chain cannot be identical" return "source and destination chain cannot be identical"
default: default:
return sdk.CodeToDefaultMsg(code) return sdk.CodeToDefaultMsg(code)
} }

View File

@ -19,21 +19,21 @@ const (
) )
func ErrNoValidatorForAddress(codespace sdk.CodespaceType) sdk.Error { func ErrNoValidatorForAddress(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "That address is not associated with any known validator") return newError(codespace, CodeInvalidValidator, "that address is not associated with any known validator")
} }
func ErrBadValidatorAddr(codespace sdk.CodespaceType) sdk.Error { func ErrBadValidatorAddr(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "Validator does not exist for that address") return newError(codespace, CodeInvalidValidator, "validator does not exist for that address")
} }
func ErrValidatorJailed(codespace sdk.CodespaceType) sdk.Error { func ErrValidatorJailed(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeValidatorJailed, "Validator jailed, cannot yet be unrevoked") return newError(codespace, CodeValidatorJailed, "validator jailed, cannot yet be unrevoked")
} }
func codeToDefaultMsg(code CodeType) string { func codeToDefaultMsg(code CodeType) string {
switch code { switch code {
case CodeInvalidValidator: case CodeInvalidValidator:
return "Invalid Validator" return "invalid Validator"
case CodeValidatorJailed: case CodeValidatorJailed:
return "Validator Jailed" return "validator Jailed"
default: default:
return sdk.CodeToDefaultMsg(code) return sdk.CodeToDefaultMsg(code)
} }

View File

@ -26,7 +26,7 @@ func BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock, sk Keeper) (tags
case tmtypes.ABCIEvidenceTypeDuplicateVote: case tmtypes.ABCIEvidenceTypeDuplicateVote:
sk.handleDoubleSign(ctx, evidence.Height, evidence.Time, pk) sk.handleDoubleSign(ctx, evidence.Height, evidence.Time, pk)
default: default:
ctx.Logger().With("module", "x/slashing").Error(fmt.Sprintf("Ignored unknown evidence type: %s", string(evidence.Type))) ctx.Logger().With("module", "x/slashing").Error(fmt.Sprintf("ignored unknown evidence type: %s", string(evidence.Type)))
} }
} }

View File

@ -51,7 +51,7 @@ func bondingStatusHandlerFn(ctx context.CoreContext, storeName string, cdc *wire
res, err := ctx.Query(key, storeName) res, err := ctx.Query(key, storeName)
if err != nil { if err != nil {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("Couldn't query bond. Error: %s", err.Error()))) w.Write([]byte(fmt.Sprintf("couldn't query bond. Error: %s", err.Error())))
return return
} }
@ -65,7 +65,7 @@ func bondingStatusHandlerFn(ctx context.CoreContext, storeName string, cdc *wire
err = cdc.UnmarshalBinary(res, &bond) err = cdc.UnmarshalBinary(res, &bond)
if err != nil { if err != nil {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("Couldn't decode bond. Error: %s", err.Error()))) w.Write([]byte(fmt.Sprintf("couldn't decode bond. Error: %s", err.Error())))
return return
} }
@ -142,7 +142,7 @@ func validatorsHandlerFn(ctx context.CoreContext, storeName string, cdc *wire.Co
kvs, err := ctx.QuerySubspace(cdc, stake.ValidatorsKey, storeName) kvs, err := ctx.QuerySubspace(cdc, stake.ValidatorsKey, storeName)
if err != nil { if err != nil {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("Couldn't query validators. Error: %s", err.Error()))) w.Write([]byte(fmt.Sprintf("couldn't query validators. Error: %s", err.Error())))
return return
} }
@ -163,7 +163,7 @@ func validatorsHandlerFn(ctx context.CoreContext, storeName string, cdc *wire.Co
} }
if err != nil { if err != nil {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("Couldn't decode validator. Error: %s", err.Error()))) w.Write([]byte(fmt.Sprintf("couldn't decode validator. Error: %s", err.Error())))
return return
} }
validators[i] = bech32Validator validators[i] = bech32Validator

View File

@ -76,18 +76,18 @@ func editDelegationsRequestHandlerFn(cdc *wire.Codec, kb keys.Keybase, ctx conte
delegatorAddr, err := sdk.GetAccAddressBech32(msg.DelegatorAddr) delegatorAddr, err := sdk.GetAccAddressBech32(msg.DelegatorAddr)
if err != nil { if err != nil {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("Couldn't decode delegator. Error: %s", err.Error()))) w.Write([]byte(fmt.Sprintf("couldn't decode delegator. Error: %s", err.Error())))
return return
} }
validatorAddr, err := sdk.GetValAddressBech32(msg.ValidatorAddr) validatorAddr, err := sdk.GetValAddressBech32(msg.ValidatorAddr)
if err != nil { if err != nil {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("Couldn't decode validator. Error: %s", err.Error()))) w.Write([]byte(fmt.Sprintf("couldn't decode validator. Error: %s", err.Error())))
return return
} }
if !bytes.Equal(info.Address(), delegatorAddr) { if !bytes.Equal(info.Address(), delegatorAddr) {
w.WriteHeader(http.StatusUnauthorized) w.WriteHeader(http.StatusUnauthorized)
w.Write([]byte("Must use own delegator address")) w.Write([]byte("must use own delegator address"))
return return
} }
messages[i] = stake.MsgDelegate{ messages[i] = stake.MsgDelegate{
@ -101,18 +101,18 @@ func editDelegationsRequestHandlerFn(cdc *wire.Codec, kb keys.Keybase, ctx conte
delegatorAddr, err := sdk.GetAccAddressBech32(msg.DelegatorAddr) delegatorAddr, err := sdk.GetAccAddressBech32(msg.DelegatorAddr)
if err != nil { if err != nil {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("Couldn't decode delegator. Error: %s", err.Error()))) w.Write([]byte(fmt.Sprintf("couldn't decode delegator. Error: %s", err.Error())))
return return
} }
validatorAddr, err := sdk.GetValAddressBech32(msg.ValidatorAddr) validatorAddr, err := sdk.GetValAddressBech32(msg.ValidatorAddr)
if err != nil { if err != nil {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("Couldn't decode validator. Error: %s", err.Error()))) w.Write([]byte(fmt.Sprintf("couldn't decode validator. Error: %s", err.Error())))
return return
} }
if !bytes.Equal(info.Address(), delegatorAddr) { if !bytes.Equal(info.Address(), delegatorAddr) {
w.WriteHeader(http.StatusUnauthorized) w.WriteHeader(http.StatusUnauthorized)
w.Write([]byte("Must use own delegator address")) w.Write([]byte("must use own delegator address"))
return return
} }
messages[i] = stake.MsgUnbond{ messages[i] = stake.MsgUnbond{

View File

@ -26,17 +26,17 @@ const (
func codeToDefaultMsg(code CodeType) string { func codeToDefaultMsg(code CodeType) string {
switch code { switch code {
case CodeInvalidValidator: case CodeInvalidValidator:
return "Invalid Validator" return "invalid Validator"
case CodeInvalidBond: case CodeInvalidBond:
return "Invalid Bond" return "invalid Bond"
case CodeInvalidInput: case CodeInvalidInput:
return "Invalid Input" return "invalid Input"
case CodeUnauthorized: case CodeUnauthorized:
return "Unauthorized" return "unauthorized"
case CodeInternal: case CodeInternal:
return "Internal Error" return "internal Error"
case CodeUnknownRequest: case CodeUnknownRequest:
return "Unknown request" return "unknown request"
default: default:
return sdk.CodeToDefaultMsg(code) return sdk.CodeToDefaultMsg(code)
} }
@ -49,55 +49,55 @@ func ErrNotEnoughBondShares(codespace sdk.CodespaceType, shares string) sdk.Erro
return newError(codespace, CodeInvalidBond, fmt.Sprintf("not enough shares only have %v", shares)) return newError(codespace, CodeInvalidBond, fmt.Sprintf("not enough shares only have %v", shares))
} }
func ErrValidatorEmpty(codespace sdk.CodespaceType) sdk.Error { func ErrValidatorEmpty(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "Cannot bond to an empty validator") return newError(codespace, CodeInvalidValidator, "cannot bond to an empty validator")
} }
func ErrBadBondingDenom(codespace sdk.CodespaceType) sdk.Error { func ErrBadBondingDenom(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidBond, "Invalid coin denomination") return newError(codespace, CodeInvalidBond, "invalid coin denomination")
} }
func ErrBadBondingAmount(codespace sdk.CodespaceType) sdk.Error { func ErrBadBondingAmount(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidBond, "Amount must be > 0") return newError(codespace, CodeInvalidBond, "amount must be > 0")
} }
func ErrNoBondingAcct(codespace sdk.CodespaceType) sdk.Error { func ErrNoBondingAcct(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "No bond account for this (address, validator) pair") return newError(codespace, CodeInvalidValidator, "no bond account for this (address, validator) pair")
} }
func ErrCommissionNegative(codespace sdk.CodespaceType) sdk.Error { func ErrCommissionNegative(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "Commission must be positive") return newError(codespace, CodeInvalidValidator, "commission must be positive")
} }
func ErrCommissionHuge(codespace sdk.CodespaceType) sdk.Error { func ErrCommissionHuge(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "Commission cannot be more than 100%") return newError(codespace, CodeInvalidValidator, "commission cannot be more than 100%")
} }
func ErrBadValidatorAddr(codespace sdk.CodespaceType) sdk.Error { func ErrBadValidatorAddr(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "Validator does not exist for that address") return newError(codespace, CodeInvalidValidator, "validator does not exist for that address")
} }
func ErrBadDelegatorAddr(codespace sdk.CodespaceType) sdk.Error { func ErrBadDelegatorAddr(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "Delegator does not exist for that address") return newError(codespace, CodeInvalidValidator, "delegator does not exist for that address")
} }
func ErrValidatorExistsAddr(codespace sdk.CodespaceType) sdk.Error { func ErrValidatorExistsAddr(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "Validator already exist, cannot re-create validator") return newError(codespace, CodeInvalidValidator, "validator already exist, cannot re-create validator")
} }
func ErrValidatorRevoked(codespace sdk.CodespaceType) sdk.Error { func ErrValidatorRevoked(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "Validator for this address is currently revoked") return newError(codespace, CodeInvalidValidator, "validator for this address is currently revoked")
} }
func ErrMissingSignature(codespace sdk.CodespaceType) sdk.Error { func ErrMissingSignature(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "Missing signature") return newError(codespace, CodeInvalidValidator, "missing signature")
} }
func ErrBondNotNominated(codespace sdk.CodespaceType) sdk.Error { func ErrBondNotNominated(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "Cannot bond to non-nominated account") return newError(codespace, CodeInvalidValidator, "cannot bond to non-nominated account")
} }
func ErrNoValidatorForAddress(codespace sdk.CodespaceType) sdk.Error { func ErrNoValidatorForAddress(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "Validator does not exist for that address") return newError(codespace, CodeInvalidValidator, "validator does not exist for that address")
} }
func ErrNoDelegatorForAddress(codespace sdk.CodespaceType) sdk.Error { func ErrNoDelegatorForAddress(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "Delegator does not contain validator bond") return newError(codespace, CodeInvalidValidator, "delegator does not contain validator bond")
} }
func ErrInsufficientFunds(codespace sdk.CodespaceType) sdk.Error { func ErrInsufficientFunds(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidInput, "Insufficient bond shares") return newError(codespace, CodeInvalidInput, "insufficient bond shares")
} }
func ErrBadShares(codespace sdk.CodespaceType) sdk.Error { func ErrBadShares(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidInput, "bad shares provided as input, must be MAX or decimal") return newError(codespace, CodeInvalidInput, "bad shares provided as input, must be MAX or decimal")
} }
func ErrBadRemoveValidator(codespace sdk.CodespaceType) sdk.Error { func ErrBadRemoveValidator(codespace sdk.CodespaceType) sdk.Error {
return newError(codespace, CodeInvalidValidator, "Error removing validator") return newError(codespace, CodeInvalidValidator, "error removing validator")
} }
//---------------------------------------- //----------------------------------------

View File

@ -804,7 +804,7 @@ func (k Keeper) Slash(ctx sdk.Context, pubkey crypto.PubKey, height int64, fract
logger := ctx.Logger().With("module", "x/stake") logger := ctx.Logger().With("module", "x/stake")
val, found := k.GetValidatorByPubKey(ctx, pubkey) val, found := k.GetValidatorByPubKey(ctx, pubkey)
if !found { if !found {
panic(fmt.Errorf("Attempted to slash a nonexistent validator with address %s", pubkey.Address())) panic(fmt.Errorf("attempted to slash a nonexistent validator with address %s", pubkey.Address()))
} }
sharesToRemove := val.PoolShares.Amount.Mul(fraction) sharesToRemove := val.PoolShares.Amount.Mul(fraction)
pool := k.GetPool(ctx) pool := k.GetPool(ctx)
@ -820,7 +820,7 @@ func (k Keeper) Revoke(ctx sdk.Context, pubkey crypto.PubKey) {
logger := ctx.Logger().With("module", "x/stake") logger := ctx.Logger().With("module", "x/stake")
val, found := k.GetValidatorByPubKey(ctx, pubkey) val, found := k.GetValidatorByPubKey(ctx, pubkey)
if !found { if !found {
panic(fmt.Errorf("Validator with pubkey %s not found, cannot revoke", pubkey)) panic(fmt.Errorf("validator with pubkey %s not found, cannot revoke", pubkey))
} }
val.Revoked = true val.Revoked = true
k.updateValidator(ctx, val) // update the validator, now revoked k.updateValidator(ctx, val) // update the validator, now revoked
@ -833,7 +833,7 @@ func (k Keeper) Unrevoke(ctx sdk.Context, pubkey crypto.PubKey) {
logger := ctx.Logger().With("module", "x/stake") logger := ctx.Logger().With("module", "x/stake")
val, found := k.GetValidatorByPubKey(ctx, pubkey) val, found := k.GetValidatorByPubKey(ctx, pubkey)
if !found { if !found {
panic(fmt.Errorf("Validator with pubkey %s not found, cannot unrevoke", pubkey)) panic(fmt.Errorf("validator with pubkey %s not found, cannot unrevoke", pubkey))
} }
val.Revoked = false val.Revoked = false
k.updateValidator(ctx, val) // update the validator, now unrevoked k.updateValidator(ctx, val) // update the validator, now unrevoked

View File

@ -122,7 +122,7 @@ func (msg MsgEditValidator) ValidateBasic() sdk.Error {
} }
empty := Description{} empty := Description{}
if msg.Description == empty { if msg.Description == empty {
return newError(DefaultCodespace, CodeInvalidInput, "Transaction must include some information to modify") return newError(DefaultCodespace, CodeInvalidInput, "transaction must include some information to modify")
} }
return nil return nil
} }