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

Successful Transaction

Parameters for the Successful Transaction Alert

Параметры оповещения Successful Transaction

Оповещение Successful Transaction отправляет уведомление, когда новая транзакция создаётся и добавляется в блокчейн. Это оповещение обычно используется для отслеживания транзакций, вызывающих определённый смарт-контракт, или транзакций, отправленных или полученных определённым кошельком. Чтобы создать оповещение Successful Transaction, выполните следующие шаги:
  1. Выберите Successful Transaction из списка типов оповещений.
  2. В разделе Target выберите Address, чтобы отслеживать один адрес.
  3. Выберите адрес смарт-контракта из выпадающего списка.
  4. Установите назначение (Destination), создав новое или выбрав ранее созданное.
  5. Нажмите Save, чтобы получать уведомления при успешном прохождении транзакции.

Failed Transaction

Parameters for the Failed Transaction Alert

Параметры оповещения Failed Transaction

Оповещение Failed Transaction отправляет уведомление, когда транзакцию не удаётся добавить в блокчейн. Оповещение обычно используется для раннего обнаружения проблем эксплуатации кошельков, смарт-контрактов и dapp’ов. Чтобы создать оповещение Failed Transaction, выполните следующие шаги:
  1. Выберите Failed Transaction из списка типов оповещений.
  2. В разделе Target выберите Address, чтобы отслеживать один адрес.
  3. Выберите адрес смарт-контракта из выпадающего списка.
  4. Установите назначение (Destination), создав новое или выбрав ранее созданное.
  5. Нажмите Save, чтобы получать уведомления, когда транзакция завершается неудачно.

Function Call

Parameters for the Function Call Alert

Параметры оповещения Function Call

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

Event Emitted

Parameters for the Event Emitted Alert

Параметры оповещения Event Emitted

Оповещение Event Emitted отправляет уведомление, когда выбранный смарт-контракт генерирует определённое событие. Например, вы можете использовать это оповещение для отслеживания ERC-20 токена и получения уведомления, когда сторонний адрес получает разрешение тратить баланс. Чтобы создать оповещение Event Emitted, выполните следующие шаги:
  1. Выберите Event Emitted из списка типов оповещений.
  2. В разделе Target выберите Address, чтобы отслеживать смарт-контракт, развёрнутый по конкретному адресу.
  3. Выберите адрес смарт-контракта из выпадающего списка.
  4. Выберите функцию события, которую хотите отслеживать, из списка доступных событий.
  5. Установите назначение (Destination), создав новое или выбрав ранее созданное.
  6. Нажмите Save, чтобы получать уведомления, когда функция события генерирует событие.

Event Parameter

Parameters for the Event Parameter Alert

Параметры оповещения Event Parameter

Оповещение Event Parameter отправляет уведомление, когда аргумент события соответствует заданным условиям. Например, вы можете использовать это оповещение для отслеживания ERC-20 токена и получения уведомления, когда сторонний адрес получает разрешение тратить баланс выше порогового значения. Чтобы создать оповещение Event Parameter, выполните следующие шаги:
  1. Выберите Event Parameter из списка типов оповещений.
  2. В разделе Target выберите Address, чтобы отслеживать смарт-контракт, развёрнутый по конкретному адресу.
  3. Выберите адрес смарт-контракта из выпадающего списка.
  4. Выберите функцию события, которую хотите отслеживать, из списка доступных событий.
  5. Выберите аргумент из списка аргументов, которые требуются выбранной функции события. Некоторые события могут иметь несколько аргументов. Tenderly автоматически подтянет все требуемые аргументы.
  6. Выберите оператор сравнения (например, равно, не равно и т. д.).
  7. Введите значение для сравнения (например, целое число, адрес и т. д.), с которым вы хотите сравнить значение аргумента.
  8. Установите назначение (Destination), создав новое или выбрав ранее созданное.
  9. Нажмите Save, чтобы получать уведомления, когда аргумент функции события соответствует заданным вами условиям.

ERC20 Token Transfer

Parameters for the ERC20 Token Transfer Alert

