Перейти к основному содержанию
После того как вы выберете контракт в шаге симуляции в Simulator UI, рядом с полем Contract появятся две кнопки: Edit source и Edit ABI. Они позволяют вам изменить, какой код выполняет симуляция, не затрагивая развёрнутый контракт, чтобы вы могли протестировать исправление ошибки, подкорректировать параметр или попробовать новую логику на живом продакшн-состоянии перед развёртыванием чего-либо. Те же элементы управления доступны при повторной симуляции: нажатие Re-Simulate на странице деталей транзакции загружает её входы в builder, где вы можете отредактировать исходный код и запустить снова.

Edit source

Нажмите Edit source, чтобы открыть редактор исходного кода.
Editing Source view showing the Dai contract address, a File dropdown with Dai.sol, the Solidity source in an editor, and a Select Contract Name dropdown, with Compiler Info, the Dai contract entry, Add contract source, and Apply Changes in the left panel
Панель редактирования показывает:
ЭлементПримечания
AddressАдрес, код которого вы редактируете.
FileВыпадающий список для переключения между исходными файлами многофайловых контрактов.
EditorПолный исходный код, редактируемый построчно.
Select Contract NameКакой контракт в файле развёрнут по этому адресу.
Правки применяются только к вашей симуляции. Развёрнутый контракт и симуляции других участников проекта не затрагиваются. Нажмите Apply Changes в левом нижнем углу, чтобы сохранить изменения, затем запустите симуляцию. Шаг выполняет изменённый код при неизменном остальном состоянии сети.

Настройки компилятора

Выберите Compiler Info в левой панели, чтобы настроить, как компилируется отредактированный исходный код:
Compiler Info pane showing Compiler Version solc v0.5.12, Optimization Used false, Optimization Count 200, EVM Version petersburg, and a ViaIR toggle
  • Compiler Version
  • Optimization Used и Optimization Count
  • EVM Version
  • ViaIR
Настройки загружаются из метаданных верификации контракта, поэтому для простого редактирования и запуска изменения компилятора не требуются.

Add contract source

Нажмите Add contract source в левой панели, чтобы редактировать дополнительные контракты в той же симуляции. Введите адрес любого развёрнутого контракта, и его исходный код загрузится как ещё одна запись в списке. Это позволяет одной симуляции запускать изменённый код сразу для нескольких контрактов, например для роутера и пула, в который он обращается.

Edit ABI

Нажмите Edit ABI, чтобы открыть JSON-редактор над ABI, который builder использует для декодирования функций и кодирования ваших входов.
Edit ABI dialog showing the contract ABI as JSON with constructor and function entries, and Cancel and Save buttons
Редактирование ABI полезно, когда контракт не верифицирован или его интерфейс отличается от опубликованного ABI: вставьте или скорректируйте JSON, нажмите Save, и выпадающий список Function и поля аргументов будут соответствовать обновлённому определению. О том, как эти входы отображаются в симуляции, см. в параметрах симуляции.