# DAO scripts (актуальные)

## 1) Проверка конфигурации

```bash
scripts/dao/create_realm_dao_full_test.sh scripts/dao/dao.config.env
```

## 2) Реальное создание FULL DAO

```bash
node scripts/dao/create_realm_dao_full_build_exec.js scripts/dao/dao.config.env
```

Что делает:

1. Создает governance mint (SPL, decimals=0, supply из конфига).
2. Добавляет on-chain metadata для mint (URI и картинка из Arweave).
3. Создает Realm / Governance / Native Treasury.
4. Депозитит governance токены в Realm.
5. Пишет отчеты в `scripts/dao/runs/*.json` и `*.txt`.

## 3) Revoke/Burn membership токенов

### Вариант A (рекомендуется): через DAO голосование

```bash
node scripts/dao/propose_vote_execute_revoke_full_exec.js \
  scripts/dao/dao.config.env \
  <REALM_PUBKEY> \
  <GOVERNANCE_PUBKEY> \
  <MINT_PUBKEY> \
  <TARGET_OWNER_PUBKEY> \
  [AMOUNT]
```

Скрипт делает полный цикл:

1. `create proposal`
2. `insert revoke instruction`
3. `sign off`
4. `cast vote`
5. `execute`

### Вариант B (технический/админский): прямой revoke

```bash
node scripts/dao/revoke_member_token_full_exec.js \
  scripts/dao/dao.config.env \
  <REALM_PUBKEY> \
  <MINT_PUBKEY> \
  <TARGET_OWNER_PUBKEY> \
  [AMOUNT]
```

Важное:

1. Для `RevokeGoverningTokens` токен должен быть membership-типом (в full-скрипте это уже так).
2. Для сценария “только DAO голосованием” используйте вариант A.
3. Вариант B оставлен как технический инструмент.
