# Временная версия `shine_users` с удалением `user_pda`

Статус: `только для тестов регистрации`

Этот файл хранит временную версию логики, которая была нужна для отладки регистрации
пользователей через ESP32. В основной программе `shine_users` удаление PDA **не должно
оставаться**.

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

- быстро очищать тестовые user PDA на devnet/localnet;
- сохранять рабочий вариант на случай, если понадобится снова проверять регистрацию
  без ручной очистки цепочки;
- не смешивать временную отладочную логику с нормальным контрактом.

## Что было временно добавлено

В devnet-версии программы существовала инструкция:

```text
tag = 5
delete_user_pda_temp
```

Она:

- принимала любой `signer`;
- работала только с валидной `user_pda`;
- проверяла, что PDA действительно относится к `shine_users`;
- очищала данные PDA через `realloc(0, false)`;
- переносила лампорты тестового аккаунта в `DAO_AUTHORITY`.

## Важные ограничения

- это **не** часть нормальной модели `shine_users`;
- в основном контракте этой инструкции быть не должно;
- файл нужен только как архив для регрессионных тестов регистрации.

## Фрагмент логики

```rust
// Временная инструкция для ручной чистки тестовых user PDA на devnet/localnet.
// Любой signer мог удалить запись, но лампорты возвращались только в тестовый treasury.
//
// Порядок был таким:
// 1. найти и проверить user PDA;
// 2. обнулить data через realloc(0, false);
// 3. перенести лампорты в DAO_AUTHORITY;
// 4. завершить инструкцию.
```

## Что помнить при возврате этой фичи

Если временное удаление снова понадобится:

1. сначала отдельным патчем включить его в `shine_users`;
2. потом отдельно задеплоить в devnet;
3. после проверки удалить из основной программы снова.

