Понятная подпись

Большинство кошельков предлагают подтвердить стену шестнадцатеричных символов и надеяться на лучшее. «Слепая подпись» — подтверждение вызовов, которые вы на самом деле не можете прочитать, — стоит за изрядной долей опустошённых кошельков. Ответ Vela — понятная подпись: до того как вы подпишете, транзакция превращается в то, что можно понять.

Что вы видите

Вместо сырой calldata Vela показывает:

  • Намерение — что делает транзакция: Отправить, Разрешить, Обменять и так далее.
  • Суть — участвующие суммы и адреса, причём суммы токенов в настоящих единицах, а получатели по возможности превращены в имена.
  • Детали — nonce, сроки и сырую calldata, доступные по требованию, а не вываленные вам в лицо.
  • Отметку риска цветом, чтобы страшное выглядело страшным.

Как это работает (ERC-7730)

Vela разбирает и вызовы контрактов, и типизированные данные EIP-712 с помощью дескрипторов ERC-7730 — небольших разделяемых описаний того, что означают функции конкретного контракта.

  • Когда есть дескриптор для конкретного контракта, транзакция помечается как проверенная и подписывается именем контракта.
  • Когда его нет, Vela переходит к стандартным дескрипторам для типовых форм — токены ERC-20, NFT ERC-721, хранилища ERC-4626 и permit ERC-2612 — так что большинство повседневных действий всё равно разбирается.

Суммы токенов форматируются по настоящему количеству знаков токена в блокчейне. Vela никогда не предполагает 18 «по умолчанию»; если подтвердить количество знаков не удаётся, она показывает значение, но помечает его как непроверенное, вместо того чтобы гадать.

Уровни риска

Каждая разобранная транзакция получает уровень риска, чтобы опасные схемы бросались в глаза:

  • Внимание — для разрешений и permit: вы отдаёте право тратить.
  • Опасно — для по-настоящему рискованного, например неограниченного разрешения для токена.
  • Ниже риск — для рутины вроде стейкинга или депозита.

Когда Vela не может разобрать вызов

Честность важнее чистого экрана. Если дескриптора ERC-7730 нет, но функция есть в публичной базе селекторов, Vela разбирает вызов обобщённо и помечает результат как по мере возможности — разобрано, но не проверено — под предупреждающей плашкой. Если не выходит и это или удаётся разобрать лишь часть транзакции, Vela не делает вид, что всё поняла.

Почему это важно

Самостоятельное хранение означает, что никто не отменит неудачную транзакцию за вас. Защита — не служба поддержки, а понимание того, что вы подтверждаете, до подтверждения. Понятная подпись превращает «доверьтесь этому непрозрачному куску» в «вот что конкретно он делает». Где это место в общей модели безопасности — в whitepaper.