# CreateGovernmentTokenAndDAO

## RU

Единый набор скриптов для:
1. создания governance token,
2. выдачи/сжигания membership токенов,
3. передачи прав на Governance PDA,
4. создания DAO (Realm/Governance/Treasury).

### Важная структура ключей

Используются две папки:
- `keypairs/dao_creator/` — ключ инициатора DAO и плательщика (ровно 1 `*.json`).
- `keypairs/government_token/` — ключ mint governance token (ровно 1 `*.json`).

Скрипты автоматически берут единственный файл из этих папок.
Если в папке `government_token` 0 файлов или больше 1 — скрипт завершится ошибкой.

### Скрипты

```bash
./01_create_governance_token.sh
./02_mint_token_to_wallet.sh <WALLET>
./03_force_burn_from_wallet.sh <WALLET>
./04_create_dao.sh
./05_transfer_rights_to_governance_pda.sh
./grind_vanity_mint.sh [PREFIX] [COUNT] [ignore-case]
```

### Базовый порядок

1. (Опционально) `grind_vanity_mint.sh`, затем ОБЯЗАТЕЛЬНО скопировать выбранный json в `keypairs/government_token/`.
   Пример:
   ```bash
   cp ./runs/<FOUND_KEYPAIR>.json ./keypairs/government_token/selected_mint.json
   ```
2. `01_create_governance_token.sh`
3. В `governance_token.config.env` указать `GT_MINT_ADDRESS`.
4. `02_mint_token_to_wallet.sh <WALLET>`
5. `03_force_burn_from_wallet.sh <WALLET>`
6. `04_create_dao.sh`
7. Внести полученный Governance PDA в `GT_GOVERNANCE_PDA`.
8. `05_transfer_rights_to_governance_pda.sh`

---

## EN

Unified scripts for:
1. governance token creation,
2. membership mint/burn,
3. authority transfer to Governance PDA,
4. DAO creation (Realm/Governance/Treasury).

### Required keypair layout

Two folders are used:
- `keypairs/dao_creator/` — DAO creator/payer keypair (exactly 1 `*.json`).
- `keypairs/government_token/` — governance token mint keypair (exactly 1 `*.json`).

Scripts auto-detect the single file in each folder.
If `government_token` has 0 files or more than 1 file, script fails with error.

### Scripts

```bash
./01_create_governance_token.sh
./02_mint_token_to_wallet.sh <WALLET>
./03_force_burn_from_wallet.sh <WALLET>
./04_create_dao.sh
./05_transfer_rights_to_governance_pda.sh
./grind_vanity_mint.sh [PREFIX] [COUNT] [ignore-case]
```
