Интеграция с Arrakis Finance (управление ликвидностью)

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Интеграция с Arrakis Finance (управление ликвидностью)
Средняя
~2-3 рабочих дня
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1258
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1170
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    873
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1092
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    830

Интеграция с Arrakis Finance (управление ликвидностью)

Uniswap v3 с концентрированной ликвидностью требует активного управления позициями. LP, выставивший ликвидность в диапазон $1800-$2200 для ETH/USDC, зарабатывает fee только пока цена внутри диапазона. Когда ETH уходит на $2500 — позиция конвертируется целиком в USDC, fee не начисляется. Ребалансировать вручную на mainnet при каждом движении — дорого и нереалистично.

Arrakis Finance (ранее G-UNI) решает это: vault-контракт держит позицию Uniswap v3 и ребалансирует автоматически по стратегии. LP депонирует токены в Arrakis vault, получает ERC-20 представление позиции, vault управляет тиками. Интеграция Arrakis в собственный DeFi-продукт — способ предложить пассивное LP без операционных затрат пользователей.

Архитектура Arrakis v2

Arrakis v2 строится на трёх компонентах:

ArrakisV2 vault — ERC-20 токен, представляющий долю в позиции. Каждый vault привязан к конкретной паре токенов. Vault может держать несколько позиций Uniswap v3 одновременно (multi-range), а не одну.

Manager — адрес (или контракт), которому разрешено вызывать rebalance. Это может быть multisig, Gelato automated executor, или кастомный стратегический контракт. Менеджер определяет, когда и как ребалансировать.

ArrakisV2Resolver — вспомогательный контракт для расчёта: сколько токенов нужно депонировать для получения заданного количества shares, какой диапазон оптимален для текущей волатильности.

Ключевые методы для интеграции

mint(uint256 mintAmount, address receiver) — депозит ликвидности. Перед вызовом нужно approve оба токена пары на адрес vault. Количество токенов для заданного mintAmount рассчитывается через getMintAmounts в Resolver.

burn(uint256 burnAmount, address receiver) — вывод ликвидности. Vault сжигает shares, возвращает пропорциональную долю обоих токенов.

rebalance(...) — доступно только manager'у. Принимает новые диапазоны и веса распределения ликвидности между ними. Типичная стратегия: широкий диапазон (базовая позиция, 80% ликвидности) + узкий диапазон вокруг текущей цены (активная позиция, 20%).

Типичная ошибка: approve одного токена

getMintAmounts(uint256 amount0Max, uint256 amount1Max) возвращает (amount0, amount1, mintAmount) — сколько конкретно каждого токена будет использовано. Интеграторы иногда делают approve только одного токена или approve с неверной суммой, что приводит к revert в mint. Нужно approve обоих токенов на amount0 и amount1 соответственно, не amount0Max.

Второй нюанс: vault может содержать «idle» токены (не размещённые в позиции Uniswap). Расчёт getMintAmounts это учитывает — пропорции могут быть нелинейными.

Сценарии использования в продукте

Протокол с treasury liquidity. DAO или протокол размещает treasury токены в Arrakis vault вместо прямого Uniswap v3. Автоматическая ребалансировка сохраняет ликвидность в рабочем диапазоне без ручного управления.

Пользовательское LP через упрощённый интерфейс. Ваш frontend показывает одну кнопку «Добавить ликвидность» — под капотом депозит в Arrakis vault. Пользователь не выбирает тики, не думает о ребалансировке.

Пары токенов протокола. Если у вас есть свой токен, Arrakis vault для пары Token/USDC обеспечит стабильную ликвидность даже при волатильности.

Интеграция через SDK

Arrakis предоставляет TypeScript SDK для расчётов и формирования транзакций. Для прямой интеграции достаточно ABI vault и Resolver. Пример flow на viem:

// 1. Получаем нужные суммы токенов
const { amount0, amount1, mintAmount } = await resolver.read.getMintAmounts([
  vaultAddress, amount0Max, amount1Max
])
// 2. Approve обоих токенов
await token0.write.approve([vaultAddress, amount0])
await token1.write.approve([vaultAddress, amount1])
// 3. Mint shares
await vault.write.mint([mintAmount, userAddress])

Процесс работы

Анализ vault'а (1 день). Изучаем конкретный Arrakis vault: стратегия менеджера, историческая ребалансировка, текущие диапазоны, APR из fee.

Интеграция контрактов (1-2 дня). Если нужна on-chain интеграция (например, ваш контракт депонирует в Arrakis) — пишем адаптер.

Frontend и UX (1-2 дня). Форма депозита/вывода, отображение текущей позиции, accumulated fees.

Ориентиры по срокам

Базовая интеграция существующего Arrakis vault в frontend — 2-4 дня. Разработка кастомного vault с собственной стратегией ребалансировки — 1-2 недели.