Системные ошибки

Ниже приведен список кодов ошибок блокчейн платформы Waves Enterprise.

0-10 – Swagger/API Specific Errs
0-10 – Ошибки Swagger и API

Ошибки

уровня

ноды

HTTP

код

Код

уровня

API

Ошибки

уровня

API

Сообщение

Контекст

Условие

Нет

Нет

Transaction is not in blockchain

При запросе транзакции по id

Транзакции нет в блокчейне

400

1

WrongJson

Failed to parse json message

Актуально для запросов через Swagger

403

2

ApiKeyNotValid

Provided API key is not correct

Актуально только для подписания

транзакций на ноде, т.к. при передаче подписанных

транзакций не нужен ключ

В запросе передан

некорректный или

пустой ключ

TooBigArray

400

10

TooBigArrayAllocation

Too big sequences requested

При запросе через Swagger

Запрос содержит слишком много значений

101-111 – TxValidation Errs
101-111 – Ошибки валидации транзакций

Ошибки

уровня

ноды

HTTP

код

Код

уровня

API

Ошибки

уровня

API

Сообщение

Контекст

Условие

InvalidSignature(_, _)

InvalidRequestSignature

400

101

InvalidSignature

invalid signature

Cобытие внутри блокчейна при валидации блоков

в клиенте не отображается )

Некорректный id транзакции Некорректная сигнатура блока в запросе

Ошибка отображается в интерфейсе клиента при попытке

откатить блокчейн для блока с указанной сигнатурой

InvalidAddress

400

102

InvalidAddress

invalid address.

Логгируется как:

1. Bad public key string lenght.

2. Unable to decode base58: ${ex.getMessage}»

3. «Unable to create public key: ${ex.getMessage}»

При валидации на ноде любого поля, содержащего адрес,

алиас и приватный ключ как

отправителя, так и получателя.

Если клиентская часть не проверяет валидность адреса

В запросе передан некорректный адрес, алиас

или публичный ключ

400

106

InvalidSender

invalid sender

При формировании Diff из

Executed Contract Transaction

Если создателем Executed Contract Transaction

является не майнер блока

400

108

InvalidPublicKey

invalid public key

При проверке того, является ли переданная

строка публичным ключом

GET /addresses/ publicKey/ {publicKey}

400

110

InvalidMessage

invalid message

При проверке подписи сообщения на ноде.

Подпись транзакции не соответ- ствует публичному ключу.

POST / addresses/ verify/ {address}

POST / addresses/ verifyText/ {address}

NegativeAmount(x, of)

400

111

NegativeAmount (s»$x of $of»)

negative amount: $msg

При создании транзакции, отправки, массовой отправки,

передачи в лизинг, эмиссии и дополнитель- ной эмиссии

пользователь вводит значение в поле «Сумма» отрицатель- ное число

Передано отрицатель- ное значение.

В интерфейсе клиента при попытке указать от- рицательное число, поле

ввода переходит в состояние ошибки и выводится ошибка:

«Введите положитель- ное число»

112 – StateCheckFailed Errs – StateCheckFailed(tx:Transaction, err: String)

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

112 – Ошибка проверки стейта StateCheckFailed(tx: Transaction, err: «State check failed. Reason: PermissionError»)

Сообщение

Контекст

Условие

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

Возвращается ошибка 112 StateCheckFailed с вложением, которое содержит код и описание ошибки

Валидация перед UTX

Script doesn’t exist and proof doesn’t validate as signature for $pt

Публичный ключ отправителя не соответствует подписи транзакции

Transactions from non-scripted accounts must have exactly 1 proof

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

${tx.getClass.getSimpleName} transaction has not been activated yet

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

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.

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

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

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}

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

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

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

Отредактируйте сумму комиссии и повторите попытку.»

s»Fee in ${feeAssetId.fold («WEST»)(_.toString)} for ${tx.builder.classTag} does not exceed minimal value of $minimumFee WEST: $feeAmount»

Комиссия за стандартную транзакцию (без учета скриптов) меньше требуемой

This transaction with a smart token

requires ${-restFeeAmount} additional fee

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

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

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

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»)

Сообщение

Контекст

Условие

Genesis Permissioner role cannot be removed

Отзыв роли

Отсутствует разрешение на действие или пользователь в списке 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

Смотрите также

113-117 – TxValidation Errs

Ошибки

уровня ноды

HTTP

код

Код

уровня

API

Ошибки

уровня

API

Сообщение

Контекст

Условие

OverflowError

400

113

OverflowError

overflow error

Если сумма транзакции и комиссии превышает допустимое значение:

общая сумма в масс- трансфере больше лонга (технически мало вероятно)

Переполнение long

NegativeMinFee(x, of)

400

114

NegativeMinFee (s «$x per $of»)

negative fee per: $msg

Актуально для Sponsorship транзакций

Ошибка возвращается при валидации транзакции,

если передано отрицательное значение

MissingSenderPrivateKey

400

115

MissingSender PrivateKey

no private key for sender address

in wallet or provided password

is incorrect

При попытке подписать транзакцию на ноде (не на клиенте)

в хранилище ключей не найден ключ для данного публичного ключа

Не найден приватный ключ (для подписи),

или пароль от ключевой пары неверный.

В клиенте отображается сообщение:

«В хранилище ключей не найден подходящий приватный ключ,

либо пароль от ключевой пары введен неверно

InvalidName

400

116

InvalidName

invalid name

Некоррект- ное имя ассета при транзакции

в issue транзакции длина названия ассета

выходит за установленные границы

117

«Trying to revoke role „$role“ from

it’s last owner: „$address“»

Слишком мало участников

с заданной ролью осталось в сети

Смотрите также
199 – CustomValidationError

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

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

Ошибки уровня ноды

Ошибки уровня API

Сообщение

Контекст

Условие

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)

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

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

MicroBlock AppendError

Custom ValidationError (error.toString)

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

Ошибка валидации микроблока

AccountBalance Error

Custom ValidationError (errs.values. mkString (», «))

errs: Map[Address, String]

Проверка того, что на балансе аккаунта достаточно средств

Баланс не позволяет транзакцию

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

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

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

Указанная политика не существует

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

Ошибки уровня ноды

HTTP-код

Код уровня API

Ошибки уровня API

Сообщение

Контекст

Условие

Ошибки

уровня ноды

HTTP

код

Код

уровня

API

Ошибки

уровня

API

Сообщение

Контекст

Условие

305-307, 309-310, 600-605 – RIDE and Docker Contract Errs

Ошибки уровня ноды

HTTP-код

Код уровня API

Ошибки уровня API

Сообщение

Контекст

Условие

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

Ошибки уровня ноды

HTTP-код

Код уровня API

Ошибки уровня API

Сообщение

Контекст

Условие

631-635 – License Errs

Ошибки уровня ноды

HTTP-код

Код уровня API

Ошибки уровня API

Сообщение

Контекст

Условие

640 – Health check

Ошибки уровня ноды

HTTP-код

Код уровня API

Ошибки уровня API

Сообщение

Контекст

Условие

641-643 – gRPC specific

Ошибки уровня ноды

HTTP-код

Код уровня API

Ошибки уровня API

Сообщение

Контекст

Условие

700-799 – Snapshot

Ошибки уровня ноды

HTTP-код

Код уровня API

Ошибки уровня API

Сообщение

Контекст

Условие

800 – ForbiddenDuePkiModeError

Ошибки уровня ноды

HTTP-код

Код уровня API

Ошибки уровня API

Сообщение

Контекст

Условие

++

«»

Смотрите также