# Временная версия `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. после проверки удалить из основной программы снова.