Files

3.3 KiB

Future Fast Burn Executor

Зачем это нужно

Обычный DAO burn proposal уязвим к сценарию:

  1. proposal уже создан;
  2. в него уже зашит конкретный token account;
  3. владелец NFT быстро перекладывает токен на другой кошелек;
  4. execute DAO burn больше не совпадает с актуальным местом хранения.

Для такого случая нужен отдельный быстрый исполнитель.

Идея

DAO не сжигает токен напрямую через обычную burn-инструкцию, а делает одноразовое разрешение для отдельной программы.

Эта программа:

  1. получает право только на один конкретный mint;
  2. получает ограничение по числу исполнений max_uses = 1;
  3. может иметь expires_at;
  4. может принимать исполнение только от разрешенного исполнителя;
  5. после успешного burn закрывает право навсегда.

Что должно быть зашито в разрешении

  • target_mint
  • governance_realm
  • dao_governance
  • executor_pubkey
  • max_uses = 1
  • expires_at
  • status = active | used | expired | revoked

Как должен работать burn

  1. DAO голосованием создает запись-разрешение.
  2. В запись попадает один конкретный mint.
  3. Быстрый исполнитель вызывает программу.
  4. Программа находит текущее место хранения NFT.
  5. Программа проверяет, что найден именно нужный mint.
  6. Программа делает burn.
  7. Программа помечает разрешение как used.

Главная цель

Исполнитель не должен иметь глобальное право сжигать любые токены.

Он должен иметь только одноразовое право:

  • либо на один конкретный mint;
  • либо на маленький заранее зафиксированный список mint;
  • но не на всю коллекцию и не на весь governance mint.

Что это дает

  • DAO принимает политическое решение голосованием;
  • исполнение становится быстрым;
  • даже если владелец перекладывает NFT, программа сможет сжечь актуальный текущий token account;
  • риск "исполнитель спалит всех" резко снижается.

Текущее состояние

В этом комплекте программа fast-burn executor пока не реализована.

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