Параметры оповещения ERC20 Token Transfer

Оповещение ERC20 Token Transfer отправляет уведомление, когда отслеживаемый адрес отправляет или получает ERC-20 токены в транзакции. Используйте это оповещение для отслеживания оттока средств из казначейства, депозитов в контракт протокола или крупных перемещений конкретного токена. Оповещение обнаруживает события ERC-20 Transfer, включая минт и сжигание, а также события Deposit и Withdrawal в стиле WETH. Для обнаружения используется то же декодирование переводов активов, что и для ERC-20 переводов, отображаемых при просмотре транзакции, поэтому оповещение охватывает те же переводы, которые вы видите там.

Отслеживаемые адреса

Target определяет, какие адреса отслеживает оповещение:
  • Address: один контракт или кошелёк. Выберите Select from Project, чтобы указать адрес проекта, или Insert any address, чтобы вставить любой адрес.
  • Network: все адреса проекта в выбранной сети.
  • Project: все адреса проекта во всех сетях.
  • Tag: все адреса проекта, отмеченные выбранным тегом.
Для целей Network, Project и Tag адреса, добавленные в проект (или отмеченные тегом) после создания оповещения, охватываются автоматически.

Область токенов

Token scope определяет, какие ERC-20 токены учитываются оповещением:
  • Specific token: один контракт токена. Поиск выполняется по символу, названию или адресу токена; в списке отображаются токены в сети отслеживаемых адресов. При цели Address в списке также отображается баланс отслеживаемого адреса.
  • Any ERC20 token: любой ERC-20 токен, включая токены, не добавленные в проект.
  • Project tokens: все ERC-20 контракты, добавленные в проект.
  • Tokens with tag: все ERC-20 контракты проекта, отмеченные выбранным тегом.
При выборе Any ERC20 token под триггером появляется флажок Notify me only about tokens with a USD price, включённый по умолчанию. Он пропускает переводы токенов без известной цены в USD, например спам-токенов и токенов из аирдропов. Если снять флажок, оповещение учитывает переводы любых ERC-20 токенов.
ERC20 Token Transfer alert parameters with the Any ERC20 token scope and the Notify me only about tokens with a USD price checkbox checked

Оповещение ERC20 Token Transfer: любой ERC-20 токен с ценой в USD, отправленный с одного адреса

Триггер и условие по сумме

Trigger задаёт направление перевода относительно отслеживаемого адреса:
  • Any transfer: токены отправлены или получены.
  • Received: токены поступают на отслеживаемый адрес. Минт на отслеживаемый адрес считается получением.
  • Sent: токены уходят с отслеживаемого адреса. Сжигание с отслеживаемого адреса считается отправкой.
Condition фильтрует переводы по сумме и доступен только при области токенов Specific token: Вводите сумму в единицах токена (переключатель показывает символ токена, например USDC) или в единицах Raw (целое значение до применения decimals). При переключении единиц значение пересчитывается на месте. Если decimals токена неизвестны, суммы вводятся только в raw-единицах.

Режим чистой суммы

По умолчанию каждый подходящий перевод вызывает отдельное срабатывание оповещения. При включённой опции Notify me about the net amount оповещение суммирует все переводы каждого токена на каждый отслеживаемый адрес и с него в пределах транзакции и оценивает чистое изменение баланса в конце транзакции:
  • Взаимно компенсирующиеся переводы, например флеш-заём, взятый и погашенный в той же транзакции, не создают уведомления.
  • Trigger и Condition применяются к чистому изменению. Чистое увеличение считается получением, а чистое уменьшение считается отправкой; условие по сумме сравнивает абсолютное значение чистого изменения.

Содержимое уведомления

Каждое уведомление содержит список совпавших переводов. Для каждого перевода указываются отслеживаемый адрес, токен, сумма и контрагент (отправитель для полученных токенов, получатель для отправленных). В режиме чистой суммы каждая запись представляет чистое изменение для одного адреса и токена, без контрагента.

