Comments 2
Отличная статья! Я только отмечу небольшую неточность: V4Router это абстрактный контракт. Так что утверждение
Обычные пользователи используют V4Router.sol, который разбирает данные операции и перенаправляет на смарт-контракт менеджера пулов.
не вполне корректно. Я так понимаю, GUI-пользователи работают через UniversalRouter. А кто интегрирует в свои смарт-контракты - могут и напрямую с PoolManager-ом работать.
Да, хорошее замечание. Пользователи, которые общаются c Uniswap через интерфейс. Их вызовы работают через UniversalRouter.
Интеграторы могут работать с PoolManager-ом напрямую, я не вижу в этом препятствий, но нужно будет как-минимум реализовать callback логику, которая отвечает за разблокировку пула перед совершением операции.
Если смотреть доку по взаимодействию с контрактами четвертой версии, например для свопа, то там все-таки предлагается строить вызов через UniversalRouter.
Архитектура Uniswap v4: разбираем основы протокола