System errors

Below is a list of error codes for the Waves Enterprise blockchain platform.

0-10 – Swagger/API Specific Errs
0-10 - Swagger and API Errors

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
101-111 – Transaction validation errors

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 id Incorrect block signature in 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 $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

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 – StateCheckFailed(tx:Transaction, err: String)

This section describes the TransactionValidationError node level error. It corresponds to the 400 HTTP code and the 112 API level code.

112 – StateCheckFailed(tx: Transaction, err: “State check failed. Reason: PermissionError”)

Message

Context

Condition

State check failed. Reason: $err (“error id”, “message”, tx.json())

112 StateCheckFailed error is returned with an attachment, that contains the code and description of the error

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

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

Транзакция с таким id уже есть в блокчейне

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)

На балансе недостаточно средств для транзакций перевода одному или нескольким получателям основного токена WEST.

В интерфейсе клиента отображается ошибка: “Не удалось выполнить транзакцию (%Тип транзакции%)

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}

На балансе недостаточно средств для транзакций перевода одному или нескольким получателям ассета

В интерфейсе клиента отображается ошибка: “Не удалось выполнить операцию (%Тип транзакции%)

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

This transaction with a smart token

requires ${-restFeeAmount} additional fee

Комиссии недостаточно из-за смарт токена. В интерфейсе клиента отображается ошибка:

“Failed to execute operation (%Transaction type%)”

Рассчитанной суммы комиссии недостаточно для оплаты транзакции”

Scripted account requires ${-restFeeAmount} additional fee for this transaction

Комиссии недостаточно из-за смарт аккаунта. В интерфейсе клиента отображается ошибка:

“Не удалось выполнить операцию (%Тип транзакции%).

Рассчитанной суммы комиссии недостаточно для оплаты транзакции”

Transactions with smart tokens require WEST as fee”

Комиссия не в WEST (на клиенте нет такой возможности, т.к. нет спонсирования)

insufficient fee

Отрицательная комиссия

Cannot lease to self. Sender address $senderAddress equals to recipient address.

Лизинг самому себе: на экране создания транзакции передачи токенов в лизинг пользователь вводит свой адрес или псевдоним.

В интерфейсе клиента отображается ошибка: “Невозможно передать токены в лизинг самому себе.

Возможно, вы ошиблись и указали свой адрес в роли получателя. Укажите корректный адрес получателя и повторите попытку.”

Лизинг самому себе

112 – StateCheckFailed Errs – StateCheckFailed(tx: Transaction, err: “State check failed. Reason: PermissionError”)

В данном разделе описана ошибка уровня ноды TransactionValidationError. Ей соответствует HTTP-код 400, код уровня API 112 и ошибка уровня API StateCheckFailed(tx: Transaction, err: "State check failed. Reason: PermissionError").

112 – StateCheckFailed(tx: Transaction, err: “State check failed. Reason: PermissionError”)

Message

Context

Condition

Genesis Permissioner role cannot be removed

Role recall

Отсутствует разрешение на действие или пользователь в списке banned

Sender ${senderAccount.address} permission validation failed: ${permErr.err}

Transaction ${ unauthorizedTx.id ()} is unauthorized, permission validation impossible

Address ${address.address} is not a miner

Blockchain error during permission validation: $ex

Doesn’t have any of required roles: ${roles.map(_.prefixS).mkString(”, “)}”

Required ${roles.map(_.prefixS).mkString(”, “)} roles,

missing {missingRoles.map(_.prefixS).mkString(”, “)} roles

Has no active $role role

Sender is $role

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

NegativeMinFee (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

В данном разделе описана ошибка уровня ноды CustomValidationError. Ей соответствует HTTP-код 400 и код уровня API 199.

199 – Ошибки валидации

Node level errors

API level errors

Message

Context

Condition

Custom ValidationError

Одно из перечисленных ниже сообщений

Возвращается ошибка 119 Custom ValidationError со вложением, которое содержит название и текст ошибки

Условия описаны ниже

GenericError(ge)

Custom ValidationError(err)

err: String (Throwables. getStack Trace AsString(ex)) - место для новых ошибок

В интерфейсе клиента отображается ошибка: “Нам не удалось определить причину сбоя. Скопируйте код ошибки и отправьте его в поддержку”

GenericError (“Alias already claimed”)

Custom ValidationError (“Alias already claimed”)

Alias already claimed

При создании псевдонима на этапе регистрации пользователя

У другого адреса в блокчейне уже есть такой псевдоним.

В интерфейсе клиента отображается ошибка: “Не удаётся продолжить регистрацию.

Указанный вами псевдоним уже занят. Придумайте и укажите новый, чтобы продолжить регистрацию.

Unsupported TransactionType

Custom ValidationError (“Unsupported TransactionType”)

Unsupported TransactionType (version: Int)

Клиент работает только с актуальными типами

Transaction type not supported

MicroBlock AppendError

Custom ValidationError (error.toString)

MicroBlockAppend Error($err, ${microBlock. totalResBlockSig} ~> ${microBlock. prevResBlockSig. trim}])

