Перейти к содержимому
Демонстрационный проектBlockchain и Web3
  • 223 тестов
  • 100% покрытие
  • анализ Slither

Token + Vesting + Staking

Набор для запуска токена: ограниченный ERC-20, cliff + линейный вестинг и награды за стейкинг

ERC-20EIP-2612OpenZeppelin v5Foundry

Что это

SigmaToken — ERC-20 с жёстким пределом, EIP-2612 permit (gasless-аппрувы), сжигаемостью и двухшаговым владением; владелец может выпускать только до предела. TokenVesting хранит токены для множества бенефициаров; у каждого расписания есть старт, cliff, длительность и флаг отзыва, и оно полностью финансируется при создании.

StakingRewards позволяет стейкать один токен и зарабатывать другой (или тот же) по фиксированной ставке в течение периода наград. Используется учёт reward-per-token за O(1), поэтому расход gas не растёт с числом стейкеров, а награды зачисляются в контракт до того, как обещаны.

Бизнес-задача

Запуск токена требует дисциплины эмиссии, убедительных локапов для команды и инвесторов и честных стимулов для держателей. Самописные, неаудированные реализации этих паттернов — частый источник эксплойтов: сломанная математика наград, необеспеченные обещания наград и админские бэкдоры.

Как работает

  1. 1

    SigmaToken развёртывается с жёстким пределом; владелец может выпускать только до него.

  2. 2

    Владелец создаёт расписания вестинга (старт, cliff, длительность, сумма, отзывной). Токены немедленно зачисляются в контракт.

  3. 3

    До start + cliff ничего не вестится; далее токены вестятся линейно до конца длительности. Бенефициары вызывают release() в любой момент.

  4. 4

    Для отзывных расписаний revoke() оставляет вестированную часть доступной и возвращает только невестированный остаток.

  5. 5

    Владелец финансирует период наград через notifyRewardAmount(); стейкеры зарабатывают пропорционально и могут стейкать, выводить, забирать или выходить в любой момент.

Меры безопасности

  • Жёсткий предел применяется в _update — действует на каждый путь выпуска
  • Двухшаговое владение на всех трёх контрактах
  • Вестинг полностью обеспечен; инвариант balance == allocated − released проверен фаззингом
  • Честный отзыв: вестированные токены нельзя изъять
  • Награды зачисляются при notify — никаких необеспеченных обещаний; инварианты платёжеспособности
  • recoverERC20 никогда не выведет токен стейкинга или наград
  • nonReentrant на функциях, двигающих средства, SafeERC20 повсюду

Возможности

  • Ограниченный ERC-20 с EIP-2612 permit
  • Cliff + линейный вестинг для множества бенефициаров
  • Флаг отзыва для каждого расписания
  • Награды за стейкинг в стиле Synthetix с математикой O(1)
  • Перенос периода наград

Типичные сценарии

  • События генерации токенов для DAO, игр и программ лояльности
  • Прозрачный вестинг команды, советников и инвесторов
  • Кампании наград за стейкинг и ликвидности

Известные ограничения

Длительность наград можно менять только между периодами.

Другие демонстрационные контракты

Витрина

Milestone Escrow

Клиент блокирует весь бюджет заранее, разделённый на этапы. Средства движутся только при освобождении, решении арбитра или отмене.

Solidity 0.8.28OpenZeppelin v5ETH / ERC-20

223 тестов · 100% покрытие · анализ Slither

Витрина

SigmaNFT Collection

Честный запуск NFT: фазы allowlist и public, лимиты на кошелёк, неизменяемый максимум эмиссии, роялти ERC-2981 и отложенное раскрытие.

ERC-721ERC-2981Merkle proofs

223 тестов · 100% покрытие · анализ Slither

Витрина

Gold-Backed Token (RWA)

Обеспечение становится предусловием выпуска: токены можно выпускать, только если заявленный резерв золота покрывает новую общую эмиссию.

ERC-20AccessControlProof of reserve

223 тестов · 100% покрытие · анализ Slither

Стандарты: Solidity 0.8.x, OpenZeppelin, тесты Foundry с фаззингом, статический анализ Slither, верифицированный исходник. 223 тестов · 100% покрытие · анализ Slither.

Есть проект в голове?

Расскажите, что строите. В рабочие дни senior-инженер отвечает в течение часа — затем вы получаете честную оценку, понятный объём и предложение с фиксированной ценой или по вехам, обычно за несколько рабочих дней.

Сначала написать? Напишите нам

Вы будете говорить напрямую с Ing. Ismet Mesic, Tech lead.