Перейти к основному содержанию
При симуляции транзакции с прокси-контрактом Tenderly покажет все функции как прокси, так и контракта, на который он делегирует вызовы, чтобы упростить отладку и редактирование кода.
Прокси-контракт по сути содержит только одну переменную — адрес назначения для пересылки вашей транзакции. Они используются для упрощения версионирования контрактов или исправления ошибок: если вы хотите изменить свой смарт-контракт, вы можете выполнить новое развёртывание, не беспокоясь о зависимостях, и изменить лишь адрес назначения в прокси-контракте на новый обновлённый контракт. Вы можете импортировать любой контракт через стандартный процесс: Tenderly автоматически определит прокси-контракт и предложит добавить его последнюю реализацию: Вы также сможете увидеть все предыдущие (исторические) адреса назначения, которые были заданы для вашего прокси-контракта: Кроме того, если ваш контракт должен использоваться как прокси, но не соответствует текущим отраслевым стандартам, вы можете преобразовать любой контракт в прокси-контракт: Если вы импортируете прокси-контракт, который не соответствует одному из двух отраслевых стандартов, автоматически определяемых Tenderly (EIP-1967 и EIP-1167), вы теперь можете легко преобразовать этот прокси-контракт так, чтобы он распознавался Tenderly. Если вы используете другой стандарт, отличный от упомянутых выше, вы можете указать view-функцию, определённую в вашем контракте, которая возвращает адрес реализации. Также вы можете вручную задать слот хранилища, содержащий адрес реализации, чтобы преобразовать этот контракт в прокси. Tenderly отобразит все функции без параметров, возвращающие address в качестве возвращаемого типа, чтобы вы могли выбрать функцию, возвращающую адрес реализации для проксируемого контракта. Также вы можете выбрать аккаунт, от имени которого будет отправлена эта транзакция — это важно, если у выбранной функции прокси-контракта есть определённые правила выполнения (например, адреса, с которых её можно вызывать). Вы по-прежнему можете использовать хеш слота реализации для импорта прокси-контрактов, включив переключатель use storage slot, если такой способ вам предпочтительнее.