System errors¶
Below is a list of error codes for the Waves Enterprise blockchain platform.
0-10 – Swagger/API Specific Errs
¶ Node
level
errors
HTTP
code
API
level
code
Node
level
code
Message
Context
Condition
No
No
Transaction is not in blockchain
When querying a transaction by id
The transaction is not in the blockchain
400
1
WrongJson
Failed to parse json message
Relevant for requests via Swagger
403
2
ApiKeyNotValid
Provided API key is not correct
Relevant only for signing transactions
on the node, because the key is not needed
when transmitting signed transactions
An invalid or empty key
was passed
in the request
TooBigArray
400
10
TooBigArrayAllocation
Too big sequences requested
When querying through Swagger
The request contains too many values
101-111 – TxValidation Errs
Node level errors |
HTTP code |
API level code |
Node level code |
Message |
Context |
Condition |
---|---|---|---|---|---|---|
InvalidSignature(_, _) InvalidRequestSignature |
400 |
101 |
InvalidSignature |
invalid signature |
Blockchain event during blocks validation (not displayed in the Client) |
Incorrect transaction identifier Incorrect block signature in the request An error is displayed in the Client interface when attempting to rollback the blockchain for the block with the specified signature |
InvalidAddress |
400 |
102 |
InvalidAddress |
invalid address. Logged as: 1. Bad public key string lenght. 2. Unable to decode base58: ${ex.getMessage}” 3. “Unable to create public key: ${ex.getMessage}” |
When validating any field containing the address, alias, and private key of either sender or recipient on the node. If the client part does not check the validity of the address |
An invalid address, alias, or public key was passed in the request |
400 |
106 |
InvalidSender |
invalid sender |
When forming Diff from ExecutedContract Transaction |
If the creator of the Executed Contract Transaction is not the block miner |
|
400 |
108 |
InvalidPublicKey |
invalid public key |
When checking if the passed string is a public key |
GET /addresses/ publicKey/ {publicKey} |
|
400 |
110 |
InvalidMessage |
invalid message |
When verifying the signature of a message on a node. The transaction signature does not match the public key. |
POST / addresses/ verify/ {address} POST / addresses/ verifyText/ {address} |
|
NegativeAmount(x, of) |
400 |
111 |
NegativeAmount (s”$x of
|
negative amount: $msg |
When creating a transfer, mass transfer, leasing, issue and reissue transaction, the user the user enters a negative number in the “Amount” field |
If a negative value is passed In the Client interface, when trying to specify a negative number, the input field goes to error state and displays the “Enter a positive number” error |
112 - StateCheckFailed Errs
This section describes the TransactionValidationError node level error. It corresponds to the
400
HTTP code and the112
API level code.
¶ API level errors
Message
Context
Condition
StateCheckFailed(tx: Transaction, err: String)
State check failed. Reason: $err (“error id”, “message”, tx.json())
112 StateCheckFailed error is returned with an attachment,
which contains the error code and description
Validation prior to UTX
“Script doesn’t exist and proof doesn’t validate as signature for $pt”
The sender’s public key does not match the transaction signature
Transactions from non-scripted accounts must have exactly 1 proof
When sending a transaction with more than one signature to an account without a script
${tx.getClass.getSimpleName} transaction has not been activated yet
If the option used in the transaction is not enabled on the validator node
Transaction $tx is already in the state on a height of $txHeight
If a transaction with this id already exists in the blockchain
“Attempt to transfer unavailable funds: Transaction application leads to “ +s”negative WEST balance to (at least) temporary negative state,
current balance equals $oldWestBalance, “ +s”spends equals $ {spendings.balance}, result is $newWestBalance”)
If there are insufficient funds in the balance for transfer transactions to one or more
recipients of the WEST token
The following message is displayed in the Client interface:
“Failed to execute transaction (%Transaction type%)”
Not enough tokens to pay the fee. Refill the balance and try again.”
“Attempt to transfer unavailable funds: Transaction application leads to negative asset “ + s”’$aid’ balance to (at least) temporary negative state,
current balance is $availableBalance, “ + s”spends equals $delta, result is ${availableBalance + delta}”
If there are insufficient funds in the balance for transfer transactions to one or more
asset recipients An error is displayed in the Client interface:
“Failed to execute operation (%Transaction type%)”
The calculated commission amount is not enough to pay for the transaction.
Edit the fee amount and try again.”
s”Fee in ${feeAssetId.fold (“WEST”)(_.toString)} for ${tx.builder.classTag} does not exceed minimal value of $minimumFee WEST: $feeAmount”
The fee for a standard transaction (without scripts) is less than required
See also
113-117 - TxValidation Errs
Node Node level |
HTTP code |
API level code |
Node level code |
Message |
Context |
Condition |
---|---|---|---|---|---|---|
OverflowError |
400 |
113 |
OverflowError |
overflow error |
If the sum of transaction and fee exceeds the permissible value: the total amount in the mass transfer is greater than the long (technically unlikely) |
Long overflow |
NegativeMinFee(x, of) |
400 |
114 |
(s “$x per $of”) |
negative fee per: $msg |
Relevant only for Sponsorship transactions |
An error is returned on transaction validation, if a negative value is passed |
MissingSenderPrivateKey |
400 |
115 |
MissingSender PrivateKey |
no private key for sender address in wallet or provided password is incorrect |
When trying to sign a transaction on a node (not on the Client), the key for this public key is not found in the key store |
No private (for signing) key was found, or the key pair password is incorrect. A message is displayed in the Client: “No matching private key was found in the keystore, or the key pair password is entered incorrectly |
InvalidName |
400 |
116 |
InvalidName |
invalid name |
Incorrect asset name in transaction |
the length of the asset name is out of bounds in an issue transaction |
117 |
“Trying to revoke role ‘$role’ from it’s last owner: ‘$address’” |
There are too few participants with the given role left in the network |
See also
199 - CustomValidationError
Node level errors |
HTTP-code |
API level code |
API level errors |
Message |
Context |
Condition |
---|---|---|---|---|---|---|
node-0 |
Node Node level |
HTTP code |
API level code |
Node level code |
Message |
Context |
Condition |
---|---|---|---|---|---|---|
301-304 - TxValidation Errs
Node level errors |
HTTP-code |
API level code |
API level errors |
Message |
Context |
Condition |
---|---|---|---|---|---|---|
node-0 |
305-307, 309-310, 600-605 - RIDE and Docker Contract Errs
Node level errors |
HTTP-code |
API level code |
API level errors |
Message |
Context |
Condition |
---|---|---|---|---|---|---|
node-0 |
606-629, 636 - Privacy, Auth, PKI, Contracts
Node level errors |
HTTP-code |
API level code |
API level errors |
Message |
Context |
Condition |
---|---|---|---|---|---|---|
node-0 |
631-635 - License Errs
Node level errors |
HTTP-code |
API level code |
API level errors |
Message |
Context |
Condition |
---|---|---|---|---|---|---|
node-0 |
640 - Health check
Node level errors |
HTTP-code |
API level code |
API level errors |
Message |
Context |
Condition |
---|---|---|---|---|---|---|
node-0 |
641-643 gRPC specific
Node level errors |
HTTP-code |
API level code |
API level errors |
Message |
Context |
Condition |
---|---|---|---|---|---|---|
node-0 |
700-799 Snapshot
Node level errors |
HTTP-code |
API level code |
API level errors |
Message |
Context |
Condition |
---|---|---|---|---|---|---|
node-0 |
800 ForbiddenDuePkiModeError
Node level errors |
HTTP-code |
API level code |
API level errors |
Message |
Context |
Condition |
---|---|---|---|---|---|---|
node-0 |