//Package errors provides a shared set of errors for use in the SDK, //aliases functionality in the github.com/cosmos/cosmos-sdk/errors module //that used to be in this package, and provides some helpers for converting //errors to ABCI response code. // //New code should generally import github.com/cosmos/cosmos-sdk/errors directly //and define a custom set of errors in custom codespace, rather than importing //this package. package errors import ( errorsmod "github.com/cosmos/cosmos-sdk/errors" ) var ( SuccessABCICode = errorsmod.SuccessABCICode ABCIInfo = errorsmod.ABCIInfo Redact = errorsmod.Redact UndefinedCodespace = errorsmod.UndefinedCodespace Register = errorsmod.Register ABCIError = errorsmod.ABCIError New = errorsmod.New Wrap = errorsmod.Wrap Wrapf = errorsmod.Wrapf Recover = errorsmod.Recover WithType = errorsmod.WithType IsOf = errorsmod.IsOf AssertNil = errorsmod.AssertNil ) type ( Error = errorsmod.Error ) // RootCodespace is the codespace for all errors defined in this package const RootCodespace = "sdk" var ( // ErrTxDecode is returned if we cannot parse a transaction ErrTxDecode = Register(RootCodespace, 2, "tx parse error") // ErrInvalidSequence is used the sequence number (nonce) is incorrect // for the signature ErrInvalidSequence = Register(RootCodespace, 3, "invalid sequence") // ErrUnauthorized is used whenever a request without sufficient // authorization is handled. ErrUnauthorized = Register(RootCodespace, 4, "unauthorized") // ErrInsufficientFunds is used when the account cannot pay requested amount. ErrInsufficientFunds = Register(RootCodespace, 5, "insufficient funds") // ErrUnknownRequest to doc ErrUnknownRequest = Register(RootCodespace, 6, "unknown request") // ErrInvalidAddress to doc ErrInvalidAddress = Register(RootCodespace, 7, "invalid address") // ErrInvalidPubKey to doc ErrInvalidPubKey = Register(RootCodespace, 8, "invalid pubkey") // ErrUnknownAddress to doc ErrUnknownAddress = Register(RootCodespace, 9, "unknown address") // ErrInvalidCoins to doc ErrInvalidCoins = Register(RootCodespace, 10, "invalid coins") // ErrOutOfGas to doc ErrOutOfGas = Register(RootCodespace, 11, "out of gas") // ErrMemoTooLarge to doc ErrMemoTooLarge = Register(RootCodespace, 12, "memo too large") // ErrInsufficientFee to doc ErrInsufficientFee = Register(RootCodespace, 13, "insufficient fee") // ErrTooManySignatures to doc ErrTooManySignatures = Register(RootCodespace, 14, "maximum number of signatures exceeded") // ErrNoSignatures to doc ErrNoSignatures = Register(RootCodespace, 15, "no signatures supplied") // ErrJSONMarshal defines an ABCI typed JSON marshalling error ErrJSONMarshal = Register(RootCodespace, 16, "failed to marshal JSON bytes") // ErrJSONUnmarshal defines an ABCI typed JSON unmarshalling error ErrJSONUnmarshal = Register(RootCodespace, 17, "failed to unmarshal JSON bytes") // ErrInvalidRequest defines an ABCI typed error where the request contains // invalid data. ErrInvalidRequest = Register(RootCodespace, 18, "invalid request") // ErrTxInMempoolCache defines an ABCI typed error where a tx already exists // in the mempool. ErrTxInMempoolCache = Register(RootCodespace, 19, "tx already in mempool") // ErrMempoolIsFull defines an ABCI typed error where the mempool is full. ErrMempoolIsFull = Register(RootCodespace, 20, "mempool is full") // ErrTxTooLarge defines an ABCI typed error where tx is too large. ErrTxTooLarge = Register(RootCodespace, 21, "tx too large") // ErrKeyNotFound defines an error when the key doesn't exist ErrKeyNotFound = Register(RootCodespace, 22, "key not found") // ErrWrongPassword defines an error when the key password is invalid. ErrWrongPassword = Register(RootCodespace, 23, "invalid account password") // ErrorInvalidSigner defines an error when the tx intended signer does not match the given signer. ErrorInvalidSigner = Register(RootCodespace, 24, "tx intended signer does not match the given signer") // ErrorInvalidGasAdjustment defines an error for an invalid gas adjustment ErrorInvalidGasAdjustment = Register(RootCodespace, 25, "invalid gas adjustment") // ErrInvalidHeight defines an error for an invalid height ErrInvalidHeight = Register(RootCodespace, 26, "invalid height") // ErrInvalidVersion defines a general error for an invalid version ErrInvalidVersion = Register(RootCodespace, 27, "invalid version") // ErrInvalidChainID defines an error when the chain-id is invalid. ErrInvalidChainID = Register(RootCodespace, 28, "invalid chain-id") // ErrInvalidType defines an error an invalid type. ErrInvalidType = Register(RootCodespace, 29, "invalid type") // ErrTxTimeoutHeight defines an error for when a tx is rejected out due to an // explicitly set timeout height. ErrTxTimeoutHeight = Register(RootCodespace, 30, "tx timeout height") // ErrUnknownExtensionOptions defines an error for unknown extension options. ErrUnknownExtensionOptions = Register(RootCodespace, 31, "unknown extension options") // ErrWrongSequence defines an error where the account sequence defined in // the signer info doesn't match the account's actual sequence number. ErrWrongSequence = Register(RootCodespace, 32, "incorrect account sequence") // ErrPackAny defines an error when packing a protobuf message to Any fails. ErrPackAny = Register(RootCodespace, 33, "failed packing protobuf message to Any") // ErrUnpackAny defines an error when unpacking a protobuf message from Any fails. ErrUnpackAny = Register(RootCodespace, 34, "failed unpacking protobuf message from Any") // ErrLogic defines an internal logic error, e.g. an invariant or assertion // that is violated. It is a programmer error, not a user-facing error. ErrLogic = Register(RootCodespace, 35, "internal logic error") // ErrConflict defines a conflict error, e.g. when two goroutines try to access // the same resource and one of them fails. ErrConflict = Register(RootCodespace, 36, "conflict") // ErrNotSupported is returned when we call a branch of a code which is currently not // supported. ErrNotSupported = Register(RootCodespace, 37, "feature not supported") // ErrNotFound defines an error when requested entity doesn't exist in the state. ErrNotFound = Register(RootCodespace, 38, "not found") // ErrIO should be used to wrap internal errors caused by external operation. // Examples: not DB domain error, file writing etc... ErrIO = Register(RootCodespace, 39, "Internal IO error") // ErrAppConfig defines an error occurred if min-gas-prices field in BaseConfig is empty. ErrAppConfig = Register(RootCodespace, 40, "error in app.toml") // ErrPanic is only set when we recover from a panic, so we know to // redact potentially sensitive system info ErrPanic = errorsmod.ErrPanic )