Microblock validation error

AccountBalance Error

Custom ValidationError (errs.values. mkString (”, “))

errs: Map[Address, String]

Verifying that there are enough funds in the account balance

The balance does not allow the transaction

В интерфейсе клиента отображается ошибка: “Не удалось выполнить транзакцию (%Тип транзакции%)

Недостаточно токенов для оплаты комиссии. Пополните баланс и повторите попытку.

BlockFromFuture

Custom ValidationError (error.toString)

ts: Long

Не клиентская ошибка, ошибка внутри ноды

Некорректная временная метка создания блока (timestamp)

UnsupportedVersion

Custom ValidationError (error.toString)

version: Int

Некорректное значение версии транзакции в Json транзакции

Неподдерживаемая версия транзакции

BlockAppendError

Custom ValidationError (error.toString)

err: String, b: Block

Не клиентская ошибка, ошибка внутри ноды

Ошибка синхронизации блоков

ScriptParseError

Custom ValidationError (error.toString)

m: String

Пользователь передал скрипт не в формате base64. Ошибка невозможна на клиенте

Не распознан формат base64

OrderValidation Error(_, m)

CustomValidation Error(m)

m: String

Проверка ордеров; в клиенте ордера и биржевая механика отсутствуют

InvalidPolicyData Hash

CustomValidation Error(error.toString)

error: String

Пользователь передал в sendData не base64 datahash. Ошибка невозможна на клиенте

InsufficientFee

CustomValidation Error(“insufficient fee”)

insufficient fee

Отрицательная комиссия

ToSelf

CustomValidation Error(error.toString)

error: String

AlreadyInTheState

CustomValidation Error(error.toString)

error: String

ActivationError

CustomValidation Error(error.toString)

error: String

WrongHandshake

CustomValidation Error(error.toString)

error: String

MicroBlockAppend Error

CustomValidation Error(error.toString)

error: String

Unexpected TransactionError

CustomValidation Error(error.toString)

error: String

InvalidContractId

CustomValidation Error(error.toString)

error: String

Неверный идентификатор контракта

PolicyDoesNotExist

CustomValidation Error(error.toString)

Policy $policyId does not exist

The specified policy does not exist

RegistrationNode TransactionRemove Error

CustomValidation Error(error.toString)

It is forbidden to remove yourself from the list of registered nodes

Нода пытается удалить себя из списка участников

PolicyTransaction Error

CustomValidation Error(error.toString)

Missing member in recipients and owners section

Для CreatePolicy Transaction обязательно указание хотя бы одного recipients и owners в каждом блоке

PolicyTransaction ErrorLastMember

CustomValidation Error(error.toString)

It is forbidden to delete the last member in the section “recipients” and “owners”

При операции remove для UpdatePolicy Transaction запрещается удаление самого себя (адресата) из списка owners

PolicyTransaction RemoveError

CustomValidation Error(error.toString)

It is forbidden to remove yourself from the list of participants of the policy

При операции remove для UpdatePolicy Transaction запрещается удаление самого себя из списка из списка owners

301-304 – TxValidation Errs

Node level errors

HTTP-code

API level code

API level errors

Message

Context

Condition

Node

node level

HTTP

code

API

level

code

Node

level

code

Message

Context

Condition

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

606-629, 636 – Privacy, Auth, PKI, Contracts

Node level errors

HTTP-code

API level code

API level errors

Message

Context

Condition

631-635 – License Errs

Node level errors

HTTP-code

API level code

API level errors

Message

Context

Condition

640 – Health check

Node level errors

HTTP-code

API level code

API level errors

Message

Context

Condition

641-643 – gRPC specific

Node level errors

HTTP-code

API level code

API level errors

Message

Context

Condition

700-799 – Snapshot

Node level errors

HTTP-code

API level code

API level errors

Message

Context

Condition

800 – ForbiddenDuePkiModeError

Node level errors

HTTP-code

API level code

API level errors

Message

Context

Condition

++

“”

See also