Інтеграція з 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 (управління ліквідністю)

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

Що потрібно знати перед інтеграцією

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

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

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

Timing ребалансування та impermanent loss

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

Для протоколу-інтегратора це означає: NAV позиції може тимчасово знизитися в момент ребалансу через swap витрати. Якщо в цей момент користувач робить redeem — виходить за тимчасово зниженою ціною. Моніторинг через подієї Rebalance Hypervisor дозволяє попереджувати користувачів.

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

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

Технічна реалізація інтеграції

On-chain: депозит через UniProxy

Рекомендований шлях — через UniProxy.deposit(), а не напрямо до Hypervisor. UniProxy перевіряє:

  • Що Hypervisor у білому списку Gamma
  • Що ratio депозиту відповідає поточному складу позиції
  • Застосовує автоматичний split: якщо користувач вносить тільки token0, UniProxy свапає частину на token1 через Uniswap v3 та депозитить у правильному ratio
IUniProxy(UNIPROXY).deposit(
    amount0, amount1,
    msg.sender,       // отримувач LP токенів
    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, загальні суми. Для інтеграції 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 — надає історичні дані по ребалансуванню та збиранню комісій.

Процес розробки

Аналітика (1 день). Визначаємо потрібні Hypervisor vault'и по цільовим парам та ланцюгам. Gamma підтримує Ethereum, Polygon, Arbitrum, Optimism, BSC.

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

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

Оцінки за часом

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

Вартість розраховується після аналізу вимог до інтеграції.