- Тип оповещения (Alert Type): on-chain событие, которое запускает отправку уведомления от Tenderly. Есть 12 триггеров оповещений на выбор.
- Цель оповещения (Alert Target): адрес или адреса, которые вы хотите отслеживать. Опции Target одинаковы для всех типов оповещений и включают:
- Address: отслеживание одного адреса.
- Network: отслеживание всех адресов, развёрнутых в выбранной сети.
- Project: отслеживание всех адресов, входящих в проект в Tenderly.
- Tag: отслеживание всех контрактов и кошельков с указанным тегом.
- Параметры оповещения (Alert Parameters): дополнительные настройки, специфичные для выбранного типа оповещения.
- Назначение оповещения (Alert Destination): место, куда вы хотите получать уведомления. Одно оповещение может отправлять уведомления на несколько назначений. Есть 8 назначений, куда можно отправлять и получать уведомления.
Successful Transaction

Параметры оповещения Successful Transaction
- Выберите Successful Transaction из списка типов оповещений.
- В разделе Target выберите Address, чтобы отслеживать один адрес.
- Выберите адрес смарт-контракта из выпадающего списка.
- Установите назначение (Destination), создав новое или выбрав ранее созданное.
- Нажмите Save, чтобы получать уведомления при успешном прохождении транзакции.
Failed Transaction

Параметры оповещения Failed Transaction
- Выберите Failed Transaction из списка типов оповещений.
- В разделе Target выберите Address, чтобы отслеживать один адрес.
- Выберите адрес смарт-контракта из выпадающего списка.
- Установите назначение (Destination), создав новое или выбрав ранее созданное.
- Нажмите Save, чтобы получать уведомления, когда транзакция завершается неудачно.
Function Call

Параметры оповещения Function Call
external или public функция вызывается из выбранного смарт-контракта. Уведомления будут отправлены при первом вызове функции в транзакции и каждый раз, когда она вызывается в ходе выполнения через внутренние вызовы.
Чтобы создать оповещение Function Call, выполните следующие шаги:
- Выберите Function Call из списка типов оповещений.
- В разделе Target выберите Address, чтобы отслеживать смарт-контракт, развёрнутый по конкретному адресу.
- Выберите адрес смарт-контракта из выпадающего списка.
- Выберите функцию, которую хотите отслеживать. Tenderly извлечёт все доступные функции из смарт-контракта.
- Установите назначение (Destination), создав новое или выбрав ранее созданное.
- Нажмите Save, чтобы получать уведомления при вызове функции из вашего смарт-контракта.
Event Emitted

Параметры оповещения Event Emitted
- Выберите Event Emitted из списка типов оповещений.
- В разделе Target выберите Address, чтобы отслеживать смарт-контракт, развёрнутый по конкретному адресу.
- Выберите адрес смарт-контракта из выпадающего списка.
- Выберите функцию события, которую хотите отслеживать, из списка доступных событий.
- Установите назначение (Destination), создав новое или выбрав ранее созданное.
- Нажмите Save, чтобы получать уведомления, когда функция события генерирует событие.
Event Parameter

Параметры оповещения Event Parameter
- Выберите Event Parameter из списка типов оповещений.
- В разделе Target выберите Address, чтобы отслеживать смарт-контракт, развёрнутый по конкретному адресу.
- Выберите адрес смарт-контракта из выпадающего списка.
- Выберите функцию события, которую хотите отслеживать, из списка доступных событий.
- Выберите аргумент из списка аргументов, которые требуются выбранной функции события. Некоторые события могут иметь несколько аргументов. Tenderly автоматически подтянет все требуемые аргументы.
- Выберите оператор сравнения (например, равно, не равно и т. д.).
- Введите значение для сравнения (например, целое число, адрес и т. д.), с которым вы хотите сравнить значение аргумента.
- Установите назначение (Destination), создав новое или выбрав ранее созданное.
- Нажмите Save, чтобы получать уведомления, когда аргумент функции события соответствует заданным вами условиям.
ERC20 Token Transfer

Параметры оповещения ERC20 Token Transfer
Transfer, включая минт и сжигание, а также события Deposit и Withdrawal в стиле WETH. Для обнаружения используется то же декодирование переводов активов, что и для ERC-20 переводов, отображаемых при просмотре транзакции, поэтому оповещение охватывает те же переводы, которые вы видите там.
Отслеживаемые адреса
Target определяет, какие адреса отслеживает оповещение:- Address: один контракт или кошелёк. Выберите Select from Project, чтобы указать адрес проекта, или Insert any address, чтобы вставить любой адрес.
- Network: все адреса проекта в выбранной сети.
- Project: все адреса проекта во всех сетях.
- Tag: все адреса проекта, отмеченные выбранным тегом.
Область токенов
Token scope определяет, какие ERC-20 токены учитываются оповещением:- Specific token: один контракт токена. Поиск выполняется по символу, названию или адресу токена; в списке отображаются токены в сети отслеживаемых адресов. При цели Address в списке также отображается баланс отслеживаемого адреса.
- Any ERC20 token: любой ERC-20 токен, включая токены, не добавленные в проект.
- Project tokens: все ERC-20 контракты, добавленные в проект.
- Tokens with tag: все ERC-20 контракты проекта, отмеченные выбранным тегом.

