- Значения сессии по умолчанию в полосе вверху применяются к каждому шагу: Network, Block и адрес From по умолчанию. Нажмите Configure, чтобы отредактировать их.
- Поля шага определяют сам вызов: отправитель, целевой контракт, функция и аргументы.
- Cheatcodes под полями шага изменяют окружение выполнения непосредственно перед выполнением шага.
Значения сессии по умолчанию
Нажмите Configure в session strip, чтобы открыть панель значений по умолчанию. Значения, заданные здесь, применяются к каждому новому шагу в бандле.
| Поле | Примечания |
|---|---|
| Network | Сеть, на состоянии которой запускается симуляция. |
| Block number | По умолчанию Pending. Введите номер блока, чтобы закрепить симуляцию за историческим блоком. |
| Tx Index | Позиция транзакции внутри закреплённого блока. Доступно только после того, как блок закреплён. |
| Gas | Лимит газа по умолчанию для каждого шага. По умолчанию 8000000. |
| Gas Price | Цена газа по умолчанию в Wei. |
| Value | Значение ETH по умолчанию, отправляемое с каждым шагом. |
| Send transaction from | Адрес From по умолчанию для новых шагов. |
Pending и исторический блок
Оставьте Block number пустым, чтобы симулировать на pending-блоке. Tenderly выполнит бандл на последнем доступном состоянии сети, как если бы он был включён в следующий блок. Введите номер блока, чтобы симулировать на историческом блоке. Затем бандл выполняется на состоянии цепочки, каким оно было на том блоке, для любого блока вплоть до начала сети. При закреплённом блоке Tx Index контролирует, где именно в блоке выполняется симуляция:| Опция | Значение |
|---|---|
| At start of block | Выполнить до любой транзакции блока. |
| At tx | Выполнить в конкретном индексе транзакции. Поле ввода показывает, сколько транзакций содержит блок. |
| At end of block | Выполнить после всех транзакций блока. |

Адреса From
Симуляциям не нужны приватные ключи или подписи, поэтому отправителем может выступать любой адрес. Выпадающий список From предлагает:- Нулевой адрес (
0x0000…0000), отправитель по умолчанию. - Ваши кошельки проекта в выбранной сети, сгруппированные в «Selected network». Смена сети меняет, какие кошельки отображаются.
- Любой адрес, который вы вставите или найдёте в поле ввода вверху выпадающего списка.

Поля шага
Каждый шаг создаётся в режиме Decoded или Raw, переключаемом вверху редактора шага.
| Поле | Примечания |
|---|---|
| From | Отправитель шага. По умолчанию — session From. |
| Contract | Контракты проекта появляются первыми; также сопоставляются публичные контракты и топ-токены по имени, символу или адресу. После выбора становятся доступны Edit source и Edit ABI (см. Редактирование исходного кода контракта). |
| Function | Отфильтровано до не-event, не-constructor методов. |
| Arguments | По одному типизированному вводу на каждый ABI-аргумент. Аргументы-адреса получают выбор адреса; аргументы-значения получают обычные поля ввода. |
0x напрямую. Используйте его, когда у вас уже есть calldata из существующей транзакции или ручного кодирования.
Cheatcodes
Каждый шаг несёт шесть секций cheatcodes. Они выполняются непосредственно перед выполнением шага и относятся только к этому шагу.Override gas & value
Задайте пользовательский Gas лимит, Gas price и Value для этого шага, переопределяя значения сессии по умолчанию.Fund address
Пополните любой адрес балансами токенов до выполнения шага. Каждая запись принимает Target address, token (доступный для поиска по символу, имени или адресу) и сумму. Нажмите Add more tokens, чтобы пополнить несколько токенов, и добавьте дополнительные записи для других адресов. Чтобы задать нативный баланс адреса, используйте переключатель custom balance в State overrides.Increase block
Продвиньте номер блока на смещение перед выполнением шага. Секция показывает текущий блок и результирующий блок. Контракты, читающиеblock.number, увидят увеличенное значение.
Override timestamp
Задайте метку времени блока, с которой выполняется шаг, в одном из двух режимов:- Increase time: продвинуть часы на определённое значение и единицу измерения (секунды, минуты и так далее).
- Set UNIX timestamp: перейти к абсолютной метке времени.
block.timestamp, увидят переопределённое значение.
State overrides
Переопределите состояние контракта до выполнения шага. Каждое переопределение нацелено на один контракт (по умолчанию цель шага) и поддерживает:- Use custom balance: задать нативный баланс контракта.
- Storage variables: пары ключ-значение для отдельных слотов хранилища, с Add storage override для дополнительных слотов.