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

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1306 услуг
Интеграция с Gamma Strategies (управление ликвидностью)
Средний
~2-3 дня
Часто задаваемые вопросы

Направления блокчейн-разработки

Этапы блокчейн-разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1197
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    902
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1119
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    853

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

Уniswap v3 позиция в диапазоне ±5% от текущей цены зарабатывает в 10-20 раз больше fees, чем full-range позиция, но выходит из диапазона при первом же серьёзном движении рынка. После этого LP перестаёт зарабатывать и сидит в 100% одном токене. Gamma Strategies решает эту проблему через автоматический rebalancing — контракты-vault, которые управляют позицией Uniswap v3 и переставляют диапазон при необходимости. Интеграция с Gamma позволяет добавить managed liquidity в протокол, не реализуя собственный rebalancer.

Что нужно знать перед интеграцией

Hypervisor: интерфейс Gamma

Gamma оборачивает Uniswap v3 позицию в контракт Hypervisor — ERC-20 token, представляющий долю в managed позиции. Пользователь вызывает deposit(uint256 deposit0, uint256 deposit1, address to, address from, uint256[4] minIn), получает LP-токены Hypervisor. minIn[4] — защита от slippage: минимальные принятые суммы обоих токенов.

Главная ошибка при интеграции: игнорировать minIn. Если передать [0, 0, 0, 0], депозит успешно исполнится при любом проскальзывании — пользователь получит меньше shares, чем ожидал. При volatile рынке это значительные потери. Правильный подход: fetch текущий ratio через getTotalAmounts(), рассчитать minIn с допуском 0.5-1%, передать в deposit.

Rebalance timing и impermanent loss

Gamma перебалансирует позицию по стратегии vault — обычно при выходе цены за пределы диапазона или при значительном изменении volatility. Rebalance происходит через вызов rebalance(int24 _baseLower, int24 _baseUpper, int24 _limitLower, int24 _limitUpper, address _feeRecipient, Rebalance calldata swapConfig) от Gamma keeper.

Для протокола-интегратора это означает: NAV позиции может momentarily снизиться в момент rebalance из-за swap costs. Если в этот момент пользователь делает redeem — он выходит по временно сниженной цене. Мониторинг через Rebalance события Hypervisor позволяет предупреждать пользователей.

Visor → Gamma: версии и deprecated контракты

Gamma прошла несколько версий. Старые Visor Hypervisor контракты на Ethereum имели уязвимость в управлении через emergencyWithdraw без proper access control — в 2022 году это привело к взлому на $3.4M. Актуальные контракты прошли аудит и используют UniProxy для маршрутизации депозитов с проверкой белых списков. При интеграции убеждаемся, что используем актуальные адреса из официального Gamma registry, а не hardcoded старые адреса.

Техническая реализация интеграции

On-chain: deposit через UniProxy

Рекомендованный путь — через UniProxy.deposit(), а не напрямую к Hypervisor. UniProxy проверяет:

  • Что Hypervisor находится в whitelist Gamma
  • Что ratio депозита соответствует текущему составу позиции
  • Применяет автоматический split: если пользователь вносит только token0, UniProxy свапает часть на token1 через Uniswap v3 и депозитит в правильном ratio
IUniProxy(UNIPROXY).deposit(
    amount0, amount1,
    msg.sender,       // recipient of LP tokens
    hypervisorAddress,
    minAmounts        // [min0, min1, minShares0, minShares1]
);

Approve нужен на UniProxy адрес, не на Hypervisor — частая ошибка, приводящая к revert.

Off-chain: APR расчёт и мониторинг

Gamma предоставляет REST API для актуальных данных по Hypervisor: GET /hypervisor/{address}/basicStats — TVL, APR, fee APR, total amounts. Для dashboard интеграции этого достаточно.

Для точного on-chain расчёта: Hypervisor.getPrice() возвращает текущий sqrtPriceX96, getTotalAmounts() — актуальные token0/token1 суммы. Shares → underlying через (shares * totalAmounts) / totalSupply.

The Graph subgraph от Gamma — https://api.thegraph.com/subgraphs/name/gammastrategies/gamma — предоставляет исторические данные по rebalancing и fee collection.

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

Аналитика (1 день). Определяем нужные Hypervisor vault'ы по целевым парам и чейнам. Gamma поддерживает Ethereum, Polygon, Arbitrum, Optimism, BSC.

Разработка (2-3 дня). Smart contract интеграция через UniProxy, frontend hooks для deposit/withdraw/APR, тесты на fork mainnet.

Мониторинг. Алерты на Rebalance события (временный NAV dip), мониторинг whitelist статуса Hypervisor (теоретически может быть изменён Gamma governance).

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

Базовая интеграция с одним Hypervisor vault — 2-3 дня. Полноценный UI с мультипарой, APR отображением и rebalance нотификациями — 4-6 дней.

Стоимость рассчитывается после анализа требований к интеграции.