Симуляция транзакции показывает предполагаемый результат исполнения при определённом состоянии сети и данных вызова. Она помогает заметить неожиданный перевод токена или изменение баланса, но не означает, что реальное исполнение уже состоялось или что любой риск исчез.
Что проверить в preview
У MetaMask стандартная off-chain симуляция прогнозирует изменения баланса до отправки. В её документации отдельно описано ограничение: контракт может реагировать иначе на среду симуляции и реальное выполнение; для сложных атак превью может выглядеть безопасно. У MetaMask есть дополнительная функция enforced on-chain simulations для поддерживаемых сценариев, где несовпадение результата вызывает revert, но это свойство нельзя переносить на все кошельки или все типы вызовов (справка MetaMask о transaction simulations).
| Симуляция может показать | Чего один preview не доказывает |
|---|---|
| Ожидаемое изменение баланса | Что сеть включит транзакцию именно так |
| Адреса и вызов, распознанные интерфейсом | Что контракт добросовестен или неизменяем |
| Ошибку при текущем состоянии | Что состояние останется тем же к исполнению |
| Одобрение/перевод, видимый в анализе | Что скрытые или будущие вызовы отсутствуют |
Проверь синтетический swap
Пусть интерфейс показывает: отправляешь 1 условный токен A, прогноз — 98 условных токенов B. До подписи сверь сеть, target contract, calldata/действие, spender и лимит slippage. Числа вымышлены; это не котировка. Если ожидаемый результат позже изменится из-за состояния пула, дедлайна, цены или исполнения, off-chain preview не является гарантией.
Не подтверждай транзакцию лишь по зелёной галочке. Сверь адрес контракта с официальным реестром контрактов проекта, открытым отдельно от страницы, предлагающей подпись, проверь точный объём разрешения и подумай, нужна ли операция вообще. Если кошелёк предоставляет enforced simulation, выясни её границы и поддерживаемую сеть. MetaMask описывает эту дополнительную защиту для своих smart accounts в Extension и поддерживаемых сценариев; проверка добавляет on-chain вычисления и может увеличить сетевую комиссию. Сама симуляция использует централизованный сервер MetaMask — учитывай передачу данных вызова и настройки приватности. После отправки сопоставь hash, receipt, события и фактическое изменение баланса.
Попроси ИИ составить список полей к проверке, но запрети объявлять сделку безопасной только потому, что симуляция прошла. На вход достаточно публичных адресов, calldata и скриншота без личных заметок; никогда не нужны seed, приватный ключ или код подтверждения.
Материал о предварительном исполнении не заменяет аудит контракта. Для базовых правил смотри руководство по безопасности криптоактивов и статусы pending-перевода.
