Define errors.
Define errors (previously done in btcwallet and btcd's rpcserver) in one place so they can just be called by name rather than generated in code using btcjson. Closes #5
This commit is contained in:
parent
850870f14b
commit
9ddb768c47
1 changed files with 147 additions and 0 deletions
147
jsonerr.go
Normal file
147
jsonerr.go
Normal file
|
@ -0,0 +1,147 @@
|
|||
// Copyright (c) 2013 Conformal Systems LLC.
|
||||
// Use of this source code is governed by an ISC
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package btcjson
|
||||
|
||||
// Standard JSON-RPC 2.0 errors
|
||||
var (
|
||||
ErrInvalidRequest = Error{
|
||||
Code: -32600,
|
||||
Message: "Invalid request",
|
||||
}
|
||||
ErrMethodNotFound = Error{
|
||||
Code: -32601,
|
||||
Message: "Method not found",
|
||||
}
|
||||
ErrInvalidParams = Error{
|
||||
Code: -32602,
|
||||
Message: "Invalid paramaters",
|
||||
}
|
||||
ErrInternal = Error{
|
||||
Code: -32603,
|
||||
Message: "Internal error",
|
||||
}
|
||||
ErrParse = Error{
|
||||
Code: -32700,
|
||||
Message: "Parse error",
|
||||
}
|
||||
)
|
||||
|
||||
// General application defined JSON errors
|
||||
var (
|
||||
ErrMisc = Error{
|
||||
Code: -1,
|
||||
Message: "Miscellaneous error",
|
||||
}
|
||||
ErrForbiddenBySafeMode = Error{
|
||||
Code: -2,
|
||||
Message: "Server is in safe mode, and command is not allowed in safe mode",
|
||||
}
|
||||
ErrType = Error{
|
||||
Code: -3,
|
||||
Message: "Unexpected type was passed as parameter",
|
||||
}
|
||||
ErrInvalidAddressOrKey = Error{
|
||||
Code: -5,
|
||||
Message: "Invalid address or key",
|
||||
}
|
||||
ErrOutOfMemory = Error{
|
||||
Code: -7,
|
||||
Message: "Ran out of memory during operation",
|
||||
}
|
||||
ErrInvalidParameter = Error{
|
||||
Code: -8,
|
||||
Message: "Invalid, missing or duplicate parameter",
|
||||
}
|
||||
ErrDatabase = Error{
|
||||
Code: -20,
|
||||
Message: "Database error",
|
||||
}
|
||||
ErrDeserialization = Error{
|
||||
Code: -22,
|
||||
Message: "Error parsing or validating structure in raw format",
|
||||
}
|
||||
)
|
||||
|
||||
// Wallet JSON errors
|
||||
var (
|
||||
ErrWallet = Error{
|
||||
Code: -4,
|
||||
Message: "Unspecified problem with wallet",
|
||||
}
|
||||
ErrWalletInsufficientFunds = Error{
|
||||
Code: -6,
|
||||
Message: "Not enough funds in wallet or account",
|
||||
}
|
||||
ErrWalletInvalidAccountName = Error{
|
||||
Code: -11,
|
||||
Message: "Invalid account name",
|
||||
}
|
||||
ErrWalletKeypoolRanOut = Error{
|
||||
Code: -12,
|
||||
Message: "Keypool ran out, call keypoolrefill first",
|
||||
}
|
||||
ErrWalletUnlockNeeded = Error{
|
||||
Code: -13,
|
||||
Message: "Enter the wallet passphrase with walletpassphrase first",
|
||||
}
|
||||
ErrWalletPassphraseIncorrect = Error{
|
||||
Code: -14,
|
||||
Message: "The wallet passphrase entered was incorrect",
|
||||
}
|
||||
ErrWalletWrongEncState = Error{
|
||||
Code: -15,
|
||||
Message: "Command given in wrong wallet encryption state",
|
||||
}
|
||||
ErrWalletEncryptionFailed = Error{
|
||||
Code: -16,
|
||||
Message: "Failed to encrypt the wallet",
|
||||
}
|
||||
ErrWalletAlreadyUnlocked = Error{
|
||||
Code: -17,
|
||||
Message: "Wallet is already unlocked",
|
||||
}
|
||||
)
|
||||
|
||||
// Specific Errors related to commands. These are the ones a user of the rpc
|
||||
// server are most likely to see. Generally, the codes should match one of the
|
||||
// more general errors above.
|
||||
var (
|
||||
ErrBlockNotFound = Error{
|
||||
Code: -5,
|
||||
Message: "Block not found",
|
||||
}
|
||||
ErrBlockCount = Error{
|
||||
Code: -5,
|
||||
Message: "Error getting block count",
|
||||
}
|
||||
ErrBestBlockHash = Error{
|
||||
Code: -5,
|
||||
Message: "Error getting best block hash",
|
||||
}
|
||||
ErrDifficulty = Error{
|
||||
Code: -5,
|
||||
Message: "Error getting difficulty",
|
||||
}
|
||||
ErrOutOfRange = Error{
|
||||
Code: -1,
|
||||
Message: "Block number out of range",
|
||||
}
|
||||
ErrNoTxInfo = Error{
|
||||
Code: -5,
|
||||
Message: "No information available about transaction",
|
||||
}
|
||||
ErrNoNewestBlockInfo = Error{
|
||||
Code: -5,
|
||||
Message: "No information about newest block",
|
||||
}
|
||||
ErrRawTxString = Error{
|
||||
Code: -32602,
|
||||
Message: "Raw tx is not a string",
|
||||
}
|
||||
ErrDecodeHexString = Error{
|
||||
Code: -22,
|
||||
Message: "Unable to decode hex string",
|
||||
}
|
||||
)
|
Loading…
Reference in a new issue