Оповещение ERC20 Token Transfer: любой ERC-20 токен с ценой в USD, отправленный с одного адреса
Триггер и условие по сумме
Trigger задаёт направление перевода относительно отслеживаемого адреса:- Any transfer: токены отправлены или получены.
- Received: токены поступают на отслеживаемый адрес. Минт на отслеживаемый адрес считается получением.
- Sent: токены уходят с отслеживаемого адреса. Сжигание с отслеживаемого адреса считается отправкой.
Режим чистой суммы
По умолчанию каждый подходящий перевод вызывает отдельное срабатывание оповещения. При включённой опции Notify me about the net amount оповещение суммирует все переводы каждого токена на каждый отслеживаемый адрес и с него в пределах транзакции и оценивает чистое изменение баланса в конце транзакции:- Взаимно компенсирующиеся переводы, например флеш-заём, взятый и погашенный в той же транзакции, не создают уведомления.
- Trigger и Condition применяются к чистому изменению. Чистое увеличение считается получением, а чистое уменьшение считается отправкой; условие по сумме сравнивает абсолютное значение чистого изменения.
Содержимое уведомления
Каждое уведомление содержит список совпавших переводов. Для каждого перевода указываются отслеживаемый адрес, токен, сумма и контрагент (отправитель для полученных токенов, получатель для отправленных). В режиме чистой суммы каждая запись представляет чистое изменение для одного адреса и токена, без контрагента.Создание оповещения ERC20 Token Transfer
- Выберите ERC20 Token Transfer из списка типов оповещений.
- Выберите Target и укажите адрес, сеть или тег для отслеживания.
- Выберите Token scope: Specific token, Any ERC20 token, Project tokens или Tokens with tag. Для Specific token или Tokens with tag укажите токен или тег токенов.
- Выберите Trigger: Any transfer, Received или Sent.
- При необходимости, если выбран Specific token, выберите Condition и введите сумму или диапазон.
- Если выбран Any ERC20 token, оставьте флажок Notify me only about tokens with a USD price включённым, чтобы пропускать токены без цены, или снимите его, чтобы учитывать все токены.
- При необходимости отметьте Notify me about the net amount, чтобы оценивать чистое изменение баланса за транзакцию.
- Установите назначение (Destination), создав новое или выбрав ранее созданное.
- Нажмите Save, чтобы получать уведомления при возникновении подходящего ERC-20 перевода.
Изменения баланса, которые оповещение не обнаруживает
Оповещение отслеживает переводы токенов, поэтому изменения баланса без события перевода его не вызывают:- Rebasing-токены и токены с начислением процентов (например, stETH, Aave aTokens, AMPL): изменения баланса в результате ребейза или начисления процентов не генерируют событий. Обычные переводы этих токенов обнаруживаются.
- Токены с обменным курсом (например, cTokens, wstETH, доли хранилищ ERC-4626): оповещение считает токены, поэтому изменение обменного курса его не вызывает.
- Токены с комиссией за перевод (fee-on-transfer): указываемая сумма берётся из события
Transferи может превышать сумму, которую фактически получает получатель. - ERC-777 токены, которые генерируют только
MintedилиBurnedбез событияTransfer, а также токены с нестандартной структурой событияTransfer(в основном развёрнутые до 2018 года).
balanceOf.
Allowlisted Callers

Параметры оповещения Allowlisted
- Выберите Allowlisted Callers из списка типов оповещений.
- В разделе Target выберите Address, чтобы отслеживать смарт-контракт, развёрнутый по конкретному адресу.
- Выберите адрес смарт-контракта из выпадающего списка.
- Введите адреса, которые вам знакомы и которые вы хотите исключить из мониторинга.
- Установите назначение (Destination), создав новое или выбрав ранее созданное.
- Нажмите Save, чтобы получать уведомления, когда кто-то вне созданного вами списка адресов вызывает ваш смарт-контракт.
Blocklisted Callers

