row); он не восстанавливает многошаговый бандл.
Формат URL
Ссылка — это маршрут новой симуляции Simulator с query-параметромdraft:
https://dashboard.tenderly.co/<org>/<project>/simulator/new?draft=<value>
<value> — это JSON-полезная нагрузка draft’а, закодированная в UTF-8, а затем в base64url: стандартный base64 с +, заменённым на -, /, заменённым на _, и удалёнными символами заполнения =.
Быстрый старт
Минимального draft’а с сырым calldata достаточно для большинства CI-скриптов. Адресto идёт в contractAddress, а calldata — в rawFunctionInput:
Полезная нагрузка верхнего уровня
Поля row
Только contractAddress обязательно. Опускайте всё, что вам не нужно. Опущенные поля сохраняют значения по умолчанию формы, а неизвестные дополнительные поля игнорируются.
Контракт и функция
Параметры транзакции
Выбор блока
О том, как выбор блока и индекс транзакции работают в UI, см. в Simulation Parameters.
Параметры L2
Эти поля применяются только к сетям OP-stack и Boba.Переопределения
Два типа переопределений доступны только в UI и не могут быть заданы в draft’е. Настройте их в приложении после открытия ссылки: переопределения ERC-20 fund-address и пользовательские исходники Solidity (функция «Edit source» в приложении).
Валидация
Гидратация draft’а — всё или ничего. Отсутствующее обязательное поле, неверныйv или любое поле с неправильным типом отклоняет всю полезную нагрузку: получатель видит «This draft link is invalid or corrupted» и пустую форму. Частичной гидратации нет, так что сломанный скрипт даёт видимый сбой вместо того, чтобы работать наполовину.
Ограничения и советы
- Держите итоговый URL короче 2000 символов. Приложение отказывается копировать более длинные ссылки, а браузеры и прокси могут их обрезать. Decoded-вызовы с большим количеством входов достигают ~1900.
- Обнаружение формы полезной нагрузки: заполните форму в UI Simulator, нажмите Copy draft link и декодируйте значение
draftиз base64url. Результат — заведомо корректная полезная нагрузка для вашего конкретного случая, и это лучший способ правильно получить продвинутые формы (stateOverrides,accessList). - ABI контракта загружается при открытии ссылки. Если он не может быть разрешён (неверифицированный контракт), decoded-режим draft’а откроется с заполненным адресом, но без выбранной функции. Raw-режим этому не подвержен.