| Признак | Возможность | Чего он не доказывает |
|---|---|---|
| Mint authority | Выпуск дополнительных единиц mint | Что выпуск обязательно произойдёт |
| Freeze authority | Freeze и thaw отдельных token accounts | Что любой перевод уже заблокирован |
| Transfer fee | Удержание настроенной доли при переводе | Куда и когда её выведут |
| Permanent delegate | Transfer или burn с любого account этого mint | Что действие уже совершалось |
- Признак
- Mint authority
- Возможность
- Выпуск дополнительных единиц mint
- Чего он не доказывает
- Что выпуск обязательно произойдёт
- Признак
- Freeze authority
- Возможность
- Freeze и thaw отдельных token accounts
- Чего он не доказывает
- Что любой перевод уже заблокирован
- Признак
- Transfer fee
- Возможность
- Удержание настроенной доли при переводе
- Чего он не доказывает
- Куда и когда её выведут
- Признак
- Permanent delegate
- Возможность
- Transfer или burn с любого account этого mint
- Чего он не доказывает
- Что действие уже совершалось
Проверка начинается с mint address и владельца программы
Mint Account идентифицирует токен и хранит supply, decimals и базовые authorities. Token Account хранит единицы конкретного mint для owner и имеет собственное состояние. Поэтому адрес кошелька, адрес token account и mint address — три разные сущности. Одинаковые name и symbol могут встречаться у разных mint. Owner token account обычно авторизует расходование своего баланса, но не получает из-за этого права менять supply или конфигурацию mint.
Минимальная проверка перед получением или обменом
- 1Зафиксировать mint
Скопируйте полный mint address из официального канала проекта или записи сервиса, а не из названия токена в wallet.
- 2Определить программу
Проверьте, принадлежит mint обычному Token Program или Token Extension Program (Token-2022); набор доступных полей различается.
- 3Прочитать authorities
Запишите mint authority и freeze authority как адрес либо отсутствие authority, без оценки намерений.
- 4Перечислить extensions
Для Token-2022 читайте каждое активное расширение и его authority; не переносите вывод с одного extension на весь mint.
- 5Сохранить block context
Для спорного решения укажите slot или время проверки: authority и конфигурация могут измениться допустимой инструкцией.
Token-2022 переносит важные правила внутрь mint и accounts
Большинство extensions задают при создании mint или account, а некоторые комбинации несовместимы. Transfer fee может удерживать часть amount; у конфигурации есть ставка, максимум и отдельные полномочия. Transfer hook вызывает заданную программу во время перевода, поэтому одного баланса недостаточно для прогноза результата.
Permanent delegate — mint-level authority, способная подписывать transfer или burn для token accounts этого mint; владелец отдельного account не может отозвать её у себя. Default Account State может создавать новые accounts сразу frozen. Это разные механизмы: freeze не равен burn, а withheld fee не равен исчезнувшему балансу. Перед тем как разбирать, что подписывает кошелёк, нужно установить, какая программа обработает instruction и какие extension accounts она ожидает.
Ошибка перевода классифицируется по account state и instruction
Что сохранить до повторной попытки
- signature, cluster, slot и точную instruction error;
- mint address, token program ID и source/destination token accounts;
- состояние source и destination: initialized или frozen;
- активные extensions и адреса их authorities;
- ожидаемый raw amount, decimals, transfer fee и итог для получателя;
- program logs transfer hook, если он участвовал в операции.
Transfer fee требует особенно аккуратной сверки суммы. Fee рассчитывается по конфигурации mint с ограничением maximum fee, а удержанная часть учитывается отдельно от доступного получателю amount. В конфигурации могут быть разные полномочия на обновление fee и изъятие withheld amounts. Поэтому разница между отправленным и полученным не объясняется одним словом «комиссия»: нужны epoch, ставка, максимум и decoded balances.
Если account frozen, обычный owner не размораживает его своей подписью: нужен допустимый thaw от freeze authority. Если transfer hook отклонил instruction, новый priority fee не меняет его правило. Если transaction не была включена из-за blockhash или compute budget, это уже другой класс диагностики — его проверяют по данным про транзакцию Solana.
Итог проверки — не зелёный или красный рейтинг, а паспорт возможностей на указанном slot: кто может mint, freeze, менять fee, управлять hook или действовать как delegate. Его сопоставляют с документацией проекта и отдельной проверкой контрагента; отсутствие одного authority не подтверждает личность владельца и не гарантирует исполнение будущего перевода.
Источники
Мы используем прямые ссылки и фиксируем дату проверки. Полный текст чужих материалов не перепечатывается.
- Solana Docs — Tokens on Solana Solana Foundation · Проверено 19 августа 2026 г. в 20:11 GMT+5
- Solana Docs — Token Extensions Solana Foundation · Проверено 19 августа 2026 г. в 20:11 GMT+5
- Solana Docs — Permanent Delegate Solana Foundation · Проверено 19 августа 2026 г. в 20:11 GMT+5
- Solana Docs — Transfer Fees Solana Foundation · Проверено 19 августа 2026 г. в 20:11 GMT+5
- Solana Docs — Default Account State Solana Foundation · Проверено 19 августа 2026 г. в 20:11 GMT+5
