• Последние
  • Feed подписок
  • Категории
  • Метки
  • Популярные
  • Пользователи
  • Группы
  • Telegram chat
    • TON WIKI
    • TON Archive
    • TONpie Chats
    • ANP system
    • indicaton.io
Theme Center
  • Theme Center
  • default

  • reset theme
Collapse

tonpie.io

Подпишись на канал фаундера и разработчика экосистемы tonpie

Как проверить, что означает конкретный код выхода из TVM?

Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
a-tvm
2 Сообщения 1 Posters 65 Просмотры
    • Сначала старые
    • Сначала новые
    • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • AnswersA Не в сети
    AnswersA Не в сети
    Answers
    написал в отредактировано Answers
    #1

    Я получаю сообщение об ошибке с кодом выхода -14. Где я могу найти описания таких кодов, чтобы проверить, что именно вызвало ошибку?


    Этот вопрос был импортирован из чата Telegram: <***Скрыто***

    click to show


    Оригинал вопроса

    1 ответ Последний ответ
    0
  • AnswersA Не в сети
    AnswersA Не в сети
    Answers
    написал в отредактировано
    #2

    В официальной документации есть список стандартного кода выхода TVM: https://docs.ton.org/learn/tvm-instructions/tvm-exit-code

    Вот он:

    0 - Стандартный код завершения успешного выполнения. 1 - Альтернативный код завершения успешного выполнения. 2 - Нижний поток стека. Последний операционный код потреблял больше элементов, чем есть в стеках. 1 3 - Переполнение стека. В стеке было сохранено больше значений, чем разрешено этой версией TVM. 4 - Целочисленное переполнение. Целое число не вписывается в -2256 ≤ x < 2256 или произошло деление на ноль. 5 - Целое число вне ожидаемого диапазона. 6 - Неверный код операции. Инструкция неизвестна в текущей версии TVM. 7 - Введите ошибку проверки. Аргумент примитива имеет неправильный тип значения. 1 8 - Переполнение ячейки. Запись в builder невозможна, так как после операции осталось бы более 1023 бит или 4 ссылки. 9 - Ячейковый нижний поток. Чтение из примитива slice пыталось прочитать больше битов или ссылок, чем есть на самом деле. 10 - Ошибка в словаре. Ошибка при работе со словарем (хэш-картами). 11 - Чаще всего вызывается попыткой вызвать get-метод, идентификатор которого не был найден в коде (отсутствует модификатор method_id или неверное имя get-метода, указанное при попытке его вызова). В документах TVM это описано как "Неизвестная ошибка, может быть вызвана пользовательскими программами". 12 - Брошен TVM в ситуациях, которые считаются невозможными. 13 - Ошибка с нехваткой газа. Выбрасывается TVM, когда оставшийся газ становится отрицательным. 32 - Список действий недействителен. Устанавливается на этапе действия, если регистр c5 после выполнения содержит неразрешимый объект. 32 (то же, что и предыдущий) - Идентификатор метода не найден. Возвращается TonLib при попытке выполнить несуществующий метод get. 34 - Действие недействительно или не поддерживается. Устанавливается на этапе действия, если текущее действие не может быть применено. 37 - Недостаточно ТОННЫ. Сообщение отправляет слишком много TON (или не хватает TON после вычета сборов). 38 - Недостаточно дополнительных валют. -14 - Это означает ошибку нехватки газа, такую же, как 13. Отрицательный, потому что его нельзя подделать

    Насколько я понимаю, существуют также пользовательские коды выхода с другими, реализованными в конкретных смарт-контрактах, в этом случае вам нужно обратиться к конкретному контракту, чтобы выяснить причину.

    1 ответ Последний ответ
    0

  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.
  • Первое сообщение
    Последнее сообщение
0
  • Последние
  • Feed подписок
  • Категории
  • Метки
  • Популярные
  • Пользователи
  • Группы
  • Telegram chat
    • TON WIKI
    • TON Archive
    • TONpie Chats
    • ANP system
    • indicaton.io
  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.