Создание оповещения ERC20 Token Transfer

  1. Выберите ERC20 Token Transfer из списка типов оповещений.
  2. Выберите Target и укажите адрес, сеть или тег для отслеживания.
  3. Выберите Token scope: Specific token, Any ERC20 token, Project tokens или Tokens with tag. Для Specific token или Tokens with tag укажите токен или тег токенов.
  4. Выберите Trigger: Any transfer, Received или Sent.
  5. При необходимости, если выбран Specific token, выберите Condition и введите сумму или диапазон.
  6. Если выбран Any ERC20 token, оставьте флажок Notify me only about tokens with a USD price включённым, чтобы пропускать токены без цены, или снимите его, чтобы учитывать все токены.
  7. При необходимости отметьте Notify me about the net amount, чтобы оценивать чистое изменение баланса за транзакцию.
  8. Установите назначение (Destination), создав новое или выбрав ранее созданное.
  9. Нажмите Save, чтобы получать уведомления при возникновении подходящего ERC-20 перевода.
Оповещения ERC20 Token Transfer, настроенные в прежней форме с выбором контракта и направления, открываются в том же редакторе. При сохранении изменений оповещение сохраняется в текущей конфигурации.

Изменения баланса, которые оповещение не обнаруживает

Оповещение отслеживает переводы токенов, поэтому изменения баланса без события перевода его не вызывают:
  • Rebasing-токены и токены с начислением процентов (например, stETH, Aave aTokens, AMPL): изменения баланса в результате ребейза или начисления процентов не генерируют событий. Обычные переводы этих токенов обнаруживаются.
  • Токены с обменным курсом (например, cTokens, wstETH, доли хранилищ ERC-4626): оповещение считает токены, поэтому изменение обменного курса его не вызывает.
  • Токены с комиссией за перевод (fee-on-transfer): указываемая сумма берётся из события Transfer и может превышать сумму, которую фактически получает получатель.
  • ERC-777 токены, которые генерируют только Minted или Burned без события Transfer, а также токены с нестандартной структурой события Transfer (в основном развёрнутые до 2018 года).
Чтобы получать оповещения об уровне баланса, а не о переводе, используйте оповещение View Function для balanceOf.

Allowlisted Callers

Parameters for the Allowlisted Alert

Параметры оповещения Allowlisted

Оповещение Allowlisted Callers позволяет добавлять известные адреса и получать уведомления только тогда, когда адреса, отсутствующие в списке, вызывают смарт-контракт. Чтобы создать оповещение Allowlisted Callers, выполните следующие шаги:
  1. Выберите Allowlisted Callers из списка типов оповещений.
  2. В разделе Target выберите Address, чтобы отслеживать смарт-контракт, развёрнутый по конкретному адресу.
  3. Выберите адрес смарт-контракта из выпадающего списка.
  4. Введите адреса, которые вам знакомы и которые вы хотите исключить из мониторинга.
  5. Установите назначение (Destination), создав новое или выбрав ранее созданное.
  6. Нажмите Save, чтобы получать уведомления, когда кто-то вне созданного вами списка адресов вызывает ваш смарт-контракт.

Blocklisted Callers

Parameters for the Blocklisted Alert

Параметры оповещения Blocklisted

Оповещение Blocklisted Caller позволяет добавлять нежелательные адреса и получать уведомление только тогда, когда эти адреса отправляют транзакцию выбранной цели (Target). Это оповещение можно использовать для отслеживания попыток вызова вашего multisig-кошелька или контракта неавторизованными адресами. Чтобы создать оповещение Blocklisted Callers, выполните следующие шаги:
  1. Выберите Blocklisted Callers из списка типов оповещений.
  2. В разделе Target выберите Address, чтобы отслеживать смарт-контракт или кошелёк, развёрнутый по конкретному адресу.
  3. Выберите адрес смарт-контракта из выпадающего списка.
  4. Введите адреса, за которыми хотите следить и получать уведомления, когда они выполняют действия с вашим смарт-контрактом или кошельком.
  5. Установите назначение (Destination), создав новое или выбрав ранее созданное.
  6. Нажмите Save, чтобы получать уведомления, когда кто-то из созданного вами списка адресов вызывает ваш смарт-контракт.

