Архитектура

Смарт-контракты

DAO в XDAO TON — это не один контракт, а набор связанных смарт-контрактов на TON: базовый контракт DAO плюс набор подключаемых плагинов.

Публичные адреса основных контрактов XDAO TON (Factory, DAO master и т. д.) на момент написания этой страницы уточняются и будут опубликованы отдельно, по аналогии с адресами EVM-версии в разделе Смарт-контракты (EVM). Ниже описана структура компонентов DAO, а не конкретные адреса — не полагайтесь на неподтверждённые адреса из сторонних источников.

Из чего состоит DAO

DAO master

Основной контракт DAO. Одновременно является jetton master для GP-токена DAO — то есть управляет выпуском (mint) и сжиганием (burn) GP, хранит текущий порог general consensus и исполняет предложения ончейн после того, как они набрали нужную долю голосов.

Плагины (Plugin / Sub-Wallet)

DAO хранит список подключённых плагинов — каждый устанавливается отдельным предложением (см. Плагины и модули):

  • LP Manager (Crowdfunding Module) — один или несколько на DAO; каждый выпускает свой LP-токен (jetton) и ведёт кампании краудфандинга.
  • Mass Payout Plugin — распределяет средства между держателями LP-токена (раунды дистрибуции и push-раунды).
  • Sub-Wallet — отдельный кошелёк DAO для разделения средств по назначению.

Контракты кампании краудфандинга

Когда LP Manager запускает кампанию, разворачивается отдельный набор контрактов на кампанию:

  • Crowdfunding master — контракт конкретной кампании: параметры (soft cap, hard cap, сроки, whitelist), состояние (active / successful / failed / emergency withdrawn) и агрегированные данные по вкладчикам.
  • Helper — персональный контракт на каждого участника кампании, через который проходит взнос, клейм LP и refund.
  • VestingVault — контракт vesting LP-токенов конкретного участника, если в кампании включён vesting (TGE-разблокировка, cliff-период, линейная разблокировка).

Как компоненты связаны

DAO master хранит список плагинов → LP Manager хранит адрес своего LP-jetton master и список кампаний → у каждой кампании есть свой Crowdfunding master → у каждого участника кампании — свой Helper (и, при vesting, своя VestingVault). Технические модели этих объектов (Dao, Plugin, CrowdfundingCampaign, ParticipantVesting и др.) задокументированы в разделе API → Модели.

On this page