1. Хуки (Hooks)
Хуки — это внешние смарт-контракты, которые подключаются при создании пула и позволяют встроить произвольную логику: до и после свапов, добавления или удаления ликвидности, инициализации и т.д.
Примеры использования:
• Динамические комиссии;
• Доступ только для whitelisted-адресов;
• Донаты провайдерам ликвидности;
• Кастомные кривые ценообразования (например, как у Curve);
• Интеграция с лендинг-протоколами и стейкингом.
Важно: хук нельзя заменить после создания пула, если только он не реализован через прокси.
2. Singleton-дизайн
Вместо отдельных контрактов для каждого пула, теперь все пулы живут в одном контракте — PoolManager.sol. Это позволяет:
• Уменьшить стоимость создания пулов;
• Сократить количество внешних вызовов;
• Реализовать сложные свопы без перемещения токенов между контрактами.
3. Flash Accounting и Transient Storage
В Uniswap v4 используется подход, который команда назвала Flash Accounting. Он основан на применении Transient Storage (EIP-1153) — временного хранилища внутри транзакции. Все изменения состояния сохраняются в нём до завершения операции, после чего результат фиксируется в постоянном хранилище (Storage). Это позволяет заметно сократить количество дорогостоящих операций записи и снизить комиссии за газ.
Это реализовано через EIP-1153 и позволяет существенно сократить газ:
• sstore (Storage) = 20 000 газа;
• tstore (Transient) = 100 газа.
В результате операции становятся быстрее и дешевле.
4. Поддержка нативного ETH
Начиная с v2, Uniswap использовал WETH для работы с эфиром. В v4 возвращается возможность использовать ETH напрямую:
• Упрощается пользовательский опыт;
• Уменьшается число транзакций и комиссия за газ;
• Повышается гибкость протокола.
5. Динамические комиссии
Uniswap v4 снимает ограничения фиксированных уровней комиссий (0.05%, 0.3%, 1.0%). Теперь разработчики могут:
• Установить любую ставку;
• Изменять её по времени, объёму или вручную;
• Использовать хуки для создания адаптивных стратегий.
6. Подписки (Subscribers)
Любой контракт может подписаться на изменения LP-позиций. Это особенно полезно для:
• LP-менеджеров и стратегий;
• Ребалансирующих протоколов;
• Уведомлений в DeFi-инструментах.
Это полностью on-chain решение для отслеживания изменений в позициях.
7. ERC-6909
В Uniswap v4 используется стандарт ERC-6909 — облегчённый аналог ERC-1155, предназначенный для представления активов, оставшихся внутри протокола. Такой токен может получить не только провайдер ликвидности, но и, например, трейдер после свапа, если он решил не забирать токены сразу.
Использование ERC-6909 снижает затраты на цепочки операций, которые не укладываются в одну транзакцию, и избавляет от необходимости повторного взаимодействия с внешними контрактами токенов. Это делает взаимодействие с Uniswap быстрее и дешевле — особенно для продвинутых пользователей и автоматических стратегий.