Архитектура контракта
Контракт Native DEX — специализированная децентрализованная биржа, построенная для yield-bearing токенов. В отличие от стандартных AMM, AREAL DEX передаёт встроенную доходность токенов в пулах ликвидности LP-провайдерам — поверх обычных swap-комиссий. DEX работает на — все свопы исполняются с субмиллисекундной финальностью внутри rollup, а начисление доходности LP происходит в реальном времени. Состояние пулов периодически коммитится на Solana L1. DEX поддерживает два типа пулов, автоматическую ребалансировку master pools и является единственной торговой площадкой для портфельных операций RWT Vault.On-Chain аккаунты
PoolState
Основной аккаунт состояния для каждого пула ликвидности. Хранит тип пула (concentrated/standard), минты токенов, общую ликвидность, параметры комиссий и текущую цену. Seeds:
["pool", token_a_mint, token_b_mint].BinArray
Для concentrated пулов: хранит bin-based распределение ликвидности. Каждый bin представляет дискретный ценовой диапазон со своей глубиной ликвидности. Seeds:
["bins", pool].LpPosition
Представляет индивидуальную LP-позицию. Отслеживает депонированные суммы, заработанные комиссии, накопленную доходность и диапазон bins (для concentrated пулов). Seeds:
["lp", pool, owner].DexConfig
Глобальная конфигурация DEX: базовая комиссия (0.5%), разделение комиссий (50/50 LP/DAO), порог ребалансировки (1%) и аккаунт комиссий AREAL DAO. Seeds:
["dex_config"].PoolCreators
Вайтлист адресов кошельков, авторизованных создавать новые пулы ликвидности. Управляется Engine Authority (AREAL DAO). Только внесённые в вайтлист сотрудники AREAL Foundation могут вызывать
create_pool. Внешние пользователи не могут создавать пулы. Seeds: ["pool_creators"].Основные инструкции
create_pool
create_pool
Создаёт новый пул ликвидности для пары токенов. Все пары деноминированы в RWT. Тип пула (concentrated или standard) задаётся при создании и не может быть изменён.Вызвать эту инструкцию могут только кошельки из вайтлиста
PoolCreators. Внешние пользователи не могут создавать пулы — это ограничено сотрудниками AREAL Foundation, которым DAO предоставило такие права.Authority: Только вайтлист-кошелёк pool creatorupdate_pool_creators
update_pool_creators
Добавляет или удаляет адреса кошельков из вайтлиста
PoolCreators. AREAL DAO предоставляет права на создание пулов конкретным сотрудникам Foundation. Несколько кошельков могут быть в вайтлисте одновременно.Authority: Engine Authority (DAO governance)swap
swap
Выполняет swap токенов через пул внутри MagicBlock Ephemeral Rollup с субмиллисекундной финальностью. Применяет базовую комиссию (0.5%), разделённую между LP и AREAL DAO. Поддерживает режимы exact-input и exact-output. Результаты свопа коммитятся на Solana L1 в следующем цикле коммита.Authority: Permissionless
add_liquidity
add_liquidity
Депонирует токены в пул в качестве LP-провайдера. Для concentrated пулов LP указывает диапазон bins. Для standard пулов ликвидность покрывает весь ценовой диапазон.Authority: Permissionless
remove_liquidity
remove_liquidity
Выводит ликвидность из пула. Возвращает токены LP плюс накопленные комиссии и доходность.Authority: Владелец LP (должен подписать)
collect_incentives
collect_incentives
Забирает накопленные протокольные стимулирующие награды для LP-позиции. Swap-комиссии и доходность токенов автоматически капитализируются в позицию (выводятся через
remove_liquidity), но протокольные стимулирующие награды отслеживаются отдельно и забираются здесь.Authority: Владелец LP (должен подписать)Типы пулов
- Concentrated Liquidity
- Standard Curve
Bin-based пулы, где ликвидность распределена по дискретным ценовым бинам. Используются исключительно для master pools RWT:
- RWT / USDY — основной пул, 50 bins вокруг NAV Book Value
- RWT / USDC — вторичный пул, та же concentrated структура
rebalance_pool при отклонении NAV >1%. Максимальная капиталоэффективность — глубокая ликвидность именно там, где происходит торговля.Передача доходности
AREAL DEX захватывает встроенную доходность токенов в пулах и передаёт её LP-провайдерам. LP зарабатывают из трёх источников:Swap-комиссии
0.25% от каждой сделки (доля LP от базовой комиссии 0.5%) — автоматически капитализируется в LP-позицию
Доходность токенов
Рост NAV Book Value (RWT), доходность реальных активов (OT), доходность стейблкоинов (USDY) — увеличивает стоимость позиции
Протокольные стимулы
Дополнительные награды от протокольных и проектных программ стимулирования
Как работает начисление доходности LP
Заработок LP (swap-комиссии + доходность токенов) не переводится на кошелёк LP — вместо этого он автоматически капитализируется прямо в LP-позицию, увеличивая её размер. Это означает, что позиция LP растёт со временем без каких-либо ручных действий — капитал компаундится автоматически. Когда LP вызываетremove_liquidity, он выводит первоначальный капитал плюс всю накопленную доходность в одной транзакции.
Модель автокомпаундинга устраняет необходимость для LP вручную собирать и реинвестировать комиссии. Позиция растёт каждую секунду по мере совершения свопов и роста yield-bearing токенов внутри пула.
Структура комиссий
DEX применяет базовую swap-комиссию 0.5%, разделённую поровну — но две половины обрабатываются по-разному:| Получатель | Доля | Механизм |
|---|---|---|
| Провайдеры ликвидности | 0.25% | Капитализируется в LP-позиции — автоматически увеличивает размер позиции, компаундится со временем |
| AREAL DAO | 0.25% | Переводится напрямую на кошелёк DAO при каждом свопе — немедленно доступна в Treasury |
Комиссия 0.5% — начальная модель. В разработке система динамических комиссий, которая будет корректировать ставки в зависимости от рыночных условий, волатильности и загрузки пула.
Протокольная ликвидность и авторебалансировка
AREAL DAO предоставляет собственную ликвидность в master pools через Master Pool Rebalancer — независимый протокольный модуль, управляющий протокольными LP-позициями и авторебалансирующий их вокруг NAV Book Value.Master Pool Rebalancer
Автономный протокольный модуль для депонирования, ребалансировки и вывода ликвидности DAO в master pools. Автоматически ребалансируется только протокольная ликвидность — пользовательские LP-позиции никогда не затрагиваются.
Ребалансировщик — отдельная программа, взаимодействующая с этим DEX через CPI. Он вызывает стандартные инструкции
add_liquidity / remove_liquidity — без специального доступа к внутренностям DEX.Интеграция с MagicBlock
Весь исполнительный слой DEX работает на . Это критично по двум причинам: исполнение свопов в реальном времени и посекундное начисление доходности LP.Делегированные аккаунты
Следующие аккаунты делегируются в Ephemeral Rollup:| Аккаунт | Зачем делегирован |
|---|---|
PoolState | Исполнение свопов обновляет резервы и цену пула — требуется запись в ER для торговли в реальном времени |
BinArray | Состояние bins concentrated пула меняется при каждом свопе — требуется доступ на запись в ER |
LpPosition | Начисление комиссий и доходности обновляется при каждом свопе — отслеживание в реальном времени для каждого LP |
Свопы в реальном времени
Все инструкции
swap исполняются внутри Ephemeral Rollup с субмиллисекундной финальностью. Трейдеры получают практически мгновенное исполнение без ожидания подтверждения блока Solana L1.Посекундное начисление доходности
Комиссионные доходы LP и рост yield-bearing токенов отслеживаются каждую секунду внутри ER. Когда LP вызывает
collect_fees, актуальный начисленный баланс доступен немедленно.Периодические коммиты на L1
Состояние пулов коммитится на Solana L1 с настраиваемым интервалом (по умолчанию каждые 60 секунд). L1 отражает последний закоммиченный снапшот для внешних чтений и межпрограммных взаимодействий.
Поток исполнения
Делегирование аккаунтов
Аккаунты
PoolState, BinArray и LpPosition делегируются в MagicBlock через delegation program. Они становятся доступными для записи в ER, оставаясь доступными для чтения на L1.Свопы в ER
Все вызовы
swap исполняются внутри Ephemeral Rollup. Резервы пула, состояние bins и счётчики комиссий LP обновляются в реальном времени при каждой сделке.Начисление доходности в ER
Встроенная доходность токенов (рост NAV RWT, рост USDY, доходность OT) рассчитывается и зачисляется в аккаунты
LpPosition каждую секунду crank-сервисом внутри ER.Неторговые операции —
create_pool, add_liquidity, remove_liquidity и rebalance_pool — исполняются на Solana L1, так как они модифицируют структурное состояние, которое должно быть финализировано на базовом уровне. Только высокочастотные операции (свопы, начисление комиссий) работают в Ephemeral Rollup.Безопасность
Неизменяемость пулов
Тип пула (concentrated/standard) задаётся при создании и не может быть изменён. Предотвращает governance-манипуляцию механиками существующих пулов.
Защита от проскальзывания
Все свопы требуют параметр
min_out. Транзакция откатывается, если выход ниже указанного минимума.Внешняя ребалансировка
Авторебалансировка осуществляется модулем Master Pool Rebalancer — отдельной программой, управляющей только капиталом DAO через CPI. Пользовательские LP-позиции никогда не затрагиваются.
Деноминация в RWT
Все пулы деноминированы в RWT. Это ограничивает DEX экосистемой AREAL и предотвращает несанкционированный листинг токенов.
Создание пулов по вайтлисту
Только внесённые в вайтлист DAO сотрудники AREAL Foundation могут создавать пулы. Внешние пользователи не могут разворачивать произвольные пулы — предотвращение спама, скам-токенов и непроверенных листингов.