Обзор
Master Pool Rebalancer — автономный протокольный модуль, управляющий собственной ликвидностью AREAL DAO в master concentrated pools (RWT/USDY, RWT/USDC) на native DEX. Этот модуль отделён от контракта DEX — он работает как независимая программа, взаимодействующая с DEX через CPI. Обеспечивает, что протокольная ликвидность всегда сконцентрирована вокруг текущего NAV Book Value, предоставляя глубокую ликвидность именно там, где происходит торговля.Этот модуль управляет только протокольной ликвидностью. Пользовательские LP-позиции на native DEX никогда не затрагиваются, не модифицируются и не ребалансируются. Пользователи управляют своими позициями самостоятельно.
On-Chain аккаунты
ProtocolLiquidity
Основной PDA для протокольной позиции каждого master pool. Хранит ссылку на LP-позицию, депонированные суммы, последнюю цену ребалансировки, порог ребалансировки (по умолчанию 1%) и целевое количество bins (по умолчанию 50). Seeds:
["protocol_liquidity", pool].RebalancerConfig
Глобальная конфигурация модуля ребалансировщика: порог ребалансировки (базисные пункты), целевое количество bins, интервал коммита и ссылка на RWT Vault для чтения NAV Book Value. Изменяется Engine Authority. Seeds:
["rebalancer_config"].Основные инструкции
deposit_protocol_liquidity
deposit_protocol_liquidity
Депонирует капитал AREAL DAO в master pool как протокольную ликвидность через PDA
ProtocolLiquidity. Concentrated range центрируется на текущем NAV Book Value в пределах настроенного количества bins (по умолчанию 50).Authority: Engine Authority (DAO governance)rebalance_protocol_liquidity
rebalance_protocol_liquidity
Авторебалансирует протокольную ликвидность, когда NAV Book Value отклоняется от последней цены ребалансировки более чем на порог. Выводит позицию
ProtocolLiquidity из DEX через CPI, перецентрирует concentrated range на новый NAV и вносит обратно.Пользовательские LP-позиции никогда не затрагиваются — ребалансируется только собственный капитал DAO.Authority: Permissionless (crank), защищена проверкой отклоненияwithdraw_protocol_liquidity
withdraw_protocol_liquidity
Выводит протокольную ликвидность из master pool обратно на кошелёк DAO. Используется, когда DAO решает перераспределить капитал или уменьшить протокольную ликвидность в конкретном пуле.Authority: Engine Authority (DAO governance)
update_rebalancer_config
update_rebalancer_config
Обновляет конфигурацию модуля ребалансировщика — порог ребалансировки, целевое количество bins или другие параметры. Требует Engine Authority.Authority: Engine Authority (DAO governance)
Поток ребалансировки
Обнаружение отклонения NAV
Crank проверяет, отличается ли текущий NAV Book Value (из RWT Vault) от
protocol_liquidity.last_rebalance_price более чем на настроенный порог (по умолчанию 1%).Вывод протокольной ликвидности
Модуль вызывает
remove_liquidity на native DEX через CPI, выводя позицию ProtocolLiquidity DAO. Пользовательские позиции остаются нетронутыми.Перецентровка диапазона
Concentrated bin range пересчитывается: центр = новый NAV Book Value, ширина = настроенное количество bins (по умолчанию 50).
Протокольная vs пользовательская ликвидность
Master Pool Rebalancer управляет толькоProtocolLiquidity — у него нет доступа к пользовательским LP-позициям.
| Протокольная ликвидность | Пользовательская ликвидность | |
|---|---|---|
| Управляется | PDA ProtocolLiquidity (этот модуль) | Индивидуальный PDA LpPosition (контракт DEX) |
| Авторебалансировка | Да — через rebalance_protocol_liquidity | Нет — пользователи управляют своим диапазоном |
| Депозит/вывод | Engine Authority (DAO) | Владелец LP (permissionless) |
| Назначение | Обеспечить глубокую ликвидность вокруг NAV Book Value | Пользователи зарабатывают комиссии и доходность на своём капитале |
| Bin range | Всегда центрирован на NAV, автокорректируется | Задаётся пользователем при депозите, не изменяется |
Взаимодействие с Native DEX
Этот модуль взаимодействует с Native DEX исключительно через CPI-вызовы — он не модифицирует состояние DEX напрямую. Модуль вызывает стандартные инструкции DEXadd_liquidity и remove_liquidity, используя PDA ProtocolLiquidity как владельца LP.
Поскольку ребалансировщик использует стандартные инструкции DEX через CPI, он пользуется всеми гарантиями безопасности DEX — защита от проскальзывания, неизменяемость пулов и проверки владения аккаунтами.
Безопасность
Изоляция пользователей
Модуль не имеет доступа к пользовательским LP-позициям. Он может управлять только PDA
ProtocolLiquidity, которые принадлежат этой программе, а не DEX.Защита отклонения
rebalance_protocol_liquidity — permissionless, но защищена проверкой порога. Не может быть вызвана произвольно — только когда NAV реально отклоняется за настроенный лимит.Взаимодействие только через CPI
Все взаимодействия с DEX проходят через стандартные CPI-вызовы. Модуль не может обойти проверки безопасности DEX или получить прямой доступ к аккаунтам DEX.
Настраиваемые параметры
Порог, количество bins и другие параметры хранятся в
RebalancerConfig и изменяются только Engine Authority (DAO governance).