Skip to main content
После того как вы выберете контракт в шаге симуляции в 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

Редактор исходного кода: список контрактов и Compiler Info слева, селектор файлов и редактируемый исходный код справа.

Панель редактирования показывает: Правки применяются только к вашей симуляции. Развёрнутый контракт и симуляции других участников проекта не затрагиваются. Нажмите 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 Info: версия компилятора, настройки оптимизации, версия EVM и переключатель ViaIR.

  • 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

Диалог Edit ABI: ABI контракта в виде редактируемого JSON.

Редактирование ABI полезно, когда контракт не верифицирован или его интерфейс отличается от опубликованного ABI: вставьте или скорректируйте JSON, нажмите Save, и выпадающий список Function и поля аргументов будут соответствовать обновлённому определению. О том, как эти входы отображаются в симуляции, см. в параметрах симуляции.