Balance Change

Parameters for the Balance Change Alert

Параметры оповещения Balance Change

Оповещение Balance Change уведомляет, когда баланс нативной валюты сети конкретного адреса соответствует условиям после выполнения транзакции. Это оповещение может быть полезно, чтобы знать, когда нужно пополнить кошелёк (например, ботов или keeper’ов). Чтобы создать оповещение Balance Change, выполните следующие шаги:
  1. Выберите Balance Change из списка типов оповещений.
  2. В разделе Target выберите Address, чтобы отслеживать смарт-контракт или кошелёк, развёрнутый по конкретному адресу.
  3. Выберите адрес смарт-контракта или кошелька из выпадающего списка.
  4. Выберите оператор сравнения (например, равно, не равно и т. д.).
  5. Задайте пороговое значение баланса в wei. Оповещение срабатывает только тогда, когда транзакция устанавливает баланс адреса в значение, удовлетворяющее заданным условиям. Оно не срабатывает, когда баланс уже находится в состоянии выполненных условий.
  6. Установите назначение (Destination), создав новое или выбрав ранее созданное.
  7. Нажмите Save, чтобы получать уведомления, когда баланс нативной валюты сети на вашем смарт-контракте или кошельке соответствует заданным вами условиям порогового значения.

Transaction Value

Parameters for the Transaction Value Alert

Параметры оповещения Transaction Value

Оповещение Transaction Value уведомляет вас, когда значение транзакции, в которой участвует кошелёк или смарт-контракт, соответствует некоторому значению в wei. Чтобы создать оповещение Transaction Value, выполните следующие шаги:
  1. Выберите Transaction Value из списка типов оповещений.
  2. В разделе Target выберите Address, чтобы отслеживать смарт-контракт или кошелёк, развёрнутый по конкретному адресу.
  3. Выберите оператор сравнения (например, равно, больше чем и т. д.).
  4. Введите значение в wei, с которым вы хотите сравнивать.
  5. Установите назначение (Destination), создав новое или выбрав ранее созданное.
  6. Нажмите Save, чтобы получать уведомления, когда значение транзакции, исходящей от кошелька или смарт-контракта, соответствует указанному вами значению в wei.

State Change

Parameters for the State Change Alert

Параметры оповещения State Change

Оповещение State Change уведомляет вас об изменении числовой (int/uint) переменной состояния в смарт-контракте. С этим оповещением вы можете получать уведомления, когда количество требуемых подтверждений в multisig увеличивается или уменьшается. Аналогично можно наблюдать за любой другой конфигурационной переменной состояния смарт-контракта. Чтобы создать оповещение State Change, выполните следующие шаги:
  1. Выберите State Change из списка типов оповещений.
  2. В разделе Target выберите Address, чтобы отслеживать смарт-контракт или кошелёк, развёрнутый по конкретному адресу.
  3. Выберите переменную состояния смарт-контракта, которую хотите отслеживать.
  4. Настройте дополнительные параметры для выбранной переменной состояния. В зависимости от типа данных переменной состояния необходимо настроить дополнительные параметры, чтобы указать Tenderly, как сравнивать значение свойства переменной состояния с тем, что вы хотите:
    • Threshold passed: срабатывает, когда значение свойства проходит порог. Вы получите только одно оповещение каждый раз, когда значение проходит порог.
    • Percentage change: срабатывает, когда значение свойства увеличивается или уменьшается на заданный процент.
    • Criteria: срабатывает, когда новое значение свойства, установленное транзакцией, соответствует критериям сравнения.
    • Value changed: срабатывает всякий раз, когда меняется значение свойства.
  5. Установите назначение (Destination), создав новое или выбрав ранее созданное.
  6. Нажмите Save, чтобы получать уведомления при изменении переменной состояния в смарт-контракте.

View Function

Parameters for the View Function Alert

Параметры оповещения View Function

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