Параметры оповещения Blocklisted
- Выберите Blocklisted Callers из списка типов оповещений.
- В разделе Target выберите Address, чтобы отслеживать смарт-контракт или кошелёк, развёрнутый по конкретному адресу.
- Выберите адрес смарт-контракта из выпадающего списка.
- Введите адреса, за которыми хотите следить и получать уведомления, когда они выполняют действия с вашим смарт-контрактом или кошельком.
- Установите назначение (Destination), создав новое или выбрав ранее созданное.
- Нажмите Save, чтобы получать уведомления, когда кто-то из созданного вами списка адресов вызывает ваш смарт-контракт.
Balance Change

Параметры оповещения Balance Change
- Выберите Balance Change из списка типов оповещений.
- В разделе Target выберите Address, чтобы отслеживать смарт-контракт или кошелёк, развёрнутый по конкретному адресу.
- Выберите адрес смарт-контракта или кошелька из выпадающего списка.
- Выберите оператор сравнения (например, равно, не равно и т. д.).
- Задайте пороговое значение баланса в wei. Оповещение срабатывает только тогда, когда транзакция устанавливает баланс адреса в значение, удовлетворяющее заданным условиям. Оно не срабатывает, когда баланс уже находится в состоянии выполненных условий.
- Установите назначение (Destination), создав новое или выбрав ранее созданное.
- Нажмите Save, чтобы получать уведомления, когда баланс нативной валюты сети на вашем смарт-контракте или кошельке соответствует заданным вами условиям порогового значения.
Transaction Value

Параметры оповещения Transaction Value
- Выберите Transaction Value из списка типов оповещений.
- В разделе Target выберите Address, чтобы отслеживать смарт-контракт или кошелёк, развёрнутый по конкретному адресу.
- Выберите оператор сравнения (например, равно, больше чем и т. д.).
- Введите значение в wei, с которым вы хотите сравнивать.
- Установите назначение (Destination), создав новое или выбрав ранее созданное.
- Нажмите Save, чтобы получать уведомления, когда значение транзакции, исходящей от кошелька или смарт-контракта, соответствует указанному вами значению в wei.
State Change

Параметры оповещения State Change
- Выберите State Change из списка типов оповещений.
- В разделе Target выберите Address, чтобы отслеживать смарт-контракт или кошелёк, развёрнутый по конкретному адресу.
- Выберите переменную состояния смарт-контракта, которую хотите отслеживать.
- Настройте дополнительные параметры для выбранной переменной состояния. В зависимости от типа данных переменной состояния необходимо настроить дополнительные параметры, чтобы указать Tenderly, как сравнивать значение свойства переменной состояния с тем, что вы хотите:
- Threshold passed: срабатывает, когда значение свойства проходит порог. Вы получите только одно оповещение каждый раз, когда значение проходит порог.
- Percentage change: срабатывает, когда значение свойства увеличивается или уменьшается на заданный процент.
- Criteria: срабатывает, когда новое значение свойства, установленное транзакцией, соответствует критериям сравнения.
- Value changed: срабатывает всякий раз, когда меняется значение свойства.
- Установите назначение (Destination), создав новое или выбрав ранее созданное.
- Нажмите Save, чтобы получать уведомления при изменении переменной состояния в смарт-контракте.
View Function

Параметры оповещения View Function
view-функции в смарт-контракте изменяется транзакцией. Например, вы можете отслеживать, когда баланс определённого адреса ERC-20 токена изменяется, используя view-функцию balanceOf('0x...').
Чтобы создать оповещение View Function, выполните следующие шаги:
- Выберите View Function из списка типов оповещений.
- В разделе Target выберите Address, чтобы отслеживать смарт-контракт или кошелёк, развёрнутый по конкретному адресу.
- Выберите адрес смарт-контракта.
- Из списка объявленных view-функций выберите view-функцию, которую хотите отслеживать. Вам нужно будет указать любые аргументы, которые может потребовать view-функция.
- Настройте дополнительные параметры в зависимости от типа данных, возвращаемого view-функцией.
- Threshold passed: определите порог и получайте уведомления, когда возвращаемое значение проходит пороговое значение. Также необходимо определить тип оператора сравнения (меньше чем, равно и т. д.) и значение, с которым делать сравнение. Вы получите только одно оповещение каждый раз, когда значение проходит порог.
- Percentage change: определите процент и получайте уведомления, когда значение изменяется на определённый процент. Также необходимо определить тип оператора сравнения и значение, с которым делать сравнение.
- Criteria: определите любой тип критериев с использованием разных операторов сравнения и получайте уведомления, когда критерии выполнены.
- Value changed: получайте уведомления всякий раз, когда возвращаемое значение изменяется любым образом.
- Установите назначение (Destination), создав новое или выбрав ранее созданное.
- Нажмите Save, чтобы получать уведомления, когда возвращаемое значение выбранной вами view-функции изменяется по сравнению с предыдущим блоком.