Розробка форку PancakeSwap
Форк PancakeSwap — це не просто скопіювати репозиторій та поміняти логотип. Оригінальний PancakeSwap v2 — це Uniswap v2 AMM з додано CAKE-токеномікою, MasterChef-контрактом для фарміння та лотереєю. Кожен з цих компонентів потребує ретельної адаптації під ваш токен, чейн та економічну модель. З-за наївних форків утрачено сотні мільйонів доларів користувацьких коштів.
Чому форки ломаються
MasterChef — найбільше експлуатуємий контракт у DeFi
MasterChef управляє фармінгом: приймає LP-токени, нараховує награди пропорційно стейку. Оригінальний MasterChef від PancakeSwap містив проблему: updatePool викликався вручну або через deposit/withdraw. Якщо користувач давно не взаємодіяв з пулом, а потім внес крупний депозит — він отримував непропорційно велику кількість наград за минулі блоки з-за неправильного розрахунку accTokenPerShare.
Безчисленні форки скопіювали цей код без розуміння. Результат — rug через arithmetic: зловмисник створює пул, чекає накопи наград у контракті, робить депозит — і через emergencyWithdraw дренує накопний reward pool.
Сучасний стандарт — MasterChef v2 з інтерфейсом rewarder та коректним розрахунком через debt tracking. Використовуємо саме його, з додатковою перевіркою інваріантів у Foundry fuzz-тестах: сума всіх rewardDebt не перевищує accRewardsTotal.
Inflation атака на LP-токени
Перший провайдер ліквідності в пустому пулі отримує кількість LP-токенів, рівну sqrt(amount0 * amount1). Якщо він потім спалює все LP, крім MINIMUM_LIQUIDITY (1000 одиниць), та робить donation у пул — він може маніпулювати price0CumulativeLast. Наступний провайдер отримує несправедливо мало LP з-за штучно завищеного reserve. Уразливість називається first depositor inflation attack та активно експлуатувалась на форках з 2021 по 2023 рік.
Патч — віртуальний перший депозит при деплое пари: контракт-фабрика одразу переводит MINIMUM_LIQUIDITY на address(0) при створенні пулу. У Uniswap v2 це є, але деякі форки убирали як «ненужний» код.
Flash loan у контексті оракула
Якщо протокол використовує price0CumulativeLast / price1CumulativeLast як оракул цени — він уразливий до маніпуляції через flash loan. Зловмисник бере крупний флэш-лоан, своп у пул, записує спотворену цену у кумулятивний аккумулятор, використовує цю цену як оракул у іншому контракті. Розв'язання — TWAP з достатнім вікном (мінімум 30 хвилин) або інтеграція Chainlink.
Що входить у розробку форку
AMM Core (на основі Uniswap v2)
Factory (PancakeFactory) — деплоит нові пари, хранит реєстр. Адаптуємо адреса feeTo та feeToSetter під мультисиг клієнта. Розмір fee (зазвичай 0.25% для LP + 0.05% для протоколу) — налаштовуємий.
Router — основна точка взаємодії користувачів: swapExactTokensForTokens, addLiquidity, removeLiquidity. Деплоимо з актуальним WETH адресом для цільового чейна.
Pair — AMM-логіка, constant product формула x * y = k. Версія з патчами проти inflation attack та reentrancy.
Токен та токеноміка
CAKE-аналог — ERC-20 з функцією mint, обмежено MasterChef-контрактом. Максимальний supply або inflation schedule — обговорюємо з клієнтом. Burn механіки: фіксований burn відсоток від swap fee, buyback-and-burn через governance.
MasterChef v2 — пули фарміння з налаштовуємим мультипліером (allocPoint). Функції add та set захищені onlyOwner (планарємо перехід на timelock після запуску). Підтримка кількох reward токенів через інтерфейс IRewarder.
Стейкинг
Syrup Pool (single-asset стейкинг) — користувачі стейкають основний токен, отримують його або іншой як нагороду. Логіка аналогічна MasterChef, але без LP. Додаємо lockPeriod — мінімальний стейк для захисту від flash staking.
Лотерея
Контракт лотереї з Chainlink VRF для верифікованої випадковості. Користувачі купують білети за основний токен, частина спалюється. Раунди закриваються по таймеру або досягнення порогової кількості білетів. Chainlink VRF v2 з subscriptionId — використовуємо subscription модель, не direct funding.
Frontend
Next.js + wagmi v2 + viem. Адаптуємо open-source PancakeSwap Frontend v2 під новый брендинг, токен, чейн. Налаштовуємо token list, RPC endpoints, explorer URLs.
Вибір чейна
| Чейн | Газ | TVL потенціал | Користувачі | Складність деплоя |
|---|---|---|---|---|
| BSC | ~$0.1 | Високий (DeFi-аудиторія) | Масовий | Низька |
| Polygon PoS | ~$0.01 | Середній | Середній | Низька |
| Arbitrum | ~$0.3–1 | Високий (досвідчені користувачі) | Цільовий DeFi | Середня |
| Base | ~$0.01 | Зростаючий | Coinbase аудиторія | Низька |
Для більшості форків BSC — первичний деплой. Мультичейн додає складність у управлінні ліквідністю та bridge.
Процес роботи
Токеноміка та архітектура (1 тиждень). Визначаємо emission schedule, allocations, burn механіки, структуру пулів фарміння. Це фундамент — помилки тут виправляються через governance proposal, що довго та дорого.
Розробка smart contracts (2–3 тижні). Fork + патчи безпеки + кастомізація. Foundry-тесты з покриттям >95%, fuzz-тесты на інваріанти MasterChef.
Адаптація frontend (2–3 тижні). Брендинг, інтеграція з новим токеном та контрактами, налаштування всіх token lists.
Аудит (2–4 тижні). Зовнішній аудит обов'язковий перед mainnet деплоем з реальними коштами. Допомагаємо з вибором аудитора та підготовкою репозиторію.
Деплой та запуск (1 тиждень). Testnet → mainnet. Мультисиг через Gnosis Safe, timelock на критичні функції.
Ориентири по строкам
Мінімальний форк (AMM + базовий фарміння) — 4–6 тижнів до testnet. Повний продукт з лотереєю, IFO (Initial Farm Offering) та мобільним додатком — 3–4 місяці. Аудит не включен та йде паралельно з фінальним тестуванням.







