У классического выпущенного актива Stellar наличие трастлайна, разрешение на операции и возможность clawback — разные факты. Сначала проверьте точный код актива и эмитента, затем состояние своей линии, не выводя всё из текущих флагов выпускающего аккаунта. Флаг clawback-enabled обозначает возможность действия. Он не доказывает состоявшееся изъятие и не означает ограничение всех активов кошелька.
Определите, какой актив показывает экран
Здесь рассматриваются классические активы, выпущенные аккаунтами Stellar. Это не универсальное описание кода самостоятельных контрактных токенов. В документации Stellar классический актив определяется сочетанием кода и эмитента. Одного кода недостаточно: два токена с названием USD могут иметь разных эмитентов и представлять разные обязательства.
Начните с записи актива в публичных данных аккаунта. Сопоставьте оба идентификатора с независимо найденной официальной информацией проекта и с тем активом, который ждёт получатель. Название и иконка в кошельке не подтверждают совпадение. Если адрес эмитента сокращён, сравните его полностью до вывода о потерянном платеже или ограничении.
Отделяйте XLM от выпущенного токена. Нативный XLM не является кредитным активом эмитента с его управлением трастлайном. Ограничение одного токена само по себе не означает, что сеть Stellar заморозила весь аккаунт. Разбирайте конкретную операцию и актив, а не называйте любое неудачное действие общей блокировкой кошелька.
Линия владельца и разрешение эмитента — не одно действие
Операция Change Trust создаёт, меняет или удаляет трастлайн для выпущенного актива и содержит лимит владения. Создать такую линию — не то же самое, что получить авторизацию эмитента. Если она требуется, наличие трастлайна ещё не показывает, что владельцу разрешены операции.
В описании аккаунта разделены настройки обязательной авторизации, возможности её отзыва и clawback. Описание Allow Trust отдельно объясняет разрешение для существующей линии, включая ограниченное состояние поддержания ордеров. Его нельзя считать обычным разрешением на произвольные переводы.
| Наблюдение | Что ещё проверить | Следующее полезное доказательство | Какого вывода избежать |
|---|---|---|---|
| Кошелёк предлагает добавить актив | Есть ли реальное владение или только доступный выбор | Полный код, эмитент и запись аккаунта | Эмитент уже одобрил аккаунт |
| Трастлайн существует | Его лимит и текущую авторизацию | Конкретную запись баланса и результат операции | Теперь разрешено получить любую сумму |
| Эмитент требует авторизацию | Получена ли она для этой линии | Состояние линии и опубликованный порядок эмитента | Все прежние владельцы сейчас заблокированы |
| Эмитент допускает отзыв разрешения | Было ли соответствующее изменение | Историю состояния и неудачную операцию | Баланс токена уже изъят |
| Clawback включён у линии | Было ли действие в отношении её баланса | Соответствующую операцию и сумму | Сам флаг означает завершённый clawback |
| Платёж завершился ошибкой | Какой актив, сторона и условие дали отказ | Фактический код результата и ссылку на транзакцию | Любая ошибка исправляется добавлением XLM |
Неудачное действие нужно разбирать по его результату. В описании операций Stellar различаются отсутствие линии, отсутствие авторизации и недостаточный принимающий лимит. Читайте фактический результат, не выбирайте способ исправления по самой общей надписи кошелька. Если транзакцию вообще не отправили, так и запишите: это локальная ошибка, а не выдуманный отказ блокчейна.
Различайте возможность clawback и само событие
Официальное руководство описывает сжигание эмитентом заданного объёма актива, для которого такая возможность включена. Сумма удаляется из баланса владельца. Это отличается от ограничения, при котором число на балансе остаётся, но обычное движение запрещено. Руководство также рассматривает claimable balances — отдельный объект реестра, который не следует путать с обычным балансом аккаунта.
В CAP-35 разделены настройка выпускающего аккаунта и флаг конкретного трастлайна. Возможность применяется при создании линии под соответствующей настройкой; её нельзя просто включить задним числом для уже существующей линии. Поэтому текущая страница эмитента сама по себе не устанавливает состояние каждого старого владения.
При спорном изменении суммы сохраните историю нужной транзакции и операций. Пометка clawback-enabled ещё не объясняет числовую разницу, пока не найдено соответствующее событие. При этом отсутствие обычного исходящего платежа не исключает другой операции с активом. Уточняйте, какое действие изменило баланс, сохраняя рядом сумму и точные идентификаторы актива.
Составьте запись состояния вместо предположения о решении
Условная Ния видит в кошельке трастлайн и нужный токен, но перевод не проходит. Она записывает код и эмитента, состояние линии, требования получателя и точную ошибку. Если причина в авторизации, повышение отображаемого лимита не заменит разрешение эмитента. Если не хватает места у получателя, обсуждение clawback может вообще не относиться к ситуации.
Смысл примера — удержать проверку в рамках одного условия. Фраза «я добавила актив» описывает одно действие, а не выполнение всех последующих требований. Прежний успешный платёж тоже подтверждает только ту операцию: он не обещает неизменность сегодняшних состояний и поддержки получателя. При обращении сохраняйте текущее наблюдение и время, чтобы не разбирать старый снимок как сегодняшний факт.
- Запишите сеть, код актива и полный идентификатор эмитента.
- Найдите нужный баланс или трастлайн, отделив его от claimable balance и контрактной позиции.
- Проверьте состояние и лимит линии отдельно от общих настроек эмитента.
- Найдите фактический результат отправленной операции либо отметьте сбой до отправки.
- При изменении суммы исследуйте ответственную операцию, не принимайте флаг возможности за событие.
- Неясное условие уточните у установленного канала эмитента или сервиса до повторного перевода.
Ошибка резерва и запрос проверки требуют разных ответов
Создание трастлайна может не пройти по причине резерва. Stellar описывает CHANGE_TRUST_LOW_RESERVE отдельно от остальных ошибок Change Trust. Это не доказательство отозванной авторизации токена. Уточняйте, кто обеспечивает требуемый резерв в конкретной схеме, не объединяйте все предупреждения о XLM в одну причину.
Если законный процесс эмитента предполагает проверку, подтвердите её назначение по установленному каналу. Не ищите способ обойти ограничение через промежуточный адрес. Обещание незнакомца «снять флаг» не является действием эмитента. Секретный ключ и фраза восстановления не нужны для обсуждения публичных идентификаторов актива и не должны уходить собеседнику вместе с описанием проблемы.
Для обмена разрешение по активу и приём сервисом остаются разными вопросами. Сопоставьте список монет KOT.CASH, порядок обмена и фактический выбор в простом обмене. Эти ссылки не подтверждают поддержку любого токена Stellar. Наличие XLM или знакомого кода стейблкоина не устанавливает приём конкретной пары «код плюс эмитент».
Частые вопросы
Stellar trustline означает, что эмитент уже разрешил переводы?
Не обязательно: существование линии и её авторизация различаются. Проверьте требование эмитента и состояние именно своей линии.
Stellar clawback означает, что кошелёк целиком заблокирован?
Нет, механизм касается подходящего выпущенного актива, а не автоматически всех средств аккаунта. Различайте флаг возможности, фактическую операцию и ограничения авторизации.
Stellar USDC trustline достаточно для отправки в обменник?
Нужно отдельно проверить точный актив и сеть по инструкции получателя. Собственный трастлайн не подтверждает поддержку и зачисление на стороне другого сервиса.
По теме на сайте
Источники
- developers.stellar.org/docs/learn/fundamentals/stellar-data-structures/assets
- developers.stellar.org/docs/data/apis/horizon/api-reference/resources/operations/object/change-trust
- developers.stellar.org/docs/data/apis/horizon/api-reference/resources/accounts/object
- developers.stellar.org/docs/data/apis/horizon/api-reference/resources/operations/object/allow-trust
- developers.stellar.org/docs/learn/fundamentals/transactions/list-of-operations
- developers.stellar.org/docs/build/guides/transactions/clawbacks
- github.com/stellar/stellar-protocol/blob/master/core/cap-0035.md
- developers.stellar.org/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/change-trust